用于测试的自动gettext转换生成器(伪定位)

时间:2015-07-23 09:53:58

标签: internationalization gettext django-i18n pseudolocalization

我目前正在进行网站i18n感知。将硬编码字符串标记为可翻译。

我想知道是否有任何自动化工具可以让我浏览网站并快速查看哪些字符串已标记,哪些仍未标记。我看到像django-i18n-helper这样的一些项目尝试使用HTML工具突出显示已翻译的字符串,但这对JavaScript不起作用。

所以我认为FДЦЖCУЯILLIC,或者ʇxǝʇuʍop-ǝpısdn(或者其他类似的东西)应该可以做到这一点。易于区分,但仍然可读,但不依赖于除Unicode支持之外的任何富文本格式。

问题是,我找不到任何可以随时使用gettext .po / .pot文件的工具,并且会发出这样的翻译。不过,我认为这个想法很明显,所以必须有一些东西已经存在。

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

2 个答案:

答案 0 :(得分:1)

msgfilter程序可让您通过所需的任何程序运行翻译。它适用于GNU sed

例如,要将所有翻译都转换为大写(HTML大部分不区分大小写,所以这应该有效):

msgfilter -i django.po sed -e 's/\(.*\)/\U\1/'

您应用中唯一包含小写字母的字符串将是硬编码字符串。

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

如果您的发行版包含talkfilters包,则可能会提供一些在此特定情况下可能有用的程序。所有这些都应该作为msgfilter过滤器。 (我个人最喜欢的是chef。Bork bork bork!)

答案 1 :(得分:0)

我自己还没试过,但是从Translate Toolkit找到了podebug tool。根据文档(flippedunicode rewrite options),这看起来就是我希望的工具。