Descripción

Polyglot es una herramienta desarrollada bajo el proyecto Cíclope. Su objetivo es traducir páginas html usando un sistema de tipo Wiki (ref: Enciclopedia Wikipedia). Aquí se trata de traducir todas las páginas del proyecto Cíclope pero se podrá usar por cualquiera persona que quiera traducir sus páginas WEB.

 

Idea general:

Esta herramienta está diseñada para traducir páginas Web. Por eso, el administrador tiene primero que configurar el sistema, cosa que se hace en línea gracias al enlace "Usar Polyglot". De esta configuración se generarán varios ficheros:

esquema general

 

Catálogo de requisitos

  1. El software Polyglot será bajo la licencia GPL.
  2. El software Polyglot tiene el objetivo de traducir documentos escritos con un languaje de marcas.
  3. El software Polyglot tendrá una interfaz HTTP que permitira a los usuarios traducir los documentos.
  4. El sistema Polyglot tendrá una base de datos asociada en la cual se encontraran varias tablas describidas en la parte que corresponde.
  5. El sistema Polyglot tendrá uno ó más administradores quienes se ocuparán de la parte de configuración, especialmente de las jerarquías de traductores y de los idiomas.
  6. El sistema Polyglot generará un fichero SQL, tantos ficheros PHP como los HTML dados por el proprietario y ficheros PHP de utilisación.
  7. Las páginas PHP generadas por el sistema Polyglot deberán tener un mecanismo de autentificación para los traductores y los administradores.
  8. Según la configuración elegida por el proprietario, el sistema Polyglot permitirá usar una jerarquía de traductores ó permitirá a cualquier usuario de proponer una traducción.
  9. El traductor "anónimo" es el traductor con el nivel más bajo en cada jerarquía. Puede también hacer sugerencias para traducir las etiquetas pero aparecerán en la página solamente cuando un traductor registrado lo hará revisado.
  10. Para cada especialidad, el propietario definirá una jerarquía de traductores.
  11. Un traductor puede aparecer en tantas jeraquias como le permiten sus capacidades linguisticas.
  12. las sugerencias hechas por los traductores tendrán un número de version, así, cuando se revisa la etiqueta, se puede ver todas las propuestas de traducción y eligir la mejora entre estas.
  13. Las etiquetas serán representadas por la surgencia revisada o propuesta por el nivel más alto, ordenadas por fecha.

Concepción de la aplicación

Diagrama de los actores

diagrama de los actores

Concepción de la Base de Datos

Modelo entidad/relación

En el sistema encontramos diferentes entidades:

Y diferentes relaciones entre estas:



modelo entidad-relación de la base de datos

Modelo relacional

Aplicando las reglas, obtenemos el modelo relacional correspondiente al modelo entidad/relación.

Las relaciones 1,1/.,n se vuelven en una clave extranjera en la parte .,n. Así, encontramos "PageID" en la tabla T_TAG; "backPage" en T_PAGE; y "bosslogin" en T_USER.

De otro modo, las relaciones .,m/.,n generan una nueva tabla, en la cual se encuentran las claves de las tablas-madre.
Es el caso de la tabla T_SUGGESTION que resulta de la relación entre TAG, LANGUAGE y USER, encontramos en esta tabla las tres claves de las tablas corespondiendas: "tagID", "isoCode" y "userLogin". En lugar de guardar estas tres claves como clave primaria, cambiamos por una clave distinta llamada "suggestionID". Añadimos campo "text" para definir el texto, valor de la etiqueta en el idioma, dos campos "father" y "son" que muestran por una misma etiqueta e idioma las diferentes versiones propuestas por los traductores, un campo "reviewer" que nombra quien revisó esta propuesta, y por fin un campo "date".

Es el caso también de la tabla T_SPEC_USER en la cual entontramos las dos claves extranjeras "specID" y "userLogin". Añadimos un campo "level" que define para cada traductor sus capacidades lingüisticas en la especialidad.



modelo relacional de la base de datos