Skip to content

This is a i18next backend to enable another backend'smultiload behaviour of loading multiple lng-ns combinations with one request.

License

Notifications You must be signed in to change notification settings

runar-indico/i18next-multiload-backend-adapter

 
 

Repository files navigation

Introduction

Travis Coveralls npm version David

This is a i18next backend to enable another backend's multiload behaviour of loading multiple lng-ns combinations with one request.

Getting started

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

# npm package
$ npm install i18next-multiload-backend-adapter

Wiring up:

import i18next from 'i18next';
import BackendAdapter from 'i18next-multiload-backend-adapter';

i18next
  .use(BackendAdapter)
  .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.i18nextMultiloadBackendAdapter

Backend Options

{
  // array of existing i18next backends from https://www.i18next.com/plugins-and-utils.html#backends
  backend: BackendSupportingMultiload,

  // array of options in order of backends above
  backendOption: { /* options of adapted backend */ },

  // interval to wait for calling readMulti after receiving a read
  debounceInterval: 50
}

Options can be passed in:

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

import i18next from 'i18next';
import BackendAdapter from 'i18next-multiload-backend-adapter';

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

on construction:

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

via calling init:

  import BackendAdapter from 'i18next-multiload-backend-adapter';
  const Backend = new BackendAdapter();
  Backend.init(options);

more complete sample

import i18next from 'i18next';
import BackendAdapter from 'i18next-multiload-backend-adapter';
import XHR from 'i18next-xhr-backend'; // have a own xhr fallback

i18next
  .use(BackendAdapter)
  .init({
    backend: {
      backend: XHR,
      backendOption: {
        loadPath: '/locales/{{lng}}/{{ns}}.json' // xhr load path for my own fallback
      }
    }
  });

Gold Sponsors

About

This is a i18next backend to enable another backend'smultiload behaviour of loading multiple lng-ns combinations with one request.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%