⚡ Quick start — 4 steps to your first translated video
Activate License
Enter your key at first launch
Sign in with Google
Connect your YouTube channel
Translate
Subtitles, titles, or styled captions
Upload
Push everything to YouTube Studio
VidLocalizer is a desktop application for YouTube creators that automates the localization of video content into 100+ languages. It connects to your YouTube channel via the official API and handles the entire workflow — from translation to publishing — without manual work.
What you can do with VidLocalizer:
- Translate video titles and descriptions into any language and upload them to YouTube
- Translate subtitle files (SRT, VTT, SBV, TXT) into multiple languages at once
- Create styled captions in YTT format with color highlights and word-by-word animations
- Upload all translations directly to YouTube Studio in one click
Step 1 — Activating your license
On first launch a dialog will ask for your license key.
Enter your license key
Format: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. You received it by email after purchase.
Click Activate
The app checks the key against the server. This takes 2–3 seconds.
You're in
After successful activation the app opens to the Dashboard.
Your HWID (hardware fingerprint) is shown in the activation dialog and in Settings. The license is tied to this ID. To move to a new PC, use Transfer to new PC in Settings beforehand.
Step 2 — Connecting your Google account
Click the account area in the top-right corner and select Sign in. Your default browser opens a Google authorization page — grant the requested YouTube permissions. Once done, your email and a green Active badge appear in the header.
Interface language
The language switcher is in the bottom-left corner. 32 languages are available. The change applies instantly to every tab — no restart needed.
The home screen shows the current status of your account at a glance.
Subscription Status
| Badge | Meaning |
|---|---|
| Active | License is valid — all features are available |
| Inactive | No active license — activate a key to unlock features |
| Grace period | Subscription is expiring — renewal required soon |
Dashboard buttons
- Get subscription — opens the purchase page on vidlocalizer.com
- Check subscription — manually re-validates your license against the server
- 📊 Check Limits — shows how many videos you've used this month and how many remain under your plan
Active Google Account
Shows your connected email and confirms the YouTube API is reachable. If the connection is broken, re-sign-in from Settings.
Quick Actions
Shortcut buttons to jump directly to Title & Desc, Subtitles and Upload.
Translates your video title and description into any number of languages and saves them as files ready for upload.
Preparing your files
Create a folder for your video and place two plain-text files inside it:
- title.txt — one line, the video title
- description.txt — full video description, any length
How to translate
Select folder
Click the 📁 button next to Files Folder and open the folder containing your two files.
Choose languages
Tick the languages you want. Use All, Top-10 or Clear for quick selection.
Start Translation
Click the button and wait. The progress bar shows each language as it's completed.
Output files
A translations/ subfolder is created next to your source files:
- translations/title_en.txt, title_es.txt …
- translations/description_en.txt, description_es.txt …
These files are then uploaded via the Upload tab → Upload Localizations (titles).
Translates an existing subtitle file into any number of languages while preserving timing and formatting.
Supported formats
| Format | Extension | Notes |
|---|---|---|
| SubRip | .srt | Most common format; fully supported |
| WebVTT | .vtt | Web and YouTube native format |
| YouTube SBV | .sbv | YouTube's own subtitle format |
| Plain Text | .txt | Each line becomes one subtitle block |
How to translate
Select subtitle file
Click 📁 next to Subtitle file. The dialog accepts SRT, VTT, SBV and TXT.
Choose languages
Tick your target languages using the checkbox grid. All / Top-10 / Clear buttons help you pick quickly.
Translate Subtitles
Click the button. Each language is processed in sequence; the progress bar advances per language.
Output
A subtitles/ subfolder appears next to the source file containing:
- original.srt — copy of the source
- en.srt, es.srt, ru.srt … — one file per language
The output format matches the input format — if you loaded a .vtt file you get .vtt results.
Upload the folder via the Upload tab → Upload Subtitles.
Creates subtitles in the YTT format — YouTube's native caption format that supports color highlights and word-by-word animations. This is the style used by large channels like MrBeast.
Block 1 — Style Settings
These settings apply to every YTT file you create. Configure them before converting or translating.
Mode
Word Highlight
All subtitle text is visible at once, but the currently spoken word is highlighted in real time. Classic MrBeast style — viewers can follow along easily.
Color Cycling
Each subtitle line is displayed in a different color from your palette, cycling through them in sequence. Creates a dynamic, eye-catching look.
Presets
One click fills in all color fields automatically.
🟡 Mr Beast
Yellow · Orange · Red
🔴 Fire
Red · Orange · Yellow
🔵 Neon Blue
Cyan · Purple · Green
🟣 Purple
Purple · Pink · Blue
🟢 Matrix
Green · Cyan · Yellow
🌈 Rainbow
6 colors in sequence
⚪ Classic
White with accents
Color fields
| Field | Description |
|---|---|
| Highlight Color | Color of the highlighted word (Word Highlight mode). HEX, e.g. #FFD700 |
| Text Color | Color of the non-highlighted text. Usually white #FFFFFF |
| Cycle Colors | Comma-separated HEX palette for Color Cycling mode, e.g. #FF2D55,#FF6B00,#FFD700 |
The Word-by-word highlight checkbox (Word Highlight mode only) — when checked, each word animates individually. When unchecked, the whole line is shown as one color without per-word animation.
Block 2 — Convert SRT File
Converts a single SRT file to YTT without translation. Use this when you need a styled caption for the original language only.
Browse
Select a .srt file.
🎨 Convert to YTT
The app generates a .ytt file in the same folder using your current Style Settings.
Block 3 — Translate YTT to Multiple Languages
The main workflow block. One run creates styled YTT files in all selected languages.
What happens internally:
Parse SRT
Reads the source file and extracts all subtitle blocks with their timestamps
Translate
For each selected language, sends every subtitle line through Google Translate
Generate YTT
Builds a YTT file applying your current Style Settings (mode, colors, preset)
Save
Saves ru.ytt, en.ytt, es.ytt … to the output folder
Auto-fill
The output folder is automatically inserted into the Upload block below
Source SRT
Select the original-language SRT file via 📁.
Output folder
Choose where to save the YTT files (e.g. create a new YTT/ folder).
Target languages
Tick your languages. All / Top-10 / Clear buttons work the same as on other tabs.
🌐 Translate SRT → YTT files
The progress bar advances per language. When done, the output folder is pre-filled in the Upload block.
Block 4 — Upload YTT to YouTube
Uploads the folder of YTT files as caption tracks on a specific video.
Video ID or URL
Paste a full YouTube URL or just the 11-character video ID, e.g. wgyVARov3Ss.
YTT folder
Pre-filled after translation. Or browse 📁 manually — the app auto-detects languages from file names.
Languages to upload
Tick the languages you want to push. All / Top-10 / Clear available.
⬆️ Upload to YouTube
Each YTT file is uploaded as a separate caption track. Existing tracks for the same language are updated automatically.
Open Studio opens YouTube Studio in your browser to verify the results.
The Upload tab handles bulk publishing of subtitles and localized titles/descriptions to YouTube.
Video field
Enter a YouTube Video ID (11 characters) or the full video URL. Both formats are accepted.
Upload Subtitles (SRT / VTT / SBV / TXT)
Uploads translated subtitle files as separate language tracks on the video.
Subtitles Folder — the folder created by the Subtitles tab. File names must match the language code: en.srt, ru.srt, es.vtt …
Upload mode
| Mode | Behavior |
|---|---|
| Skip existing | If a subtitle track for this language already exists on the video, it is left untouched. Safe default. |
| Update existing | Replaces the content of an existing track with the new file. |
| Replace all | Deletes the existing track first, then uploads the new one. |
Click Upload Subtitles — the app walks through every file in the folder and publishes it.
Upload Localizations (titles)
Uploads translated titles and descriptions, making them visible to users in each respective language region.
Titles & Descriptions Folder — the translations/ folder created by the Title & Desc tab. Contains title_en.txt, description_ru.txt and so on.
Click Upload Localizations (titles) — the app sets the title and description for each available language.
Subscription
Shows your license details: key (masked), status, product name, plan, customer email and expiry date.
| Button | Action |
|---|---|
| Revalidate online | Force-checks your license status against the server |
| Manage subscription | Opens your account on vidlocalizer.com |
| 🔄 Transfer to new PC | Deactivates on the current device so you can activate on a new one |
| Deactivate | Removes the license from this device (red button) |
Security
- HWID — your device hardware fingerprint. Needed if you contact support about license issues.
- Verify app integrity — checks that no app files have been modified.
- Clear local cache — removes all locally stored tokens and temporary data. You'll need to sign into Google again after this.
Appearance
Interface language — choose from 32 languages. Applied immediately to every tab.
Python Dependencies
Shows the status of required libraries. Green ✅ = installed. Red ❌ = missing.
If anything is red, install it from a terminal:
The Log tab records every operation performed during the current session: translation jobs, subtitle uploads, API calls, errors and status messages. It's the first place to look if something doesn't work as expected.
- Clear — empties the log window
- Save — exports the log to a .txt file for sharing with support
Workflow A — Full localization of a new video
Title & Desc tab
Create title.txt + description.txt → choose Top-10 → Start Translation
Subtitles tab
Load original SRT → choose Top-10 → Translate Subtitles
Upload tab
Enter Video ID → Upload Localizations → Upload Subtitles
Workflow B — Styled captions (MrBeast style)
Styled Captions → Style Settings
Choose preset Mr Beast, mode Word Highlight
Translate YTT to Multiple Languages
Source SRT → Output folder → languages → Translate SRT → YTT files
Upload YTT to YouTube
Video ID → languages → Upload to YouTube
Verify
Open Studio → check that caption tracks are visible
Workflow C — Quick subtitle translation for one language
Subtitles tab
Load SRT → check one language → Translate Subtitles
Upload tab
Video ID → select subtitles folder → Upload Subtitles
Workflow D — Back-catalog bulk localization
Pick your top 10 evergreen videos
Sort by lifetime views in YouTube Studio Analytics.
Translate each video into 2–4 languages
Run Title & Desc + Subtitles tabs for each video.
Upload in batch
Use the Upload tab sequentially — paste a new Video ID for each video.
Fix: Go to Settings → sign out of your Google account → sign in again. The new token will include the correct permissions.
Fix: On the Upload tab, switch the upload mode to Update existing or Replace all.
Fix: Settings → Deactivate → re-activate with the same license key.
Fix: Run pip install deep-translator in a terminal, then restart the app.
Fix: Wait a few minutes and try again. Alternatively reduce the number of selected languages and run in smaller batches.
Fix: Wait 5–10 minutes after upload, then reload the video page in YouTube Studio.
Fix: Use 🔄 Transfer to new PC in Settings before the hardware change. If that's no longer possible, contact support.
Fix: Wait until midnight Pacific time (when quotas reset) or space out uploads over multiple days. Check Dashboard → 📊 Check Limits.