【发布时间】:2012-09-13 23:49:33
【问题描述】:
我有一个使用 php 内置的 Gettext / PO 支持国际化的网站
echo _("string to be translated");
该网站处于测试阶段,肯定有一些字符串没有被翻译。为了帮助调试,有没有办法记录 gettext 错误,即记录 PO 未在 PO 文件中找到任何匹配条目的字符串?
【问题讨论】:
-
您应该自动使用适当的工具将所有 i18n'ed 字符串提取到 .po 文件中,然后使用 POedit 等本地化工具查看这些文件。这会向您显示哪些字符串仍需要翻译,并且所有字符串都应该在文件中,因为提取已自动完成。
-
所以没有办法记录 gettext 错误?随着代码库的不断变化,随着时间的推移可能会出现错误
-
据我所知(但我不是 gettext 方面的专家)。在 gettext 中找不到本地化特别不被视为错误。我也不会考虑记录查找未翻译字符串的好方法,因为这意味着您必须运行发生翻译的所有代码路径才能找到未翻译的字符串。这比为提取设置建立良好的工作流程更难管理。
-
顺便问一下,你会使用什么工具来自动从 PHP 脚本中提取所有要翻译的字符串?
-
默认是gettext工具链中的xgettext。
标签: php internationalization translation gettext po