/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
define([
'jquery',
'mage/mage',
'mageTranslationDictionary',
'underscore'
], function ($, mage, dictionary, _) {
'use strict';
$.extend(true, $, {
mage: {
translate: (function () {
/**
* Key-value translations storage
* @type {Object}
* @private
*/
var _data = dictionary;
return {
/**
* Add new translation (two string parameters) or several translations (object)
*/
add: function () {
if (arguments.length > 1) {
_data[arguments[0]] = arguments[1];
} else if (typeof arguments[0] === 'object') {
$.extend(_data, arguments[0]);
}
},
/**
* Make a translation with parsing (to handle case when _data represents tuple)
* @param {String} text
* @return {String}
*/
translate: function (text) {
return typeof _data[text] !== 'undefined' ? _data[text] : text;
}
};
}())
}
});
$.mage.__ = $.proxy($.mage.translate.translate, $.mage.translate);
// Provide i18n wrapper to be used in underscore templates for translation
_.extend(_, {
/**
* Make a translation using $.mage.__
*
* @param {String} text
* @return {String}
*/
i18n: function (text) {
return $.mage.__(text);
}
});
return $.mage.__;
});
|