Cambiare impostazioni locali in qualsiasi momento
Ambiente di verifica
- Finestre
-
- Windows 11
- Unity Editor
-
- 2021.3.12f1
- Sistema di input (Unity Technologies)
-
- 1.4.3
- 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.
Conoscenze e preparazione preliminari
Questo suggerimento presuppone la localizzazione del testo seguente: Innanzitutto, fai riferimento ai seguenti suggerimenti per prepararti a visualizzare il testo localizzato.
Posizionamento dei pulsanti per la modifica delle impostazioni locali
Se lo esegui in Unity Editor, puoi cambiare le impostazioni locali nell'angolo in alto a destra dello schermo, ma dopo aver costruito il gioco, non ha quella funzione e devi prepararlo da solo. Questa volta, metterò un pulsante per passare tra le tre lingue "giapponese (ja)", "inglese (en)" e "spagnolo (es)" e fare clic per cambiarle.
Creazione di script per i pulsanti
Assicurarsi che il metodo di destinazione venga chiamato quando si fa clic sul pulsante. Questa è una procedura generica, quindi ometterò i dettagli. Vedere i seguenti suggerimenti per istruzioni dettagliate.
ButtonEvent
Creare uno script con il nome .
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()
{
}
}
Assegnare ogni metodo a un clic del pulsante.
Gestione delle modifiche locali
Modificare il codice come segue:
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");
}
}
La modifica stessa è semplice LocalizationSettings.SelectedLocale
e può essere cambiata semplicemente impostando il target Locale
nella proprietà.
Locale
Locale.CreateLocale
può essere creato impostando il nome delle impostazioni locali nel metodo.
Tuttavia, poiché il processo di modifica delle impostazioni locali è asincrono,LocalizationSettings.SelectedLocale
il processo successivo che imposta non significa che le impostazioni locali siano già state completamente cambiate.
Prestare attenzione se si eseguono operazioni dipendenti dalle impostazioni locali.
Esegui e verifica
Questo è tutto ciò che c'è da fare, quindi per favore eseguilo e controlla il movimento. Nell'angolo in alto a destra della schermata di gioco, puoi vedere che le varie risorse cambiano dinamicamente nello stesso modo in cui cambi le impostazioni locali.