Yext supports storing entity content in multiple languages using language profiles. This doc covers how language profiles work, how to manage them, and how to update content across languages.
Multi-language profiles are enabled in Yext by turning on the Multi-Language Profiles account feature (under Account Settings > Account Features). This allows you to store content in multiple languages for each entity in the Knowledge Graph. Each version of an entity in a different language is referred to as a language profile.

How Language Profiles Work
By default, each entity has a single primary profile in the account's default language. When multi-language profiles are enabled, a single entity can have multiple language profiles (one per language or locale).

The Languages module on the right side of the entity edit screen is the control center for managing an entity's language profiles.

Downstream systems in Yext (Search, Pages, Listings) detect language and locale codes in entity data to display content in the appropriate language. This means a single entity in the Knowledge Graph can produce multiple translated experiences.

Languages and Locales
When you manage multi-language content, you’ll be working with specific languages and the countries where those languages are spoken. In systems like Yext, countries and languages are both represented by two-character codes.
A locale is the combination of a language and a specified country.
For example, the English language (en) has multiple locales that reflect differences based on the regions where English is spoken. You may see this combined with country codes for the United States (us) and the UK and Ireland (gb)to create locale codes like en_us or en_gb.
Locale can account for regional differences, like spelling, currencies, and date formatting. Here are some examples of how the same information might be displayed in English for a US and Great Britain locale:
| Content | en_us |
en_gb |
|---|---|---|
| Spelling | my favorite color | my favourite colour |
| Currency | $20 | £20 |
| Date formatting | March 1st (3/1) | 1st March (1/3) |
If you don’t need to account for any language differences by country, you can also use the language code by itself (for example, en instead of en_us or en_gb).
For the full list of supported languages and locale codes, see Supported Languages and Locales at the bottom of this doc.
Country Field vs. Language Profile
The locale on a language profile is separate from the Country field on an entity. The Country field determines payment options and time zones but does not create or affect language profiles. Setting an entity's Country to "France" does not create a French language profile, and changing the Country will not remove an existing profile.
Alternate Language Profile Field Behavior
Fields on alternate language profiles inherit data from the primary profile in different ways. Hover over a field in the Knowledge Graph UI to see its behavior.

| Behavior | Description | Examples |
|---|---|---|
| Primary Only | Can only be updated on an entity’s primary profile. The field cannot be overridden or changed from an alternate language profile. |
|
| Overridable | Inherits from the primary profile by default, but can be overridden on alternate profiles. | Name, Photo Gallery, Videos |
| Language Specific | Never inherits from the primary profile. Must be set independently on each profile. | Description, Keywords, Featured Message, most text fields |
Custom Fields
All custom fields default to Primary Only. To change the behavior, modify the Alternate Language Behavior property on the field.
The one exception is Entity Relationship fields, which are always primary only and cannot be changed. This is because linked entities are linked across the entire entity, not by individual language profile.
You can change this for fields that have already been created, but keep in mind that doing so could have an impact on downstream content. For example, if you change a field from “primary only” to “language specific”, that field’s primary content will no longer display on alternate profiles until you explicitly fill it out.
Best practices for choosing behavior:
- Primary Only if the field is not language-dependent (e.g., reference numbers, product codes, untranslated brand names) or uses an entity relationship.
- Overridable if the field might sometimes need to vary by language or locale (e.g., photos with text, product names, videos).
- Language Specific if the field is text-based and not a proper noun or brand name (e.g., descriptions, promotional copy).
Alternate Language Profiles and Entity Search
Entity Search filters apply across all language profiles. For example, a filter for "Description contains abc" will return entities where Description is abc on any language profile, even if the primary profile doesn't match.
Consistent Language Profiles
When creating language profiles for entities, your language profiles should be consistent across all your entities that you want to use in a downstream use case (e.g, a search experience or set of pages).
For example, if your entity profiles are spread out across different English variants like in the image below, you won’t be able to use all of those profiles in one search experience. Instead, you would end up with separate search experiences for each locale:

If you want just one English experience, it should look like this:

If you don’t need all the entities in your account to be used in the same downstream content, then you don’t need all your entities to have the same exact language profiles. For example, you can have some FAQ entities that have English, Spanish and French profiles and other FAQs that just have English profiles. In this case, your search experience containing those FAQ entities would simply result in a different number of results in each language.
Managing Language Profiles
Via Entity Edit
Use the Languages module in Entity Edit to add, remove, or change profiles on a single entity. Select multiple entities to make changes in bulk.

| Action | Details |
|---|---|
| Add a profile | Click + Add Language and search for the language or locale to add. |
| View a profile | Click the language in the Languages module to switch to that profile. |
| Change locale | Use this only to switch between country variants of the same language (e.g., en to en_gb). Do not use this to change the entire language. Doing this allows you to add or change a locale associated with an existing alternate language profile, while keeping any content you have already added to that profile. |
| Remove a profile | Click the three-dot icon (...) on the profile and select Remove Language. This deletes the profile and all its content. |
Setting the Primary Profile
You can change which profile is the primary. Use caution: for any Overridable fields, content that was overridden on the profile you are making primary will be applied to all other profiles after the switch.
Example: Galaxy Grill has three profiles: en_us (primary), fr_ca, and es. On the fr_ca profile, Name has been overridden to "Galaxy Grill Canada." If you switch the primary to fr_ca, both en_us and es will now show "Galaxy Grill Canada" as the Name.
Via File Upload
Use a file upload connector to manage profiles in bulk. Include a Language Profile column with the language or locale code.

| Action | How |
|---|---|
| Create alternate profiles for existing entities | Create language profiles for existing entities by including a “Language Profile” column in your upload file with the language or locale code you want to add (e.g., fr or fr_ca). |
| Create entities with a non-default primary language | Add new entities with a different primary language profile than your account default. |
| Update content on existing profiles | IEnsure that the upload file contains both the Entity ID and the language or locale code for the profile content you want to edit. |
Not supported via file upload:
- Deleting language profiles
- Changing the primary profile of an entity
- Creating new entities and adding alternate profiles in the same upload
Via API
Language profiles can be created, read, updated, and deleted via the Entities API.
Updating Content on Language Profiles
Entity content on alternate profiles can be updated using any of the same methods as the primary profile.
| Method | Notes |
|---|---|
| Entity Edit | Use the Languages module to switch between profiles and edit fields directly. |
| File Upload | Include a "Profile Language" column with the locale code. If the profile doesn't exist yet, it will be created. Entities must already exist before adding alternate profiles this way. |
| API | Update any language profile via the Entities API. |
| Entity Templates | Templates can be scoped to a specific language. If no language is set, the template can be applied to any profile. See the Entity Templates module. |
| Assets | Like entity templates, you can choose whether assets are scoped to a specific language. Assets can only be scoped to “none” or a single language. |
| App Directory | Use translation apps like Smartling to manage translations at scale. |
Best Practices
- Think carefully about what content needs to be overridable vs. language specific to minimize duplication of work
- Use our App Directory to help you translate the content with apps like Smartling
- Use our APIs to connect to any existing content that you have or your translation provider. You can set up integrations so that when content is added or modified in your primary language, it automatically gets sent to your translation provider and then pushed back to Yext Content once that translation is ready.
- Don’t stress about having every single word translated into every language. As we’ll cover in the product-specific modules, you likely don’t need to have all entity types, entities, or fields surfaced in your Pages or Search experiences.
Managing Entity Type and Field Name Translations
In addition to translating entity field content, you can add translations for entity type names and field names. This is important for a few reasons:
- If your users are using the Yext platform in another supported language, they see the Entity Type or Field names translated properly and it’s easier for them to navigate around the Yext platform.
- If you expose the Entity Type or Field names in any of your consumer-facing experiences like Pages or Search, your end consumers see the Entity Type or Field names translated properly
- If you are using Search and the entity type is included in the experience, we use the translated name in our algorithms to surface better results
- If you are using Search and the field is included as a searchable field, we use the translated name in our algorithms to surface better results
Yext provides translations for all built-in entity types and fields. For custom entity types and fields, you must add translations manually.
Tip: You can change the platform’s display language in Account Settings > Personal Settings by selecting Display Language.
Add a Translation for an Entity Type Name
Navigate to Knowledge Graph > Configuration > Entity Types, click into the entity type, and click on the property you want to translate. In edit mode, click + Add Translation, then select the language and enter the translated text.


You can translate:
- Entity Type Name
- Plural Entity Type Name
- Description
Add a Translation for a Field Name
Navigate to Knowledge Graph > Configuration > Fields, click on the field name, and click + Add Translation. Select the language and enter the translation.

Best Practices
We recommend adding translations if and only if they will make an impact for you. If you only have users logging into Yext in a single language and you are not looking to power any multi-language experiences that use the entity type or field names, it is not necessary.
However, especially if you are building a Search experience, we highly recommend adding the translations. Just like the names themselves, the translations should be written to be consumer-facing and should be the best way to describe a given entity type or field.
Supported Languages and Locales
Locale codes follow ISO 639-1 for languages and ISO 3166 for countries.
| Language | Locale Code |
|---|---|
| Afrikaans (South Africa) | af_ZA |
| Albanian | sq |
| Amharic | am |
| Arabic | ar |
| Arabic (Algeria) | ar_DZ |
| Arabic (Bahrain) | ar_BH |
| Arabic (Iraq) | ar_IQ |
| Arabic (Kuwait) | ar_KW |
| Arabic (Libya) | ar_LY |
| Arabic (Oman) | ar_OM |
| Arabic (Palestinian Territories) | ar_PS |
| Arabic (Qatar) | ar_QA |
| Arabic (Saudi Arabia) | ar_SA |
| Arabic (United Arab Emirates) | ar_AE |
| Arabic (Yemen) | ar_YE |
| Armenian (Armenia) | hy_AM |
| Azerbaijani (Cyrillic, Azerbaijan) | az_Cyrl_AZ |
| Azerbaijani (Latin, Azerbaijan) | az_Latn_AZ |
| Bangla | bn |
| Basque | eu |
| Belarusian (Belarus) | be_BY |
| Bislama | bi |
| Bosnian | bs |
| Bulgarian | bg |
| Burmese | my |
| Catalan | ca |
| Chinese (Simplified, Australia) | zh_Hans_AU |
| Chinese (Simplified, Canada) | zh_Hans_CA |
| Chinese (Simplified, China) | zh_Hans_CN |
| Chinese (Simplified, Hong Kong SAR China) | zh_Hans_HK |
| Chinese (Simplified, Singapore) | zh_Hans_SG |
| Chinese (Simplified, United States) | zh_Hans_US |
| Chinese (Simplified) | zh_Hans |
| Chinese (Traditional, Hong Kong SAR China) | zh_Hant_HK |
| Chinese (Traditional, Macau SAR China) | zh_Hant_MO |
| Chinese (Traditional, Taiwan) | zh_Hant_TW |
| Chinese (Traditional) | zh_Hant |
| Croatian | hr |
| Czech | cs |
| Danish | da |
| Danish (Denmark) | da_DK |
| Divehi | dv |
| Dutch | nl |
| Dutch (Belgium) | nl_BE |
| Dutch (Netherlands) | nl_NL |
| Dutch (Sint Maarten) | nl_SX |
| Dzongkha | dz |
| English | en |
| English (American Samoa) | en_AS |
| English (Anguilla) | en_AI |
| English (Australia) | en_AU |
| English (Austria) | en_AT |
| English (Bahrain) | en_BH |
| English (Belgium) | en_BE |
| English (Bulgaria) | en_BG |
| English (Canada) | en_CA |
| English (China) | en_CN |
| English (Colombia) | en_CO |
| English (Cook Islands) | en_CK |
| English (Costa Rica) | en_CR |
| English (Croatia) | en_HR |
| English (Cyprus) | en_CY |
| English (Czechia) | en_CZ |
| English (Denmark) | en_DK |
| English (Estonia) | en_EE |
| English (European Union) | en_EU |
| English (Finland) | en_FI |
| English (France) | en_FR |
| English (Germany) | en_DE |
| English (Greece) | en_GR |
| English (Grenada) | en_GD |
| English (Guatemala) | en_GT |
| English (HI) | en_HI |
| English (Hong Kong SAR China) | en_HK |
| English (Hungary) | en_HU |
| English (India) | en_IN |
| English (Indonesia) | en_ID |
| English (Ireland) | en_IE |
| English (Israel) | en_IL |
| English (Italy) | en_IT |
| English (Jamaica) | en_JM |
| English (Japan) | en_JP |
| English (Kuwait) | en_KW |
| English (Latvia) | en_LV |
| English (Liberia) | en_LR |
| English (Lithuania) | en_LT |
| English (Luxembourg) | en_LU |
| English (Macau SAR China) | en_MO |
| English (Malaysia) | en_MY |
| English (Malta) | en_MT |
| English (Mexico) | en_MX |
| English (Monaco) | en_MC |
| English (Montserrat) | en_MS |
| English (Netherlands) | en_NL |
| English (New Zealand) | en_NZ |
| English (Norway) | en_NO |
| English (Oman) | en_OM |
| English (Palestinian Territories) | en_PS |
| English (Poland) | en_PL |
| English (Portugal) | en_PT |
| English (Qatar) | en_QA |
| English (Réunion) | en_RE |
| English (Romania) | en_RO |
| English (Russia) | en_RU |
| English (Saudi Arabia) | en_SA |
| English (Singapore) | en_SG |
| English (Slovakia) | en_SK |
| English (Slovenia) | en_SI |
| English (South Africa) | en_ZA |
| English (South Korea) | en_KR |
| English (Spain) | en_ES |
| English (St. Helena) | en_SH |
| English (St. Lucia) | en_LC |
| English (Sweden) | en_SE |
| English (Switzerland) | en_CH |
| English (Taiwan) | en_TW |
| English (Thailand) | en_TH |
| English (Turkey) | en_TR |
| English (Ukraine) | en_UA |
| English (United Arab Emirates) | en_AE |
| English (United Kingdom) | en_GB |
| English (United States) | en_US |
| English (Vietnam) | en_VN |
| Estonian | et |
| Faroese | fo |
| Fijian (Fiji) | fj_FJ |
| Filipino | fil |
| Finnish | fi |
| French | fr |
| French (Belgium) | fr_BE |
| French (Canada) | fr_CA |
| French (European Union) | fr_EU |
| French (France) | fr_FR |
| French (Italy) | fr_IT |
| French (Luxembourg) | fr_LU |
| French (Mayotte) | fr_YT |
| French (Monaco) | fr_MC |
| French (Réunion) | fr_RE |
| French (St. Barthélemy) | fr_BL |
| French (St. Martin) | fr_MF |
| French (St. Pierre & Miquelon) | fr_PM |
| French (Switzerland) | fr_CH |
| French (Wallis & Futuna) | fr_WF |
| Galician | gl |
| Georgian (Georgia) | ka_GE |
| German | de |
| German (Austria) | de_AT |
| German (European Union) | de_EU |
| German (Germany) | de_DE |
| German (Luxembourg) | de_LU |
| German (Switzerland) | de_CH |
| Greek | el |
| Guarani | gn |
| Hebrew | he |
| Hindi | hi |
| Hungarian | hu |
| Hungarian (Hungary) | hu_HU |
| Icelandic | is |
| Indonesian | id |
| Irish | ga |
| Italian | it |
| Italian (Italy) | it_IT |
| Italian (Malta) | it_MT |
| Italian (Switzerland) | it_CH |
| Japanese | ja |
| Japanese (Japan) | ja_JP |
| Kazakh | kk |
| Khmer (Cambodia) | km_KH |
| Kinyarwanda | rw |
| Korean | ko |
| Korean (South Korea) | ko_KR |
| Kyrgyz (Kyrgyzstan) | ky_KG |
| Lao (Laos) | lo_LA |
| Latvian | lv |
| Lingala (Congo - Kinshasa) | ln_CD |
| Lithuanian | lt |
| Luxembourgish | lb |
| Macedonian | mk |
| Malay | ms |
| Maltese | mt |
| Maori | mi |
| Marshallese | mh |
| Mongolian | mn |
| Nepali (Nepal) | ne_NP |
| Norwegian | no |
| Nyanja | ny |
| Papiamento | pap |
| Pashto | ps |
| Persian | fa |
| Polish | pl |
| Portuguese | pt |
| Portuguese (Brazil) | pt_BR |
| Portuguese (Cape Verde) | pt_CV |
| Portuguese (Portugal) | pt_PT |
| Romanian | ro |
| Romanian (Moldova) | ro_MD |
| Romansh | rm |
| Russian | ru |
| Russian (Russia) | ru_RU |
| Russian (Ukraine) | ru_UA |
| Samoan | sm |
| Serbian | sr |
| Serbian (Montenegro) | sr_ME |
| Sinhala | si |
| Slovak | sk |
| Slovenian | sl |
| Somali (Somalia) | so_SO |
| Spanish | es |
| Spanish (Bolivia) | es_BO |
| Spanish (Colombia) | es_CO |
| Spanish (Cuba) | es_CU |
| Spanish (European Union) | es_EU |
| Spanish (Guatemala) | es_GT |
| Spanish (Honduras) | es_HN |
| Spanish (Mexico) | es_MX |
| Spanish (Nicaragua) | es_NI |
| Spanish (Spain) | es_ES |
| Spanish (United States) | es_US |
| Swahili | sw |
| Swati | ss |
| Swedish | sv |
| Swedish (Sweden) | sv_SE |
| Tajik | tg |
| Tamil | ta |
| Tetum | tet |
| Thai | th |
| Tigrinya | ti |
| Tongan | to |
| Turkish | tr |
| Turkmen | tk |
| Tuvalu | tvl |
| Ukrainian | uk |
| Urdu | ur |
| Uzbek | uz |
| Vietnamese | vi |
| Xhosa (South Africa) | xh_ZA |
| Zulu (South Africa) | zu_ZA |