Exclua linhas indesejadas da tradução com filtros de regex
Strings de depuração, caminhos de assets e texto de desenvolvimento esquecido podem escapar da exclusão automática. Os filtros de regex por projeto do RuneTranslate excluem qualquer linha cujo texto de origem corresponda a um padrão — com uma prévia ao vivo do que exatamente eles capturam — para que você nunca gaste uma tradução com lixo. Grátis, em todos os planos.
Aponte o RuneTranslate para um jogo e ele importa todas as strings traduzíveis que consegue encontrar. A maior parte disso é diálogo real e texto de menu — mas parte é lixo: linhas de depuração esquecidas, nomes de arquivos de assets, flags internas e identificadores soltos que o jogo nunca mostra ao jogador. O RuneTranslate já exclui os casos óbvios de cada engine e os marca como linhas vermelhas de inclusão opcional, mas todo jogo é diferente, e parte do lixo é específica do título em que você está trabalhando.
É para isso que servem os filtros de exclusão por regex. Você fornece ao RuneTranslate um ou mais padrões, e qualquer linha cujo texto de origem corresponda a um padrão é retirada da execução — ignorada pelo tradutor e exibida como uma linha vermelha de inclusão opcional que você pode reativar a qualquer momento. É a mesma mecânica das exclusões nativas de cada engine, mas guiada pelas suas próprias regras e salva junto com o projeto. E não custa nada: ao contrário do glossário e da memória de tradução, as exclusões por regex são grátis em todos os planos.
Por que excluir linhas?
Dois motivos — um óbvio, e outro que importa mais:
- Custo e tempo. Cada linha de lixo que você traduz é cota de provedor (ou limite de taxa do scraper gratuito) gasta em texto que ninguém jamais vai ler. Ao longo de um jogo inteiro, isso soma.
- Manter o jogo funcionando. Esse é o motivo de verdade. Algumas linhas não são texto — são chaves, caminhos de arquivo ou operandos de fluxo que a engine resolve por valor. Traduza
bg_office_01ouEV_FLAG_TRUEe você pode quebrar silenciosamente uma transição de cena ou uma consulta de variável. Excluí-las mantém o build exportado estável.
Onde encontrar
Abra um projeto e, na barra de ferramentas do editor, abra o menu ⋯ Mais e escolha Exclusões por regex. Isso abre o painel Filtros de exclusão personalizados — você adiciona padrões, observa exatamente o que eles capturam e aplica, tudo em uma única janela.
A prévia ao vivo é o ponto central
Você nunca aplica um padrão às cegas. Enquanto você digita uma regex, o RuneTranslate mostra Corresponde a N de TOTAL linhas e lista algumas das linhas reais que ele capturaria, atualizando a cada tecla. Um padrão inválido é sinalizado na hora com o erro, então você não consegue salvar um padrão quebrado.
Como a prévia mostra as linhas reais do seu projeto, você ajusta o padrão até que ele capture exatamente o lixo e nada de texto real, e então aplica. Um detalhe que vale lembrar: os padrões correspondem ao texto de origem — o japonês original, ou qualquer que seja o seu idioma de origem — não à tradução. Você escreve os padrões com base no texto não traduzido.
Padrões prontos
O painel vem com chips de predefinição de um clique para os padrões que aparecem em quase todo jogo japonês:
- Somente ASCII —
^[\x00-\x7F]+$— uma linha sem nenhum caractere do idioma de origem (inglês esquecido, romaji ou um identificador). Geralmente seguro descartar quando sua origem é o japonês. - Caminho de asset —
\.(png|jpe?g|gif|webp|ogg|mp3|wav|webm|mp4)$— qualquer coisa que termine em uma extensão de arquivo de mídia. - Variável —
^[a-z_]+\.[a-z_]— referências de código com ponto, comof.pageoustate.flag. - Token em MAIÚSCULAS —
^[A-Z0-9_]+$— constantes e flags comoEVENT_FLAG_3. - Números / símbolos —
^[\d\s.,:%/+\-]+$— linhas apenas numéricas e máscaras de tile como11111112222. - Tag entre colchetes —
^\[.*\]$— uma linha inteira que não é nada além de uma[tag].
O painel também mostra uma folha de referência compacta para criar os seus próprios: ^ e $ ancoram o início e o fim de uma linha, . é qualquer caractere, * e + significam zero-ou-mais e um-ou-mais, ? é opcional, \d um dígito, \w um caractere de palavra e \s espaço em branco.
Escrevendo seus próprios filtros
As predefinições cobrem os casos comuns; para qualquer coisa específica do jogo, você escreve sua própria expressão regular JavaScript. Algumas regras práticas:
- Ancore à linha inteira. Um simples
debugcorresponde a qualquer linha que contenha essa palavra — inclusive diálogo real sobre depuração.^DEBUG:corresponde apenas a linhas que começam com o marcador, e envolver um padrão em^...$corresponde à linha inteira. Ancorar é o padrão mais seguro. - Observe a contagem da prévia. Se um padrão pula de capturar 12 linhas de lixo para capturar 400, você quase certamente capturou texto real — confira as amostras e restrinja o padrão.
- Prefira estrutura a palavras. O lixo costuma ser reconhecível pela forma — tudo em maiúsculas, caminhos com ponto, extensões de arquivo no final, números puros — e não por palavras específicas. Padrões estruturais generalizam por todo o projeto.
- Uma regra por ideia. Vários padrões pequenos e óbvios são mais fáceis de entender, e de remover depois, do que um único gigante e ilegível.
Aplicando e desfazendo
Clique em Aplicar e salvar. O RuneTranslate armazena os padrões junto com o projeto e reclassifica todas as linhas, depois informa exatamente o que aconteceu — por exemplo, 340 linhas excluídas · 5 restauradas. A contagem de restauradas são linhas que um filtro capturava antes, mas não captura mais, trazidas de volta automaticamente.
É totalmente reversível: exclua um padrão, aplique de novo e suas linhas voltam. Os filtros só controlam as próprias exclusões — eles nunca sobrepõem uma exclusão automática da engine — e você ainda pode reativar qualquer linha individual pelo botão de alternância na linha, caso um filtro tenha ficado abrangente demais.
O aviso de redefinir traduções filtradas
Um caso que o RuneTranslate resolve para você: e se você filtrar linhas que já havia traduzido? Uma linha excluída exporta o texto de origem, mas a tradução antiga continua vinculada a ela. Então, logo depois de aplicar, se alguma das linhas recém-filtradas já tinha uma tradução, o RuneTranslate pergunta se você quer redefini-las como pendentes — descartando a tradução para que a exportação volte de forma limpa ao texto de origem — ou mantê-las. Redefinir costuma ser o que você quer, já que você excluiu essas linhas justamente porque não queria que fossem traduzidas.
Como isso se encaixa com o resto
Os filtros de regex são a ferramenta de última milha. Os adaptadores de engine já excluem o lixo estrutural que conhecem para cada formato, então, em um jogo bem suportado, a IA nunca vê um caminho de asset. Os filtros são para o que sobra: um marcador específico do jogo, um canal de depuração estranho ou strings que uma engine de nicho expõe e que não são bem diálogo.
Use o filtro de status Excluídas do editor para revisar tudo o que está sendo retido no momento — exclusões da engine e suas exclusões por regex juntas — e reincluir qualquer item. E, enquanto os filtros removem linhas, o glossário faz o oposto: ele trava os termos escolhidos para que sempre sejam traduzidos da mesma forma. Entre os dois, você controla tanto o que é traduzido quanto como.
Cinco minutos com o painel de Filtros no início de um projeto — insira alguns chips de predefinição, dê uma olhada na prévia, aplique — economizam cota em cada execução seguinte e mantêm o não-texto arriscado totalmente fora do tradutor. Baixe o RuneTranslate, abra qualquer jogo e confira o menu ⋯ Mais em busca de Exclusões por regex.
Pronto para experimentar o RuneTranslate?
O plano gratuito libera todos os motores + todos os provedores de tradução. O plano Supporter ($3/mo) libera velocidade total.
Baixar para Windows