Can't change locale settings (e.g. language, 12/24-hour time, date format) independently
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Confirmed
|
Medium
|
Unassigned | ||
Ubuntu UX |
Triaged
|
Low
|
Matthew Paul Thomas | ||
ubuntu-system-settings (Ubuntu) |
In Progress
|
Medium
|
William Hua | ||
unity8 (Ubuntu) |
Confirmed
|
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
- PS Jenkins bot: Pending (continuous-integration) requested
-
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)
Changed in ubuntu-ux: | |
assignee: | nobody → Matthew Paul Thomas (mpt) |
Changed in ubuntu-ux: | |
importance: | Undecided → Low |
status: | New → Triaged |
Changed in canonical-devices-system-image: | |
importance: | Undecided → Low |
no longer affects: | libc (Ubuntu) |
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) |
Changed in canonical-devices-system-image: | |
status: | Confirmed → In Progress |
Changed in ubuntu-system-settings (Ubuntu): | |
status: | Confirmed → In Progress |
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.