トップ «前の日記(■2004-09-17) 最新 次の日記(■2004-09-23)» 編集

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2004-09-19

* [今月のAcme] Acme::Hello(先々月のAcme)B!

  今回は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::MaketextB!

 Acme::Helloは、Perl5.7以降から標準モジュールになったLocale::Maketextと、Acme::Helloの作者自身がCPANに登録しているLocale::Maketext::Lexiconが必要です。これらのモジュールは地域化のフレームワークを提供します。i18n関連をCPANで探している際に、上で取り上げたAcme::Helloがひっかかったのです。それから、Locale::Maketext::Lexiconへの簡易なインターフェースであるLocale::Maketext::Simpleもメモ。

[]