gettextによる国際化 on Debian
この1週間ほど、gettextによる国際化でずっとはまっていた。
どうやら、Debian特有の問題で、ロケールを日本語に切り替えても
moファイルから日本語のラベルを拾うのに失敗している。
これは、どうやらdebian sargeに含まれるlibcの問題で、
libintl.aが参照するlibcにはgettextが含まれていないのだと。
だから、空振りしている。フォールバック機構があるため、
エラーメッセージも出ず(つまりは日本語でなく英語に落ちる)
途方に暮れていた。
オープンソースだからソースをということで、gettextなどのソースを
片っ端から読んだがこれが問題でもないようで。
結局ヒントはDebian-devのMLで似たような事象を発見。
namazuの国際化で同じ問題に遭遇されている。
これも次期バージョンではなんとかなるよね、って書いてあって
どうしようかな、なんて途方に暮れていると、
4月19日にsargeのr2が出たとのことで、さっそくapt-get upgrade
してみると、libc6を更新している。
もしやと思って試してみると、うひょ動いた。
このlibcはちゃんとgettextにリンクしているのだ。
徹夜の日々はなんだったのだ。。。
ま、気を取り直して動くようになったソフトを利用することにする。
みんなで使いましょう、と言ってしまったため引っ込みがつかなかったのだが
危機一髪のところで救われた。