投稿日:2023年12月28日
前回はWordPressの「サイトの言語」を通して、多言語の検証をしてみました。
今回はWordPressやWP-Membersの設定ファイルが、どのように語句を管理しているのかを検証した内容になっています。
WP-Membersのカスタマイズで、表示されているダイアログの変更方法が紹介されて記事を見かけます。
例えば下図のように、

▲「既存ユーザーのログイン」や赤囲み箇所などデフォルトではなくカスタマイズしたい場合があると思います。
その時は子テーマの functions.php に以下のように記述すれば変更することができます。
function my_default_text($text) {
$current_user = wp_get_current_user();
// ログインフォームの「既存ユーザのログイン」
$text['login_heading'] = '登録ユーザー ログイン';
return $text;
}
add_filter('wpmem_default_text', 'my_default_text');
▲必要な語句だけ変更することができます。

▲変更できました。
この方法はこちらの記事 で詳しく紹介しています。
WordPressの言語切り替え
では、まとめて編集するにはどうしたら良いのでしょうか?
どこかにまとめて記述されている設定ファイルがあるのでしょうか?
上でも書きましたが、今回はWordPressやWP-Membersの設定ファイルが、どのように語句を管理しているのかを検証した内容になっています。
コアファイルを扱うので参照に留めるか、ご自身で行う場合には元に戻せるようにバックアップは取って置いてください。
なお、問題が生じても一切責任を負いませんのでご了承ください。

▲まずは言語を切り替えてみましょう。今回は韓国語にします。

▲韓国語に切り替わりました。

▲韓国語に切り替わるのと同時に wp-content > languages の中に admin-k_KR.mo と admin-k_KR.po、多数のko_KR-xxxxx.jsonというファイルが生成されます。
これがWordPressのGlotPress による翻訳ファイルになります。
ちなみに.poは翻訳の編集ファイル。.moはコンピューターが読み取るファイル(編集不可)になります。
このおかげで私たちはWordPressで多言語を扱うことができるのです。
さらに詳しい話しは次回以降お伝えしたいと思います。
WP-Membersの多言語

▲設定 > WP-Membersを選択でWP-Membersの設定画面が表示されますが、こちらは全て翻訳されているわけではありません。
wp-content > plugins > wp-members > i18n > languages
上記のディレクトリには下図のような翻訳ファイルがあります。

▲デフォルトは11ヶ国語。
ここにない言語の翻訳ファイルはPoedit などで作る必要があります。
韓国語の編集用の翻訳ファイル wp-members-ko_KR.po を開いて確認してみます。
msgid "Content Restriction"
msgstr ""
▲1401行目。
msgidが元の語句、msgstrが翻訳後の語句になります。
空欄なのでContent Restrictionが訳されていません。
msgid "Auto Excerpt:"
msgstr "자동 요약:"
▲1422行目。
元の語句はAuto Excerpt。자동 요약: と訳されています。

▲こちらはログイン画面です。
Please input characters dispalyed above. はプラグインSiteguardの表示なので訳されていません。
▼1802行目。下記のように訳されています。
msgid "Existing Users Log In"
msgstr "기존 사용자 로그인"
では日本語のWP-Membersの設定ファイルはどこにあるのでしょうか?
調べてみたところ以下にあることが分かりました。
wp-content > languages > plugins
ディレクトリ名や他のファイルからも分かるように他のプラグインの翻訳ファイルも格納されています。

▲jaが日本語の設定ファイル。
WP-Membersの翻訳ファイルは他にもフランス語(fr_FR)などがあります。
Poedit などで.poファイルを編集し.moに書き出してデプロイすると変更できます。
注意として、プラグインのアップデートの際、上書きされると思うので気をつけましょう。
難しい検証でした。
その分、仕組みが理解できたときの喜びは格別です。
上でも紹介した functions.php への記述や、。Poedit を利用したプラグインの多言語化対応など引き続き検証したいと思います。
多言語が使えるのは、WordPress.org のコミュニティーの方々がボランティアで翻訳されているからです。

この方々に感謝すると共に、私も何かの形でWordPressに貢献できればと思います。
末筆ながら、昨年亡くなられた高橋修さん。
リクエストしたLottie Player Block やLottieFiles の翻訳をしていただきありがとうございました。
心からの感謝と共にご冥福をお祈りいたします。
Lottie Player Blockの翻訳
LottieFilesの翻訳
最後までお読みいただきありがとうございました。