@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
20 lines (18 loc) • 740 B
JavaScript
import { Locales } from "@intlayer/types";
import configuration from "@intlayer/config/built";
import { getLocaleFromStorage, localeDetector } from "@intlayer/core";
//#region src/localization/getLocale.ts
const getLocale = async (ctx = {}) => {
const defaultLocale = configuration?.internationalization?.defaultLocale ?? Locales.ENGLISH;
const storedLocale = getLocaleFromStorage({
getCookie: ctx.getCookie,
getHeader: ctx.getHeader
});
if (storedLocale) return storedLocale;
const userFallbackLocale = localeDetector(await ctx.getAllHeaders?.() ?? (ctx.getHeader ? {} : {}));
if (userFallbackLocale) return userFallbackLocale;
return defaultLocale;
};
//#endregion
export { getLocale };
//# sourceMappingURL=getLocale.mjs.map