概略
WooCommerceの最近のバージョンアップ後、「woocommerce-ja.mo」ファイルから行っている日本語訳の変更が、自動送信メールなどに反映されなくなりました。このため、「処理中」「完了」といった通知メールの冒頭が、「注文の処理が完了しました」など、初期設定の翻訳(英語の忠実な訳文)に戻ってしまいます。
当サイトでは、これまで、「woocommerce-ja.mo」「woocommerce-ja.po」ファイルを編集し、サーバー上のWordPressの翻訳ディレクトリ(wp-content>languages>woocommerce)に保存しておく方法を採用してきました。しかし、今のところ、この方法では翻訳文を変更することができなくなっているようです。
この問題を解決するためには、翻訳ディレクトリ(wp-content>languages)の「plugins」内にある翻訳ファイル「woocommerce-ja.l10n.php」内の日本語訳が「.mo」等よりも優先されていることを踏まえ、このファイルを編集して対処する必要がありました。
これは、WordPress6.5以降から利用可能になった翻訳ファイル「テキストドメインーロケール.l10n.php」が、WooCommerceでも採用され、「.l10n.php」ファイルが「.mo」ファイルよりも優先的に読み込まれることが原因となって発生している問題だと思われます。
本件に関し、現時点ではウェブ上の情報量が少ないように見えますので、備忘録としてこの記事を書き残しておくことにしました。あくまで緊急的な措置であり、情報の正確性や今後のバージョンアップ等への対処は保証できませんので、以下の点にご注意ください。
自動送信メールなどの日本語訳を変更する方法(従来)
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.’=>’ご注文いただき誠にありがとうございます。商品の発送準備が完了いたしました。’,
そして、修正を終えた「woocommerce-ja.l10n.php」は、元のディレクトリに上書き保存します(変更前ファイルのバックアップは必須ですのでご注意ください)。これで、修正後の日本語訳がWooCommerceに反映されるはずです。
ただ、いままで可能だった「wp-content>languages」内に「woocommerce」ディレクトリを新たに作成し、この中に保存する(WooCommerceがバージョンアップしても同じファイルのまま残るので、ずっと使い続けられる)方法は、使えないようでした。……ということは、WooCommerceのバージョンアップごとに、このファイルを上書きしないといけない、ということになります。
いずれにせよ、このPHPファイルをテキストエディタで直接編集すれば、とりあえず翻訳の変更が可能なことは確認できました。ただ、この記事の内容は取り急ぎの対処(かつ自分用の備忘録)のため、WooCommerceが今後も、あるいは他の機能面でも問題なく動作することはまったく保証できません。重ねてのお願いになりますが、当記事の情報を参照される際は、あくまで自己責任でご利用ください。