extract-locales
Extract HTML and JS localized messages for your web application.
Installation
npm i --save-dev extract-locales
Usage
Quick examples
TLDR; run the example script:
npm run examples
Then have a look at the modified ./lang
folder.
CLI call
$ export PATH=./node_modules/.bin:$PATH$ extract-locales \ --locales en-US,fr-FR \ --html src/**/*.html \ --js js/**/*.js \ --output tpl/ \ --output-type yml \ --purge$ ls tpl/en-US.yml fr-FR.yml
that's it!
Package integration: CLI call
You can of course use this command line within your package.json
scripts:
"scripts":
Package integration: programmatic call
If you want to write your own script / wrapper:
const fs = const ExtractLocales = const extractor = htmlQuery: '[data-localize]' jsFunction: 'localize' extractorextractor extractor
CLI documentation
$ /clijs --help Usage: extract-locales options Options: -V --version output the version number -l --locales <en-USfr-FR> locales supported by your app -h --html <path> input HTML file or path to be parsed -j --js <path> input JS file or path to be parsed -o --output <path> output directory of the locale -t --output-type <type> either json or -p --purge remove unused translations from your locale files --html-query <query> query to retrieve keys in html --js- -h, --help output usage information
Q&A
Q: I want the messages to respect my application complex folder structure, indeed, I'm looking for multiple translation files in the extractor output.
A: Do use multiple extract-locales
calls in your build process, one per desired indentation.