i18next-sync-fs-backend

1.1.1 • Public • Published

i18next-sync-fs-backend

Travis CodeCov npm version

This is a fork of the official i18next fs backend to be used node.js. It will load resources synchronously from filesystem. Right now it supports following filetypes:

  • .json
  • .json5
  • .yml

⚠️ This is a fork of the official fs backend and works syncronously.

✨ Thanks to @arve0 for transferring the Github repo to me. His old code is available in legacy branch.

Getting started

Source can be loaded via npm.

$ npm install i18next-sync-fs-backend

Wiring up:

import i18next from 'i18next';
import Backend from 'i18next-sync-fs-backend';
 
i18next
  .use(Backend)
  .init({
    // This is necessary for this sync version
    // of the backend to work:
    initImmediate: false,
    // ...i18next options
  });
 
// i18next is immediately ready:
console.log(i18next.t('someKey'));

As with all modules you can either pass the constructor function (class) to the i18next.use or a concrete instance.

Backend Options

{
  // path where resources get loaded from
  loadPath: '/locales/{{lng}}/{{ns}}.json',
 
  // path to post missing resources
  addPath: '/locales/{{lng}}/{{ns}}.missing.json',
 
  // jsonIndent to use when storing json files
  jsonIndent: 2
}

hint {{lng}}, {{ns}} use the same prefix, suffix you define in interpolation for translations!!!

Options can be passed in:

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

import i18next from 'i18next';
import Backend from 'i18next-sync-fs-backend';
 
i18next
  .use(Backend)
  .init({
    initImmediate: false,
    backend: {
      // Backend options here...
    }
  });

on construction:

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

by calling init:

import Backend from 'i18next-sync-fs-backend';
const backend = new Backend();
backend.init(options);

Package Sidebar

Install

npm i i18next-sync-fs-backend

Weekly Downloads

3,869

Version

1.1.1

License

MIT

Unpacked Size

14.2 kB

Total Files

8

Last publish

Collaborators

  • arve0
  • sallar