Traduciendo desde la linea de comandos con deepl-translator

DeepL es un servicio de traducción online que está dando bastante que hablar últimamente. Mas allá de ser un sistema automatizado al estilo de Google Translate, Facebook o Microsoft Translator, los responsables del proyecto han optado por un método más sutil, en el que se interpreta mejor el contexto de las oraciones, produciendo un resultado más humano.

Para ello utilizan un técnica basada en redes neuronales convolucionales (frente a las redes neuronales recurrentes que utiliza por ej. Google) que se ejecuta en un superordenador. A todo eso ayuda, el que esté conectado con la base de datos de Linguee.

Actualmente Deepl soporta los idiomas inglés, francés, español, italiano, holandés, polaco y alemán . Es una fase inicial y se espera que en el futuro se añadan más idiomas. Ello no ha impedido que ya surjan algunos programas interesantes a su alrededor.

Es el caso de deepl-translator, una utilidad que nos trae esas capacidades de traducción a nuestra terminal.

Publicado bajo licencia libre MIT y escrito en lenguaje de programación JavaScript.  Deepl-translator se puede instalar en cualquier distribución GNU/Linux mediante yarn, un –relativamente nuevo– gestor de paquetes para dicho lenguaje.

En Arch Linux y derivadas (Antergos, Manjaro) nos lo encontramos en los repositorios oficiales:

sudo pacman -S yarn

Resto de distribuciones podéis seguir las instrucciones que facilita su página web.

Ya contamos con yarn en nuestro sistema. Ahora toca instalar deepl-translator:

yarn global add deepl-translator-cli

Todavía nos queda un paso más. La primera vez que lancé el programa es como si no hubiera instalado nada. Me faltaba establecer la ruta de los binarios, para que se puedan ejecutar de forma global.

Así que añadí esto, al archivo oculto de configuración de Bash (.bashrc):

# ruta para yarn

export PATH="$PATH:`yarn global bin`"

Ahora ya podemos empezar. Si queremos saber a que idioma nos enfrentamos, podemos ejecutar la opción ‘detect‘:

deepl detect 'ci vuole tutta una vita per imparare a vivere'  
Italian (IT)

Esa era fácil. Toca ponernos a traducir. Podemos ver las opciones que tenemos respecto a «translate» en la ayuda del programa, en especial el código asociado a cada idioma (EN, DE, FR, ES, IT, NL, PL, auto):

deepl translate -h

Y ahora que ya tenemos una idea, traducimos la frase anterior, a ver que nos quería decir el viejo Séneca. En castellano sería:

deepl translate -t 'ES' 'ci vuole tutta una vita per imparare a vivere'

Se necesita toda una vida para aprender a vivir

Parece bastante exacto. Para aquellos que prefieran utilizar Google, Bing o Yandex, recordad que existe una opción similar –incluso más completa a nivel de funciones, ya que por ej. permite traducir páginas web–, llamada Translate Shell, igualmente diseñada para su uso en la terminal.

4 comentario en “Traduciendo desde la linea de comandos con deepl-translator”

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.