Geiriadur [gejri'adir] 0.4 combines a dictionary lookup engine and a dictionary editing system. It's developed as a tool to create Welsh-Russian and Russian-Welsh dictionaries, but it can also be used for other languages, for example, Breton or Irish.
Two major elements of the system are "words" and "translations".
A "translation" is a pair of words or a word with explanation. It can have examples.
A "word" means string of letters without a space, possessing independent meaning in some language. It can have transcription, several attributes (gender, aspect etc.), as well as one or more "stems" and irregular forms. Regular forms are produced dynamically during a search from "stems" and "endings" that are stored in the dictionary database.
The system understands mutations and different spellings (misspellings, American English, Middle Welsh etc.)
If a direct search (with the first word in translations table) yields no results, the system will perform an inverse search or suggest the user to try a cross-search through the third language ("Желаете попробовать перекрестный поиск?"). If a user has enough rights, he can order the system to "remember" correct translations (see example).
You can see some dictionary statistics here. At the present moment Geiriadur contains:
The source code of the system is available on conditions of GPL (official English text, Welsh translation).
The dictionary database is
available on conditions of GNU FDL (official English text,
translation). You can also download dictionaries as plain text: cy-ru.txt, ru-cy.txt, br-ru.txt, ga-ru.txt.
The system consists of two components: dictionary server and its web-interface using Araneida. They are being written in Common Lisp. Persistent data storage is provided with PostgreSQL RDBMS.
The client and server intercommunicate via CORBA. CLORB is the ORB used in the system. The cached dictionary lookup object listens on port 2628 (IOR). Its cache is rebuilt once a day. The dictionary lookup object (IOR) with immediate database access and dictionary editing object (IOR) listen on port 2629. Interfaces of these objects are described in dictionary.idl.
This description is still very incomplete. If you have any questions or suggestions (or corrections for this translation from Russian), please write: firstname.lastname@example.org. You can help by creating translations via server or by sending new word lists in our input format (and UTF-8 encoding).