Skip to content

dallaszkorben/prala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prala - Language Practice

The aim of this project is to produce a software which can be used by a language learner to learn and practice new words, expressions, phrases. (I will refer to them as words)

Console
GUI

The main features are the following:

  • Randomly asks words
  • Saying out the question and the correct answer in the appropriate language.
  • Showing the part of the speech and the note of the asked word (if there is defined any)
  • The words which are more difficult to learn are asked more often - depends on your answers
  • Statistics are shown about the wrong/good answers
  • Filtering words that you want to practice by part of the speech and extra filter
  • Features can be turn on/off (say out/show note/show pattern)

Usage

Preconditions

  • Minimum Python3.6 should be installed on your computer
  • pip (compatible to the Python version) should be installed on your computer
  • Text-to-speech synthesizer should be installed on your computer. It is platform dependent.
    • Windows: SAPI5
    • Mac OS X: NSSpeechSynthesizer
    • Linux: espeak

Install

  1. Run a console
  2. On the console type the following
    pip install prala

Update

  1. Run a console
  2. On the console type the following
    pip install prala --upgrade

Run

The software has two versions:

  • console
    To run it:
    pracon <dict_file_name>

  • GUI
    To run it:
    pragui <dict_file_name>

Meaning of <dict_file_name>

A dict file is a simple text file which contains the words used by the application.
You can create your own dict files from scratch or you can use the template generated by the app.
Here is the format of the dict files:

  • The file name should have .dict extension
  • Every word defined in ONE line
  • The definition of the words contains 5 fields separated by colon :
  • The template of a word is the following:
    part of speech:extra filter:expecting answer:question:note
  • The meaning of the fields:
    • Part of speech: the part of speech of the word. It is free format text. Recommended using your language for that.
      For example your mother language is English than it could be "verb" or "noun" or "adverb"... It is possible to filter the asking words by this field.
    • extra filter: It is free format text. It is possible to filter the asking words by this field.
    • expecting answer: this is the word in the language what you want to learn/practice. It could be en expression a sentence a single word or different format of a word. In case of the "different forms of a word" the comma "," is used to separate the formats.
      For example if you learn English and want to practice the word "go" than you can list three forms of this verb: "go, went, gone"
    • question: this is the "question word" in your language.
    • note: a note about the word for the practicing person. It is free format text. Recommended using your language for that. It is optional to show this at practicing.

Let's say you are a person speaking English and want to practice Swedish. Here is an example of a dict file:

verb:chapter-01:göra, gör, gjorde, gjort, gör:do           
verb:chapter-01:komma, kommer, kom, kommit, kom:arrive, come  
verb:chapter-02:gå, går, gick, gått, gå:go, walk  
noun:chapter-02:ett hus, huset, hus, husen:building, house
noun:chapter-03:en katt, katten, katter, katterna:cat
noun:chapter-03:en nyckel, nyckeln, nycklar, nycklarna:key  
adjektiv:chapter-02:orolig, oroligt, oroliga:worried
adjektiv:chapter-03:tung, tungt, tunga:heavy  
adverb:chapter-01:verkligen:really  
sentence:chapter-02:han stirrar tomt framför sig:he stares empty in front of him           
sentence:chapter-02:han skyndar i väg:he hurries away:han  

Notes:

  • chapter-01, chapter-02, chapter-03 extra filters are used. Presumably the person who created this dictionary got the words from different chapters of a book. Using this filter it is possible to practice a specific chapter instead of the all book.
  • In the last row the "han" personal noun was used in the note field giving a small hint to the practicing person. (it is possible to turn off)