Ferramenta de linha de comando para traduzir Visual Novels baseadas em Ren'Py do Inglês para Português (Brasil) usando LLMs locais via Ollama.
O projeto possui dois modos de operação:
- Quality Mode: Focado em consistência narrativa (usa contexto das frases anteriores).
- Speed Mode: Focado em velocidade (usa processamento paralelo/multithreading).
- Python 3.10+ instalado.
- Ollama instalado e rodando (Baixar aqui).
- Modelo Llama 3 (ou outro de sua preferência) baixado no Ollama.
Abra seu terminal e baixe o modelo que será utilizado, sendo de sua preferencia e se sua configuração. O padrão configurado neste projeto é o llama3:8b:
ollama pull llama3:8bCertifique-se de manter o Ollama rodando em segundo plano digitando ollama serve se necessário.
Na pasta do projeto, crie um ambiente virtual para isolar as dependências e evitar conflitos:
Windows (PowerShell):
python -m venv venv
.\venv\Scripts\activateLinux / Mac (Bash):
python3 -m venv venv
source venv/bin/activateCom a venv ativada, instale as bibliotecas necessárias:
pip install requests richrequests: Para comunicação com a API do Ollama.rich: Para a interface visual e barras de progresso no terminal.
O projeto utiliza dois arquivos de configuração JSON separados. Edite-os conforme a necessidade do seu jogo:
config-q.json: Configuração para o modo Quality.config-s.json: Configuração para o modo Speed.
Defina onde estão os arquivos .rpy originais e para onde vão os traduzidos.
"paths": {
"input_dir": "./input", // Pasta onde estão os arquivos .rpy originais
"output_dir": "./output" // Pasta onde os arquivos traduzidos serão salvos
}Adicione nomes de personagens, lugares ou termos técnicos que não devem ser traduzidos.
"glossary": [
"Lyre",
"Eldoria",
"Status Screen",
"High School"
]Adicione as siglas dos personagens usadas no script do Ren'Py (ex: l "Fala do personagem").
"character_tags": [
"q", "q1", "l", "le", "mc", "e"
]No campo "system_prompt_template", você define como a IA deve se comportar.
Importante: Mantenha as chaves {context} e {glossary} no texto, pois o script as substitui automaticamente pelas informações reais.
Certifique-se de que seus arquivos .rpy (gerados pelo Ren'Py na opção Generate Translations) estejam na pasta definida em input_dir (padrão: ./portuguese).
Este modo lê o arquivo sequencialmente e envia as frases anteriores para a IA. Isso ajuda a manter a coerência de gênero e tom na conversa.
Execute no terminal:
python translate-quality.pyEste modo dispara múltiplas traduções ao mesmo tempo (Multithreading). Não possui memória de contexto, mas é muito mais rápido.
Execute no terminal:
python translate-speed.py-
Barra de progresso travada em 0% ou "Aguardando...":
-
Verifique se o
ollamaestá rodando. -
Verifique se o nome do modelo no arquivo
.json(ex:"model": "llama3:8b") é exatamente igual ao que aparece ao digitarollama list. -
Erro
ModuleNotFoundError: -
Você provavelmente esqueceu de ativar a
venvou não instalou as dependências (pip install requests rich). -
Tradução "alucinando" ou cortada:
-
Tente reduzir a
temperatureno JSON para0.1. -
Aumente o
num_ctxpara4096no modo Quality se as frases forem muito longas.