From c49ac847d6922a1ac709c4f7f853a77fed524631 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 24 Jan 2018 16:02:18 -0500 Subject: [PATCH] i18n from main proc as well --- src/app/services/services.module.ts | 2 +- src/main.ts | 6 +++++- src/services/i18n.service.ts | 8 +++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/app/services/services.module.ts b/src/app/services/services.module.ts index 8ab7b7ca7f..d82322519a 100644 --- a/src/app/services/services.module.ts +++ b/src/app/services/services.module.ts @@ -56,7 +56,7 @@ import { webFrame.registerURLSchemeAsPrivileged('file'); -const i18nService = new I18nService(window, './_locales'); +const i18nService = new I18nService(window.navigator.language, './_locales'); const utilsService = new UtilsService(); const platformUtilsService = new DesktopPlatformUtilsService(); const messagingService = new DesktopMessagingService(); diff --git a/src/main.ts b/src/main.ts index 8d0fa1a3a8..fdc9228e22 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import { app, BrowserWindow, screen, ipcMain } from 'electron'; +import { app, BrowserWindow, ipcMain, screen } from 'electron'; import * as path from 'path'; import * as url from 'url'; /* @@ -26,6 +26,10 @@ ipcMain.on('keytar', async (event: any, message: any) => { }); */ +import { I18nService } from './services/i18n.service'; +const i18nService = new I18nService('en', './_locales/'); +i18nService.init().then(() => { }); + let win: BrowserWindow; const args = process.argv.slice(1); const watch = args.some((val) => val === '--watch'); diff --git a/src/services/i18n.service.ts b/src/services/i18n.service.ts index 4d0d3b8602..621abad8b7 100644 --- a/src/services/i18n.service.ts +++ b/src/services/i18n.service.ts @@ -8,12 +8,10 @@ const SupportedLocales = [ export class I18nService { defaultMessages: any = {}; localeMessages: any = {}; - systemLanguage: string; language: string; inited: boolean; - constructor(win: Window, private localesDirectory: string) { - this.systemLanguage = win.navigator.language; + constructor(private systemLanguage: string, private localesDirectory: string) { } async init(language?: string) { @@ -39,10 +37,10 @@ export class I18nService { } t(id: string): string { - return this.translation(id); + return this.translate(id); } - translation(id: string): string { + translate(id: string): string { if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) { return this.localeMessages[id]; } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {