google翻译实用工具

自动移除google翻译原文中的换行符(替换为空格)

当前为 2022-02-16 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name google translate utils
  3. // @name:zh-CN google翻译实用工具
  4. // @namespace https://github.com/tabedit/tamperMonkey
  5. // @version 0.5
  6. // @description auto remove line break for google translate(replaced with space)
  7. // @description:zh-CN 自动移除google翻译原文中的换行符(替换为空格)
  8. // @author tabedit
  9. // @include http*://translate.google.*
  10. // @grant none
  11. // @license GPL
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16. var container = Array.from(document.querySelectorAll('nav')).filter(v => v.innerHTML.indexOf('翻译类型') !== -1)[0]
  17. var customButton = container.children[2].cloneNode(true);
  18. customButton.querySelector('i').remove();
  19. customButton.querySelector('button').innerText = '自动替换换行';
  20. container.appendChild(customButton);
  21. if(localStorage.getItem('replaceOn') === 'true'){
  22. customButton.style.backgroundColor='#E4ECFA';
  23. }
  24.  
  25. // button for switch whether turn replace on
  26. customButton.addEventListener('click',function(event){
  27. var replaceOn = localStorage.getItem('replaceOn') === 'true';
  28. if(!replaceOn){
  29. localStorage.setItem('replaceOn', 'true')
  30. customButton.style.backgroundColor='#E4ECFA';
  31. }else{
  32. localStorage.setItem('replaceOn', 'false')
  33. customButton.style.backgroundColor='#FAFAFA';
  34. }
  35. });
  36.  
  37. // Your code here...
  38. function single(){
  39. var replaceOn = localStorage.getItem('replaceOn') === 'true';
  40. if(replaceOn === false){
  41. return
  42. }
  43. var raw = /text=([^&]+)/.exec(location.href);
  44. raw = raw && raw[1]
  45. if(!raw){
  46. return
  47. }
  48. raw = decodeURIComponent(raw);
  49. if(!/\n/.test(raw)){
  50. return
  51. }
  52. var replaced = raw.replace(/\n/g, ' ')
  53. .replace(/ {2,}/g, ' ')
  54. .replace(/\. /g, '.')
  55. replaced = encodeURIComponent(replaced);
  56. var location_href = location.href.replace(/text=([^&]+)/, 'text=' + replaced)
  57. location.href = location_href;
  58. return true
  59. }
  60. function loop(){
  61. setTimeout(()=> {
  62. if(single()){
  63. return
  64. }
  65. loop()
  66. }, 200)
  67. }
  68. loop()
  69. })();