Separate files or switchable tracks
The first decision shapes everything else. With separate files, each language version is its own video with its own audio, and the page loads the file for the visitor's language. With switchable tracks, one player offers a menu of audio languages and caption languages for the same picture.
- Separate files
- One video per language; simple, works everywhere, easy to replace one language without touching others
- Switchable tracks
- One player with several audio and caption tracks; neat for viewers, more complex to set up
- Original plus captions
- One video in the source language with caption tracks in several languages; cheapest and simplest
The third option is often the right starting point. A single video with good caption tracks in several languages covers many needs before any dubbing is done. Which languages warrant a translated voice is then decided by audience data rather than guesswork.
Option one: a separate file per language
This is the most robust approach. Each language page embeds its own video file. Advantages:
- Plays in any browser that supports the file's codec, with no special player features.
- Each language version can be replaced or withdrawn independently.
- Fits naturally with one page per language, which also helps search engines index each version; the setup for that is covered in international SEO for video.
- Each file can have its own thumbnail and on-screen adaptations.
Disadvantages are storage (one full video per language) and the risk of versions drifting apart when the source changes. File naming helps: include the asset ID, language code and source version in every file name, for example product-tour_de_v3.mp4.
If you want one page with several languages, a simple language switcher can swap the player's source file. Remember the playback position if the visitor switches mid-video, and label each option with the language's own name (Deutsch, Español, 日本語) rather than its English name.
Option two: switchable audio tracks
A single video file can hold several audio tracks, and container formats such as MP4 and MKV support this. The article on making a video with two audio tracks explains how such files are built. The problem is playback: browser support for choosing between audio tracks in a plain video element is limited and inconsistent, so a multi-track file played directly on a web page usually plays only its default track.
The dependable way to offer switchable audio on the web is adaptive streaming. HLS and DASH both support alternate audio renditions, where each language is a separate audio stream sharing the same picture. Players built for these formats can show an audio-language menu. Many video hosting platforms handle this packaging for you; if you self-host, you need a packaging step and a compatible player. Check current browser and player documentation, because support changes.
Switchable tracks share one picture, so they suit videos with no language-specific on-screen text. If the German version needs different graphics, use separate files.
Caption tracks in your page's player
Captions are the easiest part to get right. The HTML video element accepts track elements that point to caption files, each with a language code and a label. Browsers support WebVTT natively for this; SRT files are not read directly by the native player, so convert them to VTT or use a player library that accepts SRT. Our VTT generator page describes the format.
Good practice for caption tracks:
- One track per language, each with a correct language code (such as es, de, ja) and a human-readable label in that language.
- Mark captions as subtitles or captions appropriately; captions intended for deaf and hard-of-hearing viewers should include relevant sound information, which plain speech transcripts do not.
- Serve VTT files with the correct text/vtt content type and from the same origin, or with cross-origin headers, or the browser may refuse to load them.
- Set a sensible default: the page's language, or none, rather than always the first file in the list.
- Test on mobile devices, where native players may present captions differently.
Language switchers and page structure
How visitors move between languages matters as much as the player.
- Put a site-wide language switcher in a consistent place, linking to the equivalent page in each language.
- On the video page, make the available video languages visible near the player, not hidden in a settings menu only.
- Default to the page's language: a German page should start the German audio or German captions.
- Do not redirect visitors automatically based on browser language; offer a suggestion instead, so people can choose.
- Put the transcript in the page's language below the player, both for readers and for search.
- Show the date or version of each language version, so visitors know whether it is current.
If only some languages have a dubbed version, say so: "This video is available with German audio. Japanese viewers can turn on Japanese captions." A visitor who knows their options will use them.
Hosting choices
Where the files live affects what is possible:
- Self-hosting on your server or a CDN: full control over files, players and page markup; you handle encoding, bandwidth and any streaming packaging.
- Dedicated video hosting platforms: usually provide adaptive streaming, a player with caption and sometimes audio-track menus, and analytics; check how each handles multiple audio languages and caption uploads.
- Embedding from a public platform: simple and free, with that platform's player and features. YouTube's own multi-language audio feature is covered in YouTube multi-language audio; an embed gives you less control over default language and page layout.
No single choice suits every site. A marketing site with a few translated videos can self-host separate MP4 files; a course platform with hundreds of videos in several languages usually benefits from a hosting service that handles streaming and tracks.
A nonprofit has a four-minute English explainer and wants it on its English, Spanish and French pages. It self-hosts three MP4 files, one per language: the English original and dubbed Spanish and French versions. Each page embeds its own file with a VTT caption track in the page's language, plus an English caption track for bilingual visitors. A line under each player lists the other languages with links. The transcript appears below each video in the page's language. When the explainer is updated, the team replaces all three files and caption tracks together and updates the version line.
Pitfalls and limits
- Uploading a multi-track file and assuming visitors can switch audio in a plain video element.
- Linking SRT files in a track element and wondering why captions never appear.
- Labeling languages only in English, or only with flags, which represent countries rather than languages.
- Serving caption files from another domain without cross-origin headers.
- Updating one language version and forgetting the others.
- Relying on caption tracks alone for accessibility when the captions contain speech only and no sound information.
Producing the files with mydubly
mydubly produces the pieces for the separate-files approach. A dubbed job gives a translated video with the original picture copied unchanged and the original voice replaced by a translated voice, plus SRT and VTT subtitles in the target language that follow the dubbed lines. Each job produces one language, so three language versions mean three runs. The translated video usually comes out as MP4; when the source video codec cannot go into MP4 it comes out as MKV, which may not play inline in every browser, so check the format before embedding. Music and effects from the original audio are kept under the translated voice. The video localization page explains the workflow.
The VTT files work directly in a track element. They are UTF-8 encoded with a byte order mark, single-line cues, and contain recognized speech only, with no sound descriptions, styling or positioning, so review them before relying on them for accessibility. The translated video contains no embedded subtitle track. For a switchable-audio setup, download the translated audio track that each dubbed job offers next to the translated video, then package the tracks for streaming yourself; if you only kept the videos, extracting the audio from a video works too. The subtitle generator page covers caption-only jobs.
Next step: start with captions
Add VTT caption tracks in your main languages to one important video on your site, test them on desktop and mobile, and put the transcript below the player. Then decide, based on how visitors use the captions, which languages deserve a dubbed version and whether separate files or switchable tracks suit your hosting.
Frequently asked questions
Can one video file on my website have several audio languages?
A file can contain several audio tracks, but browser support for switching between them in a plain video element is limited and inconsistent, so most visitors will hear only the default track. For switchable audio on the web, use adaptive streaming with alternate audio renditions or a hosting platform that supports audio-language menus.
Which subtitle format works in an HTML5 video player?
WebVTT is the format browsers support natively in the track element. SRT files are not read directly by the native player, so convert them to VTT or use a player library that accepts SRT. Serve VTT files with the text/vtt content type.
Should each language version have its own page?
For most sites, yes. A separate page per language lets visitors land directly on their language and lets search engines index each version. A single page with a language switcher can work for visitors, but it is harder for search engines to treat each language separately.
How should the language switcher label languages?
Use each language's own name, such as Deutsch, Español or Français, rather than English names or flags. Flags represent countries, and many languages are spoken in several countries. Make the available languages visible near the player.
Is it better to self-host translated videos or use a hosting platform?
It depends on scale and features. Self-hosting separate MP4 files is simple for a handful of videos. Larger libraries, or anyone wanting switchable audio tracks and adaptive streaming, usually benefit from a hosting platform or a streaming setup that handles packaging and players.
Do caption tracks make a video accessible?
They help, but captions for deaf and hard-of-hearing viewers should include relevant sound information as well as speech, and should be reviewed by a person. Speech-only subtitle files are a good starting point that needs editing for full accessibility.