Linux 系统语言环境配置解析

Linux 系统语言环境配置解析

1. locale 语言环境配置配置层级结构

在这里插入图片描述
​ locale是表达一个地域内人们的语言习惯的配置。linux系统提供了LC_ALL宏,LC_*变量和LANG 3类变量来进行系统语言环境配置。基于Linux的应用程序默认采用当前会话的系统语言环境配置,也可以通过setenv()和setlocale()函数来按需设置。

2. locale 本地化配置变量说明

locale配置格式说明: <语言>_<地区>.<字符集编码>

zh_CN.UTF-8: zh代表中文,CN代表大陆地区,UTF-8表示字符集

2.1 配置变量说明

​ 配置变量生效优先级: LC_ALL > LC_*(具体配置变量) > LANG

  1. LC_ALL宏使用说明

    设定了LC_ALL为具体指,那么不管LC_*和LANG有没有设定,语言环境变量都采用LC_ALL的设定。

  2. LC_* 环境变量说明

    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)。
    
  3. LANG环境变量说明

    LANG设定所有语言环境的配置的默认值,当没有设置LC_ALL和LC_*语言变量时,采用LANG配置。

2.2 查看当前系统已安装语言环境配置

​ 确认系统是否已有需要的语言环境配置,不存在需安装。
在这里插入图片描述

2.3 查看当前会话语言环境配置

在这里插入图片描述

3. Linux 语言环境配置方法

3.1 系统语言环境配置方法

  1. 修改/etc/profile文件

    #修改/etc/profile文件
    #在最下面增加
    export LC_ALL=zh_CN.utf8
    export LANG=zh_CN.utf8
    
    #保存修改后,重新加载生效
    source /etc/profile
    
  2. 命令行模式配置

    localectl set-locale LANG=zh_CN.utf8
    

3.2 应用程序设置语言环境变量

#include <locale.h>
// category:为locale分类,具体值为LC_ALL,LC_*,LANG
// locale: 期望设定的locale名称字符串
// 返回值: 
// 1. 当 locale为 NULL 时,取回当前 locale 操作,通过返回值传出
// 2. 当 locale为 "" 时,根据环境的设置来设定 locale
// 3. 当 locale为具体配置值时,如果成功,返回配置的locale的全名称;如果失败,会返回 NULL
char* setlocale(int category, ![在这里插入图片描述](https://img-blog.csdnimg.cn/5f0f6d4850a6439e99ce9b0ed8a67afc.png#pic_center)
const char* locale);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值