Feature

Integrations: Connect better-i18n to Your Development Stack

GitHub for code sync, MCP for AI assistants, CLI for CI/CD, REST API for custom workflows. Integrate better-i18n into the tools your team already uses.

Integrations: Connect better-i18n to Your Development Stack

better-i18n is built API-first. Every feature is accessible programmatically, and the platform integrates directly with the tools developers use daily: GitHub for code, AI assistants for productivity, CI/CD for automation, and framework SDKs for runtime.


GitHub

Bidirectional sync between your repository and better-i18n:

  • Inbound sync — Push events trigger automatic translation file import via webhooks
  • Outbound sync — Published translations ship as pull requests to your repository
  • File patterns — Configure which paths are synced (e.g., locales/**/*.json)
  • Minimal permissions — Read/write only to translation files, webhooks for push events

GitHub integration keeps your cloud project and repository in sync without manual intervention. You maintain full merge control over translation PRs.

Learn more about GitHub integration →


AI Assistants (MCP)

Two MCP servers connect AI tools directly to your translation workspace:

PackageToolsPurpose
@better-i18n/mcp11 toolsTranslation management — keys, translations, publishing
@better-i18n/mcp-content17 toolsContent management — models, entries, localized content

Supported AI Tools

ToolConnection Method
Claude (claude.ai)Remote MCP URL: https://mcp.better-i18n.com/mcp
ChatGPTRemote MCP URL: https://mcp.better-i18n.com/mcp
GeminiRemote MCP URL: https://mcp.better-i18n.com/mcp
CursorLocal: npx @better-i18n/mcp
Claude CodeLocal: npx @better-i18n/mcp
WindsurfLocal: npx @better-i18n/mcp
ZedLocal: npx @better-i18n/mcp

Your AI assistant can create keys, translate content, manage glossaries, preview pending changes, and publish — all through natural language.

Learn more about MCP integration →


CLI

The @better-i18n/cli integrates into your development workflow:

Scan: Detect Hardcoded Strings

npx @better-i18n/cli scan --ci

Finds untranslated text in React/Next.js code. Supports useTranslations(), getTranslations(), JSX text, and attributes.

Sync: Compare Local vs Cloud

npx @better-i18n/cli sync --format json

Shows which keys exist in code but not in the cloud (missing), and which cloud keys aren't used in code (unused).

CI/CD Integration

# GitHub Actions
- run: npx @better-i18n/cli scan --ci      # Block PRs with hardcoded strings
- run: npx @better-i18n/cli sync --format json  # Audit translation coverage
# Pre-commit hook
npx husky init
echo "npx @better-i18n/cli scan --staged --ci" > .husky/pre-commit

Learn more about the CLI →


REST API

Full programmatic access to all translation management operations:

Base URL: https://dash.better-i18n.com/api Auth: Authorization: Bearer your-api-key

EndpointDescription
listProjectsList all projects in your organization
getProjectGet project details, languages, namespaces
listKeysQuery keys with search, namespace, status filters
createKeysCreate keys with source text and translations
updateKeysUpdate translations for existing keys
deleteKeysSoft-delete unused keys
addLanguageAdd target languages to a project

API keys are created in the dashboard, scoped to specific projects, and revocable instantly.

Learn more about the REST API →


Content SDK

A Supabase-style query builder for fetching localized content:

import { createClient } from "@better-i18n/sdk";

const client = createClient({
  project: "your-org/your-project",
  apiKey: process.env.BETTER_I18N_CONTENT_API_KEY,
});

const { data, total } = await client
  .from("blog-posts")
  .eq("status", "published")
  .language("fr")
  .order("publishedAt", { ascending: false })
  .limit(20);

Zero dependencies, fully typed in TypeScript, works in any JavaScript runtime.

Learn more about the Content SDK →


Framework SDKs

FrameworkPackageRuntime
Next.js (App Router & Pages)@better-i18n/nextServer + Client
TanStack Start@better-i18n/use-intlSSR + Client
Vite + React@better-i18n/use-intlClient
Expo (React Native)@better-i18n/expoClient + Offline

All SDKs use the same CDN endpoint and namespace structure. Your web and mobile apps share a single source of truth for translations.


CDN

Translations are served from Cloudflare's edge network:

https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json
  • Sub-100ms delivery worldwide (300+ edge locations)
  • Updates propagate within seconds of publishing
  • No app redeployment needed for translation changes
  • Manifest endpoint for language discovery

Learn more about CDN delivery →


Custom Integrations

The REST API and Content SDK enable custom integrations with any system:

  • Internal tools — Build translation management into your admin panels
  • Automated workflows — Trigger translations from your event pipeline
  • Custom dashboards — Pull translation metrics into your analytics
  • Content pipelines — Integrate localized content into your CMS

Every operation available in the dashboard is also available via API. If you can make an HTTP request, you can integrate with better-i18n.


Getting Started

  1. GitHub — Connect your repository in project settings
  2. MCP — Add npx @better-i18n/mcp to your AI tool's configuration
  3. CLInpm install -D @better-i18n/cli
  4. API — Generate an API key at dash.better-i18n.com/settings/api-keys

All integrations are available on every plan, including the free tier.