Växla texten i ett textobjekt så att den matchar miljön där texten stöds på flera språk
Verifiering miljö
- Windows
-
- Fönster 11
- Unity-redaktör
-
- 2021.3.12F1
- Inmatningssystem (Unity-teknik)
-
- 1.4.3
- Lokalisering (Unity-tekniker)
-
- 1.3.2
Förutsättningar för det här tipset
Följande inställningar har gjorts i förväg som en förutsättning för beskrivningen av detta tips.
Om lokalisering
I många fall skapas spel på språket i den miljö där de utvecklas, eller på engelska. Men för att fler ska kunna spela spel är det nödvändigt att skapa spel enligt landets kultur och språk. Detta kallas vanligtvis "lokalisering".
I det här tipset skulle jag vilja göra "flerspråkigt stöd", vilket är en av lokaliseringarna. Det finns många sätt att göra flerspråkig support i Unity, men i det här fallet vill vi använda Unitys officiella tilläggspaket, Lokalisering, för att stödja flera språk.
Installera lokaliseringspaketet
För att stödja lokalisering måste du först installera paketet "Lokalisering".
På menyn väljer du Fönster - > Package Manager.
I det övre vänstra hörnet i pakethanteraren som visas väljer du Unity-registret.
"Lokalisering" visas i menyn till vänster, så välj den och klicka på Installera-knappen. Det tar lite tid att installera. När du har installerat stänger du dialogrutan.
Skapa en lokalisering
När du har installerat paketet skapar du texten för varje språk. Välj Redigera - > Projektinställningar på menyn.
Välj Lokalisering på menyn till vänster och klicka på knappen Skapa.
Filen skapas, så ange vilken mapp som helst. Flera filer kommer att genereras, så det är bättre att skapa dem i en dedikerad mapp. Här skapar vi en "Lokalisering" -mapp i mappen "Scener" och skapar den i den.
När den skapas kommer skärmen att se ut så här.
Filen skapas också i den angivna mappen. Vid denna tidpunkt finns det fortfarande en.
Skapa en språkinställning
Vi skapar texten som motsvarar språket. Öppna projektinställningarna Lokalisering och klicka på knappen Språkgenerator.
Välj motsvarande språkinställning. Välj bara det du behöver. Ju mer du kontrollerar, desto bredare kan spelet distribueras, men mängden arbete kommer att öka proportionellt.
Den här gången väljs "japanska (ja)", "engelska (en)" och "spanska (es)".
Efter inställningen klickar du på knappen "Generera lokaler" längst ned till höger för att skapa den.
Anger i vilken mapp filen ska skapas. Det kan vara en annan plats, men det är lättare att hantera om det är organiserat, så ange mappen "Lokalisering" som skapades tidigare.
Tillgängliga språkinställningar läggs till i det antal språk du väljer.
Filer skapas också i den angivna mappen för så många språk som du väljer.
Konfigurera sedan språkväljare. Det här är en inställning för vilken information som avgör språkinställningen när spelet startas. Om det inte finns några speciella beslutsvillkor kan du lämna det som det är. Jag vill att standardspråket ska vara japanska när språkinställningen inte bestäms genom att försöka. Från den tredje specifika språkväljaren klickar du på cirkelknappen till höger.
Välj japanska (ja).
På samma sätt ska projektets språkidentifierare vara "japanska (ja)".
Skapa texter
Skapa text för varje språkområde. Det finns flera sätt att skapa det, men här skapar vi det genom att ställa in texten från grunden med ett GameObject.
På menyn väljer du Fönster > Tillgångshantering – > lokaliseringstabeller.
Klicka på Ny tabellsamling.
Kontrollera att alla språkinställningar som du har skapat är markerade.
Eftersom den här tiden lokaliserar vi texten, välj "String Table Collection" för "Type".
Ange tabellnamnet eftersom texten för varje språkinställning bevaras som en tabelllista. TextTable
I det här exemplet används det.
När du har angett klickar du på knappen "Skapa".
Välj en destination. Eftersom flera filer genereras för varje tabell är det bättre att skapa en dedikerad mapp. Här skapar vi en "TextTable" -mapp i mappen "Lokalisering" och anger den.
När tabellen har skapats visas den. Det är 0 rader eftersom jag inte har skapat något än.
Filer skapas också för mappar så många språk. I grund och botten berör jag inte detta direkt.
Låt oss försöka skapa en. Det finns en "Lägg till ny post" -knapp i tabellen, så klicka på den.
Detta lägger till en rad och visar ett inmatningsfält för varje språk.
Prova att översätta ordet "hej" till varje språk och skriv "Hej", "Hej" respektive "Hola".
Nyckeln är Hello
. Förresten, om du anger det, sparas det automatiskt.
Lägg till ytterligare en rad så att du vet att du kan hantera mer än en.
Baserat på orden "tack" är nyckeln ThankYou
att skriva varje ord "tack", "tack" och "gracias".
Stäng dialogrutan när du har angett. Du kan docka den någonstans.
Lokaliseringsinställningar för textobjekt
I det här fallet ska vi låta visningstexten växla till UI-textobjektet enligt det språk som ställts in i spelet.
Placera först textobjektet godtyckligt. Jag använder det inte den här gången, men TextMeshPro
jag kan hantera det.
När du har markerat det monterade objektet väljer du Lokalisera på textkomponentens trepunktsmeny.
Detta lägger till en ny Localize String Event-komponent.
Eftersom Strängreferens inte är markerat klickar du på Ingen.
När dialogrutan visas anger du texttangenten som ska ställas in i inmatningsfältet ovan.
Hello
Skriv i så fall och dubbelklicka i Hello
listan nedan.
Du kan expandera strängreferensen för att se att de olika värdena har angetts. Det är allt som finns i det.
Kör och verifiera
När du är klar kan du prova att köra spelet. Texten bör ändras när du kör spelet. I bilden nedan visas den på japanska eftersom den körs i en japansk miljö.
I det övre högra hörnet av spelskärmen på redigeraren kan du ändra spelets språk. Prova att välja spanska ett tag.
Sedan kan du bekräfta att innehållet i texten växlar automatiskt.
Som du kan se gör Unitys officiella lokaliseringspaket det enkelt att tillämpa och växla till användargränssnittet och se hur det fungerar.
Prova att ställa in en annan text och se om texten ändras.
Prova att köra i en annan språkmiljö
Bygg och mata ut programmet för att se om det visas på motsvarande språk när det körs i en annan språkmiljö.
Följande diagram visar resultatet av att installera engelska dessutom för Windows 11 japanska operativsystem och köra det i en miljö med engelska som standardspråk. Jag tror att du kan se till att språket byts ut efter miljön.