2.4.1 • Published 9 years ago
format-message-loader v2.4.1
format-message-loader
Write i18n messages inline. Transpile translations with webpack.
a webpack loader for format-message
install
$ npm install format-message-loader --save-dev
api
formatMessage
in your webpack.config.js
These are the same as options that are passed to formatMessage.setup()
See format-message for more information
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$/,
loader: "message-format"
}
]
},
formatMessage: {
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
}
});
in your js file:
var formatMessage = require('format-message')
formatMessage('Welcome {name}!', { name:'Bob' })
License
This software is free to use under the MIT license. See the LICENSE-MIT file for license text and copyright information.