Language learning software
Apologies in advance as I'm cross-posting in order to get as a wider audience to get as much feedback as possible.
I am currently studying to learn the ) Gàidhlig (Scottish Gaelic language and finding studying by rote out of a book a bit 'limiting'.
Because of this, I am thinking about creating a software project which could act as an interactive way to helping me learn the language. I've got a few ideas floating in my head but the direction I want to take is that the software is not an alternative but an aid to be used in conjunction with traditional studying materials. I was thinking possibly small interactive games or exercises that both are fun as well as to test and use the parts of language I have learned. There might also be a bit of reporting to show strengths and weaknesses.
Firstly, the technical specifications, that offhand, I can think of that the project will need to meet:
1. Cross-platform (while I would like it to be just Linux, I have to be realistic that people would rather use Windows)
2. The language data is separate from main program so that the software can be used with other languages.
3. Not too complex so that it is quick and easy to program as I will be doing it myself.
As I mentioned, this is just at an idea's stage and I was looking for some advice which I would be grateful to receive. I plan to write the project in C++ for cross platform compatibility, better structure of code (I don't fancy using C and GObject) and easy installation. What toolkit library is the best to use? I was thinking of either wxWidgets or QT but as the software project could involve game type animations is there any other libraries that are better suited?
I am also looking for some barnstorming ideas for content. Has anybody got any idea's that would be fun as well as educational? The ideas I have is maybe a simple card exercise showing pictures and a time limit to enter it's meaning in the given language to things like crosswords, hangman and other word-type puzzles. The thinking behind it is to constantly use the language you have learned until it becomes second nature. It is a lot more random than what you would get out of a book and to keep it interesting.
I don't know if what I am wanting to achieve is too ambitious for what I am capable of but with your help and advice, I'll get a better idea.