136 lines
4.7 KiB
JavaScript
136 lines
4.7 KiB
JavaScript
|
//! moment.js locale configuration
|
||
|
|
||
|
;(function (global, factory) {
|
||
|
typeof exports === 'object' && typeof module !== 'undefined'
|
||
|
&& typeof require === 'function' ? factory(require('../moment')) :
|
||
|
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
||
|
factory(global.moment)
|
||
|
}(this, (function (moment) { 'use strict';
|
||
|
|
||
|
|
||
|
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
||
|
var format = {
|
||
|
'm': ['eng Minutt', 'enger Minutt'],
|
||
|
'h': ['eng Stonn', 'enger Stonn'],
|
||
|
'd': ['een Dag', 'engem Dag'],
|
||
|
'M': ['ee Mount', 'engem Mount'],
|
||
|
'y': ['ee Joer', 'engem Joer']
|
||
|
};
|
||
|
return withoutSuffix ? format[key][0] : format[key][1];
|
||
|
}
|
||
|
function processFutureTime(string) {
|
||
|
var number = string.substr(0, string.indexOf(' '));
|
||
|
if (eifelerRegelAppliesToNumber(number)) {
|
||
|
return 'a ' + string;
|
||
|
}
|
||
|
return 'an ' + string;
|
||
|
}
|
||
|
function processPastTime(string) {
|
||
|
var number = string.substr(0, string.indexOf(' '));
|
||
|
if (eifelerRegelAppliesToNumber(number)) {
|
||
|
return 'viru ' + string;
|
||
|
}
|
||
|
return 'virun ' + string;
|
||
|
}
|
||
|
/**
|
||
|
* Returns true if the word before the given number loses the '-n' ending.
|
||
|
* e.g. 'an 10 Deeg' but 'a 5 Deeg'
|
||
|
*
|
||
|
* @param number {integer}
|
||
|
* @returns {boolean}
|
||
|
*/
|
||
|
function eifelerRegelAppliesToNumber(number) {
|
||
|
number = parseInt(number, 10);
|
||
|
if (isNaN(number)) {
|
||
|
return false;
|
||
|
}
|
||
|
if (number < 0) {
|
||
|
// Negative Number --> always true
|
||
|
return true;
|
||
|
} else if (number < 10) {
|
||
|
// Only 1 digit
|
||
|
if (4 <= number && number <= 7) {
|
||
|
return true;
|
||
|
}
|
||
|
return false;
|
||
|
} else if (number < 100) {
|
||
|
// 2 digits
|
||
|
var lastDigit = number % 10, firstDigit = number / 10;
|
||
|
if (lastDigit === 0) {
|
||
|
return eifelerRegelAppliesToNumber(firstDigit);
|
||
|
}
|
||
|
return eifelerRegelAppliesToNumber(lastDigit);
|
||
|
} else if (number < 10000) {
|
||
|
// 3 or 4 digits --> recursively check first digit
|
||
|
while (number >= 10) {
|
||
|
number = number / 10;
|
||
|
}
|
||
|
return eifelerRegelAppliesToNumber(number);
|
||
|
} else {
|
||
|
// Anything larger than 4 digits: recursively check first n-3 digits
|
||
|
number = number / 1000;
|
||
|
return eifelerRegelAppliesToNumber(number);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var lb = moment.defineLocale('lb', {
|
||
|
months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
||
|
monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
|
||
|
monthsParseExact : true,
|
||
|
weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
|
||
|
weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
|
||
|
weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
|
||
|
weekdaysParseExact : true,
|
||
|
longDateFormat: {
|
||
|
LT: 'H:mm [Auer]',
|
||
|
LTS: 'H:mm:ss [Auer]',
|
||
|
L: 'DD.MM.YYYY',
|
||
|
LL: 'D. MMMM YYYY',
|
||
|
LLL: 'D. MMMM YYYY H:mm [Auer]',
|
||
|
LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
|
||
|
},
|
||
|
calendar: {
|
||
|
sameDay: '[Haut um] LT',
|
||
|
sameElse: 'L',
|
||
|
nextDay: '[Muer um] LT',
|
||
|
nextWeek: 'dddd [um] LT',
|
||
|
lastDay: '[Gëschter um] LT',
|
||
|
lastWeek: function () {
|
||
|
// Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
|
||
|
switch (this.day()) {
|
||
|
case 2:
|
||
|
case 4:
|
||
|
return '[Leschten] dddd [um] LT';
|
||
|
default:
|
||
|
return '[Leschte] dddd [um] LT';
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
relativeTime : {
|
||
|
future : processFutureTime,
|
||
|
past : processPastTime,
|
||
|
s : 'e puer Sekonnen',
|
||
|
ss : '%d Sekonnen',
|
||
|
m : processRelativeTime,
|
||
|
mm : '%d Minutten',
|
||
|
h : processRelativeTime,
|
||
|
hh : '%d Stonnen',
|
||
|
d : processRelativeTime,
|
||
|
dd : '%d Deeg',
|
||
|
M : processRelativeTime,
|
||
|
MM : '%d Méint',
|
||
|
y : processRelativeTime,
|
||
|
yy : '%d Joer'
|
||
|
},
|
||
|
dayOfMonthOrdinalParse: /\d{1,2}\./,
|
||
|
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.
|
||
|
}
|
||
|
});
|
||
|
|
||
|
return lb;
|
||
|
|
||
|
})));
|