-
Notifications
You must be signed in to change notification settings - Fork 49
Generar diccionario corrector
Este instructivo está escrito para sistemas operativos GNU/Linux, dado que las herramientas son scripts escritos en Bash.
El público objetivo son los miembros del equipo de desarrollo y cualquier persona que desee participar directamente en los detalles técnicos del mantenimiento de los diccionarios.
Para empezar a trabajar necesitas una copia local del repositorio de trabajo del proyecto:
git clone https://github.com/sbosio/rla-es.git
Si ya tienes una copia local debes asegurarte de estar a la última versión y no tener cambios propios pendientes:
cd rla-es
git fetch
git checkout master
git pull
La herramienta básica es el script bash herramientas/make_dict.sh
:
$ herramientas/make_dict.sh --ayuda
Sintaxis de la orden: herramientas/make_dict.sh [opciones]
Las opciones pueden ser las siguientes:
--listado-regiones
Muestra todas las regiones de las variantes del español
más importantes expresadas con su código CLDR.
--rae | -r
Incluir únicamente las palabras pertenecientes al
diccionario de la Real Academia Española.
--localizacion LOC | -l LOC
Crea un diccionario para la localización LOC.
El argumento LOC debe ser un código CLDR de localización
implementado (es_AR, es_ES, es_MX, etc). Cada diccionario
se produce dentro del directorio productos/ emapquetado en
forma de extensión de LibreOffice (oxt) y de Mozilla (xpi).
--configurar | -c
Asistente para configurar herramientas/make_dict.sh modificando
el contenido del fichero .versiones.cfg
--changelog | -C
Extrae de la actividad del repositorio git el resumen de cambios
de la última edición para usarlos en Changelog.txt.
--publicar-version | -P)
Asistente para la publicación de una versión oficial de RLA-ES.
--todas | -t
Generar diccionarios para todas las localizaciones registradas.
Igual que la anterior pero para todas las variantes LOC
--subir-a-LibreOffice | -L
Actualiza el repositorio de diccionarios de LibreOffice con la
última versión de los productos del proyecto.
Debe usarse después de haber generado todos los diccionarios con
la opcion --todas.
Con make_dict.sh se pueden generar todos los diccionarios del proyecto compatibles con hunspell y empaquetados para LibreOffice, productos Mozilla y aplicaciones compatibles con estos.
make_dict.sh necesita de una pequeña configuración, en el fichero .versiones.cfg
que tendrá un contenido parecido a:
# asignación de variables en lenguaje shell de Bash
#
# CORRECTOR, versión de la edición actual del corrector ortográfico
CORRECTOR="2.8"
# SEPARACION, versión de la edición actual del patrón de silabeo
SEPARACION="0.2"
# SINONIMOS, versión de la edición actual del patrón de silabeo
SINONIMOS="24/02/2013"
# LO_DICTIONARIES_GIT, ruta a la copia local de https://gerrit.libreoffice.org/admin/repos/dictionaries
LO_DICTIONARIES_GIT="/home/olea/git/libreoffice-dictionaries/dictionaries/"
Las variables CORRECTOR
, SEPARACION
, SINONIMOS
son necesarias porque son productos con orígenes diferentes y acarrean su propia nomenclatura de versiones.
La variable LO_DICTIONARIES_GIT
sólo es necesaria para mandar contribuciones al repositorio de diccionarios de LibreOffice. Si sólo quieres colaborar internamente con RLA-ES no necesitas configurarla.
Puedes crear el fichero .versiones.cfg
con la orden herramientas/make_dict.sh --configurar
.
Nuestro corrector ortográfico está disponible para cada código CLDR del español. Para conocer los códigos:
$ herramientas/make_dict.sh --listado-regiones
Códigos CLDR de las variantes del español contempladas:
es es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GQ es_GT es_HN es_MX es_NI es_PA es_PE es_PH es_PR es_PY es_SV es_US es_UY es_VE
En función de las opciones elegidas la herramienta puede elegir una variante particular o todas. En cualquier caso siempre creará ambos empaquetados OXT (LibreOffice y compatibles) XPI (Mozilla y compatibles). La única diferencia importante entre ambos formatos es que el paquete OXT también incluye reglas de separación silábica y sinónimos. Los productos creados estarán disponible en la carpeta productos/
.
Creación del diccionario para México (es_MX):
$ herramientas/make_dict.sh --localizacion es_MX
La configuración actual del proyecto en el fichero .versiones.cfg:
Corrector: 2.8
Separación: 0.2
Sinónimos: 24/02/2013
Repositorio «dictionaries» de LibreOffice: /home/olea/git/libreoffice-dictionaries/dictionaries/
¿La configuración es correcta? (s/n): s
Creando un diccionario para la localización 'es_MX'...
Creando el fichero de afijos:
¡listo!
Creando la lista de lemas etiquetados... ¡listo!
Creando /home/olea/git/rla-es/productos/es_MX.oxt ¡listo!
Creando /home/olea/git/rla-es/productos/es_MX.xpi ¡listo!
Proceso finalizado.
Los dos ficheros están disponibles en la carpeta productos/
.
Sencillamente:
herramientas/make_dict.sh --todas
Y, de nuevo, todos los ficheros estarán disponibles en productos/
.
Durante el desarrollo nos interesa comprobar que los diccionarios funcionan según lo esperado. Una aproximación puede ser instalar la extensión en LibreOffice y comprobar en un documento el comportamiento del corrector. Otra aproximación es hacerlo directamente en la línea de órdenes con la herramienta hunspell
.
Primero hay que extraer el diccionario para que pueda ser manejado por hunspell
:
unzip productos/es_MX.xpi *aff *dic -d tmp
Después preparamos un fichero de texto puro, con cualquier editor, que contenga las palabras o textos a usar en la prueba y que puede llamarse, por ejemplo, prueba.txt
.
hunspell -d tmp/dictionaries/es-MX -l prueba.txt
Así invocado, hunspell sólo devolverá las palabras que no reconozca en el diccionario elegido. El procedimiento puede aplicarse a cualquier variante idiomática.
También podemos hacer consultas interactivas, en las que hunspell también mostrará información y sugerencias relacionados:
hunspell -d tmp/dictionaries/es-MX
Más allá del caso de ser un colaborador interno del proyecto, así sería una sesión de publicación oficial de los diccionarios RLA-ES. Realmente sólo es de utilidad para el equipo de mantenimiento del proyecto.
# antes, actualizar el número de versión en .versiones.cfg
herramientas/make_dict.sh --changelog
# actualizar a mano Changelog.txt
herramientas/make_dict.sh --publicar-version
herramientas/make_dict.sh --todas
# en Github creamos la nueva versión
herramientas/make_dict.sh --subir-a-LibreOffice
cd $RUTA_LIBREOFFICE/dictionaries/
git push origin hunspell-es-VERSION:refs/for/master