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