# Language support in Textual

Tonic Textual supports languages in addition to English. Textual automatically detects the language and applies the correct model.

On self-hosted instances, you configure whether to support multiple languages, and can optionally provide auxiliary language models.

## Supported languages

Textual can detect values in the following languages:

<table><thead><tr><th width="218">Name</th><th>Code</th></tr></thead><tbody><tr><td>Afrikaans</td><td>af</td></tr><tr><td>Albanian</td><td>sq</td></tr><tr><td>Amharic</td><td>am</td></tr><tr><td>Arabic</td><td>ar</td></tr><tr><td>Armenian</td><td>hy</td></tr><tr><td>Assamese</td><td>as</td></tr><tr><td>Azerbaijani</td><td>az</td></tr><tr><td>Basque</td><td>eu</td></tr><tr><td>Belarusian</td><td>be</td></tr><tr><td>Bengali</td><td>bn</td></tr><tr><td>Bengali Romanized</td><td></td></tr><tr><td>Bosnian</td><td>bs</td></tr><tr><td>Breton</td><td>br</td></tr><tr><td>Bulgarian</td><td>bg</td></tr><tr><td>Burmese</td><td>my</td></tr><tr><td>Burmese (alternative)</td><td></td></tr><tr><td>Catalan</td><td>ca</td></tr><tr><td>Chinese (Simplified) </td><td>zh</td></tr><tr><td>Chinese (Traditional)</td><td>zh</td></tr><tr><td>Croatian</td><td>hr</td></tr><tr><td>Czech</td><td>cs</td></tr><tr><td>Danish</td><td>da</td></tr><tr><td>Dutch</td><td>nl</td></tr><tr><td>English</td><td>en</td></tr><tr><td>Esperanto</td><td>eo</td></tr><tr><td>Estonian</td><td>et</td></tr><tr><td>Filipino</td><td>tl</td></tr><tr><td>Finnish</td><td>fi</td></tr><tr><td>French</td><td>fr</td></tr><tr><td>Galician</td><td>gl</td></tr><tr><td>Irish</td><td>ga</td></tr><tr><td>Georgian</td><td>ka</td></tr><tr><td>German</td><td>de</td></tr><tr><td>Greek</td><td>el</td></tr><tr><td>Gujarati</td><td>gu</td></tr><tr><td>Hausa</td><td>ha</td></tr><tr><td>Hebrew</td><td>he</td></tr><tr><td>Hindi</td><td>hi</td></tr><tr><td>Hindi Romanized</td><td></td></tr><tr><td>Hungarian</td><td>hu</td></tr><tr><td>Icelandic</td><td>is</td></tr><tr><td>Indonesian</td><td>id</td></tr><tr><td>Italian</td><td>it</td></tr><tr><td>Japanese</td><td>ja</td></tr><tr><td>Javanese</td><td>jv</td></tr><tr><td>Kannada</td><td>kn</td></tr><tr><td>Kazakh</td><td>kk</td></tr><tr><td>Khmer</td><td>km</td></tr><tr><td>Korean</td><td>ko</td></tr><tr><td>Kurdish (Kurmanji)</td><td>ku</td></tr><tr><td>Kyrgyz</td><td>ky</td></tr><tr><td>Lao</td><td>lo</td></tr><tr><td>Latin</td><td>la</td></tr><tr><td>Latvian</td><td>lv</td></tr><tr><td>Lithuanian</td><td>lt</td></tr><tr><td>Macedonian</td><td>mk</td></tr><tr><td>Malagasy</td><td>mg</td></tr><tr><td>Malay</td><td>ms</td></tr><tr><td>Malayalam</td><td>ml</td></tr><tr><td>Marathi</td><td>mr</td></tr><tr><td>Mongolian</td><td>mn</td></tr><tr><td>Nepali</td><td>ne</td></tr><tr><td>Norwegian</td><td>no</td></tr><tr><td>Oriya</td><td>or</td></tr><tr><td>Oromo</td><td>om</td></tr><tr><td>Pashto</td><td>ps</td></tr><tr><td>Persian</td><td>fa</td></tr><tr><td>Polish</td><td>pl</td></tr><tr><td>Portuguese</td><td>pt</td></tr><tr><td>Punjabi</td><td>pa</td></tr><tr><td>Romanian</td><td>ro</td></tr><tr><td>Russian</td><td>ru</td></tr><tr><td>Sanskrit</td><td>sa</td></tr><tr><td>Scottish Gaelic</td><td>gd</td></tr><tr><td>Serbian</td><td>sr</td></tr><tr><td>Sinhala</td><td>si</td></tr><tr><td>Sindhi</td><td>sd</td></tr><tr><td>Slovak</td><td>sk</td></tr><tr><td>Slovenian</td><td>sl</td></tr><tr><td>Somali</td><td>so</td></tr><tr><td>Spanish</td><td>es</td></tr><tr><td>Sundanese</td><td>su</td></tr><tr><td>Swahili</td><td>sw</td></tr><tr><td>Swedish</td><td>sv</td></tr><tr><td>Tamil</td><td>ta</td></tr><tr><td>Tamil Romanized</td><td></td></tr><tr><td>Telugu</td><td>te</td></tr><tr><td>Telugu Romanized</td><td></td></tr><tr><td>Thai</td><td>th</td></tr><tr><td>Turkish</td><td>tr</td></tr><tr><td>Ukrainian</td><td>uk</td></tr><tr><td>Urdu</td><td>ur</td></tr><tr><td>Urdu Romanized</td><td></td></tr><tr><td>Uyghur</td><td>ug</td></tr><tr><td>Uzbek</td><td>uz</td></tr><tr><td>Vietnamese</td><td>vi</td></tr><tr><td>Welsh</td><td>cy</td></tr><tr><td>Western Frisian</td><td>fy</td></tr><tr><td>Xhosa</td><td>xh</td></tr><tr><td>Yiddish</td><td>yi</td></tr></tbody></table>

## Self-hosted instances <a href="#languages-self-hosted" id="languages-self-hosted"></a>

On a self-hosted instance, you configure whether Textual supports multiple languages. When you enable multi-language support, you can limit Textual to its multi-language model whenever it detects non-English content.

You can also optionally provide auxiliary language models.

### Enabling multi-language support

To enable support for languages other than English, [set the environment variable](https://docs.tonic.ai/textual/textual-install-administer/configuring-textual/textual-env-var-configure) `TEXTUAL_MULTI_LINGUAL=true`.

The setting is used by the machine learning container.

### Using only the multi-language model for non-English content

When `TEXTUAL_MULTI_LINGUAL=true`, then by default, when Textual detects any non-English content, it runs both its English model and its multi-language model.

To instead only use the multi-language model, and not use the English model, set the environment variable `TEXTUAL_MULTI_LINGUAL_XLM_ONLY=true`. This can improve the precision of detections in non-English text.

### Providing auxiliary language model assets

You can provide additional language model assets for Textual to use.

By default, Textual looks for model assets in the machine learning container, in **/usr/bin/textual/language\_models**. The default Helm and Docker Compose configurations include the volume mount.

To choose a different location, [set the environment variable](https://docs.tonic.ai/textual/textual-install-administer/configuring-textual/textual-env-var-configure) `TEXTUAL_LANGUAGE_MODEL_DIRECTORY`. Note that if you change the location, you must also modify your volume mounts.

For help with installing model assets, contact Tonic.ai support (<support@tonic.ai>).
