问题
I need to detect the current locale in OS X from the command line. On Linux/Unix I can rely on LANG, but it is not always set:
http://henrik.nyh.se/2007/10/displaying-utf-8-correctly-in-leopard-terminal
I am looking for command line utilities or AppleScript code that allows me to find that information. Ideally they would work from 10.2 onwards
The closest I have found so far is
defaults read -g AppleLocale
which works on 10.3 onwards
回答1:
apropos yeilds the command locale
10.4 and later though
Edit:
defaults read .GlobalPreferences AppleLanguages | tr -d [:space:] | cut -c2-3
is mentioned here. I don't have access to a 10.2 system though, so I don't know if it works.
回答2:
locale
or if that's not disponible
env | grep LC_
回答3:
export LANG=$(defaults read -g AppleLanguages | \
sed '/"/!d;s/["[:space:]]//g;s/-/_/').UTF-8
来源:https://stackoverflow.com/questions/661935/how-to-detect-current-locale-in-mac-os-x-from-the-shell