İçeriğe git
Better Content

Her dili konuşan bir headless CMS

İçeriğinizi bir kez modelleyin, zincirlenebilir bir SDK ile sorgulayın ve her dili edge'den sunun — ayrı bir çeviri hattı yok, her dil için çoğaltılmış girdi yok.

Content models

İçerik modeli · blog-posts

Ekran başına tek bir zincirlenebilir çağrı
.from("blog-posts").language("tr")

Bir dil isteyin, o dili alın — geri dönüşler sizin için yönetilir.

Relations & expand
.expand(["author", "category"])
Draft → published

Bir girdi · üç dil

Per-field localization

blog-posts · tr

localized

blog-posts · de

localized

blog-posts · ja

localized

MCP for agents
createContentEntry()

Better Content

Edge delivery

İçerik modeli · blog-posts

titletextlocalized
bodyrichtextlocalized
localized_slugtextlocalized
authorrelation → authors
publishedAtdatetime

Bir girdi · üç dil

EnglishShipping i18n without a TMSpublished
TürkçeTMS olmadan i18n yayınlamakpublished
Deutschi18n ausliefern ohne TMSdraft

3 locales · 2 published · 1 draft

01 · Query

Ekran başına tek bir zincirlenebilir çağrı

SDK bir veritabanı istemcisi gibi okunur: bir model seçin, filtreleyin, ilişkilerini genişletin ve bir dil isteyin. Dönen sonuç zaten yerelleştirilmiş olur.

  • Bir API katmanı yazmadan filtreleyin, sıralayın ve sayfalandırın.
  • Bir dil isteyin, o dili alın — geri dönüşler sizin için yönetilir.
  • N+1 istek yerine ilişkileri tek bir gidiş-dönüşte genişletin.
app/blog/page.tsx
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

Yerelleştirilmiş bir CMS'in gerçekten ihtiyaç duyduğu her şey

İçerik modelleme, alan bazında yerelleştirme ve yayın durumları — çeviri platformunun kullandığı aynı MCP ve CDN altyapısıyla.

Content models

Alanları panoda bir kez tanımlayın; her girdi şemayı ve doğrulamasını devralır.

Per-field localization

Bir alanı localized olarak işaretlediğinizde, her dil için ayrı bir değer saklar — URL slug'ları dahil.

Relations & expand

Yazarları, kategorileri veya ürünleri ilişkilendirin ve expand ile tek bir istekte çekin.

Draft → published

Girdiler bir duruma sahiptir; böylece tamamlanmamış çeviriler üretimdeki okuyuculara asla ulaşmaz.

MCP for agents

Yapay zekâ ajanları, bir yönetim arayüzünü kazımak yerine tipli MCP araçlarıyla girdi oluşturur, çevirir ve yayınlar.

Edge delivery

Okumalar, çevirilerinizle aynı CDN'den sunulur ve stale-while-revalidate dayanıklılığına sahiptir.

03 · Adapters

Hâlihazırda kullandığınız framework'e ekleyin

Tek provider, tek hook. Adaptörler yalnızca her framework'ün yaşam döngüsüne nasıl bağlandıkları konusunda farklılaşır.

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

İçerik ve çeviriler tek bir CDN üzerinde

Girdiler ve arayüz metinleri aynı hat üzerinden yayınlanır; böylece bir sürüm asla yarı çevrilmiş çıkmaz: arayüzdeki metin ile CMS'teki içerik birlikte yayına alınır.

Better I18N

UI strings

Koddan taranan anahtarlar, sözlük bağlamıyla çevrilir ve edge'e yayınlanır.

Better Content

Long-form entries

Alan bazında yerelleştirme, taslaklar ve ilişkilerle modellenmiş içerik.

Better Analytics

Okuyucuların gerçekten açtıkları

Girdi, dil ve ülke bazında görüntülemeler — böylece gerçekten ilgi gören içeriği çevirirsiniz.

Carna'da binlerce öğrencimizin kendi dillerinde adaptasyonunu sağlayarak İngilizce öğrenimini hızlandırıyoruz. Yerelleştirme, tüm süreçlerimizi önemli ölçüde geliştirdi.

Tevfik Can Karanfil

Kurucu, Carna

Get started

İçeriğinizi bir kez modelleyin, her yerde yayınlayın

Bir model oluşturun, ilk girdinizi ekleyin ve onu üç dilde geri okuyun — değerlendirme süresince ücretsiz.