警告:setlocale:LC_ALL:无法更改区域设置

Lun*_*oms 50 internationalization language-support locale

我想切换到法语语言环境。所以我尝试了以下命令:

myUbundu@myUbundu-desktop:~$ export LC_ALL=fr_FR
Run Code Online (Sandbox Code Playgroud)

但我收到警告

-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR)
Run Code Online (Sandbox Code Playgroud)

如何将语言环境设置为法语?我需要安装额外的软件包吗?

Lnx*_*lck 52

试试下面的命令

sudo locale-gen fr_FR
sudo update-locale LANG=fr_FR
Run Code Online (Sandbox Code Playgroud)

  • `sudo: locale-gen: command not found` 我需要安装那个工具吗?如何? (4认同)
  • @infoclogged 他粘贴了输出,表明他没有安装 `locale-gen`。“locale-gen”的包名是什么也是我的问题。 (2认同)
  • `sudo apt install locales` 应该可以。 (2认同)

Ale*_*k_A 21

我遇到了同样的问题,除了dpkg-reconfigure locales. 但是这样做太费时间了。只需取消注释您需要的所有语言环境/etc/locale.gen并运行locale-gen. 或者从命令行执行(以 root 身份):

echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
echo "fr_FR.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
Run Code Online (Sandbox Code Playgroud)

  • 与其他答案相反,这也对我有用。 (3认同)
  • 与公认的答案相反,这也对我有用(Ubuntu 16-04),尽管我只是查看了 locale.gen 文件并取消注释了我想要的区域设置。 (2认同)

小智 12

我已经为此奋斗了一个星期左右。

对我来说最可靠(也是最简单)的是编辑我的配置文件

gedit ~/.profile
Run Code Online (Sandbox Code Playgroud)

添加此语言变量以在每次登录时设置

LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"
Run Code Online (Sandbox Code Playgroud)

您需要注销并重新登录才能使更改生效。