Managing Translations

Postnomic lets you publish a single post in multiple languages. Each blog has a default language (the language its posts are written in by default), and any post can be given additional translations —...

Overview

Postnomic lets you publish a single post in multiple languages. Each blog has a default language (the language its posts are written in by default), and any post can be given additional translations — alternate versions of its title, slug, content, and excerpt in other languages.

Readers automatically see the version of a post that matches their preferred language, with a safe fallback to the default language when a translation is missing.

The Default Language

Every blog has a default language, configured in the blog's Settings (English, en, unless changed). The default language isn't a translation — it's the content stored on the post itself, and you edit it the same way you always have: through the normal post editor fields (Title, Slug, Content, Excerpt).

Translations only cover the blog's other languages. You cannot add, edit, or delete a "translation" for the default language — that content lives on the post, not in the Translations panel.

Adding a Translation

To add a translation to a post:

  1. Open the post in the post editor
  2. Open the Translations panel
  3. Select the language you want to add
  4. Fill in the translated Title, Slug, Content, and optionally Excerpt
  5. Save

The translation is stored alongside the post and immediately becomes available to readers requesting that language. A post can have as many translations as you need, one per language.

Editing a Translation

Open the Translations panel on the post, select the existing language, update the fields, and save. Edits take effect immediately — there's no separate review or approval step for translations beyond the blog's normal permissions.

Deleting a Translation

Open the Translations panel, select the language, and choose Delete. This removes only that language's version; the post itself and its other translations are unaffected. Readers requesting the deleted language will automatically fall back to the blog's default language.

You cannot delete the default language this way — since it isn't a translation, removing default-language content means editing or unpublishing the post itself.

Slugs Per Language

Each translation has its own Slug, independent of the default-language slug and of other languages' slugs. Slugs must be unique per blog within a language — two posts in the same blog can't share a slug in the same language, but a post's German slug can differ freely from its English slug.

Who Can Manage Translations

Managing translations requires the same Author role (or higher) required to edit the post itself. Anyone who can edit a post's default-language content can also add, edit, or delete its translations.

How Readers See Translations

When a reader requests a post or a blog's post list, Postnomic resolves the language to serve in this order:

  1. An explicit language requested by the client (e.g. a ?lang=de query parameter)
  2. The browser's language preference (Accept-Language header)
  3. The blog's default language

If the resolved language doesn't have a translation for a given post, Postnomic serves the default-language content instead rather than returning an error — readers never see a broken or missing post because of a language gap. Every post response also reports which language was actually served and which languages are available, so client applications can offer a language switcher.

A post can also be found by its slug in any of its languages — readers don't need to know which language a particular URL slug belongs to.

Best Practices

  • Translate your most important posts first — you don't need every post in every language
  • Keep slugs short and readable per language rather than transliterating the default-language slug
  • Review translations for accuracy — Postnomic doesn't auto-translate content; translations are written or pasted in by your team
  • Set the correct blog default language before publishing — changing it later doesn't retroactively move existing content between the post and its translations

Was this article helpful?

Thank you for your feedback!