Αλλαγή τοπικών ρυθμίσεων ανά πάσα στιγμή

Σελίδα ενημέρωση :
Ημερομηνία δημιουργίας σελίδας :

Περιβάλλον επαλήθευσης

παράθυρα
  • Παράθυρα 11
Επεξεργαστής ενότητας
  • 2021.3.12στ1
Σύστημα εισόδου (Unity Technologies)
  • 1.4.3
Τοπική προσαρμογή (Unity Technologies)
  • 1.3.2

Προϋποθέσεις για αυτήν τη συμβουλή

Οι ακόλουθες ρυθμίσεις έχουν γίνει εκ των προτέρων ως προϋπόθεση για την περιγραφή αυτής της συμβουλής.

Προαπαιτούμενες γνώσεις και προετοιμασία

Αυτή η συμβουλή προϋποθέτει τοπική προσαρμογή του ακόλουθου κειμένου: Αρχικά, ανατρέξτε στις παρακάτω συμβουλές για να προετοιμαστείτε για την εμφάνιση μεταφρασμένου κειμένου.

Τοποθέτηση κουμπιών για αλλαγή τοπικών ρυθμίσεων

Εάν το εκτελέσετε στο Unity Editor, μπορείτε να αλλάξετε τις τοπικές ρυθμίσεις στην επάνω δεξιά γωνία της οθόνης, αλλά μετά την κατασκευή του παιχνιδιού, δεν έχει αυτή τη λειτουργία και πρέπει να το προετοιμάσετε μόνοι σας. Αυτή τη φορά, θα τοποθετήσω ένα κουμπί για εναλλαγή μεταξύ των τριών γλωσσών "Ιαπωνικά (ja)", "Αγγλικά (en)" και "Ισπανικά (es)" και κάντε κλικ για να τα αλλάξετε.

Δέσμες ενεργειών για κουμπιά

Βεβαιωθείτε ότι καλείται η μέθοδος προορισμού όταν κάνετε κλικ στο κουμπί. Πρόκειται για διαδικασία γενικού σκοπού, επομένως θα παραλείψω τις λεπτομέρειες. Ανατρέξτε στις παρακάτω συμβουλές για λεπτομερείς οδηγίες.

ButtonEvent Δημιουργήστε ένα σενάριο με το όνομα .

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()
  {
  }
}

Αντιστοιχίστε κάθε μέθοδο σε ένα κλικ κουμπιού.

Χειρισμός αλλαγών τοπικών ρυθμίσεων

Τροποποιήστε τον κώδικα ως εξής:

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");
  }
}

Η ίδια η αλλαγή είναι απλή LocalizationSettings.SelectedLocale και μπορεί να αλλάξει απλά ορίζοντας τον στόχο Locale στο ακίνητο. Locale Locale.CreateLocale μπορεί να δημιουργηθεί ορίζοντας το όνομα των τοπικών ρυθμίσεων στη μέθοδο.

Ωστόσο, δεδομένου ότι η διαδικασία αλλαγής τοπικών ρυθμίσεων είναι ασύγχρονη,LocalizationSettings.SelectedLocale η επόμενη διαδικασία που ορίζει δεν σημαίνει ότι οι τοπικές ρυθμίσεις έχουν ήδη αλλάξει πλήρως. Να είστε προσεκτικοί εάν κάνετε λειτουργίες που εξαρτώνται από τις τοπικές ρυθμίσεις.

Εκτέλεση και επαλήθευση

Αυτό είναι το μόνο που υπάρχει, οπότε παρακαλώ εκτελέστε το και ελέγξτε την κίνηση. Στην επάνω δεξιά γωνία της οθόνης του παιχνιδιού, μπορείτε να δείτε ότι οι διάφοροι πόροι αλλάζουν δυναμικά με τον ίδιο τρόπο όπως όταν αλλάζετε τις τοπικές ρυθμίσεις.