gpt4 book ai didi

c++ - GetUserDefaultUILanguage API 在 Win8.1 上为加拿大法语返回不正确的语言

转载 作者:行者123 更新时间:2023-11-30 05:20:13 32 4
gpt4 key购买 nike

我将windows 8.1系统的语言设置为加拿大法语(Fr-ca),并使用GetUserDefaultUILanguage获取用户默认语言的 API,但返回值 1036(Fr-fr) 不正确,应为 3084(Fr-ca)。它在 Windows 10 上返回正确的值 (3084)。您知道如何在 Window 8.1 上为 Fr-ca 获取正确的值吗?

最佳答案

我在您提到的相同系统上试验了相同的结果:

Windows 7 返回“fr-FR”(操作系统只允许选择“french”!)即使在语言配置中选择了“法语(加拿大)”,Windows 8.1 也会返回“fr-FR”。Windows 10 返回“fr-CA”,已为 UI 显示启用“français(加拿大)”。

MSDN API 文档在备注中提到了这一点:

This function returns only a language identifier. An application can retrieve the language name using the GetUserPreferredUILanguages function.

使用此 GetUserPreferredUILanguages 方法时,您得到的结果很可能是正确的变得更加明显:

对于 Windows 7,列表返回:

fr-FR

对于 Windows 8.1,列表返回:

fr-FR, en-US

对于 Windows 10,列表返回:

fr-CA, fr-FR, en-US

因此,我解释 API 返回 UI 资源的系统优先级列表。对于 Windows 8.1,可能没有针对加拿大法语的 UI 资源专门化。在所有情况下,它都会返回到法语 french...并且在不得已的情况下,如果资源没有翻译,它会从安装磁盘(在我的例子中是 en-US)中获取“安装语言”。

关于c++ - GetUserDefaultUILanguage API 在 Win8.1 上为加拿大法语返回不正确的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40783624/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com