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