rumtscho вы дали отличный ответ. Меня беспокоит то, что некоторые люди видят перспективу еды и путают его с безопасного продовольствия. Чистая еда щелок класс как вы указали крайне агрессивна, и люди должны проявлять большую осторожность при смешивании небольшого количества щелочи в большом количестве воды, чтобы избежать бурной экзотермической химической реакции. Они должны держать бутылки уксуса (уксусной кислоты) рядом на случай, если им нужно, чтобы нейтрализовать щелочь (щелочной), и я рекомендую их носить защитную одежду, перчатки и средства защиты глаз при работе с неразбавленного щелока. "Нет ничего хуже, чем щелочи в глаза". Привет Микаил! Интерпретация значения декларация-это хорошая идея. Однако эта команда будет загрузить весь файл, а не просто проверить, если он доступен.

Я использую Арч Линукс, и я следовал инструкциям на Вики О мой язык.

Почти каждая программа, которая запускается жалуется на язык, даже язык. Это выглядит так:

% язык
язык: не удается задать значение lc_all для локали по умолчанию: нет такого файла или каталога
Ланг=
Языкового=язык.В UTF-8
Lc_numeric языкового=ан-Нас
У=Ан-Нас
КАТЕГОРИИ LC_COLLATE="СТАНДАРТЕ POSIX"
LC_MONETARY=ан-Нас
ДЛЯ КАТЕГОРИИ LC_MESSAGES="POSIX И"
LC_PAPER="СТАНДАРТЕ POSIX"
LC_NAME="СТАНДАРТЕ POSIX"
LC_ADDRESS="СТАНДАРТЕ POSIX"
LC_TELEPHONE="СТАНДАРТЕ POSIX"
LC_MEASUREMENT=ан-Нас
LC_IDENTIFICATION="СТАНДАРТЕ POSIX"
Значение lc_all=

или:

% на Perl
на Perl: предупреждение: установка локали не удалось.
на Perl: предупреждение: пожалуйста, убедитесь, что настройки локали:
 Язык = (отключенное),
 Lc_all = (отключенное),
 У = "Ан-Нас",
 Lc_numeric языкового = "ан-Нас",
 LC_MONETARY = "ан-Нас",
 LC_MEASUREMENT = "ан-Нас",
 Языкового = "язык.В UTF-8",
 Ланг = (отменить)
поддерживаются и установленных на вашей системе.
на Perl: предупреждение: возврат к стандартной локали ("с")

Что-то немного смущает то, что файл/etc/язык.ген имеет несколько примеров; все в UTF-8 строки "что-то.В UTF-8", и работает язык-поколения показывает язык.В UTF-8... сделано в то время как он работает, но язык -такой, который должен показать список доступных языков, показывает язык.в utf8. Я пробовал различные комбинации обоих форматов в файл/etc/локаль-быт и язык= в /етц/РЦ.конф, но ничего не исправили проблему.

Дополнительную информацию:

% локализации -
С
В POSIX
язык
язык.iso88591
язык.в utf8

Брюс Эдигер предложение установки Ланг=С и значение lc_all=язык.UTF-8 не работал (на самом деле, устанавливая значение lc_all зафиксировал его, установив Лан не важно), но я бы хотел знать, что происходит. По данным Сус, значение lc_all будет переопределить все остальные LC_* переменные, если он задан и не равен null. В моей системе он установлен, но он имеет значение null, так что это должно быть проигнорировано, и другие ценности должны использоваться вместо этого. Это не то, что происходит, кажется, что приложения вызов функции setlocale с значение lc_all, получая нуль обратно, и выдаст ошибку, даже когда другие вызовы функции setlocale возвращает хорошую строку.

Вот на вершине ltrace из локали (прокрутите вправо, чтобы увидеть функции возвращают значения)

% ltrace язык
(0, 0, 0, -1, 0x7f5c1ae44510) = 0x7f5c1ae47140
__файл libc_начать_главный(0x401d70, 1, 0x7fff7c8cfbf8, 0x404610, 0x4046a0 <недоделанный ...>
функции setlocale(0, "") = "язык.В UTF-8"
функции setlocale(5, "") = "язык.В UTF-8"
вызов домене("библиотеки libc") = "библиотеку libc"
argp_parse(0x607280, 1, 0x7fff7c8cfbf8, 0, 0x7fff7c8cfad4) = 0
в разделе setlocale(6, "") = нуль
dcgettext(0, 0x405aa8, 5, 0, 0) = 0x405aa8
Ошибка(0, 2, 0x405aa8, 1, 0locale: не удается задать значение lc_all для локали по умолчанию: нет такого файла или каталога)