0.2.0 • Published 4 years ago

etty-webpack-plugin v0.2.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

Webpack 4+ plugin for generate etty translations

Usage

  1. Install
npm install etty-webpack-plugin
  1. Use in webpack.config.js
var EttyPlugin = require("etty-webpack-plugin").default
{
    // ...other configs
    plugins: [
        new EttyPlugin({
            // options here
        })
    ]
}

Options

NameTypeRequiredDefaultDescription
templatestringyes-A path to the JSON template that you are using with etty
localesstringyes-A path to the JSON that contains locales array (string[]) that you are using with etty
compileTostringyes-A path to the folder where to place generated translations
prefillFromstringnovalue of compileToA path to the folder where your existing translation files are placed
logLevel"all", "warning", "error", "none"no"all"Log level of the plugin. "all" will show success, info, warning and error messages; "warning" - warning and error messages; "error" only error messages; "none" will not display any messages.
minifybooleannofalseWhether to minify output JSON files or not.

Example

Assume we have this kind of the project structure:

src
|- config
|- |- locales.json
|- |- template.json
translations
webpack.config.js

We want our translations to be generated to the translations folder.
So. our locales.json

[ "en", "de", "ru" ]

and our template.json

{
    "Homepage": {
        "title": "",
        "description": ""
    }
}

Using etty-webpack-plugin in webpack.config.js:

var EttyPlugin = require("etty-webpack-plugin").default

{
    // ..other configs
    plugins: [
        new EttyPlugin({
            template: "./src/config/template.json",
            locales: "./src/config/locales.json",
            compileTo: "./translations"
        })
    ]
}

Running webpack will result placing to the translations folder three files:

src
|- config
|- |- locales.json
|- |- template.json
translations
|- de.json
|- en.json
|- ru.json
webpack.config.js

Sample content of en.json:

{
    "Homepage": {
        "title": "en:Homepage.title",
        "description": "en:Homepage.description"
    }
}

That's it!
More detailed and fully working in real life example you can find at etty-example repo :)

NOTE

Note, that if you want webpack to react on your template.json and locale.json changes, they obviously must be included into your application (i.e. imported somewhere of your application). If you are using etty, then this is not a problem for you, because you are probably already did it.

Contributin'

Any issues, feature and pull requests are highly appreciated. Feel free to criticize and advise.

0.2.0

4 years ago

0.1.1

5 years ago

0.1.0

5 years ago