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.
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.
/i18n-review src/
/i18n-review src/ --framework=next-intlQué 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
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.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextQué 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
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.
| Framework | Función de traducción | Formato de plural |
|---|---|---|
| react-i18next | t() | key_one / key_other |
| next-intl | t() | ICU {count, plural, ...} |
| vue-i18n | $t() | Pipe syntax | singular | plural |
| angular i18n | $localize | ICU {count, plural, ...} |
| svelte-i18n | $_() | ICU {count, plural, ...} |
| flutter intl | S.of(context) | Intl.plural() |
| django | gettext / _() | ngettext() |
| rails i18n | t() | count key |
| laravel | __() / @lang | trans_choice() |
| swift | NSLocalizedString | .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.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/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.
# 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.jsonProyecto 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.
# 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 updatedGuías de frameworks relacionadas
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