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?
如果你有,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(内部元组的第二个成员)
如果你想要一个你拥有它的代码的语言的名称,或者在将它传递给模板之前将其放在上下文中,或者在上面的循环中添加一个比较条件来获取名称.