/pack-rat/003_pack_rat/pack-rat/bower_components/moment/src/locale/lb.js |
@@ -0,0 +1,128 @@ |
//! moment.js locale configuration |
//! locale : Luxembourgish [lb] |
//! author : mweimerskirch : https://github.com/mweimerskirch |
//! author : David Raison : https://github.com/kwisatz |
|
import moment from '../moment'; |
|
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); |
} |
} |
|
export default 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('_'), |
monthsParseExact : true, |
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('_'), |
weekdaysParseExact : true, |
longDateFormat: { |
LT: 'H:mm [Auer]', |
LTS: 'H:mm:ss [Auer]', |
L: 'DD.MM.YYYY', |
LL: 'D. MMMM YYYY', |
LLL: 'D. MMMM YYYY H:mm [Auer]', |
LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' |
}, |
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' |
}, |
dayOfMonthOrdinalParse: /\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. |
} |
}); |
|