[本主题是预发行文档,有可能会有所更改。]
本文概述了如何通过将每种语言的 Web 资源 RESX 文件上载到您的解决方案来将本地化内容添加到自定义页面。
本文介绍如何使用 Power Fx 在自定义页面上设置控件的内容。 您可以对工具提示和使用自定义页面上的 text 控件的任何消息使用类似的步骤。
在自定义页上本地化标签
在构建支持全球用户或多语言组织的应用时,在模型驱动应用的自定义页面上提供本地化内容至关重要。 可以通过作为 Web 资源上载 .resx 格式的文本文件来完成翻译。 文件中包含您要用于自定义页面上的标签的翻译文本。
此流程具有以下步骤:
- 为您的环境启用语言。
- 将本地化的 RESX Web 资源文件添加到解决方案中。
- 将本地化的文件添加到自定义页中。
- 管理本地化的 Web 资源。
- 将本地化的字符串添加到控件中。
- 使用本地化内容运行您的应用。
为您的环境启用语言
要为自定义页面添加语言,您需要首先在自定义页面运行的模型驱动应用中启用要支持的语言。 确保您已从 Power Platform 管理中心启用语言。 详细信息:启用语言
完成在环境中启用语言的步骤后,以正确格式为每种语言创建一个 RESX 文件,以在模型驱动应用的自定义页面上本地化字符串。
使用本地化的字符串创建 RESX 文件后,将它们作为 Web 资源添加到您的解决方案中。 有两种方法可以完成此任务,第一种是在 make.powerapps.com 中打开您的解决方案,然后选择在您的环境中将 Web 资源添加到您的解决方案的选项,或者您可以在处理自定义页面时添加 Web 资源。 详细信息:RESX Web 资源
本文后面的将本地化的文件添加到自定义页面一节中介绍了如何在处理自定义页面时添加 Web 资源。
本地化内容将基于自定义页面正在运行的应用程序的用户或组织区域设置。 您的应用程序的语言基于用户或管理员在 Power Platform 管理中心的用户应用设置或管理员设置中定义的语言首选项。 如果两者都没有设置,则使用创建环境时设置的基本语言。
备注
在 Power Apps Control Framework (PCF) 控件中显示的内容将本地化为应用程序的本地语言,而无需对自定义页面进行额外更改。 更多信息:本地化 PCF 控件
将本地化的 RESX Web 资源文件添加到解决方案中
- 转到 make.powerapps.com,选择解决方案区域,然后打开所需的解决方案。
- 在命令栏中,选择新建>更多>Web 资源。 这会打开一个面板,用于添加 RESX Web 资源文件。
添加到您的解决方案中的所有文件都需要遵循特定格式,包括 {filename}.LanguageID.resx,其中语言 ID 是该语言的数字值。 此格式是必要的,因为框架依赖于命名约定来识别应该使用哪个资源文件将适当的本地化字符串与 label 控件相关联。
重要提示
所有文件的 RESX {filename} 必须相同。
例如,所有本地化的字符串文件都有名称 CustomPageLoc.LanguageID.resx,这意味着它在英语中是 CustomPageLoc.1033.resx,在法语中是 CustomPageLoc.1036.resx,在阿拉伯语中是 CustomPageLoc.1025.resx。 添加的每个文件的显示名称也必须相同。
在下面的示例中,所有文件都以 CPLoc 作为显示名称。 显示名称必须相同,以确保在每种语言的自定义页面上正确使用所有本地化内容。 我们建议您在说明字段中添加语言的相应名称,以帮助您在自定义页面设计器中查看文件时识别内容。 此外,您需要添加您正在使用的相同语言的 RESX 文件。 例如,如果您使用英语创作,请务必添加英语 RESX 文件。
将 Web 资源添加到解决方案后,请确保发布更改。 发布可确保文件可添加到您的自定义页面。 以下是已添加到解决方案并且现在可以添加到自定义页面的 Web 资源 RESX 文件的示例。
将本地化的文件添加到自定义页中
在创建或编辑页面时,将本地化文件添加到自定义页中。
要将语言添加到您的页面,选择左侧的资源图标打开资源窗格。
在两个位置之一选择添加资源。
将打开一个对话,其中列出您的解决方案中所有可用的 Web 资源。 要快速找到您的文件,您可以使用对话顶部的搜索来搜索显示所有本地化 RESX 文件的显示名称。 您只需选择并添加与您用于创作页面的语言相匹配的文件。 在此示例中,英语文件是您需要添加的唯一文件。
备注
不必添加每个文件 - 您只需添加一个。 解决方案和平台根据显示名称将上载的语言映射到您添加到解决方案的语言 Web 资源文件中。 当您添加多个文件时,会显示一个带有错误消息的对话,指出文件已加载到您的页面。
如果您没有在对话中看到要添加的语言的 RESX Web 资源,则需要使用本文前面所述的步骤将该文件添加到您的解决方案中。
选择添加后,面板将关闭,Web 资源列在资源窗格中。
管理本地化的 Web 资源
将 Web 资源语言添加到您的页面后,您可以通过选择文件旁边的 ... 省略号来管理文件。 如果 Web 资源已更新,将会打开一个弹出项目,您可以在其中刷新该资源。 您还可以从页面中删除资源。 如果显示名称已更改或已发布到您的解决方案的 RESX 文件中的任何字符串键已更新,您则需要刷新页面上的 RESX 资源。 请注意,更新 RESX 文件中的翻译并发布解决方案不需要刷新页面上的 RESX。
将本地化的字符串添加到 label 控件中
要将本地化的内容添加到 label 控件,选择标签,然后使用控件的 Power Fx 文本函数将函数设置为资源。 要完成此任务,选择 label 控件,然后选择 Text 函数。
使用 text 函数,将值设置为 Web 资源,并在 Web 资源 RESX 文件中设置您想要的值。 设置表达式后,内容将出现在页面的预览中。
保存并发布对页面的更改。
备注
确保同时保存并发布对应用的更改。 需要保存和发布页面和应用,以确保本地化的标签在运行时使用适当的字符串呈现。
重要提示
添加 form 控件时,请确保对标签进行本地化。 当您将控件绑定到 Microsoft Dataverse 表时,它们不会自动提取本地化的标签。 目前,您需要在 resx 文件中添加标签字符串,解锁表单控件,然后使用与自定义标签、文本、工具提示等相同的表达式将 displayName 属性设置为本地化字符串。
使用本地化内容运行您的应用
发布页面和应用后,在应用程序设计器中选择播放在单独的浏览器选项卡中打开应用。
在站点地图中选择您的自定义页。
控件的标签将显示本地化的内容。 通过在应用顶部的设置(齿轮图标)下选择个性化设置测试添加到应用和页面的每种语言。
然后,在语言选项卡上,将用户界面语言设置为您要测试的语言。
自定义页面的从右到左支持
对于本地化的内容,有几种语言要求页面上呈现的内容使用从右到左的方向。 阿拉伯语和希伯来语等语言完全支持从右到左 (RTL),这些语言的页面将在运行时自动更改。
重要提示
自定义页面当前不支持图标、形状和图像的从右到左方向。 如果您添加图标、形状或图像,它的行为可能与预期不同,因此在您的自定义页面上使用这些类型的控件时请小心。
要在构建自定义页面时查看 RTL,您需要转到页面设置,选择即将推出的功能,搜索 RTL,然后启用设置。 设置此选项会在预览窗口中显示 RTL 或 LTR 按钮,您可以在其中切换方向而无需运行应用。 如果您希望看到您的自定义页面运行 RTL,您可以在运行应用以测试页面的 RTL 时将 &flags=isRTL=true 添加到浏览器中 URL 的末尾。
使用 resx 文件导出解决方案的已知限制
导出解决方案并将其导入新环境时,不会自动添加 Resx 文件。 这是一个已知限制,需要您将 resx 文件上载到新环境中。 因此,如果您有开发人员环境,在您导出解决方案然后导入生产环境时,您需要将 resx 本地化文件添加到生产环境解决方案中。