srt-translator
Translate video subtitles (SRT, VTT, TXT) between languages. Supports batch translation and maintains timing synchronization. Use when creating multilingual subtitles, expanding to international audiences, or translating video transcripts.
Best use case
srt-translator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Translate video subtitles (SRT, VTT, TXT) between languages. Supports batch translation and maintains timing synchronization. Use when creating multilingual subtitles, expanding to international audiences, or translating video transcripts.
Teams using srt-translator should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/srt-translator/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How srt-translator Compares
| Feature / Agent | srt-translator | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Translate video subtitles (SRT, VTT, TXT) between languages. Supports batch translation and maintains timing synchronization. Use when creating multilingual subtitles, expanding to international audiences, or translating video transcripts.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# SRT Translator Translate subtitles while preserving timing and formatting. ## Supported Formats | Format | Extension | Description | |--------|-----------|-------------| | SubRip | .srt | Most common, numbered entries | | WebVTT | .vtt | Web standard, supports styling | | Plain Text | .txt | Transcript without timing | ## SRT Format Reference ``` 1 00:00:01,000 --> 00:00:04,000 This is the first subtitle line. 2 00:00:04,500 --> 00:00:08,000 This is the second subtitle line. It can have multiple lines. 3 00:00:08,500 --> 00:00:12,000 And so on... ``` ## Translation Guidelines ### Preserve Structure ``` ORIGINAL (English): 1 00:00:05,000 --> 00:00:08,500 Welcome to my channel! TRANSLATED (Spanish): 1 00:00:05,000 --> 00:00:08,500 ¡Bienvenidos a mi canal! ✅ Same timing, same number ✅ Natural translation (not word-for-word) ✅ Appropriate punctuation for target language ``` ### Handle Line Length ``` PROBLEM: Translation is longer than original SOLUTION: Split or abbreviate while keeping meaning ORIGINAL: 1 00:00:10,000 --> 00:00:13,000 Click the subscribe button GERMAN (longer): 1 00:00:10,000 --> 00:00:13,000 Klickt auf den Abonnieren-Button ✅ Split into two lines if needed ✅ Keep within ~42 characters per line ✅ Maintain readability ``` ### Cultural Adaptation ``` DON'T just translate - LOCALIZE: Original: "That costs about 20 bucks" Spanish (Latin America): "Eso cuesta unos 20 dólares" Spanish (Spain): "Eso cuesta unos 20 euros" Original: "Super Bowl Sunday" French: "Le dimanche du Super Bowl" (keep cultural reference) Chinese: "超级碗周日" (may need explanation) ``` ## Translation Output Format ``` ═══════════════════════════════════════════════════════════════ SUBTITLE TRANSLATION Source Language: [Language] Target Language: [Language] Total Entries: [X] ═══════════════════════════════════════════════════════════════ TRANSLATION NOTES: ───────────────────────────────────────────────────────────── • [Any cultural adaptations made] • [Technical terms kept/translated] • [Idioms adapted] TRANSLATED SRT: ───────────────────────────────────────────────────────────── 1 00:00:00,000 --> 00:00:03,500 [Translated text] 2 00:00:04,000 --> 00:00:07,500 [Translated text] [Continue for all entries...] ═══════════════════════════════════════════════════════════════ COPY-PASTE READY FILE: ═══════════════════════════════════════════════════════════════ [Clean SRT output without notes] ``` ## How to Use ### Full SRT Translation ``` Translate this SRT file to [Language]: [Paste SRT content] ``` ### Batch Translation Request ``` Translate to multiple languages: Languages: Spanish, French, German, Japanese, Chinese [Paste SRT content] ``` ### With Context ``` Translate this gaming video subtitle to Korean: - Game: [Game name] - Tone: [Casual/Professional] - Technical terms: [Keep English / Translate] [Paste SRT content] ``` ### From Transcript to SRT ``` Convert this transcript to SRT format, then translate to [Language]: [00:00] Hello everyone, welcome to the video. [00:05] Today we're going to talk about... ``` ## Translation Tips by Language ### Spanish (ES/LATAM) ``` • Use ustedes (LATAM) vs vosotros (Spain) • "Click" = "Haz clic" / "Da clic" • Keep brand names in English • Informal tone often preferred for YouTube ``` ### French (FR/CA) ``` • Tu (informal) vs Vous (formal) - YouTube usually tu • "Subscribe" = "Abonnez-vous" / "Abonne-toi" • Quebec French has unique expressions • Keep anglicisms when commonly used ``` ### German (DE) ``` • Du (informal) vs Sie (formal) - Du common on YouTube • Compound words can be very long - may need line breaks • "Daumen hoch" = Thumbs up • Technical terms often kept in English ``` ### Japanese (JA) ``` • Casual (だ/である) vs Polite (です/ます) • YouTube content usually casual-polite mix • Keep brand names in katakana or English • Consider vertical text for some contexts ``` ### Chinese (ZH-CN/ZH-TW) ``` • Simplified (CN) vs Traditional (TW) • No spaces between words • "Subscribe" = 订阅 (CN) / 訂閱 (TW) • May need shorter text (faster reading) ``` ### Korean (KO) ``` • Honorific levels matter (해요체 common for YouTube) • "Subscribe" = 구독 • Mixing English is common and accepted • Konglish terms often preferred ``` ### Portuguese (PT-BR/PT-PT) ``` • Brazilian vs European Portuguese differ significantly • "Você" vs "Tu" usage varies • "Subscribe" = "Se inscreva" (BR) / "Subscreva" (PT) • Brazilian audience is larger on YouTube ``` ### Arabic (AR) ``` • Right-to-left text • Modern Standard vs Colloquial • Numbers may need adjustment • Consider dialect for specific regions ``` ### Hindi (HI) ``` • Devanagari script • English mixing (Hinglish) is common • Formal vs informal forms • Regional language considerations ``` ## Quality Checklist Before finalizing translation: - [ ] Timing unchanged from original - [ ] Line numbers sequential and correct - [ ] No missing entries - [ ] Line length readable (≤42 chars) - [ ] Natural language (not robotic) - [ ] Cultural references adapted - [ ] Technical terms consistent - [ ] Punctuation correct for target language - [ ] Character encoding correct (UTF-8) - [ ] Format valid (SRT/VTT structure) ## Common Issues & Solutions | Issue | Cause | Solution | |-------|-------|----------| | Text overflow | Translation longer than original | Split lines, use abbreviations | | Timing mismatch | Reading speed different | Adjust text length, not timing | | Encoding errors | Wrong character set | Save as UTF-8 with BOM | | Broken format | Extra line breaks | Validate SRT structure | | Awkward phrasing | Literal translation | Localize for natural speech | ## Multi-Language Workflow ``` EFFICIENT BATCH PROCESS: 1. Get original transcript/SRT 2. Identify top languages for your audience: - Check YouTube Analytics for viewer locations - Common targets: ES, PT-BR, FR, DE, JA, KO, ZH 3. Translation priority order: Tier 1: Spanish, Portuguese (largest non-EN audiences) Tier 2: French, German (strong markets) Tier 3: Japanese, Korean (dedicated fandoms) Tier 4: Chinese, Hindi (massive populations) 4. Upload workflow: - YouTube: Add via Studio > Subtitles - Filename: videoname.[lang].srt (e.g., video.es.srt) ``` ## Integration with YouTube ### Upload Subtitles ``` YouTube Studio > Video > Subtitles > Add Language File types accepted: - .srt (SubRip) - .sbv (YouTube format) - .vtt (WebVTT) - .sub (SubViewer) Naming convention: videoname.en.srt (English) videoname.es.srt (Spanish) videoname.ja.srt (Japanese) ``` ### Auto-Translate Warning ``` ⚠️ YouTube's auto-translate is poor quality. Always provide human-quality translations for top languages. Priority: Upload translated subtitles for your top 3-5 viewer countries. ```
Related Skills
youtube-to-markdown
Use when user asks YouTube video extraction, get, fetch, transcripts, subtitles, or captions. Writes video details and transcription into structured markdown file.
youtube-seo-optimizer
Optimize YouTube videos for search and discovery. Generates SEO-optimized titles, descriptions, tags, hashtags, and chapters. Includes keyword research and competitor analysis. Use when publishing videos, improving discoverability, or optimizing existing content.
webfluence
Content web architecture framework. Use when diagnosing offer doc usage, content-to-conversion pathways, or why someone isn't getting sales despite traffic.
video-to-gif
Convert video clips to optimized GIFs with speed control, cropping, text overlays, and file size optimization. Create perfect GIFs for social media, documentation, and presentations.
video-title-optimizer
Optimize video titles for maximum click-through rate (CTR) and YouTube/TikTok SEO. Generates multiple title variations balancing curiosity, keywords, and platform best practices. Use when naming videos, improving CTR, or A/B testing titles.
video-script-writer
Write engaging video scripts for YouTube, TikTok, and other platforms. Creates complete scripts with hooks, main content, and CTAs. Supports various formats including tutorials, vlogs, reviews, explainers, and storytelling. Use when creating video scripts, writing YouTube content, or planning video structure.
video-script-collaborial
将视频脚本转换为更适合实际录制的口语化表达,去除书面化语言,增加自然感和亲和力。当用户提到"视频脚本"、"录制"、"口语化"、"自然一点"、"像说话一样"、"太书面了"时使用此技能。
video-hook-generator
Generate attention-grabbing hooks for the first 3 seconds of videos. The hook determines if viewers stay or scroll. Creates multiple hook variations for A/B testing. Use when crafting video openings, improving retention, or creating scroll-stopping content for YouTube, TikTok, or Reels.
youtube-downloader
Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
video-comparer
This skill should be used when comparing two videos to analyze compression results or quality differences. Generates interactive HTML reports with quality metrics (PSNR, SSIM) and frame-by-frame visual comparisons. Triggers when users mention "compare videos", "video quality", "compression analysis", "before/after compression", or request quality assessment of compressed videos.
video-analytics-interpreter
Interpret YouTube Analytics, TikTok Analytics, and video performance data. Identifies trends, explains metrics, and provides actionable recommendations for growth. Use when analyzing video performance, understanding metrics, or optimizing channel strategy.
thumbnail-concept-generator
Generate thumbnail concepts and ideas for YouTube, TikTok, and other video platforms. Creates detailed visual briefs with composition, text, colors, and emotion suggestions. Use when planning thumbnails, improving CTR, or briefing designers.