user762750 Asked: 2020-05-15 23:28:05 +0800 CST2020-05-15 23:28:05 +0800 CST 2020-05-15 23:28:05 +0800 CST Linux 中的 locale-gen 生成什么? 772 在我的理解中,语言环境只是一组指示系统语言和区域的环境变量。但在我们使用它之前,我们需要编辑 locale.gen 文件以指示您要使用的语言环境,然后运行 locale-gen 命令。那么 locale-gen 是做什么的呢?local-gen 生成什么数据?linux如何使用这些数据? linux locale 1 个回答 Voted Best Answer sleske 2020-05-16T06:28:52+08:002020-05-16T06:28:52+08:00 在我的理解中,语言环境只是一组指示系统语言和区域的环境变量。 不,这只是图片的一部分。首先,“语言环境”是对特定地点(国家、地区等)特定的所有设置和信息的抽象。实际上,在 Linux 上,语言环境基础设施由 C 库(在 Linux 上通常是GNU C 库)提供。作为这个语言环境基础设施的一部分,有很多东西一起工作: 一组基于“当前语言环境”改变行为的函数。这些由 C 库提供,其中确切的更改取决于函数。例如,printf函数族将根据语言环境对输出进行不同的格式化(参见printf(3))。 一个数据库,其中包含有关如何在不同语言环境中表现的信息。不是在每个区域设置相关函数(见上文)中对不同区域设置中的行为进行硬编码,而是将此信息(区域设置信息)提取到数据库中。它包含诸如哪一天是一周的开始,以及用于打印数字的格式。 一种设置“当前语言环境”的方法。这就是“环境变量集”的用武之地——这是设置当前语言环境的一种方式。 为了进一步阅读,我推荐 GNU C 库的文档:7 Locales and Internationalization。 但在我们使用它之前,我们需要编辑 locale.gen 文件以指示您要使用的语言环境,然后运行 locale-gen 命令。那么 locale-gen 是做什么的呢?local-gen 生成什么数据?linux如何使用这些数据? locale-gen通过调用localedef. 语言环境信息以文本格式显示,易于编辑,但软件难以阅读(就像软件源代码一样)。locale-gen并将localedef这些信息编译成更易于阅读的二进制格式,这就是 C 库将使用的数据。 由于这种二进制格式会占用大量磁盘空间,因此它仅针对实际使用的语言环境生成。这就是您可以在 locale.gen 中配置的内容。 还阅读locale-genand的手册页localedef,他们很好地解释了这一点:locale-gen(8),localedef(1)。
不,这只是图片的一部分。首先,“语言环境”是对特定地点(国家、地区等)特定的所有设置和信息的抽象。实际上,在 Linux 上,语言环境基础设施由 C 库(在 Linux 上通常是GNU C 库)提供。作为这个语言环境基础设施的一部分,有很多东西一起工作:
printf
函数族将根据语言环境对输出进行不同的格式化(参见printf(3))。为了进一步阅读,我推荐 GNU C 库的文档:7 Locales and Internationalization。
locale-gen
通过调用localedef
. 语言环境信息以文本格式显示,易于编辑,但软件难以阅读(就像软件源代码一样)。locale-gen
并将localedef
这些信息编译成更易于阅读的二进制格式,这就是 C 库将使用的数据。由于这种二进制格式会占用大量磁盘空间,因此它仅针对实际使用的语言环境生成。这就是您可以在 locale.gen 中配置的内容。
还阅读
locale-gen
and的手册页localedef
,他们很好地解释了这一点:locale-gen(8),localedef(1)。