文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
更新翻译
处理翻译时的一个常见情况是,即使翻译文件不完整,你也可能要开始使用翻译文件。 这是非常好的,你可以编译一个不完整的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论