Precisa de traduções rápidas em qualquer lugar ao trabalhar no terminal Linux? Pode ser incômodo abrir seu navegador, acessar o Google Tradutor e digitar seu texto todas as vezes. Com esta ferramenta você pode traduzir dentro do seu terminal. Vamos explorar isso juntos.
O que é o Translate Shell e como ele é útil?
Translate Shell, anteriormente conhecido como Google Translate CLI, é uma ferramenta de tradução de linha de comando. Nos bastidores, ele usa vários mecanismos de tradução, como Google, Bing Translator, Apertium e Yandex, sendo o Google Translate a opção padrão. Possui muitas opções e recursos excelentes que valem a pena tentar.
Muitas vezes, você está trabalhando em documentos e pode precisar traduzir algumas palavras ou parte do documento. Você pode copiá-lo e colá-lo no Google Tradutor ou em outros serviços de tradução. Embora isso seja viável, fazê-lo repetidamente pode ser irritante. Além disso, aqueles de nós que gostam de usar o terminal e querem mantê-lo, preferem usar ferramentas que possam fazer o trabalho sem sair dele.
Como o Translate Shell usa a maioria dos mecanismos populares, você não precisa se preocupar com a precisão. Você geralmente obtém bons resultados. Adicione a isso o fato de ser uma ferramenta de linha de comando. Você pode combiná-lo com outras ferramentas CLI ou recursos de terminal para torná-lo ainda mais poderoso.
Configurando o Shell de Tradução
Antes de começar a instalar o Translate Shell, você precisa primeiro obter as dependências. Os dois devem ter são:
- GNU Awk/gawk
- GNU Bash ou Zsh
Caso você não tenha o gawk instalado, obtenha-o através do gerenciador de pacotes da sua distribuição, onde geralmente é chamado simplesmente de “gawk”. Por exemplo, para instalar com Debian ou Ubuntu, use este comando:
sudo apt install gawk
Além dos dois acima, os desenvolvedores também recomendam ter cURL, GNU FriBidi, eSpeak, menos/mais, rlwrap e um corretor ortográfico como o aspell. Estes não são obrigatórios. Mas tê-los permitirá que você aproveite ao máximo o Translate Shell.
Existem várias maneiras de obter o Translate Shell em seu sistema Linux. Vamos começar com o mais comum: gerenciadores de pacotes Linux. A ferramenta vem com a maioria das distros populares. Portanto, escolha na lista o gerenciador de pacotes que sua distribuição usa.
# Alpine
apk add translate-shell
# Arch
sudo pacman -S translate-shell
# Debian/Ubuntu
sudo apt install translate-shell
# Fedora
dnf install translate-shell
# Gentoo
emerge --ask app-i18n/translate-shell
# OpenSUSE (15.2 and Tumbleweed)
zypper in translate-shell
Outra opção é baixar o arquivo executável independente oficial e executá-lo.
wget git.io/trans
chmod +x ./trans
Se você preferir compilá-lo a partir do código-fonte, execute os seguintes comandos:
git clone https://github.com/soimort/translate-shell
cd translate-shell/
make
[sudo] make install
Por último, se você tiver o Docker instalado e configurado, poderá testá-lo com estes comandos:
docker pull soimort/translate-shell
docker run -it soimort/translate-shell -shell
Para confirmar sua instalação, basta executar:
trans --version
Você deverá ver sua versão atual instalada junto com algumas outras informações úteis.
Traduzindo texto usando a ferramenta
Vamos começar a fazer algumas traduções. A maneira mais básica de traduzir algo usando o Translate Shell é passá-lo entre aspas para o comando trans.
trans "Kon'nichiwa!"
Se você tentar traduzir sem adicionar sinalizadores, obterá um detalhamento da tradução. Vejamos outro exemplo. Desta vez, uma frase.
trans "ana bi khayr"
Se você não quiser o detalhamento detalhado, poderá usar o sinalizador -brief.
trans -brief "uno dos tres"
Desta vez, você obtém apenas o texto traduzido como saída. Você também pode usar o Translate Shell como um shell interativo. Dessa forma, você não precisa escrever o comando trans todas as vezes. Tudo que você precisa fazer é inserir o texto que precisa ser traduzido. O sinalizador -shell permite fazer isso.
Para sair do shell interativo, digite “:q” (sem aspas) e pressione Enter.
O Translate Shell tenta detectar automaticamente o idioma de entrada e traduzi-lo. Também gosto de como a ferramenta suporta transliteração. Você pode digitar um idioma usando outro idioma, como o inglês, e ainda assim traduzi-lo. No entanto, percebi que o uso da transliteração pode reduzir a precisão, especialmente quando você não especifica o idioma.
Você pode especificar o idioma de destino de várias maneiras. Por exemplo, usando dois pontos (:) ou sinal de igual (=) seguido pela forma abreviada do idioma de destino.
trans :fr hello
# or
trans =fr hello
Você também pode traduzir para vários idiomas ao mesmo tempo. Para isso, você precisa escrever os idiomas usando um sinal de mais (+), assim:
trans :fr+ja hello
O sinal de mais funciona como delimitador aqui. Uma forma alternativa de especificar o idioma é usar a opção -t. Nesse caso, você também pode escrever o nome do idioma em vez do código curto.
trans -t zh+ja hello
trans -t japanese hello
Da mesma forma, você pode especificar o idioma de origem do qual deseja traduzir. Novamente, existem muitas maneiras diferentes de fazer isso. Aqui está uma pequena lista cobrindo-os:
trans 手紙
trans -s ja 手紙 # The -s or -source flag specifies the source language
Isso é útil quando a ferramenta não reconhece o idioma do qual você está tentando traduzir. Por último, como seria de esperar, você pode especificar o idioma de origem e o idioma de destino para tradução.
trans en:ja Good Morning
O único problema que você pode enfrentar é não lembrar os formulários abreviados para todos os idiomas. No entanto, não é tão difícil se acostumar depois de memorizar os nomes dos idiomas comuns.
Explorando alguns recursos avançados
Existem recursos avançados que vale a pena explorar, caso você ache a ferramenta útil. Por exemplo, possui um modo de dicionário. Se o idioma de destino for o mesmo que a entrada fornecida, a ferramenta mostra uma definição detalhada da palavra no dicionário, em vez de traduzi-la.
trans :en sentence
Você também pode usar o modo de dicionário passando o sinalizador -d. Isso permite verificar a definição da palavra, independentemente do idioma de origem ou de destino.
trans -d fr: Bonjour
O Translate Shell também pode ajudá-lo a identificar um idioma. Para isso, você deve usar a opção -id.
trans -id かわいい
Quer ouvir o texto traduzido? Você também pode fazer isso usando o sinalizador -p.
trans -p :ja "Good morning"
Se você quiser ouvir o texto original falado, use o sinalizador -sp.
trans -sp "你好,世界"
Agora vem a parte interessante. Como estamos no terminal, podemos aproveitá-lo bem. Como? Combinando o Translate Shell com outras ferramentas e recursos de linha de comando. Aqui está um exemplo rápido de uso do comando echo.
echo "Hello, Friend" | trans -b :fr
Você pode usar um arquivo como opção de entrada para traduzir seu conteúdo. Use a opção -i para isso.
trans -b -i input.txt :fr
Outra maneira de fazer isso é usar um esquema de URI de arquivo, como este:
trans :fr file://input.txt
Não são apenas arquivos locais. Você pode até traduzir uma página inteira da web.
trans :fr https://www.howtogeek.com/
Nesse caso, seu navegador abrirá essa página da web no idioma traduzido.
Da mesma forma, você pode salvar o texto traduzido em um arquivo de saída usando a opção -o.
echo "Hello, World" | trans -b -o output.txt :fr
Isso criará um arquivo com o nome especificado e salvará o texto de saída nele.
No geral, essa foi uma ferramenta divertida para brincar quando precisei de algumas traduções rápidas. Não precisei me preocupar em acessar o navegador para isso. Se você quiser saber mais sobre os recursos da ferramenta, consulte sua página de manual ou visite o repositório GitHub. Se você quiser ser mais criativo, tente combinar o Translate Shell com outras ferramentas de edição de texto do Linux.