Skip to content

Commit b88ae65

Browse files
committed
Fix translate. Moved to shared dir
1 parent 4620591 commit b88ae65

File tree

14 files changed

+86
-83
lines changed

14 files changed

+86
-83
lines changed

src/app/app.browser.module.ts

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
// angular
22
import { NgModule } from '@angular/core';
3-
import { BrowserModule, BrowserTransferStateModule, TransferState } from '@angular/platform-browser';
4-
import { HttpClient } from '@angular/common/http';
3+
import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser';
54
// libs
65
import { TransferHttpCacheModule } from '@nguniversal/common';
76
import { REQUEST } from '@nguniversal/express-engine/tokens';
8-
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
97
// shared
108
import { CookieStorage } from '../forStorage/browser.storage';
119
import { AppStorage } from '../forStorage/universal.inject';
1210
// components
13-
import { TranslateBrowserLoader } from './translate-browser-loader.service';
1411
import { AppComponent } from './app.component';
1512
import { AppModule } from './app.module';
13+
import { TranslatesBrowserModule } from '@shared/translates/translates-browser';
1614

1715
// import { ServiceWorkerModule } from '@angular/service-worker';
1816

@@ -21,26 +19,15 @@ export function getRequest(): any {
2119
return { headers: { cookie: document.cookie } };
2220
}
2321

24-
export function exportTranslateStaticLoader(http: HttpClient, transferState: TransferState): TranslateBrowserLoader {
25-
return new TranslateBrowserLoader('/assets/i18n/', '.json', transferState, http);
26-
}
27-
2822
@NgModule({
2923
bootstrap: [AppComponent],
3024
imports: [
3125
BrowserModule.withServerTransition({ appId: 'my-app' }),
3226
TransferHttpCacheModule,
3327
BrowserTransferStateModule,
34-
TranslateModule.forRoot({
35-
loader: {
36-
provide: TranslateLoader,
37-
useFactory: exportTranslateStaticLoader,
38-
deps: [HttpClient, TransferState]
39-
}
40-
}
41-
),
4228
// ServiceWorkerModule.register('/ngsw-worker.js'),
4329
AppModule,
30+
TranslatesBrowserModule
4431
],
4532
providers: [
4633
{

src/app/app.module.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
import { AppRoutes } from './app.routing';
1+
// angular
2+
import { NgModule } from '@angular/core';
23
import { RouterModule } from '@angular/router';
3-
import { TransferHttpModule } from '../modules/transfer-http/transfer-http.module';
4-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
4+
import { HttpClientModule } from '@angular/common/http';
55
import { BrowserModule } from '@angular/platform-browser';
6-
import { NgModule } from '@angular/core';
7-
import { AppComponent } from './app.component';
6+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7+
// libs
88
import { CookieService } from 'ngx-cookie-service';
9-
import { HttpClientModule } from '@angular/common/http';
10-
import { MetaModule, MetaSettings } from '@ngx-meta/core';
11-
import { MetaLoader } from '@ngx-meta/core';
12-
import { MetaStaticLoader } from '@ngx-meta/core';
13-
import { PageTitlePositioning } from '@ngx-meta/core';
9+
import { MetaLoader, MetaModule, MetaSettings, MetaStaticLoader, PageTitlePositioning, } from '@ngx-meta/core';
1410
import { PrebootModule } from 'preboot';
11+
// shared
12+
import { TransferHttpModule } from '../modules/transfer-http/transfer-http.module';
1513
import { SharedModule } from '@shared/shared.module';
14+
// components
15+
import { AppRoutes } from './app.routing';
16+
import { AppComponent } from './app.component';
1617

1718
export function metaFactory(): MetaLoader {
1819
const setting: MetaSettings = {
@@ -50,9 +51,10 @@ export function metaFactory(): MetaLoader {
5051
provide: MetaLoader,
5152
useFactory: metaFactory,
5253
deps: []
53-
})
54+
}),
5455
],
5556
providers: [CookieService],
5657
bootstrap: [AppComponent]
5758
})
58-
export class AppModule { }
59+
export class AppModule {
60+
}

src/app/app.server.module.ts

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,27 @@
11
// angular
22
import { NgModule } from '@angular/core';
33
import { ServerModule, ServerTransferStateModule } from '@angular/platform-server';
4-
import { TransferState } from '@angular/platform-browser';
54
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
65
// libs
76
import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader';
8-
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
97
import 'rxjs/add/operator/filter';
108
import 'rxjs/add/operator/first';
119
// shared
1210
import { UniversalStorage } from '../forStorage/server.storage';
1311
import { AppStorage } from '../forStorage/universal.inject';
12+
import { TranslatesServerModule } from '@shared/translates/translates-server';
1413
// components
15-
import { TranslateServerLoader } from './translate-server-loader.service';
1614
import { AppComponent } from './app.component';
1715
import { AppModule } from './app.module';
1816

19-
20-
export function translateFactory(transferState: TransferState): TranslateServerLoader {
21-
return new TranslateServerLoader('./dist/assets/i18n', '.json', transferState);
22-
}
23-
2417
@NgModule({
2518
imports: [
2619
AppModule,
2720
NoopAnimationsModule,
2821
ServerTransferStateModule,
2922
ServerModule,
3023
ModuleMapLoaderModule,
31-
TranslateModule.forRoot({
32-
loader: {
33-
provide: TranslateLoader,
34-
useFactory: translateFactory,
35-
deps: [TransferState]
36-
}
37-
}),
24+
TranslatesServerModule
3825
],
3926
bootstrap: [AppComponent],
4027
providers: [

src/app/shared/layouts/toolbar/toolbar.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, OnInit } from '@angular/core';
22

3-
import { TranslatesService } from '@shared/translates/translates.service';
3+
import { TranslatesService } from '@shared/translates';
44

55
const LANGUAGES: any[] = [
66
{ value: 'ru', name: 'Русский' },

src/app/shared/shared.module.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import { ModuleWithProviders, NgModule } from '@angular/core';
22

33
import { LayoutsModule } from './layouts/layouts.module';
4-
import { TranslatesModule } from './translates/translates.module';
54

65
@NgModule({
76
exports: [
87
LayoutsModule,
9-
TranslatesModule
108
],
119
providers: []
1210
})

src/app/shared/translates/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { TranslatesService } from './translates.service';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { TranslatesBrowserModule } from './translates-browser.module';

src/app/translate-browser-loader.service.ts renamed to src/app/shared/translates/translates-browser/translates-browser-loader.service.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
// angular
21
import { HttpClient } from '@angular/common/http';
32
import { makeStateKey, StateKey, TransferState } from '@angular/platform-browser';
4-
// libs
3+
54
import { TranslateLoader } from '@ngx-translate/core';
65
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
76
import { Observable } from 'rxjs/Observable';
87

9-
export class TranslateBrowserLoader implements TranslateLoader {
8+
export class TranslatesBrowserLoaderService implements TranslateLoader {
109
constructor(private prefix: string = 'i18n',
1110
private suffix: string = '.json',
1211
private transferState: TransferState,
1312
private http: HttpClient) {
1413
}
1514

1615
public getTranslation(lang: string): Observable<any> {
17-
const key: StateKey<number> = makeStateKey<number>('transfer-translate-' + lang);
16+
const key: StateKey<number> = makeStateKey<number>(`transfer-translate-${lang}`);
1817
const data = this.transferState.get(key, null);
1918
if (data) {
2019
return Observable.create(observer => {
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { NgModule } from '@angular/core';
2+
import { HttpClient } from '@angular/common/http';
3+
import { TransferState } from '@angular/platform-browser';
4+
5+
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
6+
7+
import { TranslatesService } from '@shared/translates/translates.service';
8+
import { TranslatesBrowserLoaderService } from './translates-browser-loader.service';
9+
10+
export function translateStaticLoader(http: HttpClient, transferState: TransferState): TranslatesBrowserLoaderService {
11+
return new TranslatesBrowserLoaderService('/assets/i18n/', '.json', transferState, http);
12+
}
13+
14+
@NgModule({
15+
imports: [
16+
TranslateModule.forRoot({
17+
loader: {
18+
provide: TranslateLoader,
19+
useFactory: translateStaticLoader,
20+
deps: [HttpClient, TransferState]
21+
}
22+
}
23+
),
24+
],
25+
providers: [TranslatesService]
26+
})
27+
export class TranslatesBrowserModule {
28+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { TranslatesServerModule } from './translates-server.module';

0 commit comments

Comments
 (0)