ApplicationLanguages.PrimaryLanguageOverride | primaryLanguageOverride Property

获取或设置应用程序首选语言的重写,用 BCP-47 语言标记表示。此设置为持久。

语法


public:
static property String^ PrimaryLanguageOverride { 
   String^ get();
   void set (String^ value);
}

属性值

类型: String [JavaScript] | System.String [.NET] | Platform::String [C++]

BCP-47 语言标记。应用程序可设置该标记以重写用户的首选语言排名列表中的语言 (ApplicationLanguages.Languages),并且其值将在应用程序会话之间保留下来。它必须是单个语言标记;语言标记的分隔列表将会失败。

当应用获取值时,PrimaryLanguageOverride 将返回单个语言标记(如果应用以前已设置该属性)或空字符串。

备注

应用程序运行时,通常使用系统决定的语言设置,方法是比较应用程序支持的语言与用户的语言首选项。该系统行为的设置可以使用 ApplicationLanguages.Languages 属性来获取。PrimaryLanguageOverride 属性用于重写该行为,方法是将特定语言设置为语言列表中的第一个语言。

PrimaryLanguageOverride 设置会在会话之间保留下来。每此加载应用程序时,不应设置它。应只根据在设置 UI 中存在的用户输入来设置它。属性可在任意时间读取。如果从未设置此属性,则它返回空字符串。

设置 PrimaryLanguageOverride 时,此项将立即反映在 ApplicationLanguages.Languages 属性中。但是,此更改可能不在应用程序 UI 中加载的资源上立即生效。若要确保应用响应此类更改,你可以侦听默认资源上下文的 QualifierValues 属性,并采取任何可能需要的操作来重新加载资源。这些要求可能会根据应用所用的 UI 框架而变化,并且可能需要重新启动该应用。

注意  如果您的应用程序将来自此类的语言标记传递到任何区域语言支持功能,则它必须首先通过调用 ResolveLocaleName 来转换标记。

从 Windows 8.1 中开始:

语言标记可以支持 Unicode 扩展。请参见 ApplicationLanguages 类的“备注”。

可以使用资源程序包部署 Windows 应用商店应用。使用语言资源程序包时,为给定用户安装并注册的程序包由该用户的语言配置文件中的语言确定。因此,并非提交到 Windows 应用商店的应用程序捆绑包中包括的所有语言一定在运行时可用。PrimaryLanguageOverride 属性只能设置为用户可用的语言。

可供应用程序在运行时用作 ApplicationLanguages 对象的语言只能是主应用程序包清单中包含的语言,以及与适用于用户(通过与用户首选项比对来确定)并为用户安装和注册的语言资源包对应的语言。ApplicationLanguages.ManifestLanguages 属性反映可供用户使用的语言资源包,并因此返回可用于设置 PrimaryLanguageOverride 属性的相应语言集。

ApplicationLanguages.Languages 属性返回的列表与 ManifestLanguages 属性非常类似。它的不同可能在于包括未在任何包清单中列出的区域语言变体;例如,"en-CA"(英语(加拿大))可以由 Languages 属性返回,如果用户在自己的配置文件中具有 "en-CA",并且应用程序支持任何区域类型的英语。此类用户派生的区域语言变体可能比设置 PrimaryLanguageOverride 属性更可取,因为应用程序随后会提供更适合用户的全球化行为。

如果语言在主应用程序包中,但不与用户首选项中的任何语言匹配,则它被 ManifestLanguages 属性返回,而不被 Languages 属性返回。它们还可以用来设置 PrimaryLanguageOverride 属性。但是,因为这些语言不反映在用户首选项中,用户可能不理解这些语言。仅当用户直接选择这些设置时,才应使用这些设置。

要求

最低支持客户端

Windows 8

最低支持服务器

Windows Server 2012

命名空间

Windows.Globalization
Windows::Globalization [C++]

元数据

Windows.winmd

另请参见

ApplicationLanguages
ApplicationLanguages.Languages
BCP-47 语言标记

 

 

显示:
© 2014 Microsoft