@jay-js/system
Version:
A powerful and flexible TypeScript library for UI, state management, lazy loading, routing and managing draggable elements in modern web applications.
21 lines (20 loc) • 897 B
JavaScript
import { i18nOptions } from "./i18nDefineOptions.js";
import { i18nContext } from "./i18nContext.js";
export function initLanguage() {
if (navigator && (navigator.language || navigator.userLanguage)) {
const locale = navigator.language || navigator.userLanguage || i18nOptions.defaultLocale;
i18nOptions.defaultLocale = locale.toLowerCase();
}
const defaultLocaleStored = localStorage.getItem("default-locale");
if (defaultLocaleStored) {
i18nOptions.defaultLocale = defaultLocaleStored;
}
const defaultI18n = i18nOptions.languages.find((lang)=>lang.code === i18nOptions.defaultLocale) || i18nOptions.languages[0];
if (!defaultI18n) {
throw new Error("@jay-js/system: Failed to load default language");
}
localStorage.setItem("default-locale", defaultI18n.code);
i18nContext.set(defaultI18n, {
silent: true
});
}