Cambiar el texto de un objeto de texto para que coincida con el entorno en el que el texto es compatible multilingüemente
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.
Acerca de la localización
En muchos casos, los juegos se crean en el idioma del entorno en el que se desarrollan, o en inglés. Sin embargo, para que más personas jueguen, es necesario crear juegos de acuerdo con la cultura y el idioma del país. Esto se conoce comúnmente como "localización".
En este consejo, me gustaría hacer "soporte multilingüe", que es una de las localizaciones. Hay muchas maneras de hacer soporte multilingüe en Unity, pero en este caso nos gustaría usar el paquete de extensión oficial de Unity, Localization, para admitir varios idiomas.
Instalación del paquete de localización
Para admitir la localización, primero debe instalar el paquete "Localización".
En el menú, seleccione Ventana - > Administrador de paquetes.
En la esquina superior izquierda del administrador de paquetes que aparece, selecciona Unity Registry.
"Localización" se mostrará en el menú de la izquierda, así que selecciónelo y haga clic en el botón Instalar. Tardará algún tiempo en instalarse. Una vez instalado, cierre el cuadro de diálogo.
Creación de una localización
Después de instalar el paquete, cree el texto para cada idioma. Seleccione Editar - > Configuración del proyecto en el menú.
Seleccione Localización en el menú de la izquierda y haga clic en el botón Crear.
Se creará el archivo, así que especifique cualquier carpeta. Se generarán varios archivos, por lo que es mejor crearlos en una carpeta dedicada. Aquí, creamos una carpeta "Localización" en la carpeta "Escenas" y la creamos en ella.
Cuando se crea, la pantalla se verá así.
El archivo también se crea en la carpeta especificada. En este punto todavía hay uno.
Creación de una configuración regional
Crearemos el texto correspondiente al idioma. Abra la configuración del proyecto Localización y haga clic en el botón Generador de configuración regional.
Seleccione la configuración regional correspondiente. Elige solo lo que necesitas. Cuanto más verifique, más amplio se podrá implementar el juego, pero la cantidad de trabajo aumentará proporcionalmente.
Esta vez, se seleccionan "japonés (ja)", "inglés (en)" y "español (es)".
Después de la configuración, haga clic en el botón "Generar configuraciones regionales" en la parte inferior derecha para crearlo.
Especifica la carpeta en la que se va a crear el archivo. Puede ser un lugar diferente, pero es más fácil de administrar si está organizado, así que especifique la carpeta "Localización" creada anteriormente.
Las configuraciones regionales disponibles se agregan al número de configuraciones regionales que seleccione.
Los archivos también se crean en la carpeta especificada para tantas configuraciones regionales como seleccione.
A continuación, configure los selectores de configuración regional. Esta es una configuración para qué información determina la configuración regional cuando se inicia el juego. Si no hay condiciones especiales de decisión, puede dejarlo como está. Quiero que la configuración regional predeterminada sea japonés cuando la configuración regional no se determina intentando. En el tercer selector de configuración regional específica, haga clic en el botón circular de la derecha.
Seleccione Japonés (ja).
Del mismo modo, el identificador de configuración regional del proyecto debe ser "japonés (ja)".
Creación de textos
Cree texto para cada configuración regional. Hay varias formas de crearlo, pero aquí lo crearemos configurando el texto desde cero con un GameObject.
En el menú, seleccione Ventana > Gestión de activos - > Tablas de localización.
Haga clic en Nueva colección de tablas.
Asegúrese de que todas las configuraciones regionales que ha creado estén marcadas.
Dado que en este momento estamos localizando el texto, seleccione "String Table Collection" para "Type".
Especifique el nombre de la tabla porque el texto de cada configuración regional se mantiene como una lista de tablas. TextTable
En este ejemplo, se utiliza.
Después de ingresar, haga clic en el botón "Crear".
Seleccione un destino. Dado que se generan varios archivos para cada tabla, es preferible crear una carpeta dedicada. Aquí, creamos una carpeta "TextTable" en la carpeta "Localization" y la especificamos.
Una vez creada, aparecerá la tabla. Son 0 líneas porque aún no he creado nada.
También se crean archivos para carpetas como tantas configuraciones regionales. Básicamente, no toco esto directamente.
Intentemos crear uno. Hay un botón "Agregar nueva entrada" en la tabla, así que haga clic en él.
Esto agregará una línea y mostrará un campo de entrada para cada configuración regional.
Intente traducir la palabra "hola" a cada idioma y escriba "Hola", "Hola" y "Hola" respectivamente.
La clave es Hello
. Por cierto, si lo ingresas, se guardará automáticamente.
Agregue una línea más para que sepa que puede administrar más de una.
Basado en las palabras "gracias", la clave ThankYou
es escribir cada palabra "gracias", "gracias" y "gracias".
Cierre el cuadro de diálogo después de entrar. Puedes acoplarlo en algún lugar.
Configuración de localización para objetos de texto
En este caso, hagamos que el texto de visualización cambie al objeto de texto de la interfaz de usuario de acuerdo con la configuración regional establecida en el juego.
En primer lugar, coloque el objeto de texto arbitrariamente. No lo uso esta vez, pero TextMeshPro
puedo manejarlo.
Después de seleccionar el objeto colocado, elija Localizar en el menú de tres puntos del componente Texto.
Esto agrega un nuevo componente Localize String Event.
Dado que Referencia de cadena no está seleccionada, haga clic en Ninguna.
Cuando aparezca el cuadro de diálogo, introduzca la tecla de texto que desea definir en el campo de entrada anterior.
Hello
En este caso, escriba y haga doble clic en Hello
la lista siguiente.
Puede expandir la referencia de cadena para ver que se establecen los distintos valores. Eso es todo lo que hay que hacer.
Ejecutar y verificar
Una vez que hayas terminado, intenta ejecutar el juego. El texto debería cambiar cuando ejecutes el juego. En la siguiente figura, se muestra en japonés porque se ejecuta en un entorno japonés.
En la esquina superior derecha de la pantalla del juego en el editor, puedes cambiar el idioma del juego. Intenta seleccionar español por un tiempo.
A continuación, puede confirmar que el contenido del texto cambia automáticamente.
Como puede ver, el paquete de localización oficial de Unity facilita la solicitud y el cambio a la interfaz de usuario y ver cómo funciona.
Intente establecer otro texto y vea si el texto cambia.
Intente ejecutar en otro entorno lingüístico
Compile y genere el programa para ver si aparece en el idioma correspondiente cuando se ejecuta en otro entorno de lenguaje.
El siguiente diagrama muestra los resultados de instalar inglés adicionalmente para el sistema operativo japonés Windows 11 y ejecutarlo en un entorno con inglés como idioma predeterminado. Creo que puede asegurarse de que el idioma se cambie de acuerdo con el entorno.