mirror of
https://github.com/discourse/discourse.git
synced 2024-12-02 07:03:41 +08:00
cdb7ddc258
We updated version of moment and moment-timezone as our current versions are outdated making Discourse Dates broken on places where timezone had updates, like here in Brazil. This also update highlightJS to the latest version and corrected a test that relied on a no longer supported locale in moment.
177 lines
5.4 KiB
JavaScript
177 lines
5.4 KiB
JavaScript
//! moment.js locale configuration
|
||
//! locale : Breton [br]
|
||
//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
|
||
|
||
;(function (global, factory) {
|
||
typeof exports === 'object' && typeof module !== 'undefined'
|
||
&& typeof require === 'function' ? factory(require('../moment')) :
|
||
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
||
factory(global.moment)
|
||
}(this, (function (moment) { 'use strict';
|
||
|
||
//! moment.js locale configuration
|
||
|
||
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,
|
||
];
|
||
|
||
var br = 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.';
|
||
},
|
||
});
|
||
|
||
return br;
|
||
|
||
})));
|