La pseudo-localizzazione è una potente tecnica di test che trasforma il tuo testo sorgente in una lingua fittizia per identificare problemi di internazionalizzazione (i18n) prima che inizi la traduzione vera e propria. Questa guida ti mostra come automatizzare i test di pseudo-localizzazione usando il pacchetto npm pseudo-l10n.
La pseudo-localizzazione è il processo di trasformazione del testo sorgente della tua applicazione in una lingua fittizia alterata che imita come si comporta l'interfaccia utente dopo la traduzione. Aiuta i tester QA e gli sviluppatori a identificare problemi di i18n all'inizio del ciclo di sviluppo.

Esempio di utilizzo della pseudo-localizzazione per identificare potenziali problemi di internazionalizzazione. Il font e la dimensione sono identici su entrambi i lati, ma il supporto ad altri script spesso richiede più spazio.
La pseudo-localizzazione ti aiuta a rilevare i problemi di i18n precocemente:
Ecco strategie comprovate per automatizzare i test i18n con la pseudo-localizzazione:
Sostituisci le lettere latine con forme accentate o script diversi per testare la codifica dei caratteri e il supporto dei font.
Esempio: "Save" → "Šàvē"
Controllo QA: Assicurati che tutti i caratteri vengano visualizzati correttamente e che nulla si rompa a causa di problemi di codifica.
Espandi automaticamente ogni stringa del ~30–40% per imitare lingue lunghe come il tedesco o il finlandese. Avvolgi con marcatori visivi per un facile rilevamento del clipping.
Esempio: "Save" → ⟦Šàvēēēēē⟧
Controllo QA: Usa il confronto automatico degli screenshot per individuare overflow dell'interfaccia, clipping o disallineamenti.
Sostituisci le variabili di interpolazione (segnaposto) con marcatori visibili per verificare che vengano preservati durante la traduzione.
Esempio: "You have {{count}} items" → "You have <COUNT> items"
Controllo QA: Esegui test di regressione; fallisci se un marcatore manca o è erroneamente sottoposto a escape (<COUNT>).
Avvolgi il testo in marcatori da destra a sinistra (RTL) usando caratteri di controllo Unicode per simulare arabo o ebraico.
Controllo QA: Verifica che l'allineamento, la direzione del testo e il mirroring siano corretti per le lingue RTL.
Aggiungi la pseudo-localizzazione alla tua pipeline di test automatizzati per rilevare problemi di i18n prima che raggiungano la produzione.
Controllo QA: Blocca il deployment se i test rilevano traduzioni mancanti, segnaposto rotti o problemi di layout.
Il pacchetto npm pseudo-l10n automatizza la pseudo-localizzazione per i tuoi file di traduzione JSON, rendendo facile integrare i test i18n nel tuo flusso di lavoro di sviluppo.
Installa pseudo-l10n globalmente per l'uso da riga di comando:
npm install -g pseudo-l10nO aggiungilo come dipendenza di sviluppo:
npm install --save-dev pseudo-l10nTrasforma il tuo file di traduzione sorgente in una versione pseudo-localizzata:
pseudo-l10n input.json output.jsonInput (en.json):
{
"welcome": "Welcome to our application",
"greeting": "Hello, {{name}}!",
"itemCount": "You have {{count}} items"
}Output (pseudo-en.json):
{
"welcome": "⟦Ŵëļçõɱë ţõ õür àƥƥļïçàţïõñēēēēēēēēēēēēēēēēēē⟧",
"greeting": "⟦Ĥëļļõēēēēēē, {{name}}!ēēēēē⟧",
"itemCount": "⟦Ŷõü ĥàṽë {{count}} ïţëɱšēēēēēēēēēēēēēēēē⟧"
}pseudo-l10n en.json pseudo-en.json --expansion=30Simula lingue da destra a sinistra come arabo o ebraico:
pseudo-l10n en.json pseudo-ar.json --rtlSostituisci i segnaposto con marcatori maiuscoli per un rilevamento visivo più semplice:
pseudo-l10n en.json pseudo-en.json --replace-placeholders
# Input: { "greeting": "Hello, {{name}}!" }
# Output: { "greeting": "⟦Ĥëļļõēēēēēē, <NAME>!ēēēēē⟧" }Il pacchetto supporta vari formati di segnaposto usati da diverse librerie 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 programmaticamente nei tuoi script Node.js o nel processo di build:
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}}!ēēēēē⟧Aggiungi la generazione della pseudo-localizzazione agli script del tuo 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 come parte del tuo processo di build:
// 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-localizzazione nella tua pipeline di distribuzione 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 volta convalidata la tua implementazione i18n con la pseudo-localizzazione, è ora di tradurre la tua applicazione per utenti reali. È qui che entrano in gioco i servizi di traduzione basati su AI come l10n.dev.
Dopo aver assicurato che la tua app gestisca correttamente l'internazionalizzazione con la pseudo-localizzazione, usa l10n.dev per una traduzione professionale basata su AI:
Pronto a individuare tempestivamente i problemi di i18n e a semplificare il tuo flusso di lavoro di localizzazione?
Carica i tuoi file i18n e lascia che l'IA gestisca la traduzione con consapevolezza del contesto e formattazione corretta
Lascia che il tuo assistente alla programmazione si concentri sul codice. Configura il nostro Agente di localizzazione IA per gestire le traduzioni in modo efficiente.
Scopri perché la traduzione basata su IA è migliore per i file i18n rispetto ai metodi tradizionali
Porta la localizzazione tramite IA nel tuo flusso di lavoro con le nostre estensioni e plugin
La pseudo-localizzazione è una tecnica di test essenziale che ti aiuta a individuare i problemi di internazionalizzazione prima che arrivino in produzione. Automatizzando i test di pseudo-localizzazione con il pacchetto pseudo-l10n, puoi assicurarti che la tua applicazione sia davvero pronta per un pubblico globale.
In combinazione con la traduzione basata su AI di l10n.dev, puoi creare applicazioni multilingue robuste più velocemente e con sicurezza.