django支持哪些语言作为I18N的一部分,本地化

时间:2017-01-26 17:15:30

标签: python django localization internationalization

我正在尝试使用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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

Django不支持

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问题中找到它们。