JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 820852
  • Score
    100M100P100Q193938F
  • License MIT

A loader for ngx-translate that loads translations using http

Package Exports

  • @ngx-translate/http-loader
  • @ngx-translate/http-loader/index

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ngx-translate/http-loader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@ngx-translate/http-loader Build Status npm version

A loader for ngx-translate that loads translations using http.

Get the complete changelog here: https://github.com/ngx-translate/http-loader/releases

Installation

We assume that you already installed ngx-translate.

Now you need to install the npm module for TranslateHttpLoader:

npm install @ngx-translate/http-loader --save

Usage

1. Setup the TranslateModule to use the TranslateHttpLoader:

The TranslateHttpLoader uses Http to load translations, which means that you have to import the HttpModule from @angular/http before the TranslateModule:

import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {HttpClientModule, HttpClient} from '@angular/common/http';
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import {AppComponent} from "./app";

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
    return new TranslateHttpLoader(http);
}

@NgModule({
    imports: [
        BrowserModule,
        HttpClientModule,
        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: HttpLoaderFactory,
                deps: [HttpClient]
            }
        })
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }

The TranslateHttpLoader also has two optional parameters:

  • prefix: string = "/assets/i18n/"
  • suffix: string = ".json"

By using those default parameters, it will load your translations files for the lang "en" from: /assets/i18n/en.json.

You can change those in the HttpLoaderFactory method that we just defined. For example if you want to load the "en" translations from /public/lang-files/en-lang.json you would use:

export function HttpLoaderFactory(http: Http) {
    return new TranslateHttpLoader(http, "/public/lang-files/", "-lang.json");
}

For now this loader only support the json format.