aboutsummaryrefslogtreecommitdiffstats
path: root/mageia/etc/profile.d
diff options
context:
space:
mode:
Diffstat (limited to 'mageia/etc/profile.d')
-rwxr-xr-xmageia/etc/profile.d/lang.csh129
-rwxr-xr-xmageia/etc/profile.d/lang.sh157
2 files changed, 286 insertions, 0 deletions
diff --git a/mageia/etc/profile.d/lang.csh b/mageia/etc/profile.d/lang.csh
new file mode 100755
index 00000000..4978981c
--- /dev/null
+++ b/mageia/etc/profile.d/lang.csh
@@ -0,0 +1,129 @@
+# /etc/profile.d/lang.csh - set i18n stuff
+
+if (! $?LC_SOURCED) then
+ set LC_SOURCED=0
+endif
+
+foreach file ("$HOME/.i18n" /etc/locale.conf /etc/sysconfig/i18n)
+ if ($LC_SOURCED != 1 && -f $file ) then
+ eval `sed 's|=C$|=en_US|g' $file | sed 's|^#.*||' | sed 's|\([^=]*\)=\([^=]*\)|setenv \1 \2|g' | sed 's|$|;|' `
+ setenv LC_SOURCED 1
+ endif
+end
+
+if ($LC_SOURCED == 1) then
+ if ($?LC_ALL && $?LANG) then
+ if ($LC_ALL == $LANG) then
+ unsetenv LC_ALL
+ endif
+ endif
+
+ set consoletype=`/sbin/consoletype stdout`
+
+ if ($?CHARSET) then
+ switch ($CHARSET)
+ case 8859-1:
+ case 8859-2:
+ case 8859-5:
+ case 8859-8:
+ case 8859-15:
+ case KOI*:
+ case LATIN2*:
+ if ( $?TERM ) then
+ if ( "$TERM" == "linux" ) then
+ if ( "$consoletype" == "vt" ) then
+ /bin/echo -n -e '\033(K' >/dev/tty
+ endif
+ endif
+ endif
+ breaksw
+ endsw
+ endif
+ if ($?SYSFONTACM) then
+ switch ($SYSFONTACM)
+ case iso01*:
+ case iso02*:
+ case iso05*:
+ case iso08*:
+ case iso15*:
+ case koi*:
+ case latin2-ucw*:
+ if ( $?TERM ) then
+ if ( "$TERM" == "linux" ) then
+ if ( "$consoletype" == "vt" ) then
+ /bin/echo -n -e '\033(K' > /dev/tty
+ endif
+ endif
+ endif
+ breaksw
+ endsw
+ endif
+ if ($?LANG) then
+ switch ($LANG)
+ case *.utf8*:
+ case *.UTF-8*:
+ if ( $?TERM ) then
+ if ( "$TERM" == "linux" ) then
+ if ( "$consoletype" == "vt" ) then
+ switch ($LANG)
+ case en_IN*:
+ breaksw
+ case ja*:
+ case ko*:
+ case si*:
+ case zh*:
+ case ar*:
+ case fa*:
+ case he*:
+ case *_IN*:
+ setenv LANG en_US.UTF-8
+ breaksw
+ endsw
+ if ( -x /bin/unicode_start ) then
+ if { /sbin/consoletype fg } then
+ if ( $?SYSFONT ) then
+ if ( $?SYSFONTACM ) then
+ unicode_start $SYSFONT $SYSFONTACM
+ else
+ unicode_start $SYSFONT
+ endif
+ endif
+ endif
+ endif
+ endif
+ endif
+ endif
+ breaksw
+ case *:
+ if ( $?TERM ) then
+ if ( "$TERM" == "linux" ) then
+ if ( "$consoletype" == "vt" ) then
+ switch ($LANG)
+ case en_IN*:
+ breaksw
+ case ja*:
+ case ko*:
+ case si*:
+ case zh*:
+ case ar*:
+ case fa*:
+ case he*:
+ case *_IN*:
+ setenv LANG en_US
+ breaksw
+ endsw
+ if ( -x /bin/unicode_stop ) then
+ if { /sbin/consoletype fg } then
+ /bin/unicode_stop
+ endif
+ endif
+ endif
+ endif
+ endif
+ breaksw
+ endsw
+ endif
+ unsetenv SYSFONTACM
+ unsetenv SYSFONT
+ unset consoletype
+endif
diff --git a/mageia/etc/profile.d/lang.sh b/mageia/etc/profile.d/lang.sh
new file mode 100755
index 00000000..f90c0795
--- /dev/null
+++ b/mageia/etc/profile.d/lang.sh
@@ -0,0 +1,157 @@
+# /etc/profile.d/lang.sh - set i18n stuff
+
+# revert special console/X11 settings if needed
+if [ "$LC_SOURCED_CONSOLE" = 1 -a -n "$DISPLAY" ]; then
+ unset LC_SOURCED
+ unset LC_SOURCED_CONSOLE
+elif [ "$LC_SOURCED_X11" = 1 -a -z "$DISPLAY" ]; then
+ unset LC_SOURCED
+ unset LC_SOURCED_X11
+fi
+
+# only source one of the possible files, and in that order;
+# if system wide and user config are mixed and different, umpredictable
+# things will happen...
+for langfile in "$HOME/.i18n" /etc/locale.conf /etc/sysconfig/i18n ; do
+ [ -f $langfile -a "$LC_SOURCED" != 1 ] && . $langfile && LC_SOURCED=1 && export LC_SOURCED
+done
+
+if [ "$LC_SOURCED" = 1 ]; then
+ if [ -n "$LANG" ] ; then
+ [ "$LANG" = "C" ] && LANG="en_US"
+ export LANG
+ else
+ unset LANG
+ fi
+ [ -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
+ [ -n "$LINGUAS" ] && export LINGUAS || unset LINGUAS
+
+ if [ -n "$RPM_INSTALL_LANG" ]; then
+ export RPM_INSTALL_LANG
+ else
+ unset RPM_INSTALL_LANG
+ fi
+
+ # XIM and keyboard stuff
+ [ -n "$ENC" ] && export ENC || unset ENC
+ [ -n "$XIM" ] && export XIM || unset XIM
+ [ -n "$XIM_PROGRAM" ] && export XIM_PROGRAM || unset XIM_PROGRAM
+ [ -n "$XMODIFIERS" ] && export XMODIFIERS || unset XMODIFIERS
+ [ -n "$_XKB_CHARSET" ] && export _XKB_CHARSET || unset _XKB_CHARSET
+ [ -n "$GTK_IM_MODULE" ] && export GTK_IM_MODULE || unset GTK_IM_MODULE
+ [ -n "$QT_IM_MODULE" ] && export QT_IM_MODULE || unset QT_IM_MODULE
+
+ consoletype=$CONSOLETYPE
+ if [ -z "$consoletype" ]; then
+ consoletype=$(/sbin/consoletype stdout)
+ fi
+
+ if [ -n "$CHARSET" ]; then
+ case $CHARSET in
+ 8859-1|8859-2|8859-5|8859-8|8859-15|KOI*)
+ if [ "$TERM" = "linux" -a "$consoletype" = "vt" ]; then
+ echo -n -e '\033(K' 2>/dev/null > /proc/$$/fd/0
+ fi
+ ;;
+ esac
+ elif [ -n "$SYSFONTACM" ]; then
+ case $SYSFONTACM in
+ iso01*|iso02*|iso05*|iso08*|iso15*|koi*|latin2-ucw*)
+ if [ "$TERM" = "linux" -a "$consoletype" = "vt" ]; then
+ echo -n -e '\033(K' 2>/dev/null > /proc/$$/fd/0
+ fi
+ ;;
+ esac
+ fi
+ if [ -n "$LANG" ]; then
+ case $LANG in
+ *.utf8*|*.UTF-8*)
+ if [ "$TERM" = "linux" ]; then
+ if [ "$consoletype" = "vt" ]; then
+ if [ -x /bin/unicode_start ] && /sbin/consoletype fg ; then
+ for langfile in /etc/sysconfig/i18n "$HOME/.i18n" ; do
+ [ -f $langfile ] && . $langfile
+ done
+ /bin/unicode_start $SYSFONT $SYSFONTACM
+ fi
+ case $LANG in
+ ja*) LANG=en_US.UTF-8 ;;
+ ko*) LANG=en_US.UTF-8 ;;
+ si*) LANG=en_US.UTF-8 ;;
+ zh*) LANG=en_US.UTF-8 ;;
+ ar*) LANG=en_US.UTF-8 ;;
+ fa*) LANG=en_US.UTF-8 ;;
+ he*) LANG=en_US.UTF-8 ;;
+ en_IN*) ;;
+ *_IN*) LANG=en_US.UTF-8 ;;
+ esac
+ fi
+ fi
+ ;;
+ *)
+ if [ "$TERM" = "linux" ]; then
+ if [ "$consoletype" = "vt" ]; then
+ case $LANG in
+ ja*) LANG=en_US ;;
+ ko*) LANG=en_US ;;
+ si*) LANG=en_US ;;
+ zh*) LANG=en_US ;;
+ ar*) LANG=en_US ;;
+ fa*) LANG=en_US ;;
+ he*) LANG=en_US ;;
+ en_IN*) ;;
+ *_IN*) LANG=en_US ;;
+ esac
+ [ -x /bin/unicode_stop ] && /sbin/consoletype fg && /bin/unicode_stop
+ fi
+ fi
+ ;;
+ esac
+ fi
+
+ # handling of special cases where localization is done
+ # only on console or only on X11.
+ # when launching an xdm-like program we are not yet in X11 (so
+ # $DISPLAY is not defined) but obviously we will, so we check
+ # also $DESKTOP which is defined before calling xdm-like program
+ if [ -n "$DISPLAY" ]; then
+ if [ "$X11_NOT_LOCALIZED" = "yes" ]; then
+ LANGUAGE=C
+ LC_SOURCED_X11=1
+ export LC_SOURCED_X11
+ fi
+ elif [ -z "$DESKTOP" ]; then
+ if [ "$CONSOLE_NOT_LOCALIZED" = "yes" ]; then
+ LANGUAGE=C
+ LC_SOURCED_CONSOLE=1
+ export LC_SOURCED_CONSOLE
+ fi
+ fi
+
+ [ -n "$LANGUAGE" ] && export LANGUAGE
+ unset consoletype
+
+fi
+unset langfile