跳转到主要内容

快速开始

在 60 秒内翻译你的第一个本地化文件。

1. 设置你的本地化文件

创建一个源本地化文件。Rosetta 支持 JSON、TOML 和 YAML:

locales/en.json
{
"hero": {
"title": "Welcome to our platform",
"subtitle": "Build something amazing"
},
"nav": {
"home": "Home",
"about": "About",
"contact": "Contact"
}
}

2. 设置你的 API 密钥

选择一个提供商并设置密钥:

# Option A: OpenRouter (200+ models, recommended)
export OPENROUTER_API_KEY=sk-or-v1-...

# Option B: Gemini (free tier — zero cost to start)
export GEMINI_API_KEY=AI...

aistudio.google.com/apikey 获取免费的 Gemini 密钥。在 openrouter.ai 获取 OpenRouter 密钥。

3. 运行同步

npx i18n-rosetta sync

:::tip 使用 Gemini? 如果你选择了选项 B (Gemini),请添加 --method gemini

npx i18n-rosetta sync --method gemini

:::

Rosetta 将会:

  1. 自动检测 locales/en.json 作为源文件
  2. 查找(或提示输入)目标语言
  3. 翻译所有键值
  4. 写入 locales/fr.jsonlocales/ja.json 等文件
  5. 创建 .i18n-rosetta.lock 以跟踪已翻译的内容

4. 检查结果

cat locales/fr.json
{
"hero": {
"title": "Bienvenue sur notre plateforme",
"subtitle": "Construisez quelque chose d'incroyable"
},
"nav": {
"home": "Accueil",
"about": "À propos",
"contact": "Contact"
}
}

接下来会发生什么?

当你更改源字符串时,rosetta 会通过 SHA-256 哈希跟踪检测到更改,并在下次同步时仅重新翻译该键值:

locales/en.json (updated)
{
"hero": {
"title": "Welcome to Acme Platform", // ← changed
"subtitle": "Build something amazing" // ← unchanged, skipped
}
}
npx i18n-rosetta sync
# Only "hero.title" is re-translated across all locales

未更改的键值 (hero.subtitle) 将由 rosetta 的 Translation Memory(翻译记忆库)缓存提供——无需 API 调用,没有成本。该缓存会在每次同步期间自动构建,并存储在 .rosetta/tm.json 中。

可选:创建配置文件

为了获得更多控制权,请生成一个配置文件:

npx i18n-rosetta init # guided wizard
npx i18n-rosetta init --yes --langs fr,de,ja # quick setup with specific targets

引导向导将带你了解每种语言的 register presets(语域预设)——这是针对其语言系统调整的预置语气/正式程度说明。法语有 T-V 预设(vouvoiement 与 tutoiement),韩语有敬语级别(해요체 与 합쇼체 与 해체),日语有敬语选项(です/ます 与 丁寧語)。

或者使用预设键值手动创建配置:

i18n-rosetta.config.json
{
"version": 3,
"inputLocale": "en",
"localesDir": "./locales",
"languages": {
"fr": "casual-tu",
"ko": "polite-haeyo",
"ja": "polite"
},
"model": "google/gemini-2.5-flash"
}

运行 npx i18n-rosetta init 以浏览每种语言的可用预设。

可选:监听模式

当源文件发生更改时自动翻译:

npx i18n-rosetta watch

下一步