Форум сайта python.su
Добрый день.
Вставляю в шаблон следующие код:
{% trans 'Change your locale' %}: <form action="/i18n/setlang/" method="POST"> {% csrf_token %} <input name="next" type="hidden" value="/accounts/profile/" /><br/> <select name="language"> {% for lang in LANGUAGES %} <option value="{{ lang.0 }}">{{ lang.1 }}</option> {% endfor %} </select><br/> <input type="submit" value="{% trans 'change' %}" /> </form>
LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), ) TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True LANGUAGES = [ ('en', _('English')), ('ru', _('Russian')),
Офлайн
надо вставить эту директиву {% get_available_languages as LANGUAGES %}
тогда появился выбор
не видел, что в документации про это было написано, если возможно показать где об этом пишут, был бы рад.
Спасибо
Офлайн
ivn
Да, собственно, прямо в документации и пишут https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#get-available-languages
Офлайн
FishHookСпасибо.
ivnДа, собственно, прямо в документации и пишут https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#get-available-languages
urlpatterns += i18n_patterns( .... )
<ul> {% get_current_language as LANGUAGE_CODE %} <li> {% ifequal LANGUAGE_CODE 'ru' %}<a href="/en/">en</a>{% else %}<a href="/">ru</a>{% endifequal %}</li> </ul>
Отредактировано ivn (Окт. 21, 2017 18:12:35)
Офлайн
Подскажите, а как сделать так что бы по умолчанию язык ‘ru’ не выводился в адресной строке?
т.е. если ru, то site.com/
если en, то site.com/en/
Спасибо.
решение:
https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#language-prefix-in-url-patterns
или
https://github.com/st4lk/django-solid-i18n-urls
Отредактировано ivn (Окт. 26, 2017 21:50:10)
Офлайн