Mein Übersetzer
Dieser Beitrag wird jetzt etwas technisch, aber ich bin schließlich Informatikstudent und die machen nunmal manchmal komische Sachen, wie ich letzten Freitag.

Nachdem ich also ziemlich viel arabisch nachholen muss und in den Büchern andauernd auf Wörter stoße, die ich entweder nicht kenne oder nicht aussprechen kann und damit auch nicht andauernd meinen Roommate nerven möchte, brauche ich also ein Wörterbuch, am liebsten ein elektronisches. Natürlich gibts nichts für Linux, aber die Software für Windows ist auch nicht besser, denn irgendwie verkackt das Ding die Zeichensätze und man kanns praktisch nicht lesen.
Hagen denkt sich nun, das Ding kommt doch mit einer Datenbank, also muss man doch irgendwie die Daten da rausholen können. Das ging sogar relativ fix, zumindest an die englischen Wörter komm ich. Nur die arabische Übersetzung kann ich nicht lesen. Anfangs vermute ich, die benutzen einfach nen total verqueren Zeichensatz, aber etwas später stellt sich raus: die wollen nicht, dass man so einfach an die Wörterbuchdaten kommt und verschlüsseln die Übersetzung.
Verschlüsselung das mag ich ja. Damit war der Vormittag zwar gelaufen, aber ich hatte ja eh frei. Also meine Reverse-Engineering-Tools ausgepackt, hat ne Weile gedauert bis ich im Programm die richtige Stelle gefunden hab, aber dann gings ab.
Hier also wie der Algorithmus funktioniert:
- Jeder Wörterbucheintrag besteht aus ID, Original und Übersetzung. Zum Entschlüsseln braucht man nun einen Schlüssel der sich aus der ID berechnet: Schlüssel = round(2.10897 * ID + 36603-25 + ID/3.68)
- Mit dem Schlüssel wird dann ein Pseudo-Blockchiffre (auf je 2 Bytes) initialisiert und mit einem etwas komplizierterem Algorightmus nun Byte für Byte der Originaltext hergestellt

Also schnell ein Programm geschrieben, das mir die Datenbank entschlüsselt (und von windows-1256 nach UTF-8 konvertiert) und auf gings mein eigenes Wörterbuchprogramm zu schreiben. Musste natürlich mit GUI sein, weil Konsole bei arabisch einfach mal scheiße aussieht. Der Aufwand für die GUI hat sich gelohnt, mein Wörterbuch ist toll und hilfreich. Das beste ist: Wenn ich ein Wort eingebe, seh ich nicht nur die Übersetzung sondern auch das Wort mit Vokalzeichen, damit ich weiß wie es ausgesprochen wird.
Update: Programm und Quelltext sind nun online. Zum Ausführen wird pygtk benötigt. (PyGTK für Windows) Einfach dict.py ausführen und das Wörterbuch startet.
Am 2. September 2007 um 15:24 Uhr
Cool gemacht, bist halt ein schlaues Kerlchen!
Am 2. September 2007 um 16:19 Uhr
Nice One!
Allerdings kannste froh sein, dass du grad nicht in Deutschland bist. Du und deine pöhsen Hackertools.
Am 2. September 2007 um 20:28 Uhr
Wir haben nur Bahnhof verstanden, aber bewundern die Ergebnisse trotzdem.
“Scheiße” wird aber groß geschrieben, weil man sie anfassen kann.
Am 2. September 2007 um 20:45 Uhr
Aber in dem Fall handelt es sich um ein Adjektiv
Ich schreib das klein.
Am 3. September 2007 um 00:51 Uhr
Freak!
(Für alle die mich nicht kennen: Das ist Anerkennung!)
Am 3. September 2007 um 09:50 Uhr
Vielleicht solltest Du ein paar Schnäpse trinken, bevor Du arabisch sprichst,
da kannst Du besser “lallen”.
Am 3. September 2007 um 13:26 Uhr
Das muss ich ausprobieren. Aber ihr wisst ja, kein Alkohol on campus.
Ist aber trotzdem immer sehr lustig hier
Am 3. September 2007 um 19:32 Uhr
Nice one there –
aber wir dürfen wenigstens on-campus trinken – zumindestens schenkt die Campus Bar Bier und andere alkoholika aus – ich glaub wir dürfen den auch da trinken
Am 8. September 2007 um 13:44 Uhr
nicht mal verschlüsseltes arabisch ist vor dir sicher.
Am 12. September 2007 um 15:07 Uhr
KOMM SCHNELL WIEDER DER BUGS MACHT NUR SCHEIxE :-ä)
Am 12. September 2007 um 15:09 Uhr
viel spasssss und einen gesunden Code