LibreLingo Documentation on Course
A Course is the highest element on the course structure. It contains modules, which in turn contains skills. There are usually one course for each language.
Confused? Ask people on GitHub Discussions.
A typical tree structure for a course is like this:
courses/spanish-from-english/ ├── activities │ ├── module.yaml │ └── skills │ ├── continuous.yaml │ └── ser_estar.yaml ├── basics │ ├── module.yaml │ └── skills │ ├── animals.yaml │ ├── clothes.yaml │ ├── food.yaml │ ├── nature.yaml │ ├── plurals.yaml │ ├── professions.yaml │ ├── verb_plurals.yaml │ └── verbs.yaml ├── course.yaml └── introduction ├── module.yaml └── skills ├── adjectives.yaml ├── phrases.yaml └── preferences.yaml
introduction are modules. The
animals.yaml etc. are skills. Directly inside the course directory there is also a file called
course.yaml. This file contains information about the course (see below).
A course directory name should not have spaces and should be written in
slug-form in plain English.
course.yaml file for the Spanish course looks like this:
# This file contains generic meta-data about the course Course: Language: Name: Spanish IETF BCP 47: es For speakers of: Name: English IETF BCP 47: en License: Name: Attribution-ShareAlike 4.0 International Short name: CC BY-SA 4.0 Link: https://creativecommons.org/licenses/by-sa/4.0/legalcode Special characters: - "á" - "Á" - "é" - "É" - "í" - "Í" - "ó" - "Ó" - "ú" - "Ú" - "ü" - "Ü" - "ñ" - "Ñ" - "¿" - "¡" Modules: - basics/ - introduction/ - activities/
Course has information about the course.
Language > Name: The name of the language you want to test for or teach.
Language > IETF BCP 47: The IETF BCP 47 code of the above language. List available here.
For speakers of
For speakers of > Name: The name of the language your target audience already speaks.
For speakers of > IETF BCP 47: The IETF BCP 47 code of the above language. List available here.
License > Name: Full license name under which your course is made available. In most cases it's ok to keep it as is.
License > Short name: Short name for the license. e.g.
CC BY-SA 4.0
License > Link: URL to reach to the full text of the license. e.g.
Special characters: An array of special characters that might not be present on a typical English keyboard.
Modules has a list of module directory names followed by a
Automated spell checker
To avoid mistakes, you can enable automatic spell checking in your course. Automatic spell checking won't let you export a course if it has spelling mistakes. This can prevent incorrect changes from being merged into your course.
The spell checker is implemneted using Hunspell. In order to use it, you need to have Hunspell installed on your computer.
To install Hunspell, follow the instructions of your operating system. On Ubuntu, you can install Hunspell like so:
sudo apt-get update -y sudo apt-get install -y hunspell
Don't forget to also install a dictionary for the languages that you use in your course. Here's a list of dictionary packages available on Ubuntu: https://packages.ubuntu.com/bionic/hunspell-dictionary
In order to enable Hunspell in your course, add the following section to your
Settings: Hunspell: German: de # replace with the langauge code for your language English: en-US # replace with the langauge code for your language
Keep in mind that you also need to have the
hunspell Python package installed. To install it, just run:
pip install hunspell