通过applescript获取当前登录用户的语言

pan*_*atz 0 macos terminal applescript

我想获取当前登录用户的系统语言.这条线

set lang to do shell script "defaults read NSGlobalDomain AppleLanguages"
Run Code Online (Sandbox Code Playgroud)

返回一个字符串,看起来像

(
    en,
    de,
    ja,
    fr,
    es,
    it,
    pt,
    "pt-PT",
    nl,
    sv,
    nb,
    da,
    fi,
    ru,
    pl,
    "zh-Hans",
    "zh-Hant",
    ko,
    ar,
    cs,
    hu,
    tr
)
Run Code Online (Sandbox Code Playgroud)

返回用户语言,但我怎样才能得到这个'数组'的第一个?是否有可能将此解析为数组获取其第一个值?

reg*_*633 6

有一个更直接的方法.Applescript有一个命令"系统信息",它返回有关当前用户的大量有用信息.试试看......

return system info
Run Code Online (Sandbox Code Playgroud)

可以帮助您的信息是"用户区域设置".所以你可以轻松搞定语言......

return user locale of (get system info)
Run Code Online (Sandbox Code Playgroud)

在不同的用户身上玩这个,看看它是否能满足你的需求.