UNPKG

@karinjs/moment

Version:

Parse, validate, manipulate, and display dates

103 lines (102 loc) 3.29 kB
import hooks from "../moment.js"; //! moment.js locale configuration //! locale : Klingon [tlh] //! author : Dominika Kruk : https://github.com/amaranthrose 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 % 1e3 / 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; } const tlh = hooks.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. } }); export { tlh as default };