Multilingual projects
NaturaList supports fully multilingual data and interface. Any language and any script are supported, including folk and indigenous taxonomies that do not follow Linnaean conventions. This page describes the complete workflow for adding language support to a project.
Single-language projects
If your data only contain a single language (regardless to the actual language) and you are happy with the English UI in the app, you can skip this table altogether. If your project is e.g. in French and you want NaturaList to show the app UI in that language, enter a single row with code fr, and the name of language as French. See Supported languages reference for available UI localizations.
Step 1: declare your languages
In the Supported languages table, add one row per language:
| Code | Name of language | Fallback language |
|---|---|---|
| en | English | |
| cs | Česky | en |
The first row is the default language. Users will see a language switcher in the Side menu when more than one language is defined.
Step 2: add language-suffixed columns to the data sheet
For any column that differs by language, duplicate it with a :langcode suffix:
description:en | description:cs |
|---|---|
| Large green tree frog. | Velká zelená stromová žába. |
Columns without a suffix are shared and used for all languages - you only need to add translated variants for columns where the content actually differs.
Step 3: add language-suffixed columns in config
All multilingual columns in the config sheets (nl_content, nl_appearance) can also have :langcode variants, for example in Title column of the Custom data definition table:
Title:en | Title:fr |
|---|---|
| Red List | Liste rouge |
Step 4: add language-suffixed values in Customization settings
In the Customization table, add Value:en and Value:fr columns:
| Item | Value:en | Value:fr |
|---|---|---|
| Checklist name | Birds of Vanuatu | Oiseaux du Vanuatu |
| Date format | MMM D, YYYY | DD/MM/YYYY |
| Color theme hue | 212 | 95 |
You can assign a different Color theme hue to different language versions of the same project to distinguish them.
Language fallback chain
When the app resolves a value for a column:
- Try the column with the active language suffix (e.g.
description:fr). - If not found, try the default language's suffixed column (e.g.
description:en). - If still not found, try the plain column (e.g.
description).
This means you only need to provide translations for columns where the content actually differs - everything else falls back to the default language automatically.
Language url parameter
The active language is reflected in the URL via the ?l= query parameter (e.g. ?l=fr). This means a specific language version of the project can be linked or bookmarked directly. The language preference is also stored in browser settings and restored on the next visit.