1

我目前正在使网站具有 i18n 意识。将硬编码字符串标记为可翻译。

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

所以我认为 FДЦЖ CУЯILLIC 或ʇxǝʇ uʍop-ǝpısdn(或类似的东西)应该可以解决问题。易于在视觉上区分,仍然可读,但不依赖于除 Unicode 支持之外的任何富文本格式。

问题是,我找不到任何现成的工具可以吃掉 gettext .po/ .potfile(s) 并吐出这样的翻译。不过,我认为这个想法很明显,所以肯定已经有一些东西了。

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

4

2 回答 2

1

msgfilter程序将允许您通过任何您想要的程序运行翻译。它特别适用于 GNU sed

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

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

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

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

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

于 2015-07-23T10:05:30.807 回答
0

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

于 2015-08-06T13:51:24.767 回答