UNPKG

@intlayer/core

Version:

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

25 lines (23 loc) 1.11 kB
import { getLocaleFromStorageServer } from "../utils/localeStorage.mjs"; import { localeResolver } from "./localeResolver.mjs"; import { getPreferredLanguages } from "./localeDetector.mjs"; import { internationalization } from "@intlayer/config/built"; import { DEFAULT_LOCALE, LOCALES } from "@intlayer/config/defaultValues"; //#region src/localization/getLocale.ts const getLocale = async (ctx = {}) => { const defaultLocale = internationalization?.defaultLocale ?? DEFAULT_LOCALE; const availableLocales = internationalization?.locales ?? LOCALES; const storedLocale = getLocaleFromStorageServer({ 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