Alternando o texto de um objeto de texto para corresponder ao ambiente no qual o texto é suportado em vários idiomas
Ambiente de verificação
- Windows
-
- Janelas 11
- Unity Editor
-
- 12.3.2021F1
- Sistema de Entrada (Unity Technologies)
-
- 1.4.3
- 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.
Sobre a localização
Em muitos casos, os jogos são criados no idioma do ambiente em que são desenvolvidos, ou em inglês. No entanto, para que mais pessoas possam jogar, é necessário criar jogos de acordo com a cultura e o idioma do país. Isso é comumente chamado de "localização".
Nesta dica, gostaria de fazer "suporte multilíngue", que é uma das localizações. Há muitas maneiras de fazer suporte multilíngue no Unity, mas neste caso gostaríamos de usar o pacote de extensão oficial do Unity, Localização, para oferecer suporte a vários idiomas.
Instalando o pacote de localização
Para oferecer suporte à localização, você deve primeiro instalar o pacote "Localização".
No menu, selecione Janela - > Gerenciador de Pacotes.
No canto superior esquerdo do gerenciador de pacotes que aparece, selecione Unity Registry.
"Localização" será exibido no menu à esquerda, então selecione-o e clique no botão Instalar. Levará algum tempo para instalar. Uma vez instalado, feche a caixa de diálogo.
Criando uma localização
Depois de instalar o pacote, crie o texto para cada idioma. Selecione Editar - > Configurações do projeto no menu.
Selecione Localização no menu à esquerda e clique no botão Criar.
O arquivo será criado, portanto, especifique qualquer pasta. Vários arquivos serão gerados, por isso é melhor criá-los em uma pasta dedicada. Aqui, criamos uma pasta "Localização" na pasta "Cenas" e a criamos nela.
Quando criado, a tela terá esta aparência.
O arquivo também é criado na pasta especificada. Neste ponto, ainda há um.
Criando uma localidade
Criaremos o texto correspondente ao idioma. Abra a localização de configurações do projeto e clique no botão Gerador de localidade.
Selecione a localidade correspondente. Escolha apenas o que você precisa. Quanto mais você verificar, mais amplo o jogo pode ser implantado, mas a quantidade de trabalho aumentará proporcionalmente.
Desta vez, "Japonês (ja)", "Inglês (en)" e "Espanhol (es)" são selecionados.
Após a configuração, clique no botão "Gerar localidades" no canto inferior direito para criá-lo.
Especifica a pasta na qual criar o arquivo. Pode ser um lugar diferente, mas é mais fácil de gerenciar se estiver organizado, então especifique a pasta "Localização" criada anteriormente.
Localidades disponíveis é adicionado ao número de localidades selecionadas.
Os arquivos também são criados na pasta especificada para quantas localidades você selecionar.
Em seguida, configure os seletores de localidade. Esta é uma configuração para quais informações determinam a localidade quando o jogo é iniciado. Se não houver condições especiais de decisão, você pode deixá-lo como está. Desejo que a localidade padrão seja japonesa quando a localidade não for determinada tentando. No terceiro Seletor de Localidade Específica, clique no botão de círculo à direita.
Selecione Japonês (ja).
Da mesma forma, o identificador de localidade do projeto deve ser "japonês (ja)".
Criação de Textos
Crie texto para cada localidade. Existem várias maneiras de criá-lo, mas aqui vamos criá-lo definindo o texto do zero com um GameObject.
No menu, selecione Janela > Gerenciamento de ativos - > Tabelas de localização.
Clique em Nova Coleção de Tabelas.
Certifique-se de que todas as localidades que você criou estão marcadas.
Como desta vez estamos localizando o texto, selecione "String Table Collection" para "Type".
Especifique o nome da tabela porque o texto de cada localidade é mantido como uma lista de tabela. TextTable
Neste exemplo, ele é usado.
Após entrar, clique no botão "Criar".
Selecione um destino. Como vários arquivos são gerados para cada tabela, é preferível criar uma pasta dedicada. Aqui, criamos uma pasta "TextTable" na pasta "Localization" e a especificamos.
Uma vez criada, a tabela aparecerá. São 0 linhas porque ainda não criei nada.
Os arquivos também são criados para pastas como muitas localidades. Basicamente, eu não toco nisso diretamente.
Vamos tentar criar um. Há um botão "Adicionar nova entrada" na tabela, então clique nele.
Isso adicionará uma linha e exibirá um campo de entrada para cada localidade.
Tente traduzir a palavra "hello" para cada idioma e digitar "Hello", "Hello" e "Hola", respectivamente.
A chave é Hello
. A propósito, se você inseri-lo, ele será salvo automaticamente.
Adicione mais uma linha para saber que pode gerir mais do que uma.
Com base nas palavras "obrigado", a chave ThankYou
é digitar cada palavra "obrigado", "obrigado" e "gracias".
Feche a caixa de diálogo depois de entrar. Você pode encaixá-lo em algum lugar.
Configurações de localização para objetos de texto
Nesse caso, vamos fazer o texto de exibição alternar para o objeto de texto da interface do usuário de acordo com a localidade definida no jogo.
Primeiro, coloque o objeto de texto arbitrariamente. Eu não uso desta vez, mas TextMeshPro
eu posso lidar com isso.
Depois de selecionar o objeto inserido, escolha Localizar no menu de três pontos do componente Texto.
Isso adiciona um novo componente Localizar evento de cadeia de caracteres.
Como Referência de Cadeia de Caracteres não está selecionada, clique em Nenhum.
Quando a caixa de diálogo for exibida, digite a chave de texto a ser definida no campo de entrada acima.
Hello
Nesse caso, digite e clique Hello
duas vezes na lista abaixo.
Você pode expandir a Referência de Cadeia de Caracteres para ver se os vários valores estão definidos. É só isso.
Executar e verificar
Quando terminar, tente executar o jogo. O texto deve mudar quando você executar o jogo. Na figura abaixo, ele é exibido em japonês porque está sendo executado em um ambiente japonês.
No canto superior direito da tela do jogo no editor, você pode alterar o idioma do jogo. Tente selecionar espanhol por um tempo.
Em seguida, você pode confirmar que o conteúdo do texto alterna automaticamente.
Como você pode ver, o pacote de localização oficial do Unity facilita a aplicação e a alternância para a interface do usuário e ver como ela funciona.
Tente definir outro texto e veja se o texto é alterado.
Tente executar em outro ambiente de idioma
Crie e produza o programa para ver se ele aparece no idioma correspondente quando executado em outro ambiente de idioma.
O diagrama a seguir mostra os resultados da instalação do inglês adicionalmente para o sistema operacional japonês do Windows 11 e executá-lo em um ambiente com o inglês como idioma padrão. Acho que você pode ter certeza de que o idioma é mudado de acordo com o ambiente.