i18n的终极DX

最便宜且最有效的代理式编码 i18n

无钥匙i18n 您的编码代理第一次就能正确处理:只需编辑一个文件,无需加载本地JSON,无合并冲突,从每月4欧元起。

5分钟设置

你的完整i18n实现仅需5分钟。不是在开玩笑。

无钥匙系统

你的大脑不应该参与这样的无意义的任务。

从第一天开始全球化

不需要额外的努力就可以将产品运送到国际市场。

设置i18n,保持代码库整洁并快速发布

当前的i18n解决方案存在多个PITA。痛苦如此之大,以至于你尽可能推迟i18n。

它消耗了你应该在海滩上度过的时间

设置密钥系统:至少1小时高级开发人员时间

每个新密钥往返:每个密钥1分钟,x500密钥,x2语言=17小时

使用 i18n-keyless,您不需要关心 i18n 系统。您可以去海滩并点一杯莫吉托。

今天,大多数系统使用密钥来翻译文本

这很痛苦生成。这很痛苦维护。

当你在应用程序中看到一段文字,并且想要更新它时,你需要找到对应的键。

使用 i18n-keyless,你完全不需要关心 i18n 系统。把你的大脑用在更有趣的事情上。

将翻译留给AI

使用密钥系统,您需要在应用程序中管理翻译。

否则,您的用户将在应用程序中看到 someheader.welcome.title。

使用i18n-keyless,您完全不需要关心i18n系统。只需编写好的标题,专注于营销,获得销售。

代码库很美... 直到i18n键的感染

使用键系统时,读取代码和内容时,必须读取键,而不是自然语言。

有时,你需要做一个修正,因为一个句子在语法上是不正确的。但你不知道这一点,因为你读的是键。

使用i18n-keyless,你完全不需要关心i18n系统。代码库保持美观。

从第一天开始添加i18n,不会影响您的开发速度
为编码代理构建

MCP 服务器,满足您所有的国际化需求

系统如此优化以支持智能编码的另外六个原因。

没有名字可发明

键是一个命名决策,没有正确答案。两个代理分别为同一个按钮写下 login.submit 和 auth.button.send。没有键,就没有决策可做。

编辑一个文件,而不是二十个

一个键控的更改会影响组件以及每个区域设置的JSON文件,代理会遗忘文件。在这里,复制更改是单个文件的编辑。

代理车队中零合并冲突

五个代理在五个分支上都编辑 en.json:冲突在所难免。没有共享文件,因此工作树和后台代理永远不会发生冲突。

代币便宜

要重复使用键,代理必须在每次编辑时将区域设置文件加载到上下文中。无键加载不做任何操作:文本直接存在于组件中。

可读差异

拉取请求显示真实的句子。人类或审查代理可以在不深入了解键代表什么的情况下判断副本。

您的 CLAUDE.md 中的一个规则

你编写的每一条 i18n 规则都是代理可能违反的规则。这一条只需要一行——而回退是真实文本,因此错误不会在屏幕上显示 a.b.c。

您的代理只需要的唯一 i18n 规则

# CLAUDE.md
Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react.
That is the whole i18n setup.

您的代理可以操作它,而不仅仅是编写它

通过MCP服务器,代理会列出缺失的翻译,读取其中一条,覆盖错误的翻译,或导入你已有的副本——使用其自带的OAuth登录,无需粘贴任何密钥。

阅读MCP指南
非常适合MVP

从第一天开始全球发布

停止因复杂性而拖延i18n。在5分钟内实现,而不是几天。保持开发速度,就像i18n没有实现一样。

  • 5分钟实施。不是开玩笑。

    一个简单的配置对象,你就完成了。

  • 保持开发速度

    像i18n根本没有实现一样编码。

  • 发货到全球市场

    在扩展到新语言时,不需要重构。

  • SSR 与 SEO 就绪

    与 Next.js、Remix、TanStack Start 和 Astro 配合使用。为搜索引擎提供服务器端渲染的任何语言 — 相同的 5 分钟设置。

传统的i18n

设置密钥系统(1小时)
创建翻译文件(2小时)
重构组件(4小时)
测试所有语言 (2 小时)
修复布局问题(3小时)
12+ 小时工作

i18n-keyless

添加包 (1 分钟)
使用API密钥配置 (2分钟)
包裹文本组件 (2 分钟)
5分钟的工作
如何工作

设置非常简单

只需要最简单的配置对象,你就可以准备好全球化。
不仅如此,您的代理还会为您设置。

1. 基本设置

import * as I18nKeyless from "i18n-keyless-react";

I18nKeyless.init({
  API_KEY: "YOUR_API_KEY",
  storage: window.localStorage,
  languages: {
    primary: "en",
    supported: ["en", "fr"],
  },
});

2. 组件使用(此处为 React;在 Vue、Angular、Flutter、Swift 和 Kotlin 中相同)

import { I18nKeylessText } from "i18n-keyless-react";
// import { T } from "i18n-keyless-react"; // also works

// Just write in your primary language
<I18nKeylessText>
  Welcome to our website
</I18nKeylessText>

3. 服务器端使用(此处为 Node.js;在 Laravel、Rails、Python 和 Go 中的相同调用)

import { awaitForTranslationOrFallbackToOriginal, type Lang } from 'i18n-keyless-node';

const title = await awaitForTranslationOrFallbackToOriginal('Come see my app!', user.lang as Lang);
const body = await awaitForTranslationOrFallbackToOriginal('So many new stuff!', user.lang as Lang);

await sendExpoPushNotification({ user, title, body });

4. 组件外的文本

import { getTranslation } from "i18n-keyless-react";

export default function Navigation() {
  return (
    <HomeTabs.Navigator>
      <HomeTabs.Screen
        options={{ tabBarLabel: getTranslation("Welcome") }}
        name="WELCOME"
      />
    </HomeTabs.Navigator>
  );
}

5. 选择您的 SDK:一行安装,无处不在的相同 API

  • React, React Native, Expo, Next.js, Remix, TanStack Start, Astronpm install i18n-keyless-react
  • Vue, Nuxtnpm install i18n-keyless-vue
  • Angularnpm install i18n-keyless-angular
  • Plain HTML, Svelte, Alpine, htmx, one script tagnpm install i18n-keyless-browser
  • Node.jsnpm install i18n-keyless-node
  • Laravel, PHPcomposer require i18n-keyless/laravel
  • Rails, Rubybundle add i18n-keyless-rails
  • Flutter, Dartflutter pub add i18n_keyless
  • Swift, iOS, macOS, VaporSwiftPM: arnaudambro/i18n-keyless-swift
  • Kotlin, Android, Ktorio.github.arnaudambro:i18n-keyless-kotlin
  • Python, Django, Flask, FastAPIpip install i18n-keyless
  • Gogo get github.com/arnaudambro/i18n-keyless/ports/go/v3

为每个十二个 SDK 快速设置

翻译如何工作

i18n-keyless 是一个结合了 API 服务的库,它可以让你在不需要使用键的情况下翻译你的文本。

如果找不到翻译,将异步获取I18nKeyless的API,通过AI API调用获取翻译。

此操作通常在开发模式下进行,当您在编码时。如果你漏掉了一个,在生产环境中只有缺少翻译的第一个用户会看到一个闪烁,然后它将立即对全球用户可用。

App Store 与 Google Play

您的商店列表在每种语言、每次发布时

每次更新都意味着新的发行说明、描述和关键词 — 每种语言在两个商店中都有。这就是阻止你添加语言的原因。不是应用本身。

  • 为每种语言发布说明,通过一次调用

    写一次更新。awaitForTranslation 会将其返回为您销售的每种语言,您的商店配置会将其传递给 EAS 或 fastlane。

  • 48种语言,已映射到App Store的插槽

    pt-BR 和 pt-PT 是两个列表;en-GB、en-AU 和 en-CA 是三个。toAppStoreLocale 将每个翻译放在正确的位置。

  • 修复一个未发布的糟糕翻译

    在应用中,仪表板中的一个覆盖一次只能激活一个——没有热修复构建,没有商店审核。在列表中,重新推送。

  • 非按字计价

    翻译大约每字收费0.10欧元。2000个字符串乘以10种语言,这是一个独立开发者无法承担的预算。在这里,字数不计算。

一个 Expo 应用的完整配方

// store.config.js — EAS Metadata awaits an async config
const { init, awaitForTranslation, toAppStoreLocale } = require("i18n-keyless-node");

const LANGS = ["en", "fr", "de", "ja", "pt-BR"];
const DESCRIPTION = "Bibi translates your app while you sleep…";

module.exports = async () => {
  init({ API_KEY: process.env.I18N_KEYLESS_KEY, languages: { primary: "en", supported: LANGS } });
  const info = {};
  for (const lang of LANGS) {
    info[toAppStoreLocale(lang)] = {
      title: await awaitForTranslation("Bibi", lang, { context: "App Store app name, 30 characters max" }),
      subtitle: await awaitForTranslation("Keyless i18n", lang, { context: "App Store subtitle, 30 characters max" }),
      description: await awaitForTranslation(DESCRIPTION, lang, { context: "App Store description" }),
    };
  }
  return { configVersion: 0, apple: { info } };
};

相同的调用为 Google Play 写入 fastlane 元数据文件。大写字母仅供参考:在上下文中设置限制并在推送前检查长度。

亲自试试

互动沙盒

查看i18n-keyless如何实时工作

打开一个实时可编辑的 StackBlitz 项目,边输入边查看翻译的解析。

我为什么要建造这个

我总是推迟国际化,直到我的客户如此渴望,以至于我别无选择。我讨厌阅读代码中带有国际化键的内容,也讨厌维护JSON文件,就像讨厌看到国际化翻译服务提供商的高昂费用一样。所以我只能自己动手,而且我超爱这样。现在我的所有应用默认都支持国际化。

AA

Arnaud Ambroselli

i18n-keyless 的创始人

想要添加你的吗?

对免费订阅的控诉。请索取您的!

发送我的证词
定价

简单、可预测的定价

一个固定价格,适合您的规模。
每个计划中的每个功能。
无按词收费,无代币计算。

开胃菜
4/ 月

每月最多1,000名活跃用户

适用于独立应用和新产品

独立音乐
9/ 月

每月最多5,000名活跃用户

为了找到受众的应用

增长
29/ 月

每月最多50,000名活跃用户

适用于真正有吸引力的应用

比例
99/ 月

最多50万月活跃用户

用于大规模生产的产品

自托管

或拥有它:免费安装,每次30欧元,无限制项目。

相同的API、仪表板和MCP服务器,在一个带有SQLite的Docker容器中,在您的服务器上,使用您自己的Mistral密钥。一个项目永久免费;€30的终身许可解锁无限项目。无订阅,无使用限制,终身更新。

购买终身许可证

每个计划都包括:

所有48种语言。整个世界,从第一天开始

无限制翻译,包括人工智能。新字符串在生产中自动翻译

用户生成内容(UGC)的实时翻译

随时升级、降级或取消

超过50万月活跃用户? 联系我们

同一款应用在其他地方的价格是多少

移动两个滑块。账单涵盖您的应用程序的所有48种语言版本。

1,000
2,500
解决方案您的月度账单您按每次支付翻译语言
i18n-keyless我们€4/ 月月活跃用户
双赢。
人工智能,无限,包含全部48个,从第一天开始
Crowdin€88/ 月1托管词汇:您的词 × 48
Crowdin AI,配额内你逐一添加
Intlayer€27/ 月2座位和项目
AI 生成,在配额内你逐一添加
Lingo.dev€91/ 月3基础费用,然后是AI代币
AI账单直接发送给您你逐一添加
Locize€77/ 月4单词 × 48,以及 CDN 下载
你自带自己的AI密钥最大已发布计划中的10
Lokalise€132/ 月5座位,然后钥匙
翻译费用单独计费你逐一添加
Phrase€483/ 月6座位,然后是受管理的词
每字起价 $0.06,分开计费你逐一添加
Smartling€552/ 月7每一个词,每一种语言
AI翻译,每词起价0.06美元你逐一添加
Tolgee€49/ 月8钥匙和座位
机器翻译署名你填满每一个
Weglot€1,678/ 月9单词 × 语言,在网页上
机器,在配额内最大发布计划中的20

公开列表价格,于2026年8月阅读。供应商会更改这些价格,因此请检查。每张账单是我们对已发布阶梯的读取,我们总是选择能保留您的应用的最便宜付费计划。当供应商首次开具一次翻译费用时,我们会将其分摊十二个月。

1 Crowdin 每月发布 44 欧元,用于专业计划中的 60,000 个托管词,按年计费。一个托管词是目标语言中的一个词。超过 60,000 个词时,我们会重复该区块价格。

2 Intlayer 是开源的。每月 29 美元购买 CMS 和 AI 生成配额。超过配额后,您可以使用自己的 AI 密钥,因此我们会在每百万个 token 上额外收取 10 美元的模型费用,分 12 个月支付。

3 Lingo.dev 每月发布 99 美元,加上每百万基础设施代币额外 2 美元,并将模型账单转嫁给您。我们按每个单词 1.4 个代币和每百万模型代币 10 美元计算。基本费用是这个数字的大部分。

4 Locize 每月发布 7 欧元、19 欧元和 49 欧元,分别对应 15,000、30,000 和 60,000 字,以及 100 万、300 万和 500 万次 CDN 下载。超过后,每额外 1,000 字收费 0.50 欧元,每额外 100 万次下载收费 5 欧元。我们每月为每个用户计算 30 次下载。已发布的计划不包含 48 种语言。

5 Lokalise 每月发布 $144、$375 和 $999 版本,且无密钥限制。我们假设这三个计划分别包含 5,000、20,000 和 100,000 个密钥,以及每个密钥十二个单词。人工翻译另行计费。

6 该短语在软件计划中每月发布525美元用于管理100万字,以及300万字的1,245美元。我们为每种语言中的每个单词计算一个管理字,并将上述1,245美元区块重复用于300万字。

7 Smartling 不发布平台价格。我们仅计算AI翻译,按发布的每字0.06美元计算,分摊十二个月。您的实际账单更高。

8 Tolgee 按键计费,而不是按字数,因此我们将每个键视为十二个字。它每年计费,2,000 个键 €49,5,000 个键 €179,20,000 个键 €499。超过后,我们重复 €499 的区块。机器翻译积分单独计算。

9 Weglot 翻译的是网页,而不是应用程序。其最大的已发布计划是每月 699 欧元支持 20 种语言,因此我们将该价格扩展到 48 种语言。您的文字适用于这些计划中的每一个。

每隔一行都随着您的产品增长。我们的价格是固定的。

在你问之前

常见问题

我需要管理翻译文件吗?

不。没有 JSON 文件,没有键提取步骤,也没有构建时插件。您用源语言编写句子,SDK 在首次请求时将它们发送到 API,API 使用 AI 进行翻译,之后的每次请求都从缓存中提供。您的代码是唯一的真理来源。

当我更改源文本时会发生什么?

源文本是键。修改它,你会得到一个新的键,并获得全新的AI翻译。旧键将不再被请求,仪表板会在30天未使用后自动清理。修正拼写错误也是一样:在代码中修正它,部署,新文本将在首次请求时被翻译。

多少钱?

托管版:每月固定价格,按月活跃用户数收费 — 1,000用户以内4欧元,5,000用户以内9欧元,50,000用户以内29欧元,500,000用户以内99欧元 — 月结,随时取消。自托管版:免费安装,一个项目永久免费,30欧元一次性解锁无限项目,无订阅且无使用限制。两种版本均无按席位、按字数或按字符串的定价。

我可以导出我的翻译吗?

是的。仪表板有一个“导出 JSON”按钮,可将项目中的所有翻译下载为单个 JSON 文件。导出包括所有行,而不仅仅是最近 30 天使用的行,因此这是一个完整的备份。没有锁定:您的数据随时可通过一键访问。

亲自试试

观看演示

观看这段短视频,看看i18n-keyless的运作

获取一个应用的API密钥

5分钟完成的i18n实现。iykyk。

您在付款后通过我们发送给您的链接设置密码。