@alauda-fe/common
Version:
Alauda frontend team common codes.
63 lines (62 loc) • 2.36 kB
TypeScript
/**
* @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>;
}