debian/ubuntu 区域设置和语言设置

debian/ubuntu 区域设置和语言设置

这个自我回答的问题解决了以下问题:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

以及其他一些与区域相关的问题。

编辑:回想起来,将这个问题限制在我自己的问题上似乎效率不高。请随意发表您的意见。或者尽可能多地发表意见……

答案1

我们完全在 shell (bash) 中工作。

每个人应该做的第一件事是

sudo dpkg-reconfigure locales

输出可能是上面提到的错误和区域列表脚本生成的。请注意,生成的语言环境是唯一对您的系统有效的语言环境。如您所见,语言设置只是一堆环境变量。您可以尝试使用不同的语言 bash,只是为了好玩,如下所示:

LANG=es_NI.UTF-8 bash
ls somedirectorynamethatdoesnotexistonyoursystem

你会说西班牙语吗?:-)(如果 es_NI.UTF-8 不在你的区域列表只需选择另一个)

好的。显然,LANG 环境变量有助于完成其余设置,因为在我们的西班牙语 bash 中,我们现在可以执行

dpkg-reconfigure locales

或者任何命令的错误消息会引导你到这里,并且应该没有错误。如果有错误,那么就存在一些更严重的错误,本文将不涉及这些错误。

那么,我们在哪里设置这个变量 LANG?快速搜索目录/etc/(使用rgrep LANG /etc/*)会找到文件/etc/default/locale。在那里,你可以将变量的值设置为不同的/正确的值。例如

LANG=en_US.UTF-8

(这个应该总是有效的)完成此操作:错误消息中提到的变量全部“源自”LANG,这意味着它们默认为 LANG 所设置的任何值,但如果您希望 shell 使用不同的语言,您可以根据自己的喜好设置它们。language-env 包可帮助实现这一点。

sudo apt-get install language-env
set-language-env

该脚本旨在自动为您的 .bashrc 等创建条目。

我自己还没尝试过。

我希望这可以帮助别人。

顺便提一句:

  1. 您可以在以下位置找到生成的语言环境 ls usr/share/locale

答案2

我尝试过很多解决方案,但是在 Debian 7 上都没有奏效。

因此,我添加了导出LC_ALL=en_US.UTF-8/etc/default/locale警告就消失了。

答案3

简短回答:

以 root 身份运行dpkg-reconfigure locales

(在对话框中按Enter直到找到您的语言,看到其编号,Enter再次按 直到系统要求您输入编号。输入您的语言编号,Enter完成。如果您不知道更好的方法,请使用您的语言的 UTF8 版本)

资源:https://wiki.debian.org/Locale

答案4

我使用的是德国 VPS,由于没有安装英语语言包,因此无法更改语言环境。

安装后我终于可以更改语言环境了

aptitude install language-pack-en

相关内容