I’m at a loss. I try to generate a single DE dictionary from a cleaned-up, tab-separated DE Wiktionary download.
The source files (I created a one-entry test) look like this:
Aal <i>Substantiv, m</i><i>, Aal, Pl. Aa·le</i><br><i>IPA:</i> [aːl]<br><b>Bedeutungen:</b><br>1. Zoologie: schlangenförmiger Süßwasser- und Meerwasserfisch aus der Ordnung der Aalartigen (Anguilliformes)<br>2. umgangssprachlich, und in Zusammensetzungen: Fisch oder Wassertier von länglicher Gestalt<br>3. Seefahrt, von U-Boot-Fahrern verwendete Bezeichnung für: Torpedo<br>4. Soldatensprache: neu eingezogener, unvereidigter Soldat, Soldat ohne Dienstgrad<br>5. junge Kalmuspflanze<br><b>Synonyme:</b><br>3. Torpedo<br>4. Brenner, Rotarsch, Sprutz, Zecke<br><b>Beispiele:</b><br>1. Er hatte einen sehr großen Aal gefangen.<br>1. Auf der Silberplatte lagen geräucherter Aal und Graved Lachs.<br>2. Meinst du, Freund der Tiere, man könnte Aal dazu sagen?<br>3. „Als mir der Torpedo endlich klar gemeldet wurde, gingen wir auf Gefechtskurs und nach Erreichen der Schussposition gab ich den Befehl ‚Torpedo los!‘ Der Aal verließ vorbildlich das Rohr, wurde dabei illegal vom I. Wachoffizier fotografiert und tauchte elegant ins Wasser.“ <br>4. Da zeigten es aber die Altgedienten den Aalen.<br>5. Zu jungen Kalmuspflanzen sagte Ehrenfried immer Aal und Herta ärgerte das.<br><br><i>Substantiv, mf, Nachname</i><i>, Aal, Pl. Aals</i><br><i>IPA:</i> [aːl]<br><b>Bedeutungen:</b><br>1. unterdurchschnittlich häufig auftretender, deutscher und niederländischer Nachname, Familienname häufigstes Vorkommen in Deutschland im Kreis Kleve in Nordrhein-Westfalen); auch mit Namenzusatz de<br><b>Beispiele:</b><br>1. Herr Aal heiratete Frau Müller im Mai. Nun heißt er Aal und sie Müller-Aal.<br>1. Heute sind wir bei Aals zu Besuch.<br>1. „Aal?! Vortreten!“<br>1. Der Aal ist's gewesen und die Aal hat's verpetzt.<br>1. Frau Aal ist ein Genie im Verkauf.<br>1. Herr Aal wollte uns kein Interview geben.<br>1. Die Aals kommen heute von Wangerooge.<br>1. Der Aal trägt nie die Schals, die die Aal ihm strickt.<br>1. Das kann ich dir aber sagen: „Wenn die Frau Aal kommt, geht der Herr Aal.“<br>1. Aal kommt und geht.<br>1. Aals kamen, sahen und siegten.<br>
(There is a TAB after the initial "Aal". All other tab characters inside the content were removed.)
Since there is not much documentation, I tried the following command (on Linux):
./run.sh --lang1=DE --lang1Stoplist=data/inputs/stoplists/de.txt --dictOut=data/outputs/DE.quickdic --dictInfo="Wiktionary-based DE dictionary" --input1=data/inputs/MCH-DE-DE-test.txt --input1Name=dewikitionary --input1Charset=UTF8 --input1Format=tab_separated
(taking over the spelling error "dewikitionary")
But this gives an error:
Running with arguments:
--lang1=DE
--lang1Stoplist=data/inputs/stoplists/de.txt
--dictOut=data/outputs/DE.quickdic
--dictInfo=Wiktionary-based DE dictionary
--input1=data/inputs/MCH-DE-DE-test.txt
--input1Name=dewikitionary
--input1Charset=UTF8
--input1Format=tab_separated
lang1=de
lang2=null
normalizerRules1=:: Lower; 'ae' > 'ä'; 'oe' > 'ö'; 'ue' > 'ü'; 'ß' > 'ss';
normalizerRules2=null
dictInfo=Wiktionary-based DE dictionary
dictOut=data/outputs/DE.quickdic
Processing: data/inputs/MCH-DE-DE-test.txt
Dec 11, 2021 1:06:15 AM com.hughes.android.dictionary.parser.DictFileParser parse
INFO: count=0, line=Aal <i>Substantiv, m</i><i>, Aal, Pl. Aa·le</i><br><i>IPA:</i> [aːl]<br><b>Bedeutungen:</b><br>1. Zoologie: schlangenförmiger Süßwasser- und Meerwasserfisch aus der Ordnung der Aalartigen (Anguilliformes)<br>2. umgangssprachlich, und in Zusammensetzungen: Fisch oder Wassertier von länglicher Gestalt<br>3. Seefahrt, von U-Boot-Fahrern verwendete Bezeichnung für: Torpedo<br>4. Soldatensprache: neu eingezogener, unvereidigter Soldat, Soldat ohne Dienstgrad<br>5. junge Kalmuspflanze<br><b>Synonyme:</b><br>3. Torpedo<br>4. Brenner, Rotarsch, Sprutz, Zecke<br><b>Beispiele:</b><br>1. Er hatte einen sehr großen Aal gefangen.<br>1. Auf der Silberplatte lagen geräucherter Aal und Graved Lachs.<br>2. Meinst du, Freund der Tiere, man könnte Aal dazu sagen?<br>3. „Als mir der Torpedo endlich klar gemeldet wurde, gingen wir auf Gefechtskurs und nach Erreichen der Schussposition gab ich den Befehl ‚Torpedo los!‘ Der Aal verließ vorbildlich das Rohr, wurde dabei illegal vom I. Wachoffizier fotografiert und tauchte elegant ins Wasser.“ <br>4. Da zeigten es aber die Altgedienten den Aalen.<br>5. Zu jungen Kalmuspflanzen sagte Ehrenfried immer Aal und Herta ärgerte das.<br><br><i>Substantiv, mf, Nachname</i><i>, Aal, Pl. Aals</i><br><i>IPA:</i> [aːl]<br><b>Bedeutungen:</b><br>1. unterdurchschnittlich häufig auftretender, deutscher und niederländischer Nachname, Familienname häufigstes Vorkommen in Deutschland im Kreis Kleve in Nordrhein-Westfalen); auch mit Namenzusatz de<br><b>Beispiele:</b><br>1. Herr Aal heiratete Frau Müller im Mai. Nun heißt er Aal und sie Müller-Aal.<br>1. Heute sind wir bei Aals zu Besuch.<br>1. „Aal?! Vortreten!“<br>1. Der Aal ist's gewesen und die Aal hat's verpetzt.<br>1. Frau Aal ist ein Genie im Verkauf.<br>1. Herr Aal wollte uns kein Interview geben.<br>1. Die Aals kommen heute von Wangerooge.<br>1. Der Aal trägt nie die Schals, die die Aal ihm strickt.<br>1. Das kann ich dir aber sagen: „Wenn die Frau Aal kommt, geht der Herr Aal.“<br>1. Aal kommt und geht.<br>1. Aals kamen, sahen und siegten.<br>
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at com.hughes.android.dictionary.parser.DictFileParser.parseLine(DictFileParser.java:164)
at com.hughes.android.dictionary.parser.DictFileParser.parse(DictFileParser.java:102)
at com.hughes.android.dictionary.engine.DictionaryBuilder.main(DictionaryBuilder.java:153)
at com.hughes.android.dictionary.engine.Runner.main(Runner.java:29)
So I also tried adding lang2=DE
:
./run.sh --lang1=DE --lang2=DE --lang1Stoplist=data/inputs/stoplists/de.txt --dictOut=data/outputs/DE.quickdic --dictInfo="Wiktionary-based DE dictionary" --input1=data/inputs/MCH-DE-DE-test.txt --input1Name=dewikitionary --input1Charset=UTF8 --input1Format=tab_separated
This does produce a dictionary (that can even be converted to v006 format using ./genv6.sh
):
Running with arguments:
--lang1=DE
--lang2=DE
--lang1Stoplist=data/inputs/stoplists/de.txt
--dictOut=data/outputs/DE.quickdic
--dictInfo=Wiktionary-based DE dictionary
--input1=data/inputs/MCH-DE-DE-test.txt
--input1Name=dewikitionary
--input1Charset=UTF8
--input1Format=tab_separated
lang1=de
lang2=de
normalizerRules1=:: Lower; 'ae' > 'ä'; 'oe' > 'ö'; 'ue' > 'ü'; 'ß' > 'ss';
normalizerRules2=:: Lower; 'ae' > 'ä'; 'oe' > 'ö'; 'ue' > 'ü'; 'ß' > 'ss';
dictInfo=Wiktionary-based DE dictionary
dictOut=data/outputs/DE.quickdic
Processing: data/inputs/MCH-DE-DE-test.txt
Dec 11, 2021 1:09:04 AM com.hughes.android.dictionary.parser.DictFileParser parse
INFO: count=0, line=Aal <i>Substantiv, m</i><i>, Aal, Pl. Aa·le</i><br><i>IPA:</i> [aːl]<br><b>Bedeutungen:</b><br>1. Zoologie: schlangenförmiger Süßwasser- und Meerwasserfisch aus der Ordnung der Aalartigen (Anguilliformes)<br>2. umgangssprachlich, und in Zusammensetzungen: Fisch oder Wassertier von länglicher Gestalt<br>3. Seefahrt, von U-Boot-Fahrern verwendete Bezeichnung für: Torpedo<br>4. Soldatensprache: neu eingezogener, unvereidigter Soldat, Soldat ohne Dienstgrad<br>5. junge Kalmuspflanze<br><b>Synonyme:</b><br>3. Torpedo<br>4. Brenner, Rotarsch, Sprutz, Zecke<br><b>Beispiele:</b><br>1. Er hatte einen sehr großen Aal gefangen.<br>1. Auf der Silberplatte lagen geräucherter Aal und Graved Lachs.<br>2. Meinst du, Freund der Tiere, man könnte Aal dazu sagen?<br>3. „Als mir der Torpedo endlich klar gemeldet wurde, gingen wir auf Gefechtskurs und nach Erreichen der Schussposition gab ich den Befehl ‚Torpedo los!‘ Der Aal verließ vorbildlich das Rohr, wurde dabei illegal vom I. Wachoffizier fotografiert und tauchte elegant ins Wasser.“ <br>4. Da zeigten es aber die Altgedienten den Aalen.<br>5. Zu jungen Kalmuspflanzen sagte Ehrenfried immer Aal und Herta ärgerte das.<br><br><i>Substantiv, mf, Nachname</i><i>, Aal, Pl. Aals</i><br><i>IPA:</i> [aːl]<br><b>Bedeutungen:</b><br>1. unterdurchschnittlich häufig auftretender, deutscher und niederländischer Nachname, Familienname häufigstes Vorkommen in Deutschland im Kreis Kleve in Nordrhein-Westfalen); auch mit Namenzusatz de<br><b>Beispiele:</b><br>1. Herr Aal heiratete Frau Müller im Mai. Nun heißt er Aal und sie Müller-Aal.<br>1. Heute sind wir bei Aals zu Besuch.<br>1. „Aal?! Vortreten!“<br>1. Der Aal ist's gewesen und die Aal hat's verpetzt.<br>1. Frau Aal ist ein Genie im Verkauf.<br>1. Herr Aal wollte uns kein Interview geben.<br>1. Die Aals kommen heute von Wangerooge.<br>1. Der Aal trägt nie die Schals, die die Aal ihm strickt.<br>1. Das kann ich dir aber sagen: „Wenn die Frau Aal kommt, geht der Herr Aal.“<br>1. Aal kommt und geht.<br>1. Aals kamen, sahen und siegten.<br>
Done: data/inputs/MCH-DE-DE-test.txt
Most common tokens:
Aal@0(1)
Most common tokens:
1@0(1)
2@2(1)
3@4(1)
4@6(1)
5@8(1)
aːl@10(1)
Aa@12(1)
Aal@14(1)
Aalartigen@16(1)
Aalen@18(1)
Aals@20(1)
aber@22(1)
Als@24(1)
Altgedienten@26(1)
Anguilliformes@28(1)
ärgerte@30(1)
auch@32(1)
auf@34(1)
Auf@36(1)
auftretender@38(1)
aus@40(1)
b@42(1)
Bedeutungen@44(1)
Befehl@46(1)
bei@48(1)
Beispiele@50(1)
Besuch@52(1)
Bezeichnung@54(1)
Boot@56(1)
br@58(1)
Brenner@60(1)
Da@62(1)
dabei@64(1)
das@66(1)
Das@68(1)
dazu@70(1)
de@72(1)
den@74(1)
der@76(1)
Der@78(1)
deutscher@80(1)
Deutschland@82(1)
die@84(1)
Die@86(1)
Dienstgrad@88(1)
dir@90(1)
du@92(1)
Ehrenfried@94(1)
ein@96(1)
einen@98(1)
Writing dictionary to: data/outputs/DE.quickdic
sources start: 44
RAFList stats: 0x1 entries
pair start: 74
RAFList stats: 1x64 entries
uncompressed min 2085, max 2085, sum 2085, average 2085.0
compressed min 1120, max 1120, sum 1120, average 1120.0
text start: 1205
RAFList stats: 0x1 entries
html index start: 1212
RAFList stats: 0x64 entries
html data start: 1219
RAFList stats: 0x128 entries
indices start: 1227
RAFList stats: 1x32 entries
uncompressed min 14, max 14, sum 14, average 14.0
compressed min 20, max 20, sum 20, average 20.0
RAFList stats: 7x32 entries
uncompressed min 104, max 647, sum 3385, average 483.57144
compressed min 86, max 410, sum 2153, average 307.57144
RAFList stats: 0x1 entries
end: 5133
Only when I try to use this dictionary on my Tolino Vision 5, it makes the Tolino app crash. (I’m assuming there are differences between a) single-language, b) bilingual, and c) bilingual-reverse dictionaries?)
Is it even possible to create functioning single-language dictionaries (with HTML content, one line per entry) from TAB-separated text files?
Maybe I just made a simple mistake?