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
Scopri perché la traduzione basata su IA è migliore per i file i18n rispetto ai metodi tradizionali
Integra la localizzazione tramite IA direttamente nella tua CI/CD
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.