Multi-language websites with Language Picker and LOCALISE
Make your website available in multiple languages using the Language Picker element and LOCALISE function. The Language Picker lets visitors switch languages, while LOCALISE translates your content based on the selected language.
Before you begin: Your app must be published and have supported languages configured in site settings.
Configure supported languages
Before using localization, choose which languages your site will support:
Go to your site and click Settings in the top navigation
Scroll to the Localisation section
Select your Base language (your primary language)
Choose a Fallback language (shown when a translation is missing)
Check the boxes for all languages you want to support under Supported languages
Your changes save automatically. The base and fallback languages are automatically included in your supported languages list.
You must select at least one supported language. Visitors will only be able to switch between languages you've enabled here.
How it works
The Language Picker displays as a dropdown showing the current language. When a visitor selects a different language, the URL updates to include the language code (like /nl for Dutch) and the page re-renders with translated content.
The LOCALISE function handles the actual translation by returning different text based on the current language.
Adding the Language Picker
Add the Language Picker element to your page header or navigation. It automatically shows only the languages you've enabled in your app settings. The picker displays the current language name (like "English" or "Nederlands") with a dropdown arrow.
Translating content with LOCALISE
Use LOCALISE in any formula field to provide translations. The function takes pairs of language codes and text:
LOCALISE('en', 'Welcome', 'fr', 'Bienvenue', 'de', 'Willkommen')This returns "Welcome" for English visitors, "Bienvenue" for French, and "Willkommen" for German.
Common examples
Heading text:
LOCALISE('en', 'Our Services', 'nl', 'Onze Diensten')Button labels:
LOCALISE('en', 'Get Started', 'fr', 'Commencer', 'de', 'Loslegen')Paragraph content:
LOCALISE('en', 'Thank you for your order', 'es', 'Gracias por su pedido')Fallback behavior
If LOCALISE doesn't find a match for the current language, it falls back to your base language or returns the first text value provided. Always include your primary language as the first pair.
The Language Picker automatically handles URL routing and SEO metadata. Visitors can share language-specific URLs, and search engines will index each language version separately.