La localizzazione di software include passaggi come:
- Preparazione del codice per la traduzione
- Esportazione delle stringhe software
- Ottimizzazione delle strategie di analisi e segmentazione
- Sviluppare un elenco di terminologia principale (glossario)
- Creazione del progetto di traduzione del software
- Assegnazione dei traduttori
- Assegnazione ai revisori
- Gestione delle query
- Controlli QA automatizzati
- Reimportazione delle stringhe tradotte
- I controlli QA vengono eseguiti nell'ambiente di staging o sugli screenshot
- Test
In questo articolo esploreremo questi diversi componenti e le loro implicazioni nel processo generale di localizzazione.
Preparazione del codice per la traduzione
Sebbene alcuni software siano codificati pensando alla traduzione, spesso la traduzione è un requisito che si presenta quando il software è già maturo. Per preparare il codice per la traduzione, è necessario prestare maggiore attenzione alle variabili, alle date e all'architettura complessiva del Contenuto traducibile rispetto al codice. Le date, la valuta e altri fattori cambiano i formati in base alla regione. Se sono codificate in modo rigido, dovranno essere ricodificate come entità dinamiche per consentire la flessibilità interculturale. A seconda di come è scritto il codice, può essere molto facile o difficile isolare il codice dal testo traducibile. Questo influenzerà il passo successivo nell'esportazione delle stringhe, ma è forse l'aspetto più trascurato e sottovalutato della localizzazione di software. Ogni singola increspatura nel codice rispetto alla semplicità del testo si tradurrà in innumerevoli ondate che avranno un impatto sul processo di localizzazione nel suo complesso. Potrebbe risultare in scenari in cui è difficile sia preservare l'integrità del codice sia renderlo amichevole per i traduttori. Certo, puoi superare alcune di queste sfide attraverso strategie di analisi e segmentazione, ma più pulito riesci a esportare il contenuto traducibile senza che il codice interferisca, migliore (più sostenibile e scalabile) sarà il tuo processo di localizzazione di software.
Esportazione delle stringhe del software
L'esportazione delle stringhe dovrebbe essere un processo semplice. Ma non lo è. Alcuni formati sono di riferimento, mentre altri dovrebbero essere evitati. Esempi di formati di riferimento: XML, YAML, JSON. Sono strutturati, prevedibili, facilmente analizzabili e relativamente facili da trovare modelli all'interno del codice, il che riduce i problemi derivanti dalla traduzione in lingue diverse. Esempi di formati da evitare: TXT, CSV, codice misto. Un'esportazione in formato CSV, ad esempio, può diventare un incubo. I caratteri delimitatori come i punti e virgola sono necessari come strumenti linguistici. È praticamente impossibile distinguere algoritmicamente tra un punto e virgola che è inteso come una rottura del codice vs. un punto e virgola che è inteso come uno strumento linguistico. Ciò crea centinaia di falsi positivi che devono essere controllati durante il processo di Assicurazione della Qualità, così come problemi durante la reimportazione del codice ecc. Con codice misto, ad esempio, ci riferiamo a XML con JSON al suo interno come esempio che aggiunge complessità al processo di analisi e segmentazione. La codifica è anche un punto di dolore principale:
- Codifica HTML
- Codifica URL
- Codifica Unicode
- Codifica Base64
- Codifica esadecimale
- Codifica ASCII
Ognuno di questi framework di codifica avrà ramificazioni nel processo di localizzazione, inclusa l'incompatibilità dei caratteri a seconda delle lingue incluse.
Ottimizzazione delle strategie di analisi e segmentazione
Se hai seguito le best practice descritte sopra, le tue strategie di analisi e segmentazione saranno ottimizzatori di processo. Se non l'hai fatto, l'analisi e la segmentazione diventeranno fattori abilitanti per i processi. In qualità di ottimizzatori di processo, una strategia di segmentazione ben affinata garantirà che il contenuto venga assimilato dal tuo sistema di gestione delle traduzioni in modo favorevole per traduttori e revisori. In questo passaggio puoi assicurarti che le variabili siano protette, che il codice rimanente venga protetto e che il testo venga suddiviso in modi che abbiano senso per il processo di traduzione. Se non hai fatto i compiti, questo è il momento in cui le cose possono diventare complicate. O perché è semplicemente impossibile creare abbastanza analisi per proteggere il codice e le variabili o perché richiederebbe un livello di sforzo folle scrivere abbastanza espressioni regolari per rendere il software Contenuto più adatto alla traduzione. In ogni caso, questo è un passo fondamentale. Se cambi strategia di analisi e segmentazione nel tempo, sperimenterai una perdita nel sfruttamento della memoria di traduzione che creerà costi aggiuntivi e complessità del processo. Potrebbe non sembrare un grosso problema fino a quando non ti esplode in faccia. Supponiamo, ad esempio, che il tuo intero software abbia 100.000 parole e che tu stia traducendo in 10 languages e che il tuo costo medio per parola sia di $0.15. Supponiamo che tu abbia tradotto il tuo software ma ora iteri sulla tua strategia di analisi, il che causerà una perdita del 10% di sfruttamento (che può essere un risultato previsto di un piccolo cambiamento nell'analisi), sono $15,000 persi giusto fuori dal cancello, per non parlare del tempo extra necessario e di altre ramificazioni.
Sviluppare un elenco di terminologia principale (glossario)
Chiunque può sviluppare un glossario. Pochissimi possono svilupparne uno grande. Alcune persone seguono la via statistica e analizzano un database di Contenuto per trovare le parole chiave più ricorrenti. E mentre ciò accelera le cose e cattura i termini che sono importanti in base alla frequenza, diversi termini principali non sono necessariamente usati così frequentemente. Alcune persone adottano l'approccio qualitativo e fanno sì che i traduttori esaminino grandi quantità di contenuto e identifichino manualmente i termini rilevanti. Altri usano l'IA per cercare modelli linguistici e identificare entità e termini non necessariamente basati solo sulla frequenza ma sulla loro rilevanza semantica complessiva. Indipendentemente dall'approccio, quando si tratta di un glossario, meno è di più. Mentre vuoi assicurarti di aver catturato i termini essenziali, se contrassegni troppi termini come termini del Glossario, è quasi impossibile garantire la governance sulla corretta applicazione. Troppe false positive e avvisi rendono difficile per i traduttori e i revisori gestire i suggerimenti di termini e eseguire i controlli QA automatizzati. Un altro consiglio con i glossari è che è importante contrassegnare i termini che non dovrebbero essere tradotti come quelli che richiedono un tipo specifico di traduzione.
Creazione del progetto di traduzione del software
Questo passaggio dipende fortemente dal framework del sistema di gestione delle traduzioni che stai utilizzando. Alcuni sistemi ti permetteranno di gestire l'intero ciclo di vita del progetto all'interno dello stesso ambiente e progetto, mentre altre platforms richiederanno un diverso tipo di approccio che potrebbe essere basato su stringhe o file. Sebbene possa sembrare una formalità, l'impostazione del progetto di traduzione effettivo ha checkpoint principali come:
- Garantire che i file siano stati acquisiti nella loro totalità
- Garantire che le coppie linguistiche siano corrette fino al livello locale
- Assicurarsi che le date siano corrette
- Assicurarsi che i passaggi del flusso di lavoro siano quelli necessari
- Assegnazione ai traduttori
In questo passaggio, stiamo assumendo che tu abbia già un team di traduttori precedentemente selezionato a tua disposizione per ogni coppia linguistica. È principale lavorare con traduttori che sono:

Lo stesso vale per i traduttori con un'enfasi aggiunta sul discernimento critico. Hai bisogno di revisori che siano abbastanza critici da capire le differenze tra stile ed errori. I revisori che cambiano troppo in questa fase del processo compromettono l'integrità del processo di traduzione nel suo complesso. Ecco dove entra in gioco il framework proprietario di Bureau Works per la gestione della qualità.
Gestione delle query
Una parte principale della traduzione del software è essere in grado di affrontare le domande che sorgono durante il processo di traduzione. Ad esempio, cosa rappresenta il pulsante "X" o a cosa punta questa variabile? È importante avere un processo che ti permetta di fare domande riguardo alla lingua di origine e avere le risposte disponibili per tutti i Traduttori nel progetto, indipendentemente dalla loro coppia linguistica, al fine di ridurre al minimo la necessità di rispondere alla stessa domanda più volte. È anche fondamentale avere un modo per assegnare diversi status alla query, come nuovo, assegnato, risolto, e così via, in modo che il tuo team di gestione del progetto possa garantire che le query ricevano risposta in modo tempestivo.
Controlli automatizzati di Qualità
Critici per qualsiasi processo di localizzazione di software, i controlli QA automatizzati garantiscono che alcuni elementi Principali siano segnalati come:
- Spazi finali
- Limiti di caratteri
- Punteggiatura incoerente
- Non conformità al Glossario
- Ortografia
- Tag incoerenti (mancata corrispondenza nel codice sorgente e nel codice tradotto)
- Re-importing translated strings
Se sei arrivato fin qui vivo, stai facendo qualcosa di giusto! :) Può essere meno doloroso, ma tu sei qui. Ora è il momento di reimportare le stringhe nel repository e ricostruire il software. Se hai perso o gestito in modo errato una delle best practice descritte in precedenza, in questo passaggio potresti avere difficoltà con il processo di reimportazione a causa di interruzioni nel codice, mancata corrispondenza dei tag o altri problemi che potrebbero influire sulla corretta riattivazione del codice.
I processi di QA automatizzati possono anche integrarsi con strumenti come automated identity verification per migliorare la sicurezza e garantire l'accuratezza dei dati durante gli sforzi di localizzazione.

Fonte: Linkedin
I controlli QA avvengono sia nell'ambiente di staging che sugli screenshot
Questo passaggio può essere ignorato se è unito al testing, ma è utile fornire ai traduttori l'accesso a un ambiente di staging o agli screenshot delle schermate principali per garantire che le stringhe vengano visualizzate correttamente e non ci siano problemi evidenti che impediscano l'inizio del testing.
Testing
Questa è una fase che porta la qualità oltre la semplice rilevazione e correzione dei bug. Il test consente un altro nuovo sguardo alle stringhe tradotte nel contesto. Alcune traduzioni che sembravano perfette durante il processo di traduzione, potrebbero non essere le migliori dal punto di vista dell'esperienza utente. È importante lavorare con tester che si impegnano a migliorare l'esperienza dell'utente e non solo a cercare in modo reattivo i bug.
Conclusione
La localizzazione di software è un processo esteso, costoso e complesso. Ma non è solo quello. È iterativo e continuo, il che significa che passerai innumerevoli volte attraverso lo stesso processo per aggiornare il tuo software mentre continua a evolversi. Si tratta di una panoramica superficiale e di alto livello di un processo che può diventare infinitamente più sfumato e complesso da gestire. Ma il principale insegnamento è che vale ogni centesimo investire in un framework e nelle migliori pratiche fin dall'inizio. Una volta che la nave è salpata, diventerà sempre più difficile e costoso ripararla.