Как установить понедельник в качестве первого дня недели в приложении GNOME Calendar?

82

Каков рекомендуемый способ изменить первый день недели на понедельник (вместо воскресенья, как на скриншоте ниже)?

альтернативный текст

Я не смог найти ничего связанного ни с настройками часов, ни с Системой -> Настройки, ни с Системой -> Администрирование.

Вероятно, это как-то связано с настройкой локалей, поэтому вот (возможно, уместно) вывод из locale:

LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
...
LC_ALL=

NB : я хочу оставить английский язык UI как в GNOME, так и в командной строке. Даты в настоящее время отображаются так (например ls -l):, 2010-10-06 15:32и я также хочу сохранить это как есть.

Jonik
источник
1
На форумах Ubuntu есть очень хорошее объяснение того, как это сделать! Проверьте эту ссылку, и вы сделаете это за 2 минуты. http://ubuntuforums.org/showthread.php?t=813945
Антонис
+1, это работает (после выхода из системы и обратно; этого killall gnome-panelбыло недостаточно). Тем не менее, кто-то в ветке отметил, что: «Хотя это полезно и будет делать трюк временно, он будет работать только до обновления или переустановки пакета« locales », потому что тогда этот файл будет перезаписан / заменен новым из пакета locales ". Я также нашел другое решение, которое я
опубликую в
1
Прометей ответ на аналогичный вопрос предложить добавить first_weekday 2и first_workday 2в LC_TIMEразделе в /usr/share/i18n/locales/<your_locale>.
Поль Ружье

Ответы:

65

Вот еще одно решение, также с форумов Ubuntu . Я думаю, что это несколько чище и надежнее: оно не требует настройки файлов локали Ubuntu (только те настройки, которые вы должны редактировать).

Апплет календаря Gnome придерживается ваших региональных настроек. В Ubuntu вы можете назначить компоненты локали, отредактировав файл /etc/default/locale. Вот что у меня там есть:

LANG="en_US.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"

Это означает: я хочу программные сообщения на американском языке, но время, размер бумаги и единицы измерения в британских ieweeks, начиная с понедельника, A4, метрика.

Реквизит для artm, кто это опубликовал!

Конечно, LC_TIME="en_GB.UTF-8"это подходящее место, чтобы по понедельникам начинались недели.

Чтобы изменения вступили в силу, вам необходимо выйти из системы и снова войти в нее.

Jonik
источник
Оба решения на основе локали (это и то, что предложил Антонис ) успешно влияют и на другие подобные ситуации, например на вывод calинструмента командной строки!
Джоник
4
Конечно, вышесказанное является общесистемным решением. Чтобы настроить это для каждого пользователя , смотрите ответ Виктора .
Jonik
8
Любой способ перезагрузить его без перезагрузки?
wdev
1
Для меня при использовании Xubuntu 14.04 общесистемное решение не сработало: после перезагрузки неделя на часах панели (часы xfce) все еще начиналась с воскресенья даже после перезагрузки. Однако решение Виктора для каждого пользователя сработало.
Теему Лейсти
3
en_GB.UTF-8локаль должна быть предварительно сгенерирована перед ее установкой LC_TIME( sudo dpkg-reconfigure locales).
TranslucentCloud
22

Лучшее решение для меня - это сделать это для каждого пользователя в моем домашнем каталоге. Таким образом, мне не нужно редактировать общесистемный файл. (Конечно, если вы хотите использовать этот параметр для всех пользователей вашей системы, вы, очевидно, вынуждены редактировать системные файлы.)

Что я делаю, так это отредактирую файл так, ~/.xsessionrcчтобы он содержал строку «export LC_TIME = en_GB.utf8». Вот и все.

Виктор
источник
1
Похоже, что вставка этой строки в мою .bashrcтоже сделала свое дело, что приятно, хотя я этого не ожидал. Я предполагаю, что исходный код gnome этот файл или, возможно, .profileкогда он загружается? (Мои .profileисточники .bashrc.) Мой .xsessionrcушел, поэтому он должен работать.
Виктор
1
Это больше не работает для меня с GNOME 3.6. Вместо этого я поместил строку export LC_TIME=en_GB.UTF-8в файл, который называется .gnomercв моем домашнем каталоге. Это, кажется, добилось цели.
Виктор
8

В Ubuntu 12.04 (и, я полагаю, более поздних версиях) самый простой способ: «Настройки системы»> «Поддержка языка», затем перейдите на вкладку «Региональные форматы» и выберите из выпадающего списка.
В моем случае я выбрал «Английский (Ирландия)», который дал мне понедельник в качестве первого дня в календаре, «правильные» форматы чисел и валюту, и другие вкусности :)
Если вы не найдете там нужного варианта, возможно, вам придется установить язык (другая вкладка того же окна).

Камаль
источник
5

Форматы времени и даты в Ubuntu контролируются настройками локали. Сначала вам нужно выяснить текущую локаль, используемую для управления настройками времени и даты. Откройте терминал и введите следующую команду.

locale | grep LC_TIME

Вы должны увидеть результат, который выглядит примерно так

LC_TIME=en_US.UTF-8

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

cd /usr/share/i18n/locales
sudo cp en_US en_US_custom

Теперь отредактируйте новый пользовательский файл.

sudo gedit en_US_custom

И изменить

first_weekday 1

в

first_weekday 2

Затем внесите изменения в / etc / environment, чтобы они указывали на ваш новый пользовательский файл.

sudo gedit /etc/environment

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

LC_TIME = "en_US_custom.UTF-8"

Источник: http://tuxtweaks.com/2008/12/change-the-week-start-day-in-ubuntu/

Ондра Жижка
источник
2
Почему следует предпочитать этот подход редактированию / etc / default / locale (что проще)?
Jonik
1
Потому что в моем случае редактирование / etc / default / locale не сработало. Это сделал.
Ондра Жижка
1
killall unity-panel-serviceпосле внесения изменений применить это без перезагрузки.
Андрейс Кайников
2
Ответ Прометея на похожий вопрос связан, но упоминает, что вам нужно запустить sudo locale-genпосле изменения файлов локали; это сделало это для меня.
wjandrea
В Ubuntu 16.04 LTS этот подход не работает
Виктор
4

На основе этой страницы настройки должны быть указаны.pam_environment или .profile https://help.ubuntu.com/community/EnvironmentVariables#A.2BAH4ALw.pam_environment

По умолчанию я .profileиспользую источники, .bashrcпоэтому я добавил эти строки в мою, .bashrcтак как у меня уже есть контроль над исходным кодом.

#Change first day of week to Monday
export LC_TIME=en_GB.UTF-8
#Change to metric system
export LC_MEASUREMENT=en_GB.UTF-8

Я бегу 14.04.1

введите описание изображения здесь

ОБНОВЛЕНИЕ: 15.01.16 Ubuntu 14.04.03

Эти строки .bashrcперестали работать в начале этого года. Перемещение тех же строк или .pam_environmentлибо .profileработает. Это пользовательская настройка, а не общесистемная.

Антониос Хаджигеоргалис
источник
Установленные вчера обновления 14.04.1 нарушили эту функциональность
Антониос Хаджигеоргалис
Вставка export LC_TIME=en_GB.UTF-8в .personalэто третий вариант, который также работает.
Серж Строобандт
0

Это уже очень старая тема, я добавил эти ответы в качестве ссылки для будущих читателей, которые ищут ту же проблему, но хотят найти способ с меньшим количеством взлома

Используйте en_DK в качестве локали.

Этот язык был разработан как официальный способ написания английского языка в Дании, но он используется за пределами Дании, как своего рода общий континентальный европейский английский язык. Он решает самые неприятные проблемы с en_US и не требует каких-либо изменений системных файлов. Если желаемое решение более точно настроено - другие ответы превосходны.

Симсон
источник
0

Для меня проще всего было обновить форматы в Region & Language Перейти Settings->Region & Languageи выбрать свой формат.

Система заставит вас выйти и войти, чтобы отразить изменения.

Настройки> Регион и язык

user1882540
источник