Translate your JSON file with this tool!
This tool requires IBM Cloud Language Translator subscription in order to translate automatically your keys. It's free and very easy to use!
With the default npm registry run:
npm install [-g] @giovanni-bertoncelli/json-translator
Since this package is also on the ufficial NPM registry you should add the github npm registry for my account prefix: create a .npmrc file inside your destination project (or the global npmrc, run "npm config list") and insert this line
@giovanni-bertoncelli:registry=https://npm.pkg.github.com
and then authenticate with an access_token and install the package:
npm install [-g] @giovanni-bertoncelli/json-translator
In order to translate a JSON language file:
- Put your JSON file in your working directory
- Retrieve a IBM Cloud Language Translator API URL and key
- Launch the utility, specifying the target language:
json-translator input.json --to en --apiKey ${apiKey} --apiUrl ${apiUrl}
This tool will proceed creating a output file with all your translation keys automatically translated!
You can use this module also as API:
const JsonTranslator = require('json-translator');
// same params available for CLI see below
const params = {};
const translator = new JsonTranslator({...params})
await translator.run();
Parameter | Required | Type | Default | Description |
---|---|---|---|---|
input | X | path | ./output.json | The JSON file to translate |
output | path | ./output.json | The translated JSON output | |
to | X | string | Which language translate the JSON input to. (Available languages: https://cloud.ibm.com/apidocs/language-translator?code=try#listlanguages) | |
from | string | Which language is used in the input JSON file (automatically inferred if omitted) | ||
apiUrl | X | string | IBM Cloud Language Translator API Url (see: https://cloud.ibm.com/apidocs/language-translator?code=try#service-endpoint) | |
apiKey | X | string | IBM Cloud Language Translator API Key | |
ignoreExistingFile | boolean | false | Ignore existing output file in order to prevent translations of strings already translate in output file. Keep this to false in order to avoid translating multiple time the same strings and translate only the missing string in destination file. |