Version 5 supported
This version of Silverstripe CMS is still supported though will not receive any additional features. Go to documentation for the most recent stable version.

Content localisation with fluent

The Fluent module provides multi-language translation and localisation for your Silverstripe CMS website, including pages and other data types. It supports features such as domain-based locales and content inheritance.

If you were looking for localisation of hardcoded strings, go to the i18n docs

GitHub repository

https://github.com/tractorcow-farm/silverstripe-fluent

Installation
Installing the Fluent module and initial setup
Migrating from a single language site
Explains how to add Fluent to an existing single-language site and populate the initial localised content for existing pages and data objects.
Configuration
Configuring Fluent for your website
Using DataObject models with Fluent
Configuring DataObject models for use with Fluent, including CMS fields, extensions, and versioned objects.
Domain Configuration
Configuring Fluent to associate different domain names with specific locales
Locale Detection
Configuring automatic locale detection for visitors based on browser headers or Cloudflare IP geolocation.
Deletion Policies
The different deletion policies available, and how to override them.
State
How to access and modify state during a request
Templating
How to use templating features like the locale menu and partial caching
Versioned History
The impact of Fluent on versioned history
Localised Copy
Different approaches to localising data, and how to use Localised Copy
How Fluent works
How Fluent localises data including table structures and benefits of the approach
Localisation Scenarios
Solving common scenarios for content inheritance with configuration, extensions, and custom code