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 に読み込まれるデータです。 このデータはアプリで編集できません。 静的なデータ ソースをアプリに追加する場合は、次の手順を実行します。
Teams で、Power Apps を右クリックして、アプリをポップアウトします。
ビルド タブを選択します。
Studioで編集する目的のアプリを開きます。 この例では、マイルストーンアプリを使用します。
データ タブを選択します。
データの追加 を選択します。
コネクタ を選択します。
すべてのコネクタを表示する を選択します。
Excel からインポート を選択します。
LocalizationMilestones_AllLanguages ファイルを選択し、開くを選択します。
画面の右側で、テーブルを選択するように求められます。 staticLocalizations テーブルを選択して 接続 を選択します。 テーブルがデータ ソースとして追加され、アプリで使用できるようになります。
アプリに新しい言語を追加する
以上、ローカライズが Power Apps でどのように処理されるかを説明しました。アプリに言語を追加する場合、アプリ内のすべてのテキスト コントロールを更新する必要はありません。 テキスト式は、ユーザーの言語に基づいて、テキスト文字列の適切なローカライズされたコピーを動的に表示するように構築されています。
ロシア語を追加するには、最初にスプレッドシートの各 OOBTextID にロシア語の翻訳を追加します。 この例では、アプリの最初のページのテキストにローカライズされたテキストを追加する方法を示します。
LocalizationMilestoes_AllLanguages.xlsx ファイルを開きます。
Excel に次の行を追加します:
OOBTextID LanguageTag LocalizedText lblLoadingText_AppName__locText ru-RU Вехи lblLoadingText_BuiltWith__locText ru-RU Создано на платформе Microsoft Power Platform lblLoadingText_AppLoading__locText ru-RU Готовимся ... すべてのページにロシア語のテキストを追加するには、他の言語と同じようにすべての OOBTextID の行を追加し、言語タグに ru-RU を追加する必要があります。 続いて、それらの OOBTextID ごとにロシア語の翻訳を追加します。
Excel ファイルを保存します。
注意
アプリのデータソースリストに Excel ファイルがすでにデータソースとして存在しているため、データソースのリストから Excel を削除してから、上記のように再追加する必要があります。
アプリの 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));
アプリを保存し、公開します。
数式がローカライズされたコンテンツを動的に取得するため、新たに追加された言語を反映させるために数式を更新する必要はありません。
新しいラベルの追加とローカライズ
既定のマイルストーン アプリの拡張機能に新しいラベルを追加し、それをローカライズする方法を説明します。 読み込み画面にラベルを追加します:
挿入を選択し、Label コントロールを選択します。
。
ラベルのテキストとプロパティを更新します。
ローカライズの準備ができるまでは、このテキストを「アプリへようこそ」に設定します。
Excel ファイルを開いて、このテキストで使用する行を追加します。
Excel ファイルに、OOBTextID の値lblLoadingText_Welcome_locText と LanguageTag を 8 行分作成します:
en-US de-DE es-ES fr-FR it-IT ja-JP nl-NL pt-BR 3 つ目の列にある LocalizedText では、「Welcome to the app」というテキストを 8 つの異なる言語に翻訳します:
- en-US (米国英語)
- de-DE (ドイツ語)
- es-ES (スペイン語)
- fr-FR (フランス語)
- it-IT (イタリア語)
- ja-JP (日本語)
- nl-NL (オランダ語)
- pt-BR (ポルトガル語)
以下に示すように、翻訳されたすべてのテキストでスプレッド シートを更新します。
スプレッドシートを保存します。
Teams の アプリ エディターに戻ります。
Excel データ ソースを更新するには、データ>... (省略記号) を選択し、staticLocalizationsエクセル スプレッドシートの隣の削除を選択します。
テーブルを削除すると、アプリでいくつかのエラーが発生します。 ただし、次の手順で更新された Excel ファイルを再追加します。
コネクタにスプレッドシートを再追加し、データ ソースに staticLocalizations テーブルを選択します (必ず更新した Excel ファイルを選択してください)。
「アプリへようこそ」というテキストのラベルを選択します。
ラベルのテキストプロパティを開き、次の数式を貼り付けます:
With({varDefault: "Welcome to the app", varOOBTextId: "lblLoadingText_Welcome_locText"}, With({varLocalizedText: LookUp(colLocalization;OOBTextID = varOOBTextId, LocalizedText)}, Coalesce(varLocalizedText;varDefault)))
作成したラベルのローカライズをテストするには、Teams のユーザーの言語をローカライズ用の Excel スプレッドシートにある言語のいずれかに変更します。 Teams の言語を変更するには、右上隅にある写真を選択し、設定を選択します。
マイルストーンを選択してアプリを開くと、前述の手順で選択した言語にローカライズされた、アプリへようこそラベルが表示されます。 アプリがインストールされた特定のチームのチャンネルにアクセスし、公開されたアプリを再生することで同じことを確認できます。