X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=lang.sh;h=2e88efbe71230f317699fdb67b6aca0a976130bd;hb=b402dd3f91a54c34d9eaf99bee8e4a129286c749;hp=425699d2ded577f9516b2f62b262ddbf98d386d8;hpb=7e04fe0e025be8c6fce5ee35c7c8c07f0a2e8a34;p=projects%2Frc-scripts.git diff --git a/lang.sh b/lang.sh index 425699d2..2e88efbe 100755 --- a/lang.sh +++ b/lang.sh @@ -1,49 +1,72 @@ #!/bin/sh -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