Alternate Language Profile Field Behavior | Yext Hitchhikers Platform
Overview
A single entity can have multiple language profiles. An entity’s primary language profile is the default version of the entity that matches the default language of the Yext account. Any language profile on an entity that is not the primary profile is referred to as an alternate language profile.
Entity fields and field values can be translated between language profiles. Field data on alternate language entity profiles can be inherited from the entity’s primary language profile. Depending on the field, this data can be inherited in different ways.
There are three categories of field behavior on alternate language profiles:
- Primary only
- Overridable
- Language specific
Alternate Language Profile Field Behavior
In the Knowledge Graph UI, hover over a field to see its alternate language profile behavior.
Primary Only
“Primary only” fields can only be updated on an entity’s primary profile. They will always inherit data from the primary profile, and the field cannot be overridden or changed from an alternate language profile.
This behavior is used for a few use cases:
- Fields that do not depend on language (e.g., Map Marker, Hours)
- Entity Relationship fields
- Fields where translations are managed on the field itself, not on an individual entity or language profile (e.g., Price Range, Payment Options)
Overridable
Overridable fields can be edited on alternate language profiles. By default, they will inherit the content from the primary profile. This behavior is used for fields that may be language dependent (e.g., Name, Photo Gallery, Videos).
Language Specific
Language specific fields are only edited on alternate language profiles. They will never inherit content from the primary profile. This behavior is used for fields that most likely must be translated in order for the entity data to make sense in downstream experiences. Examples are any string or text fields, such as Description, Keywords, or Featured Message.
Custom Fields
Yext determines the language behavior for all built-in fields. However, the language behavior for custom fields can be modified.
All custom fields are set to primary only by default. To change the language behavior of a custom field, modify the Alternate Language Behavior field property.
The only exception to this is custom fields using the Entity Relationship field type, which will always be set to primary-only and cannot be modified. This is due to how linked entities work: when two entities are linked, they are linked across the entire entity, not by individual language profiles.
Modifying alternate language behavior
The alternate language profile behavior can be changed for custom fields that have already been created, but this may have an impact on downstream content. For example, changing a field’s behavior from “primary only” to “language specific” means that the field’s primary content will no longer display on any alternate profiles.
Best practices for choosing language behavior
When setting language behavior for custom fields, we recommend following the guidelines of how language behavior works for built-in fields:
- If the field information is not dependent on language (e.g., a reference number, a product code, a proprietary brand name that is not translated), or if it contains an entity relationship, the field should likely be primary only.
- If the field might sometimes be translated (e.g., photos with text, videos, product names — or if you are building profiles in the same language for different locales) the field should likely be overrideable so you can choose when to vary the content.
- If the field is text based and not a proper noun or brand name (e.g., a description, a product promotion) it should likely be language-specific.
Alternate Language Profiles and Entity Search
Entity Search filters apply to all language profiles on entities. For example, applying a filter criterion for “Description
is abc
” will return entities whose Description field is abc
on any of their language profiles, even if the primary profile does not match that value. This behavior also applies to contains
filters.