Skip to content

Instantly share code, notes, and snippets.

import {HttpClient} from "@angular/common/http";
import {TranslateLoader} from "@ngx-translate/core";
import {Observable} from 'rxjs';
export class TranslateHttpLoader implements TranslateLoader {
constructor(private http: HttpClient, public prefix: string = "/assets/i18n/", public suffix: string = ".json") {}
/**
* Gets the translations from the server
*/
"assets": [
"src/favicon.ico",
"src/assets",
{
"glob": "**/*.*",
"input": "src/app/core/i18n/common",
"output": "assets/i18n/common"
},
{
"glob": "**/*.*",
@NgModule({
declarations: [
FeatureOneComponent
],
imports: [
CommonModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (httpClient: HttpClient) =>
export class TranslationLoaderService extends TranslateLoader {
constructor(private http: HttpClient, private moduleName: string) {
super();
}
getTranslation(lang: string): Observable<any> {
return forkJoin({
moduleTranslation: this.http.get(`/assets/i18n/${moduleName}/${lang}.json`),
commonTranslation: this.http.get(`/assets/i18n/commons/${lang}.json`))
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
@NgModule({
imports: [
BrowserModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
import {Injectable} from "@angular/core";
import {Observable, of} from "rxjs";
export abstract class TranslateLoader {
abstract getTranslation(lang: string): Observable<any>;
}
import {HttpClient} from "@angular/common/http";
import {TranslateLoader} from "@ngx-translate/core";
import {Observable} from 'rxjs';
export class TranslateHttpLoader implements TranslateLoader {
constructor(private http: HttpClient, public prefix: string = "/assets/i18n/", public suffix: string = ".json") {}
/**
* Gets the translations from the server
*/