VidLocalizer User Manual

Everything you need to get started and get the most out of every feature

⚡ Quick start — 4 steps to your first translated video

1
Activate License

Enter your key at first launch

2
Sign in with Google

Connect your YouTube channel

3
Translate

Subtitles, titles, or styled captions

4
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
ℹ️ How it works
All operations use the official YouTube Data API v3 and Google OAuth 2.0. Your password is never stored. The app acts on your behalf with a limited-scope access token stored only on your device.
🔑

Step 1 — Activating your license

On first launch a dialog will ask for your license key.

1

Enter your license key

Format: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. You received it by email after purchase.

2

Click Activate

The app checks the key against the server. This takes 2–3 seconds.

3

You're in

After successful activation the app opens to the Dashboard.

💡 Don't have a license yet?
Click Get subscription in the dialog to open the purchase page. All plans include a free 3-day trial — no charge until the trial ends.

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.

ℹ️ Multiple accounts
The app supports multiple Google accounts. Switch between them via the dropdown in the top-right corner. Each account's access token is stored locally on your device only.

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

BadgeMeaning
ActiveLicense is valid — all features are available
InactiveNo active license — activate a key to unlock features
Grace periodSubscription 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

1

Select folder

Click the 📁 button next to Files Folder and open the folder containing your two files.

2

Choose languages

Tick the languages you want. Use All, Top-10 or Clear for quick selection.

3

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).

💡 Top-10 languages
For most channels, the highest-ROI languages are en, es, fr, de, it, pt, ru, zh-CN, ja, ko. The Top-10 button selects all of them at once.
💬

Translates an existing subtitle file into any number of languages while preserving timing and formatting.

Supported formats

FormatExtensionNotes
SubRip.srtMost common format; fully supported
WebVTT.vttWeb and YouTube native format
YouTube SBV.sbvYouTube's own subtitle format
Plain Text.txtEach line becomes one subtitle block

How to translate

1

Select subtitle file

Click 📁 next to Subtitle file. The dialog accepts SRT, VTT, SBV and TXT.

2

Choose languages

Tick your target languages using the checkbox grid. All / Top-10 / Clear buttons help you pick quickly.

3

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.

🎙️

The Transcribe tab converts any audio or video file into SRT subtitles using Whisper AI — then lets you translate and upload them to YouTube in one pipeline.

Requires: Whisper installed via Settings → Activate Transcription. Also requires ffmpeg on your system.

Step 1 — Transcribe Audio / Video

Select any media file (MP4, MKV, MP3, WAV, M4A, WEBM, MOV, FLAC, AAC) using the folder icon. Choose a Whisper model:

  • Tiny — fastest, lowest accuracy. Good for testing.
  • Base — recommended for most users. Good balance of speed and quality.
  • Small — better quality, takes longer.
  • Medium — high quality, requires ~5 GB RAM.
  • Large — best quality, slowest. Requires ~10 GB RAM.

Set Audio language to auto for automatic detection, or type a language code: en, ru, es, de, fr, ja

Click 🎙️ Transcribe. The app extracts the audio track via ffmpeg and processes it locally. Results appear in the editor below. The SRT file is automatically saved next to your source file.

⚠️ Important: Your video file must have an audio track. Videos without audio cannot be transcribed. Use the Dictate tab instead for silent videos.

Step 2 — Subtitle Editor

The editor shows the full SRT content with timecodes. You can:

  • Edit any subtitle line directly in the editor
  • Click 📂 Load SRT to load an existing SRT file instead of transcribing
  • Click 💾 Save SRT to save the edited version to disk
  • Click 🗑️ Clear to reset the editor

Sync Subtitles with Audio

If you have a subtitle file with correct text but wrong timecodes, use the Sync tool:

  • Select your subtitle file (SRT, VTT, SBV, or plain TXT)
  • Select the audio or video file
  • Choose a model and click 🔄 Sync Subtitles with Audio

The app uses stable-ts (if installed) or Whisper to align the text to the audio with word-level precision. The synced file is saved as filename_synced.srt and loaded into the editor.

Supported audio formats: MP3, WAV, M4A, FLAC, OGG, AAC, MP4, MKV, WEBM, MOV, AVI.

💡 Install stable-ts for best sync results: pip install stable-ts

Step 3 — Translate to Multiple Languages

Select an output folder and choose your target languages from the grid (All / Top-10 / individual selection). Click 🌐 Translate.

The app translates every subtitle line via Google Translate and saves one SRT file per language: en.srt, ru.srt, es.srt

The output folder is automatically filled into Step 4.

Step 4 — Upload to YouTube

Enter your Video ID or URL. The subtitle folder is pre-filled from Step 3. Choose an upload mode:

  • Skip existing — don't overwrite subtitles that already exist on the video
  • Update existing — replace the content of existing subtitle tracks
  • Replace all — delete existing tracks first, then upload fresh

Click ⬆️ Upload to YouTube. The progress bar shows each language being uploaded. Click Open Studio to verify the result in YouTube Studio.

🎤

The Dictate tab is designed for silent videos — cooking tutorials, product demos, time-lapses — where there is no audio to transcribe. Watch your video and record your own voice as subtitles in real time. Whisper transcribes your speech and adds it with the correct timecode automatically.

Requires: Whisper activated in Settings. Microphone connected and working.

🌐 Note: Dictation uses the cloud Whisper API (Groq) for best quality. It is included in your VidLocalizer subscription within the monthly minutes limit for your plan.

Loading a Video

Click the 📁 folder icon next to "Video file" and select your MP4, MKV, AVI, MOV, or WEBM file. The first frame appears in the preview player.

Playback Controls

  • ▶ Play — start video playback
  • ⏸ Pause — pause without changing position
  • ⏹ Stop — stop and return to beginning
  • Seek slider — drag to any position in the video
  • Timecode display — shows current position (HH:MM:SS)

Dictation Language

Select the language you will speak into the microphone from the radio button grid. Choose Auto-detect if you are unsure — Whisper will identify the language automatically. For best accuracy with Russian, select ru — Russian explicitly.

Microphone Selection

The Mic: dropdown lists all available input devices. Select your headset microphone or preferred recording device. The default system input is selected automatically.

Recording a Subtitle

  1. Click ▶ Play — video starts playing
  2. Watch until the moment you want to add a subtitle
  3. Click ⏺ Start Recording [R] (or press the R key) — video pauses, recording begins, a timer appears
  4. Speak your subtitle clearly into the microphone
  5. Click ⏹ Stop Recording [R] (or press R again) — recording stops, Whisper transcribes your speech
  6. The subtitle appears in the editor below with the exact timecode of the video position where you started recording
  7. Click ▶ Play to continue watching and repeat for the next subtitle
💡 Tip: Use the R key instead of the mouse button — it doesn't conflict with anything in the interface and works reliably every time.

Subtitle Editor

All dictated subtitles appear in the SRT editor at the bottom of the page. You can edit any line directly. Use the toolbar buttons:

  • 📤 Send to Transcribe — copy all subtitles to the Transcribe tab editor for translation and upload
  • 💾 Save SRT — save the subtitles as an SRT file
  • ↩️ Undo — remove the last recorded subtitle
  • 🗑️ Clear — delete all subtitles and start over

Full Workflow

  1. Load your silent video in the Dictate tab
  2. Select your language and microphone
  3. Record subtitles scene by scene using R key
  4. Review and edit in the subtitle editor
  5. Click 📤 Send to Transcribe
  6. In the Transcribe tab — Step 3: translate into 80+ languages
  7. Step 4: upload to YouTube

Monthly Usage Limits

Dictation minutes per month by plan:

  • Basic — 60 minutes / month
  • Professional — 200 minutes / month
  • Business — 600 minutes / month

Each recording session counts toward your monthly total. The status bar shows remaining minutes after each transcription.

🎨

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

FieldDescription
Highlight ColorColor of the highlighted word (Word Highlight mode). HEX, e.g. #FFD700
Text ColorColor of the non-highlighted text. Usually white #FFFFFF
Cycle ColorsComma-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.

1

Browse

Select a .srt file.

2

🎨 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

1

Source SRT

Select the original-language SRT file via 📁.

2

Output folder

Choose where to save the YTT files (e.g. create a new YTT/ folder).

3

Target languages

Tick your languages. All / Top-10 / Clear buttons work the same as on other tabs.

4

🌐 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.

1

Video ID or URL

Paste a full YouTube URL or just the 11-character video ID, e.g. wgyVARov3Ss.

2

YTT folder

Pre-filled after translation. Or browse 📁 manually — the app auto-detects languages from file names.

3

Languages to upload

Tick the languages you want to push. All / Top-10 / Clear available.

4

⬆️ 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.

💡 Full pipeline at a glance
Configure style → Source SRT + Output folder + languages → Translate SRT → YTT files → Video ID → Upload to YouTube → Open Studio to check.
⬆️

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

ModeBehavior
Skip existingIf a subtitle track for this language already exists on the video, it is left untouched. Safe default.
Update existingReplaces the content of an existing track with the new file.
Replace allDeletes 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.

ℹ️ YouTube localization
Localized titles and descriptions are shown automatically to YouTube users based on their browser language. They don't replace the original — they are added as language-specific overrides.
⚙️

Subscription

Shows your license details: key (masked), status, product name, plan, customer email and expiry date.

ButtonAction
Revalidate onlineForce-checks your license status against the server
Manage subscriptionOpens your account on vidlocalizer.com
🔄 Transfer to new PCDeactivates on the current device so you can activate on a new one
DeactivateRemoves 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:

Terminal command
pip install deep-translator google-api-python-client google-auth-oauthlib cryptography requests
📋

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
ℹ️ Sharing logs with support
If you contact support about an issue, attach the saved log file. It helps us diagnose the problem much faster.
🗺️

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

1

Pick your top 10 evergreen videos

Sort by lifetime views in YouTube Studio Analytics.

2

Translate each video into 2–4 languages

Run Title & Desc + Subtitles tabs for each video.

3

Upload in batch

Use the Upload tab sequentially — paste a new Video ID for each video.

🔧
403
insufficientPermissions
Cause: The Google OAuth token was issued without the required YouTube scope.
Fix: Go to Settings → sign out of your Google account → sign in again. The new token will include the correct permissions.
409
Conflict — caption already exists
Cause: A subtitle track for this language already exists on the video.
Fix: On the Upload tab, switch the upload mode to Update existing or Replace all.
License
instance_id not found
Cause: The instance ID stored on the server has gone stale.
Fix: Settings → Deactivate → re-activate with the same license key.
Deps
deep-translator not installed
Cause: Required Python library is missing.
Fix: Run pip install deep-translator in a terminal, then restart the app.
Quality
Translation returns original text
Cause: Google Translate has temporarily rate-limited the requests.
Fix: Wait a few minutes and try again. Alternatively reduce the number of selected languages and run in smaller batches.
YTT
Styled captions not showing on YouTube
Cause: YouTube processes newly uploaded captions asynchronously.
Fix: Wait 5–10 minutes after upload, then reload the video page in YouTube Studio.
HWID
License won't activate after PC upgrade
Cause: Replacing the motherboard or reinstalling Windows changes the HWID.
Fix: Use 🔄 Transfer to new PC in Settings before the hardware change. If that's no longer possible, contact support.
Quota
YouTube API quota exceeded
Cause: YouTube API allows 10,000 units/day free; caption operations cost 50–400 units each.
Fix: Wait until midnight Pacific time (when quotas reset) or space out uploads over multiple days. Check Dashboard → 📊 Check Limits.
📧 Still stuck?
Export your log (Log tab → Save), then email it to support@vidlocalizer.com or use the contact form. We respond within 24 hours on weekdays.

Ready to grow your channel?

3-day free trial · 100+ languages · cancel any time