Import po files with rollup
Switch branches/tags
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 Upgrade remaining dependencies Oct 24, 2018
.babelrc.js
.eslintignore
.eslintrc
.gitignore
.nycrc
.travis.yml
README.md
package-lock.json
package.json

README.md

rollup-plugin-i18next-conv

Travis npm package Coverage Status Dependency Status devDependency Status

Import po files as i18next compatible json objects with rollup

Install

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

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: '$$',
    })
  ]
};