Cambiar la configuración regional en cualquier momento

Actualización de la página :
Fecha de creación de la página :

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.