@sixbell-telco/sdk
Version:
A collection of reusable components designed for use in Sixbell Telco Angular projects
79 lines (78 loc) • 4.05 kB
TypeScript
import { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateLoader } from '@ngx-translate/core';
import { RuntimeConfigLoader, RuntimeConfigLoadResult, RuntimeUpdateEvent } from '@sixbell-telco/sdk/utils/runtime-config';
import { LanguageDefinition, TranslationConfig } from './models/translation';
import * as i0 from "@angular/core";
export declare function createLanguage(config: LanguageDefinition): LanguageDefinition;
export declare function extendDefaultLanguages(additionalLanguages: LanguageDefinition[]): LanguageDefinition[];
export declare class PlaceholderMissingTranslationHandler implements MissingTranslationHandler {
handle(params: MissingTranslationHandlerParams): string;
}
export declare class TranslationService {
private readonly translate;
private readonly storageService;
private readonly domService;
private readonly logger;
private readonly destroyRef;
private initialized;
private currentTranslationPaths;
private translationHttpClient;
private hasAppliedInitialLanguage;
private isUsingFallbackConfig;
private prefetchLanguages;
private isApplyingRuntimeConfig;
private runtimeHash;
private runtimeLoader?;
private runtimeMeta?;
private pendingUpdatedLanguages;
private bootstrapValidated;
private readonly translationTick;
readonly updateAvailable: import("@angular/core").WritableSignal<boolean>;
readonly lastRefreshFailed: import("@angular/core").WritableSignal<boolean>;
private config;
readonly currentLanguage: import("@angular/core").WritableSignal<string>;
readonly onLanguageChange$: import("rxjs").Observable<import("@ngx-translate/core").LangChangeEvent>;
readonly onLanguageChange: import("@angular/core").WritableSignal<number>;
readonly ready: import("@angular/core").WritableSignal<boolean>;
readonly changes: import("@angular/core").Signal<number>;
constructor();
configure(config: TranslationConfig): void;
private resolveStoredLanguage;
setRuntimeConfig(config: TranslationConfig): Promise<void>;
enablePrefetch(enable: boolean): void;
private loadSelectedLanguage;
private prefetchRemainingLanguages;
private loadLanguageResources;
private queueUpdatedLanguage;
private reloadLanguages;
refreshInactiveLanguages(): Promise<void>;
private validateBootstrapCache;
private initializeFromStorage;
private applyLanguage;
setLanguage(lang: string): void;
getCurrentLanguage(): string;
getAvailableLanguages(): string[];
getDefaultLanguage(): string;
instant(key: string, params?: object | undefined): string;
get(key: string, params?: object | undefined): import("rxjs").Observable<any>;
stream(key: string, params?: object | undefined): import("rxjs").Observable<any>;
getAvailableLanguagesConfig(): LanguageDefinition[];
getAvailableLanguageCodes(): string[];
getLanguageByCode(code: string): LanguageDefinition | undefined;
getLanguageDisplayName(code: string): string;
getLocalizedLanguageName(code: string): string;
isReady(): import("@angular/core").Signal<boolean>;
waitForTranslations(timeoutMs?: number): Promise<void>;
init(): void;
applyRuntimeConfig(result: RuntimeConfigLoadResult<TranslationConfig>, loader?: RuntimeConfigLoader<TranslationConfig>): Promise<void>;
setRuntimeLoader(loader: RuntimeConfigLoader<TranslationConfig>, hash?: string): void;
checkForTranslationUpdates(loader: RuntimeConfigLoader<TranslationConfig>, event?: RuntimeUpdateEvent): Promise<void>;
refreshTranslation(loader?: RuntimeConfigLoader<TranslationConfig>): Promise<void>;
withTranslationsReady<T>(fn: () => T): T | undefined;
private getOrCreateHttpClient;
private fetchTranslation;
createTranslateLoader(): TranslateLoader;
private isTranslationObject;
private deepMergeTranslations;
static ɵfac: i0.ɵɵFactoryDeclaration<TranslationService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<TranslationService>;
}