Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

Import po files with rollup

Resources

Packages

No packages published