我试图做一个简单的例子来理解 Django 国际化。
从我在 djangoproject 文档中阅读的内容来看,最简单的方法是用一个{% trans %}
块包装你想要从模板翻译的内容。
根据我的理解和预期,在我的情况下,自动为字符串执行翻译:
{% for x in found_bills %}
<tr>
<td>{% trans x.name %}
</td>
</tr>
{% endfor %}
并且对于 x.name 中的字符串(它是一天的名称,英文,即“星期日”)被翻译并返回到以翻译形式显示的模板。
我误解了它的工作方式吗?
更新:
错误:在 _argparse.py ./build/ipython/IPython/external/argparse/_argparse.py:1113 上运行 xgettext 时发生错误:警告:带有未命名参数的“msgid”格式字符串无法正确本地化:翻译器无法重新排序参数. 请考虑使用带有命名参数的格式字符串,以及参数的映射而不是元组。
第二次更新:
来自模板的 HTML 代码是上面的代码,下面的代码是视图中的代码。
票据.py:
def bills(request):
bills = ps_bill.objects.all()
return render_to_response('bills.html',"bills":bills,},context_instance=RequestContext(request))