WordPressのプラグインを作るときに、言語設定をしていたが、moファイルがうまくコンパイルされなかった。今回はその解決法を残しておきます。
poファイルとmoファイル
poファイルとmoファイルは普段の日本だけをターゲットにしたサイトなどだと、あまり見たいこともないかもしれないが、これらが翻訳する際に必要となるファイルたちです。(実際はmoファイルがあればよい)
poファイル
基本的にどう翻訳するかを書くファイル。
moファイル
poファイルからコンパイルして作るファイル。基本的にこのファイルを直接変更することはない。
moファイルのコンパイル方法
moファイルは基本的にpoファイルからコンパイルされると書きました。コンパイルの方法は下記のコードを打ちます。
msgfmt {poファイル} -o {moファイル}
※{poファイル}、{moファイル}それぞれには任意のファイル名をつけてください。
例えば、こんな感じです。
msgfmt ja.po -o ja.mo
これを打つとできるはず、なんですが私の場合はうまくいきませんでした。
msgfmt: command not found
そんなコマンドねえよって言われてまいました。
gettextを入れていなかった
原因の1つとしてあげられるのは、gettextを入れていなかったかららしい。参考としてこの記事に書いていることをしてみた。
Macで翻訳ファイル*.poをmo形式に変換する – Qiita
ということでgettextをインストールすることに。Homebrewを使っているのでそこからインストールすることにした。
brew install gettext
インストールしたらPATHを通さないといけないみたいなので
vim ~/.bashrc
を打って下記のコードをコピペする。(Macの場合)
export PATH=/usr/local/opt/gettext/bin:$PATH
んで、追加したコードを反映させるために再実行させる。
source ~/.bashrc
再度、moファイルを作成
msgfmt ja.po -o ja.mo
いけた。