WordPressはもちろん、公式ディレクトリで公開されてるプラグインやテーマは、世界中の有志によってローカライズされていて、われわれは制作者は、その恩恵を受けて仕事をしている。ありがとう。
でも、扱う商材や顧客のブランディング志向によって、翻訳している単語が受け入れられないことがある。

そう、顧客はいつでもわがままだ。

引用元はないw

WordPressは、そんな顧客のわがままにも応えられる優れたシステム。いろんなことができるのだ。だから大変なこともある。。。

先日、Snow Monkeyのフォーラムでも質問が出ていたので、my-snow-monkey.phpに記述する方法を紹介させてもらった。

この方法は、日本のWooCommerceの第一人者で、同コントリビューターでもある田中さんのサイト(職人工房)の投稿によるもの。

gettextを調べると、WordPress(PHP)以外にも使われてるのか―と思いつつ、それは無視してWordPressで試してみた。

add_filter('gettext', 'change_japanese_text', 20, 3);
function change_japanese_text( $translated_text, $untranslated_text, $domain ){
  switch ($untranslated_text) {

    case 'Select options': //翻訳もとのテキスト
    $translated_text = '選んで購入';
    break;
    
    case 'In stock':
    $translated_text = '在庫があります';
    break;

    case 'Out of stock':
    $translated_text = '在庫がなくなりました';
    break;

  }
return $translated_text;
}

$untranslated_textや$domainが気になる。
もしかして、プラグインやテーマを$domainで指定できたりするのかな・・・?
ま、それについては、またあとで調べることにしよう。

今回の参考コードに戻る。
caseには、翻訳前の単語(ワード、テキスト)を入れる必要がある。日本語訳されてると、それはわかるが元の単語がわからないので、以下の場所にあるファイルで調べる。

/wp-content/languages/plugins/woocommerce-ja.po

これをPoeditやエディターで開いて該当の単語を探す。
※この.poファイルに単語(ワード、テキスト)がないものは、今回はスルー。

とりあえずこれで一件落着なので、今日はこのへんで。

この記事を書いた人

GONSY

印刷会社のグラフィックデザイナーだった1998年に「会社案内」のHTML化をきっかけにWebの世界へ。
WordPressはMEから使っているけどプログラムスキルは一向に上がらない。WooCommerceは2018年から。忘れっぽくなってきたので、試したこと、実装方法を記録するためにブログをスタート。
最近、WordPress、WooCommerce、Snow Monkeyがおもしろいと感じるおじさん。