Guias / Bastidores

Como traduzimos os nossos jogos para telemóvel para 14 idiomas

O que foi preciso para levar os nossos jogos Android a 14 idiomas: como organizamos os ficheiros de textos, porque contam as regras de plural e os tipos de letra, os erros de tradução que voltavam sempre, um bug que só afeta telemóveis na Europa e porque 14 idiomas significam 16 fichas na loja.

Os nossos seis jogos estão totalmente traduzidos para 14 idiomas: inglês, alemão, espanhol, francês, croata, indonésio, italiano, japonês, coreano, português, russo, esloveno, turco e chinês tradicional. Os quatro primeiros, Idle Ronin, Idle Summoner, Idle AI Factory e Block Brain, somam cerca de 2.100 textos em inglês, de 254 no Block Brain a 1.253 no Idle Ronin, cada um traduzido 13 vezes. O Idle Restaurant: Miami e o ONI Snakes foram lançados nos mesmos 14 idiomas. Foi isto que deu trabalho, e é isto que voltaríamos a fazer.

Um ficheiro de textos por idioma, com contexto

Cada jogo tem um ficheiro de texto simples por idioma. Uma entrada é a linha original em inglês, marcada com @, seguida da tradução, marcada com =, e a maioria das entradas traz um comentário escrito para quem traduz. Este é o primeiro monstro do ficheiro inglês do Idle Summoner:

# monster name with its number in the summon chain (1-55); names appear on small labels

@ {0}. Slime

Esses comentários foram a coisa mais útil que acrescentámos. O ficheiro inglês do Idle Summoner tem 156 para 258 textos. Quem traduz sabendo que um texto fica numa etiqueta minúscula, ou que {0} é um número, erra muito menos do que quem adivinha só pelas palavras.

Usar o próprio texto inglês como chave mantém os ficheiros legíveis, mas tem uma armadilha. Um texto igual nas duas colunas não é automaticamente um nome que tem de ficar em inglês: no Idle Ronin, cerca de 680 das primeiras 1.185 entradas eram iguais ao texto inglês. Só os verdadeiros nomes próprios ficam em inglês, os dos 19 Guardiões, os nomes das unidades e 12 trajes, e o nosso script de build bloqueia exatamente esses.

As regras de plural não são opcionais

O inglês tem duas formas: 1 unit, 2 units. Muitos idiomas têm mais, e as regras variam. O nosso código Loc segue as regras de plural para números inteiros das tabelas Unicode CLDR:

IdiomasFormas que o nosso código usa
Inglês, alemão, espanhol, italianoone, other
Francês, portuguêsone (0 e 1), other
Croataone, few, other
Russoone, few, many
Eslovenoone, two, few, other
Turco, indonésio, japonês, coreano, chinêsuma só forma

O esloveno é o que surpreende: tem uma forma própria para o dois, por isso diz-se «2 enoti», mas «5 enot». Se o teu código só conhece singular e plural, cada um destes idiomas mostra gramática errada em algum lado.

Tipos de letra: as letras que não sabias que faltavam

O tipo de letra do texto do Idle Summoner era uma cópia reduzida do Noto Sans KR Black a que faltavam č, š, ž e ć, os acentos da Europa Ocidental, as letras turcas e o chinês tradicional. As letras em falta ou passavam para um tipo de letra do telemóvel ou nem apareciam. Refizemo-lo com todas as letras que as nossas tabelas usam e acrescentámos o Noto Sans JP para o japonês e o Noto Sans TC para o chinês tradicional. As etiquetas no tipo de letra pixel do jogo só o mantêm enquanto o texto couber nas letras que esse tipo de letra tem.

Os tipos de letra também podem enganar. No tipo de letra coreano do Idle Ronin, o N maiúsculo está desenhado de forma a que ON e OFF se leiam «OΠ». Trocámos esses interruptores pelas palavras coreanas 켜기 e 끄기, que de qualquer modo se leem melhor.

Os erros que voltavam em todos os idiomas

Seja como for que um jogo é traduzido, o primeiro rascunho raramente está pronto. O nosso repetia o mesmo punhado de erros em quase todos os idiomas, os mesmos que a nossa própria revisão em esloveno tinha apanhado primeiro:

  • «Particle», uma definição gráfica, traduzida com a palavra da física em vez de «Efeitos».
  • «Stack», as cópias extra de uma unidade, deixado em inglês ou traduzido como «monte» em vez de «cópias».
  • Uma missão para derrotar o monstro chamado Treasure Chest, traduzida como partir baús do tesouro.
  • Texto traduzido por inteiro para linhas e emblemas onde só cabem uma ou duas palavras.
  • «FIGHT FLOOR {0}» com um verbo a mais que deixava o botão demasiado comprido.

Por isso escrevemos um verificador que mostra exatamente esses textos em qualquer idioma, e entregamos a lista antes de a tradução começar. Os dois idiomas traduzidos com a lista na mão não precisaram de correções; os traduzidos sem ela precisaram de umas seis cada um.

Verifica os ecrãs, não só os ficheiros

Um ficheiro pode estar completo enquanto o ecrã ainda mostra inglês. O nosso teste: muda o jogo para outro idioma, recolhe todo o texto visível no ecrã e compara-o com o ficheiro inglês. O que continuar em inglês é uma etiqueta que o código nunca traduz. No Idle Ronin, essa varredura encontrou um botão OPEN sempre visível e botões das definições presos no idioma que estava ativo quando o menu foi aberto pela primeira vez.

Depois verifica se tudo cabe numa resolução de telemóvel real. Olhamos para cada ecrã em 1080 x 2400 nos idiomas mais longos e em japonês, coreano, chinês e russo, e preferimos encurtar o texto a encolhê-lo até ninguém o conseguir ler.

Uma vírgula que estraga gravações na Europa

Um bug não tem nada a ver com palavras. Num jogo que estamos a criar, a gravação junta números com vírgulas. Num telemóvel cujo idioma escreve as casas decimais com vírgula, como em grande parte da Europa, 7392.58 passa a 7392,58, a vírgula a mais parte o número em dois, e todos os valores seguintes mudam uma posição. Quem testa em inglês nunca o vê. A solução é uma linha no arranque que fixa a formatação dos números na cultura invariante, mais uma proteção para que as gravações que já se estragaram continuem a carregar.

14 idiomas, 16 fichas na loja

O Google Play tem fichas separadas para o espanhol de Espanha e da América Latina e para o português de Portugal e do Brasil. Mantemos uma tradução dentro do jogo por idioma, mas escrevemos o texto da loja à parte para cada mercado, com os seus próprios termos de pesquisa. Isso dá 16 fichas por jogo, cada uma com o seu título, a sua descrição breve, a sua descrição completa e as suas capturas de ecrã. O nosso site segue o mesmo padrão, e explicamos como o construímos num artigo à parte.

O que voltaríamos a fazer

  1. Escreve um comentário de contexto para cada texto.
  2. Bloqueia os nomes próprios no build, não na cabeça de quem traduz.
  3. Implementa as regras de plural antes de chegar a primeira tradução.
  4. Verifica se os teus tipos de letra têm todas as letras que as tuas tabelas usam.
  5. Mantém uma lista de textos problemáticos conhecidos e entrega-a logo de início.
  6. Percorre os ecrãs noutro idioma à procura de inglês esquecido.
  7. Grava os dados na cultura invariante.
  8. Conta com 16 fichas na loja, não 14.

Queres ver o resultado? Muda o idioma no Idle Ronin, no Idle Summoner, no Idle AI Factory, no Block Brain, no Idle Restaurant: Miami ou no ONI Snakes: todos falam os 14.

Fontes

  • Unicode CLDR, Language Plural Rules.
  • Código dos jogos da ONI Games, setembro de 2026: Idle Summoner (Loc.cs, LocFonts.cs, Localization/Summoner/en.txt), Idle Ronin (Localization/Ronin), Idle AI Factory (Localization/AIFactory), Block Brain (Localization/Brain).

Mais guias

Todos os guias
Porque tirámos os anúncios obrigatórios depois dos chefes

Bastidores

Porque tirámos os anúncios obrigatórios depois dos chefes

O sítio onde um anúncio aparece conta mais do que quantos há. A história do anúncio em ecrã inteiro dos combates com chefes do Idle Ronin, que mudou de sítio duas vezes antes de o desligarmos, e as regras de anúncios que agora seguimos em todos os nossos jogos, com o código por trás.

Ler o guia →

◆ Mais da ONI Games

Mais jogos

Deslize para ver mais

ONI Snakes: Armored Arena
Já disponível · Google Play

ONI Snakes: Armored Arena

Arranca a armadura às cobras rivais, cresce e domina a arena de néon em 11 modos de jogo, online e com amigos.

Descobrir o jogo →
Idle Ronin: Cyber RPG
Já disponível · Google Play

Idle Ronin: Cyber RPG

Entra num futuro banhado em néon na pele do último Cyber Ronin. Corta ondas de mechs, recruta uma equipa de ciborgues e sobe a Neon Tower. A tua lâmina continua a golpear mesmo quando estás offline.

Descobrir o jogo →
Idle Summoner: Pixel RPG
Já disponível · Google Play

Idle Summoner: Pixel RPG

Invoca uma legião de feras, invade os castelos do submundo e renasce mais forte sempre que o progresso abrandar.

Descobrir o jogo →
Block Brain: Block Puzzle Game
Já disponível · Google Play

Block Brain: Block Puzzle Game

Encaixa blocos coloridos, limpa linhas e encadeia combos enquanto o teu Cerebrinho cresce de um pequeno Broto até um Génio coroado.

Descobrir o jogo →
Idle AI Factory: Robot Tycoon
Já disponível · Google Play

Idle AI Factory: Robot Tycoon

Gere uma fábrica cheia de robôs alegres, automatiza cada linha de produção e cresce de um pequeno laboratório de IA até uma base na Lua.

Descobrir o jogo →
Idle Restaurant: Miami
Já disponível · Google Play

Idle Restaurant: Miami

Transforma uma pequena pizaria na praia num império de restaurantes néon em Miami: contrata gerentes, coleciona 20 receitas verdadeiras e ganha offline.

Descobrir o jogo →