跳转到主要内容

支持的语言

rosetta 内置了 Language Cards — 针对 50 种语言的结构化配置文件。每张卡片包含语域预设 (register presets)、正式程度系统元数据、方法支持标志、排版规则和书写系统信息。只需一行配置即可添加你的 LLM 掌握的任何语言 — 以下这些是经过精心整理、可用于生产环境的语域。


翻译方法

每种语言可以使用以下一种或多种翻译方法:

图标方法工作原理成本
🟢Google Translate神经机器翻译基准。支持 130+ 种语言。仅支持键值对字符串 — 无法安全地翻译 Markdown 内容。~$20/100万字符
🔵LLM (OpenRouter)模型掌握的任何语言。由语域引导的提示词。支持键值对 + Markdown 内容。因模型而异
🟣LLM-CoachedLLM + 语法词典 + 注入提示词的辅导数据。最适合形态复杂的语言。因模型而异
🟠API (Plugin)通过 HTTP 提供的社区托管翻译流水线。兼容 OCAP因提供商而异

GOOGLE_TRANSLATE_API_KEY 设置为 Google Translate,或将 OPENROUTER_API_KEY 设置为 LLM 方法。详情请参阅 翻译方法


优先语言

这些是 Web 和移动应用中最常用的语言区域,按 rosetta 推荐的无障碍优先顺序排列。

国旗语言代码GoogleLLMCoached书写系统备注
🇸🇦阿拉伯语arRTL。现代标准阿拉伯语 (فصحى)。
🇵🇭菲律宾语 (Taglish)tl / fil在 Docusaurus 配置中使用 fil。rosetta 可解析两者。
🇫🇷法语frVous 形式。性别包容 (Connecté·e)。
🇪🇸西班牙语es中性拉丁美洲西班牙语。
🇩🇪德语deSie 形式。性别包容 (Benutzer:innen)。
🇯🇵日语ja正文使用 です/ます,UI 标签使用 する。
🇨🇳简体中文zh简体中文。
🇮🇹意大利语itLei 形式。
🇧🇷葡萄牙语 (巴西)pt巴西葡萄牙语。
🇰🇷韩语ko해요체 敬语语域。

主要世界语言

国旗语言代码GoogleLLMCoached书写系统备注
🇧🇩孟加拉语bn偏好 শুদ্ধ ভাষা。
🇧🇬保加利亚语bg
🇨🇿捷克语csVykání (vy 形式)。
🇩🇰丹麦语da
🇬🇷希腊语el现代 Δημοτική。
🇮🇷波斯语faRTL。
🇫🇮芬兰语fi无语法性别。
🇮🇱希伯来语heRTL。
🇮🇳印地语hiशुद्ध हिन्दी。极少英语借词。
🇭🇺匈牙利语huÖn 形式。
🇮🇩印尼语id
🇲🇾马来语ms
🇳🇱荷兰语nlU 形式。
🇳🇴挪威语nb书面挪威语 (Bokmål)。
🇵🇱波兰语plPan/Pani 形式。
🇵🇹葡萄牙语 (欧洲)pt-PT欧洲葡萄牙语。
🇷🇴罗马尼亚语ro
🇷🇺俄语ruВы 形式。
🇸🇰斯洛伐克语skVykanie (vy 形式)。
🇷🇸塞尔维亚语sr🔤 Latin→Cyrillic确定性书写系统转换器。
🇸🇪瑞典语sv
🇰🇪斯瓦希里语sw
🇹🇭泰语thครับ/ค่ะ 敬语助词。
🇹🇷土耳其语trSiz 形式。
🇺🇦乌克兰语ukВи 形式。
🇵🇰乌尔都语urRTL。آپ 形式。
🇻🇳越南语vi
🇹🇼繁体中文zh-TW繁體中文。
🇬🇪格鲁吉亚语kaქართული。南高加索语系。
🇳🇬约鲁巴语yoÈdè Yorùbá。声调语言 (3 个声调)。

地区变体

国旗语言代码GoogleLLMCoached书写系统备注
🇲🇽墨西哥西班牙语es-MXTú 形式。温暖语域。
🇨🇦加拿大法语fr-CA魁北克习惯用语。

原住民与低资源语言

商业机器翻译 (MT) 服务不支持这些语言。rosetta 为语言社区提供了在 OCAP 原则 下构建自有方法的工具。

语言代码GoogleLLMCoached书写系统状态
🪶平原克里语crk🔤 SRO→Syllabics🚧 开发中
🌄克丘亚语quRunasimi。传信后缀。

:::info 平原克里语正在积极开发中 平原克里语的语域、辅导基础设施、书写系统转换器和评估测试工具均已可用,但翻译流水线尚未发布。我们正根据 OCAP 原则 与语言社区合作,以确保发布前的质量。请参阅 支持低资源语言 了解完整背景 — 以及你如何参与贡献。 :::

:::tip 添加更多低资源语言 rosetta 的方法插件系统正是为此设计的。语言社区可以构建自定义翻译方法,在自己的控制下进行托管,并通过 API 方法 提供服务。方法排行榜 跟踪任何语言对的得分 — 构建一个方法,运行测试工具,并争取最高分。 :::


人造语言

通过 LLM 语域和可选的书写系统转换器支持人造语言 (Conlangs)。它们使用与真实语言相同的基础设施 — 质量关卡、辅导系统和书写系统转换流水线的工作方式完全相同。

语言代码GoogleLLM书写系统备注
🖖克林贡语tlh🔤 Romanization→pIqaD需要 PUA 字体。Marc Okrand 词汇。
🧝辛达林语 (托尔金精灵语)x-elvish-s🔤 Latin→Tengwar需要 CSUR PUA 字体。
🏴‍☠️海盗英语x-pirate仅限语域。航海隐喻。
🦸氪星语x-kryptonian🔤 Latin→Kryptonian需要 PUA 字体。
🎭莎士比亚英语x-shakespeare仅限语域。Thee/thou,-eth/-est 形式。
🐸尤达语x-yoda仅限语域。OSV 语序。

有关 PUA 字体要求、Unicode 限制以及如何添加自定义语言,请参阅 人造语言、书写系统与正字法


语言预设

init 向导支持使用预设名称进行快速设置。你可以将预设与单独的代码混合使用。

预设扩展为
europeanfr, de, es, it, pt, nl
asianja, zh, ko
globalfr, es, de, ja, zh, ko, pt, ar
nordicda, fi, nb, sv
# Mix presets with individual codes
i18n-rosetta init
# → Target languages: european, ja
# → Resolves to: fr, de, es, it, pt, nl, ja

添加任何语言

rosetta 可以翻译成 你的 LLM 掌握的任何语言 — 上表仅列出了带有内置语域预设的语言。要添加未列出的语言,请在配置中包含其 BCP-47 代码:

{
"languages": {
"sw": {},
"am": {
"register": "Formal Amharic. Professional register with Geʽez script."
}
}
}

LLM 将利用其对该语言的训练知识进行翻译。设置 register 可以让你控制语气、正式程度和正字法约定。详情请参阅 配置


Language Cards

每种内置语言都有一个 Language Card — 为了性能,结构化的 JSON 配置被分为两层:

双层架构

层级目录加载方式用途
Runtime (运行时)lib/data/language-cards/import 预先加载翻译引擎:语域、正式程度、规则、方法支持
Reference (参考)lib/data/language-reference/按需延迟加载开发者文档:语言学挑战、百科数据、NLP 资源

运行时层保持较小体积 (每张卡片约 2 KB),因此导入 rosetta 不会加载数兆字节的文档数据。参考层可通过 getLanguageReference(code) 提供给工具、网站和评估测试工具使用。

运行时卡片字段

字段包含内容
nativeName内名 — 该语言在自身书写系统中的自称 (例如:ქართული、Runasimi)
Formality system (正式程度系统)T-V 区分、敬语级别、keigo (日语敬语)、助词等
Register presets (语域预设)针对该语言特性的命名 LLM 提示词预设
Method support (方法支持)哪些翻译 API 支持该语言
Gender guidance (性别指南)语法性别规则和包容性写作提示
Script/direction (书写系统/方向)ISO 15924 书写系统代码和 RTL/LTR
Rules (规则)排版 (引号、间距)、大写、复数类别
Eval datasets (评估数据集)哪些基准测试涵盖该语言
glottocode用于交叉引用的规范 Glottolog 标识符
humanReviewed该卡片是否经过母语者审核

参考卡片字段

字段包含内容
Linguistic challenges (语言学挑战)机器翻译特定的陷阱 (例如:传信性、声调变音符号、黏着语特性)
Encyclopedic (百科信息)语系、分类、使用者数量、地区
Resources (资源)NLP 工具、平行语料库、预训练模型

搭建新的 Language Card

使用生成器从权威数据源 (IANA、CLDR、Glottolog) 搭建这两个层级:

# Preview what would be generated
node scripts/generate-language-card.mjs sw --dry-run

# Generate both runtime + reference cards
node scripts/generate-language-card.mjs sw

生成器会自动填充元数据 (代码、书写系统、方向、复数、引号、方法支持、语系),并将语言学判断字段标记为 TODO 以供人工整理。

使用预设键

你可以使用预设键名,而无需编写完整的语域文本:

{
"languages": {
"fr": "casual-tu",
"ko": "formal-hapsyo",
"ja": "polite"
}
}

Rosetta 会将该键解析为完整的语域提示词。运行 npx i18n-rosetta init 查看每种语言可用的预设。

预设示例

语言预设默认
法语formal-vous, casual-tuformal-vous
韩语polite-haeyo, formal-hapsyo, casual-haepolite-haeyo
日语polite, formal-keigo, casualpolite
德语formal-Sie, casual-duformal-Sie
泰语neutral-professional, polite-male, polite-femaleneutral-professional
西班牙语neutral-professional, formal-usted, casual-tuteoneutral-professional

有关完整规范 (包括字段验证和 PR 检查清单),请参阅 贡献 Language Card


另请参阅