Daily Archives: 2008 年 9 月 28 日

Thinkpad T61でUbuntu再び その2 ロケール 
ネタ蔵キーワード:Ubuntu [インターネット・IT]

0
Filed under ThinkPad, Web開発, ubuntu

Etwas Hoeheres by Wolfgang Wildner
Creative Commons License photo credit: Wolfgang Wildner

Ubuntu8上、PHPなWebアプリでgettextが効かない・・・って現象が解決しそうです。

やっぱり現象ばかりを追っかけてデバッグしようとしててもダメですね。

  • Apache2+PHPでgettext・・・ダメ
  • PHP CLIちゃん版・・・ダメ
  • gettextを直接使う・・・OK(Gnomeも日本語化されているのだからもちろんですね)

ってことで、ApacheかPHPが原因ってことに(最終的には全然そんなことはなかったのですがw)。

次に、Ubuntuのパッケージ(apt-getできるやつ)のPHPをやめて、ソースからbuildしてみました。
現象に変化なし。

で、ここまできたら手を動かしてどうにかなるもんでもなさそうなので、頭をちょっと使うことに。

gettextを使うってことは

  • gettextのライブラリから、moファイルが見えていること
  • ロケールがちゃんと設定されていること(gettextのライブラリがちゃんとそれを認識していること)

が必要なわけです。
moファイルの場所は、ちゃんとパスを渡すだけ(PHPならbindtextdomain()関数)なんであまり疑う余地はありません。
ってわけで、ロケールを見てみると。。。

  • ボクのWebアプリ・・・ja_JP
  • Ubuntu8のロケール・・・ja_JP.UTF-8

と違いがあります。
どうやら、最近のロケール表現はうしろに文字コードをつけるってことになりつつあるようです・・・(しらんがな・・・)。

昔、JavaやC++をやってたときに「常識」として植え込まれていた情報が、時と共にちょっとだけ・・・しかし、致命的に変化していたようです。
(こんなとき、ボクの頭は「常識の向こう側」には遠く及ばないのでした・・・)

いままで使っていたFedoraやCentOSは、どちらの表現もサポートしていたので、ぜんぜーん気づきませんでした。
Ubuntuは文字コードあり表現だけなので、ボクは「古きよきオレ様志向」で文字コードなしの形式でもOKなように・・・

  • /var/lib/locales/supported.d/localに「ja_JP」を追加
  • sudo locale-genを実行

しました。
今後は、文字コード付のロケール表現形式をボクのWebアプリでもサポートしてあげることにします。

これでやっと「WindowsXP同居計画」に突入できます。
でも、どうかんがえても簡単にいくとは思えません。
少し時間を置いて余裕があるときにやろうと思います。

Thinkpad T61でUbuntu再び その1 
ネタ蔵キーワード:Ubuntu [インターネット・IT]

0
Filed under ThinkPad, ubuntu, 雑談

Ubuntu baby
Creative Commons License photo credit: Justin Ruckman

以前、T61でUbuntuつかうって話を書きながら、途中で「諸事情で中止」にしてたわけですが、最近ひそかに再開しております。

  • 開発環境を構築する
  • DVDを再生する
  • 仮想化ソフトでWinXPを同居させる
  • 同居させたWinXPでiTunesを使う

って感じの大まかなストーリーを作って、作業開始しました。

インストールはもちろん簡単にクリアして、まずは気軽な感じで「DVDを再生する」をやってみました。
ちょっとcodecの追加インストールで「気軽な感じ」ではなくなってしまったのですが、なんとかこれはクリア。

次に「開発環境を構築する」を徐々にはじめているわけです。

Apache/PostgreSQL/senna+mecab+ludia/PHP5+smarty・・・と鼻歌まじりに進めていき、すいすいと設定も進行し、終盤、仕事なんかで作っているWebアプリを動作させてみると・・・

「gettextで国際化している部分が動かない」

って現象にぶちあたりました。
ロケール設定や、必要そうなパッケージのインストールなど、思いつくことはやってみたのですが・・・
いままで、Fedora系で生きてきたボクはなにがおかしいのかさえイメージできなくて(fedora系環境では同じコードで問題ない)、悲しい思いをしております。

さくっと「開発環境構築」して、XP動かす(VirturalBoxあたり)のを試したかったのに・・・

なんとか解決したいんだけど、今日はもう眠いので問題追跡はいったん終了。

どなたか情報がある方は是非教えてくださいませ(ボクは楽したいのですw)。