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

我想切换到法语环境。所以我尝试了下面的命令:
myUbundu@myUbundu-desktop:~$ export LC_ALL=fr_FR

但是我收到了警告
-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR)

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

6个回答

尝试以下命令
sudo locale-gen fr_FR
sudo update-locale LANG=fr_FR

7sudo: locale-gen: command not found 我需要安装这个工具吗?如何安装? - dialex
1@DiAlex 没有在sudo后面加上冒号。 - infoclogged
2@infoclogged 他贴出了输出结果,显示他没有安装locale-gen。我的问题也是关于locale-gen的软件包名称是什么。 - dhill
2应该使用sudo apt install locales命令来安装。 - dibery

我遇到了同样的问题,除了 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

4与其他答案相反,这对我也起作用了。 - user643011
2与接受的答案相反,这对我也起作用了(Ubuntu 16-04),尽管我只是查看了locale.gen文件并取消了我想要的区域设置的注释。 - Dark Star1
1在所有的答案中(包括被接受的答案),这是唯一一个对我有效的。 - Gordon Bai
1一样,我试过其他的方法,但这个起作用了,谢谢伙计帮我解决这烦人的错误。 - ASHu2

我已经和这个问题斗争了一个星期左右。

对我来说,最可靠(也是最简单的)方法是编辑我的个人资料文件。

gedit ~/.profile

每次登录时,将这些语言变量添加到设置中。
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"

你需要退出并重新登录以使更改生效。

这在命令行中也适用,当您只想在特定时间内更改它时。 - daniel kullmann

尝试安装法语语言包,例如。
sudo apt-get install language-pack-fr

对于其他语言,请运行:check-language-support -l CODE来检查支持的软件包,例如。
$ check-language-support -l fr
firefox-locale-fr gimp-help-fr hunspell-fr language-pack-fr language-pack-gnome-fr thunderbird-locale-fr wfrench

请注意查看:LC_ALL: 无法更改区域设置

UTF-8

这是最受欢迎答案的UTF-8版本。

我收到了以下错误:

-bash: warning: setlocale: LC_ALL: cannot change locale (en_IE.UTF-8)

执行以下命令就可以摆脱这个警告:
$ sudo locale-gen en_IE.UTF-8

P.S.:爱尔兰语言环境en_IE.UTF-8提供了以欧元€为货币的英语语言。

这个系统出现了这个问题,其他的解决方案都没有起作用。在查找过程中,发现.xsessionrc定义了损坏的值。可能是某个程序创建了它,但它不应该存在吧?无论如何,已经修正以反映系统设置。
export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
export LANGUAGE=fr_FR.UTF-8