Django Makemessage可以生成I18N文件,并使翻译更容易。

如我所见,龙卷风具有CSV格式和GetText格式,但我只能使用CSV版本,因为我会在Appengine使用它。

因此,我正在寻找一种在扫描我的代码和模板时生成这些CSV文件的方法。

有帮助吗?

解决方案

好的,我想你有点困惑。你 能够 由于GetText从Google的django.util实施中导出了getText,因此请使用getText和po/mo文件 Google-Appengine Google Group) :

from django.utils.translation import gettext as _ 

我不熟悉Appengine CSV的I18N格式,但是有一种非常简单的方法可以从Tornado的代码和模板中提取国际化字符串 XGetText, ,基本上只是从命令行迫使python。举个例子:

 xgettext -L Python -o myproject.pot  *.html

该命令将在您当前目录中的 *.html中获取所有I18N'ED字符串,并将它们放在myProject.pot上。您可以初始化该文件并转换为使用任何商业或OpenSource工具,例如。 Poedit 或者 POOTLE),一旦您翻译了所有字符串,就可以使用 翻译工具包的PO2CSV, ,也用Python写:

po2csv -i it_IT/myproject.po -o it_IT/myproject.csv 

格式为 location:codeLine,source,target 这是非常简单的结局,易于转换为您需要的任何其他格式(我不熟悉Appengine的I18N CSV格式),您可以将PO2CSV拨打,无需-o参数,并将输出从STDOUT中输出。

我不知道这是否可以解决您的问题,但基本上我认为您应该采用代码 - > pot/po-> csv工作流,因为有许多工具期望PO/POT/MO,并且可以让您处理翻译或使用翻译记忆/拼写检查器等。

其他提示

我为目的写了一个新模块 龙卷风贝尔 其中包括一个babel的提取器,用于从龙卷风模板中提取可翻译的字符串。它不会为您创建CSV文件,而是标准的POT文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top