This has 3 components:
- database: a .Net Core class library containing definitions and the like for the database, which uses sqlite3
- this previously contained functionality to decline Latin nouns (and in theory other parts of speech), but that has been abandoned
- cli: a small cli for loading data about Latin words into the database, sourcing the data from Wiktionary, either via its API or the data dumps
- learning-gui: a .Net Core console app, using gui.cs for a small app that you can use to learn, and check your progress on Latin vocabulary, learning a word's meaning, declension/gender if it has one, and identifying or recalling its forms, either from Latin to English or vice versa
To use:
- create a folder LatinLearning in $HOME/AppData (or wherever
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
is on your system), that contains two json files,checkboxData.json
andfilesCache.json
. This is also where the database is stored, but a new file is auto-generated by sqlite3 on first run - run
dotnet database update --start-project ../learning-gui/learning-gui.csproj
in thedatabase
folder, which creates all the tables in the database - run
dotnet run -- load pages
in thecli
project to source data from a wiktionary dump (which you can find here that needs to be in the current directory aswikidata.xml
- use
build_and_pack.ps1
inlearning-gui/build_helpers
to create an executable of the learning app, which you can now use.- if you want to do this on another computer, just copy the generated .exe and the whole
LatinLearning
directory to the other computer. There is currently no way to synchronise progress across computers, so just use one
- if you want to do this on another computer, just copy the generated .exe and the whole