Ubuntu 更改命令行语言

环境

(已测试适用的环境)

  • Ubuntu 24.04
  • Ubuntu 22.04
  • Windows WSL 子系统(Ubuntu 24.04)可能也适用于此篇笔记

步骤

  1. 检查当前的语言配置(locale.conf

    locale
    
    root@huajibenji:/$ locale
    LANG=C.UTF-8
    LANGUAGE=
    LC_CTYPE="C.UTF-8"
    LC_NUMERIC="C.UTF-8"
    LC_TIME="C.UTF-8"
    LC_COLLATE="C.UTF-8"
    LC_MONETARY="C.UTF-8"
    LC_MESSAGES="C.UTF-8"
    LC_PAPER="C.UTF-8"
    LC_NAME="C.UTF-8"
    LC_ADDRESS="C.UTF-8"
    LC_TELEPHONE="C.UTF-8"
    LC_MEASUREMENT="C.UTF-8"
    LC_IDENTIFICATION="C.UTF-8"
    LC_ALL=
    

    在上文你将会看到 LANG变量以及以 LC_开头的变量,其中含义是:
    LANG:所有的 LC_*变量的默认值,优先级最低。(如果没有为某个 LC_*变量指定值,则会使用 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:用于提供当前区域设置文档的元数据信息

    LC_ALL:用于覆盖所有 LC_*变量的值。如果这里指定了一个值,那么上面所有的 LC_*变量的值都将被此值覆盖

优先级:LC_ALLLC_*LANG

  1. 安装语言包

    如果当前目标语言还未安装,则需要先使用apt安装

    sudo apt install language-pack-zh-hans
    
    root@huajibenji:/$ apt install language-pack-zh-hans
        Reading package lists... Done
        Building dependency tree... Done
        Reading state information... Done
        The following additional packages will be installed:
          language-pack-zh-hans-base
        The following NEW packages will be installed:
          language-pack-zh-hans language-pack-zh-hans-base
        0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
        Need to get 0 B/1930 kB of archives.
        After this operation, 7743 kB of additional disk space will be used.
        Do you want to continue? [Y/n] y (这里需要输入y来确认安装)
        Selecting previously unselected package language-pack-zh-hans-base.
        (Reading database ... 40794 files and directories currently installed.)                                                                 
        Preparing to unpack .../language-pack-zh-hans-base_1%3a24.04+20240817_all.deb ...                                                       
        Unpacking language-pack-zh-hans-base (1:24.04+20240817) ...                                                                             
        Selecting previously unselected package language-pack-zh-hans.                                                                          
        Preparing to unpack .../language-pack-zh-hans_1%3a24.04+20240817_all.deb ...                                                            
        Unpacking language-pack-zh-hans (1:24.04+20240817) ...                                                                                  
        Setting up language-pack-zh-hans (1:24.04+20240817) ...                                                                                 
        Setting up language-pack-zh-hans-base (1:24.04+20240817) ...                                                                            
        Generating locales (this might take a while)...                                                                                         
          zh_CN.UTF-8... done                                                                                                                   
          zh_SG.UTF-8... done                                                                                                                   
        Generation complete.
    

    这里将会安装简体中文语言包。将 zh-hans 替换为其他语言的代码(如 de 是德语,fr 是法语)来安装其他语言。

  2. 设置语言

    方法1 (临时设置):

    在当前会话中更改语言。但是此方法在重启后或者关闭终端后将会恢复原来的设置

    export LANG=zh_CN.UTF-8
    

    方法2 (永久更改):

    sudo vim /etc/default/locale
    

    进入vim编辑器界面后,按下 i来启用插入模式(接下来你将会在左下角看到一个 -- INSERT --,表示启用成功)

    接下来将 LANG更改为目标语言

    LANG="zh_CN.UTF-8"
    

    完成后按下 ESC键退出编辑,随后再按下 :进入vim命令行模式。输入 wq来保存并退出编辑。此时你会回到终端页面

  3. 生成语言环境

    生成目标语言的环境,确保其可用

    sudo locale-gen zh_CN.UTF-8
    sudo update-locale
    
    root@huajibenji:/$ locale-gen zh_CN.UTF-8
    Generating locales (this might take a while)...
      zh_CN.UTF-8... done
    Generation complete.
    root@huajibenji:/$ update-locale
    root@huajibenji:/$ 
    
  4. 重新登录或重启服务器

    完成上述步骤后,需要重新登录终端或者重启系统来让配置生效

上文参考链接:
Locale - Arch Linux 中文维基

locale(5) — Arch manual pages

由于本文是随手记,所以将不会为文章设定封面

No Wiš'adel !