2016-07-04 21 views
0

のMSGIDを示すここで私はPO Editを使用してMOファイルにコンパイルされ、このpoファイルを取得し、私のmessages.poファイルPHPのgettextのは()の代わりにmsgStrを

# 

msgid "_greet1" 
msgstr "Hello" 

msgid "_greet2" 
msgstr "Bye" 

ある、と私は翻訳コード内部のMOファイルを使用する場合、msgstrの代わりに文字列のmsgidが表示されます。私はgettextのPHPドキュメントで書かれたものとまったく同じコードを使用しています。

提案...

+0

です。つまり、gettextは翻訳を見つけることができませんでした。これをデバッグすると、もっと多くの情報が必要になるでしょう... – deceze

+0

私はファイルのパスを確認しました。何も間違っていませんでした。 –

+0

これは有用な情報ではありません。何も間違っていなければ、 "_greet1"ではなく "Hello"と表示されます。 – deceze

答えて

0

私は同じ問題を抱えていて、自分のフォルダパスも正しいです。問題の原因は'pl_PL.utf8'(ソースコードとフォルダ名)の代わりに'pl_PL'をロケールとして使用していたためです。

ソリューション - UTF-8について覚えておく:locale -a:あなたが持っていると実名何であるかのロケールのコンソールで

  1. チェックを。あなたのコード内

  2. 使用正しいロケール名、例えば: setlocale(LC_ALL, 'pl_PL.utf8');

  3. は、フォルダ名を変更します(sudo apt-get install locales-all場合は、あなたが入力することができますに興味を持っているロケールはありません)。 *.mo*.poファイルのサンプルフォルダへの正しいパスは、/var/www/project/locale/pl_PL.utf8/LC_MESSAGES
関連する問題