Language codes should be formatted according to the best practices recommended by the Internet Engineering Task Force (IETF) in a group of documents known collectively as BCP 47, and in particular, RFC 5646, which is part of BCP 47. An overview of these best practices is provided here: https://www.w3.org/International/articles/language-tags/. When specifying languages, you can use any language as long as it is a valid BCP 47 code that consists of the language subtag, optional region subtag, and optional script subtag as appropriate.
As a best practice when specifying a language, use the region subtag (for example, the US of en-US) only when it conveys helpful information, such as spelling variations between countries. For example, there is generally not a need to distinguish between Japanese as used in one country versus another, so you should use only the language code subtag (ja) instead of the language code and region subtags (ja-JP). In cases where specifying a region is appropriate, use the hyphen character to combine a language subtag with a region subtag. This identifies both the language and the specific location where the language is used. For English with American spelling, use en-US; for English with British spelling, use en-GB.
Although script subtags are valid (for example, Chinese can be written in either Traditional or Simplified characters, and you may need to indicate that localizations appear in a specific script), keep in mind that script subtags are for describing text and should not be used for describing audio. For example, you would deliver cmn to describe audio in Mandarin, not cmn-Hant or cmn-Hans.
Note: Although BCP 47 also includes support for UN M.49 region codes in addition to commonly-used alphabetic country codes, the only UN M.49 region code supported by Apple at present is 419 (representing Latin America and the Caribbean). This is useful in forming the language tag es-419 to represent Spanish as used in Latin America (as distinct from Spanish as used in Spain).
Note that while any language code complying with the guidelines above will be accepted, the Apple TV app displays content only in a limited set of languages as shown in the table below. The fourth column of the table is provided for reference only, and may be useful for cross-reference if you have existing data from other sources that uses 3-character ISO 639-3 language codes.
Description | RFC 5646 Language Code | The Apple TV app displays these languages | ISO 639-3 3 char Language (for reference only) |
|---|---|---|---|
Afrikaans | af | ✓ | afr |
Arabic | ar | ✓ | ara |
Bengali | bn | ✓ | ben |
Bulgarian | bg | ✓ | bul |
Cantonese (Spoken) | yue | yue | |
Cantonese (Script) | yue-Hant | ✓ | yue |
Catalan | ca | ✓ | cat |
Croatian | hr | ✓ | hrv |
Czech | cs | ✓ | ces |
Danish | da | ✓ | dan |
Dutch | nl | ✓ | nld |
English | en | ✓ | eng |
English (Australia) | en-AU | ✓ | eng |
English (Canada) | en-CA | ✓ | eng |
English (France) | en-FR | eng | |
English (Germany) | en-DE | eng | |
English (Ireland) | en-IE | eng | |
English (New Zealand) | en-NZ | eng | |
English (United Kingdom) | en-GB | ✓ | eng |
English (United States) | en-US | ✓ | eng |
Estonian | et | ✓ | est |
Finnish | fi | ✓ | fin |
Flemish | nl-BE | nld | |
French | fr | ✓ | fra |
French (Belgium) | fr-BE | fra | |
French (Canada) | fr-CA | ✓ | fra |
French (France) | fr-FR | ✓ | fra |
French (Switzerland) | fr-CH | fra | |
German | de | ✓ | deu |
German (Austria) | de-AT | deu | |
German (Germany) | de-DE | ✓ | deu |
German (Switzerland) | de-CH | deu | |
Greek | el | ✓ | ell |
Greek (Cyprus) | el-CY | ell | |
Hebrew | he | ✓ | heb |
Hindi | hi | ✓ | hin |
Hungarian | hu | ✓ | hun |
Icelandic | is | ✓ | isl |
Indonesian | id | ✓ | ind |
Italian | it | ✓ | ita |
Japanese | ja | ✓ | jpn |
Kannada | kn | ✓ | kan |
Kazakh | kk | ✓ | kaz |
Korean | ko | ✓ | kor |
Lao | lo | ✓ | lao |
Latvian | lv | ✓ | lav |
Lithuanian | lt | ✓ | lit |
Luxembourgish | lb | ltz | |
Malay | ms | ✓ | msa |
Malayalam | ml | ✓ | mal |
Maltese | mt | mlt | |
Mandarin (Simplified Script) | cmn-Hans | ✓ | cmn |
Mandarin (Spoken) | cmn | cmn | |
Mandarin (Traditional Script) | cmn-Hant | ✓ | cmn |
Marathi | mr | ✓ | mar |
Norwegian | no | ✓ | nor |
Polish | pl | ✓ | pol |
Portuguese | pt | ✓ | por |
Portuguese (Brazil) | pt-BR | ✓ | por |
Portuguese (Portugal) | pt-PT | ✓ | por |
Punjabi | pa | ✓ | pan |
Romanian | ro | ✓ | ron |
Russian | ru | ✓ | rus |
Slovak | sk | ✓ | slk |
Slovenian | sl | ✓ | slv |
Spanish | es | ✓ | spa |
Spanish (Latin America)* | es-419 | ✓ | spa |
Spanish (Mexico) | es-MX | ✓ | spa |
Spanish (Spain) | es-ES | ✓ | spa |
Swedish | sv | ✓ | swe |
Tagalog | tl | ✓ | tgl |
Tamil | ta | ✓ | tam |
Telugu | te | ✓ | tel |
Thai | th | ✓ | tha |
Turkish | tr | ✓ | tur |
Ukrainian | uk | ✓ | ukr |
Urdu | ur | ✓ | urd |
Vietnamese | vi | ✓ | vie |
Zulu | zu | ✓ | zul |
* 419 is a UN M.49 region code. https://unstats.un.org/unsd/methodology/m49/