Shell 获取系统首选项中的语言首选项->;语文及;文本

Shell 获取系统首选项中的语言首选项->;语文及;文本,shell,applescript,locale,system-preferences,Shell,Applescript,Locale,System Preferences,我想在系统首选项->语言和文本中获得语言的首选项。我尝试使用“获取系统信息”来获取语言偏好 set language_prefer to (user locale of (get system info)) if (language_prefer is "zh-Hans") then set sharingstr to "共享" set startstr to "启动" else if (language_prefer is "zh-Hant") then set sharin

我想在系统首选项->语言和文本中获得语言的首选项。我尝试使用“获取系统信息”来获取语言偏好

set language_prefer to (user locale of (get system info))
if (language_prefer is "zh-Hans") then
   set sharingstr to "共享"
   set startstr to "启动"
else if (language_prefer is "zh-Hant") then
   set sharingstr to "共享"
   set startstr to "啟動"
else
   set sharingstr to "Sharing"
   set startstr to "Start"
end if
但我发现,当我更改语言的首选项时,(get system info)的(user locale)返回值从未更改。然后我发现用户区域设置与首选语言不同以简体中文为例,它的用户区域设置是“zh_CN”,但它的语言偏好是“zh Hans”。有人说使用

set lang to do shell script "defaults read NSGlobalDomain AppleLanguages"
这是回报

(
"zh-Hans",
en,
"zh-Hant",
de,
ja,
fr,
es,
it,
pt,
"pt-PT",
nl,
sv,
nb,
da,
fi,
ru,
pl,
ko,
ar,
cs,
hu,
tr
)
如何获取语言首选项值,如“zh Hans”


希望有人能帮助我,谢谢。

查看Cocoa/Objective C“
NSLocale
”文档,我发现实际上有两个用户级语言环境变量

一个是,另一个是

不幸的是,苹果决定通过AppleScript导出的API似乎只在用户登录时更新。我怀疑您的Applescript结果只会在用户每次重新启动或重新登录时更改

您需要拿出一个Objective C工具,它允许您执行“
自动更新CurrentLocale
”并将其放入Applescript变量中


现在我看到你已经编辑了你的问题,所以我也将编辑我的问题:听起来你想做的是建议做的,我很确定你在做自己的研究时已经看到了。使用“
get_language()
”applescript位返回“
r
”数组的第1项。

查看Cocoa/Objective C“
NSLocale
”文档,我发现实际上有两个用户级的区域设置变量

一个是,另一个是

不幸的是,苹果决定通过AppleScript导出的API似乎只在用户登录时更新。我怀疑您的Applescript结果只会在用户每次重新启动或重新登录时更改

您需要拿出一个Objective C工具,它允许您执行“
自动更新CurrentLocale
”并将其放入Applescript变量中


现在我看到你已经编辑了你的问题,所以我也将编辑我的问题:听起来你想做的是建议做的,我很确定你在做自己的研究时已经看到了。使用“
get_language()
”applescript位返回“
r
”数组的项目1。

有多种不同的区域设置:

  • /usr/libexec/PlistBuddy-c'Print AppleLanguages:0'~/Library/Preferences/.GlobalPreferences.plist
    • 在语言和文本>语言中选择第一种语言
  • 默认值为-g AppleLocale
    • 在语言和文本>区域中选择的设置
    • 的用户区域设置(系统信息)
    • 确定默认情况下LC_uuu变量的终端和iTerm设置
  • /Library/Preferences/.GlobalPreferences.plist
    • sudo languagesetup
      和运行安装助手时更改
    • 登录窗口中以及新用户和来宾用户使用的语言
  • defaults read/Library/Preferences/.GlobalPreferences.plist AppleLocale
    • 运行安装助手时发生更改
    • 用于新用户和来宾用户的区域

有多种不同的语言环境设置:

  • /usr/libexec/PlistBuddy-c'Print AppleLanguages:0'~/Library/Preferences/.GlobalPreferences.plist
    • 在语言和文本>语言中选择第一种语言
  • 默认值为-g AppleLocale
    • 在语言和文本>区域中选择的设置
    • 的用户区域设置(系统信息)
    • 确定默认情况下LC_uuu变量的终端和iTerm设置
  • /Library/Preferences/.GlobalPreferences.plist
    • sudo languagesetup
      和运行安装助手时更改
    • 登录窗口中以及新用户和来宾用户使用的语言
  • defaults read/Library/Preferences/.GlobalPreferences.plist AppleLocale
    • 运行安装助手时发生更改
    • 用于新用户和来宾用户的区域

谢谢您的回答,但正如我所尝试的:用户区域设置不同于语言偏好。以简体中文为例,它的用户区域设置是“zh_CN”,但它的语言偏好是“zh Hans”。谢谢您的回答,但正如我所尝试的:用户区域设置不同于语言偏好。以简体中文为例,它的用户区域设置是“zh_CN”,但它的语言偏好是“zh Hans”。