gpt4 book ai didi

c++ - 什么是中性语言、用户默认 LANGID 和系统默认 LANGID?

转载 作者:行者123 更新时间:2023-11-30 05:37:10 24 4
gpt4 key购买 nike

来自 MSDN 关于 FormatMessage功能:

If you pass in zero, FormatMessage looks for a message for LANGIDs in the following order:

  • Language neutral
  • Thread LANGID, based on the thread's locale value
  • User default LANGID, based on the user's default locale value
  • System default LANGID, based on the system default locale value
  • US English

但是零已经语言中立了,因为语言中立的值是0...

LCID lang = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL); // 0

什么是中性语言?任何电脑都一样吗?如果"is",那么它是 en-US 吗?

此外,系统默认值 LANGID 是什么?和屏幕上的一样吗?

enter image description here

此外,用户默认值 LANGID 是什么?这三个本地化有什么区别?它们的值存储在 Windows 操作系统设置中的什么位置?

最佳答案

如果 FormatMessage 的 MSDN 文档说的是language-neutral而不是Language neutral,那么它可能更容易理解。 Windows MUI 资源可以是特定语言的或语言中立的(您可以了解有关此主题的更多信息 here )。使用 dwLanguageId=0 调用 FormatMessage 告诉 Windows 尝试从语言中性资源加载具有给定 dwMessageID 的字符串。如果该字符串在语言中立资源中不存在,Windows 将尝试使用记录的 LANGID 顺序(线程默认值、用户默认值、系统默认值、1033)从特定于语言的资源中加载它。这有点不寻常,因为没有考虑进程默认的 LANGID。

用户默认值 LANGID 是您通过调用 GetUserDefaultUILanguage 返回的值.您可以在控制面板中更改它(对于 Windows 8.1:控制面板\时钟、语言和区域\语言)。 GetSystemDefaultUILanguage返回系统默认值 LANGID。我希望您可以在发布的屏幕上更改它,但我不确定上部或下部按钮是否正确。恐怕我不知道这些设置存储在哪里。

关于c++ - 什么是中性语言、用户默认 LANGID 和系统默认 LANGID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346071/

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