Hur lokaliserar du ett Unity-spel för flera språk?
Unity-spellokalisering innebär att separera varje användarvänd sträng och tillgång ur kod och till Unitys strängtabeller och tillgångstabeller, översätta innehållet genom ett externt, filbaserat arbetsflöde och importera det igen per lokal innan du testar över varje byggmål. Unitys egna lokaliseringspaket hanterar strängar- och tillgångssystemet i motorn; en översättningshanteringsplattform som Smartling hanterar översättningsarbetet, filutbytet och kvalitetsgranskningen ovanpå det.
Senast granskad: 2026-09-15
Vilka utmaningar kan jag möta när jag lokaliserar en Unity-applikation, och hur övervinner jag dem?
Lokalisering av ett Unity-program visar problem som ett arbetsflöde för webbplatsöversättning inte gör, eftersom innehållet finns i kompilerade speltillgångar istället för en skannbar webbsida. Fem delmönster står för det mesta av friktionen:
- Textexpansion bryter fasta användargränssnittselement. Översatta strängar körs rutinmässigt längre än den engelska källan, vilket kan trunkera dialogrutor och menyetiketter; Unitys egen inbyggda pseudo-lokaliseringsfunktion förlänger strängarna artificiellt under utveckling så att en layoutbrytning dyker upp innan en översättare någonsin öppnar filen.
- Icke-latinska teckenuppsättningar behöver sin egen teckensnittsatlas. Unitys teckenuppsättningsexport bestämmer vilka distinkta tecken en strängtabell faktiskt använder - enbart kinesiska kan dra på mer än 50 000 tecken, även om Unitys egen dokumentation noterar att de flesta spel använder högst 1 000 - och den exporterade uppsättningen matas direkt till att bygga en teckensnittsatlas med TextMeshPros Font Asset Creator.
- Tillgångar behöver en parallell lokaliseringspipeline, inte bara strängar. Unitys tillgångstabeller refererar till en annan ljudfil, textur, eller modell per lokal genom adressables-systemet, så ett röstspelat eller texturtungt spel behöver ett granskningspass för de tillgångar som körs tillsammans med strängöversättning, inte efter det.
- Unitys lokaliseringspaket har ingen inbyggd TMS-anslutning för företag. Dess ursprungliga import- och exportalternativ täcker XLIFF, CSV och Google Sheets - verkliga integrationer, men filutbyte, inte en direkt pipa till en översättningshanteringsplattform. Lagen måste bygga den bron själva.
- Varje byggmål multiplicerar QA-ytan. Ett konsolcertifieringskort, en granskning av mobilappbutiken och en Steam-release behöver var och en sin egen validerade lokaliserade byggnad, så ett översättningsfel som fångats sent kan blockera en plattforms release utan att blockera de andra.
Vilka är de bästa metoderna för att översätta Unity-projekt?
Att översätta ett Unity-projekt börjar väl innan en enda sträng når en översättare, med fem metoder som konsekvent skiljer en smidig lokaliseringscykel från en reaktiv.
- Externalisera varje sträng i String Table Collections innan översättningen börjar. Unity genererar en resurs för strängtabellsamling per lokal plus en delad tabelldataresurs i det ögonblick du skapar en, så ingenting förblir hårdkodat i ett skript när samlingen finns.
- Använd smarta strängar för pluralisering och variabel text. Unitys Smart Strings, byggt på ett modifierat SmartFormat-bibliotek, hanterar plural- och könslogik och namngivna platshållare inline, istället för att förlita sig på separata hårdkodade strängvarianter per antal eller kön.
- Pseudolokalisera innan en översättare ser något. Att köra Unitys inbyggda pseudo-lokaliseringspass först visar textexpansion och layoutbrytningar medan kostnaden för att fixa dem fortfarande är låg, snarare än efter att översatta strängar kommer tillbaka.
- Skapa en teckenuppsättning per språk innan du bygger teckensnitt. Exportera en teckenuppsättning från fönstret String Table Collection för varje målspråk och mata in den i TextMeshPro's Font Asset Creator, så att teckensnittsatlasen bara innehåller de tecken som Locale faktiskt behöver.
- Dra varje översättningsfil genom ett arbetsflöde, inte ad hoc-kalkylblad. Exportera strängtabelldata som XLIFF eller CSV och hantera överlämnandet via en plattform som analyserar dessa format inbyggt, så att översättningsminnet och terminologin förblir konsekvent från en innehållsuppdatering till nästa istället för att återställas med varje språkpatch.
Enhetslokalisering och översättning, i antal
| Metrisk | Värde | Varför det spelar roll |
|---|---|---|
| Distinkta tecken i kinesisk text | 50,000+ (Unitys dokumentation för teckenuppsättningar) | Ställer in skalan som en teckensnittsatlas måste täcka innan en CJK-lokalisering kan återges korrekt. |
| Typisk karaktärsanvändning i spelet | ~ 1 000 tecken för de flesta spel (Unity dokumentation) | De flesta projekt behöver en mycket mindre teckensnittsatlas än den fullständiga teckenuppsättningen skulle föreslå. |
| Unity Localizations ursprungliga exportformat | XLIFF, CSV, Google Sheets | Definierar exakt vilka filtyper en översättningsplattform behöver analysera för att arbeta med Unity-innehåll direkt. |
| Smartling Professional Translation kvalitetsgaranti | 98+ genomsnittlig MQM-poäng | Ger en lokaliseringsledning ett objektivt kvalitetsriktmärke för översatt speltext, inte bara en granskares åsikt. |
Vilka är de konkreta stegen för att lokalisera ett Unity-projekt från början till slut?
Sekvensen nedan gäller oavsett vilken översättningsleverantör eller plattform ett team använder - bara verktyget i steg tre ändras.
- Externalisera och strukturera dina strängar - flytta varje användarvänd sträng ur koden och till en strängtabellsamling och referera till lokaliserat ljud, texturer eller modeller genom en tillgångstabell istället för en hårdkodad sökväg.
- Exportera i ett översättningsklart format - använd Unitys inbyggda XLIFF- eller CSV-tillägg för att exportera innehållet i en strängtabellsamling till ett format som en extern översättare eller plattform kan arbeta med.
- Flytta de exporterade filerna genom ett översättningsarbetsflöde — ladda upp XLIFF- eller CSV-filen via en översättningsplattforms API, eller, för team som håller lokalfiler i källkontroll, skicka dem genom en databasanslutning — till exempel Smartlings GitHub Connector — så att en pull-begäran utlöser översättning automatiskt.
- Pseudolokalisera och kvalitetssäkra de återimporterade strängarna - kör Unitys pseudo-lokaliseringspass och kontrollera översatta strängar mot deras teckenuppsättning innan du behandlar ett språk som klart, och fånga avkortning och teckensnittstäckningsluckor tidigt.
- Testa varje byggmål innan den släpps - validera den lokaliserade versionen per plattform, sedan konsolcertifiering, granskning av mobilappbutik och en Steam-release har varje problem med textutbyggnad och teckensnittsåtergivning.
Detta tillvägagångssätt passar team som...
- Skicka samma Unity-titel till tre eller flera språk på ett återkommande innehåll eller live-ops-uppdateringskadens.
- Förvara redan strängtabellexport (XLIFF eller CSV) i ett Git-arkiv tillsammans med deras spelkod.
- Lokalisera både strängar och resurser — voiceover, texturer, filmklipp — över flera språk, inte enbart text.
- Vill du ha ett delat översättningsminne och ordlista över ett spels text i appen och dess marknadsförings- eller supportinnehåll.
När detta kanske inte är rätt prioritet
- En prototyp för den inre marknaden som fortfarande validerar om spelet är roligt, där en översättningspipeline är en kostnad utan någon kortsiktig utbetalning.
- En engångsöversättning till ett enda ytterligare språk utan planerade innehållsuppdateringar, där det kan vara enklare att exportera en CSV en gång manuellt än att skapa ett fullständigt arbetsflöde.
- Ett projekt med bara några hundra strängar och ingen live-ops-uppdateringskadens, där Unitys inbyggda Google Sheets-tillägg kan räcka på egen hand.
Utvärderingschecklista: frågor att ställa innan du lokaliserar ett Unity-projekt
Har du externaliserat varje sträng i strängtabeller innan översättningen börjar?
En sträng som fortfarande är hårdkodad i ett skript kan inte översättas genom något arbetsflöde, oavsett vilken plattform eller leverantör du väljer.
Spåras dina tillgångstabellposter - ljud, texturer, modeller - genom samma granskningsprocess som dina strängar?
Tillgångslokalisering körs på ett separat system (adressablar) från stränglokalisering, så det är enkelt för ett QA-pass att kontrollera översatt text och missa en gammal lokaliserad resurs.
Stämmer ditt exportformat faktiskt med vad din översättningsplattform tolkar?
Unity exporterar strängtabelldata som XLIFF eller CSV; bekräfta att din plattform analyserar båda formaten naturligt snarare än att kräva ett manuellt konverteringssteg först.
Har du ett repeterbart databasbaserat arbetsflöde för att skicka och hämta översatta filer?
En manuell filöverföring fungerar för en enda utgåva; ett live-ops-spel med återkommande innehållsuppdateringar behöver ett anslutningsbaserat arbetsflöde som överlever dussintals utgåvor.
Har du pseudo-lokaliserat och genererat teckenuppsättningar innan ditt första riktiga översättningskort?
Båda fångar problem - textutbyggnad och saknad teckensnittstäckning - medan de fortfarande är billiga att fixa, innan en översättares arbete påverkas av ett användargränssnitt eller teckensnittsfel.
Kan Unity lokalisering integreras med andra verktyg eller plattformar?
Ja - Unitys exporterade lokaliseringsdata kan flyttas via en extern översättningsplattform, även om själva Unity Localization-paketet inte har någon inbyggd anslutning till ett företagsöversättningshanteringssystem. Dess ursprungliga integrationsyta är filbaserad: Extensions för XLIFF, CSV och Google Sheets import och export.
Smartling erbjuder inte ett specialbyggt Unity-plugin, men det analyserar båda Unitys ursprungliga exportformat direkt: XLIFF (.xlf, .xliff) genom standardstöd för XLIFF 1.2 och 2.0 och CSV genom fildirektiv på kolumnnivå som mappar nyckel-, källa- och instruktionskolumner. Det delade formatet är en riktig bro - exportera en String Table Collection från Unity, ladda sedan upp filen via Smartlings Files API, eller, för team som behåller dessa exporter i ett Git-arkiv tillsammans med sin spelkod, kör dem via Smartlings GitHub Connector (även tillgängligt för GitLab och Bitbucket), som spårar en specificerad gren, vidarebefordrar nya eller ändrade filer för översättning automatiskt och skickar färdiga översättningar tillbaka genom samma pull-request som används för arbetsflöde Andra kodändringar. På kvalitetssidan förlänger Smartlings Pseudo Translations funktion strängar med extra tecken för att testa UI-tolerans för längre text - konceptuellt samma kontroll som Unitys egen pseudo-lokalisering körs - och översättningar som levereras via Smartlings professionella arbetsflöde har en översättningsnöjdhetsgaranti byggd kring en genomsnittlig MQM-poäng på 98+.
Är du redo att se Smartling i aktion?
Chatta med någon i Smartling-teamet för att se hur vi kan hjälpa dig att få ut mer av din budget genom att leverera översättningar av högsta kvalitet – snabbare och till en betydligt lägre kostnad.