@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
26 lines (24 loc) • 1.47 kB
JavaScript
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
const require_localization_localeDetector = require('./localeDetector.cjs');
let __intlayer_config_client = require("@intlayer/config/client");
let __intlayer_config_built = require("@intlayer/config/built");
__intlayer_config_built = require_rolldown_runtime.__toESM(__intlayer_config_built);
let __intlayer_core = require("@intlayer/core");
//#region src/localization/getLocale.ts
const getLocale = async (ctx = {}) => {
const defaultLocale = __intlayer_config_built.default?.internationalization?.defaultLocale ?? __intlayer_config_client.DefaultValues.Internationalization.DEFAULT_LOCALE;
const availableLocales = __intlayer_config_built.default?.internationalization?.locales ?? __intlayer_config_client.DefaultValues.Internationalization.LOCALES;
const storedLocale = (0, __intlayer_core.getLocaleFromStorage)({
getCookie: ctx.getCookie,
getHeader: ctx.getHeader
});
if (storedLocale) return storedLocale;
const acceptLanguageHeader = ctx.getHeader?.("accept-language");
if (!acceptLanguageHeader) return defaultLocale;
const userFallbackLocale = (0, __intlayer_core.localeResolver)(require_localization_localeDetector.getPreferredLanguages(acceptLanguageHeader, availableLocales), availableLocales, defaultLocale);
if (userFallbackLocale) return userFallbackLocale;
return defaultLocale;
};
//#endregion
exports.getLocale = getLocale;
//# sourceMappingURL=getLocale.cjs.map