Как избавиться от множественного языкового смешения в командной строке?

370
Quasimodo's clone

Я установил чистую систему Debian 9 Stretch с компакт-диска netinst. Язык по умолчанию установлен на de_DE.UTF-8. Некоторый пользовательский инструмент, а именно mkfs.ext4, дает мне сообщения на смешанных языках:

/dev/sdb7 hat ein ext4-Dateisystem mit Namen „tmp-rofs“ auf Tue Jul 18 16:51:41 2017 erzeugtProceed anyway? (y,N) 

Подтверждение не распознается буквой «y», но «j» (по-немецки «ja»).

Это, между прочим, странная немецкая грамматика - предлог «auf» никогда не используется в сочетании с датой. Конкатенация 'erzeugtProceed' также странная.

Как видите, базовое сообщение дается на немецком языке (как и предполагалось), за исключением формата даты и последнего вопроса.

Я побежал, dpkg-reconfigure localesдобавив дополнительно en_US.UTF-8локаль (поскольку я собираюсь писать скрипты, используя разные локали) и de_DE.UTF-8снова установив локаль по умолчанию, однако поведение не изменилось.

Что может быть не так в моей конфигурации / Как это исправить? Цель состоит в том, чтобы получить чистые локализованные (немецкие) сообщения.


РЕДАКТИРОВАТЬ: дополнительная информация

Установлены 2 переменные среды, связанные с локалью:

LANG=de_DE.UTF-8 GDM_LANG=de_DE.utf8 

Содержание /etc/default/localeэто:

# File generated by update-locale LANG=de_DE.UTF-8 

locale -a дает мне:

C C.UTF-8 de_DE.utf8 en_US.utf8 POSIX 

Одинаковое поведение присутствует как в консоли tty, так и в терминале с графическим интерфейсом.


Экспериментально я попытался вручную установить некоторые переменные окружения:

export LC_MESSAGES='de_DE.UTF-8' export LC_RESPONSE='de_DE.UTF-8' export LC_TIME='de_DE.UTF-8' mkfs.ext4 /dev/sdb7 -L 'tmp-rofs' 

Но та же проблема все еще остается.

0
Я не являюсь носителем английского языка. Пожалуйста, не стесняйтесь редактировать заголовок / текст моего вопроса, чтобы прояснить мою проблему и привлечь больше людей, сталкивающихся с подобной проблемой, добавив правильные ключевые слова. Quasimodo's clone 6 лет назад 0

2 ответа на вопрос

1
LotoLo

Вы можете найти полезную информацию об этом в вики Debian - Locale

Вручную :

отредактируйте файл /etc/locale.gen и добавьте настройки локали (один набор на строку), например:

 de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15 

Поддерживаемые локали перечислены в / usr / share / i18n / SUPPORTED.

  • Запустите команду locale-gen

  • Запустите команду locale -a, чтобы проверить список доступных локалей; примечание> что написание меняется.

  • Если вы обновились до Lenny и у вас осталось содержимое LANG = ... в> / etc / environment, вы должны закомментировать его.

  • Чтобы использовать новые настройки с вашими программами, выйдите из системы и снова войдите в систему.

Следующие переменные среды влияют на поведение системы в отношении локали:

- LANG Determines the default locale in the absence of other locale related environment variables - LANGUAGE - LC_ADDRESS Convention used for formatting of street or postal addresses - LC_ALL High precedence override for locale specific behaviour (overrides all other locale variables) - LC_COLLATE Collation order - LC_CTYPE Character classification and case conversion - LC_MONETARY Monetary formatting - LC_MEASUREMENT Default measurement system used within the region - LC_MESSAGES Format of interactive words and responses - LC_NUMERIC Numeric formatting - LC_PAPER Default paper size for region - LC_RESPONSE Determines how responses (such as Yes and No) appear in the local language - LC_TELEPHONE Conventions used for representation of telephone numbers - LC_TIME Date and time formats  
Спасибо за ваш ответ. Это еще не решает мою проблему. Я постараюсь поиграть с вашим недавним редактированием (env vars). У вас есть идея, если эти ** должны ** быть установлены / почему они не были установлены в моей установке? Quasimodo's clone 6 лет назад 0
Смотрите мой ответ ниже. Вы можете найти исправление ошибки. Quasimodo's clone 6 лет назад 0
0
Quasimodo's clone

Перевернув интернет вверх дном, я обнаружил, что на самом деле в пакете, похоже, есть ошибка e2fsprogs.

см. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856586.

Я пока не приму свой собственный anser, чтобы дать людям шанс предположить, что исправлена ​​какая-то ошибка. Первое (или самое чистое) решение, решающее мою проблему, будет принято.

Похожие вопросы