La pseudo-localización es una técnica de prueba potente que transforma tu texto fuente en un idioma falso para identificar problemas de internacionalización (i18n) antes de que comience la traducción real. Esta guía te muestra cómo automatizar las pruebas de pseudo-localización usando el paquete npm pseudo-l10n.
La pseudo-localización es el proceso de transformar el texto fuente de tu aplicación en un idioma falso alterado que imita cómo se comporta la interfaz de usuario después de la traducción. Ayuda a los ingenieros de QA y a los desarrolladores a identificar problemas de i18n al principio del ciclo de desarrollo.

Ejemplo de uso de pseudo-localización para identificar posibles problemas de internacionalización. La fuente y el tamaño son idénticos en ambos lados, pero soportar otros scripts a menudo requiere más espacio.
La pseudo-localización te ayuda a detectar problemas de i18n desde el principio:
Aquí tienes estrategias probadas para automatizar las pruebas de i18n con pseudo-localización:
Reemplaza las letras latinas con formas acentuadas o diferentes scripts para probar la codificación de caracteres y el soporte de fuentes.
Ejemplo: "Save" → "Šàvē"
Verificación de QA: Asegúrate de que todos los caracteres se muestren correctamente y que nada se rompa debido a problemas de codificación.
Expande automáticamente cada cadena en un ~30–40 % para imitar idiomas largos como el alemán o el finlandés. Envuelve con marcadores visuales para una fácil detección de recortes.
Ejemplo: "Save" → ⟦Šàvēēēēē⟧
Verificación de QA: Usa la comparación automática de capturas de pantalla para detectar desbordamientos, recortes o desalineaciones en la interfaz de usuario.
Reemplaza las variables de interpolación (marcadores de posición) con marcadores visibles para verificar que se conserven durante la traducción.
Ejemplo: "You have {{count}} items" → "You have <COUNT> items"
Verificación de QA: Ejecuta pruebas de regresión; falla si falta un marcador o si está escapado incorrectamente (<COUNT>).
Envuelve el texto en marcadores de derecha a izquierda (RTL) usando caracteres de control Unicode para simular árabe o hebreo.
Verificación de QA: Verifica que la alineación, la dirección del texto y la duplicación sean correctas para los idiomas RTL.
Añade la pseudo-localización a tu canalización de pruebas automatizadas para detectar problemas de i18n antes de que lleguen a producción.
Verificación de QA: Bloquea el despliegue si las pruebas detectan traducciones faltantes, marcadores de posición rotos o problemas de diseño.
El paquete npm pseudo-l10n automatiza la pseudo-localización para tus archivos de traducción JSON, facilitando la integración de pruebas de i18n en tu flujo de trabajo de desarrollo.
Instala pseudo-l10n globalmente para su uso en la línea de comandos:
npm install -g pseudo-l10nO añádelo como dependencia de desarrollo:
npm install --save-dev pseudo-l10nTransforma tu archivo de traducción fuente en una versión pseudo-localizada:
pseudo-l10n input.json output.jsonEntrada (en.json):
{
"welcome": "Welcome to our application",
"greeting": "Hello, {{name}}!",
"itemCount": "You have {{count}} items"
}Salida (pseudo-en.json):
{
"welcome": "⟦Ŵëļçõɱë ţõ õür àƥƥļïçàţïõñēēēēēēēēēēēēēēēēēē⟧",
"greeting": "⟦Ĥëļļõēēēēēē, {{name}}!ēēēēē⟧",
"itemCount": "⟦Ŷõü ĥàṽë {{count}} ïţëɱšēēēēēēēēēēēēēēēē⟧"
}pseudo-l10n en.json pseudo-en.json --expansion=30Simula idiomas de derecha a izquierda como el árabe o el hebreo:
pseudo-l10n en.json pseudo-ar.json --rtlReemplaza los marcadores de posición con marcadores en mayúsculas para una detección visual más sencilla:
pseudo-l10n en.json pseudo-en.json --replace-placeholders
# Input: { "greeting": "Hello, {{name}}!" }
# Output: { "greeting": "⟦Ĥëļļõēēēēēē, <NAME>!ēēēēē⟧" }El paquete soporta varios formatos de marcadores de posición utilizados por diferentes bibliotecas de i18n:
# For i18next (default)
pseudo-l10n en.json pseudo-en.json --placeholder-format="{{key}}"
# For Angular/React Intl
pseudo-l10n en.json pseudo-en.json --placeholder-format="{key}"
# For sprintf style
pseudo-l10n en.json pseudo-en.json --placeholder-format="%key%"Usa pseudo-l10n programáticamente en tus scripts de Node.js o proceso de compilación:
const { generatePseudoLocaleSync, pseudoLocalize } = require('pseudo-l10n');
// Generate a pseudo-localized JSON file
generatePseudoLocaleSync('en.json', 'pseudo-en.json', {
expansion: 40,
rtl: false
});
// Pseudo-localize a single string
const result = pseudoLocalize('Hello, {{name}}!');
console.log(result);
// Output: ⟦Ĥëļļõēēēēēēēēēēēēēē, {{name}}!ēēēēē⟧Añade la generación de pseudo-localización a tus scripts de package.json:
{
"scripts": {
"pseudo": "pseudo-l10n src/locales/en.json src/locales/pseudo-en.json",
"pseudo:rtl": "pseudo-l10n src/locales/en.json src/locales/pseudo-ar.json --rtl"
}
}Genera pseudo-locales como parte de tu proceso de compilación:
// build.js
const { generatePseudoLocaleSync } = require('pseudo-l10n');
// Generate pseudo-locales as part of build
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-en.json',
{ expansion: 40 }
);
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-ar.json',
{ rtl: true }
);Integra la pseudo-localización en tu canalización de integración continua:
# .github/workflows/test.yml
- name: Generate pseudo-locales
run: |
npm install -g pseudo-l10n
pseudo-l10n src/locales/en.json src/locales/pseudo-en.json
- name: Run i18n tests
run: npm run test:i18nUna vez que hayas validado tu implementación de i18n con pseudo-localización, es hora de traducir tu aplicación para usuarios reales. Aquí es donde entran los servicios de traducción potenciados por IA como l10n.dev.
Después de asegurar que tu aplicación maneja la internacionalización correctamente con la pseudo-localización, usa l10n.dev para una traducción profesional potenciada por IA:
¿Listo para detectar problemas de i18n a tiempo y optimizar tu flujo de trabajo de localización?
Sube tus archivos i18n y deja que la IA se encargue de la traducción con conciencia del contexto y el formato adecuado
Descubre por qué la traducción impulsada por IA es mejor para archivos i18n que los métodos tradicionales
Integra la localización impulsada por IA directamente en tu pipeline de CI/CD
Lleva la localización con IA a tu flujo de trabajo con nuestras extensiones y plugins
La pseudo-localización es una técnica de prueba esencial que te ayuda a detectar problemas de internacionalización antes de que lleguen a producción. Al automatizar las pruebas de pseudo-localización con el paquete pseudo-l10n, puedes asegurar que tu aplicación esté realmente lista para audiencias globales.
Combinado con la traducción impulsada por IA de l10n.dev, puedes crear aplicaciones multilingües robustas más rápido y con confianza.