Skip to content

i18n

Name Columns Comment Type
public.app_user 7 A user of the translation CMS (an admin who writes and publishes translations), as known from the identity provider. Created on the first change the user makes and updated from the claims of the access token on every later change; the public_id is the id of a user reference in the API. Consumer applications read bundles through a service account and never appear here. BASE TABLE
public.application 8 An application whose texts are translated here, such as a Stratastax app. Its keys come from the translation files of the application; the CMS adds translations and publishes them as releases, which the application loads as bundles at startup. Invariant (application): the base locale is one of the locales of the application. BASE TABLE
public.application_locale 3 The locales an application is translated into, the base locale included. BASE TABLE
public.message_key 10 A message of an application, with its text in the base locale, as imported from the translation files of the application. An import replaces the base text, description and arguments of every key it contains and marks every other key obsolete; a later import that contains the key again revives it. Invariant (application): an obsolete key is not published and is left out of every bundle. The version is the ETag of the key with its translations, so it goes up with every change of one of its translations as well. BASE TABLE
public.message_argument 4 An argument of a message key, which every translation of the key may use, in the order in which the generated code passes them. BASE TABLE
public.release 10 A publication of the draft translations of an application, numbered from 1 per application. A release never changes: the bundle of a locale is the published text of every key in it, with the number of the latest release of that locale as its version. Invariant (application): a release publishes only locales of its application, and no translation whose arguments no longer match its key. BASE TABLE
public.release_locale 2 The locales whose drafts a release published. BASE TABLE
public.translation 12 The text of a message key in one locale: the draft that the next release publishes and the text of the latest release that published it. The status in the API follows from the texts: no row is MISSING, only a draft is DRAFT, only a published text is PUBLISHED, both is CHANGED. Discarding a draft that was never published deletes the row. Invariant (application): the locale is one of the locales of the application of the key, and the text only uses the arguments of the key. BASE TABLE
public.idempotency_record 9 BASE TABLE

ER diagram


Generated by tbls