PHPアプリケーションで奇妙な問題に直面してgettext
います。それは私の開発マシン(Ubuntu 10.10 32ビット、2 x Windows 7 64ビット、Windows 7 32ビット、すべてXAMPPを実行している)で動作します。
本番サーバーは、Linux64ビットのフレーバーを実行する有料ホストです。正確にはわかりません。私はそれが重要かどうかを調べることを試みることができます。
gettextを初期化する方法は次のとおりです。
//just FYI:
//$this->data['language'] == 'pl'
//dirname(__FILE__).'/../language/locale' ==
//'/home/mingos/public_html/example.com/application/controllers/../language/locale'
putenv('LANGUAGE='.$this->data['language']);
putenv('LANG='.$this->data['language']);
putenv('LC_ALL='.$this->data['language']);
setlocale(LC_ALL,$this->data['language']);
bindtextdomain($this->data['language'], dirname(__FILE__).'/../language/locale');
bind_textdomain_codeset($this->data['language'],'UTF-8');
textdomain($this->data['language']);
私はphpinfo()
サーバー上で実行し、変更できない可能性を除いて、それgettext
が有効でオフになっていることを発見しました(私は思います)。safe_mode
LC_ALL
コンパイルされたgettextカタログは次のとおりです。
/home/mingos/public_html/example.com/application/language/locale/pl/LC_MESSAGES/pl.mo
したがって、で設定されたパスbindtextdomain
は正しいです。
通知や警告は表示gettext
されませんが、カタログから翻訳を抽出せず、フィードされた文字列を返すだけです。たとえば、の代わりにgettext('About us')
returnsを返します。About us
O nas
カタログ自体はを使用して正しくコンパイルさpoEdit
れ、4つの開発マシンで動作していることが確認されています。
これの他の考えられる原因は何でしょうか?