<p>好吧,我觉得你有点困惑。您可以使用appengine中的gettext和po/mo文件,因为gettext是从Google的导出的django.util实现(可在<a href="http://http_//groups.google.com/group/google-appengine/browse_thread/thread/cf4d174c456c511/e5cb2718cb20c4e8" rel="nofollow">google-appengine google group</a>中找到对此的讨论):</p>
<pre><code>from django.utils.translation import gettext as _
</code></pre>
<p>我不熟悉appenginecsv的i18n格式,但是有一种非常简单的方法可以使用<a href="http://http_//www.gnu.org/software/hello/manual/gettext/xgettext-Invocation.html" rel="nofollow">xgettext</a>从tornado的代码和模板中提取国际化的字符串,基本上就是从命令行强制python。例如:</p>
^{pr2}$
<p>该命令将从当前目录中的*.html获取所有i18n'ed字符串,并将它们放在我的项目.pot. 您可以初始化该文件并将其转换为./it\u-it/我的项目.po使用任何商业或开源工具(我建议使用<a href="http://http_//www.poedit.net/" rel="nofollow">poedit</a>或<a href="http://http_//translate.sourceforge.net/wiki/pootle/index?redirect=1" rel="nofollow">pootle</a>),并且一旦您翻译了所有字符串,就可以使用<a href="http://translate.sourceforge.net/wiki/toolkit/csv2po?redirect=1" rel="nofollow">Translate Toolkit's po2csv</a>将文件转换成CVS,这也是用python编写的:</p>
<pre><code>po2csv -i it_IT/myproject.po -o it_IT/myproject.csv
</code></pre>
<p>格式是<code>location:codeLine,source,target</code>,非常简单,很容易转换成您需要的任何其他格式(我不熟悉appengine的i18ncv格式),您可以不带-o参数调用po2csv并从STDOUT输出输出。在</p>
<p>我不知道这是否能解决您的问题,但基本上我认为您应该采用code->;pot/po->;csv工作流,因为有许多工具都需要po/pot/mo,并允许您处理您的翻译或使用翻译记忆/拼写检查程序等。。。。如果你还需要帮助,请告诉我。在</p>