Codes here are mostly ISO 639-1 (two-letter, e.g.
en, fr) with some
ISO 639-3 / regional and Ollang-specific variants for locales that need them
(for example pt-PT, es-MX, ar-EG, zh-Hant, fr-CA, en-UK). A few
codes are platform-specific historical assignments — pass the exact string
shown in the table when constructing sourceLanguage or language values.
This catalogue isn’t the outer limit of what the API accepts, though — see
BCP-47 support below. If you see a code returned by the
API that isn’t in this table, treat the API response as authoritative and
let us know via support.Supported Languages
BCP-47 support
The table above is Ollang’s verified catalogue: every code in it has confirmed transcription, translation, and/or AI-dubbing provider coverage, and it’s whatgetSupportedLanguages/ollang.locales.search() return and what
validateLanguageTag/ollang.locales.validate() check against.
Beyond that catalogue, sourceLanguage, targetLanguage, language (in
targetLanguageConfigs), supportedLanguages, and folder language
presets are all validated as plain strings, not restricted to an enum. In
practice this means Ollang accepts any well-formed BCP-47
language tag as input — a primary language subtag optionally combined
with a script and/or region subtag (for example nb, sr-Latn,
zh-Hans-SG) — not only the codes listed above.
A tag outside the catalogue keeps moving through the pipeline rather than
being rejected: when a specific regional or script variant isn’t directly
recognized by a downstream provider, processing falls back to the closest
supported match — typically the primary language subtag (for example, an
unrecognized
fr-CH still resolves to French). The catalogue above is
where each code is confirmed to have at least one core service
(transcription, translation, or AI-dubbing) available — it isn’t a promise
that every catalogued language has full coverage across every service or
every AI-dubbing/TTS engine. Voice-level coverage in particular varies by
engine (Gemini TTS, for example, covers 99 languages — see the
Text-to-Speech catalog for per-engine
language lists), so check the relevant provider page as well as the
catalogue above when a language needs dubbing or TTS specifically.
Resolve or validate a code first with ollang.locales.search() /
ollang.locales.validate() (or the getSupportedLanguages /
validateLanguageTag MCP tools) so you know which match to expect, and
check with support if you need dedicated
coverage for a language you don’t see in the table.Known non-standard or duplicate entries
A few codes in the table are historical or Ollang-specific rather than strict ISO/BCP-47 forms. They’re kept as-is for backward compatibility — pass the exact string shown, not a “corrected” equivalent:en-UK— Ollang’s tag for English (United Kingdom). The standard BCP-47 region tag isen-GB;en-UKis what this catalogue uses.md— used here for Moldavian; not a valid ISO 639-1 code (Moldovan is usually represented underro, Romanian).akandtwboth resolve to Twi (Akan); either is accepted.sgis Sango (ISO 639-1).sg-maandsg-msare Ollang-specific tags for Singaporean Mandarin and Singaporean Malay — they are not regional variants of Sango.ta-IN(Tamil) is the only entry with an-INregion suffix; other South Asian languages in this table (hi,bn,gu, etc.) use the bare code.