Я пытался установить свой язык en_US.UTF-8без какого-либо успеха. Основываясь на других ответах в Интернете, я должен сначала создать язык с
sudo locale-gen en_US.UTF-8
А затем применить его с
sudo dpkg-reconfigure locales
Однако бег locale-genделает что-то странное:
user@Host /home/user $ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
en_US.ISO-8859-1... done
Generation complete.
Как видите, на самом деле он никогда не генерирует UTF-8, а вместо этого продолжает возвращаться к ISO-8859-1. Я никогда не смогу установить LC_ALLна en_US.UTF-8, вероятно, потому что он не может генерировать.
Я делаю что-то неправильно? Я использую Debian 8.1.
Вы пытались применить рецепт для Ubuntu под Debian. Это обычно работает, но в данном конкретном случае это не так.
Ubuntu является производной от Debian и не сильно отличается от установщика и графического интерфейса. Команда locale-genявляется одной из тех немногих других вещей, которые она меняет. Я не знаю почему.
В Debian locale-genкоманда не принимает аргументов и создает заново скомпилированные определения локали в соответствии с настроенным списком локалей. Чтобы изменить выбор локалей, которые вы хотите использовать, отредактируйте файл и /etc/locale.genвыполните locale-genкоманду. В качестве альтернативы, запустите dpkg-reconfigure localesот имени пользователя root, выберите дополнительные локали, которые вы хотите (и отмените выбор тех, которые вам не нужны), и нажмите OK.
В Ubuntu, если вы запускаете locale-genкоманду без аргументов, она восстанавливает скомпилированные определения локали в соответствии с настроенным списком локалей. Но если вы передадите некоторые аргументы, они будут добавлены в список и генерируются немедленно. Список языков хранится в /var/lib/locales/supported.d/local. Запуск dpkg-reconfigure localesпросто восстанавливает скомпилированные локали, не давая вам возможности изменить выбор.
В итоге, чтобы добавить en_US.UTF-8в список доступных языков:
Debian, интерактивный: dpkg-reconfigure locales
Debian, автоматизированный: sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
Так как бы вы добавили пакеты dpkg-reconfigure? Я получил интерактивный интерфейс, но при выборе элемента с помощью ввода он не был установлен.
Эрик С
@ErikDolor Я не понимаю твой вопрос. Если вы не изменили настройки debconf, dpkg-reconfigure localesпоявится диалоговое окно текстового режима с флажком для каждой локали, которая может быть сгенерирована. Вы прокрутите вниз en_US.UTF-8, проверьте его и нажмите кнопку OK.
Жиль "ТАК - перестань быть злым"
Я попытался проверить это с помощью кнопки ввода, но это, по-видимому, действовало как нажатие кнопки ОК.
Эрик С
2
@ErikDolor Ох. Нажмите пробел, чтобы установить флажок.
Жиль "ТАК - перестань быть злым"
Также работает для распби Джесси
Neo_Returns
5
После того, как я на самом деле прочитал файл man для locale-gen вместо слепого доверия к Интернету, я обнаружил, что на locale-genсамом деле нужны языковые настройки для генерации /etc/locale.gen. Раскомментировав en_US.UTF-8там, мне удалось его сгенерировать.
dpkg-reconfigure
? Я получил интерактивный интерфейс, но при выборе элемента с помощью ввода он не был установлен.dpkg-reconfigure locales
появится диалоговое окно текстового режима с флажком для каждой локали, которая может быть сгенерирована. Вы прокрутите внизen_US.UTF-8
, проверьте его и нажмите кнопку OK.После того, как я на самом деле прочитал файл man для locale-gen вместо слепого доверия к Интернету, я обнаружил, что на
locale-gen
самом деле нужны языковые настройки для генерации/etc/locale.gen
. Раскомментировавen_US.UTF-8
там, мне удалось его сгенерировать.источник