ralpeng - Wörterbuchsoftware - Version 0.3a

Started by xMine, August 04, 2010, 02:00:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

xMine

Kaltxì ma oeyä eylan,
Ich arbeitete nun schon länger an einer Wörterbuchsoftware. Warum eine neue?
Einfach weil mir die bisherigen Lösungen irgendwie nie gefallen konnten. Mal war das Programm
zu einfach gehalten, sodass man aber auch nur das machen konnte, wie es sich der Coder gedacht
hat. Mal war es einfach nicht portabel, das heißt, es gab keine Portierung auf Linux.
Dann gibts noch online Dienste, von denen manche echt gut sind. Aber ich bin schneller
mit einem Programm, welches mir genau das sagt, was ich wissen will!

Nun, von daher habe ich dieses Programm gebaut!
ralpeng 0.3a: Öffentliche Beta
- Version 0.4 bald verfügbar -

Kurze Erklärung: Sprachdatei = Eine Programm übersetzung, Sprach Datenbank oder nur Datenbank = Eine Datenbank, die die Na'vi → Sprache Datensätze enthält

Hier mal ne Auflistung von den bisherigen Features, weitere folgen bald
Quote
- Multilingual: Übersetzungen für Deutsch und English sind bereits dabei, leicht erweiterbar
- Mehrere Datenbanken mit verschiedene Sprachen
- Warnung, wenn eine Datenbank älter als X Tage ist
- Einfaches Importieren/Updaten von Datenbanken
- Performance: Auch mit über 1900 Treffer in der Tabelle hat die Software keine Probleme
- Suchrichtungs Auswahl (Na'vi → Sprache, Na'vi ← Sprache, Na'vi ←→ Sprache)
- Unstrikte Suche: Ersetzt automatisch ì, ä, tx, px und kx in der Eingabe
- Autovervollständigung in der Suche (Inklusive Vorschläge als Popup)
- Natürlich lässt sich die Ergebniss Tabelle nach Spalten sortieren
- In der Tabelle kann man direkt in der Na'vi Spalte suchen (Einfach auf der Tastatur eingeben)
- Anzeige der IPA und der Infix-Positionen (Bitte Hinweis im Über... Dialog beachten)
- Anpassbar wie keine andere Software über eine einfache ini Datei
- Als kleines Extra findet man praktische Links unter ,,Hilfe"
- Ralpeng kann in den Systemtray minimiert werden
- Dazu einen Schalter namens "-hide", der das Programm versteckt startet. zB um ralpeng beim Systemstart mit zu laden
- Es werden nun auch unter Windows die GTK Themes eingesetzt. Auf Wunsch ist dieses auch leicht austauschbar
- Zahlenübersetzung in beide Richtungen. Automatische Erkennung von Ordinalzahlen
- Aussprachen hilfen dank Talis' Audiodateien (Danke!)
- Intelligente Suche (für Infixe)
- Konjugationshilfe

Geplante Features
- Direktes übersetzen
- Vokabeltrainer - Fortschritt: etwa 75%
- Updatefeature für das Programm - Kommt definitiv in 0.4
- Autoupdatefeature für veraltete Datenbanken - Gleiches gilt hier
- Fenster für Einstellungen - Implementiert und voll funktionstüchtig

Changelog
Update vom 5. August 2010: Performance Problem gelöst, wodurch sich das Programm scheinbar aufhing
Update vom 7. August 2010: Es können nun eigene Vokabeln gespeichert werden (s.u.)
Update vom 7. August 2010: Infix Positionen der Verben mit -tìng- korrigiert Version 0.2
Update vom 27. August 2010: Update auf Version 0.3

Vorschläge, Wünsche, Lob und Kritik sind, wenn sie denn konstruktiv sind, ausdrücklich erwünscht!
Dies gilt besonders auch für den Vokabeltrainer, wenn denn bedarf besteht: Was wünscht ihr euch?
Was stört euch an anderen Programmen? Sonstige Ideen? Wie schon gesagt: Ideen sind gerne gesehen
und werden, wenn es mir möglich ist, auch umgesetzt!
Dieses Programm funktioniert aktuell unter Linux und Windows. Für mac würde ich es gerne
bauen, kann ich aber wegen fehlender Compiler dieses nicht tun... (Wenn wer was weiß, immer her damit :) )

Download Verzeichnis bei mediafire:
http://www.mediafire.com/ralpeng

Das Paket enthält beide Platformen.
Noch mal einen Dank an meine Tester, raster und luke sre', die das Programm ausgiebig getestet haben!

Da der erste Start vielleicht nicht allzu offensichtlich ist, schreibe ich einfach mal das vorgehen:
1. Datei herunterladen und zB mit WinRAR entpacken.
2. In den Ordner "ralpeng" gehen. Windows Nutzer klicken einfach auf ralpeng.exe. Linux Nutzer
navigieren in einer Konsole zu diesem Ordner und starten ./ralpeng_run – Sonst findet ralpeng die Einstellungen nicht ;)
3. Solltet ihr mit einer Fehlermeldung begrüßt werden, so klickt einfach auf "OK" und sie nervt euch nicht weiter.
4. Klickt auf Sprachen → Import. Im Dialog tippt ihr ein, welche Sprach Datenbank ihr haben wollt. In den meisten
Fällen einfach "de" oder "en". Das untere Feld lasst ihr leer und klickt auf "OK".
5. Das Programm hängt einen Moment lang – und schon ist die Datenbank importiert.
6. Klickt auf Sprachen → Deutsch/Englisch/... → Auswählen.
7. Viel Spaß!

Achja, er merkt sich beim Beenden, welche Datenbank und Suchrichtung aktiv waren. Solltet ihr jedoch die
settings.ini verändern, werden die Einstellungen bevorzugt aus dieser geladen!

Noch eine kurze Information: Momentan verwendet die Software die von Tuiq bereitgestellten CSV Dateien.
SQL werde ich vermutlich nicht mehr einbauen, da laut seinen Angaben keine Nachfrage nach diesen bestand
und er daher das Erstellen dieser eingestellt hat – Schade.
Ich denke aber darüber nach, die XML Dateien von DictNavi.com zu unterstützen. Die sind sehr aktuell und vollständig,
aber leider nur auf Deutsch.
Sollte aber jemand eine aktuellere CSV im Angebot haben, vorzugsweise im richtigen Format, so kann er die URL
(ob lokal oder aus dem Internet ist egal; Bei Internetadressen das http:// davor nicht vergessen!) einfach mit beim
Importierungs Dialog mit angeben.

Update vom 7. August 2010
Ab heute kann man eigene Datensätze einbringen. Diese können komfortabel durch einen kleinen
Manager im Programm verwaltet werden (siehe Werkzeuge → Benutzer Datenbank). Diese werden
extern gespeichert (unter .ralpeng/userdb.csv), damit man diese be Bedarf bequem weitergeben kann.
Diese Datensätze gehören keiner Datenbank, das heißt, dass sie bei jeder Sprache als Treffer
angezeigt werden können.

Update vom 27. August 2010
Ralpeng wartet ab heute, neben Korrekturen hier und da, mit 2 neuen, praktischen Funktionen auf:
Wenn ihr eine Zahl übersetzen wollt, so gebt sie einfach in die Suche ein – Ob auf Na'vi oder in
menschlicher Notation ist egal. Wollt ihr aus einer normalen Zahl eine Ordinalzahl bilden lassen, so
hängt einen "." ans Ende an. Weiter kann man nun dank Talis viele Wörter die Aussprache hören.
Einfach einen Doppelklick auf den Eintrag machen. Sollte es keine Datei dazu geben, so wird
in der Standard Einstellung ein Hinweis in der Statusleiste eingeblendet.

Update vom 6. September 2010
Ein mehr oder weniger großes Update für Ralpeng ist verfügbar. So benutzt ralpeng
nun statt der CSV Dateien die TSV Version von EanaEltus Datenbank. Für euch gibt
es keine Änderung, ein einfacher Klick auf "Update" bei den Datenbanken sollte genügen.
Weiter habe ich eine Art intelligente Suche eingebaut, die automatisch Infixe aus der Eingabe
entfernt.
Ein Beispiel: tamaron => taron
Dann gibt es nun eine Konjugationshilfe im Programm. Ich weise lieber noch einmal darauf hin:
Das Ergebnis muss nicht stimmen, sollte es aber. Fehlerberichte sind aber dennoch gern
gesehn ;) . So, wie benutzt man nun die Hilfe? Ganz einfach: Gebt einfach ein Na'vi Wort
gefolgt von einem "Kommando Suffix" in die Suche ein, ein Beispiel: taron-PAST => tamaron.
Auch mehrere Kommandos können ausgeführt werden: taron-FUT-LAUD => tayareion.
Ich habe dazu noch so gemacht, dass ralpeng automatisch unmögliche Änderungen nicht
zulässt: taron-PL => taron, nicht "aysaron" oder so etwas ;)
Wie einige bereits bemerkt haben, ist die Syntax recht einfach: Na'vi Wort-Suffix1-Suffix2-...
Eine Liste aller Suffixe (Als Basis diente mir Taronyus Dict inkl. der Übersetzung):
Hinweis: Ralpeng achtet auf die Regeln. Das heißt, es lenitisiert bei Bedarf, auch achtet es
auf die verschiedenen "Versionen" der Suffixe. Ja, auch die zusammen gesetzten Formen
der Infixe werden beachtet (Beispiel: taron-IMPF-FUT => taryaron).

So, und nun geht auf Ostereier suche (Tipp) ;)

Kìyevame,
xMine

Plumps

Wie schon gesagt: hört sich toll an! Werd es mal auf dem PC testen. Sobald es für den Mac verfügbar ist, fänd' ich natürlich noch besser :)
Wie sieht es denn mit der Bearbeitung aus? Könnte ich eigenständig Vokabeln verändern oder hinzufügen?

Eywa ngahu

xMine

Quote from: Plumps on August 05, 2010, 03:20:20 AM

Wie sieht es denn mit der Bearbeitung aus? Könnte ich eigenständig Vokabeln verändern oder hinzufügen?


Die Idee hatte raster gestern in den Raum geworfen. Anfangs tat ich als sinnlos ab, doch nachdem ich
nach einem Wort für "Bett" im Activist Survival Guide nachschlagen musste, sehe auch ich diese Funktion
als sehr nützlich an. Die Frage ist nun, wie ich das genau mache. Ich habe aktuell die Idee sowas als
externe Datei zu machen. Dies hätte den Vorteil, dass man seine Datenbanken einfach Aktualisieren kann,
ohne seine Änderungen zu verlieren. Joar ... und dann noch die Frage, wie ich das möglichst Effizient mache,
denn die Performance ist ja eines der Dinge, von denen das Programm quasie lebt ;)

Und für Mac suche ich gerade einen funktionierenden CrossCompiler. Ich tu mein Bestes, aber versprechen
kann ich leider nichts.

Kìyevame

raster

#3
Ich finde bisher ist das Programm ganz gut geworden, ich freue mich auch schon auf die ein oder andere funktion, von der ich weis, dass sie in Entwicklung ist. Mach nur weiter so, das Ergebniss kann sich sehen lassen

Ich bin ja mal gespannt, der das haupt Osterei am schnellsten findet.

mfg raster
ayoeng lu aysmuktu mì sirea.

Bisher 3 Kekse bekommen.

Tene te Nikro'

#4
kaltxì ulte irayo ma xMine,

Programm gefällt mir gut, klein, gute Suchfunktion, die auch auswirft, wenn man mal leicht daneben liegt, wäre das Richtige für unterwegs! :D

Angenehm ist auch, dass bei Mehrfachbedeutungen alle einzeln aufgeführt sind.

Aber ;D der Wortschatz scheint geringer als im dict-navi. Die Integration der jMemorize CSV aus dict-navi ist mir nicht geglückt!?

Irritiert hat mich aber v. a. dies:     tìng mikyun [Infixe tìng m<0><1>iky<2>un] und tìng nari [Infixe tìng n<0><1>ar<2>i] ???

Woher stammt der vorliegende Na'vi-Basis-Datensatz?
'Rrta ke lu layon sì teyr, slä txo ayoeng poeru sngä'i tsive'a nìngul, tsakrr fra'u slu nìktsran

Plumps

Whupps – das ist aber wirklich falsch ;) Infixe gehen ins Verb (hier: tìng)

Das Programm hat bei mir mit Windows XP übrigens nicht geklappt... Weiß nicht, was ich flasch gemacht habe... Geht zwar auf, aber wenn ich eine Sprache auswählen soll und als Kürzel de eingebe, wie es in der Anleitung steht, passiert gar nichts ;)

raster

du musst das programm entpacken, starten, unter sprachen/datenbank de eingeben und bestätigen. Danach wiederum den menüpunkt sprachen auswählen und unter dem neuen eintrag deutsch auf auswählen klicken. Fertig
ayoeng lu aysmuktu mì sirea.

Bisher 3 Kekse bekommen.

xMine

#7
Also, der Datensatz ist der von EanaEltu, der von Tuiq immer mal wieder im CSV Dateiformat veröffentlicht wird.
Zumindest ist das die Standard Einstellung. Und ja, leider ist diese nicht immer top Aktuell, ich habe aber trotzdem
mich dafür entschieden, da es einfach in mehreren Sprachen rauskommt – Immerhin ist das eines der Kernfeatures.

Dann zu der jMemorize Datenbank: Diese hat gleich mehrere Probleme...
1. Falsches Format, da bricht ralpeng aus Sicherheitsgründen ab.
2. Falsche Codierung: Wie jeder weiß, benutzt Na'vi auch Sonderzeichen wie ì und ä. Daher benutzt
ralpeng naheliegenderweise UTF8 als Kodierung, was bei der jM DB nicht der Fall ist – Bei Sonderzeichen
hättest du dann schöne Fragezeichen ...
Da ich aber grade ein Fenster weiter einen Ausschnitt der jM Datenbank sehe, würde ich in Betracht ziehen
ein kleines Konvertierungstool zu schreiben – Zumindest ein Work-a-round.

Dann zu den falschen Infixen: Das tut mir leid, nicht immer stimmen diese. Der Grund ist einfach:
Die Positionen der Infixe werden berechnet auf Basis der Grammatik. Diese Regel stimmt meistens – aber nicht immer :(
(Warum berechnet? In der CSV stehen diese nicht, genauso wenig wie die IPA)
Für die Verben aus der Gruppe "tìng ..." werde ich aber gleich eine Ausnahme in dem Code schreiben.
Schlimmer sieht es da mit Verben wie "yomtìng" aus, denn diese zusammengesetzten Verben passen auf gar kein
Muster. Dieses werde ich wohl oder übel mit einer Ausnahmeliste zu Leibe rücken müssen.
Das gleiche gilt übrigens für die IPA, aber dort sind mir keine Fehlerhaften bekannt.

@Plumps: Merkwürdig. Also, du haßt "de" eingegeben und die URL freigelassen? Nach dem klick auf dem OK Button
kann es je nach Maschine einen Moment dauern. Unter 10 Sekunden sind normal, 30 Sekunden extrem komisch und
alles über einer Minute mehr als Seltsam.

Nun, ich mache mich dann mal an den kleinen Fix und schiebe diesen dann nach.
Langfristig wäre natürlich die Einzige Lösung einer vernünftigen Quelle.
DictNavi ist aktuell und bietet viele verschiedene Ausgabeformate für eine Datenbank,
ich werde mich da nochmal schlau machen. Diese Quelle hat aber einen riesen Haken:
Sie ist nur auf Deutsch. Was einige nicht stört ist für mich extrem Schade, denn ich suche gerne
in beiden Datenbanken nach einem Wort – Und da bin ich bestimmt nicht der einzigste.

In Kurz: Infix wird geupdatet mit allem nötigen und auf kurz oder lang werde ich eine DictNavi.com
Funktion einbauen.

Nachtrag:
Nochmal irayo ma Tene, das hatte ich ganz übersehen. Ist nun ausgebessert – hab dann im Vorbeigehen
auch gleich mal die ...tìng Verben ausgebessert, da passt nun alles! Sollten weiterhin Fehler auftreten,
dann nicht zögern, melden! Damit helft ihr nicht nur mir, sondern viel mehr allen, die das Programm zum
lernen benutzen und dann wohlmöglich falsch lernen – Sollte das schon passiert sein, tut mir das sehr leid!

Kìyevame

raster

Wieder eine neue version mit vielen neuen und nützlichen funktionen

irayo ma xMine
ayoeng lu aysmuktu mì sirea.

Bisher 3 Kekse bekommen.

Tuiq

ì und ä sind keinesfalls etwas, was UTF-8 erfordern würde. ì wie ä sind in latin-1 bereits definiert. Ich verstehe daher nicht unbedingt, warum es sich jetzt unbedingt anbietet, dass man UTF-8 verwendet. EE benutzt für alle Dateien UTF-8 da ansonsten einige Sprachen in der Tat rausfallen würden. Besonders populär war das mit der russischen Version, woraufhin auch alles ge-utf8-t wurde.

Dass die CSV Datei "ab und zu" mal aktualisiert wurde stimmt übrigens nicht - die CSV Dateien flogen vor einiger Wochen schon raus. Die restlichen Dateien werden seither täglich um ~3:15 geupdated (früher bei jeder neuen PDF-Version irgendeiner Sprache). jMemorize benutzt übrigens das TSV Format, ein leicht modifiziertes. Aus dem ganz einfachen Grund, dass ich weder Taronyu noch den Übersetzern verbieten werde, entweder ", ', ; oder ',' zu benutzen. Und ich werde sicherlich auch keine Ersetzung machen oder ähnliches. CSV ist, für diesen Fall, einfach nur ungeeignet.

Wenn du Infixpositionen und IPA willst, benutz die SQL Datei (lizenziert unter CC-by-sa-nc). EE setzt die Infixpositionen mithilfe der IPA zusammen.

Übrigens: EanaEltu ist OpenSource. Ebenfalls OpenSource sind die Ausgabeformate. Die neue SQL Ausgabe ist zum Beispiel von muzer gecodet, ebenso die RSS Feeds. Wenn dir die Datenausgabe nicht passt bau dir ein eigenes Format. Solange es halbwegs sauber gecodet ist und nicht proprietär ist nehme ich es in die nächtliche Generierungsaktion auf.
Eana Eltu: PDF/TSV/jMemorize

xMine

Warum ich UTF8 benutze oder bevorzuge kann ich einfach beantworten:
Einmal ist es in der Linux Konsole vertreten und andererseits benutzt auch GTK UTF-8.
Dafür wird wohl endlich mal eine konvertierungs dafür Funktion einzug halten.

Aber dass die CSV Dateien gar nicht mehr geupdatet wurden wusste ich nicht, da nach einem
Update neue Wörter in der Datenbank zu finden waren... zumindest so dachte ich das...

Zur nächsten Version ist also noch einiges zu tun.
Zuerst lass ich die Funktion zum konjugieren von Wörtern von raster abnehmen,
die infix-findungs-routine in der Eingabe ist in genau diesem Moment in der mache (Sollte nicht
allzu schwer sein), dann kommen parser für TSV und vermtl. RSS. Weiterhin soll so langsam
mal auch ein Vokabeltrainer seinen Weg ins Programm finden und um die Benutzerfreundlichkeit
zu erhöhen denke ich darüber nach, die gute alte settings.ini in einen Einstellungs Dialog zu verwandeln.
Weiter denke ich darüber nach auch die IPA in der Datenbank zu speichern. Da dann vermutlich eine
durchschnittliche Datenbank dann über 1MB groß sein wird, werde ich wohl mal mit Kompressions Algorithmen
experimentieren – Schaden kann es ja nicht ;)

Vorschläge?

Kìyevame

Tuiq

Für die Kompression zlib, für das Datensammeln SQL statt TSV, SuperMemo2 für den Vokabeltrainer. RSS parsen würde ich nicht empfehlen - ist ja schliesslich nicht zum Parsen gedacht...

Das aktuelle SQL File ist ungefähr 1.2 MB gross, kann mit zlib auf hübsche 137 KB runtergebracht werden. Das ist natürlich der nicht-in-einer-Datenbank-Form, aber bei soviel bloat wie es darin hat (unperformierte INSERTs zB) kann es nicht viel grösser werden.
Eana Eltu: PDF/TSV/jMemorize

xMine

zlib hätte dazu den vorteil, dass ich unter Windows bereits die dll dabei habe dank GTK (bzw.
libpng), sodass die rar nicht noch mehr aufgeblasen wird. Und wenn zlib dann noch die
vielen nullen in den Daten strukturen weg komprimiert, wäre es bereits ein großer Erfolg.
Dass die SQL Datei dazu noch für jeden Eintrag einen INSERT durchführt kommt mir dazu noch
gelegen, so kann ich die Daten immerhin einfacher parsen.
Und das es für einen Vokabeltrainer algorithmen gibt ist interessant (nein, ich habe mir dazu
noch nie gedanken gemacht, bisher hat ein random funktioniert...), werd ich mir aber spätestens
am WE mal genauer ansehen.

Kìyevame