python - Translate templates in django -
i have project in django 1.8. want have website 3 languages, when choose language nothing happen:
code in template:
{% load i18n %} ... <form action="{% url 'set_language' %}" method="post"> {% csrf_token %} {% get_available_languages languages %} {% get_language_info_list languages languages %} {% language in languages %} <a href="{% url 'set_language' %}">{{ language.code }}</a> {% endfor %} <span class="glyphicon glyphicon-globe"></span> </form> my urls:
urlpatterns = patterns('', # examples: # url(r'^$', 'website.views.home', name='home'), # url(r'^blog/', include('blog.urls')), url(r'^i18n/', include('django.conf.urls.i18n')), url(r'', include("www.urls", namespace="www")), url(r'^blog/', include("blog.urls", namespace="blog")), url(r'^admin/', include(admin.site.urls)), url(r'^ckeditor/', include('ckeditor.urls')), ) my settings (locale) - use here django-rosetta:
language_code = 'en-us' languages = ( ('pl', u'poland'), ('en', u'us'), ('ru', u'russia'), ) locale_paths = [ os.path.join(base_dir, 'locale'), ]
you wrote code nothing.
build-in django set_language view accepts post requests language code parateter. clicking on a tag within form view request.
change template following
<form action="{% url 'set_language' %}" method="post">{% csrf_token %} <select name="language"> {% get_current_language language_code %} {% get_available_languages languages %} {% get_language_info_list languages languages %} {% language in languages %} <option value="{{ language.code }}"{% if language.code == language_code %} selected="selected"{% endif %}> {{ language.name_local }} ({{ language.code }}) </option> {% endfor %} </select> <input type="submit" value="go" /> </form> https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#the-set-language-redirect-view
Comments
Post a Comment