Content localization for Next.jsOne document, in several languages.
Translate collections, singles and components, with a fallback language when a translation is missing. With drafts on, publish each language’s translated fields on its own.
Localization is built into Nextly’s core; no plugin.
npx create-nextly-app@alpha my-appWhat it does
Translate collections, singles and components, with a fallback language when a translation is missing.
Nextly gives you Copy from language, side-by-side panes and the Translations page, and it doesn’t translate text for you.


With drafts on, publish each language’s translated fields on its own.
LimitA field that isn’t translated holds one value for every language; password fields are never translated.
Publishing one language at a time

A Translations page lists one language’s untranslated, draft, translated, published or out-of-date documents, across up to 20 collections.


Compare two versions of the same language and restore an earlier one from the admin; restoring saves the current state first.
LimitComparing versions across languages is refused.
Versions



For your team
In the admin
- People write each language.
- With drafts on, publish each language’s translated fields on its own. Docs
For developers
In your code
- Translation is off until you turn it on for a collection, Single or component, and each field can override it. Docs
- Languages can be managed in code or, without redeploying, through the languages API; a localization block in the config locks them. Docs
import { defineConfig } from "nextly";
export default defineConfig({
localization: {
locales: ["en", { code: "de", label: "Deutsch" }],
defaultLocale: "en",
fallback: true,
},
});import { defineCollection, text } from "nextly/config";
export const Posts = defineCollection({
slug: "posts",
localized: true,
fields: [
text({ name: "title" }),
// Not worth translating: the same value in every language.
text({ name: "externalId", localized: false }),
],
});docs/localization/index.mdx · v0.0.2-alpha.70
In 0.0.2-alpha.70
What ships today
- Built in
- Nextly’s core, no plugin
- Release
0.0.2-alpha.70· 25 Oct 2026- Translates
- Collections, singles and components
- Missing text
- A fallback language
- Publishing
- Each language’s translated fields, with drafts on
- Scheduling
- Whole documents, never one language
- Licence
- MIT
Not today
Where it stops
- Fields that aren’t translated
- A field that isn’t translated holds one value for every language; password fields are never translated. Docs
- Scheduling
- A Content Release schedules whole documents, never one language. Docs
- Comparing languages
- Comparing versions across languages is refused. Docs
- Autosave
- Autosave keeps one recovery point per document and author, not per language. Docs
- Visual Page Builder pages
- The official Pages collection is not translated; a blocks field in a collection you make translatable can be. Docs
Nextly is in alpha. APIs may change before 1.0. Pin exact versions in production.
Questions
What happens when a translation is missing?
Translate collections, singles and components, with a fallback language when a translation is missing.
Can I publish one language before the others?
With drafts on, publish each language’s translated fields on its own.
A field that isn’t translated holds one value for every language; password fields are never translated.
Can I schedule one language?
A Content Release schedules whole documents, never one language.
Does Nextly translate the text for me?
No. People write each language. Nextly gives you Copy from language, side-by-side panes and the Translations page, and it doesn’t translate text for you.
Where are the languages set?
Languages can be managed in code or, without redeploying, through the languages API; a localization block in the config locks them.
Are Visual Page Builder pages translated?
The official Pages collection is not translated; a blocks field in a collection you make translatable can be.