This is a command line tool to translate all string values in a JSON file to multiple languages using the Google Cloud Translate API.
Project description
![Contributors][contributors-shield]
Translate JSON
About The Project
This is a command line tool to translate all string values in a JSON file to multiple languages using the Google Cloud Translate API.
Getting Started
Prerequisites
To run this program you need to have python 3.9 installed on your machine.
Installation
- To use this you need to have a google translate API key
- Install the package
pip install translate-json
Usage
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"
CLI Example
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
}
}
Example
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/')
Contributing
Any contributions you make are greatly appreciated
License
Distributed under the MIT License. See LICENSE
for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for translate_json-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43865e0b5da90cc7b352b6c74d1893b4ea306db1c73ad597879bd5fc1c1e4cab |
|
MD5 | 8c1a8dff8f74ea0ef58108e89502b23b |
|
BLAKE2b-256 | ed245dbc713f55e7cec23b68bc2a923bc116ed1af9f07483f673d1008bfa27bf |