Hallo,
ich wollte mal fragen, ob man irgendeinen Translator in der Leseansicht benutzen kann oder ob dort alle nicht genutzt werden können?
Also mir geht es darum, einzelne Wörter per Hover zu übersetzen mit ImTranslator.
Translator in der Leseansicht
-
testerer -
27. März 2019 um 14:50 -
Erledigt
-
-
Mit diesem Script kannst du es im Lesemodus per Rechtsklick und "Deeple Translate"
Code
Alles anzeigen//// Translate DeepL //// ///https://github.com/ardiman/userChrome.js/tree/master/contexttranslate/// // ex ContextTranslate.uc.js/// (function () { if (location != 'chrome://browser/content/browser.xul') return; let translate = function () { let browserMM = gBrowser.selectedBrowser.messageManager; browserMM.addMessageListener('getSelection', function listener(message) { let t = (message.data !== ''); let e = (document.charset || document.characterSet); if (t) { openWebLinkIn('https://www.deepl.com/translator#en/de/' + encodeURIComponent(message.data), 'tab'); } else { openWebLinkIn('https://www.deepl.com/translate?u=' + encodeURIComponent(gBrowser.currentURI.spec) + '&hl=de-DE&ie=' + e + '&sl=auto&tl=de-DE', 'tab'); }; browserMM.removeMessageListener('getSelection', listener, true); }); browserMM.loadFrameScript('data:,sendAsyncMessage("getSelection", content.document.getSelection().toString())', true); } let menuitem = document.createElement('menuitem'); menuitem.id = 'context-googletranslate'; menuitem.setAttribute('label', 'Deepl Translate'); menuitem.setAttribute('tooltiptext', 'Mit DeeplTranslate'); menuitem.setAttribute('oncommand', '(' + translate.toString() + ')()'); menuitem.classList.add('menuitem-iconic'); //Wer kein Icon möchte kann die nächsten beiden Zeilen auskommentieren/löschen //menuitem.style.listStyleImage = 'url("https://www.deepl.com/favicon.ico")'; menuitem.style.listStyleImage = ' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACNwAAAjcB9wZEwgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGZSURBVDiNjZKxaxRBFMZ/b2ZHbWITUxkRC4PnBUW0k1gkoFlMYmIR8R+w0UZBFAvtLAMS0ipC0guCd0GOa23EJGTPkBRCSCNHKiEgMzvPwmjCuiv3lft97zff7BuhQraWTouJLwE0mmf518a7spwUPxwZvlmLms8B4wWrLZhHPvuwUg44N9afGPcc4T5gK4pFgSUv/jHrre8HgKHJE4nzHWBgn/sZdBuYqQB1Q+5rbLR2DUBy1J89GIbEmNmQNW8DqxWAgcS5IQBT5vqYP3H1Gw9AHyosAKECVA4QuKfIPMhHVKygV4OVU8ByT4BDsiI6rWpusdbYUdgpBpLSMeGTRLYx2o5q9kT0ja2P3xU401ODQJz1neYdVRkT9C1gyob/Ngg/3VbifJf9TVg1L2Q43UC1eo3eb8KfB7O7uRf7T782Yo8hXBG4DFwvaRgFFoP4GTqt7u/bFuTOp5dU9BUw8u/BOhqy5fZ//4HvNL6ErHlNkSmFb4e9YM1WMV+5xjxrvM+P99VBngI/qnK96UI66OrpEhcnThatXx/tiqJJdDA6AAAAAElFTkSuQmCC")'; let refItem = document.getElementById('context-inspect'); refItem.parentNode.insertBefore(menuitem, refItem); })();
Erzeuge im Chrome-Ordner eine Testdatei und kopiere diesen Inhalt dort hinein. Dann speichern und die Textdatei umbenennen in Deepl Translate.js
Damit Userscripte aber funktionieren muss der Firefox angepasst werden, hier die Hilfe dazu:
https://www.camp-firefox.de/forum/viewtopic.php?f=16&t=122538 -
kleine Tippfehler... ggf wäre diese irre- beziehungsweise nicht zielführend....
Erzeuge im Chrome-Ordner eine Textdatei und kopiere diesen Inhalt dort hinein. Dann speichern und die Textdatei umbenennen in Deepl Translate.uc.js
Edit: das uc kann unterbleiben, sofern man nicht das Script ExtraConfigMenu.uc.js nutzt... dort würden sonst die Scripte nicht mehr angezeigt.. eine Überarbeitung müsste zunächst erfolgen... Editende: -
@ Boersenfeger,
verzeihe mir bitte den Schreibfehler, ja, soll Textdatei heißen
Aber für den Script bedarf es kein *.uc.js Alle meine Scripte laufen ohne "uc"[attachment=0]screenshot.1.jpeg[/attachment]
-
Aber für den Script bedarf es kein *.uc.js Alle meine Scripte laufen ohne "uc"
Grad mal in Nightly angetestet und tatsächlich hast du recht... wann das mal geändert wurde... :-??
Da dann allerdings das Script im Script ExtraConfigMenue.uc.js nicht mehr aufgelistet wird, werde ich diese nicht umbenennen... ggf. dann nach einer Erneuerung.. werde mal Endor darauf hin weisen... -
Der Feuerfuchs und Boersenfeger: Ich bitte euch, trotzdem .uc. immer mit anzugeben, wenn ihr jemandem helft. Ich halte es für wichtig, dass wir eine einheitliche Linie fahren, damit Benutzer, für die Benutzerskripte etwas Neues sind, nicht verwirrt werden.
-
Wie mein Meister an anderer Stelle, genau zu diesem Punkt schon sagte, wir verwenden hier die Bezeichnung: uc.js,
und das wird auch so bleiben. Wenn jemand es anders haben will, müsste er Mithrandir dem Autor
des Scriptes selber fragen ob er das anpassen könnte - möchte. Ich könnte das sowiso nicht.Mfg.
Endor -
Ich würde dies aus genannten Grund eh nicht machen... aber gut, das der Kollege mal drauf hingewiesen hat.
-
:klasse:
Mfg.
Endor -
Gibt es hier mittlerweile eine Hover-Lösung oder kann das Wort im Text überschrieben werden? Mich stört, dass sich mit dem Script ein extra Tab öffnet.