From 4808afa75b0960a585e20db017f35f79c64b927c Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 29 Jun 2014 18:46:26 +0200 Subject: [PATCH] Add lang.sh to /etc/profile.d/ - reads /etc/locale.conf and if present $HOME/.locale.conf --- profile.d/lang.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 profile.d/lang.sh diff --git a/profile.d/lang.sh b/profile.d/lang.sh new file mode 100644 index 0000000..e66f0f5 --- /dev/null +++ b/profile.d/lang.sh @@ -0,0 +1,43 @@ +# /etc/profile.d/lang.sh - set i18n stuff + +sourced=0 +for langfile in /etc/locale.conf $HOME/.locale.conf ; do + [ -f $langfile ] && . $langfile && sourced=1 +done + +if [ -n "$GDM_LANG" ]; then + sourced=1 + LANG="$GDM_LANG" + unset LANGUAGE + if [ "$GDM_LANG" = "zh_CN.GB18030" ]; then + export LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" + fi +fi + +if [ "$sourced" = 1 ]; then + [ -n "$LANG" ] && export LANG || unset LANG + [ -n "$LC_ADDRESS" ] && export LC_ADDRESS || unset LC_ADDRESS + [ -n "$LC_CTYPE" ] && export LC_CTYPE || unset LC_CTYPE + [ -n "$LC_COLLATE" ] && export LC_COLLATE || unset LC_COLLATE + [ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION || unset LC_IDENTIFICATION + [ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT || unset LC_MEASUREMENT + [ -n "$LC_MESSAGES" ] && export LC_MESSAGES || unset LC_MESSAGES + [ -n "$LC_MONETARY" ] && export LC_MONETARY || unset LC_MONETARY + [ -n "$LC_NAME" ] && export LC_NAME || unset LC_NAME + [ -n "$LC_NUMERIC" ] && export LC_NUMERIC || unset LC_NUMERIC + [ -n "$LC_PAPER" ] && export LC_PAPER || unset LC_PAPER + [ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE || unset LC_TELEPHONE + [ -n "$LC_TIME" ] && export LC_TIME || unset LC_TIME + if [ -n "$LC_ALL" ]; then + if [ "$LC_ALL" != "$LANG" ]; then + export LC_ALL + else + unset LC_ALL + fi + else + unset LC_ALL + fi + [ -n "$LANGUAGE" ] && export LANGUAGE || unset LANGUAGE +fi +unset sourced +unset langfile