diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts index 4a3e78aea4f5d6f9f0a75fe9499f87bd6635fc3f..30c065f96cd7ddfcc85a43906bc119ca631b6181 100644 --- a/src/app/services/formulaire.service.ts +++ b/src/app/services/formulaire.service.ts @@ -130,14 +130,6 @@ export class FormulaireService extends Observable { && langCache[this.intlService.currentLanguage][textKey] !== undefined ) { return langCache[this.intlService.currentLanguage][textKey]; - - } else if ( // try calculator type specific translation, but for default language - langCache - && langCache[this.appSetupService.fallbackLanguage] - && langCache[this.appSetupService.fallbackLanguage][textKey] !== undefined - ) { - return langCache[this.appSetupService.fallbackLanguage][textKey]; - } } // fallback to global (not calculator type specific) translation system diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts index ed8011d094735b5d8f5ab59d9b27163c1bdd91ac..96da8821b85bc994766ebcf33146676a03c25f68 100644 --- a/src/app/services/internationalisation.service.ts +++ b/src/app/services/internationalisation.service.ts @@ -21,9 +21,6 @@ export class I18nService extends Observable implements Observer { /** localized messages */ private _Messages: StringMap; - /** localized messages in fallback language (the one in the config file) */ - private _fallbackMessages: StringMap; - /** to avoid loading language files multiple times */ private _languageCache = {}; @@ -36,10 +33,6 @@ export class I18nService extends Observable implements Observer { fr: "Français", en: "English" }; - // load fallback language messages once for all - this.httpGetMessages(this.applicationSetupService.fallbackLanguage).then((res: any) => { - this._fallbackMessages = res; - }); // add language preferences observer this.applicationSetupService.addObserver(this); } @@ -97,20 +90,14 @@ export class I18nService extends Observable implements Observer { } /** - * Loads the localisation file dedicated to calculator type ct; tries the current - * language then the fallback language; uses cache if available + * Loads the localisation file dedicated to calculator type ct; uses cache if available */ public loadLocalisation(calc: CalculatorType): Promise<any> { const lang = this.currentLanguage; return this.loadLocalisationForLang(calc, lang).then((localisation) => { return localisation as StringMap; }).catch((e) => { - // try default lang (the one in the config file) ? - const fallbackLang = this.applicationSetupService.fallbackLanguage; - if (lang !== fallbackLang) { - console.error(`localisation for ${CalculatorType[calc]} not found, trying fallback language: ${fallbackLang}`); - return this.loadLocalisationForLang(calc, fallbackLang); - } + return ""; }); } @@ -120,12 +107,8 @@ export class I18nService extends Observable implements Observer { */ private loadLocalisationForLang(calc: CalculatorType, lang: string): Promise<any> { const ct = String(calc); - // already in cache ? - if (Object.keys(this._languageCache).includes(ct) && Object.keys(this._languageCache[calc]).includes(lang)) { - return new Promise((resolve) => { - resolve(this._languageCache[ct][lang]); - }); - } else { + // if not already in cache + if (! Object.keys(this._languageCache).includes(ct) || ! Object.keys(this._languageCache[calc]).includes(lang)) { const f: string = FormulaireService.getConfigPathPrefix(calc) + lang + ".json"; return this.httpService.httpGetRequestPromise(f).then((localisation) => { this._languageCache[ct] = this._languageCache[ct] || {}; @@ -165,7 +148,6 @@ export class I18nService extends Observable implements Observer { * In production mode, looks in different messages collections : * 1. ${msg} if provided * 2. messages for current language - * 3. messages for fallback language * * In dev mode, looks only in 1. if provided, else only in 2. which makes missing * translations easier to detect @@ -183,12 +165,6 @@ export class I18nService extends Observable implements Observer { if (this._Messages !== undefined && this._Messages["INFO_LIB_" + textKey.toUpperCase()] !== undefined) { return decodeHtml(this._Messages["INFO_LIB_" + textKey.toUpperCase()]); } - if (!isDevMode()) { - // try fallback language before giving up - if (this._fallbackMessages[textKey] !== undefined) { - return decodeHtml(this._fallbackMessages[textKey]); - } - } return `*** message not found: ${textKey} ***`; } }