]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/dashboard: frontend: default language option in environment
authorRicardo Dias <rdias@suse.com>
Mon, 7 Oct 2019 11:48:58 +0000 (12:48 +0100)
committerRicardo Dias <rdias@suse.com>
Thu, 10 Oct 2019 15:03:32 +0000 (16:03 +0100)
Signed-off-by: Ricardo Dias <rdias@suse.com>
src/pybind/mgr/dashboard/frontend/environment.build.js
src/pybind/mgr/dashboard/frontend/src/app/app.module.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/services/language.service.ts
src/pybind/mgr/dashboard/frontend/src/environments/environment.tpl.ts

index 87a6e712bf03b8b5aa31cb7acd718f8aa42be759..54253fbec4f44a13875b7d7480b988164afe6d08 100755 (executable)
@@ -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) {
index fc4796a4ca555ed046430ff62f89cb0c03bb0492..3b6e44f3175bad3f730b3c8c4d5b955abbaa2a72 100644 (file)
@@ -28,6 +28,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');
 }
@@ -74,7 +76,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`).default;
         } catch (error) {
index 80b602a5758f94db7b9d507b147f06db95ddbde5..438817103ea03da540128802055c10456745669f 100644 (file)
@@ -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) {
index 7a1fca4688f7248165433233ac95dc48cb0b496b..421ae5e5ceebe16741115db16db1d49fbb6b37b8 100644 (file)
@@ -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}'
 };