mirror of
https://github.com/yusufipk/better-ai-srt-translation.git
synced 2026-09-11 19:06:15 +00:00
4.0 KiB
4.0 KiB
SRT Translator
A powerful, browser-based tool for translating SRT subtitle files using AI. Built for speed, accuracy, and ease of use.
🎯 What Problem Does It Solve?
Translating subtitles is tedious and expensive:
- Manual translation is slow and costly
- Generic AI translation loses subtitle timing and structure
- Existing tools don't handle the unique challenges of SRT format (split sentences, timing markers, etc.)
SRT Translator solves this by:
- Preserving all timestamps exactly as-is
- Using a smart marker system to maintain line-by-line correspondence
- Processing chunks in parallel for maximum speed
- Allowing custom instructions for domain-specific terminology
✨ Features
- Drag & Drop - Just drop your SRT file and go
- 50 Parallel Requests - Blazing fast translation
- Smart Chunking - Processes 75 subtitle blocks per request for optimal speed/accuracy balance
- Marker-Based Alignment - Each subtitle block stays aligned with its timestamp
- Custom Instructions - Add context-specific translation rules (e.g., "Use informal 'sen' instead of formal 'siz'")
- Custom Model Support - Use any model available on OpenRouter
- Multi-Language - Translate to 15+ popular languages
- Real-Time Progress - Visual feedback for each chunk's status
- Retry with Backoff - Automatic retry on failures
🚀 Quick Start
- Open
index.htmlin your browser - Enter your OpenRouter API key
- Drop an SRT file
- Select target language
- Click "Translate"
- Download your translated SRT
⚙️ Configuration
| Setting | Default | Description |
|---|---|---|
| Model | google/gemini-3-flash-preview |
AI model for translation |
| Chunk Size | 75 | Number of subtitle blocks per API request |
| Parallel Requests | 50 | Maximum concurrent API calls |
Recommended Model
For the best performance/cost balance, we recommend:
google/gemini-3-flash-preview
This model offers:
- Fast response times
- Excellent instruction following
- Great translation quality
- Cost-effective pricing
Other options:
google/gemini-2.5-flash-lite- Budget option, may have lower accuracy
🧠 How It Works
The Marker System
Traditional AI translation loses track of which text belongs to which subtitle block. We solve this with markers:
Input to AI:
[B1] I don't think OpenAI will
[B2] be around in 5 years.
[B3] They're burning cash.
AI Output:
[B1] OpenAI'ın var olacağını
[B2] 5 yıl içinde sanmıyorum.
[B3] Paralarını yakıyorlar.
Each [B#] marker ensures the translated text maps back to the correct timestamp.
Translation Priority
- Line Structure (Mandatory) - Each marker line stays separate
- Natural Translation - Idiomatic, not word-for-word
- Word Count (Soft) - Similar length per line when possible
📁 Project Structure
srt-translator/
├── index.html # Main UI entry point
├── README.md # Documentation
├── src/
│ ├── app.js # Core application logic
│ └── styles.css # Dark theme styling
└── assets/
└── ui.webp # UI screenshot
🔧 Custom Instructions Examples
Turkish informal:
Türkçe çeviride "siz" yerine "sen" formu kullan.
Technical content:
Keep technical terms like "API", "SDK", "cache" untranslated.
YouTube tone:
Use casual, engaging language suitable for YouTube videos.
📝 API Requirements
- Provider: OpenRouter
- API Key: Get one at https://openrouter.ai/keys
- Models: Any chat completion model on OpenRouter
🛡️ Privacy
- Your API key is stored locally in your browser (localStorage)
- SRT files are processed client-side
- Only subtitle text is sent to the AI API
- No data is stored on any server
📄 License
GPL-3.0 License
Built with ❤️ for content creators who need fast, accurate subtitle translations.
