【多言語化】default.po ファイルの更新が反映されない。

いつもお世話になっております。

現在、英語サイトを構築中で、下記のページの説明を参照しながら翻訳ファイルの編集を行っておりますが、編集済みのファイルでもとのファイルを上書きしただけでは、結果が反映されないようです。

http://wiki.basercms.net/baserCMSを多言語に対応する

なお、.poファイルは上記ページと同じ場所にあります。.moファイルも同様に上書きしております。
/lib/Baser/Locale/eng/LC_MESSAGES/default.po

他のファイルを参照していないか確認するために、baserCMSのファイルを全てダウンロードして検索をかけてみたのですが、default.poのファイルは現在作業中のテスト環境には1つしかありませんでした。
よって、現在テスト環境には存在しないファイルを参照しているような状況です。
何か考えられる原因はありますでしょうか。

ただ、英語で返ってくるエラーメッセージの中に、テスト環境のdefault.poにはない文言があり、もしかすると他のファイルを参照している可能性もあるのですが、どのファイルを参照しているのかを確認する方法があれば併せてご教示いただけますと幸いです。

どうぞよろしくお願いいたします。

(1) まず、事前準備としてPOファイルを設置する場所をappフォルダ内に作成されていますか?
設置するフォルダ階層は、以下の通りです。
/app/Locale/eng/LC_MESSAGES

(2) 次に、(1) で作成したLC_MESSAGESフォルダ内にpoファイルをコピーする。
/lib/Baser/Locale/eng/LC_MESSAGES/default.po

/app/Locale/eng/LC_MESSAGES/default.po

(3) 次に、(2) で設置したappフォルダ階層下のpoファイルを、Poeditなどのツールを利用して、「編集」し、「保存」する。
Poeditなどのツールを利用して「保存」すると、moファイルがpoファイルと同階層に作成されます。
/app/Locale/eng/LC_MESSAGES/default.mo
このmoファイルが、翻訳ファイルです。

もし、間違って/lib/Baser/Locale/eng/LC_MESSAGES/default.poを編集、上書きされている場合は、当然ですがBaserCMSのアップデートに伴って同ファイルも上書きされてしまいますので、せっかく編集保存したmoファイルがリグレッションしてしまいます。
以上を前提として、ご指摘の症状を再確認されてはどうでしょうか?

1 Like

GUSSANさま、

いつもご回答いただきまして誠にありがとうございます。

ご教示いただきましたように、下記appフォルダに.poファイルと.moファイルを置きましたところ、きちんと更新したファイルの英文が表示されるようになりました!

/app/Locale/eng/LC_MESSAGES/default.mo

こちらはリザーブ用のファイルということなのですね。承知いたしました。

/lib/Baser/Locale/eng/LC_MESSAGES/default.po

テーマ以下のElementsファイルを直接英語に書き換えようかなと思っておりましたので、管理が容易になり助かりました。
.poファイルはそのままでは日本語の編集はできない仕様のようですので、新しく.potファイルを作るなどして、自分なりにカスタマイズしていきたいと思います。

おかげさまで、あと一息でリリースができそうです。いつもありがとうございます。

/lib/Baser/Locale/eng/LC_MESSAGES/default.poがリザーブ用というのは、誤解がありますので、以下参照ください。
ver4/ファイル読み込みの優先順位

1 Like

貴重な情報ありがとうございます!

わかりやすく説明されていて、すっきりしました。
感謝です。