@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
29 lines • 974 B
JavaScript
import configuration from "@intlayer/config/built";
const localeResolver = (selectedLocale, locales = configuration.internationalization.locales, defaultLocale = configuration.internationalization.defaultLocale) => {
const requestedLocales = [selectedLocale].flat();
const normalize = (locale) => locale.trim().toLowerCase();
try {
for (const requested of requestedLocales) {
const normalizedRequested = normalize(requested);
const exactMatch = locales.find(
(loc) => normalize(loc) === normalizedRequested
);
if (exactMatch) {
return exactMatch;
}
const [requestedLang] = normalizedRequested.split("-");
const partialMatch = locales.find(
(loc) => normalize(loc).split("-")[0] === requestedLang
);
if (partialMatch) {
return partialMatch;
}
}
} catch (_error) {
}
return defaultLocale;
};
export {
localeResolver
};
//# sourceMappingURL=localeResolver.mjs.map