Filter Google Search Results by Language

Support Chinese, Chinese (Simplified), Chinese (Traditional), Japanese, English.

  1. // ==UserScript==
  2. // @name Filter Google Search Results by Language
  3. // @name:en Filter Google Search Results by Language
  4. // @description Support Chinese, Chinese (Simplified), Chinese (Traditional), Japanese, English.
  5. // @description:en Support Chinese, Chinese (Simplified), Chinese (Traditional), Japanese, English.
  6. // @version 20151208
  7. // @include https://www.google.com/*
  8. // @grant none
  9. // @namespace https://greasyfork.org/users/22325
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.  
  14. function get_form_lr(){
  15.  
  16. var list = ['lang_zh-CN%7Clang_zh-TW', 'lang_zh-CN', 'lang_zh-TW', 'lang_ja', 'lang_en', ''];
  17. var strlist = ['中文', '中文 (简体)', '中文 (繁體)', '日本語', 'English', '不限语言'];
  18.  
  19. var baseurl = document.location.href.replace(/lr=([^&]+)&?/, '');
  20. var current = (RegExp.$1)? RegExp.$1 : '';
  21. var generateOption = function(v) {
  22. var i;
  23. var valuestr;
  24. for( i = 0 ; i < list.length ; i++ ){
  25. if( v == list[i] ){
  26. valuestr = strlist[i];
  27. }
  28. }
  29. return '<option value="' + v + '"'
  30. + ((v == current)? ' selected="1"' : '') + '>' + valuestr + '</option>';
  31. };
  32. var opts = list.map(generateOption).join("\n");
  33.  
  34. var func = "var baseurl = document.location.href.replace(/&+lr=([^&]+|)(&+|$)/, '&');" +
  35. "baseurl = baseurl.replace( /\\?lr=.+?&/ , '?' );" +
  36. "var url = baseurl.replace(/https:\\/\\/www\\.google\\.com\\/search\\?/, 'search?');" +
  37. "url = url + '&lr=' + this.options[ this.selectedIndex ].value;" +
  38. "location.href = url;";
  39. return '<select style="width:90px" size="1" name="lr5" onchange="' + func + '">' + opts + '</select>';
  40.  
  41. }
  42.  
  43. document.getElementById('logocont').innerHTML = document.getElementById('logocont').innerHTML + "<div style=\"position:fixed;margin-left:17px; margin-top:20px; display\"><form>" + get_form_lr() + "</form></div>";
  44. })();