I cannot set my system back to English from Chinese Language

7,029

Solution 1

First of all, to be ensure that Chinese language packs are removed, give

sudo apt-get remove language-pack-gnome-nan*
sudo apt-get remove language-pack-gnome-zh*
sudo apt-get autoremove

commands. If you reset /etc/default/locale file as described in here, issue

localedef --list-archive 

command. If it generates an output like

en_US.utf8
zh_CN.utf8
zh_SG.utf8

this, run

sudo localedef --delete-from-archive zh_CN.utf8
sudo localedef --delete-from-archive zh_SG.utf8
sudo locale-gen

commands. After these commands you still see Chinese, write

cat ~/.pam_environment

command. If you see anything related to Chinese like

LANGUAGE=en_US:zh_CN:en

this, just delete "zh_CN" from the file by using Gedit. Then give the final command

sudo locale-gen

I hope this will help to solve your problem.

Solution 2

This seems a bit obvious, but you don't mention trying it so I'll answer anyway. Try click-dragging the the Chinese 汉语 (中国) list entry below the English list entry.

Share:
7,029

Related videos on Youtube

Frederick Zhang
Author by

Frederick Zhang

Updated on September 18, 2022

Comments

  • Frederick Zhang
    Frederick Zhang almost 2 years

    I once turned my system to Chinese, now I cannot set it back to English. I tried to change the order in Language Settings, but it doesn't work.

    enter image description here

    Chinese is always at the top. Even if I delete the language package of Chinese, it still remains. The menu of the system will return english, but all the softwares as well as the top bar remains in Chinese.

    I also tried to reset /etc/default/locale and /etc/environment but it doesn't work.

    root@ks356457:~# cat /etc/environment
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
    LANGUAGE="en_US:en_GB:zh_CN:de_DE:en_AU:en_CA:en_NZ:en"
    LANG="en_US.UTF-8"
    LC_ALL="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    root@ks356457:~# cat /etc/default/locale
    LANG="en_US.UTF-8"
    LANGUAGE="en_US:en_GB:zh_CN:de_DE:en_AU:en_CA:en_NZ:en"
    LC_ALL="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    root@ks356457:~# echo $LANG $LANGUAGE
    zh_CN.UTF-8 zh_CN:en
    

    This is a remote server and I use remote desktop via X2GO so I can't set the language before I log in as a local machine, either.

    How do I get English back? Thanks a lot.

  • David Planella
    David Planella about 12 years
    Yes, that's the way to do it
  • Frederick Zhang
    Frederick Zhang almost 12 years
    I did do it, but it automatically turn back after reboot.