![Первый день недели - воскресенье Первый день недели - воскресенье](https://habrastorage.org/getpro/habr/upload_files/1e4/5e9/fe8/1e45e9fe8d044c479b6fdfc07d28d33a.png)
В линуксе можно встретить такое явление, что первый день недели по умолчанию — воскресенье.
Если вы не сильно интересовались бытом иностранцев, то может выглядеть дико ?
Я столкнувшись с этим первый раз — подумал: «Моя неделя начинается в понедельник, я хочу видеть у себя календарь нормального человека».
На какое-то время с этим смирился, пока один раз не пропустил важное событие, забыв об этой особенности 🙂
И сегодня пришел день, когда я решил разобраться с этой проблемой.
Сразу оговорюсь, что в большинстве дистриутивов, если корректно указывать регион.
Если вкратце, то мультиязычность и мультирешиональность в линуксе построена на локалях (locales).
Посмотреть текущие настройки можно командой locale
.
В моём случае проблема на локалиen_US
Вывод команды locale
![Вывод команды "locale" Вывод команды "locale"](https://habrastorage.org/getpro/habr/upload_files/339/450/990/339450990ef62dd0921742d701cdeffe.png)
Варианта выходит два:
-
Сменить локаль времени на
en_GB
, с подходящим порядком дней недели -
Внести изменения в локаль
en_US
Вариант 1. Меняем локаль времени LC_TIME
Вариант рабочий, но с нюансами.
Не забываем, что в этой секции файла хранятся названия дней недели, месяцев, их форматы и т.п.
![en_GB и en_US en_GB и en_US](https://habrastorage.org/getpro/habr/upload_files/9e2/42f/af6/9e242faf6a2dc01d44a121198946db03.png)
В принципе отличия не критичные, даже более близкие к нашим реалиям ?
Порядок действий для изменения локали времени
Делаем следующие манипуляции, открывая файлы в любимом текстовом редакторе с привилегиями суперпользователя (sudo):
![en_GB.UTF-8 UTF-8 в /etc/locale.gen en_GB.UTF-8 UTF-8 в /etc/locale.gen](https://habrastorage.org/getpro/habr/upload_files/785/1b5/6d7/7851b56d768825827eec0d62240b15ea.png)
-
Открываем файл
/etc/locale.gen
Находим в нём строкуen_GB.UTF-8 UTF-8
и раскомментируем её, чтобы сгенерировать нужную локаль.
![Вывод команды "locale-gen" Вывод команды "locale-gen"](https://habrastorage.org/getpro/habr/upload_files/525/e71/dc9/525e71dc926aa333e937c53dbc81cc0d.png)
-
Перегененрируем локали командой
locale-gen
Естественно сsudo
, я же надеюсь не из под рута работаете)
![locale.conf с обновленной локлью времени locale.conf с обновленной локлью времени](https://habrastorage.org/getpro/habr/upload_files/8d2/312/ac2/8d2312ac2855142de584a67e7e9ee181.png)
-
И обновляем используемую локаль для времени в файле
/etc/locale.conf
, добавив строчкуLC_TIME=en_GB.UTF-8
или заменив значениеLC_TIME
![Вывод команды "cal" Вывод команды "cal"](https://habrastorage.org/getpro/habr/upload_files/9ee/f2a/d81/9eef2ad819578ec0ddd86a7beb75150b.png)
-
Перелогиниваемся или перезагружаем машину и видим чудо! ?
Вариант 2. Модифицируем локаль en_US
Мне этот вариант понравился больше. Я не хочу ничего менять, кроме порядка дней недели, остальное всё меня всё устраивает.
Да и шага всего два, что меня дико радует ?
Порядок действий для модификации локали
![Параметр локали, отвечающий за порядок дней недели Параметр локали, отвечающий за порядок дней недели](https://habrastorage.org/getpro/habr/upload_files/ec0/b96/c70/ec0b96c70625c12b38ab7fdf9bee1c46.png)
-
Открываем в редакторе файл
/usr/share/i18n/locales/en_US
и находим конец секцииLC_TIME
по строкеEND LC_TIME
-
И перед ее концом ставим строчку
first_weekday 2
Вывод команды locale-gen -
Далее перегенерируем локали командой
locale-gen
(Да, с привелениями суперпользовтеля) -
Перелогиниваемся или перезагружаем машину и видим чудо! ?
Вариант 3. (Бонус)
А то скажете еще, что забыл…
Если у вас дистрибутив — можно порыться в настройках системы или календаря, там тоже может быть)
ссылка на оригинал статьи https://habr.com/ru/articles/700530/
Добавить комментарий