Add lang.sh to /etc/profile.d/
- reads /etc/locale.conf and if present $HOME/.locale.conf
This commit is contained in:
parent
8b923dc9a4
commit
4808afa75b
43
profile.d/lang.sh
Normal file
43
profile.d/lang.sh
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user