インターネットに国境は無いので、海外の方がサイトに訪れる事もあります。
サイトによっては、その事を想定してマルチリンガルサイトとして作成することがあります。
今回は手軽にマルチリンガルサイトを作る方法を考えてみたいと思います。
グーグル翻訳は使えなくなった
サイトを作成・リニューアルする時、海外の方にも見てもらいたいケースがあります。
とはいえ、翻訳を依頼すると結構な費用が発生します。
ところで、海外発送も考慮した通販サイトのように、商品説明などで誤解が無いようしっかりした翻訳が必要なケースも少なくありませんが、海外からの旅行者の方向けの情報発信のように、簡単な翻訳で構わない事もよくあります。
そういった場合、サイトを簡易的に多言語化するという方法が便利です。
簡易的というのは、人間が翻訳して海外用のページを作るのではなく、翻訳システムに任せると言う方法です。
以前はGoogleのウェブサイト翻訳ツールを使用することがよくありました。
これなら、日本語のサイトを作成するだけで、英語でもスペイン語でもGoogle翻訳が対応している言語なら対応できたわけです。
ところが、Googleはこのサービスを廃止してしまいました。
このため、現在ではこの方法を選ぶことは出来なくなってしまいました。
ChromeやEdgeの翻訳ツールを使う
ユーザーの立場なら、Google翻訳でウェブサイトを指定して翻訳できます。
また、わざわざGoogle翻訳を開かなくても、ページを開いた後、右クリックメニューから「日本語に翻訳」を選ぶ事で、海外のサイトを日本語にできます。
これは逆も同じですので、自分のサイトも同様の操作で、見ている人の利用する言語に翻訳して見てもらう事が可能です。
(右クリックメニューはブラウザにより異なります)
ですが、サイト運営者としては、それでは解決になりません。
サイトに「Please use the translation function of your browser to view it.」(ご利用のブラウザの翻訳機能を利用してご覧ください。)と記載するのは、サービスとしては落第では無いでしょうか。
WordPress自動翻訳はできるか?
CMSとして世界的に非常にユーザーの多いWordPressは、こういった多言語の問題に対応する仕組みがあります。
標準の状態では、管理者の言語(日本で利用しているなら日本語)のみ利用できますが、言語パックというものを追加する事で、多くの言語を扱う事が出来るようになります。
ただし、あくまで「出来るようになる」だけです。
このままでは管理画面の言語を選べるようになるだけです。
管理画面を英語にしても意味はありません。見に来てくれたお客様が見るサイトを何とかしたい訳ですから。
翻訳についても、WordPress自身は何もしてくれません。
標準の状態では用意されていない機能は、プラグインを入れる事で追加する事になります。
WordPressでマルチリンガルで使う
使いたい言語が英語だったとしても、英語専用サイトを作るのでなければ、当然日本語でもサイトを使う訳です。
また、英語以外に中国語や韓国語を使いたいケースもあるでしょう。
この場合、サイトをマルチリンガルに対応させる必要があります。
マルチリンガル対応プラグイン
マルチリンガル対応させるためのプラグインは多数あります。
検索すると何種類も出てきます。
初めてマルチリンガル対応を行う場合は、どれを使えばよいのか判断するのも大変です。
ここで、マルチリンガル対応プラグインは大雑把に2つのタイプに分けられます。
- ページを維持したまま翻訳する
- 各言語用のページを生成する
ページを維持したまま翻訳する
このタイプは翻訳機能と一体化しています。
マルチリンガル対応・翻訳をまとめて行うため、便利です。
ただし、システムの深い所に影響があるため、他のプラグインと衝突してうまく動作しなかったり、または他のプラグインの動作をおかしくすることがあります。
多くの場合有料のサブスクリプションサービスのため、継続して費用が発生します。
プロ向けのプラグインである事が多いようです。
各言語用のページを生成する
ページ編集時に多言語が必要なページでターゲット言語用のページを生成させて使います。
余り余計な処理をしないので、他と衝突する事はほぼありません。
翻訳自体はやってくれないので、原稿は自分で用意する必要があります。
まぁ、元のページか日本語の原稿をGoogle翻訳にかければ良いでしょう。
無料なものが中心で、自分でサイト作成をされている方でも使えると思いす。
今回はこのタイプのプラグインで、初めての方にも使いやすい「bogo」を紹介しましょう。
bogoを使う
まずは普通にプラグインを追加します。
bogoは説明も日本語になっているので、別の紛らわしいプラグインと間違う事は少ないと思います。
余計な事をしないプラグインなので、使う準備は自分で行います。
プラグインの一覧で見るとbogo自体の設定はありませんが、bogoを入れて有効化すると管理メニューに「言語」が追加されます。
言語の追加
「言語」-「言語パック」に対応可能な言語の一覧があります。
ここで、使いたい言語を「有効化」することで、利用できる様になります。
必要な言語を全て「有効化」しましょう。
言語の設定
利用できる言語はいくつでも増やせますが、サイトの基本となる言語は一つだけです。
それは「サイトの言語に設定」された言語です。
このサイトの言語として「日本語」が指定されていない場合、日本語を「サイトの言語に設定」します。
実はここの指定がページのURLに影響するので、言語を追加したときは、忘れずにサイトの言語をチェックしてください。
もう一つ「テキストの翻訳」というメニューがありますが、こちらの説明は省きます。
サイトのタイトルやカテゴリ名の翻訳ですので、特に難しい操作はありません。
ウィジェットの設定
bogoを入れると、使用できるウィジェットが一つ増えます。
「言語切り替え」というウィジェットです。
これをサイドバーなどに入れておきましょう。
タイトルは空のままでも問題ありません。
本文にショートコード([bogo])を入れて、切り替えの表示を出す事も出来ます。
1カラムなどで、ウィジェットが使えなかったり、適切な位置に出せない場合は利用すると良いでしょう。
ページ側で指定
固定ページや投稿の編集画面を開くと、「言語」という要素が追加されています。
見当たらない場合は、上部の「表示オプション」でチェックを入れてください。
ここで、何もしなければ、そのページは日本語ページのままになります。
「翻訳を追加」を押すと、ページが追加されます。
追加されても画面上は何も起きません。(環境によっては横のタブに編集画面が開く事もあるかも知れません)
とりあえず、1回押したら一覧に戻ってみましょう。
この画像では下書きが追加されています。
翻訳ページを編集
この下書きを編集しましょう。
「言語」を見ると、ここが英語のページで、他に日本語のページがあり、中国語のページは作られていない事が判ります。
内容(本文やタイトル)は元のままなので、自分で英語に書き換えます。
それこそ、Google翻訳を使うと良いでしょうし、他の翻訳ツールを利用しても良いでしょう。
そして、編集が終わったら、保存します。
このとき、スラッグを書き換える必要はありません。
結果を確認
実際にページを見てみましょう。
切り替え部分を見ると、ページがある言語だけリンクされています。
ここでEnglishをクリックして英語のページに切り替えてみます。
英語のページでは、URLに自動的に「en」がページのスラッグで指定されている部分の前に追加されています。
このため、同一のスラッグでもOKだった訳です。
むしろ変更すると判りにくくなるので、変えない事をお勧めします。
なお、サイトの言語が英語だったりすると、英語のページが付加なしで、日本語のページに「ja」が付いてしまいます。
もし、日本語のページのURLが変わってしまっていたら、言語を確認しましょう。
そうでないと、他所のサイトからリンクをたどって来た方が、英語のページを見せられて困惑する事になります。
投稿の場合
投稿の場合も操作などは固定ページと同じです。
ホームページがWordPressの機能によって「投稿一覧」になっている場合、英語版を用意したからと言って、最新の投稿一覧で両方出てきて数が二倍になる事はありません。
日本語の時は、日本語の投稿だけ表示されます。
投稿ページに指定されているページも同様です。
ですが、投稿の一覧を「自分でプログラムして取得」している場合は注意が必要です。
主な用法として、ホームページ(フロントページ)を特定の固定ページにしつつ、最新記事一覧を表示するために、テーマを編集して投稿を表示するコードを追加する。
といった時ですね。
この場合は、表示中の言語に合わせた処理を入れる必要があります。
何も対処しなければ、各言語の投稿がそのままいっぺんに出てくることになります。
今回は初心者の方を想定していますので、自分でプログラムを書き換えるときの対処法については、割愛します。
bogoのメリット
- 切り替え用のウィジェットが用意されている。
- 多言語化の必要があるページだけ限定して対応できる。
- 無料。
- 余計な事をしないので、多くの環境で動作する事が期待できる。
- 翻訳自体はお任せでは無いので、機械翻訳が固有名詞などを予想外な内容に翻訳してしまった場合などでも、自分で直せる。
国内向けのサイトでも、海外からの旅行者の方が見る事もありますし、多言語対応の需要は意外とあるかもしれませんね。