1.1.5 • Published 4 years ago
yaml-locales-webpack-plugin v1.1.5
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)