Skip to main content

Defining Translations

Translations live in a version-controlled translations.yaml file at the project root, alongside evidence.config.yaml and theme.yaml. They apply to every page in the project — there is no per-page translations file. Translations are defined in YAML format with 2-digit language codes (e.g., en, fr, es, de) as top-level keys. (Language Codes)
The yaml structure follows i18next conventions for each language.

Nested Translations

You can organize translations into groups:

Reusing Translations

Translations support i18next nesting syntax for reusing translations within other translations:
When rendered, $translations.report_title becomes “Q4 Revenue Report” in English or “Rapport Chiffre d’affaires T4” in French.

Using Translations in Pages

Translations are accessible via the special $translations variable.

Inline in Text

In Component Attributes

Templated in Strings

In SQL

Fallback Behavior

If a translation key is missing for the selected language, it will fall back to English (en) if available.