Cambiar la configuración regional en cualquier momento
Entorno de verificación
- Windows
-
- Ventanas 11
- Unity Editor
-
- 2021.3.12F1
- Sistema de entrada (Unity Technologies)
-
- 1.4.3
- Localización (Unity Technologies)
-
- 1.3.2
Requisitos previos para esta sugerencia
Los siguientes ajustes se han realizado de antemano como premisa para la descripción de este consejo.
Conocimientos previos y preparación
En esta sugerencia se supone la localización del texto siguiente: En primer lugar, consulte los siguientes consejos para prepararse para mostrar texto localizado.
Colocación de botones para cambiar la configuración regional
Si lo ejecutas en el Editor de Unity, puedes cambiar la configuración regional en la esquina superior derecha de la pantalla, pero después de construir el juego, no tiene esa función y debes prepararlo tú mismo. Esta vez, colocaré un botón para cambiar entre los tres idiomas "japonés (ja)", "inglés (en)" y "español (es)" y haré clic para cambiarlos.
Scripting para botones
Asegúrese de que se llama al método de destino al hacer clic en el botón. Este es un procedimiento de propósito general, por lo que omitiré los detalles. Consulte los siguientes consejos para obtener instrucciones detalladas.
ButtonEvent
Cree un script con el nombre .
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()
{
}
}
Asigne cada método a un clic de botón.
Control de cambios de configuración regional
Modifique el código de la siguiente manera:
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");
}
}
El cambio en sí es simple LocalizationSettings.SelectedLocale
y se puede cambiar simplemente estableciendo el destino Locale
en la propiedad.
Locale
Locale.CreateLocale
se puede crear estableciendo el nombre de la configuración regional en el método.
Sin embargo, dado que el proceso de cambio de configuración regional es asincrónico,LocalizationSettings.SelectedLocale
el siguiente proceso que se establece no significa que la configuración regional ya se haya cambiado por completo.
Tenga cuidado si está realizando operaciones dependientes de la configuración regional.
Ejecutar y verificar
Esto es todo lo que hay que hacer, así que por favor ejecútelo y verifique el movimiento. En la esquina superior derecha de la pantalla del juego, puedes ver que los diversos recursos cambian dinámicamente de la misma manera que cuando cambias la configuración regional.