UNPKG

@intlayer/core

Version:

Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.

24 lines (22 loc) 1.12 kB
import { getPreferredLanguages } from "./localeDetector.mjs"; import { DefaultValues } from "@intlayer/config/client"; import configuration from "@intlayer/config/built"; import { getLocaleFromStorage, localeResolver } from "@intlayer/core"; //#region src/localization/getLocale.ts const getLocale = async (ctx = {}) => { const defaultLocale = configuration?.internationalization?.defaultLocale ?? DefaultValues.Internationalization.DEFAULT_LOCALE; const availableLocales = configuration?.internationalization?.locales ?? DefaultValues.Internationalization.LOCALES; const storedLocale = getLocaleFromStorage({ getCookie: ctx.getCookie, getHeader: ctx.getHeader }); if (storedLocale) return storedLocale; const acceptLanguageHeader = ctx.getHeader?.("accept-language"); if (!acceptLanguageHeader) return defaultLocale; const userFallbackLocale = localeResolver(getPreferredLanguages(acceptLanguageHeader, availableLocales), availableLocales, defaultLocale); if (userFallbackLocale) return userFallbackLocale; return defaultLocale; }; //#endregion export { getLocale }; //# sourceMappingURL=getLocale.mjs.map