Wörter übersetzen (Englisch => Deutsch)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Hey,

ich suche eine Möglichkeit, um eine Liste von englischen Wörtern automatisiert mit Python übersetzen zu können.
Im Endeffekt wandern die Vokabeln dann in ein Karteikarten-Lern-Programm (Anki), das Programm muss also wirklich nur in einem Wörterbuch nachschlagen.

Habt ihr da Ideen? dict.leo.org scheint leider kein API zu bieten. Ich habe ein Tool gefunden, welches ein Command-Line-Interface unter Linux liefert, aber es soll auch unter Windows laufen. Und selbst die Seite zu parsen, tue ich mir nicht an, zumal sich das Layout ja zu jeder Zeit ändern kann.
Als digitales Wörterbuch besitze ich ansonsten nur eines im .mobi Format (Kindle-Ebook), glaube nicht, dass das eine schöne Sache wäre, mit Python effektiv zu nutzen :D
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Hallo,

wie soll das denn vernünftig gehen? Ohne manuelle Bearbeitung kann das doch gar nicht gehen. Würdest du z.B. „alien“ als Außerirdischen oder als Ausländer übersetzen?

Ein kleiner Tipp übrigens zu Anki: Immer komplette Sätze einfügen, das verbessert den Lernerfolg ungemein. Außerdem ist das manuelle Eintragen schon die halbe Miete beim Lernen.
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Man kann ja mehrere Bedeutungen mitliefern, wie das normalerweise bei Wörterbüchern auch gehandhabt wird.

PS: Die Vokabeln kommen aus dem Kindle direkt. Dort werden nachgeschlagene Wörter, sowie die Textstelle (Kontext) in einer SQLite Datenbank gespeichert. Kein Problem, das in Anki zu importieren, allerdings fehlt die Übersetzung, da der Kindle das Wort beim Draufdrücken on-the-fly übersetzt.
Das "Lern"-Tool dort ist leider etwas eingeschränkt, daher hätte ich das Ganze gerne auf meinem PC (bzw. Smartphone) :)
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Naja, dein Gehirn ist aber leider kein Wörterbuch, deswegen klappt das mit mehreren Bedeutungen meistens nicht so gut :D

Das Problem ist doch auch, dass Leo zu einem Wort gleich 20 mögliche Übersetzungen gibt, die sich alle ähneln. Willst du die alle in die Übersetzung hineinschreiben? Wenn du sowieso schon die Textstelle in der SQLite-Datenbank hast, ist die meiste Arbeit doch schon erledigt. Das deutsche Übersetzen geht doch schnell (und wie gesagt, das eigene Übersetzen ist ja schon ein Teil des Lernprozesses).

Ich mache das z.B. immer so, dass ich den ganzen Satz eintrage und das zu lernende Wort/den Ausdruck dann fett markiere, z.B. so:

„Hello, my name is Hellstorm“ → „Hallo, mein Name ist Hellstorm.“

So muss ich nicht 100%ig den gesamten Satz korrekt wiedergeben, aber ich weiß, welches Wort ich eigentlich lernen wollte.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Um mal zum Anfangsproblem zurueckzukommen: Wie kommt man an Uebersetzungen?
Da gibt es die Google Translation API, die Bing Translation API und bestimmt noch viele andere.

Wenn man das ganze Offline betreiben moechte, bietet dict.cc seine Uebersetzungen als Dump an: http://www1.dict.cc/translation_file_request.php
Das ganze kommt mit einer Reihe von Einschraenkungen, aber das gilt natuerlich auch fuer die vorher genannten APIs.
Ich benutze die dict.cc Daten zum Beispiel hier: https://github.com/cofi/PDictCC
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

@Hellstorm: Du magst sicherlich recht in einigen Punkten haben, ich würde es aber gerne so, wie ich es geschildert habe, machen.
Ich lerne auch nicht für einen Test oder Ähnliches, es geht einfach darum, dass ich mir ab und an ohne größeren Aufwand die Vokabeln angucken kann, die ich mir beim Lesen übersetzen lassen habe.

@cofi: Danke für die Links. Ich werde es erst mal mit dict.cc probieren :)
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Ich hatte dafür das Wörterbuch von ding genutzt. Irgendwo hier im Forum müsste auch Source dafür rumliegen.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Ich hab jetzt erst mal das genutzt, was cofi vorgeschlagen hat. Klappt eigentlich ganz gut, obwohl ich es leider nicht unter Windows zum laufen kriege, weil dort "GDBM" fehlt.
Es findet zwar nicht alle Übersetzungen, aber das war mir eigentlich schon klar. Schafft das Wörterbuch auf dem Kindle auch nicht, obwohl ich da ein relativ umfangreiches drauf hab :)


Für mich ist diese Lösung also okay und mein Anliegen mehr oder weniger erledigt. Auch wenn es schade ist, dass ich dafür mein Linux starten muss :)
Danke für eure Hilfe, besonders an cofi
Antworten