如果我运行命令,我的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文档 的信息。
答案 0 :(得分:14)
您需要在命令行中首次指定您感兴趣的语言。
python manage.py makemessages -l th -l tl -l vi
之后,使用--all
标志的后续调用将生成所有语言的PO文件。