GTranslateに対応しました:TTSWP 3.3.0リリースノート

1 分で読める 17 分で聴ける
GTranslateに対応しました:TTSWP 3.3.0リリースノート

テキスト読み上げ - TTSWP 3.3.0はGTranslateに対応しました。翻訳先の言語ごとに音声ファイルを生成しておくと、訪問者が言語を切り替えたときにプレイヤーがブラウザ上で自動的に正しいファイルへ切り替わります。ページのリロードも追加プラグインも不要です。このリリースによって、WPML、Polylang、TranslatePress、Weglotと並び、多言語対応のラインナップが完成しました。

すでにWordPressサイトでGTranslateを使っている場合、このアップデートで投稿のナレーションが訪問者の言語設定に自動追従します。回避策は一切必要ありません。

3.3.0の新機能

今回のリリースには3つの変更が含まれています。設定画面にGTranslate連携のトグルが追加され、投稿・固定ページの一覧ではTTSカラムに言語ごとの行が表示されるようになり、言語別に音声を生成できます。また各ページには「言語と音声ファイルの対応マップ」が埋め込まれ、訪問者が言語を切り替えるとプレイヤーがブラウザ上でそれを読み取り、再生ファイルを切り替えます。

  • GTranslate連携トグル:TTSWP設定画面に追加
  • 言語別の行表示:投稿一覧のTTSカラムに各言語の行を表示
  • クライアントサイドでの音声切り替え:各ページに埋め込まれた言語・ファイル対応マップで実現
  • ロケールコードの自動正規化:nb・nn・zh-CNなどのバリアントに対応
  • 言語ごとのカスタム音声上書き:他の多言語連携と同じ操作で利用可能

GTranslateに独自の対応が必要な理由

GTranslateはブラウザ上でページを翻訳します。サーバーはデフォルト言語しか受け取らないため、スペイン語やフランス語版の投稿はデータベースに存在しません。多くのTTSプラグインはデータベースから投稿を読み取り、そのレコードに紐づく音声を再生します。その結果、訪問者が言語を切り替えても常にデフォルト言語の音声が流れてしまいます。

WPML、Polylang、TranslatePressは異なる仕組みを持ちます。これらのプラグインは各翻訳をデータベース上の独立した投稿または文字列として保存します。TTSWPはその翻訳レコードごとに音声ファイルを生成し、URLや保存されたロケールをもとに適切なファイルを配信できます。

GTranslateとWeglotは動作が異なります。翻訳はクライアントサイドまたはプロキシ経由で行われるため、データベースは常に単一言語のままです。TTSWP 3.3.0はGTranslateに対応するため、言語コードと音声URLの対応マップをページ自体に直接埋め込む方式を採用しました。訪問者がGTranslateウィジェットで言語を切り替えると、プレイヤーのJavaScriptがその変化を検知し、マップを参照して音声ソースを切り替えます。ページはリロードされません。

データベース型翻訳プラグインとブラウザ型翻訳プラグインの比較、およびTTSWPが各ページに音声を紐づける仕組みを示した図
データベース型プラグインは言語ごとに投稿を保存します。GTranslateはブラウザ上で翻訳するため、TTSWPは言語・音声対応マップをページ自体に埋め込みます。

3ステップで有効化する

連携機能はデフォルトで無効になっています。3.3.0にアップデートしたら、次の手順で有効にしてください。

  1. WordPressの管理画面でTTSWPの設定ページを開きます。
  2. GTranslate連携のトグルを探します。
  3. 変更を保存します。

有効にするには3つの条件を満たす必要があります。TTSWPの有料プランへの加入、少なくとも1つの翻訳先言語を設定したGTranslateの有効化、そしてTTSWPバックエンドへのサイト接続です。GTranslateが検出されない場合や無料プランの場合、トグルはロックされ、理由のインライン説明が表示されます。

詳しいセットアップ手順はGTranslate連携ドキュメントをご覧ください。

言語ごとに音声を割り当てる

トグルを有効にすると、「言語・音声マッピング」画面で各言語に音声を割り当てられるようになります。スペイン語にはスペイン語の音声、フランス語にはフランス語の音声、という具合に設定してください。

音声が割り当てられていない言語は、プラグイン設定で指定したデフォルト音声にフォールバックします。これは意図的な仕様です。連携を有効にしてから、必要な言語の音声を順番に生成しながら、残りはデフォルトのまま進めることができます。

マッピング画面はすべての多言語連携で共通です。動作の詳細やエッジケースについては言語・音声マッピングのドキュメントをご確認ください。

言語ごとに音声を生成する

WordPressの投稿または固定ページ一覧を開くと、TTSカラムに翻訳先言語ごとの行が表示されます。各行には生成ボタン、ステータス表示、生成されたファイルへのリンクがあります。

各言語スロットにカスタム録音を使うこともできます。生成された音声の代わりに自分のMP3をアップロードして上書きできます。上書き動作は他の多言語連携と同じです。アップロード手順はカスタム音声のドキュメントをご覧ください。

TTSWPカラムに言語ごとの行と生成ボタンが表示されたWordPress投稿一覧
3.3.0のTTSカラムにはGTranslateの翻訳先言語ごとに行が表示され、言語別に音声を生成またはアップロードできます。

訪問者に聞こえる音声

ページはデフォルト言語で読み込まれます。言語・音声対応マップはHTMLとともに配信され、プレイヤーの小さなデータ属性に埋め込まれています。訪問者がGTranslateウィジェットで別の言語を選ぶと、プレイヤーのJavaScriptがそのイベントを検知し、対応する音声ファイルを取得して再生ソースを切り替えます。ページをリロードせずに新しい音声で再生が続きます。

音声が割り当てられておらずデフォルトのフォールバックもない言語では、プレイヤーは非表示になります。言語が一致しない音声を流すよりも、プレイヤー自体を表示しない方がよいと判断しました。フランス語ページに英語のナレーションが流れるのは、プレイヤーがない状態より体験が悪くなります。

言語コードは自動で処理

WordPress、GTranslate、ElevenLabsはロケールコードの表記が統一されていないことがあります。ノルウェー語ブークモールはnbと表記される場所とnoと表記される場所があります。中国語(簡体字)はGTranslateではzh-CNですが、音声カタログではzhだけのことも多いです。

TTSWP 3.3.0はこれらを自動的に正規化します。nbとnnはnoに、zh-CNはzhにマッピングされます。どのコードがどこで使われるかを把握する必要はありません。GTranslateで言語を選び、TTSWPで音声をマッピングすれば、コード形式の変換は連携機能が処理します。

多言語対応の全ラインナップ

GTranslateの追加により、TTSWPはWordPressの主要な翻訳方法すべてに対応しました。翻訳をデータベースに保存するプラグインと、ブラウザまたはプロキシ経由で翻訳するプラグインに分かれます。

プラグイン翻訳方式TTSWPのアプローチドキュメント
WPMLデータベース(言語ごとに別投稿)翻訳投稿ごとに音声ファイルを生成WPML
Polylangデータベース(言語ごとに別投稿)翻訳投稿ごとに音声ファイルを生成Polylang
TranslatePressデータベース(文字列レベルの翻訳)言語バージョンごとに音声ファイルを生成TranslatePress
Weglotブラウザおよびプロキシ言語・音声マップ、クライアントサイドで切り替えWeglot
GTranslateブラウザ言語・音声マップ、クライアントサイドで切り替えGTranslate

多言語WordPressサイトを運営していて、ナレーション機能が翻訳スタックに追いつくのを待っていた方へ。どの翻訳プラグインを使っていても、今日から対応できます。

よくある質問

GTranslateは音声ファイル自体を翻訳しますか?

いいえ。GTranslateはブラウザ上でページのテキストを翻訳します。音声はバイナリファイルであり、テキストではないためGTranslateは処理できません。TTSWPは各言語の音声ファイルをあらかじめ生成しておき、訪問者が言語を切り替えたときに適切なファイルを配信します。翻訳とナレーションは別々のシステムで作られ、再生時に組み合わされます。

GTranslate連携には有料プランが必要ですか?

はい。GTranslateのトグルはTTSWPの有料プランでのみ利用できます。無料プランの場合、トグルは表示されますがロックされており、料金ページへのリンクが表示されます。無料プランでも基本的なテキスト読み上げ機能は使えます。多言語連携は投稿ごとに複数のファイルを生成してクレジットを多く消費するため、有料プランの機能として提供しています。

音声ファイルが存在しない言語ではどうなりますか?

その言語ではプレイヤーが非表示になります。デフォルト言語の音声にフォールバックする方法も検討しましたが、翻訳されたページに言語が一致しない音声が流れると、プレイヤーがない場合よりも信頼感を損ないます。フォールバックが必要な場合は、その言語の音声を生成するか、カスタム録音をアップロードしてください。対応するファイルが用意されるとプレイヤーが再び表示されます。

生成された音声の代わりに自分の録音を使えますか?

はい。投稿の各言語スロットにカスタム音声をアップロードできます。特定の言語ではプロのナレーターを使い、他の言語は自動生成音声を使うといった使い方ができます。既存のブランドボイスに合わせたい場合にも便利です。上書きは言語ごとに設定できるため、1つの投稿内で生成音声とカスタム音声を混在させることも可能です。アップロード手順はカスタム音声ドキュメントをご確認ください。

GTranslateのサブディレクトリやサブドメインでも動作しますか?

はい。どちらのURL構造にも対応しています。連携機能はURLではなくGTranslateのランタイムからアクティブな言語を読み取るため、フランス語版がexample.com/fr/にあってもfr.example.comにあっても、プレイヤーは正しいフランス語音声ファイルに切り替わります。後からGTranslateのURL構造を変更しても、TTSWPの再設定は不要です。

次のステップ

WordPressのプラグイン画面からTTSWP 3.3.0にアップデートし、設定を開いてGTranslate連携をオンにしてください。続けて言語ごとに音声をマッピングし、投稿一覧から音声を生成します。投稿を開いてGTranslateウィジェットで言語を切り替え、ページをリロードせずにプレイヤーの音声が切り替わることを確認してください。

スクリーンショット付きの手順やエッジケースの対処方法はGTranslate連携ドキュメントをご覧ください。正規化できないコードがあった場合はお問い合わせください。正規化リストに追加します。