2

ピラミッドで使用しているときに、wtforms のフォーム ラベルとエラー メッセージをどのように翻訳できますか。

サンプルフォーム:

class RegistrationForm(Form):
   name = TextField(_(u'Name'), [v.Required(_(u'Please provide your name'))])
   age = IntegerField(
    _(u'Age'),
    [v.NumberRange(min=12, message=_(u'Must be at least %(min)d years old.'))]
   )

この後、私はやった:

  1. メッセージ文字列の抽出
  2. .po ファイル内の文字列の翻訳
  3. コンパイルして .mo ファイルを作成

私は jinja2 テンプレートを使用しています。jinja2 テンプレートの翻訳文字列は正常に機能していますが、フォーム要素の翻訳は機能していません。これに関する任意のアイデア、助けていただければ幸いです。

4

1 に答える 1

0

問題は_、翻訳がまだ構成されていないときに、実行時ではなくインポート時に呼び出されるという事実に起因する可能性があります。を使用している場合は問題にならないはずです。pyramid.i18n.TranslationStringこれは怠惰で、表示時にしか翻訳されないためです。ただし、他のものを使用している場合は、それが問題になる可能性があります。

では、どのように定義しました_か?

于 2012-10-12T14:19:43.873 に答える