Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。用户环境可以按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:

  1. 语言符号及其分类 (LC_CTYPE)
  2. 数字(LC_NUMERIC)
  3. 比较和排序习惯(LC_COLLATE)
  4. 时间显示格式(LC_TIME)
  5. 货币单位(LC_MONETARY)
  6. 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
  7. 姓名书写方式(LC_NAME)
  8. 地址书写方式(LC_ADDRESS)
  9. 电话号码书写方式(LC_TELEPHONE)
  10. 度量衡表达方式 (LC_MEASUREMENT)
  11. 默认纸张尺寸大小(LC_PAPER)
  12. 对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相关推荐

  1. 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 ...

  2. arch linux简体中文,Locale (简体中文)

    翻译状态:本文是 Locale 的翻译.上次翻译日期:2021-03-31.如果英文版本有所更改,则您可以帮助同步翻译. 区域设置 显示本地化的文字.货币.时间.日期.特殊字符等包含地域属性的内容. ...

  3. linux系统locale的设定

    locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面:看中文,写中文,与 window中文系统的兼容和通信.从实际经验 ...

  4. 浅谈Linux的locale,LC_ALL和LANG

    如果你是一个Linux新手,并且刚刚安装了一个新的英文系统但想要设置成中文系统,肯定会接触到上面几个变量,在网上搜索了一系列解决方法,给一些变量赋一下值,再export一下,或者写到配置文件里面,然后 ...

  5. linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...

    博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握 ...

  6. 语言环境设置命令locale 命令(linux,对应于window 7(win叫什么命令?)控制面板-区域和语言里的设置)

    Locale 目录 [隐藏] 1关于locale的设定,为什么要设定locale 1.1关于locale的设定 1.2一.为什么要设定locale 1.3二.到底什么是locale? 1.4三.什么是 ...

  7. linux自动挂载方法,Linux操作系统下硬盘手工和自动挂载的方法

    1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...

  8. Linux系统下挂载Windows分区

    1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...

  9. c++ unicode转换中文_彻底弄懂UTF-8、Unicode、宽字符、locale

    结论 宽字符类型wchar_t locale 为什么需要宽字符类型 多字节字符串和宽字符串相互转换 最近使用到了wchar_t类型,所以准备详细探究下,没想到水还挺深,网上的资料大多都是复制粘贴,只有 ...

最新文章

  1. 20211江西高考成绩查询,江西高考成绩查询系统
  2. mysql导入sql文件
  3. 【Linux】一步一步学Linux——dpkg-trigger命令(276)
  4. ASP.NET MVC 4中如何为不同的浏览器自适应布局和视图
  5. 【NodeJS 学习笔记02】入门资源很重要
  6. python3档案管理程序源码_php人事档案管理系统,源码免费分享
  7. python-gui-pyqt5的使用方法-8--实际案例可参考使用
  8. Kotlin——初级篇(三):数据类型详解
  9. c++做界面_一看就会做系列 SmartLink远程诊断发布需求指南简单版
  10. Atitit java读取堵塞cmd命令行返回结果 java read maven 主要原理是另外线程读取标准流,错误流。。 回显增加out头,这样发布区分errstream和stdstream的
  11. [加壳脱壳] VMP壳原理简介
  12. 全息眼镜HoloLens可快速捕捉真人3D图像
  13. Elasticsearch集群原理
  14. LTE-UMTS长期演进与实践学习(1)——LTE基本架构
  15. Vue3 + PDF.js 实现 PDF 预览
  16. 程序员的时间管理计划
  17. 按键精灵大漠插件使用基础练习入门代码
  18. 深度学习的工作原理学习方式
  19. git版本管理软件——搭建git服务器
  20. 保姆级使用PyTorch训练与评估自己的MobileNetV2网络教程

热门文章

  1. 统计学习(一):最大似然估计
  2. 设计模式(三)策略模式——在Spring中使用策略模式
  3. 斐波那契数列的四种实现方式(C语言)
  4. 深圳市智汇机器人科技有限公司环宇智行
  5. 数据结构——环形队列的原理(模拟环形队列)
  6. 软件工程中五种常用的软件开发模型整理
  7. direct show
  8. 计算机软件可以用虚拟串口吗,虚拟串口以及在Proteus中的使用
  9. 使用HTML5+调用手机摄像头和相册
  10. 从0开发游戏引擎之引擎基础组件-Node类实现