Text übersetzen - aber nur bei ausgehender WhatsApp-Nachricht bei einem bestimmten Kontakt

  • 19 Antworten
  • Letztes Antwortdatum
F

Finnenzauber

Fortgeschrittenes Mitglied
19
Servus zusammen,

ich bastle jetzt schon einige Zeit rum aber ich komme ehrlich gesagt keinen Schritt weiter - bis auf das ich es geschafft habe einen Text in die Zwischenablage und somit Variable zu kopieren.

Ich würde gerne bei einem bestimmten Whatsappkontakt alle und jede ausgehenden Nachrichten in eine Fremdsprache übersetzten lassen, die dann automatisch hinterher gesendet wird.

Also, ich schreibe in Deutsch und sende die Nachricht an einen bestimmten Kontakt ab und Tasker übersetzt mittels Google den Text und sendet eine Nachricht automatisch hinterher.

Ziemlich sportlich - ich weiss - aber Tasker kann das schaffen. Das Problem ist vor dem Bildschirm - ich bekomme es einfach nicht hin.

Wer könnte mir den helfen von den Tasker-Feaks?

Vielen Dank im Voraus für Eure Mühe und Hilfe 👍

Finnenzauber
 
Zuletzt bearbeitet:
Vielleicht folgender Weg?
1. Übersetzer-App starten
2. Dort Deine Antwort schreiben oder diktieren
3. In die gewünschte Sprache übersetzen lassen
4. Ergebnis in die Zwischenablage kopieren
5. In den gewünschte Chat (sollte ja noch aktiviert sein?) kopieren

3, 4, 5 könnten mit dem Plugin AutoInput teilautomatisiert werden.
 
  • Danke
Reaktionen: Finnenzauber
@Hastenichgesehen - vielen Dank. Ich wollte es zwar noch mehr automatisieren, aber ich habe zumindest eine einigermaßen elegante Lösung gefunden mit dem Senden eines Intents - nicht von mir sondern im Reddit-Forum gefunden:

  1. Send IntentAction: android.intent.action.PROCESS_TEXT
    Cat: Default
    Mine Type: text/plain
    Extra: android.intent.extra.PROCESS_TEXT:%par1<<Hier könnt man jetzt automatisch auch noch den Text durch eine Variable einfügn lassen
    Package: com.google.android.apps.translate
    Target: Activity
Damit öffnet sich ein Popup mit der Googleübersetzung. Ich habe mir den Task jetzt auf die Lautstärketaste gelegt und kann dann sehr einfach den Text übersetzen lassen. Nicht perfekt aber damit kann ich leben. Vielleicht hat jemand noch eine bessere Idee?

Viele Grüsse und nochmals Danke
 
Danke, kommt in meine Intent-Liste.
Ich habe noch %CLIP anstelle von %par1 genommen, damit der markierte/kopierte Text direkt in den Übersetzer übergeben wird.
 
  • Danke
Reaktionen: Finnenzauber
Hallo, ich weiß nicht, ob es wichtig ist: Wenn ich Text markiere (ohne kopieren), ist "Übersetzer" bei mir direkt normal im Menü.
 
@holms: Verhält sich also wie "Lade Applikation".
 
@Hastenichgesehen Nein, ich meinte komplett ohne Tasker.
 
@holms: Ja, so ist es hier auch. In WhatsApp kommt diese Menü nicht, da muss man den erhaltenen Text markieren / kopieren und an die Übersetzer-App senden.
 
Hastenichgesehen schrieb:
Danke, kommt in meine Intent-Liste.
Ich habe noch %CLIP anstelle von %par1 genommen, damit der markierte/kopierte Text direkt in den Übersetzer übergeben wird.
Das mit der Variabln %CLIP hatte ich auch schon - funktioniert aber nicht bei mir - warum auch immer. Muss mal alles durchgegn am WE in Tasker - hatte diese Variable schon mal vergeben mein ich. Aber trotzdem Danke für deine Idee :)
 
@Finnenzauber: %CLIP müsste als interne Variable eigentlich gehen. Tasker: Variables
 
  • Danke
Reaktionen: Finnenzauber
@Hastenichgesehen Geht aber leider nicht - komischerweise. Ich spiele mich mal am WE damit wo der Fehler bei mir liegt. Trotzdem Danke :thumbsup:
 
Hier wäre eine komplett automatisierte Version
Profil importieren
Code:
    Profil: Nachricht übersetzen (45)
        Restore: no
        Ereignis: Logcat Entry [ Output Variables:* Component:WhatsApp Filter:~R SEND <message to='\d+@s.whatsapp.net' type='text' Grep Filter (Check Help):Aus ]
    Eingang: Anon (110)
        <Hier den entsprechenden Ländercode in die zu übersetzende Sprache eintragen>
        A1: Variable Setzen [ Name:%sprache Zu:en Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
        <Hier den Namen des Kontakts eintragen>
        A2: Variable Setzen [ Name:%kontakt Zu:Max Muster Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
        A3: AutoInput UI Query [ Konfiguration:App Package: com.whatsapp
    Variables: text(), name
    Only Visible: true Timeout (Sekunden):20 ]
        A4: If [ %name gl %kontakt ]
        A5: If [ %Gesendet !~ 1 ]
        A6: Popup-Benachrichtigung [ Text:Übersetzen Lang:An ]
        A7: Array Process [ Variable Array:%text Typ:Reverse ]
        A8: Variable Umrechnen [ Name:%text1 Funktion:URL Dekodieren Ergebnis Ablegen In: Modus:Default ]
        A9: HTTP Request [  Method:GET URL:https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=%sprache&dt=t&q=%text1 Headers: Query Parameters: Body: File To Send: File/Directory To Save With Output: Timeout (Sekunden):30 Trust Any Certificate:Aus Automatically Follow Redirects:Aus Use Cookies:Aus ]
        A10: Variable Aufteilen [ Name:%http_data Teiler:" Basis löschen:Aus ]
        A11: AutoInput Action [ Konfiguration:Type: Id
    Value: com.whatsapp:id/entry
    Text to Write : %http_data2
    Action : Write Timeout (Sekunden):23 ]
        <Falls die übersetzte Nachricht nicht automatisch gesendet werden soll, diese Aufgabe deaktivieren.>
        A12: AutoInput Action [ Konfiguration:Type: Id
    Value: com.whatsapp:id/send
    Action : Click Timeout (Sekunden):23 ]
        A13: Variable Setzen [ Name:%Gesendet Zu:1 Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
        A14: Else
        A15: Variable Setzen [ Name:%Gesendet Zu:0 Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
        A16: End If
        A17: End If

Es braucht dazu noch das Plugin AutoInput.

Für das Event Logcat Entry, falls noch nicht geschehen, muss noch die Read System Logs Permission mit ADB erteilt werden. Anleitung

Bei A1 (%sprache) muss der Ländercode in die zu übersetzende Sprache eingetragen werden.

Bei A2 (%kontakt) muss der Name des Kontakten eingetragen werden.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Finnenzauber und Spardas
Das Thema hat mir ja keine Ruhe gelassen :)
Wenn die App "Google Übersetzung" installiert ist, hätte man noch die Möglichkeit die "Tap To Translate"-Funktion zu aktivieren.
In WhatsApp dann den zu übersetzenden Text markieren / 3 Punkte Menü / Kopieren, es zeigt sich dann das schwebende Symbol für den Aufruf der Google Übersetzer App (mit dem markierten Text).
Screenshot_20201120_220136_com.google.android.apps.translate.jpg
 
@Hastenichgesehen Das, was ich meinte, geht bereits ohne "Tap to translate".

Der Text muss lediglich markiert werden, im Menü für die Markierung finde ich den "Übersetzer".
 

Anhänge

  • Screenshot_20201121-104759_WhatsApp.jpg
    Screenshot_20201121-104759_WhatsApp.jpg
    500,7 KB · Aufrufe: 305
@holms: Ja, aber nur der Text in der Eingabezeile.
 
@Mathens Vielen vielen Dank Mathens. Das ist ja der Wahnsinn wie Du einfach mal schnell so ein komplettes Profil erstellst. Ganz großes Kino & mein größten Respekt! Natürlich auch allen anderen ein großes Dankschön für Euren Einsatz und Beteiligung bei der Findung einer Lösung. Werde mir heute Abend mal das Profil Zeile für Zeile verinnerlichen um wieder was lernen zu dürfen.

Nochmals vielen vielen Dank!

Finnnenzauber
 
Habe den Task noch überarbeitet. In der ersten Version habe ich noch mit der Variable %Gesendet gearbeitet, welche bei frühzeitigem beenden von Whatsapp Probleme machen kann.
Mit der neuen Version kontrolliert der Task mit der Variable %Übersetzt ob der gesendete Text mit dem zuvor übersetzten Text übereinstimmt. Zusätzlich wird, wenn man eine Nachricht löscht, der Text "Du hast diese Nachricht gelöscht" nicht Übersetzt und gesendet.

Profil importieren
Code:
    Profil: Nachricht übersetzen V2 (45)
        Restore: no
        Ereignis: Logcat Entry [ Output Variables:* Component:WhatsApp Filter:~R SEND <message to='\d+@s.whatsapp.net' type='text' Grep Filter (Check Help):Aus ]
    Eingang: Anon (110)
        A1: Variable Setzen [ Name:%sprache Zu:en Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
        A2: Variable Setzen [ Name:%kontakt Zu:Max Muster Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
        A3: AutoInput UI Query [ Konfiguration:App Package: com.whatsapp
    Variables: text(), name
    Only Visible: true Timeout (Sekunden):20 ]
        A4: Array Process [ Variable Array:%text Typ:Reverse ]
        A5: If [ %name ~ %kontakt & %text1 !~ %Übersetzung & %text1 !~ *Du hast diese Nachricht gelöscht* ]
        A6: Popup-Benachrichtigung [ Text:Übersetzen Lang:Aus ]
        A7: Variable Umrechnen [ Name:%text1 Funktion:URL Dekodieren Ergebnis Ablegen In: Modus:Default ]
        A8: HTTP Request [  Method:GET URL:https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=%sprache&dt=t&q=%text1 Headers: Query Parameters: Body: File To Send: File/Directory To Save With Output: Timeout (Sekunden):30 Trust Any Certificate:Aus Automatically Follow Redirects:Aus Use Cookies:Aus ]
        A9: Variable Aufteilen [ Name:%http_data Teiler:" Basis löschen:Aus ]
        A10: Variable Setzen [ Name:%Übersetzung Zu:%http_data2 Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
        A11: AutoInput Action [ Konfiguration:Type: Id
    Value: com.whatsapp:id/entry
    Text to Write : %http_data2
    Action : Write Timeout (Sekunden):23 ]
        A12: AutoInput Action [ Konfiguration:Type: Id
    Value: com.whatsapp:id/send
    Action : Click Timeout (Sekunden):23 ]
 
  • Danke
Reaktionen: qwoka, holms und Finnenzauber
@Mathens .

Das ist echt Königsklasse - vielen vielen Dank. Bin sprachlos wie man sowas wissen kann und man mal schnell zusammen bastelt...Große Verneigung vor deiner Kunst! Nochmals vielen vielen Dank!
 
  • Danke
Reaktionen: Mathens
@Finnenzauber, welche Tastatur benutzt du? Ich nutze SwiftKey, dort einfach das Translator Symbol anklicken, in deutsch tippen und das Getippte wird direkt übersetzt.
Aber gut, warum einfach, wenn es auch schwierig geht.
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: Finnenzauber
@schattenkrieger Meine Idee war schon eine Vollautomatisierung. Mit dem Intent wäre es schon auch gegangen aber so wie das @Mathens hinbekommen hat ist das schon ziemlich sexy.
 

Ähnliche Themen

F
Antworten
1
Aufrufe
153
MeinNickname
MeinNickname
H
Antworten
6
Aufrufe
451
Horgul123
H
M
Antworten
27
Aufrufe
1.223
MeinNickname
MeinNickname
Zurück
Oben Unten