返回介绍

更新翻译

发布于 2025-01-02 21:53:54 字数 829 浏览 0 评论 0 收藏

处理翻译时的一个常见情况是,即使翻译文件不完整,你也可能要开始使用翻译文件。 这是非常好的,你可以编译一个不完整的 messages.po 文件,任何可用的翻译都将被使用,而任何缺失的部分将使用原始语言。 随后,你可以继续处理翻译并再次编译,以便在取得进展时更新 messages.mo 文件。

如果在添加 _() 包装器时错过了一些文本,则会出现另一种常见情况。 在这种情况下,你会发现你错过的那些文本将保持为英文,因为 Flask-Babel 对他们一无所知。 当你检测到这种情况时,会想要将其用 _()_l() 包装,然后执行更新过程,这包括两个步骤:

(venv) $ pybabel extract -f babel.cfg -k _l -o messages.pot .
(venv) $ pybabel update -i messages.pot -d app/translations

extract 命令与我之前执行的命令相同,但现在它会生成 messages.pot 的新版本,其中包含所有以前的文本以及最近用 _()_l() 包装的文本。 update 调用采用新的 messages.pot 文件并将其合并到与项目相关的所有 messages.po 文件中。 这将是一个智能合并,其中任何现有的文本将被单独保留,而只有在 messages.pot 中添加或删除的条目才会受到影响。

messages.po 文件更新后,你就可以继续新的测试了,再次编译它,以便对应用生效。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。