@rangertechnologies/ngnxt
Version:
This library was used for creating dymanic UI based on the input JSON/data
56 lines • 7.06 kB
JavaScript
// 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=