Cài đặt, chỉnh sửa System Locales trên Linux

Locale là một tập hợp các biến môi trường xác định ngôn ngữ, quốc gia và các cài đặt mã hóa ký tự (hoặc bất kỳ tùy chọn biến thể đặc biệt nào khác) cho các ứng dụng của bạn và shell trên hệ thống Linux. Các biến môi trường này được sử dụng bởi các thư viện hệ thống và các ứng dụng nhận biết ngôn ngữ trên hệ thống.

Locale ảnh hưởng đến những thứ như định dạng ngày / giờ, ngày đầu tiên của tuần, số, tiền tệ và nhiều giá trị khác được định dạng phù hợp với ngôn ngữ hoặc vùng / quốc gia bạn đặt trên hệ thống Linux.

Trong bài viết này, mình sẽ hướng dẫn cách xem locale hiện đang được cài đặt của bạn và cách cài đặt, chỉnh sửa locale của hệ thống trong Linux.

Xem System Locale trên Linux

Để xem locale  của hệ thống, chúng ta sử dụng lệnh locale hoặc localectl

[root@itfromzero ~]# locale

LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

[root@itfromzero ~]# localectl status

System Locale: LANG=en_US.UTF-8
 LANGUAGE=en_US
 VC Keymap: n/a
 X11 Layout: us
 X11 Model: pc105

Để xem chi tiết thông tin về một giá trị nào đó, ví dụ cài đặt về thời gian ta thêm option LC_TIME.

[root@itfromzero ~]# locale -k LC_TIME

abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat"
day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"
abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
mon="January;February;March;April;May;June;July;August;September;October;November;December"
am_pm="AM;PM"
d_t_fmt="%a %d %b %Y %r %Z"
d_fmt="%m/%d/%Y"
t_fmt="%r"
t_fmt_ampm="%I:%M:%S %p"
era=
era_year=""
era_d_fmt=""
alt_digits=
era_d_t_fmt=""
era_t_fmt=""
time-era-num-entries=0
time-era-entries="S"
week-ndays=7
week-1stday=19971130
week-1stweek=1
first_weekday=1
first_workday=2
cal_direction=1
timezone=""
date_fmt="%a %b %e %H:%M:%S %Z %Y"
time-codeset="UTF-8"
alt_mon="January;February;March;April;May;June;July;August;September;October;November;December"
ab_alt_mon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"

Để liệt kê toàn bộ các giá trị sử dụng option -a

[root@itfromzero ~]# locale -a
C 
C.UTF-8 
en_US.utf8 
POSIX
vi_VN
vi_VN.tcvn
vi_VN.utf8
...

Cài đặt System Locale

Sử dụng lệnh update-locale để cài đặt các giá trị locale.

Ví dụ để cài đặt ngôn ngữ hệ thống :

Câu lệnh sau sẽ cài đặt ngôn ngữ là  en_IN.UTF-8

$ sudo update-locale LANG=LANG=en_IN.UTF-8 LANGUAGE
OR
$ sudo localectl set-locale LANG=en_IN.UTF-8

Bạn có thể xem các global locale settings ở:

  • /etc/default/locale – trên Ubuntu/Debian
  • /etc/locale.conf – trên CentOS/RHEL

Để cài đặt global locale cho single user, bạn cũng có thể mở file ~/.bash_profile và thêm những dòng tương tự như sau:

LANG="en_IN.utf8"
export LANG

Muốn biết chi tiết về các câu lệnh về locale, bạn sử dụng lệnh sau:

$ man locale
$ man update-locale
$ man localectl

Chúc các bạn thành công.