Can't change locale settings (e.g. language, 12/24-hour time, date format) independently
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | Canonical System Image |
Medium
|
Unassigned | ||
| | Ubuntu UX |
Low
|
Matthew Paul Thomas | ||
| | ubuntu-system-settings (Ubuntu) |
Medium
|
William Hua | ||
| | unity8 (Ubuntu) |
Undecided
|
Unassigned | ||
Bug Description
A. Try to use US English, but with all apps using 24-hour instead of 12-hour time. Or:
B. Try to use UK English, but with all apps using YYYY-MM-DD date format.
What happens: You can't.
What should happen: You can.
Since Ubuntu has existed, it has used the GNU locale system. This system assumes that every single person using a particular locale wants exactly the same settings for time display, date display, currency display, alphabetizing, and number formatting. <http://
Windows, Mac OS, and (to a lesser extent) iOS have always been more flexible: setting a locale sets appropriate defaults for these settings, but you can also change them individually. Ubuntu should do the same.
This might involve changing the locale system itself, or it might involve changing all relevant toolkits so that they ignore the locale system when appropriate.
It would also involve adding settings in System Settings to customize the individual locale details.
Related branches
- Ken VanDine: Needs Information on 2016-06-17
- PS Jenkins bot: Pending (continuous-integration) requested 2016-06-02
-
Diff: 269 lines (+102/-16)4 files modifiedplugins/language/DisplayLanguage.qml (+14/-6)
plugins/language/PageComponent.qml (+40/-4)
plugins/language/language-plugin.cpp (+37/-6)
plugins/language/language-plugin.h (+11/-0)
| Michał Sawicz (saviq) wrote : | #1 |
| Matthew Paul Thomas (mpt) wrote : | #2 |
That's promising! So imagine System Settings had a setting for 12-hour vs. 24-hour time, for example, and you toggled the setting. What would need to happen for a running app to pick up that change? Would you need to restart the app? Or restart the system?
| Michał Sawicz (saviq) wrote : | #3 |
As things stand now, yes, we'd need to restart the app. For the greeter and indicator to notice, we might need to restart the shell, so more or less restart the phone. We're basically in the same boat as changing display language.
Whether it makes sense to "fix" to be able to dynamically react to such a change... in real life I'd say it's a moot problem, as people never change that setting once they're through with it.
| Christian Dywan (kalikiana) wrote : | #4 |
It's the same way changing the language… you're expected to reboot because there's no simple way of ensuring everything will update at runtime.
I assume all we need is a new setting. Support for this is up to the apps.
| Changed in ubuntu-ui-toolkit (Ubuntu): | |
| status: | New → Invalid |
| Changed in libc (Ubuntu): | |
| status: | New → Invalid |
| Launchpad Janitor (janitor) wrote : | #5 |
Status changed to 'Confirmed' because the bug affects multiple users.
| Changed in ubuntu-system-settings (Ubuntu): | |
| status: | New → Confirmed |
| FransSchreuder (fransschreuder1) wrote : | #6 |
The same is true for the metric system. Ubuntu touch thinks that everyone who speaks English, calculates their distance in miles / feet / whatever unit from the stone age.
Even though I am Dutch, I like my phone to be in the English language, but I do want my distances to show in metres, kilometres etc.
There is even a language called "English (Denmark)", but even that language uses miles
| Matthew Paul Thomas (mpt) wrote : | #7 |
FransSchreuder, if English (Denmark) uses (or once this bug is fixed, defaults to) imperial measurements when it shouldn't, please report that as a separate bug.
| Gunnar Hjalmarsson (gunnarhj) wrote : | #8 |
The en_DK.UTF-8 locale does the right thing.
$ LC_MEASUREMENT=
1
$ LC_MEASUREMENT=
2
$
| Alexey Dokuchaev (danfe) wrote : | #9 |
By reading ubuntu-
It can be fixed (until you change it with ubuntu-
$ dbus-send --print-reply --system --dest=
| Gunnar Hjalmarsson (gunnarhj) wrote : | #10 |
Please note that for 5 years or so Ubuntu has provided GUIs for setting language on one hand, and the formats related locale categories as a whole on the other hand, separately. It's true that there has been no GUI for setting the various formats related locale categories independently. OTOH, I have followed the language/locale related bug reports and Ask Ubuntu questions closely for quite a while, and my impression is that few users would rate that feature high. (It's also possible to fine tune the settings by editing e.g. ~/.profile.)
It should be noted that the example in the summary of this bug report - changing 12/24-hour time and date format independently - can't be accomplished by picking the different locale categories individually anyway, since both are controlled by LC_TIME. To do that we would either need to add a feature that creates and maintains a custom locale for each user, or handle it in respective application.
As a first step, to make some progress and make it possible to fix bug #1350275, I would recommend that a GUI is added to ubuntu-
| Changed in ubuntu-ux: | |
| assignee: | nobody → Matthew Paul Thomas (mpt) |
| Changed in ubuntu-ux: | |
| importance: | Undecided → Low |
| status: | New → Triaged |
| Pat McGowan (pat-mcgowan) wrote : | #11 |
Seems to be waiting on a design
| Changed in canonical-devices-system-image: | |
| assignee: | nobody → Bill Filler (bfiller) |
| status: | New → Incomplete |
| Changed in canonical-devices-system-image: | |
| importance: | Undecided → Low |
| no longer affects: | libc (Ubuntu) |
| Gregory Opera (gregoryopera) wrote : | #12 |
Introduce 24-hour ("military") time... My (Ubuntu) computer can do it, and I use it daily in my line of work; not having this is frustrating.
| Pat McGowan (pat-mcgowan) wrote : | #13 |
Can we implement the suggestion at the end of comment #10
| Changed in canonical-devices-system-image: | |
| importance: | Low → Medium |
| milestone: | none → 11 |
| status: | Incomplete → Confirmed |
| tags: | added: bq-feedback |
| Changed in ubuntu-system-settings (Ubuntu): | |
| assignee: | nobody → Ken VanDine (ken-vandine) |
| importance: | Undecided → Medium |
| tags: | added: system-apps-11 |
| Changed in canonical-devices-system-image: | |
| milestone: | 11 → 12 |
| no longer affects: | ubuntu-ui-toolkit (Ubuntu) |
| Jim Hodapp (jhodapp) wrote : | #14 |
Any update on getting a design for this mpt?
| Pat McGowan (pat-mcgowan) wrote : | #15 |
@william would you be able to take a look at adding the regional formats as a separate setting
| Changed in ubuntu-system-settings (Ubuntu): | |
| assignee: | Ken VanDine (ken-vandine) → William Hua (attente) |
| tags: | added: desktop-trello-import |
| tags: | removed: desktop-trello-import |
| Will Cooke (willcooke) wrote : | #17 |
As I understand it then, a user would have to restart in order to change the language, then restart to change the formats.
Could we add an option to "Apply but don't reboot" so that you can change both of these things and then do one restart?
| Pat McGowan (pat-mcgowan) wrote : | #18 |
Alternately can we offer the option to change the other setting like
"Would you like to change the Date and number format now?" if no prompt to reboot if yes go to that panel and queue both changes. Cancel would cancel both.
| Pat McGowan (pat-mcgowan) wrote : | #19 |
Add to the oobe as well
| Changed in canonical-devices-system-image: | |
| assignee: | Bill Filler (bfiller) → Will Cooke (willcooke) |
| Changed in unity8 (Ubuntu): | |
| assignee: | nobody → Michael Terry (mterry) |
| Changed in canonical-devices-system-image: | |
| status: | Confirmed → In Progress |
| Changed in ubuntu-system-settings (Ubuntu): | |
| status: | Confirmed → In Progress |
| Will Cooke (willcooke) wrote : | #20 |
Asked Ken to do a review.
| Launchpad Janitor (janitor) wrote : | #21 |
Status changed to 'Confirmed' because the bug affects multiple users.
| Changed in unity8 (Ubuntu): | |
| status: | New → Confirmed |
| Pat McGowan (pat-mcgowan) wrote : | #22 |
This bug is about changing locale formats, similar to how its done on the desktop. We would like to also provide the visual display of example formats when the selection is made and before committing the change.
The duplicate bugs were all about 12/24 time format change which is controlled separately from the language and formats. I will un-dupe those bugs so it can be addressed separately.
| Pat McGowan (pat-mcgowan) wrote : | #23 |
@jibel can you add whatever concerns came during testing?
note we have a separate issue to add the 12/24 toggle
| Changed in canonical-devices-system-image: | |
| milestone: | 12 → 13 |
| assignee: | Will Cooke (willcooke) → Jean-Baptiste Lallement (jibel) |
| milestone: | 13 → none |
| Changed in canonical-devices-system-image: | |
| assignee: | Jean-Baptiste Lallement (jibel) → nobody |
| status: | In Progress → Confirmed |
| Changed in unity8 (Ubuntu): | |
| assignee: | Michael Terry (mterry) → nobody |


I don't thin blaming the GNU locale system is right:
⟫ locale "pl_PL. UTF-8" pl_PL.UTF- 8 "pl_PL. UTF-8" pl_PL.UTF- 8 "pl_PL. UTF-8" pl_PL.UTF- 8 pl_PL.UTF- 8 pl_PL.UTF- 8 pl_PL.UTF- 8 ON=pl_PL. UTF-8
LANG=pl_PL.UTF-8
LANGUAGE=pl:en
LC_CTYPE=
LC_NUMERIC=
LC_TIME=pl_PL.UTF-8
LC_COLLATE=
LC_MONETARY=
LC_MESSAGES=
LC_PAPER=
LC_NAME=pl_PL.UTF-8
LC_ADDRESS=
LC_TELEPHONE=
LC_MEASUREMENT=
LC_IDENTIFICATI
LC_ALL=
For each of those we could provide a setting separate to the language selected. Case in point, using Qt.formatTime():
⟫ qmlscene test.qml
qml: 14:02
⟫ LC_TIME=en_US.UTF-8 qmlscene test.qml
qml: 2:03 PM
Granted, the "en_US" part should probably be "12hour" instead, but I believe this should be doable just fine.