mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/MultimediaViewer
synced 2024-11-17 21:04:11 +00:00
5d419682f5
Add moment.js ( http://momentjs.com/ ) as a ResourceLoader module and use it to parse and format date strings. Moment.js seems to be the least bad option right now; eventually it should be replaced by i18n functionality in core Javascript modules. Change-Id: I332655778be3d694781b83fa5dea1e59770d8866
156 lines
5.7 KiB
JavaScript
156 lines
5.7 KiB
JavaScript
// moment.js language configuration
|
|
// language : czech (cs)
|
|
// author : petrbela : https://github.com/petrbela
|
|
|
|
(function (factory) {
|
|
if (typeof define === 'function' && define.amd) {
|
|
define(['moment'], factory); // AMD
|
|
} else if (typeof exports === 'object') {
|
|
module.exports = factory(require('../moment')); // Node
|
|
} else {
|
|
factory(window.moment); // Browser global
|
|
}
|
|
}(function (moment) {
|
|
var months = "leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),
|
|
monthsShort = "led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");
|
|
|
|
function plural(n) {
|
|
return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
|
|
}
|
|
|
|
function translate(number, withoutSuffix, key, isFuture) {
|
|
var result = number + " ";
|
|
switch (key) {
|
|
case 's': // a few seconds / in a few seconds / a few seconds ago
|
|
return (withoutSuffix || isFuture) ? 'pár vteřin' : 'pár vteřinami';
|
|
case 'm': // a minute / in a minute / a minute ago
|
|
return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
|
|
case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
|
|
if (withoutSuffix || isFuture) {
|
|
return result + (plural(number) ? 'minuty' : 'minut');
|
|
} else {
|
|
return result + 'minutami';
|
|
}
|
|
break;
|
|
case 'h': // an hour / in an hour / an hour ago
|
|
return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
|
|
case 'hh': // 9 hours / in 9 hours / 9 hours ago
|
|
if (withoutSuffix || isFuture) {
|
|
return result + (plural(number) ? 'hodiny' : 'hodin');
|
|
} else {
|
|
return result + 'hodinami';
|
|
}
|
|
break;
|
|
case 'd': // a day / in a day / a day ago
|
|
return (withoutSuffix || isFuture) ? 'den' : 'dnem';
|
|
case 'dd': // 9 days / in 9 days / 9 days ago
|
|
if (withoutSuffix || isFuture) {
|
|
return result + (plural(number) ? 'dny' : 'dní');
|
|
} else {
|
|
return result + 'dny';
|
|
}
|
|
break;
|
|
case 'M': // a month / in a month / a month ago
|
|
return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
|
|
case 'MM': // 9 months / in 9 months / 9 months ago
|
|
if (withoutSuffix || isFuture) {
|
|
return result + (plural(number) ? 'měsíce' : 'měsíců');
|
|
} else {
|
|
return result + 'měsíci';
|
|
}
|
|
break;
|
|
case 'y': // a year / in a year / a year ago
|
|
return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
|
|
case 'yy': // 9 years / in 9 years / 9 years ago
|
|
if (withoutSuffix || isFuture) {
|
|
return result + (plural(number) ? 'roky' : 'let');
|
|
} else {
|
|
return result + 'lety';
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
return moment.lang('cs', {
|
|
months : months,
|
|
monthsShort : monthsShort,
|
|
monthsParse : (function (months, monthsShort) {
|
|
var i, _monthsParse = [];
|
|
for (i = 0; i < 12; i++) {
|
|
// use custom parser to solve problem with July (červenec)
|
|
_monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
|
|
}
|
|
return _monthsParse;
|
|
}(months, monthsShort)),
|
|
weekdays : "neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),
|
|
weekdaysShort : "ne_po_út_st_čt_pá_so".split("_"),
|
|
weekdaysMin : "ne_po_út_st_čt_pá_so".split("_"),
|
|
longDateFormat : {
|
|
LT: "H:mm",
|
|
L : "DD.MM.YYYY",
|
|
LL : "D. MMMM YYYY",
|
|
LLL : "D. MMMM YYYY LT",
|
|
LLLL : "dddd D. MMMM YYYY LT"
|
|
},
|
|
calendar : {
|
|
sameDay: "[dnes v] LT",
|
|
nextDay: '[zítra v] LT',
|
|
nextWeek: function () {
|
|
switch (this.day()) {
|
|
case 0:
|
|
return '[v neděli v] LT';
|
|
case 1:
|
|
case 2:
|
|
return '[v] dddd [v] LT';
|
|
case 3:
|
|
return '[ve středu v] LT';
|
|
case 4:
|
|
return '[ve čtvrtek v] LT';
|
|
case 5:
|
|
return '[v pátek v] LT';
|
|
case 6:
|
|
return '[v sobotu v] LT';
|
|
}
|
|
},
|
|
lastDay: '[včera v] LT',
|
|
lastWeek: function () {
|
|
switch (this.day()) {
|
|
case 0:
|
|
return '[minulou neděli v] LT';
|
|
case 1:
|
|
case 2:
|
|
return '[minulé] dddd [v] LT';
|
|
case 3:
|
|
return '[minulou středu v] LT';
|
|
case 4:
|
|
case 5:
|
|
return '[minulý] dddd [v] LT';
|
|
case 6:
|
|
return '[minulou sobotu v] LT';
|
|
}
|
|
},
|
|
sameElse: "L"
|
|
},
|
|
relativeTime : {
|
|
future : "za %s",
|
|
past : "před %s",
|
|
s : translate,
|
|
m : translate,
|
|
mm : translate,
|
|
h : translate,
|
|
hh : translate,
|
|
d : translate,
|
|
dd : translate,
|
|
M : translate,
|
|
MM : translate,
|
|
y : translate,
|
|
yy : translate
|
|
},
|
|
ordinal : '%d.',
|
|
week : {
|
|
dow : 1, // Monday is the first day of the week.
|
|
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
|
}
|
|
});
|
|
}));
|