Este projeto é um simples app desktop escrito em Python com TKinter e compilado com pyinstaller.
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.
- ative o ambiente virtual através do script activate
- no windows execute:
virtual-env\Scripts\activate.bat
- no windows execute:
- 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.
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.
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.
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.
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.