TL;DR
检查 Konsole 的语言首选项。
我设置了“美式英语-简体中文”,所以 $LANGUAGE 环境变量被覆写为 en_US:zh_CN:en_GB.UTF-8。
花费了两个小时解决了一个非常愚蠢的问题。我把系统语言设置为英文,但一些命令行工具,如 nano 和 sudo,仍然显示中文提示。
于是我首先检查了 $LANGUAGE 环境变量:
print $LANGUAGEen_US:zh_CN:en_GB.UTF-8这意味着如果程序找不到 en_US(美式英语)的本地化文件,它将会回退到 zh_CN(简体中文),然后回退到系统语言。
然而我在系统语言中将英式英语设置成了唯一的语言……
于是开始排查各种文件。我先后检查了:
# 系统默认语言环境/etc/default/locale
# Shell 初始化文件~/.zshrc
# KDE Plasma 的本地化配置文件~/.config/plasma-localerc/etc/vconsole.conf/etc/locale.gen/etc/locale.conf均没有发现问题。
最后检查了 KDE 的默认终端 Konsole,发现它的语言设置为“美式英语-简体中文”,应该是它覆写了 $LANGUAGE 环境变量。
设置成“英式英语-美式英语”之后问题解决。