Datos personales

martes, 2 de noviembre de 2010

Paquete Debian del día: Apertium-tolk y Apertium-dbus

apertium-tolk

apertium-tolk es una interfaz gráfica para el traductor Apertium que va traduciendo según escribimos.

Lo instalamos junto con un par de paquetes de idioma (Gallego-Castellano, Inglés-Castellano), de lo contrario no podremos hacer gran cosa:

$ aptitude install apertium-tolk apertium-es-gl apertium-en-es

En esta captura de pantalla ser puede observar la apariencia de esta utilidad:

Desgraciadamente, apertium-tolk tiene problemas con los caracteres no ASCII debido a la codificación por defecto que se usa en Python 2.5 (ver bug 473561)

Más información:


apertium-dbus

El paquete apertium-dbus ofrece un servicio D-Bus a través del cual podemos acceder a los servicios de traducción de Apertium.

Instalamos el paquete correspondiente junto con la utilidad qdbus, la cual, junto con dbus-monitor, nos servirá para inspeccionar las interfaces que ofrece apertium:

$ aptitude install apertium-dbus libqt4-dbus

$ qdbus | grep -i apert
org.apertium.info
org.apertium.mode

$ qdbus  org.apertium.mode 
/
/en_es
/es_en
/es_gl
/gl_es

Espiamos las peticiones que lanza apertium-tolk:

$ dbus-monitor "interface=org.apertium.Mode"

...

method call sender=:1.36 -> dest=:1.31 path=/es_gl; interface=org.apertium.Mode; member=translate
array [
dict entry(
string "mark_unknown"
string "false"
)
]
string "hola, mundo"

Con la información anterior, ya estamos listos para lanzar una petición de traducción desde la línea de comandos.

En el siguiente ejemplo, se solicita una traducción del español al gallego, indicando que se marquen con un asterisco las palabras desconocidas:

$ dbus-send --print-reply --dest=org.apertium.mode /es_gl org.apertium.Mode.translate dict:string:string:"mark_unknown","true" string:"hola, mundo"

method return sender=:1.31 -> dest=:1.147 reply_serial=2
string "ola, mundo"

En el wiki de apertium hay ejemplos similares para diversos lenguajes de programación.

Más información