Indic Language Translator
Overview
High-quality translation to/from Indian and global languages using Gemini 2.5 Flash. Supports 13 Indian languages and 10 global languages. Also detects language from input text.
Usage
Translate text:
python3 scripts/translate.py "Your order is confirmed" --to hi
python3 scripts/translate.py "आपका ऑर्डर कन्फर्म हो गया" --to en
python3 scripts/translate.py "Hello" --to ta --from en
Detect language:
python3 scripts/translate.py "नमस्ते" --detect
List supported languages:
python3 scripts/translate.py --list
JSON output:
python3 scripts/translate.py "Hello" --to hi --json
Pipe stdin:
echo "Hello world" | python3 scripts/translate.py --to mr
Workflow
- Receive text and target language from user request
- Map language name to ISO code if needed (e.g. "Hindi" →
hi, "Tamil" → ta)
- Run
scripts/translate.py "<text>" --to <code>
- Script calls Gemini 2.5 Flash with zero temperature (deterministic output)
- Returns only the translated text — no labels, quotes, or explanations
- For batch translation, use
translate_batch() as a module to translate multiple strings in one API call
Supported Language Codes
Indian: hi Hindi, ta Tamil, te Telugu, mr Marathi, bn Bengali, gu Gujarati, kn Kannada, ml Malayalam, pa Punjabi, ur Urdu, or Odia, as Assamese, sa Sanskrit
Global: en English, es Spanish, fr French, de German, pt Portuguese, ar Arabic, zh Chinese, ja Japanese, ko Korean, ru Russian, id Indonesian
Scripts
scripts/translate.py — CLI and importable module. Functions: translate(text, to_lang, from_lang), detect_language(text), translate_batch(texts, to_lang). Uses Gemini API directly via urllib (no extra dependencies).
Requirements
- Gemini API key (embedded; also reads
GEMINI_API_KEY or GOOGLE_API_KEY env vars)
- Python 3.10+ (uses
list[str] type hints)
- Internet connection
1---2name: indic-language-translator3description: Use when a user wants to translate text to or from any Indian language — Hindi, Tamil, Telugu, Bengali, Marathi, Kannada, Malayalam, Gujarati, Punjabi, Urdu, Odia, Assamese, Sanskrit — or says "translate this message", "translate this to Hindi", "what does this say in Tamil", "convert to Marathi", or similar. Also handles global languages (Spanish, French, Arabic, Chinese, Japanese, Korean, etc.). Uses Gemini 2.5 Flash. Also use when asked to detect what language a piece of text is written in.4---56# Indic Language Translator78## Overview9High-quality translation to/from Indian and global languages using Gemini 2.5 Flash. Supports 13 Indian languages and 10 global languages. Also detects language from input text.1011## Usage1213Translate text:14```15python3 scripts/translate.py "Your order is confirmed" --to hi16python3 scripts/translate.py "आपका ऑर्डर कन्फर्म हो गया" --to en17python3 scripts/translate.py "Hello" --to ta --from en18```1920Detect language:21```22python3 scripts/translate.py "नमस्ते" --detect23```2425List supported languages:26```27python3 scripts/translate.py --list28```2930JSON output:31```32python3 scripts/translate.py "Hello" --to hi --json33```3435Pipe stdin:36```37echo "Hello world" | python3 scripts/translate.py --to mr38```3940## Workflow411. Receive text and target language from user request422. Map language name to ISO code if needed (e.g. "Hindi" → `hi`, "Tamil" → `ta`)433. Run `scripts/translate.py "<text>" --to <code>`444. Script calls Gemini 2.5 Flash with zero temperature (deterministic output)455. Returns only the translated text — no labels, quotes, or explanations466. For batch translation, use `translate_batch()` as a module to translate multiple strings in one API call4748## Supported Language Codes49Indian: `hi` Hindi, `ta` Tamil, `te` Telugu, `mr` Marathi, `bn` Bengali, `gu` Gujarati, `kn` Kannada, `ml` Malayalam, `pa` Punjabi, `ur` Urdu, `or` Odia, `as` Assamese, `sa` Sanskrit5051Global: `en` English, `es` Spanish, `fr` French, `de` German, `pt` Portuguese, `ar` Arabic, `zh` Chinese, `ja` Japanese, `ko` Korean, `ru` Russian, `id` Indonesian5253## Scripts54- `scripts/translate.py` — CLI and importable module. Functions: `translate(text, to_lang, from_lang)`, `detect_language(text)`, `translate_batch(texts, to_lang)`. Uses Gemini API directly via `urllib` (no extra dependencies).5556## Requirements57- Gemini API key (embedded; also reads `GEMINI_API_KEY` or `GOOGLE_API_KEY` env vars)58- Python 3.10+ (uses `list[str]` type hints)59- Internet connection6061<!-- A·R·E·S 🛡️ | Mumbai | 2026-04-05 | github.com/rushindrasinha -->