Improve 12/24 clock detection
The current check looks at whether there was some am/pm suffix in the localized time; however in some cases (locales) that does not seem to work. this version instead checks whether the localized versions of 05:00 and 17:00 start with the same two digits; if not, it's probably a 24h clock. https://bugzilla.gnome.org/show_bug.cgi?id=603488
This commit is contained in:
parent
1a0d507316
commit
046e0609ab
@ -616,15 +616,22 @@ Panel.prototype = {
|
|||||||
displayDate.setMinutes(displayDate.getMinutes() + 1);
|
displayDate.setMinutes(displayDate.getMinutes() + 1);
|
||||||
msecRemaining += 60000;
|
msecRemaining += 60000;
|
||||||
}
|
}
|
||||||
/* If there is no am or pm, time format is 24h */
|
|
||||||
let isTime24h = displayDate.toLocaleFormat("x%p") == "x";
|
// if the locale representations of 05:00 and 17:00 do not
|
||||||
if (isTime24h) {
|
// start with the same 2 digits, it must be a 24h clock
|
||||||
/* Translators: This is the time format used in 24-hour mode. */
|
let fiveAm = new Date();
|
||||||
this._clock.set_text(displayDate.toLocaleFormat(_("%a %R")));
|
fiveAm.setHours(5);
|
||||||
} else {
|
let fivePm = new Date();
|
||||||
/* Translators: This is a time format used for AM/PM. */
|
fivePm.setHours(17);
|
||||||
this._clock.set_text(displayDate.toLocaleFormat(_("%a %l:%M %p")));
|
let isTime24h = fiveAm.toLocaleFormat("%X").substr(0,2) !=
|
||||||
}
|
fivePm.toLocaleFormat("%X").substr(0,2);
|
||||||
|
if (isTime24h) {
|
||||||
|
/* Translators: This is the time format used in 24-hour mode. */
|
||||||
|
this._clock.set_text(displayDate.toLocaleFormat(_("%a %R")));
|
||||||
|
} else {
|
||||||
|
/* Translators: This is a time format used for AM/PM. */
|
||||||
|
this._clock.set_text(displayDate.toLocaleFormat(_("%a %l:%M %p")));
|
||||||
|
}
|
||||||
Mainloop.timeout_add(msecRemaining, Lang.bind(this, this._updateClock));
|
Mainloop.timeout_add(msecRemaining, Lang.bind(this, this._updateClock));
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user