De tekst van een tekstobject aanpassen aan de omgeving waarin de tekst meertalig wordt ondersteund
Verificatieomgeving
- Ramen
-
- Voor Windows 11
- Unity Editor
-
- 2021.3.12f1
- Invoersysteem (Unity Technologies)
-
- 1.4.3
- Lokalisatie (Unity Technologies)
-
- 1.3.2
Vereisten voor deze tip
De volgende instellingen zijn vooraf gemaakt als uitgangspunt voor de beschrijving van deze tip.
Informatie over lokalisatie
In veel gevallen worden games gemaakt in de taal van de omgeving waarin ze zijn ontwikkeld, of in het Engels. Om meer mensen games te laten spelen, is het echter noodzakelijk om games te maken volgens de cultuur en taal van het land. Dit wordt gewoonlijk 'lokalisatie' genoemd.
In deze tip wil ik graag "meertalige ondersteuning" doen, wat een van de lokalisaties is. Er zijn veel manieren om meertalige ondersteuning in Unity te doen, maar in dit geval willen we het officiële uitbreidingspakket van Unity, Localization, gebruiken om meerdere talen te ondersteunen.
Het lokalisatiepakket installeren
Om lokalisatie te ondersteunen, moet u eerst het pakket "Lokalisatie" installeren.
Selecteer in het menu Venster - > Pakketbeheer.
Selecteer in de linkerbovenhoek van de pakketbeheerder die wordt weergegeven Unity Registry.
"Lokalisatie" wordt weergegeven in het menu aan de linkerkant, dus selecteer het en klik op de knop Installeren. Het zal enige tijd duren om te installeren. Na de installatie sluit u het dialoogvenster.
Een lokalisatie maken
Nadat u het pakket hebt geïnstalleerd, maakt u de tekst voor elke taal. Selecteer Bewerken - > Projectinstellingen in het menu.
Selecteer Lokalisatie in het menu aan de linkerkant en klik op de knop Maken.
Het bestand wordt gemaakt, dus geef een willekeurige map op. Er worden meerdere bestanden gegenereerd, dus het is beter om ze in een speciale map te maken. Hier maken we een map "Lokalisatie" in de map "Scènes" en maken deze daarin.
Wanneer het scherm is gemaakt, ziet het er als volgt uit.
Het bestand wordt ook gemaakt in de opgegeven map. Op dit moment is er nog steeds een.
Een landinstelling maken
We zullen de tekst maken die overeenkomt met de taal. Open de projectinstellingen Lokalisatie en klik op de knop Landinstellingsgenerator.
Selecteer de bijbehorende landinstelling. Kies alleen wat je nodig hebt. Hoe meer je controleert, hoe breder de game kan worden ingezet, maar de hoeveelheid werk zal evenredig toenemen.
Deze keer zijn "Japans (ja)", "Engels (en)" en "Spaans (es)" geselecteerd.
Klik na het instellen op de knop "Landinstellingen genereren" rechtsonder om deze te maken.
Hiermee geeft u de map op waarin het bestand moet worden gemaakt. Het kan een andere plaats zijn, maar het is gemakkelijker te beheren als het is georganiseerd, dus geef de map "Lokalisatie" op die eerder is gemaakt.
Beschikbare landinstellingen worden toegevoegd aan het aantal landinstellingen dat u selecteert.
Bestanden worden ook gemaakt in de opgegeven map voor zoveel landinstellingen als u selecteert.
Configureer vervolgens Landinstellingskiezers. Dit is een instelling voor welke informatie de landinstelling bepaalt wanneer de game wordt gestart. Als er geen speciale beslissingsvoorwaarden zijn, kunt u het laten zoals het is. Ik wil dat de standaardlandinstelling Japans is wanneer de landinstelling niet wordt bepaald door het te proberen. Klik in de derde specifieke localsekiezer op de cirkelknop aan de rechterkant.
Selecteer Japans (ja).
Op dezelfde manier moet de landinstellings-id van het project "Japans (ja)" zijn.
Teksten maken
Maak tekst voor elke landinstelling. Er zijn verschillende manieren om het te maken, maar hier zullen we het maken door de tekst helemaal opnieuw in te stellen met een GameObject.
Selecteer in het menu Venster > Activabeheer - > Lokalisatietabellen.
Klik op Nieuwe tabelverzameling.
Zorg ervoor dat alle landinstellingen die u hebt gemaakt, zijn aangevinkt.
Aangezien we deze keer de tekst lokaliseren, selecteert u "String Table Collection" voor "Type".
Geef de tabelnaam op omdat de tekst voor elke landinstelling wordt bijgehouden als een tabellijst. TextTable
In dit voorbeeld wordt het gebruikt.
Klik na het invoeren op de knop "Maken".
Selecteer een bestemming. Aangezien er voor elke tabel meerdere bestanden worden gegenereerd, verdient het de voorkeur om een speciale map te maken. Hier maken we een map "TextTable" in de map "Localization" en specificeren deze.
Zodra de tabel is gemaakt, verschijnt deze. Het is 0 regels omdat ik nog niets heb gemaakt.
Bestanden worden ook gemaakt voor mappen als vele landinstellingen. Kortom, ik raak dit niet direct aan.
Laten we proberen er een te maken. Er is een knop "Nieuw item toevoegen" in de tabel, dus klik erop.
Hiermee wordt één regel toegevoegd en wordt een invoerveld voor elke landinstelling weergegeven.
Probeer het woord "hallo" in elke taal te vertalen en typ respectievelijk "Hallo", "Hallo" en "Hola".
De sleutel is Hello
. Trouwens, als je het invoert, wordt het automatisch opgeslagen.
Voeg nog een regel toe, zodat u weet dat u er meer dan één kunt beheren.
Op basis van de woorden "dank u", is de sleutel ThankYou
om elk woord "dank u", "dank u" en "gracias" te typen.
Sluit het dialoogvenster na het betreden. Je kunt hem ergens dokken.
Lokalisatie-instellingen voor tekstobjecten
Laten we in dit geval de weergavetekst laten overschakelen naar het UI-tekstobject op basis van de landinstelling die in het spel is ingesteld.
Plaats eerst het tekstobject willekeurig. Ik gebruik het deze keer niet, maar TextMeshPro
ik kan het aan.
Nadat u het geplaatste object hebt geselecteerd, kiest u Lokaliseren in het driepuntsmenu van de component Text.
Hiermee wordt een nieuw onderdeel Tekenreeksgebeurtenis lokaliseren toegevoegd.
Aangezien Tekenreeksverwijzing niet is geselecteerd, klikt u op Geen.
Wanneer het dialoogvenster wordt weergegeven, voert u de teksttoets in die moet worden ingesteld in het bovenstaande invoerveld.
Hello
Typ en dubbelklik in dit geval in Hello
de onderstaande lijst.
U kunt de tekenreeksverwijzing uitvouwen om te zien of de verschillende waarden zijn ingesteld. Dat is alles.
Uitvoeren en verifiëren
Als je klaar bent, probeer je het spel uit te voeren. De tekst moet veranderen wanneer u het spel uitvoert. In de onderstaande afbeelding wordt het in het Japans weergegeven omdat het in een Japanse omgeving wordt uitgevoerd.
In de rechterbovenhoek van het spelscherm op de editor kunt u de taal van het spel wijzigen. Probeer een tijdje Spaans te selecteren.
Vervolgens kunt u bevestigen dat de inhoud van de tekst automatisch overschakelt.
Zoals u kunt zien, maakt het officiële lokalisatiepakket van Unity het gemakkelijk om toe te passen en over te schakelen naar de gebruikersinterface en te zien hoe het werkt.
Probeer een andere tekst in te stellen en kijk of de tekst verandert.
Probeer uit te voeren in een andere taalomgeving
Bouw en voer het programma uit om te zien of het in de overeenkomstige taal wordt weergegeven wanneer het in een andere taalomgeving wordt uitgevoerd.
Het volgende diagram toont de resultaten van het aanvullend installeren van Engels voor het Japanse besturingssysteem van Windows 11 en het uitvoeren ervan in een omgeving met Engels als standaardtaal. Ik denk dat je ervoor kunt zorgen dat de taal wordt aangepast aan de omgeving.