Add Languages

Publish content in two, five, or fifty languages. Pick which ones you support, set a default, and translate as you go.

Add a language

  1. Open Languages Click Languages in the sidebar. You'll see your active locales.
    Languages list with code, direction, default pill, active toggle, and a panel of common language codes
    The Languages list with the common-codes helper.
  2. Click "Add language"
  3. Pick a code Use the standard tag: en, es, fr, hi, ar, zh, or regional variants like en-GB, pt-BR. Auto-fills name and native name from a built-in list.
  4. Confirm direction Most languages are ltr (left-to-right). Arabic, Hebrew, Farsi, and Urdu are rtl.
    Add Language form with language name, ISO 639-1 code, and text direction selector
    Adding a new language.
  5. Save The new language appears in the list, ready for translations.

Change the default language

  1. Open Languages.
  2. Find the row, click Set as default.
  3. Confirm.

The default is what your API serves when a request doesn't specify a locale.

Existing contentChanging the default doesn't move existing entries to the new locale. They keep the language they were created in. Add translations entry-by-entry as needed.

Enable localization on a content type

By default, content types are single-language. To allow translations:

  1. Open Content models, click the type you want to translate (e.g. Blog Posts).
  2. Flip the Localized toggle on.
  3. Save.

Now each entry has a language tag, and you can create one version per language with the same slug.

Translate an entry

  1. Open the entry list for the type You'll see a language switcher in the header (next to the search box).
    Languages list — the active locales here are the choices that appear in the entry-list switcher
    Active locales (here English, Russian, O'zbek) are what appear in the entry-list switcher.
  2. Open the entry you want to translate (in its source language)
  3. Click "Add translation" Choose the target language. A new editor opens, pre-filled with the source content.
    Entry editor — when localized, the side panel exposes a Language selector for the translated version
    The entry editor opens with the source content pre-filled; switch language in the side panel.
  4. Translate each field Replace the text in each field. The slug auto-updates based on the translated title (you can edit it).
  5. Save and publish The translated version has its own status — you can keep it in draft while the rest of the world sees the English original.

Translate settings

Settings like site name, tagline, and SEO defaults can be translated too. In the Settings screen, look for the small flag icon next to each translatable field — click it to enter localized values.

Pause or remove a language

If you launch a language but decide to pause it (e.g. you're hiring a translator):

How visitors see translations

The frontend reads /api/v1/i18n/locales to build its language switcher, and includes ?locale=es on content requests. As an editor, you don't need to do anything special — once you save a translation it's available immediately.

Next steps

For your developer to actually pull your content into a frontend, they'll need an API key. Let's generate one.