2

Zend_Form で title 属性を設定すると、これは翻訳されません。(ラベルとエラーは正常に翻訳されています)

// フォームファイル

$email = new Zend_Form_Element_Text('username');
$email->setLabel('auth.form.login.username')
      ->setRequired(true)
      ->addFilter('StripTags')
      ->addFilter('StringTrim')
      ->addFilter('StringToLower')
      ->addValidator('NotEmpty')
      ->setAttrib('title', 'auth.form.login.username');

// リソースファイル

...
<tu tuid='auth.form.login.username'>
   <tuv xml:lang="en"><seg>Username</seg></tuv>
</tu>
...

現在の結果: auth.form.login.username

期待される結果:ユーザー名

4

1 に答える 1

1

これは正常な動作であり、問​​題はありません。

このsetAttrib()メソッドはその値パラメーターを変換しないため、次のようにZend_Translateアダプターを使用する必要があります。

$email->setAttrib('title', $this->getTranslator()->translate('auth.form.login.username'))

これで問題が解決するはずです。

詳細については、標準I18nターゲットを参照してください。

翻訳オブジェクトをにアタッチしたので、デフォルトで正確に何を翻訳できますか?

  • 検証エラーメッセージ。
  • ラベル。
  • フィールドセットの凡例。
  • フォームと要素の説明。
  • マルチオプション値。
  • 送信およびボタンラベル。
于 2012-04-04T16:57:36.347 に答える