65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
/**
 | 
						|
 * 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.__;
 | 
						|
});
 |