1. Locale 概述
2. Windows 区域设置
3 Linux Locale
3.1 Linux Locale 语言环境名称格式
3.2 常用区域描述(简写)日期习惯
3.3 日期显示格式
3.4 locale相关(环境)变量生效的优先顺序:
4 Linux Locale 操作(左边查看a,右边设置b)
4.1a 查看已开启的语言环境
4.1b 生成语言环境
4.2a 查看Linux系统编码
4.2b 设置系统区域设置
4.3a 列出系统当前使用的字符集
5 更多链接

1. Locale 概述

https://en.wikipedia.org/wiki/Locale_(computer_software)
在计算中,语言环境是一组参数,用于定义用户的语言,区域以及用户希望在其用户界面中看到的任何特殊的变体首选项。
通常,语言环境标识符至少由语言代码和国家/地区代码组成。

https://zh.wikipedia.org/wiki/区域设置
区域设置(locale),也称作“本地化策略集”、“本地环境”,是表达程序用户地区方面的软件设定。
不同系统、平台、与软件有不同的区域设置处理方式和不同的设置范围,但是一般区域设置最少也会包括语言和地区。
操作系统的区域设置通常比较复杂。区域设置的内容包括:数据格式、货币金额格式、小数点符号、千分位符号、度量衡单位、通货符号、日期写法、日历类型、文字排序、姓名格式、地址等等。

https://zh.wikipedia.org/wiki/国际化与本地化
在信息技术领域,国际化与本地化(英文:internationalization and localization)是指修改软件使之能适应目标市场的语言、地区差异以及技术需要。
基于他们的英文单字长度过长,常被分别简称成i18n(18意味着在“internationalization”这个单字中,i和n之间有18个字母)及L10n。使用大写的L以利区分i18n中的i和易于分辨小写l与1。

Localisation Guide  相关资料的汇整...
http://docs.translatehouse.org/projects/localization-guide/en/latest/guide/start.html?id=guide/start#locales

2. Windows 区域设置

Windows 系统的每个区域设置(locale)是一个“语言”及一个排序规则。

  • Windows XP支持超过150个区域设置(locale);
  • Windows Vista支持超过200个区域设置(locale);
  • Windows 7支持至少365个区域设置(locale)。

[控制面板]下找到区域设置...选择适合的区域即可。

3 Linux Locale

https://wiki.archlinux.org/index.php/Locale
区域设置是使用glibc的渲染文本,正确地显示区域货币值,时间和日期格式,字符排列方式和其他一些本地化的特定标准和其他区域设置的程序或库。

3.1 Linux Locale 语言环境名称格式

language[_territory][.codeset][@modifier]

  • language 是ISO 639-1标准中定义的双字母的语言代码,
  • territory 是ISO 3166-1标准中定义的双字母的国家和地区代码,
  • codeset 是字符集的名称 (如 UTF-8等),
  • modifier 是某些 locale 变体的修正符。

参见: setlocale https://jlk.fjfi.cvut.cz/arch/manpages/man/setlocale.3

3.2 常用区域描述(简写)日期习惯

中文-中国大陆zh-CNY M D
英语-英国en-GBD M Y
英语-美国en-USM D Y

3.3 日期显示格式

$ LC_TIME=en_US.UTF-8 date
Thu 09 Jan 2020 07:52:05 PM CST
$ LC_TIME=en_GB.UTF-8 date
Thu Jan  9 19:52:26 CST 2020

3.4 locale相关(环境)变量生效的优先顺序:

  1. LANGUAGE 指定个人对语言环境值的主次偏好,例如zh_CN:en_US:en
  2. LC_ALL 这不是一个环境变量,是一个可被C语言库函数setlocale设置的宏,其值可覆盖所有其他的locale设定。因此缺省时此值为空
  3. LC_xxx 可设定locale各方面(category)的值,可以覆盖LANG的值。
  4. LANG 指定默认使用的locale值

4 Linux Locale 操作(左边查看a,右边设置b)

查看命令 a   设置命令 b
4.1a 查看已开启的语言环境 4.1b Generating locales 生成语言环境
$ locale 列出当前采用的各项本地策略,这些由LC_*环境变量定义
$ locale -a 列出系统中已经安装的所有locale
$ localedef --list-archive 列出已生成的可用语言环境, 或者

$ localectl list-locales
en_US.UTF-8
zh_CN.UTF-8

查看可开启的所有语言环境
$ cat /etc/locale.gen |wc -l
511 // 除去前面的注释文字,下面可开启的有486个(其中UTF-8的有312个;ISO-8859系的有153个;还有一些国家专用的如GB18030等)。

1.1 修改locale.gen, 取消en_US.UTF-8 UTF-8和其他必要的语言前面的注释符号
$ sudo vi /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312

编辑完成后 :wq 保存退出.

1.2 生成(generate)语言环境
$ sudo locale-gen
Generating locales...
en_US.UTF-8... done
zh_CN.GB18030... done
zh_CN.GB2312... done
zh_CN.GBK... done
zh_CN.UTF-8... done
Generation complete.
   
4.2a 查看Linux/Unix操作系统编码: 4.2b 设置系统区域设置
$ echo $LANG
en_US.UTF-8
$ cat /etc/locale.conf
LANG=en_US.UTF-8
$ printenv 查看环境变量

4.3a 列出系统当前使用的字符集
$ locale charmap
UTF-8
查看系统已经安装的所有字符集
$ locale -m |wc -l 236 // 当前系统有236个

编辑: /etc/locale.conf, 写入LANG,比如: LANG=en_US.UTF-8 变量值在先前生成的语言环境中选择。

$ sudo vi /etc/locale.conf
LANG=en_US.UTF-8

或者运行

# localectl set-locale LANG = zh_CN.UTF-8

5 更多链接

https://wiki.archlinux.org/index.php/Localization/Simplified_Chinese_(简体中文)
要正确显示中文,必需设置正确的locale并安装合适的中文字体。

https://docs.oracle.com/cd/E19683-01/816-3981/overview-46/index.html
Documentation Home  > 国际语言环境指南  > 第 1 章 Solaris 国际化概述  > 使用语言环境种类进行本地化  > 日期格式 >
国际语言环境指南 > 日期格式 (下表显示在世界各地使用的一些日期格式。 请注意,即使在一个国家/地区内部,日期格式可能也有所不同)

https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.nls.doc/doc/r0004572.html
主页 > DB2 for Linux UNIX and Windows 10.5.0 > 开发用于访问和管理数据的代码 > 多文化支持 > 应用程序开发注意事项 >
基于地域代码的日期和时间格式

https://zh.wikipedia.org/wiki/各地日期和时间表示法

Locale的更多相关文章

  1. Linux的locale、LC_ALL和LANG

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

  2. Fedora 22中的Locale and Keyboard Configuration

    Introduction The system locale specifies the language settings of system services and user interface ...

  3. C 标准库系列之locale.h

    locale.h 区域设置相关,主要针对时间日期.货币格式.字符控制.数字格式等以满足某区域的设置需要. locale设置类别主要包括以下几个宏定义的类别: LC_ALL:设置所有的类别: LC_CO ...

  4. Windows Locale Codes - Sortable list(具体一个语言里还可具体细分,中国是2052,法国是1036)

    Windows Locale Codes - Sortable list NOTE: Code page is an outdated method for character encoding, y ...

  5. 中文Locale

    sudo apt-get install locales dpkg-reconfigure locales 查看当前已安装locale: locale -a 查看locale设置: locale

  6. ubuntu locale 语言设置

    第一步,编辑文件 代码: sudo gedit  /var/lib/locales/supported.d/local 写入相关内容,比如写入如下内容: 代码: zh_CN.UTF-8 UTF-8zh ...

  7. bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

    bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Q: hubery@roaster:~$ locale loc ...

  8. ubuntu处理中文时设置locale

    ubuntu下涉及中文处理的程序时,需要正确设置,否则会出现问号或者乱码的情况 具体的原因: http://wiki.ubuntu.org.cn/Locale locale的解释 http://wik ...

  9. Flex编译程序出现 Could not find compiled resource bundle 'SharedResources' for locale 'en_US'.

    Flex编译程序出现 Could not find compiled resource bundle 'SharedResources' for locale 'en_US'. 而且静态类居然为nul ...

  10. locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别

    locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多.Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境. [ora ...

随机推荐

  1. LoadRunner通过火狐浏览器录制脚本后,进行回放时,回放脚本很慢

    原因:火狐浏览器在录制的时候,录制了下载插件的脚本 解决办法:在脚本中删除额外资源中的下载代码

  2. Python开发五子棋游戏【新手必学】

    五子棋源码,原创代码,仅供 python 开源项目学习.目前电脑走法笨笨的,下一期版本会提高电脑算法ps:另外很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为 ...

  3. 一年读100本书---HHR,NZJ---19年最后4个月

    那些自律到极致的人,都拥有了开挂的人生.生物钟,绝对一致之后,一切都会很高效. 19年最后一个季度的HHR计划:还剩下3个月的时间,主要搞定几件事情:创业(以太一堂,混沌大学),工作能力(推荐算法工程 ...

  4. sping中AOP

    委托代理的概念: 委托类对象就是我们后面说到的"目标对象", 也就是需要[被]代理的对象 target代理类对象就是我们后面说到的"代理对象",目标对象就是需要 ...

  5. JenKins docker 集群

    //tag 桉树有时间来搞 **阿斯蒂 啊 阿斯蒂

  6. SpringBoot Profiles特性

    今天我们了解SpringBoot Profiles特性 一.外部化配置  配置分为编译时和运行时,而Spring采用后者,在工作中有时也会两者一起使用.  何为"外部化配置"官方没 ...

  7. Django框架之图书管理系统(一)

    图书管理系统共分为两篇博客进行讲解,该篇博客主要记录图书与出版社之间的关系(一对一),记录图书的增删查改操作 ============================================= ...

  8. QGridLayout栅格布局函数参数设置

    对于PyQt5的栅格布局函数,主要是实现多个控件之间的栅格布局形式,一般有两种设置方式: 1.Qdesigner布局设置时直接使用栅格布局函数,便可以把所需要布局的控件直接按照栅格方式来进行布局: 2 ...

  9. ES6-使用模板字符串完成字符串拼接

        var obj = {name:'tom',age:11};     //es5的字符串拼接比较麻烦     var str = '姓名是:'+obj.name+' '+'年龄是:'+obj. ...

  10. 再次立个flag

    今天2019.9.18 从上次迷茫到现在,差不多过去快一年了.   准确点是 442 天 我顺便大概看了一下上次迷茫时期的日志,总觉的不可思议.上次是毕业大概几个月,到目前其实也没多久,但是我变了.. ...