You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
4.2 KiB
137 lines
4.2 KiB
//! moment.js locale configuration |
|
//! locale : Luxembourgish [lb] |
|
//! author : mweimerskirch : https://github.com/mweimerskirch |
|
//! author : David Raison : https://github.com/kwisatz |
|
|
|
import moment from '../moment'; |
|
|
|
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); |
|
} |
|
} |
|
|
|
export default 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. |
|
}, |
|
});
|
|
|