Herramienta de pseudotraducción
Pruebe su interfaz i18n antes de publicarla. Genere traducciones simuladas que sometan a prueba el diseño, la codificación y el renderizado bidireccional, sin esperar a las traducciones reales.
El problema
Su interfaz parece perfecta en inglés. Después llega el alemán: cadenas un 40 % más largas rompen todos los botones y truncan los encabezados de las tablas. El árabe invierte todo el diseño y los iconos apuntan al lado equivocado. El japonés necesita otras alturas de línea y sus tarjetas cuidadosamente espaciadas se desmoronan. Descubrirá todo esto después de pagar las traducciones.
La solución
i18n-pseudo genera traducciones simuladas que someten la interfaz a pruebas exigentes sin esperar a traductores reales. Aplica 7 estrategias de transformación —acentos, caracteres CJK, expansión de texto, marcadores RTL y otras— y conserva los marcadores de ICU, la sintaxis de plural y las variables de interpolación.
Instalación
i18n-pseudo está disponible como paquete npm y fórmula de Homebrew, o puede compilarlo desde el código fuente con Cargo.
npm install -g @i18n-agent/i18n-pseudo7 estrategias de transformación
Cada estrategia se dirige a una clase concreta de error de i18n. Utilícelas por separado mediante indicadores o combínelas con ajustes predefinidos.
| Strategy | Flag | Input | Output |
|---|---|---|---|
| Accents | --accents | Hello | Ĥéľľó |
| CJK | --cjk | Hello | 你好世界你好 |
| Special Chars | --special | Hello | Hello |
| Expansion | --expansion N | Save | Save~~~~ |
| Brackets | --brackets | Hello | [Hello] |
| RTL | --rtl | Hello | Hello |
| Unicode Stress | --unicode-stress | Hello | H́ȩl̈l̀õ |
Ajustes predefinidos
Los ajustes predefinidos agrupan estrategias para situaciones de prueba habituales. Utilice --preset para aplicar varias a la vez.
| Preset | Strategies | Use Case |
|---|---|---|
default | accents + brackets | Quick visual check that all strings are externalized |
layout | expansion (1.4x) + brackets | Catch truncation and overflow before real translations |
charset | CJK + special + brackets | Test font rendering and character encoding |
rtl | RTL markers + brackets | Verify bidirectional layout without switching locale |
full | All strategies combined | Maximum stress test — everything at once |
Ejemplos de uso
Ejecute i18n-pseudo con su archivo regional de origen. Lee JSON, YAML, PO y otros formatos de i18n, aplica las estrategias elegidas y escribe la salida transformada.
# Default (accents + brackets)
i18n-pseudo en.json -o output/
# Layout testing (text expansion + brackets)
i18n-pseudo en.json --preset layout -o output/
# Specific strategies
i18n-pseudo en.json --accents --expansion 1.5 -o output/
# Kitchen sink
i18n-pseudo en.json --preset full -o output/Antes y después
Así transforma un archivo de traducción habitual el ajuste predeterminado —acentos y corchetes—. Observe que la sintaxis de plural de ICU y los marcadores de interpolación se conservan con exactitud.
// Input (en.json):
{
"greeting": "Hello, {name}!",
"save": "Save",
"items": "{count, plural, one {# item} other {# items}}"
}
// Output (default preset — accents + brackets):
{
"greeting": "[Ĥéľľó, {name}!]",
"save": "[Šáṽé]",
"items": "[{count, plural, one {# íťéɱ} other {# íťéɱš}}]"
}Integración con CI
Añada la pseudotraducción a su proceso de CI para detectar automáticamente regresiones de i18n. Genere archivos pseudotraducidos y ejecute con ellos sus pruebas de regresión visual.
# Generate pseudo-translations and run visual regression
i18n-pseudo locales/en.json --preset layout -o locales/pseudo/
NEXT_PUBLIC_LOCALE=pseudo npx playwright test --project=visualHerramientas y guías 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