rollup-plugin-i18next-conv
v9.0.0
Published
Import po files with rollup
Downloads
128
Readme
rollup-plugin-i18next-conv
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: '$$',
})
]
};