跳转至主要内容
For Enterprises

better-i18n 企业级方案:扩展您的本地化基础设施

API 优先的翻译管理,具备基于角色的访问控制、审计日志、CDN 分发和 GitHub 集成。专为需要对 i18n 工作流进行程序化控制的工程团队而构建。

Platform team

platform

每个团队在各自的项目中工作

Access control

基于角色,作用于组织和项目两个层级

Docs team

docs

共享术语,各自独立的界面

Authentication

通过 GitHub OAuth 登录控制台——不存储任何密码

API key

限定于某个项目的 Bearer 令牌,可从控制台吊销

Audit log

audit log

Delivery

TLS 1.3 · AES-256

Better I18N

One controlled surface

企业版 better-i18n:扩展你的本地化基础设施

当你的产品以多种语言发布时,本地化就变成了基础设施——而不是一次性项目。你需要程序化访问、CI/CD 集成、一致的术语执行,以及对已翻译、待处理和缺失内容的可见性。

better-i18n 是一个 API 优先的翻译管理平台,专为工程团队设计。它提供构建模块——REST API、Content SDK、CLI 工具、MCP 服务器、CDN 分发和 GitHub 集成——使本地化成为开发工作流的无缝组成部分。


企业团队实际获得什么

API 优先架构

better-i18n 的每个功能都可通过 REST API 使用。你的内部工具、CI 流水线和自定义工作流可以以编程方式与平台交互:

翻译管理 APIdash.better-i18n.com/api):

操作功能
listKeys使用搜索、命名空间和状态过滤器查询翻译键
createKeys创建带有源文本和初始翻译的键
updateKeys跨语言更新现有键的翻译
deleteKeys软删除不再使用的键
listProjects列出组织中的所有项目
getProject获取项目详细信息,包括语言和命名空间

Content SDK@better-i18n/sdk):

一个 Supabase 风格的查询构建器,用于获取本地化内容条目:

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, hasMore } = await client
  .from("blog-posts")
  .eq("status", "published")
  .language("fr")
  .order("publishedAt", { ascending: false })
  .limit(20);

该 SDK 零依赖,完全使用 TypeScript 类型化,可在任何 JavaScript 运行时中工作。

CDN 分发

翻译通过 Cloudflare 的边缘网络提供:

https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json

全球低于 100 毫秒的分发。在仪表板或通过 API 更新翻译,无需重新部署应用即可在 CDN 上生效。

GitHub 集成

better-i18n 与你的仓库同步:

  • Webhook 触发同步 — Push 事件触发翻译文件更新
  • Pull Request 工作流 — 翻译更新以你控制的 PR 形式推送
  • 最小权限 — 仅对配置的翻译文件模式(如 locales/**/*.json)具有读/写权限
  • 完全合并控制 — 你决定翻译何时合入你的代码库

开发者工作流 CLI

@better-i18n/cli 集成到你的开发流程中:

# 检测 React/Next.js 代码中的硬编码字符串
npx @better-i18n/cli scan --ci

# 将本地翻译键与云项目进行比较
npx @better-i18n/cli sync --format json

scan 添加到你的 pre-commit 钩子或 CI 流水线。使用 sync 在发布前审核翻译覆盖率。

AI 辅助翻译的 MCP 服务器

两个 MCP 服务器将你的 AI 工具直接连接到翻译工作区:

工具数用途
@better-i18n/mcp11 个工具翻译管理(键、翻译、发布)
@better-i18n/mcp-content17 个工具内容管理(模型、条目、本地化内容)

与 Claude、Cursor、Windsurf 和任何 MCP 兼容的 AI 工具配合使用。你的 AI 助手可以创建键、更新翻译和管理内容,无需离开 IDE。


安全性和访问控制

基础设施

  • Cloudflare Workers — 边缘计算,内置 DDoS 防护
  • PlanetScale MySQL — 无服务器数据库,自动备份
  • Cloudflare R2 — 翻译文件的对象存储

加密

  • 静态数据:AES-256 加密
  • 传输中数据:所有连接使用 TLS 1.3

认证

  • 仪表板:GitHub OAuth(不存储密码)
  • API:使用 bcrypt 哈希的 Bearer 令牌认证
  • 密钥范围:API 密钥可以限定到特定项目
  • 密钥管理:从仪表板即时撤销

访问控制

  • 组织和项目级别的基于角色的访问控制(RBAC)
  • 所有敏感操作的审计日志
  • 所有内部访问的最小权限原则

合规性

标准状态
GDPR合规——可提供数据处理协议,支持删除权,可按要求导出数据
SOC 2 Type II进行中——我们正在努力获取认证

透明声明:我们尚未获得 SOC 2 Type II 认证。我们的基础设施提供商(Cloudflare、PlanetScale)持有 SOC 2 Type II 和 ISO 27001 认证。我们保持与这些标准一致的安全实践,并正在寻求自己的认证。详细信息请参阅我们的安全文档


框架支持

框架亮点
Next.js(App Router 和 Pages)@better-i18n/next服务器组件,中间件路由
TanStack Start@better-i18n/use-intlSSR,基于文件的路由与 $locale 参数
Vite + React@better-i18n/use-intlSPA,客户端语言切换
Expo(React Native)@better-i18n/expo离线缓存,动态本地化,OTA 更新

所有框架集成使用相同的翻译键和命名空间,因此你的 Web 和移动应用共享单一事实来源。


多团队翻译管理

命名空间组织

按团队、功能或内容类型组织翻译:

your-org/your-project
├── auth/          → 认证团队
├── dashboard/     → 产品团队
├── marketing/     → 营销团队
├── help/          → 支持团队
└── onboarding/    → 增长团队

每个命名空间可以有独立的翻译进度和审核工作流。

术语表管理

一次性定义品牌术语、产品名称和技术词汇。术语表在所有翻译中确保一致性:

  • 批准的术语 — 为每种语言设置产品术语的正确翻译
  • 禁止翻译规则 — 标记应保留源语言的品牌名称、技术术语和缩写
  • 一致性警告 — 翻译人员使用非批准的替代词时会收到通知

带上下文的 AI 翻译

AI 翻译尊重你的术语表和命名空间上下文。用于:

  • 初稿生成 — AI 生成遵循你术语的翻译,然后人工审核人员优化
  • 批量翻译 — 在几分钟内将整个命名空间翻译成新语言
  • 模型选择 — 根据你的质量偏好选择 GPT-4o、Claude、Gemini 或 DeepL

大型组织的扩展模式

多项目结构

企业组织通常有多个产品。每个产品获得自己的 better-i18n 项目,具有独立的命名空间、术语表和团队访问权限:

your-org/web-app
your-org/mobile-app
your-org/marketing-site
your-org/help-center

Content SDK 和 REST API 使用相同的认证跨所有项目工作。

CI/CD 集成

# .github/workflows/i18n-check.yml
name: Translation Coverage Check
on: [push, pull_request]

jobs:
  i18n:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: "20"
      - run: npx @better-i18n/cli scan --ci
      - run: npx @better-i18n/cli sync --format json

阻止引入未翻译字符串的 PR。在每次推送时审核翻译覆盖率。

大规模内容管理

Content SDK 支持本地化内容的无头 CMS 模式:

// 获取所有已发布的德语帮助文章
const { data: articles, total } = await client
  .from("help-articles")
  .eq("status", "published")
  .language("de")
  .order("updatedAt", { ascending: false })
  .limit(50);

// 获取单篇文章,展开作者关系
const { data: article } = await client
  .from("help-articles")
  .language("de")
  .expand("author", "category")
  .single("getting-started");

查询构建器是不可变的,完全类型化的,返回带有 totalhasMore 元数据的分页结果。


我们尚未提供的(但已在规划中)

我们相信对当前能力保持坦诚:

  • SSO/SAML — 尚不可用。认证目前通过 GitHub OAuth。SSO 在我们的路线图上。
  • 本地部署 — 我们是一个云托管的 SaaS 平台。目前不提供自托管选项。
  • 自定义数据驻留 — 数据通过 Cloudflare 的全球网络处理并存储在 PlanetScale 中。特定区域的托管尚不可用。
  • 专用 SLA — 我们目前不提供带有经济处罚的合同正常运行时间 SLA。

如果这些是你组织的阻碍因素,联系我们讨论你的需求和我们的路线图时间表。


开始使用

  1. 创建你的组织,访问 dash.better-i18n.com
  2. 设置你的第一个项目并配置语言
  3. 安装 CLInpm install -D @better-i18n/cli
  4. 连接 GitHub — 为你的翻译文件启用同步
  5. 添加 MCP 服务器 — 让你的 AI 工具访问你的翻译
  6. 集成 SDK — 在你的应用中使用 @better-i18n/next@better-i18n/use-intl@better-i18n/expo

免费开始——无需信用卡。API、CLI、MCP 服务器和所有框架集成在每个计划中都可用。查看我们的文档获取详细的设置指南。

For Enterprises

为每个团队而生

了解 Better I18N 如何适应不同角色和行业

准备好全球化发布了吗?

加入数百个使用 Better I18N 提供更快、上下文感知翻译的团队。

已在使用 Better I18N