UNPKG

@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
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>; }