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

Dar*_*ar1 42 server command-line locale

我安装了一个远程服务器,几个小时以来一直试图将语言环境更改为法语,但未成功。以下是我的语言环境文件的内容:

/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
Run Code Online (Sandbox Code Playgroud)

/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
Run Code Online (Sandbox Code Playgroud)

在我的网络应用程序中,一切仍然默认为英文日期和美元货币。还有什么我忽略的吗?我还应该提到,我已经重新配置了 dpkg 并在进行更改后重新启动了服务器。

Sav*_*vic 74

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

为法语生成语言环境:

sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8
Run Code Online (Sandbox Code Playgroud)

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

sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

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

sudo update-locale LANG=fr_FR.UTF-8
Run Code Online (Sandbox Code Playgroud)

更新

额外的尝试步骤:

  1. 尝试:

    sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
    sudo dpkg-reconfigure locales
    
    Run Code Online (Sandbox Code Playgroud)
  2. 也许添加 LANG 和 LANGUAGE/etc/environment可能会强制更改。尝试注销/登录或重新启动。

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

更多信息:

  • 我认为注销/登录应该这样做 (2认同)

小智 8

我什么都试过,从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
Run Code Online (Sandbox Code Playgroud)

当然不要忘记 source ~/.bashrc

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


Wit*_*tek 6

您还必须编辑/etc/profile

export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
Run Code Online (Sandbox Code Playgroud)