Traduce archivos de localización YAML al estilo Rails
Un archivo YAML estilo Rails comienza con el código de idioma y anida todo bajo él, y sus cadenas contienen variables %{name}. KAERIS traduce los valores, reescribe la clave raíz para el idioma destino y verifica que todas las variables estén presentes.
KAERIS ha traducido esta página y revisado cada línea traduciéndola de vuelta. Un hablante nativo aún no la ha revisado. Original en inglés
Cómo se construye un archivo de localización YAML
La primera línea es la configuración regional (en:); cada clave está bajo ella. Las formas plurales son claves simples como one y other. Se soportan listas. También se lee un archivo que sea un mapeo plano sin configuración regional raíz, y sus claves con puntos se mantienen tal cual.
en: greeting: "Welcome back, %{name}!" inbox: one: "%{count} new message" other: "%{count} new messages" errors: blank: "can't be blank" too_short: "is too short (minimum is %{count} characters)" checkout: total: "Total: <strong>%{amount}</strong>"
Qué tener en cuenta en las traducciones YAML
La clave raíz sigue al archivo
en:debe convertirse ende:en el archivo alemán o Rails no lo encontrará. KAERIS escribe el idioma destino como raíz.%{variables} y HTML
La interpolación de Rails es
%{name}; algunos proyectos usan{{name}}. Ambos se comparan con la fuente. Las etiquetas en línea como<strong>se verifican de la misma forma.Comillas
Un valor traducido que comienza con
[,*o&, o que contiene:, no es YAML válido a menos que esté entre comillas. El escritor decide sobre las comillas: en el ejemplo, un valor que comienza con%{count}regresa entrecomillado.Los comentarios no se trasladan
Los comentarios YAML en la fuente no se incluyen en el archivo traducido. Mantén notas para traductores en claves de servicio (una clave que comienza con
_no se traduce) o en tu repositorio.
Una ejecución real: traducido al alemán y verificado
Una ejecución real, 27 de octubre de 2026, sin ediciones manuales: kaeris translate en.yml --langs de con kaeris 0.2.35, 3 segundos, modelo google/gemini-2.5-flash-lite, el predeterminado gratuito. Abajo, el archivo alemán que escribió y lo que kaeris check dice sobre él.
de: greeting: Willkommen zurück, %{name}! inbox: one: '%{count} neue Nachricht' other: '%{count} neue Nachrichten' errors: blank: darf nicht leer sein too_short: ist zu kurz (mindestens %{count} Zeichen) checkout: total: 'Gesamt: <strong>%{amount}</strong>'
$ kaeris check --source en.yml --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Lo que KAERIS hace con él
Estructura mantenida
La anidación, el orden de claves y las listas regresan igual; la clave raíz de localización se reescribe para cada idioma.
Variables y etiquetas verificadas
Una
%{name}o<strong>perdida se detecta contando, sin intervención del modelo.Chequeo gratuito para este formato
El chequeo gratuito en /check lee este formato y funciona sin clave ni cuenta. El comando de terminal
kaeris checktambién lo lee: soporta los 13 formatos desde kaeris 0.2.35, con las mismas reglas y sin enviar nada a ningún lado.
Ejecuta en tres pasos
Instala el CLI
Ejecuta
pip install kaeris.Traduce el archivo
Ejecuta
kaeris translate config/locales/en.yml --langs de,ja. Los archivos de salida se nombran por idioma.Verifica el resultado
Sube el archivo fuente y el traducido en la página de comprobación gratuita; lista variables, etiquetas y claves faltantes.
pip install kaeris kaeris translate config/locales/en.yml --langs de,ja --verify
Preguntas
¿Funciona para Rails en.yml?
Sí. La clave raíz en:, las claves anidadas y las variables %{name} se manejan. Véase también la página de Rails.
¿Qué pasa con los comentarios en mi YAML?
Permanecen en tu archivo fuente. El archivo traducido se escribe sin ellos.
¿Es gratis?
Sí, sin cuenta: 10.000 caracteres por archivo y hasta 8 idiomas por ejecución. Una clave API gratuita eleva el límite de archivos a 50.000 caracteres. La licencia vitalicia cuesta $79 una vez, con tu propia clave OpenRouter; los planes mensuales empiezan en $19. Precios
¿Puedo ejecutarlo desde la terminal o en CI?
Sí. pip install kaeris, luego kaeris translate config/locales/en.yml --langs de,ja. El GitHub Action ejecuta la misma traducción en un pull request. Documentación CLI · GitHub Action
Seguir adelante
Referencia CLI · Referencia de verificación · Traducir en el navegador · Verificación gratuita · Convertir formatos · Pseudo-localización
Otros formatos: JSON · .po · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML