togawa
webma****@laszl*****
2006年 2月 16日 (木) 17:36:28 JST
十河です。 LZXの国際化データセットをつかってみたりといろりろためしていたのですが、 いまいちしっくりできてませんでした。 今回GNUのgettextを真似てlzx-gettextを作成してみました。まだまだ完成度は 低いですが方向性としてうまくいきそうな感じです。 サンプルはこちら。 http://laszlo.jp/lps/samples/gettext/gettext-test.lzx はユーザーのロケールによって文字を表示します。 (されてなかったらリロード。まだタイミングの問題があります。:p) 次に_gettext_localeをURLクエリとして渡すことでロケールを設定できます。 http://laszlo.jp/lps/samples/gettext/gettext-test.lzx?_gettext_locale=en http://laszlo.jp/lps/samples/gettext/gettext-test.lzx?_gettext_locale=ja http://laszlo.jp/lps/samples/gettext/gettext-test.lzx?_gettext_locale=de http://laszlo.jp/lps/samples/gettext/gettext-test.lzx?_gettext_locale=zh i18n化のステップとしては。。 1. 文字列を _s('string')のように置き換える。 ex.<button text="name" /> ---> <button " text="${_s('name')}"/> 2. ツールを使ってpoファイルへ文字の切り出し。(まだ) 3. poファイルを翻訳。 4. ツールを使ってpoからmoへ変換。(まだ) 現在のmoファイルはloadVarsで取得できるように、key=messageの形にしていま す。keyにa-Zと_数字しか使えないのでescapeしたあと%を_へ置き換えています。 ------------------------------------------- ■十河 学 ■Togawa Manabu e-mail : webma****@laszl***** LaszloJapan : http://laszlo.jp