i18next-service-backend

Backend layer for i18next using external service.


Keywords
i18next, i18next-backend
License
MIT
Install
npm install i18next-service-backend@1.0.5

Documentation

Travis npm version David

This is an i18next backend to be used for external services, such as spacetranslate or locize. It will load resources from the external server using xhr.

It will allow you to save missing keys containing both default value and context information by calling:

i18next.t(key, defaultValue, tDescription);
i18next.t(key, { defaultValue, tDescription });

Getting started

Source can be loaded via npm, bower or downloaded from this repo.

# npm package
$ npm install i18next-service-backend

# bower
$ bower install i18next-service-backend

Wiring up:

import i18next from 'i18next';
import Backend from 'i18next-service-backend';

i18next
  .use(Backend)
  .init(i18nextOptions);
  • As with all modules you can either pass the constructor function (class) to the i18next.use or a concrete instance.
  • If you don't use a module loader it will be added to window.i18nextBackendBackend

Backend Options

{
  // service url to the backend service
  // i.e. https://api.spacetranslate.com or https://api.locize.io
  service: '[SERVICE_URL]',

  // the id of your project
  projectId: '[PROJECTID]',

  // add an api key if you want to send missing keys
  apiKey: '[APIKEY]',

  // the reference language of your project
  referenceLng: '[LNG]',

  // version - defaults to latest
  version: '[VERSION]'
}

Options can be passed in:

preferred - by setting options.backend in i18next.init:

import i18next from 'i18next';
import Backend from 'i18next-service-backend';

i18next
  .use(Backend)
  .init({
    backend: options
  });

on construction:

  import Backend from 'i18next-service-backend';
  const Backend = new Backend(null, options);

via calling init:

  import Backend from 'i18next-service-backend';
  const Backend = new Backend();
  Backend.init(null, options);