From 4360bb8b2c1bcbcec2169348d3c957b4d324b3b5 Mon Sep 17 00:00:00 2001 From: Aleksandr Serenko Date: Sun, 16 Feb 2020 11:33:47 +0700 Subject: [PATCH] Part integration --- .../src/app/app.browser.module.ts | 12 +++++++++--- .../src/app/app.server.module.ts | 13 +++++++++---- .../common-styles/src/app/core/core.module.ts | 5 +++++ .../forms/src/app/app.browser.module.ts | 12 +++++++++--- .../forms/src/app/app.server.module.ts | 13 +++++++++---- .../forms/src/app/core/core.module.ts | 6 +++++- .../graphql/src/app/app.browser.module.ts | 12 +++++++++--- .../graphql/src/app/app.server.module.ts | 13 +++++++++---- .../graphql/src/app/core/core.module.ts | 6 +++++- .../markup/src/app/app.browser.module.ts | 12 +++++++++--- .../markup/src/app/app.server.module.ts | 13 +++++++++---- .../markup/src/app/core/core.module.ts | 5 +++++ .../responsive/src/app/app.browser.module.ts | 12 +++++++++--- .../responsive/src/app/app.server.module.ts | 13 +++++++++---- .../responsive/src/app/core/core.module.ts | 5 +++++ .../shared/src/app/app.browser.module.ts | 12 +++++++++--- .../shared/src/app/app.server.module.ts | 13 +++++++++---- .../shared/src/app/core/core.module.ts | 5 +++++ .../store/src/app/app.browser.module.ts | 12 +++++++++--- .../store/src/app/app.server.module.ts | 13 +++++++++---- .../store/src/app/core/core.module.ts | 5 +++++ .../theming/src/app/app.browser.module.ts | 12 +++++++++--- .../theming/src/app/app.server.module.ts | 13 +++++++++---- .../theming/src/app/core/core.module.ts | 5 +++++ .../src/app/app.browser.module.ts | 12 +++++++++--- .../src/app/app.server.module.ts | 13 +++++++++---- .../src/app/core/core.module.ts | 7 ++++++- apps/frontend/translation/server.ts | 1 + .../translation/src/app/app.browser.module.ts | 13 +++++++++---- .../translation/src/app/app.module.ts | 8 -------- .../translation/src/app/app.server.module.ts | 19 +++++++++++++++---- .../translation/src/app/core/core.module.ts | 17 ++++++++++++++++- .../translation/src/lib/translation.module.ts | 12 +++++++++++- 33 files changed, 260 insertions(+), 84 deletions(-) diff --git a/apps/frontend/common-styles/src/app/app.browser.module.ts b/apps/frontend/common-styles/src/app/app.browser.module.ts index 4257d7f..efe8ac1 100644 --- a/apps/frontend/common-styles/src/app/app.browser.module.ts +++ b/apps/frontend/common-styles/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/common-styles/src/app/app.server.module.ts b/apps/frontend/common-styles/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/common-styles/src/app/app.server.module.ts +++ b/apps/frontend/common-styles/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/common-styles/src/app/core/core.module.ts b/apps/frontend/common-styles/src/app/core/core.module.ts index 52ddced..61fa9b8 100644 --- a/apps/frontend/common-styles/src/app/core/core.module.ts +++ b/apps/frontend/common-styles/src/app/core/core.module.ts @@ -6,7 +6,9 @@ import { NxModule } from '@nrwl/angular'; import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreRoutes } from './core.common'; @NgModule({ @@ -14,6 +16,9 @@ import { coreContainers, coreRoutes } from './core.common'; CommonModule, StorageModule.forRoot(), NxModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), RouterModule.forRoot(coreRoutes, { initialNavigation: 'enabled' }), RootStoreModule, TranslateModule diff --git a/apps/frontend/forms/src/app/app.browser.module.ts b/apps/frontend/forms/src/app/app.browser.module.ts index 70139e6..e668b36 100644 --- a/apps/frontend/forms/src/app/app.browser.module.ts +++ b/apps/frontend/forms/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX, TranslationModule } from '@medium-stories/translation'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/forms/src/app/app.server.module.ts b/apps/frontend/forms/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/forms/src/app/app.server.module.ts +++ b/apps/frontend/forms/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/forms/src/app/core/core.module.ts b/apps/frontend/forms/src/app/core/core.module.ts index 14a007f..14d1ade 100644 --- a/apps/frontend/forms/src/app/core/core.module.ts +++ b/apps/frontend/forms/src/app/core/core.module.ts @@ -3,7 +3,6 @@ import localeEn from '@angular/common/locales/en'; import localeRu from '@angular/common/locales/ru'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { StorageModule } from '@medium-stories/storage'; import { TranslateModule } from '@ngx-translate/core'; import { NxModule } from '@nrwl/angular'; import { APOLLO_OPTIONS, ApolloModule } from 'apollo-angular'; @@ -13,7 +12,9 @@ import { InMemoryCache } from 'apollo-cache-inmemory'; import { API_SOURCES, APP_DIST } from '@medium-stories/common'; import { FOOTER_GROUPS_LINKS, FOOTER_NAV_LINKS, LayoutsCoreModule, NAV_LINKS } from '@medium-stories/layouts'; import { RESPONSIVE_SIZE_DEFAULT, ResponsiveModule } from '@medium-stories/responsive'; +import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; import { environment } from '../../environments/environment'; import { coreContainers, coreFooterGroupsLinks, coreFooterNavLinks, coreNavLinks, coreRoutes } from './core.common'; @@ -33,6 +34,9 @@ export function createApollo(httpLink: HttpLink) { NxModule.forRoot(), LayoutsCoreModule, StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), ResponsiveModule.forRoot({ mode: { mobile: 'lg', diff --git a/apps/frontend/graphql/src/app/app.browser.module.ts b/apps/frontend/graphql/src/app/app.browser.module.ts index 70139e6..e668b36 100644 --- a/apps/frontend/graphql/src/app/app.browser.module.ts +++ b/apps/frontend/graphql/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX, TranslationModule } from '@medium-stories/translation'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/graphql/src/app/app.server.module.ts b/apps/frontend/graphql/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/graphql/src/app/app.server.module.ts +++ b/apps/frontend/graphql/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/graphql/src/app/core/core.module.ts b/apps/frontend/graphql/src/app/core/core.module.ts index 14a007f..14d1ade 100644 --- a/apps/frontend/graphql/src/app/core/core.module.ts +++ b/apps/frontend/graphql/src/app/core/core.module.ts @@ -3,7 +3,6 @@ import localeEn from '@angular/common/locales/en'; import localeRu from '@angular/common/locales/ru'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { StorageModule } from '@medium-stories/storage'; import { TranslateModule } from '@ngx-translate/core'; import { NxModule } from '@nrwl/angular'; import { APOLLO_OPTIONS, ApolloModule } from 'apollo-angular'; @@ -13,7 +12,9 @@ import { InMemoryCache } from 'apollo-cache-inmemory'; import { API_SOURCES, APP_DIST } from '@medium-stories/common'; import { FOOTER_GROUPS_LINKS, FOOTER_NAV_LINKS, LayoutsCoreModule, NAV_LINKS } from '@medium-stories/layouts'; import { RESPONSIVE_SIZE_DEFAULT, ResponsiveModule } from '@medium-stories/responsive'; +import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; import { environment } from '../../environments/environment'; import { coreContainers, coreFooterGroupsLinks, coreFooterNavLinks, coreNavLinks, coreRoutes } from './core.common'; @@ -33,6 +34,9 @@ export function createApollo(httpLink: HttpLink) { NxModule.forRoot(), LayoutsCoreModule, StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), ResponsiveModule.forRoot({ mode: { mobile: 'lg', diff --git a/apps/frontend/markup/src/app/app.browser.module.ts b/apps/frontend/markup/src/app/app.browser.module.ts index 70139e6..b9963d8 100644 --- a/apps/frontend/markup/src/app/app.browser.module.ts +++ b/apps/frontend/markup/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/markup/src/app/app.server.module.ts b/apps/frontend/markup/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/markup/src/app/app.server.module.ts +++ b/apps/frontend/markup/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/markup/src/app/core/core.module.ts b/apps/frontend/markup/src/app/core/core.module.ts index dffae12..88bacf3 100644 --- a/apps/frontend/markup/src/app/core/core.module.ts +++ b/apps/frontend/markup/src/app/core/core.module.ts @@ -8,6 +8,8 @@ import { FOOTER_GROUPS_LINKS, FOOTER_NAV_LINKS, NAV_LINKS } from '@medium-storie import { RESPONSIVE_SIZE_DEFAULT, ResponsiveModule } from '@medium-stories/responsive'; import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreFooterGroupsLinks, coreFooterNavLinks, coreNavLinks, coreRoutes } from './core.common'; @@ -16,6 +18,9 @@ import { coreContainers, coreFooterGroupsLinks, coreFooterNavLinks, coreNavLinks CommonModule, NxModule.forRoot(), StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), ResponsiveModule.forRoot({ mode: { mobile: 'lg', diff --git a/apps/frontend/responsive/src/app/app.browser.module.ts b/apps/frontend/responsive/src/app/app.browser.module.ts index 4257d7f..efe8ac1 100644 --- a/apps/frontend/responsive/src/app/app.browser.module.ts +++ b/apps/frontend/responsive/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/responsive/src/app/app.server.module.ts b/apps/frontend/responsive/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/responsive/src/app/app.server.module.ts +++ b/apps/frontend/responsive/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/responsive/src/app/core/core.module.ts b/apps/frontend/responsive/src/app/core/core.module.ts index 3bec25f..19fdb02 100644 --- a/apps/frontend/responsive/src/app/core/core.module.ts +++ b/apps/frontend/responsive/src/app/core/core.module.ts @@ -7,7 +7,9 @@ import { NxModule } from '@nrwl/angular'; import { ResponsiveModule } from '@medium-stories/responsive'; import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreRoutes } from './core.common'; @NgModule({ @@ -15,6 +17,9 @@ import { coreContainers, coreRoutes } from './core.common'; CommonModule, NxModule.forRoot(), StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), ResponsiveModule.forRoot(), RouterModule.forRoot(coreRoutes, { initialNavigation: 'enabled' }), RootStoreModule, diff --git a/apps/frontend/shared/src/app/app.browser.module.ts b/apps/frontend/shared/src/app/app.browser.module.ts index 4257d7f..efe8ac1 100644 --- a/apps/frontend/shared/src/app/app.browser.module.ts +++ b/apps/frontend/shared/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/shared/src/app/app.server.module.ts b/apps/frontend/shared/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/shared/src/app/app.server.module.ts +++ b/apps/frontend/shared/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/shared/src/app/core/core.module.ts b/apps/frontend/shared/src/app/core/core.module.ts index 3bec25f..19fdb02 100644 --- a/apps/frontend/shared/src/app/core/core.module.ts +++ b/apps/frontend/shared/src/app/core/core.module.ts @@ -7,7 +7,9 @@ import { NxModule } from '@nrwl/angular'; import { ResponsiveModule } from '@medium-stories/responsive'; import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreRoutes } from './core.common'; @NgModule({ @@ -15,6 +17,9 @@ import { coreContainers, coreRoutes } from './core.common'; CommonModule, NxModule.forRoot(), StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), ResponsiveModule.forRoot(), RouterModule.forRoot(coreRoutes, { initialNavigation: 'enabled' }), RootStoreModule, diff --git a/apps/frontend/store/src/app/app.browser.module.ts b/apps/frontend/store/src/app/app.browser.module.ts index 4257d7f..8c5ede1 100644 --- a/apps/frontend/store/src/app/app.browser.module.ts +++ b/apps/frontend/store/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/store/src/app/app.server.module.ts b/apps/frontend/store/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/store/src/app/app.server.module.ts +++ b/apps/frontend/store/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/store/src/app/core/core.module.ts b/apps/frontend/store/src/app/core/core.module.ts index 17c9ff1..0708b7d 100644 --- a/apps/frontend/store/src/app/core/core.module.ts +++ b/apps/frontend/store/src/app/core/core.module.ts @@ -6,7 +6,9 @@ import { NxModule } from '@nrwl/angular'; import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreRoutes } from './core.common'; @NgModule({ @@ -14,6 +16,9 @@ import { coreContainers, coreRoutes } from './core.common'; CommonModule, NxModule.forRoot(), StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), RouterModule.forRoot(coreRoutes, { initialNavigation: 'enabled' }), RootStoreModule, TranslateModule diff --git a/apps/frontend/theming/src/app/app.browser.module.ts b/apps/frontend/theming/src/app/app.browser.module.ts index 4257d7f..8c5ede1 100644 --- a/apps/frontend/theming/src/app/app.browser.module.ts +++ b/apps/frontend/theming/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/theming/src/app/app.server.module.ts b/apps/frontend/theming/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/theming/src/app/app.server.module.ts +++ b/apps/frontend/theming/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/theming/src/app/core/core.module.ts b/apps/frontend/theming/src/app/core/core.module.ts index 17c9ff1..0708b7d 100644 --- a/apps/frontend/theming/src/app/core/core.module.ts +++ b/apps/frontend/theming/src/app/core/core.module.ts @@ -6,7 +6,9 @@ import { NxModule } from '@nrwl/angular'; import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreRoutes } from './core.common'; @NgModule({ @@ -14,6 +16,9 @@ import { coreContainers, coreRoutes } from './core.common'; CommonModule, NxModule.forRoot(), StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), RouterModule.forRoot(coreRoutes, { initialNavigation: 'enabled' }), RootStoreModule, TranslateModule diff --git a/apps/frontend/translation-state/src/app/app.browser.module.ts b/apps/frontend/translation-state/src/app/app.browser.module.ts index 4257d7f..8c5ede1 100644 --- a/apps/frontend/translation-state/src/app/app.browser.module.ts +++ b/apps/frontend/translation-state/src/app/app.browser.module.ts @@ -1,8 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { environment } from '../environments/environment'; import { AppModule } from './app.module'; @@ -14,8 +16,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] ], diff --git a/apps/frontend/translation-state/src/app/app.server.module.ts b/apps/frontend/translation-state/src/app/app.server.module.ts index 12e0bf0..399244d 100644 --- a/apps/frontend/translation-state/src/app/app.server.module.ts +++ b/apps/frontend/translation-state/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], diff --git a/apps/frontend/translation-state/src/app/core/core.module.ts b/apps/frontend/translation-state/src/app/core/core.module.ts index 22cec5d..43c2116 100644 --- a/apps/frontend/translation-state/src/app/core/core.module.ts +++ b/apps/frontend/translation-state/src/app/core/core.module.ts @@ -1,13 +1,15 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { RESPONSIVE_SIZE_DEFAULT, ResponsiveModule } from '@medium-stories/responsive'; import { TranslateModule } from '@ngx-translate/core'; import { NxModule } from '@nrwl/angular'; +import { RESPONSIVE_SIZE_DEFAULT, ResponsiveModule } from '@medium-stories/responsive'; import { StorageModule } from '@medium-stories/storage'; import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreRoutes } from './core.common'; @NgModule({ @@ -15,6 +17,9 @@ import { coreContainers, coreRoutes } from './core.common'; CommonModule, NxModule.forRoot(), StorageModule.forRoot(), + TranslationModule.forRoot({ + config: environment.translation + }), ResponsiveModule.forRoot({ mode: { mobile: 'lg', diff --git a/apps/frontend/translation/server.ts b/apps/frontend/translation/server.ts index 0f279d5..8170512 100644 --- a/apps/frontend/translation/server.ts +++ b/apps/frontend/translation/server.ts @@ -39,6 +39,7 @@ export function app() { // All regular routes use the Universal engine server.get('*', (req, res) => { + req.cookies = req.headers.cookie; res.render(indexHtml, { req, providers: [ diff --git a/apps/frontend/translation/src/app/app.browser.module.ts b/apps/frontend/translation/src/app/app.browser.module.ts index d13552f..d290050 100644 --- a/apps/frontend/translation/src/app/app.browser.module.ts +++ b/apps/frontend/translation/src/app/app.browser.module.ts @@ -1,9 +1,10 @@ +import { HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { BrowserTranslationModule } from '@medium-stories/translation'; +import { translateHttpFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,8 +14,12 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, BrowserAnimationsModule, - BrowserTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: translateHttpFactory, + deps: [HttpClient, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }) ], bootstrap: [AppComponent] diff --git a/apps/frontend/translation/src/app/app.module.ts b/apps/frontend/translation/src/app/app.module.ts index cc56ce6..e3dec5c 100644 --- a/apps/frontend/translation/src/app/app.module.ts +++ b/apps/frontend/translation/src/app/app.module.ts @@ -3,20 +3,12 @@ import { NgModule } from '@angular/core'; import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser'; import { TransferHttpCacheModule } from '@nguniversal/common'; -import { APP_DIST } from '@medium-stories/common'; - @NgModule({ imports: [ BrowserModule.withServerTransition({ appId: 'medium-stories' }), HttpClientModule, BrowserTransferStateModule, TransferHttpCacheModule - ], - providers: [ - { - provide: APP_DIST, // need to get translation path on Universal - useValue: 'frontend/translation' - } ] }) export class AppModule {} diff --git a/apps/frontend/translation/src/app/app.server.module.ts b/apps/frontend/translation/src/app/app.server.module.ts index 12e0bf0..d8125c6 100644 --- a/apps/frontend/translation/src/app/app.server.module.ts +++ b/apps/frontend/translation/src/app/app.server.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ServerTranslationModule } from '@medium-stories/translation'; +import { APP_DIST } from '@medium-stories/common'; +import { serverTranslateFactory, TRANSLATION_PREFIX, TRANSLATION_SUFFIX } from '@medium-stories/translation'; -import { environment } from '../environments/environment'; import { AppModule } from './app.module'; import { AppComponent } from './core/containers/app/app.component'; import { CoreModule } from './core/core.module'; @@ -13,11 +14,21 @@ import { CoreModule } from './core/core.module'; AppModule, CoreModule, ServerModule, - ServerTranslationModule.forRoot({ - config: environment.translation + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: serverTranslateFactory, + deps: [APP_DIST, TRANSLATION_PREFIX, TRANSLATION_SUFFIX] + } }), ServerTransferStateModule ], + providers: [ + { + provide: APP_DIST, // need to get translation path on Universal + useValue: 'frontend/translation' + } + ], bootstrap: [AppComponent] }) export class AppServerModule {} diff --git a/apps/frontend/translation/src/app/core/core.module.ts b/apps/frontend/translation/src/app/core/core.module.ts index 82cf916..476b1a6 100644 --- a/apps/frontend/translation/src/app/core/core.module.ts +++ b/apps/frontend/translation/src/app/core/core.module.ts @@ -1,13 +1,28 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { NxModule } from '@nrwl/angular'; import { StorageModule } from '@medium-stories/storage'; +import { RootStoreModule } from '@medium-stories/store'; +import { TranslationModule } from '@medium-stories/translation'; +import { environment } from '../../environments/environment'; import { coreContainers, coreRoutes } from './core.common'; @NgModule({ - imports: [CommonModule, StorageModule.forRoot(), RouterModule.forRoot(coreRoutes, { initialNavigation: 'enabled' })], + imports: [ + CommonModule, + NxModule.forRoot(), + StorageModule.forRoot(), + RootStoreModule, + TranslationModule.forRoot({ + config: environment.translation + }), + RouterModule.forRoot(coreRoutes, { initialNavigation: 'enabled' }), + !environment.production ? StoreDevtoolsModule.instrument({ logOnly: environment.production }) : [] + ], declarations: [...coreContainers] }) export class CoreModule {} diff --git a/libs/translation/src/lib/translation.module.ts b/libs/translation/src/lib/translation.module.ts index 547f0d8..25cbd21 100644 --- a/libs/translation/src/lib/translation.module.ts +++ b/libs/translation/src/lib/translation.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule } from '@angular/core'; +import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'; import { EffectsModule } from '@ngrx/effects'; import { StoreModule } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; @@ -14,6 +14,10 @@ import { BaseTranslationStorage } from './services/base-translation-storage.serv import { BaseTranslationService } from './services/base-translation.service'; import { TRANSLATION_CONFIG_DEFAULT, TRANSLATION_PREFIX_DEFAULT, TRANSLATION_SUFFIX_DEFAULT } from './translation.common'; +export function translationLoader(translationFacade: TranslationFacade) { + return () => translationFacade.init(); +} + @NgModule({ imports: [ TranslateModule, @@ -46,6 +50,12 @@ export class TranslationModule { { provide: TranslationStorage, useClass: options.storage || BaseTranslationStorage + }, + { + provide: APP_INITIALIZER, + useFactory: translationLoader, + deps: [TranslationFacade], + multi: true } ] };