Ethnaでのgettextによる国際化

extentionのgettextを利用可能にする

php_gettext.dllのコメントアウトはずすとか--with-gettextでコンパイルするとか

gettextのmoファイルを下記に配置

プロジェクトディレクトリ/locale/ja/LC_MESSAGES/{APPID}.mo
APPIDは大文字

テンプレートの国際化

Smartyのmodifierプラグインを利用する

{"message"|i18n}

アクションフォームの国際化

{APPID}_ViewClassのgetFormNameメソッドをオーバーライド

    function getFormName($name, $action, $params)
    {
        $af =& $this->_getHelperActionForm($action, $name);
        if ($af === null) {
            return $name;
        }
        return $af->getName($name);
    }

アクションフォームのフォーム定義
nameプロパティを書くとそちらが優先されるので書かない

    var $form = array(
       'name' => array(
           'type'           => VAR_TYPE_STRING,
           'form_type'      => FORM_TYPE_TEXT,
           'required'       => true,
           'required_error' => 'name(required)',
       ),
    );


9割は使わないであろう機能でしょうが、使おうと思えばそれほど苦労せず利用できそうでEthnaっぽいなと思いました。