Menu

Tree [5a5f93] master /
 History

HTTPS access


File Date Author Commit
 .settings 2021-05-20 gustavklopp gustavklopp [cde737] Moving to natural keys system. Profile page.
 Images_LWT 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 LingL 2021-05-27 gustavklopp gustavklopp [ea1e9f] fix bug dictwebpage when importing old lwt
 functional_tests 2021-05-29 gustavklopp gustavklopp [5a5f93] better display for Google translate
 jchart 2021-04-27 gustavklopp gustavklopp [80d1ab] Pypi Jchart is outdated. Using a local version
 lwt 2021-05-29 gustavklopp gustavklopp [5a5f93] better display for Google translate
 splitjson 2021-04-15 gustavklopp gustavklopp [bdfe8c] displaying texts is working now
 static 2021-05-29 gustavklopp gustavklopp [5a5f93] better display for Google translate
 .fuse_hidden0000a7820000000d 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 .gitignore 2021-05-12 gustavklopp gustavklopp [3268c1] fix new text bug
 .jshintrc 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 .project 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 .samplecode.html.un~ 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 .travis.yml 2017-12-09 gustavklopp gustavklopp [082bfe] adding travis config
 LICENCE.txt 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 LingL.launch 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 LingL_app.icns 2021-05-03 gustavklopp gustavklopp [383805] Build setup for MACOS
 LingL_app.ico 2021-04-27 gustavklopp gustavklopp [2f62c9] WIndows CX_Freeze update
 LingL_app.py 2021-04-27 gustavklopp gustavklopp [2f62c9] WIndows CX_Freeze update
 MANIFEST 2017-12-06 gustavklopp gustavklopp [7548ea] before sending to github
 Pipfile 2021-05-20 gustavklopp gustavklopp [cde737] Moving to natural keys system. Profile page.
 Pipfile.lock 2021-05-29 gustavklopp gustavklopp [5a5f93] better display for Google translate
 README.md 2021-05-27 gustavklopp gustavklopp [ea1e9f] fix bug dictwebpage when importing old lwt
 appversion.txt 2021-05-29 gustavklopp gustavklopp [5a5f93] better display for Google translate
 manage.py 2021-04-27 gustavklopp gustavklopp [ccab9c] Forgotten to remove from .gitignore
 requirements.txt 2021-04-27 gustavklopp gustavklopp [80d1ab] Pypi Jchart is outdated. Using a local version
 setup_LINUX.py 2021-05-28 gustavklopp gustavklopp [670c97] autoscroll when using keyboard shortcut
 setup_MACOS.py 2021-05-28 gustavklopp gustavklopp [670c97] autoscroll when using keyboard shortcut
 setup_WIN32.py 2021-05-28 gustavklopp gustavklopp [670c97] autoscroll when using keyboard shortcut

Read Me

LingLibre

Learn new languages by reading anything you choose.

This was inspired by other site/projects like the opensource Lwt, the closed source lingq etc...

lingl_German_800px
lingl_homepage_600px

1. How to use it:

2. How to install it:

2.1 Use the executable (Standalone application):

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).

2.2. Use the built-in server inside Django:

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.

2.3. (future) Use the online website:

Maybe later if people interested.

3. Upgrading:

Future versions are regularly provided.

3.1 for the standalone version:

  1. (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).

  2. (optional) Delete the old version folder. LingLibre doesn't install anything on your system in fact.

  3. Download the latest versions (see the Releases section) which fits your systems.

  4. Launch this new version (after uncompressing it wherever you want) by clicking on the executable LingLibre.

  5. (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'.

3.2 for the Django server version:

  1. (optional) same backup step 1 as the 'standalone version'.

  2. Delete the database in 'lwt' folder named "LingL_database.sqlite3".

  3. 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).

  4. launch the server (./manage.py runserver)

  5. (optional) same restore step 5 as the 'standalone version'.

4. Developers:

  • Building:

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
  1. test for "Creating and Modifying Language":
./manage.py test functional_tests.selenium_language_detail.Language_detail
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.