centos7修改 /etc/locale.conf 内容为 LANG=zh_CN.UTF-8并重启,但随后locale查看,语言环境依然是en_US。

时因为lang.sh的环境变量加载,有程序把zh语言加载成en,不知道为什么这么搞,改着这里就行

修改文件位置在:/etc/profile.d/lang.sh  如果不对,lang.csh也要检查

相关知识点;/usr/share/locale/zh_CN/LC_MESSAGES 这个下面放有软件的语言包,如果没有对应软件的语言包,那么对应语言对应软件可能不能改语言

 if [ -n "$LANG" ]; then

      case $LANG in

    *.utf8*|*.UTF-8*)

    if [ "$TERM" = "linux" ]; then

        if [ "$consoletype" = "vt" ]; then

        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

    fi

修改文件位置在:/etc/profile.d/lang.sh  lang.csh也要检查