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).

41 lines 4.95 kB
import { Injectable } from '@angular/core'; import { jsonPath2Value } from '../utils'; import * as i0 from "@angular/core"; import * as i1 from "./logger.service"; import * as i2 from "./lang.service"; /** * La méthode i18n.t() de ce service retourne une traduction en fonction de la langue courante. * La traduction est recherchée dans la propriété `messages`. */ export class BaseI18nService { constructor(logger, langService) { this.logger = logger; this.langService = langService; /** * Messages (JSON) de la langue courante. */ this.messages = {}; langService.subject.subscribe((code) => this.onLangChange(code)); } /** * 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) { let message = jsonPath2Value(this.messages, jsonPath); if (!message) { this.logger.warn(`Aucune traduction '${this.langService.lang}' pour '${jsonPath}'`); message = jsonPath; } return message; } onLangChange(code) { } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseI18nService, deps: [{ token: i1.LoggerService }, { token: i2.LangService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseI18nService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseI18nService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.LangService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pMThuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Jhc2UtaTE4bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUkxQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUNZLE1BQXFCLEVBQ3ZCLFdBQXdCO1FBRHRCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFQbEM7O1dBRUc7UUFDSCxhQUFRLEdBQU8sRUFBRSxDQUFDO1FBTWhCLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxDQUFDLENBQUMsUUFBZ0I7UUFDaEIsSUFBSSxPQUFPLEdBQVcsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ3BGLE9BQU8sR0FBRyxRQUFRLENBQUM7U0FDcEI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsWUFBWSxDQUFDLElBQVksSUFBRyxDQUFDOytHQTNCNUIsZUFBZTttSEFBZixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsganNvblBhdGgyVmFsdWUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBMYW5nU2VydmljZSB9IGZyb20gJy4vbGFuZy5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBMYSBtw6l0aG9kZSBpMThuLnQoKSBkZSBjZSBzZXJ2aWNlIHJldG91cm5lIHVuZSB0cmFkdWN0aW9uIGVuIGZvbmN0aW9uIGRlIGxhIGxhbmd1ZSBjb3VyYW50ZS5cbiAqIExhIHRyYWR1Y3Rpb24gZXN0IHJlY2hlcmNow6llIGRhbnMgbGEgcHJvcHJpw6l0w6kgYG1lc3NhZ2VzYC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBCYXNlSTE4blNlcnZpY2Uge1xuICAvKipcbiAgICogTWVzc2FnZXMgKEpTT04pIGRlIGxhIGxhbmd1ZSBjb3VyYW50ZS5cbiAgICovXG4gIG1lc3NhZ2VzOiB7fSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2UsXG4gICkge1xuICAgIGxhbmdTZXJ2aWNlLnN1YmplY3Quc3Vic2NyaWJlKChjb2RlKSA9PiB0aGlzLm9uTGFuZ0NoYW5nZShjb2RlKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0b3VybmUgbGEgdmFsZXVyIGRlIHRyYWR1Y3Rpb24gZGFucyBgbWVzc2FnZXNgIHBhcnRpciBkJ3VuIHBhdGgganNvbi5cbiAgICogQHBhcmFtIGpzb25QYXRoIGxlIGNoZW1pbiBkYW5zIGxlIGZpY2hpZXIgZGUgbWVzc2FnZXMganNvbiBkZSBsYSBsYW5ndWUgY291cmFudGVcbiAgICogQHJldHVybiBsZSBtZXNzYWdlIGV0IHNpIG5vbiB0cm91dsOpIGxlIHBhdGgganNvblxuICAgKi9cbiAgdChqc29uUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgbWVzc2FnZTogc3RyaW5nID0ganNvblBhdGgyVmFsdWUodGhpcy5tZXNzYWdlcywganNvblBhdGgpO1xuICAgIGlmICghbWVzc2FnZSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihgQXVjdW5lIHRyYWR1Y3Rpb24gJyR7dGhpcy5sYW5nU2VydmljZS5sYW5nfScgcG91ciAnJHtqc29uUGF0aH0nYCk7XG4gICAgICBtZXNzYWdlID0ganNvblBhdGg7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTGFuZ0NoYW5nZShjb2RlOiBzdHJpbmcpIHt9XG59XG4iXX0=