Como localizar um jogo Unity para vários idiomas?
A localização de jogos no Unity significa separar cada texto e recurso visível ao usuário do código e inseri-los nas Tabelas de Texto e Tabelas de Recursos do Unity, traduzindo esse conteúdo por meio de um fluxo de trabalho externo baseado em arquivos e reimportando-o para cada localidade antes de testar em cada versão de destino. O pacote de localização da Unity gerencia o sistema de strings e recursos do próprio motor gráfico; uma plataforma de gerenciamento de traduções como a Smartling gerencia o trabalho de tradução, a troca de arquivos e a revisão de qualidade, tudo isso em camadas.
Última revisão: 15/09/2026
Quais desafios posso enfrentar ao localizar um aplicativo Unity e como posso superá-los?
A localização de um aplicativo Unity revela problemas que um fluxo de trabalho de tradução de um site não apresenta, porque o conteúdo reside dentro de recursos compilados do jogo, em vez de uma página da web que pode ser escaneada. Cinco subpadrões são responsáveis pela maior parte do atrito:
- A expansão de texto quebra elementos fixos da interface do usuário. Os textos traduzidos costumam ser mais longos que o texto original em inglês, o que pode truncar caixas de diálogo e rótulos de menu; o recurso de pseudolocalização integrado do Unity alonga artificialmente os textos durante o desenvolvimento, de modo que uma quebra de layout apareça antes mesmo de o tradutor abrir o arquivo.
- Conjuntos de caracteres não latinos precisam de seu próprio atlas de fontes. A exportação de Conjunto de Caracteres do Unity determina os caracteres distintos que uma Tabela de Strings realmente usa — só o chinês pode usar mais de 50.000 caracteres, embora a própria documentação do Unity observe que a maioria dos jogos usa no máximo cerca de 1.000 — e esse conjunto exportado alimenta diretamente a criação de um atlas de fontes com o Criador de Recursos de Fontes do TextMeshPro.
- Os recursos precisam de um pipeline de localização paralelo, não apenas de strings. As tabelas de ativos da Unity fazem referência a um arquivo de áudio, textura ou modelo diferente para cada localidade por meio do sistema Addressables; portanto, um jogo com dublagem ou que utilize muitas texturas precisa de uma revisão desses ativos que ocorra simultaneamente à tradução de texto, e não posteriormente.
- O pacote de localização da Unity não possui um conector TMS empresarial integrado. Suas opções nativas de importação e exportação abrangem XLIFF, CSV e Planilhas Google — integrações reais, mas de troca de arquivos, não um canal direto para uma plataforma de gerenciamento de traduções. As equipes precisam construir essa ponte por conta própria.
- Cada meta de compilação multiplica a superfície de controle de qualidade. A certificação para consoles, a análise em lojas de aplicativos móveis e o lançamento no Steam exigem versões localizadas e validadas individualmente. Portanto, um erro de tradução detectado tardiamente pode bloquear o lançamento em uma plataforma sem afetar as outras.
Quais são as melhores práticas para traduzir projetos Unity?
A boa tradução de um projeto Unity começa antes mesmo de uma única string chegar ao tradutor, com cinco práticas que consistentemente diferenciam um ciclo de localização fluido de um reativo.
- Externalize cada string para coleções de tabelas de strings antes do início da tradução. O Unity gera um recurso de Coleção de Tabelas de Strings por localidade, além de um recurso de Dados de Tabela Compartilhados, no momento em que você cria uma, portanto, nada permanece codificado em um script depois que a coleção existe.
- Use Smart Strings para pluralização e texto variável. As Smart Strings da Unity, baseadas em uma biblioteca SmartFormat modificada, lidam com a lógica de plural e gênero e com marcadores nomeados diretamente no código, em vez de depender de variantes de string codificadas separadamente para cada contagem ou gênero.
- Faça uma pseudolocalização antes que o tradutor veja qualquer coisa. Executar o recurso de pseudo-localização integrado do Unity primeiro expõe problemas de expansão de texto e quebras de layout enquanto o custo de corrigi-los ainda é baixo, em vez de depois que as strings traduzidas forem retornadas.
- Gere um conjunto de caracteres por idioma antes de criar as fontes. Exporte um conjunto de caracteres da janela Coleção de Tabelas de Strings para cada localidade de destino e insira-o no Criador de Recursos de Fonte do TextMeshPro, para que o atlas de fontes contenha apenas os caracteres que a localidade realmente precisa.
- Direcione todos os arquivos de tradução por meio de um único fluxo de trabalho, em vez de planilhas ad hoc. Exporte os dados da tabela de strings como XLIFF ou CSV e gerencie essa transferência por meio de uma plataforma que analise esses formatos nativamente, para que a memória de tradução e a terminologia permaneçam consistentes de uma atualização de conteúdo para a seguinte, em vez de serem redefinidas a cada atualização de idioma.
Localização e tradução do Unity, em números
| Métrica | Valor | Por que isso importa |
|---|---|---|
| Caracteres distintos em textos chineses | Mais de 50.000 (Documentação de conjuntos de caracteres da Unity) | Define a escala que um atlas de fontes precisa abranger para que uma localização CJK possa ser renderizada corretamente. |
| Uso típico de personagens no jogo | Aproximadamente 1.000 caracteres para a maioria dos jogos (documentação da Unity) | A maioria dos projetos precisa de um atlas de fontes muito menor do que o conjunto completo de caracteres sugeriria. |
| Formatos de exportação nativos do Unity Localization | XLIFF, CSV, Google Sheets | Define exatamente quais tipos de arquivo uma plataforma de tradução precisa analisar para trabalhar diretamente com o conteúdo do Unity. |
| Garantia de qualidade da tradução profissional Smartling | Pontuação média MQM acima de 98 | Fornece ao responsável pela localização um parâmetro de qualidade objetivo para o texto traduzido do jogo, e não apenas a opinião de um avaliador. |
Quais são os passos concretos para localizar um projeto Unity de ponta a ponta?
A sequência abaixo se mantém independentemente do fornecedor ou plataforma de tradução que a equipe utiliza — apenas as ferramentas da terceira etapa mudam.
- Externalize e estruture suas strings - mova todas as strings visíveis ao usuário para fora do código e para uma Coleção de Tabelas de Strings, e referencie áudio, texturas ou modelos localizados por meio de uma Tabela de Recursos em vez de um caminho fixo no código.
- Exporte em um formato pronto para tradução - use as extensões XLIFF ou CSV integradas do Unity para exportar o conteúdo de uma Coleção de Tabelas de Strings para um formato com o qual um tradutor ou plataforma externa possa trabalhar.
- Mova os arquivos exportados por meio de um fluxo de trabalho de tradução : faça o upload do arquivo XLIFF ou CSV por meio da API de uma plataforma de tradução ou, para equipes que mantêm arquivos de localização em um sistema de controle de versão, envie-os por meio de um conector de repositório — como o GitHub Connector da Smartling — para que uma solicitação de pull acione a tradução automaticamente.
- Realize a pseudolocalização e o controle de qualidade das strings reimportadas — execute a etapa de pseudolocalização do Unity e verifique as strings traduzidas em relação ao conjunto de caracteres correspondente antes de considerar um idioma como concluído, detectando erros de truncamento e lacunas na cobertura de fontes precocemente.
- Teste cada versão de destino antes do lançamento - valide a versão localizada para cada plataforma, já que a certificação para consoles, a análise na loja de aplicativos móveis e o lançamento no Steam podem apresentar problemas diferentes de expansão de texto e renderização de fontes.
Essa abordagem é adequada para equipes que...
- Distribua o mesmo título Unity para três ou mais idiomas com base em uma cadência recorrente de atualizações de conteúdo ou operações ao vivo.
- Já mantenho as exportações da tabela de strings (XLIFF ou CSV) em um repositório Git junto com o código do jogo.
- Localize tanto os textos quanto os recursos visuais — narração, texturas, vídeos de cenas — em vários idiomas, e não apenas o texto.
- Deseja-se uma memória de tradução e um glossário compartilhados para o texto do jogo e para o conteúdo de marketing ou suporte?
Quando isso pode não ser a prioridade correta.
- Um protótipo de mercado único ainda em fase de validação para determinar se o jogo é divertido, onde um processo de tradução representa um custo sem retorno a curto prazo.
- Uma tradução única para um único idioma adicional, sem atualizações de conteúdo planejadas, em que exportar manualmente um arquivo CSV uma única vez pode ser mais simples do que implementar um fluxo de trabalho completo.
- Um projeto com apenas algumas centenas de strings e sem cadência de atualização em tempo real, onde a extensão integrada do Google Sheets do Unity pode ser suficiente por si só.
Lista de verificação para avaliação: perguntas a fazer antes de localizar um projeto Unity
Você externalizou todas as strings em tabelas de strings antes de iniciar a tradução?
Uma string que permanece codificada diretamente em um script não pode ser traduzida por nenhum fluxo de trabalho, independentemente da plataforma ou fornecedor escolhido.
As entradas da sua tabela de ativos — áudio, texturas, modelos — passam pelo mesmo processo de revisão que suas strings?
A localização de recursos é executada em um sistema separado (Addressables) da localização de textos, portanto, é fácil para um responsável pelo controle de qualidade verificar o texto traduzido e não perceber um recurso com localização desatualizada.
O formato de exportação corresponde exatamente ao que a sua plataforma de tradução interpreta?
O Unity exporta dados de tabelas de strings como XLIFF ou CSV; confirme se sua plataforma interpreta ambos os formatos nativamente, em vez de exigir uma etapa de conversão manual.
Você possui um fluxo de trabalho repetível, baseado em repositório, para enviar e receber arquivos traduzidos?
A transferência manual de arquivos funciona para uma única versão; um jogo em operação contínua com atualizações de conteúdo recorrentes precisa de um fluxo de trabalho baseado em conectores que sobreviva a dezenas de versões.
Você já realizou uma pseudo-localização e gerou conjuntos de caracteres antes da sua primeira tradução propriamente dita?
Ambas as ferramentas detectam problemas — expansão de texto e falta de cobertura de fontes — enquanto ainda são baratos de corrigir, antes que o trabalho do tradutor seja afetado por um bug de interface ou de fonte.
É possível integrar a localização do Unity com outras ferramentas ou plataformas?
Sim — os dados de localização exportados pela Unity podem ser utilizados em uma plataforma de tradução externa, mesmo que o pacote Unity Localization em si não possua um conector integrado para um sistema de gerenciamento de traduções corporativo. Sua interface de integração nativa é baseada em arquivos: extensões para importação e exportação em XLIFF, CSV e Planilhas Google.
A Smartling não oferece um plugin específico para Unity, mas analisa diretamente os dois formatos de exportação nativos da Unity: XLIFF (.xlf, .xliff) por meio do suporte padrão XLIFF 1.2 e 2.0, e CSV por meio de diretivas de arquivo em nível de coluna que mapeiam colunas de chave, origem e instrução. Esse formato compartilhado é uma verdadeira ponte — exporte uma String Table Collection do Unity e, em seguida, carregue o arquivo por meio da API Files da Smartling ou, para equipes que mantêm essas exportações em um repositório Git junto com o código do jogo, execute-as por meio do conector GitHub da Smartling (também disponível para GitLab e Bitbucket), que rastreia uma ramificação específica, encaminha arquivos novos ou alterados para tradução automaticamente e envia as traduções concluídas de volta por meio do mesmo fluxo de trabalho de pull request usado para outras alterações de código. Em termos de qualidade, o recurso de Pseudo Traduções da Smartling alonga as strings com caracteres extras para testar a tolerância da interface do usuário a textos mais longos — conceitualmente a mesma verificação que a própria pseudolocalização da Unity executa — e as traduções entregues por meio do fluxo de trabalho profissional da Smartling contam com uma Garantia de Satisfação de Tradução baseada em uma pontuação média de MQM superior a 98.
Pronto para ver o Smartling em ação?
Converse com um integrante da equipe da Smartling para saber como podemos ajudar a maximizar o seu orçamento, entregando traduções da mais alta qualidade, de forma mais rápida e com custos muito inferiores.