Wörterbuch

Sliver

Erfahrenes Mitglied
Hoi,

kann mir jemand sagen wie man ein Wörterbuch macht?
Also eher einen Übersetzer. Wenn man ein Wort oder einen Satz eingibt er den nach dem Button klick überzeugt. Und wenn man manchmal bestimmte Redewendungen eingibt das er diese auch Übersetzt. Z.B. "Bla Bla Bla DAN DAN DAN Bla Bla Bla" das DAN DAN DAN ist eine Redewendungen zum beispiel und nicht das er jedes Wort einzeln übersetzt sondern es als ein "Wort" erkennt.

Danke schon mal im vorraus.


Sers
Sliver
 
beispielsweise mit einer datenbank. bau dir eine tabelle zusammen, bei der z.b. jedes deutsche wort seinem englischen äquivalent gegenüber steht. aus der tabelle holst du dir dann einfach mit
Code:
SELECT * FROM woerterbuch WHERE wort LIKE '%wort%';
alle datensätze, die zu dem eingegebenen wort passen.
bei mehreren wörtern musst du eben zusätzlich noch den eingegebenen string an trennzeichen (z.b. leerzeichen, bindestriche, tabstops, etc.) aufteilt und jedes wort holt. für zusammenhängende redewendungen kannst du dann ja (ähnlich wie google) mit anführungszeichen arbeiten.

das grösste problem dabei wird wohl nur die datenbank, weil diese für ein wörterbuch ziemlich gross werden dürfte.
 
Sorry versteh das nicht ganz.

Also ich soll eine Tabelle bilden in dieser Form:

Wort Wort
Wort Wort
Wort Wort

usw.
oder?
Oder so:
"Wort" "Wort"
"Wort" "Wort"

usw. ???

Wie mache ich so ein "Übersetzungs"-Fenster wo ich den Text eingeben kann den ich übersetzen will und da neben wo das übersetzte steht?
Und ich hab gehört das die Datenbank ne extra Datei ist. Wie verlinke ich die ganzen dann?
 
in der tabelle stellst du einfach die jeweiligen wörter gegenüber. bestenfalls liest du dazu erstmal das datenbank-tutorial von quentin.

die datenbank selber kannst du mit access machen, was wahrscheinlich am nächsten liegt, da du weder einen mssql-server noch oracle haben wirst. ;)
von deinem programm baust du dann eine verbindung zur datenbank auf und holst dir mit einer bedingten abfrage alle zeilen der tabelle die du brauchst.
 
Es gibt allerdings eigene Sprachen für derartige Dinge, und die bei weitem besser dafür geeignet als irgendeine simple Datenbanklösung...
 
Es gibt allerdings eigene Sprachen für derartige Dinge, und die bei weitem besser dafür geeignet als irgendeine simple Datenbanklösung...

stimmt, aber das hier ist ein forum für visual basic und nicht für prolog oder ähnliches. und da liegt die zuordnung über eine datenbank am nächsten. ;)
 
einfacher als den mit der datenbank? du könntest auch mit textdateien arbeiten, aber bei vielen wörtern wird das unübersichtlich und schwer zu handhaben.
 
Ich habe ja nicht bestritten, dass dies hier wohl mit den gegebenen Mitteln die beste Lösung ist, jedoch würde eine Aufwand/Nutzen Betrachtung wohl eher dazu führen, dass man eine andere Lösung bevorzugt...

Ich weiß jetzt leider die URL nicht, aber es gibt DBs, die man runterladen kann, und die eine Art Duden enthalten, um zB Rechtschreibprüfungen zu machen. Das wäre schon mal ein erster Schritt zum Wörterbuch...

Desweiteren würde ich mir sehr lange und gut überlegen, wie du die DB aufbaust, denn das gibt insgesamt Monster-Table-Scans, denn wenn ein Wort in einem anderen enthalten ist, nutzt auch ein guter pk nichts...
 
ERD/Ansatz für Wörterbuch gesucht

Beim Suchen bin ich auf diesen Thread gestoßen, der mein Problem wohl am besten beschreibt: Ich möchte eine Art Vokabeltrainer/Wörterbuch erstellen, der folgende Operationen erlaubt:

* Neuen Eintrag einfügen
* Wörter raten
* Wort übersetzen

Die Funktionalität ist also so in etwa wie bei http://www.leo.org. Das Programm soll für n Sprachen ausgelegt sein. Mein größtes Problem besteht jetzt darin, die Wörter sinnvoll in einer Datenbank zu speichern. Das Problem ist ja, dass zu einem bestimmten Wort x es eine ganze Menge Y von korrespondierenden Wörtern geben kann, von denen wiederum weitere Zweige weggehen. Ich habe noch keine Ahnung, wie ich das am besten normalformengerecht realisieren soll, weshalb ich mir gedacht habe, vielleicht hier auf ein paar Tipps für mein ERD zu stoßen.

Es passt jetzt zwar nicht unbedingt ins VB-Forum ;), allerdings hat meine Aufgabenstellung sehr viel mit dem obigen Thread zu tun. Über die Programmierung mache ich mir vorerst noch keine Gedanken, wobei ich dieses Projekt wohl in C# realisieren werde, da ich damit schon länger nichts mehr gemacht habe. Wie gesagt: Ich bin für jeden Tipp und Hinweis dankbar :)!

MfG, Thomas D.

BTW: Habe mir auch kurz etwas zum Thema 'Prolog' auf Wikipedia angeschaut. Mir wäre es doch lieber, wenn die Lösung nicht ultimativ professionell ist und mich die Entwicklung nicht 1/2 Jahr kosten würde ;) ...

Mein bisheriger Lösungsansatz:

Sprachen (idx, bez)
1 Englisch
2 Deutsch
3 Italienisch
4 Slowenisch

Wort (idx, bez, sprachenid)
1 evil 1
2 mean 1
3 bad 1
4 mad 1
5 böse 2
6 gemein 2
7 fieß 2
8 malo 3

Englisch | Italienisch | Slowenisch | Deutsch
{1, 2, 3, 4} | {8} | - | {5, 6, 7}

Dies ist halt noch keine zufriedenstellende Lösung für eine Datenbank. Bzgl. Gramatik & Co. nehme ich jetzt erst einmal Abstand. Vielleicht beschäftige ich mich in der Folge mehr damit. Über ein g'scheides ERD als Anfang wäre ich schon immens glücklich :D ...
 
Zurück