Pages

2010年1月25日月曜日

Zend_Translate を利用してZend_Formを利用した時のエラーメッセージを日本語化する

Zend_Translate を利用してZend_Formを利用した時のエラーメッセージを日本語化する。
Validate毎にsetMessageを使って日本語をセットする方法もあるのだが、
今回はサイト全体でエラーメッセージを管理するとい事も目的とした。

現在のZend_Tranlateでは3種類の設定方法があるようだ。

  1. デフォルトの指定
  2. Zend_Form毎の指定
  3. エレメント毎の指定
  4. Validate毎の指定
    ※Validate毎の指定はsetMessageを利用するしか現在は無いようだ。Ver1.9にて確認
下記が指定方法である。

▼まずはtranslateオブジェクトの作成

$translate = new Zend_Translate(
    'array',
    array(
        Zend_Validate_StringLength::INVALID => '変な値',
        Zend_Validate_StringLength::TOO_SHORT => '短い。',
        Zend_Validate_StringLength::TOO_LONG => '長い。',
        ),
    'ja'
);

▼デフォルトの指定

Zend_Registry::set('Zend_Translate', $translate);

▼フォーム毎での指定

$form->setTranslator($translate);

▼エレメント毎での指定

$element->setTranslator($translate);

0 件のコメント:

コメントを投稿

Followers