Daniel Lopez
Daniel Lopez

Reputation: 3391

How to detect current locale in Mac OS X from the shell

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

Upvotes: 13

Views: 26976

Answers (3)

user246672
user246672

Reputation:

export LANG=$(defaults read -g AppleLanguages | \
  sed '/"/!d;s/["[:space:]]//g;s/-/_/').UTF-8

Upvotes: 0

cobbal
cobbal

Reputation: 70743

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.

Upvotes: 17

vartec
vartec

Reputation: 134601

locale 

or if that's not disponible

env | grep LC_

Upvotes: 8

Related Questions