Translate and Define

Allows you to translate and define highlighted text

  1. // ==UserScript==
  2. // @name Translate and Define
  3. // @namespace 407d4100-4661-11e4-916c-0800200c9a66
  4. // @description Allows you to translate and define highlighted text
  5. // @version 1.0.0
  6. // @include *
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. tad_ctxmenu = document.createElement("menu");
  11. tad_ctxmenu.innerHTML = '\
  12. <menuitem id="tad_define" label="Define selection" onclick="window.open(\'http://dictionary.reference.com/browse/\'+window.getSelection(), \'_blank\')" icon="https://cdn4.iconfinder.com/data/icons/gnome-desktop-icons-png/PNG/64/Accessories-Dictionary-64.png"></menuitem>\
  13. <menu id="tad_translate" label="Translate selection" icon="https://cdn1.iconfinder.com/data/icons/google_jfk_icons_by_carlosjj/128/translate.png">\
  14. <menuitem label="Translate to Arabic" onclick="window.open(\'http://www.translate.google.com/#auto/ar/\'+window.getSelection(), \'_blank\')"></menuitem>\
  15. <menuitem label="Translate to Bengali" onclick="window.open(\'http://www.translate.google.com/#auto/bn/\'+window.getSelection(), \'_blank\')"></menuitem>\
  16. <menuitem label="Translate to Chinese (Simplified)" onclick="window.open(\'http://www.translate.google.com/#auto/zh-CN/\'+window.getSelection(), \'_blank\')"></menuitem>\
  17. <menuitem label="Translate to French" onclick="window.open(\'http://www.translate.google.com/#auto/fr/\'+window.getSelection(), \'_blank\')"></menuitem>\
  18. <menuitem label="Translate to Hindi" onclick="window.open(\'http://www.translate.google.com/#auto/hi/\'+window.getSelection(), \'_blank\')"></menuitem>\
  19. <menuitem label="Translate to Indonesian" onclick="window.open(\'http://www.translate.google.com/#auto/id/\'+window.getSelection(), \'_blank\')"></menuitem>\
  20. <menuitem label="Translate to Russian" onclick="window.open(\'http://www.translate.google.com/#auto/ru/\'+window.getSelection(), \'_blank\')"></menuitem>\
  21. <menuitem label="Translate to Portuguese" onclick="window.open(\'http://www.translate.google.com/#auto/pt/\'+window.getSelection(), \'_blank\')"></menuitem>\
  22. <menuitem label="Translate to Spanish" onclick="window.open(\'http://www.translate.google.com/#auto/es/\'+window.getSelection(), \'_blank\')"></menuitem>\
  23. <menu label="More...">\
  24. <menuitem label="Bulgarian" onclick="window.open(\'http://www.translate.google.com/#auto/bg/\'+window.getSelection(), \'_blank\')"></menuitem>\
  25. <menuitem label="Catalan" onclick="window.open(\'http://www.translate.google.com/#auto/ca/\'+window.getSelection(), \'_blank\')"></menuitem>\
  26. <menuitem label="Chinese (Traditional)" onclick="window.open(\'http://www.translate.google.com/#auto/zh_TW/\'+window.getSelection(), \'_blank\')"></menuitem>\
  27. <menuitem label="Czech" onclick="window.open(\'http://www.translate.google.com/#auto/cs/\'+window.getSelection(), \'_blank\')"></menuitem>\
  28. <menuitem label="Danish" onclick="window.open(\'http://www.translate.google.com/#auto/da/\'+window.getSelection(), \'_blank\')"></menuitem>\
  29. <menuitem label="Dutch" onclick="window.open(\'http://www.translate.google.com/#auto/nl/\'+window.getSelection(), \'_blank\')"></menuitem>\
  30. <menuitem label="Estonian" onclick="window.open(\'http://www.translate.google.com/#auto/et/\'+window.getSelection(), \'_blank\')"></menuitem>\
  31. <menuitem label="Finnish" onclick="window.open(\'http://www.translate.google.com/#auto/fi/\'+window.getSelection(), \'_blank\')"></menuitem>\
  32. <menuitem label="German" onclick="window.open(\'http://www.translate.google.com/#auto/de/\'+window.getSelection(), \'_blank\')"></menuitem>\
  33. <menuitem label="Greek" onclick="window.open(\'http://www.translate.google.com/#auto/el/\'+window.getSelection(), \'_blank\')"></menuitem>\
  34. <menuitem label="Haitian Creole" onclick="window.open(\'http://www.translate.google.com/#auto/ht/\'+window.getSelection(), \'_blank\')"></menuitem>\
  35. <menuitem label="Hebrew" onclick="window.open(\'http://www.translate.google.com/#auto/iw/\'+window.getSelection(), \'_blank\')"></menuitem>\
  36. <menuitem label="Hmong" onclick="window.open(\'http://www.translate.google.com/#auto/hmn/\'+window.getSelection(), \'_blank\')"></menuitem>\
  37. <menuitem label="Hungarian" onclick="window.open(\'http://www.translate.google.com/#auto/hu/\'+window.getSelection(), \'_blank\')"></menuitem>\
  38. <menuitem label="Italian" onclick="window.open(\'http://www.translate.google.com/#auto/it/\'+window.getSelection(), \'_blank\')"></menuitem>\
  39. <menuitem label="Japanese" onclick="window.open(\'http://www.translate.google.com/#auto/ja/\'+window.getSelection(), \'_blank\')"></menuitem>\
  40. <menuitem label="Korean" onclick="window.open(\'http://www.translate.google.com/#auto/ko/\'+window.getSelection(), \'_blank\')"></menuitem>\
  41. <menuitem label="Latvian" onclick="window.open(\'http://www.translate.google.com/#auto/lv/\'+window.getSelection(), \'_blank\')"></menuitem>\
  42. <menuitem label="Lithuanian" onclick="window.open(\'http://www.translate.google.com/#auto/lt/\'+window.getSelection(), \'_blank\')"></menuitem>\
  43. <menuitem label="Malay" onclick="window.open(\'http://www.translate.google.com/#auto/ms/\'+window.getSelection(), \'_blank\')"></menuitem>\
  44. <menuitem label="Maltese" onclick="window.open(\'http://www.translate.google.com/#auto/mt/\'+window.getSelection(), \'_blank\')"></menuitem>\
  45. <menuitem label="Norwegian" onclick="window.open(\'http://www.translate.google.com/#auto/no/\'+window.getSelection(), \'_blank\')"></menuitem>\
  46. <menuitem label="Persian" onclick="window.open(\'http://www.translate.google.com/#auto/fa/\'+window.getSelection(), \'_blank\')"></menuitem>\
  47. <menuitem label="Polish" onclick="window.open(\'http://www.translate.google.com/#auto/pl/\'+window.getSelection(), \'_blank\')"></menuitem>\
  48. <menuitem label="Romanian" onclick="window.open(\'http://www.translate.google.com/#auto/ro/\'+window.getSelection(), \'_blank\')"></menuitem>\
  49. <menuitem label="Slovak" onclick="window.open(\'http://www.translate.google.com/#auto/sk/\'+window.getSelection(), \'_blank\')"></menuitem>\
  50. <menuitem label="Slovenian" onclick="window.open(\'http://www.translate.google.com/#auto/sl/\'+window.getSelection(), \'_blank\')"></menuitem>\
  51. <menuitem label="Swedish" onclick="window.open(\'http://www.translate.google.com/#auto/sv/\'+window.getSelection(), \'_blank\')"></menuitem>\
  52. <menuitem label="Thai" onclick="window.open(\'http://www.translate.google.com/#auto/th/\'+window.getSelection(), \'_blank\')"></menuitem>\
  53. <menuitem label="Turkish" onclick="window.open(\'http://www.translate.google.com/#auto/tr/\'+window.getSelection(), \'_blank\')"></menuitem>\
  54. <menuitem label="Ukranian" onclick="window.open(\'http://www.translate.google.com/#auto/uk/\'+window.getSelection(), \'_blank\')"></menuitem>\
  55. <menuitem label="Urdu" onclick="window.open(\'http://www.translate.google.com/#auto/ur/\'+window.getSelection(), \'_blank\')"></menuitem>\
  56. <menuitem label="Vietnamese" onclick="window.open(\'http://www.translate.google.com/#auto/vi/\'+window.getSelection(), \'_blank\')"></menuitem>\
  57. <menuitem label="Welsh" onclick="window.open(\'http://www.translate.google.com/#auto/cy/\'+window.getSelection(), \'_blank\')"></menuitem>\
  58. </menu>\
  59. </menu>\
  60. <menuitem label="Translate to English" onclick="window.open(\'http://www.translate.google.com/#auto/en/\'+window.getSelection(), \'_blank\')" icon="https://cdn1.iconfinder.com/data/icons/google_jfk_icons_by_carlosjj/128/translate.png"></menuitem>\
  61. <menuitem id="tad_wikipedia" label="Find on Wikipedia" onclick="window.open(\'http://en.wikipedia.org/w/index.php?go=Go&search=\'+window.getSelection(), \'_blank\')" icon="http://upload.wikimedia.org/wikipedia/meta/0/08/Wikipedia-logo-v2_1x.png"></menuitem>\
  62. ';
  63. tad_ctxmenu.id = "tad_ctxmenu";
  64. tad_ctxmenu.type = "context";
  65.  
  66. document.body.appendChild(tad_ctxmenu);
  67. setInterval(function() {
  68. selection = window.getSelection().toString();
  69. if(selection != "") {
  70. if(selection.length <= 15) {
  71. document.getElementById("tad_define").label = "Define \"" + selection + "\"";
  72. document.getElementById("tad_translate").label = "Translate \"" + selection + "\"";
  73. document.getElementById("tad_wikipedia").label = "Find \"" + selection + "\" on Wikipedia";
  74. }
  75. else {
  76. document.getElementById("tad_define").label = "Define \"" + selection.slice(0, 15) + "…\"";
  77. document.getElementById("tad_translate").label = "Translate \"" + selection.slice(0, 15) + "…\"";
  78. document.getElementById("tad_wikipedia").label = "Find \"" + selection.slice(0, 15) + "…\" on Wikipedia";
  79. }
  80. document.body.setAttribute("contextmenu", "tad_ctxmenu");
  81. }
  82. else document.body.removeAttribute("contextmenu");
  83. }, 100);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址