mirror of
https://github.com/zadam/trilium.git
synced 2026-01-17 12:04:24 +01:00
69 lines
2.2 KiB
TypeScript
69 lines
2.2 KiB
TypeScript
import { default as dayjs, type Dayjs } from "dayjs";
|
|
|
|
import "dayjs/plugin/advancedFormat";
|
|
import "dayjs/plugin/duration";
|
|
import "dayjs/plugin/isBetween";
|
|
import "dayjs/plugin/isoWeek";
|
|
import "dayjs/plugin/isSameOrAfter";
|
|
import "dayjs/plugin/isSameOrBefore";
|
|
import "dayjs/plugin/quarterOfYear";
|
|
import "dayjs/plugin/utc";
|
|
|
|
//#region Plugins
|
|
import advancedFormat from "dayjs/plugin/advancedFormat.js";
|
|
import duration from "dayjs/plugin/duration.js";
|
|
import isBetween from "dayjs/plugin/isBetween.js";
|
|
import isoWeek from "dayjs/plugin/isoWeek.js";
|
|
import isSameOrAfter from "dayjs/plugin/isSameOrAfter.js";
|
|
import isSameOrBefore from "dayjs/plugin/isSameOrBefore.js";
|
|
import quarterOfYear from "dayjs/plugin/quarterOfYear.js";
|
|
import utc from "dayjs/plugin/utc.js";
|
|
import { LOCALE_IDS } from "./i18n.js";
|
|
|
|
dayjs.extend(advancedFormat);
|
|
dayjs.extend(duration);
|
|
dayjs.extend(isBetween);
|
|
dayjs.extend(isoWeek);
|
|
dayjs.extend(isSameOrAfter);
|
|
dayjs.extend(isSameOrBefore);
|
|
dayjs.extend(quarterOfYear);
|
|
dayjs.extend(utc);
|
|
//#endregion
|
|
|
|
//#region Locales
|
|
export const DAYJS_LOADER: Record<LOCALE_IDS, () => Promise<typeof import("dayjs/locale/en.js")>> = {
|
|
"ar": () => import("dayjs/locale/ar.js"),
|
|
"cn": () => import("dayjs/locale/zh-cn.js"),
|
|
"de": () => import("dayjs/locale/de.js"),
|
|
"en": () => import("dayjs/locale/en.js"),
|
|
"en-GB": () => import("dayjs/locale/en-gb.js"),
|
|
"en_rtl": () => import("dayjs/locale/en.js"),
|
|
"es": () => import("dayjs/locale/es.js"),
|
|
"fa": () => import("dayjs/locale/fa.js"),
|
|
"fr": () => import("dayjs/locale/fr.js"),
|
|
"it": () => import("dayjs/locale/it.js"),
|
|
"he": () => import("dayjs/locale/he.js"),
|
|
"ja": () => import("dayjs/locale/ja.js"),
|
|
"ku": () => import("dayjs/locale/ku.js"),
|
|
"pt_br": () => import("dayjs/locale/pt-br.js"),
|
|
"pt": () => import("dayjs/locale/pt.js"),
|
|
"ro": () => import("dayjs/locale/ro.js"),
|
|
"ru": () => import("dayjs/locale/ru.js"),
|
|
"tw": () => import("dayjs/locale/zh-tw.js"),
|
|
"uk": () => import("dayjs/locale/uk.js"),
|
|
}
|
|
|
|
async function setDayjsLocale(locale: LOCALE_IDS) {
|
|
const dayjsLocale = DAYJS_LOADER[locale];
|
|
if (dayjsLocale) {
|
|
dayjs.locale(await dayjsLocale());
|
|
}
|
|
}
|
|
//#endregion
|
|
|
|
export {
|
|
dayjs,
|
|
Dayjs,
|
|
setDayjsLocale
|
|
};
|