rollup-plugin-i18next-conv

8.1.0 • Public • Published

rollup-plugin-i18next-conv

Build Status npm package Coverage Status

Import po files as i18next compatible json objects with rollup

Install

$ npm install --save-dev rollup-plugin-i18next-conv i18next-conv

Note: i18next-conv is a peer dependency.

Usage

Given the following source file:

import i18next from 'i18next';

import en from '../../locale/en/LC_MESSAGES/messages.po';
import ja from '../../locale/ja/LC_MESSAGES/messages.po';

i18next.init({
  resources: {
    en: { translation: en },
    ja: { translation: ja },
  },
});

Compile using:

// rollup.config.js
import i18next from 'rollup-plugin-i18next-conv';

export default {
  input: 'src/main.js',
  output: {
    file: 'dist/bundle.js',
  },
  format: 'iife',

  plugins: [
    i18next({
      // All PO files will be parsed by default,
      // but you can also specifically include/exclude files
      include: 'node_modules/**',
      exclude: [ 'node_modules/foo/**', 'node_modules/bar/**' ],
      
      // Customize the determineLocale function, which by default is:
      // const defDetermineLocale = filename => filename.split(path.sep).slice(-3)[0];
      // (returns 'en' given a filename './locale/en/LC_MESSAGES/messages.po')
      determineDomain: filename => path.basename(filename, '.po'),

      // And any option supported by i18next-conv's gettextToI18next function, for example
      keyseparator: '$$',
    })
  ]
};

Readme

Keywords

Package Sidebar

Install

npm i rollup-plugin-i18next-conv

Weekly Downloads

34

Version

8.1.0

License

MIT

Unpacked Size

4.95 kB

Total Files

3

Last publish

Collaborators

  • perrin4869
  • 20lives