poファイルをmoファイルに変換するときにmsgfmtコマンドないよって言われたときの対処法

2018/08/04

poファイルをmoファイルに変換するときにmsgfmtコマンドないよって言われたときの対処法

この記事は2018年08月06日に更新されました。

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

いけた。

Kouki Okuda (ocws)サービス作りたいフリーランス / フロントエンドエンジニア / 👦お仕事募集中👦⇒⇒⇒ WordPress / EC / React / Vue / Laravel / SEO / MEO / Webマガジン運営 http://hanzou-magazine.net
https://ocws.jp