From a25e0fcfb8b70394959ca53125f289c13e7ddf28 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Mon, 17 Oct 2011 11:04:02 +0200 Subject: Add .zprofile/zprofile and locale setting --- .zsh/.zprofile | 1 + .zsh/zprofile/10_locale | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 120000 .zsh/.zprofile create mode 100644 .zsh/zprofile/10_locale diff --git a/.zsh/.zprofile b/.zsh/.zprofile new file mode 120000 index 0000000..301876b --- /dev/null +++ b/.zsh/.zprofile @@ -0,0 +1 @@ +zstub \ No newline at end of file diff --git a/.zsh/zprofile/10_locale b/.zsh/zprofile/10_locale new file mode 100644 index 0000000..0563900 --- /dev/null +++ b/.zsh/zprofile/10_locale @@ -0,0 +1,106 @@ +# zprofile/10_locale +# +# Define locale settings +# +# Copyright © 1994–2008 martin f. krafft +# Copyright © 2011 Tobias Klauser +# Released under the terms of the Artistic Licence 2.0 +# +# Source repository: git://git.distanz.ch/dotfiles/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)" + + # 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 -- cgit v1.2.3-54-g00ecf