我正在尝试使用Django进行国际化。我已经跟进了文档,并且能够正确设置它。
我的问题是
i)django支持的语言是什么?
ii)我已经创建了' .po',' .mo'语言的消息文件' de' ,' de-at'但是当尝试从API中访问这些资源时,我只能从“来自”的“资源”中获取资源。对于这两种情况。 Django是否会覆盖' de-at'由' de'消息文件资源。为什么会这样?
我通过在项目目录中执行,使用以下命令创建了消息文件。
django-admin.py makemessages -l de
运行上述命令后。我已经为他们的' .po'中的相应语言添加了资源。文件
django-admin.py compilemessages
任何帮助都将不胜感激。
答案 0 :(得分:0)
de-at。所以默认情况下Django会收集de消息文件。
Django文档说:
在每个地方,语言偏好都应该是标准语言格式,作为字符串。例如,巴西葡萄牙语是pt-br。
如果基本语言可用但指定的子语言不可用,则Django使用基本语言。例如,如果用户指定de-at(奥地利德语)但Django只有de可用,则Django使用de。
因此它会在文件中返回消息' de'
答案 1 :(得分:0)
如果问题是实际的,这可能会对您有所帮助。
我有责任将网站翻译成de和de-at。 Django支持de-at语言。 支持的语言列表: https://msdn.microsoft.com/en-us/library/ms533052(v=vs.85).aspx 或者你可以在git language_info上找到,我也看到了支持的语言列表。 如果您使用语言创建de-at - dash是名为de_AT(makemessages de_AT)的语言环境中的分隔符和文件夹,那就足够了。 Django将它们定义为不同的语言。问题可能是您在前端使用的形式。在我的案例中,我从django文档中获取的子语言崩溃,所以尝试更改前端表单,你可以在另一个stackoverflow问题中找到它们。