Translations
Guidevera supports multilingual content through its translation system. Each page can have translations for one or more additional locales alongside the default language. Requires enableTranslations to be enabled and at least two locales configured in contentLocales.
How translations work
The default language content is stored directly on the page. Translations for other locales are stored separately in the page_translations table. Each translation has its own title, description, and content.
Editing a translation
Open a page in the editor. A language selector appears in the editor toolbar showing all configured locales. The default locale is marked as (default) and listed first. Select a locale to switch the editor to that language version. Save as normal — changes are saved to the translation for the selected locale without affecting the default language content.
Stale translations
When the default language content of a page is updated, any existing translations are automatically flagged as stale — they no longer reflect the current content. Stale translations are indicated in the language selector. The translation status overview (accessible to Contributors and Admins) lists all pages with missing or stale translations.
Language detection
When a user visits a page, the displayed language is determined by a three-step fallback: (1) explicit ?locale= URL parameter, (2) session preference from a previous visit, (3) the browser's Accept-Language header. If none match a configured locale, the default language is used.
Acknowledgements and translations
If acknowledgements are enabled, they are tracked per locale. A user must acknowledge each language version separately. See Read Acknowledgements.
Enabling translations
Configure enableTranslations, contentLocales, and defaultLocale in config/app.php. See Application Settings.