Как изменить региональные настройки в Linux, включая десятичный разделитель

Вопрос или проблема

Я использовал Linux Mint, теперь пробую основную версию Ubuntu 18. Вверху Gnome отображаются день недели/время. Я начал с этого, хотев изменить его на английский, установив региональные параметры на русский через GUI, и заметил, что часовой пояс менялся, если я устанавливал региональные параметры на США.
Я читал и пробовал следующий способ: How to get current or set wanted regional format in the terminal?

Странно, после sudo update-locale LC_TIME=en_CA.UTF-8 и даже перезагрузки ПК, в файле /etc/default/locale указано CA, но команда locale в bash выдает RU. И день недели вверху экрана все еще на русском. Почему данные в файле и по команде разные? Как изменить язык вверху экрана, это какой-то переменной с датой, где её найти?

Дополнительно, возможно ли и как изменить точки в десятичных дробях и разделители тысяч по своему усмотрению?

Что касается сообщения наверху экрана, ниже приведены шаги, например, для Российской Федерации:

  1. Отредактируйте /usr/share/i18n/locales/ru_RU (например, с помощью sudo nautilus): измените строку abday на

    abday   "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat"
    
  2. Сгенерируйте локали:

    $ sudo locale-gen ru_RU.UTF-8
    
  3. Установите формат в настройках на Российскую Федерацию (сначала я хотел создать свою локаль, но не нашел, как создать новую территорию, чтобы она появилась в списке в настройках, например, в /usr/share/i18n/locales/ru_RU territory "Russia", но в настройках написано Russian Federation – пожалуйста, кто-нибудь исправьте или прокомментируйте, как это можно сделать).

  4. Перезайдите в систему

Для десятичных знаков я изменил это в /usr/share/i18n/locales/ru_RU, это отображается правильно в настройках формата Ubuntu, однако почему-то не работает в LibreOffice Calc по неизвестной мне причине.

Ответ или решение

Конечно! Давайте подробно разберём процесс изменения региональных настроек в Linux, учитывая вашу ситуацию с Ubuntu 18 и Gnome.

Теория

В Linux региональные настройки управляются с помощью переменных окружения, таких как LANG, LC_TIME, LC_NUMERIC и другие. Эти переменные позволяют системе знать, какие языковые и форматы даты, времени, чисел и валюты использовать. По умолчанию настройки сохраняются в файле /etc/default/locale.

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

Пример

  1. Изменение региональных настроек через терминал

    Сначала изменим локаль для времени:

    sudo update-locale LC_TIME=en_CA.UTF-8

    После этого изменения должны отразиться в /etc/default/locale. Однако, как вы заметили, выполнение команды locale в терминале может по-прежнему возвращать предыдущие настройки, например, RU. Причина этого может быть в том, что текущая сессия вашей оболочки или графическое окружение Gnome могут переопределять системные настройки на уровне пользователя.

  2. Изменение формата отображения на панели Gnome

    Для корректного отображения дней недели и времени выполнения на панели Gnome необходимо убедиться, что переменные окружения установлены правильно для вашей сессии. Перезапустите рабочее окружение или перенастройте параметры языка через графический интерфейс:

    • Откройте настройки системы и перейдите к "Язык и Регион".
    • Убедитесь, что язык интерфейса и формат региона выбраны корректно.

    Если проблема остаётся, вы также можете напрямую изменить файлы локали. Например:

    sudo nano /usr/share/i18n/locales/ru_RU

    В этом файле можно изменить сокращенные названия дней недели, как вы уже продемонстрировали:

    abday   "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat"
  3. Изменение десятичного разделителя и разделителя тысяч

    Изменение параметров десятчных и тысячных разделителей, к сожалению, требует изменения отдельных компонентов локализации. Например, строкой decimal_point можно изменить:

    decimal_point "<текущий_разделитель>"

    Следующая строка может изменить разделитель тысяч:

    thousands_sep "<текущий_разделитель>"

    После внесения изменений выполните:

    sudo locale-gen ru_RU.UTF-8
  4. Проблема с LibreOffice

    Если изменения не отражаются в таких приложениях, как LibreOffice, возможно, стоит проверить настройки самого приложения:

    • Откройте LibreOffice и перейдите в "Инструменты" → "Параметры" → "Язык настроек".
    • Убедитесь, что выбранные региональные настройки соответствуют вашим корректировкам.

Применение

  • Ваша задача: Стремитесь точно определить источник конфликта в ваших региональных настройках. Это может быть через смешивание параметров системных, пользовательских и приложенческих настроек.

  • Предложение: Рекомендуется после изменений производить лог-аут и повторный вход в систему, чтобы убедиться в обновлении всех активных переменных окружения для текущей сессии.

  • Совет: Для минимизации влияния изменений стоит использовать временные переменные окружения в терминале: например, LC_TIME=en_CA.UTF-8 gnome-calendar, чтобы проверить, как отдельное приложение отреагирует на потенциальные конфликты локали.

Надеюсь, эти шаги и рассмотрения помогут вам устранить конфликты в ваших региональных настройках Linux и настроить систему в соответствии с вашими предпочтениями.

Оцените материал
Добавить комментарий

Капча загружается...