Not a working example, but this might help:
SQLite Database:
Translations table:
English: Text
Native: Text
Language: Text
For example:
English, Native, Language
"hello", "hola", "ES" // spanish
"hello", "bonjour", "FR" // french
You could, of course have additional information included, including parts of speech, a definition, example usages, etc. Some of that would do well to go in a separate table, though.
Also, I'm including the Language column just as an attempt at generalization -- for a single target language, you could drop it.
App architecture:
Search / Lookup View:
Language List/Toggle: lets the user pick the source/target language
Search field: lets the user search for a specific word (I'd suggest being a bit fuzzy here, rather than requiring exact matches)
Submit: actually look up the word (OR, do live searching as the user types.)
Single letter alphabetic list for the source language; For example, "A" would be equivalent to searching for "A*" (where * is a wildcard that matches anything)
Word List View:
Given a search string, it would query the database for any matching entries. Each entry is then displayed in alphabetical order (or, perhaps, "most relevant" order). If there's a lot of info, you could go one step further and let the word link to a "Word View" where all the information is displayed.
> If the query is large, consider paging. Large DOMs do not perform well.
Depending on how far you go, you'd end up with 1 - 3 views (and these are really "pages" or "view controllers", because the actual rendering of a single word would really be considered a "view").
I'd definitely suggest doing this as a Single Page Architecture app. Shouldn't be too hard to do the basics -- the hardest part would be any fuzzy searching or sorting by relevance. Be careful with anything requiring diacritics and the like here, because on a fuzzy filter, I would expect "apres" tp match "apr`es" (I'm too lazy to type the actual accented letter, sorry), but that can be hard to do.
If I just made everything more confusing, my apologies! It's a Monday! ;-)