Add full weekday/month names; evaluate \n and \t escapes in format
This commit is contained in:
1 parent
90730af49d
commit
86b2714b21
2 files changed
+57
-10
No files matched your search
@@ -30,13 +30,36 @@ window.TRANSLATIONS = {
|
|||||||
'Last Quarter': { en: 'Last Quarter', de: 'Letztes Viertel' },
|
'Last Quarter': { en: 'Last Quarter', de: 'Letztes Viertel' },
|
||||||
'Waning Crescent': { en: 'Waning Crescent', de: 'Abnehm. Sichel' },
|
'Waning Crescent': { en: 'Waning Crescent', de: 'Abnehm. Sichel' },
|
||||||
|
|
||||||
'Mo.': { en: 'Mo.', de: 'Mo.' },
|
'Mon': { en: 'Mon', de: 'Mo' },
|
||||||
'Tu.': { en: 'Tu.', de: 'Di.' },
|
'Tue': { en: 'Tue', de: 'Di' },
|
||||||
'We.': { en: 'We.', de: 'Mi.' },
|
'Wed': { en: 'Wed', de: 'Mi' },
|
||||||
'Th.': { en: 'Th.', de: 'Do.' },
|
'Thu': { en: 'Thu', de: 'Do' },
|
||||||
'Fr.': { en: 'Fr.', de: 'Fr.' },
|
'Fri': { en: 'Fri', de: 'Fr' },
|
||||||
'Sa.': { en: 'Sa.', de: 'Sa.' },
|
'Sat': { en: 'Sat', de: 'Sa' },
|
||||||
'Su.': { en: 'Su.', de: 'So.' },
|
'Sun': { en: 'Sun', de: 'So' },
|
||||||
|
|
||||||
|
// Full weekday names
|
||||||
|
'Monday': { en: 'Monday', de: 'Montag' },
|
||||||
|
'Tuesday': { en: 'Tuesday', de: 'Dienstag' },
|
||||||
|
'Wednesday': { en: 'Wednesday', de: 'Mittwoch' },
|
||||||
|
'Thursday': { en: 'Thursday', de: 'Donnerstag' },
|
||||||
|
'Friday': { en: 'Friday', de: 'Freitag' },
|
||||||
|
'Saturday': { en: 'Saturday', de: 'Samstag' },
|
||||||
|
'Sunday': { en: 'Sunday', de: 'Sonntag' },
|
||||||
|
|
||||||
|
// Full month names
|
||||||
|
'January': { en: 'January', de: 'Januar' },
|
||||||
|
'February': { en: 'February', de: 'Februar' },
|
||||||
|
'March': { en: 'March', de: 'März' },
|
||||||
|
'April': { en: 'April', de: 'April' },
|
||||||
|
'May': { en: 'May', de: 'Mai' },
|
||||||
|
'June': { en: 'June', de: 'Juni' },
|
||||||
|
'July': { en: 'July', de: 'Juli' },
|
||||||
|
'August': { en: 'August', de: 'August' },
|
||||||
|
'September': { en: 'September', de: 'September' },
|
||||||
|
'October': { en: 'October', de: 'Oktober' },
|
||||||
|
'November': { en: 'November', de: 'November' },
|
||||||
|
'December': { en: 'December', de: 'Dezember' },
|
||||||
|
|
||||||
'Humidity': { en: 'Humidity', de: 'Feuchte' },
|
'Humidity': { en: 'Humidity', de: 'Feuchte' },
|
||||||
'Wind': { en: 'Wind', de: 'Wind' },
|
'Wind': { en: 'Wind', de: 'Wind' },
|
||||||
|
|||||||
+27
-3
@@ -824,27 +824,51 @@ var effect = (VANTA.CLOUDS2 || VANTA.CLOUDS)({
|
|||||||
// Any other character is a literal (including whitespace).
|
// Any other character is a literal (including whitespace).
|
||||||
//
|
//
|
||||||
// Non-standard extension tokens (lookup in i18n dict):
|
// Non-standard extension tokens (lookup in i18n dict):
|
||||||
// DDD weekday short name (Mon., Tue., ...) from i18n
|
// DDD weekday short name (Mo., Tu., ...) from i18n
|
||||||
// MMM month short name (January, February, ...) from i18n
|
// dddd weekday full name (Monday, Tuesday,...) from i18n
|
||||||
|
// MMM month short name (Jan., Feb., ...) from i18n
|
||||||
|
// MMMM month full name (January, ...) from i18n
|
||||||
|
//
|
||||||
|
// Escape sequences are also evaluated:
|
||||||
|
// \n newline
|
||||||
|
// \t tab
|
||||||
|
// \\ literal backslash
|
||||||
var result = '';
|
var result = '';
|
||||||
var i = 0;
|
var i = 0;
|
||||||
var weekdayKeys = ['Su.', 'Mo.', 'Tu.', 'We.', 'Th.', 'Fr.', 'Sa.'];
|
var weekdayKeys = ['Su.', 'Mo.', 'Tu.', 'We.', 'Th.', 'Fr.', 'Sa.'];
|
||||||
|
var weekdayFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
||||||
var monthKeys = ['January', 'February', 'March', 'April', 'May', 'June',
|
var monthKeys = ['January', 'February', 'March', 'April', 'May', 'June',
|
||||||
'July', 'August', 'September', 'October', 'November', 'December'];
|
'July', 'August', 'September', 'October', 'November', 'December'];
|
||||||
while (i < format.length) {
|
while (i < format.length) {
|
||||||
var ch = format.charAt(i);
|
var ch = format.charAt(i);
|
||||||
|
// Handle escape sequences \n, \t, \\
|
||||||
|
if (ch === '\\' && i + 1 < format.length) {
|
||||||
|
var next = format.charAt(i + 1);
|
||||||
|
if (next === 'n') result += '\n';
|
||||||
|
else if (next === 't') result += '\t';
|
||||||
|
else if (next === '\\') result += '\\';
|
||||||
|
else result += ch + next;
|
||||||
|
i += 2;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (ch === 'Y' && format.substr(i, 4) === 'YYYY') {
|
if (ch === 'Y' && format.substr(i, 4) === 'YYYY') {
|
||||||
result += date.getFullYear();
|
result += date.getFullYear();
|
||||||
i += 4;
|
i += 4;
|
||||||
} else if (ch === 'Y') {
|
} else if (ch === 'Y') {
|
||||||
result += date.getFullYear();
|
result += date.getFullYear();
|
||||||
i += 1;
|
i += 1;
|
||||||
} else if (ch === 'M' && format.substr(i, 3) === 'MMM') {
|
} else if (ch === 'M' && format.substr(i, 4) === 'MMMM') {
|
||||||
result += t(monthKeys[date.getMonth()]);
|
result += t(monthKeys[date.getMonth()]);
|
||||||
|
i += 4;
|
||||||
|
} else if (ch === 'M' && format.substr(i, 3) === 'MMM') {
|
||||||
|
result += t(monthKeys[date.getMonth()].substring(0, 3) + '.');
|
||||||
i += 3;
|
i += 3;
|
||||||
} else if (ch === 'M' && format.substr(i, 2) === 'MM') {
|
} else if (ch === 'M' && format.substr(i, 2) === 'MM') {
|
||||||
result += pad2(date.getMonth() + 1);
|
result += pad2(date.getMonth() + 1);
|
||||||
i += 2;
|
i += 2;
|
||||||
|
} else if (ch === 'D' && format.substr(i, 4) === 'dddd') {
|
||||||
|
result += t(weekdayFull[date.getDay()]);
|
||||||
|
i += 4;
|
||||||
} else if (ch === 'D' && format.substr(i, 3) === 'DDD') {
|
} else if (ch === 'D' && format.substr(i, 3) === 'DDD') {
|
||||||
result += t(weekdayKeys[date.getDay()]);
|
result += t(weekdayKeys[date.getDay()]);
|
||||||
i += 3;
|
i += 3;
|
||||||
|
|||||||
Reference in new issue
Block a user