콘텐츠로 바로 가기
Better Content

모든 언어를 구사하는 헤드리스 CMS

콘텐츠를 한 번 모델링하고, 체이닝 가능한 SDK로 조회하고, 각 언어를 엣지에서 제공하세요. 별도의 번역 파이프라인도, 언어마다 중복된 항목도 필요하지 않습니다.

Content models

콘텐츠 모델 · blog-posts

화면마다 체이닝 가능한 호출 하나
.from("blog-posts").language("tr")

원하는 언어를 요청하면 그 언어로 받습니다. 폴백은 알아서 처리됩니다.

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

항목 하나 · 세 가지 언어

Per-field localization

blog-posts · tr

localized

blog-posts · de

localized

blog-posts · ja

localized

MCP for agents
createContentEntry()

Better Content

Edge delivery

콘텐츠 모델 · blog-posts

titletextlocalized
bodyrichtextlocalized
localized_slugtextlocalized
authorrelation → authors
publishedAtdatetime

항목 하나 · 세 가지 언어

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

3 locales · 2 published · 1 draft

01 · Query

화면마다 체이닝 가능한 호출 하나

이 SDK는 데이터베이스 클라이언트처럼 읽힙니다. 모델을 고르고, 필터를 걸고, 관계를 확장하고, 언어를 요청하세요. 돌아오는 결과는 이미 현지화되어 있습니다.

  • API 계층을 작성하지 않고도 필터링, 정렬, 페이지네이션이 가능합니다.
  • 원하는 언어를 요청하면 그 언어로 받습니다. 폴백은 알아서 처리됩니다.
  • N+1 요청 대신 한 번의 왕복으로 관계를 확장하세요.
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

다국어 CMS에 실제로 필요한 모든 것

콘텐츠 모델링, 필드 단위 로컬라이제이션, 발행 상태 관리 — 번역 플랫폼이 사용하는 것과 동일한 MCP·CDN 인프라 위에서 동작합니다.

Content models

대시보드에서 필드를 한 번 정의하면, 모든 항목이 그 스키마와 검증 규칙을 상속합니다.

Per-field localization

필드를 localized로 표시하면 언어별로 값을 하나씩 저장합니다. URL slug도 포함됩니다.

Relations & expand

작성자, 카테고리, 제품을 연결하고 expand로 한 번의 요청에 함께 가져오세요.

Draft → published

항목에는 상태가 있으므로, 완성되지 않은 번역이 프로덕션 독자에게 노출되지 않습니다.

MCP for agents

AI 에이전트는 관리자 UI를 스크래핑하는 대신 타입이 지정된 MCP 도구로 항목을 생성하고 번역하고 발행합니다.

Edge delivery

읽기 요청은 번역과 동일한 CDN에서 제공되며, stale-while-revalidate 방식의 복원력을 갖습니다.

03 · Adapters

이미 사용 중인 프레임워크에 그대로 넣으세요

provider 하나, 훅 하나. 어댑터들의 차이는 각 프레임워크의 라이프사이클에 어떻게 연결되는지뿐입니다.

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

콘텐츠와 번역을 하나의 CDN에서

항목과 UI 문구가 동일한 파이프라인으로 발행되므로, 릴리스가 절반만 번역된 상태로 나가는 일이 없습니다. 인터페이스의 문구와 CMS의 콘텐츠가 함께 배포됩니다.

Better I18N

UI strings

코드에서 스캔한 키를 용어집 컨텍스트와 함께 번역하여 엣지에 발행합니다.

Better Content

Long-form entries

필드 단위 로컬라이제이션, 초안, 관계를 갖춘 모델링된 콘텐츠.

Better Analytics

독자가 실제로 여는 콘텐츠

항목·언어·국가별 조회수를 제공하므로, 실제로 주목받는 콘텐츠만 번역할 수 있습니다.

CDN 게시 기능이 정말 놀라워요. 번역을 푸시하면 즉시 라이브로 반영됩니다 — 배포도, 캐시 무효화도 필요 없어요.

Tevfik Can Karanfil

창업자, Carna

Get started

콘텐츠를 한 번 모델링하고, 어디에나 발행하세요

모델을 만들고 첫 항목을 추가한 뒤 세 가지 언어로 읽어보세요. 평가 기간에는 무료입니다.