# zprofile/10_locale # # Defines locale settings # # Copyright © 1994–2008 martin f. krafft # Released under the terms of the Artistic Licence 2.0 # # Source repository: git://git.madduck.net/etc/zsh.git # _set_locale() { export LC_CTYPE=$1 export LC_COLLATE=$1 export LC_MESSAGES=$1 export LC_TIME=$1 _set_regional_locale $1 } _set_regional_locale() { export LC_NUMERIC=$1 export LC_MONETARY=$1 export LC_PAPER=$1 export LC_NAME=$1 export LC_ADDRESS=$1 export LC_TELEPHONE=$1 export LC_MEASUREMENT=$1 export LC_IDENTIFICATION=$1 } if [ -x =locale ]; then _LOCALE="$(locale -a)" # I prefer British English and UTF-8 over US English and non-UTF-8 case "$_LOCALE" in *en_GB.utf8*) _set_locale en_GB.UTF-8 export LANG=en_GB ;; *en_US.utf8*) _set_locale en_US.UTF-8 export LANG=en_US ;; *en_GB.iso885915*) _set_locale en_GB.ISO-8859-15 warn "no utf-8 locale available" export LANG=en_GB ;; *en_US.iso885915*) warn "no utf-8 locale available" _set_locale en_US.ISO-8859-15 export LANG=en_US ;; *en_GB.iso88591*) warn "no utf-8 locale available" _set_locale en_GB.ISO-8859-1 export LANG=en_GB ;; *en_US.iso88591*) warn "no utf-8 locale available" _set_locale en_US.ISO-8859-1 export LANG=en_US ;; *en_GB*) warn "no utf-8 or iso locale available" _set_locale en_GB export LANG=en_GB ;; *en_US*) warn "no utf-8 or iso locale available" _set_locale en_US export LANG=en_US ;; esac # regional stuff should be Swiss over German case "$_LOCALE" in *de_CH.utf8*) _set_regional_locale de_CH.UTF-8 ;; *de_CH.iso885915*) _set_regional_locale de_CH.ISO-8859-15 ;; *de_CH.iso88591*) _set_regional_locale de_CH.ISO-8859-1 ;; *de_DE.utf8*) _set_regional_locale de_DE.UTF-8 ;; *de_DE.iso885915*) _set_regional_locale de_DE.ISO-8859-15 ;; *de_DE.iso88591*) _set_regional_locale de_DE.ISO-8859-1 ;; esac unset _LOCALE fi export LANGUAGE="${LANG}:en" unfunction _set_regional_locale unfunction _set_locale # vim:ft=zsh