質問: 翻訳文字列を修正してテキストのトーンを揃える
回答: すぐれたサイトを制作するには全体のトーン&マナーを整えることが重要です。wordpressでは様々なプラグインを組み合わせてサイトを作成するので、必ず問題になるのが「ラベル」です。 たとえば、店舗が空いている時間を入力できるプラグイン business places を例に挙げてみましょう。このプラグインでは、店舗が空いている場所を “open hour” と呼んでいます。 !このような開業時間を表示できるプラグインです。 この “open hour” は「開業時間」と翻訳されており、それ自体は間違いではありません。 しかしながら、サイトで利用している文言やその業界の慣習などによって、「開業時間」という単語が必ずしも適切ではない場合があります。病院ならば「診療時間」かもしれませんし、サイト内で「営業時間内にお問い合わせください」と書いてあるのに、タイムテーブルに「開業時間」と書いてあるのはおかしいというケースもありえます。 他にも、woocommerceのようなecプラグインを使っている場合を考えましょう。サイト自体がとても格調高く丁寧な言葉遣いになっているにも関わらず「こんにちは! 太郎さん」と決済メールで急に砕けた口調になると、少し馴れ馴れしく感じてしまいます。 さて、business placesプラグインの「開業時間」に該当する部分を見てみると、次のようになっています。 ``` ``` 多くのプラグイン、テーマはこうしたgettextという翻訳用の関数を利用して多言語対応しています。したがって、この部分にフィルターフックをかけて、文言を調整することができます。 方法1. ノーコーディング対応 wordpressには翻訳を作成・上書きするプラグインが存在します。その1つが loco translate です。テーマ・プラグインの翻訳を管理画面から修正できます。 !画像はloco translateより wordpressプラグイン・テーマの翻訳はボランティアが行なっているケースがほとんどです。このため、単純な翻訳ミスもありえます。こうしたプラグインを利用することで、ワーディングを統一するとともに、ミスの修正も行うことができます。 方法2. フィルターフック対応 テーマ作者などは、特定のプラグインの名称をすべて変更したいと思うかもしれません。この場合、フィルターフックを利用することができます。 ``` add_filter( 'gettext', function( $translated, $original_text, $domain ) { // $domainは翻訳ドメイン。プラグイン、テーマごとに違います。 if ( 'tsoh' !== $domain ) { // business placesじゃなければなにもしない。 return $translated; } switch ( $original_text ) { case 'open hour': // 「開業時間」ではなく「診療時間」に return '診療時間'; default: return $translated; } }, 20, 3 ); ``` この方法ではwordpressで翻訳対象となっているすべての文字列を変更できるので、より汎用的な使い方もできます(例・管理画面の「投稿」という言葉を「記事」に変えるなど) 以上、サイトでの用語統一などで役立つtipsをお届けしました。もしテーマを作成しているのであれば、そのテーマが向いている用語にあらかじめ直しておいてあげると喜ばれるかもしれません。