跳转到内容

配置

在项目根目录创建 tyndale.config.json,或运行 npx tyndale init 来生成一个。

{
"defaultLocale": "en",
"locales": ["es", "fr", "ja"],
"source": ["src", "app"],
"extensions": [".ts", ".tsx", ".js", ".jsx"],
"output": "public/_tyndale",
"translate": {
"tokenBudget": 50000,
"concurrency": 8
},
"localeAliases": { "pt-BR": "pt" },
"dictionaries": {
"include": ["src/dictionaries/*.json"],
"format": "key-value"
},
"pi": {
"model": "claude-sonnet-4-20250514",
"thinkingLevel": "low"
},
"docs": {
"framework": "starlight",
"contentDir": "src/content/docs"
}
}
字段类型默认值说明
defaultLocalestring"en"源语言代码
localesstring[][]目标 locale 代码
sourcestring[]["src"]用于扫描可翻译内容的目录
extensionsstring[][".ts", ".tsx", ".js", ".jsx"]要包含的文件扩展名
outputstring"public/_tyndale"生成的 locale 文件输出目录
translate.tokenBudgetnumber50000每个 AI 翻译批次的 token 预算
translate.concurrencynumberauto最大并行翻译会话数
localeAliasesobject{}将变体 locale 代码映射到规范代码
dictionaries.includestring[][]字典文件的 Glob 匹配模式
dictionaries.formatstring"key-value"字典文件格式
pi.modelstring"claude-sonnet-4-20250514"要使用的 AI 模型
pi.thinkingLevelstring"low"AI 思考级别
docs.frameworkstring文档框架:starlightdocusaurusvitepressmkdocsnextra
docs.contentDirstringauto内容目录(相对于项目根目录)
docs.extensionsstring[]auto覆盖文档翻译使用的文件扩展名