UNPKG

ng-devui

Version:

DevUI components based on Angular

63 lines 7.73 kB
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core'; import { ReplaySubject, Subject } from 'rxjs'; import enUS from './en-us'; import zhCN from './zh-cn'; import * as i0 from "@angular/core"; export const ZH_CN = 'zh-cn'; export const EN_US = 'en-us'; export const DEVUI_LANG = new InjectionToken(ZH_CN); export class I18nService { constructor(appLang) { this.appLang = appLang; this.i18nConfig = { 'zh-cn': zhCN, 'en-us': enUS }; this.LANG_KEY = 'lang'; this.subject = new Subject(); // 废弃 this.i18nSubject = new ReplaySubject(1); if (Object.prototype.hasOwnProperty.call(this.i18nConfig, this.appLang)) { this.DEFAULT_LANG = this.appLang; this.currentLang = this.appLang; } else { this.DEFAULT_LANG = 'zh-cn'; this.currentLang = 'zh-cn'; } this.i18nSubject.next(this.getI18nText()); } toggleLang(lang = this.DEFAULT_LANG) { try { localStorage.setItem('lang', lang); } catch (error) { console.error(error); } if (Object.prototype.hasOwnProperty.call(this.i18nConfig, lang)) { this.currentLang = lang; this.i18nSubject.next(this.getI18nText()); } } getI18nText() { const lang = localStorage.getItem(this.LANG_KEY) ? localStorage.getItem('lang') : this.DEFAULT_LANG; if (Object.prototype.hasOwnProperty.call(this.i18nConfig, lang)) { this.currentLang = lang; } return this.i18nConfig[this.currentLang]; } langChange() { return this.i18nSubject.asObservable(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nService, deps: [{ token: DEVUI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DEVUI_LANG] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2dWkvaTE4bi9pMThuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFFM0IsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFDOztBQUUzQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFTLEtBQUssQ0FBQyxDQUFDO0FBSzVELE1BQU0sT0FBTyxXQUFXO0lBWXRCLFlBQW9ELE9BQU87UUFBUCxZQUFPLEdBQVAsT0FBTyxDQUFBO1FBWDNELGVBQVUsR0FBRztZQUNYLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO1FBQ0YsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUlWLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDLENBQUMsS0FBSztRQUN0QyxnQkFBVyxHQUFHLElBQUksYUFBYSxDQUFnQixDQUFDLENBQUMsQ0FBQztRQUd4RCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3hFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVk7UUFDakMsSUFBSSxDQUFDO1lBQ0gsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDcEcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7K0dBN0NVLFdBQVcsa0JBWVUsVUFBVTttSEFaL0IsV0FBVyxjQUZULE1BQU07OzRGQUVSLFdBQVc7a0JBSHZCLFVBQVU7bUJBQ1QsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzswQkFjUCxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IGVuVVMgZnJvbSAnLi9lbi11cyc7XG5pbXBvcnQgeyBJMThuSW50ZXJmYWNlIH0gZnJvbSAnLi9pMThuLm1vZGVsJztcbmltcG9ydCB6aENOIGZyb20gJy4vemgtY24nO1xuXG5leHBvcnQgY29uc3QgWkhfQ04gPSAnemgtY24nO1xuZXhwb3J0IGNvbnN0IEVOX1VTID0gJ2VuLXVzJztcbmV4cG9ydCBjb25zdCBERVZVSV9MQU5HID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oWkhfQ04pO1xuXG5ASW5qZWN0YWJsZShcbiAge3Byb3ZpZGVkSW46ICdyb290J31cbilcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZSB7XG4gIGkxOG5Db25maWcgPSB7XG4gICAgJ3poLWNuJzogemhDTixcbiAgICAnZW4tdXMnOiBlblVTXG4gIH07XG4gIExBTkdfS0VZID0gJ2xhbmcnO1xuICBERUZBVUxUX0xBTkc6IHN0cmluZztcblxuICBwcml2YXRlIGN1cnJlbnRMYW5nOiBzdHJpbmc7XG4gIHByaXZhdGUgc3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTsgLy8g5bqf5byDXG4gIHByaXZhdGUgaTE4blN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxJMThuSW50ZXJmYWNlPigxKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERFVlVJX0xBTkcpIHByaXZhdGUgYXBwTGFuZykge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5pMThuQ29uZmlnLCB0aGlzLmFwcExhbmcpKSB7XG4gICAgICB0aGlzLkRFRkFVTFRfTEFORyA9IHRoaXMuYXBwTGFuZztcbiAgICAgIHRoaXMuY3VycmVudExhbmcgPSB0aGlzLmFwcExhbmc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuREVGQVVMVF9MQU5HID0gJ3poLWNuJztcbiAgICAgIHRoaXMuY3VycmVudExhbmcgPSAnemgtY24nO1xuICAgIH1cbiAgICB0aGlzLmkxOG5TdWJqZWN0Lm5leHQodGhpcy5nZXRJMThuVGV4dCgpKTtcbiAgfVxuXG4gIHRvZ2dsZUxhbmcobGFuZyA9IHRoaXMuREVGQVVMVF9MQU5HKSB7XG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5nJywgbGFuZyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuaTE4bkNvbmZpZywgbGFuZykpIHtcbiAgICAgIHRoaXMuY3VycmVudExhbmcgPSBsYW5nO1xuICAgICAgdGhpcy5pMThuU3ViamVjdC5uZXh0KHRoaXMuZ2V0STE4blRleHQoKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0STE4blRleHQoKTogSTE4bkludGVyZmFjZSB7XG4gICAgY29uc3QgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuTEFOR19LRVkpID8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmcnKSA6IHRoaXMuREVGQVVMVF9MQU5HO1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5pMThuQ29uZmlnLCBsYW5nKSkge1xuICAgICAgdGhpcy5jdXJyZW50TGFuZyA9IGxhbmc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmkxOG5Db25maWdbdGhpcy5jdXJyZW50TGFuZ107XG4gIH1cblxuICBsYW5nQ2hhbmdlKCk6IE9ic2VydmFibGU8STE4bkludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLmkxOG5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=