Obtenha texto e ativos localizados a qualquer momento
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.