Have ideas to improve npm?Join in the discussion! »

    jed-webpack-plugin

    2.0.0 • Public • Published

    Jed (gettext style i18n) Webpack Plugin

    npm

    Complete i18n solution with webpack and Jed.

    Installation

    npm install jed-webpack-plugin --save-dev
    

    Usage

    webpack.config.js

    var locales = ['en-us', 'ru', 'de'];
     
    module.exports = locales.map(function(locale) {
      return {
        entry: path.join(__dirname, 'src', 'index'),
        devtool: 'source-map',
        output: {
          filename: locale + '.app.js',
          path: path.join(__dirname, 'dist'),
          publicPath: '/'
        },
        plugins: [
          new HtmlWebpackPlugin({
            template: path.join(__dirname, 'index.html'),
            filename: locale + '.index.html'
          }),
          new webpack.DefinePlugin({
            'process.env.locale': JSON.stringify(locale)
          }),
          new JedWebpackPlugin({
            mo: path.join(__dirname, 'locales', locale + '.mo'),
            defineJedIdentifier: 'jed'
          }),
          new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, new RegExp(locale))
        ]
      };
    });

    entry - index.js

    var label = gettext('Hello World');
     
    // Plurals
    var n = 10;
    var appleLabel1 = ngettext('One apple', '%% apples', n).replace(/%%/, n);
    // or
    var appleLabel2 = jed.sprintf(ngettext('One apple', '%1$d apples', n), n);

    Options

    mo - translation file path (.mo)
    defineJedIdentifier - (optional) name identifier for providing access to jed instance
    

    Use Poedit to create translation files from your source code and see examples.

    Install

    npm i jed-webpack-plugin

    DownloadsWeekly Downloads

    13

    Version

    2.0.0

    License

    MIT

    Last publish

    Collaborators

    • avatar