PHP

Ads

ドキュメントリンク

公式のWikiが見たい項目が探しにくいので…。

i18n

Ethnaでデフォで入っている Ethna_I18N は gettext を使っている為、かなり面倒くさい…。 まずそもそも Ethna_I18N を実際に活用しているドキュメントは皆無に近いし使用するには getext の知識まで必要。 gettext を使うにはテキストファイルで簡単に各ロケールのリソースファイルを作ればよいと言うものではなく、mo ファイルというバイナリ形式へのコンバートまでする必要がある。 また、現在の Ethna_I18N の実装では ja と en のことしか考慮されておらず、それ以外のロケールを扱うには実装を拡張する必要まである始末。

中身を見たところ Ethna_I18N は setLocale と get メソッドの二つのみを持つだけのクラスのようなのでもっと使いやすいものに変えるのはアリだと思う。 個人的には Java のプロパティファイルのようにリソースファイルの後ろに ja とか ja_JP とか付けたファイルを置いとくだけでそれを利用して、デフォルトはロケールサフィックス無しのファイルを読み込むとかでよいと思う。 このファイルの内容もプロパティファイルやmoファイルのようなパースが面倒なものじゃなく php で直接requireしたら配列にメッセージリソースを読み込むようなのでよいと思う。 リソースファイルの作成の敷居を下げるのが第一で高速化とかは後で考えればよいという方針。

Tips

アクション名の取得方法

以下で取得できる。

$action = $this->backend->ctl->getCurrentActionName();

セッションの値をテンプレートで使うには

  • セッションの値は {$session.xxx} で参照できる。
  • cookieやgetやphpの定数等も 予約変数$smarty から取得は可能

処理の流れ

http://www.revulo.com/Ethna/Memo/ProcessFlow.html

アクションフォームの使い方

http://www.revulo.com/Ethna/Memo/ActionForm.html

./UTF-8化


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-12-22 (金) 10:59:20 (4371d)