I wish to produce a eng<->rus dictionary application. So far as i understand, i have to use SQLLite. But how do i implement the translation function? how do i find corresponding translation from the word asked for through the user? Any help, guidance, lessons is going to be appreciated.

Well, you will find lots of ways you can accomplish this, but in the easiest level, think about using paired-arrays....two separate arrays. One consists of British words, the 2nd array that contains the converted counterparts. After that you can request confirmed term in a specified index, and access both terms for this.

In CoreData, you can specify a "Word" entity, with characteristics of "British" and "Russian".

http://en.wikipedia.org/wiki/FreeDict includes a good assortment of bilingual dictionaries, including eng-rus. It's under GPL.

If you want only eng->rus translation, this really is essentially a hashtable, in which the british word is paramount, and also the listing of corresponding russian test is the worthiness.

If you want bidirectional translation, I'd store each word the following:

[word], [language], [group of corresponding translations]

The translation is simple then: you research the term W in language L, and return the group of possible translations.

You might want to take a look here too How do I initialize a store with default data in a CoreData application?

Also, it's most likely a positive thing to include some non-aggressive stemming and/or normalization, to ensure that basically look for a plural (ie. eggs) it's resolved towards the singular, or maybe I search a particular verbal form (ie. walking) it's resolved towards the verb's infinitive.