Tekstiobjekti teksti vahetamine vastavalt keskkonnale, kus tekst on mitmekeelselt toetatud

Lehekülg uuendatud :
Lehe loomise kuupäev :

Kontrollimise keskkond

Windows
  • Windows 11
Ühtsuse toimetaja
  • 2021.3.12f1
Sisendsüsteem (Unity Technologies)
  • 1.4.3
Lokaliseerimine (Unity Technologies)
  • 1.3.2

Selle näpunäite eeltingimused

Selle vihje kirjeldamise eelduseks on eelnevalt tehtud järgmised sätted.

Teave lokaliseerimise kohta

Paljudel juhtudel luuakse mängud selle keskkonna keeles, kus need on välja töötatud, või inglise keeles. Kuid selleks, et rohkem inimesi saaks mänge mängida, on vaja luua mänge vastavalt riigi kultuurile ja keelele. Seda nimetatakse tavaliselt "lokaliseerimiseks".

Selles näpunäites tahaksin teha "mitmekeelset tuge", mis on üks lokaliseerimistest. Unitys on mitmekeelse toe tegemiseks palju võimalusi, kuid sel juhul tahaksime mitme keele toetamiseks kasutada Unity ametlikku laienduspaketti Lokaliseerimine.

Lokaliseerimise paketi installimine

Lokaliseerimise toetamiseks peate esmalt installima paketi "Lokaliseerimine".

Valige menüüst Window - > Package Manager.

Valige kuvatava paketihalduri vasakus ülanurgas Unity Registry.

"Lokaliseerimine" kuvatakse vasakpoolses menüüs, nii et valige see ja klõpsake nuppu Install. Installimine võtab aega. Pärast installimist sulgege dialoog.

Lokaliseerimise loomine

Pärast paketi installimist looge iga keele jaoks tekst. Valige menüüst Edit - > Project Settings.

Valige vasakpoolsest menüüst Lokaliseerimine ja klõpsake nuppu Loo.

Fail luuakse, seega määrake mis tahes kaust. Luuakse mitu faili, seega on parem neid luua spetsiaalses kaustas. Siin loome kausta "Stseenid" kausta "Lokaliseerimine" ja loome selle selles.

Kui see on loodud, näeb ekraan välja selline.

Fail luuakse ka määratud kaustas. Praegu on veel üks.

Lokaadi loomine

Loome keelele vastava teksti. Avage projekti sätted Lokaliseerimine ja klõpsake nuppu Locale Generator (Lokaadi generaator).

Valige vastav lokaat. Valige ainult see, mida vajate. Mida rohkem kontrollite, seda laiemat mängu saab kasutada, kuid töö maht suureneb proportsionaalselt.

Seekord on valitud "Jaapani (ja)", "Inglise (en)" ja "Hispaania (es)".

Pärast seadistamist klõpsake selle loomiseks paremas alanurgas nuppu "Loo lokaadid".

– saate määrata kausta, milles soovite faili luua. See võib olla erinev koht, kuid seda on lihtsam hallata, kui see on korraldatud, seega määrake varem loodud kaust "Lokaliseerimine".

Avausaldusväärsed lokaadid lisatakse teie valitud lokaatide arvule.

Failid luuakse määratud kaustas ka nii paljude lokaatide jaoks, kui valite.

Seejärel konfigureerige lokaadi valijad. See on säte selle kohta, milline teave määrab mängu käivitamisel lokaadi. Kui erilisi otsustustingimusi ei ole, võite jätta selle nii, nagu see on. Ma tahan, et vaikelokaat oleks jaapani keel, kui lokaati ei määrata proovimisega. Klõpsake kolmandast konkreetsest lokaliseeritud valijast paremal asuvat ringinuppu.

Valige Jaapani keel (ja).

Samamoodi peaks projekti lokaadi identifikaator olema "jaapani keel (ja)".

Tekstide loomine

Looge iga lokaadi jaoks tekst. Selle loomiseks on mitmeid viise, kuid siin loome selle, seades teksti GameObjectiga nullist.

Valige menüüst Window > Asset Management - > Localization Tables.

Klõpsake nuppu Uus tabelikogum.

Veenduge, et kõik teie loodud lokaadid oleksid märgitud.

Kuna seekord lokaliseerime teksti, valige "Type" jaoks "String Table Collection". Määrake tabeli nimi, kuna iga lokaadi tekst säilitatakse tabeliloendina. TextTable Selles näites kasutatakse seda.

Pärast sisenemist klõpsake nuppu "Loo".

Valige sihtkoht. Kuna iga tabeli jaoks luuakse mitu faili, on soovitatav luua spetsiaalne kaust. Siin loome kausta "Lokaliseerimine" kausta "TextTable" ja täpsustame selle.

Kui see on loodud, ilmub tabel. See on 0 rida, sest ma pole veel midagi loonud.

Faile luuakse ka kaustade jaoks, mis sisaldavad nii palju lokaale. Põhimõtteliselt ma seda otseselt ei puuduta.

Proovime seda luua. Tabelis on nupp "Lisa uus kirje", nii et klõpsake seda.

See lisab ühe rea ja kuvab iga lokaadi sisestusvälja. Proovige tõlkida sõna "tere" igasse keelde ja tippige vastavalt "Tere", "Tere" ja "Hola". Võti on Hello . Muide, kui selle sisestate, salvestatakse see automaatselt.

Lisage veel üks rida, et teaksite, et saate hallata mitut rida. Sõnade "aitäh" põhjal on oluline ThankYousisestada iga sõna "aitäh", "aitäh" ja "gracias".

Palun sulgege dialoog pärast sisenemist. Saate selle kuskil dokkida.

Tekstiobjektide lokaliseerimissätted

Sellisel juhul paneme kuvatava teksti lülituma kasutajaliidese tekstiobjektile vastavalt mängus seatud lokaadile.

Esiteks asetage tekstiobjekt meelevaldselt. Ma ei kasuta seda seekord, kuid TextMeshPro saan sellega hakkama.

Pärast paigutatud objekti valimist valige tekstikomponendi kolmepunktilisest menüüst Lokaliseeri.

See lisab uue komponendi Lokaliseeri stringisündmus.

Kuna stringiviide pole valitud, klõpsake nuppu Pole.

Dialoogi kuvamisel sisestage ülaltoodud sisestusväljale seatav tekstiklahv. Hello Sellisel juhul tippige ja topeltklõpsake allolevast loendist Hello .

Saate stringiviidet laiendada, et näha, kas erinevad väärtused on määratud. See on kõik, mis seal on.

Käivitage ja kontrollige

Kui olete lõpetanud, proovige mängu käivitada. Tekst peaks mängu käivitamisel muutuma. Alloleval joonisel kuvatakse see jaapani keeles, kuna see töötab Jaapani keskkonnas.

Redaktori mängu ekraani paremas ülanurgas saate muuta mängu keelt. Proovige mõnda aega valida hispaania keel.

Seejärel saate kinnitada, et teksti sisu lülitub automaatselt.

Nagu näete, muudab Unity ametlik lokaliseerimispakett kasutajaliidese rakendamise ja sellele ülemineku lihtsaks ning näeb, kuidas see töötab.

Proovige seada mõni muu tekst ja vaadake, kas tekst muutub.

Proovige joosta mõnes muus keelekeskkonnas

Koostage ja väljastage programm, et näha, kas see kuvatakse vastavas keeles, kui seda käitatakse mõnes muus keelekeskkonnas.

Järgmine diagramm näitab inglise keele installimise tulemusi lisaks Jaapani operatsioonisüsteemile Windows 11 ja selle käivitamisel keskkonnas, mille vaikekeeleks on inglise keel. Ma arvan, et saate veenduda, et keelt vahetatakse vastavalt keskkonnale.