diff --git a/angular-lib/src/angular/modules/translate.module.ts b/angular-lib/src/angular/modules/translate.module.ts index 183dd93..af7ca69 100644 --- a/angular-lib/src/angular/modules/translate.module.ts +++ b/angular-lib/src/angular/modules/translate.module.ts @@ -1,17 +1,18 @@ import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; -import { TranslateHttpLoader } from '@ngx-translate/http-loader'; -import { HttpClient } from '@angular/common/http'; +import { Observable, from, of } from 'rxjs'; +import { catchError } from 'rxjs/operators' -export function createTranslateLoader(http: HttpClient) { - return new TranslateHttpLoader(http, './assets/i18n/', '.json'); -} +export class LazyTranslateLoader implements TranslateLoader { + getTranslation(lang: string): Observable<any> { + return from(import(`../../../../.ng/src/i18n/${lang}.json`)).pipe(catchError(err=>of({}))); + } + } export function getTranslateModule() { return TranslateModule.forRoot({ loader: { provide: TranslateLoader, - useFactory: (createTranslateLoader), - deps: [HttpClient] + useClass: (LazyTranslateLoader) } }); } diff --git a/base/base/.ng/src/assets/i18n/.keep b/base/base/.ng/src/i18n/.keep similarity index 100% rename from base/base/.ng/src/assets/i18n/.keep rename to base/base/.ng/src/i18n/.keep diff --git a/cli/scripts/extract-labels.js b/cli/scripts/extract-labels.js index db49fc0..20314f4 100644 --- a/cli/scripts/extract-labels.js +++ b/cli/scripts/extract-labels.js @@ -7,7 +7,7 @@ const {cwd, appBaseDir, workNg, work} = require("../lib/dirs"); syncNgDir() .then(() => extractLabels([ `--input`, `${work}/src`, - `--output`, `${work}/src/assets/i18n/labels.json`, + `--output`, `${work}/src/i18n/labels.json`, `--clean`,`--sort`, `--format`, `namespaced-json` ])) .catch(error => {