在本文中,您将了解如何创建具有本地化体验的多语言应用。 使用此方法,您可以使用画布应用组件并使用统一的公式语法在应用中提供翻译。
重要提示
本文中描述的方法使用公开预览版画布应用的组件。 有关详细信息,请参阅为画布应用创建组件
创建翻译组件
处理多语言应用时,第一步是创建可重复使用的翻译组件。 在此组件中,您将存储一个表,作为您需要的所有翻译的字典。 输出属性将用于根据运行使用此组件的应用的用户的语言提供此字典表中的输出字符串。
登录到 Power Apps。
在左侧窗格上,选择应用。
在应用下,选择组件库(预览)。
选择 + 新建组件库(预览)。
输入名称,如“翻译组件”,然后选择创建在 Power Apps Studio 中打开组件。
通过在左侧窗格上选择 ... 来重命名“Component1”,然后选择重命名重命名为“翻译组件”。
从屏幕右侧的属性窗格中,选择 + 新建自定义属性。
设置以下属性值:
属性名称 值 显示名称 语言 客户 语言 描述 要将文本翻译成的语言。 属性类型 输入 数据类型 文本 选中当值更改时发起 OnReset 复选框。
选择创建。
备注
此输入属性将接收登录用户的当前区域设置 ID (LCID)。
从屏幕右侧的属性窗格中,选择 + 新建自定义属性。
设置以下属性值:
属性名称 值 显示名称 标签 客户 标签 描述 已翻译的标签。 属性类型 输出 数据类型 记录 选择创建。
备注
此输出属性根据输入区域设置 ID 显示已翻译的标签。
在屏幕的左上侧,选择属性列表下拉列表,选择组件的 OnReset 属性。
将以下公式复制并粘贴到 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() 函数创建一个表,将不同语言的标签作为字典。 要将此表自定义为翻译字典,请更改控件名称,如 Title、JobTitle、Platform、Close、Open、Cancel 等。 您可以根据业务要求添加或删除控件名称的翻译。
此表还应该为您的应用支持的每种语言提供一个条目。 每个条目都将有一个 Labels 属性,其中包含应用中所有可能的按钮、输入和标签的翻译内容。
在屏幕的左上侧,选择属性列表下拉列表,选择组件的 Labels 属性。
在 Labels 属性的编辑栏中复制并粘贴以下公式。
LookUp( varTranslations, Language = Lower( Coalesce( Self.Language, Language() ) )).Labels
此公式使用 Lookup() 函数根据输入 Language 查找正确的翻译条目。 如果未设置语言,此公式将通过 Coalesce 函数使用当前用户的语言作为筛选器。
选择文件 ->保存保存组件库。
选择发布发布组件库。
小费
要了解有关创建、保存和发布组件库的详细信息,请转到创建示例组件库
您的翻译组件库已创建、保存和发布以供使用。
使用应用中的翻译组件
之前,您创建了用于重复使用的翻译组件库。 在本节中,您将创建一个使用翻译组件库的应用,并演示基于所选语言的语言翻译。
首先使用电话布局创建一个空白画布应用。
在屏幕左侧,选择 +(插入)。
在屏幕左下角,选择获取更多组件。
选择翻译组件。
备注
如果您使用不同的名称保存之前创建的组件库,名称可能会有所不同。
选择导入。
在屏幕左侧,选择 +(插入)。
在库组件下,选择翻译组件将组件添加到此应用。
在屏幕左侧,选择树视图。
选择翻译组件。
在屏幕的左上侧,选择属性列表下拉列表,选择组件的 Visible 属性。
将 Visible 属性的值设置为 false 让组件在应用上不可见。
在控件列表中的输入下,选择切换。
在屏幕的左上侧,选择属性列表下拉列表,选择组件的 OnChange 属性。
将切换控件的 OnCheck 属性的公式更新为以下内容。
Set(varLanguage,"pt-br")
在此公式中,切换使用函数 Set() 为葡萄牙语 (BR) 语言代码设置一个名为 varLanguage 的变量,其值为“pt-br”。
将切换控件的 OnUncheck 属性的公式更新为以下内容。
Set(varLanguage,"en-us")
在此公式中,切换使用函数 Set() 为英语 (US) 语言代码设置一个名为 varLanguage 的变量,其值为“en-us”。
在屏幕左侧,选择翻译组件。
在屏幕的左上侧,选择属性列表下拉列表,选择组件的 Language 属性。
将 Language 属性的公式值设置为
varLanguage
。 变量 varLanguage 由之前配置的切换确定。 检查切换时,语言将设置为“pt-br”。 未经检查时,语言将设置为“en-us”。在屏幕左侧,选择 +(插入)。
选择文本标签。
使用属性窗格从屏幕右侧将标签控件名称更新为 Title。
再次选择文本标签再添加一个标签。
将标签控件名称更新为 JobTitle。
在切换控件下方设置 Title 和 JobTitle 标签,让两个标签都可见。
将屏幕左上角的 Title 和 JobTitle 标签的 Text 属性设置为以下内容。
Label 公式 称谓 'Translation component_1'.Labels.Title
JobTitle 'Translation component_1'.Labels.JobTitle
备注
将此公式中的 'Translation component_1' 替换为您应用中组件的名称(如果不同)。
同样,您可以使用之前创建的组件中定义的不同标签和属性来传递更多属性值。 例如,除了 Title 和 JobTitle,您还可以在带有翻译文本的组件库中创建更多属性,如 Description 或 Instructions。 然后,在相应的标签上使用此类属性,如 'Translation component_1'.Labels.Description 或 'Translation component_1'.Labels.Instructions。
选择文件 ->保存,更新您的应用的名称,然后选择保存保存您的应用。 详细信息:保存并发布应用
使用语言翻译测试您的应用
现在您的应用在使用翻译组件。 转到 Power Apps,选择要运行的应用。
选择切换后,标签的语言将更改为葡萄牙语 (BR)。 未经检查时,语言将设置回英语(美国)。
通过此方法,您现在可以创建自己的组件,其中包含适合您业务要求的翻译字典。 然后,创建更多使用该组件的画布应用,让业务用户能够使用不同的语言。