次の方法で共有


サンプル アプリのテンプレートをローカライズする

Microsoft Teams 用のサンプル アプリのテンプレートは、言語が異なるユーザーでも利用できるように、8つ の言語に対応できるようにローカライズされています。 ユーザーの言語に応じて、アプリのローカライズに該当の言語が含まれている場合は、アプリ内のテキストを適切な言語で表示できます。

ここでは例として、ユーザーがロシア語を使用する前提で説明します。 ロシア語は標準のローカライズには含まれていない言語ですが、ロシア語を追加してアプリのラベルをローカライズすることで、ロシア語でアプリを使用することができます。

この記事では、Teams のサンプル アプリのテンプレートのローカリゼーションに使用されるアプローチと、それを拡張してロシア語などの別の言語のサポートを追加する方法について説明します。 この例では、マイルストーン アプリを使用しています。これと同じアプローチは、Teams テンプレート Power Apps のすべてに対して一貫して使用されており、ユーザー独自の canvas アプリのローカライズも同じアプローチで行うことができます。

サンプル アプリのテンプレートをローカライズする方法については、次のビデオをご覧ください:

前提条件

このレッスンを完了するには、選択した Microsoft 365 サブスクリプションの一部として利用できる、Teams 内で Power Apps を作成する機能が必要です。

Power Apps におけるローカライズについて

キャンバス アプリでは、各言語の各テキスト文字列のローカライズされた値を含む静的な Excel のデータソースをアプリに読み込むことで、テキスト ラベルやその他のビジュアル テキスト コンポーネントをローカライズできます。 このプロセスの詳細については、Language 関数を参照してください。

たとえば、Milestones アプリには、"OOBTextID"、"LanguageTag"、"LocalizedText" の 3 つの列を持つ StaticLocalizationsjon という Excel データソースがあります。

  • OOBTextID は、ローカライズされるテキストの識別子です。

  • LanguageTag は、テキストをローカライズする言語の識別子です。 言語タグは、言語とそれが使用されている国/地域を定義する標準の略語です (たとえば、「en-US」は「English-United States」を意味します)。

  • LocalizedText は、 表示する必要のある適切な言語でテキストを表示します。

以下は、各テキスト ID にローカライズされたテキストを使用した例です。

OOBTextID LanguageTag LocalizedText
lblLoadingText_AppLoading__locText en-US 準備をしています...
lblLoadingText_AppLoading__locText de-DE Dinge fertig machen ...
lblLoadingText_AppLoading__locText es-ES Preparando las cosas ...
lblLoadingText_AppLoading__locText fr-FR Préparer les choses ...
lblLoadingText_AppLoading__locText it-IT Preparare le cose ...
lblLoadingText_AppLoading__locText ja-JP 準備をする..。
lblLoadingText_AppLoading__locText nl-NL Dingen klaarmaken ...
lblLoadingText_AppLoading__locText pt-BR Preparando as coisas ...
lblLoadingText_AppName__locText en-US マイルストーン
lblLoadingText_AppName__locText de-DE Meilensteine
lblLoadingText_AppName__locText es-ES Hitos
lblLoadingText_AppName__locText fr-FR Jalons
lblLoadingText_AppName__locText it-IT Passaggi fondamentali
lblLoadingText_AppName__locText ja-JP マイルストーン
lblLoadingText_AppName__locText nl-NL Mijlpalen
lblLoadingText_AppName__locText pt-BR Etapas
lblLoadingText_BuiltWith__locText en-US Microsoft Power Platform でビルド
lblLoadingText_BuiltWith__locText de-DE Erstellt mit Microsoft Power Platform
lblLoadingText_BuiltWith__locText es-ES Creada con Microsoft Power Platform
lblLoadingText_BuiltWith__locText fr-FR Créé avec Microsoft Power Platform
lblLoadingText_BuiltWith__locText it-IT Creata con Microsoft Power Platform
lblLoadingText_BuiltWith__locText ja-JP Microsoft Power Platform でビルド
lblLoadingText_BuiltWith__locText nl-NL Gebouwd met Microsoft Power Platform
lblLoadingText_BuiltWith__locText pt-BR Criado com o Microsoft Power Platform

注意

上記の表は、アプリのすべての画面のローカライズされたテキストを含むマスターファイルからのものです。 ただし、以前の議論に関連する行のみを表示するようにフィルターされています。

アプリで Excel を静的なデータ ソースとして使用する方法

静的データは、Excel から Power Apps に読み込まれるデータです。 このデータはアプリで編集できません。 静的なデータ ソースをアプリに追加する場合は、次の手順を実行します。

  1. Teams で、Power Apps を右クリックして、アプリをポップアウトします。

  2. ビルド タブを選択します。

  3. Studioで編集する目的のアプリを開きます。 この例では、マイルストーンアプリを使用します。

  4. データ タブを選択します。

  5. データの追加 を選択します。

    データの接続を追加する

  6. コネクタ を選択します。

  7. すべてのコネクタを表示する を選択します。

    すべてのコネクタの表示

  8. Excel からインポート を選択します。

  9. LocalizationMilestones_AllLanguages ファイルを選択し、開くを選択します。

  10. 画面の右側で、テーブルを選択するように求められます。 staticLocalizations テーブルを選択して 接続 を選択します。 テーブルがデータ ソースとして追加され、アプリで使用できるようになります。

    スタティス ローカライズ接続

アプリに新しい言語を追加する

以上、ローカライズが Power Apps でどのように処理されるかを説明しました。アプリに言語を追加する場合、アプリ内のすべてのテキスト コントロールを更新する必要はありません。 テキスト式は、ユーザーの言語に基づいて、テキスト文字列の適切なローカライズされたコピーを動的に表示するように構築されています。

ロシア語を追加するには、最初にスプレッドシートの各 OOBTextID にロシア語の翻訳を追加します。 この例では、アプリの最初のページのテキストにローカライズされたテキストを追加する方法を示します。

  1. LocalizationMilestoes_AllLanguages.xlsx ファイルを開きます。

  2. Excel に次の行を追加します:

    OOBTextID LanguageTag LocalizedText
    lblLoadingText_AppName__locText ru-RU Вехи
    lblLoadingText_BuiltWith__locText ru-RU Создано на платформе Microsoft Power Platform
    lblLoadingText_AppLoading__locText ru-RU Готовимся ...
  3. すべてのページにロシア語のテキストを追加するには、他の言語と同じようにすべての OOBTextID の行を追加し、言語タグに ru-RU を追加する必要があります。 続いて、それらの OOBTextID ごとにロシア語の翻訳を追加します。

  4. Excel ファイルを保存します。

    注意

    アプリのデータソースリストに Excel ファイルがすでにデータソースとして存在しているため、データソースのリストから Excel を削除してから、上記のように再追加する必要があります。

  5. アプリの OnStart 関数 gblUserLanguage を更新して、Excel ファイルに追加した言語を含めます。 以下の例では、ロシア語を追加しています:

    //user language
    Set(gblUserLanguage,Switch(Left(Language(),2),"de","de-DE","en","en-US","es","es-ES","fr","fr-FR","it","it-IT","ja","ja-JP","nl","nl-NL",
    "pt","pt-BR","ru-RU",
    //default
    "en-US"));
    //build localization collection, with user's language
    ClearCollect(colLocalization,Filter(staticLocalizations,LanguageTag = gblUserLanguage));Collect(colLocalization,Filter(staticLocalizationsNewMessages,LanguageTag = gblUserLanguage));
    
  6. アプリを保存し、公開します。

数式がローカライズされたコンテンツを動的に取得するため、新たに追加された言語を反映させるために数式を更新する必要はありません。

新しいラベルの追加とローカライズ

既定のマイルストーン アプリの拡張機能に新しいラベルを追加し、それをローカライズする方法を説明します。 読み込み画面にラベルを追加します:

  1. 挿入を選択し、Label コントロールを選択します。

    ラベルを挿入する

  2. ラベルのテキストとプロパティを更新します。

    アプリにようこそ

    ローカライズの準備ができるまでは、このテキストを「アプリへようこそ」に設定します。

  3. Excel ファイルを開いて、このテキストで使用する行を追加します。

  4. Excel ファイルに、OOBTextID の値lblLoadingText_Welcome_locTextLanguageTag を 8 行分作成します:

    en-US
    de-DE
    es-ES
    fr-FR
    it-IT
    ja-JP
    nl-NL
    pt-BR
  5. 3 つ目の列にある LocalizedText では、「Welcome to the app」というテキストを 8 つの異なる言語に翻訳します:

    • en-US (米国英語)
    • de-DE (ドイツ語)
    • es-ES (スペイン語)
    • fr-FR (フランス語)
    • it-IT (イタリア語)
    • ja-JP (日本語)
    • nl-NL (オランダ語)
    • pt-BR (ポルトガル語)
  6. 以下に示すように、翻訳されたすべてのテキストでスプレッド シートを更新します。

    コンポーネント ローカライズ ファイル

  7. スプレッドシートを保存します。

  8. Teams の アプリ エディターに戻ります。

  9. Excel データ ソースを更新するには、データ>... (省略記号) を選択し、staticLocalizationsエクセル スプレッドシートの隣の削除を選択します。

    staticLocalizations の削除

    テーブルを削除すると、アプリでいくつかのエラーが発生します。 ただし、次の手順で更新された Excel ファイルを再追加します。

  10. コネクタにスプレッドシートを再追加し、データ ソースに staticLocalizations テーブルを選択します (必ず更新した Excel ファイルを選択してください)。

  11. 「アプリへようこそ」というテキストのラベルを選択します。

  12. ラベルのテキストプロパティを開き、次の数式を貼り付けます:

    With({varDefault: "Welcome to the app", varOOBTextId: "lblLoadingText_Welcome_locText"}, With({varLocalizedText: LookUp(colLocalization;OOBTextID = varOOBTextId, LocalizedText)}, Coalesce(varLocalizedText;varDefault)))
    
  13. 作成したラベルのローカライズをテストするには、Teams のユーザーの言語をローカライズ用の Excel スプレッドシートにある言語のいずれかに変更します。 Teams の言語を変更するには、右上隅にある写真を選択し、設定を選択します。

  14. マイルストーンを選択してアプリを開くと、前述の手順で選択した言語にローカライズされた、アプリへようこそラベルが表示されます。 アプリがインストールされた特定のチームのチャンネルにアクセスし、公開されたアプリを再生することで同じことを確認できます。