【发布时间】:2012-04-23 13:33:46
【问题描述】:
我正在尝试做一个简单的例子来理解 Django 国际化。
根据我在 djangoproject 文档中阅读的内容,最简单的方法是使用 {% trans %} 块包装您要从模板翻译的内容。
根据我的理解和预期,在我的情况下,自动为字符串执行翻译:
{% for x in found_bills %}
<tr>
<td>{% trans x.name %}
</td>
</tr>
{% endfor %}
对于 x.name 中的字符串(它是一天的名称,英文,即“sunday”)将被翻译并返回到以翻译形式显示的模板。
我是否误解了它的工作方式?
更新:
错误:在 _argparse.py 上运行 xgettext 时发生错误 ./build/ipython/IPython/external/argparse/_argparse.py:1113:警告:带有未命名参数的“msgid”格式字符串无法正确本地化: 翻译器无法重新排序参数。 请考虑使用带有命名参数的格式字符串, 以及参数的映射而不是元组。
第二次更新:
模板中的HTML代码是上面的代码,下面的代码是视图中的代码。
bills.py:
def bills(request):
bills = ps_bill.objects.all()
return render_to_response('bills.html',"bills":bills,},context_instance=RequestContext(request))
【问题讨论】:
-
我不熟悉 Django,但我可以向你保证它不会自动翻译它。这可能只是将其标记为翻译。
-
我也有同样的想法。 devdoodles.wordpress.com/2009/02/14/… djangobook.com/en/2.0/chapter19 应该让你开始。
标签: python django internationalization web