--- title: Supported languages slug: '1956' canonical_url: https://docs.coveo.com/en/1956/ collection: index-content source_format: adoc --- # Supported languages The [Coveo Platform](https://docs.coveo.com/en/186/) can [index](https://docs.coveo.com/en/204/) content in most languages. [Coveo Machine Learning (Coveo ML)](https://docs.coveo.com/en/188/) [models](https://docs.coveo.com/en/1012/) and [Coveo JavaScript Search Framework](https://docs.coveo.com/en/187/) user interfaces also support a wide array of languages. > **Language support and relevance disclaimer** > > The Coveo Platform supports a wide range of languages across indexing, machine learning models, and user interfaces; however, the depth of linguistic processing varies by language. > Support for a language doesn't constitute a commitment to equivalent relevance, accuracy, or feature parity. > > For example, queries and indexed content in languages such as English, French, German, and Spanish generally achieve higher and more consistent relevance due to more comprehensive language analysis and optimized platform components. > Conversely, for other languages that are technically supported but for which the platform is not fully optimized, search relevance, generated answers, and overall accuracy may be reduced or less consistent. > Accordingly, language support doesn't guarantee equal relevance quality, and observed outcomes may vary depending on the language. ## Supported languages for indexing features The table below lists the 58 languages Coveo supports where encoding, excerpt, language detection, and thesaurus features are available for indexing. Coveo can also index content in languages other than those listed below as long as: * The language uses spaces to separate words. * The item encodes characters in Unicode. For languages meeting these requirements, most language features are supported except language detection, [decompounding](https://docs.coveo.com/en/pc2k4265/), and [stemming](https://docs.coveo.com/en/3436/). > **Note** > > Since result ranking is partly based on summarization and key-concept extraction techniques, English, French, German, and Spanish queries return the most relevant results consistently. [%header,cols="~,~,~,~,~,~,~"] |=== |Language |Locale |Encoding, excerpt, and thesaurus |Did you mean |Language detection |Stemming |Decompounding |English^[[2](#item-summaries-generated)]^ |`en` |[check] |[check] |[check] |[check] |N/A |French^[[2](#item-summaries-generated)]^ |`fr` |[check] |[check] |[check] |[check] |N/A |German^[[2](#item-summaries-generated)]^ |`de` |[check] |[check] |[check] |[check] |[check] |Spanish^[[2](#item-summaries-generated)]^ |`es` |[check] |[check] |[check] |[check] |N/A |Danish |`da` |[check] |[check] |[check] |[check] |[check] |Dutch |`nl` |[check] |[check] |[check] |[check] |[check] |Finnish |`fi` |[check] |[check] |[check] |[check] |[check] |Hungarian |`hu` |[check] |[check] |[check] |[check] |N/A |Italian |`it` |[check] |[check] |[check] |[check] |N/A |Norwegian |`no` |[check] |[check] |[check] |[check] |[check] |Portuguese |`pt` |[check] |[check] |[check] |[check] |N/A |Swedish |`sv` |[check] |[check] |[check] |[check] |[check] |Turkish |`tr` |[check] |[check] |[check] |[check] |N/A |Catalan |`ca` |[check] |[check] |[check] |[check] |N/A |Romanian |`ro` |[check] |[check] |[check] |[check] |N/A |Valencian |`ca` |[check] |[check] |[check] |[check] |N/A |Armenian |`hy` |[check] |[check] |[check] |[check] |N/A |Russian |`ru` |[check] |[check] |[check] |[check] |N/A |Chinese (traditional and simplified)^[[1](#wildcards-not-supported)],[[3](#cjk-tokenizer-impact)]^ |`zh` |[check] |[check] |[check] |[x] |N/A |Greek |`el` |[check] |[check] |[check] |[check] |N/A |Hindi |`hi` |[check] |[check] |[check] |[check] |N/A |Japanese^[[1](#wildcards-not-supported)],[[3](#cjk-tokenizer-impact)]^ |`ja` |[check] |[check] |[check] |[x] |N/A |Korean^[[1](#wildcards-not-supported)],[[3](#cjk-tokenizer-impact)]^ |`ko` |[check] |[check] |[check] |[x] |N/A |Thai |`th` |[check] |[check] |[check] |[x] |N/A |Arabic |`ar` |[check] |[check] |[check] |[check] |N/A |Basque |`eu` |[check] |[check] |[x] |[check] |N/A |Lithuanian |`lt` |[check] |[check] |[check] |[check] |N/A |Czech |`cs` |[check] |[check] |[check] |[check] |N/A |Indonesian |`id` |[check] |[check] |[check] |[check] |N/A |Polish |`pl` |[check] |[check] |[check] |[check] |N/A |Albanian |`sq` |[check] |[check] |[check] |[x] |N/A |Afrikaans |`af` |[check] |[check] |[check] |[x] |N/A |Belarusian |`be` |[check] |[check] |[check] |[x] |N/A |Bulgarian |`bg` |[check] |[check] |[check] |[check] |N/A |Burmese |`my` |[check] |[check] |[check] |[x] |N/A |Croatian |`hr` |[check] |[check] |[check] |[check] |N/A |Esperanto |`eo` |[check] |[check] |[check] |[x] |N/A |Estonian |`et` |[check] |[check] |[check] |[check] |N/A |Filipino |`fil` |[check] |[check] |[x] |[x] |N/A |Hebrew |`he` |[check] |[check] |[check] |[x] |N/A |Icelandic |`is` |[check] |[check] |[check] |[x] |N/A |Kazakh |`kk` |[check] |[check] |[check] |[x] |N/A |Latvian |`lv` |[check] |[check] |[check] |[x] |N/A |Macedonian |`mk` |[check] |[check] |[check] |[x] |N/A |Malay |`ms` |[check] |[check] |[x] |[x] |N/A |Moldovan |`ro` |[check] |[check] |[check] |[check] |N/A |Mongolian |`mn` |[check] |[check] |[x] |[x] |N/A |Norwegian Bokmål^[[4](#norwegian-bokmal-language-detection)]^ |`nb` |[check] |[check] |[x] |[check] |[check] |Persian |`fa` |[check] |[check] |[check] |[x] |N/A |Serbian |`sr` |[check] |[check] |[check] |[check] |N/A |Slovak |`sk` |[check] |[check] |[check] |[check] |N/A |Slovenian |`sl` |[check] |[check] |[check] |[check] |N/A |Swahili |`sw` |[check] |[check] |[check] |[x] |N/A |Tagalog |`tl` |[check] |[check] |[check] |[x] |N/A |Ukrainian |`uk` |[check] |[check] |[check] |[x] |N/A |Uzbek |`uz` |[check] |[check] |[check] |[x] |N/A |Vietnamese |`vi` |[check] |[x] |[check] |[x] |N/A |Yiddish |`yi` |[check] |[check] |[x] |[check] |N/A |=== -- 1. [Wildcards](https://docs.coveo.com/en/1580/) in queries are not supported. 2. The index can also generate item summaries. 3. A specialized tokenizer based on dictionaries is used to split CJK characters into words, which can impact search results relevancy. 4. Will be detected as Norwegian (`no`). -- ## Supported languages for machine learning models The following table outlines the languages supported by the [Coveo Machine Learning (Coveo ML)](https://docs.coveo.com/en/188/) [models](https://docs.coveo.com/en/1012/). > **Notes** > > * ART, QS, PQS, DNE, CR, and IAPR models can support content in languages other than those listed in the following table as long as the language uses spaces to separate words. > For languages that meet this requirement, most language features are supported. Available ML models: * [Automatic Relevance Tuning (ART)](https://docs.coveo.com/en/1013/) * [Case Classification (CC)](https://docs.coveo.com/en/m4596348/) * [Content Recommendations (CR)](https://docs.coveo.com/en/1016/) > **Note** > > [Content Recommendations (CR)](https://docs.coveo.com/en/1016/) models are language agnostic, meaning that they can provide recommendations regardless of the language used in their metadata. * [Passage Retrieval (CPR)](https://docs.coveo.com/en/oaie9196/) * [Dynamic Navigation Experience (DNE)](https://docs.coveo.com/en/2907/) * [Intent-Aware Product Ranking (IAPR)](https://docs.coveo.com/en/m61h0552/) * [Predictive Query Suggestions (PQS)](https://docs.coveo.com/en/m1ol5526/) * [Product Recommendations (PR)](https://docs.coveo.com/en/3132/) > **Note** > > [Product Recommendations (PR)](https://docs.coveo.com/en/3132/) models are language agnostic, meaning that they can recommend products regardless of the language used in their metadata. * [Query Suggestions (QS)](https://docs.coveo.com/en/1015/) * [Relevance Generative Answering (RGA)](https://docs.coveo.com/en/nbtb6010/) * [Semantic Encoder (SE)](https://docs.coveo.com/en/nbtb0041/) * [Smart Snippets](https://docs.coveo.com/en/laea5490/) [%header,cols="4"] |=== |Language |Locale |ART, QS, PQS, DNE, and IAPR |Smart Snippets, CC, RGA, SE, and CPR |English |`en` |[check] |[check] |French |`fr` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |German |`de` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Spanish |`es` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Danish |`da` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Dutch |`nl` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Finnish |`fi` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Hungarian |`hu` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Italian |`it` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Norwegian |`no` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Portuguese |`pt` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Swedish |`sv` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Turkish |`tr` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Catalan |`ca` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Romanian |`ro` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Valencian |`ca` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Armenian |`hy` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Russian |`ru` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Chinese (traditional and simplified) |`zh` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Greek |`el` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Hindi |`hi` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Japanese |`ja` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Korean |`ko` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Thai |`th` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Arabic |`ar` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Basque |`eu` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Lithuanian |`lt` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Czech |`cs` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Indonesian |`id` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Polish |`pl` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Albanian |`sq` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Afrikaans |`af` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Belarusian |`be` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Bulgarian |`bg` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Burmese |`my` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Croatian |`hr` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Esperanto |`eo` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Estonian |`et` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Filipino |`fil` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Hebrew |`he` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Icelandic |`is` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Kazakh |`kk` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Latvian |`lv` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Macedonian |`mk` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Malay |`ms` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Moldovan |`ro` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Mongolian |`mn` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Norwegian Bokmål |`nb` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Persian |`fa` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Serbian |`sr` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Slovak |`sk` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Slovenian |`sl` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Swahili |`sw` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Tagalog |`tl` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Ukrainian |`uk` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Uzbek |`uz` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |Vietnamese |`vi` |[check] |[check] (Beta) ^[[1](#beta-languages-contact-csm)]^ |=== -- 1. Offered as an open beta only for Smart Snippets, RGA, SE, and CPR. To support languages other than English, configure your model for [multilingual content retrieval](https://docs.coveo.com/en/p5ne0024/). -- ## Supported languages for JavaScript Search Framework This table presents the languages supported by the JavaScript Search Framework for building user interfaces with Coveo. [%header,cols="3"] |=== |Language |Locale |Search UI support |English |`en` |[check] |French |`fr` |[check] |German |`de` |[check] |Spanish |`es` |[check] |Danish |`da` |[check] |Dutch |`nl` |[check] |Finnish |`fi` |[check] |Hungarian |`hu` |[check] |Italian |`it` |[check] |Norwegian |`no` |[check] |Portuguese |`pt` |[check] |Swedish |`sv` |[check] |Turkish |`tr` |[check] |Catalan |`ca` |[x] |Romanian |`ro` |[x] |Valencian |`ca` |[x] |Armenian |`hy` |[x] |Russian |`ru` |[check] |Chinese (traditional and simplified) |`zh` |[check] |Greek |`el` |[check] |Hindi |`hi` |[x] |Japanese |`ja` |[check] |Korean |`ko` |[check] |Thai |`th` |[check] |Arabic |`ar` |[x] |Basque |`eu` |[x] |Lithuanian |`lt` |[x] |Czech |`cs` |[check] |Indonesian |`id` |[check] |Polish |`pl` |[check] |Albanian |`sq` |[x] |Afrikaans |`af` |[x] |Belarusian |`be` |[x] |Bulgarian |`bg` |[x] |Burmese |`my` |[x] |Croatian |`hr` |[x] |Esperanto |`eo` |[x] |Estonian |`et` |[x] |Filipino |`fil` |[x] |Hebrew |`he` |[x] |Icelandic |`is` |[x] |Kazakh |`kk` |[x] |Latvian |`lv` |[x] |Macedonian |`mk` |[x] |Malay |`ms` |[x] |Moldovan |`ro` |[x] |Mongolian |`mn` |[x] |Norwegian Bokmål |`nb` |[x] |Persian |`fa` |[x] |Serbian |`sr` |[x] |Slovak |`sk` |[x] |Slovenian |`sl` |[x] |Swahili |`sw` |[x] |Tagalog |`tl` |[x] |Ukrainian |`uk` |[x] |Uzbek |`uz` |[x] |Vietnamese |`vi` |[x] |=== ## Troubleshooting language indexing issues > **Note** > > **Context and symptoms** > > You see inconsistent results when searching in a specific language on your website. > > **Cause** > > * Most languages are limited to the [Snowball stemming algorithms](https://snowballstem.org/algorithms/). > Some rules are incomplete, meaning variations of words aren't always stemmed correctly. > > For example, when searching in German, the words _passieren_, _passierend_, and _passiert_ might result in different stems, while _passieren_ and _passiere_ share the same stem. > > * The correct language isn't being detected. > Stemming is only applied if the language is detected for both the query and the indexed documents. > > **Resolution** > > * Force the query-time language for the index by specifying the [`locale` query parameter](https://docs.coveo.com/en/13#operation/searchUsingPost-locale) using an appropriate [locale tag](https://docs.coveo.com/en/p5ne0024#supported-locale-tags). > For example, setting the `locale` parameter to `de-DE` forces the index to prioritize documents in German (as spoken in Germany) when returning results. > For the index to take the `locale` into account, you must also set the [`forwardLanguageToCoveoIndex` query parameter](https://docs.coveo.com/en/1491#forwardlanguagetocoveoindex-boolean) to `true`. > > * For Coveo ML [CPR](https://docs.coveo.com/en/oaie9196/), [RGA](https://docs.coveo.com/en/nbtb6010/), [SE](https://docs.coveo.com/en/nbtb0041/) and smart snippets models, see [Multilingual content retrieval](https://docs.coveo.com/en/p5ne0024/) to configure your model to support multiple languages. > >