Как изменить / исправить язык системы, когда вы устанавливаете язык, не являющийся официальным в вашей стране?

Как настроить глобальную локаль для компьютера?

Я недавно установил Kubuntu 14.04LTS на английском языке, но, поскольку я нахожусь в Испании, я выбрал Испанию в качестве страны, а затем изменил параметры локали, чтобы Я получаю все настройки для конкретной страны, такие как группировка цифр, десятичный разделитель, формат даты и т. Д. Я также добавил испанский язык.

Теперь все приложения жалуются на неправильную локаль. check-language-support говорит мне, что я использую en_ES.UTF-8 в качестве локали системы, и что локаль действительно неверна, в Испании нет локали для английского языка.

Я пытался использовать настройки страны / региона и языка Kubuntu, но это не помогло. Я попытался использовать export LANG=en_GB.UTF-8 и export LC_ALL=en_GB.UTF-8, а затем sudo dpkg-reconfigure locales, и это заставило check-language-support сказать, что у меня сейчас правильная конфигурация, но если это так, то это только в том сеансе konsole. Эта проблема также не позволяет konsole отображать символы Юникода, и я не могу использовать мертвые ключи или вводить какие-либо «международные символы», такие как - или ç (те, которые работают в других приложениях, таких как Firefox, которые я использую для публикации этого вопроса).

Таким образом, вопрос заключается в следующем: как настроить глобальную локаль для компьютера?

Это не сообщение об ошибке, я, возможно, в конечном итоге переустановлю свой компьютер, если не смогу это исправить. Но я действительно хочу знать, как я могу выполнить эту ДЕЙСТВИТЕЛЬНО основную задачу.

Спасибо.

$ check-language-support
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
hunspell-en-ca libreoffice-help-en-gb libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au wspanish

$ cat /etc/default/locale
LANG="en_US.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"


$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_ES.UTF-8
LANGUAGE=en:es:en
LC_CTYPE="en_ES.UTF-8"
LC_NUMERIC=en_ES.UTF-8
LC_TIME=en_ES.UTF-8
LC_COLLATE="en_ES.UTF-8"
LC_MONETARY=en_ES.UTF-8
LC_MESSAGES="en_ES.UTF-8"
LC_PAPER=en_ES.UTF-8
LC_NAME=en_ES.UTF-8
LC_ADDRESS=en_ES.UTF-8
LC_TELEPHONE=en_ES.UTF-8
LC_MEASUREMENT=en_ES.UTF-8
LC_IDENTIFICATION=en_ES.UTF-8
LC_ALL=
$ update-locale
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
17
задан 26 April 2015 в 10:05

8 ответов

Здесь сообщается об ошибке: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968 - «Смена страны приводит к неверный языковой стандарт "

Обходные пути:

  1. Выберите страну Британский английский, а не американский английский (а затем язык Испания)
  2. Или вручную отредактируйте ~ / .kde / env / setlocale.sh после изменения настроек страны / региона и языка
9
ответ дан 26 April 2015 в 10:05

Вы захотите использовать команду update-locale . Посетите эту страницу, чтобы узнать, как его использовать. Вы в основном запускаете его (с помощью sudo) с аргументами, устанавливающими языковой стандарт, как вы хотите. Это «Измените [ies] глобальные настройки локали» в соответствии с вашими требованиями.

Редактировать 1: Вы также можете изучить locale-gen , если предыдущее не работает для вас.

1
ответ дан 26 April 2015 в 10:05

Как прокомментировал Фредди Вулто в своем ответе, это известная ошибка, описанная здесь: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968

Пожалуйста, примите посмотрите этот отчет об ошибке, если вам нужно исправить это вручную. Среди других возможных исправлений можно исправить вызов ~ / .kde / env / setlocale.sh (возможно, после модификации).

1
ответ дан 26 April 2015 в 10:05

Мне удалось временно решить проблему, изменив системный язык с американского английского на британский английский, как было предложено выше. Я сделал это через диалог «Системные настройки KDE»> «Локаль»> «Языки». Забавно,он отображал сообщение об ошибке, в котором говорилось, что замена текущего языка не разрешена, но на практике это было так, поскольку новые настройки были применены, когда я нажал кнопку «Применить» и перезапустил машину.

0
ответ дан 26 April 2015 в 10:05

У меня была такая же проблема в моей системе: Kubuntu 16.04 LTS (ядро: 4.4.0-31-generic (x86_64)). Но я решил это очень просто:

в « системные настройки » на вкладке « персонализация » нажмите « региональные настройки ». выберите « Форматы » в правом меню. Слева отметьте « подробные настройки » и измените все детали, такие как числа или время, на нужный язык и регион.

(системные настройки> региональные настройки> форматы> подробные настройки)

Я знаю это элементарно, но может кому-то пригодиться.

0
ответ дан 26 April 2015 в 10:05

Я решил эту проблему, выполнив следующие шаги. Я изучал, как работают локали и различные наборы конфигураций между некоторыми дистрибутивами (изначально на основе Debian).

Я использую Linux Mint в качестве основного системного дистрибутива и Debian в качестве системных серверов.

Несмотря на то, что Ubuntu является производным от Debian настройки локали немного отличаются.

1) Проверьте, какие локали установлены и сгенерированы в вашей системе:

sudo locale -a

2) удалите нежелательные локали, используя следующую команду:

sudo localedef --delete-from-archive <YOUR DESIRED LOCALE HERE>

например:

sudo localedef --delete-from-archive en_AG

По умолчанию конфигурация, расположенная в / etc / default / locale , переопределяется личными (только для локального пользователя) настройками, созданными приложением System Language App. Эти настройки находятся в $ HOME / .pam_environment ( $ HOME = расположение вашей домашней папки).

Очистите этот файл и запишите конфигурации, которые могут вам понадобиться.

Мой .pam_environment файл:

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_CTYPE=pt_BR.UTF-8

Переменная LANG устанавливает для ненастроенного LC_ * значение, настроенное там. Например:

Если система выполняет поиск переменной LC_TIME, а она не задана, она будет использовать значение LANG по умолчанию для этой переменной (в данном случае LC_TIME).

My .pam_environment в основном говорит: установите почти все переменные на pt_BR.UTF-8 , а язык системы на английский.

Я надеюсь, что эта информация может быть полезной.

8
ответ дан 26 April 2015 в 10:05

Ребята ребята чего вы сходите с ума ??? Все, что вам нужно, это перейти на панель поиска или в Unity Lens (если Ubuntu) и набрать «Язык», вы найдете приложение «Страна / регион и язык». На вкладке «Страна» выберите желаемый язык локали.

Если вы хотите сохранить текущий языковой стандарт и изменить некоторые другие параметры, например формат даты или имперские измерения на метрические, просто используйте другие вкладки! :)

Это доступно в дистрибутиве Ubuntu 14.04 LTS и новее.

-3
ответ дан 26 April 2015 в 10:05

Другое решение - использовать псевдоним с английского (Испания) на английский (США):

echo en_ES.UTF-8 en_US.UTF-8 >> /etc/locale.aliases

1
ответ дан 26 April 2015 в 10:05

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

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