Lengua v0.2

Was ist Lengua?

Lengua ist ein in FreeBASIC entwickeltes Sprachtrainingsprogramm, das aktuell für deutschsprachige Spanisch-Lernende entwickelt wird. Ziel ist ein modularer Aufbau, der ein flexibles Einbinden anderer Lerninhalte (nicht notwendigerweise Sprachen) ermöglicht.

Lengua unterstützt das Lernkartei-System, das ursprünglich von Sebastian Leitner entwickelt wurde. Zur Berechnung der Wiederholungsrate wird der SuperMemo-2-Algorithmus verwendet, der speziell für den Einbau der Lerninhalte in das Langzeitgedächtnis entwickelt wurde und auch von anderen Lernprogrammen (z. B. Anki) verwendet wird. Allerdings ist Lengua nicht auf das Lernkartei-System beschränkt.

Das Programm steht unter der GNU Lesser General Public License LGPL (siehe license.txt).

Wörterliste

Die verwendeten Wörter liegen in der Datei spanish/words.txt (bzw. bei anderen Modulen in der Datei modulname/words.txt). Die Datei muss in UTF8 ohne BOM gespeichert sein, da es sonst bei der Darstellung von Nicht-Ascii-Zeichen zu Problemen kommen wird. Durch die Unicode-Unterstützung ist das Programm vielfältig einsetzbar. (Beachten Sie jedoch die Einschränkungen unter Windows unter "Bekannte Probleme".)

Jeder Eintrag beginnt mit der Zeile "ENTRY id", wobei "id" eine eindeutige Identifikationsnummer des Eintrags darstellt. Diese wird insbesondere für die Speicherung der Positionierung im Lernkartei-System verwendet; d. h. eine nachträgliche Änderung der ID wird den aktuellen Lernfortschritt durcheinander bringen. Im Spanisch-Modul identifizieren die Tausenderstellen außerdem das Kapitel, dem der Eintrag zugeordnet wird. Die ID 201005 z. B. ordnet den Eintrag dem Kapitel 2.01 zu. Dieses Konzept kann für andere Module übernommen werden, ist aber nicht verbindlich.

Jeder Eintrag enthält eine Definition "word" (Wort in der Fremdsprache), eine Definition "group" (Wortart) und mindestens eine Definition "trans" (Übersetzung in der Ausgangssprache). Es ist möglich, einem Fremdwort mehrere Übersetzungen zuzuordnen, jedoch nicht umgekehrt. Außerdem können dem Eintrag noch beliebig viele weitere Definitionen hinzugefügt werden, etwa wenn eine unregelmäßige Konjugation auftritt. Diese Definitionen haben nur dann eine Bedeutung, wenn sie von einem Modul interpretiert werden.

Eine Sonderrolle nimmt die Definition "tag" ein, die den Eintrag zu einer Gruppe zuordnet. Es sind mehrere Gruppenzuordnungen pro Eintrag möglich. Im Spanisch-Modul können Sie z. B. auswählen, nur Wörter aus der Gruppe "Familie" abzufragen. Wörter, die kein Tag "Familie" besitzen, werden dann ignoriert. Aktuell werden alle ausgewählten Gruppen "addiert", d. h. bei gleichzeitiger Wahl von Wörtern aus Kapitel 1.00 und aus der Wortgruppe Wohnung werden alle Wörter übernommen, die aus dem Kapitel 1.00 stammen oder der Wortgruppe Wohnung zugeordnet wurden.

Inhalte des Spanisch-Moduls

Module bestehen aus einer Basisdatei modulname/basic.bi und (in der Regel) mehreren Untermodulen, die von der Basisdatei eingebunden werden.

Arten von Untermodulen

Das Spanisch-Modul verwendet zwei Arten von Untermodulen: Lernmodule und Hilfsmodule. Die beiden Arten sind nicht strikt voneinander getrennt, jedoch kann im Hauptfenster neben einem Lernmodul der aktuelle Lernfortschritt angezeigt werden, während dies bei einem Hilfsmodul nicht möglich ist. Inhaltlich stellen Lernmodule Übungen, Wortabfragen und andere Programmabschnitte dar, in denen der Benutzer aktiv wird (z. B. auch das Lernfenster mit zum Teil verdeckten Wörtern). Hilfsmodule können als Nachschlagewerk wie z. B das Wörterbuch verwendet werden.

Wörter lernen

Dieses Modul zeigt die ausgewählten Wörter samt ihrer Übersetzung an. In der Voreinstellung werden die fremdsprachlichen Wörter angezeigt und die Übersetzungen durch einen grauen Balken verdeckt.

Das Zahnrad führt zum Einstellungsdialog. Wenn Sie mehr Wörter auswählen, als auf eine Seite passen, erhalten Sie die Möglichkeit, mit den Pfeil-Buttons oder den Tasten "Bild auf/ab" zwischen den Seiten zu blättern.

Der linke Auswahlbutton (mit wechselndem Titel, z. B. "deutsch -> spanisch") wechselt die Position des grauen Balkens und erlaubt es, wahlweise die Übersetzung, die Fremdsprache oder keines von beidem zu verdecken. "Wörter mischen" bringt die Wörter in eine zufällige Reihenfolge (durch den Aufruf der Wortauswahl oder beim Verlassen des Moduls wird die Mischung wieder zurückgesetzt), und "zurück" verlässt das Modul.

Mit den Pfeiltasten kann der graue Balken hoch- oder heruntergescrollt werden, ebenso mit dem Mausrad, sofern sich die Maus im Fenster befindet. Ein Mausklick auf ein Verb liefert eine Anzeige der Konjugationstabelle (aktuell kaum ausgebaut), während ein Rechtsklick auf ein fremdsprachliches Wort die Sprachausgabe des Wortes wiedergibt (sofern espeak installiert ist).

Wenn sich der Mauszeiger im Bereich eines fremdsprachlichen Wortes befindet und eine Taste 1-8 gedrückt wird, wird das Wort mit dieser Markierungsnummer versehen. Die Markierung kann durch erneutes Drücken derselben Taste oder durch die Taste 0 aufgehoben werden. Durch die Markierungen ist es z. B. möglich, besonders schwierige Wörter zu kennzeichnen und später leicht wiederzufinden. Wie Sie die Markierungen nutzen, ist Ihnen jedoch völlig freigestellt.

Weitere Tastenkürzel: F1 für die Hilfeseite, TAB für den Einstellungsdialog, F3 zum Umschalten des grauen Balkens, F4 zum Wörter mischen und ESC für die Rückkehr zum Hauptbildschirm.

Spanisch -> Deutsch

In diesem Modul findet eine einfache Wörterabfrage statt. Das Programm nennt den gesuchten Begriff, der übersetzt werden soll. Mit "Anzeigen" oder Druck der Return-Taste wird die korrekte Lösung angezeigt. Nomen werden je nach Geschlecht blau (männlich) oder rot (weiblich) angezeigt, sofern eine eindeutige Zuordnung möglich ist - rot zeigt also keinen Fehler an.

Die Eingabe des gesuchten Begriffs ist optional und wird vom Programm nicht ausgewertet. Stattdessen ist der Benutzer am Ende gefordert, für das Wort selbst eine Bewertung des Schwierigkeitsgrads abzugeben. Je nachdem, als wie schwer das Wort eingestuft wird, berechnet sich die Wiederholungsrate. Neue Wörter werden dabei auf jeden Fall für den nächsten Tag auf die Wiederholungsliste gesetzt, danach werden in der Regel mehrere Tage vergehen, bevor das Wort das nächste Mal abgefragt wird. Wörter, die als "sehr schwer" oder "schwer" eingestuft wurden, werden jedoch am nächsten Tag erneut auf die Liste gesetzt. Sie können eine Bewertung auch mit den Tasten F4 (sehr schwer) bis F9 (sehr leicht) vornehmen.

Wurde ein Wort korrekt eingetippt (ggf. einschließlich Artikel), wird vor der Lösung ein Haken-Symbol angezeigt. Dieser dient jedoch lediglich der eigenen Orientierung.

Die Wörtereingabe per Tastatur nimmt nur ASCII-Zeichen (ASCII-Code 32 bis 127) entgegen. Spanische und deutsche Sonderzeichen können über die Bildschirmtastatur eingegeben werden.

Wenn Sie bei einem Wort auf "wiederholen" drücken oder alternativ die Tabulator-Taste betätigen, wird es für den Augenblick übersprungen und am Ende erneut abgefragt. Eine Wiederholung ist nur möglich, bevor eine Schwierigkeitsbewertung vorgenommen wird - eine Bewertung des Wortes fährt automatisch mit dem nächsten Begriff fort.

Die Sprachausgabe kann auch mit der Taste F2 aktiviert werden. Sie verwendet das externe Programm espeak mit der MBROLA-Sprache mbrola-es1. Sofern das Programm oder die verwendete Sprache nicht installiert ist, wird keine Sprachausgabe stattfinden. Möglicherweise wird hier später eine flexiblere Lösung, etwa über Shellskript, eingesetzt.

Deutsch -> Spanisch

Auch hier werden Wörter abgefragt, diesmal erhalten Sie jedoch die Übersetzung und müssen das zugehörige Wort in der Fremdsprache finden. Wenn mehrere Übersetzungen angegeben wurden, erhalten Sie nur die erste davon.

Die Bedienung ist identisch mit dem Modul "Spanisch -> Deutsch". Auch wenn es sich bei beiden Übersetzungsrichtungen intern um dieselbe Funktion handelt, läuft die Schwierigkeitsbewertung getrennt voneinander.

Paare finden

Decken Sie die Karten paarweise auf und finden Sie zu jedem Wort die zugehörige Übersetzung. Sobald zwei zusammen gehörende Karten gleichzeitig aufgedeckt sind, werden sie entfernt.

Wenn Sie zwei Karten aufgedeckt haben, bleiben diese für eine kurze Zeit offen liegen, bevor sie wieder zugedeckt werden. Sie können diese Wartezeit durch einen weiteren Mausklick überspringen.

Multiple Choice

Für jedes Wort erhalten Sie mehrere Vorschläge, aus denen Sie alle richtigen Lösungen herausfinden sollen. Das Modul befindet sich noch in der Anfangsphase. Einige Funktionen sind noch nicht einsatzbereit.

Wörterbuch

Das Wörterbuch listet alle Wörter ab Lektion 1 auf. Sie können die Liste nach verschiedenen Kriterien sortiere, etwa alphabetisch nach dem Fremdwort oder nach der ersten Übersetzung, oder auch nach dem bisherigen Wissensstand. Die alphabetische Sortierung arbeitet zur Zeit nur mit den Zeichencodes und ist daher bei Sonderzeichen nicht lexikalisch. Die Tastenkürzel für die Sortierung sind F3 - F7.

Der Wissensstand gibt an, wie erfolgreich das Wort in der Basis-Abfrage genannt werden konnte. Er steigt bei der Bewertung "sehr leicht" und sinkt bei niedrigen Einstufungen. Der erste Wert gibt den "Wissensstand" in der Übersetzung Spanisch->Deutsch an, der zweite in der Übersetzung Deutsch->Spanisch. Beachten Sie, dass neu hinzugefügte und noch nicht oder kaum abgefragte Wörter einen relativ hohen Startwert aufweisen!

Wenn sich der Mauszeiger im Bereich eines fremdsprachlichen Wortes befindet und eine Taste 1-8 gedrückt wird, wird das Wort mit dieser Markierungsnummer versehen. Die Markierung kann durch erneutes Drücken derselben Taste oder durch die Taste 0 aufgehoben werden. Ein Mausklick auf ein Verb liefert eine Anzeige der Konjugationstabelle, während ein Rechtsklick auf ein fremdsprachliches Wort die Sprachausgabe des Wortes wiedergibt (sofern espeak installiert ist).

Bekannte Probleme

Freetype unter Windows

Für die Compilierung unter Windows liegt keine Binärdatei der Freetype-Bibliothek bei. Daher fällt das Programm in den Schriftsatz der Gfxlib zurück. Das bedeutet zum einen, dass die Optik des Programmes etwas leidet, zum anderen können nur die Schriftzeichen angezeigt werden, die auch im FreeBASIC-internen Zeichensatz hinterlegt sind. Westeuropäische Sprachen sind damit weitgehend abgedeckt (insb. gibt es mit der spanischen Sprache keine Probleme), Sprachen mit einem anderen Alphabet können dagegen unter Windows aktuell nicht eingebaut werden.

Sollte jemand das Problem lösen können (d. h. die Freetype-Bibliothek unter Windows compilieren oder alternative Lösungswege finden), würde ich mich sehr über eine Rückmeldung freuen.