I get my words mostly from reading Web articles and e-books. I use wonderful StarDict international dictionary for Linux to look up translation of new words. This process is best illustrated by the following diagram:
The typical steps are:
While reading an on-line article, copy-n-paste a new word you don't already know from the browser into StarDict search window. Press Enter button to search for the translation.
Copy-n-paste the word into Granule's "Front:" field of CardView dialog.
Copy-n-paste the word's translation into "Back:" field of CardView dialog.
Copy-n-paste the context (the whole sentence) into the "Example:" field of CardView dialog. Substitute the word itself with '~' symbol for Granule to highlight it.
As you can see, most of the time, there is no typing involved at all. The whole process is as painless as possible with the right set of tools.