Ship Your SaaS in Every Language
Your SaaS product needs to speak your users' language — literally. UI strings, onboarding flows, email templates, help docs, error messages. Every piece of text needs translation, and it all needs to stay in sync as your product evolves.
better-i18n gives SaaS teams a developer-first localization workflow: CLI tools for your codebase, GitHub integration for your workflow, CDN delivery for your users, and framework SDKs for your frontend.
CLI: Scan Your Codebase, Sync Your Translations
The @better-i18n/cli is the foundation of the developer workflow:
scan— Uses AST analysis to detect hardcoded strings in your codebase. Run it locally or in CI to catch untranslated strings before they ship.sync— Compares your local translation keys against the cloud and reconciles differences. Keeps your local files and the platform in sync.
Both commands support flags for CI integration:
--cifor non-interactive CI/CD environments--stagedto check only staged files (great for pre-commit hooks)--format jsonfor machine-readable output
This means you can add better-i18n scan --ci to your CI pipeline and fail builds that introduce hardcoded strings.
GitHub Integration
When translations are ready, better-i18n creates pull requests with the translated JSON files. Your team reviews and merges translations like any other code change:
- PRs contain updated JSON translation files
- Webhooks fire on publish events for downstream automation
- Translations stay in your version control alongside your code
This keeps translations in your existing review workflow — no separate tool to check or approve.
CDN: Fast Delivery Without Deploys
Published translations are served from Cloudflare's edge network at cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json. This gives you:
- Global low-latency delivery from the nearest edge node
- No redeploy required — publish a translation fix and it's live immediately
- Namespace-level granularity — load only the translations your current view needs
For SaaS products, this means you can fix a mistranslation or add a new language without going through your release cycle.
Framework SDKs
First-party SDKs handle the integration with your frontend:
@better-i18n/next— Next.js with server and client component support@better-i18n/use-intl— Vite and TanStack Router applications@better-i18n/expo— Expo and React Native, with offline caching for mobile apps
The SDKs pull translations from the CDN, so your app always serves the latest published content.
MCP: AI-Assisted Translation in Your Editor
The MCP integration provides 2 servers with 28 tools that work with AI coding assistants — Claude, Cursor, Windsurf, and Zed. Both remote and local server options are available.
With MCP, your developers can:
- Create and update translation keys without leaving their editor
- Trigger AI translations for new keys
- Review translation coverage inline
This reduces context switching and keeps translation management in the developer's natural workflow.
AI Translation with Glossary
better-i18n's AI translation generates translations that respect your product's terminology:
- Define product names, feature names, and technical terms in the glossary
- Select the AI model that fits your quality needs from the dashboard
- Glossary terms are enforced across all AI-generated translations
For SaaS products with specific terminology (plan names, feature names, technical concepts), this ensures consistency across all languages.
Organize with Namespaces
Structure your translations to match your product:
ui/commonfor shared UI componentsui/dashboardfor dashboard-specific stringsemails/transactionalfor email templatesdocs/helpfor help center contenterrorsfor error messages
Each namespace loads independently, so your dashboard page doesn't need to download your help center translations.
Dashboard and RBAC
The dashboard provides:
- Coverage tracking across all languages and namespaces
- Key management with search and bulk operations
- Audit logs for every change
- RBAC with per-project roles via GitHub OAuth
Give your product team read access to check coverage, your developers editor access to manage keys, and limit admin access to team leads.
What We Don't Offer
Being honest about limitations:
- JSON only — We don't support YAML, PO, ARB, XLIFF, or other translation formats. If your stack requires non-JSON formats, you'll need to convert.
- GitHub only — No GitLab, Bitbucket, or other Git provider integrations at this time.
- No Translation Memory — Consistency comes from glossary enforcement and AI translation, not from a TM database.
- No in-context editing — There's no visual preview or live editing overlay for your application.
- No context screenshots — Keys are managed by name and namespace, not by visual context.
- No OTA update system — The CDN serves translations on request, but there's no push-based update mechanism or client-side cache invalidation.
better-i18n is built for teams that work in code. The CLI, GitHub integration, and framework SDKs are the core workflow — the dashboard complements but doesn't replace the developer experience.
Get Started
If your SaaS team wants a localization workflow that fits into your existing development process — CLI in CI, PRs for review, CDN for delivery — better-i18n is built for that.
Create your account and run your first scan in minutes.