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

October 22, 2002 [おもひで]

[Ruby] Ruby-GetText-Package-0.4.0 is out!

ちょっと気になったので、ngettext(またはn_)を実装してみました。こんな感じ。

 require 'gettext'
 
 include GetText
 bindtextdomain("plural")
 (0..10).each do |n|
   printf(n_("%d file was removed\n", "%d files were removed\n", n), n)
 end

このようにすることで、nによって単数形・複数形を分けて出力する事ができます。

で、おもしろいのが、「複数形」とはなんぞや?というのを各言語別のリソースファイルである(poファイル:メッセージカタログ)に記述できることです。かつ、1つのメッセージ自体も単数・複数の2つだけでなくいくつでも定義できます。

日本語であればあまり複数形とか意識しないのですが英語の場合は2つ、さらに4つくらいの表現に分ける必要のある言語もあるんですね。翻訳する人は大変だろうなぁ。

この辺興味のある人はRuby-GetText-Packageのドキュメントをどうぞ。ちょっとだけ詳しく書いてあります。

え? で、なんで今まで実装してなかったのかって?

.... 単に知らなかったんです...ってオイ(^^;)。

#こういうのまだあるかな?(ってまだGNU GetText全部の仕様を押さえてないらしい(^^;))


編集