Django,我如何访问LANGUAGE_CODE

ApP*_*PeL 0 django django-templates internationalization

当您开始翻译您的应用程序时,事情变得非常有趣,它确实挑战了您构建应用程序的方式.

在您的settings.py文件中添加所有不同的语言

LANGUAGES = (
    ('en', gettext('English')),
    ('sv', gettext('Swedish')),
    ('no', gettext('Norwegian')),
)
Run Code Online (Sandbox Code Playgroud)

不,我知道你可以使用get_current_language as LANGUAGE_CODE访问第一位,即en

我的模板中是否有一种方法可以访问显示文本,即English

man*_*nji 6

如果你有,LANGUAGE_CODE你可以使用language_name过滤器:

{{ LANGUAGE_CODE|language_name }}
Run Code Online (Sandbox Code Playgroud)

(以及许多其他可能性:django模板翻译特定变量)

在django <v1.3:

您可以通过以下方式访问可用的语言

{% get_available_languages as LANGUAGES %}
Run Code Online (Sandbox Code Playgroud)

为了证明这一点:

{% for lang in LANGUAGES %}
 CODE:{{ lang.0 }}, NAME:{{ lang.1 }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

如您所见,语言名称是lang.1(内部元组的第二个成员)

如果你想要一个你拥有它的代码的语言的名称,或者在将它传递给模板之前将其放在上下文中,或者在上面的循环中添加一个比较条件来获取名称.