Not quite the same thing, but Vocabsieve (disclosure:my project) can read your KOReader lookup history to generate Anki cards with context and audio. I also feel like reading in your target language is a far better use of your time. Vocabulary is not the only thing you need to learn, you also need to internalize collocations and grammatical structures, which is best done through actual reading.
HN user
_dmn7
An Ansible playbook running on a relatively cheap hetzner box. In general bridges require you to self-host a homeserver. A federated homeserver will need 4GB of RAM at least and 8GB if you plan on joining large rooms. The playbook is controlled from a single config file and sets up all the bridges you need.
From the perspective of the users, Matrix has the "best" experience since it supports bridge controlling user accounts, so all accounts look like real users. Currently the largest part of the community is from Telegram, which is the earliest established platform. Discord comes in second, then Matrix, but there are at least one other contributor is joining from there. Although I want to, the primary goal here isn't to encourage Matrix but to avoid forcing people to use Discord and as ddevault says "set up users who are passionate about free software — i.e. your most passionate contributors or potential contributors — as second-class citizens".
You can use this Ansible playbook. It worked well for me for bridging Discord and Telegram, among other things, running off a Hetzner box.
https://github.com/spantaleev/matrix-docker-ansible-deploy
Personally I've never seen any significant amount of spam on Matrix.
A lot of people use FOSS because they value control and self-ownership. Discord is the antithesis to that, being controlled by an external entity which places itself in a privileged position to both be the speech police and shut you down at will. Unlike Github, a community is much harder to move than a code repository + CI system because it is more than a technical problem.
I maintain a semi-popular project [1] with a support chat which is bridged between Matrix, Telegram, and Discord. The decision to bridge it to Discord was made having thought long and hard about it some time after reading this post.
When you chase purity, you sacrifice pragmatism and strategic flexibility, limiting your options. It is sometimes necessary to compromise to achieve your goals.
My conclusion is that it is okay to use proprietary platforms as long as it does not negatively impact the users not willing to use them, i.e. all channels must be bridged to non-Discord, so that it does not "partition the community" in any way. When a compromise needs to be made, FOSS users are prioritized. Discord-specific features should be avoided to not affect the usability of users on Matrix. So far it works well and I get to basically have the cake and eat it too. The bridges are set up using an Ansible playbook [2] which required relatively little effort on my part.
1. https://github.com/FreeLanguageTools/vocabsieve
2. https://github.com/spantaleev/matrix-docker-ansible-deploy
I maintain a semi-popular project [1] with a support chat which is bridged between Matrix, Telegram, and Discord. The decision to bridge it to Discord was made having thought long and hard about it some time after reading this post.
My stance is that it is okay to use proprietary platforms as long as it does not negatively impact the users not willing to use them, i.e. all channels must be bridged to non-Discord, so that it does not "partition the community" in any way. Discord-specific features should be avoided to not affect the usability of users on Matrix. So far it works well and I get to basically have the cake and eat it too.
If you have better tooling, you can add cards way faster. My project (https://github.com/FreeLanguageTools/vocabsieve/) is a tool to help you make sentence cards nearly effortlessly, or even converting ereader highlights, which probably averages to maybe a few seconds per card created.
Shameless plug for my tool https://github.com/FreeLanguageTools/vocabsieve/
It can do sentence card creation, ereader imports, and vocab tracking, among other things.
SEEKING VOLUNTEERS
Project name: FreeLanguageTools / VocabSieve
Github: https://github.com/FreeLanguageTools/vocabsieve
Languages: Python for the main project, one of the Android languages for a potential mobile app.
We are developing a free software language learning tool for an immersion-based approach. We work with other free software solutions (Anki, mpv, asbplayer, KOReader) to protect user freedom from SaaS corporations that hold your data hostage.
Good luck packaging that on Windows though. PyQt generally works better if you need cross-platform support.
As a developer for a Python GUI application [1], I think the biggest problem with using Python for desktop applications is the packaging. All existing tooling for creating a distributable binary either stops working or starts to require nontrivial hacks once you have more than a few dependencies. Even popular packages have issues. You get cryptic missing hidden import problems and missing data files that you didn't know were ever needed. Some dynamic module loading also stops working once they are brought outside of the normal python environment, which is the case if you use PyInstaller or cx_freeze. I'm not sure what can really be done here. Maybe Python needs to propose a standardized way to package standalone programs like Java's jars that only depends on the interpreter.
For those learning other languages (works best for European languages), my open source tool VocabSieve [1] does something quite similar (it is a lemmatizing tool unlike many common tools such as LingQ), with more advanced features like auto-mining words and using highlights from ereaders. It's also a local-first tool that does not require internet access if you use downloaded resources and does not connect to any central server I control. It has no mobile support though.
My somewhat similar project VocabSieve [1] is intended to make lookups and making Anki flashcards very easy. Among other things, you can import highlighted words from ereaders and make Anki cards out of them automatically. I used it for Russian for the entire development process, so you can be sure it works well for that.
I also created a somewhat similar tool [1] for quickly making Anki cards when reading foreign language texts. It's not electron, but rather PyQt, so it conforms to your system theme if you are on Linux.
However, it comes with a number of downsides:
- Distributing the app is a pain and breaks every now and then when you add a dependency that may not behave correctly or require additional hacks with your packaging tool of choice (in my case, cx_freeze).
- The interface is without a doubt less customizable compared to using a Web-based framework. However, I like this because I believe the user should be able to decide what the app should look like based on their system Qt themes. I also simply don't enjoy front-end work too much.
(Shameless plug) Only marginally similar (though I imagine you can adapt it to the same purpose), but I also created a GUI tool [1] for quickly making Anki cards when reading foreign language texts. It's also not electron, but rather PyQt, so it conforms to your system theme if you are on Linux.