Dialogflow は多くの言語をサポートしています。完全なリストは、言語のリファレンス ページをご覧ください。エージェントの作成時に選択した言語が、デフォルト言語として設定されます。また、追加の言語を設定できます。
ルート言語およびロケール固有の言語
言語には次の 2 つのカテゴリがあります。
- ルート言語: English (en) のように、地域を限定しない言語です。
- ロケール固有の言語: English - US (en-US) のように、特定の地域や国などを限定するロケール固有の言語です。
一部の言語は、ルート言語とロケール言語の両方として機能します。このような言語にはロケールに大幅な相違があるため、共通のルート言語を使用することができません。例:
- 中国語(広東語) - 香港(zh-HK)
- 中国語(簡体字)- (zh-CN)
- 中国語(繁体字)- 台湾(zh-TW)
- ポルトガル語 - ブラジル(pt-BR)
- ポルトガル語 - ポルトガル(Pt)
エージェントを主にルート言語向けに設計し、必要な場合に限り、ロケール固有の言語向けにカスタマイズしてください。
言語を追加する
Dialogflow コンソールを使用して言語またはロケールを追加するには:
- 左側のサイドバー メニューで、既存の言語の横にある言語の追加(add)ボタンをクリックします。
自動的にエージェント設定の [Language] タブに移動します。 - [Select Additional Language] プルダウン メニューから言語を選択します。
- ロケールを追加するには、ルート言語にカーソルを合わせ、[+ Add locale] をクリックします。
- [保存] をクリックします。
言語固有のデータ
ほとんどのエージェント データは、多言語エージェントのすべての言語で共通です。ただし、エンドユーザーとのやり取りに使用されるテキストは、言語固有です。多言語エージェントを作成するときは、言語ごとにその言語固有のデータを指定する必要があります。コンソールから言語を選択するか、API に言語を指定すると、その言語の言語固有のデータにアクセスできます。言語固有のデータの完全なリストは次のとおりです。
コンソールで言語固有のデータにアクセスするには、エージェント名の下にある言語ボタンをクリックします。
たとえば、以下の「size」エンティティ タイプは T シャツを注文する際に使用されます。当初、このエージェントは英語で構成されたため、エンティティには「S」とその同義語の「small」といったエントリがあります。スペイン語が言語として追加されると、Dialogflow によって新しい言語のエンティティが作成されますが、エンティティのエントリはユーザーがスペイン語で指定する必要があります。
API を使用して言語固有のデータにアクセスするには、EntityType またはインテント タイプを取得、作成、または更新する際に languageCode
パラメータを指定します。
すべての言語固有データにアクセスするには、言語ごとに個別の API 呼び出しを行う必要があります。API 呼び出しで言語全般のデータが更新されると、そのデータはすべての言語で更新されます。
シミュレータでテストする
シミュレータを使用するときは、使用する言語をエージェント名の下にある言語から選択します。
API を使って言語を指定する
API 経由でリクエストを送信する場合は、detectIntent
メソッドの queryInput.input.languageCode
フィールドを設定します。詳しくは、Sessions
タイプをご覧ください。
エージェントの言語を指定しないリクエスト
Dialogflow が、エージェントでサポートされている言語を提供しないリクエストを受信すると、以下のルールが適用されます。
- リクエストによって言語が提供されない場合、Dialogflow は自動的に入力言語を判別し、自動言語検出が有効な場合は、その言語で応答します。言語の自動検出が無効になっている場合、Dialogflow はデフォルトの言語を使用してリクエストを処理します。
- リクエストがエージェントでサポートされていないロケール固有の言語を指定していても、関連付けられているルート言語がエージェントでサポートされている場合、Dialogflow はルート言語を使用してリクエストを処理します。
- システム エンティティの抽出は、前述のルールの例外です。システム エンティティの抽出では、ロケール固有の言語がエージェントによってサポートされない場合でも、提供されたロケール固有の言語を使用します。
統合
テキストベースおよび phone gateway の統合によるエージェント インタラクションでは、エージェントのデフォルト言語のみが使用されます。