WordPressで予約システムを構築するときにホテルのような1泊などの形式でなく、1日毎に予約をしたい場合があります。そういったときにとても便利なプラグインにWP Booking Systemがあります。
しかし、基本的には日本語に対応していないため、導入後は日本語化していく必要があります。
ここでは、WP Booking Systemを日本語化する方法についてまとめています。
バックエンド(管理画面)の日本語化
WP Booking Systemを日本語化するときは、WPの管理画面(バックエンド)とWEBサイトの表示(フロントエンド)でその方法が異なります。
まずはバックエンド(管理画面)を日本語化する方法についてです。
Loco Translateで日本語化する
WordPressの管理画面を日本語化するには超便利なプラグイン「Loco Translate」を使います。使い方については下記をご参考ください。
(参考)【WordPress】管理画面のテーマやプラグインを日本語化(翻訳)する方法|Loco Translateの使い方
以下のように、WP Booking Systemの管理画面を日本語化することができます。
Loco Translateで翻訳APIを使って日本語化する
更に、Loco Translateには翻訳機能を持ったAPIと連携して、自動翻訳するものすごい機能も備わっています。
WP Booking Systemで翻訳対象となる言葉は1000を超えています。これを1つ1つ訳していくのは非常に大変です。
そういったときに、DeepL TranslatorやGoogle Translateといった翻訳APIと連携すると、ものの数分で全ての翻訳が完了します(※翻訳は完璧ではないので、必要に応じて手動で修正が必要です。)
Loco Translateで翻訳APIを使って日本語化する方法については下記をご参考ください。
(参考)【WordPpress】Loco TranslateでAPIキーを使って自動で翻訳(日本語化)する方法
フロントエンドを日本語化する方法
WEBサイトに表示されている画面(フロントエンド)の日本語化はWP Booking Systemの設定で行います。
languageと翻訳は機能しない
WP Booking Systemの設定には「language(言語)」と「Strings&Translation(文字列&翻訳)」というメニューが用意されています。
日本語も用意されていて選択することができます。
これを選択すると、「Strings&Translation(文字列&翻訳)」というメニューで下に「Translation(翻訳)」という項目が表示され、指定した言語を入力できるようになります。
しかし、このTranslation(翻訳)のJapaneseに日本語を入力しても、それが画面に反映されることはありません。
上記のように対となる日本語を入力して保存してあるにもかかわらず、WEBサイト上では英語が表示されます。
この問題について、WP Booking Systemのサポートに問い合わせたところ、このTranslation(翻訳)機能は使わないでくれ。代わりに直接入力してくれとのことでした。
デフォルトのフォームを直接日本語化する
ということで、Translation(翻訳)は使わずに、「Strings&Translation(文字列&翻訳)」に直接日本語を入力していきます。
「WP Booking System」→「Setting」→「Strings&Translation」に進みます。
日本語訳が不適切だった場合に「もとの英語なんだったっけ?」となる可能性もあるので、言語で「English」を有効にして、そこにもともと記述されていた英語を入力していくといいかもしれません。
以下のように日本語訳を入力していきます。
翻訳するときの注意点
翻訳するときに元の英語に「%s」や「%d」が使用されていることがあります。この文を日本語訳したときに、これらの「%s」や「%d」を消さないように注意しましょう。
例えば、次のような英語があるとします。
Please enter a value greater than %s.
これは以下のように日本語訳します。
%sより大きい数値を入力してください。
ちなみに、「%s」や「%d」は次のような意味を持っています。
%sとは何か?
%sのsとは「String」のことで、文字列の変数が入ることを意味しています。対象となる名前や固有名詞などが入ります。
%dとは何か?
%dとは「digit」のことで、数値の変数が入ることを意味しています。IDや金額などが入ります。
個別のフォームを日本語化する
「WP Booking System」→「Setting」→「Strings&Translation」は、デフォルトのフォームの表示内容を設定するものでした。
なので、すでに作成済みのフォームを日本語化したい場合は、「WP Booking System」→「Form」→「Form Strigns」へと進みます。
先ほどとまったく同じ内容が表示されるので、こちらも日本語化していきます。
以上でフロントエンドの日本語化は完了です。
実際のフォームもきちんと日本語化されました。
予約カレンダーの月と年の入れ替え
また、フロントエンドに埋め込んだカレンダーの日付選択はデフォルトでは月年の順に表示されています。
これを年→月の順に表示するにはfunctions.phpにコードを追加する必要があります。詳細については下記をご参照ください。
(参考)【WordPress】WP Booking Systemでカレンダーの年月の表示を入れ替える方法