La pseudo-localizzazione è una potente tecnica di testing che trasforma il tuo testo sorgente in una lingua finta per identificare problemi di internazionalizzazione (i18n) prima che inizi la traduzione effettiva. Questa guida ti mostra come automatizzare il testing della pseudo-localizzazione utilizzando il pacchetto pseudo-l10n npm.
La pseudo-localizzazione è il processo di trasformazione del testo sorgente della tua applicazione in una lingua alterata, finta che imita come si comporta l'interfaccia utente dopo la traduzione. Aiuta gli ingegneri QA e gli sviluppatori a identificare problemi di i18n precocemente nel 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 supportare altri script richiede spesso più spazio.
La pseudo-localizzazione ti aiuta a catturare problemi di i18n precocemente:
Ecco strategie comprovate per automatizzare il testing dell'i18n con la pseudo-localizzazione:
Sostituisci le lettere latine con forme accentate o script diversi per testare il supporto della codifica dei caratteri e 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 di ~30–40% per imitare lingue lunghe come il tedesco o il finlandese. Avvolgi con marcatori visivi per una facile rilevazione del clipping.
Esempio: "Save" → ⟦Šàvēēēēē⟧
Controllo QA: Utilizza il confronto automatico degli screenshot per individuare overflow dell'interfaccia utente, clipping o disallineamento.
Sostituisci le variabili di interpolazione (segnaposto) con marcatori visibili per verificare che siano preservati durante la traduzione.
Esempio: "Hai {{count}} articoli" → "Hai <COUNT> articoli"
Controllo QA: Esegui test di regressione; fallisci se un marcatore è mancante o erratamente escapato (<COUNT>).
Avvolgi il testo in marcatori da destra a sinistra (RTL) utilizzando caratteri di controllo Unicode per simulare l'arabo o l'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 catturare 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 il testing dell'i18n nel tuo flusso di lavoro di sviluppo.
Installa pseudo-l10n globalmente per l'uso da riga di comando:
npm install -g pseudo-l10nOppure 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 l'arabo o l'ebraico:
pseudo-l10n en.json pseudo-ar.json --rtlSostituisci i segnaposto con marker maiuscoli per una rilevazione visiva più facile:
pseudo-l10n en.json pseudo-en.json --replace-placeholders
# Input: { "greeting": "Hello, {{name}}!" }
# Output: { "greeting": "⟦Ĥëļļõēēēēēē, <NAME>!ēēēēē⟧" }Il pacchetto supporta vari formati di segnaposto utilizzati 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 di pseudo-localizzazione ai tuoi script 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-locali 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 integrazione 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, è tempo di tradurre la tua applicazione per utenti reali. Qui entrano in gioco i servizi di traduzione alimentati da AI come l10n.dev.
Dopo aver assicurato che la tua app gestisca correttamente l'internazionalizzazione con la pseudo-localizzazione, usa l10n.dev per traduzioni professionali alimentate da AI:
Pronto a catturare i problemi di i18n precocemente e semplificare il tuo workflow 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 potenziata dall'IA è migliore per i file i18n rispetto ai metodi tradizionali
Integra la localizzazione potenziata dall'IA direttamente nella tua pipeline CI/CD
Porta la localizzazione AI nel tuo flusso di lavoro con le nostre estensioni e plugin
La pseudo-localizzazione è una tecnica di test essenziale che ti aiuta a catturare problemi di internazionalizzazione prima che raggiungano la produzione. Automatizzando i test di pseudo-localizzazione con il pacchetto pseudo-l10n, puoi assicurarti che la tua applicazione sia davvero pronta per il pubblico globale.
Combinato con la traduzione alimentata da AI di l10n.dev, puoi costruire applicazioni robuste e multilingue più velocemente e con fiducia.