@zainulbr/i18n-webpack-plugin

Rewrite original embed localization into your bundle with support webpack 5

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@zainulbr/i18n-webpack-plugin
612.0.32 years ago2 years agoMinified + gzip package size for @zainulbr/i18n-webpack-plugin in KB

Readme

!npmnpmnpm-url !depsdepsdeps-url !testtesttest-url !coveragecovercover-url !chatchatchat-url

Install


npm
npm i -D @zainulbr/i18n-webpack-plugin
yarn
yarn add -D @zainulbr/i18n-webpack-plugin

Usage


This plugin creates bundles with translations baked in. So you can serve the translated bundle to your clients. Example:
console.log(__("Hello World"));
console.log(__("Missing Text"));
var path = require("path");
var I18nPlugin = require("@zainulbr/i18n-webpack-plugin");
var languages = {
	"en": null,
	"de": require("./de.json")
};
module.exports = Object.keys(languages).map(function(language) {
	return {
		name: language,
		// mode: "development || "production",
		entry: "./example",
		output: {
			path: path.join(__dirname, "dist"),
			filename: language + ".output.js"
		},
		plugins: [
			new I18nPlugin(
				languages[language]
			)
		]
	};
});

{
	"Hello World": "Hallo Welt"
}
current example. original example from un maintenance repo

Options


plugins: [
  ...
  new I18nPlugin(languageConfig, optionsObj)
],
- optionsObj.functionName: the default value is __, you can change it to other function name. - optionsObj.failOnMissing: the default value is false, which will show a warning message, if the mapping text cannot be found. If set to true, the message will be an error message. - optionsObj.hideMessage: the default value is false, which will show the warning/error message. If set to true, the message will be hidden. - optionsObj.nested: the default value is false. If set to true, the keys in languageConfig can be nested. This option is interpreted only if languageConfig isn't a function.

Maintainers


<tr>
  <td align="center">
    <img width="150" height="150"
    src="https://avatars3.githubusercontent.com/u/166921?v=3&s=150">
    </br>
    <a href="https://github.com/bebraw">Juho Vepsäläinen</a>
  </td>
  <td align="center">
    <img width="150" height="150"
    src="https://avatars2.githubusercontent.com/u/8420490?v=3&s=150">
    </br>
    <a href="https://github.com/d3viant0ne">Joshua Wiens</a>
  </td>
  <td align="center">
    <img width="150" height="150"
    src="https://avatars3.githubusercontent.com/u/533616?v=3&s=150">
    </br>
    <a href="https://github.com/SpaceK33z">Kees Kluskens</a>
  </td>
  <td align="center">
    <img width="150" height="150"
    src="https://avatars3.githubusercontent.com/u/3408176?v=3&s=150">
    </br>
    <a href="https://github.com/TheLarkInn">Sean Larkin</a>
  </td>
</tr>