当前在项目中使用Gettext并且.po文件在版本控制下很好地保持 。版本控制下的Gettext .po文件
PO文件当然包含翻译,但除此之外,它们还包含一些元数据 - 有关可转换字符串所在的确切文件和行号的信息。
问题是,每次更新PO文件时,元数据 都会改变很多,而不是实际的翻译。这使得它 真的很难以后从版本控制差异中看到什么实际上是 改变 - 你只是看到文件名和行 号码的变化无数。这样的:
- #: somefile.js:43
- #: somefile.js:45
- #: somefile.js:118
+ #: somefile.js:203
+ #: somefile.js:215
msgid "Translate me please"
msgstr "Tõlgi mind palun"
- #: somefile.js:23
- #: somefile.js:135
+ #: otherfile.js:23
+ #: otherfile.js:135
msgid "Note"
msgstr "Märkus"
- #: andThatFile.js:18
#: orThisFile.js:131
- msgid "Before I was like this"
- msgstr "Selline olin ma enne"
+ msgid "I happen to be changed"
+ msgstr "Paistab, et mind muudeti"
当然,一个简单的解决方法是只在禁用了xgettext输出 文件名/行号意见产生。但我实际上发现这些文件名在翻译时非常有用。
我当然不可能是唯一不喜欢他的PO文件差异的人。 建议?
您也可以尝试将该更改分成2个更改:一个更新元数据,一个更新元数据翻译。然后,您可以忽略元数据更改。 – 2010-07-09 21:30:38