ダウンロードありがとうございます ruby-intlはGNU gettextの超単純なラッパークラスです。 このライブラリの著作権は平田直人が保持します。ruby-intl はLGPLに従います。 *注*このドキュメントはgettextについてある程度の知識がある事を前提と しています。gettextについてはMy Linux日本語化計画, Linux Resourceなど のwebサイトを御参照ください。 My Linux日本語化計画 URL: http://www.on.cs.keio.ac.jp/%7Eyasu/japanese.html Linux Resource URL: http://village.infoweb.ne.jp/~dais/linux/index.html インストール もちろんgettextが既にインストールされている必要があります。 xxxをバージョン名とします。 (1)アーカイブを展開します tar xvzf ruby-intl-xxx.tar.gz or gzip -dc ruby-intl-xxx.tar.gz | tar xvf - (2)展開してできたディレクトリに移動します cd intl (3)extconfを実行してMakefileを作ります ruby extconf.rb (4)makeします make (5)インストールします make install 使い方 あらかじめメッセージカタログを準備しておきます。作り方はCの場合と同 様です。当然Cプログラムのために作ったメッセージカタログもそのまま使 えます。メッセージカタログを置く場所はサンプルプログラムの`hallo.rb' を実行すると表示されます。 まずIntlクラスのインスタンスを作ります。 newコンストラクタの引数はgettextのドメイン名です。 intl = Intl.new( "hello" ); 作成したIntlクラスのインスタンスの`_'メソッドを呼びます。 _メソッドはgettextメソッドの省略形です。 print( intl._( "hello world" ), "\n" ); リファレンス クラスメソッド: new( domain ) 引数 domain: 型:String ドメイン 解説 新しいIntlクラスのインスタンスを作ります。gettextを呼んだ場合、 引数domainがドメインとして使われます。(dcgettextやdgettextでは別 のドメインが指定できます) インスタンスメソッド: bindtextdomain( domain, dirname ) 引数 domain: 型:String ドメイン dirname: 型:String メッセージカタログのあるディレクトリ名 戻値 型:Sring 新しいディレクトリ 解説 domainにdirnameを関連付けます。 メッセージカタログをdirname以下から探すようになります。 dcgettext( domain, msgid, category ) 引数 domain: 型:String ドメイン msgid: 型:String gettextのmsgid catetory: 型:Fixnum localeのカテゴリ 戻値 型:String msgidに対応するmsgstr 解説 domainからcategoryでmsgidに対応するmsgstrを返します。 localeのカテゴリにはCと同様のものが使えます(名前も同じ)。 dgettext( domian, msgid) 引数 domain: 型:String ドメイン msgid: 型:String gettextのmsgid 戻値 型:String msgidに対応するmsgstr 解説 domainからmsgidに対応するmsgstrを返します。 gettext( msgid ) _( msgid ) 引数 msgid: 型:String gettextのmsgid 戻値 型:String msgidに対応するmsgstr 解説 msgidに対応するmsgstrを返します。 _( msgid )はgettext( msgid )の省略形です。 textdomian( domain ) 引数 domain: 型:String ドメイン 戻値 型:Sting 新しいドメイン 解説 gettextのドメインを設定します。新しいドメインを返します。 定数: LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME 型:Fixnum 解説 locale.hで定義されている同名の定数と同じ。 作者 平田直人 (HIRATA Naoto) e-mail: hirata-naoto@sannet.ne.jp web: www.page.sannet.ne.jp/hirata-naoto/