以前の記事でプラグインを独自に翻訳する方法を紹介しましたが、それだけでは理解が難しい方のために、当サイトで実際に使用しているプラグインの翻訳ファイルの配布と、翻訳方法の例も併せて紹介したいと思います。
今回翻訳しているのはスパムコメント対策に便利なプラグイン[reCaptcha by BestWebSoft]ですので、興味のある方はぜひ使ってみてくださいね。

翻訳ファイル(.mo)の配布
当記事にて作成した.moファイルを配布しておきます。
Poeditをインストールしたり、編集するのが面倒な方はファイルをダウンロードして、そのままお使い下さい。
reCaptcha by BestWebSoft
今回翻訳するプラグインはこちら
reCaptchaを使ってスパム対策を簡単に行えるプラグインです。
日本語への翻訳は多くの箇所で機械翻訳が使われており、設定画面などバックエンドの翻訳が多少おかしくても、自分だけしか見ないので気にしなくても良いのですが、サイトのコメント欄などフロントエンド側の日本語訳が不自然だと不特定多数の人が見るため許容できません。
そこで、今回はその部分を自然な日本語に修正したいと思います。
ビフォー・アフター
編集前のコメント欄

編集後のコメント欄

google-captcha-ja.poを編集
翻訳ファイルのgoogle-captcha-ja.poはgoogle-captcha/languages/にあります。
メモ帳で開いて必要な箇所のみ残しましょう。
編集後のファイル
msgid ""
msgstr ""
"Project-Id-Version: reCaptcha by BestWebSoft\n"
"POT-Creation-Date: 2024-05-28 13:10+0300\n"
"PO-Revision-Date: 2024-05-28 13:10+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.4.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-Flags-xgettext: --add-comments=translators:\n"
"X-Poedit-WPHeader: google-captcha.php\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
"_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: *.js\n"
"X-Poedit-SearchPathExcluded-1: bws_menu\n"
# automatic translation
#: google-captcha.php:711
msgid "This site is protected by reCAPTCHA and the Google "
msgstr "このサイトはreCAPTCHAによって保護されており、Googleの"
# automatic translation
#: google-captcha.php:712
msgid "Privacy Policy"
msgstr "プライバシーポリシー"
# automatic translation
#: google-captcha.php:713
msgid " and "
msgstr " と"
# automatic translation
#: google-captcha.php:714
msgid "Terms of Service"
msgstr "利用規約"
# automatic translation
#: google-captcha.php:715
msgid " apply."
msgstr "が適用されます。"
# automatic translation
#: google-captcha.php:754
msgid "The reCAPTCHA verification period has expired. Please reload the page."
msgstr "reCAPTCHAの認証時間が切れたため、ページを再読み込みしてください。"
.moファイルにコンパイル
Poeditにて.poファイルを開いて.moファイルを作成しましょう。

ファイルを閲覧から.poファイルを開きましょう。

最初に.poファイルにて必要最低限の翻訳数にしていたのでスッキリしています。
ツール上で翻訳内容を修正したい場合は、対訳の項目を修正して下さい。
翻訳内容に問題がなければ、保存ボタンを押すことで.moファイルが.poファイルと同じフォルダ内に自動生成されます。

左上のファイルメニューから直接MOにコンパイルする方法もあります。
お好きな方法で.moファイルを作成して下さい。
.moファイルのアップロード
FTPツールなどで作成した.moファイルをサーバー上にアップロードしましょう。
今回は子テーマの階層にlanguagesを作成しgoogle-captcha-ja.moをアップロードします。

functions.phpの編集
ファイルを無事サーバーにアップロード出来ましたらfunctions.phpの中身を編集しましょう。

実際に使用しているコード
//------------------------------------------------------------------------------
// 翻訳上書き処理
//------------------------------------------------------------------------------
add_action('after_setup_theme', function() {
$domain = 'google-captcha';
$mo_file = $domain . '-' . get_locale() . '.mo';
$custom_mo_file = get_stylesheet_directory() . '/languages/' . $mo_file;
$original_mo_file = WP_CONTENT_DIR . '/languages/plugins/' . $mo_file;
// 翻訳ファイルが存在しない場合、プラグインのオリジナルを読み込む
if (!file_exists($original_mo_file)) {
$original_mo_file = WP_PLUGIN_DIR . '/' .$domain . '/languages/' . $mo_file;
}
// 翻訳ファイルの位置が適正である場合に処理実行
if (file_exists($original_mo_file)) {
unload_textdomain($domain);
load_textdomain($domain, $custom_mo_file);
load_textdomain($domain, $original_mo_file);
}
});あとがき

私が実際にプラグイン強制翻訳をしている実装例
翻訳内容、設置場所、使用コードの3点を今回の記事で紹介しました。
今回の記事を有効活用して、未だ日本語翻訳が不自然な海外プラグインを翻訳して自分のサイトで配布するなどしてみるのも面白いと思います。
作業してみると簡単なので、興味のある方はぜひ試してみて下さいね。

![WordPressのプラグインを独自翻訳してみる[BestWebSoftによるreCaptcha]の翻訳実践例](https://it-manabi.com/wp-content/uploads/2024/08/actually-translate-wordpress-plugins-independently-eye-catch.webp)
コメント