Script para traduzir textos rapidamente do clipboard

Deixe sua contribuição, assim vamos facilitar a manutenção e configuração para outros membros que estão iniciando.
Regras do fórum Leia as Regras Gerais do Manjaro Brasil em "Normatividade" e pesquise antes de postar.

Script para traduzir textos rapidamente do clipboard

Mensagempor chmercesmoreira » 20 Fev 2017, 00:48  •  MS 1

Olá pessoal,
hoje senti a necessidade de traduzir textos de inglês para português rapidamente pois toda vez que eu precisava completar essa tarefa eu tinha que seguir essa receita de bolo:

Abrir o navegador -> Abrir a página do Google Tradutor -> Copiar o texto que quero traduzir lá

Criei um pequeno script que "automatiza" essa tarefa, na verdade ele traduz o texto que está salvo na área de transferência (clipboard) do seu sistema, ou seja, para traduzir um texto basta copiá-lo com o atalho de teclado ctrl+c e logo em seguida chamar meu script, que também pode ter algum atalho de teclado configurado para acesso rápido.

O script na verdade é bem simples, ele usa três ferramentas externas:
  • xclip
  • translate-shell
  • zenity

A primeira ferramenta, xclip, é um programa que manipula a área de transferência do sistema, é com ele que envio o texto que está armazenado na área de transferência para ser traduzido. Para instalar:
Código: Selecionar todos
sudo pacman -S xclip


A segunda ferramenta, translate-shell, precisa ser instalada pelo AUR, essa ferramenta se comunica com a API da Google para usar o Google Tradutor.:
Código: Selecionar todos
yaourt -S translate-shell


A terceira ferramenta, zenity, é usada para criar caixas de diálogo no sistema. Para instalar:
Código: Selecionar todos
sudo pacman -S zenity


O script:
Código: Selecionar todos
#!/bin/bash

(
echo "# Translating..." ;
trans=$(xclip -o | trans -brief :pt)
echo "100" ;
zenity --title="Result" --info --text "$trans"
) |
zenity --progress \
  --title="Clipboard to Google Translate" \
  --auto-close \
  --pulsate


Para acessar esse script rapidamente copie o conteúdo dele para um arquivo de script localizado em /usr/bin/translateToEN.sh, dê permissão de execução para esse arquivo:
Código: Selecionar todos
sudo chmod +x /usr/bin/translateToEN.sh

E por último, crie um atalho de teclado para ativar esse script, dessa forma ao pressionar o atalho do teclado o script será ativado e o conteúdo que estiver armazenado na área de transferência será traduzido e a tradução será exibida na tela.

Criei um vídeo ilustrando o uso do script:
https://vimeo.com/204827769

@edit
Fiz algumas modificações no script para permitir que ele seja usado em qualquer desktop environment.
Adicionei uma barra de progresso que oferece ao usuário um feedback de que a tradução está acontecendo em segundo plano.

@edit2
Dica do superstarmitsuru:
superstarmitsuru escreveu:Vale notar que se quiserem editar para traduzir para outros idiomas basta abrir o terminal e digitar:
Código: Selecionar todos
trans -T

para ver a lista de idiomas.
Editado pela última vez por chmercesmoreira em 20 Fev 2017, 22:28, em um total de 9 vezes.
Razão: correção
Imagem Imagem

Esta mensagem de chmercesmoreira foi agradecido - 3
Holmes (21 Fev 2017, 11:53) • superstarmitsuru (20 Fev 2017, 22:05) • tioguda (26 Fev 2017, 12:50)
chmercesmoreira
Especial

 
Mensagens: 751
Artigos: 1
Registro: 31 Jan 2016, 10:58
Agradeceu: 15 vez(es)
Agradecido: 223 vez(es)
Distro utilizada: Manjaro
Versão: 2018
Ambiente: KDE
Repositório: Stable
Habilidade: Intermediate

Script para traduzir textos rapidamente do clipboard

Mensagempor superstarmitsuru » 20 Fev 2017, 22:18  •  MS 2

Ótima idéia!
mas aqui tive que alterar no trans -brief :en para trans -brief :pt pois ele estava traduzindo do PT para EN

Há algum tempo estava procurando algum script para fazer essa tradução direto do clipboard, só que do Japonês para o Inglês, fiz uma pequena alteração em seu código e está funcionando 100%.
Código: Selecionar todos
#!/bin/bash

(
echo "# Translating..." ;
trans=$(xclip -o | trans -s ja -brief :en)
echo "100" ;
zenity --title="Result" --info --text "$trans"
) |
zenity --progress \
  --title="Clipboard to Google Translate" \
  --auto-close \
  --pulsate

Vale notar que se quiserem editar para traduzir para outros idiomas basta abrir o terminal e digitar:
Código: Selecionar todos
trans -T

para ver a lista de idiomas.
Editado pela última vez por superstarmitsuru em 20 Fev 2017, 22:22, em um total de 1 vez.
Razão: codigo
Thank you for playing
Avatar do usuário
superstarmitsuru
Aprendiz

 
Mensagens: 15
Registro: 15 Fev 2017, 14:52
Agradeceu: 2 vez(es)
Agradecido: 0 vez
Distro utilizada: Manjaro
Versão: Fringilla i686
Ambiente: XFCE4
Repositório: Stable
Habilidade: Novice

Script para traduzir textos rapidamente do clipboard

Mensagempor chmercesmoreira » 20 Fev 2017, 22:20  •  MS 3

superstarmitsuru escreveu:
Código: Selecionar todos
#!/bin/bash

(
echo "# Translating..." ;
trans=$(xclip -o | trans -brief :en)
echo "100" ;
zenity --title="Result" --info --text "$trans"
) |
zenity --progress \
  --title="Clipboard to Google Translate" \
  --auto-close \
  --pulsate

Ótima idéia!
mas aqui tive que alterar no trans -brief :en para trans -brief :pt pois ele estava traduzindo do PT para EN


Você está certo, vou corrigir.
O erro foi porque eu criei dois scripts no meu caso, um para traduzir para português e outro para traduzir para inglês, e a única diferença entre eles é essa que você citou.
Imagem Imagem

Esta mensagem de chmercesmoreira recebeu agradecimentos de
Wesley Rosa (20 Fev 2017, 22:58)
chmercesmoreira
Especial

 
Mensagens: 751
Artigos: 1
Registro: 31 Jan 2016, 10:58
Agradeceu: 15 vez(es)
Agradecido: 223 vez(es)
Distro utilizada: Manjaro
Versão: 2018
Ambiente: KDE
Repositório: Stable
Habilidade: Intermediate

Script para traduzir textos rapidamente do clipboard

Mensagempor Holmes » 21 Fev 2017, 11:55  •  MS 4

@chmercesmoreira, parabéns pela criação do script! muito bom...

vlw fwi, Holmes :)
Imagem

Meu Blog Kibojoe I Manjaro I JWM I Outras Coisas...

Visitem e colaborem com nosso Knowledge Base
Leia as Regras Gerais e pesquise antes de postar
Se a sua dúvida foi respondida marque Resolvido em seu tópico com o botão V na cor verde
Avatar do usuário
Holmes
Fundador

Mantenedor Kibojoe Linux
Mantenedor Kibojoe Linux
 
Mensagens: 5472
Artigos: 56
Registro: 30 Set 2012, 21:00
Localização: Brasil
Agradeceu: 173 vez(es)
Agradecido: 812 vez(es)
Distro utilizada: Kibojoe Linux
Versão: 18.02
Ambiente: JWM
Repositório: Stable
Habilidade: Intermediate

Script para traduzir textos rapidamente do clipboard

Mensagempor Wesley Rosa » 05 Mar 2017, 16:10  •  MS 5

Aqui deu certinho. Obrigado por partilhar o seu conhecimento.
Avatar do usuário
Wesley Rosa
Aprendiz

 
Mensagens: 16
Registro: 22 Mar 2016, 22:12
Agradeceu: 21 vez(es)
Agradecido: 0 vez
Distro utilizada: Manjaro
Versão: 15
Ambiente: xfce
Repositório: stable
Habilidade: Novice/ Intermediate

Script para traduzir textos rapidamente do clipboard

Mensagempor tioguda » 06 Mar 2017, 18:55  •  MS 6

Primeiramente eu quero agradecer ao chmercesmoreira pelo script

Como as vezes preciso traduzir do Português para o Inglês,eu alterei o nome para translatePtBr (sem o .sh) para criar um segundo script para o Inglês translateEnUs.

Estou utilizando pt-br dentro do script,não sei ainda se faz alguma diferença na tradução (vou verificar) mas funciona normalmente.
A Administração do site requer que você seja registrado e faça o login para ver a mensagem.
Avatar do usuário
tioguda
Avançado

 
Mensagens: 311
Artigos: 1
Registro: 28 Fev 2016, 22:42
Localização: Paraná
Agradeceu: 20 vez(es)
Agradecido: 82 vez(es)
Distro utilizada: Manjaro Linux
Versão: XanMod
Ambiente: KDE/Gnome
Repositório: Stable/Testing
Habilidade: Intermediário


Voltar para Dicas, Truques e Astúcias



Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes

^ Voltar ao Topo