How to enable field level language fallback


Description

Field level language fallback enables you to specify on a field-to-field basis, which field values should be localized and which field values should fall back to another language.

Field level language fallback is disabled by default, so you must enable it on each relevant website and on the template field definition item.

Please consult Language Fallback documentation on doc.sitecore.net to learn more about this feature.

Solution

Follow these steps to enable the feature on your Sitecore instance:

  1. Enable Field level language fallback on the desired sites[1] in Sitecore configuration[2].
    This change can be done within /App_Config/Include/Sitecore.LanguageFallback.config or any other custom config include file.
    <sites>
      <site name="shell">
        <patch:attribute name="enableFieldLanguageFallback">true</patch:attribute>
      </site>
      <site name="website">
        <patch:attribute name="enableFieldLanguageFallback">true</patch:attribute>
      </site>
    </sites> 
  2. Specify the fallback language rules.
    The fallback language specified on a language definition item in content tree under the /sitecore/system/Languages item.
    For each language that has to be enabled for fallback, make sure the Fallback Language field on that language definition item points to the desired target language.
  3. Finally, you need to enable Field level language fallback for those fields you'd like to have this feature enabled.
    There are two checkbox fields that enable this feature[3]:
    • Enable field level fallback
      This is a shared field that is used to enable language fallback for all the language versions of the current field. This applies to the all the currently available language versions of the field and any new language versions that you create. In other words, if you require that a certain fields need to be enabled for fallback only in certain languages, the Enable versioned field level fallback field should be used.
    • Enable versioned field level fallback
      This is a versioned field used to enable language fallback for only the current language version of the field.
      To allow different fallback settings for the same field in different languages (versioned fallback), in the /App_Config/Include/Sitecore.LanguageFallback.config file, the following configuration setting must be set to true[4]:
      <setting name="LanguageFieldFallback.AllowVaryFallbackSettingsPerLanguage" value="true" />

Success criteria:

If the feature is configured correctly, you will see fields that have no value in the original language falling back to the desired language, and both Content Editor and Experience Editor will indicate this in the field label:

Field level language fallback result

Notes