WooCommerceで日本語訳の修正・変更が反映されない場合の対処メモ

概略

当サイトでは、WooCommerceに関係する日本語に追加修正を加える必要がある場合、「woocommerce-ja.mo」「woocommerce-ja.po」ファイルを編集し、サーバー上に作成した翻訳ファイル用ディレクトリ(/wp-content/languages/woocommerce)に保存しておく方法を採用してきました。

しかし、2024年11月に行われたWooCommerceのバージョンアップ後、当サイトの環境下では、「woocommerce-ja.mo」ファイルの変更による日本語訳の修正が、HP本体や自動送信メールなどに反映されない現象が発生しています。

この問題により、当サイトでは、「woocommerce-ja.mo」ファイルで表現を変更したカート等の文言や、「処理中」「完了」といった通知メールの冒頭が、「注文の処理が完了しました」など、初期設定の翻訳(英語の忠実な訳文)に戻ってしまいます。

この問題を解決するためには、通常の翻訳ファイル用ディレクトリ(/wp-content/languages/plugins)内にある翻訳ファイル「woocommerce-ja.l10n.php」内の日本語訳が「.mo」等よりも優先されていることを踏まえ、このファイルを直接修正する対処が必要でした。

※この問題は、WordPress6.5以降から利用可能になった翻訳ファイル「テキストドメインーロケール.l10n.php」が、「.mo」ファイルよりも優先的に読み込まれることが原因となって発生している可能性があります。

本件に関して、現時点ではウェブ上に同様のトラブルの情報が発見できませんので、備忘録としてこの記事を書き残しておくことにします。

追記(2025年4月11日)2025年4月10日のバージョンアップ後のタイミングで、ディレクトリ「/wp-content/languages/woocommerce」に、内容を修正した「woocommerce-ja.l10n.php」(後述)と「woocommerce-ja.mo」を一緒に保存した場合のみ、「woocommerce-ja.l10n.php」の内容がWooCommerce本体に反映されることが確認できました。このとき「.mo」ファイルの内容はまったく適用されないのですが、「.l10.php」ファイルだけを保存するのでは効果がありませんでした。ただ、動作条件についてあまり細かい検証は行っていません。
本記事の内容は、あくまで当方の自己責任に基づいて暫定的に実施したものであり、本情報のご利用・転用に伴う損害等に対する責任を学而図書は一切負いませんのでご注意ください。免責事項の詳細はこちらでご確認いただけます。

自動送信メールなどの日本語訳を変更する方法(従来)

WooCommerceは安価にECサイトが構築できる非常にありがたいプラグインですが、海外仕様のため、注文確認メールの文章も(元の英語が)非常に淡泊です。

これまで私は、この文面の日本語翻訳を変更するために、「woocommerce-ja.mo」「woocommerce-ja.po」ファイルを編集する方法を採用してきました。この方法は、以下のコトウリ様の記事をはじめ、数件のブログを拝見しながら実施したものです。

また、WordPress上での「.mo」「.po」ファイルの役割については、以下の記事がたいへん参考になりました。

ところが最近、この2つのファイルを上書きしても、WooCommerce本体や自動送信されるメールに、独自の日本語訳が反映されていないことに気づきました。

結論として、このトラブルの原因は、WordPress6.5以降から利用可能になった翻訳ファイル「テキストドメイン-ロケール.l10n.php」が、WooCommerce上で優先して読み込まれていることではないかと思われます(おそらく……)。このPHPファイルについては、以下の記事が非常に参考になりました。

自動送信メールなどの日本語訳を変更する方法(応急措置)

現状では、Wordpressの翻訳ディレクトリ(/wp-content/languages)の「plugins」内にある「woocommerce-ja.l10n.php」が、「.mo」ファイルよりも優先して読み込まれているようです。そこで、とりあえず、この「.l10n.php」ファイルを編集して対処してみました。

まず、PHPファイルの編集が安全に行えるテキストエディタで、サーバーからダウンロードした「woocommerce-ja.l10n.php」を開き、修正したい文面を検索します。その上で、「’ ‘」(フォントの関係で正確に表示されませんが、半角シングルクォーテーション)で囲まれた日本語訳を修正します。

‘We have finished processing your order.’=>’注文の処理が完了しました。’,

‘We have finished processing your order.’=>’ご注文いただき誠にありがとうございます。商品の発送準備が完了いたしました。’,

そして、修正を終えた「woocommerce-ja.l10n.php」は、元のディレクトリに上書き保存します(変更前ファイルのバックアップは必須ですのでご注意ください) 「woocommerce-ja.mo」と一緒に、翻訳ファイル用ディレクトリ(/wp-content/languages/woocommerce)に保存しておきます(2025年4月11日時点での対処に記述を変更)

これで、修正後の日本語訳がWooCommerceに反映されるはずです。

なお、この記事の内容は取り急ぎの対処を記録したものですので、WooCommerceが今後も問題なく動作することはまったく保証できません。重ねてのお願いになりますが、当記事の情報を参照される際は、あくまで自己責任でご利用ください。

追記職人工房さまで紹介されている、フックを使ってfunction.phpから翻訳を書き換える方法に切り替えるべきかもしれませんが、まだ試せていません。フックを使う方法も含め、本件に関して新しい情報が出ているようでしたら、そちらの方法をお試しください。

学而図書ウェブデザイン室について

学而図書の裏メニュー「学而図書ウェブデザイン室」は、もともと代表である笠原が知人・身内向けとして密やかに提供してきたホームページ制作・運用代行サービスです。

「予算が厳しい」「中身が決まっていない」「フィードバックする時間がない」「サーバーの管理は難しい」等々、それぞれのご事情に寄り添いつつ、起業直後の方から学校法人・各種団体まで、思いのほか多くの皆様にご利用いただいてまいりました。

学而図書は、事業であれ教育であれ、優れた実践の成果を散逸させることなく、本やウェブサイトといった媒体へと昇華させて人間社会に投げ込むことこそ最も重要な務めであると考えています。

偶然この記事をご覧になり、ちょうどホームページ制作が進まずお困りで、零細出版でもいいから話をしてみたい、という稀有な方がいらっしゃいましたら、ご注文とは関係なくお気軽にご連絡ください。オンラインでのご相談でよろしければ無料で承ります。

笠原 正大

学而図書 代表

関連記事