Ottieni testo e risorse localizzati in qualsiasi momento
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.