Learn new languages by reading anything you choose.
This was inspired by other site/projects like the opensource Lwt, the closed source lingq etc...


Available for Linux/Windows/Max:
the executable is Linglibre.
https://github.com/gustavklopp/LingL/releases
After launching the app, you will need to create an account (this way, the app allows multi-accounts).
It will need python >=3.8 and Django >= 3.2
Set a virtualenv with python 3.8, then inside the virtual env:
pip install -r requirements.txt
Running the Django project:
move inside the LingL folder (where manage.py is) and:
python manage.py migrate
python manage.py loaddata initial_fixture_USER.yaml
python manage.py loaddata initial_fixture_LANGUAGES.yaml
python manage.py runserver
then open your browser to http://127.0.0.1:8000
After launching the app, you will need to create an account (this way, the app allows multi-accounts).
There's also a superuser account for Django admin use: it's : username: lingl / password: lingl.
Maybe later if people interested.
Future versions are regularly provided.
(optional) First, backup (if you want to keep your previous data that you've created): in the menu, choose 'Backup/Restore/Delete your account' then click on 'Backup' (you can choose to backup everything or choose which words to backup).
(optional) Delete the old version folder. LingLibre doesn't install anything on your system in fact.
Download the latest versions (see the Releases section) which fits your systems.
Launch this new version (after uncompressing it wherever you want) by clicking on the executable LingLibre.
(optional) Restore the backup created in step '1': Create an account (whatever name you want, you're not forced to use the same than in the old version). and in the 'Backup/Restore/Delete your account', click on 'Restore' and choose the backup file that you've got in the step '1'.
(optional) same backup step 1 as the 'standalone version'.
Delete the database in 'lwt' folder named "LingL_database.sqlite3".
git pull or download the source code. The database needs to be recreated with the same steps you've done at first (./manage.py migrate and loading the fixtures).
launch the server (./manage.py runserver)
(optional) same restore step 5 as the 'standalone version'.
To build LingLibre, use CX_Freeze with the suitable platform:
python setup_LINUX.py build on Linux
python setup_WIN32.py build on Windows
python setup_MACOS.py build on Mac
The build results (with the LingLibre executable) will be in the build folder.
Flowchart of the major Classes and Functions (Javascript and Python)
Running tests:
you need to have selenium and factory-boy installed (pip install selenium and pip install factory-boy).
1. test for "Creating and Reading a text":
./manage.py test functional_tests.selenium_text_read.Text_read
./manage.py test functional_tests.selenium_language_detail.Language_detail