Features

Localization

One document per language, grouped by a translation key.


A collection with locales: { locales: ["en", "ja"], defaultLocale: "en" } stores one document per language. Documents in the same group share a translationKey; drafts, revisions, scheduling, and search all work per document.

  • Create with { data, locale }; without a locale the default applies and a new translation key is assigned.

  • Lists take ?locale=ja (or all); the default locale applies when omitted.

  • GET /:collection/:id/_translations lists the group; POST /:collection/:id/_translate with { locale, data? } creates a translation from a copy of the source.

  • Page data queries take locale, and search takes ?locale= (non-localized hits always remain).