Джанго перевод
Я использую Django Rosetta, чтобы перевести мой сайт на 2 разных языка, и он работает правильно. Так что, если я хочу перевести с английского на индонезийский я наберу
127.0.0.1:8000/en/ to 127.0.0.1:8000/id/
Но проблема в том, что когда я хочу добавить опцию выбора в шаблон, я просто не уверен, как передать выбранный язык в розетту.
{% get_available_languages as languages %}
{% trans '' %}
{% for lang_code, lang_name in languages %}
{% language lang_code %}
<li>
<i class="icon-wrench"></i>
<a href="#" target="_blank" data-toggle="modal">
{{lang_name|slice:'3' }}, {{ lang_code|upper }}
</a>
</li>
{% endlanguage %}
{% endfor %}
Как я мог передать свой выбор Розетте для перевода в моем случае
1 ответ
Решение
Поэтому я нашел решение своей проблемы, используя только синтаксис языка шаблонов, и собираюсь поделиться своим кодом здесь на случай, если кто-то найдет аналогичную проблему.
{% for lang_code, lang_name in languages %}
{% language lang_code %}
<li>
<i class="icon-wrench"></i>
<a href="/{{ lang_code }}/"
{% if lang_code == LANGUAGE_CODE %}
{% endif %}>
{% if lang_code == 'en' %}
<img src="{% static "img/en.png" %}" alt="Eng"
style="height: 13pt;
margin-bottom: 3pt;">
{{ lang_code|upper }}
{% endif %}
{% if lang_code == 'id' %}
<img src="{% static "img/id.png" %}" alt="Ind"
style="height: 13pt;
margin-bottom: 3pt;">
{{ lang_code|upper }}
{% endif %}
</a>
</li>
{% endlanguage %}
{% endfor %}