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