@edugouvfr/ngx-dsfr
Version:
NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).
58 lines (57 loc) • 2.39 kB
TypeScript
import { Observable } from 'rxjs';
import { DsfrConfig } from '../config/config.model';
import { LangService, LoggerService } from '../services';
import { DsfrI18nExtensionBundle } from './i18n-types';
import * as i0 from "@angular/core";
/**
* Maintient le code langue de l'application et signale le changement de langue.
*/
export declare class DsfrI18nService {
private readonly logger;
private readonly langService;
/** Observable au changement de la langue (fin du chargement des nouveaux bundles) */
completeLangChange$: Observable<string>;
private completeLangChange;
/**
* L'ensemble des bundles de libellés gérés par le service I18N.
*/
private bundles;
/**
* Messages (JSON) de la langue courante.
*/
private currentBundle;
constructor(config: DsfrConfig, logger: LoggerService, langService: LangService);
/**
* Retourne la valeur de traduction dans `messages` partir d'un path json.
* @param jsonPath le chemin dans le fichier de messages json de la langue courante
* @return le message et si non trouvé le path json
*/
t(jsonPath: string): string;
/**
* Permet d'étendre les ressources d'internationalisation sur un périmètre de langue défini.
*
* @param lang Le code langue sur deux caractères en minuscules.
* @param extension Le bundle contenant l'ensemble des libellés traduits dans la langue indiquée.
*/
extendsLabelsBundle(lang: string, extension: DsfrI18nExtensionBundle): void;
/**
* Démarre l'abonnement au changement de langue.
*/
protected startSubscribe(): void;
/**
* Charge le bon fichier de messages selon le code langue, messages en anglais si non trouvé.
*/
protected onLangChange(code: string): void;
/**
* Si message non trouvé, retourne le message en anglais pour les langues autres que les langues par défaut.
*/
protected messageNotFound(codeLang: string, jsonPath: string): string;
/**
* Lit tous les fichiers de la configuration
* @param i18nconfig Configuration i18n
* @return événement complet sur l'observable quand tous les fichiers ont été lus, erreur ou non
*/
private readMessagesFiles;
static ɵfac: i0.ɵɵFactoryDeclaration<DsfrI18nService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<DsfrI18nService>;
}