2024-09-30 16:28:27 发布
网友
Django makemessage可以生成i18n文件,并使其更易于翻译。在
如我所见,tornado同时支持CSV格式和gettext格式,但我只能使用CSV版本,因为我将在appengine使用它。在
所以,我正在寻找一种方法来生成这些CSV文件为龙卷风扫描我的代码和模板。在
为此,我编写了一个名为tornado-babel的新模块,其中包括一个用于babel从tornado模板中提取可翻译字符串的提取器。它不会为您创建CSV文件,而是创建标准pot文件。在
好吧,我觉得你有点困惑。您可以使用appengine中的gettext和po/mo文件,因为gettext是从Google的导出的django.util实现(可在google-appengine google group中找到对此的讨论):
from django.utils.translation import gettext as _
我不熟悉appenginecsv的i18n格式,但是有一种非常简单的方法可以使用xgettext从tornado的代码和模板中提取国际化的字符串,基本上就是从命令行强制python。例如:
该命令将从当前目录中的*.html获取所有i18n'ed字符串,并将它们放在我的项目.pot. 您可以初始化该文件并将其转换为./it\u-it/我的项目.po使用任何商业或开源工具(我建议使用poedit或pootle),并且一旦您翻译了所有字符串,就可以使用Translate Toolkit's po2csv将文件转换成CVS,这也是用python编写的:
po2csv -i it_IT/myproject.po -o it_IT/myproject.csv
格式是location:codeLine,source,target,非常简单,很容易转换成您需要的任何其他格式(我不熟悉appengine的i18ncv格式),您可以不带-o参数调用po2csv并从STDOUT输出输出。在
location:codeLine,source,target
我不知道这是否能解决您的问题,但基本上我认为您应该采用code->;pot/po->;csv工作流,因为有许多工具都需要po/pot/mo,并允许您处理您的翻译或使用翻译记忆/拼写检查程序等。。。。如果你还需要帮助,请告诉我。在
为此,我编写了一个名为tornado-babel的新模块,其中包括一个用于babel从tornado模板中提取可翻译字符串的提取器。它不会为您创建CSV文件,而是创建标准pot文件。在
好吧,我觉得你有点困惑。您可以使用appengine中的gettext和po/mo文件,因为gettext是从Google的导出的django.util实现(可在google-appengine google group中找到对此的讨论):
我不熟悉appenginecsv的i18n格式,但是有一种非常简单的方法可以使用xgettext从tornado的代码和模板中提取国际化的字符串,基本上就是从命令行强制python。例如:
^{pr2}$该命令将从当前目录中的*.html获取所有i18n'ed字符串,并将它们放在我的项目.pot. 您可以初始化该文件并将其转换为./it\u-it/我的项目.po使用任何商业或开源工具(我建议使用poedit或pootle),并且一旦您翻译了所有字符串,就可以使用Translate Toolkit's po2csv将文件转换成CVS,这也是用python编写的:
格式是
location:codeLine,source,target
,非常简单,很容易转换成您需要的任何其他格式(我不熟悉appengine的i18ncv格式),您可以不带-o参数调用po2csv并从STDOUT输出输出。在我不知道这是否能解决您的问题,但基本上我认为您应该采用code->;pot/po->;csv工作流,因为有许多工具都需要po/pot/mo,并允许您处理您的翻译或使用翻译记忆/拼写检查程序等。。。。如果你还需要帮助,请告诉我。在
相关问题 更多 >
编程相关推荐