我对Django还比较新手,正在处理一个涉及i18n的项目。我的问题是,我在模板文件中使用 .manage.py makemessages/compilemessages
翻译了一些变量,但是当我使用 {% trans "my string" %}
时,所有语言都显示相同的字符串 "my string"
。
我做错了什么?以下是views.py和idioma.html的代码:
views.py:
#这里有些代码...
def idioma(request):
output = _("Mensaje en espanol")
return render_to_response( 'idioma/idioma.html', { 'idioma' : output }, context_instance = RequestContext(request) )
idioma.html
{% load i18n %}
< form action="/i18n/setlang/" method="post">
{% csrf_token %}
< input name="next" type="hidden" value="{{ redirect_to }}" />
< select name="language" >
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
< option value="{{ language.code }}">
{{ language.name_local }} ({{ language.code }})
< /option>
{% endfor %}
</select>
< input type="submit" value="Go" />
< /form>
La cadena es: {% trans idioma %}
{% trans "carro" %}
该应用程序会从locale/path/to/language/文件夹中的.po和.mo文件中翻译idioma变量,但它不会翻译{% trans "carro" %}字符串。发生了什么?谢谢你的帮助!!!