Change the system language/locale in Mac OS X Terminal

Change the current system locale/language without going to  ▹ System Preferences ▹ Language & Text ▹ Language & Region in Mac OS X:

Get the current locale:

defaults read -g AppleLocale

Get the current language:

defaults read -g AppleLanguages

Get a list of the user’s language preferences:

defaults read NSGlobalDomain AppleLanguages

Mac OS X will use the languages in decreasing order of preference (if the first one is not available in a particular app).


Change language/locale to English (Australia):

defaults write NSGlobalDomain AppleLanguages "(en-AU)"

Open Safari in English (Australia):

/Applications/Safari.app/Contents/MacOS/Safari -AppleLanguages '(en-AU)'

Tip: Press ↑ to navigate in your bash history to change the system and Safari language as many times as you want without typing the whole command again.

Reference: Technical Q&A QA1391 How can I determine the order of the languages set by the user in the Language tab of the International preference pane?