import { BehaviorSubject, Observable } from 'rxjs'; import { CookieService, StoreService } from '@ithinkdt/shared/browser'; import { TranslateService } from '@ngx-translate/core'; import { NzI18nService } from 'ng-zorro-antd/i18n'; import { I18nModels } from './i18n.interface'; export declare const I18N_LANGUAGE = "language"; export declare function isEnglish(lang: any): boolean; export declare class I18NService implements I18nModels { private nzI18nService; private cookieSrv; private translate; private storeSrv; private _default; change$: BehaviorSubject; _langs: { code: string; text: string; }[]; private fileNames; constructor(nzI18nService: NzI18nService, cookieSrv: CookieService, translate: TranslateService, storeSrv: StoreService); setZorro(lang: string): this; setDateFns(lang: string): this; readonly change: Observable; use(lang: string): void; /** 获取语言列表 */ getLangs(): { code: string; text: string; }[]; /** * 翻译 * @param key 需要翻译的键 * @param value 需要插入的值 * exp: * key: demokey, value: '老虎'; * zh-CN.json * `demokey: '从前有一只{value},它很可爱'` * 编译后: * `'从前有一只老虎,它很可爱'` */ interpret(key?: string, value?: string): string; /** 默认语言 */ readonly defaultLang: string; /** 当前语言 */ readonly currentLang: string; storeLang(lang: string): void; storedLang(): string; setTranslations(lang: string): void; mergeTransitions(lang: string): void; getProjectTranslations(lang: string, cb: (p: any) => void): void; readonly defaultLibLangData: object; /** * 设置i18n国际化 * PS:国际化刷新机制下的补充方法 */ setLanguage(): void; }