Obtenga texto y recursos localizados en cualquier momento
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.