2009-03-19 7 views
7

Ich muss das aktuelle Gebietsschema in OS X über die Befehlszeile erkennen. Unter Linux/Unix kann ich auf LANG verlassen, aber es ist nicht immer gesetzt:So erkennen Sie das aktuelle Gebietsschema in Mac OS X von der Shell

http://henrik.nyh.se/2007/10/displaying-utf-8-correctly-in-leopard-terminal

Ich suche Befehlszeilen-Dienstprogramme oder Applescript-Code, der mir diese Informationen zu finden. Im Idealfall würden sie weiter von 10.2 arbeiten

Der nächstgelegene ich bisher gefunden habe, ist

defaults read -g AppleLocale 

die

Antwort

12

apropos yeilds den Befehl locale

10.4 und höher, obwohl

auf 10,3 ab Werk

Bearbeiten:

defaults read .GlobalPreferences AppleLanguages | tr -d [:space:] | cut -c2-3 

wird erwähnt here. Ich habe jedoch keinen Zugriff auf ein 10.2-System, daher weiß ich nicht, ob es funktioniert.

+0

Richtig, ich über sie bereits lief aber nur 10.4 und höher, wie Sie –

+0

Danke für die Anregung erwähnen. Es funktioniert in 10.2, aber in returns Englisch, während in der 10.3 und später der Sprachcode –

+2

defaults read -g AppleLocale funktioniert auf 10.3 und später –

4
locale 

oder wenn das nicht disponible

env | grep LC_ 
+1

Leider sind keine LC_ standardmäßig in vielen Installationen verfügbar –

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