UNPKG

@karinjs/moment

Version:

Parse, validate, manipulate, and display dates

160 lines (159 loc) 3.87 kB
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 };