Django makemessages没有创建新添加的语言

时间:2014-08-13 15:03:05

标签: python django

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

python manage.py makemessages --all

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

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

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

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

  

makemessages

     

django-admin makemessages

     

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

1 个答案:

答案 0 :(得分:14)

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

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

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