0

Today for testing purpose I installed KDE alongside Cinnamon in Linux Mint 14. Unfortunately, after that my system language switch to Chinese!!! All the menus and notification is in Chinese now!! How can I switch back to English?

1

You should be able to choose the language at the login screen. If not, open a terminal (you can use Alt+F2 to get the run dialog) and run (source):

echo -e 'LANG="en_US"\nLANGUAGE="en_US:en"' | sudo tee /etc/default/locale
echo -e 'LANG=en_US\nLanguage=en_US' > ~/.pam_environment

Then log out and log back in again.


EDIT (in response to the OP's comment)

The commands above are just a quick way of editing a couple of text files. If they don't work for whatever reason, you can just edit the files manually using a text editor (I believe the default on KDE is write). So, open a terminal and run:

sudo kwrite /etc/default/locale` 

Edit the file to contain only these lines:

LANG="en_US"
LANGUAGE="en_US:en"

Now open ~/.pam_environment:

sudo kwrite ~/.pam_environment

Edit the file to contain only these lines:

LANG=en_US
Language=en_US

Take care: if you write and save the incorrect values to your locale, you might have troubles on booting.

  • Thanks for your reply. But when I'm entering first command "sudo echo -e 'LANG="en_US\nLANGUAGE="en_US:en"' > /etc/default/locale", it's showing "bash: /etc/default/locale: Permission denied " What can I do now? – tuxtu May 6 '13 at 13:54
  • @tuxtu see updated answer – terdon May 6 '13 at 14:07
  • The sudo echo doesn't work because only the echo is run as root; your shell tries (and fails) to open the /etc/default/locale file as you, before it invokes the command. echo -e ... | sudo tee -a /etc/default/locale should work though, as it's tee (with root permissions) that opens the file. – Kevin May 6 '13 at 14:10
  • @Kevin of course, commands are executed right to left, should have known better. Thanks – terdon May 6 '13 at 14:25
1

I had the same problem and fixed it complete - without overriding anything! The problem is not in /etc/environment or /etc/default/locale or any other system partition / directory.

It lies in the KDE settings. I used a "grep -r "language=en" in my home directory after I searched every other linux configuration file on my system with the same method and all were configured properly. I also noticed that logging into ssh with my user will fix the problem in the shell which proved that it was created after log-on but not in any automatically called system configuration such as ~.bashrc or anything else.

The KDE4 configuration file you want is located here:

~/.kde/env/setlocale.sh

In that file I found the line which contained the faulty settings - I simply corrected them (use the command 'locale' and correct the entries). You need to reboot for the changes to take effect and undo all changes you may have made on other system files such as /etc/environment or /etc/default/locale. (The latter one should just contain the default language line (e.G.: LANG="en_US.UTF-8")).

A quick Linux locale 101: Let's look at the language line for example: "LANG=en_US.UTF-8" The first letters "en" specify the system language, the second letters the country which regulates time measuring and format, calendar, day-night. So if you are from let's say Germany and want English system language but German calendar, time, and so on - you have to correct the line in said KDE configuration file to the following: "LANG=en_DE.UTF-8" Or the other way around: You want German as language and the USA as your country for calendar and stuff: "LANG=de_US.UTF-8" The ".UTF-8" is the unicode coding used.

Note that it is possible that the language file is not configured properly or does not exist or that the language pack is not installed.

Here a quick rundown of possible solutions for other locale problems:

  • Installing language pack you need: installing English language pack: 'sudo apt-get install language-pack-en'

  • Creating the English language file if it is not present with installed English language pack: 'sudo locale-gen en_US' and 'sudo locale-gen en_US.UTF-8'

  • Reconfiguring the language pack like you usually need to do after installation: 'sudo dpkg-reconfigure'

Note that again - you have to restart your system for changes in the system configuration to take effect!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.