load locale files by require
This commit is contained in:
parent
2ab23c2c9e
commit
e42bf66b2f
|
@ -1,5 +1,8 @@
|
|||
{
|
||||
"hello": {
|
||||
"message": "hello"
|
||||
},
|
||||
"world": {
|
||||
"message": "world"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ import { webFrame } from 'electron';
|
|||
|
||||
import {
|
||||
APP_INITIALIZER,
|
||||
NgModule
|
||||
NgModule,
|
||||
} from '@angular/core';
|
||||
|
||||
import { DesktopMessagingService } from '../../services/desktopMessaging.service';
|
||||
|
@ -112,8 +112,8 @@ function initFactory(i18n: I18nService): Function {
|
|||
provide: APP_INITIALIZER,
|
||||
useFactory: initFactory,
|
||||
deps: [I18nService],
|
||||
multi: true
|
||||
}
|
||||
multi: true,
|
||||
},
|
||||
],
|
||||
})
|
||||
export class ServicesModule {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import * as path from 'path';
|
||||
|
||||
// First locale is the default (English)
|
||||
const SupportedLocales = [
|
||||
'en', 'es',
|
||||
|
@ -49,14 +51,16 @@ export class I18nService {
|
|||
return '';
|
||||
}
|
||||
|
||||
private async loadMessages(locale: string, messagesObj: any): Promise<any> {
|
||||
private loadMessages(locale: string, messagesObj: any): Promise<any> {
|
||||
const formattedLocale = locale.replace('-', '_');
|
||||
const file = await fetch(this.localesDirectory + '/' + formattedLocale + '/messages.json');
|
||||
const locales = await file.json();
|
||||
const filePath = path.join(__dirname, this.localesDirectory + '/' + formattedLocale + '/messages.json');
|
||||
const locales = (window as any).require(filePath);
|
||||
for (const prop in locales) {
|
||||
if (locales.hasOwnProperty(prop)) {
|
||||
messagesObj[prop] = locales[prop].message;
|
||||
}
|
||||
}
|
||||
|
||||
return Promise.resolve();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue