Django, как мне получить доступ к LANGUAGE_CODE - PullRequest
0 голосов
/ 17 мая 2011

Когда вы начинаете переводить ваше приложение, все становится очень интересным, и это действительно бросает вызов тому, как вы создаете свои приложения.

в вашем файле settings.py вы добавляете все разные языки

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

нет, я знаю, что вы можете использовать get_current_language as LANGUAGE_CODE для доступа к первому биту, т. Е. en

. В моем шаблоне есть способ получить доступ к отображаемому тексту, т. Е. English?

1 Ответ

6 голосов
/ 17 мая 2011

Если у вас есть LANGUAGE_CODE, вы можете использовать language_name фильтр:

{{ LANGUAGE_CODE|language_name }}

(и многие другие возможности: переменные, специфичные для перевода шаблона django )

В django

Вы можете получить доступ к списку доступных языков через:

{% get_available_languages as LANGUAGES %}

Чтобы показать это:

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

Как видите, имя языка lang.1 (второй член внутреннего кортежа)

Если вам нужно имя языка, на котором у вас есть его код, поместите его в контекст, прежде чем передавать его вшаблон или в цикле выше добавьте условие сравнения, чтобы получить имя.

...