Skip to content

giovanni-bertoncelli/json-translator

Repository files navigation

json-translator

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!

Installation

With the default npm registry run:

npm install [-g] @giovanni-bertoncelli/json-translator

Installation (github registry)

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

Get started

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!

API

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();

More customization

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.