【问题标题】:Django makemessages not creating newly added languagesDjango makemessages 不创建新添加的语言
【发布时间】:2014-08-13 15:03:05
【问题描述】:

如果我运行命令,我的 Django 应用程序中有 12 种语言:

python manage.py makemessages --all

它会为这些语言创建所有 12 个 .po 文件,现在我又添加了 3 种语言:

LANGUAGES = (
    ...
    ('th', gettext('Thai')),
    ('tl', gettext('Tagalog')),
    ('vi', gettext('Vietnamese')),
)

当我运行makemessages --all 命令时,它只是跳过了三种新语言。我错过了什么吗?

编辑:也许文档很难理解:

制作消息

django-admin makemessages

在当前目录的整个源代码树上运行并拉取 出所有标记为翻译的字符串。它创建(或更新)一个 conf/locale(在 Django 树中)或 locale(对于 项目和应用程序)目录。修改后 您需要使用 compilemessages 编译它们以供使用的消息文件 使用内置的 gettext 支持。请参阅 i18n 文档了解 详情。

【问题讨论】:

    标签: python django


    【解决方案1】:

    您需要在命令行第一次指定您感兴趣的语言。

    python manage.py makemessages -l th -l tl -l vi
    

    之后,带有--all 标志的后续调用将生成所有语言的 PO 文件。

    【讨论】:

    • 如果它对某人有帮助,我遇到了相反的问题...我从 LANGUAGES 中删除了一个条目,但我认为如果它发现任何具有该语言代码的文件,它就会生成该语言。您可以使用-x 不生成/更新特定语言。
    猜你喜欢
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    相关资源
    最近更新 更多