S4S Form Mapping Wizard and multiple languages

If using S4S in a multi-lingual Sitecore installation, we highly recommend enabling language fallback for both items and search indexes.

There are some language-specific situations where a form may not appear in the S4S Sitecore Form Mapping Wizard.

Submit Action reference item

The Mapping Wizard can create mappings for any form, but only displays the relevant ones in the on-screen list. By default this includes any form with the S4S Generic Submit Action, but may include forms with other submit actions as defined by items in the following path in the master database:

/sitecore/system/Modules/S4S/SitecoreExperienceFormMapping/SubmitActions

When loading children of this item, Sitecore provides only those for the current language. If you do not see your form, you can either create a language-specific version of the item that references the submit action or set an existing one as a fallback for all languages:

Form language

The Mapping Wizard only displays forms whose language matches the value of the current Sitecore.Context.Language. If you do not see your form, check the language(s).

For development purposes a quick way of changing the current language is to modify the value of the Sitecore website#lang cookie.

Mapping Wizard language display

The functionality below is available in S4S versions 2.1010.23019.1 (Sitecore 10.1), 2.1021.22319.1 (Sitecore 10.2), 2.1030.XXXX.X (Sitecore 101.3).

Current language

The current Sitecore context language is displayed in the form list heading at top left.

If the list is empty, this can be due to Sitecore not returning forms or S4S submit action items for the current language. Ensure that the correct language versions exist, or fallback is enabled as above including on search indexes.

If the language shown is not as expected then it should be changed as above.

Save language

Since mapping items are saved in the Sitecore tree separate to the form, the language of the mapping items also matters. The mapping wizard displays the language(s) that will be saved above the save button.

Save in current language only

A setting is provided in the S4SMapping.config configuration file:

<!-- Disable auto-copying Mapping configuration items to all languages. --> <setting name="FuseIT.S4SMapping.DisableLanguageCopy" value="false" />

Setting this value to true will cause the wizard to save mappings for the current language only.