Django 国际化语言代码

41 投票
5 回答
56133 浏览
提问于 2025-04-16 00:59

我在哪里可以找到像这样的语言和语言代码的列表呢?

(Swedish,sv)
(English,en)

5 个回答

27

之前的回答提到只从 settings.py 文件中获取 LANGUAGE,但是这个变量很可能会被覆盖。所以,你可以从 django.conf.global_settings.LANGUAGES 获取完整的语言列表。

from django.db import models

from django.conf.global_settings import LANGUAGES

class ModelWithLanguage(models.Model):
    language = models.CharField(max_length=7, choices=LANGUAGES)
68

如果你想在django里面使用一些东西,可以试试:

from django.conf import settings

这个格式是上面的那种,非常适合用在你模型的选择字段里。比如说 user_language = models.CharField(max_length=7, choices=settings.LANGUAGES)

LANGUAGES = (
    ('ar', gettext_noop('Arabic')),
    ('bg', gettext_noop('Bulgarian')),
    ('bn', gettext_noop('Bengali')),
    etc....
    )

关于使用设置的说明:

注意,django.conf.settings 不是一个模块

撰写回答