Click here to Skip to main content
13,550,246 members
Click here to Skip to main content
Add your own
alternative version


18 bookmarked
Posted 31 Oct 2008
Licenced GPL3

¿Quieren ustedes aprender español? - Foreign words memorizing tool

, 31 Oct 2008
Rate this:
Please Sign up or sign in to vote.
The article presentes a foreign words memorizing program for people eager in the superior knowledge of several foreign languages.


Sooner a later, you might be bored with having just one foreign language (English) knowledge in the case of non-English speakers, or any other single language for English speakers. Apparently, in the era of globalization, the more languages you know, the better you'd be appreciated in a large company operating worldwide, as a person with the knowledge of several foreign languages will be invaluable for them (I presume the value/number of languages plot will have an exponential curve). That will be valid until devices come in, that translate foreign audio speech to your native textual representation and vice versa, recognizing your utterance, and pronouncing it itself in another language. I myself in that scenario will not be comfortable with such devices or 'phrase book devices' having seen what might have happen in the case the device or phrase book author went mad, e.g., as in 'Dirty Hungarian phrasebook'.

If you're going to attend some foreign language classes, you ought to be certain the teacher is from a decent University and has got experience talking to natives; otherwise, you may waste your time and money as in this 'Italian lesson'.

To be more specific, the problem I faced before with English, and now with Español and Italian languages, is to keep your learned foreign words vocabulary up to date in your mind. The more information you receive, the brain tends to get rid of the old ones, which is not renewed from time to time. That does not concern the simple ones (e.g., school, boy, to do, el niño, la mujer, tengo hambre, caja de muerto, figlio di putana etc...) which you hear every day, and they become hard coded in your neural paths, but the more complex ones of the advanced literary genre, e.g., you read Poe or Shakespeare and there is stupendous score of them you are not likely to encounter unless you spend all your free time in Poe's literary societies.

Obviously rereading all your previous texts and words you had been studying takes enormous time and effort. But, if you have all your words in digital form, you may take them in random order from time to time to refresh your knowledge. Also, memorizing them in the same order you have written down before will help you to memorize the words in a series of patterns, e.g., recalling certain words will be impossible unless you encounter the previous ones from that list.

To facilitate the situation, I developed a simple GUI program in C# which takes your digital lists of foreign words + translations, takes them in random order, presents to you either the foreign word or the translation, and asks you to type in the corresponding translation or foreign word. It provides the total score you achieved as a percentage of your mistakes to the total number of words you answered. There is also a very nice feature; it estimates the time you spent before seeing the word and typing in its translation. All errors are logged into an error.log file so you may start studying them again.


Utter frustration with the situation of the knowledge of only one foreign language, ambition to travel and talking to natives on their native language, get a promotion by evincing your supreme mind capacity over the petty others, ...

Using the code

The use of the program is of utter simplicity. First, have your vocabulary in with ' - ' separating foreign words from their translation:

fay - фея, волшебница; эльф
haughtiness - высокомерие, заносчивость, надменность (Syn: arrogance, superciliousness)
seraph - серафим
unremitting - неослабный; беспрестанный; упорный 
augury - гадание, предсказание, знамение, (Syn: omen, presage, presentiment, premonition)
augur -  предсказатель, прорицатель, пророк
callow - лысый, неоперившийся птенец, незрелый, неискушенный, голый
chaff - ерунда, дрянь, нарезанное сено или солома
intrepid - бесстрашный, неустрашимый, отважный
indefatigable - неутомимый, упорный, неослабный (Syn: unremitting, unabated, 
                                                 implacable, inexorable)
aught - нечто, кое-что; что-нибудь
precocity - раннее развитие, преждевременное развитие
precocious - скороспелый, ранний, преждевременный
innate - врожденный, природный, прирожденный (Syn: congenital, hereditary, inherent)
limpid - прозрачный ( обычно о воде )

Then, click the green arrow button to load as many files as you'd like (sorry I'm not good at great GUIs). The '->' arrow will start the foreign-word-to-native quiz. As you are presented with a new word, you will need to type in the translation.

see unknow word

Press Enter after you type in the translation. The time is measured between the word appearance in the large text box and the moment you start to type the translation.

type in answer and press enter

You just continue to press Enter in the answer text box and it will come up with another random foreign word. If you answer correctly, the word will be removed from the list; otherwise, it will be added to an errors.txt file.

To reverse the process to native to foreign translation, just click the '<-' button. X will manually remove the word from the list. And the last red arrow is to save the rest of your vocabulary to some file on disk.

Points of interest

The program can be extended with audio support. Have a database of recorded foreign words and use the Speech SDK to enable pronunciation of the words rather than their textual form representation.


This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


About the Author

Chesnokov Yuriy
Russian Federation Russian Federation
Highly skilled Engineer with 14 years of experience in academia, R&D and commercial product development supporting full software life-cycle from idea to implementation and further support. During my academic career I was able to succeed in MIT Computers in Cardiology 2006 international challenge, as a R&D and SW engineer gain CodeProject MVP, find algorithmic solutions to quickly resolve tough customer problems to pass product requirements in tight deadlines. My key areas of expertise involve Object-Oriented
Analysis and Design OOAD, OOP, machine learning, natural language processing, face recognition, computer vision and image processing, wavelet analysis, digital signal processing in cardiology.

You may also be interested in...

Comments and Discussions

QuestionI Need help about face recongnition Pin
mebc3016-Aug-11 12:58
membermebc3016-Aug-11 12:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04-2016 | 2.8.180515.1 | Last Updated 1 Nov 2008
Article Copyright 2008 by Chesnokov Yuriy
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid