UNPKG

@totvs-agro/mobile-components

Version:

Componentes Mobile Totvs (Front-End) para utilização dos estilos do T-Faces e Ionic v3

138 lines 5.88 kB
import { Injectable } from "@angular/core"; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/catch'; import { coreMobileEn } from "../../i18n/core-mobile-en"; import { coreMobilePt } from "../../i18n/core-mobile-pt"; import { coreMobileEs } from "../../i18n/core-mobile-es"; var TotvsTranslateProvider = /** @class */ (function () { function TotvsTranslateProvider() { this.getFromBetween = { results: [], string: "", getFromBetween: function (sub1, sub2) { if (this.string.indexOf(sub1) < 0 || this.string.indexOf(sub2) < 0) return false; var SP = this.string.indexOf(sub1) + sub1.length; var string1 = this.string.substr(0, SP); var string2 = this.string.substr(SP); var TP = string1.length + string2.indexOf(sub2); return this.string.substring(SP, TP); }, removeFromBetween: function (sub1, sub2) { if (this.string.indexOf(sub1) < 0 || this.string.indexOf(sub2) < 0) return false; var removal = sub1 + this.getFromBetween(sub1, sub2) + sub2; this.string = this.string.replace(removal, ""); }, getAllResults: function (sub1, sub2) { // first check to see if we do have both substrings if (this.string.indexOf(sub1) < 0 || this.string.indexOf(sub2) < 0) return; // find one result var result = this.getFromBetween(sub1, sub2); // push it to the results array this.results.push(result); // remove the most recently found one from the string this.removeFromBetween(sub1, sub2); // if there's more substrings if (this.string.indexOf(sub1) > -1 && this.string.indexOf(sub2) > -1) { this.getAllResults(sub1, sub2); } else return; }, get: function (string, sub1, sub2) { this.results = []; this.string = string; this.getAllResults(sub1, sub2); return this.results; } }; } //PUBLICOS //PUBLICOS TotvsTranslateProvider.prototype.initialize = //PUBLICOS function (lang) { this.language = lang ? lang : window.navigator.language; this.i18n = {}; this.i18n["PT-BR"] = coreMobilePt; this.i18n["ES-ES"] = coreMobileEs; this.i18n["EN-US"] = coreMobileEn; }; ; TotvsTranslateProvider.prototype.initializeWithJson = function (json) { this.i18n = {}; this.i18n = json; }; ; TotvsTranslateProvider.prototype.instant = function (message) { if (!this.i18n) this.initialize(); return this.findMessage(message); }; ; TotvsTranslateProvider.prototype.get = function (keys, interpolateParams) { var retorno = {}; var translatedKey = ""; var paramsFromTranslatedKey = ""; if (!(typeof keys === 'string')) { for (var key in keys) { translatedKey = this.instant(keys[key]); paramsFromTranslatedKey = this.getFromBetween.get(translatedKey, "{{", "}}"); translatedKey = this.fillParameters(paramsFromTranslatedKey, translatedKey, interpolateParams); retorno[keys[key]] = translatedKey; } return retorno; } else { translatedKey = this.instant(String(keys)); paramsFromTranslatedKey = this.getFromBetween.get(translatedKey, "{{", "}}"); translatedKey = this.fillParameters(paramsFromTranslatedKey, translatedKey, interpolateParams); return translatedKey; } }; ; //PRIVADOS //PRIVADOS TotvsTranslateProvider.prototype.findMessage = //PRIVADOS function (_message) { try { if (undefined != this.i18n && null != this.i18n) { var msg = this.i18n[this.language.toUpperCase()]; var split = String(_message).split("."); for (var m in split) { if (undefined != msg[split[m]] && null != msg[split[m]]) msg = msg[split[m]]; else msg = _message; } return msg; } } catch (e) { return _message; } }; ; TotvsTranslateProvider.prototype.fillParameters = function (paramsFromTranslatedKey, translatedKey, interpolateParams) { for (var _i = 0, paramsFromTranslatedKey_1 = paramsFromTranslatedKey; _i < paramsFromTranslatedKey_1.length; _i++) { var paramFromTranslatedKey = paramsFromTranslatedKey_1[_i]; var valueFromParamFromTranslatedKey = paramFromTranslatedKey; if (null != interpolateParams && undefined != interpolateParams && interpolateParams.hasOwnProperty(paramFromTranslatedKey)) valueFromParamFromTranslatedKey = interpolateParams[paramFromTranslatedKey]; translatedKey = translatedKey.replace("{{" + paramFromTranslatedKey + "}}", this.instant(valueFromParamFromTranslatedKey)); } return translatedKey; }; ; TotvsTranslateProvider.decorators = [ { type: Injectable }, ]; /** @nocollapse */ TotvsTranslateProvider.ctorParameters = function () { return []; }; return TotvsTranslateProvider; }()); export { TotvsTranslateProvider }; //# sourceMappingURL=totvs-translate-provider.js.map