2026年5月20日

2026年5月20日

Polylangの設定方法|無料で日本語・英語の多言語サイトを作る手順

結論:Polylangとは、設定の流れ

Polylangは、WordPressで多言語サイトを作るためのプラグインです(作者はChouby)。wordpress.orgの説明では、WordPress標準の仕組み(タクソノミー)だけを使い、性能を保ったまま多言語化できるとされています。追加できる言語の数に上限はありません。

設定は次の流れで進めます。

  1. プラグインをインストールして有効化する
  2. 言語を追加する
  3. URLの形式を設定する
  4. 言語スイッチャー(言語の切り替え)を置く
  5. テーマの文字列を翻訳する

この記事は、2026年10月16日時点の公式情報にもとづいています。投稿や固定ページを翻訳する操作そのものは、この記事では扱いません。Polylangの公式ドキュメント(Getting started)を参照してください。

無料版とPro版の違い

無料版(Polylang) Pro版(有料)
翻訳できるもの 投稿、固定ページ、メディア、カテゴリー、タグ、カスタム投稿タイプ、カスタムタクソノミー、RSSフィード 無料版と同じ
言語の指定方法 URLの言語コード、または言語ごとのサブドメイン・ドメイン 無料版と同じ
言語スイッチャー ブロック、ウィジェット、ナビゲーションメニュー項目として配置 無料版と同じ
URLスラッグの翻訳 なし あり(カテゴリー、著者ベース、カスタム投稿タイプなど)
言語間でのスラッグの共有 なし あり
自動翻訳 なし あり(DeepL。自分のAPIキーが必要)
翻訳の書き出し・読み込み なし あり(XLIFF形式)
翻訳間での内容の複製・同期 なし あり
サポート コミュニティフォーラム 優先サポート

※「なし」は、公式がPro版の機能として挙げていて、無料版の機能一覧には載っていないものです。

  • Pro版は、年€99(税抜)です(polylang.pro、2026年10月16日確認)。1年間の更新とプレミアムサポートが付きます。複数サイト向けのライセンスもありますが、サイト数はページに書かれていません
  • WooCommerceの翻訳は、Pro版ではなく、別売りのアドオン「Polylang for WooCommerce」で対応します

インストールして有効化する

管理画面の「プラグイン」→「新規追加」で「Polylang」を検索し、インストールして有効化します。WP-CLIを使う場合は、次のコマンドです。

wp plugin install polylang --activate

有効インストール数は90万以上です(wordpress.org、2026年10月16日確認)。

言語を追加する

管理画面の「言語」メニューから、「言語を追加」で使う言語を登録します。

  • 言語コードは、ISO 639-1に準拠した2文字のコードが望ましいとされています(日本語なら ja、英語なら en)
  • 登録した言語のうち1つを、デフォルトの言語に設定します

URLの設定

言語ごとのURLの形式は、管理画面の「言語」→「設定」にある「URL の修正」で選びます。次の指定方法があります。

  • 言語はプリティーパーマリンク内のディレクトリ名から設定される(例: example.com/en/ のような形式)
  • 言語はプリティーパーマリンク内のサブドメイン名から設定される
  • 言語ごとに別のドメインを使う

ほかに、次の項目があります。

項目 内容
URL にデフォルトの言語の言語情報を表示しない デフォルト言語のURLから、言語コードを外します
ブラウザーの言語の検出 フロントページで、訪問者のブラウザーの言語を検出します
フロントページでは、URL にページ名や ID ではなく言語コードを使用する トップページのURLを、言語コードにします

URLの形式は、一度公開したあとに変えると、検索結果やブックマークのURLが変わります。公開前に決めてください。

言語スイッチャーを置く

言語スイッチャーは、ブロック、ウィジェット、ナビゲーションメニュー項目として配置できます(wordpress.org)。ブロックテーマでクラシックメニューやクラシックウィジェットを使う場合は、公式ページで、Site Editor Classic Features というプラグインの併用が案内されています。

テーマのテンプレートに直接書く場合は、pll_the_languages() を使います。ただし、Polylang 3.9 以降では、この関数の旧来の引数の指定が非推奨になる場合があります(Polylangのソースコードより)。使っているバージョンの公式ドキュメントで、引数を確認してから使ってください。

テーマの文字列を翻訳する

投稿や固定ページ以外の、テーマに書かれた文字列は、「言語」メニューの「文字列翻訳」で翻訳します。テーマやプラグインから、翻訳したい文字列を登録するには、pll_register_string() を使います。

add_action( 'init', function () {
    if ( ! function_exists( 'pll_register_string' ) ) {
        return;
    }
    // 第1引数: 一意の名前、第2引数: 文字列、第3引数: グループ名
    pll_register_string( 'hero_title', 'メインタイトル', 'mytheme' );
} );

登録した文字列を表示するときは、次の関数を使います(いずれもPolylangのソースコードの定義より)。

関数 動作
pll__( $string ) 翻訳した文字列を返す
pll_esc_html__( $string ) 翻訳した文字列を、HTMLエスケープして返す
pll_e( $string ) 翻訳した文字列をそのまま出力する(エスケープされません)

出力する文字列に、外部から入る値が混ざる場合は、エスケープされる関数を使ってください。

翻訳した投稿のURLを取得する

pll_get_post() は、翻訳先の投稿IDを返す関数です(URLではありません)。翻訳が無いときは 0 を返します。URLが必要な場合は、get_permalink() と組み合わせます。

$en_id = pll_get_post( get_the_ID(), 'en' );
if ( $en_id ) {
    echo esc_url( get_permalink( $en_id ) );
}

URLスラッグの扱い

URLの末尾(スラッグ)に関して、無料版とPro版には次の違いがあります(polylang.pro、wordpress.org)。

  • 無料版: URLスラッグを翻訳する機能は、機能一覧に含まれていません
  • Pro版: カテゴリー、著者ベース、カスタム投稿タイプなどのURLスラッグの翻訳と、言語間でのスラッグの共有ができます

言語ごとにURLの語を変えたい場合は、Pro版が必要です。

うまく動かないとき

  • 公式のサポート窓口は、Getting startedなどのドキュメント、FAQと開発者向けの資料、コミュニティのサポートフォーラムです。Pro版とWooCommerce用アドオンの利用者は、ヘルプデスクの優先サポートを使えます
  • WooCommerceと連携したい場合は、別売りの「Polylang for WooCommerce」が必要です
  • プラグインのエラーや不具合については、Polylangのエラーを解決する方法も参考にしてください
  • WPMLとの違いや、プラグイン選びは、WordPressで多言語サイトを構築する方法・WPMLとPolylangの設定手順で解説しています

よくある質問

無料で使えますか。

基本の翻訳機能は、無料版で使えます。URLスラッグの翻訳、DeepLによる自動翻訳などは、Pro版(年€99、税抜)の機能です。

WooCommerceのサイトでも使えますか。

使えますが、別売りのアドオン「Polylang for WooCommerce」が必要です。

自動翻訳はできますか。

Pro版でDeepLによる機械翻訳を使えます。自分のDeepLのAPIキーが必要です。

参考にした公式情報(2026年10月16日確認)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲