11

Everyone is asking how to make Monday the first day of the week, here I am stuck with it unable to change it.

I tried already changing the lines in /usr/share/i18n files but no luck and doesn't seem to change anything.

gnome system calendar

pomsky
  • 68,507
M-Raw
  • 211

3 Answers3

7

A similar question was asked here: Monday as first day in Gnome-Shell (instead of Sunday).

  1. Use sudo -H gedit /usr/share/i18n/locales/en_GB.
  2. Edit the value of first_weekday to 1.
  3. Save the file, restart the system.

There is a second variable: first_workday that is set to 2. Some calendar's may refer to this variable but I would initially leave it unchanged unless further tweaking is needed.

Essentially you will make your GB locale look like the US locale:

$ cat /usr/share/i18n/locales/en_GB | grep week -A1
week    7;19971130;4
first_weekday 2
first_workday 2

$ cat /usr/share/i18n/locales/en_US | grep week -A1
week    7;19971130;7
first_weekday   1
first_workday   2

I don't know what the week variable does so would leave it unchanged at first.

  • i already tried all that, when i first tried this back in ubunto17.10 it worked, but now it seems that the changes i make are completely ignored in the i18n files. – M-Raw Jun 16 '18 at 19:09
  • In this case I would find it better to advise users to use the possibility to add (potentially copied and modified) own locales to /usr/local/share/i18n/locales, as documented in /usr/share/doc/locales/README.Debian – Sebastian Stark Jun 16 '18 at 19:10
  • 1
    set the region to Canada en_CA for now, but i would like to have my own with tiny tweaks to it – M-Raw Jun 16 '18 at 19:16
  • I'm also using region en_CA and have dual needs between US and GB. For example I prefer US date format but prefer GB spelling. Is the first day of week working as required now? Do you think the tweaks you need are better asked a new question or will you update your existing question with those needed tweaks instead? – WinEunuuchs2Unix Jun 16 '18 at 19:25
  • dead link in the answer. – joker Dec 08 '19 at 11:31
  • @joker Thanks. I've updated the link. – WinEunuuchs2Unix Dec 08 '19 at 14:13
  • 1
    man 5 locale describes the meaning of each attribute. For the week, it is " a list of three values separated by semicolons: The number of days in a week (by default 7), a date of beginning of the week (by default corresponds to Sunday), and the minimal length of the first week in year (by default 4). Regarding the start of the week, 19971130 shall be used for Sunday and 19971201 shall be used for Monday". – hnagaty May 13 '21 at 13:36
  • 2
    I think you need to run sudo locale-gen after editing the file. – Flimm Nov 04 '22 at 11:47
  • @hnagaty It might be worth mentioning (to prevent people from directly modifying week) that man 5 locale also states: "For compatibility reasons, all glibc locales should set the value of the second week list item to 19971130 (Sunday) and base the abday and day lists appropriately, and set first_weekday and first_workday to 1 or 2, depending on whether the week and work week actually starts on Sunday or Monday for the locale." – MrArsGravis Feb 21 '23 at 17:44
3

I had a similar problem with changing the first day of the week for the Australian locale (en_AU); I wanted to change the first day of the week from Sunday to Monday. However, the locale file did not make any reference to "first_weekday". I got the desired change I wanted by:

  • opening this file for edits as as super user sudo gedit /usr/share/i18n/locales/en_AU
  • adding the line first_weekday 2 to the section of this file labelled "LC_TIME"
  • Updating the system locale information sudo locale-gen
  • Logging out and logging in again.
django
  • 183
  • 2
  • 8
0

I know it's an old question, but it's the first google result when searching for this issue.

There's no need to change files outside your home folder. Just add LC_TIME=en_US.utf8 to your profile file:

echo "export LC_TIME=en_US.utf8" >> ~/.profile

You'll need to login again for it to take effect.

Modifying configs outside your home folder makes it harder to transfer them to a new machine or a new OS install.