言語およびデジタル・アシスタント

単一言語デジタル・アシスタントと複数言語デジタル・アシスタントの両方を開発できます。言語に関連する処理の大部分はデジタル・アシスタントのスキルで実行されますが、デジタル・アシスタント自体がユーザーの言語を検出し、使用開始時、ヘルプ、あいまい性解消などのメッセージをその言語で表示する必要もあります。

主な選択肢は次のとおりです:

  • Oracle Digital Assistantのネイティブ言語サポートを使用するスキルのために、単一言語または複数言語のデジタル・アシスタントを作成します。

    デジタル・アシスタントで、ターゲット言語を指定し、それらの言語をサポートするスキルを追加します。ユーザーがデジタル・アシスタントで会話を開始すると、言語が自動的に検出され、その会話の間デジタル・アシスタントによって使用されます。

    出力用に、各言語のリソース・バンドル・エントリを定義します。

    スキルのネイティブ言語サポートも参照してください。

  • 翻訳サービスに基づく複数言語デジタル・アシスタントを作成して、次を行います:

    • 翻訳サービスを追加します。
    • 翻訳サービスが設定されており、言語の検出コンポーネントで構成され、英語のトレーニング・データがあるスキルを追加します。
    • オプションで(できれば)、デジタル・アシスタントのラベル、プロンプトおよびメッセージについて、1つ以上の言語のリソース・バンドルを追加します。

    自動翻訳を使用した複数言語スキルも参照してください。

  • 翻訳サービスに基づく英語以外の単一言語デジタル・アシスタントを作成して、次を行います:

    • 翻訳サービスを追加します。
    • 翻訳サービスが設定されており、言語の検出コンポーネントで構成され、スキルとデジタル・アシスタントのターゲット言語のトレーニング・データがあるスキルを追加します。
    • 様々な出力文字列の翻訳を(リソース・バンドルを使用するか、プロパティのフィールドに直接)指定します。

    翻訳サービスを使用する英語以外の単一言語スキルも参照してください。

ネイティブ言語モードと翻訳サービス・モードの選択

スキルおよびデジタル・アシスタントを作成する場合、Oracle Digital Assistantのネイティブ言語サポートまたはサード・パーティの翻訳サービスを使用できます。ただし、それぞれのスキルおよびデジタル・アシスタントでは、これらのアプローチのいずれかのみを使用できます。スキルをデジタル・アシスタントに追加できるのは、そのスキルがデジタル・アシスタントと同じ翻訳アプローチを使用している場合のみです

ターゲットにするすべての言語がネイティブ・サポート言語のリストにある場合は、言語のネイティブ・サポートを使用することをお薦めします。ネイティブ言語サポートを使用すると:

  • すべてのターゲット言語のデータを使用して、スキルおよびデジタル・アシスタントのトレーニング・モデルを構築できます。(翻訳サービス・アプローチを使用する場合、主言語のトレーニング・データしか提供できません。)
  • サード・パーティ・サービスに翻訳料金を支払う必要がありません。
  • スキルのトレーニング・データおよびユーザー会話のテキストへのアクセス権を、サード・パーティ・サービスに付与する必要がありません。

ネイティブでサポートされていない言語をサポートする場合は、翻訳サービスを使用します。

デジタル・アシスタントでのネイティブ言語サポート

プラットフォーム・バージョン20.12以降では、ネイティブ言語サポートを使用するデジタル・アシスタントを開発できます。そのようなデジタル・アシスタントでは、それらの言語でユーザー入力およびスキル・レスポンスを処理するためにサード・パーティ翻訳サービスを使用する必要がありません。

ネイティブ言語サポートを使用するデジタル・アシスタントは、ネイティブ言語サポートを使用するスキルを含む必要があります。そのようなスキルの開発方法の詳細は、スキルのネイティブ言語サポートを参照してください。

ネイティブ言語モードでのデジタル・アシスタントの設定

次に、ネイティブ・サポート言語モードでデジタル・アシスタントを設定する最初のステップを示します:

  1. サイド・メニューを開くアイコンをクリックしてサイド・メニューを開き、「開発」→「デジタル・アシスタント」を選択して、「新規デジタル・アシスタント」をクリックします。

  2. 次のフィールドに特に注意して、ダイアログの指定を完了します:
    • プラットフォーム・バージョン: プラットフォーム・バージョンは、自然言語理解(NLU)エンジンによるインテントの解決方法やネイティブでサポートされる言語など、デジタル・アシスタントの動作に影響します。

      ネイティブ・サポート言語モードの場合は、20.12以降に設定する必要があります。

      プラットフォーム・バージョンを参照してください。

    • プライマリ言語: これにより、デジタル・アシスタントのデフォルト言語と、デジタル・アシスタントがその言語のネイティブ・サポートを使用するか、翻訳サービスを利用するかの両方が決まります。

      このフィールドでは、ドロップダウンの「ネイティブ・サポート」セクションで言語を1つ選択する必要があります。

  3. デジタル・アシスタントに言語を追加する必要がある場合:
    1. 新しく作成したデジタル・アシスタントの左側のナビゲーションで、「設定」アイコンをクリックします。
    2. 「言語の追加」をクリックし、追加する言語を選択します。

完了した言語と進行中の言語

Oracle Digital Assistantのネイティブ言語サポートに基づくデジタル・アシスタントでは、デジタル・アシスタント用に構成する言語が、スキル用に構成する言語と一致する必要があります。

スキルとデジタル・アシスタントに対して構成された言語が一致しているかどうかをモニターするために、言語またはスキルをデジタル・アシスタントに追加するたびにチェックが実行され、各言語が「完了」または「進行中」としてマークされます:

  • 完了した言語とは、その言語に対してデジタル・アシスタントの各スキルが構成されている言語です。
  • 進行中の言語とは、1つ以上のスキルが構成されていない言語です。

完了した言語および進行中の言語のリストは、デジタル・アシスタントの「設定」ページ(「設定」アイコン)の「一般」タブにあります。

ノート

デジタル・アシスタントが構成されていない言語に対して構成されているスキルを追加することもできます。このような言語は、デジタル・アシスタントの「設定」ページには反映されません。

翻訳サービスからネイティブ言語サポートへの切替え

翻訳サービスの使用がすでに構成されたデジタル・アシスタントでOracle Digital Assistantネイティブ言語サポートを利用する場合は、次の一般的なステップに従います:

  1. デジタル・アシスタントのすべてのスキルについて、ネイティブ言語サポートを使用するバージョンを作成します。

    ネイティブ・サポート言語を使用するスキルの作成を参照してください。

    ネイティブ・サポート言語のリストは、ネイティブ・サポート言語を参照してください。(サポートしようとする言語がそのリストにない場合は、引き続き翻訳サービス・モードを使用する必要があります。)

  2. デジタル・アシスタントの新規バージョンまたはクローンを作成します。

    1. サイド・メニューを開くアイコンをクリックしてサイド・メニューを開き、「開発」→「デジタル・アシスタント」を選択します。

    2. バージョンまたはクローンを作成するデジタル・アシスタントのタイルで、「オプション」メニューを開くアイコンをクリックして「バージョン」または「クローン」を選択します。

    3. 必須フィールドに入力し、「作成」をクリックします。
  3. 作成された新しいバージョンまたはクローンから、すべてのスキルを削除します。

    デジタル・アシスタントに翻訳サービス・モードのスキルが含まれている場合は、ネイティブ言語サポートを使用するようにデジタル・アシスタントを切り替えることができないため、これは必須です。

  4. そのように変更したデジタル・アシスタントの新しいバージョンまたはクローンを作成し、プラットフォーム・バージョン20.12以降を選択し、「ネイティブ・サポート」言語モードを選択します。

    このステップにより、スキルを個別に処理する必要がある場合でも、デジタル・アシスタントに対して行った構成を保持できます。

  5. ネイティブ言語サポート・バージョンのスキルをデジタル・アシスタントに追加します。

ネイティブ・サポート言語を使用するデジタル・アシスタントでの言語検出

複数のネイティブ・サポート言語を使用するデジタル・アシスタント(またはスタンドアロン・スキル)では、デジタル・アシスタントはセッションの開始時にユーザーの言語を自動的に検出できます。この仕組みは次のとおりです:

  • 複数のネイティブ・サポート言語を使用するように構成されているデジタル・アシスタントおよびスキルでは、言語が自動的に検出されます。
    • デジタル・アシスタントに(ネイティブ・サポート)言語が1つしかない場合、言語検出はオフになります。
    • デジタル・アシスタントが翻訳サービスを使用する場合、デジタル・アシスタントではなく翻訳サービスが言語検出を処理します。
  • profile.languageTagまたはprofile.locale変数が設定されたチャネルからデジタル・アシスタントがアクセスされている場合、言語は自動的に検出されません
  • 言語は会話の最初の発話で検出され、ユーザーが言語を切り替えてもセッション中には更新されません。
  • デフォルトでは、チャネル・セッションは7日継続してから有効期限が切れます。

翻訳サービスを使用するデジタル・アシスタント

翻訳サービス・モードでの英語以外の単一言語デジタル・アシスタントの設定

次に、翻訳サービス言語モードで英語以外の単一言語デジタル・アシスタントを設定する最初のステップを示します:

  1. サイド・メニューを開くアイコンをクリックしてサイド・メニューを開き、「開発」→「デジタル・アシスタント」を選択して、「新規デジタル・アシスタント」をクリックします。

  2. 次のフィールドに特に注意して、ダイアログの指定を完了します:
    • プラットフォーム・バージョン: プラットフォーム・バージョンは、自然言語理解(NLU)エンジンによるインテントの解決方法やネイティブでサポートされる言語など、デジタル・アシスタントの動作に影響します。

      新しいデジタル・アシスタントを使用して始める場合は、入手可能な最新バージョンを選択してください。そのバージョンがサポート期間が最も長くなるためです。

      プラットフォーム・バージョンを参照してください。

    • プライマリ言語: このフィールドが表示されるのは、プラットフォーム・バージョン20.12以降を選択した場合のみです。

      このフィールドでは、ドロップダウンの「翻訳サービス」セクションでターゲット言語を選択する必要があります。

      注意:

      必ず「翻訳サービス」セクションから選択してください。「ネイティブ・サポート」セクションから選択すると、デジタル・アシスタントがネイティブ・サポート・モードを使用するスキルしか受け入れられなくなります。

      このフィールドが表示されない場合は、デジタル・アシスタントに追加する最初のスキルの言語によってデジタル・アシスタントの言語が決まります。このケースでは、この言語はプライマリ言語ではなく、主言語と呼ばれます。

翻訳サービス・モードでの複数言語デジタル・アシスタントの設定

次に、翻訳サービス言語モードで複数言語デジタル・アシスタントを設定する最初のステップを示します:

  1. サイド・メニューを開くアイコンをクリックしてサイド・メニューを開き、「開発」→「デジタル・アシスタント」を選択して、「新規デジタル・アシスタント」をクリックします。

  2. 次のフィールドに特に注意して、ダイアログの指定を完了します:
    • プラットフォーム・バージョン: プラットフォーム・バージョンは、自然言語理解(NLU)エンジンによるインテントの解決方法やネイティブでサポートされる言語など、デジタル・アシスタントの動作に影響します。

      新しいデジタル・アシスタントを使用して始める場合は、入手可能な最新バージョンを選択してください。そのバージョンがサポート期間が最も長くなるためです。

      プラットフォーム・バージョンを参照してください。

    • プライマリ言語: このフィールドが表示されるのは、プラットフォーム・バージョン20.12以降を選択した場合のみです。

      このフィールドでは、ドロップダウンの「翻訳サービス」セクションで「英語」を選択する必要があります。

      注意:

      必ず「翻訳サービス」セクションから選択してください。「ネイティブ・サポート」セクションから選択すると、デジタル・アシスタントがネイティブ・サポート・モードを使用するスキルしか受け入れられなくなります。

      このフィールドが表示されない場合は、デジタル・アシスタントに追加する最初のスキルの言語によってデジタル・アシスタントの言語が決まります。このケースでは、この言語はプライマリ言語ではなく、主言語と呼ばれます。

デジタル・アシスタントへの翻訳サービスの追加

  1. まだ実行していない場合は、次の方法でデジタル・アシスタント・インスタンスに翻訳サービスを構成します:
    1. サイド・メニューを開くアイコンをクリックしてサイド・メニューを開き、「設定」→「翻訳サービス」を選択します。
    2. 「+サービス」をクリックします。
    3. 「翻訳サービス」ダイアログにMicrosoft TranslatorサービスのURLと認可トークンまたはGoogle Translation APIを入力します。
    URLおよびアクセス・トークンの取得方法については、Microsoft TranslatorおよびGoogle Translation APIのドキュメントを参照してください。
    ノート

    Google Translation APIを使用するには、APIキーを生成する必要があります。このキーは、GCP Console (「APIs & services」「Credentials」)から作成します。詳細は、Google Cloud Platformのドキュメントを参照してください。
  2. デジタル・アシスタントで次のように翻訳サービスを設定します:
    1. サイド・メニューを開くアイコンをクリックしてサイド・メニューを開き、「開発」→「デジタル・アシスタント」を選択して、デジタル・アシスタントを選択します。
    2. デジタル・アシスタントの左側のナビゲーション・バーで、「設定」(「設定」アイコン)アイコンをクリックし、「一般」タブを選択します。
    3. 「翻訳サービス」ドロップダウンに移動し、翻訳サービスを選択します。

翻訳対応デジタル・アシスタントでの言語検出の有効化

デフォルトでは、デジタル・アシスタントが翻訳サービスで設定されている場合、デジタル・アシスタントは言語の検出コンポーネントが設定されているスキルと同じ方法でユーザーの言語を検出します。

ただし、デジタル・アシスタントのスキルが、デジタル・アシスタントによって検出された言語を使用していることを確認する必要もあります。スキルがデジタル・アシスタントの一部である場合、デジタル・アシスタントはユーザー入力を英語に翻訳し、翻訳された英語テキストをスキルに渡します。したがって、デフォルトでは、スキルの「言語の検出」コンポーネントは英語を言語として検出し、ユーザーが英語以外のテキストを入力した場合でもprofile.LanguageTag変数を英語に設定します。

ビジュアル・モードで開発されたダイアログ・フローを使用してスキルでこの英語に切り替えられないようにするには、各スキルの「言語の検出」コンポーネントの「既存のプロファイル言語タグ」プロパティをTrueに設定する必要があります。

これにより、スキルでは、デジタル・アシスタントによって設定されるprofile.LanguageTag変数の値が受け入れられます。

YAMLベース・スキルでこの英語への切替えを防ぐには、各スキルでSystem.DetectLanguageコンポーネントに次のプロパティを追加する必要があります。


      useExistingProfileLanguageTag: true

useExistingProfileLanguageTagが設定されたYAMLベースのスキルのSystem.DetectLanguageコンポーネントの例を次に示します:

  detectLang:
    component: "System.DetectLanguage"
    properties:
      useExistingProfileLanguageTag: true
    transitions:
      ...
ノート

デジタル・アシスタントでまったく使用されていないスキルであっても、そのプロパティはすべてのスキルで使用できます。スキルがデジタル・アシスタントの一部でない場合、このプロパティは無効です。

出力テキストの翻訳

翻訳サービスを使用するデジタル・アシスタントのユーザー表示テキストには、次のいずれかの翻訳アプローチを使用できます:

  • デジタル・アシスタント用に構成された翻訳サービスを使用します。

    このアプローチを使用する場合、英語の出力メッセージのみが必要です。その他の構成は不要です。構成した翻訳サービスは、出力メッセージをユーザーの言語に自動的に翻訳します。

  • リソース・バンドルを使用して、出力メッセージを自分で翻訳します。
    ノート

    リソース・バンドル・キーへの参照がない出力メッセージの場合は、翻訳サービスがメッセージの翻訳に自動的に使用されます。

翻訳対応デジタル・アシスタントでの明示的な起動

翻訳サービスを使用するデジタル・アシスタントでは、スキルの明示的な起動は、検出された言語と英語の両方でデジタル・アシスタントによって認識されます。

デジタル・アシスタントにスキルを追加するための条件

スキルをデジタル・アシスタントに追加しようとすると、デジタル・アシスタントと互換性のあるスキルのみが提示されます。互換性ルールは次のとおりです:

  • スキルとデジタル・アシスタントは両方とも、同じ方法(ネイティブに、または翻訳サービスを介して)でターゲット言語をサポートする必要があります。
  • ネイティブ・サポート言語モードで作成されたデジタル・アシスタントの場合、スキルはそのデジタル・アシスタントでサポートされているすべての言語をサポートする必要があります。
    • スキルがより多くの言語をサポートしている場合、デジタル・アシスタントはそれらの言語を無視します。
    • スキルが公開され、デジタル・アシスタント言語のサブセットのみがサポートされている場合、そのスキルは追加できません。
    • スキルがドラフト・モードの場合、デジタル・アシスタントの言語のサブセットしかサポートしていなくても、そのスキルを追加できます。ただし、公開する前に、不足している言語をスキルに追加する必要があります。
ノート

デジタル・アシスタントをアップグレードして(クローニング、バージョニングまたはリベースによって)、その言語モードを変更すると、デジタル・アシスタントのスキルは無効になります。これらのスキルを機能させるために、デジタル・アシスタントの同じ言語モードで構成されたバージョンに置き換えることができます。

デジタル・アシスタントのリソース・バンドル

複数言語でのデジタル・アシスタントのレスポンスの表現を制御する場合は、リソース・バンドルを使用します。必要な言語と同数のリソース・バンドルを提供できます。

リソース・バンドルを使用した翻訳プロセスは、次のステップで構成されています:

  • 翻訳が必要なフィールドおよびプロパティを特定します。
  • リソース・バンドル・キーがまだないフィールドに対してリソース・バンドル・キーを作成し、デフォルト言語の値を指定します。
  • キーごとに、必要に応じていくつもの言語で、翻訳済の値を入力します。
  • 翻訳を指定したフィールドおよびプロパティについて、対応するリソース・バンドル・キーへの参照を入力します。単純な文字列の場合は、次の式のフォーマットを使用します(rbはリソース・バンドル用に予約された識別子です):
    ${rb.BundleKeyName}

    変数を使用するプロパティの場合は、次の式のフォーマットを使用します:

    ${rb('bundleKey', variableForParam0, variableForParam1)}

デジタル・アシスタントでの翻訳可能な文字列

翻訳可能な文字列は、次の2つの場所にあります:

  • デジタル・アシスタントの「スキル」(「スキル」アイコン)ページ。

    ここには主に、ユーザーがデジタル・アシスタントでヘルプを要求したとき、およびデジタル・アシスタントがユーザーを初めて迎えたときに表示されるヘルプ・カードに使用される文字列があります。

    スキルごとに、次を翻訳できます
    • 「1文の説明」「説明」および「起動」の各フィールド。
    • 「発話例」
  • 「設定」 (「設定」アイコン)ページの「構成」タブ内の「会話パラメータ」セクション。プラットフォーム・バージョン21.04以降、これらの設定に対してリソース・バンドル・エントリが自動的に作成されます。

リソース・バンドル・キーの作成および編集

リソース・バンドル・キーを使用して、翻訳が必要な出力テキストを識別し、1つ以上の言語で値を提供します。プラットフォーム・バージョン21.04以降を使用するデジタル・アシスタントの場合、デジタル・アシスタントの構成設定に対してキーが自動的に生成されます。その他の文字列(およびプラットフォーム・バージョン21.02以前のデジタル・アシスタントの構成設定)の場合は、キーを手動で作成する必要があります。

デジタル・アシスタントのリソース・バンドル・キーを作成して移入するには:
  1. デジタル・アシスタントの左側のナビゲーションで、「リソース・バンドル」アイコン。をクリックします。

  2. 「バンドルの追加」をクリックします。

  3. 「キー」フィールドに、対応するフィールドまたはプロパティの識別に使用できる値を入力します。

    たとえば、キーがピザ・スキルの最初の発話例用である場合、PizzaSkillExampleUtterance1のようなものを使用できます。

  4. デジタル・アシスタントのデフォルト言語として使用する言語でエントリのテキストを入力します。(デフォルト言語は英語である必要はありません。これは単に、検出された言語の翻訳がない場合に出力メッセージに使用される言語です。)

    スキル固有のプロパティ(「起動」「発話例」など)の場合は、スキルから継承された値を使用できます。

    デジタル・アシスタントの会話パラメータ(「確認応答」など)では、デジタル・アシスタントのデフォルト言語が英語の場合は、これらのプロパティにデフォルト値を使用できます。

    ノート

    システム変数をパラメータとして使用してインテントまたはスキルの名前へのアクセスなどを実行するプロパティの場合は、パラメータに置換コード({0}{1}など)を使用します。次に、プロパティのバンドル・キーへの参照で、特定のシステム変数を指定できます。
  5. オプションで、「注釈」フィールドに入力して、他の開発者に文字列の対象と使用場所がわかるようにします。
  6. 「エントリの作成」をクリックします。

  7. 文字列の言語バージョンをさらに追加するには、「言語の追加」をクリックします。

  8. 「エントリの作成」ダイアログで、次のフィールドに入力し、「作成」をクリックします。
    • 言語—フランス語の場合はfr、ドイツ語の場合はdeのように、IETF BCP 47言語タグを追加します。

    • テキスト—その言語の出力文字列。

    • 注釈—(オプション)。他の開発者に文字列の対象と使用場所がわかるようにするための情報。

  9. 翻訳する必要がある追加の文字列ごとに、「キーの追加」をクリックしてステップ3から8を繰り返し、別のエントリを作成します。

デジタル・アシスタントのヘルプ・カード用の参照リソース・バンドル・キー

デジタル・アシスタントでは、ユーザーを歓迎したり、含まれるスキルのヘルプ情報を表示するときに、デジタル・アシスタントの「スキル」ページの値を使用してウェルカム・カードおよびヘルプ・カードに移入します。これらのヘルプ・カードに表示される情報は、「スキル」ページのフィールドの一部を編集すると翻訳できます。

  1. デジタル・アシスタントの左側のナビゲーションで、「スキル」アイコンをクリックします
  2. スキルを選択します。
  3. 「1文の説明」「説明」および「起動」の各フィールドを、次の形式のリソース・バンドルへの参照で更新します:
    ${rb.BundleKeyName}

    たとえば、ピザ・スキルの1行の説明のキーへの参照には、次を使用できます。

    ${rb.PizzaSkillShortDescription}
  4. ページの「例」セクションで、例の上にカーソルを置き、「編集」アイコンをクリックして、前述のリソース・バンドル・キーへの参照でテキストを置き換えます。
  5. スキルの他の発話例について、前のステップを繰り返します。
  6. スキルごとに、前4つのステップを繰り返します。
ノート

デジタル・アシスタントでスキルのバージョンを更新すると、対話モデルの上書きスイッチが表示されます。このスイッチを「オン」のままにすると、起動および発話例の値は、更新されたスキルの「設定」ページの「デジタル・アシスタント」タブで設定された値で更新されます。これは、起動および発話例を再度翻訳する必要があることを意味する場合があります。

プロンプトおよびメッセージのリソース・バンドル・キーの参照

デジタル・アシスタントには、様々なプロンプトおよびメッセージの表示に使用される構成プロパティが多数あります。

構成プロパティの出力を設定するには、リソース・バンドル変数およびメッセージ・キーを参照します。たとえば: ${rb('WhatType')}。ドット表記法を使用することもできます。例: ${rb.WhatType}

  1. デジタル・アシスタントの左側のナビゲーション・バーで、「設定」(「設定」アイコン)アイコンをクリックし、「構成」タブを選択します。

  2. ページの「会話パラメータ」セクション内のプロパティについて、それぞれに定義したリソース・バンドル・キーへの参照を入力します。

    たとえば、「確認応答」プロパティのdaAcknowledgementResponseというリソース・バンドルにキーがある場合は、「確認応答」フィールドに次のように入力します:

    ${rb('daAcknowledgementResponse')}
ノート

リリース21.04以降、これらのリソース・バンドル・キーは自動的に生成され、会話パラメータはこれらのバンドル・キーを参照するように設定されます。

リソース・バンドルのシステム変数

バンドル・キーの値でパラメータを使用することもでき、これにより、出力でシステム変数を使用できます。たとえば、「フロー終了の確認」プロパティのデフォルト値は次のとおりです:

Exited ${system.routingFromIntent} in ${system.routingFromSkill}.

システム変数(この場合はsystem.routingFromIntentおよびsystem.routingFromSkill)への参照を翻訳されたレスポンスで保持するには、次を実行します:

  1. 対応するリソース・バンドル・キーの値に、各システム変数の置換コードとして{0}{1}などを挿入します。たとえば、「フロー終了の確認」プロパティ用に作成した英語(またはデフォルト)のエントリでは、次のテキストを使用できます:
    Exited {0} in {1}.
  2. 次に、プロパティの値に、バンドル・キーへの参照を次のフォーマットで入力します:
    ${rb('bundleKey', '${systemVariableForParam0}', '${systemVariableForParam1}')}

    たとえば、「フロー終了の確認」プロパティでは次のようになります(daExitFlowConfirmationは対応するバンドル・キーです):

    ${rb('daExitFlowConfirmation', '${system.routingFromIntent}', '${system.routingFromSkill}')}

リソース・バンドルのエクスポートおよびインポート

リソース・バンドルはCSVファイルの形式でエクスポートおよびインポートできるため、バンドルをオフラインで操作できます。

CSVファイルには次の列が必要です:

  • languageTag
  • key
  • message
  • annotation

既存のリソース・バンドルを含むCSVファイルをエクスポートするには:

  • スキルまたはデジタル・アシスタントの「リソース・バンドル」ページで、「リソース・バンドルのエクスポート」アイコンをクリックして既存のリソース・バンドルを含むCSVファイルをエクスポートします。

    リソース・バンドルにまだキーを追加していない場合でも、必要なフォーマットのCSVでファイルがエクスポートされます。

リソース・バンドル・ファイルをインポートするには:

  • スキルまたはデジタル・アシスタントの「リソース・バンドル」ページで、「リソース・バンドルのインポート」アイコンをクリックします。

デジタル・アシスタント構成設定のリソース・バンドル・エントリ

プラットフォーム・バージョン21.04以降、デジタル・アシスタント構成設定用にリソース・バンドル・エントリが自動的に作成されます。デジタル・アシスタントがプラットフォーム・バージョン21.02以前に基づいている場合は、21.04以上にアップグレードして、これらのエントリを生成できます。

デジタル・アシスタントのすべてのシステム・リソース・バンドル・エントリとそのデフォルト値のリストを次に示します。

リソース・バンドル・エントリ デフォルトの英語テキスト エントリの説明
systemConfiguration_autoNumberPrefixes 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ポストバック・アクション・ラベルの自動採番に使用される接頭辞。
systemConfiguration_autoNumberPrefixSeparator . 番号プリフィクスとポストバック・アクション・ラベルの間で使用されるセパレータ。
systemConfiguration_conversationAnswerContinue No, continue based on my previous response 回答「continue」のラベル。
systemConfiguration_conversationAnswerNo No 回答「いいえ」のラベル。
systemConfiguration_conversationAnswerTryAgain No, try again 回答のラベルは「再試行」です。
systemConfiguration_conversationAnswerYes Yes 回答「はい」のラベル。
systemConfiguration_conversationEventInterruptPrompt You have just received a notification from {0}. Would you like to switch to it? 通知によってフローが中断されたときに表示されるプロンプト。
systemConfiguration_conversationExitFlowConfirmation Exited {0} in {1}. スキルのフローを終了するときに表示される確認メッセージ。
systemConfiguration_conversationExitHiddenFlowConfirmation Exited. 公開されていないスキルのフローを終了したときに表示される確認メッセージ。
systemConfiguration_conversationExitPrompt Do you want to exit {0} in {1} now? フローを終了する前に表示するプロンプト。
systemConfiguration_conversationExitSkillConfirmation Exited {0}. スキルの終了時に表示される確認メッセージ。
systemConfiguration_conversationExplicitSkillPrompt This will exit current conversation. Do you want to go to {0} now? 明示的な起動によって新しいスキルに移動するために現在の会話を終了するときに表示するプロンプト。
systemConfiguration_conversationFlowSelectionPrompt Do you want to go to: 選択するフローのリストを表示するプロンプト。
systemConfiguration_conversationFlowSelectionValue {0} in {1} 選択として表示するフロー名。
systemConfiguration_conversationHelpNoSkillPrompt You don't have any skills registered yet. Register one or more skills so that you can see the digital assistant in action. スキル・ボットが登録されていない場合に表示するプロンプト。
systemConfiguration_conversationHistoryActionDisabledPrompt Sorry, this choice is no longer available. 「クリック履歴アクションの有効化」設定が有効になっていない場合に、ユーザーが会話履歴の選択項目をクリックしたときに表示するメッセージ。
systemConfiguration_conversationHistoryActionInvalidPrompt Sorry, this choice is no longer available. ユーザーが会話履歴で、処理できなくなった選択肢をクリックしたときに表示するメッセージ。
systemConfiguration_conversationInterruptMessage Switching to {0} in {1} now. ユーザーにプロンプトが表示されない場合に、フローが中断されて新しいフローを開始するときに表示するメッセージ。
systemConfiguration_conversationInterruptPrompt Do you want to switch to {0} in {1} now? フローを中断して新しいフローを開始するときに表示するプロンプト。
systemConfiguration_conversationInterruptToUnMatchedFlowPrompt No match found in {0}. Do you still want to switch to it? 別のスキルに移動するフローを中断したときに表示されるプロンプトですが、そのスキルには一致するフローがありません。これは、明示的な起動を含むが、呼び出されたスキルのインテントと一致しないフレーズを含む入力でユーザーがフローを中断した場合に発生する可能性があります。
systemConfiguration_conversationNoMatchPrompt No matches were found. Here are some things you can do: 一致が見つからなかった場合に(ヘルプ・カードの前に)表示するプロンプト。
systemConfiguration_conversationNothingToExitPrompt There's nothing to exit. You don't have any requests in progress. スキル・コンテキストにない場合に表示するプロンプトで、組込みの終了インテントが起動されます。
systemConfiguration_conversationOdaAck Okay 単純な確認ボット・メッセージ。
systemConfiguration_conversationOdaExitFlowSelection Exit conversation フローを終了するオプションのラベル。
systemConfiguration_conversationOdaExitSkillSelection Exit {0} スキルを終了するオプションのラベル。
systemConfiguration_conversationOdaHelpCardDetailFooter Enter the number prefix to execute the action of your choice, or enter '0' to go back to the skill list. テキストのみのチャネルのヘルプ・カード・レンダリングの最適化が有効な場合のスキルのカード詳細のフッター。
systemConfiguration_conversationOdaHelpCardDetailHeader Here are some sample actions: テキストのみのチャネルのヘルプ・カード・レンダリングの最適化が有効な場合のスキルのカード詳細のヘッダー。
systemConfiguration_conversationOdaHelpCardListFooter Enter skill number to see sample actions supported by the skill. テキストのみのチャネルのヘルプ・カード・レンダリングの最適化が有効な場合のスキルのカード・リストのフッター。
systemConfiguration_conversationOdaHelpNextPrompt Show more より多くのスキル・プロンプトを表示するヘルプ。
systemConfiguration_conversationOdaHelpPrompt Welcome! Here are some things you can do: ヘルプ・カードの上に表示されるヘルプ・メッセージ。
systemConfiguration_conversationOdaNoneOption 前述以外 複数のフローが一致する場合、前述の「なし」オプションのラベル。
systemConfiguration_conversationQnaLabel Ask Question Q & Aアクションのラベル。
systemConfiguration_conversationResumeMessage Resuming {0} in {1} now. 中断されたフローが再開されたときに表示されるメッセージ。
systemConfiguration_conversationResumePrompt Do you want to resume {0} in {1} now? 中断されたフローの再開時に表示するプロンプト。
systemConfiguration_conversationSkillExitOnHelp Exit conversation and view assistant help スキルを終了してデジタル・アシスタント・ヘルプ・カードを表示するオプションのラベル。
systemConfiguration_conversationSkillHelpPrompt You are at {0}. Here are some things you can do: ヘルプ・カードの上にスキル・ボットに対して表示するヘルプ・メッセージ。
systemConfiguration_conversationSkillViewHelpAgain View current skill help again スキルのヘルプ・カードを再度表示するオプションのラベル。
systemConfiguration_conversationSkillWelcomeFlowSelection Welcome ようこそ状態に移動するオプションのラベル。
systemConfiguration_conversationSkillWelcomePrompt Welcome to {0}. スキル・ボットに表示するようこそメッセージ。
systemConfiguration_conversationStartMessage Starting {0} in {1} now. フローの開始前に表示するメッセージ。
systemConfiguration_conversationStartPrompt Do you want to start with {0} in {1} now? フローの開始前に表示するプロンプト。
systemConfiguration_errorExpiredSessionPrompt Your session has expired. Please start again. セッションが期限切れになったときのメッセージ。
systemConfiguration_errorMaxStatesExceededPrompt Your session appears to be in an infinite loop. ボットが無限ループにあるように見えるときのメッセージ。
systemConfiguration_errorUnexpectedErrorPrompt Oops I'm encountering a spot of trouble. Please try again later... 予期しないエラーが発生した場合のメッセージ。
systemConfiguration_internalWelcomeMessage help 新しいユーザーがデジタル・アシスタントへのアクセス権を取得したイベントをチャネルが処理するときにデジタル・アシスタントに送信される内部メッセージ。内部メッセージへの返信は、新しいユーザーにようこそメッセージとして送信されます。
systemConfiguration_oauthCancelPrompt Authentication canceled. OAuth認可が取り消されたときのメッセージ。
systemConfiguration_oauthSuccessPrompt Authentication successful! You can return to the conversation. OAuth認可が成功した場合のメッセージ。

サンプルのリソース・バンドル・エントリ

デジタル・アシスタントのプラットフォーム・バージョンを21.04以上にアップグレードせずに、構成設定にリソース・バンドル・エントリを使用する場合は、翻訳可能なカスタマイズ・プロパティと、バンドル・キーの推奨名、およびそれらのバンドル・キーをプロパティのフィールドから参照するために使用する式のリストを次に示します。

翻訳対象のプロパティ バンドル・キーの推奨名 デフォルトの英語テキスト バンドル・キーを参照するための式
確認応答 systemConfiguration_conversationAcknowledgementResponse Okay ${rb.daAcknowledgementResponse}
回答いいえ systemConfiguration_conversationAnswerNo No ${rb.daAnswerNo}
回答はい systemConfiguration_conversationAnswerYes Yes ${rb.daAnswerYes}
デジタル・アシスタントの選択のフロー終了 systemConfiguration_conversationExitFlowInSelection Exit conversation ${rb.daExitFlowInSelection}
デジタル・アシスタントの選択のスキル終了 systemConfiguration_conversationExitSkillInSelection Exit {0} ${rb('daExitSkillInSelection', '${system.routingFromSkill}')}
現行を終了して新規スキル・プロンプトに移動 systemConfiguration_conversationExitCurrentToGoToNewSkillPrompt This will exit current conversation. Do you want to go to {0} now? ${rb('daExitCurrentToGoToNewSkillPrompt', '${system.routingToSkill}')}
フロー終了の確認 systemConfiguration_conversationExitFlowConfirmation Exited {0} in {1}. ${rb('daExitFlowConfirmation', '${system.routingFromIntent}', '${system.routingFromSkill}')}
終了プロンプト systemConfiguration_conversationExitPrompt Do you want to exit {0} in {1} now? ${rb('daExitPrompt', '${system.routingFromIntent}', '${system.routingFromSkill}')}
スキル終了の確認 systemConfiguration_conversationExitSkillConfirmation Exited {0}. ${rb('daExitSkillConfirmation', '${system.routingFromSkill}')}
選択のフロー情報 systemConfiguration_conversationFlowInformationInSelection {0} in {1} ${rb('daFlowInformationInSelection', '${system.routingToIntent}', '${system.routingToSkill}')}
フロー選択プロンプト systemConfiguration_conversationFlowSelectionPrompt Do you want to go to: ${rb.daFlowSelectionPrompt}
ヘルプ・カード - スキル詳細フッター systemConfiguration_conversationHelpCardsSkillDetailFooter Enter the number prefix to execute the action of your choice, or enter '0' to go back to the skill list. ${rb.daHelpCardsSkillDetailFooter}
ヘルプ・カード - スキル詳細ヘッダー systemConfiguration_conversationHelpCardsSkillDetailHeader Here are some sample actions ${rb.daHelpCardsSkillDetailHeader}
ヘルプ・カード - スキル・リスト・フッター systemConfiguration_conversationHelpCardsSkillListFooter Enter skill number to see sample actions supported by the skill. ${rb.daHelpCardsSkillListFooter}
ヘルプ詳細の表示プロンプト systemConfiguration_conversationHelpShowMorePrompt Show more ${rb.daHelpShowMorePrompt}
履歴アクション使用不可プロンプト systemConfiguration_conversationHistoryActionDisabledPrompt Sorry, this choice is no longer available. ${rb.daHistoryActionDisabledPrompt}
割込みメッセージ systemConfiguration_conversationInterruptMessage Switching to {0} in {1} now. ${rb('daInterruptMessage', '${system.routingToIntent}', '${system.routingToSkill}')}
割込みプロンプト systemConfiguration_conversationInterruptPrompt Do you want to switch to {0} in {1} now? ${rb('daInterruptPrompt', '${system.routingToIntent}', '${system.routingToSkill}')}
一致しないフローへの割込みプロンプト systemConfiguration_conversationInterruptToUnmatchFlowPrompt No match found in {0}. Do you still want to switch to it? ${rb('daInterruptToUnmatchFlowPrompt', '${system.routingToSkill}')}
無効な履歴アクションのメッセージ systemConfiguration_conversationInvalidHistoryActionMessage Sorry, this choice is no longer available. ${rb.daInvalidHistoryActionMessage}
Q & Aのラベル systemConfiguration_conversationLabelForQnA Ask Question ${rb.daLabelForQnA}
一致が見つからないプロンプト systemConfiguration_conversationNoMatchesWereFoundPrompt No matches were found. Here are some things you can do: ${rb.daNoMatchesWereFoundPrompt}
スキル・ボットなしのプロンプト systemConfiguration_conversationNoSkillBotPrompt You don't have any skills registered yet. Register one or more skills so that you can see the digital assistant in action. ${rb.daNoSkillBotPrompt}
前述以外 systemConfiguration_conversationNoneOfTheAbove 前述以外 ${rb.daNoneOfTheAbove}
終了するものなしプロンプト systemConfiguration_conversationNothingToExitPrompt There's nothing to exit. You don't have any requests in progress. ${rb.daNothingToExitPrompt}
通知割込みプロンプト systemConfiguration_conversationNotificationInterruptPrompt You have just received a notification from {0}. Would you like to switch to it? ${rb('daNotificationInterruptPrompt', '${system.routingToSkill}')}
再開メッセージ systemConfiguration_conversationResumeMessage Resuming {0} in {1} now. ${rb('daResumeMessage', '${system.routingFromIntent}', '${system.routingFromSkill}')}
再開プロンプト systemConfiguration_conversationResumePrompt Do you want to resume {0} in {1} now? ${rb('daResumePrompt', '${system.routingFromIntent}', '${system.routingFromSkill}')}
スキル・ボットのヘルプ時に終了ラベル systemConfiguration_conversationSkillBotExitOnHelpLabel Exit conversation and view assistant help ${rb.daSkillBotExitOnHelpLabel}
スキル・ボットのヘルプ・プロンプト systemConfiguration_conversationSkillBotHelpPrompt You are at {0}. Here are some things you can do: ${rb('daSkillBotHelpPrompt', '${system.routingFromSkill}')}
スキル・ボットのヘルプの再表示ラベル systemConfiguration_conversationSkillBotViewHelpAgainLabel View current skill help again ${rb.daSkillBotViewHelpAgainLabel}
スキルの選択のようこそフロー systemConfiguration_conversationSkillWelcomeFlowInSelection Welcome ${rb.daSkillWelcomeFlowInSelection}
開始メッセージ systemConfiguration_conversationStartMessage Starting {0} in {1} now. ${rb('daStartMessage', '${system.routingFromIntent}', '${system.routingFromSkill}')}
開始プロンプト systemConfiguration_conversationStartPrompt Do you want to start with {0} in {1} now? ${rb('daStartPrompt', '${system.routingFromIntent}', '${system.routingFromSkill}')}
スキル・ボットのようこそプロンプト systemConfiguration_conversationSkillBotWelcomePrompt Welcome to {0}. ${rb('daSkillBotWelcomePrompt', '${system.routingFromSkill}')}
期限切れセッション・エラー・プロンプト systemConfiguration_conversationExpiredSessionErrorPrompt Your session has expired. Please start again. ${rb.daExpiredSessionErrorPrompt}
最大状態超過エラー・プロンプト systemConfiguration_conversationMaxStatesExceededErrorPrompt Your session appears to be in an infinite loop. ${rb.daMaxStatesExceededErrorPrompt}
OAuth取消プロンプト systemConfiguration_conversationOAuthCancelPrompt Authentication canceled. ${rb.daOAuthCancelPrompt}
OAuth成功プロンプト systemConfiguration_conversationOAuthSuccessPrompt Authentication successful! You can return to the conversation. ${rb.daOAuthSuccessPrompt}
予期しないエラー・プロンプト systemConfiguration_conversationUnexpectedErrorPrompt Oops I'm encountering a spot of trouble. Please try again later... ${rb.daUnexpectedErrorPrompt}