Brought in another asset for Ray's eye form: moment
[openemr.git] / public / assets / moment-2-13-0 / src / locale / lb.js
blob55676e7990c745e056f3fb60300fd91be7594062
1 //! moment.js locale configuration
2 //! locale : Luxembourgish (lb)
3 //! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz
5 import moment from '../moment';
7 function processRelativeTime(number, withoutSuffix, key, isFuture) {
8     var format = {
9         'm': ['eng Minutt', 'enger Minutt'],
10         'h': ['eng Stonn', 'enger Stonn'],
11         'd': ['een Dag', 'engem Dag'],
12         'M': ['ee Mount', 'engem Mount'],
13         'y': ['ee Joer', 'engem Joer']
14     };
15     return withoutSuffix ? format[key][0] : format[key][1];
17 function processFutureTime(string) {
18     var number = string.substr(0, string.indexOf(' '));
19     if (eifelerRegelAppliesToNumber(number)) {
20         return 'a ' + string;
21     }
22     return 'an ' + string;
24 function processPastTime(string) {
25     var number = string.substr(0, string.indexOf(' '));
26     if (eifelerRegelAppliesToNumber(number)) {
27         return 'viru ' + string;
28     }
29     return 'virun ' + string;
31 /**
32  * Returns true if the word before the given number loses the '-n' ending.
33  * e.g. 'an 10 Deeg' but 'a 5 Deeg'
34  *
35  * @param number {integer}
36  * @returns {boolean}
37  */
38 function eifelerRegelAppliesToNumber(number) {
39     number = parseInt(number, 10);
40     if (isNaN(number)) {
41         return false;
42     }
43     if (number < 0) {
44         // Negative Number --> always true
45         return true;
46     } else if (number < 10) {
47         // Only 1 digit
48         if (4 <= number && number <= 7) {
49             return true;
50         }
51         return false;
52     } else if (number < 100) {
53         // 2 digits
54         var lastDigit = number % 10, firstDigit = number / 10;
55         if (lastDigit === 0) {
56             return eifelerRegelAppliesToNumber(firstDigit);
57         }
58         return eifelerRegelAppliesToNumber(lastDigit);
59     } else if (number < 10000) {
60         // 3 or 4 digits --> recursively check first digit
61         while (number >= 10) {
62             number = number / 10;
63         }
64         return eifelerRegelAppliesToNumber(number);
65     } else {
66         // Anything larger than 4 digits: recursively check first n-3 digits
67         number = number / 1000;
68         return eifelerRegelAppliesToNumber(number);
69     }
72 export default moment.defineLocale('lb', {
73     months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
74     monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
75     monthsParseExact : true,
76     weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
77     weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
78     weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
79     weekdaysParseExact : true,
80     longDateFormat: {
81         LT: 'H:mm [Auer]',
82         LTS: 'H:mm:ss [Auer]',
83         L: 'DD.MM.YYYY',
84         LL: 'D. MMMM YYYY',
85         LLL: 'D. MMMM YYYY H:mm [Auer]',
86         LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
87     },
88     calendar: {
89         sameDay: '[Haut um] LT',
90         sameElse: 'L',
91         nextDay: '[Muer um] LT',
92         nextWeek: 'dddd [um] LT',
93         lastDay: '[Gëschter um] LT',
94         lastWeek: function () {
95             // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
96             switch (this.day()) {
97                 case 2:
98                 case 4:
99                     return '[Leschten] dddd [um] LT';
100                 default:
101                     return '[Leschte] dddd [um] LT';
102             }
103         }
104     },
105     relativeTime : {
106         future : processFutureTime,
107         past : processPastTime,
108         s : 'e puer Sekonnen',
109         m : processRelativeTime,
110         mm : '%d Minutten',
111         h : processRelativeTime,
112         hh : '%d Stonnen',
113         d : processRelativeTime,
114         dd : '%d Deeg',
115         M : processRelativeTime,
116         MM : '%d Méint',
117         y : processRelativeTime,
118         yy : '%d Joer'
119     },
120     ordinalParse: /\d{1,2}\./,
121     ordinal: '%d.',
122     week: {
123         dow: 1, // Monday is the first day of the week.
124         doy: 4  // The week that contains Jan 4th is the first week of the year.
125     }