yaml-locales-webpack-plugin
v1.1.5
Published
Converts a single YAML file to multiple message.json locale files.
Downloads
13
Maintainers
Readme
YAML to Locales plugin for Webpack
Plugin for Webpack, which creates localization files of Google Chrome extension from one YAML file.
Installation
# npm
npm install --save-dev yaml-locales-webpack-plugin
# yarn
yarn add --dev yaml-locales-webpack-plugin
Usage
webpack.config.js (simple usage)
const YamlLocalesWebpackPlugin = require('yaml-locales-webpack-plugin');
module.exports = {
plugins: [new YamlLocalesWebpackPlugin()]
};
webpack.config.js (with beta build)
const YamlLocalesWebpackPlugin = require('yaml-locales-webpack-plugin');
module.exports = (env, argv) => {
plugins: [
new YamlLocalesWebpackPlugin({
messageAdditions: argv.beta
? {
extName: ' (beta)',
extDescription: {
en: ' Beta version.',
uk: ' Бета версія.'
}
}
: {}
})
];
};
Options
new YamlLocalesWebpackPlugin(options?: object)
| Name | Type | Default | Description |
| :----------------------- | :--------- | :----------------------------- | :-------------------------------------------------------------- |
| yamlFile
| string
| './src/i18n-messages.yaml'
| Path to the YAML file with translations |
| defaultLanguage
| string
| 'en'
| Default language |
| onlySupportedLanguages
| boolean
| true
| Only supported Chrome Web Store languages |
| messageKeys
| string[]
| ['message', 'msg', 'm']
| Keys in the YAML file to describe messages |
| descriptionKeys
| string[]
| ['description', 'desc', 'd']
| Keys in the YAML file for descriptions |
| messageAdditions
| Object
| {}
| Additions for messages (see example in Usage section) |
Example of a YAML file
key_1: Message for key_1 (language-independent)
key_2:
message: Message for key_2 (language-independent)
description: Description for key_2 (language-independent)
key_3:
m: Message for key_3 (language-independent)
d: Description for key_3 (language-independent)
key_4:
en: Message for key_4 (EN)
ru: Сообщение для key_4 (RU)
uk: Повідомлення для key_4 (UK)
key_5:
en:
m: Message for key_5 (EN)
d: Description for key_5 (EN)
uk: Повідомлення для key_5 (UK)
key_6:
description: Description for key_6 (language-independent)
en: Message for key_6 (EN)
uk: Повідомлення для key_6 (UK)
key_7:
message: Message for key_6 (language-independent)
en:
description: Description for key_6 (EN)
uk:
description: Опис для key_6 (UK)