i18next Backend Using Firebase
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.babelrc
.editorconfig
.eslintignore
.eslintrc
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
bower.json
gulpfile.js
i18nextFirebaseBackend.js
i18nextFirebaseBackend.min.js
i18nextFirebaseBackend.min.js.map
karma.conf.js
package.json

README.md

Introduction

Travis Coveralls npm version Bower David

This is a simple i18next backend to be used in the browser. It will load resources from a firebase database using firebase.

Getting started

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

# npm package
$ npm install i18next-firebase-backend

# bower
$ bower install i18next-firebase-backend

Wiring up:

import i18next from 'i18next';
import XHR from 'i18next-firebase-backend';

i18next
  .use(XHR)
  .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.i18nextFirebaseBackend

Backend Options

{
  // path where resources get loaded from, or a function
  // returning a path:
  // function(lngs, namespaces) { return customPath; }
  // the returned path will interpolate lng, ns if provided like giving a static path
  loadPath: '/locales/{{lng}}/{{ns}}',

  // path to post missing resources
  addPath: 'locales/add/{{lng}}/{{ns}}',

  // allow cross domain requests
  crossDomain: false,

  // define a custom xhr function
  // can be used to support XDomainRequest in IE 8 and 9
  ajax: function (url, options, callback, data) {}
}

Options can be passed in:

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

import i18next from 'i18next';
import XHR from 'i18next-firebase-backend';

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

on construction:

  import XHR from 'i18next-firebase-backend';
  const xhr = new XHR(null, options);

via calling init:

  import XHR from 'i18next-firebase-backend';
  const xhr = new XHR();
  xhr.init(options);