Supported languages
The languages Assist understands with the built-in conversation agent, their leaders, and how to add a new language.
The intents repository lists 66 languages. How far each one is differs a lot: some cover nearly every intent, others have just started. The progress overview shows the score of each language, per intent.
languages.yaml in the intents repository is the source. For every language, it has:
nativeName: the name of the language, in that language.isRTL:truefor languages written right to left.leaders: the GitHub usernames of the language leaders.support: per region, which speech-to-text and text-to-speech engines work for the language, like Whisper, Speech-to-Phrase, Piper, or Home Assistant Link.
The table below is a snapshot of that file. When they differ, languages.yaml is right.
| Code | Language | Language leaders |
|---|---|---|
af |
Afrikaans | None yet |
ar |
العربية | Ahmed-farag36, Natfaji |
bg |
Български | hristo-atanasov |
bn |
বাংলা | poltalashka, DrHaque |
ca |
Català | duhow |
cs |
Čeština | halecivo, schizza |
cy |
Cymraeg | None yet |
da |
Dansk | fadamsen, MTrab |
de |
Deutsch | andreasbrett, easterapps, hecktech27, mib1185 |
de-CH |
Schwyzerdütsch | dontinelli |
el |
Ελληνικά | apo-mak, chatziko |
en |
English | mrdarrengriffin, vividboarder |
es |
Español | davefx, duhow |
et |
Eesti | None yet |
eu |
Euskara | urtzai |
fa |
فارسی | None yet |
fi |
Suomi | Arkkimaagi, salleq |
fr |
Français | jlpouffier, piitaya |
ga |
Gaeilge | AlanGreene |
gl |
Galician | cibernox |
gu |
Gujarati | None yet |
he |
עברית | leranp, haim-b |
hi |
हिन्दी | amankrokx |
hr |
Hrvatski | spuljko |
hu |
Magyar | nagyrobi, v1k70rk4 |
hy |
հայերեն | eantonya, shahen94 |
id |
Bahasa Indonesia | None yet |
is |
íslenska | thdg |
it |
Italiano | auanasgheps, xraver |
ja |
日本語 | None yet |
ka |
ქართული | hertzg |
kn |
ಕನ್ನಡ | None yet |
ko |
한국어 | limitless00net |
kw |
kernewek | None yet |
lb |
Lëtzebuergesch | mojikosu |
lt |
Lietuvių | None yet |
lv |
Latviešu | makstech, klejejs |
ml |
മലയാളം | arunshekher |
mn |
монгол хэл | chuk-a |
mr |
Marathi | None yet |
ms |
Bahasa Melayu | zubir2k |
nb |
Norsk Bokmål | LaStrada |
ne |
नेपाली | Rrp13 |
nl |
Nederlands | TheFes |
pa |
Punjabi | kmlkrwl |
pl |
Polski | Uriziel01, witold-gren |
pt |
Português | joaorgoncalves, abmantis |
pt-BR |
Português (Brasil) | mhentschke, luyzfernando08, staticdev |
ro |
Română | tetele, gabimarchidan |
ru |
Русский | HepoH3 |
sk |
Slovenčina | LubosKadasi |
sl |
Slovenščina | andrejs2 |
sr |
Српски | cvladan, ddxic, darkobg79, PengBG |
sr-Latn |
Srpski | None yet |
sv |
Svenska | larsdunemark, Robin-St |
sw |
Kiswahili | BCorbeek |
ta |
தமிழ் | None yet |
te |
తెలుగు | None yet |
th |
ภาษาไทย | None yet |
tr |
Türkçe | alpdmrel |
uk |
Українська | skynetua |
ur |
اُردُو | AalianKhan |
vi |
Tiếng Việt | dinhchinh82 |
zh-CN |
简体中文 | al-one |
zh-HK |
繁體中文(香港) | swonge |
zh-TW |
繁體中文(台灣) | bluefoxlee |
Marathi (mr) is listed, but has no sentences yet. sr-Latn is generated from sr: change Serbian in sr, and the Latin script version follows.
Is your language missing? You can add it. This is a bigger first step than improving an existing language, so plan for a few rounds of review.
Set up the repository as described in Contribute sentences and responses, then run:
python3 -m script.intentfest add_language <code> <native name><code>is the language code. Use the two letter ISO 639-1 code where there is one, likepl. Regional or script variants add a suffix, likept-BRorsr-Latn.<native name>is the name of the language in the language itself, likePolski.- Add
--rtlfor a language written right to left.
The script adds your language to languages.yaml, and creates its sentence, response, and test files from the English ones. The sentences are left empty, and the responses start with TODO so you can see what still needs translating.
Cannot run the script yourself? Ask in the #language-leaders channel on the Home Assistant Discord server, and a maintainer can run it for you.
Limit your first pull request to:
- The error responses in
sentences/<code>/_common.yaml. - The slot combinations of
HassTurnOnandHassTurnOffthatintents.yamlmarks asrequired, with their tests. - The lists in
lists/<code>/and the rules inrules/<code>/that those sentences need.
That is enough for people to start turning things on and off in your language. More intents follow in later pull requests, one at a time.
A new language starts without a leader. If you keep contributing, consider becoming the language leader.
Voice and the interface are separate. Adding a language here does not add it to the Home Assistant interface. For that, see Request a new language.