martes, 14 de enero de 2020

Tutorial: Cómo descargar la traducción completa de Ubuntu

Al participar en la traducción un texto, poder consultar la traducción ya realizada es de vital importancia, ya que no solo nos aseguraremos que somos coherentes con la terminología ya utilizada, sino que además nos podremos avanzar más rápido al no tener que repetir las búsquedas de terminología que otros traductores ya han llevado a cabo.

Para descargar la traducción completa de Ubuntu, podemos consultar la documentación de sobre traducciones de Ubuntu, donde se nos indica que hay que seguir estos pasos:
  1. Abrir la página principal de la traducción de la distribución. Por ejemplo, en el caso de Ubuntu 18.04 (Eoan Ermine) sería:
    https://translations.launchpad.net/ubuntu/eoan/
  2. Elegir la opción See all language packs.
  3. Descargar los paquetes completo y delta más recientes.

El archivo descargado tendrá un volumen considerable, ya que incluye todos los idiomas. Si solo nos interesa un idioma concreto, basta con descomprimirlo y eliminar todos los demás idiomas.

Para realizar las búsquedas, podemos utilizar cualquier herramienta que nos permita realizar búsquedas de texto. También podemos utilizar la página de búsqueda en traducciones de OpenTranslation o descargar petraREV, una herramienta que nos permite cargar archivos .po y realizar búsquedas avanzadas.

Búsquedas avanzadas en petraREV

martes, 21 de mayo de 2019

Descuartizando las búsquedas

¿Habéis tenido que hacer alguna vez una traducción Frankenstein? Es decir, una traducción en la que todo el texto ya figura en la memoria de traducción del cliente y basta con unir fragmentos de aquí y allá para que el texto final conserve el estilo de la traducción ya existente.


Por cómodas que puedan parecer estas traducciones, dado que la memoria de traducción resuelve la mayoría de los problemas, en ocasiones requieren más tiempo que una traducción a partir de cero a causa de la cantidad de búsquedas que hay que hacer. Si la terminología que utiliza la memoria no coincide con la que solemos utilizar, es fácil que tomemos decisiones de terminología y estilo que luego habrá que deshacer cuando nos demos cuenta de que el cliente, por ejemplo, tiene una opinión diferente sobre cómo traducir Failed to..., lo que nos obliga a volver atrás y cambiar decenas de segmentos, dejándonos con la duda de que se nos haya pasado por alto algún caso.

La solución está en buscar todo lo que pueda plantearnos alguna duda, lo que lamentablemente reduce la productividad. En concreto, cuando hay que que traducir términos o estructuras sintácticas compuestas por bastantes palabras, aún así es fácil quedarse con la duda de si, aunque hayamos encontrado la traducción de cada elemento por separado, no habrá una traducción que combine varios elementos de una manera diferente a la que hemos supuesto. Otro caso que puede ralentizar la traducción en este tipo de traducciones es cuando tenemos que traducir una enumeración que en la memoria de traducción aparece dividida en segmentos diferentes.

Para resolver este problema hemos incluido una nueva función en petraREV: la búsqueda seccionada, que «descuartiza» el texto en palabras y luego busca las combinaciones de la mayor longitud posible. Por ilustrarlo con un ejemplo, imaginemos que buscamos en la memoria de traducción el siguiente texto:

 The user must open the Delete data screen from the lower menu bar.

Para realizar esta búsqueda, basta con acceder a la ventana de búsqueda (Control + F o Edición → Buscar) y marcar la casilla de verificación Búsqueda seccionada. Los resultados que obtendríamos serían:


Vemos que la búsqueda muestra dos segmentos muy relevantes para el texto buscado. De un solo vistazo, podemos ver que uno tiene una estructura muy similar, mientras que uno de los términos que faltan aparece en otro segmento. Además, podemos tener la seguridad de que la palabra lower no aparece en ningún segmento de la memoria de traducción en la que hemos realizado la búsqueda. Una gran cantidad de información muy resumida que nos permitirá darnos por satisfechos con la traducción sin perder el tiempo en búsquedas innecesarias, con la importante ventaja de que esta búsqueda apenas tarda más que una búsqueda ordinaria.

Al ser una nueva función, nos gustaría particularmente recibir cualquier comentario sobre ella. ¿Os parece útil? ¿Encontráis que tiene algún defecto o podría mejorarse para que fuera más cómoda? Para cualquier duda, no dudéis en poneros en contacto con nosotros.

jueves, 18 de octubre de 2018

petraREV: Versión 2.4

Acabamos de publicar la versión 2.4 de petraREV, la herramienta gratuita para revisar traducciones. Además de la ampliación de sus diccionarios las habituales mejoras y correcciones de errores, esta versión incluye un nuevo tipo de búsqueda: la búsqueda seccionada. 


Aunque próximamente dedicaremos una entrada del blog a explicar cómo se utiliza esta función, sirve para buscar las diferentes palabras que contiene un texto, con la ventaja de ser muy rápida y buscar un elevado número de combinaciones.

También hemos añadido un nuevo icono que permite acceder rápidamente la configuración, lo que resulta ideal especialmente cuando para cambiar el pretratamiento del texto. Es decir, podemos definir que se eliminen ciertos segmentos, se reemplace un texto por otro o se quiten las etiquetas sin tener que repetir estas operaciones una y otra vez.

Para probarla, solo tienes que descargarla desde la página de OpenTranslation.

Esperamos que esta nueva versión resulte útil y, para cualquier comentario, no dudéis en escribirnos.

martes, 20 de marzo de 2018

petraREV: Llega la versión 2.3

Tras algo más de un año sin ninguna actualización, hoy acabamos de publicar la nueva versión de petraREV., que se puede descargar gratis de http://www.opentranslation.es/petrarev/descarga.htm.

Se trata de una actualización más que recomendable, dado que mejora la aplicación prácticamente en todos los aspectos, aunque tal vez la novedad más importante sea la mejora de la compatibilidad con los archivos de SDL Trados y memoQ. También es la primera versión que va más allá de la combinación de idiomas inglés→español y permite definir nuestra combinación entre los idiomas disponibles. Próximamente iremos desglosando algunas de las novedades más destacadas de esta versión.

Como siempre, nos encantaría conocer vuestra opinión sobre esta nueva versión. ¿Cuál es la función que más os ha llamado la atención? ¿Hay alguna novedad que aún echáis en falta? Para cualquier comentario, no dudéis en escribir un comentario en este blog o escribirnos directamente a nuestra dirección de correo.

sábado, 16 de septiembre de 2017

petraSearch: ¡Nueva versión con un flamante modo gramatical!

La principal novedad de la versión 1.1 de petraSearch es el nuevo modo gramatical, que nos permite buscar no solo cadenas de texto, sino también secuencias de palabras con una sintaxis intuitiva y cómoda.

Para ilustrarlo con el texto de ejemplo que incluye la nueva versión de petraSearch, imaginemos que queremos saber los adjetivos que utilizó Bécquer para el sustantivo «voz» en su famosa obra «El monte de las ánimas». Solo tenemos que activar el modo gramatical pulsando el botón «G» y escribir en el cuadro de búsqueda:

voz -a%

Nos aparecerán todas las veces que aparece el sustantivo «voz» seguido de un adjetivo y, además, también veremos al final una lista con todos estos adjetivos ordenados por frecuencia:


Aparte de su utilidad para realizar estudios de estilo, esta función también resulta muy práctica cuando estamos redactando un texto y no conseguimos encontrar una palabra concreta. Por ejemplo, ¿queremos añadir un adverbio al verbo «creer» y no encontramos el que nos guste? Solo hay que activar el modo gramatical, escribir «creer -r%» y veremos una lista de los adverbios que se utilizan en los textos que nos interesan. En este sentido, esta función viene a ofrecer un diccionario de colocaciones, solo que dinámico y específico de los textos que decidamos.

Pero, ¿cómo funciona esta sintaxis? Tan solo tenemos que escribir las palabras que queremos buscar separándolas por espacios. Si en un lugar de una palabra concreta queremos especificar una categoría gramatical, basta con escribir un guión seguido de una letra para identificar la categoría en cuestión:

-v (verbo), -n (nombre), -a (adjetivo), -r (adverbio), -s (preposición), -d (determinante), etc.

Para ver la lista completa de categorías gramaticales, puedes consultar la descripción completa en la ayuda de petraREV.

Si no indicamos que queremos buscar una palabra literalmente, se buscarán todas sus posibles formas. Por ejemplo, para «decir», se buscará «digo», «dices», «dices», «decimos», etc. Para indicar que queremos buscar una única forma de una palabra, hay que precederla con un signo igual. Por ejemplo:

=dije

Busca únicamente aquellos casos en los que aparece la palabra «dije». Por tanto, es importante escribir la forma canónica de una palabra cuando queramos buscar todas sus posibles formas. Es decir, infinitivo para los verbos, singular para los nombres, etc.

Cuando queramos aceptar cualquier palabra, solo hay que escribir un punto. Por ejemplo:

noche . -a

Admite tanto «noche tan bonita» como «noche más hermosa».

Por último, cuando queramos realizar un análisis rápido de frecuencia solo tenemos que añadir un % a la palabra que nos interesa. Por ejemplo:

noche . -a%

Realiza un análisis de la frecuencia con la que aparecen los adjetivos según este patrón, pero:

noche .% -a

Realiza un análisis de la frecuencia de las palabras que aparecen entre «noche» y un adjetivo.

Dado que es la primera vez que incorporamos esta función, nos encantaría saber qué os parece y si se os ocurren mejoras que podrían mejorar su utilidad. ¡Esperamos vuestros comentarios!

jueves, 6 de julio de 2017

petraREV: Cómo crear una planificación de archivos a partir de un recuento

Aparte de las funciones para revisar traducciones, petraREV también incluye varias opciones para facilitar el trabajo de traducción. Por ejemplo, al traducir un proyecto, particularmente si se trata de uno extenso o con muchos archivos, es muy útil saber en todo momento en qué punto del proyecto estamos, es decir, cuánto hemos traducido o revisado ya y cuánto nos queda todavía pendiente. Todos los programas de traducción incorporan funciones que nos ofrecen esta información, pero con frecuencia cometen errores o son demasiado lentos. Por ejemplo, muchas veces los problemas con las penalizaciones hacen que lo que debería aparecer como texto 100% traducido se contabilice como texto al 99%, lo que puede darnos algún susto. Además, las planificaciones también son útiles para repartir el trabajo entre varios traductores o programarnos el tiempo que vamos a dedicar al proyecto.

Pero, ¿qué es una planificación? Se trata sencillamente de una hoja de cálculo donde aparece junto al nombre de cada archivo el número de palabras de cada tipo que tiene. Por ejemplo, el siguiente corresponde al recuento de un proyecto ficticio:


Gracias a las funciones de las hojas de cálculo, podemos hacemos un montón de operaciones con el recuento, como por ejemplo, dar prioridad a los archivos más pequeños o a lo más grandes y, sobre todo, asegurarnos rápidamente de que el volumen del trabajo que estamos a punto de comenzar coincide con el que nos han asignado.

Crear un recuento de este tipo con petraREV es muy fácil, basta con abrir la aplicación o, si no la hemos descargado todavía, conseguirla de manera gratuita de http://www.opentranslation.es/petrarev/descarga.htm.

Una vez abierta, basta con elegir HerramientasGestión de proyectos o, si preferimos usar el teclado, pulsar Control + O. Aparecerá el siguiente cuadro de diálogo:


Ahora debemos elegir en el cuadro de texto Archivo de recuento la ruta donde está el archivo con el recuento que hemos creado con nuestro programa de traducción asistida. Si queremos guardar el recuento, también tendremos que elegir en el cuadro de texto Archivo de plan, la ruta donde queremos que lo guarde.

Una vez especificada esta información, solo queda hacer clic en Convertir y habremos generado una completa planificación.

Una última nota, aparte de guardar el plan donde le hemos indicado, también se mostrará siempre el recuento en pantalla, de una manera similar a la siguiente:

Si preferimos este formato o tenemos cualquier problema al generar el archivo, también podemos copiar y pegar esta tabla, ya sea en una hoja de cálculo o en un procesador de textos.

Por el momento, solo se admiten esta función solo es compatible con los recuentos de algunas herramientas, pero si necesitáis algún formato en concreto, podéis escribirnos para contarnos los formatos que necesitáis.

miércoles, 7 de junio de 2017

Ya disponible la biblioteca Java del etiquetador morfosintático petraTAG

Hace ya bastante tiempo que está disponible la aplicación petraTAG, que además de permitir realizar el etiquetado morfosintáctico de cualquier texto en español, también incluye numerosas herramientas para analizar los resultados del etiquetado, pero... ¿qué ocurre cuando queremos integrar un etiquetado eficaz en nuestra propia aplicación?

Para facilitar la integración del motor de etiquetado de petraTAG en cualquier proyecto, acabamos de lanzar en nuestra web la primera versión abierta del motor de etiquetado. Para descargarla, solo tenemos que dirigirnos a la página de la API de la ayuda en línea de petraTAG y descargar el archivo petraTAG-API1.0.zip, que contiene la biblioteca y todos los archivos necesarios para etiquetar un texto en español o inglés.

Vamos a ver cómo utilizar esta biblioteca con un ejemplo muy sencillo que desarrollaremos en Netbeans. Para crear el proyecto, solo tenemos que elegir FileNew Project. En el cuadro de diálogo que aparecerá, elegimos JavaJava Application. Un nuevo cuadro de diálogo nos pedirá que elijamos el nombre del proyecto y la carpeta donde se guardará. En nuestro caso, vamos a elegir como nombre del proyecto petraTAGdemo.

Ahora tenemos que vincular nuestra biblioteca así que, en el árbol del proyecto que aparece a la izquierda, nos situamos encima del proyecto que acabamos de crear y elegimos Properties. Nos vamos ahora a la categoría Libraries y agregamos los dos archivos jar que contiene el zip: Utiles.jar y petraTAG.jar.

¡Ya queda muy poco! Solo tenemos que copiar la carpeta languages que hemos descargado anteriormente en el directorio raíz del proyecto que hemos creado y podremos comenzar a crear a escribir el código de nuestra aplicación. Para comprobar que funciona, podemos escribir lo siguiente:

package petratagdemo;

import petratag.TaggedSentence;
import petratag.Language;

public class PetraTAGdemo {

    public static void main(String[] args) {
        Language language=new Language();       
        language.init("ES");
       
        String text="Este texto es un ejemplo.";
        TaggedSentence sentence=new TaggedSentence();
        sentence.tag(text, language);
       
        for (int n=1;n<=sentence.length;n++) {
            System.out.println(sentence.tokens[n]+" - "+sentence.lemmas[n]+" - "+sentence.posTags[n]);
        }
    }
}


Si lo ejecutamos, deberíamos obtener el siguiente resultado:

- Loaded 271681 dictionary entries and 60 locutions.
Este - este - dd0ms0
texto - texto - ncms000
es - ser - vsip3s0
un - uno - di0ms0
ejemplo - ejemplo - ncms000
. - . - Fp


Pero, ¿cómo funciona? Vamos a ver paso a paso este pequeño programa para ver cómo se etiqueta el texto.

Comencemos con:

        Language language=new Language();       
        language.init("ES");

Para etiquetar un texto, debemos definir un idioma que creamos aquí con la primera línea. La segunda línea carga los datos necesarios para un idioma concreto. Actualmente, solo están disponible el español y el inglés, pero sería fácil crear otros idiomas. Solo es necesario cargar un idioma una vez y, si no queremos etiquetar en varios idiomas, basta con definir un objeto Language, por lo que es habitual definirlo como objeto estático para toda nuestra clase.

        String text="Este texto es un ejemplo.";
        TaggedSentence sentence=new TaggedSentence();
        sentence.tag(text, language);

El objeto que contendrá los datos del etiquetado es TaggedSentence y para etiquetar el texto, solo tenemos que llamar al método tag, indicando el idioma y el texto que queremos etiquetar.

        for (int n=1;n<=sentence.length;n++) {
            System.out.println(sentence.tokens[n]+" - "+sentence.lemmas[n]+" - "+sentence.posTags[n]);
        }

Al etiquetar el texto, se han rellenado automáticamente tres matrices que incluyen todos los datos que necesitamos: los tokens (o palabras), los lemas y las etiquetas morfosintáticas, que siguen la convención establecida en el etiquetario del proyecto. Con este bucle, recorremos todos sus valores.

Aparte del etiquetado, la biblioteca incluye muchas funciones que aumentan su utilidad. No obstante, hemos optado por elegir un ejemplo sencillo que explique claramente los elementos básicos del etiquetado. Para más información, podéis consultar la página informativa sobre la clase. Próximamente, comentaremos algunas posibilidades más y, si tenéis cualquier duda, será para nosotros un placer responder a cualquier pregunta.