util: Force text direction of time strings
While the string returned by formatTime() should follow the locale's text direction as a whole, the actual time part is always expected to put hours on the left and minutes to the right. It is possible to enforce that by inserting a left-to-right mark, but so far this is only done by the Hebrew translation. So in order to not require all other RTL translations to be fixed individually, just insert the mark into the returned string ourselves like gnome-desktop's WallClock code does[0]. [0] https://git.gnome.org/browse/gnome-desktop/tree/libgnome-desktop/gnome-wall-clock.c?h=gnome-3-24#n267 https://bugzilla.gnome.org/show_bug.cgi?id=784130
This commit is contained in:
parent
aa08bd75d0
commit
35eddb3dfa
@ -281,7 +281,10 @@ function formatTime(time, params) {
|
|||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = N_("%B %d %Y, %l\u2236%M %p");
|
format = N_("%B %d %Y, %l\u2236%M %p");
|
||||||
}
|
}
|
||||||
return date.format(Shell.util_translate_time_string(format));
|
|
||||||
|
let formattedTime = date.format(Shell.util_translate_time_string(format));
|
||||||
|
// prepend LTR-mark to colon/ratio to force a text direction on times
|
||||||
|
return formattedTime.replace(/([:\u2236])/g, '\u200e$1');
|
||||||
}
|
}
|
||||||
|
|
||||||
function createTimeLabel(date, params) {
|
function createTimeLabel(date, params) {
|
||||||
|
Loading…
Reference in New Issue
Block a user