1.1.0 • Published 12 months ago

@giovanni-bertoncelli/json-translator v1.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
12 months ago

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

ParameterRequiredTypeDefaultDescription
inputXpath./output.jsonThe JSON file to translate
outputpath./output.jsonThe translated JSON output
toXstringWhich language translate the JSON input to. (Available languages: https://cloud.ibm.com/apidocs/language-translator?code=try#listlanguages)
fromstringWhich language is used in the input JSON file (automatically inferred if omitted)
apiUrlXstringIBM Cloud Language Translator API Url (see: https://cloud.ibm.com/apidocs/language-translator?code=try#service-endpoint)
apiKeyXstringIBM Cloud Language Translator API Key
ignoreExistingFilebooleanfalseIgnore 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.