The database will contain a list of EO words in one table, with translations into other languages, each in a separate table. At present there is only one Alia Lingvo table (EN), but the infrastructure already exists to add further language tables (for Latin languages only).
If I complete the project successfully (and that could still be a couple of years away yet), I would like to see if any others in the EO community are interested in looking at it and/or using it (and possibly adding to the translations, whether in EN or some other language). However, I don't care if I am the only user in the end -- I am doing it partly as an exercise in learning MS Access database tool, and partly because I am not satisfied with the EO translation tools available online.
There are a number of EO translation tools available online or for download, but none of the ones I have discovered so far is completely satisfactory. Probably the pick of the crop IMO are Reta Vortaro (ReVo) and the Lernu! tool. ReVo has a very comprehensive list of EO words, but the definitions are all in EO as well, which often makes it hard work trying to grasp the meaning (in EN) of a word. Also, it takes time to find a word and look up its meaning. There are translations into other languages, but mostly these are not very comprehensive -- especially the EN translations (if any are given at all). Actually I have been mostly using the FR translations as they are more extensive (and I can read some French).
I like the concept of the Lernu! tool. It is relatively easy to use. Its biggest drawback (IMO) is its limited vocabulary. It seems that about half the words I look up in Lernu! return a big "0" (zero -- although as of today I notice that the "0" has been replaced by a big sad emoticon -- like

). Another thing I like about Lernu! is that if it cannot find a translation for a word, it will attempt to break the word down into recognisable components (affixes, roots and endings) and give separate translations for each component. Sometimes this is very helpful, at other times it returns a big confusing mess, but mostly it just returns the big "0" (or sad "smiley").
So my project is to build on the Lernu! concept, using the more comprehensive ReVo list of words and other resources. The translation tool opens a form for the user to login (for storing individual user preferences). The user can select whether translating to or from EO (currently only FROM) and can select the second language (currently only EN). The user can also select the orthographic system they wish to use for handling the special EO "hatted" characters (eg: X-sistemo, H-sistemo, etc). The tool caters for the more common systems, but one option I have included (which I haven't seen anywhere else) is an "Aŭto" option -- with this option, the tool will recognise all the common orthographic systems and automatically translate into the "hatted" characters. So if you select "Aŭto", you can use any system (or any mixture of systems) you want.
Once these preferences are selected, the user can open the EO-to-EN form (the same form will also be used for EO-to-XX where XX is any other language that may be added in future). The user will type in the EO word and press TAB or ENTER. Any "hatted" characters will be resolved into true EO characters and then the EOVortaro table will be searched for that word. If an exact match is found, it will list all EN translations in the VortaroEN table for that word. If an exact match is not found, it will try to cut off any ending and replace it with a generic ending -- for example, if the word ends in "-as", "-os", "-is", etc, it will replace that ending with "-i" (verb infinitive) and try the search again. Similarly for words to end in "-o" (from "-oj", "-on", "-ojn"), "-a" and "-e". If that still fails, it will try to find a match for the root (with no ending).
If it still fails, it will try to see if the word being searched is an abbreviation (mallongigo). Each EO word entry can also store a common abbreviation, so if direct matches for the word fail, it will search against the abbreviation field. This search is independent of punctuation, so (for example) entering "bv" (short for "bonvolu") will match abbreviation fields of "bv" or "bv." Entering "bv." will also match.
Finally, you can also search for common EO expressions such as "temas pri", "kaj tiel plu", "al antaŭ", etc. Again, the search is independent of punctuation, so "temas - pri" would also match. And of course a faster way to find "kaj tiel plu" would be to key in the abbreviation "ktp" (or "k.t.p." or "k t p", etc).
If still no matches are found, it will attempt to break the word down into its component parts and give a translation for each component (similar to Lernu!, but I hope more successfully).
There are separate forms for maintaining the tables, such as entering/editing/deleting EO words and associated Alia Lingvo translations.
In the Alia Lingvo (eg, EN) entries, I am allowing additional info to be entered to clarify the usage of the word. There are many words in EO that can be translated into different EN words, depending on context. Similarly there are many EN words that can have different EO translations depending on context. For example, the EN word "by" can be translated into "apud", "ĉe", "de", "po", "je", "per", "preter" and possibly others. I am trying to provide contextual information for each entry to help the user select the most appropriate translation.
Anyway, that's enough of that for now. On the Access side, at present it only works if the user has MS Access 2003 installed on his/her PC. I could package the finished product with MS Access Runtime (which means that the user doesn't need to have that or any other Access version installed), but I don't have access (no pun intended) to Runtime -- you need a developer's licence which can cost over $1,000. I would like to be able to package it with Runtime, but may need to find a friendly developer to provide assistance. Also, if I were to run it as a web page, it would need further adjustments (which I am not qualified to do) and someone to host the application.
But all that is at least a year off, assuming I can continue to work steadily on the project and don't get bored or fed up with it!
(Sorry for such a long post!)
_________________
Cheers,
Lyn.