top of page

Como nosso jogo aprendeu catorze idiomas em uma semana 🌍

Foto do escritor: Marcel Dütscher
Marcel Dütscher
10 de ago.
3 min de leitura

10 de agosto de 2026


Quando começamos, Blocks Beyond the Stars falava exatamente dois idiomas: alemão, porque é onde moramos, e inglês, porque a internet fala inglês. Hoje ele fala catorze. Veja como isso aconteceu — e tudo o que quebrou pelo caminho. 🌍


Tudo começou com o Francesco. Algumas semanas atrás chegou um pull request da Itália: Francesco Quirino tinha começado a traduzir o jogo para o italiano. À mão. Grupo por grupo, começando pelos 290 nomes de blocos e suas descrições. Foi nesse momento que percebemos que precisávamos levar os idiomas a sério — porque até então metade dos textos do jogo nem era traduzível. Mais de 300 mensagens do servidor estavam fixas em inglês. Então primeiro fizemos a limpeza, só para o trabalho do Francesco ter onde pousar.


Depois veio a pergunta incômoda. Traduzir um idioma à mão leva semanas. Somos uma família, não um estúdio de localização. Então: máquina — mas bem-feita. Construímos uma ferramentinha que divide o arquivo de idioma em pedaços, pede a um modelo de linguagem para traduzi-los e depois confere: falta alguma frase? Um marcador como {0} sumiu? Ele inventou uma chave que não existe? Se sim, o resultado é descartado. Só quando a ferramenta passou a funcionar de forma confiável começamos a adicionar idiomas: holandês, português do Brasil, polonês, turco — e depois russo, ucraniano, chinês, japonês e coreano.


O tom foi mais difícil que as palavras. Um modelo de linguagem traduz de forma educada e formal por padrão. Mas um jogo infantil que fala com vocês como uma carta de banco é simplesmente estranho. Por isso cada idioma ganhou sua própria regra: holandês “je/jij”, polonês “ty”, turco “sen”, brasileiro “você”, russo “ты”, japonês です/ます, coreano 해요체. O holandês nos custou uma revisão extra, porque um IJ no começo da palavra põe as duas letras em maiúscula — “IJzererts”, não “Ijzererts”. Nenhuma máquina descobre isso sozinha; a gente descobre lendo o resultado.


E depois vieram as caixinhas vazias. Tínhamos o russo totalmente traduzido, abrimos o jogo — e o menu mostrava só retângulos. Nossa fonte da casa, a Rajdhani, simplesmente não tem cirílico. Com chinês, japonês e coreano a coisa ficou séria: uma fonte CJK completa pesa uns 16 megabytes. Vezes três, são quase 50 MB — impensável para um jogo que também precisa rodar no navegador. A solução: montar uma fonte de subconjunto sob medida por idioma, com exatamente os caracteres que aparecem nos nossos textos. 16 MB viram 800 KB. Em vez de 50 MB, o jogo cresce dois. 🔤


O que isso nos ensinou. Traduzir é 20% tradução e 80% todo o resto: tirar os textos do código logo de início, encontrar fontes, conferir se as frases ainda cabem nos botões (o alemão é longo, mas o russo é mais longo) e garantir que até a janela de erro esteja traduzida — aquela que aparece antes de os arquivos de idioma serem carregados. Tivemos que escrever essa última mensagem fixa no código catorze vezes. Parece errado — mas é a única mensagem que vocês absolutamente precisam conseguir ler.


Sendo honestos: a primeira versão é traduzida por máquina. Ela é boa, está completa, foi validada — mas nenhum falante nativo a leu. Dizemos isso de propósito, em vez de fingir que temos catorze tradutores. É exatamente por isso que o trabalho em italiano do Francesco continua preservado caractere por caractere: nossa ferramenta só preenche lacunas, nunca sobrescreve uma tradução humana. Onde uma pessoa passou, a pessoa vence.


Se vocês falam um desses idiomas: adoraríamos receber suas correções, mesmo uma só. O repositório tem um guia de tradução que explica passo a passo como contribuir — e, se o GitHub não é a sua praia, é só nos dizer qual frase soa estranha. Quem fala o idioma de nascença percebe em cinco minutos mais do que nós em cinco horas. 🌍✨

Posts recentes

Ver tudo

Comentários


Não é mais possível comentar esta publicação. Contate o proprietário do site para mais informações.
bottom of page