今回はWordPressの多言語化について記載していきます。
多言語化かといっても方法は様々です。
例えば、WordPressを複数インストールしてそれぞれの言語で記載した後、WordPressのサイト間でリンクを貼るとか、マルチサイトにするとかいろいろな方法があるのですが、今回は手軽に作りたいため、プラグインを導入します。
今回紹介するのは、有名な問い合わせプラグインのContactForm7の作者の方が作っているBogoです。
他にもいろいろな多言語化プラグインがありますが、Bogoが一番使い方がシンプルで手軽に導入できる多言語化プラグインだったのでご紹介させていただきます。
Bogoを選んだ理由は以下の通りです。
- 日本語対応している
- 作成者に信頼がある
- 導入が簡単
- 使い方がシンプル
- 対応言語が多い
もし自動翻訳を導入したいなら「Polylang」というプラグインと「Lingotek」を調べてみるのがいいかもしれません。
これを導入するとクリックでとりあえずの自動翻訳ができます。
BogoのサイトのURLについて
Bogoを使うと簡単にサブディレクトリ型のURLが自動で作られます。
基本的に自動で作られたリンクのページを編集するだけでOKという仕様です。
デフォルト(日本語)以外の言語では、言語ごとのサブディレクトリが作られます。
日本語と英語の場合、URLとサブディレクトリのURLは以下の感じになります。
[サイト 日本語 ]https://exsample.com
https:// exsample.com /kiji [サイト 英語 ]
https://exsample.com/en/
https://exsample.com/en/kiji
※英語以外にも50以上の言語に対応しています。
特に設定することなく使えるのでとても簡単ですが、逆にサブドメインにはできません。
Bogoの導入
プラグインの「新規追加」からBogoを検索してインストールしてください。
インストールすると左のメニューに「言語」がでてきます。
これをクリックすると上記の画面が表示されます。
上記は、英語と中国語を有効化したものです。必要に応じて有効化して追加してください。
次に、多言語化したい投稿または固定ページに行きます。
多言語化したいページの編集を開くと右側に「言語」がでてきます。
ここで、多言語化したい言語を選択し、「翻訳を追加」をクリックします。
これで、編集しようとした記事に紐付いた翻訳投稿が作られます。
「翻訳:」の下にページのリンクが作成されるのでクリックすると編集画面が表示されます。
あとは編集するだけです。
言語の切り替え表示の設定
言語を切り替えるリンクを表示するには以下の3つのパターンがあります。
- ショートコードを使う
- ウィジェットを使う
- phpファイルの修正
ショートコード
言語切替メニューを記事の中に入れる時は、ショートコード[bogo]を使用します。
表示は以下のようになります。
ウィジェット
外観の「カスタマイズ」を開き、サイトバーなどからBogoを選択すると以下のようになります。
ウィジェットでは各言語をチェックボックスで選択することができます。
日本語サイトの場合は日本語のみにチェックして、英語サイトの場合はアクセスを「Language」に変更して英語のみにチェックをいれるにするとメニューの切り替えが可能です。
PHPの修正
ヘッダーやサイドメニューに表示させる時は、テンプレート内でショートコードを使用します。
<?php echo do_shortcode( '[bogo]' ); ?>
記載した場所に言語の切り替えが表示されます。
グローバルメニュー表示
英語ページでは英語のメニューを表示、日本語ページでは日本語のメニューを表示というように、メニューの表示を切り替えることができます。
メニューでは以下のように表示されます。
上記の場合、全てチェックをつけていますが、日本語サイトの場合は日本語のみにチェックして、英語サイトの場合はアクセスを「Access」に変更して英語のみにチェックをいれるにするとメニューの切り替えが可能です。
hreflangタグも自動生成
ページに複数の言語バージョンがある場合、hreflang を使用したリンク要素をヘッダーに記述することが推奨されています。
Bogoはサイトの多言語化するのに必要な「hreflang」タグも自動で生成してくれます。
特に自分で設定する必要はありません。
非対応なところ
固定ページをトップページにしている場合、デフォルト言語以外のトップページが表示できない場合があります。
最新の投稿にしている場合は問題ないですが、固定ページをトップページにしている場合はまずできるか確認しましょう。
その他、サイト名とキャッチフレーズの多言語化には対応していません。
プラグインを使用している場合は以下に留意してください。
- 他のプラグインによる表示部分がBogoの言語切り替えの対象にならない場合があります。
- パーマリンクなどのURL構造を変更するプラグインを入れている場合、競合する可能性あります。
まとめ
以上がBogoの設定になります。
他の多言語化プラグインは多機能なものもありますが、結構使わない機能だったり、使い方がわかりずらかったりまします。
Bogoはシンプルで使いやすく、簡単なプラグインということがなんとなくわかったかと思います。
多言語化する場合はご参考にしていただければ幸いです。
他の多言語化プラグインのPolylangについても調べてみたのでよかったらどうぞ。