You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
4.4 KiB
168 lines
4.4 KiB
//! 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.'; |
|
}, |
|
});
|
|
|