+358 401 490 096
+7 921 766 8651
skype: bpeme4ko
rybakoff@gmail.com
OppiaSanoja - LearnWords
The program
- Name: Oppia Sanoja - Learn Words
- Short description: Program for learning words in foreign languages on Nokia N900 (Maemo), Nokia N9 (MeeGo Harmattan) phones and MeeGo netbooks.
- Latest version: 0.0.6, 25 November, 2011
- Why? A project for the course Mobile Linux Development with Qt (got "Audience vote winner" award!).
- Download from Nokia Ovi Store (for Nokia N900)
- Download (for Nokia N9, Nokia N950, coming in December)
- Download (for MeeGo netbooks, temporary unavailable, coming in December)
- It's possible also to have version for Symbian (Nokia N8 and other phones), but I don't have the actual device to test. If somebody from Helsinki is interested and can spend some time with me and his Symbian phone, we can port the program very quickly. The same refers to Nokia N9/N950 running MeeGo.
Screenshots



Description
This application is helping to learn the words in foreign languages. As it is written for mobile platform, you can practice everywhere, learning the language faster.
There are 4 modes of training:
- First you see the words and try to remember them;
- then there is multiple choice exercise
- and limited by time forgot/recalled exercise.
- The latest task is to enter the correct translation in the textbox.
Original feature of the Oppia Sanoja is sentence mode. Some people believe that it's better to learn the words in some context, others are just trying to remember ready-made sentences in order not no assemble them on-the-fly. After each 5 words you can add some sentences with these words. You start with . , put sentence in source language, sentence in target language, then .. , each element at the new line. You can use as an example the file ENG-FIN.txt, which is provided with the application.
The dictionary for this program can be any .txt file in Unicode. The format of the file is very simple: word in foreign language, two tabulators, word in your native language, switch to the new line. You can find some examples, which are created after installing the program.
Hacking
The main screen is Flickable element. There are also several states. About screen and file handling menu is done using ListView. The program has some embedded graphics (using qrc resource file).
Program's settings are stored using QSettings. Settings allow to start every time from the last used set of words of dictionary, not from the beginning. In Linux/MeeGo we use folder /home/user/OppiaSanoja for keeping dictionaries, in N900 - /home/user/MyDocs/OppiaSanoja.
Interaction between QML and C++ is done using QDeclarativeView/Q_PROPERTY/Q_INVOKABLE. File and string handling involves QFile, QDir, QTextStream, QTextCodec, QStringList. Instead of QTimer it is used QML timer - much more better. And overall performance of the application became better when using QML.
Known issues
Synonyms for the words are not supported as stated on the about screen. Just didn't have the time to check this code :(Fixed!
Release history
0.0.6, 15 Sep 2011, 25 Nov 2011- Now you can choose an action after you've learned some words - continue the same dictionary or choose another.
- Improved mode "choose a correct word".
- Various fixes, inclusive reading files and on-screen keyboard handling.
Release history
0.0.5, 04 Aug 2011- Repeating mode.
- Now words number in a block between sentences is not resticted to 5 or divisor of 5.
- Better notifications.
- New buttons (looking and behaving like native N900's).
- Adjusted timers, bugs fixed (unnecessary accessing dictionary file, congratulations screen).
- Fixed issue with QSettings.
- Some fixes, related with window's position and resizing on netbooks.
- Russian localization.
- Fix for non-smooth fonts on MeeGo.
- Fixed issue with synonyms.
- New mode - sentences.
- The program is now working on MeeGo!
- Settings are now stored using QSettings (platform-independent, less file operations, more reliable).
- Improvements for screens bigger/smaller than N900's (800*480). You can comfortably use Oppia Sanoja on netbook or other communicator than N900.
- Rewriting in QML and a lot of fixes/improvements.
Todo
- Integration with QStarDict.
- Fullfill all requirements from Ovi Store :)
Oppia Sanoja - Learn Words
(c) 2011 Aleksandr Rybakov