Я установил чистую систему 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 -conconfigure локали, добавив дополнительно 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'

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

2 ответа2

1

Вы можете найти полезную информацию об этом в вики 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 
0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .