From c825e1c7a6fa1aa8f1c430384620ffd0addf25f8 Mon Sep 17 00:00:00 2001 From: Lvbo163 Date: Thu, 11 Jan 2018 10:57:14 +0800 Subject: add internationalization add i18n for internationalization Issue-ID: SDC-901 Change-Id: I2784194b0fbf1f1b3de9dd03feb33d03ba495e15 Signed-off-by: Lvbo163 --- sdc-workflow-designer-ui/src/app/app.component.ts | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'sdc-workflow-designer-ui/src/app/app.component.ts') diff --git a/sdc-workflow-designer-ui/src/app/app.component.ts b/sdc-workflow-designer-ui/src/app/app.component.ts index ad61d636..4a58b5ef 100644 --- a/sdc-workflow-designer-ui/src/app/app.component.ts +++ b/sdc-workflow-designer-ui/src/app/app.component.ts @@ -16,6 +16,8 @@ import { WorkflowService } from "./services/workflow.service"; import { WorkflowNode } from "./model/workflow/workflow-node"; import { DataAccessService } from "./services/data-access/data-access.service"; import { ActivatedRoute } from "@angular/router"; +import { TranslateService } from '@ngx-translate/core'; +import { BroadcastService } from './services/broadcast.service'; @Component({ selector: 'app-root', @@ -23,5 +25,28 @@ import { ActivatedRoute } from "@angular/router"; styleUrls: ['./app.component.css'] }) export class AppComponent { + public isLoading = true; + constructor(translate: TranslateService, private broadcastService: BroadcastService) { + // Init the I18n function. + // this language will be used as a fallback when a translation isn't found in the current language + translate.setDefaultLang('en'); + // the lang to use, if the lang isn't available, it will use the current loader to get them + const topWin: any = window.top; + let browserLang = ''; + if (topWin.getLanguage && typeof topWin.getLanguage == 'function') { + browserLang = topWin.getLanguage() || ''; + } else { + // browserLang = translate.getBrowserCultureLang() || ''; + // by default, window.navigator.languages will return a language list with the users prefered language as the first one. + // then, browserLang may with the result of translate.getBrowserCultureLang(). + // but chrome version 57 not implement this functional. The first is not the user's prefered. + // So, browserLang can only use window.navigator.language as the user's prefered language. + browserLang = window.navigator.language; + } + translate.use(browserLang); + this.broadcastService.updateModelRestConfig$.subscribe(model=>{ + this.isLoading = false; + }); + } } -- cgit 1.2.3-korg