This is a command line tool to translate all string values in a JSON file to multiple languages using the Google Cloud Translate API.
To run this program you need to have python 3.9 installed on your machine.
- To use this you need to have a google translate API key
- Install the package
pip install translate-json
You can use this program as a command line tool.
usage: translate-json [-h] -f FILE -s SOURCE_LANGUAGE [-o OUT] -l LANGS [LANGS ...] -k KEY
Translate all string values in a JSON file to multiple languages using the google translate API.
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE The input file path
-s SOURCE_LANGUAGE, --source-language SOURCE_LANGUAGE
The source language code
-o OUT, --out OUT The output directory path, will contain the created translation files
-l LANGS [LANGS ...], --langs LANGS [LANGS ...]
List of target languages you want to translate the file to
-k KEY, --key KEY Google translate API key, don't set this if you already have a key set as the environement
variable "GOOGLE_TRANSLATE_TOKEN"
A file called source.json
contains the following values
{
"title": "Hello World",
"tags": {
"lara": ["Video games", "swimming", "Interrupt routines"],
"david": [
{
"value": "Baseball",
"count": 5
},
"Climbing trees"
]
},
"example": {
"title": "This will be translated",
"ok": true
}
}
To translate this file to dutch and french, you can run this command
translate-json -f source.json -s en -o ./translations/ -l nl fr -k YOUR_API_KEY
After running the command, the translations
folder will contain two files: source.nl.json
and source.fr.json
.
{
"title": "Bonjour le monde",
"tags": {
"lara": [
"Jeux vidéo",
"la natation",
"Routines d'interruption"
],
"david": [
{
"value": "Base-ball",
"count": 5
},
"Grimper aux arbres"
]
},
"example": {
"title": "Cela sera traduit",
"ok": true
}
}
{
"title": "Hallo Wereld",
"tags": {
"lara": [
"Computerspellen",
"zwemmen",
"Routines onderbreken"
],
"david": [
{
"value": "Basketbal",
"count": 5
},
"Bomen klimmen"
]
},
"example": {
"title": "Dit wordt vertaald",
"ok": true
}
}
You can also import this library and use it in your code
from translate_json.translate import translate_all
if __name__=="__main__":
# you must set the google cloud translate API key as an environment variable before running this program
translate_all('source.json', 'en', ['nl', 'de', 'fr'], './dist/')
Any contributions you make are greatly appreciated
Distributed under the MIT License. See LICENSE
for more information.