Skip to main content

Skills de i18n

Comandos de IA para auditar y envolver cadenas de i18n

El problema

Su código contiene 500 cadenas codificadas directamente y dispersas entre componentes, plantillas y vistas. Envolverlas a mano lleva días de tediosas búsquedas y sustituciones. Incluso después, se le escapan frases divididas que se rompen en alemán, lógica de plurales que falla en árabe y claves huérfanas que inflan los archivos regionales.

Envolver i18n manualmente es propenso a errores: los desarrolladores pasan por alto frases divididas, rompen plurales con operadores ternarios y dejan cadenas codificadas directamente en casos límite. Estos errores solo aparecen después de traducir, cuando corregirlos cuesta 10 veces más.

La solución

Dos comandos con barra basados en IA se encargan de todo el flujo de i18n. Ejecute /i18n-review para auditar el código en modo de solo lectura y después /i18n-wrap para corregirlo automáticamente. Ambos detectan su framework, comprenden el formato de su archivo de configuración regional y validan los cambios antes de confirmarlos.

/i18n-review

Auditoría de solo lectura que encuentra frases divididas, plurales rotos, cadenas sin envolver y claves sin utilizar. Nunca modifica su código.

/i18n-wrap

Envuelve automáticamente las cadenas codificadas directamente con la función de traducción correcta, genera claves semánticas, actualiza los archivos regionales y valida la compilación.

Comando /i18n-review

El comando de revisión realiza una auditoría de solo lectura del código fuente. Analiza cada archivo para detectar problemas de i18n y genera un informe priorizado con ubicaciones exactas y sugerencias. Nunca modifica su código.

Terminal
/i18n-review src/
/i18n-review src/ --framework=next-intl

Qué comprueba

  • Frases divididas: llamadas t() concatenadas que rompen el orden de palabras en otros idiomas
  • Envoltura excesiva: cadenas técnicas, clases CSS, URL y valores de enumeración envueltos erróneamente con t()
  • Envoltura insuficiente: cadenas visibles de la interfaz, como etiquetas de botones, encabezados y mensajes de error, que siguen codificadas directamente
  • Problemas de plural: operadores ternarios o comprobaciones === 1 en vez de la sintaxis de plural de ICU adecuada
  • Claves sin utilizar: claves definidas en archivos regionales pero nunca referenciadas en el código
  • Valores de formato codificados directamente: fechas, divisas y números que no utilizan formateadores Intl
El comando de revisión es completamente de solo lectura. Ejecútelo tantas veces como quiera durante el desarrollo o en procesos de CI/CD sin riesgo de cambios no deseados.

Comando /i18n-wrap

El comando de envoltura envuelve automáticamente las cadenas codificadas directamente con la función correcta para su framework. Detecta su biblioteca de i18n, genera claves semánticas agrupadas por componente o funcionalidad, actualiza los archivos regionales y valida que la compilación siga funcionando.

Terminal
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18next

Qué hace

  • Detección del framework: identifica su biblioteca de i18n y la función de traducción (t, $t, $_, gettext, etc.)
  • Generación de claves semánticas: crea claves descriptivas como nav.signIn y errors.notFound en lugar de etiquetas genéricas
  • Actualización de archivos regionales: añade claves nuevas al archivo de origen con el formato correcto (JSON, YAML, PO, etc.)
  • Validación de la compilación: ejecuta los comandos de compilación, lint y pruebas después de envolver para detectar regresiones
El comando de envoltura valida cada cambio ejecutando la compilación y el conjunto de pruebas. Si algo falla, revierte automáticamente.

Frameworks admitidos

Ambos comandos detectan automáticamente el framework a partir de las dependencias del proyecto. También puede indicarlo expresamente mediante la bandera --framework. Estos son los 10 frameworks admitidos con sus funciones de traducción y formatos de plural.

FrameworkFunción de traducciónFormato de plural
react-i18nextt()key_one / key_other
next-intlt()ICU {count, plural, ...}
vue-i18n$t()Pipe syntax | singular | plural
angular i18n$localizeICU {count, plural, ...}
svelte-i18n$_()ICU {count, plural, ...}
flutter intlS.of(context)Intl.plural()
djangogettext / _()ngettext()
rails i18nt()count key
laravel__() / @langtrans_choice()
swiftNSLocalizedString.stringsdict

Instalación

Copie los archivos de comandos en el directorio .claude/commands/. Eso es todo: sin dependencias ni configuración. Son archivos Markdown normales que cualquier asistente de programación con IA puede ejecutar.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Son archivos estándar de comandos con barra. Funcionan desde el primer momento en Claude Code y pueden adaptarse a otros asistentes de programación con IA compatibles con comandos personalizados.

Ejemplos de uso

Proyecto React

Revise una aplicación React que utilice react-i18next y envuelva después todas las cadenas codificadas directamente. Los comandos detectan react-i18next en package.json y emplean la función t() y el formato de plural key_one/key_other correctos.

React Project
# Review a React project for i18n issues
/i18n-review src/ --framework=react-i18next

# Wrap all hardcoded strings automatically
/i18n-wrap src/components/ --framework=react-i18next

# Result: t() calls inserted, keys added to en/translation.json

Proyecto Django

Audite plantillas y vistas de Django para detectar problemas de i18n y después envuelva las cadenas con gettext. Los comandos detectan Django en settings.py y utilizan _() para cadenas sencillas y ngettext() para plurales.

Django Project
# Review Django templates and views
/i18n-review myapp/ --framework=django

# Wrap hardcoded strings with gettext
/i18n-wrap myapp/templates/ --framework=django

# Result: _() calls inserted, .po file updated

Pruebe i18n Agent ahora

Arrastre y suelte aquí su archivo de traducción

JSON, YAML, PO, XML, CSV, Markdown, Properties

o haga clic para seleccionar

Idiomas de destino

No es necesario registrarsePresupuesto al instante

Preguntas frecuentes