Convert xml translations into JSON key-value
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-ovh-translation');
In your project's Gruntfile, add a section named ovhTranslation
to the data object passed into grunt.initConfig()
. The options (and defaults) are:
grunt.initConfig({
ovhTranslation: {
dev: {
files: [
{
expand: true,
flatten: false,
cwd: 'client',
src: [
'app/**/translations/*.xml',
'components/**/translations/*.xml'
],
dest: '.tmp',
filter: 'isFile',
extendFrom: ['en_GB', 'fr_FR'],
lint: true // [optionnal] set it to false to disable linter
}
]
}
},
})
This plugin requires Grunt.
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-ovh-translation --save-dev
git clone https://github.com/ovh-ux/grunt-ovh-translation.git
cd grunt-ovh-translation
npm install
bower install
If you get
Warning: Your translation file must have a linebreak at the end of the file (file: client/app/module-otrs/details/translations/Messages_cs_CZ.xml). Use --force to continue.
Aborted due to warnings.
it might be because your file does not end with LF, but with CRLF.
To fix this:
#Change your git config to LF
git config --global core.eol lf
git config --global core.autocrlf false
#You might have to change all the files in the repo
git rm -rf --cached .
git reset --hard HEAD
- Contribute: https://github.com/ovh-ux/grunt-ovh-translation/CONTRIBUTING.md
- Report bugs: https://github.com/ovh-ux/grunt-ovh-translation/issues
- Get latest version: https://github.com/ovh-ux/grunt-ovh-translation
See https://github.com/ovh-ux/grunt-ovh-translation/blob/master/LICENSE