Translations
A project enables a set of locales (svitrio supports 46, including RTL). For each one, the translation editor shows every translatable field of a node side by side — canonical on the left, your translation on the right — and stores only the overrides.
Overrides merge on delivery
At delivery time the overrides are merged on top of the canonical node. Plain fields replace by key; array fields use path keys (items[0].title) resolved into the structure — so you can translate one element of a list without re-sending the whole array. Anything you haven’t translated falls through to the source language. Partial translations are first-class.
Reading a locale
Request a localised node with ?locale=xx. The response carries a translated flag so a renderer can decide whether to show a language in its menu at all.