@delon/theme
Version:
ng-alain theme system library.
91 lines (90 loc) • 2.95 kB
TypeScript
import { InjectionToken } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { AlainConfigService } from '@delon/util/config';
import type { NzSafeAny } from 'ng-zorro-antd/core/types';
import * as i0 from "@angular/core";
export interface AlainI18NService {
[key: string]: NzSafeAny;
/**
* Call `use` to trigger change notification
*
* 调用 `use` 触发变更通知
*/
readonly change: Observable<string>;
/**
* Get the default language
*
* 获取默认语言
*/
readonly defaultLang: string;
/**
* Get current language
*
* 获取当前语言
*/
readonly currentLang: string;
/**
* Change language
*
* 变更语言
*
* @param emit 是否触发 `change`,默认:true ; Should be removed, please use `change` event instead.
*/
use(lang: string, data?: Record<string, unknown>): void;
/**
* Return to the current language list
*
* 返回当前语言列表
*/
getLangs(): NzSafeAny[];
/**
* Translate 翻译
*
* @param params 模板所需要的参数对象
* @param isSafe 是否返回安全字符,自动调用 `bypassSecurityTrustHtml`; Should be removed, If you need SafeHtml support, please use `| html` pipe instead.
*/
fanyi(path: string, params?: unknown | unknown[]): string;
}
export declare const ALAIN_I18N_TOKEN: InjectionToken<AlainI18NService>;
export declare abstract class AlainI18nBaseService implements AlainI18NService {
private cog;
protected _change$: BehaviorSubject<string | null>;
protected _currentLang: string;
protected _defaultLang: string;
protected _data: Record<string, string>;
get change(): Observable<string>;
get defaultLang(): string;
get currentLang(): string;
get data(): Record<string, string>;
constructor(cogSrv: AlainConfigService);
/**
* Flattened data source
*
* @example
* {
* "name": "Name",
* "sys": {
* "": "System",
* "title": "Title"
* }
* }
* =>
* {
* "name": "Name",
* "sys": "System",
* "sys.title": "Title"
* }
*/
flatData(data: Record<string, unknown>, parentKey: string[]): Record<string, string>;
abstract use(lang: string, data?: Record<string, unknown>): void;
abstract getLangs(): NzSafeAny[];
fanyi(path: string, params?: unknown | unknown[]): string;
static ɵfac: i0.ɵɵFactoryDeclaration<AlainI18nBaseService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<AlainI18nBaseService>;
}
export declare class AlainI18NServiceFake extends AlainI18nBaseService {
use(lang: string, data: Record<string, unknown>): void;
getLangs(): NzSafeAny[];
static ɵfac: i0.ɵɵFactoryDeclaration<AlainI18NServiceFake, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<AlainI18NServiceFake>;
}