| name | multi-language-and-translation |
| description | Use when configuring Salesforce Translation Workbench, translating custom labels, picklist values, field labels, page layout sections, or Experience Cloud language switcher. Triggers: 'how to add a language to Salesforce', 'translate custom labels', 'Translation Workbench setup', 'picklist value translation', 'RTL language support'. NOT for Marketing Cloud email localization, NOT for Apex string formatting by locale (use formula fields or Apex String.format patterns), NOT for multi-currency (use currency management admin). |
| category | admin |
| salesforce-version | Spring '25+ |
| well-architected-pillars | ["User Experience","Operational Excellence"] |
| triggers | ["how do I translate custom labels and field labels into Spanish or French","my Experience Cloud site needs to support multiple languages with a language switcher","how do I enable Translation Workbench and add a new language to the org","picklist values are showing in English even after I added translations","how do I support right-to-left languages like Arabic or Hebrew in Salesforce","multi language isn't working","we're having issues with multi language","return translated picklist or record type values in a SOQL or SOSL query","use toLabel() to show picklist values in the running user's language"] |
| tags | ["translation","multi-language","translation-workbench","custom-labels","localization","experience-cloud"] |
| inputs | ["List of languages to support and their locale codes (e.g., es for Spanish)","List of components to translate: field labels, picklist values, custom labels, validation messages","Whether the org uses Experience Cloud sites with language switcher"] |
| outputs | ["Translation Workbench configuration steps for each language","Export/import workflow for bulk translations via Translation Workbench spreadsheet","Custom label translation setup","Experience Cloud language switcher configuration"] |
| dependencies | [] |
| version | 1.1.0 |
| author | Pranav Nagrecha |
| updated | "2026-07-08T00:00:00.000Z" |
Multi-Language and Translation
Use this skill when configuring Salesforce to support multiple languages for internal users or Experience Cloud site visitors. This covers enabling Translation Workbench, adding supported languages, translating custom labels, field labels, picklist values, page layout section names, and configuring the Experience Cloud language switcher.
Before Starting
Gather this context before working on anything in this domain:
- Confirm the org edition — Translation Workbench requires Enterprise, Unlimited, Performance, or Developer Edition.
- Identify the languages to add using their Salesforce locale code (e.g.,
es for Spanish, fr for French, ar for Arabic).
- Determine what needs translating: field labels, picklist values, custom labels, validation rule error messages, page layout section names. Each has a different translation path.
- For RTL languages (Arabic, Hebrew), confirm the org has enabled RTL support and test the UI rendering — not all custom components support RTL automatically.
Core Concepts
Translation Workbench Architecture
Translation Workbench (Setup > Translation Workbench > Translation Settings) is the central management tool for Salesforce UI translations. Key concepts:
- Default language: The org's default language. All metadata is authored in this language.
- Supported languages: Languages you enable in Translation Workbench. Only supported languages are available to users and translatable via the Workbench.
- Translation override vs. auto-translation: Translations for standard Salesforce UI elements are provided by Salesforce for supported languages. Custom components (custom labels, custom field labels, picklist values) require manual entry or import.
Custom Label Translations
Custom Labels (Setup > Custom Labels) are the standard mechanism for translatable string constants used in Apex, Visualforce, and Flow. Each label supports translations per language:
- Create the Custom Label with the English value.
- Open the label, click "New Local Translations/Overrides".
- Select the language, enter the translated value.
In Apex: System.Label.My_Label returns the translation for the running user's language.
In Visualforce: {!$Label.My_Label} returns the translation.
In Flow: Use the {!$Label.My_Label} merge field in text elements.
Picklist Value Translation
Picklist values are translated via Translation Workbench > Translate: