首頁  >  文章  >  運維  >  linux locale是什麼

linux locale是什麼

藏色散人
藏色散人原創
2023-03-10 09:18:142000瀏覽

linux locale是Linux系統中多語言環境的設定接口,使用locale命令可以設定和顯示程式運行的語言環境;locale會根據電腦使用者所使用的語言,所在國家或地區,以及當地的文化傳統定義一個軟體運行時的語言環境。

linux locale是什麼

#本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux locale是什麼?

Linux 指令之locale 

指令介紹

locale 是Linux系統中多語言環境的設定接口,在Linux 中,使用locale 命令來設定和顯示程式運行的語言環境,locale 會根據電腦使用者所使用的語言,所在國家或地區,以及當地的文化傳統定義一個軟體運行時的語言環境。

透過 locale 來設定程式運行的不同語言環境,locale 由ANSI C提供支援。 locale 的命名規則為<語言>_<地區>.<字元集編碼>,如zh_CN.UTF-8,zh代表中文,CN代表大陸地區,UTF-8表示字元集。在locale環境中,有一組變量,代表國際化環境中的不同設定。

locale 設定規則

<語言>_<地區>.<字元集編碼><@修正值>

zh_CN.utf8

zh:表示中文
CN:表示大陆地区
Utf8:表示字符集

de_DE.utf-8@euro

de:表示德语
DE:表示德国
Utf-8:表示字符集
euro:表示按照欧洲习惯加以修正

使用詳解

設定locale的根本就是設定一組總共12個LC開頭的變量,不包括LANG和LC_ALL
locale預設檔案存放位置: /usr/ share/i18n/locales

(一)查看目前locale 設定

列出所有啟用的locale:

[root@htlwk0001host ~]# localeLANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"LC_NUMERIC="zh_CN.UTF-8"LC_TIME="zh_CN.UTF-8"LC_COLLATE="zh_CN.UTF-8"LC_MONETARY="zh_CN.UTF-8"LC_MESSAGES="zh_CN.UTF-8"LC_PAPER="zh_CN.UTF-8"LC_NAME="zh_CN.UTF-8"LC_ADDRESS="zh_CN.UTF-8"LC_TELEPHONE="zh_CN.UTF-8"LC_MEASUREMENT="zh_CN.UTF-8"LC_IDENTIFICATION="zh_CN.UTF-8"LC_ALL=

分別介紹下:

  • LANG:LANG的優先權是最低的,它是所有LC_*變數的預設值,下方所有以LC_開頭變數(LC_ALL除外)中,如果存在沒有設定變數值的變量,那麼系統將會使用LANG的變數值來賦予這個變數賦值。如果變數有值,則保持不變

  • LC_CTYPE:用於字元分類和字串處理,控制所有字元的處理方式,包括字元編碼,字元是單字節還是多字節,如何列印等,非常重要的一個變數。

  • LC_NUMERIC:用於格式化非貨幣的數字顯示

  • #LC_TIME:用於格式化時間和日期

  • LC_COLLATE:用於比較和排序

  • LC_MONETARY:用於格式化貨幣單位

  • LC_MESSAGES:用於控制程式輸出時所使用的語言,主要是提示訊息,錯誤訊息,狀態訊息,標題,標籤,按鈕和選單等

  • LC_PAPER:預設紙張尺寸大小

  • LC_NAME:姓名書寫方式

  • LC_ADDRESS:地址書寫方式

  • ##LC_TELEPHONE:電話號碼書寫方式

  • LC_MEASUREMENT:度量衡表達方式

  • LC_IDENTIFICATION:locale對自身包含資訊的概述

  • #LC_ALL:它不是環境變量,它是一個宏,它可透過該變數的設定覆蓋所有LC_*變量,在這個變數設定之後,可以廢除LC_*的設定值,使得這些變數的設定值與LC_ALL的值一致,注意LANG變量不受影響。

優先:LC_ALL > LC_* > LANG

(二)查看目前系統所有可用locale
[root@htlwk0001host ~]# locale -aC
C.utf8
en_AG
en_AU
en_AU.utf8
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
en_GB
en_GB.iso885915
en_GB.utf8
en_HK
en_HK.utf8
en_IE
en_IE@euro
en_IE.utf8
en_IL
en_IN
en_NG
en_NZ
en_NZ.utf8
en_PH
en_PH.utf8
en_SC.utf8
en_SG
en_SG.utf8
en_US
en_US.iso885915
en_US.utf8
en_ZA
en_ZA.utf8
en_ZM
en_ZW
en_ZW.utf8
POSIX
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.utf8
zh_SG
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.euctw
zh_TW.utf8

(三)設定係統的locale

    可以修改/etc/profile檔案
  1. 修改/etc/profile文件,最下方增加
  2. #
    export LC_ALL=zh_CN.utf8
    export LANG=zh_CN.utf8
命令列中使用命令source 下設定文件,使其生效

    修改/etc/locale.gen文件
  1. ##將註釋打開即可,修改完成後,執行下locale-gen 指令使其生效
#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
#en_US ISO-8859-1

命令列模式
  1. localectl set-locale LANG=en_US.UTF-8
修改/etc/default/locale
    登出一下,使其生效

  1. LANG=“en_US.UTF-8”
    LANGUAGE=“en_US:en”
建立/etc/locale.conf檔案
  1. LANG=en_AU.UTF-8
    LC_COLLATE=C
    LC_TIME=en_DK.UTF-8
  2. source 使其生效

#

相關推薦:《Linux影片教學

以上是linux locale是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn