Skip to content

Adding subtitles in multiple languages to videos on a WordPress website

Adding subtitles (closed captions) in multiple languages to videos on a WordPress website can be done in a few different ways depending on how you host the video and which tools/plugins you use. Here are the simplest and most reliable methods:


Method 1: Using WordPress’ Native Video Block (Self-Hosted Videos)

If you upload videos directly into WordPress (not recommended for large files), you can add subtitle files like .vtt.

Steps

  1. Prepare subtitle files in WebVTT format:
    • Example names:
      • subtitles-en.vtt
      • subtitles-es.vtt
      • subtitles-fr.vtt
  2. Upload your .vtt files to the WordPress Media Library.
  3. Add a Video Block in the editor.
  4. Click Settings ⚙️ → scroll to Tracks → click Add Tracks.
  5. For each subtitle:
    • Choose your uploaded .vtt file
    • Set Kind: Subtitles
    • Set Language (“en”, “fr”, etc.)
    • (Optional) Check Default for default subtitle language

✔️ Pros

  • Built-in WordPress feature
  • No plugins needed

❗ Cons

  • Requires manually creating VTT files
  • Limited customization

Method 2: Using Plugins (Best for Multilingual Sites)

If you want a smoother workflow with automatic detection, translation, or better UI, use a plugin.

1. Video.js Player Plugin

Video.js HTML5 Player supports multiple subtitle tracks.

Steps:

  1. Install Video.js HTML5 Player plugin.
  2. Upload your video.
  3. Upload .vtt subtitle files.
  4. Add your video with subtitle tracks in the plugin settings or shortcode.

2. FV Player

A premium WordPress video player with very good subtitle support.

Features:

  • Multiple languages
  • Subtitle styling
  • Toggle from player UI

Steps:

  1. Install FV Player
  2. Upload video + subtitle files
  3. Add subtitles in the FV Player interface

3. YouTube or Vimeo embeds (EASIEST + Recommended)

If your video is hosted on YouTube or Vimeo, you can upload subtitles directly there.

See also  How to upload and display a WebGL project on WordPress

Then embed the video using:

  • WordPress block
  • Shortcode
  • Paste link

All subtitles are automatically included in the embedded player.

✔️ Best option for performance and ease
✔️ Auto-translate options available on YouTube


Method 3: Using Multilingual Plugins (WPML / Polylang / TranslatePress)

If your whole website is multilingual, these tools help organize video subtitles or separate videos per language.

WPML + Subtitles

  • Upload video
  • Upload subtitle tracks
  • WPML lets you assign specific subtitles to each language page

TranslatePress

  • Works best if subtitles live inside your video player (YouTube/Vimeo)

📌 How to Create Subtitle Files (VTT Format)

A simple .vtt file looks like:

WEBVTT

00:00:02.000 --> 00:00:05.000
Welcome to our video!

00:00:06.000 --> 00:00:10.000
Today we will learn how to add subtitles.

Save as:

  • english.vtt
  • french.vtt
  • spanish.vtt

⭐ Recommended Approach

If performance matters and you don’t want to manually maintain subtitles:

👉 Upload video to YouTube or Vimeo → add subtitles → embed in WordPress

If you need subtitles on self-hosted videos:

👉 Use Video.js or FV Player for the best multilingual support


How to Add Subtitles Using Polylang

If you already installed Polylang, here’s the simplest way to manage multilingual subtitles for videos on your WordPress site. Polylang does not directly add subtitle tracks to videos, but it does help you manage separate content per language, including different subtitle files or different video embeds.

Option 1: Use the same video, but add language-specific subtitle tracks

This works if your video is self-hosted in WordPress.

Steps

For each language handled by Polylang:

  1. Open the page/post in that language
    • Example:
      • English version of the page
      • French version of the page
  2. Add your Video block in that language’s page.
  3. In the block settings (right side):
    • Scroll to Tracks
    • Click Add Track
    • Upload / select the correct .vtt subtitle file for that language.
See also  How to disable "XML-RPC" - a popular backdoor that hackers often use to bypass login pages?

Example:

  • English page → sub-en.vtt
  • French page → sub-fr.vtt

Each language page will show the correct subtitles automatically.

✔️ Simple
✔️ Works with Polylang structure
✔️ No extra plugins


Option 2: Use YouTube or Vimeo (Easiest)

If the video is from YouTube, Vimeo, or another host:

Step-by-step:

  1. Upload your video subtitles directly on YouTube/Vimeo.
  2. Polylang creates different URLs for each language.
  3. Embed the same video link into all language pages.

The video player will automatically offer subtitle selections.

✔️ YouTube auto-detects language
✔️ No need to upload VTT files manually
✔️ Best for performance


Option 3: Use a Video Plugin That Supports Multiple Tracks (e.g., Video.js or FV Player)

You can:

  • Add one video
  • Add multiple subtitle tracks
  • Place one player in each language page

Polylang doesn’t change the player — just the page content.


📌 Key Idea with Polylang

Polylang does not combine languages on one page.

Instead:

➡️ You create separate pages for each language
➡️ You add the correct subtitle file on each language version

This gives complete control over subtitles.


Leave a Reply

error: Content is protected !!