Giter Site home page Giter Site logo

Multiple lang files about http-loader HOT 6 OPEN

ngx-translate avatar ngx-translate commented on May 18, 2024 2
Multiple lang files

from http-loader.

Comments (6)

larscom avatar larscom commented on May 18, 2024 3

I've created a lib for this:
https://github.com/larscom/ngx-translate-module-loader

from http-loader.

danielhanzs avatar danielhanzs commented on May 18, 2024 2

HI, I'm using a multi translate custom class

`import { HttpClient } from '@angular/common/http';
import { TranslateLoader } from '@ngx-translate/core';
import { forkJoin } from 'rxjs';
import { map } from 'rxjs/operators';
import * as R from 'ramda';
import { environment } from '../../environments/environment';

export function translateLoader(http: HttpClient) {
return new MultiTranslateHttpLoader(http, [
{ prefix: './assets/i18n/', suffix: '.json' },
{ prefix: environment.translateDir, suffix: '.json' },
]);
}

export class MultiTranslateHttpLoader implements TranslateLoader {
constructor(
private http: HttpClient,
public resources: { prefix: string, suffix: string }[] = [{ prefix: '/assets/i18n/', suffix: '.json' }]) {}
public getTranslation(lang: string): any {
return forkJoin(this.resources.map(config => {
return this.http.get(${config.prefix}${lang}${config.suffix});
})).pipe(map(response => {
return response.reduce((a, b) => {
return R.mergeDeepLeft(a, b); // Object.assign(a, b);
});
}));
}
}
`

It loads an array of json, and merge those with ramda, If you didnt use nested objects you could also use Object.assign()

from http-loader.

tiaguinho avatar tiaguinho commented on May 18, 2024

@fplini The example we have in the README file show exactly how to do this.

from http-loader.

fplini avatar fplini commented on May 18, 2024

Hi @tiaguinho thanks for reply.
I'm using the TranslateHttpLoader, Do you mean that I can load an array of files (suffix)?

from http-loader.

tiaguinho avatar tiaguinho commented on May 18, 2024

Sorry @fplini, I think I have read wrong the first time.
I think it's not possible split the translates between files, by default.

Tell me one thing, do you use webpack in your project?

from http-loader.

fplini avatar fplini commented on May 18, 2024

Hi @tiaguinho
I'm using angular cli to build my project so the answer is "yes"

from http-loader.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.