locale 和 locale-gen 命令的职责是什么?

Moh*_*ani 11 locale 12.04

我知道为了理解命令的工作原理,我们应该使用手册页。但是对于命令 locale 和 locale-gen。我没有得到确切的含义和他们的职责。我需要更多关于他们的工作以及localelocale-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-genlocale-gen <locale code>编译所需的语言环境文件时,允许命令使用由locale.

例子: locale-gen en_US.UTF8

您可以使用命令获取可用的区域设置代码locale -a

  • 这些占用兆字节空间的语言环境文件包含什么? (2认同)