Ir al contenido

Traducción con reconocimiento de formato

yaku detecta el formato de entrada y ajusta su estrategia de traducción para preservar la estructura. Las claves, bloques de código, URLs y otros elementos no traducibles permanecen intactos.

yaku determina el formato en este orden:

  1. Opción --format — sobrescritura explícita: --format json
  2. Extensión de archivo de -f.md, .json, .yaml, .yml
  3. Predeterminado — texto plano
ExtensiónFormato detectado
.md, .markdown, .mdxMarkdown
.jsonJSON
.yaml, .ymlYAML
Todo lo demásTexto

yaku envía el documento Markdown completo al LLM con reglas adicionales para preservar la estructura:

Ventana de terminal
yaku --to es -f README.en.md -o README.md

Lo que se traduce:

  • Texto de párrafos
  • Texto de encabezados
  • Texto de elementos de lista
  • Texto visible de enlaces (ej., [esta parte](url))
  • Texto de citas

Lo que permanece intacto:

  • Marcadores de encabezado (#, ##, ###)
  • Bloques de código (delimitados e indentados)
  • Código en línea (comillas invertidas)
  • URLs de enlaces y rutas de imágenes
  • Front matter (--- ... ---)
  • Etiquetas HTML
  • Marcadores de lista y cita
  • Rutas de archivos, URLs y direcciones de correo

Entrada (README.fr.md):

# Démarrage rapide
Installez le paquet :
```bash
npm install my-package
```
Consultez la [documentation](https://example.com) pour plus de détails.
Ventana de terminal
yaku --to es -f README.fr.md

Salida:

# Inicio rápido
Instale el paquete:
```bash
npm install my-package
```
Consulte la [documentación](https://example.com) para más detalles.

Note: los marcadores de encabezado, el bloque de código y la URL se preservan. Solo la prosa se traduce.

yaku extrae todos los valores de cadena, los traduce en lote y reensambla el JSON con la estructura original:

Ventana de terminal
yaku --to es -f en.json -o es.json

Lo que se traduce:

  • Valores de cadena

Lo que permanece intacto:

  • Todas las claves
  • Números, booleanos, nulos
  • Estructura de anidamiento
  • Orden de arreglos

Entrada (en.json):

{
"nav": {
"home": "Home",
"about": "About Us",
"contact": "Contact"
},
"hero": {
"title": "Build something great",
"subtitle": "The fastest way to ship your product",
"cta": "Get Started"
},
"footer": {
"copyright": "All rights reserved",
"version": 2
}
}
Ventana de terminal
yaku --to es -f en.json -o es.json

Salida (es.json):

{
"nav": {
"home": "Inicio",
"about": "Sobre nosotros",
"contact": "Contacto"
},
"hero": {
"title": "Construya algo grandioso",
"subtitle": "La forma más rápida de lanzar su producto",
"cta": "Comenzar"
},
"footer": {
"copyright": "Todos los derechos reservados",
"version": 2
}
}

Las claves, la estructura y el campo numérico version se preservan exactamente.

Funciona igual que JSON — los valores de cadena se extraen, traducen y reensamblan:

Ventana de terminal
yaku --to es -f en.yaml -o es.yaml

Entrada (en.yaml):

app:
name: My Application
description: A task management tool
messages:
welcome: Welcome back!
error: Something went wrong
confirm: Are you sure?
settings:
max_retries: 3
debug: false
Ventana de terminal
yaku --to es -f en.yaml -o es.yaml

Salida (es.yaml):

app:
name: Mi Aplicación
description: Una herramienta de gestión de tareas
messages:
welcome: "¡Bienvenido de nuevo!"
error: Algo salió mal
confirm: "¿Está seguro?"
settings:
max_retries: 3
debug: false

Las claves, enteros y booleanos se preservan. Solo los valores de cadena se traducen — incluyendo valores cortos de una sola palabra como "dark" o "urgent". Los identificadores de código (camelCase, snake_case, ALL_CAPS) y códigos de idioma (ej., "en", "zh-TW") se mantienen tal cual.

El formato predeterminado. La entrada completa se envía al LLM tal cual:

Ventana de terminal
echo "Hello, world" | yaku --to es
yaku --to es "Good morning"

No se realiza análisis estructural. Úselo para texto corto, párrafos o cualquier contenido sin estructura.

Sobrescriba la detección automática con --format:

Ventana de terminal
# Tratar stdin como Markdown aunque no haya extensión de archivo
cat doc.txt | yaku --to es --format md
# Tratar un archivo .txt como YAML
yaku --to es -f data.txt --format yaml