よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

July 11, 2007 [おもひで]

[Ruby] Amrita2のビューをGetTextでL10n化

by essaさん。普通にViewで文章を書いていけば(特に意識せずに)ローカライズができる、というもの。テンプレートエンジン自体がL10nをまともにサポートするって実はあまり知らないんだけど、これはすごいね。

例えば、英語のアプリがAmrita2で書かれていたとすると、開発者本人は意図していなかったとしても外部の人が勝手に(本体に手を入れることなく)日本語化できてしまう(文章のローカライズだけだしerb使ってるところは_("")しないといけないとか多少の制限はあるけど)。

こういうのを見てしまうと、erbで(ローカライズのためだけに)<%= _('foo') %>と書くのはちょっと美しくないよなぁ、と思ってしまう。

(1)最初は一つの言語でガリガリ書いてしまって(2)後で一つずつ文字列を_("")で囲んでいく、っていう流れで開発していた面倒くさがりやさんにとっては、Amrita2では(2)の作業がいらなくなる分、楽できるよね。

というわけでAmrita2の今後の展開に期待!

蛇足だけど、Ruby-GetTextでは文字列抽出時、標準のパーサ(ruby, erb, activerecord, glade2)の他に自分でパーサを定義できる

おそらくAmrita2ではこの機能を使っていただいていると思われるんだけど(まだソースが未公開なのかな。RubyForgeのAnonymous CVSからは取得できなかったのでまだ未確認)、我ながらこの機能の拡張性はすばらしいと思う。本家(GNU Gettext)のxgettextよりも使い勝手が良いかもしれない(自画自賛(苦笑))。

#ここまで言っておいて違ったりして。その時はスルーの方向で(苦笑)。


編集