2

我需要一些有关网站国际化 (I18N) 问题的帮助。

在尝试更改 I18N 代码的语言名称的值时,我有一个带有语言的选择表单,所以我更改了它,这是选择的代码:

<form action="/i18n/setlang/" method="post">
       {% csrf_token %}
         <input name="next" type="hidden" value="{{ redirect_to }}" />
              <select name="language" onchange="this.form.submit()">
                        {% get_language_info_list for LANGUAGES as languages %}
                        {% for language in languages %}
                        <option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
                        {{ trans 'language.name_local|capfirst'  }}
                        </option>
                        {% endfor %}
               </select>
      </form>

这是 setting.py 中的语言声明

ugettext = lambda s: s
LANGUAGES = (
('es', ugettext('Spanish')),
('en', ugettext('English')),
('eu', ugettext('Euskera')),

)

Euskera 是西班牙巴斯克地区的当地语言。

但是在选择中它显示了值:“Español”,“English”,“Basque”,我希望它根据当前语言显示不同的值。

如果我想要西班牙语的网站,它应该显示:“Español”、“Ingles”、“Euskera”。如果我想要英文网站,它应该显示:“Spanish”、“English”、“Basque” 如果我想要西班牙文网站,它应该显示:“Español”、“Ingles”、“Euskera”

我为每种语言都有三个 django.po 文件,它们可以正确翻译其他文本。

如果您有任何想法,请分享。

谢谢你。

4

0 回答 0