Merge pull request #10680 from vvlladd28/improvement/translate-loader
Improvement translate loader and types
This commit is contained in:
commit
b9e6f26629
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';
|
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
||||||
import { StoreModule } from '@ngrx/store';
|
import { StoreModule } from '@ngrx/store';
|
||||||
import { EffectsModule } from '@ngrx/effects';
|
import { EffectsModule } from '@ngrx/effects';
|
||||||
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
|
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
|
||||||
@ -42,10 +42,6 @@ import { HotkeyModule } from 'angular2-hotkeys';
|
|||||||
import { TranslateDefaultParser } from '@core/translate/translate-default-parser';
|
import { TranslateDefaultParser } from '@core/translate/translate-default-parser';
|
||||||
import { TranslateDefaultLoader } from '@core/translate/translate-default-loader';
|
import { TranslateDefaultLoader } from '@core/translate/translate-default-loader';
|
||||||
|
|
||||||
export function HttpLoaderFactory(http: HttpClient) {
|
|
||||||
return new TranslateDefaultLoader(http);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
@ -59,8 +55,7 @@ export function HttpLoaderFactory(http: HttpClient) {
|
|||||||
TranslateModule.forRoot({
|
TranslateModule.forRoot({
|
||||||
loader: {
|
loader: {
|
||||||
provide: TranslateLoader,
|
provide: TranslateLoader,
|
||||||
useFactory: HttpLoaderFactory,
|
useClass: TranslateDefaultLoader
|
||||||
deps: [HttpClient]
|
|
||||||
},
|
},
|
||||||
missingTranslationHandler: {
|
missingTranslationHandler: {
|
||||||
provide: MissingTranslationHandler,
|
provide: MissingTranslationHandler,
|
||||||
|
|||||||
@ -17,8 +17,9 @@
|
|||||||
import { environment as env } from '@env/environment';
|
import { environment as env } from '@env/environment';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import * as _moment from 'moment';
|
import * as _moment from 'moment';
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
|
||||||
export function updateUserLang(translate: TranslateService, userLang: string, translations = env.supportedLangs) {
|
export function updateUserLang(translate: TranslateService, userLang: string, translations = env.supportedLangs): Observable<any> {
|
||||||
let targetLang = userLang;
|
let targetLang = userLang;
|
||||||
if (!env.production) {
|
if (!env.production) {
|
||||||
console.log(`User lang: ${targetLang}`);
|
console.log(`User lang: ${targetLang}`);
|
||||||
@ -33,8 +34,8 @@ export function updateUserLang(translate: TranslateService, userLang: string, tr
|
|||||||
if (!env.production) {
|
if (!env.production) {
|
||||||
console.log(`Detected supported lang: ${detectedSupportedLang}`);
|
console.log(`Detected supported lang: ${detectedSupportedLang}`);
|
||||||
}
|
}
|
||||||
translate.use(detectedSupportedLang);
|
|
||||||
_moment.locale([detectedSupportedLang]);
|
_moment.locale([detectedSupportedLang]);
|
||||||
|
return translate.use(detectedSupportedLang);
|
||||||
}
|
}
|
||||||
|
|
||||||
function detectSupportedLang(targetLang: string, translations: string[]): string {
|
function detectSupportedLang(targetLang: string, translations: string[]): string {
|
||||||
|
|||||||
@ -17,7 +17,9 @@
|
|||||||
import { TranslateLoader } from '@ngx-translate/core';
|
import { TranslateLoader } from '@ngx-translate/core';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
|
||||||
|
@Injectable({ providedIn: 'root' })
|
||||||
export class TranslateDefaultLoader implements TranslateLoader {
|
export class TranslateDefaultLoader implements TranslateLoader {
|
||||||
|
|
||||||
constructor(private http: HttpClient) {
|
constructor(private http: HttpClient) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user