私は現在、フランス語と英語で利用可能なPHP Webアプリケーションを開発中です。私は周りを見回し、Gettext()機能が最高のパフォーマンスを提供することを発見しました。Gettext()を使用したPHP Webアプリケーションの国際化。
私はコマンドで
xgettext PhpFileToTranslate.php -o NameOfTemplateFile.pot
を私.POTファイルを生成し、successfuly .POTファイルを生成しました。 私はmessages.poファイルを生成するためにPoEditを使用して作成したmessages.mo
をここに私のサーバファイルは、次のとおりです。
/app
/locale
/en_US
/LC_MESSAGES
messages.po
messages.mo
/fr_FR
/LC_MESSAGES
messages.po
messages.mo
template.pot
と私は、このようなPHPファイルでロケールを設定します。
$language = $_SESSION['language']; //session contains 'fr_FR.UTF-8' or 'en_US.UTF-8'
setlocale(LC_ALL, $language);
bindtextdomain('messages', './locale');
textdomain('messages');
しかし、私はラベルだけではなく、翻訳を参照してください... 私は 'fr_FR.UTF-8'とすべての種類の文字列の代わりに 'fr_FR'を入れようとしましたが、動作しません。
何か不足していますか? 私のサーバはApacheとphp5のUbuntu 12.04サーバです
実際、私はfr_FR.utf8を自分のコンピュータと私のサーバにインストールしていませんでした... これで動作します!助けてくれてありがとう。 –