#14 #17 Refactoring, addition of translation, real user dictionary and the language choose