@igo2/core
Version:
92 lines (82 loc) • 4.29 kB
TypeScript
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 };