]> TLD Linux GIT Repositories - rc-scripts.git/blobdiff - lang.sh
- merged changes from PLD, all TLD changes and fixes are kept
[rc-scripts.git] / lang.sh
diff --git a/lang.sh b/lang.sh
index dfb0ddf4d4bb6b11a595b13ec6c8d35ff23c2c56..2e88efbe71230f317699fdb67b6aca0a976130bd 100755 (executable)
--- a/lang.sh
+++ b/lang.sh
@@ -1,8 +1,7 @@
 #!/bin/sh
-#
-#
 
-if [ -f /etc/sysconfig/i18n ]; then
+[ ! -f /etc/sysconfig/i18n -a ! -f /etc/locale.conf ] && exit
+
        ORG_LANG=$LANG
        ORG_LC_ADDRESS=$LC_ADDRESS
        ORG_LC_COLLATE=$LC_COLLATE
@@ -17,8 +16,10 @@ if [ -f /etc/sysconfig/i18n ]; then
        ORG_LC_TELEPHONE=$LC_TELEPHONE
        ORG_LC_TIME=$LC_TIME
        ORG_LC_ALL=$LC_ALL
+       ORG_LANGUAGE=$LANGUAGE
 
-       . /etc/sysconfig/i18n
+[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
+[ -f /etc/locale.conf ] && . /etc/locale.conf
 
        # we prefer session settings (that came from ssh for example)
        # instead of system one
@@ -37,10 +38,11 @@ if [ -f /etc/sysconfig/i18n ]; then
        LC_TELEPHONE=${ORG_LC_TELEPHONE:-$LC_TELEPHONE}
        LC_TIME=${ORG_LC_TIME:-$LC_TIME}
        LC_ALL=${ORG_LC_ALL:-$LC_ALL}
+       LANGUAGE=${ORG_LANGUAGE:-$LANGUAGE}
 
-       unset ORG_LANG ORG_LC_ADDRESS ORG_LC_COLLATE ORG_LC_CTYPE ORG_LC_IDENTIFICATION ORG_LC_MEASUREMENT
-       unset ORG_LC_MESSAGES ORG_LC_MONETARY ORG_LC_NAME ORG_LC_NUMERIC ORG_LC_PAPER ORG_LC_TELEPHONE
-       unset ORG_LC_TIME ORG_LC_ALL
+unset ORG_LANG ORG_LC_ADDRESS ORG_LC_COLLATE ORG_LC_CTYPE ORG_LC_IDENTIFICATION ORG_LC_MEASUREMENT \
+       ORG_LC_MESSAGES ORG_LC_MONETARY ORG_LC_NAME ORG_LC_NUMERIC ORG_LC_PAPER ORG_LC_TELEPHONE \
+       ORG_LC_TIME ORG_LC_ALL ORG_LANGUAGE
 
        [ "$LANG" ] && export LANG || unset LANG
        [ "$LC_ADDRESS" ] && export LC_ADDRESS || unset LC_ADDRESS
@@ -57,13 +59,10 @@ if [ -f /etc/sysconfig/i18n ]; then
        [ "$LC_TIME" ] && export LC_TIME || unset LC_TIME
        [ "$LC_ALL" ] && export LC_ALL || unset LC_ALL
        [ "$LANGUAGE" ] && export LANGUAGE || unset LANGUAGE
-       [ "$LINGUAS" ] && export LINGUAS || unset LINGUAS
-
-       [ "$_XKB_CHARSET" ] && export _XKB_CHARSET || unset _XKB_CHARSET
 
-       if [ "$INPUTRC" ]; then
-               export INPUTRC
-       fi
+[ "$LINGUAS" ] && export LINGUAS
+[ "$_XKB_CHARSET" ]    && export _XKB_CHARSET
+[ "$INPUTRC" ] && export INPUTRC
 
        if [ "$LESSCHARSET" ]; then
                export LESSCHARSET
@@ -71,4 +70,3 @@ if [ -f /etc/sysconfig/i18n ]; then
                LESSCHARSET=latin1
                export LESSCHARSET
        fi
-fi