Obteniu text i recursos localitzats en qualsevol moment

Pàgina actualitzada :
Data de creació de la pàgina :

Entorn de verificació

Windows
  • Finestres 11
Editor d'unitat
  • 2021.3.12f1
Sistema d'entrada (Unity Technologies)
  • 1.4.4
Localització (Unity Technologies)
  • 1.3.2

Requisits previs per a aquest consell

La configuració següent s'ha fet amb antelació com a premissa per a la descripció d'aquest consell.

Objectius dels nostres consells

Quan feu clic al botó, el text traduït de la taula de localització es mostra a la pantalla de càrrega.

Coneixements previs i preparació

Aquest consell assumeix la localització del text següent: No obstant això, com que no les implementarem totes, penjarem el procediment des de l'1 aquí, però simplificarem el contingut duplicat.

Instal·lació del paquet de localització

El procediment és el mateix aquí.

Creació d'una localització

Això és el mateix que abans, així que penjaré només la imatge.

Aquí, creem una carpeta "Localització" a la carpeta "Escenes" i la creem.

Creació d'una configuració regional

Això també és el mateix que abans, de manera que ometreé el procediment detallat. Els locales a afegir són "japonès (ja)", "anglès (en)", i "espanyol (es)".

He especificat la carpeta "Localització" esmentada anteriorment.

Deixeu la configuració regional per defecte com a "Japonès (ja)".

Creació de textos

Deixeu el nom TextTable de la taula com a .

Localization Creeu una carpeta dins TextTable de la carpeta i especifiqueu-la.

Creeu un text. Aquesta vegada, el propòsit és aconseguir-lo de manera programàtica, de manera que de moment podeu registrar-ne un.

Col·locació de la interfície d'usuari

M'agradaria col·locar el text i el botó, i quan faig clic al botó, vull mostrar el text de la configuració regional actual.

Creació i adjuntació de scripts

Creeu un script. ButtonEvent Deixeu el nom com .

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

Introduïu què passa quan es fa clic al botó. Tot el que fem aquí és una LocalizationSettings.StringDatabase.GetTableEntry cosa: podeu obtenir l'entrada del conjunt trobat especificant el nom de la taula i la clau creada a Localització al mètode. Aquesta vegada ho fem amb text, però els recursos també LocalizationSettings.AssetDatabase es poden obtenir utilitzant .

Un cop tinguis l'entrada, només has d'aconseguir el valor que tens. El contingut és el text de la configuració regional seleccionada. Aquesta vegada s'obté per processament síncron, però també es poden utilitzar mètodes asíncrons.

Adjunteu l'script a l'EventSystem. Definiu també el text.

Assigneu la gestió de clics al botó.

Executar i verificar

Proveu d'executar-lo un cop hàgiu acabat de configurar-lo. Com que no s'estableixen esdeveniments de localització a la interfície d'usuari, el text no canvia quan s'executa.

Feu clic al botó per canviar al text japonès. Això es deu al fet que la configuració regional actual dels japonesos està seleccionada.

Proveu de canviar la configuració regional a l'extrem superior dret de la pantalla i, a continuació, feu clic al botó. Hauria de canviar al text per a la configuració regional de destinació.