我知道为了理解命令的工作原理,我们应该使用手册页。但是对于命令 locale 和 locale-gen。我没有得到确切的含义和他们的职责。我需要更多关于他们的工作以及locale和locale-gen之间关系的描述。基于 man 语言环境:
locale - 获取特定于语言环境的信息。
确定什么是语言环境?
描述 语言环境程序写入有关当前语言环境的信息???ment 或所有区域设置到标准输出。
什么是locale环境?
Ben*_*oit 14
来自维基百科:
在计算中,区域设置是一组参数,用于定义用户的语言、国家/地区以及用户希望在其用户界面中看到的任何特殊变体首选项。通常一个区域标识符至少由一个语言标识符和一个区域标识符组成。
该locale程序将输出一组shell变量及其值。这些是改变一些关于语言、字符集使用等命令的行为的变量。从我的系统:
benoit@thorgal:~s locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
benoit@thorgal:~$
Run Code Online (Sandbox Code Playgroud)
这告诉那些监听的命令对特殊字符使用美式英语和 UTF8 编码。如果我更改LANG的值并改为使用 fr_FR.UTF-8,那么支持它的命令将用法语而不是英语写出它们的输出。当然,前提是安装了法语翻译。
对于locale-gen命令,我认为其手册页的第一段是不言自明的:
编译后的语言环境文件占用大约 50MB 的磁盘空间,大多数用户只需要很少的语言环境。为了节省磁盘空间,编译好的locale文件并没有分布在locales包中,而是通过运行locale-gen程序安装这个包时自动生成选定的locale。
当您运行locale-gen或locale-gen <locale code>编译所需的语言环境文件时,允许命令使用由locale.
例子: locale-gen en_US.UTF8
您可以使用命令获取可用的区域设置代码locale -a。