| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /**
- * DevExtreme (localization/globalize/message.js)
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
- */
- "use strict";
- require("./core");
- var Globalize = require("globalize");
- var messageLocalization = require("../message");
- var coreLocalization = require("../core");
- require("globalize/message");
- if (Globalize && Globalize.formatMessage) {
- var DEFAULT_LOCALE = "en";
- var originalLoadMessages = Globalize.loadMessages;
- Globalize.loadMessages = function(messages) {
- messageLocalization.load(messages)
- };
- var globalizeMessageLocalization = {
- ctor: function() {
- this.load(this._dictionary)
- },
- load: function(messages) {
- this.callBase(messages);
- originalLoadMessages(messages)
- },
- getMessagesByLocales: function() {
- return Globalize.cldr.get("globalize-messages")
- },
- getFormatter: function(key, locale) {
- var currentLocale = locale || coreLocalization.locale();
- var formatter = this._getFormatterBase(key, locale);
- if (!formatter) {
- formatter = this._formatterByGlobalize(key, locale)
- }
- if (!formatter && currentLocale !== DEFAULT_LOCALE) {
- formatter = this.getFormatter(key, DEFAULT_LOCALE)
- }
- return formatter
- },
- _formatterByGlobalize: function(key, locale) {
- var currentGlobalize = !locale || locale === coreLocalization.locale() ? Globalize : new Globalize(locale);
- var result;
- if (this._messageLoaded(key, locale)) {
- result = currentGlobalize.messageFormatter(key)
- }
- return result
- },
- _messageLoaded: function(key, locale) {
- var currentCldr = locale ? new Globalize(locale).cldr : Globalize.locale();
- var value = currentCldr.get(["globalize-messages/{bundle}", key]);
- return !!value
- },
- _loadSingle: function(key, value, locale) {
- var data = {};
- data[locale] = {};
- data[locale][key] = value;
- this.load(data)
- }
- };
- messageLocalization.inject(globalizeMessageLocalization)
- }
|