Skip to content

Forked from original Embed localization into your bundle, support webpack 5

License

Notifications You must be signed in to change notification settings

ValiMail/i18n-webpack-plugin

 
 

Repository files navigation

i18n Plugin

i18n (localization) plugin for Webpack.

Publish

npm publish

Install

npm

npm i -D @valimail/i18n-webpack-plugin

yarn

yarn add -D @valimail/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("@valimail/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]
			)
		]
	};
});
// de.json
{
	"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.

About

Forked from original Embed localization into your bundle, support webpack 5

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 100.0%