我需要一些网站国际化(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文件,他们正确翻译其他文本。
如果您有任何想法,请分享。
谢谢。