Просмотр исходного кода

fix(admin-ui): Ensure the translations are loaded when app bootstraps

Michael Bromley 7 лет назад
Родитель
Сommit
a916fe5b5f

+ 3 - 1
admin-ui/src/app/app.module.ts

@@ -10,6 +10,7 @@ import { routes } from './app.routes';
 import { getDefaultLanguage } from './common/utilities/get-default-language';
 import { CoreModule } from './core/core.module';
 import { CustomHttpTranslationLoader } from './core/providers/i18n/custom-http-loader';
+import { I18nService } from './core/providers/i18n/i18n.service';
 import { DataService } from './data/providers/data.service';
 
 export function HttpLoaderFactory(http: HttpClient) {
@@ -35,7 +36,8 @@ export function HttpLoaderFactory(http: HttpClient) {
     bootstrap: [AppComponent],
 })
 export class AppModule {
-    constructor(private dataService: DataService) {
+    constructor(private dataService: DataService, private i18nService: I18nService) {
         this.dataService.client.setUiLanguage(getDefaultLanguage());
+        this.i18nService.setDefaultLanguage(getDefaultLanguage());
     }
 }

+ 4 - 0
admin-ui/src/app/core/providers/i18n/i18n.service.mock.ts

@@ -5,6 +5,10 @@ import { MockOf } from '../../../../testing/testing-types';
 import { I18nService } from './i18n.service';
 
 export class MockI18nService implements MockOf<I18nService> {
+    setDefaultLanguage(languageCode: LanguageCode) {
+        // blank
+    }
+
     setLanguage(language: LanguageCode) {
         // blank
     }

+ 7 - 2
admin-ui/src/app/core/providers/i18n/i18n.service.ts

@@ -6,8 +6,13 @@ import { getDefaultLanguage } from '../../../common/utilities/get-default-langua
 
 @Injectable()
 export class I18nService {
-    constructor(private ngxTranslate: TranslateService) {
-        ngxTranslate.setDefaultLang(getDefaultLanguage());
+    constructor(private ngxTranslate: TranslateService) {}
+
+    /**
+     * Set the default language
+     */
+    setDefaultLanguage(languageCode: LanguageCode) {
+        this.ngxTranslate.setDefaultLang(languageCode);
     }
 
     /**