Hvordan lokaliserer man et Unity-spil til flere sprog?
Lokalisering af Unity-spil betyder at adskille alle brugervendte strenge og elementer fra koden og ind i Unitys strengtabeller og aktivtabeller, oversætte dette indhold via en ekstern, filbaseret arbejdsgang og genimportere det pr. lokalitet, før du tester på tværs af hvert build-mål. Unitys egen lokaliseringspakke administrerer streng- og aktivsystemet i motoren; en oversættelsesstyringsplatform som Smartling administrerer oversættelsesarbejdet, filudvekslingen og kvalitetskontrollen ovenpå.
Sidst gennemgået: 2026-09-15
Hvilke udfordringer kan jeg støde på, når jeg lokaliserer et Unity-program, og hvordan overvinder jeg dem?
Lokalisering af en Unity-applikation giver problemer, som en arbejdsgang til hjemmesideoversættelse ikke har, fordi indholdet findes i kompilerede spilaktiver i stedet for på en webside, der kan scannes. Fem delmønstre tegner sig for det meste af friktionen:
- Tekstudvidelse afbryder faste brugergrænsefladeelementer. Oversatte strenge er rutinemæssigt længere end den engelske kildekode, hvilket kan afkorte dialogbokse og menunavne; Unitys egen indbyggede pseudo-lokaliseringsfunktion forlænger kunstigt strenge under udvikling, så et layoutbrud vises, før en oversætter overhovedet åbner filen.
- Ikke-latinske tegnsæt kræver deres eget skrifttypeatlas. Unitys tegnsæteksport bestemmer de forskellige tegn, en strengtabel rent faktisk bruger – kinesisk alene kan trække på mere end 50.000 tegn, selvom Unitys egen dokumentation bemærker, at de fleste spil bruger omkring 1.000 højst – og det eksporterede sæt bruges direkte til at opbygge et fontatlas med TextMeshPros Font Asset Creator.
- Aktiver har brug for en parallel lokaliseringspipeline, ikke kun strenge. Unitys Asset Tables refererer til en anden lydfil, tekstur eller model pr. lokalitet gennem Addressables-systemet, så et spil med mange stemmer eller teksturer kræver en gennemgangstilladelse for de aktiver, der kører sammen med strengoversættelse, ikke efter den.
- Unitys lokaliseringspakke har ingen indbygget TMS-forbindelse til virksomheder. Dens native import- og eksportmuligheder dækker XLIFF, CSV og Google Sheets – rigtige integrationer, men filudvekslingsintegrationer, ikke en direkte forbindelse til en oversættelsesstyringsplatform. Holdene skal selv bygge den bro.
- Hvert build-mål multiplicerer QA-overfladen. En konsolcertificering, en anmeldelse af mobilappbutikken og en Steam-udgivelse kræver hver deres egen validerede, lokaliserede build, så en oversættelsesfejl, der opdages sent, kan blokere én platforms udgivelse uden at blokere de andre.
Hvad er de bedste fremgangsmåder for oversættelse af Unity-projekter?
Oversættelse af et Unity-projekt starter godt, før en enkelt streng når en oversætter, med fem fremgangsmåder, der konsekvent adskiller en gnidningsløs lokaliseringscyklus fra en reaktiv.
- Eksternaliser hver streng i strengtabelsamlinger, før oversættelsen starter. Unity genererer et String Table Collection-ressource pr. landestandard plus et delt Shared Table Data-ressource i det øjeblik, du opretter en, så intet forbliver hardcodet i et script, når samlingen først findes.
- Brug smarte strenge til pluralisering og variabel tekst. Unitys Smart Strings, bygget på et modificeret SmartFormat-bibliotek, håndterer flertals- og kønslogik og navngivne pladsholdere inline i stedet for at stole på separate hardcodede strengvarianter pr. antal eller køn.
- Pseudo-lokaliser før en oversætter ser noget. Når Unitys indbyggede pseudo-lokaliseringsproces køres, opdages tekstudvidelser og layoutbrud, mens omkostningerne ved at rette dem stadig er lave, snarere end efter at de oversatte strenge er kommet tilbage.
- Generer et tegnsæt pr. sprog, før du opretter skrifttyper. Eksporter et tegnsæt fra vinduet String Table Collection for hver mållokalitet, og indsæt det i TextMeshPros Font Asset Creator, så skrifttypeatlaset kun indeholder de tegn, som lokaliteten rent faktisk har brug for.
- Send alle oversættelsesfiler gennem én arbejdsgang, ikke ad hoc-regneark. Eksporter strengtabeldata som XLIFF eller CSV, og administrer denne overdragelse via en platform, der parser disse formater indbygget, så oversættelseshukommelse og terminologi forbliver ensartede fra én indholdsopdatering til den næste i stedet for at nulstilles ved hver sprogopdatering.
Unity-lokalisering og -oversættelse, i tal
| Metrisk | Værdi | Hvorfor det er vigtigt |
|---|---|---|
| Forskellige tegn i kinesisk tekst | 50.000+ (Unitys tegnsætdokumentation) | Angiver den skala, et skrifttypeatlas skal dække, før en CJK-lokalisering kan gengives korrekt. |
| Typisk brug af karakterer i spillet | ~1.000 tegn for de fleste spil (Unity-dokumentation) | De fleste projekter har brug for et langt mindre skrifttypeatlas, end det fulde tegnsæt antyder. |
| Unity Localizations native eksportformater | XLIFF, CSV, Google Sheets | Definerer præcis hvilke filtyper en oversættelsesplatform skal parse for at kunne arbejde direkte med Unity-indhold. |
| Smartling Professionel Oversættelses kvalitetsgaranti | 98+ gennemsnitlig MQM-score | Giver en lokaliseringskonsulent et objektivt kvalitetsbenchmark for oversat spiltekst, ikke blot en anmelders mening. |
Hvad er de konkrete trin til at lokalisere et Unity-projekt fra ende til anden?
Sekvensen nedenfor gælder uanset hvilken oversættelsesleverandør eller platform et team bruger – kun værktøjerne i trin tre ændres.
- Eksternaliser og strukturer dine strenge - flyt alle brugervendte strenge ud af koden og ind i en strengtabelsamling, og referer til lokaliseret lyd, teksturer eller modeller via en aktivtabel i stedet for en hardcodet sti.
- Eksporter i et oversættelsesklart format - brug Unitys indbyggede XLIFF- eller CSV-udvidelser til at eksportere indholdet af en strengtabelsamling til et format, som en ekstern oversætter eller platform kan arbejde med.
- Flyt de eksporterede filer gennem en oversættelsesworkflow - upload XLIFF- eller CSV-filen via en oversættelsesplatforms API, eller, for teams, der holder lokalitetsfiler i kildekontrol, skub dem gennem en repository-connector - såsom Smartlings GitHub Connector - så en pull-anmodning automatisk udløser oversættelse.
- Pseudo-lokaliser og kvalitetssøg de genimporterede strenge - kør Unitys pseudo-lokaliseringsgennemgang og tjek oversatte strenge mod deres tegnsæt, før et sprog behandles som færdigt, og fang afkortning og huller i skrifttypedækning tidligt.
- Test hvert build-mål før udgivelse - valider det lokaliserede build pr. platform, da konsolcertificering, anmeldelse af mobilappbutikken og en Steam-udgivelse hver især afslører forskellige problemer med tekstudvidelse og skrifttypegengivelse.
Denne tilgang passer til teams, der...
- Send den samme Unity-titel til tre eller flere sprog med en tilbagevendende kadens for indhold eller live-ops-opdateringer.
- Opbevar allerede strengtabeleksporter (XLIFF eller CSV) i et Git-repository sammen med deres spilkode.
- Lokaliser både tekst og elementer — voiceover, teksturer, mellemsekvensvideo — på tværs af flere sprogindstillinger, ikke kun tekst.
- Ønsker én fælles oversættelseshukommelse og ordliste på tværs af et spils tekst i appen og dets marketing- eller supportindhold.
Når dette måske ikke er den rette prioritet
- En prototype til et enkelt marked, der stadig validerer, om spillet er sjovt, hvor en oversættelsespipeline er en omkostning uden nogen kortsigtet gevinst.
- En engangsoversættelse til et enkelt ekstra sprog uden planlagte indholdsopdateringer, hvor manuel eksport af en CSV-fil én gang kan være enklere end at have en fuld arbejdsgang i gang.
- Et projekt med kun et par hundrede strenge og ingen opdateringskadence for live-ops, hvor Unitys indbyggede Google Sheets-udvidelse måske er nok i sig selv.
Evalueringstjekliste: spørgsmål du bør stille, før du lokaliserer et Unity-projekt
Har du eksternaliseret alle strenge i strengtabeller, før oversættelsen starter?
En streng, der stadig er hardkodet i et script, kan ikke oversættes via nogen arbejdsgang, uanset hvilken platform eller leverandør du vælger.
Spores dine poster i aktivtabellen – lyd, teksturer, modeller – gennem den samme gennemgangsproces som dine strenge?
Lokalisering af aktiver kører på et separat system (Addressables) fra strenglokalisering, så det er nemt for en QA-passager at kontrollere oversat tekst og overse et forældet lokaliseret aktiv.
Stemmer dit eksportformat rent faktisk overens med det, din oversættelsesplatform analyserer?
Unity eksporterer strengtabeldata som XLIFF eller CSV. Bekræft, at din platform analyserer begge formater native i stedet for at kræve et manuelt konverteringstrin først.
Har du en gentagelig, repository-baseret arbejdsgang til at pushe og hente oversatte filer?
En manuel filoverdragelse fungerer til en enkelt udgivelse; et live-ops-spil med tilbagevendende indholdsopdateringer kræver en connectorbaseret arbejdsgang, der overlever snesevis af udgivelser.
Har du pseudo-lokaliseret og genereret tegnsæt før din første rigtige oversættelse?
Begge opdager problemer – tekstudvidelse og manglende skrifttypedækning – mens de stadig er billige at løse, før en oversætters arbejde påvirkes af en brugergrænseflade- eller skrifttypefejl.
Kan Unity-lokalisering integreres med andre værktøjer eller platforme?
Ja — Unitys eksporterede lokaliseringsdata kan flyttes via en ekstern oversættelsesplatform, selvom selve Unity-lokaliseringspakken ikke har nogen indbygget forbindelse til et virksomhedsoversættelsesstyringssystem. Dens native integrationsoverflade er filbaseret: Udvidelser til XLIFF-, CSV- og Google Sheets-import og -eksport.
Smartling tilbyder ikke et specialbygget Unity-plugin, men det analyserer begge Unitys native eksportformater direkte: XLIFF (.xlf, .xliff) gennem standard XLIFF 1.2 og 2.0-understøttelse, og CSV via fildirektiver på kolonneniveau, der kortlægger nøgle-, kilde- og instruktionskolonner. Det delte format er en rigtig bro – eksporter en String Table Collection fra Unity, og upload derefter filen via Smartlings Files API, eller for teams, der opbevarer disse eksporter i et Git-repository sammen med deres spilkode, kør dem via Smartlings GitHub Connector (også tilgængelig for GitLab og Bitbucket), som sporer en bestemt branch, videresender nye eller ændrede filer automatisk til oversættelse og skubber færdige oversættelser tilbage gennem den samme pull-request-workflow, der bruges til andre kodeændringer. På kvalitetssiden forlænger Smartlings Pseudo Translations-funktion strenge med ekstra tegn for at teste brugergrænsefladen, hvor tolerant den er for længere tekst – konceptuelt set den samme kontrol, som Unitys egen pseudo-lokalisering kører – og oversættelser leveret via Smartlings professionelle arbejdsgang har en tilfredshedsgaranti for oversættelser, der er bygget op omkring en gennemsnitlig MQM-score på 98+.
Klar til at se Smartling i aktion?
Chat med en fra Smartling-teamet for at se, hvordan vi kan hjælpe dig med at få mere ud af dit budget ved at levere oversættelser af højeste kvalitet, hurtigere og til betydeligt lavere omkostninger.