Linux的Locale
Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。用户环境可以按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:
- 语言符号及其分类 (LC_CTYPE)
- 数字(LC_NUMERIC)
- 比较和排序习惯(LC_COLLATE)
- 时间显示格式(LC_TIME)
- 货币单位(LC_MONETARY)
- 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
- 姓名书写方式(LC_NAME)
- 地址书写方式(LC_ADDRESS)
- 电话号码书写方式(LC_TELEPHONE)
- 度量衡表达方式 (LC_MEASUREMENT)
- 默认纸张尺寸大小(LC_PAPER)
- 对locale自身包含信息的概述 (LC_IDENTIFICATION)
locale就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地区的locale就是根据这几大类的习惯定义的,这些 locale定义文件放在/usr/share/i18n/locales目录下面,例如en_US, zh_CN and de_DE@euro都是 locale的定义文件,这些文件都是用文本格式书写的,你可以用写字板打开,看看里边的内容,当然出了有限的注释以外,大部分东西可能你都看不懂,因为是用的Unicode的字符索引方式。
可以看一下linux 的locale命令的结果:
[root@iZbp1ap997asubvffmqc31Z docker-image-centos-oracle-java8]# locale
LANG=en_US.UTF-8
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=
设定locale就是设定12大类的locale分类属性,即 12个LC_。除了这12个变量可以设定以外,为了简便起见,还有两个变量: LC_ALL和LANG。它们之间有一个优先级的关系: LC_ALL>LC_>LANG 可以这么说,LC_ALL是最上级设定或者强制设定,而LANG是默认设定值。 1、如果你设定了LC_ALL=zh_CN.UTF-8,那么不管LC_和LANG设定成什么值,它们都会被强制服从 LC_ALL的设定,成为 zh_CN.UTF-8。 2、假如你设定了LANG=zh_CN.UTF-8,而其他的LC_=en_US.UTF-8,并且没有设定LC_ALL的话,那么系统的locale 设定以LC_=en_US.UTF-8。 3、假如你设定了LANG=zh_CN.UTF-8,而其他的LC_,和LC_ALL均未设定的话,系统会将LC_设定成默认值,也就是LANG的值 zh_CN.UTF-8 。 4、假如你设定了 LANG=zh_CN.UTF-8,而其他的LC_CTYPE=en_US.UTF-8,其他的LC_,和LC_ALL均未设定的话,那么系统的 locale设定将是:LC_CTYPE=en_US.UTF-8,其余的 LC_COLLATE,LC_MESSAGES等等均会采用默认值,也就是 LANG的值,也就是LC_COLLATE=LC_MESSAGES=……= LC_PAPER=LANG=zh_CN.UTF-8。
系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
参考:
Linux中LANG,LC_ALL,local详解
Linux中通过locale来设置字符集
Linux的Locale相关推荐
- Linux下locale: Cannot set LC_CTYPE to default locale: No such file or directory警告
在Linux下使用locale命令提示如下警告: locale: Cannot set LC_CTYPE to default locale: No such file or directory lo ...
- arch linux简体中文,Locale (简体中文)
翻译状态:本文是 Locale 的翻译.上次翻译日期:2021-03-31.如果英文版本有所更改,则您可以帮助同步翻译. 区域设置 显示本地化的文字.货币.时间.日期.特殊字符等包含地域属性的内容. ...
- linux系统locale的设定
locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面:看中文,写中文,与 window中文系统的兼容和通信.从实际经验 ...
- 浅谈Linux的locale,LC_ALL和LANG
如果你是一个Linux新手,并且刚刚安装了一个新的英文系统但想要设置成中文系统,肯定会接触到上面几个变量,在网上搜索了一系列解决方法,给一些变量赋一下值,再export一下,或者写到配置文件里面,然后 ...
- linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...
博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握 ...
- 语言环境设置命令locale 命令(linux,对应于window 7(win叫什么命令?)控制面板-区域和语言里的设置)
Locale 目录 [隐藏] 1关于locale的设定,为什么要设定locale 1.1关于locale的设定 1.2一.为什么要设定locale 1.3二.到底什么是locale? 1.4三.什么是 ...
- linux自动挂载方法,Linux操作系统下硬盘手工和自动挂载的方法
1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...
- Linux系统下挂载Windows分区
1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...
- c++ unicode转换中文_彻底弄懂UTF-8、Unicode、宽字符、locale
结论 宽字符类型wchar_t locale 为什么需要宽字符类型 多字节字符串和宽字符串相互转换 最近使用到了wchar_t类型,所以准备详细探究下,没想到水还挺深,网上的资料大多都是复制粘贴,只有 ...
最新文章
- 20211江西高考成绩查询,江西高考成绩查询系统
- mysql导入sql文件
- 【Linux】一步一步学Linux——dpkg-trigger命令(276)
- ASP.NET MVC 4中如何为不同的浏览器自适应布局和视图
- 【NodeJS 学习笔记02】入门资源很重要
- python3档案管理程序源码_php人事档案管理系统,源码免费分享
- python-gui-pyqt5的使用方法-8--实际案例可参考使用
- Kotlin——初级篇(三):数据类型详解
- c++做界面_一看就会做系列 SmartLink远程诊断发布需求指南简单版
- Atitit java读取堵塞cmd命令行返回结果 java read maven 主要原理是另外线程读取标准流,错误流。。 回显增加out头,这样发布区分errstream和stdstream的
- [加壳脱壳] VMP壳原理简介
- 全息眼镜HoloLens可快速捕捉真人3D图像
- Elasticsearch集群原理
- LTE-UMTS长期演进与实践学习(1)——LTE基本架构
- Vue3 + PDF.js 实现 PDF 预览
- 程序员的时间管理计划
- 按键精灵大漠插件使用基础练习入门代码
- 深度学习的工作原理学习方式
- git版本管理软件——搭建git服务器
- 保姆级使用PyTorch训练与评估自己的MobileNetV2网络教程