Mal*_*olm 8 diff gettext internationalization
寻找有关如何在对大型msgid值进行小编辑时有效使用gettext PO文件的提示和/或工具.
示例:我们有许多存储在PO消息目录文件中的多句/多段消息.如果我们对一条消息做了一个非常小的改动,也许编辑一个句子甚至纠正标点符号,我们在运行msgmerge实用程序时会丢失原始翻译.
我们的译员不是从头开始重新翻译长消息(已经通过编辑审批流程),而是返回其PO文件的备份副本,并手动搜索最后一个msgid/msgstr翻译对的文本当前的msgid值以查看已更改的内容,然后复制并粘贴最后一个转换,然后编辑它们以反映更新的msgid值.
这是很多工作!当然必须有更好的方法来处理这种类型的工作流程?
有没有一种最佳实践的方式归档和发现以前的翻译不再在PO文件?我想到的一个想法是存储唯一的MSG ID在我们的信息的文本或在我们之前的消息,并使用这个ID来检索审查以前MSGID/msgstr翻译对的意见.或者是否有PO编辑或在线服务使这一过程更有效率?
谢谢你,马尔科姆
小智 9
我一直在寻找一种方法来对msgids进行微小的更改,而不会干扰现有的翻译 - 例如,源文本中的拼写错误修复.这是我刚刚制定的不涉及网站的方法:
使用msgenGNU gettext生成英语到英语的po文件:
msgen project.pot >corrections.po
手动编辑msgstr"corrections.po"中的s以反映源文本中的拼写错误修复,因此我们有从未修正的字符串到更正的字符串的映射.(我没想过如何自动化这一点.)
对于每个"真实"翻译(例如ca.po):poswap来自Translate Toolkit(translate-toolkit在Ubuntu中)的滥用来更改msgids:
poswap -i corrections.po -t ca.po -o ca.new.po
这似乎从GNU gettext po文件中丢失了标题注释和过时的字符串,但手动修复它们比在每次翻译中手动调整msgids(并且可能很容易编写脚本)要少得多.
(显然,这应该仅用于特殊情况,在这种情况下,您绝对不能确保所有翻译人员都没有机会重新审阅他们的翻译.)