Microsoft Teams 的示例应用模板已本地化,以支持八种不同的语言,以便使用不同语言的人可以使用它们。 根据用户的语言,您可以在应用中以适当的语言查看文本,前提是该语言已包含在应用本地化中。
例如,假设您使用俄语。 俄语不是标准本地化中包含的语言;但是,如果您添加俄语并对应用标签进行本地化,那么您仍然可以使用俄语版本的应用。
本文介绍用于本地化 Teams 示例应用模板的方法,以及如何扩展它来添加对另一种语言(例如俄语)的支持。 在此示例中,我们将使用里程碑应用;但这种相同的方法在整个 Teams 模板 Power Apps 中被一致使用,您可以按照相同的方法对自己的画布应用进行本地化。
观看此视频以了解如何本地化示例应用模板:
必备条件
要完成本课程,我们需要能够在 Teams 中创建可作为指定 Microsoft 365 订阅的一部分提供的 Power Apps。
了解 Power Apps 中的本地化
在画布应用中,可以本地化文本标签和其他视觉文本组件,方法是:将静态 Excel 数据源加载到您的应用,该数据源包含每种语言的每个文本字符串的本地化值。 有关此过程的详细信息,请参阅语言函数。
例如,“里程碑”应用包含一个称为 StaticLocalizationsjon 的 Excel 数据源,此数据源包含“OOBTextID”、“LanguageTag”和“LocalizedText”这三个列。
OOBTextID 是要本地化的文本的标识符。
LanguageTag 是将本地化文本时所使用的语言的标识符。 语言标记是标准缩写文本(例如,“en-US”表示“英语-美国”),用于定义语言以及使用此语言的国家/地区。
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 | 使用 Microsoft Power Platform 构建 |
| lblLoadingText_BuiltWith__locText | pt-BR | Criado com o Microsoft Power Platform |
备注
上表来自包含应用中所有屏幕的本地化文本的主文件。 但是,它已被筛选以仅显示与早期讨论相关的行。
如何在应用中将 Excel 用作静态数据源
静态数据是从 Excel 加载到 Power Apps 中的数据。 此数据在应用中不可编辑。 如果要将静态数据源添加到您的应用中,请执行以下步骤。
在 Teams 中右键单击 Power Apps,然后弹出应用。
选择生成选项卡。
打开所需的应用以在工作室中进行编辑。 在此示例中,我们将使用里程碑应用。
选择数据选项卡。
选择添加数据。
选择连接器。
选择查看所有连接器。
选择从 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 Готовимся ... 要为所有页面添加俄语文本,我们必须为所有 OOBTextIDs 添加行(因为对于任何其他语言,它们都存在),然后添加 ru-RU 作为语言标记。 然后为这些 OOBTextIDs 中的每一个添加俄语翻译。
保存 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 的八个行,并为这 8 个行创建 LanguageTag:
en-US de-DE es-ES fr-FR it-IT ja-JP nl-NL pt-BR 对于第三列 (LocalizedText),请用以下 8 种不同语言翻译“欢迎使用应用”文本:
- en-US(美国英语)
- de-DE(德语)
- es-ES(西班牙语)
- fr-FR(法语)
- it-IT(意大利语)
- ja-JP(日语)
- nl-NL(荷兰语)
- pt-BR(葡萄牙语)
使用所有翻译后的文本更新电子表格,如下所示。
保存电子表格。
返回到 Teams 中的应用编辑器。
要刷新 Excel 数据源(因为我们要更新它),请选择数据>...(省略号),然后选择 staticLocalizations Excel 电子表格旁边的删除。
删除表格会导致应用中出现一些错误。 但是,我们将在接下来的步骤中重新添加更新后的 Excel 文件。
将电子表格重新添加为连接器,并选择 staticLocalizations 表作为数据源(确保选择已更新的正确 excel 文件)。
选择带有“欢迎使用应用”文本的标签。
打开标签的 Text 属性,并粘贴以下公式:
With({varDefault: "Welcome to the app", varOOBTextId: "lblLoadingText_Welcome_locText"}, With({varLocalizedText: LookUp(colLocalization;OOBTextID = varOOBTextId, LocalizedText)}, Coalesce(varLocalizedText;varDefault)))要测试我们创建的标签的本地化,请将 Teams 中用户的语言更改为本地化 Excel 电子表格中的语言之一。 您可以通过在右上角选择您的照片,然后选择设置来更改您的 Teams 语言。
选择“里程碑”以打开应用,并且欢迎使用应用标签已本地化为上一步中选择的语言。 您可以通过转到安装该应用的特定 Teams 渠道并操作已发布的应用来进行验证。