@karinjs/moment
Version:
Parse, validate, manipulate, and display dates
160 lines (159 loc) • 3.87 kB
JavaScript
import hooks from "../moment.js";
//! moment.js locale configuration
//! locale : Breton [br]
//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
function relativeTimeWithMutation(number, withoutSuffix, key) {
var format = {
mm: "munutenn",
MM: "miz",
dd: "devezh"
};
return number + " " + mutation(format[key], number);
}
function specialMutationForYears(number) {
switch (lastNumber(number)) {
case 1:
case 3:
case 4:
case 5:
case 9:
return number + " bloaz";
default:
return number + " vloaz";
}
}
function lastNumber(number) {
if (number > 9) {
return lastNumber(number % 10);
}
return number;
}
function mutation(text, number) {
if (number === 2) {
return softMutation(text);
}
return text;
}
function softMutation(text) {
var mutationTable = {
m: "v",
b: "v",
d: "z"
};
if (mutationTable[text.charAt(0)] === void 0) {
return text;
}
return mutationTable[text.charAt(0)] + text.substring(1);
}
var monthsParse = [
/^gen/i,
/^c[ʼ\']hwe/i,
/^meu/i,
/^ebr/i,
/^mae/i,
/^(mez|eve)/i,
/^gou/i,
/^eos/i,
/^gwe/i,
/^her/i,
/^du/i,
/^ker/i
], monthsRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, fullWeekdaysParse = [
/^sul/i,
/^lun/i,
/^meurzh/i,
/^merc[ʼ\']her/i,
/^yaou/i,
/^gwener/i,
/^sadorn/i
], shortWeekdaysParse = [
/^Sul/i,
/^Lun/i,
/^Meu/i,
/^Mer/i,
/^Yao/i,
/^Gwe/i,
/^Sad/i
], minWeekdaysParse = [
/^Su/i,
/^Lu/i,
/^Me([^r]|$)/i,
/^Mer/i,
/^Ya/i,
/^Gw/i,
/^Sa/i
];
const br = hooks.defineLocale("br", {
months: "Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split(
"_"
),
monthsShort: "Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),
weekdays: "Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn".split("_"),
weekdaysShort: "Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),
weekdaysMin: "Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),
weekdaysParse: minWeekdaysParse,
fullWeekdaysParse,
shortWeekdaysParse,
minWeekdaysParse,
monthsRegex,
monthsShortRegex: monthsRegex,
monthsStrictRegex,
monthsShortStrictRegex,
monthsParse,
longMonthsParse: monthsParse,
shortMonthsParse: monthsParse,
longDateFormat: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "DD/MM/YYYY",
LL: "D [a viz] MMMM YYYY",
LLL: "D [a viz] MMMM YYYY HH:mm",
LLLL: "dddd, D [a viz] MMMM YYYY HH:mm"
},
calendar: {
sameDay: "[Hiziv da] LT",
nextDay: "[Warcʼhoazh da] LT",
nextWeek: "dddd [da] LT",
lastDay: "[Decʼh da] LT",
lastWeek: "dddd [paset da] LT",
sameElse: "L"
},
relativeTime: {
future: "a-benn %s",
past: "%s ʼzo",
s: "un nebeud segondennoù",
ss: "%d eilenn",
m: "ur vunutenn",
mm: relativeTimeWithMutation,
h: "un eur",
hh: "%d eur",
d: "un devezh",
dd: relativeTimeWithMutation,
M: "ur miz",
MM: relativeTimeWithMutation,
y: "ur bloaz",
yy: specialMutationForYears
},
dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
ordinal: function(number) {
var output = number === 1 ? "añ" : "vet";
return number + output;
},
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.
},
meridiemParse: /a.m.|g.m./,
// goude merenn | a-raok merenn
isPM: function(token) {
return token === "g.m.";
},
meridiem: function(hour, minute, isLower) {
return hour < 12 ? "a.m." : "g.m.";
}
});
export {
br as default
};