gui*_* 桂林 5 python csv localization tornado internationalization
Django makemessage可以生成i18n文件,并使其更容易翻译.
正如我所见,龙卷风支持CSV格式和gettext格式,但我只能使用CSV版本,因为我会在appengine中使用它.
所以,我正在寻找一种基于扫描我的代码和模板为龙卷风生成这些CSV文件的方法.
小智 6
好的,我觉得你有点困惑.您可以在appengine中使用gettext和po/mo文件,因为gettext是从Google的django.util实现中导出的(有关此内容的讨论可以在google-appengine google组中找到):
from django.utils.translation import gettext as _
Run Code Online (Sandbox Code Playgroud)
我不熟悉AppEngine CSV的i18n格式,但是有一种非常简单的方法可以使用xgettext从龙卷风的代码和模板中提取国际化字符串,基本上只是从命令行强制python.举个例子:
xgettext -L Python -o myproject.pot *.html
Run Code Online (Sandbox Code Playgroud)
该命令将从当前目录中的*.html获取所有i18n'ed字符串,并将它们放在myproject.pot上.您可以使用任何商业或开源工具初始化该文件并转换为./it_IT/myproject.po(我建议使用poedit或pootle),一旦翻译完所有字符串,您就可以使用Translate Toolkit的po2csv将文件转换为CVS ,这也是用python编写的:
po2csv -i it_IT/myproject.po -o it_IT/myproject.csv
Run Code Online (Sandbox Code Playgroud)
格式location:codeLine,source,target非常简单易于转换为您需要的其他格式(我不熟悉appengine的i18n CSV格式),您可以使用no -o参数调用po2csv并从STDOUT输出输出.
我不知道这是否解决了你的问题,但基本上我认为你应该采用code-> pot/po-> csv工作流程,因为有许多工具可以期待po/pot/mo并允许你处理你的翻译或与翻译记忆库/拼写检查器等合作....如果您需要更多帮助,请尝试告诉我.
| 归档时间: |
|
| 查看次数: |
1409 次 |
| 最近记录: |