node-query/node_modules/grunt-jsdoc/node_modules/ink-docstrap/node_modules/moment/lang/lb.js

161 lines
5.5 KiB
JavaScript

// moment.js language configuration
// language : Luxembourgish (lb)
// author : mweimerskirch : https://github.com/mweimerskirch
// Note: Luxembourgish has a very particular phonological rule ("Eifeler Regel") that causes the
// deletion of the final "n" in certain contexts. That's what the "eifelerRegelAppliesToWeekday"
// and "eifelerRegelAppliesToNumber" methods are meant for
(function (factory) {
if (typeof define === 'function' && define.amd) {
define(['moment'], factory); // AMD
} else if (typeof exports === 'object') {
module.exports = factory(require('../moment')); // Node
} else {
factory(window.moment); // Browser global
}
}(function (moment) {
function processRelativeTime(number, withoutSuffix, key, isFuture) {
var format = {
'm': ['eng Minutt', 'enger Minutt'],
'h': ['eng Stonn', 'enger Stonn'],
'd': ['een Dag', 'engem Dag'],
'dd': [number + ' Deeg', number + ' Deeg'],
'M': ['ee Mount', 'engem Mount'],
'MM': [number + ' Méint', number + ' Méint'],
'y': ['ee Joer', 'engem Joer'],
'yy': [number + ' Joer', number + ' 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;
}
function processLastWeek(string1) {
var weekday = this.format('d');
if (eifelerRegelAppliesToWeekday(weekday)) {
return '[Leschte] dddd [um] LT';
}
return '[Leschten] dddd [um] LT';
}
/**
* Returns true if the word before the given week day loses the "-n" ending.
* e.g. "Leschten Dënschdeg" but "Leschte Méindeg"
*
* @param weekday {integer}
* @returns {boolean}
*/
function eifelerRegelAppliesToWeekday(weekday) {
weekday = parseInt(weekday, 10);
switch (weekday) {
case 0: // Sonndeg
case 1: // Méindeg
case 3: // Mëttwoch
case 5: // Freideg
case 6: // Samschdeg
return true;
default: // 2 Dënschdeg, 4 Donneschdeg
return false;
}
}
/**
* 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);
}
}
return moment.lang('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]",
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: processLastWeek
},
relativeTime: {
future: processFutureTime,
past: processPastTime,
s: "e puer Sekonnen",
m: processRelativeTime,
mm: "%d Minutten",
h: processRelativeTime,
hh: "%d Stonnen",
d: processRelativeTime,
dd: processRelativeTime,
M: processRelativeTime,
MM: processRelativeTime,
y: processRelativeTime,
yy: processRelativeTime
},
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.
}
});
}));