Come si localizza un gioco Unity per più lingue?
La localizzazione dei giochi in Unity significa separare ogni stringa e risorsa rivolta all'utente dal codice e inserirla nelle Tabelle Stringa e Asset di Unity, traducendo quel contenuto attraverso un flusso di lavoro esterno basato su file e riimportandoli per località prima di testarlo su ogni build target. Il pacchetto Localizzazione di Unity gestisce il sistema di stringhe e asset integrato nel motore; una piattaforma di gestione delle traduzioni come Smartling gestisce il lavoro di traduzione, lo scambio di file e la revisione della qualità sovrapposti ad esso.
Ultima recensione: 2026-09-15
Quali sfide potrei incontrare nella localizzazione di un'applicazione Unity e come posso superarle?
Localizzare un'applicazione Unity presenta problemi che un flusso di lavoro di traduzione web non ha, perché il contenuto si trova all'interno di asset di gioco compilati invece che di una pagina web scansionabile. Cinque sotto-schemi spiegano la maggior parte dell'attrito:
- L'espansione del testo rompe elementi fissi dell'interfaccia. Le stringhe tradotte sono abitualmente più lunghe della sorgente inglese, il che può troncare le finestre di dialogo e le etichette dei menu; La funzione di pseudo-localizzazione integrata di Unity allunga artificialmente le stringhe durante lo sviluppo, così che una rottura di layout appaia prima che un traduttore apra il file.
- I set di caratteri non latini necessitano di un proprio atlante di font. L'esportazione del set di caratteri di Unity determina i caratteri distinti effettivamente utilizzati da una tabella di stringhe (il cinese da solo può contare su oltre 50.000 caratteri, sebbene la documentazione di Unity stessa indichi che la maggior parte dei giochi ne utilizza al massimo circa 1.000) e questo set esportato alimenta direttamente la creazione di un atlante di font con Font Asset Creator di TextMeshPro.
- Gli asset hanno bisogno di una pipeline di localizzazione parallela, non solo stringhe. Le Asset Tables di Unity fanno riferimento a un file audio, texture o modello diverso per Locale tramite il sistema Addressables, quindi un gioco con doppiaggio o texture richiede una revisione per quegli asset che gira insieme alla traduzione delle stringhe, non dopo.
- Il pacchetto di localizzazione di Unity non include un connettore TMS aziendale integrato. Le sue opzioni native di importazione ed esportazione supportano XLIFF, CSV e Fogli Google: si tratta di vere e proprie integrazioni, ma di scambio di file, non di un collegamento diretto con una piattaforma di gestione delle traduzioni. Le squadre devono costruire quel ponte da sole.
- Ogni target di costruzione moltiplica la superficie QA. Un pass di certificazione per console, una recensione dello store di app mobile e una versione Steam richiedono ciascuno una propria versione localizzata validata, quindi un bug di traduzione scoperto tardi può bloccare il rilascio di una piattaforma senza bloccare le altre.
Quali sono le migliori pratiche per tradurre i progetti di Unity?
Una buona traduzione di un progetto Unity inizia ancor prima che una singola stringa raggiunga il traduttore, e si basa su cinque pratiche che distinguono costantemente un ciclo di localizzazione fluido da uno reattivo.
- Prima di iniziare la traduzione, esternalizza ogni stringa in una raccolta di tabelle di stringhe. Unity genera un asset String Table Collection per ogni Locale, oltre a un asset Shared Table Data condiviso, nel momento stesso in cui ne crei uno, quindi nulla rimane codificato in modo rigido in uno script una volta che la collection esiste.
- Usa le stringhe intelligenti per pluralizzazione e testo variabile. Le Smart Strings di Unity, costruite su una libreria SmartFormat modificata, gestiscono la logica plurale e di genere e i segnaposto nominati in linea, invece di affidarsi a varianti di stringhe codificate in modo rigido separato per ogni conteggio o genere.
- Pseudo-localizza prima che un traduttore veda qualcosa. Eseguire il passaggio pseudo-localizzatore integrato di Unity emerge prima con l'espansione del testo e le interruzioni del layout mentre il costo di correzione è ancora basso, piuttosto che dopo il ritorno delle stringhe tradotte.
- Genera un set di caratteri per ogni lingua prima di costruire i font. Esporta un set di caratteri dalla finestra della Stringa Collection per ogni Locale di destinazione e inseriscilo nel Font Asset Creator di TextMeshPro, così l'atlante dei font contiene solo i caratteri di cui Locale ha effettivamente bisogno.
- Instradate ogni file di traduzione attraverso un unico workflow, non fogli di calcolo ad hoc. Esporta i dati della Tabella delle Stringhe come XLIFF o CSV e gestisci quel passaggio tramite una piattaforma che analizza quei formati nativamente, così memoria di traduzione e terminologia rimangono coerenti da un aggiornamento di contenuto all'altro invece di resettarsi con ogni patch linguistica.
Localizzazione e traduzione di Unity, in cifre
| metrico | Valore | Perché è importante |
|---|---|---|
| Caratteri distinti nel testo cinese | 50.000+ (Documentazione dei set di caratteri di Unity) | Imposta la scala che un atlante di font deve coprire prima che una localizzazione CJK possa essere visualizzata correttamente. |
| Utilizzo tipico del personaggio nel gioco | ~1.000 caratteri per la maggior parte dei giochi (documentazione Unity) | La maggior parte dei progetti richiede un atlante di font molto più piccolo di quanto suggerirebbe l'intero set di caratteri. |
| Formati di esportazione nativi di Unity Localization | XLIFF, CSV, Google Sheets | Definisce esattamente quali tipi di file una piattaforma di traduzione deve analizzare per lavorare direttamente con i contenuti di Unity. |
| Garanzia di qualità di Smartling Professional Translation | Punteggio MQM medio superiore a 98 | Fornisce a un lead di localizzazione un punto di riferimento oggettivo di qualità per il testo di gioco tradotti, non solo l'opinione di un recensore. |
Quali sono i passaggi concreti per localizzare un progetto Unity end-to-end?
La sequenza qui sotto vale indipendentemente dal fornitore o dalla piattaforma di traduzione utilizzata da un team — cambia solo lo strumento nel terzo passo.
- Esternalizza e struttura le tue stringhe : sposta ogni stringa rivolta all'utente fuori dal codice e in una String Table Collection, e fai riferimento all'audio, alle texture o ai modelli localizzati tramite una Asset Table invece che un percorso hardcoded.
- Esporta in un formato pronto per la traduzione - usa le estensioni XLIFF o CSV integrate di Unity per esportare il contenuto di una String Table Collection in un formato con cui un traduttore o una piattaforma esterna possa lavorare.
- Trasferisci i file esportati attraverso un flusso di lavoro di traduzione : carica il file XLIFF o CSV tramite l'API di una piattaforma di traduzione oppure, per i team che mantengono i file di localizzazione nel sistema di controllo versione, inviali tramite un connettore di repository, come il connettore GitHub di Smartling, in modo che una pull request attivi automaticamente la traduzione.
- Esegui una pseudo-localizzazione e un controllo qualità delle stringhe reimportate : esegui la fase di pseudo-localizzazione di Unity e verifica le stringhe tradotte rispetto al loro set di caratteri prima di considerare una lingua come completata, individuando tempestivamente eventuali troncamenti e lacune nella copertura dei font.
- Testa ogni target di build prima del rilascio : convalida la build localizzata per ogni piattaforma, poiché la certificazione per console, la revisione da parte degli store di app per dispositivi mobili e il rilascio su Steam presentano ciascuno problemi diversi di espansione del testo e rendering dei caratteri.
Questo approccio si adatta a squadre che...
- Distribuisci lo stesso titolo Unity in tre o più lingue su un ritmo ricorrente di contenuti o aggiornamenti live-ops.
- Tengo già le esportazioni di String Table (XLIFF o CSV) in un repository Git insieme al loro codice di gioco.
- Localizza sia stringhe che asset — voiceover, texture, video delle cutscene — in più località, non solo testo.
- Desideri un'unica memoria di traduzione e un unico glossario condivisi tra il testo in-app di un gioco e i relativi contenuti di marketing o di supporto?
Quando questa potrebbe non essere la priorità giusta
- Un prototipo di mercato unico che ancora verifica se il gioco sia divertente, dove una pipeline di traduzione è un costo senza alcun ritorno a breve termine.
- Una traduzione una tantum in una singola lingua aggiuntiva senza aggiornamenti di contenuto pianificati, dove esportare manualmente un CSV una volta può essere più semplice che avviare un flusso di lavoro completo.
- Un progetto con solo poche centinaia di stringhe e senza aggiornamenti in tempo reale, dove l'estensione integrata di Unity per Google Sheets potrebbe essere sufficiente.
Lista di controllo per la valutazione: domande da porsi prima di localizzare un progetto Unity
Hai esternalizzato tutte le stringhe in tabelle di stringhe prima di iniziare la traduzione?
Una stringa ancora codificata in modo rigido in uno script non può essere tradotta tramite alcun flusso di lavoro, indipendentemente dalla piattaforma o dal fornitore scelto.
Le tue voci nella Asset Table — audio, texture, modelli — vengono seguite attraverso lo stesso processo di revisione delle tue stringhe?
La localizzazione delle risorse viene eseguita su un sistema separato (Addressables) rispetto alla localizzazione delle stringhe, quindi è facile che un controllo qualità verifichi il testo tradotto e non rilevi una risorsa localizzata non aggiornata.
Il tuo formato di esportazione corrisponde davvero a quello che la tua piattaforma di traduzione analizza?
Unity esporta i dati delle tabelle di stringhe in formato XLIFF o CSV; verifica che la tua piattaforma analizzi entrambi i formati nativamente, senza richiedere una conversione manuale preliminare.
Hai un flusso di lavoro ripetibile basato su repository per spingere e estrarre file tradotti?
Il trasferimento manuale dei file funziona per una singola release; un gioco live-ops con aggiornamenti di contenuti ricorrenti necessita di un flusso di lavoro basato su connettori che resista a decine di release.
Hai pseudo-localizzato e generato set di caratteri prima della tua prima vera traduzione?
Entrambi riscontrano problemi — espansione del testo e mancanza di copertura del font — anche se sono ancora economici da risolvere, prima che il lavoro del traduttore venga influenzato da un bug dell'interfaccia utente o del font.
La localizzazione di Unity può essere integrata con altri strumenti o piattaforme?
Sì — I dati di localizzazione esportati da Unity possono essere trasferiti tramite una piattaforma di traduzione esterna, anche se il pacchetto di localizzazione Unity stesso non ha un connettore integrato per un sistema di gestione della traduzione aziendale. La sua superficie di integrazione nativa è basata su file: importazione ed esportazione di estensioni per XLIFF, CSV e Google Sheets.
Smartling non offre un plugin specifico per Unity, ma analizza direttamente entrambi i formati di esportazione nativi di Unity: XLIFF (.xlf, .xliff). tramite il supporto standard XLIFF 1.2 e 2.0 e CSV tramite direttive di file a livello di colonna che mappano le colonne chiave, sorgente e istruzioni. Questo formato condiviso rappresenta un vero e proprio ponte: è possibile esportare una String Table Collection da Unity e caricare il file tramite l'API Files di Smartling, oppure, per i team che mantengono queste esportazioni in un repository Git insieme al codice del gioco, è possibile elaborarle tramite il connettore GitHub di Smartling (disponibile anche per GitLab e Bitbucket), che tiene traccia di un ramo specificato, inoltra automaticamente i file nuovi o modificati per la traduzione e invia le traduzioni completate tramite lo stesso flusso di lavoro di pull request utilizzato per le altre modifiche al codice. Sul fronte qualitativo, la funzione Pseudo Translations di Smartling allunga le stringhe con caratteri aggiuntivi per testare la tolleranza dell'interfaccia utente a testi più lunghi, concettualmente lo stesso controllo eseguito dalla pseudo-localizzazione di Unity. Inoltre, le traduzioni fornite tramite il flusso di lavoro professionale di Smartling sono coperte da una Garanzia di Soddisfazione della Traduzione basata su un punteggio MQM medio superiore a 98.
Pronto a vedere Smartling in azione?
Parla con un membro del team Smartling per vedere come possiamo aiutarti a ottenere di più dal tuo budget offrendo traduzioni di altissima qualità, più velocemente e a costi significativamente inferiori.