Translate.google + Grafik

  • Hallo Forum

    Wieder komme ich mit einem Problem zu euch.

    Um es kurz zu machen, ich versuche ein Tool zu schreiben welches mit_ScreenCapture_Capture einen Bildausschnitt erstellt. Dieser Ausschnitt (Foto) beinhaltet englische Textzeichen.

    Diesen Ausschnitt möchte ich als Grafik an Translate.google zu senden und die Rückgabe an derselben Stelle wieder einfügen.

    Anmerkung: bei einer Grafikdatei wird die Textformatierung nicht verändert nur übersetzt.

    Soweit würde das auch klappen, nur das Übergeben einer jpg Datei an Translate.google habe ich keine Ahnung wie das funktionieren könnte.

    Info: Ich arbeite mit Firefox und habe „To Google Translate“ als Addon installiert.

    Habe einiges im Forum gefunden aber da blicke ich nicht durch.

    Hat jemand eine Idee wie das machbar ist, händisch kappt es ja auch.

    Danke für eure hilfe

    Silvermoon

  • Hi,

    du hast folgende Möglichkeiten:

    Ich würde GCLOUD verwenden, sollte per AutoIt am einfachsten sein. Ist dann ein Einzeiler....

    Nerds könnten direkt die REST-API verwenden und die Anfragen per CURL/Powershell versenden, ist aber auswendiger. Bilddaten (nicht Dateien!) in Base64 umwandeln und wieder Zurücktransformieren und alles fein in JSON verpacken braucht aber ehrlich gesagt kein Mensch....

    Der Vorteil wäre, dass keine lokale Bilddatei angelegt werden muss.

    Ich nutze selbst einige Google-API´s, das Konto ist, wenn nicht gerade exzessiv viele Anfragen gestellt werden, kostenlos.

    Beides für einen Anfänger nicht trivial!

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    5 Mal editiert, zuletzt von Andy (22. Mai 2023 um 09:23)

  • Hallo Andi

    Zu erst danke ich für die umfassende Information von dir.

    Die Abfragen sind doch sehr exzessiv da es bei Chat und Anweisungen ständig benutzt werden.

    (ca. 10 Anfragen per Min über mehrere Stunden)

    Ich dachte es reicht eine Einsprungadresse für die einzelnen Optionen, so wie es beim Textübersetzungen zusammen gesetzt ist.

    Zb;

    "https://translate.google.com/?sl=de&tl=en&t…EN&op=translate"

    Scheinbar ist es mit Grafiken nicht so einfach, da der Pfad und Dateiname mit angegeben werden muss , welches nicht ersichtlich ist, wie das Handling weiter gereicht wird.

    Na ja so stellte sich der keine Silver die große Welt vor. :(

    Danke

    Einmal editiert, zuletzt von Silvermoon1 (22. Mai 2023 um 11:00)

  • da es bei Chat und Anweisungen ständig benutzt werden.

    Hmmmm...welcher Chat? Im Browser? Ich hatte mir so etwas fast schon gedacht....und auch ein XY-Problem vermutet.

    Sag erstmal was du erreichen willst und nicht, was du dir vorstellst wie es erreicht werden KÖNNTE!

    So wie es aussieht willst du nämlich TEXT übersetzen und keine Bilder analysieren....

  • Hallo Andi

    Wie ich schon sagte: bei einer Grafikdatei wird die Textformatierung nicht verändert nur übersetzt.

    Das ist auch der Sinn der Sache. Die übersetzte Grafikdatei überlagert dann das Original.

    Das läst sich auf eine jede Anwendung anwenden da der Bildausschnitt vollkommen autonom ist und beeinflusst das laufende Programm auf keiner Weise. Es dient nur zur Information was da auf Englisch geschrieben wurde.

    Ein klassisches Beispiel ist ein Game welches nur auf Englisch existiert. (AdventureQuest 3D)

    Zum thema Erreichen möchte ich eigendlich nur das translate.google die Grafik automatisch ladet und mir wieder zurückgibt.

    Also dass was ich jetzt per Hand mache möchte ich automatisieren.

    Grüße silvermoon1

    Ps: hast du dir das Programm angeschaut die Doku erkärt vieles?

    die Übersetzt..jpg habe ich händisch eingefügt .

    s.Foto

  • Ah, jetzt ist das verständlicher!

    Das läst sich auf eine jede Anwendung anwenden

    So du denn eine Bildschirm-Hardcopy anfertigen kannst, was mittels GDI bei keiner mit bspw. DirectX/OpenGL erstellten Oberflächen funktioniert.Außer du benutzt die Screenshotfunktion des Spiels/Programms

    Aber auch da habe ich etwas womit ich mich seit ca. 2 Jahren in AutoIt herumschlage und kurz vor der Veröffentlichung stehe, Screenshots mit der Frequenz des aktuell verwendeten Bildschirms. Heisst bis zu 120 Screenshots pro Sekunde bei WQHD (2560x1440) in reinem AutoIt-Code. Da aus dem Framebuffer der Grafikkarte kopiert, ist die verwendete Grafikschnittstelle weitgehend unerheblich. Und nahezu ohne Prozessorlast.

    Wenn ich das jetzt aber richtig verstehe willst du den Screenshot anfertigen bzw den Teilbereich auf dem Bildschirm auswählen, dieses Bild "übersetzen" lassen und danach wieder auf dem Screen einfügen?

    Der Weg über die Google-API wäre sicherlich "kürzer" d.h. schneller und einfacher zu implementieren, auch müsste keine Bilddatei erstellt werden.

    Da aber eine Anmeldung bzw. ein Konto erforderlich ist, würde ich in deinem Fall die Steuerung der Google-Website vorziehen.

    Was man allerdings beachten sollte: Google führt nicht umsonst einen dermaßen "aufwendigen" Weg über die Website durch. Das ist imho, um den "exzessiven" und automatisierten Zugriff auf diesen Service einzuschränken. Du solltest also prüfen, ob eine Automatisierung über diesen Weg bei Google "erlaubt" ist.

    Um die Website zu automatisieren bietet sich, wie bereits oben erwähnt und verlinkt, die Webdriver UDF an. Da habe ich selbst noch nicht sonderlich viel mit gearbeitet, bzw. nur rudimentär einiges probiert. Ggf. solltest du die ausgewiesenen Spezialisten kontaktieren bzw. einen Thread explizit mit dieser Aufgabenstellung erstellen.

  • Hallo Andy

    Ja so dachte ich es mir, aber es läuft nicht so wie es ich mir vorstelle.

    So bleibt mir nur die Steinzeitmethode mit Google aufrufen und eine Koordinaten und Klickorgie zu starten.

    Zum Glück kann ich auf einen zweiten Bildschirm (Tv)zugreifen.

    Aber besonders ist diese ansprechend Technik nicht. :thumbdown:

    Deiner Empfehlung werde ich folgen und die Webdriver UDF mir anschauen.

    Ich werde die Anfrage schließen. Sollte sich etwas ändern werde ich es euch mitteilen.

    Auch wenn es nichts gebracht hat, war es eine tolle Hilfestellung

    Auf alle Fälle Danke ich dir Andy, für deine Geduld und Zeit. :klatschen:

    Schönen Tag noch

    Silvermoon1

  • Ich hätte noch einen anderen Ansatz, der ggf. komplizierter ist, aber von der Umsetzung einfacher.

    Man könnte mit OBS den Bildschirm aufnehmen und als Kamera zur Verfügungstellen.

    Für Android gibt es bei der Google-Translate-App die Möglichkeit für live Übersetzung.

    Es sollte also theoretisch möglich sein, mit nem Emulator (Windows 11 hat ja auch einen eingebaut, meine ich, hab den aber noch nicht getestet => Nutze Win10) das ganze am PC laufen zu lassen und die OBS Kamera im Emulator zu nutzen.

    Ich habs nicht getestet, sollte aber theoretisch funktionieren.

    MfG, Kanashius.

    PS: Warum gibt es solche Funktionen nur fürs Handy als App und nicht am PC, wo man eh viel mehr Ressourcen hat das lokal laufen zu lassen :Face:

  • Ansonsten ggf. auch ein simples OCR-Programm. das übersetzt allerdings nur den Text. OCR ist direkt in Windows integriert, und es gibt eine AutoIt-UDF https://www.autoitscript.com/forum/topic/20…implementation/

    Aber das schöne an Google ist ja, dass der Text direkt im Bild übersetzt wird...wie gezeigt, kann man dann den übersetzten Bildausschnitt einfach "drüberbügeln"