Beta . Ortha CMS is in public beta. Every plan is free until it ends.
Get started
Menu

Content · 8 / 23

Languages

Each record has one row per language, every field is marked shared or translated, and coverage shows from the editor.

Content Articles The quiet return of night trainsNew record Published · up to date 3 issues Save draft Publish
Content3 Access History
The quiet return of night trains Untitled
Published EN · English Published Oct 23, 2026 Not saved yet

The fields marked “All locales” were copied from the en version and are still written in that language. Translate them here and they change in every locale.

Title *
The quiet return of night trains
Summary
Sleeper routes that closed a decade ago are running again across Europe.
Reading time (min) All locales
7
Find a locale…
3 of 5 published · 60%
English EN Default The quiet return of night trains Published
Deutsch DE Die stille Rückkehr der Nachtzüge Published
Français FR Le retour discret des trains de nuit Published
Español ES Missing Add
Italiano IT Missing
Translation coverage

How far each language has been taken

English Fully translated
Deutsch 20 to translate
Français 72 to translate
Español 154 to translate
Italiano 218 to translate

Across 248 localized records in 2 content types.

How it works

  1. 01

    Mark a content type as localized, and each field as shared or translated.

  2. 02

    Add a language from the entry’s locale switcher. Shared fields come with it.

  3. 03

    See coverage per record here, and per language on Insights.

Rows
One per language
Shared fields
Written once for every locale
Publishing
Per locale, or all locales at once

In depth · For teams selling in more than one market

Each language is a full record

Every language of an entry is its own row with its own status and history, sharing one identity with its siblings.

One row per language

Each language row is a complete entry with its own status, published date and version history, so the German page can be live while the English one is still being written.

Under the hood

A shared field has one value across the whole record, so a price or a product code is identical everywhere. A localized field is written per language.

A coverage grid of four content types against four languages. Articles and products are translated widely; landing pages reach German only, and authors exist in English alone.
Content type EnglishGermanFrenchJapanese
Article Yes Yes Yes draft
Product Yes Yes Yes Yes
Landing page Yes Yes No No
Author Yes No No No
Each filled cell is a row with its own status.

Editing a shared field

The new value reaches every sibling in one transaction. Published siblings drop to Modified and are re-validated, and the editor first shows exactly what would change in each other language.

Under the hood

Links belong to the record. Where the target is translated, each sibling gets the target in its own language, or the link stays unset until that translation exists.

The rules in one place

Show the table
Behaviour What it means
Shared field The default. One value for the whole record.
Localized field Written per language, marked with a globe.
Public API Strict: a missing language is simply absent.
Strict listing A French list shows French rows only.
Widened listing Falls back to the default-language row on request.
Publishing Each language row is published on its own.

Starting a new language

It inherits the record
A new translation starts with the links of an existing sibling, such as the author and tags.
Unchanged siblings are left alone
A sync that changes nothing writes nothing, so timelines stay free of noise.
The assistant drafts translations
It proposes into the sibling row, one entry or a batch; a person reviews and publishes.
Coverage is on the dashboard
See the gap by language or by content type.

Questions

Can I add a language later?

Yes. Locales are configuration, so adding one migrates nothing.

What does the API return for a missing language?

Nothing. A site that wants a fallback asks for ?translations=preview and picks the language it wants to show.

Do translations need their own review?

Yes. Each language is published on its own, and a protection rule is met language by language.

Full reference in the docs