【问题标题】:Gettext - Detecting duplicate messages with different variable key namesGettext - 检测具有不同变量键名的重复消息
【发布时间】:2016-01-17 19:10:22
【问题描述】:
我最近开始了我的 django 项目 i18n,我有 .po 文件。但是在我的模板中,我做的事情并不理想。我刚刚复制了一些看起来很多的局部变量名称。所以我在 .po 文件中有几乎重复的内容,例如 %(num)s messages 和 %(num_messages)s messages 和 %d messages。我应该用同样的方式写它们,所以只有一个翻译。
有什么方法/软件可以读取我的.po 文件并告诉我应该合并这些消息吗?
【问题讨论】:
标签:
localization
internationalization
gettext
po
【解决方案1】:
恐怕我不知道任何内置此类功能的工具。您可以尝试使用您最喜欢的支持正则表达式的文本编辑器和 Excel:
1) 将 po 文件的内容粘贴到新电子表格的 A 列中
2) 在您最喜欢的 reg-ex 感知文本编辑器中打开您的 po 文件的内容,并尝试将所有长变量减少到它们的最短变体:在您的示例中,您可以将 %\([^\)]+\)s 替换为 %d。或者将所有变量替换为其他任何地方都不出现的字符串,例如 RORYS_PLACEHOLDER。
3) 将您的 po 文件的内容粘贴到电子表格的 B 列中,其中包含标准化变量或没有更多变量。
4) 为以msgid 开头的字符串设置过滤器,然后让 Excel 突出显示 B 列中的重复值。(主页 > 条件格式 > 突出显示单元格规则 > Excel 2013 中的重复值)
当然你的 po 文件对于这种方法来说可能太复杂了,但值得一试。