【发布时间】:2010-01-05 13:46:01
【问题描述】:
目前在项目中使用 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 输出中的文件名/行号 cmets。但我实际上发现 这些文件名在翻译时非常有用。
我肯定不会是唯一一个不喜欢他的 PO 文件差异的人。 有什么建议吗?
【问题讨论】:
-
您也可以尝试将该更改拆分为 2 个更改:一个更新元数据,另一个更新翻译。然后您可以忽略元数据更改。
标签: git version-control diff gettext po-file