1

次のコードを使用して .mo 翻訳を読み込もうとしていますが、うまくいきません。私はphp gettext extを持っています。私のphpinfo()で有効になり、必要なすべてのロケールがインストールされます。何か見逃しましたか?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

bindtextdomain("messages", "./locale");
textdomain("messages");

私の .mo ファイルは次の場所にあります./locale/en_US/messages.mo

4

2 に答える 2

2

Apache スレッドが .mo ファイルをロードすると、Apache スレッドがリサイクルされるまで再ロードされません。したがって、.mo ファイルを更新し、php がその新しい .mo ファイルを使用していることを確認したい場合は、実際には apache を再起動するか、mo ファイルに別の名前を使用する必要があります。

とにかく、LANG 環境変数を設定します。

于 2009-10-28T16:12:29.167 に答える
0

おそらく、相対パスではなく絶対パスになるようにパスを変更する必要があります。

于 2009-10-29T19:38:00.653 に答える