South Asian language subtitles

Every language breaks differently.

Most caption tools list the languages they support and stop there. That list tells you nothing about what will actually go wrong. Here is the specific fault for each one, and where to fix it.

Failure mode by language

Spelling has no standard

Roman Urdu

Urdu written in Latin letters has no agreed spelling, so the same word appears several ways across one file. Choose a form per common word and hold it.

Script and encoding

Urdu

Urdu script needs UTF-8 to survive an upload at all, and reads right to left, so line breaks need checking in a player rather than an editor.

Which script to write in

Hindi and Hinglish

Devanagari or Roman letters changes who can read the captions, how stable the spelling is, and the reading speed of every cue.

Two scripts, split by border

Punjabi

Shahmukhi in Pakistan, Gurmukhi in India. A reader of one generally cannot read the other, so the wrong choice is unreadable rather than merely worse.

The wrong letter, substituted

Sindhi

Sindhi has letters Urdu does not. A tool trained on Urdu reaches for the nearest Urdu letter and produces a real word that is the wrong word.

Dialect

Pashto

Two letters sound completely different in Peshawar and Kandahar while being written the same, so a model trained on one region mis-hears the other.

Glyph shaping

Bengali

Conjuncts must be joined by the font. A font without Bangla support leaves every character correct but unjoined, so words come apart.

Register

Tamil

Spoken and formal written Tamil differ enough to be a real decision, and transcription always returns the spoken form.

Miscounted lines

Kannada

Most tools measure a line in code units, which counts a Kannada akshara as several. Lines that fit get reported as too long and broken for no reason.

Numerals

Gujarati

Gujarati digits differ from both Devanagari and Western ones, so a tool picks whichever it knows best and files end up mixing forms.

Vertical fit, not width

Telugu

Combined consonants stack below the line, so a caption can pass every character-count check and still be clipped by the caption box.

Shared script, different rules

Marathi

Marathi uses Devanagari exactly as Hindi does, so nothing is missing and nothing can be flagged. A Hindi-weighted model applies Hindi's rules and returns clean Devanagari that reads as not quite Marathi.

Word length

Malayalam

Agglutination has no ceiling, so long compounds break recognition and set a floor on line length that a line limit cannot always meet.

Reading the symptom

These faults look similar from a distance and have completely different fixes, so it is worth naming what you are actually seeing before changing anything.

  • Boxes or symbols across the whole file: encoding. The file is wrong. Save it as UTF-8.
  • Every character correct but words coming apart: font shaping. The file is fine and the player is not.
  • A real word that is the wrong word: recognition. Substitution or dialect, depending on the language.
  • Reads correctly but sounds wrong for the video: register. An editing decision, not a fault.
  • Lines running past the frame: length. Sometimes fixable by re-breaking, sometimes only by rewording.

The encoding case is covered in detail in the subtitle encoding guide, including the mistake that makes garbled text permanent.

What every one of them has in common

Almost all of these faults produce output that looks plausible. Nothing crashes, nothing is obviously missing, and a quick scan passes. That is precisely why they reach audiences, and why the two habits that catch them are unglamorous ones.

Read the draft rather than skimming it, ideally against the audio. And check the finished file in the player your audience will actually open, not only in the editor where you made it. A file can be perfect in one application and wrong in another purely because of the font in use.

For the mechanical checks, the subtitle validator reports line length, reading speed and timing faults across the whole file, and the subtitle line breaker re-breaks what it can and reports what it cannot.

Common questions

Why do South Asian language captions need different handling?

Because the failures are not the same. Some are script decisions, such as Punjabi's Shahmukhi and Gurmukhi split or the Devanagari and Roman choice for Hindi. Some are recognition faults, such as an Urdu-trained tool substituting the wrong letter in Sindhi, or Pashto dialect changing how a letter sounds. Some are display faults, such as Bengali conjuncts rendering unjoined in the wrong font. Treating them as one problem means fixing the wrong thing.

Which fault is mine?

Look at what the output does. Boxes across the whole file is encoding. Every character correct but words coming apart is font shaping. A real word that is the wrong word is recognition. Text that reads fine but sounds too formal or too casual is register. Lines overflowing the frame is length. Each has a different fix.

Does one subtitle file work for both India and Pakistan?

It depends on the language. Bengali, Tamil and Malayalam use one script, so one file serves everyone. Punjabi does not, because the two countries use different scripts and readers of one generally cannot read the other. Urdu and Hindi are close in speech and separate in writing, so they need separate tracks.

Do these languages need separate subtitle tracks?

YouTube accepts a subtitle track per language, so several can sit on one upload. Short-form feeds accept no subtitle file at all, so those need the captions rendered into the picture and you get one language per upload.

What is the common thread across all of them?

Check the file in the player your audience will use, not only in the editor where you made it, and read the draft rather than skimming it. Most of these faults produce output that looks plausible, which is exactly why they reach an audience.

Start with any of them

One editor, one review pass, then export SRT, VTT, text, or a captioned video per destination.