如何在Ubuntu Server中更改默认语言环境?


29

我有一个安装的远程服务器,并且尝试将语言环境更改为法语失败了几个小时。以下是我的语言环境文件的内容:

/etc/default/locale

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

/var/lib/locales/supported.d/local

fr_FR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
en_GB.ISO-8859-15 ISO-8859-15
fr_BE.UTF-8 UTF-8
fr_CA.UTF-8 UTF-8
fr_CH.UTF-8 UTF-8
fr_LU.UTF-8 UTF-8
fr_FR ISO-8859-1

在我的网络应用中,所有内容仍默认为英文日期和$货币。我还有什么要注意的吗?我还要提到的是,在进行更改后,我已经重新配置了dpkg并重新启动了服务器。

Answers:


57

运行命令locale-它应该显示您的当前语言环境。

生成法语的语言环境:

sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8

另外,尝试通过运行以下命令重新生成支持的语言环境列表:

sudo dpkg-reconfigure locales

并更新/更改当前的默认语言环境:

sudo update-locale LANG=fr_FR.UTF-8

更新资料

尝试其他步骤:

  1. 尝试:

    sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
    sudo dpkg-reconfigure locales
    
  2. 也许在添加LANG和LANGUAGE /etc/environment可以强制进行更改。尝试注销/登录或重新启动。

  3. locale将显示当前用户的当前语言环境。也许值得检查这些文件,以确保未设置本地语言变量:~/.profile ~/.bashrc ~/.bash_profile

更多信息:


1
一个简单的问题。是否需要重新启动系统才能使更改生效?
黑暗之星2012年

1
我认为注销/登录应该这样做
Savvas Radevic

1
尝试sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"sudo dpkg-reconfigure locales。最后,也许在添加LANG和LANGUAGE /etc/environment可以强制进行更改。尝试重新启动,也许这是服务器服务所必需的。:)
Savvas Radevic

1
sudo update-locale var=locale并在ubuntu服务器16.04中为我重新启动。
丹尼尔(Daniel)

1
@ DarkStar1关于重新启动系统,我必须重新启动。
阿方索西川

2

我什么都试过,从sudo locale-gensudo update-localesudo update-locale,并在手动创建条目/etc/default/locale,并/etc/environment有和没有重新启动。

似乎没有任何反应,我的Python代码仍然在Ubuntu 18.04l上引发Unicode错误。最后在~/.bashrc工作中修改环境变量。

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

当然不要忘记 source ~/.bashrc

我知道这不是推荐的方法,但是没有其他方法对我有用。


当然,这则有许多工作要做,以每个用户的.bashrc里,也被添加到骨架为新用户.....
mckenzm

1

您还必须编辑/etc/profile

export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"

这似乎是对Abhimanu答案的评论。要批评或要求作者澄清,请在其帖子下方发表评论。- 来自评论
guntbert

这不是评论。这是对我有用的解决方案。
Witek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.