1

我正在使用 django rosetta 将我的网站翻译成 2 种不同的语言,并且它工作正常。所以如果我想从英语翻译成印度尼西亚语,我输入

127.0.0.1:8000/en/ to 127.0.0.1:8000/id/ 

但问题是当我想在模板中添加一个选择选项时,我只是不确定如何将所选语言传递给 Rosetta。

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

在我的情况下,我如何将我的选择传递给 Rosetta 进行翻译

4

1 回答 1

0

因此,我通过仅使用模板语言语法找到了解决我的问题的方法,并且我将在这里分享我的代码,以防有人发现类似的挑战。

{% 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 %}
于 2018-02-26T12:56:43.327 回答