<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">define(["require", "exports", "esri/intl", "../baseClasses/support/domHelper", "./language-switcher/support/constants"], function (require, exports, intl_1, domHelper_1, constants_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.calculateLocale = exports.defineLocale = void 0;
    function defineLocale(props) {
        const { config, portal } = props;
        let { locale } = config;
        if (!locale) {
            locale = _calculateLocale(portal);
        }
        (0, intl_1.setLocale)(locale);
        (0, domHelper_1.setPageLocale)(locale);
        (0, domHelper_1.setPageDirection)((0, intl_1.prefersRTL)(locale) ? "rtl" : "ltr");
        return locale;
    }
    exports.defineLocale = defineLocale;
    function _calculateLocale(portal) {
        const user = portal?.user;
        let locale = portal?.culture || navigator.language;
        if (user) {
            locale =
                user?.culture !== undefined
                    ? user.culture || navigator.language
                    : portal.culture || navigator.language;
        }
        return calculateLocale(locale);
    }
    function calculateLocale(locale) {
        if (!locale)
            return "en";
        const isPartial = !!constants_1.LANGUAGE_DATA?.partial?.[locale];
        if (isPartial) {
            return locale;
        }
        else {
            const normalizedLocale = (0, intl_1.normalizeMessageBundleLocale)(locale);
            return normalizedLocale == null ? "en" : normalizedLocale;
        }
    }
    exports.calculateLocale = calculateLocale;
});
</pre></body></html>