Django,我如何访问LANGUAGE_CODE

时间:2011-05-17 13:57:29

标签: django internationalization django-templates

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

在您的settings.py文件中

添加所有不同的语言

LANGUAGES = (
    ('en', gettext('English')),
    ('sv', gettext('Swedish')),
    ('no', gettext('Norwegian')),
)

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

我的模板中有哪种方式可以访问显示文本,即English

1 个答案:

答案 0 :(得分:6)

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

{{ LANGUAGE_CODE|language_name }}

(以及许多其他可能性:django template translation-specific variables

在django< V1.3:

您可以通过以下方式访问可用语言列表:

{% get_available_languages as LANGUAGES %}

显示这个:

{% for lang in LANGUAGES %}
 CODE:{{ lang.0 }}, NAME:{{ lang.1 }}
{% endfor %}

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

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