如何更改I18N代码的语言名称?

时间:2014-02-14 18:15:47

标签: django internationalization translation po

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

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

<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”。 如果我想要英文网站,它应该显示:“西班牙语”,“英语”,“巴斯克语” 如果我想要西班牙语的网站,它应该显示:“Español”,“Ingles”,“Euskera”

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

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

谢谢。

0 个答案:

没有答案