Zend_Translate を利用してZend_Formを利用した時のエラーメッセージを日本語化する。
Validate毎にsetMessageを使って日本語をセットする方法もあるのだが、
今回はサイト全体でエラーメッセージを管理するとい事も目的とした。
現在のZend_Tranlateでは3種類の設定方法があるようだ。
- デフォルトの指定
- Zend_Form毎の指定
- エレメント毎の指定
- 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 件のコメント:
コメントを投稿