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

February 03, 2002 Ruby GetText Package 0.1.1 is released

[Ruby] Ruby GetText Package 0.1.1

Ruby GetText Package 0.1.1をリリースしました。ちょっとしたバグフィクスですので無理にバージョンアップしなくても良いと思います。
つーか、使っている人がいればですが。
というのも、平松さんからバグ報告があるまで気づかなかったんだけど、ドキュメントのめちゃくちゃ肝心なインストール方法の章に大ウソがあったんだよね。インストール用のスクリプトのファイル名はsetup.rbじゃなくてinstall.rb。インストールの際に絶対使うスクリプトなんだけど、これに気づく人が今までいなかったっつーことはつまりは誰も使ってくれてる人がいないってことだ(あるいはsetup.rb/install.rbの関係を熟知している人)。サムイ。
まぁ、平松さんが使ってくれたということで世の中に少なくとも二人は使っている人がいる、っていうだけでも良しとしよう。
#あり?つーことはRuWeexの最新版も使われていないのか?(T_T)。

[Tools] 付箋/Ruby

Ruby GetText Packageがあまりに使われないのも寂しいので、くわがたさんの付箋/RubyをRuby GetText Package化してメール(まぁ、いきがかり上というのもあったのですが(^^;))。採用してもらえそうな気配。採用されたら、RuWeexについで2つ目のRuby GetText Package対応ツールが誕生だ!

これでRuby GetText Packageを使ってる人が少なくとも3人に...(以下略)

#あ、もちろん、コントリビュートっすよ>くわがたさん

[Palm] CLIE(PEG-N700C)

OSアップグレードサービスで、今朝、日本通運の人が取りに来てくれた。自宅まで取りに来てくれてOS入れ替えて送り直してくれて6,000円は安いよね。SONYは大丈夫なのだろうかと逆に心配してしまう。あ、もちろん、一ユーザとしては安ければ安いほど良いのだけど(^^;)。

にしても、PDAが無いだけで、仕事ができるのだろうかちょっと不安になってしまう。かなり依存度高いなぁ。

#そういや、いつ帰って来るんだろう?聞くの忘れた...(^^;)。


February 03, 2003

[tDiary] tDiary-users ProjectのWikiページ

本格的に稼働し始めたようだ。tDiaryパワーおそるべし。

ちなみに、tDiary-FAQも移すようだ。

オレ的にちと寂しいのがtDiary-FAQにあるプラグインの一覧のうち一部のプラグインがPlugin Listに移ってないこと。

しかもオレがこっそり登録しておいた(^^;)fortuneとfusejiが削られてる。しくしく。

#まぁ、誰も使わないだろうからしょうがないか。

[tDiary] アクセスカウンタ表示プラグイン

今日、久しぶりにいろいろな方の日記を巡回してたら、アクセスカウンタ表示プラグインが原因で遅くなっているというのを発見(こちら,こちら)。

そういや、オレのサイトもcounter.datが1.5Mある。ひょっとしてこのサイトに負荷かけてるのって、本日のリンク元表示プラグインじゃなくてこっちなのか。こりゃいかん。

ちなみになぜ1.5Mもあるかというと、これはアクセスしてきたクライアントの情報を保存してるんだよね。なぜかというと、クッキーに対応してないブラウザとかからアクセスされても安易にカウントアップしないようにするのに使うため。でも、これ、方式から見直さないとなぁ。

[tDiary] とはいうものの

今週末はRuby-GNOME2をリリース予定なので、アンカー自動生成プラグインアクセスカウンタ表示プラグインの件はそれ終わった後に対処しよう。すんまそん。

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

むとぽん [一応、うちの会社の環境(IE-5.5), Mozilla-1.3a)では無事クッキーを受け取れてるみたいですが.....]

ただただし [うーん、出たり消えたり(笑)。 ツッコミの名前やメールアドレスも覚えてくれないですね、XREA。]

むとぽん [ぜんぜん気にしてませんでしたが、確かにそうですね。 うーむ、XREAのせいなのか自分のせいなのか...。自分のせいか..]


February 03, 2008

[Ruby] Ruby-GetText-Package-1.90.0リリース!

えー、ご無沙汰してしまいましたが、Ruby-GetText-Packageの新版をリリースしました。

バージョンからご推察いただけるかと思いますが、このバージョンは2.0へ向けたリリースの第1弾で、過去のバージョンと一部互換性がありません。

といっても、通常、このサイトで紹介しているような使い方をしている箇所の互換性はありますのであまり気にしないでも大丈夫かと思います。

#引っかかっちゃった人はごめんなさい。アプリの方で対応してください(←乱暴ですんまそ)

というわけで(?)、今回のリリース内容について紹介します。

まず、今回の一番の目玉ですが・・・、な、なんとPure Rubyになっちゃいました!! Pure Ruby化のメリットはやはり大きいですね。

  1. gem install時の問題の解消(Cコンパイラやruby.hが無くてsoモジュールのコンパイルがうまくいかない、等)
  2. gemが一つだけになったので、Win32の場合は・・・みたいなことが不要になった(前のバージョンまではwin32とそれ以外でわかれていました)
  3. JRubyがサポートできた。JRubyはsoモジュールを読み込めないので1.10.0まではRuby-GetText-Packageを使えませんでした。まぁ、Pure Ruby化以外でも、JRubyの現時点でのバグの部分とかIconvが無かった部分に対しての補完など、多少JRuby向けに実装を追加・変更していたりもしていますが、とにもかくにもsoを読まなくなったというのが大きいです。もちろん、JRuby on Railsでも動作しますよ(まだちょっと怪しいけど(苦笑))!

次にLocale周りを書き直しました。soがなくなったのとJRuby対応を追加した点でも機能追加があるのですが、それよりもlib/gettext/配下にあったファイルをlib/locale/配下に移したという変更が(意味的に)大きいかと思います。

GetTextとLocaleというのは本来分かれているべきものなのですが、過去の経緯もあって一つになってました。本当はLocaleを独立させた1つのライブラリとしたいのですが、rubyforge.orgに同名の別ライブラリがあったので独立させるのは諦めました(所詮、そんな理由ですが(苦笑))。

Locale自体の高速化も図っていますので、全体的な処理速度が速くなりました。

そしてRuby on Rails対応です。当然のことではありますが2.0系に対応しました。Rakeファイル中で、GetText::ErbParser.init(:extnames => ['.rhtml', '.erb'])を宣言しなくても、デフォルトで.erbがERBファイルとして認識されるようになりました。

それから、GetText::Rails.available_locales, .normalized_localeというメソッドを追加しました。

available_localesは、現在、そのアプリケーションが提供しているlocale/{lang}/ディレクトリを見て、そこに存在しているディレクトリのみをavailableなlocaleとして返します。

normailized_localeは現在のロケールがavailable_localesに存在していればそのロケール文字列を、存在しなければenを返します。この機能はgettext/rails内部ではキャッシュファイルの作成に利用します。今まではサポートしていない未知な言語であっても全てが異なる言語としてキャッシュファイルを言語ごとに作っていたのですが、このバージョンからは、locale/{lang}/ディレクトリに存在するロケールのみのキャッシュファイルができるようになりました。

もう一つ、これ、結構気に入ってるんですが、error_messages_forにエラーダイアログで表示するタイトルと共通で表示されるエラーメッセージの説明部分を上書き指定できるようになりました。画面ごとに適切なメッセージを出したいときに有効だと思います。

# views/users/edit.html.erb
<%= error_messages_for 'user', {
    :message_title => Nn_("Singular Custom Error message %{record}: %{num}", "Plural Custom Error message %{record}: %{num}"),
    :message_explanation => Nn_("Singular Custom Error explanation %{num}", "Plural Custom Error explanation %{num}")
} %>

:message_titleがタイトル部分、:message_explanationが説明部分です。単数形・複数形、それぞれを指定する必要があるので、上記のようにNn_(singular_message, plural_message)を使います。

システム全体で一つ指定したい場合は、今まで同様、ActionView::Helpers::ActiveRecordHelper::L10n.set_error_message_(title|explanation)を使ってください。

あとは、ウクライナ語とハンガリア語のサポートの追加ですね。Ruby-1.9対応は今のEncoding話が一段落してから対応しようかなぁ、と思います。エンジョイ!


更新 設定