自動音声応答 (IVR)
対話型音声応答は、API または Web インターフェイスを介して利用できる Voice 機能です。ウェブインターフェイスを介して、顧客エンゲージメントプラットフォーム[Moments](/ moments) を介して利用できます。
IVRを使用して、1 つ以上の着信先番号 (固定電話または携帯電話) へのアウトバウンドコールを開始したり、エンドユーザーからVoice番号へのインバウンドコールを受信したり (インバウンドIVR) します。エンドユーザーがコールに応答すると、IVRシナリオが実行されます。これは、以前に作成したIVRシナリオです。
IVR は、ビジネスの音声通話プロセスを自動化します。この双方向通信オプションを使用すると、通話中に顧客に様々なアクションを設定できます。
設定できるIVR アクション (および非IVRアクション) の数に制限はありません。
IVRは、次のタイプのVoiceコールで使用できます:
- インバウンドコール - IVRシナリオを作成し、選択したVoice番号に合わせて構成します。顧客がこのVoice番号に対してインバウンドコールを開始するたびに、この通話はインバウンドIVRシナリオを使用して応答されます。
- アウトバウンドコール - 顧客への通話を開始する時に、より複雑なシナリオを作成します。
応答コード
応答コードは、Dual Tone Multiple Frequency (DTMF) コード とも呼ばれます。このコードは、Moments で使用できる [フロー内のIVR (/moments/flow-elements/ivr) と、音声メッセージを送信して顧客と対話し、通話中に次のステップを設定したい時に使用する ブロードキャスト の両方で使用できます。
エンドユーザーが電話で事前定義された応答コードを入力すると、ブロードキャストの作成時に定義された方法に従ってNTT CPaaSプラットフォームがアクションを実行します。
Moments内のIVR
IVRならびにコミュニケーションに使用できるIVRエレメントの詳細については、Momentsのフロー内のIVR について詳述しているドキュメントをご参照ください。
Momentsを購入するには、専任のアカウントマネージャーに連絡するか、 サポート (opens in a new tab)にお問い合わせください。
ダイヤルから Conversations へ
Dial to Conversations (ダイヤルしてConversationsへ) IVRエレメントを使用すると、現在の通話をConversationsにリダイレクトできます。
API経由のIVR
お使いのプラットフォームを NTT CPaaS プラットフォームと統合し、特定のイベントによってトリガーされたエンドユーザーへのコールを開始する場合、または独自のWebインターフェイスをお使いの場合は、API経由のIVRを使用できます。
これらの機能は、API経由のIVRで使用できます:
-
Text-to-Speech
-
留守番電話検出
-
音声認識
-
API経由でIVRを使用するには、IVRシナリオの作成 (opens in a new tab)が必要です。詳細については、 Voice APIドキュメント (opens in a new tab)をご参照ください。 様々なエレメントを組み合わせて、ビジネスニーズに合ったマルチレベルのシナリオを作成します。
-
Launch API (API の起動) (opens in a new tab)を使用してアウトバウンドIVRコールを開始するか、お使いのVoice 番号用の IVRシナリオを構成します。インバウンド IVR APIを使用するには、お使いのVoice 番号で IVR APIを構成します。詳細については、Create Voie Setup on a Number (番号で音声セットアップを作成) (opens in a new tab) について記述しているドキュメントをご参照ください。IVRシナリオを作成したい時は、応答で受け取った Forward To IVR (IVRに転送) と シナリオキー を使用します。
利用可能なAPI経由のIVRエレメント:
- Call API (コールAPI) – お使いのプラットフォームのURLに接続し、エレメントパラメーターで定義されている値を送受信します。
- Capture (キャプチャ)– 顧客が送信した音声応答を変数に保存します。これは後でIVRシナリオをさらに分岐させるために使用できます。詳細については、音声認識について詳述しているドキュメントをご参照ください。
- Collect (収集) – 顧客がキーパッドをタップして DTMF コードを再生します。入力した値は、指定した変数に格納されます。これは、If Then や While Do などの他のエレメントで使用される場合があります。
- Dial (ダイヤル) – 現在の通話を別の電話番号にリダイレクトします。
- Dial to Conversations (Conversationsにダイアル) – 現在のコールを Conversations にリダイレクトします。
- Dial to Many (複数にダイアル) – 現在のコールを複数の電話番号に並列または順番にリダイレクトします。複数の電話番号の1つがコールに応答すると、他の番号へのダイヤルは停止します。
- For-Each (各自) – 値のリストからすべての値に対してループ内で使用される変数名を定義します。
- Go To (移動) – IVRシナリオを続行する場所を定義します。
- Hang-up (通話終了) – これは疑似アクションです。IVRフローの終了をマークし、通話を終了します。
- If-Then-Else (さもなければ) – 式が true か false かを確認し、IVRコールを分岐します。
- Machine Detection (機械検出) – アウトバウンドIVRコールの開始時に留守番電話があるかどうかを検出します。
- Play (再生) –事前に録音されたオーディオファイルを再生します (URLとして利用可能)。URLをパラメーターとしてペーストします。
- Play from recording (録音から再生) – [録音]エレメントを使用して録音されたオーディオファイルを再生します。現在の通話中に生成された録音ファイル、または別の通話中に生成された録音ファイルを使用できます。
- Repeat-While (途中で繰り返す) - コードブロックに設定された条件が true である限り、そのブロックを繰り返し実行します。無限ループを引き起こす条件を指定しないようにしてください。
- Say (話す) – テキストを音声に変換し、顧客に再生します。
- Send SMS (SMSを送信) – 事前定義されたテキストを含むSMSを送信します。
- Set Variable (変数を設定) – 変数値を設定します。
- Switch-Case (ケースをスイッチ) – 変数値をチェックし、IVRコールを分岐します。
- While-Do (しながら実行) – 式が true か false かをチェックし、IVRコールを分岐します。
-
IVRシナリオを事前に構成 (作成) したら、新しいシナリオを作成しなくても、 PUT メソッド (opens in a new tab)を使って更新できます。また、以前に構成したIVRシナリオを 削除 (opens in a new tab) す ることもできます。コールが終了したら、Analyze (アナライズ) からWebインターフェイス経由のレポート (opens in a new tab)、API 経由の配信レポートまたはログ (opens in a new tab) で、コールの詳細を確認できます。
-
すべての配信レポートを取得 (opens in a new tab)することができます。また、NTT CPaaS プラットフォームがご指定のURLにこれらの配信レポートを送信するように 構成 (opens in a new tab)することも可能です。
詳細については、レポートをご参照ください。
音声認識
NTT CPaaSの音声認識機能は、IVRを使ってコミュニケーションを取り合っている間のエンドユーザーの音声をキャプチャします。NTT CPaaS プラットフォームでは、入力された音声データを保存して、事前定義された単語や語句と照合できます。次に、事前に設定した構成に応じて、さらにIVR アクションが必要な場合はそれを実行します。これにより、エンドユーザーはキーパッドの数字をタップするだけに限定されることなく、より高い柔軟性を提供できます。
可用性
音声認識は API 経由でのみ使用できます。NTT CPaaSのWebインターフェイスでは使用できません。
エンドユーザーの音声入力をCapture IVR (キャプチャIVR) アクションを使って) キャプチャするためのIVRシナリオを作成する場合 、必ず以下の手順に従うようにしてください:
- [キャプチャ]アクションを使って音声認識を設定する手順の中で最も重要なステップの1つは、エンドユーザーが話すと予想される言語を選択することです。
- その後、一致させる必要のあるいくつかのキーフレーズと、timeout、silence timeoutなど、使用可能な追加のパラメーターを設定できます。
- また、キーフレーズを一致させるのではなく、エンドユーザーが話すあらゆることをキャプチャし、追加のIVRアクションを使ってその入力をテキストとしてお使いのプラットフォームにAPI経由で送信することもできます。
IVR シナリオの事前構成や音声認識の活用法の詳細については、API ドキュメント (opens in a new tab) をご参照ください。
ベストプラクティス
ここでは、音声認識をより効果的に活用するためのヒントとコツをいくつか紹介します。
ヒント 1 - ユースケースを把握する
音声認識を効率的に使用するには、いくつかの要因を考慮する必要があります:
- 常に特定のユースケースについて考え、エンドユーザーのニーズに合わせて調整する努力を重ねるようにします。
- IVRでサポートされている言語の最も適したバリエーションを使用するようにします。
- 電話と通話の品質に違いがある可能性があると想定します。到達が困難な特定の地域のエンドユーザーにリーチする方法について計画を立てます。
- バックグラウンドノイズがあることを想定しておきます。エンドユーザーが通りを歩いている時、混雑した場所にいる時やラッシュアワーの時間帯などに携帯電話を使用している可能性があります。
- 短く簡潔な質問を用意しておきます。どのような返信を受け取ることを見込んでいますか?複雑な用語は使わず、エンドユーザーが容易に理解できるように、簡単な言葉を使用するようにします。
- 音声認識の持続時間にご注意ください。5秒、10秒、または20秒以内の返信を期待するのは妥当でしょうか?
ヒント 2 - timeout
とmaxSilence
を慎重に調整する
最も重要なことの1つは、エンドユーザーが質問に返信するのに必要な時間を考慮することです。
例えば、次のユースケースで考えてみましょう:
{
"capture": "myVar",
"timeout": 10,
"speechOptions": {
"language": "en-US",
"keyPhrases": ["info", "update"]
}
}
この例では、IVRオプションが10 秒に設定されています。この 10 秒間に次のフレーズ ("info" または "update") をキャプチャする必要があります。次に、テストと調整を行います。10秒で十分ですか、長すぎますか?これは、単語の長さ、エンドユーザーの音声パターン、反応時間などの複数の要因によって変わってきます。
言うまでもなく、エンドユーザーが次のアクションに移るのに時間がかかりすぎたり、キーワードを言うのに十分な時間がないことに腹を立てたりすることは望ましくありません。
maxSilence
(以下を参照) を使用すると、どうなるでしょう?
{
"capture": "myVar",
"timeout": 10,
"speechOptions": {
"language": "en-US",
"maxSilence": 3,
"keyPhrases": ["info", "update"]
}
}
この例では、エンドユーザーに10 秒、そして 3 秒の maxSilence オプションが設定されています。これは何を意味するかというと、IVRが 3 秒間の無音を検出するとキャプチャを停止する、ということです。
ただし、エンドユーザー が1秒以内にキーワードを言った場合、IVRは次のアクションに進む前に2秒待つ必要があります。
エンドユーザーが考えるのをやめて、3秒以上一時停止した場合はどうなるでしょう?その場合、IVRはユーザーの入力をキャプチャしません。
言うまでもなく、すべての人に有効な一般的なアドバイスを提供することは困難ですが、私たちからの提案は次のとおりです:
- 可能であれば、簡単な質問をし、簡潔でシンプルな回答をユーザーに提案します。
- 様々な
timeout
とmaxSilence
のバリエーションを試し、エンドユーザーに提供する前に音声キャプチャの動作テストをしておきます。
ヒント 3 - 簡単なキーフレーズを使用する
keyPhrases
は、キャプチャされた音声と指定されたテキストを照合し、その一致に基づいてIVRシナリオを分岐します。
例:
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"maxSilence": 3,
"keyPhrases": ["yes, I want more info", "no, I do not want more info", "I am not sure"]
}
},
{
"if": "${myVar == 'yes, I want more info'}",
"then": [
{
"say": "Ok. I will send you more details"
}
],
"else": []
}
ここで注意が必要です。エンドユーザーがいつも必ずキーフレーズを正確に言うとは限りません。
エンドユーザーが例えば、定義したキーフレーズの代わりに「はい、詳細情報をください」と言ったとします。これだとキーフレーズと一致しないため、IF 式はトリガーされません。
キーフレーズが長いほど、エンドユーザーがその特定のキーフレーズに正常に一致する確率は低くなります。
例:
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"maxSilence": 3,
"keyPhrases": ["more info", "exit", "maybe"]
}
},
{
"if": "${myVar == 'more info'}",
"then": [
{
"say": "Ok. I will send you more details"
}
],
"else": []
}
上記の例にいくつかの調整を加えました。これで、キーフレーズに一致する確率が高くなります。
キーフレーズは、エンドユーザーが話す内容を制限しません。エンドユーザーは、単なるキーフレーズよりも多くのことを言うことができます。ただし、キーフレーズは、IVR シナリオを正しく照合して分岐するためのキーです。 例えば、エンドユーザーが 「はい、詳細情報が欲しいです」または「はい、詳細情報をください」と言った場合、どちらの場合も、myVar は 詳細情報
であるため、キーフレーズが一致します。
完全にキャプチャされた音声に興味がある場合は、myVar_Full
変数を使用してみてください (「myVar」は単なる例であり、これらに好きな名前を付けることができます)。
最後に、両方の例をさらに短いフレーズに減らすことができます。
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"maxSilence": 3,
"keyPhrases": ["yes", "no", "maybe"]
}
},
{
"if": "${myVar == 'yes'}",
"then": [
{
"say": "Ok. I will send you more details"
}
],
"else": []
}
キーフレーズは、完全にキャプチャされた音声テキストと提供されたキーフレーズを比較することによって常に照合されます。
このヒントの最後の例を見てみましょう:
{
"say": "Do you want discount?"
},
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"maxSilence": 3,
"keyPhrases": ["discount"]
}
},
{
"if": "${myVar == 'discount'}",
"then": [
{
"say": "Ok. I will send you more details"
}
],
"else": []
}
キーフレーズの特定の単語の選択方法にご注意ください。例えば、キーフレーズを「割引」に設定したとします。
あるエンドユーザーが「いいえ、割引は必要ありません」と言い、別のエンドユーザーが「はい、割引が必要です」と言ったとします。問題が見えましたか?
どちらの場合も、キーフレーズが一致し、両方のエンドユーザーに「割引」に関する詳細情報が表示されます。そのため、常に短く、明確で、シンプルなキーフレーズを使用し、混乱を防ぐために考えられるすべてのユースケースについて考慮する必要があります。
ヒント4 - 音声信号 (ビープ音) の後にキャプチャを開始する
エンドユーザーに、音声信号 (ビープ音) を聞いた後に話し始める必要があることを知らせます。
例:
{
"say": "If you want more info, say: info. If you want to reach our agent, say: agent"
},
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"maxSilence": 3,
"keyPhrases": ["info", "agent"]
}
},
{
"if": "${myVar == 'info'}",
"then": [
{
"say": "Ok. I will send you more details"
}
],
"else": []
}
最初のオーディオメッセージが終わりまで再生される前にエンドユーザーが「info」と言った場合、何もキャプチャされません。ユースケースでこのような状況が発生した場合、音声信号の後に話し始めるようにエンドユーザーに提案できます。
{
"say": "If you want more info, after the beep signal say: info. If you want to reach our agent, after the beep signal say: agent"
},
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"maxSilence": 3,
"keyPhrases": ["info", "agent"]
}
},
{
"if": "${myVar == 'info'}",
"then": [
{
"say": "Ok. I will send you more details"
}
],
"else": []
}
ヒント 5 - DTMFフェールオーバーを提供する
例えば、エンドユーザーが強いアクセントで話す場合、発話が困難な場合、信号強度が弱い場合、またはエコーがある場合、音声入力をキャプチャするのが困難になることがあります。このような場合は、フェールオーバーオプションとして DTMF を使用します。
これは即ち、音声入力の形式で、または電話のキーパッドで事前定義された数字を押すことで応答できることを意味します。
{
"say": "Say discount or press 1 to get discount. Say exit or press 0 to exit."
},
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"model": "DEFAULT",
"keyPhrases": ["discount", "exit"]
},
"dtmfOptions": {
"maxInputLength": 1
}
},
{
"if": "${myVar == 'discount' || myVar == '1'}",
"then": [
{
"say": "You will get discount"
}
],
"else": [
{
"say": "Goodbye"
}
]
}
この例では、エンドユーザーが言葉を発する代わりに 1 または 0 をタップできることを示しています。
DTMFフェールオーバーが有効になると、音声認識よりも優先されます。例えば、エンドユーザーが何かを言って 1 をタップすると、音声の代わりに myVar
が録音されます。
ただし、エンドユーザーが「割引」というキーフレーズを発し、キーパッドで何もタップしない場合は、通常どおりmyVar
とmyVar_Full
がキャプチャされます。
ヒント 6 - DTMF のキャプチャに maxInputLength
を使用する
電話機のキーパッドの数字を押して DTMFフェールオーバーを使用する場合、IVR キャプチャを停止するタイミングを決定する必要があります。
重要なポイントを示すために、少し変更した前の例をもう一度見てみましょう:
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"model": "DEFAULT",
"keyPhrases": ["discount", "exit"]
},
"dtmfOptions": {}
}
maxInputLength
がないと、IVR は何桁押されるかわからないため、 timeout
の設定時間が過ぎるのを待ちます。
この例では、IVRは 5 秒間待機して、押されたすべての数字をキャプチャします。maxInputLength
を使用すると、IVRはキャプチャを停止し、指定された桁数をキャプチャするとすぐにシナリオを続行できるようになります。
最初の桁が押されるとすぐに、maxInputLength
が 1 の場合、IVR シナリオを続行できます。この場合もtimeout
は尊重され、エンドユーザーは何かを言ったり数字を押したりするのに5秒間与えられます。
例:
{
"capture": "myVar",
"timeout": 5,
"speechOptions": {
"language": "en-US",
"model": "DEFAULT",
"keyPhrases": ["discount", "exit"]
},
"dtmfOptions": {
"maxInputLength": 1
}
}
音声認識でサポートされている言語
早期アクセス段階では、以下の表に記載されている言語をサポートします (近い将来、リストを拡張します)。
API リクエストで特定の言語を選択する時に使用する必要がある略語については、以下の表をご確認ください。
言語 | 略称 |
---|---|
アフリカーンス語 (南アフリカ) | af-ZA |
アルバニア語 (アルバニア) | sq-AL |
アムハラ語 (エチオピア) | am-ET |
アラビア語 (アルジェリア) | ar-DZ |
アラビア語 (バーレーン) | ar-BHの |
アラビア語 (エジプト) | ar-EG |
アラビア語 (イラク) | ar-IQ |
アラビア語 (イスラエル) | ar-IL |
アラビア語 (ヨルダン) | ar-JO |
アラビア語 (クウェート) | ar-KW |
アラビア語 (レバノン) | ar-LB |
アラビア語 (リビア) | ar-LY |
アラビア語 (モロッコ) | ar-MA |
アラビア語 (オマーン) | ar-OM |
アラビア語 (カタール) | ar-QA |
アラビア語 (サウジアラビア) | ar-SA |
アラビア語 (パレスチナ国) | ar-PS |
アラビア語 (シリア) | ar-SYの |
アラビア語 (チュニジア) | ar-TN |
アラビア語 (アラブ首長国連邦) | ar-AE |
アラビア語 (イエメン) | ar-YE |
アルメニア語 (アルメニア) | hy-AM |
アゼルバイジャン語 (アゼルバイジャン) | az-AZ |
バスク語 (スペイン) | eu-ES |
ベンガル語 (バングラデシュ) | bn-BD |
ベンガル語 (インド) | bn-IN |
ボスニア語 (ボスニア・ヘルツェゴビナ) | bs-BA |
ブルガリア語 (ブルガリア) | bg-BG |
ビルマ語 (ミャンマー) | my-MM |
カタロニア語 (スペイン) | ca-ES |
中国語 (広東語、繁体字) | zh-HK |
中国語 (北京語、簡体字) | zh-CN |
中国語 (北京語、台湾) | zh-TW |
クロアチア語 (クロアチア) | hr-HR |
チェコ語 (チェコ共和国) | cs-CZ |
デンマーク語 (デンマーク) | da-DK |
オランダ語 (ベルギー) | nl-BE |
オランダ語 (オランダ) | nl-NL |
英語 (オーストラリア) | en-AU |
英語 (カナダ) | en-CA |
英語 (ガーナ) | en-GH |
英語 (イギリス) | en-GB |
英語 (香港) | en-HK |
英語 (インド) | en-IN |
英語 (アイルランド) | en-ie |
英語 (ケニア) | en-KE |
英語 (ニュージーランド) | en-NZ |
英語 (ナイジェリア) | en-NG |
英語 (パキスタン) | en-PK |
英語 (フィリピン) | en-PH |
英語 (シンガポール) | en-SG |
英語 (南アフリカ) | en-ZA |
英語 (タンザニア) | en-TZ |
英語 (米国) | en-US |
エストニア語 (エストニア) | et-EE |
フィリピノ語 (フィリピン) | fil-pH |
フィンランド語 (フィンランド) | fi-FI |
フランス語 (ベルギー) | fr-BE |
フランス語 (カナダ) | fr-CA |
フランス語 (フランス) | fr-FR |
フランス語 (スイス) | fr-CH |
ガリシア語 (スペイン) | gl-ES |
グルジア語 (グルジア) | ka-GE |
ドイツ語 (オーストリア) | de-AT |
ドイツ語 (ドイツ) | de-DE |
ドイツ語 (スイス) | de-CH |
ギリシャ語 (ギリシャ) | el-GR |
グジャラート語 (インド) | gu-IN |
ヘブライ語 (イスラエル) | he-IL |
ヒンディー語 (インド) | hi-IN |
ハンガリー語 (ハンガリー) | hu-HU |
アイスランド語 (アイスランド) | is-IS |
インドネシア語 (インドネシア) | id-ID |
アイルランド語 (アイルランド) | ga-IE |
イタリア語 (イタリア) | it-IT |
イタリア語 (スイス) | it-CH |
日本語 (日本) | ja-JP |
ジャワ語 (インドネシア) | jv-ID |
カンナダ語 (インド) | kn-IN |
カザフ語 (カザフスタン) | kk-KZ |
クメール語 (カンボジア) | km-KH |
韓国語 (韓国) | ko-KR |
ラオス語 (ラオス) | lo-LA |
ラトビア語 (ラトビア) | lv-LV |
リトアニア語 (リトアニア) | lt-LT |
マケドニア語 (北マケドニア) | mk-MK |
マレー語 (マレーシア) | ms-MY |
マラヤーラム語 (インド) | ml-IN |
マルタ語 (マルタ) | mt-MT |
マラーティー語 (インド) | mr-IN |
モンゴル語 (モンゴル) | mn-MN |
ネパール語 (ネパール) | ne-NP |
ノルウェー語 (ブークモール) (ノルウェー) | no-NO |
ペルシャ語 (イラン) | fa-IR |
ポーランド語 (ポーランド) | pl-PL |
ポルトガル語 (ブラジル) | pt-BR |
ポルトガル語 (ポルトガル) | pt-PT |
パンジャブ語 (グルムキー語、インド) | pa-Guru-IN |
ルーマニア語 (ルーマニア) | ro-RO |
ロシア語 (ロシア) | ru-RU |
セルビア語 (セルビア) | sr-RS |
シンハラ語 (スリランカ) | si-LK |
スロバキア語 (スロバキア) | sk-SK |
スロベニア語 (スロベニア) | sl-SI |
スペイン語 (アルゼンチン) | es-AR |
スペイン語 (ボリビア) | es-BO |
スペイン語 (チリ) | es-CL |
スペイン語 (コロンビア) | es-CO |
スペイン語 (コスタリカ) | es-CR |
スペイン語 (キューバ) | es-CU |
スペイン語 (ドミニカ共和国) | es-DO |
スペイン語 (エクアドル) | es-EC |
スペイン語 (エルサルバドル) | es-SV |
スペイン語 (赤道ギニア) | es-GQ |
スペイン語 (グアテマラ) | es-GT |
スペイン語 (ホンジュラス) | es-HN |
スペイン語 (メキシコ) | es-MX |
スペイン語 (ニカラグア) | es-NI |
スペイン語 (パナマ) | es-PA |
スペイン語 (パラグアイ) | es-PY |
スペイン語 (ペルー) | es-PE |
スペイン語 (プエルトリコ) | es-PR |
スペイン語 (スペイン) | es-ES |
スペイン語 (米国) | es-US |
スペイン語 (ウルグアイ) | es-UY |
スペイン語 (ベネズエラ) | es-VE |
スンダ語 (インドネシア) | su-ID |
スワヒリ語 (ケニア) | sw-KE |
スワヒリ語 (タンザニア) | sw-TZ |
スウェーデン語 (スウェーデン) | sv-SE |
タミル語 (インド) | ta-IN |
タミル語(マレーシア) | ta-MY |
タミル語 (シンガポール) | ta-SG |
タミル語 (スリランカ) | ta-LK |
テルグ語 (インド) | te-IN |
タイ語 (タイ) | th-TH |
トルコ語 (トルコ) | tr-TR |
ウクライナ語 (ウクライナ) | uk-UA |
ウルドゥー語 (インド) | ur-IN |
ウルドゥー語 (パキスタン) | ur-PK |
ウズベク語 (ウズベキスタン) | uz-UZ |
ベトナム語 (ベトナム) | vi-VNの |
ズールー語 (南アフリカ) | zu-ZA |