- Мои URL-адреса автоматически переводятся (Python, из django .utils.translation import ugettext_lazy как _)
Версия Engli sh находится на urls.py тогда , переведенные версии в django .po (один французский, один испанский sh, один голландский) Например, в urls.py:
из django .conf.urls, URL импорта из django. views.generi c импорт TemplateView из django .conf.urls.i18n импорт i18n_patterns из django .utils.translation импорт ugettext_lazy как _
из. импорт представлений из представлений импорт ExtraContextTemplateView
urlpatterns = [url (_ (r '^ contact / $'), views.contact, name = 'contact'),]
В индексе. html:
<form action="{% url 'set_language' %}"
method="post"
style="display: none;"
id="form-change-lang">{% csrf_token %}
<select name="language">
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected{% endif %}>
{{ language.name_local }} ({{ language.code }})
</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>
В настройках common.py у меня есть:
LANGUAGE_CODE = 'en'
gettext = lambda s: s
LANGUAGES = [
('en', _('English')),
('es', _('Spanish')),
('fr', _('French')),
('nl', _('Dutch')),
]
prefix_default_language = False
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
AUTOSLUG_MODELTRANSLATION_ENABLE = True
В основном проблема заключается в том, что, когда вы находитесь на веб-сайте, и вы нажимаете на флаге он переводится без каких-либо проблем, но, если у вас есть устройство Spani sh, французское или голландское, он не находит ни URL-адреса, ни английского языка Engli sh другого языка.