133 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
			Vendored
		
	
	
	
| //! moment.js locale configuration
 | |
| //! locale : Luxembourgish (lb)
 | |
| //! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz
 | |
| 
 | |
| (function (global, factory) {
 | |
|    typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../moment')) :
 | |
|    typeof define === 'function' && define.amd ? define(['moment'], factory) :
 | |
|    factory(global.moment)
 | |
| }(this, function (moment) { 'use strict';
 | |
| 
 | |
| 
 | |
|     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);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     var lb = 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('_'),
 | |
|         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('_'),
 | |
|         longDateFormat: {
 | |
|             LT: 'H:mm [Auer]',
 | |
|             LTS: 'H:mm:ss [Auer]',
 | |
|             L: 'DD.MM.YYYY',
 | |
|             LL: 'D. MMMM YYYY',
 | |
|             LLL: 'D. MMMM YYYY LT',
 | |
|             LLLL: 'dddd, D. MMMM YYYY LT'
 | |
|         },
 | |
|         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',
 | |
|             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'
 | |
|         },
 | |
|         ordinalParse: /\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.
 | |
|         }
 | |
|     });
 | |
| 
 | |
|     return lb;
 | |
| 
 | |
| })); | 
