Obtenha texto e ativos localizados a qualquer momento

Página atualizada :
Data de criação de página :

Ambiente de verificação

Windows
  • Janelas 11
Unity Editor
  • 12.3.2021F1
Sistema de Entrada (Unity Technologies)
  • 1.4.4
Localização (Unity Technologies)
  • 1.3.2

Pré-requisitos para esta dica

As configurações a seguir foram feitas com antecedência como premissa para a descrição desta dica.

Objetivos das nossas dicas

Quando você clica no botão, o texto de destino da tabela de localização é exibido na tela de carregamento.

Pré-requisito de conhecimento e preparação

Esta dica pressupõe a localização do seguinte texto: No entanto, como não implementaremos todos eles, postaremos o procedimento de 1 aqui, mas simplificaremos o conteúdo duplicado.

Instalando o pacote de localização

O procedimento é o mesmo aqui.

Criando uma localização

Isso é o mesmo de antes, então vou postar apenas a imagem.

Aqui, criamos uma pasta "Localização" na pasta "Cenas" e a criamos nela.

Criando uma localidade

Isso também é o mesmo que antes, por isso vou omitir o procedimento detalhado. As localidades a serem adicionadas são "Japonês (ja)", "Inglês (en)" e "Espanhol (es)".

Eu especifiquei a pasta "Localização" mencionada anteriormente.

Deixe a localidade padrão como "Japonês (ja)".

Criação de Textos

Deixe o nome TextTable da tabela como .

Localization Crie uma pasta dentro TextTable da pasta e especifique-a.

Crie um texto. Desta vez, o objetivo é obtê-lo programaticamente, para que você possa registrar um por enquanto.

Posicionamento da interface do usuário

Gostaria de colocar o texto e o botão e, quando clico no botão, quero exibir o texto da localidade atual.

Criando e anexando scripts

Crie um script. ButtonEvent Deixe o nome 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;
  }
}

Digite o que acontece quando o botão é clicado. Tudo o que fazemos aqui é uma LocalizationSettings.StringDatabase.GetTableEntry coisa: você pode obter a entrada do conjunto encontrado especificando o nome da tabela e a chave criada em Localização no método. Desta vez estamos fazendo isso com texto, mas os ativos também LocalizationSettings.AssetDatabase podem ser obtidos usando o .

Uma vez que você tem a entrada, tudo o que você precisa fazer é obter o valor que você tem. O conteúdo é o texto da localidade selecionada. Desta vez, ele é obtido por processamento síncrono, mas você também pode usar métodos assíncronos.

Anexe o script ao EventSystem. Defina o texto também.

Atribua manipulação de cliques ao botão.

Executar e verificar

Tente executá-lo depois de terminar de configurá-lo. Como nenhum evento de localização é definido na interface do usuário, o texto não é alterado quando executado.

Clique no botão para alternar para o texto em japonês. Isso ocorre porque a localidade atual do japonês está selecionada.

Tente alterar a localidade no canto superior direito da tela e clique no botão. Ele deve ser alterado para o texto da localidade de destino.