Obtenga texto y recursos localizados 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.4
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.

Objetivos de nuestros consejos

Al hacer clic en el botón, el texto de destino de la tabla de localización se muestra en la pantalla de carga.

Conocimientos previos y preparación

En esta sugerencia se supone la localización del texto siguiente: Sin embargo, como no los implementaremos todos, publicaremos el procedimiento de 1 aquí, pero simplificaremos el contenido duplicado.

Instalación del paquete de localización

El procedimiento es el mismo aquí.

Creación de una localización

Esto es lo mismo que antes, así que publicaré solo la imagen.

Aquí, creamos una carpeta "Localización" en la carpeta "Escenas" y la creamos en ella.

Creación de una configuración regional

Esto también es lo mismo que antes, por lo que omitiré el procedimiento detallado. Las configuraciones regionales para agregar son "japonés (ja)", "inglés (en)" y "español (es)".

Especificé la carpeta "Localización" mencionada anteriormente.

Deje la configuración regional predeterminada como "japonés (ja)".

Creación de textos

Deje el nombre TextTable de la tabla como .

Localization Cree una carpeta dentro TextTable de la carpeta y especifíquela.

Crear un texto. Esta vez, el propósito es obtenerlo mediante programación, para que pueda registrar uno por el momento.

Ubicación de la interfaz de usuario

Me gustaría colocar el texto y el botón, y cuando hago clic en el botón, quiero mostrar el texto de la configuración regional actual.

Creación y conexión de scripts

Cree un script. ButtonEvent Deje el nombre como .

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;
  }
}

Introduzca lo que sucede cuando se hace clic en el botón. Todo lo que hacemos aquí es una LocalizationSettings.StringDatabase.GetTableEntry cosa: puede obtener la entrada del conjunto encontrado especificando el nombre de la tabla y la clave creada en Localización en el método. Esta vez lo estamos haciendo con texto, pero los assets también LocalizationSettings.AssetDatabase se pueden obtener usando .

Una vez que tenga la entrada, todo lo que tiene que hacer es obtener el valor que tiene. El contenido es el texto de la configuración regional seleccionada. Esta vez se obtiene mediante procesamiento sincrónico, pero también puede utilizar métodos asíncronos.

Adjunte el script a EventSystem. Establezca el texto también.

Asigne control de clics al botón.

Ejecutar y verificar

Intente ejecutarlo después de terminar de configurarlo. Dado que no se establecen eventos de localización en la interfaz de usuario, el texto no cambia cuando se ejecuta.

Haga clic en el botón para cambiar al texto japonés. Esto se debe a que se selecciona la configuración regional actual del japonés.

Intente cambiar la configuración regional en la esquina superior derecha de la pantalla y, a continuación, haga clic en el botón. Debe cambiar al texto de la configuración regional de destino.