Почему переопределение является переменной среды ЛЕНГА, не изменяющей язык для меня?

Я пытаюсь запустить приложение на другом языке как моя текущая среда. Для начинаний простой я хотел изменить язык ls.

Вот то, что я считал повсеместно (см. ниже для связанных вопросов): набор LANG к одной из поддерживаемых локалей, например:

LANG=nl_NL.UTF-8 ls /nonexistent

чтобы иметь его показывают нидерландскому языку (NL) вывод.

Однако я все еще получаю английский вывод:

$ LANG=nl_NL.UTF-8 ls -al /nonexistent
ls: cannot access /nonexistent: No such file or directory

Моя текущая среда:

$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Безусловно, я проверил:

  • Локаль поддерживается:

    $ grep nl_NL /usr/share/i18n/SUPPORTED 
    nl_NL.UTF-8 UTF-8
    nl_NL ISO-8859-1
    nl_NL@euro ISO-8859-15
    
  • Локаль сгенерирована:

    sudo locale-gen nl_NL.UTF-8
    

    и sudo dpkg-reconfigure locales также шоу это сгенерировано.

  • Установленный голландский пакет языка (уже установленный):

    sudo apt-get install language-pack-nl
    

Что еще я попробовал?

  • Используя export установить обоих LANG и LANGUAGE вместо того, чтобы предварительно ожидать команда.
  • Установка также LC_ALL.

Как ни странно, некоторые (только некоторые!) приложения GUI находятся на самом деле на нидерландском языке, но я не настроил это вообще!

enter image description here

Я нахожусь на Kubuntu 12.04 (.2), насколько это имеет значение.

Подобные вопросы (напрасно):

Что случилось в моей системе? Где отладить это далее?

10
задан 13 April 2017 в 15:23

1 ответ

Потому что LANGUAGE, который имеет приоритет над LANG, установлен и не изменился.

$ LANGUAGE=nl ls /nonexistent
ls: kan geen toegang krijgen tot /nonexistent: Bestand of map bestaat niet

Дополнительная информация содержится в документации по gettext для GNU :

gettext для GNU отдает предпочтение LANGUAGE, а не LC_ALL и LANG для обработки сообщений, но вы все равно необходимо установить LANG (или LC_ALL) на основной язык; это требуется для других частей системных библиотек.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

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