Mainiet lokalizāciju jebkurā laikā

Lapa atjaunota :
Lapas izveides datums :

Verifikācijas vide

Windows
  • Operētājsistēmā Windows 11
Vienotības redaktors
  • 2021.3.12f1
Ievades sistēma (Unity Technologies)
  • 1.4.3
Lokalizācija (Unity Technologies)
  • 1.3.2

Priekšnoteikumi šim padomam

Tālāk norādītie iestatījumi ir veikti iepriekš kā priekšnoteikums šī padoma aprakstam.

Priekšzināšanas un sagatavošana

Šis padoms pieņem, ka tiek lokalizēts šāds teksts: Vispirms, lūdzu, skatiet tālāk sniegtos padomus, lai sagatavotos lokalizēta teksta parādīšanai.

Lokalizācijas maiņas pogu novietošana

Ja palaižat to Unity redaktorā, varat mainīt lokalizāciju ekrāna augšējā labajā stūrī, bet pēc spēles veidošanas tai nav šīs funkcijas, un jums tas ir jāsagatavo pats. Šoreiz es ievietošu pogu, lai pārslēgtos starp trim valodām "japāņu (ja)", "angļu (en)" un "spāņu (es)" un noklikšķiniet, lai tos pārslēgtu.

Skriptēšana pogām

Pārliecinieties, vai mērķa metode tiek izsaukta, noklikšķinot uz pogas. Tā ir vispārējas nozīmes procedūra, tāpēc es izlaidīšu detaļas. Skatiet šos padomus, lai iegūtu detalizētus norādījumus.

ButtonEvent Izveidojiet skriptu ar nosaukumu .

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
  }
}

Piešķiriet katrai metodei klikšķi uz pogas.

Lokalizācijas izmaiņu apstrāde

Modificējiet kodu šādi:

using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
  }
}

Pati izmaiņa ir vienkārša LocalizationSettings.SelectedLocale , un to var pārslēgt, vienkārši iestatot mērķi Locale īpašumā. Locale Locale.CreateLocale var izveidot, metodē iestatot lokalizācijas nosaukumu.

Tomēr, tā kā lokalizācijas maiņas process ir asinhrons, nākamais process, kas nosaka, nenozīmē,LocalizationSettings.SelectedLocale ka lokalizācija jau ir pilnībā pārslēgta. Esiet piesardzīgs, ja veicat no lokalizācijas atkarīgas darbības.

Palaišana un pārbaude

Tas ir viss, kas tam ir, tāpēc, lūdzu, palaidiet to un pārbaudiet kustību. Spēles ekrāna augšējā labajā stūrī var redzēt, ka dažādie resursi dinamiski pārslēdzas tāpat kā mainot lokalizāciju.