Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

So apparently, CentOS decided I was Dutch, and thus, should not have a English locale.

Apart from the fact that this greatly bothers me, I am having a pretty hard time actually changing it back. There does not seem to be a setlocale function, and system-config-language tells me I am using an English locale, even though my environment says otherwise.

Any help would be appreciated.

Output from locale:

LANG=nl_NL.UTF-8
LC_CTYPE="nl_NL.UTF-8"
LC_NUMERIC="nl_NL.UTF-8"
LC_TIME="nl_NL.UTF-8"
LC_COLLATE="nl_NL.UTF-8"
LC_MONETARY="nl_NL.UTF-8"
LC_MESSAGES="nl_NL.UTF-8"
LC_PAPER="nl_NL.UTF-8"
LC_NAME="nl_NL.UTF-8"
LC_ADDRESS="nl_NL.UTF-8"
LC_TELEPHONE="nl_NL.UTF-8"
LC_MEASUREMENT="nl_NL.UTF-8"
LC_IDENTIFICATION="nl_NL.UTF-8"
LC_ALL=

Both my ~/.bashrc as ~/.bash_profile contain no locale settings. Additionally, /etc/bashrc does not contain any locale references either.

share|improve this question
add comment

4 Answers

At least Fedora 16 defines language in GRUB command line. See /boot/grub/grub.conf and /etc/grub.conf.

Then there's /etc/sysconfig/i18n file which contains language settings.

share|improve this answer
add comment

If system-config-language doesn't help you, try this.

  1. Go to the CentOS system configuration directory

    $ cd /etc/sysconfig
    
  2. Make backup copy of your language setting file

    $ cp i18n i18n.backup
    
  3. Edit language setting file to allow English as default. You can edit the file by using nano or vim text editors available on all CentOS systems from SSH. I prefer vim, but nano is more easier:

    $ nano i18n
    
  4. Edit the file to include these lines as the first three lines of the file:

    $ LANG="en_US.UTF-8"
    $ SYSFONT="latarcyrheb-sun16"
    $ SUPPORTED="en_US.UTF-8:en_US:en"
    
  5. Save the file and restart system. If you can not restart the system you need to have permission to restart init.d

That should enable the new language setting. If you can not perform these through SSH because the access is too restricted, you will likely need to notify the ISP or whoever has physical access to the server.

Regards and best wishes.

share|improve this answer
add comment

I just stumbled on this exact same problem, and found out why this is happens in my case and thought i'd share. I recently got a new iMac at work that runs OS X Lion (previous workstation was OS X Snow Leopard)

OS X Lion by default sets the locale in env variable LANG in Terminal. This was set to nl_NL.UTF-8. Sshd on the CentOS system imports this environment variable in its shell when you ssh into your CentOS box.

I solved it by disabling 'Set locale environment variables on startup' in Terminal preferences (settings->advanced)

Don't know if you run OS X on your desktop, but bottom line is: sshd on CentOS imports the locale settings from the ssh client workstation.

HTH

share|improve this answer
add comment

If you use SSH, there is another way to achieve the same result, which works in iTerm as well. You must modify the SSH configuration:

sudo vi /etc/ssh_config

Find and comment out the line containing

SendEnv LANG LC_*
share|improve this answer
    
thank you very much!, very helpful for me –  egor7 Feb 8 '13 at 20:20
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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