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_modeLC_ALL
コンパイルされたgettextカタログは次のとおりです。
/home/mingos/public_html/example.com/application/language/locale/pl/LC_MESSAGES/pl.mo
したがって、で設定されたパスbindtextdomainは正しいです。
通知や警告は表示gettextされませんが、カタログから翻訳を抽出せず、フィードされた文字列を返すだけです。たとえば、の代わりにgettext('About us')returnsを返します。About usO nas
カタログ自体はを使用して正しくコンパイルさpoEditれ、4つの開発マシンで動作していることが確認されています。
これの他の考えられる原因は何でしょうか?