【问题标题】:Hot to get the Keyboard Layout language & locale in the format "en_US" in MAC OS X?想要在 MAC OS X 中以“en_US”格式获取键盘布局语言和区域设置?
【发布时间】:2011-11-11 21:24:18
【问题描述】:

我正在使用文本输入源来获取当前的键盘布局,其名称类似于 com.apple.keylayout.US

我想通过 Cocoa 或其他系统 API 将语言和区域设置为 enUS。我可以通过kTISPropertyInputSourceLanguages 获取语言。

我如何获得语言环境?

【问题讨论】:

  • 当前应用程序区域设置与当前键盘布局无关。你想做什么?
  • 使用不推荐使用的碳代码,可以从键盘布局中获取区域设置和语言。脚本 = GetScriptManagerVariable(smKeyScript); long layoutId = GetScriptVariable(script, smScriptKeys)。我有一个依赖于“en-US”格式的函数,因此需要新 API 的相同返回值。
  • 您真的需要与键盘关联的语言和区域设置,还是只需要当前用户/应用程序的语言和区域设置?
  • 我正在使用带有瑞典语键盘的英语语言环境。你敢惹我的喜好。
  • 能否请您用代码扩展问题:“使用文本输入源获取当前键盘布局,其名称类似于 com.apple.keylayout.US。”

标签: macos cocoa keyboard locale


【解决方案1】:

The Script Manager documentation suggests the replacements for itself, including for the smScriptKeys selector.

至于获取当前语言或区域设置,这与 Mac OS X 中的当前输入源(可能是也可能不是键盘布局)无关。这是有道理的,因为有几个可能的输入源,包括几个键盘布局,不是特定于语言或区域设置的。

使用CFLocaleNSLocale 查找当前语言和当前区域设置。

【讨论】:

    猜你喜欢
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    相关资源
    最近更新 更多