/tradutor-de-comentarios

Projeto em Python para suprir uma necessidade de traduzir comentários de arquivos .py, .r e .js para outras línguas

Primary LanguagePowerShell

Sobre

Este projeto é um simples app desktop escrito em Python com TKinter e compilado com pyinstaller.

Motivação

Ele uniu minha vontade de trabalhar com Python desktop e a necessidade de criar um sistema de tradução de comentários de arquivos de código fonte dos tipos Python, R e JavaScript.

Executar o projeto

  • ative o ambiente virtual através do script activate
    • no windows execute: virtual-env\Scripts\activate.bat
  • faça a instalação das depêndencias através do requirements.txt através do comando pip install -r requirements.txt
  • tenha o arquivo conta-de-servico.json na raíz do projeto, que representa uma conta de serviço de um projeto Google Cloud.
  • execute o projeto no modo sem debug (Ctrl + F5)

Se tudo correr bem, a janela do programa deve aparecer.

Criação da conta de serviço

Para criar uma conta de serviço você deve ter uma conta do Google Cloud que possa criar um projeto. Após a criação do projeto vá até https://console.cloud.google.com/iam-admin/serviceaccounts?authuser=1&project={ID-DO-PROJETO} e clique para criar uma nova conta de serviço. Dê um nome e defina a descrição. Após isso, é importante setar o papel Usuário da API Cloud Translation para que seja possível acionar a API de tradução corretamente.

Funcionamento

Com o projeto em execução, basta clicar no botão Selecionar Arquivos, selecione um ou mais arquivos, caso tenha selecionado algum arquivo equivocadamente, basta clicar no arquivo que está na lsita e depois pressionar a tecla Delete. Caso os arquivos selecionados sejam os corretos, clique em Traduzir Arquivos. A Aplicação vai ter retornar um status assim que a tradução for concluída.

image

Compilar o projeto

Para compilar o projeto, utilize o comando pyinstaller tradutor-de-comentarios.spec. Se tudo correr bem, uma pasta chamada dist deve ser criada com o executável.

Resultado

Ainda há muito que melhorar, como por exemplo:

  • comentários em bloco em arquivos JavaScript utilizando /**/
  • uso correto de caracteres especiais
  • uso de glossário para evitar tradução de termos indevidamente.

De modo geral, está bem satisfatório e foi um bom aquecimento para posteriormente, desenvolver uma aplicação mais robusta 😄.

Abaixo, um pedaço do resultado da tradução de um arquivo python.

Arquivo original

image

Traduzido para inglês

image

Traduzido para espanhol

image