我在Django项目上工作,默认语言是法语。我也想支持英语。
国际化的工作方式正如我在python代码和模板代码中所期望的那样:
所以我似乎不需要为我的基本语言创建和编译消息文件(对吧?)。
在javascript文件中,它不起作用:只要有一个,就会显示locale / en / LC_MESSAGES / django.po中的翻译,即使请求的语言是法语。
阅读this thread后,我运行了命令:
django-admin makemessages -d djangojs -l fr
django-admin compilemessages
但是我仍然得到英文翻译,除非我在locale / fr / LC_MESSAGES / djangojs.po中填写msgstr。
我是否必须为我的基本语言填写msgstr(所以基本上复制/粘贴msgid)我的网站的每个文本?
这似乎很乏味。
答案 0 :(得分:0)
您尝试使用rosetta了吗?如果您使用rosetta,那么它将使您的翻译更容易。
答案 1 :(得分:0)
django-admin makemessages -d djangojs -l fr
之后启动以下命令
msgen PATH_TO_YOUR_DJANGOJS.PO_FILE -o PATH_OF_YOUR_DESIRED_OUTPUT_FILE
msgen将使用原始msgid文本填充空字符串,并且是使用gettext实用程序安装的内部工具。
溴