locale 介绍

在终端中,locale(本地化)设置是指与本地语言、国家和文化偏好有关的环境变量的配置。这些设定决定了程序如何处理和显示字符、时间、日期格式、货币等。

在类 Unix 系统(比如 Linux 和 macOS)中,locale 设置由一系列环境变量来定义,这些环境变量包括:

  • LANG: 这个环境变量用来设定默认的系统语言和字符集。
  • LANGUAGE: 用于设置在显示消息时使用的语言排列顺序。
  • LC_CTYPE: 用于设置字符分类和字符串处理,以确定字符类型。
  • LC_NUMERIC: 用于设置数字格式,例如小数点字符和千位分隔符。
  • LC_TIME: 用于设置本地格式化时间和日期字符串。
  • LC_COLLATE: 定义排序规则,用于比较字符串。
  • LC_MONETARY: 用于货币格式的本地化设置。
  • LC_MESSAGES: 用于本地化系统和应用程序输出的消息。
  • LC_PAPER: 用于设置纸张尺寸的本地化信息。
  • LC_NAME: 用于名称表示的本地化信息。
  • LC_ADDRESS: 用于地址、电话号码和邮编表示的本地化信息。
  • LC_TELEPHONE: 用于电话号码格式的本地化信息。
  • LC_MEASUREMENT: 用来定义度量单位的信息。
  • LC_IDENTIFICATION: 含有本地化设置自身的描述信息。

只需设置 LANG 即可作为所有 LC_* 变量的默认值。

如果你想查看当前系统中的 locale 设置,可以在终端中使用 locale 命令。例如,要查看当前所有可用的 locale,可以运行 locale -a

$ locale -a
en_NZ
en_US.US-ASCII
en_US.UTF-8
en_NZ.ISO8859-1
en_AU.US-ASCII
en_US
en_IE
en_GB.ISO8859-15
...
zh_CN.UTF-8
zh_HK
zh_TW
zh_CN.GB2312
zh_CN.GBK
zh_CN.GB18030
zh_CN
zh_TW.Big5
zh_TW.UTF-8
zh_CN.eucCN
zh_HK.UTF-8
zh_HK.Big5HKSCS

要查看当前设置,只需运行 locale

$ locale
LANG="zh_CN.UTF-8"

这将显示所有的 locale 相关环境变量及其当前值。

C locale

C locale(CC.UTF-8)也称为 POSIX locale,是所有兼容 POSIX 的系统的 POSIX 系统默认 locale。C locale 代表标准的、语言无关的 C 编程语言环境。它通常被用作默认的 locale,确保程序的行为是可预测的,不会因为不同的区域设定而变化。

LC_MESSAGES

一般来说 LC_MESSAGES 控制命令行工具的输出语言。如果你想要更改命令行工具的输出语言,只需设置 LC_MESSAGES 环境变量即可。

比如:

  • zh_CN

    $ LC_MESSAGES="zh_CN.UTF-8" git pull
    已经是最新的。
  • en_US

    $ LC_MESSAGES="en_US.UTF-8" git pull
    Already up to date.

locale 配置

sudo locale-gen en_US.UTF-8          # 生成和编译区域设置
sudo update-locale LANG=en_US.UTF-8 # 更新区域设置

参见:

locale 设置的更多相关文章

  1. 关闭iptables服务及命令行连接wifi及locale设置

    Ubuntu系统启动时都会自动启动iptables服务.如果想关闭该服务的自动启动,可以执行: sudo ufw disable 命令行方式连接某个SSID: sudo nmcli d wifi co ...

  2. CentOS7-安装后常见问题--ssh慢,汉字乱码gbk,-locale设置等

    00.ssh 慢问题解决修改:  [test@centos ~]$ sudo vi /etc/ssh/sshd_config /** 使用/命令查找 API 字符串*/ # GSSAPI option ...

  3. ubuntu区域语言(locale)设置(切换为中文)

    第一步:编辑文件 代码:sudo gedit  /var/lib/locales/supported.d/local (这个文件是所有已经激活的区域语言的列表) 写入相关内容,比如写入如下内容: zh ...

  4. Ubuntu locale设置

    /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) 解决方法: 1 sudo locale-gen &q ...

  5. CentOS下通过locale来设置字符集

    转载:http://www.centoscn.com/CentOS/config/2013/1013/1784.html 在Centos中通过locale来设置程序运行的不同语言环境,locale由A ...

  6. securecrt中文乱码以及ubuntu设置locale

    参考文献 http://wiki.ubuntu.org.cn/%E4%BF%AE%E6%94%B9locale http://www.bootf.com/547.html 强烈建议 ubuntu下面不 ...

  7. 检测当前的语言环境是否使用了 UTF-8 编码(三篇文章:先用setlocale()设置编码,再用nl_langinfo()进行检测。locale对象可以使用langLocale.name() == "zh_CN"判断)

    C/C++程序中,locale(即系统区域设置,即国家或地区设置)将决定程序所使用的当前语言编码.日期格式.数字格式及其它与区域有关的设置,locale设置的正确与否将影响到程序中字符串处理(wcha ...

  8. 【转载】Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解

    Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解 1清风揽月10人评论5006人阅读2017-06-21 15:48:43   博文说明[前言]: 本文 ...

  9. SharePoint 2013 日期和时间字段格式设置

    前言 最近碰到一个需求,用户希望修改日期和时间字段的格式,因为自己的环境是英文的,默认的时间格式是[月/日/年]这样的格式,我也是碰到这个问题才知道,这是美式的时间格式,然而用户希望变成英式的时间格式 ...

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

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

随机推荐

  1. CF1860

    很失败啊 A 题大力分讨,罚了 \(2\) 次 B 题大力分讨,罚了 \(1\) 次 C 题大力 dp 一发过 然后就睡觉了 感觉 CF 打少了智商掉了,被前几题拖了太久

  2. podman+openresty+openssl,https双向认证demo测试

    前言 暂不讨论https原理,单论配置的话: 1. https单项认证 server: server.crt + server.key client: server_ca.crt 2. https双向 ...

  3. nodejs-mime类型

    mime是一个互联网标准,通过设定它就可以设定文件在浏览器的打开方式. mime使用方法: 使用mime模块查询文件的MIME类型: mime.getType('/path/to/file.txt') ...

  4. ORACLE 如何判断某字段是否小于0

    Oracle 自带的函数 SIGN 表达式的正 (+1).零 (0) 或负 (-1) 号 SQL> SELECT SIGN(-47.3), SIGN(0), SIGN(47.3) FROM du ...

  5. react-devtools安装以及使用中的问题

    使用react框架开发的小伙伴肯定都想使用想vue-devtools开发工具一样,可以看见组件的状态,和当前组件里的props,data等等. 当然react也有一个开发者工具,现在废话少说,开始安装 ...

  6. 网易数帆开源贡献获业界肯定,轻舟API网关获OSCAR尖峰开源技术创新奖

    2020年10月16日,由中国信息通信研究院主办的"2020开源产业大会"在北京线下与线上同步召开,主办方在会上公布了"OSCAR尖峰开源奖项"各个奖项的评选结 ...

  7. [oeasy]python0072_整数类型_int_integer_整型变量

    帮助手册 回忆上次内容   上次了解的是 字符串 字符串 就是 字符的串 字符串长度 可以用 len函数 字符可以用下标索引 []   可以用str 将整型数字 转化为 字符串   字符的长度本身 有 ...

  8. [oeasy]python0122_日韩字符_日文假名_JIS_Shift_韩国谚文

    日文假名和韩国谚文 回忆上次内容 上次回顾了非ascii的拉丁字符编码的进化过程 0-127 是 ascii 的领域   世界各地编码分布 拉丁字符扩展 ascii 共 16 种 由iso组织制定 从 ...

  9. TIER 1: Appointment

    TIER 1: Appointment SQL Structured Query Language 是一种用于管理关系型数据库的编程语言.它是一种标准化的语言,用于定义.操作和管理数据库中的数据. 经 ...

  10. c++ 17 demo

    1 // Cpp.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. 2 // 3 4 #include <iostream> 5 #includ ...