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. 关于为什么使用React新特性Hook的一些实践与浅见

    前言 关于Hook的定义官方文档是这么说的: Hook 是 React 16.8 的新增特性.它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性. 简单来说,就是在 ...

  2. 关于websockets的压测工具

    这是在workerman群中得到的信息,记录在此: loadrunner  jemeter

  3. java篇 之 数组

    数组:本身也是对象元素数据类型必须一致,初始值为各种零(跟类型一致),数组中存放 的是对象的引用(地址),对象在其它空间,一旦创建长度不可变,length可以直 接访问 (new的时候才分配空间,创建 ...

  4. QM[中控群控云控]01. 中控原理

    QM[中控群控云控]01. 中控原理 虽然自己对于中控有了解 也自己做过一些简单中控 不过看看紫猫老师的思路 应该有很多帮助和提高 中控核心:数据交流而已 脚本端和服务端之间的信息交换 ------个 ...

  5. 分布式一致性协议 --- Paxos

    问题 Paxos 到底解决什么样的问题,动机是什么 Paxos 流程是怎么样的? Paxos 算法的缺陷是什么 概述 Paxos 是分布式一致性算法,根据少数服从多数的原则多个节点确定某个数值.通过学 ...

  6. 【C语言】输入5个整数并按输入顺序逆序输出

    #include <stdio.h> int main() { ],i; printf("请输入5个整数:\n"); ;i<;i++) scanf("% ...

  7. Uva 11300 Spreading the Wealth(贪心)

    题目链接:https://vjudge.net/problem/UVA-11300 这道题的思路太神了,但很难想到是贪心. 用M表示每个人最终拥有的金币数. 首先假设有四个人.假设1号给2号3枚,2号 ...

  8. 「luogu3380」【模板】二逼平衡树(树套树)

    「luogu3380」[模板]二逼平衡树(树套树) 传送门 我写的树套树--线段树套平衡树. 线段树上的每一个节点都是一棵 \(\text{FHQ Treap}\) ,然后我们就可以根据平衡树的基本操 ...

  9. 「题解」「2014 NOI模拟赛 Day7」冒泡排序

    目录 题目 考场思考 正解 题目勾起了我对我蒟蒻时代的回忆,虽然我现在也蒟蒻 题目 点这里 可能链接会挂,在网上搜题目就有. 毕竟 \(BZOJ\) 有点老了... 考场思考 本来以为十分友善的一道题 ...

  10. springboot pom问题及注解

    springboot pom不需要指定版本号 springboot会自己管理版本号 <!-- 支持热部署 --> <dependency> <groupId>org ...