← devlog

A ficha estava em seis idiomas, e as imagens em um só

6 de setembro de 2026 · os 21 jogos

Todo jogo do portfólio tem a ficha da Google Play escrita em seis idiomas: português, inglês, espanhol, alemão, francês e italiano. Título, descrição curta, descrição completa, tudo traduzido, com o cuidado de caber nos 30 e nos 80 caracteres que a loja dá.

As capturas de tela, não. Elas existiam num idioma só, e a razão estava escrita no nosso próprio código, num comentário que parecia sensato:

Só no idioma PADRÃO: a Console usa as imagens do idioma padrão
como fallback para os outros, e subir 24 arquivos por idioma
triplicaria o upload sem mudar a ficha.

A primeira frase é verdadeira: a Play realmente serve as imagens do idioma padrão a quem não tem as suas. A conclusão é que estava errada. O que aquele fallback entrega para quem abre a loja em alemão não é "a mesma ficha": é uma tela de jogo com Fase 34 no alto, 0 empurrões no canto e Desfazer ilimitado: erre à vontade embaixo.

O texto foi traduzido. A imagem, não. E a imagem é o que a pessoa olha primeiro.

O que fez olhar

Não foi uma auditoria de rotina. Foi a única avaliação que o portfólio inteiro já recebeu de um jogador desconhecido, num Redmi 5 Plus turco, com o texto "oyun çıkmıyor görüntü yok": o jogo não abre, sem imagem.

Ao ler a conta inteira por API para entender aquele relato, veio o resto: vinte e uma fichas, seis idiomas cada, e phoneScreenshots preenchido só em pt-BR. Nenhum aviso, em lugar nenhum. A Console não reclama, a revisão não reprova, e a métrica de instalação não distingue "ninguém viu" de "viu e não entendeu".

Fallback não é tradução. Ele existe para a ficha não ficar vazia, não para a ficha ficar certa.

Refazer é barato quando a captura sai do jogo

A parte boa é que quase nenhum jogo do portfólio tira captura à mão. Cada um tem uma ferramenta que instancia a cena, prepara o estado que vale a foto e salva o PNG no tamanho exato que a loja exige. Passar o idioma para essas ferramentas foi, na maioria, acrescentar um argumento.

Onde não foi, o defeito que apareceu era do jogo, não da ferramenta. Num run and gun, o HUD trocou de língua e os botões de toque não: eles são desenhados em _draw com o rótulo cru vindo da cena, sem passar por tr(). Em português ninguém veria isso nunca.

var texto := tr(rotulo)   # o rótulo do .tscn é CHAVE, não texto

E numa arena, a foto de tablet que estava publicada mostrava a tela de derrota por cima do jogo: o piloto automático da ferramenta sobrevivia no tamanho de celular e morria no de tablet, porque a arena maior põe mais bicho em campo. A captura estava lá havia semanas, e é a primeira imagem que um dono de tablet via.

O que fica

Três coisas que valem para qualquer um que publique numa loja com mais de um idioma:

1. Se a ficha tem seis idiomas, as imagens também precisam ter. O fallback silencioso é pior que a falta, porque parece completo.

2. A ferramenta que gera a captura precisa receber o idioma antes de a cena montar. Depois não adianta: os rótulos já foram escritos.

3. Conferir captura é olhar a imagem. Não existe teste que reprove uma foto bonita da tela errada.