UNPKG

@igo2/core

Version:
92 lines (82 loc) 4.29 kB
import * as i0 from '@angular/core'; import { Provider, EnvironmentProviders } from '@angular/core'; import * as i1 from '@ngx-translate/core'; import { TranslateLoader, TranslateModuleConfig, Language, TranslateService, MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core'; import { Observable, BehaviorSubject } from 'rxjs'; import { HttpBackend } from '@angular/common/http'; import { ConfigService } from '@igo2/core/config'; declare class IgoLanguageModule { static ɵfac: i0.ɵɵFactoryDeclaration<IgoLanguageModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<IgoLanguageModule, never, never, [typeof i1.TranslateModule]>; static ɵinj: i0.ɵɵInjectorDeclaration<IgoLanguageModule>; } interface LanguageOptions { prefix?: string | string[]; ignoreLibsLocale?: boolean; } declare abstract class LanguageLoaderBase implements TranslateLoader { abstract isLoaded$: Observable<boolean>; abstract getTranslation(lang: string): Observable<any>; } type Translation = string | Translation[] | TranslationObject | any; interface TranslationObject { [key: string]: Translation; } declare class LanguageLoader implements LanguageLoaderBase { private httpClient; private _isLoaded$; isLoaded$: Observable<boolean>; suffix: string; prefix?: string | string[]; options: LanguageOptions; baseUrl: string; constructor(handler: HttpBackend, options: LanguageOptions); private getServerUrl; getTranslation(lang: string): Observable<any>; } declare class LanguageLoaderWithAsyncConfig extends LanguageLoader { private configService; constructor(handler: HttpBackend, configService: ConfigService, prefix?: string | string[], suffix?: string); getTranslation(lang: string): Observable<any>; } interface TranslationFeature<KindT extends TranslationFeatureKind> { kind: KindT; providers: (Provider | EnvironmentProviders)[]; } declare enum TranslationFeatureKind { Translation = 0, DefaultLanguage = 1 } /** * Make sure you only call this method in the root module of your application, most of the time called AppModule. */ declare function provideTranslation(featureConfig: TranslationFeature<TranslationFeatureKind.Translation>): EnvironmentProviders; declare function withStaticConfig(options: LanguageOptions, defaultLanguage?: string | undefined): TranslationFeature<TranslationFeatureKind.Translation>; declare function withAsyncConfig(defaultLanguage?: string | undefined): TranslationFeature<TranslationFeatureKind.Translation>; /** * Get the first segment of the path (e.g., '/en/alerts' => 'en') * @param allowedLanguages default to ['fr', 'en'] */ declare function withUrlDefaultLanguage(fallbackLang?: Language, allowedLanguages?: Language[]): TranslationFeature<TranslationFeatureKind.DefaultLanguage>; declare const setTranslationConfig: (loader?: Provider, defaultLanguage?: string) => TranslateModuleConfig; declare const LANGUAGE_LOADER: Provider; declare const DEFAULT_LANGUAGE_LOADER: Provider; declare function provideMockTranslation(): EnvironmentProviders; declare class LanguageService { translate: TranslateService; private language; readonly language$: BehaviorSubject<string>; constructor(); private setBrowserLanguage; getLanguage(): string; private matchLanguage; setLanguage(language: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<LanguageService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<LanguageService>; } declare class IgoMissingTranslationHandler implements MissingTranslationHandler { handle(params: MissingTranslationHandlerParams): string; } declare function labelAttribute(value: Translation | TranslationObject | undefined, defaultValue?: Translation | TranslationObject): Translation | TranslationObject; export { DEFAULT_LANGUAGE_LOADER, IgoLanguageModule, IgoMissingTranslationHandler, LANGUAGE_LOADER, LanguageLoader, LanguageLoaderBase, LanguageLoaderWithAsyncConfig, LanguageService, TranslationFeatureKind, labelAttribute, provideMockTranslation, provideTranslation, setTranslationConfig, withAsyncConfig, withStaticConfig, withUrlDefaultLanguage }; export type { LanguageOptions, Translation, TranslationFeature, TranslationObject };