]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/dashboard/frontend/src/app/app.module.ts
import ceph 14.2.5
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / app.module.ts
index 3da5eada655f13679149c058d6ec51c8037d3c03..b05168d276f8e96c8824d8270543cf8dd2c39870 100644 (file)
@@ -1,6 +1,11 @@
-import { registerLocaleData } from '@angular/common';
 import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
-import { ErrorHandler, NgModule } from '@angular/core';
+import {
+  ErrorHandler,
+  LOCALE_ID,
+  NgModule,
+  TRANSLATIONS,
+  TRANSLATIONS_FORMAT
+} from '@angular/core';
 import { BrowserModule } from '@angular/platform-browser';
 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 
@@ -16,17 +21,16 @@ import { AppRoutingModule } from './app-routing.module';
 import { AppComponent } from './app.component';
 import { CephModule } from './ceph/ceph.module';
 import { CoreModule } from './core/core.module';
-import { i18nProviders, LocaleHelper } from './locale.helper';
 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');
 }
 
-registerLocaleData(LocaleHelper.getLocaleData(), LocaleHelper.getLocale());
-
 @NgModule({
   declarations: [AppComponent],
   imports: [
@@ -63,7 +67,19 @@ registerLocaleData(LocaleHelper.getLocaleData(), LocaleHelper.getLocale());
       useClass: ApiInterceptorService,
       multi: true
     },
-    i18nProviders,
+    {
+      provide: TRANSLATIONS,
+      useFactory: (locale) => {
+        locale = locale || environment.default_lang;
+        try {
+          return require(`raw-loader!locale/messages.${locale}.xlf`);
+        } catch (error) {
+          return [];
+        }
+      },
+      deps: [LOCALE_ID]
+    },
+    { provide: TRANSLATIONS_FORMAT, useValue: 'xlf' },
     I18n
   ],
   bootstrap: [AppComponent]