2

我必须国际化(i18n)一个 django 项目。它结合了许多内部 django 应用程序。它已经部分地被i18n'ed,即一些字符串是_(),但有些是裸露的。一些模板使用{% blocktrans %}or {% trans %},但有时英文文本直接在那里。我需要大量的手工工作才能改变这一切。那好吧。

有什么方法可以查看python代码中的哪些字符串以及html模板中的哪些文本没有通过_()/{% trans %}?“i18n lint”检查器?一个命令将打印出尚未 _()'ed 或不在 {% trans %} 中的字符串的行和文件名,我可以接受它抛出误报(和误报),我只是想要一些方法来确保我没有错过任何东西。

4

2 回答 2

3

我找不到这样的东西,所以我不得不自己做。

于 2011-03-31T13:04:04.270 回答
1

您可以grep通过所有 Python 文件来获取字符串列表,并查看哪些缺少_(). 像这样的东西,但可能更复杂一点:

grep "[\"\'][A-Za-z]" */*py  -R 

不幸的是,我不知道如何查看模板文件,因为我看不到任何方法来区分{% blocktrans %}or{% trans %}环境中的字符串和没有的字符串。

于 2011-03-19T14:07:02.707 回答