devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
52 lines (50 loc) • 1.66 kB
JavaScript
/**
* DevExtreme (cjs/__internal/core/localization/core.js)
* Version: 25.2.3
* Build date: Fri Dec 12 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _parent_locales = _interopRequireDefault(require("../../core/localization/cldr-data/parent_locales"));
var _parentLocale = _interopRequireDefault(require("../../core/localization/parentLocale"));
var _m_dependency_injector = require("../../core/utils/m_dependency_injector");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
const DEFAULT_LOCALE = "en";
var _default = exports.default = (0, _m_dependency_injector.injector)({
locale: (() => {
let currentLocale = "en";
return locale => {
if (!locale) {
return currentLocale
}
currentLocale = locale
}
})(),
getValueByClosestLocale(getter) {
let locale = this.locale();
let value = getter(locale);
let isRootLocale = false;
while (!value && !isRootLocale) {
locale = (0, _parentLocale.default)(_parent_locales.default, locale);
if (locale) {
value = getter(locale)
} else {
isRootLocale = true
}
}
if (void 0 === value && "en" !== locale) {
return getter("en")
}
return value
}
});