1.0.3 β’ Published 7 months ago
json-locale-translator v1.0.3
JSON Locale Translator
A command-line tool to translate JSON-based locale files using Google Translate.
Features
- π Translates JSON locale files while preserving structure
- π Supports multiple languages
- π― Handles nested JSON objects
- πͺ Preserves original keys
- π¨ Colorful console output for better visibility
Installation
# Using npm
npm install -g json-locale-translator
# Using locally
npm install json-locale-translator
# Using yarn
yarn add -g json-locale-translator
# Using locally yarn
yarn add json-locale-translator
Usage
Using globally
Show help
json-locale-translator --help
Translate a file
json-locale-translator -s example/en.json -f en -t es
Interactive mode
json-locale-translator -i
Using locally
- Then add scripts to your project's package.json:
"scripts": {
"translate": "json-locale-translator",
"translate:es": "json-locale-translator -s example/en.json -f en -t es",
"translate:fr": "json-locale-translator -s example/en.json -f en -t fr",
"translate:interactive": "json-locale-translator -i"
}
npm run translate
- use with npx
npx json-locale-translator -s example/en.json -f en -t es
Basic Usage (with global installation)
- Create a Source File
mkdir locales && echo {} > locales\en.json
- Interactive Translation (Recommended)
json-locale-translator -s example/en.json -f en -t es
Sample Input/Output
Input (en.json
):
{
"welcome": "Welcome to our application",
"navigation": {
"home": "Home",
"about": "About",
"contact": "Contact"
}
}
Output (es.json
):
{
"welcome": "Bienvenido a nuestra aplicaciΓ³n",
"navigation": {
"home": "Inicio",
"about": "Acerca de",
"contact": "Contacto"
}
}
Supported Languages
The tool supports all languages available in Google Translate. Some common language codes:
en
- Englishes
- Spanishfr
- Frenchde
- Germanit
- Italianpt
- Portugueseru
- Russianzh
- Chineseja
- Japaneseko
- Korean
Development
# Clone the repository
git clone https://github.com/MhamedEl-shahawy/json-locale-translator.git
# Install dependencies
cd json-locale-translator
npm install
# Link for local development
npm link
Project Structure
json-locale-translator/
βββ src/
β βββ index.js # Main CLI tool
βββ example/
β βββ en.json # Source example
β βββ es.json # Translated example
βββ scripts/
β βββ batch-translate.js # Batch translation script
βββ package.json
βββ README.md
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- google-translate-api-x for translation services
- commander for CLI argument parsing
- chalk for colored console output
Issues
If you find any bugs or have feature requests, please create an issue in the GitHub repository.
Author
Support
βοΈ If you find this project useful, please consider giving it a star on GitHub!