1.0.0 • Published 9 years ago
babel-plugin-format-message v1.0.0
babel-plugin-format-message
babel plugin to replace formatMessage calls with translations.
Installation
$ npm install babel-plugin-format-message
Usage
This plugin isn't terribly useful without configuration, so you probably won't
add it via the .babelrc
or CLI.
Via Node API
var formatMessagePlugin = require('babel-plugin-format-message');
require("babel-core").transform("code", {
plugins: [
formatMessagePlugin.withOptions({
/* format-message options */
})
]
});
Via webpack loader
var formatMessagePlugin = require('babel-plugin-format-message');
module.exports = [ "en", "pt", "de" ].map(function(locale) {
entry: "path/to/entry.js",
output: {
path: "path/to/output/",
filename: "bundle.js"
},
module: {
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: "babel" }
]
},
babel: {
plugins: [
formatMessagePlugin.withOptions({
/* format-message options */
})
]
}
});
Via browserify / babelify
var b = browserify({
/* browserify options */
}).transform(
babelify.configure({
plugins: [
formatMessagePlugin.withOptions({
/* format-message options */
})
]
})
);
Example options
See format-message for full options documentation.
{
functionName: "formatMessage", // identifier of function to inline
locale: locale, // default locale
translate: function(pattern, locales) {
// from call formatMessage(pattern, args, locales)
// if no locales were passed to format, locales will be the default locale (specified above)
return require("path/to/translations/" + locale + ".json")[pattern];
},
translations: { // or rather than a translate function, lookup from an object
pt: { ... },
de: { ... }
},
keyType: "underscored_crc32", // or "underscored", "normalized", or "literal", default is "underscored_crc32"
missingTranslation: "warning", // warn instead of fatal error, default is "error", can also be "ignore"
missingReplacement: "!!NOT TRANSLATED!!" // use this when no translation found, default is the original pattern
}
License
This software is free to use under the MIT license. See the LICENSE-MIT file for license text and copyright information.