WordPress のテーマを日本語化しよう

このブログの開始当初、veryplaintxt という wordpress のテーマを使ってました。が、どうも見づらいので basically というのに変更してみました。すごく見やすくなって満足!

でもちょっと不便な点もあります。言葉の壁です!basically の各種メッセージは英語オンリーです。スピーク・イングリッシュ、サッカーズ!ハハハ!ソーリー、ジャスト・キディン!

日本語で記事を書いてるんですから、メッセージ類も日本語にしたい、ということで調べました。非常に簡単であり、面倒でもあります。

幸い basically は国際化フレンドリーな作りです。まず、basically の languages ディレクトリに移動します。wp-content/themes/basically/languages ですね。そこに basically.po と basically.mo という2つのファイルがあります。

cd ひ♡み♡つ/wp-content/themes/basically/languages/
ls
# 実行結果
#basically.mo  basically.po

basically.mo が gettext のメッセージカタログ、basically.po がそのソースです。basically.po を ja.po という名前で複製しましょう。

sudo cp -v basically.po ja.po
# 実行結果
#`basically.po' -> `ja.po'

ja.po を vim とかで編集します。ja.po の msgstr に msgid の日本語訳を書いていきます。

#: 404.php:14
msgid "Oops! That page can't be found."
msgstr "あらあら!このページは見つかりませんでした。"

翻訳する必要のないエントリーは無視しましょう。なお、’ は html の文字参照というやつです。%s とか %1$s とかは別の文字列に動的に置換されるということだと思います。

翻訳作業が終わったら、msgfmt コマンドでコンパイルし、ja.mo ファイルを生成します。

sudo msgfmt -c -o ja.mo ja.po
ls
# 実行結果
#basically.mo  basically.po  ja.mo  ja.po  ja.po~

※ ja.po~ は vim が作ったバックアップファイルです。
これでおしまいです。ブログにアクセスすると、いままで英語だったメッセージ類が日本語になってて感激!

記念に僕が作った ja.po を置いときます。

begin 644 ja.po.gz
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
&:L;X,@``
`
end

(コウヅ)

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中