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

いけた。