From: martin f. krafft Date: Tue, 6 May 2008 09:45:05 +0000 (+0100) Subject: set the locale X-Git-Url: https://git.madduck.net/etc/zsh.git/commitdiff_plain/5eba7cf678e54ea475d22fe6a18f3ec0a77ca94b?ds=sidebyside;pf=etc set the locale --- diff --git a/.zsh/zshrc/10_locale b/.zsh/zshrc/10_locale new file mode 100644 index 0000000..0c69342 --- /dev/null +++ b/.zsh/zshrc/10_locale @@ -0,0 +1,104 @@ +# zshrc/10_locale +# +# Defines locale settings +# +# Copyright © 1994–2008 martin f. krafft +# Released under the terms of the Artistic Licence 2.0 +# +# Source repository: http://git.madduck.net/v/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 + +unfunction _set_regional_locale +unfunction _set_locale + +# vim:ft=zsh