Traduza textos selecionados em seu Desktop Linux com atalho de teclado e notificações
Traduza textos selecionados em seu Desktop Linux com atalho de teclado e notificações
Porém, há duas considerações, se o Google não conseguir determinar o idioma de origem, ele retornará um erro e, portanto, não traduzirá seu texto. Além disso, você precisa de uma conexão com a Internet para o script funcionar.
Passos
1. Para usar o script, primeiramente, instale o "libnotify-bin" (para que o script possa enviar notificações no desktop), wget (para obter a tradução da Google), xsel (usado para obter o texto selecionado atualmente) e xclip (copia automaticamente a tradução para a área de transferência).No Ubuntu, Linux Mint, Deepin etc., instale-os executando os seguintes comandos:
sudo apt-get update
sudo apt-get install libnotify-bin wget xsel xclip
2. Em seguida, copie o código do script abaixo:
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=pt&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
notify-send --icon=info "$text" "$translate"
translate=$(echo -n $translate | awk '{$NF="";sub(/[ \t]+$/,"")}1')
echo -n "$translate" | xclip -selection clipboard
E cole-o em um novo arquivo - vamos chamá-lo de "notitrans" (bem, você pode nomeá-lo como quiser, mas assim será como nós nos referiremos a ele daqui pra frente).
No script acima, substitua "tl=pt" com o idioma que você deseja que o texto seja traduzido, por exemplo "tl=en" para Inglês, "tl=ru" para Russo, "tl=fr" para Francês etc.
3. Após realizar as alterações, salve o arquivo no seu diretório Home (/home/$USER) e torne-o executável com o seguinte comando:
chmod +x ~/notitrans
4. (opcional) Adicione o script ao seu $PATH - por exemplo, copie o script para /usr/local/bin/ (para disponibilizá-lo para todos os usuários), use o seguinte comando:
sudo mv ~/notitrans /usr/local/bin/
5. Para poder usar o script, você pode atribuir um atalho de teclado personalizado. Fazer isso, depende do seu ambiente desktop:
5.1 No Deepin, abra: Central de Controle (disponível na barra de tarefas) > Teclado e Idioma > Atalho > Adicionar Atalho Personalizado (botão na parte inferior do menu).
Aqui, digite o nome que você quiser e "notitrans" como o comando (caso tenha adicionado o comando "notitrans" ao $PATH).

Opcional
Variações do script "traduzir texto selecionado".É fácil adaptar o script para as suas necessidades. Abaixo, você encontrará uma variação criada pelo WebUpd8 (link abaixo), que você pode estender. Para usar o script abaixo, realize os passos acima (incluindo alterando "pt" para o idioma que você deseja traduzir o texto selecionado), mas não copie o script do passo 2, ao invés disso, use o script abaixo. Exibir a tradução com o Zenity (que permite copiar o texto) ao invés de usar notificações no desktop:
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=pt&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo -e "Original text:" "$text"'\n' > /tmp/notitrans
echo "Translation:" "$translate" >> /tmp/notitrans
zenity --text-info --title="Translation" --filename=/tmp/notitrans
Para ele funcionar, certifique-se que o Zenity está instalado no seu sistema. No Ubuntu, instale-o usando o seguinte comando:
sudo apt-get update
sudo apt-get install zenity