Sakinyje is a tool for language learning based on the idea of sentence mining.
- automatically detecting grammatical details such as the root word and morphology using SpaCy (works automatically for any languages with pre-trained models, and you can train custom models with data)
- colors the words based on how well you know them (automatically detected from Anki or selected by user)
- export word and definition with custom context to Anki
- automatically get definition from user supplied dictionaries (stardict, URL, file)
- extremely customizable
sakinyjedemo.mp4
work in progress, expect things to break frequently
- check the issues tab
You can find prebuilt binaries of the latest release (https://github.com/BrewingWeasel/sakinyje/releases) Note that currently the AppImage does not work, and the others are not tested
Dependencies (debian based): libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev glibc-source libc6 python3-dev
Runtime Dependencies SpaCy python
git clone https://github.com/BrewingWeasel/sakinyje && cd sakinyje
just build
You can also manually build using cargo-tauri with trunk and spacy.
In either case, your final build will be in target/release/sakinyje, and the bundles will be in target/release/bundles
When you first launch the app you will be prompted to create your settings for the new language. If your target language has a template, select that as it will automatically fill out certain settings that you will likely want (though these can be changed later). If there is no existing template, you can simply click custom and then set everything up manually.
You will be able to chante these settings under the language specific settings on the settings page. Languages generated with a template will have many of these settings filled out, but some must be set by the user according to the instructions on the page.
Copy or write a sentence into the input tab, then press submit. Click on any word to get its definition. Click on the export button to export to Anki
The name comes from the locative form of the Lithuanian word for sentence (sakinys). Translates (roughly) to "in a sentence"