ApplicationLanguages 类

定义

指定应用可以使用和维护的语言相关首选项。

public ref class ApplicationLanguages abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ApplicationLanguages final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class ApplicationLanguages
Public Class ApplicationLanguages
继承
Object Platform::Object IInspectable ApplicationLanguages
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

此类中引用的语言由 BCP-47 语言标记表示。 其中每一个都是一个语言标识符,而不是区域设置名称,尽管两者在结构上可以相同。 作为语言标记,“en-US”是指美国英语 (或美国) 中说的英语方言。 它没有声称说话人的实际位置 (尽管其中许多确实居住在美国) ,也没有关于美国使用的约定的其他声明,如度量系统或货币。

例如:

Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "en-US"

注意

如果你的应用将此类中的语言标记传递给任何 国家语言支持 函数,它必须首先通过调用 ResolveLocaleName 来转换标记。

语言标记支持 Unicode 扩展“ca-”和“nu-”。 (请参阅 Unicode 键/类型定义。) 请注意,这些扩展可能会影响全球化对象使用的数字系统或日历。

可以使用资源包部署 UWP 应用。 使用语言资源包时,为给定用户安装和注册的包由用户的语言配置文件中的语言确定。 因此,并非所有提交到 Microsoft Store 的应用捆绑包中包含的语言都一定可供运行时使用。 PrimaryLanguageOverride 属性应仅设置为用户可用的语言。

可供应用在运行时用作 ApplicationLanguages 对象的语言仅限于main应用包清单中包含的语言,以及适用于用户的语言资源包所对应的语言 (由用户首选项) 中的匹配语言确定,并为用户安装和注册的语言。 ApplicationLanguages.ManifestLanguages 属性反映用户可用的语言资源包,并返回可用于设置 PrimaryLanguageOverride 属性的适当语言集。

ApplicationLanguages.Languages 属性将返回与 ManifestLanguages 属性非常相似的列表。 它可能有所不同,包括未在任何包清单中列出的区域语言变体;例如,如果用户的个人资料中具有“en-CA”,并且应用支持任何区域英语,则 Languages 属性可以返回“en-CA” (英语 (Canada) ) 。 对于设置 PrimaryLanguageOverride 属性,最好使用此类用户派生的区域语言变体,因为应用随后将提供更适合用户的全球化行为。

如果语言位于 main 应用包中,但与用户偏好中的任何语言都不匹配,则它由 ManifestLanguages 属性返回,但不会由 Languages 属性返回。 这些属性还可用于设置 PrimaryLanguageOverride 属性。 但是,由于这些语言不会反映在用户的首选项中,因此用户可能无法理解这些语言。 仅当用户直接选择时,才应使用此类设置。

版本历史记录

Windows 版本 SDK 版本 已添加值
1803 17134 GetLanguagesForUser

属性

Languages

获取用户首选的当前运行时语言值的排名列表。

ManifestLanguages

获取应用声明的受支持语言列表。

PrimaryLanguageOverride

获取或设置应用的首选语言的替代,表示为 BCP-47 语言标记。 此设置是永久性的。

方法

GetLanguagesForUser(User)

检索指定用户的语言首选项。 此 API 是支持多用户应用的一部分, (MUA) 。

适用于

另请参阅