用于测试的自动gettext翻译生成器(伪本地化)



我目前正在制作站点i18n-aware。将硬编码字符串标记为可翻译的

我想知道是否有任何自动工具可以让我浏览网站并快速查看哪些字符串已标记,哪些尚未标记。我看到过一些项目,比如django-i18n-helper,它们尝试使用HTML工具突出显示翻译后的字符串,但这在JavaScript中并不好用。

所以我想FДЦЖCУЯILLIC,𝔅𝔩𝔞𝔠𝔨𝔩𝔢𝔱𝔱𝔢𝔯或ʇxǝʇuʍop -ǝpısdn (或事情等)应该足够了。易于视觉区分,仍然可读,但不依赖于任何富文本格式,除了Unicode支持。

问题是,我找不到任何现成的工具可以吃掉gettext .po/.pot文件并吐出这样的翻译。尽管如此,我认为这个想法是很明显的,所以一定已经有了一些东西。

在我的情况下,我使用Python/Django,但我想这个问题适用于任何使用gettext兼容库。该工具唯一应该注意的是,翻译字符串中可能存在HTML片段。

msgfilter程序将允许您通过任何程序运行翻译。它在GNU sed下工作得特别好。

例如,要将所有翻译转换为大写(HTML大多不区分大小写,所以这应该可以工作):

msgfilter -i django.po sed -e 's/(.*)/U1/'

在你的应用程序中唯一有小写字母的字符串将是硬编码的。

如果你真的想做伪西里尔字母,你只需要写一个程序或脚本来读取拉丁文并输出,并将该程序提供给msgfilter而不是sed。

如果你的发行版有talkfilters包,它可能会提供一些在这种特定情况下可能有用的程序。所有这些都应该作为msgfilter过滤器工作。我个人最喜欢的是chef。)

我自己还没有试过,但是从翻译工具包中找到了podebug工具。根据文档(flippedunicode重写选项),这看起来正是我想要的工具。

最新更新