Zend Framework には IP アドレスや URL などの妥当性検証用にバリデーションクラスが存在します。ここでは、これらバリデーションクラスが出力するメッセージを日本語化するサンプルコードを掲載しています。
日本人には日本語が一番です。日本語、チョー苦手ですが。。。
スポンサーリンク
リソースファイルの配置
Zend Framework をダウンロードして展開したディレクトリ内に resources ディレクトリがあり、さらにその中に languages ディレクトリがあります。その languages ディレクトリを application ディレクトリと同一階層に配置するものとします。
バリデーションメッセージの日本語化
下記は、ブートストラップ内でリクエストヘッダの HTTP_ACCEPT_LANGUAGE に応じて、バリデーションメッセージを日本語化するサンプルコードになります。
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initLanguage() { // HTTP_ACCEPT_LANGUAGE に 'ja' が含まれていない場合はデフォルトのままとする $locale = $_SERVER['HTTP_ACCEPT_LANGUAGE']; if(empty($locale)) { return; } if(!strstr($locale, 'ja')) { return; } // バリデーションクラスのメッセージを日本語化 $translator = new Zend_Translate( 'array', APPLICATION_PATH . '/../languages/ja/Zend_Validate.php', // リソースファイルパス 'ja' // 日本語 ); // デフォルトのトランスレータを変更する Zend_Validate_Abstract::setDefaultTranslator($translator); } }
なんとなく、この機能は使用される頻度も少ないと個人的に思います。