■2004-09-19
* [今月のAcme] Acme::Hello(先々月のAcme)
今回はAcme::Hello。useするとhelloという関数が導入されます。オブジェクト指向なインターフェースもあります。helloを呼び出すと"Hello, world!"と表示されます。……と、これだけならAcmeでも何でもないのですが、このモジュールのミソは、国際化しているところ。
use Acme::Hello; for my $lang ( qw/en ja de fr it/ ){ Acme::Hello->new(language => $lang)->hello(); } # Hello, world! # 世界よ、こんにちは! # Hallo, Welt! # Bonjour, le monde! # Salve, mondo!
などなど、Acme::Hello::I18Nクラス下に、poファイルが用意されていて、34カ国語に対応!
* [メモ] Locale::Maketext
Acme::Helloは、Perl5.7以降から標準モジュールになったLocale::Maketextと、Acme::Helloの作者自身がCPANに登録しているLocale::Maketext::Lexiconが必要です。これらのモジュールは地域化のフレームワークを提供します。i18n関連をCPANで探している際に、上で取り上げたAcme::Helloがひっかかったのです。それから、Locale::Maketext::Lexiconへの簡易なインターフェースであるLocale::Maketext::Simpleもメモ。