JAVASCRIPT   8

translate.js

Guest on 22nd July 2021 02:07:10 AM

  1. /**
  2.  * Copyright آ© Magento, Inc. All rights reserved.
  3.  * See COPYING.txt for license details.
  4.  */*//* eslint-disable strict */*/
  5. (function (factory) {
  6.     if (typeof define === 'function' && define.amd) {
  7.         define([
  8.             'jquery',
  9.             'mage/mage'
  10.         ], factory);
  11.     } else {
  12.         factory(jQuery);
  13.     }
  14. }(function ($) {
  15.     $.extend(true, $, {
  16.         mage: {
  17.             translate: (function () {
  18.               /**
  19.                  * Key-value translations storage
  20.                  * @type {Object}
  21.                  * @private
  22.                  */*/
  23.                 var _data = {};
  24.  
  25.               /**
  26.                  * Add new translation (two string parameters) or several translations (object)
  27.                  */*/
  28.                 this.add = function () {
  29.                     if (arguments.length > 1) {
  30.                         _data[arguments[0]] = arguments[1];
  31.                     } else if (typeof arguments[0] === 'object') {
  32.                         $.extend(_data, arguments[0]);
  33.                     }
  34.                 };
  35.  
  36.               /**
  37.                  * Make a translation with parsing (to handle case when _data represents tuple)
  38.                  * @param {String} text
  39.                  * @return {String}
  40.                  */*/
  41.                 this.translate = function (text) {
  42.                     return _data[text] ? _data[text] : text;
  43.                 };
  44.  
  45.                 return this;
  46.             }())
  47.         }
  48.     });
  49.     $.mage.__ = $.proxy($.mage.translate.translate, $.mage.translate);
  50.  
  51.     return $.mage.__;
  52. })

Raw Paste


Login or Register to edit or fork this paste. It's free.