0
在使用表单中的ChoicesField时,我遇到了使用Django的翻译功能强大的问题。Django:ChoiceField表单中的本地化问题
我用这样的形式,因为这一个:
from django.utils.translation import ugettext as _
class MyForm(forms.Form):
COUNTRIES = (
('france', _('France')),
('italy', _('Italy')),
('sweden', _('Sweden')),
)
country = forms.ChoiceField(choices=COUNTRIES)
通过视图模板这样的本 ... {%反式 “国家” %}渲染:{{form.country }} ...
,并翻译在法国时,我的问题,突出相关的,如下面的例子:
<label>Contrée </label>
<select name="country" id="id_country">
<option value="france">France</option>
<option value="italy">Italie</option>
<option value="sweden">Suède</option>
</select>
瑞典的口音(“Su&egrave;”)不正确地显示(没有HTML代码的解释),而国家(“Contrée”)中的口音按预期显示在浏览器中。
要完成这一点,法国我django.po文件是这样
...
#: templates/1.html:106
msgid "Country"
msgstr "Contrée"
#: templates/1.html:106 myApps/forms.py:19
msgid "Sweden"
msgstr "Suède"
...
这是因为如果包含在{{form.country}}标签时,没有解释口音的HTML代码。
任何想法,我在做什么错? 在此先感谢。
您是否试过ugettext_lazy作为_ – DTing 2011-05-09 01:05:47
是的我尝试用“ugettext_lazy as _”替换“ugettext as _”。结果仍然是一样的。谢谢。 – Nielluin 2011-05-09 22:55:24