telepathyClient: Only use 12-hour format when supported by the locale
It is a bit odd to request AM/PM format when the locale selected by LC_TIME lacks the concept. We ignore the format setting in that case elsewhere and assume 24-hour format, let's do the same for chat timestamps for consistency. https://bugzilla.gnome.org/show_bug.cgi?id=728271
This commit is contained in:
parent
df1bed941d
commit
b8f0d0f0dc
@ -948,78 +948,74 @@ const ChatNotification = new Lang.Class({
|
|||||||
|
|
||||||
let desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
|
let desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
|
||||||
let clockFormat = desktopSettings.get_string(CLOCK_FORMAT_KEY);
|
let clockFormat = desktopSettings.get_string(CLOCK_FORMAT_KEY);
|
||||||
|
let hasAmPm = date.toLocaleFormat('%p') != '';
|
||||||
|
|
||||||
switch (clockFormat) {
|
if (clockFormat == '24h' || !hasAmPm) {
|
||||||
case '24h':
|
// Show only the time if date is on today
|
||||||
// Show only the time if date is on today
|
if(daysAgo < 1){
|
||||||
if(daysAgo < 1){
|
/* Translators: Time in 24h format */
|
||||||
/* Translators: Time in 24h format */
|
format = _("%H\u2236%M");
|
||||||
format = _("%H\u2236%M");
|
}
|
||||||
}
|
// Show the word "Yesterday" and time if date is on yesterday
|
||||||
// Show the word "Yesterday" and time if date is on yesterday
|
else if(daysAgo <2){
|
||||||
else if(daysAgo <2){
|
/* Translators: this is the word "Yesterday" followed by a
|
||||||
/* Translators: this is the word "Yesterday" followed by a
|
time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||||
time string in 24h format. i.e. "Yesterday, 14:30" */
|
// xgettext:no-c-format
|
||||||
// xgettext:no-c-format
|
format = _("Yesterday, %H\u2236%M");
|
||||||
format = _("Yesterday, %H\u2236%M");
|
}
|
||||||
}
|
// Show a week day and time if date is in the last week
|
||||||
// Show a week day and time if date is in the last week
|
else if (daysAgo < 7) {
|
||||||
else if (daysAgo < 7) {
|
/* Translators: this is the week day name followed by a time
|
||||||
/* Translators: this is the week day name followed by a time
|
string in 24h format. i.e. "Monday, 14:30" */
|
||||||
string in 24h format. i.e. "Monday, 14:30" */
|
// xgettext:no-c-format
|
||||||
// xgettext:no-c-format
|
format = _("%A, %H\u2236%M");
|
||||||
format = _("%A, %H\u2236%M");
|
|
||||||
|
|
||||||
} else if (date.getYear() == now.getYear()) {
|
} else if (date.getYear() == now.getYear()) {
|
||||||
/* Translators: this is the month name and day number
|
/* Translators: this is the month name and day number
|
||||||
followed by a time string in 24h format.
|
followed by a time string in 24h format.
|
||||||
i.e. "May 25, 14:30" */
|
i.e. "May 25, 14:30" */
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d, %H\u2236%M");
|
format = _("%B %d, %H\u2236%M");
|
||||||
} else {
|
} else {
|
||||||
/* Translators: this is the month name, day number, year
|
/* Translators: this is the month name, day number, year
|
||||||
number followed by a time string in 24h format.
|
number followed by a time string in 24h format.
|
||||||
i.e. "May 25 2012, 14:30" */
|
i.e. "May 25 2012, 14:30" */
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d %Y, %H\u2236%M");
|
format = _("%B %d %Y, %H\u2236%M");
|
||||||
}
|
}
|
||||||
break;
|
} else {
|
||||||
default:
|
// Show only the time if date is on today
|
||||||
/* explicit fall-through */
|
if(daysAgo < 1){
|
||||||
case '12h':
|
/* Translators: Time in 24h format */
|
||||||
// Show only the time if date is on today
|
format = _("%l\u2236%M %p");
|
||||||
if(daysAgo < 1){
|
}
|
||||||
/* Translators: Time in 24h format */
|
// Show the word "Yesterday" and time if date is on yesterday
|
||||||
format = _("%l\u2236%M %p");
|
else if(daysAgo <2){
|
||||||
}
|
/* Translators: this is the word "Yesterday" followed by a
|
||||||
// Show the word "Yesterday" and time if date is on yesterday
|
time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||||
else if(daysAgo <2){
|
// xgettext:no-c-format
|
||||||
/* Translators: this is the word "Yesterday" followed by a
|
format = _("Yesterday, %l\u2236%M %p");
|
||||||
time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
}
|
||||||
// xgettext:no-c-format
|
// Show a week day and time if date is in the last week
|
||||||
format = _("Yesterday, %l\u2236%M %p");
|
else if (daysAgo < 7) {
|
||||||
}
|
/* Translators: this is the week day name followed by a time
|
||||||
// Show a week day and time if date is in the last week
|
string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||||
else if (daysAgo < 7) {
|
// xgettext:no-c-format
|
||||||
/* Translators: this is the week day name followed by a time
|
format = _("%A, %l\u2236%M %p");
|
||||||
string in 12h format. i.e. "Monday, 2:30 pm" */
|
|
||||||
// xgettext:no-c-format
|
|
||||||
format = _("%A, %l\u2236%M %p");
|
|
||||||
|
|
||||||
} else if (date.getYear() == now.getYear()) {
|
} else if (date.getYear() == now.getYear()) {
|
||||||
/* Translators: this is the month name and day number
|
/* Translators: this is the month name and day number
|
||||||
followed by a time string in 12h format.
|
followed by a time string in 12h format.
|
||||||
i.e. "May 25, 2:30 pm" */
|
i.e. "May 25, 2:30 pm" */
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d, %l\u2236%M %p");
|
format = _("%B %d, %l\u2236%M %p");
|
||||||
} else {
|
} else {
|
||||||
/* Translators: this is the month name, day number, year
|
/* Translators: this is the month name, day number, year
|
||||||
number followed by a time string in 12h format.
|
number followed by a time string in 12h format.
|
||||||
i.e. "May 25 2012, 2:30 pm"*/
|
i.e. "May 25 2012, 2:30 pm"*/
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d %Y, %l\u2236%M %p");
|
format = _("%B %d %Y, %l\u2236%M %p");
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return date.toLocaleFormat(format);
|
return date.toLocaleFormat(format);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user