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