s2memberプラグインを日本語化するため、言語ファイル.moを.potから作る
無料・有料会員制サイトを作って月額課金などをするのに役立つプラグイン「s2member」。優秀なプラグインだが全部英語。
これを日本語化していく過程を紹介。
例えばメンバー登録画面はこんな感じ。全部英語。
管理画面の設定も全部英語。
管理画面も登録ページも翻訳の仕方は基本的に同じ工程で大丈夫。
.potファイルをダウンロードする
テーマの言葉とは違う場所にあり、プラグイン用の翻訳ファイルはプラグインの中に入っている。
s2memberの場合は、wp-content/plugins/s2member/includes/translations にある s2member.pot をダウンロードする。
.potファイルから.poを作る
まず、poeditを開く。
なお、poeditが無い場合はpoeditのダウンロード、インストール方法、使い方はこちらを参照のこと。
.poがあればそのまま開けるが、s2memberには.poファイルも.moファイルもない。
なので、
「ファイル」→「POTファイルを元に更新します…」をクリック。
.potから.poを作る場合、まず翻訳言語の設定があるので「日本語」を選ぼう。
これでひとまず.poファイルはできた。
.poファイルを編集して翻訳していく
「編集」→「検索」で変えたい文字や文章を探す。
例えば、 Password と検索して、その下の欄に パスワード と入力すれば、Wordpressでも翻訳後の文字が表示される。
これを利用すれば、「Username」は普通「ユーザー名」と翻訳されるが「くそったれ名」などと表示させることも可能。
日本語にすると、英語の右に、日本語が表示される。
パスワード、パスワード強度など。
.moファイルにして保存
普通に保存すればOKだが、保存しようとするとエラーが表示される場合がある。
翻訳に1個の問題が見つかりました。
エラーがある項目はリスト中で赤くマークされています。エラーの詳細は、その項目を選択すると表示されます。
The file was saved safely and compiled into the MO format, but it will probably not work correctly.
(このファイルは安全に保存され、MOファイルに変換されました。しかし正常に動作しない可能性があります。)という感じ。
warning: header field ‘Language-Team’ still has the initial default value.(注意:ヘッダーの’翻訳チーム’がデフォルトの値のままです。)
このエラーが出た場合、リスト中でどこも赤くなっていないはずなので、ヘッダーを修正しなくてはならない。
「カタログ」→「設定」
ここの翻訳チームの部分を適当に修正する。何でもいい。
.moファイルをFTPでアップロードし、Wordpressの画面を見てみる
アップロード場所は、
potファイルが入っていた場所と同じ。
wp-content/plugins/s2member/includes/translations
自動で保存すると、ファイル名がja_JP.po、ja_JP.moになるがpotファイルの名前が、s2member.potの場合は、s2member-ja.poにしておくこと。でないと、Wordpressの翻訳には反映されない。