大约一年前,我以德语为主要语言。后来我将其改为英语。系统的大部分部分都接受了这一改变。
值得注意的例外是包装描述,有些包装的描述仍然是德语。
您可以在图片(apt-cache 和 software-center)中看到,虽然有些描述是英文的,但有些描述仍是德文。所以问题是:我该如何重置它?我猜想某个地方有一个描述缓存,需要被告知它应该更新所有描述?
编辑:正如所问:一些语言相关命令的输出:
$ cat /etc/default/locale
LANG="en_US.UTF-8"
$ apt-config dump | grep Lang
Acquire::Languages "";
Acquire::Languages:: "de_DE";
Acquire::Languages:: "de";
Acquire::Languages:: "en";
Acquire::Languages:: "none";
$ locale
LANG=de_DE.UTF-8
LANGUAGE=en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
需要注意的是:我不确定每个条目的含义,但是一些de_DE.UTF-8 可能没问题,因为我做想要标准德语格式的纸张尺寸、货币、时间等。
答案1
我做了一些测试,我可以说,决定 APT 下载翻译行为的区域设置变量是LC_MESSAGES
,正如预期的那样。
事实上,如果你执行以下命令:
export LC_MESSAGES=en_US.UTF-8
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update
你应该只提供英文翻译。
要永久将该变量设置为英语,您应该将以下行
export LC_MESSAGES=en_US.UTF-8
在你的~/.profile
。
还请考虑到修改该变量也可能会影响其他应用程序的行为,因为它们使用该设置来决定使用哪种语言与用户交流。如果您希望在不修改变量的情况下使用英文描述包LC_MESSAGES
,您可以在目录中创建一个文件/etc/apt/apt.conf.d/
,假设您将其命名为20language
,然后将以下内容放入其中
Acquire::Languages "en";
完成后,在更新存储库缓存之前,使用以下命令删除旧缓存
sudo rm -rf /var/lib/apt/lists/*
答案2
enzotib 答案中的前三行代码没有解决问题。我没有继续,因为我对 Linux 还不太熟悉,而且在我看来,这个解决方案可能存在冲突。以下代码确实为我解决了这个问题:
sudo apt-get --reinstall install software-center
我读到,就像 ubuntu 软件中心一样,更新管理器的语言也受到影响,所以我也运行
sudo apt-get --reinstall install update-manager
万一。