1.0.3 β€’ Published 7 months ago

json-locale-translator v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

JSON Locale Translator

npm version

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

  1. 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
  1. use with npx
npx json-locale-translator -s example/en.json -f en -t es

Basic Usage (with global installation)

  1. Create a Source File
mkdir locales && echo {} > locales\en.json
  1. 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 - English
  • es - Spanish
  • fr - French
  • de - German
  • it - Italian
  • pt - Portuguese
  • ru - Russian
  • zh - Chinese
  • ja - Japanese
  • ko - Korean

Full list of language codes

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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Issues

If you find any bugs or have feature requests, please create an issue in the GitHub repository.

Author

@MhamedEl-shahawy

Support

⭐️ If you find this project useful, please consider giving it a star on GitHub!