您将如何使用巴贝尔来国际化Google应用程序?我在这里寻找所有的阶段:
发布于 2010-09-30 06:25:17
1)在代码和模板中使用_() (或gettext())。模块全局或类定义中设置的翻译字符串应该使用某种形式的惰性gettext(),因为当模块导入时,i18n将不可用。
( 2)使用pybabel提取所有翻译。在这里,我们传递两个要扫描的目录:模板dir和app dir。这将在messages.pot目录中创建一个/locale文件,其中包含这些目录中的所有字符串。babel.cfg是根据您使用的模板引擎而变化的提取配置:
$ pybabel extract -F ./babel.cfg -o ./locale/messages.pot ./templates/ ./app/3)为每种语言初始化一个目录。这只做了一次。在这里,我们初始化三个翻译,en_US、es_ES和pt_BR,并使用在步骤2中创建的messages.pot文件:
$ pybabel init -l en_US -d ./locale -i ./locale/messages.pot
$ pybabel init -l es_ES -d ./locale -i ./locale/messages.pot
$ pybabel init -l pt_BR -d ./locale -i ./locale/messages.pot翻译信息。它们将在每个翻译目录中的.mo文件中。翻译完所有语言环境后,编译它们:
$ pybabel compile -f -d ./locale稍后,如果添加了新的翻译,请重复步骤2,并使用新的.pot文件更新它们:
$ pybabel update -l pt_BR -d ./locale/ -i ./locale/messages.pot然后翻译新字符串并重新编译翻译。
4)这里的策略可能会有所不同。对于每个请求,您必须设置要使用的正确翻译,并且可能希望缓存加载的翻译以便在后续请求中重用。
https://stackoverflow.com/questions/3821312
复制相似问题