ここでは、gettextが機能していないようです。
MAMP Proを使用しphpinfo();
ていますが、gettextが有効になっているとのことです。
私はこのチュートリアルに従いました:http://zez.org/article/articleview/42/1/
- 私のコードでは、次のように文字列を宣言しています。
_('test string');
- 次に、を実行しました。これにより、ファイル
xgettest -L PHP test.php
が生成されました。messages.po
- このファイルをpoeditで開き、文字列を翻訳してから、ファイルを保存してファイルを作成しました
messages.mo
。 .po
と.mo
ファイルの両方を取得して移動しました[webroot]/locale/es/LC_MESSAGES/
(この場合、私の翻訳はスペイン語でした)私のコードでは、次のように設定します。
$lang = $_SESSION['lang']; // available to all views that include this file
putenv('LC_ALL='.$lang);
bindtextdomain('messages','./locale');
textdomain('messages');
...と
$_SESSION['lang']
を簡単に切り替えることができます。en
es
ページをリロードしてから、に切り替わるリンクをクリックします
es
が、文字列はスペイン語バージョンではなく英語バージョンとして表示されたままです。に戻すとen
、変化はありません。それは常に英語版です。
エラーメッセージがどこにも表示されないので、なぜこの問題が発生するのか少し迷っています。誰かが私にいくつかのガイダンス/ヘルプを与えることができますか?私は何か見落としてますか?