# Hilfe zum Vokabel-Trainer

## Inhaltsverzeichnis

- Entstehungsgeschichte
- Name
- Aufgabe
- Soundausgabe
- Prüfung auf Updates
- Dateien, Vokabularien, eigene Listen etc.

- Vokabularien
- Vokabeln
- Daten des Benutzers zu den Vokabeln

- Eigene Listen von Vokabeln
- Einstellungen und Persistenz
- Webseite des Vokabel-Trainers im Internet
- Rechtliches

- Rechtliches zur Aussprache in den mp3-Dateien

## Entstehungsgeschichte

Ich habe den Vokabel-Trainer entwickelt, als ich beim eigenen Japanisch lernen gemerkt habe, dass ich nach einer Weile mit einem Vokabelheft mit Vokabeln nicht weit komme.

Es gibt vermutlich unzählige Programme und auch Apps, um Vokabeln zu lernen, aber bei keinem davon habe ich so viele Freiheiten wie bei einem selbst geschriebenen Programm. Und zu irgendwas muss es ja gut sein, Software-Entwickler zu sein. Daher habe ich in der zweiten Jahreshälfte 2023 damit begonnen, dieses Programm zu entwickeln.

Zurück zum Inhaltsverzeichnis.

## Name

... TODO ...

Zurück zum Inhaltsverzeichnis.

## Aufgabe

Der Vokabel-Trainer dient dazu, japanische Vokabeln zu lernen. Man kann die Vokabeln sowohl in der Richtung Japanisch-Deutsch als auch in der Richtung Deutsch-Japanisch abfragen. Hierbei hat man insbesondere in der Richtung Japanisch-Deutsch eine große Bandbreite an Einstellungsmöglichkeiten, was man sehen möchte, wenn eine Vokabel abgefragt wird. Es besteht auch die Möglichkeit, die Vokabeln nur mit Hilfe des Abspielen-Buttons abzufragen.

Neben dem Abfragen von Vokabeln kann man sie auch in drei unterschiedlichen Darstellungsweisen betrachten: In Einzeldarstellung, als Liste oder in der sogenannten Darstellung als Vokabelblatt. In den beiden Darstellungen außer der Listendarstellung werden die Vokabeln auch abhängig vom Erfolg der letzten zehn Abfragen eingefärbt. Dies kann man in den Optionen auch abstellen.

Auch die einzelnen Anzeigeelemente von Vokabularien (bzw. eigenen Listen) werden abhängig vom Erfolg der letzten zehn Abfragen eingefärbt und zeigen eine Prozentzahl der letzten Abfragen an. Beides kann man ebenfalls in den Optionen abstellen.

In der Listendarstellung gibt es bei jeder Vokabel ganz rechts einen (unbeschrifteten) Button zur Ansicht der Details, in der Einzeldarstellung und in der Darstellung als Vokabelblatt ist dieser optional ebenfalls vorhanden (man kann dies in den Optionen entsprechend einstellen), da der jeweilige Button optisch stören kann.

Zurück zum Inhaltsverzeichnis.

## Soundausgabe

Neben anderen Daten ist zu jeder Vokabel auch eine MP3-Datei mit der Aussprache hinterlegt. Damit der Vokabel-Trainer diese auch abspielen kann, wird die Datei `jl1.0.1.jar` benötigt. Diese kopiert man einfach in das gleiche Verzeichnis wie die jar des Vokabel-Trainers.

Die Datei `jl1.0.1.jar` stammt aus einem Javazoom-Projekt (auf welches ich auch nur bei der Suche zu Abspielmöglichkeiten für MP3-Dateien gestoßen bin), man findet sie mit Google nach dem Dateinamen leicht, z.B. im Maven Repository unter `https://mvnrepository.com/artifact/javazoom/jlayer/1.0.1` (in der Tabelle unter Files auf jar klicken).

Zurück zum Inhaltsverzeichnis.

## Prüfung auf Updates

Der Vokabel-Trainer prüft auf Wunsch beim Starten, ob es neuere Versionen gibt vom Programm selbst, von den Vokabularien und von den ausgewählten, bereitgestellten Vokabellisten, die man importieren kann.

Dies kann man für alle drei zu überprüfenden Kategorien in den Optionen einzeln an- oder ausstellen.

Über das Update-Menü kann man die Prüfungen auch von Hand ausführen lassen. In jedem Fall ist dafür (und nur dafür) eine bestehende Internetverbindung von Nöten.

Für die Prüfung werden die folgenden Jars benötigt, die man neben die Jar des Vokabeltrainers legt:

- commons-logging-1.2.jar
- httpclient-4.5.3.jar
- httpcore-4.4.6.jar
- jsoup-1.10.2.jar

Diese bekommt man z.B. unter `https://mvnrepository.com/artifact/commons-logging/commons-logging/1.2`, `https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.5.3`, `https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore/4.4.6`, `https://mvnrepository.com/artifact/org.jsoup/jsoup/1.10.2` (in der Tabelle unter Files auf jar klicken).

Wegen der Vulnarabilities die z.T. dort inzwischen genannt werden, muss man sich keine Sorgen machen, da ich diese Jars ausschließlich dazu benutze, von mir selbst hochgeladene Dateien von meiner eigenen Homepage zu laden.
Wollte man damit beliebige andere Inhalte aus dem Netz laden, sollte man zu aktuelleren Versionen wechseln.

Zurück zum Inhaltsverzeichnis.

## Dateien, Vokabularien, eigene Listen etc.

### Vokabularien

Der Vokabel-Trainer liest beim Starten einen Satz vorgegebener und vom Programm nicht veränderbarer Vokabeln aus Vokabularien ein. Jedes Vokabularium ist in einer Datei abgespeichert und besteht aus einer Menge von Vokabeln. Ich habe mich hier an dem Buch / den Büchern orientiert, mit deren Hilfe ich Japanisch lerne.

Diese Dateien werden wie bereits erwähnt nicht innerhalb des vom Vokabel-Trainer verändert oder bearbeitet.

Zu jedem Vokabularium ist hinterlegt:

- Name (über den Dateinamen)
- Kategorie
- Unterkategorie

Zurück zum Inhaltsverzeichnis.

### Vokabeln

Die Vokabeln stehen in den Vokabularien und finden sich ebenfalls in den eigenen Listen wieder.

Zu jeder Vokabel ist hinterlegt:

- Die Darstellung der Vokabel in Kana (Hiragana und/oder Katakana).
- Die Darstellung der Vokabel in Kanji, ggf. mit zusätzlichen Hiragana und/oder Katakana.
- Die Darstellung in Romaji.
- Eine annähernde Lautschrift der Aussprache. Diese folgt nicht irgendwelchen linguistischen Standards, da ich selbst leider bei den hübschen Zeichen in Wörterbüchern nicht weiß wie sie auszusprechen sind. Ich versuche hier eine Annäherung der Aussprache mit unseren normalen Buchstaben darzustellen. Diese ist alles andere als wissenschaftlich und auch von mir als ebenfalls Lernendem verfasst, also ist sie mit Vorsicht zu genießen.
- Eine oder mehrere Übersetzungen in Deutsch. Hier habe ich in manchen Fällen recht viele Bedeutungen aufgenommen, denn ich finde es frustrierend, wenn man die Vokabel eigentlich richtig übersetzt hat, aber gerade diese Bedeutung nicht hinterlegt ist. Sowas kann natürlich auch weiterhin vorkommen, aber ich bemühe mich hier um eine gewisse Breite. Da das online-Wörterbuch (jisho.org), welches ich benutze, Japanisch-Englisch übersetzt und oftmals eine Vielzahl an möglichen englischen Übersetzungen für eine japanische Vokabel aufweist, zu denen ich dann wiederum eine Vielzahl an Deutschen Übersetzungen zu den Englischen Vokabeln finde, könnte es passieren, dass deutsche Worte ihren Weg in die Liste der Übersetzungen finden, die nicht ganz zur Bedeutung des japanischen Wortes passen.
- Der Name der MP3-Datei ohne Pfad (beim Start des Programms wird diese dann gesucht und mit Pfad hinterlegt).
- Bemerkungen
- Suchbegriffe
- Wortart(en)

Beim ersten Start des Programms fragt der Vokabel-Trainer, wo diese Vokabularien liegen. Diese werden bei jedem Lauf des Programms eingelesen, also müssen sie dort verbleiben. Daher werden auch Verbesserungen oder neu hinzugefügte Vokabeln dann mit eingelesen.

Diese Vokabularien pflege ich außerhalb des Vokabel-Trainer in einem Texteditor.

Zurück zum Inhaltsverzeichnis.

### Daten des Benutzers zu den Vokabeln

Zu jeder Vokabel aus den feststehenden Vokabularien gibt es aber auch noch weitere Daten, die sich auf den einzelnen Benutzer beziehen. Diese legt der Vokabel-Trainer unter `~\.JapaneseVocableTrainer\` ab. Die `~` steht dabei für das Verzeichnis des Benutzers. Unter Windows liegt dies unter `c:\Users\` (oder je nach verwendeter Software auch `c:\Benutzer\`), abhängig vom eigenen Benutzernamen, z.B. `c:\Users\Mia` (bzw. `c:\Benutzer\Mia`).

Das bedeutet auch, dass auf einem Rechner zwei Anwender, die sich mit einem eigenen Benutzer anmelden, mit diesen Daten und auch mit den Einstellungen nicht in die Quere kommen-

Neben einem Schlüssel, über den die Verbindung zwischen der Vokabel und ihren Benutzer-Daten hergestellt wird, werden hier die folgenden Daten gespeichert:

- wann der Vokabel-Trainer diese Vokabel das erste Mal gesehen hat
- wie oft die Vokabel in Richtung Japanisch-Deutsch abgefragt wurde
- wie oft der Benutzer sie in Richtung Japanisch-Deutsch richtig übersetzt hat
- wann die Vokabel zuletzt in Richtung Japanisch-Deutsch abgefragt wurde
- wie oft die Vokabel in Richtung Japanisch-Deutsch abgefragt wurde
- wann die Vokabel in Richtung Japanisch-Deutsch zuletzt richtig übersetzt wurde
- Außerdem wird der Erfolg oder Misserfolg der bis zu zehn letzten Übersetzungen in Richtung Japanisch-Deutsch vermerkt.
- wie oft die Vokabel in Richtung Deutsch-Japanisch abgefragt wurde
- wie oft der Benutzer sie in Richtung Deutsch-Japanisch richtig übersetzt hat
- wann die Vokabel zuletzt in Richtung Deutsch-Japanisch abgefragt wurde
- wie oft die Vokabel in Richtung Deutsch-Japanisch abgefragt wurde
- wann die Vokabel in Richtung Deutsch-Japanisch zuletzt richtig übersetzt wurde
- Außerdem wird der Erfolg oder Misserfolg der bis zu zehn letzten Übersetzungen in Richtung Deutsch-Japanisch vermerkt.

Wie man sieht wird hierbei dazwischen unterschieden, ob man die Richtung Japanisch-Deutsch oder die Richtung Deutsch-Japanisch abfragt. Die Abfrage-Erfolge und anderen benutzerabhängigen Werte werden für beide Richtungen getrennt vorgehalten.

Zurück zum Inhaltsverzeichnis.

### Eigene Listen von Vokabeln

Da es unhandlich und unflexibel sein kann, die Vokabeln immer nur in genau den Häppchen zu lernen, wie ich sie in den Dateien zusammengefasst habe, gibt es benutzerdefinierte Listen. Diese bestehen aus den selben Vokabeln, die auch in den Vokabularien vorkommen, aber während die Vokabeln dort disjunkt sind, kann man in den verschiedenen Listen die gleichen Vokabeln mehrfach benutzen.

Spätestens seit ich angefangen habe, zusätzlich zum eigenen Lernen auch einen Sprachkurs an der Volkshochschule zu besuchen, sind diese Listen Gold wert, denn so kann ich aus den neuen Vokabeln, die ich bislang noch nicht kannte und welche ich in VHS-Vokabularien erfasst habe, zusammen mit bereits aus anderen Quellen bekannten Vokabeln vollständige Listen erzeugen, mit denen ich die behandelten Vokabeln komplett lernen kann.

Diese Listen speichert das Programm individuell für jeden Benutzer. Neue Listen legt man mit `F4` bzw. über den entsprechenden Menü-Eintrag an. Mit `F3` bzw. über den entsprechenden Menü-Eintrag kann man Buttons zum Löschen, Bearbeiten und Exportieren der eigenen Listen anzeigen bzw. wieder zur normalen Anzeige zurückschalten.

Beim Klick auf Bearbeiten öffnet sich ein Dialog um die eigene Liste zu bearbeiten. Hier kann man aus dem Vorrat der bekannten Vokabeln nach verschiedenen Kriterien suchen und Vokabeln zur Liste hinzufügen oder wieder aus dieser entfernen.

Genau wie die Vokabularien speichern die Listen neben den enthaltenen Vokabeln die folgenden Informationen:

- Name (über den Dateinamen)
- Kategorie der Liste
- Unterkategorie der Liste

Die eigenen Listen lassen sich exportieren und importieren. Dazu findet man Menüpunkte und Schaltflächen.

Mit wenig Scheu vor Dateien kann man sie auch direkt aus dem Verzeichnis `~\.own_vocable_lists\` kopieren. Man sollte aber beachten, dass es nicht reicht, einfach Dateien dorthin zu kopieren. Entweder macht man das über den Vokabel-Trainer, oder man passt die dort liegende Datei `vokabellisten.nam` entsprechend an. Das ist, wenn man eine gewisse Erfahrung mit Computern hat, alles recht einfach, da ich es bei schlichten Textdateien mit einfachem Aufbau belassen habe.

Auch die Vokabeln in den Vokabularien enthalten keinen XML- oder sonstigen Code, sondern ein sehr schlichtes eigenes Format, das man gut von Hand bearbeiten kann. Die entsprechenden `*.voc` Dateien sind also Textdateien, die man theoretisch auch selbst bearbeiten kann. Solange man sich aber immer wieder Updates von mir holt, würden diese allerdings überschrieben oder es könnte auch zu Inkonsitenzen führen, die den Start des Programms verhindern. Daher sollte man im Normalfall darauf verzichten.

Zurück zum Inhaltsverzeichnis.

## Einstellungen und Persistenz

Ich finde es nervig, wenn Programm sich Dinge von einer Sitzung zur anderen nicht merken. Dieses "sich merken" nennt man auch Persistenz. Der Vokabel-Trainer merkt sich neben den umfangreichen Einstellungen (zu denen es einen Optionen-Dialog gibt) auch weitere Dinge wie die Größe bestimmter Fenster, welche Reiter man zuletzt geöffnet hatte oder auch, aus/in welchem/s Verzeichnis man zuletzt eigene Listen im- oder exportiert hat.

Zurück zum Inhaltsverzeichnis.

## Webseite des Vokabel-Trainers im Internet

Die Webseite des Vokabel-Trainers

Zurück zum Inhaltsverzeichnis.

## Rechtliches

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Zurück zum Inhaltsverzeichnis.

### Rechtliches zur Aussprache in den mp3-Dateien

Die mp3-Dateien zum Abspielen der japanischen Aussprache generiere ich von Hand über die Webseite `https://soundoftext.com/`. Laut den dortigen Angaben stammen diese aus der "text to speech engine" von "Google Translate".

Ich weiß, dass man diese Dateien für eigen Zwecke benutzen darf. Ich weiß aber nicht, wie es ist, wenn ich diese auf meiner Webseite anbiete, daher kann man die Vokabularien momentan nur ohne die erzeugten MP3-Dateien, also ohne die Aussprache, herunterladen. Das ist schade, aber ich möchte hier keine Rechte anderer verletzen.

Zurück zum Inhaltsverzeichnis.