Language 函数
适用于: 画布应用 桌面流 Power Pages Power Platform CLI
返回当前用户的语言标记。
描述
Language 函数可使用语言标记的形式返回当前用户的语言、脚本或区域。
使用不同区域设置的语言信息定制应用。 例如,如果您正在创建要在意大利和法国使用的应用,可以使用 Language 函数自动向位于这些不同位置的用户显示意大利语和法语字符串。
语言标记
语言标记可以是下面三种格式之一:
返回值 | 说明 |
---|---|
“lg-RE” | lg 是语言的双字符缩写, RE 是区域的双字符缩写。 这是最常见的返回类型。 例如,对于英国 (Great Britain),返回“en-GB”。 |
“LG” | LG 是该语言的双字符缩写。 如果 Power Apps 获得了语言信息,但没有特定区域信息,则使用此格式。 |
“lg-scrp-RE” | lg 是语言的双字符缩写, scrp 是脚本的四字符缩写, RE 是区域的双字符缩写。 |
Power Apps 使用 IETF BCP-47 语言标记格式。
要查看支持的语言标记列表,请在公式栏或高级视图中输入 Value( "1", ),然后滚动查看建议作为第二个参数的值的区域设置列表。
Text 和 Value 函数也使用语言标记。 这些函数可基于全球化考虑来回转换文本字符串。 将语言标记传递给这些函数时,如果区域没有区别,则只需使用标记的语言部分。
语法
语言()
示例
用户的区域设置
假设主机操作系统和/或浏览器正在使用当地的默认区域设置。
公式 | Location | 返回值 |
---|---|---|
语言() | 葡萄牙里斯本 | “pt-PT” |
语言() | 巴西里约热内卢 | “pt-BR” |
语言() | 美国亚特兰大 | “en-US” |
语言() | 英国曼彻斯特 | “en-GB” |
语言() | 法国巴黎 | “fr-FR” |
语言() | 多米尼加罗索 | “en” |
语言() | 塞尔维亚贝尔格莱德 | “sr-cyrl-RS”或“sr-latn-RS”,具体取决于用户的系统设置 |
本地化表
实现本地化的一种简便方法是创建一个 Excel 电子表格,将作者定义的 TextID 映射到用户语言的翻译文本。 对于这个表,虽然也可以使用集合或其他数据源,但我们选择 Excel,因为这更便于翻译在应用外编辑和管理内容。
在 Excel 中创建下面的表︰
如果找不到指定语言的任何特定文本字符串,则使用空白作为语言列的默认值。 这个条目放在指定 TextID 的所有其他条目后。
对我们而言,只需要查看区域设置(而不是区域)的语言。 如果区域因素很重要,我们可以在上面的表中包含完整的语言标记值。
使用插入功能区中的 Table 命令,将其设置为正确的 Excel 表。 默认情况下,其名称为 Table1,但随时可以使用最左侧的表工具/设计功能区和表名称:文本框对其重命名。
将 Excel 文件保存到本地文件系统。
在 Power Apps 中,在右侧窗格中,单击或点击数据源选项卡,然后单击或点击添加数据源。
单击或点击将静态数据添加到应用,然后单击或点击保存的 Excel 文件,最后单击或点击打开。
选择创建的表,然后单击或点击连接。
在应用中之前使用过 "Hello" 的所有位置,现在使用以下公式:
- LookUp(Table1,TextID =“Hello”& &(LanguageTag = Left(Language(),2)||IsBlank(LanguageTag))).本地化文本
这个公式用于查找用户语言的相应 LocalizedText 值,如果找不到,则恢复为默认的空白版本。
请注意,翻译为其他语言的字符串可能会显著长于用您的语言表示的字符串。 在很多情况下,要将在用户界面中显示字符串的标签和其他元素设计得稍宽一些,以便容纳较长的语言版本。
翻译服务
您可以使用翻译服务(如 Microsoft Translator 服务)按需翻译文本:
- 在 Power Apps 中,在右侧窗格中,单击或点击数据源选项卡,然后单击或点击添加数据源。
- 点击或点按 Microsoft 翻译器。
在应用中之前使用过 "Hello" 的所有位置,现在使用以下公式:
- MicrosoftTranslator.Translate(“你好”,语言())
Microsoft Translator 服务使用与 Language 函数返回的相同的语言标记。
跟之前使用文本字符串预翻译表的例子相比,这个方法有一些缺点:
- 完成翻译比较耗时,需要通过网络调用服务才能实现。 这可能会导致在应用中查看翻译文本时出现延迟。
- 翻译是机械式的,可能无法达到预期效果,或者对您的应用来说不是最佳选择。