Джанго перевод

Я использую 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 %}
Другие вопросы по тегам