У меня немецкий был моим основным языком около года назад. Позже я изменил его на английский. Большинство частей системы приняли изменение.
Заметными исключениями являются описания пакетов, которые остаются на немецком языке для некоторых пакетов.
Вы можете видеть на изображении (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, вероятно, в порядке, так как я действительно хочу размеры бумаги, деньги, время и т. д. в стандартных немецких форматах.
Я провел несколько тестов и могу сказать, что переменная локали, определяющая поведение 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/*
Первые 3 строки кода в ответе энзотиба не решили проблему. Я не пошел дальше, потому что я слишком плохо знаком с Linux, и это выглядело как решение с вероятными конфликтами для меня. Для меня эта проблема была исправлена следующим кодом:
sudo apt-get --reinstall install software-center
Я читал, что, как и в центре программного обеспечения ubuntu, язык менеджера обновлений тоже затронут, поэтому я также запускаю
sudo apt-get --reinstall install update-manager
[ 114] на всякий случай.