Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions custom/datepickerLocales.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
export default {
"ar": import('/node_modules/flowbite-datepicker/js/i18n/locales/ar.js'),
"ar-tn": import('/node_modules/flowbite-datepicker/js/i18n/locales/ar-tn.js'),
"az": import('/node_modules/flowbite-datepicker/js/i18n/locales/az.js'),
"bg": import('/node_modules/flowbite-datepicker/js/i18n/locales/bg.js'),
"bm": import('/node_modules/flowbite-datepicker/js/i18n/locales/bm.js'),
"bn": import('/node_modules/flowbite-datepicker/js/i18n/locales/bn.js'),
"br": import('/node_modules/flowbite-datepicker/js/i18n/locales/br.js'),
"bs": import('/node_modules/flowbite-datepicker/js/i18n/locales/bs.js'),
"ca": import('/node_modules/flowbite-datepicker/js/i18n/locales/ca.js'),
"cs": import('/node_modules/flowbite-datepicker/js/i18n/locales/cs.js'),
"cy": import('/node_modules/flowbite-datepicker/js/i18n/locales/cy.js'),
"da": import('/node_modules/flowbite-datepicker/js/i18n/locales/da.js'),
"de": import('/node_modules/flowbite-datepicker/js/i18n/locales/de.js'),
"el": import('/node_modules/flowbite-datepicker/js/i18n/locales/el.js'),
"en-AU": import('/node_modules/flowbite-datepicker/js/i18n/locales/en-AU.js'),
"en-CA": import('/node_modules/flowbite-datepicker/js/i18n/locales/en-CA.js'),
"en-GB": import('/node_modules/flowbite-datepicker/js/i18n/locales/en-GB.js'),
"en-IE": import('/node_modules/flowbite-datepicker/js/i18n/locales/en-IE.js'),
"en-NZ": import('/node_modules/flowbite-datepicker/js/i18n/locales/en-NZ.js'),
"en-ZA": import('/node_modules/flowbite-datepicker/js/i18n/locales/en-ZA.js'),
"eo": import('/node_modules/flowbite-datepicker/js/i18n/locales/eo.js'),
"es": import('/node_modules/flowbite-datepicker/js/i18n/locales/es.js'),
"et": import('/node_modules/flowbite-datepicker/js/i18n/locales/et.js'),
"eu": import('/node_modules/flowbite-datepicker/js/i18n/locales/eu.js'),
"fa": import('/node_modules/flowbite-datepicker/js/i18n/locales/fa.js'),
"fi": import('/node_modules/flowbite-datepicker/js/i18n/locales/fi.js'),
"fo": import('/node_modules/flowbite-datepicker/js/i18n/locales/fo.js'),
"fr-CH": import('/node_modules/flowbite-datepicker/js/i18n/locales/fr-CH.js'),
"fr": import('/node_modules/flowbite-datepicker/js/i18n/locales/fr.js'),
"gl": import('/node_modules/flowbite-datepicker/js/i18n/locales/gl.js'),
"he": import('/node_modules/flowbite-datepicker/js/i18n/locales/he.js'),
"hi": import('/node_modules/flowbite-datepicker/js/i18n/locales/hi.js'),
"hr": import('/node_modules/flowbite-datepicker/js/i18n/locales/hr.js'),
"hu": import('/node_modules/flowbite-datepicker/js/i18n/locales/hu.js'),
"hy": import('/node_modules/flowbite-datepicker/js/i18n/locales/hy.js'),
"id": import('/node_modules/flowbite-datepicker/js/i18n/locales/id.js'),
"is": import('/node_modules/flowbite-datepicker/js/i18n/locales/is.js'),
"it-CH": import('/node_modules/flowbite-datepicker/js/i18n/locales/it-CH.js'),
"it": import('/node_modules/flowbite-datepicker/js/i18n/locales/it.js'),
"ja": import('/node_modules/flowbite-datepicker/js/i18n/locales/ja.js'),
"ka": import('/node_modules/flowbite-datepicker/js/i18n/locales/ka.js'),
"kk": import('/node_modules/flowbite-datepicker/js/i18n/locales/kk.js'),
"km": import('/node_modules/flowbite-datepicker/js/i18n/locales/km.js'),
"ko": import('/node_modules/flowbite-datepicker/js/i18n/locales/ko.js'),
"lt": import('/node_modules/flowbite-datepicker/js/i18n/locales/lt.js'),
"lv": import('/node_modules/flowbite-datepicker/js/i18n/locales/lv.js'),
"me": import('/node_modules/flowbite-datepicker/js/i18n/locales/me.js'),
"mk": import('/node_modules/flowbite-datepicker/js/i18n/locales/mk.js'),
"mn": import('/node_modules/flowbite-datepicker/js/i18n/locales/mn.js'),
"mr": import('/node_modules/flowbite-datepicker/js/i18n/locales/mr.js'),
"ms": import('/node_modules/flowbite-datepicker/js/i18n/locales/ms.js'),
"nl-BE": import('/node_modules/flowbite-datepicker/js/i18n/locales/nl-BE.js'),
"nl": import('/node_modules/flowbite-datepicker/js/i18n/locales/nl.js'),
"no": import('/node_modules/flowbite-datepicker/js/i18n/locales/no.js'),
"oc": import('/node_modules/flowbite-datepicker/js/i18n/locales/oc.js'),
"pl": import('/node_modules/flowbite-datepicker/js/i18n/locales/pl.js'),
"pt-BR": import('/node_modules/flowbite-datepicker/js/i18n/locales/pt-BR.js'),
"pt": import('/node_modules/flowbite-datepicker/js/i18n/locales/pt.js'),
"ro": import('/node_modules/flowbite-datepicker/js/i18n/locales/ro.js'),
"ru": import('/node_modules/flowbite-datepicker/js/i18n/locales/ru.js'),
"si": import('/node_modules/flowbite-datepicker/js/i18n/locales/si.js'),
"sk": import('/node_modules/flowbite-datepicker/js/i18n/locales/sk.js'),
"sl": import('/node_modules/flowbite-datepicker/js/i18n/locales/sl.js'),
"sq": import('/node_modules/flowbite-datepicker/js/i18n/locales/sq.js'),
"sr": import('/node_modules/flowbite-datepicker/js/i18n/locales/sr.js'),
"sr-latn": import('/node_modules/flowbite-datepicker/js/i18n/locales/sr-latn.js'),
"sv": import('/node_modules/flowbite-datepicker/js/i18n/locales/sv.js'),
"sw": import('/node_modules/flowbite-datepicker/js/i18n/locales/sw.js'),
"ta": import('/node_modules/flowbite-datepicker/js/i18n/locales/ta.js'),
"tg": import('/node_modules/flowbite-datepicker/js/i18n/locales/tg.js'),
"th": import('/node_modules/flowbite-datepicker/js/i18n/locales/th.js'),
"tk": import('/node_modules/flowbite-datepicker/js/i18n/locales/tk.js'),
"tr": import('/node_modules/flowbite-datepicker/js/i18n/locales/tr.js'),
"uk": import('/node_modules/flowbite-datepicker/js/i18n/locales/uk.js'),
"uz-cyrl": import('/node_modules/flowbite-datepicker/js/i18n/locales/uz-cyrl.js'),
"uz-latn": import('/node_modules/flowbite-datepicker/js/i18n/locales/uz-latn.js'),
"vi": import('/node_modules/flowbite-datepicker/js/i18n/locales/vi.js'),
"zh-CN": import('/node_modules/flowbite-datepicker/js/i18n/locales/zh-CN.js'),
"zh-TW": import('/node_modules/flowbite-datepicker/js/i18n/locales/zh-TW.js'),
};
145 changes: 145 additions & 0 deletions custom/dayjsLocales.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
export default {
"af": import('dayjs/locale/af'),
"am": import('dayjs/locale/am'),
"ar-dz": import('dayjs/locale/ar-dz'),
"ar-iq": import('dayjs/locale/ar-iq'),
"ar-kw": import('dayjs/locale/ar-kw'),
"ar-ly": import('dayjs/locale/ar-ly'),
"ar-ma": import('dayjs/locale/ar-ma'),
"ar-sa": import('dayjs/locale/ar-sa'),
"ar-tn": import('dayjs/locale/ar-tn'),
"ar": import('dayjs/locale/ar'),
"az": import('dayjs/locale/az'),
"be": import('dayjs/locale/be'),
"bg": import('dayjs/locale/bg'),
"bi": import('dayjs/locale/bi'),
"bm": import('dayjs/locale/bm'),
"bn-bd": import('dayjs/locale/bn-bd'),
"bn": import('dayjs/locale/bn'),
"bo": import('dayjs/locale/bo'),
"br": import('dayjs/locale/br'),
"bs": import('dayjs/locale/bs'),
"ca": import('dayjs/locale/ca'),
"cs": import('dayjs/locale/cs'),
"cv": import('dayjs/locale/cv'),
"cy": import('dayjs/locale/cy'),
"da": import('dayjs/locale/da'),
"de-at": import('dayjs/locale/de-at'),
"de-ch": import('dayjs/locale/de-ch'),
"de": import('dayjs/locale/de'),
"dv": import('dayjs/locale/dv'),
"el": import('dayjs/locale/el'),
"en-au": import('dayjs/locale/en-au'),
"en-ca": import('dayjs/locale/en-ca'),
"en-gb": import('dayjs/locale/en-gb'),
"en-ie": import('dayjs/locale/en-ie'),
"en-il": import('dayjs/locale/en-il'),
"en-in": import('dayjs/locale/en-in'),
"en-nz": import('dayjs/locale/en-nz'),
"en-sg": import('dayjs/locale/en-sg'),
"en-tt": import('dayjs/locale/en-tt'),
"en": import('dayjs/locale/en'),
"eo": import('dayjs/locale/eo'),
"es-do": import('dayjs/locale/es-do'),
"es-mx": import('dayjs/locale/es-mx'),
"es-pr": import('dayjs/locale/es-pr'),
"es-us": import('dayjs/locale/es-us'),
"es": import('dayjs/locale/es'),
"et": import('dayjs/locale/et'),
"eu": import('dayjs/locale/eu'),
"fa": import('dayjs/locale/fa'),
"fi": import('dayjs/locale/fi'),
"fo": import('dayjs/locale/fo'),
"fr-ca": import('dayjs/locale/fr-ca'),
"fr-ch": import('dayjs/locale/fr-ch'),
"fr": import('dayjs/locale/fr'),
"fy": import('dayjs/locale/fy'),
"ga": import('dayjs/locale/ga'),
"gd": import('dayjs/locale/gd'),
"gl": import('dayjs/locale/gl'),
"gom-latn": import('dayjs/locale/gom-latn'),
"gu": import('dayjs/locale/gu'),
"he": import('dayjs/locale/he'),
"hi": import('dayjs/locale/hi'),
"hr": import('dayjs/locale/hr'),
"ht": import('dayjs/locale/ht'),
"hu": import('dayjs/locale/hu'),
"hy-am": import('dayjs/locale/hy-am'),
"id": import('dayjs/locale/id'),
"is": import('dayjs/locale/is'),
"it-ch": import('dayjs/locale/it-ch'),
"it": import('dayjs/locale/it'),
"ja": import('dayjs/locale/ja'),
"jv": import('dayjs/locale/jv'),
"ka": import('dayjs/locale/ka'),
"kk": import('dayjs/locale/kk'),
"km": import('dayjs/locale/km'),
"kn": import('dayjs/locale/kn'),
"ko": import('dayjs/locale/ko'),
"ku": import('dayjs/locale/ku'),
"ky": import('dayjs/locale/ky'),
"lb": import('dayjs/locale/lb'),
"lo": import('dayjs/locale/lo'),
"lt": import('dayjs/locale/lt'),
"lv": import('dayjs/locale/lv'),
"me": import('dayjs/locale/me'),
"mi": import('dayjs/locale/mi'),
"mk": import('dayjs/locale/mk'),
"ml": import('dayjs/locale/ml'),
"mn": import('dayjs/locale/mn'),
"mr": import('dayjs/locale/mr'),
"ms-my": import('dayjs/locale/ms-my'),
"ms": import('dayjs/locale/ms'),
"mt": import('dayjs/locale/mt'),
"my": import('dayjs/locale/my'),
"nb": import('dayjs/locale/nb'),
"ne": import('dayjs/locale/ne'),
"nl-be": import('dayjs/locale/nl-be'),
"nl": import('dayjs/locale/nl'),
"nn": import('dayjs/locale/nn'),
"oc-lnc": import('dayjs/locale/oc-lnc'),
"pa-in": import('dayjs/locale/pa-in'),
"pl": import('dayjs/locale/pl'),
"pt-br": import('dayjs/locale/pt-br'),
"pt": import('dayjs/locale/pt'),
"rn": import('dayjs/locale/rn'),
"ro": import('dayjs/locale/ro'),
"ru": import('dayjs/locale/ru'),
"rw": import('dayjs/locale/rw'),
"sd": import('dayjs/locale/sd'),
"se": import('dayjs/locale/se'),
"si": import('dayjs/locale/si'),
"sk": import('dayjs/locale/sk'),
"sl": import('dayjs/locale/sl'),
"sq": import('dayjs/locale/sq'),
"sr-cyrl": import('dayjs/locale/sr-cyrl'),
"sr": import('dayjs/locale/sr'),
"ss": import('dayjs/locale/ss'),
"sv-fi": import('dayjs/locale/sv-fi'),
"sv": import('dayjs/locale/sv'),
"sw": import('dayjs/locale/sw'),
"ta": import('dayjs/locale/ta'),
"te": import('dayjs/locale/te'),
"tet": import('dayjs/locale/tet'),
"tg": import('dayjs/locale/tg'),
"th": import('dayjs/locale/th'),
"tk": import('dayjs/locale/tk'),
"tl-ph": import('dayjs/locale/tl-ph'),
"tlh": import('dayjs/locale/tlh'),
"tr": import('dayjs/locale/tr'),
"tzl": import('dayjs/locale/tzl'),
"tzm-latn": import('dayjs/locale/tzm-latn'),
"tzm": import('dayjs/locale/tzm'),
"ug-cn": import('dayjs/locale/ug-cn'),
"uk": import('dayjs/locale/uk'),
"ur": import('dayjs/locale/ur'),
"uz-latn": import('dayjs/locale/uz-latn'),
"uz": import('dayjs/locale/uz'),
"vi": import('dayjs/locale/vi'),
"x-pseudo": import('dayjs/locale/x-pseudo'),
"yo": import('dayjs/locale/yo'),
"zh-cn": import('dayjs/locale/zh-cn'),
"zh-hk": import('dayjs/locale/zh-hk'),
"zh-tw": import('dayjs/locale/zh-tw'),
"zh": import('dayjs/locale/zh'),
};
20 changes: 20 additions & 0 deletions custom/langCommon.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@

import { callAdminForthApi } from '@/utils';
import dayjsLocales from './dayjsLocales';
import datepickerLocales from './datepickerLocales';
import dayjs from 'dayjs';
import Datepicker from "flowbite-datepicker/Datepicker";


const messagesCache: Record<
Expand Down Expand Up @@ -33,6 +37,22 @@ export async function setLang({ setLocaleMessage, locale }: any, pluginInstanceI
messages: messages
};
}

// set dayjs locale
try {
await dayjsLocales[langIso];
dayjs.locale(langIso);
} catch {
dayjs.locale('en');
}

// set datepicker locale
if (datepickerLocales[langIso]) {
Datepicker.locales[langIso] = (await datepickerLocales[langIso]).default[langIso];
} else if (Object.keys(datepickerLocales).some((l) => l.startsWith(`${langIso}-`)) && langIso !== 'en') {
const lang = Object.keys(datepickerLocales).find((l) => l.startsWith(`${langIso}-`));
Datepicker.locales[langIso] = (await datepickerLocales[lang]).default[lang];
}

// set locale and locale message
setLocaleMessage(langIso, messagesCache[langIso].messages);
Expand Down