UNPKG

air-lib

Version:

This is Air's angular component library

184 lines 13.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { TranslateService } from '@ngx-translate/core'; import { Injectable } from '@angular/core'; import { HttpService } from './http.service'; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; import * as i2 from "./http.service"; var TranslationService = /** @class */ (function () { function TranslationService(translateService, http) { this.http = http; this.defaultLang = 'ru-RU'; this.englishLang = 'en-US'; this.ukraineLang = 'uk-UA'; this.localizationStorage = new Array(); this.translater = translateService; /** @type {?} */ var userLang = this.defaultLocale(); this.setLanguage(userLang); } /** * @param {?} locale * @return {?} */ TranslationService.prototype.setLanguage = /** * @param {?} locale * @return {?} */ function (locale) { this.translater.addLangs([locale]); this.translater.setDefaultLang(locale); this.translater.use(locale); }; /** * @param {?} parts * @return {?} */ TranslationService.prototype.loadTranslation = /** * @param {?} parts * @return {?} */ function (parts) { var _this = this; /** @type {?} */ var userLocalLanguage = localStorage.getItem('language'); /** @type {?} */ var lang; if (userLocalLanguage) { lang = userLocalLanguage; } else { lang = this.translater.currentLang ? this.translater.currentLang : this.defaultLang; } /** @type {?} */ var notLoadedParts = parts.filter(function (part) { return _this.localizationStorage.indexOf(part) < 0; }); if (notLoadedParts.length > 0) { /** @type {?} */ var partUrl_1 = notLoadedParts.join(','); return new Promise(function (resolve, reject) { _this.http.httpGet('api/Localizations/' + lang + '?parts=' + partUrl_1, false) .subscribe(function (data) { notLoadedParts.forEach(function (part) { if (data[part]) { _this.translater.setTranslation(_this.translater.currentLang, data[part], true); _this.localizationStorage.push(part); } }); resolve(true); }, function (err) { console.log(err); reject(false); }); }); } else { return true; } }; /** * @private * @return {?} */ TranslationService.prototype.defaultLocale = /** * @private * @return {?} */ function () { /** @type {?} */ var browserLocale = navigator.language || navigator['userLanguage']; if (/ru/gmi.test(browserLocale)) { browserLocale = this.defaultLang; } else if (/uk/gmi.test(browserLocale)) { browserLocale = this.ukraineLang; } else if (/en/gmi.test(browserLocale)) { browserLocale = this.englishLang; } return browserLocale; }; /** * @param {?} key * @param {?=} interpolateParams * @return {?} */ TranslationService.prototype.translate = /** * @param {?} key * @param {?=} interpolateParams * @return {?} */ function (key, interpolateParams) { return this.translater.get(key, interpolateParams); }; /** * @param {?} key * @param {?=} interpolateParams * @return {?} */ TranslationService.prototype.translateInstant = /** * @param {?} key * @param {?=} interpolateParams * @return {?} */ function (key, interpolateParams) { return this.translater.instant(key, interpolateParams); }; /** * @param {?} key * @return {?} */ TranslationService.prototype.translateSync = /** * @param {?} key * @return {?} */ function (key) { return this.translater.instant(key); }; TranslationService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; TranslationService.ctorParameters = function () { return [ { type: TranslateService }, { type: HttpService } ]; }; /** @nocollapse */ TranslationService.ngInjectableDef = i0.defineInjectable({ factory: function TranslationService_Factory() { return new TranslationService(i0.inject(i1.TranslateService), i0.inject(i2.HttpService)); }, token: TranslationService, providedIn: "root" }); return TranslationService; }()); export { TranslationService }; if (false) { /** @type {?} */ TranslationService.prototype.translater; /** * @type {?} * @private */ TranslationService.prototype.localizationStorage; /** * @type {?} * @private */ TranslationService.prototype.defaultLang; /** * @type {?} * @private */ TranslationService.prototype.englishLang; /** * @type {?} * @private */ TranslationService.prototype.ukraineLang; /** * @type {?} * @private */ TranslationService.prototype.http; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Fpci1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdHJhbnNsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHN0M7SUFXRSw0QkFBWSxnQkFBa0MsRUFBVSxJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBSmpFLGdCQUFXLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsT0FBTyxDQUFDO1FBRzVCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7O1lBQzdCLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Ozs7SUFFTSx3Q0FBVzs7OztJQUFsQixVQUFtQixNQUFjO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDOzs7OztJQUVNLDRDQUFlOzs7O0lBQXRCLFVBQXVCLEtBQWU7UUFBdEMsaUJBcUNDOztZQXBDTyxpQkFBaUIsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQzs7WUFDdEQsSUFBWTtRQUNoQixJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLElBQUksR0FBRyxpQkFBaUIsQ0FBQztTQUMxQjthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUNyRjs7WUFDSyxjQUFjLEdBQWtCLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQyxJQUFZO1lBQzlELE9BQU8sS0FBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDO1FBRUYsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs7Z0JBQ3ZCLFNBQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUV4QyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQ2pDLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixHQUFHLElBQUksR0FBRyxTQUFTLEdBQUcsU0FBTyxFQUFFLEtBQUssQ0FBQztxQkFDeEUsU0FBUyxDQUNSLFVBQUMsSUFBUztvQkFDUixjQUFjLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBWTt3QkFDbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQ2QsS0FBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDOzRCQUM5RSxLQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUNyQztvQkFDSCxDQUFDLENBQUMsQ0FBQztvQkFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hCLENBQUMsRUFDRCxVQUFBLEdBQUc7b0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQixDQUFDLENBQ0YsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7OztJQUNPLDBDQUFhOzs7O0lBQXJCOztZQUNNLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUM7UUFDbkUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQy9CLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3RDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3RDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzs7Ozs7O0lBQ00sc0NBQVM7Ozs7O0lBQWhCLFVBQWlCLEdBQTJCLEVBQUUsaUJBQTBCO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDckQsQ0FBQzs7Ozs7O0lBQ00sNkNBQWdCOzs7OztJQUF2QixVQUF3QixHQUEyQixFQUFFLGlCQUEwQjtRQUM3RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Ozs7O0lBQ00sMENBQWE7Ozs7SUFBcEIsVUFBcUIsR0FBMkI7UUFDOUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnQkFqRkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O2dCQVBRLGdCQUFnQjtnQkFFaEIsV0FBVzs7OzZCQUZwQjtDQXVGQyxBQWxGRCxJQWtGQztTQS9FWSxrQkFBa0I7OztJQUU3Qix3Q0FBb0M7Ozs7O0lBQ3BDLGlEQUEyQzs7Ozs7SUFDM0MseUNBQThCOzs7OztJQUM5Qix5Q0FBOEI7Ozs7O0lBQzlCLHlDQUE4Qjs7Ozs7SUFFa0Isa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgdHJhbnNsYXRlcjogVHJhbnNsYXRlU2VydmljZTtcclxuICBwcml2YXRlIGxvY2FsaXphdGlvblN0b3JhZ2U6IEFycmF5PHN0cmluZz47XHJcbiAgcHJpdmF0ZSBkZWZhdWx0TGFuZyA9ICdydS1SVSc7XHJcbiAgcHJpdmF0ZSBlbmdsaXNoTGFuZyA9ICdlbi1VUyc7XHJcbiAgcHJpdmF0ZSB1a3JhaW5lTGFuZyA9ICd1ay1VQSc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UpIHtcclxuICAgIHRoaXMubG9jYWxpemF0aW9uU3RvcmFnZSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZXIgPSB0cmFuc2xhdGVTZXJ2aWNlO1xyXG4gICAgY29uc3QgdXNlckxhbmcgPSB0aGlzLmRlZmF1bHRMb2NhbGUoKTtcclxuICAgIHRoaXMuc2V0TGFuZ3VhZ2UodXNlckxhbmcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExhbmd1YWdlKGxvY2FsZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZXIuYWRkTGFuZ3MoW2xvY2FsZV0pO1xyXG4gICAgdGhpcy50cmFuc2xhdGVyLnNldERlZmF1bHRMYW5nKGxvY2FsZSk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZXIudXNlKGxvY2FsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZFRyYW5zbGF0aW9uKHBhcnRzOiBzdHJpbmdbXSk6IGFueSB7XHJcbiAgICBjb25zdCB1c2VyTG9jYWxMYW5ndWFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpO1xyXG4gICAgbGV0IGxhbmc6IHN0cmluZztcclxuICAgIGlmICh1c2VyTG9jYWxMYW5ndWFnZSkge1xyXG4gICAgICBsYW5nID0gdXNlckxvY2FsTGFuZ3VhZ2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsYW5nID0gdGhpcy50cmFuc2xhdGVyLmN1cnJlbnRMYW5nID8gdGhpcy50cmFuc2xhdGVyLmN1cnJlbnRMYW5nIDogdGhpcy5kZWZhdWx0TGFuZztcclxuICAgIH1cclxuICAgIGNvbnN0IG5vdExvYWRlZFBhcnRzOiBBcnJheTxzdHJpbmc+ID0gcGFydHMuZmlsdGVyKChwYXJ0OiBzdHJpbmcpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemF0aW9uU3RvcmFnZS5pbmRleE9mKHBhcnQpIDwgMDtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChub3RMb2FkZWRQYXJ0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHBhcnRVcmwgPSBub3RMb2FkZWRQYXJ0cy5qb2luKCcsJyk7XHJcblxyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaHR0cC5odHRwR2V0KCdhcGkvTG9jYWxpemF0aW9ucy8nICsgbGFuZyArICc/cGFydHM9JyArIHBhcnRVcmwsIGZhbHNlKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIG5vdExvYWRlZFBhcnRzLmZvckVhY2goKHBhcnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGFbcGFydF0pIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVyLnNldFRyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlci5jdXJyZW50TGFuZywgZGF0YVtwYXJ0XSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxpemF0aW9uU3RvcmFnZS5wdXNoKHBhcnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgICAgICAgcmVqZWN0KGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBkZWZhdWx0TG9jYWxlKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgYnJvd3NlckxvY2FsZSA9IG5hdmlnYXRvci5sYW5ndWFnZSB8fCBuYXZpZ2F0b3JbJ3VzZXJMYW5ndWFnZSddO1xyXG4gICAgaWYgKC9ydS9nbWkudGVzdChicm93c2VyTG9jYWxlKSkge1xyXG4gICAgICBicm93c2VyTG9jYWxlID0gdGhpcy5kZWZhdWx0TGFuZztcclxuICAgIH0gZWxzZSBpZiAoL3VrL2dtaS50ZXN0KGJyb3dzZXJMb2NhbGUpKSB7XHJcbiAgICAgIGJyb3dzZXJMb2NhbGUgPSB0aGlzLnVrcmFpbmVMYW5nO1xyXG4gICAgfSBlbHNlIGlmICgvZW4vZ21pLnRlc3QoYnJvd3NlckxvY2FsZSkpIHtcclxuICAgICAgYnJvd3NlckxvY2FsZSA9IHRoaXMuZW5nbGlzaExhbmc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYnJvd3NlckxvY2FsZTtcclxuICB9XHJcbiAgcHVibGljIHRyYW5zbGF0ZShrZXk6IHN0cmluZyB8IEFycmF5PHN0cmluZz4sIGludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZXIuZ2V0KGtleSwgaW50ZXJwb2xhdGVQYXJhbXMpO1xyXG4gIH1cclxuICBwdWJsaWMgdHJhbnNsYXRlSW5zdGFudChrZXk6IHN0cmluZyB8IEFycmF5PHN0cmluZz4sIGludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0KTogc3RyaW5nIHwgYW55IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZXIuaW5zdGFudChrZXksIGludGVycG9sYXRlUGFyYW1zKTtcclxuICB9XHJcbiAgcHVibGljIHRyYW5zbGF0ZVN5bmMoa2V5OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+KTogc3RyaW5nIHwgYW55IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZXIuaW5zdGFudChrZXkpO1xyXG4gIH1cclxufVxyXG4iXX0=