webpack loader that can translate your code and generate bundle per each language
Switch branches/tags
Nothing to show
Clone or download
kamilglod and Kamil Głód Update README.md
Add npm svg's
Latest commit 06b3f2c Mar 15, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Add object usage as second parameter Mar 14, 2016
.eslint Add tests Mar 13, 2016
.gitignore Initial commit Mar 13, 2016
.travis.yml Add coveralls dep Mar 13, 2016
README.md Update README.md Mar 15, 2016
index.js Add object usage as second parameter Mar 14, 2016
package.json 0.0.6 Mar 14, 2016

README.md

npm Build Status Coverage Status

NPM

i18next loader for webpack

this is a webpack loader that can translate your code and generate bundle per each language

installation:

npm install --save-dev i18next-loader

usage:

  1. install i18next1: npm install --save-dev i18next
  2. call i18next.init({}) in the begining of your webpack.config.js:
var i18next = require('i18next');

i18next.init({
  lng: 'pl',
  fallbackLng: false,
  keySeparator: false,
  nsSeparator: false,
  saveMissing: true,
  resources: {
    'Hello World!': 'Siema Świecie!',
    'Translate me!': 'Przetłumacz mnie',
    'One plus one equals ${ 1 + 1 }': 'Jeden plus jeden jest równe ${ 1 + 1 }',
    'key_0': 'elementów',
    'key_1': 'element',
    'key_2': 'elementy',
    'key_5': 'elementów',
    'key_21': 'elementy'
  }
});
  1. Use loader in your application:
  • using require:
var exportsOfFile = require("i18next!./file.js");
  • using webpack config:
{
    test: /\.(js|jsx)$/,
    loader: 'i18next-loader!react-hot!babel-loader'
}
  1. Then you can use translate function, e.g:
__('Translate me!')   // 'Przetłumacz mnie'
__(`One plus one equals ${ 1 + 1 }`)  // 'Jeden plus jest jest równe ${ 1 + 1 }'
__('item', {count: 0})  // 'elementów'
__('item', {count: 1})  // 'element'
__('item', {count: 99})  // 'elementów'

query params:

  • funcName: change default function name (default is __())
  • quotes: choose how to generates translated strings in code (default is '')

problems:

  • it will not translate keys depending of variables values: it is a loader so the value of the variable is unknown in the process of loading file. (to handle it we need to use i18next directly)