Ottieni testo e risorse localizzati in qualsiasi momento

Pagina aggiornata :
Data di creazione della pagina :

Ambiente di verifica

Finestre
  • Windows 11
Unity Editor
  • 2021.3.12f1
Sistema di input (Unity Technologies)
  • 1.4.4
Localizzazione (Unity Technologies)
  • 1.3.2

Prerequisiti per questo suggerimento

Le seguenti impostazioni sono state effettuate in anticipo come premessa per la descrizione di questo suggerimento.

Obiettivi dei nostri consigli

Quando si fa clic sul pulsante, il testo di destinazione della tabella di localizzazione viene visualizzato nella schermata di caricamento.

Conoscenze e preparazione preliminari

Questo suggerimento presuppone la localizzazione del testo seguente: Tuttavia, poiché non li implementeremo tutti, pubblicheremo la procedura da 1 qui, ma semplificheremo il contenuto duplicato.

Installazione del pacchetto di localizzazione

La procedura è la stessa qui.

Creazione di una localizzazione

Questo è lo stesso di prima, quindi pubblicherò solo l'immagine.

Qui, creiamo una cartella "Localizzazione" nella cartella "Scene" e la creiamo in essa.

Creazione di impostazioni locali

Anche questo è lo stesso di prima, quindi ometterò la procedura dettagliata. Le impostazioni locali da aggiungere sono "giapponese (ja)", "inglese (en)" e "spagnolo (es)".

Ho specificato la cartella "Localizzazione" menzionata in precedenza.

Lasciare le impostazioni locali predefinite come "Giapponese (ja)".

Creazione di testi

Lasciare il nome TextTable della tabella come .

Localization Creare una cartella all'interno TextTable della cartella e specificarla.

Creare un testo. Questa volta, lo scopo è quello di ottenerlo a livello di programmazione, in modo da poterne registrare uno per il momento.

Posizionamento dell'interfaccia utente

Vorrei inserire il testo e il pulsante e, quando faccio clic sul pulsante, desidero visualizzare il testo delle impostazioni locali correnti.

Creazione e allegatura di script

Creare uno script. ButtonEvent Lasciare il nome come .

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

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private Text Text;

  public void OnClick()
  {
    // Localization から指定したテーブル名とキーからエントリーを取得します
    var entry = LocalizationSettings.StringDatabase.GetTableEntry("TextTable", "Hello").Entry;

    Text.text = entry.Value;
  }
}

Immettere ciò che accade quando si fa clic sul pulsante. Tutto ciò che facciamo qui è una LocalizationSettings.StringDatabase.GetTableEntry cosa: è possibile ottenere la voce del set trovato specificando il nome della tabella e la chiave creata in Localizzazione nel metodo. Questa volta lo stiamo facendo con il testo, ma le risorse possono anche LocalizationSettings.AssetDatabase essere ottenute usando .

Una volta che hai la voce, tutto ciò che devi fare è ottenere il valore che hai. Il contenuto è il testo delle impostazioni locali selezionate. Questa volta è ottenuto dall'elaborazione sincrona, ma è anche possibile utilizzare metodi asincroni.

Allegare lo script a EventSystem. Imposta anche il testo.

Assegnare la gestione dei clic al pulsante.

Esegui e verifica

Prova a eseguirlo dopo aver completato la configurazione. Poiché nell'interfaccia utente non sono impostati eventi di localizzazione, il testo non cambia quando viene eseguito.

Fare clic sul pulsante per passare al testo giapponese. Questo perché è selezionata la lingua corrente del giapponese.

Prova a cambiare le impostazioni locali nell'angolo superiore destro dello schermo e fai clic sul pulsante. Dovrebbe cambiare nel testo per le impostazioni locali di destinazione.