Diccionario digital de la A a la Z

En mi opinión, uno de los programas más útiles para PC y teléfonos inteligentes es un diccionario electrónico. En aquellos tiempos antiguos, cuando aprendía un idioma extranjero, tenía que buscar cada palabra en un diccionario de papel. Hice esta operación trivial cientos de veces, y tuve que mirar algunas palabras maliciosas una y otra vez, ya que tuve tiempo de olvidar su significado. ¡Qué insultante fue! Ya sea el caso ahora, rápidamente y traduzca ante sus ojos en la pantalla del monitor. Historial de búsqueda, en caso de que la palabra de búsqueda no se haya movido del campo de la memoria a corto plazo a largo plazo.


Stardict


Creemos un diccionario electrónico para los programas StarDict / GoldenDict por nuestra cuenta. Para esto, puede necesitar muchas o pocas horas hombre, dependiendo de la calidad del material de origen.


Paso uno: OCR


A diferencia del montañismo, el paso más difícil para digitalizar un diccionario no es el último, sino el primero. Si tiene que ejecutar un OCR de un diccionario de papel con páginas desteñidas impresas con demasiada precisión, con diversos artefactos de uso descuidado o en un idioma exótico, entonces incluso FineReader no será de gran ayuda. En algunas páginas, la diferencia en el período de tiempo entre la escritura manual y el OCR con corrección de errores es insignificante.


Le aconsejo que guarde todo en archivos de texto simples , ya que la búsqueda avanzada y la corrección de errores, el etiquetado, la conversión de clasificación y otras operaciones con una matriz de texto son inimaginables para llevar a cabo con un archivo binario .


En este paso, es importante determinar la estructura de las entradas del diccionario. En el caso más simple, solo habrá dos campos: una clave y un valor . Esto es suficiente, pero si necesita resaltar varios elementos de los artículos, deberá etiquetar todos esos elementos de cierta manera.


Es hora de hablar un poco sobre formatos. Hay muchos formatos de diccionarios electrónicos, aquí hay una lista de ellos.


No analizaremos todos los formatos aquí, ya que la mayoría de ellos son propietarios. Estamos interesados ​​en estándares abiertos y software de código abierto.


Dictd


Surgido en una era en la que los protocolos TCP / IP de red se multiplicaron libremente y se multiplicaron dictd ahora, solo tienen un interés arqueológico. Este es un protocolo de servidor cliente que utiliza el puerto TCP 2628, definido en RFC 2229 .


El archivo fuente del diccionario tiene el siguiente formato.


 ::  

Por ejemplo, tal diccionario


 :catalysis: "increase in the rate of a chemical reaction due to the participation of an additional substance called a catalyst, which is not consumed in the catalyzed reaction and can continue to act repeatedly. " <a href="is.gd/v6a22Q">ref</a>. :deconstruction: :rendered: eg. "rendered irrelevant." :reading: cf. 'reading of' :minor: a minor reading. 

El archivo terminado para el diccionario es creado por el comando dictfmt .


 dictfmt --utf8 -s "  " -j dict-name < mydict.txt 

Como resultado, se forman 2 archivos: dict-name.index y dict-name.dict . De estos, el primero es obviamente un archivo de índice, no necesita hacer nada con él y el segundo se puede comprimir con el comando dictzip . Este comando comprime el archivo * .dict utilizando la utilidad gzip . La pregunta surge de inmediato: ¿por qué entonces es necesario si hay un gzip regular?


El hecho es que dictzip usa bytes adicionales en el encabezado del archivo para proporcionar acceso pseudoaleatorio al archivo.


Finalmente, los archivos se colocan en los directorios del perfil, /usr/lib/dict , reiniciamos el servicio dictd y listo. La sintaxis de búsqueda es simple, solo escriba


dict WORD.


Trotar a través de enlaces dictd se asemeja a un safari en la red de Internet de los años 90, ¡está vivo y todavía patea!


Sdict


Un audaz intento de Alexei Semenov para cambiar el mundo para mejor con la ayuda de la magia Perl en un momento en que Microsoft aún no había torcido a Linux y a la comunidad de código abierto, y los piratas de ABBYY Lingvo eran la principal fuente de diccionarios.


El encabezado del archivo de diccionario de origen.


 <header> title = Sample 1 test dictionary - dictionary name; copyright = GNU Public License - copyright information; version = 0.1 - version; w_lang = en - language for words; a_lang = fi - language for articles. For further information about language codes refer 'C:\Sdict\share\doc\iso639.htm' file; # charset = ... - use if your source file is not in UTF-8 encoding. </header> 

El cuerpo tiene el siguiente formato:


 word___article 

Puede descargar la versión para el sistema operativo Symbian, si es así. El proyecto ya no está vivo, e incluso los propios diccionarios solo se pueden aprender de Time Machine .


Xdxf


Bueno, todo, estamos ligados a la arqueología y pasamos a formatos de diccionario y programas adecuados para usar IRL.


XDXF tiene todas las ventajas y desventajas del formato XML, que es. Toda la sintaxis de formato y ejemplos se pueden ver aquí .


El esqueleto del archivo de diccionario tiene este aspecto, consta de 2 partes: meta_info y lexicon .


 <xdxf ...> <meta_info>    : ,   . </meta_info> <lexicon> <ar> 1</ar> <ar> 2</ar> <ar> 3</ar> <ar> 4</ar> ... </lexicon> </xdxf> 

Hay una gran cantidad de diccionarios en este formato. La gran ventaja del formato es que no hay necesidad de convertir nada más. GoldenDict reconoce los archivos XDXF junto con una gran cantidad de otros formatos compatibles.


TSV / StarDict


StarDict y sus clones no son tanto sobre el formato del diccionario electrónico, sino sobre el software de alta calidad para verlos, convertirlos y crearlos.


Para crear un diccionario electrónico con StarDict, basta con un archivo TSV, que elegí para una copia digital del diccionario armenio-ruso .


Sin embargo, es posible formatear y marcar el archivo del diccionario, pero no se puede comparar con XDXF .


 a 1\n2\n3 b 4\\5\n6 c 789 

El formato define el carácter de salto de línea \n , en el caso en que el artículo se divide en párrafos.


Paso dos: ajuste


Después del primer paso, lo más probable es que haya docenas, o incluso cientos de ortografía, gramática y todo tipo de otros errores, caracteres extraños y otros artefactos de OCR.


La peculiaridad de los diccionarios es que la ortografía se necesita simultáneamente en dos idiomas. Incluso ahora en 2018, sorprendentemente pocos editores de texto e incluso suites de oficina pueden realizar esta acción simple.


No es un holivar para, recomiendo procesar teska para producir con Vim . Si su editor de texto favorito no lo hace peor, entonces está bien. Con Vim, un equipo es suficiente.


 :setlocal spell spelllang=en,ru 

para revisar la ortografía en dos diccionarios, en este caso ruso e inglés. La siguiente es una lista de rastrillos.


  • La clasificación de texto funciona de todos modos para las configuraciones regionales no latinas, especialmente cuando la escritura de una carta requiere más de un carácter, como armenio ու = ո + ւ . Es necesario en tales casos ordenar la lista de palabras usted mismo usando un Perl simple u otro script.
  • La coincidencia de patrones también puede funcionar inesperadamente para algunas configuraciones regionales, incluso si el texto en sí y la consola están en UTF-8.
  • Al digitalizar un diccionario impreso, uno debe estar preparado no solo para errores de digitalización, sino también para errores en el propio diccionario impreso. ¡Pueden contener mucho!
  • Si el título del artículo está escrito en mayúsculas, entonces tal vez debería convertirse en minúsculas al digitalizar. No todas las letras tienen letras mayúsculas; de hecho, no todas las configuraciones regionales tienen letras mayúsculas.

Paso tres: compilación del diccionario


Para el formato XDXF , como ya se mencionó, este paso no es obligatorio. Simplemente coloque el archivo en la /usr/share/goldendict , donde el programa lo /usr/share/goldendict .


Para el archivo TSV, la utilidad stardict-editor se suministra con el kit de herramientas StarDict .


editor-stardict


En la salida, el programa crea los siguientes archivos, como el antiguo Dict.


  1. somedict.ifo
  2. somedict.idx o somedict.idx.gz
  3. somedict.dict o somedict.dict.dz
  4. somedict.syn (opcional)

Los archivos se copian en el /ysr/share/stardict/dic y eso es todo.


PD: Para la plataforma móvil Android, GoldenDict de repente se le pagó, pero aún puede encontrar la última versión gratuita en Internet.

Source: https://habr.com/ru/post/es421075/


All Articles