Проблемы с настройкой локали в Ubuntu Studio 24.04.1 LTS

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

На основе отличных инструкций в этой теме я создал пользовательскую локаль en_CH, комбинируя записи из de_CH и en_US. Единственное, что я пытаюсь сделать иначе, это получить даты и время в формате ISO / 24-часовом формате. Я пробовал многие варианты в LC_TIME, но всегда получаю даты либо в американском, либо в британском формате. Вот соответствующая часть моего текущего раздела LC_TIME:

% Подходящее представление даты и времени (%c)
d_t_fmt  "%F %T"
% Подходящее представление даты и времени для date(1). Это
% отличается от d_t_fmt по историческим причинам и было другим
% с 2000 года, когда date_fmt был добавлен как расширение GNU. В конце
% 2018 года он был скорректирован для использования 12-часового формата (ошибка 24046) вместо 24-часового.
date_fmt "%a %x %X %Z"
% Подходящее представление даты (%x)
d_fmt   "%Y-%m-%d"
% Подходящее представление времени (%X)
t_fmt   "%H:%M:%S"
am_pm   "";""
% Подходящее представление времени AM/PM (%r)
t_fmt_ampm ""

Когда я выбираю en_CH для других разделов в настройках региона и языка, результаты ожидаемы. В настройках региона и языка я нашел en_SE. Это, похоже, дает результаты, которые я хочу для форматов даты и времени, но в /usr/share/i18n/locales/ нет соответствующего файла, также я не нахожу такую локаль в https://lh.2xlibre.net/locales/.

Что может переопределять настройки LC_TIME в моей локали en_CH? Откуда берется локаль en_SE?

P.S. Выполнение “locale -k LC_TIME” возвращает следующее:

am_pm=";"
d_t_fmt="%F %T"
d_fmt="%Y-%m-%d"
t_fmt="%H:%M:%S"
t_fmt_ampm=""

что, похоже, указывает на то, что мои настройки загружаются, но как Krusader, так и системный трей отображают дату в британском формате.

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

Проблемы с настройкой локали в Ubuntu Studio 24.04.1 LTS

Настройка локали в Linux-дистрибутивах, таких как Ubuntu Studio, может вызывать разнообразные трудности, особенно когда требуется создать кастомизированную локаль на основе существующих. В данном случае вы настраиваете локаль en_CH, комбинируя элементы из de_CH и en_US. Основной задачей является корректная настройка формата даты и времени, чтобы они отображались в ISO/24-часовом формате. Ваша текущая настройка LC_TIME создаёт некоторые проблемы, поэтому давайте подробно разберём возможные причины и решения.

Потенциальные проблемы с LC_TIME

  1. Кэширование локали:
    После изменений в локали можно столкнуться с тем, что система продолжает использовать кэшированные настройки. Это особенно актуально для сервисов и приложений, которые могут не обновить свои переменные окружения сразу после изменений. Убедитесь, что вы выполнили команду sudo locale-gen для пересоздания кэша локалей. После этого перезагрузите систему или хотя бы перезапустите нужные приложения, чтобы новые настройки вступили в силу.

  2. Конфликты с другими локалями:
    Если на системе установлены другие локали (например, en_SE), возможно, что они влияют на вывод даты и времени. Локали могут иметь приоритет в зависимости от конфигурации системы. Посмотрите, какие переменные LC_TIME применяются по умолчанию, выполнив команду locale. Убедитесь, что LANG и другие переменные окружения не переопределяют LC_TIME.

  3. Настройки программного обеспечения:
    Приложения, такие как Krusader и панель задач, могут использовать собственные методы для отображения даты и времени, игнорируя системные настройки локали. Проверьте настройки этих приложений на наличие опций, касающихся формата даты и времени. В некоторых случаях требуется вручную изменить настройки в самом приложении.

  4. Проблемы с локализацией в GNOME или KDE:
    Если у вас установлен графический интерфейс GNOME или KDE, проверьте настройки локали в их интерфейсе. Эти среды рабочего стола могут иметь свои собственные настройки, влияющие на формат даты и времени, иногда отличные от системных.

  5. Ограниченные возможности date_fmt:
    Вы упомянули использование расширений GNU в date_fmt. Обратите внимание, что некоторые варианты форматирования могут нарушать стабильность отображения в стандартных системных приложениях. Возможно, вам следует использовать более простые форматы, которые широко поддерживаются.

Источник локали en_SE

Что касается изначального вопроса о локали en_SE, стоит отметить, что данная локаль может быть частью стандартной библиотеки локалей, но не имеет отдельного файла в /usr/share/i18n/locales/. Некоторые локали могут быть представлены несколькими способами и использовать общие файлы. Например, en_SE может наследовать характеристики от en с модификациями для шведского рынка, но не иметь отдельной настройки для файлов.

Рекомендации по настройке

  • Проверьте наличие и удалите кэш локалей.
  • Убедитесь, что переменные окружения настроены корректно.
  • Исследуйте настройки приложений, которые отображают дату и время, на соответствие установленным локалям.
  • Попробуйте задать значениями t_fmt и d_fmt более простые форматы, которые могут обеспечить лучшую совместимость.

Заключение

Сложности с настройкой локали в Ubuntu Studio 24.04.1 LTS могут быть вызваны различными факторами, включая кэширование, конфликты локалей и специфику отдельных приложений. Используйте предложенные рекомендации для устранения проблем и достижения желаемого формата отображения даты и времени.

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

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