mirror of
https://github.com/discourse/discourse.git
synced 2024-11-28 15:15:50 +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.
137 lines
4.4 KiB
JavaScript
137 lines
4.4 KiB
JavaScript
//! moment.js locale configuration
|
||
//! locale : Klingon [tlh]
|
||
//! author : Dominika Kruk : https://github.com/amaranthrose
|
||
|
||
;(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
|
||
|
||
var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
|
||
|
||
function translateFuture(output) {
|
||
var time = output;
|
||
time =
|
||
output.indexOf('jaj') !== -1
|
||
? time.slice(0, -3) + 'leS'
|
||
: output.indexOf('jar') !== -1
|
||
? time.slice(0, -3) + 'waQ'
|
||
: output.indexOf('DIS') !== -1
|
||
? time.slice(0, -3) + 'nem'
|
||
: time + ' pIq';
|
||
return time;
|
||
}
|
||
|
||
function translatePast(output) {
|
||
var time = output;
|
||
time =
|
||
output.indexOf('jaj') !== -1
|
||
? time.slice(0, -3) + 'Hu’'
|
||
: output.indexOf('jar') !== -1
|
||
? time.slice(0, -3) + 'wen'
|
||
: output.indexOf('DIS') !== -1
|
||
? time.slice(0, -3) + 'ben'
|
||
: time + ' ret';
|
||
return time;
|
||
}
|
||
|
||
function translate(number, withoutSuffix, string, isFuture) {
|
||
var numberNoun = numberAsNoun(number);
|
||
switch (string) {
|
||
case 'ss':
|
||
return numberNoun + ' lup';
|
||
case 'mm':
|
||
return numberNoun + ' tup';
|
||
case 'hh':
|
||
return numberNoun + ' rep';
|
||
case 'dd':
|
||
return numberNoun + ' jaj';
|
||
case 'MM':
|
||
return numberNoun + ' jar';
|
||
case 'yy':
|
||
return numberNoun + ' DIS';
|
||
}
|
||
}
|
||
|
||
function numberAsNoun(number) {
|
||
var hundred = Math.floor((number % 1000) / 100),
|
||
ten = Math.floor((number % 100) / 10),
|
||
one = number % 10,
|
||
word = '';
|
||
if (hundred > 0) {
|
||
word += numbersNouns[hundred] + 'vatlh';
|
||
}
|
||
if (ten > 0) {
|
||
word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
|
||
}
|
||
if (one > 0) {
|
||
word += (word !== '' ? ' ' : '') + numbersNouns[one];
|
||
}
|
||
return word === '' ? 'pagh' : word;
|
||
}
|
||
|
||
var tlh = moment.defineLocale('tlh', {
|
||
months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(
|
||
'_'
|
||
),
|
||
monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(
|
||
'_'
|
||
),
|
||
monthsParseExact: true,
|
||
weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
|
||
'_'
|
||
),
|
||
weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
|
||
'_'
|
||
),
|
||
weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
|
||
'_'
|
||
),
|
||
longDateFormat: {
|
||
LT: 'HH:mm',
|
||
LTS: 'HH:mm:ss',
|
||
L: 'DD.MM.YYYY',
|
||
LL: 'D MMMM YYYY',
|
||
LLL: 'D MMMM YYYY HH:mm',
|
||
LLLL: 'dddd, D MMMM YYYY HH:mm',
|
||
},
|
||
calendar: {
|
||
sameDay: '[DaHjaj] LT',
|
||
nextDay: '[wa’leS] LT',
|
||
nextWeek: 'LLL',
|
||
lastDay: '[wa’Hu’] LT',
|
||
lastWeek: 'LLL',
|
||
sameElse: 'L',
|
||
},
|
||
relativeTime: {
|
||
future: translateFuture,
|
||
past: translatePast,
|
||
s: 'puS lup',
|
||
ss: translate,
|
||
m: 'wa’ tup',
|
||
mm: translate,
|
||
h: 'wa’ rep',
|
||
hh: translate,
|
||
d: 'wa’ jaj',
|
||
dd: translate,
|
||
M: 'wa’ jar',
|
||
MM: translate,
|
||
y: 'wa’ DIS',
|
||
yy: translate,
|
||
},
|
||
dayOfMonthOrdinalParse: /\d{1,2}\./,
|
||
ordinal: '%d.',
|
||
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.
|
||
},
|
||
});
|
||
|
||
return tlh;
|
||
|
||
})));
|