From: Ricardo Dias Date: Mon, 7 Oct 2019 11:48:58 +0000 (+0100) Subject: mgr/dashboard: frontend: default language option in environment X-Git-Tag: v14.2.5~16^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=40852085f637e84264962149d806beaaefbedd49;p=ceph.git mgr/dashboard: frontend: default language option in environment Signed-off-by: Ricardo Dias (cherry picked from commit 754e26f7769bbfd782d416f68f0eefd479fa691b) --- diff --git a/src/pybind/mgr/dashboard/frontend/environment.build.js b/src/pybind/mgr/dashboard/frontend/environment.build.js index 87a6e712bf0..54253fbec4f 100755 --- a/src/pybind/mgr/dashboard/frontend/environment.build.js +++ b/src/pybind/mgr/dashboard/frontend/environment.build.js @@ -49,12 +49,23 @@ const optionsOldProd = { allowEmptyPaths: false, }; +const optionsDefaultLang = { + files: [ + 'src/environments/environment.prod.ts', + 'src/environments/environment.ts' + ], + from: /'{DEFAULT_LANG}'/g, + to: `'${process.env.npm_package_config_locale}'`, + allowEmptyPaths: false +} + try { let changeOldYearFiles = replace.sync(optionsOldYear); let changeNewYearFiles = replace.sync(optionsNewYear); let changeOldProdFiles = replace.sync(optionsOldProd); let changeProdFiles = replace.sync(optionsNewProd); let changeDevFiles = replace.sync(optionsNewDev); + let changeDefaultLangFiles = replace.sync(optionsDefaultLang); console.log('Environment variables have been set'); } catch (error) { diff --git a/src/pybind/mgr/dashboard/frontend/src/app/app.module.ts b/src/pybind/mgr/dashboard/frontend/src/app/app.module.ts index 2770c1b9533..b05168d276f 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/app.module.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/app.module.ts @@ -25,6 +25,8 @@ import { ApiInterceptorService } from './shared/services/api-interceptor.service import { JsErrorHandler } from './shared/services/js-error-handler.service'; import { SharedModule } from './shared/shared.module'; +import { environment } from '../environments/environment'; + export function jwtTokenGetter() { return localStorage.getItem('access_token'); } @@ -68,7 +70,7 @@ export function jwtTokenGetter() { { provide: TRANSLATIONS, useFactory: (locale) => { - locale = locale || 'en-US'; + locale = locale || environment.default_lang; try { return require(`raw-loader!locale/messages.${locale}.xlf`); } catch (error) { diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/services/language.service.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/services/language.service.ts index 80b602a5758..438817103ea 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/shared/services/language.service.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/services/language.service.ts @@ -2,6 +2,8 @@ import { HttpClient } from '@angular/common/http'; import { Inject, LOCALE_ID } from '@angular/core'; import { Injectable } from '@angular/core'; +import { environment } from '../../../environments/environment'; + @Injectable({ providedIn: 'root' }) @@ -9,7 +11,7 @@ export class LanguageService { constructor(private http: HttpClient, @Inject(LOCALE_ID) protected localeId: string) {} getLocale(): string { - return this.localeId || 'en-US'; + return this.localeId || environment.default_lang; } setLocale(lang: string) { diff --git a/src/pybind/mgr/dashboard/frontend/src/environments/environment.tpl.ts b/src/pybind/mgr/dashboard/frontend/src/environments/environment.tpl.ts index 7a1fca4688f..421ae5e5cee 100644 --- a/src/pybind/mgr/dashboard/frontend/src/environments/environment.tpl.ts +++ b/src/pybind/mgr/dashboard/frontend/src/environments/environment.tpl.ts @@ -4,6 +4,7 @@ // The list of which env maps to which file can be found in `.angular-cli.json`. export const environment = { + default_lang: '{DEFAULT_LANG}', production: '{PRODUCTION}', year: '{COPYRIGHT_YEAR}' };