nDiki

2004年5月23日 (日)

[ WiKicker ] 日時のL10N

tkh君に日時がローカライズされていないというご指摘をいただく。 手抜き個所である。

Perlロケール処理については

 perldoc perllocale

あたり。POSIX::strftime については use locale する必要がないので、以下のような感じか。

 require 5.004;
 use POSIX qw(locale_h strftime);

 my @time = localtime;
 my $old_locale = setlocale(LC_TIME);

 print strftime("%A", @time);

 setlocale(LC_TIME, "ja_JP.UTF-8");
 print strftime("%A", @time);

 setlocale(LC_TIME, $old_locale);
 print strftime("%A", @time);

手元の環境だと、'ja' だと駄目で ja_JP を指定する必要あり。そのままだと日本語EUCになるので、UTF-8 の時は 'ja_JP.UTF-8'。

しかし指定できる名前は環境に依存する(perldoc POSIX)ので、環境チェックとか面倒だな。

ってそういえば WiKicker では、L10N といっても en と ja しかメッセージを用意していないんだった。 ja 以外は en 用の日時出力にするようにするだけにしようかな。

スポンサード リンク
[ 5月23日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.159468s / load averages: 2.70, 1.23, 0.84
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker