EnginesGuiasFAQPatreonDiscordBaixar
Entrar
RuneTranslate · traduza jogos do japonês e de 30+ idiomas
EnginesGuiasCompararTexto em imagensEditor de savesModo CheatFAQBaixarAlteraçõesTrustpilotPatreonDiscordYouTubePrivacidadeTermosContato
Todos os engines

Engine suportado · Gettext (.po / .mo)

Completo — reconstruído e jogado

Tradutor de arquivos PO — traduza catálogos gettext .po e .mo de jogos

Gettext é como a maioria dos jogos indie não japoneses é localizada: jogos em Python e pygame, Solarus, jogos SDL e GTK, e tudo que passa por Poedit, Weblate ou Crowdin. Os textos ficam em uma pasta locale como fontes .po e catálogos .mo compilados. O RuneTranslate os detecta na criação do projeto, traduz cada string e grava de volta um .mo funcional — o arquivo que o jogo lê em execução.

Dica de glossário para este engine

Catálogos gettext são majoritariamente interface: itens de menu, rótulos de botões, dicas e linhas de status que se repetem por várias telas. Adicione seus substantivos, nomes de itens e verbos-chave ao glossário uma vez e cada ocorrência sairá idêntica — algo ainda mais importante do que em diálogos, porque um menu que diz “Salvar” em um lugar e “Guardar” em outro parece um bug. Glossário 101 →

Baixar o RuneTranslate para Windows

Como traduzir Gettext (.po / .mo)

  1. PASSO 1

    Abra a pasta do jogo

    Aponte o RuneTranslate para o diretório do jogo — aquele com uma pasta locale/, lang/ ou i18n/. A detecção procura catálogos pelos bytes reais, não pela extensão, então um .mo que na verdade é uma cena 3D é ignorado. Uma pasta com arquivos .po soltos também funciona.

  2. PASSO 2

    Confira o que foi encontrado

    A janela de novo projeto informa quantos catálogos foram lidos, quantos são .mo compilados versus .po fonte, quais idiomas o jogo já traz e o total de strings — antes de você criar o projeto.

  3. PASSO 3

    Escolha idioma e provedor

    Escolha um idioma de destino e um provedor: Google ou DeepL gratuitos, ou sua própria chave da DeepL, OpenAI, Claude ou DeepSeek. Marcadores de formato — %s, %d, %(player)s, {count} — são mascarados antes da tradução e restaurados depois, para que nenhum provedor os remova ou reescreva.

  4. PASSO 4

    Revise no editor

    As strings são agrupadas por arquivo de catálogo. Cada entrada mantém seu contexto gettext (msgctxt), que é a desambiguação escrita pelo desenvolvedor para aquela string específica — assim você vê por que a mesma palavra aparece duas vezes e traduz cada uma corretamente.

  5. PASSO 5

    Exporte uma build jogável

    A exportação grava uma cópia completa do jogo com um catálogo correto em locale/<seu idioma>/LC_MESSAGES/ E uma versão atualizada do catálogo que o jogo já carregava, para que a tradução apareça independentemente de como o jogo escolhe o idioma. São gravados .po e .mo compilado.

Suporta

  • Catálogos .mo compilados — leitura e escrita, nas duas ordens de bytes, verificados contra 43 catálogos reais e 93.717 entradas
  • Arquivos .po fonte, incluindo formas plurais, contextos msgctxt, flags e comentários de tradução
  • O layout canônico locale/<idioma>/LC_MESSAGES/<domínio>.mo e layouts planos como lang/tr.po
  • Formas plurais ajustadas ao idioma de destino (inglês 2 formas → russo 3 → japonês 1) com o cabeçalho reescrito de acordo
  • Marcadores printf e de chaves (%s, %d, %(player)s, {count}, {0}) mascarados durante a tradução e restaurados depois
  • A exportação grava tanto o novo idioma quanto uma sobrescrita do catálogo que o jogo já carrega

Limitações

  • Verifique se a build exportada inicia e é lida corretamente antes de contar com ela
  • Só é traduzido o texto que já está em um catálogo — strings que o desenvolvedor nunca passou pelo gettext não estão no .po/.mo e não podem ser encontradas ali
  • O msgid é tratado como texto fonte, que é o contrato do gettext; um catálogo com msgids em inglês e o idioma original no msgstr será traduzido a partir do inglês
  • Jogos feitos em um motor com suporte direto (Godot, Unity, Ren’Py…) são tratados por esse motor, para que o restante do texto também fique acessível
  • Entradas não traduzidas mantêm a tradução que o jogo já trazia, em vez de ficarem vazias

Leitura relacionada

O tutorial completo de tradução de Gettext (.po / .mo)
Leia o guia →

Leitura relacionada

RuneTranslate vs Translator++
Leia o guia →

Outros engines suportados

RPG MakerRPG Maker XP/VX/AceRen'PyKirikiriWolf RPGTyranoBuilderElectron VNUnityBakinSRPG StudioNScripterGodotArtemisYU-RISAliceSoftUnrealLiveMaker