UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

63 lines (62 loc) 2.36 kB
/** * @packageDocumentation * @module translate */ import { HttpClient } from '@angular/common/http'; import { OnDestroy } from '@angular/core'; import { Observable, Subject } from 'rxjs'; import { TranslateKey, TranslateOptions, Translation, Translations } from './types'; import * as i0 from "@angular/core"; export declare class TranslateService implements OnDestroy { private readonly http; private readonly baseHref; readonly translationsAdded$: Subject<void>; private readonly destroy$$; readonly translationsList: Array<Readonly<Translations>>; readonly remoteTranslationsList: Array<Readonly<Translations>>; readonly options: TranslateOptions; locale: string; readonly locale$: Observable<string>; get locales(): string[]; get fallbackLocale(): string; constructor(http: HttpClient, baseHref: string, options: TranslateOptions, translationList: Translations[]); ngOnDestroy(): void; /** * @param key - 翻译key * @param data - 根据翻译上下文数据获取翻译内容,翻译项不存在直接返回 key 文本 * @param ignoreNonExist - 开发环境是否忽视不存在的翻译项 */ get(key: TranslateKey, data?: unknown): string; /** * 直接返回翻译文本模板 * @param key - 翻译key * @param ignoreNonExist - 开发环境是否忽视不存在的翻译项 */ getRaw(key: TranslateKey): string; /** * 根据 `locales` 循环切换当前区域设置 */ toggleLocale(): void; setLocale(locale: string): void; /** * 手动添加语言包 */ addTranslations(translations: Translations): void; /** * 手动添加语言包 */ addRemoteTranslations(remoteUrl: string): void; /** * 从远程 url 模板和区域获取翻译包 */ fetchTranslation(remoteUrl: string): Observable<Translations>; fetchTranslation(remoteUrl: string, locale: string): Observable<Translation>; private _getLooseLocale; private _getValue; private _getWithFallback; private _getBase; protected _get(key: string, locale?: string): string; private _compareKeys; static ɵfac: i0.ɵɵFactoryDeclaration<TranslateService, [null, null, { optional: true; }, { optional: true; }]>; static ɵprov: i0.ɵɵInjectableDeclaration<TranslateService>; }