We
are going to build a simple translator between languages. The translator will
only translate single words. For example translate "cat" into Spanish (gato).
Some words have different endings and forms depending on how they are used in a
sentence. The past tense of "to have"; is "had";. The
translator will not handle checking for different forms of a word. The
translations will be simple dictionary look-ups. Some words translate into more
that one word. For example "house"; can be translated into Spanish
as "hogar"; or "casa";, "homeless"; translates
into "sin hogar";. The translator will contain a database or
dictionary of word translations for each language pair. Initially the structure
of the database can be a sorted list of word pairs. For efficiency reason this
might have to change in the future. The translator will start with the language
pairs English-Spanish, and English-German. A user can ask for the translation
of word in one language to another. Given the two language pairs above, a user
has the option of translating a word from English to either Spanish or German,
Spanish to either English or German, and German to either English of Spanish. A
user can also add new words to the database of a language pair. A use can add
words at a time, or by providing a file of words. A user can add additional
translations for a given word, or modify an existing translation for a word
(errors to occur and words can change meaning). The initial user interface to
the translator will be ASCII based, but may change to a GUI later. Another
possible future feature is the ability to link the translator to other program.
For example, one may use the translator as a back end to a word processor.