]> git.pld-linux.org Git - projects/rc-scripts.git/blobdiff - lang.sh
fix RC_LOGGING=no daemon --makepid --fork write proper pidfile
[projects/rc-scripts.git] / lang.sh
diff --git a/lang.sh b/lang.sh
index c17b8b105669e7d714cc818d88104673cd8c7a0c..2e88efbe71230f317699fdb67b6aca0a976130bd 100755 (executable)
--- a/lang.sh
+++ b/lang.sh
@@ -1,52 +1,72 @@
 #!/bin/sh
-#
-#      $Id: lang.sh,v 1.5 1999/07/13 12:49:34 misiek Exp $
-#
-
-if [ -f /etc/sysconfig/i18n ]; then
-    . /etc/sysconfig/i18n
-
-   [ -n "$LANG" ] && export LANG || unset LANG
-   [ -n "$LC_CTYPE" ] && export LC_CTYPE || unset LC_CTYPE
-   [ -n "$LC_COLLATE" ] && export LC_COLLATE || unset LC_COLLATE
-   [ -n "$LC_MESSAGES" ] && export LC_MESSAGES || unset LC_MESSAGES
-   [ -n "$LC_NUMERIC" ] && export LC_NUMERIC || unset LC_NUMERIC
-   [ -n "$LC_MONETARY" ] && export LC_MONETARY || unset LC_MONETARY
-   [ -n "$LC_TIME" ] && export LC_TIME || unset LC_TIME
-   [ -n "$LC_ALL" ] && export LC_ALL || unset LC_ALL
-   [ -n "$LANGUAGE" ] && export LANGUAGE || unset LANGUAGE
-   [ -n "$LINGUAS" ] && export LINGUAS || unset LINGUAS
-
-   # deprecated
-   if [ -n "$SYSTERM" ]; then
-      export TERM=$SYSTERM
-   fi
-
-   if [ -n "$SYSFONTACM" ]; then
-       case $SYSFONTACM in
-         iso01*|iso02*|iso15*|koi*)
-              LESSCHARSET=latin1
-             INPUTRC=/etc/inputrc
-              export LESSCHARSET INPUTRC
-              if [ "$TERM" = "linux" ]; then
-                  if ls -l /proc/$$/fd/0 2>/dev/null | grep -- '-> /dev/tty[0-9]*$' >/dev/null 2>&1; then
-                      echo -n -e '\033(K' > /proc/$$/fd/0
-                  fi
-              fi
-              ;;
-      esac
-   fi
-
-   if [ -n "$INPUTRC" ]; then
-      export INPUTRC
-   fi
-
-   if [ -n "$LESSCHARSET" ]; then
-       export LESSCHARSET
-   elif [ "$TERM" = "linux-lat" ]; then
-       LESSCHARSET=latin1
-      export LESSCHARSET
-   fi
-
-
-fi
+
+[ ! -f /etc/sysconfig/i18n -a ! -f /etc/locale.conf ] && exit
+
+       ORG_LANG=$LANG
+       ORG_LC_ADDRESS=$LC_ADDRESS
+       ORG_LC_COLLATE=$LC_COLLATE
+       ORG_LC_CTYPE=$LC_CTYPE
+       ORG_LC_IDENTIFICATION=$LC_IDENTIFICATION
+       ORG_LC_MEASUREMENT=$LC_MEASUREMENT
+       ORG_LC_MESSAGES=$LC_MESSAGES
+       ORG_LC_MONETARY=$LC_MONETARY
+       ORG_LC_NAME=$LC_NAME
+       ORG_LC_NUMERIC=$LC_NUMERIC
+       ORG_LC_PAPER=$LC_PAPER
+       ORG_LC_TELEPHONE=$LC_TELEPHONE
+       ORG_LC_TIME=$LC_TIME
+       ORG_LC_ALL=$LC_ALL
+       ORG_LANGUAGE=$LANGUAGE
+
+[ -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
+
+       LANG=${ORG_LANG:-$LANG}
+       LC_ADDRESS=${ORG_LC_ADDRESS:-$LC_ADDRESS}
+       LC_COLLATE=${ORG_LC_COLLATE:-$LC_COLLATE}
+       LC_CTYPE=${ORG_LC_CTYPE:-$LC_CTYPE}
+       LC_IDENTIFICATION=${ORG_LC_IDENTIFICATION:-$LC_IDENTIFICATION}
+       LC_MEASUREMENT=${ORG_LC_MEASUREMENT:-$LC_MEASUREMENT}
+       LC_MESSAGES=${ORG_LC_MESSAGES:-$LC_MESSAGES}
+       LC_MONETARY=${ORG_LC_MONETARY:-$LC_MONETARY}
+       LC_NAME=${ORG_LC_NAME:-$LC_NAME}
+       LC_NUMERIC=${ORG_LC_NUMERIC:-$LC_NUMERIC}
+       LC_PAPER=${ORG_LC_PAPER:-$LC_PAPER}
+       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 \
+       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
+       [ "$LC_COLLATE" ] && export LC_COLLATE || unset LC_COLLATE
+       [ "$LC_CTYPE" ] && export LC_CTYPE || unset LC_CTYPE
+       [ "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION || unset LC_IDENTIFICATION
+       [ "$LC_MEASUREMENT" ] && export LC_MEASUREMENT || unset LC_MEASUREMENT
+       [ "$LC_MESSAGES" ] && export LC_MESSAGES || unset LC_MESSAGES
+       [ "$LC_MONETARY" ] && export LC_MONETARY || unset LC_MONETARY
+       [ "$LC_NAME" ] && export LC_NAME || unset LC_NAME
+       [ "$LC_NUMERIC" ] && export LC_NUMERIC || unset LC_NUMERIC
+       [ "$LC_PAPER" ] && export LC_PAPER || unset LC_PAPER
+       [ "$LC_TELEPHONE" ] && export LC_TELEPHONE || unset LC_TELEPHONE
+       [ "$LC_TIME" ] && export LC_TIME || unset LC_TIME
+       [ "$LC_ALL" ] && export LC_ALL || unset LC_ALL
+       [ "$LANGUAGE" ] && export LANGUAGE || unset LANGUAGE
+
+[ "$LINGUAS" ] && export LINGUAS
+[ "$_XKB_CHARSET" ]    && export _XKB_CHARSET
+[ "$INPUTRC" ] && export INPUTRC
+
+       if [ "$LESSCHARSET" ]; then
+               export LESSCHARSET
+       elif [ "$TERM" = "linux-lat" ]; then
+               LESSCHARSET=latin1
+               export LESSCHARSET
+       fi
This page took 0.05176 seconds and 4 git commands to generate.