La pseudo-localización es una técnica de prueba poderosa 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 pseudo-l10n de npm.
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 temprano en el ciclo de desarrollo.

Ejemplo de uso de la pseudo-localización para identificar problemas potenciales 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 temprano:
Aquí hay 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 ~30–40% para imitar idiomas largos como el alemán o el finlandés. Envuelve con marcadores visuales para facilitar la detección de recortes.
Ejemplo: "Save" → ⟦Šàvēēēēē⟧
Verificación de QA: Usa comparación automática de capturas de pantalla para detectar desbordamiento de UI, recortes o desalineación.
Reemplaza las variables de interpolación (marcadores) con marcadores visibles para verificar que se preserven durante la traducción.
Ejemplo: "Tienes {{count}} artículos" → "Tienes <COUNT> artículos"
Verificación de QA: Ejecuta pruebas de regresión; falla si falta un marcador o 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 el espejado sean correctos para los idiomas RTL.
Agrega pseudo-localización a tu pipeline 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 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 uso en la línea de comandos:
npm install -g pseudo-l10nO agrégalo como una 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 árabe o hebreo:
pseudo-l10n en.json pseudo-ar.json --rtlReemplaza marcadores con marcadores en mayúsculas para una detección visual más fácil:
pseudo-l10n en.json pseudo-en.json --replace-placeholders
# Input: { "greeting": "Hello, {{name}}!" }
# Output: { "greeting": "⟦Ĥëļļõēēēēēē, <NAME>!ēēēēē⟧" }El paquete soporta varios formatos de marcadores 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 construcció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}}!ēēēēē⟧Agrega 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 construcció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 pipeline 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 impulsados por IA como l10n.dev.
Después de asegurarte de que tu aplicación maneja la internacionalización correctamente con pseudo-localización, usa l10n.dev para traducción profesional impulsada por IA:
¿Listo para detectar problemas de i18n temprano y optimizar tu flujo de trabajo de localización?
Sube tus archivos i18n y deja que la IA maneje la traducción con conciencia del contexto y formato adecuado.
Descubre por qué la traducción potenciada por IA es mejor para archivos de i18n que los métodos tradicionales.
Integra la localización potenciada por IA directamente en tu pipeline de CI/CD.
Incorpora la localización de IA en tu flujo de trabajo con nuestras extensiones y complementos.
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 asegurarte de que tu aplicación esté realmente lista para audiencias globales.
Combinado con la traducción impulsada por IA de l10n.dev, puedes construir aplicaciones robustas y multilingües más rápido y con confianza.