UNPKG

@rangertechnologies/ngnxt

Version:

This library was used for creating dymanic UI based on the input JSON/data

56 lines 7.06 kB
// HA 19DEC23 File created for translation import { Injectable, Inject, EventEmitter, Output } from '@angular/core'; // import arI18n from '../../assets/i18n/fr.i18n'; // import enI18n from '../../assets/i18n/en.i18n'; import { i18nConfigService } from './i18n-config.service'; import { DOCUMENT } from '@angular/common'; import * as i0 from "@angular/core"; export class I18nService { langList; document; dropdownChanged = new EventEmitter(); currentLanguage = ''; constructor(langList, document) { this.langList = langList; this.document = document; this.initLang(); } initLang() { if (localStorage.getItem('lang')) { this.currentLanguage = localStorage.getItem('lang'); if (this.currentLanguage === 'rtl') { this.languageChange(this.currentLanguage); } } else { localStorage.setItem('lang', 'EN'); this.currentLanguage = 'ltr'; } } getString(key) { // HA 28DEC23 added ternary to avoid exceptions // VD 23JAN24 added ternary to avoid exceptions return this.langList[this.langList.map((e, i) => e.lang === this.currentLanguage ? i : null).filter(e => e !== null)[0]]?.file?.default[key]; } languageChange(lang) { this.currentLanguage = lang; let htmlTag = this.document.getElementsByTagName('html')[0]; htmlTag.dir = this.currentLanguage === 'rtl' ? 'rtl' : 'ltr'; localStorage.setItem('lang', lang); this.dropdownChanged.emit(this.currentLanguage); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nService, deps: [{ token: i18nConfigService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nService }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [i18nConfigService] }] }, { type: Document, decorators: [{ type: Inject, args: [DOCUMENT] }] }], propDecorators: { dropdownChanged: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxrREFBa0Q7QUFDbEQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLFdBQVc7SUFJd0I7SUFBb0M7SUFIeEUsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDdkQsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUVyQixZQUE4QyxRQUFRLEVBQTRCLFFBQWtCO1FBQXRELGFBQVEsR0FBUixRQUFRLENBQUE7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEQsSUFBRyxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssRUFBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFHO1FBQ1gsK0NBQStDO1FBQy9DLCtDQUErQztRQUMvQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvSSxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQW9CLENBQUM7UUFDL0UsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7d0dBaENVLFdBQVcsa0JBSUYsaUJBQWlCLGFBQTJCLFFBQVE7NEdBSjdELFdBQVc7OzRGQUFYLFdBQVc7a0JBSHZCLFVBQVU7OzBCQU9JLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBb0IsTUFBTTsyQkFBQyxRQUFRO3lDQUg5RCxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSEEgMTlERUMyMyBGaWxlIGNyZWF0ZWQgZm9yIHRyYW5zbGF0aW9uXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgYXJJMThuIGZyb20gJy4uLy4uL2Fzc2V0cy9pMThuL2ZyLmkxOG4nO1xuLy8gaW1wb3J0IGVuSTE4biBmcm9tICcuLi8uLi9hc3NldHMvaTE4bi9lbi5pMThuJztcbmltcG9ydCB7IGkxOG5Db25maWdTZXJ2aWNlIH0gZnJvbSAnLi9pMThuLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5ASW5qZWN0YWJsZShcbiAgLy8ge3Byb3ZpZGVkSW46ICdyb290J31cbilcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZSB7XG4gIEBPdXRwdXQoKSBkcm9wZG93bkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgY3VycmVudExhbmd1YWdlID0gJyc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChpMThuQ29uZmlnU2VydmljZSkgcHVibGljIGxhbmdMaXN0LCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge1xuICAgIHRoaXMuaW5pdExhbmcoKTtcbiAgfVxuXG4gIGluaXRMYW5nKCkge1xuICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZycpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nJyk7XG4gICAgICBpZih0aGlzLmN1cnJlbnRMYW5ndWFnZSA9PT0gJ3J0bCcpe1xuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlKHRoaXMuY3VycmVudExhbmd1YWdlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmcnLCAnRU4nKTtcbiAgICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gJ2x0cic7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RyaW5nKGtleSkge1xuICAgIC8vIEhBIDI4REVDMjMgYWRkZWQgdGVybmFyeSB0byBhdm9pZCBleGNlcHRpb25zXG4gICAgLy8gVkQgMjNKQU4yNCBhZGRlZCB0ZXJuYXJ5IHRvIGF2b2lkIGV4Y2VwdGlvbnNcbiAgICByZXR1cm4gdGhpcy5sYW5nTGlzdFt0aGlzLmxhbmdMaXN0Lm1hcCgoZSwgaSkgPT4gZS5sYW5nID09PSB0aGlzLmN1cnJlbnRMYW5ndWFnZSA/IGkgOiBudWxsKS5maWx0ZXIoZSA9PiBlICE9PSBudWxsKVswXV0/LmZpbGU/LmRlZmF1bHRba2V5XTtcbiAgfVxuXG4gIGxhbmd1YWdlQ2hhbmdlKGxhbmcpIHtcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IGxhbmc7XG4gICAgbGV0IGh0bWxUYWcgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0gYXMgSFRNTEh0bWxFbGVtZW50O1xuICAgIGh0bWxUYWcuZGlyID0gdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPT09ICdydGwnID8gJ3J0bCcgOiAnbHRyJztcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbGFuZycsIGxhbmcpO1xuICAgIHRoaXMuZHJvcGRvd25DaGFuZ2VkLmVtaXQodGhpcy5jdXJyZW50TGFuZ3VhZ2UpO1xuICB9XG59XG4iXX0=