js_translate

6/8/2023, 2:23:49 PM

  1. // ==UserScript==
  2. // @name js_translate
  3. // @namespace Violentmonkey Scripts
  4. // @match *://*/*
  5. // @grant none
  6. // @version 0.1.0
  7. // @author liudonghua123
  8. // @license MIT
  9. // @description 6/8/2023, 2:23:49 PM
  10. // ==/UserScript==
  11.  
  12. // https://www.oschina.net/news/244182/leiming-2-3-released
  13.  
  14. /*
  15. <script src="https://res.zvo.cn/translate/translate.js"></script>
  16. <script>
  17. translate.setUseVersion2(); //设置使用v2.x 版本
  18. translate.language.setLocal('chinese_simplified'); //设置本地语种(当前网页的语种)。如果不设置,默认就是 'chinese_simplified' 简体中文。 可填写如 'english'、'chinese_simplified' 等,具体参见文档下方关于此的说明。
  19. translate.execute();//进行翻译
  20. </script>
  21. */
  22.  
  23. // https://stackoverflow.com/questions/5132488/how-can-i-insert-a-script-into-html-head-dynamically-using-javascript
  24.  
  25. const dynamicAddScript = (url) => {
  26. return new Promise(function(resolve, reject){
  27. const script = document.createElement('script');
  28. script.onload = resolve;
  29. script.onerror = reject;
  30. script.src = url;
  31. document.head.appendChild(script);
  32. });
  33. }
  34.  
  35. function sleep(time){
  36. return new Promise(function(resolve){
  37. setTimeout(resolve, time);
  38. });
  39. }
  40.  
  41.  
  42. (async function process() {
  43. console.info(`loading translate.js ...`)
  44. await dynamicAddScript('https://res.zvo.cn/translate/translate.js');
  45. console.info(`loaded translate.js`)
  46. // TODO: detect the language of current page, only apply translating to non-chinese_simplified webpage
  47. translate.setUseVersion2(); //设置使用v2.x 版本
  48. translate.language.setLocal('chinese_simplified'); //设置本地语种(当前网页的语种)。如果不设置,默认就是 'chinese_simplified' 简体中文。 可填写如 'english'、'chinese_simplified' 等,具体参见文档下方关于此的说明。
  49. translate.execute();//进行翻译
  50. })();