Home

Awesome

Шτookωвiнα

Шτookωвiнα is in beta-testing stage. Please give it a try.

This program is designed to be useful for learners of foreign languages. Some features of Шτookωвiнα for a quick start:

Building and Installation

Installation process is pretty straightforward:

  1. Install SBCL, Шτookωвiнα is written in standard Common Lisp and it doesn't rely on any specific features of SBCL, however only version compiled with SBCL is tested;

  2. Install Quicklisp to automatically get all dependencies, in short, here is what to do:

    $ curl -O http://beta.quicklisp.org/quicklisp.lisp
    $ sbcl --load quicklisp.lisp
    * (quicklisp-quickstart:install)
    * (quit)
    
  3. Install Buildapp, please prefer most recent version:

    $ git clone https://github.com/xach/buildapp.git
    $ cd buildapp
    # make install
    
  4. Download or clone Шτookωвiнα's repo:

    $ git clone https://github.com/mrkkrp/shtookovina.git
    
  5. cd into the directory and make the program:

    $ cd shtookovina
    $ make
    
  6. Now you should have Шτookωвiнα's binary build/shtk, you can install it this way:

    # bash install.sh
    
  7. Done (you can use uninstall.sh to uninstall the program).

How to Start Шτookωвiнα?

Шτookωвiнα can be used to learn several languages at once. Thus it must keep different dictionaries and configuration files for every «target» language. You specify the language with the option -t or --target:

$ shtk -t en # if you want to learn English

This option is mandatory. When adding new languages please refer to ISO 639-2 when choosing their two-letter codes.

Wizard and Audio

Now, you hopefully have installed Шτookωвiнα. However, it should be configured before you can use it. Initially Шτookωвiнα was planned as a hardcore program for Lisp geeks, but later we decided to make it more user-friendly, so more people could use it. To make Шτookωвiнα work you're supposed to write some Lisp in your configuration file setting some variables and defining some hooks. Fortunately, we have wizard that can do this automatically.

Шτookωвiнα Wizard

When you start Шτookωвiнα for the first time, wizard will be called (unless you start it with --no-wizard option). First it asks about interface language in English (it's default language, Шτookωвiнα will use your preferred language as soon as it knows which one it is).

Second, Шτookωвiнα needs to know where audio databases are located in your system. Шτookωвiнα uses databases from Shtooka project and for speed they should be downloaded and placed in one directory. You can download the databases from http://download.shtooka.net/. Don't forget to uncompress the archives.

Third, the wizard will ask your how you would like to play audio files (Shtooka project uses FLAC files). You should choose between listed options.

Finally, to use query and conj commands (open web-page with description of given word or conjugation of given verb) you currently need to manually edit relevant hooks in your configuration file, since we cannot know which web-service your prefer to use for this task, and thus we cannot know how to transform the word into URL.

Tutorial

Шτookωвiнα has built-in interactive tutorial that shows basic commands:

Шτookωвiнα Tutorial

The following topics are covered:

Exercises

Currently there are four different exercises:

Translation

Translation Exercise

In this exercise you are given a word (either in interface language or target language) and four possible translations. You should select correct one.

Word Constructor (writing)

Word Constructor Exercise

You are given translation and letters of the word, but they are shuffled. You need to enter the word correctly, letter by letter.

Listening

Listening Exercise

Some relevant audio is played to you, you should recognize dictionary item and enter it correctly.

Crossword

Crossword Exercise

This crossword doesn't show you visual representation of the crossing words. It doesn't really matter if such representation can be drawn or not. You cycle through various words and try to enter them correctly by their description. If you don't know a word, you can skip it. If you enter a word correctly, some letters of other words that coincide with the letters of the entered word are revealed.

How to contribute?

We need your help. There are many ways to help the project:

License

Copyright © 2015 Mark Karpov

Distributed under GNU GPL, version 3.