Ir al contenido

Configuración

Crea tyndale.config.json en la raíz de tu proyecto, o ejecuta npx tyndale init para generar uno.

{
"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"
}
}
CampoTipoPredeterminadoDescripción
defaultLocalestring"en"Código de idioma de origen
localesstring[][]Códigos de locale de destino
sourcestring[]["src"]Directorios que se escanean en busca de contenido traducible
extensionsstring[][".ts", ".tsx", ".js", ".jsx"]Extensiones de archivo que se incluirán
outputstring"public/_tyndale"Directorio de salida para los archivos de locale generados
translate.tokenBudgetnumber50000Presupuesto de tokens por lote de traducción de IA
translate.concurrencynumberautoMáximo de sesiones de traducción paralelas
localeAliasesobject{}Mapea códigos de locale variantes a códigos canónicos
dictionaries.includestring[][]Patrones glob para archivos de diccionario
dictionaries.formatstring"key-value"Formato de archivo de diccionario
pi.modelstring"claude-sonnet-4-20250514"Modelo de IA que se utilizará
pi.thinkingLevelstring"low"Nivel de razonamiento de IA
docs.frameworkstringFramework de documentación: starlight, docusaurus, vitepress, mkdocs, o nextra
docs.contentDirstringautoDirectorio de contenido (relativo a la raíz del proyecto)
docs.extensionsstring[]autoSobrescribe las extensiones de archivo para la traducción de documentación