166 lines
4.4 KiB
JavaScript
166 lines
4.4 KiB
JavaScript
|
//! moment.js locale configuration
|
|||
|
//! locale : Breton [br]
|
|||
|
//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
|
|||
|
|
|||
|
import moment from '../moment';
|
|||
|
|
|||
|
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)] === undefined) {
|
|||
|
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,
|
|||
|
];
|
|||
|
|
|||
|
export default moment.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: fullWeekdaysParse,
|
|||
|
shortWeekdaysParse: shortWeekdaysParse,
|
|||
|
minWeekdaysParse: minWeekdaysParse,
|
|||
|
|
|||
|
monthsRegex: monthsRegex,
|
|||
|
monthsShortRegex: monthsRegex,
|
|||
|
monthsStrictRegex: monthsStrictRegex,
|
|||
|
monthsShortStrictRegex: monthsShortStrictRegex,
|
|||
|
monthsParse: 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.';
|
|||
|
},
|
|||
|
});
|