多言語アプリを作成する

この記事では、ローカライズされたエクスペリエンスを備えた多言語アプリを作成する方法について説明します。 この方法では、キャンバス アプリ コンポーネントを使用し、統一された数式の構文を使用して、アプリで翻訳を利用することができます。

重要

この記事で説明する方法では、パブリック プレビューにあるキャンバス アプリのコンポーネントを使用します。 詳細については、キャンバス アプリ用のコンポーネントを作成する を参照してください

翻訳コンポーネントの作成

多言語アプリを使用する場合、最初のステップは、翻訳用の再利用可能なコンポーネントを作成することです。 このコンポーネントには、必要なすべての翻訳の辞書として機能するテーブルを格納します。 出力プロパティは、このコンポーネントを使用するアプリを実行しているユーザーの言語に基づいて、この辞書テーブルから出力文字列を提供するために使用されます。

  1. Power Apps にサインインします。

  2. 左のペインで、アプリ を選択します。

  3. アプリ で、コンポーネント ライブラリ (プレビュー) を選択します。

    コンポーネント ライブラリ (プレビュー) を選択する

  4. + 新規コンポーネント ライブラリ (プレビュー) を選択します。

  5. 「翻訳コンポーネント」などの名前を入力し、作成 を選択して、Power Apps Studio でコンポーネントを開きます。

  6. 左側のペインで を選択して「Component1」の名前を変更し、「翻訳コンポーネント」として 名前の変更 を選択します。

    コンポーネント名の変更

  7. 画面右側のプロパティ ペインから、+ 新しいカスタム プロパティ を選択します。

  8. 次のプロパティ値を設定します:

    プロパティ名
    表示名です 言語
    件名 言語
    内容 テキストを翻訳する言語。
    プロパティの種類 入力
    データの種類 テキスト
  9. 値が変更されたときに OnReset を実行する チェックボックスを選択します。

    新しいカスタム プロパティ

  10. 作成 を選択します。

    注意

    この入力プロパティは、ログインしたユーザーの現在のロケール ID (LCID) を受け取ります。

  11. 画面右側のプロパティ ペインから、+ 新しいカスタム プロパティ を選択します。

  12. 次のプロパティ値を設定します:

    プロパティ名
    表示名です ラベル
    件名 ラベル
    内容 翻訳されたラベル。
    プロパティの種類 出力
    データの種類 記録

    新しいラベルのプロパティ

  13. 作成 を選択します。

    注意

    この出力プロパティは、入力ロケール ID に基づいて翻訳されたラベルを公開します。

  14. 画面の左上で、プロパティの一覧のドロップダウンを選択し、コンポーネントの OnReset プロパティを選択します。

    コンポーネントの OnReset プロパティ

  15. OnReset プロパティの数式バーに次の数式をコピーして貼り付ます。

    Set(
     varTranslations,
     Table(
             {
                 Language: "en-us",
                 Labels: {
                     Title: "UI Tips for building canvas apps",
                     JobTitle: "Power Platform Specialist"
                 }
             },
             {
                 Language: "pt-br",
                 Labels: {
                     Title: "Dicas de UI para construir canvas apps",
                     JobTitle: "Especialista de Power Platform"
                 }
             }
         )
        )
    

    式では Set() 関数を使用して、さまざまな言語のラベルを辞書として持つ テーブル を作成します。 このテーブルを翻訳の辞書としてカスタマイズするには、TitleJobTitlePlatformCloseOpenCancel などのコントロール名を変更します。 ビジネス要件に応じて、コントロール名の翻訳を追加または削除できます。

    テーブルには、アプリがサポートする各言語のエントリも含まれている必要があります。 各エントリには、アプリで使用可能なすべてのボタン、入力、ラベルの翻訳コンテンツを含む Labels プロパティがあります。

  16. 画面の左上で、プロパティの一覧のドロップダウンを選択し、コンポーネントの Labels プロパティを選択します。

    コンポーネントのラベル プロパティ

  17. 次の数式をコピーして、Labels プロパティの数式バーに貼り付けます。

       LookUp(
        varTranslations,
        Language = Lower(
            Coalesce(
                Self.Language,
                Language()
            )
        )).Labels
    

    この式では、Lookup() 関数を使用して、入力 Language に基づいた適切な翻訳入力を検索します。 言語が設定されていない場合、式では、現在のユーザーの言語を Coalesce 関数のフィルターとして使用します。

  18. ファイル -> セーブ を選択して、コンポーネント ライブラリを保存します。

  19. 公開 を選択し、コンポーネント ライブラリを公開します。

    ヒント

    コンポーネント ライブラリの作成、保存、公開の詳細については、サンプル コンポーネント ライブラリを作成する を参照してください

翻訳コンポーネント ライブラリは、使用するために作成、保存、および公開されます。

アプリでの翻訳コンポーネントの使用

以前は、再利用のために翻訳コンポーネント ライブラリを作成していました。 このセクションでは、翻訳コンポーネント ライブラリを使用するアプリを作成し、選択した言語に基づいた言語翻訳のデモを行います。

  1. 電話 レイアウト付きの 空白のキャンバス アプリ を作成することから始めます。

  2. 画面の左側にある + (挿入) を選択します。

  3. 画面の左下で、その他のコンポーネントを入手する を選択します。

  4. 翻訳コンポーネント を選択します。

    翻訳コンポーネント ライブラリの選択

    注意

    以前に作成したコンポーネント ライブラリを別の名前で保存した場合は、名前が異なることがあります。

  5. インポート を選択します。

  6. 画面の左側にある + (挿入) を選択します。

  7. ライブラリ コンポーネント翻訳コンポーネント を選択し、このアプリにコンポーネントを追加します。

  8. 画面の左側にあるツリー ビューを選択します。

  9. 翻訳コンポーネントを選択します。

  10. 画面の左上で、プロパティの一覧のドロップダウンを選択し、コンポーネントの Visible プロパティを選択します。

  11. Visible プロパティの値を false に設定し、コンポーネントをアプリで非表示にします。

  12. コントロールの一覧の 入力 で、切り替え を選択します。

  13. 画面の左上で、プロパティの一覧のドロップダウンを選択し、コンポーネントの OnChange プロパティを選択します。

  14. 切り替えコントロールの OnCheck プロパティに対する式を、次のように更新します。

        Set(varLanguage,"pt-br")
    

    この式では、切り替えにより、ポルトガル語 (ブラジル) 言語コードに対して、関数 Set() を使用し、varLanguage という変数を "pt-br" の値に設定します。

  15. 切り替えコントロールの OnUncheck プロパティに対する式を、次のように更新します。

        Set(varLanguage,"en-us")
    

    この式では、切り替えにより、英語 (米国) 言語コードに対して、関数 Set() を使用し、varLanguage という変数を "en-us" の値に設定します。

  16. 画面の左側にある翻訳コンポーネントを選択します。

  17. 画面の左上で、プロパティの一覧のドロップダウンを選択し、コンポーネントの Language プロパティを選択します。

  18. Language プロパティの式の値を varLanguage に設定します。 変数 varLanguage は、前に構成された切り替えによって決まります。 切り替えをチェックすると、言語は "pt-br" に設定されます。 チェックを外すと、言語は "en-us" に設定されます。

  19. 画面の左側にある + (挿入) を選択します。

  20. テキスト ラベル を選択します。

  21. プロパティ ペインを使用して画面の右側からラベル コントロール名を Title に更新します。

  22. もう一度 テキスト ラベル を選択して、もう 1 つラベルを追加します。

  23. ラベル コントロール名を JobTitle に更新します。

  24. 切り替えコントロールの下に TitleJobTitle のラベルを設定し、両方のラベルが表示されるようにします。

  25. 画面の左上から TitleJobTitle のラベルに対して Text プロパティを次のように設定します。

    Label
    敬称 'Translation component_1'.Labels.Title
    JobTitle 'Translation component_1'.Labels.JobTitle

    注意

    異なる場合は、この式の中の 'Translation component_1' をアプリのコンポーネントの名前に置き換えます。

    同様に、前に作成したコンポーネントで定義されているさまざまなラベルとプロパティを使用して、より多くのプロパティ値を渡すことができます。 たとえば、TitleJobTitle に加えて、Description あるいは Instructions などのプロパティを、翻訳されたテキストを含むコンポーネント ライブラリに作成することができます。 次に、それぞれのラベルで 'Translation component_1'.Labels.Description または 'Translation component_1'.Labels.Instructions などのプロパティを使用します。

  26. ファイル -> 保存 を選択し、アプリの名前を更新してから、保存 を選択して、アプリを保存します。 詳細: アプリの保存と公開

言語翻訳でアプリをテスト

これで、アプリは翻訳コンポーネントを使用しています。 Power Apps に移動し、実行するアプリを選択します。

切り替えを選択すると、ラベルの言語がポルトガル語 (ブラジル) に変更されます。 チェックを外すと、言語は英語 (米国) に戻ります。

翻訳デモ

この方法により、ビジネス要件に合う翻訳辞書を持つ独自のコンポーネントを作成できるようになりました。 次に、コンポーネントを使用して、ビジネス ユーザーがさまざまな言語を使用できるようにするキャンバス アプリをさらに作成します。

関連項目

コントロールの追加と構成
変数について
数式のリファレンス