返回介绍

更新翻译

发布于 2025-01-02 21:53:54 字数 829 浏览 0 评论 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 文件更新后,你就可以继续新的测试了,再次编译它,以便对应用生效。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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