Data::Localize 0.00001をリリースした。やってることはLocale::Maketextと一緒。主な違い:
- オブジェクトベース。
- Locale::Maketextは名前空間をいじってどうのこうのするんですが、これはしない。基本的には登録されているハンドラを全て試す、っていうだけ。
- デバッグ用のメッセージを一杯仕込んだので、なぜか国際化がされない場合は多分Locale::Maketextより問題箇所の判断が大分楽
- Locale::Maketextより速い
速さに関しては、以下の通り:
daisuke@beefcake-7 Data-Localize$ perl -Mblib tools/benchmark/benchmark.pl
Rate locale_maketext data_localize
locale_maketext 9615/s -- -64%
data_localize 26786/s 179% --
で、これをCatalystから使うためのCatalyst::Model::Data::Localizeを作ってみた。こいつはCatalyst::Plugin::I18Nを使わずに国際化するためのツール。といっても、Catalyst::Model::Data::Localizeは単純にCatalystの設定からData::Localizeを設定するためのレイヤーで、同梱のCatalyst::Plugin::Data::LocalizeというモジュールでCatalyst::Plugin::I18Nのようにlocalize()関数を生やすためのものです。Catalyst::Plugin::I18Nを使っていた方ならほぼそのまま使えるかと。
というわけで数週間前にLocale::Maketextの中味を解説しだした私は、結局国際化モジュールを自分で作ってしまった、という落ちでした。
コメント