1 //! moment.js locale configuration
2 //! locale : Luxembourgish (lb)
3 //! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz
5 ;(function (global, factory) {
6 typeof exports === 'object' && typeof module !== 'undefined'
7 && typeof require === 'function' ? factory(require('../moment')) :
8 typeof define === 'function' && define.amd ? define(['moment'], factory) :
10 }(this, function (moment) { 'use strict';
13 function processRelativeTime(number, withoutSuffix, key, isFuture) {
15 'm': ['eng Minutt', 'enger Minutt'],
16 'h': ['eng Stonn', 'enger Stonn'],
17 'd': ['een Dag', 'engem Dag'],
18 'M': ['ee Mount', 'engem Mount'],
19 'y': ['ee Joer', 'engem Joer']
21 return withoutSuffix ? format[key][0] : format[key][1];
23 function processFutureTime(string) {
24 var number = string.substr(0, string.indexOf(' '));
25 if (eifelerRegelAppliesToNumber(number)) {
28 return 'an ' + string;
30 function processPastTime(string) {
31 var number = string.substr(0, string.indexOf(' '));
32 if (eifelerRegelAppliesToNumber(number)) {
33 return 'viru ' + string;
35 return 'virun ' + string;
38 * Returns true if the word before the given number loses the '-n' ending.
39 * e.g. 'an 10 Deeg' but 'a 5 Deeg'
41 * @param number {integer}
44 function eifelerRegelAppliesToNumber(number) {
45 number = parseInt(number, 10);
50 // Negative Number --> always true
52 } else if (number < 10) {
54 if (4 <= number && number <= 7) {
58 } else if (number < 100) {
60 var lastDigit = number % 10, firstDigit = number / 10;
61 if (lastDigit === 0) {
62 return eifelerRegelAppliesToNumber(firstDigit);
64 return eifelerRegelAppliesToNumber(lastDigit);
65 } else if (number < 10000) {
66 // 3 or 4 digits --> recursively check first digit
67 while (number >= 10) {
70 return eifelerRegelAppliesToNumber(number);
72 // Anything larger than 4 digits: recursively check first n-3 digits
73 number = number / 1000;
74 return eifelerRegelAppliesToNumber(number);
78 var lb = moment.defineLocale('lb', {
79 months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
80 monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
81 monthsParseExact : true,
82 weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
83 weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
84 weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
85 weekdaysParseExact : true,
88 LTS: 'H:mm:ss [Auer]',
91 LLL: 'D. MMMM YYYY H:mm [Auer]',
92 LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
95 sameDay: '[Haut um] LT',
97 nextDay: '[Muer um] LT',
98 nextWeek: 'dddd [um] LT',
99 lastDay: '[Gëschter um] LT',
100 lastWeek: function () {
101 // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
102 switch (this.day()) {
105 return '[Leschten] dddd [um] LT';
107 return '[Leschte] dddd [um] LT';
112 future : processFutureTime,
113 past : processPastTime,
114 s : 'e puer Sekonnen',
115 m : processRelativeTime,
117 h : processRelativeTime,
119 d : processRelativeTime,
121 M : processRelativeTime,
123 y : processRelativeTime,
126 ordinalParse: /\d{1,2}\./,
129 dow: 1, // Monday is the first day of the week.
130 doy: 4 // The week that contains Jan 4th is the first week of the year.