ApplicationLanguages 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定应用可以使用和维护的语言相关首选项。
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
- 继承
- 属性
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) 。 |