Un CMS headless che parla tutte le lingue
Modella i tuoi contenuti una volta, interrogali con un SDK concatenabile e servi ogni lingua dall'edge: nessuna pipeline di traduzione separata, nessuna voce duplicata per lingua.
Modello di contenuto · blog-posts
Una voce · tre lingue
3 locales · 2 published · 1 draft
01 · Query
Una sola chiamata concatenabile per schermata
L'SDK si legge come un client di database: scegli un modello, filtralo, espandi le sue relazioni e chiedi una lingua. Ciò che torna è già localizzato.
- Filtra, ordina e pagina senza scrivere un livello API.
- Chiedi una lingua e ottieni quella lingua: i fallback sono gestiti per te.
- Espandi le relazioni nello stesso round trip invece di fare N+1 richieste.
const { data } = await client
.from("blog-posts")
.language("tr")
.expand(["author", "category"])
.eq("status", "published")
.order("publishedAt", "desc")
.limit(10)200 OK · 41ms · edge cache HIT
10 entries · tr · author + category expanded
02 · Capabilities
Tutto ciò che serve davvero a un CMS localizzato
Modellazione dei contenuti, localizzazione per campo e stati di pubblicazione, con la stessa infrastruttura MCP e CDN usata dalla piattaforma di traduzione.
Content models
Definisci i campi una volta nella dashboard; ogni voce eredita lo schema e la sua validazione.
Per-field localization
Contrassegna un campo come localizzato e memorizzerà un valore per lingua, inclusi gli slug URL.
Relations & expand
Collega autori, categorie o prodotti e recuperali in un'unica richiesta con expand.
Draft → published
Le voci hanno uno stato, così le traduzioni incomplete non raggiungono mai i lettori in produzione.
MCP for agents
Gli agenti AI creano, traducono e pubblicano le voci tramite strumenti MCP tipizzati, invece di fare scraping di un'interfaccia di amministrazione.
Edge delivery
Le letture vengono servite dalla stessa CDN delle tue traduzioni, con la resilienza di stale-while-revalidate.
03 · Adapters
Inseriscilo nel framework che già usi in produzione
Un provider, un hook. Gli adapter differiscono solo nel modo in cui si agganciano al ciclo di vita di ciascun framework.
Next.js
@better-i18n/content/adapters/nextjs
React
@better-i18n/content/adapters/react
Expo
@better-i18n/content/adapters/expo
Vue
@better-i18n/content/adapters/vue
Svelte
@better-i18n/content/adapters/svelte
Vanilla JS
@better-i18n/content
04 · Better together
Contenuti e traduzioni su una sola CDN
Le voci e i testi dell'interfaccia vengono pubblicati dalla stessa pipeline, così una release non esce mai tradotta a metà: i testi dell'interfaccia e i contenuti del CMS vanno online insieme.
UI strings
Chiavi individuate nel codice, tradotte con il contesto del glossario e pubblicate sull'edge.
Long-form entries
Contenuti modellati con localizzazione per campo, bozze e relazioni.
Ciò che i lettori aprono davvero
Visualizzazioni per voce, lingua e paese, così traduci ciò che ottiene davvero attenzione.
“La pubblicazione tramite CDN è incredibile. Carichiamo le traduzioni e sono online all'istante: nessun deploy, nessuna invalidazione della cache.”

Tevfik Can Karanfil
Fondatore, Carna
Get started
Modella i tuoi contenuti una volta, pubblicali ovunque
Crea un modello, aggiungi la tua prima voce e rileggila in tre lingue: gratis mentre lo valuti.