2011-12-19 21 views
4

私はdjango形式を翻訳したいと思います。フィールドのラベルをどのように翻訳すればよいですか?djangoでフォームを翻訳するには?

私は、フィールドのラベルになりたい私はfield.label=ugettext_lazy(field.label)を試してみましたが、ラベルは、私はugettext_lazy間違ったの概念を得ているかもしれdjango.poファイルに

を埋め取得されていない、私は簡単に言えば

を考えますdjango.poファイルに入れてください。 ugettext{% trans %}タグを使用して行わ

他の翻訳は、私がverbose_nameを設定することで、モデルに基づいてフィールドを変換することができました

うまく働いているが、私はことをしようとすると、フォームフィールドのために私はTypeError

を取得します

答えて

5
class ExampleForm(forms.Form): 
    f1 = forms.CharField(label= ugettext_lazy('field label')) 
4
from django.utils.translation import ugettext_lazy as _ 
first_name = forms.CharField(label=_(u'First name')) 
5

I意志正確なもの:

from django.utils.translation import ugettext_lazy as _ 
... 
first_name = forms.CharField(label=_(u'First name')) 

フォームで _(u'First name ')のようなプロキシオブジェクトをうまく管理できないため、レンダリングの結果が空白のフォームであるため、エラーが発生する可能性があります。 私はこれをpython2.xとdjango 1.3/1.4でテストしました。

理由は異なるo.sによって最初に作成されたコンパイル済み.poメッセージによるものです。ライブラリ(これはpython、django、os。librariesバージョンに依存します)。 このエラーが発生した場合は、ローカライズされたメッセージを再作成する必要があります。

関連する問題