Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 21, 2017 00:26:56

ivn
Зарегистрирован: 2017-01-13
Сообщения: 91
Репутация: +  0  -
Профиль   Отправить e-mail  

не выводится кнопка выбора языка

Добрый день.
Вставляю в шаблон следующие код:

 {% 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>

в шаблоне определен тег {% load i18n %}
в settings:
'django.middleware.locale.LocaleMiddleware',
LANGUAGE_CODE = ‘ru’

 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')),

и не выводится кнопка //??

Офлайн

#2 Окт. 21, 2017 00:43:02

ivn
Зарегистрирован: 2017-01-13
Сообщения: 91
Репутация: +  0  -
Профиль   Отправить e-mail  

не выводится кнопка выбора языка

надо вставить эту директиву {% get_available_languages as LANGUAGES %}
тогда появился выбор
не видел, что в документации про это было написано, если возможно показать где об этом пишут, был бы рад.
Спасибо

Офлайн

#3 Окт. 21, 2017 10:50:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

не выводится кнопка выбора языка

ivn
Да, собственно, прямо в документации и пишут https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#get-available-languages



Офлайн

#4 Окт. 21, 2017 17:28:10

ivn
Зарегистрирован: 2017-01-13
Сообщения: 91
Репутация: +  0  -
Профиль   Отправить e-mail  

не выводится кнопка выбора языка

FishHook
ivnДа, собственно, прямо в документации и пишут https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#get-available-languages
Спасибо.

Сейчас сделал вот так и кнопка пока не пригодилась )):
 urlpatterns += i18n_patterns( .... )

Подскажите, а как сделать так что бы по умолчанию язык ‘ru’ не выводился в адресной строке?
т.е. если ru, то site.com/
если en, то site.com/en/
Спасибо.

и еще маленький вопросик )) как узнать текущий язык в шаблоне?
ответ:
{% get_current_language as LANGUAGE_CODE %}
-)
кнопка:
         <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)

Офлайн

#5 Окт. 26, 2017 20:11:48

ivn
Зарегистрирован: 2017-01-13
Сообщения: 91
Репутация: +  0  -
Профиль   Отправить e-mail  

не выводится кнопка выбора языка

Подскажите, а как сделать так что бы по умолчанию язык ‘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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version