Polylangを使用してWordPressを多言語化する

このブログはもともと中国語のみで運営していましたが、ある偶然の機会をきっかけに、サイトの多言語化に挑戦することにしました。今回は、Polylangを使用してWordPressを多言語化したプロセスと、その際の注意点について記録しておきます。


Polylangとは

Polylangは、WordPressの多言語化ソリューションの一つであり、そのロジックの中核は、ネイティブのTaxonomy(タクソノミー/分類法)を利用してコンテンツに言語タグを付与することにあります。

冗長な追加データベーステーブルを構築して機能を詰め込むのではなく、投稿、カテゴリー、さらにはメディアファイルに至るまで言語を指定し、それらの間にリレーション(関連付け)を作成することを可能にします。この手法はWordPressの既存のアーキテクチャを尊重したものであり、クエリの効率性を保証します。SEO対策においても、生成される hreflang タグやサブドメイン・サブディレクトリの設定は、非常に整然としており、抑制の効いた設計となっています。

比較項目無料版 (Free)プロ版 (Pro)
基本翻訳投稿、固定ページ、カテゴリー、タグ、メニュー無料版の全機能を含む
URL 構造サブドメインまたはディレクトリ名に対応URLスラッグの翻訳に対応 (例: /about/ja/shoukai に変更可能)
機械翻訳非対応 (外部プラグインが必要)DeepL APIとの連携による自動翻訳フロー
同期機能メタデータの手動同期投稿間のカテゴリー、タグ、カスタムフィールドの自動同期
エディター対応標準ブロックに対応FSE (フルサイト編集) およびテンプレートパーツの翻訳に高度に対応
REST API非対応完全対応 (ヘッドレスWordPressや複雑なアプリ開発に最適)

無料版を使用して多言語化(2ヶ国語対応)を実現した後の効果

このサイトは現在、このプラグインを使用して2ヶ国語対応を実現しています。

中国語版
中国語版
日本語版
日本語版

ここは「非対称な多言語サイト」として構成されています。

言語間で対応しているコンテンツもあれば、中国語のみ、あるいは日本語のみで公開されている独立したコンテンツも存在します。


プラグインの設定

1-言語を追加

例えば、もともと中国語のみのサイトに新しく日本語を追加する場合、左側のメニューから言語を選択して「言語を追加」をクリックします。

追加が完了すると下の画像のようになり、右側のリストに日本語の行が加わります。

プラグインの設定
プラグインの設定

2-共通項目の翻訳

ここでは、サイト名やキャッチフレーズ(紹介文)などの共通項目を翻訳する必要があります。ここで翻訳を完了させることで、サイトの基本情報が選択された言語に合わせて動的に切り替わるようになります。

共通項目の翻訳
共通項目の翻訳

3-URL構造の定義

私にとって、これは無料版で数少ない「自分の好みで自由に決められる」項目であり、選択肢は以下の通りです。

定义链接格式
定义链接格式

4 – 各要素の多言語化

4-1 カテゴリーとメニュー

これは私が最初に直面した問題です。これまでの設定画面は項目が少なくシンプルだったので、すぐにブログ記事の多言語化に取り掛かれると思っていました。いざホーム画面を開いてみると、カテゴリーやタグがバラバラに表示されていました。

これは、下の画像に示す部分の設定が正しくできていなかったためです。

カテゴリーを多言語化
カテゴリーを多言語化
メニューを多言語化
メニューを多言語化

メニューの設定では、新しくもう一つのメニューを作成する必要があります。その上で、先ほど設定したコンテンツを「中国語サイト用」と「外国語サイト用」にそれぞれ割り当てます。

4-2 タグ、投稿、および固定ページ

理屈はどれも同じですが、タグは数文字入力すれば済むのに対し、記事の翻訳はかなりの重労働になります。

タグを翻訳
タグを翻訳

無料版の不便

日本語翻訳

ここまでで、多言語化の枠組み(フレームワーク)はほぼ完成したと言っていいでしょう。

もちろん、完成したのはあくまで「枠組み」に過ぎません。

この先には、私が「2ヶ国語対応が必要だ」と感じた大量の記事の翻訳作業が待ち構えています。何しろ無料版ですから、これは日々の空き時間を潰すための「地道な体力仕事」です。まとめとして、無料版を使う上で我慢が必要なポイントをいくつか挙げておきます。

  • 1. 属性の同期が不可能: 元記事のタグ、カテゴリー、カスタムフィールドなどを変更しても、翻訳版には自動で反映されません。それぞれの言語の編集画面に入り、手動で一つずつ合わせる必要があります。
  • 2. URLのローカライズ不可: ページのパーマリンク(スラッグ)が、元の記事と強制的に一致してしまいます。例えば中国語版が /about の場合、日本語版は /ja/about となり、/ja/shoukai のように言語に合わせた独自のスラッグに変更することはできません。
  • 3. メディアライブラリの冗長な仕様: 画像に言語ごとの説明文(代替テキストなど)を付けたい場合、管理画面上で同じ画像に対して「言語ごとのコピー」を手動で生成しなければならず、操作が非常に煩雑です。

同じサイトの2ヶ国語版というよりは、「2つの独立したサイトが1か所に合体している」という表現の方がしっくりきます。