+# -*- mode: sh -*-
# zprofile/10_locale
#
# Defines locale settings
export LC_CTYPE=$1
export LC_COLLATE=$1
export LC_MESSAGES=$1
- export LC_TIME=$1
+ export LC_TIME=${2:-$1}
_set_regional_locale $1
}
if [ -x =locale ]; then
_LOCALE="$(locale -a)"
- # I prefer British English and UTF-8 over US English and non-UTF-8
- # And if available, I'll take New Zealand-ey (yes, I love you, GIRLFRIEND)
+ # I want en_US.utf8 if we've got it, but I want 24 hour time.
case "$_LOCALE" in
- *en_NZ.utf8*)
- _set_locale en_NZ.UTF-8
- export LANG=en_NZ
- ;;
- *en_GB.utf8*)
- _set_locale en_GB.UTF-8
- export LANG=en_GB
- ;;
*en_US.utf8*)
- _set_locale en_US.UTF-8
+ _set_locale en_US.UTF-8 C
export LANG=en_US
;;
- *en_NZ.iso885915*)
- _set_locale en_NZ.ISO-8859-15
- warn "no utf-8 locale available"
- export LANG=en_NZ
- ;;
- *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_NZ.iso88591*)
- warn "no utf-8 locale available"
- _set_locale en_NZ.ISO-8859-1
- export LANG=en_NZ
- ;;
- *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
+ _set_locale en_US.ISO-8859-1 C
export LANG=en_US
;;
- *en_NZ*)
- warn "no utf-8 or iso locale available"
- _set_locale en_NZ
- export LANG=en_NZ
- ;;
- *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
;;
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