@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
27 lines (25 loc) • 1.52 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
const require_utils_localeStorage = require('../utils/localeStorage.cjs');
const require_localization_localeResolver = require('./localeResolver.cjs');
const require_localization_localeDetector = require('./localeDetector.cjs');
let _intlayer_config_built = require("@intlayer/config/built");
let _intlayer_config_defaultValues = require("@intlayer/config/defaultValues");
//#region src/localization/getLocale.ts
const getLocale = async (ctx = {}) => {
const defaultLocale = _intlayer_config_built.internationalization?.defaultLocale ?? _intlayer_config_defaultValues.DEFAULT_LOCALE;
const availableLocales = _intlayer_config_built.internationalization?.locales ?? _intlayer_config_defaultValues.LOCALES;
const storedLocale = require_utils_localeStorage.getLocaleFromStorageServer({
getCookie: ctx.getCookie,
getHeader: ctx.getHeader
});
if (storedLocale) return storedLocale;
const acceptLanguageHeader = ctx.getHeader?.("accept-language");
if (!acceptLanguageHeader) return defaultLocale;
const userFallbackLocale = require_localization_localeResolver.localeResolver(require_localization_localeDetector.getPreferredLanguages(acceptLanguageHeader, availableLocales), availableLocales, defaultLocale);
if (userFallbackLocale) return userFallbackLocale;
return defaultLocale;
};
//#endregion
exports.getLocale = getLocale;
//# sourceMappingURL=getLocale.cjs.map