WME Language Forcer

Script to redirect to your language automaticaly

安装此脚本?
作者推荐脚本

您可能也喜欢WMEBR Filter

安装此脚本
  1. // ==UserScript==
  2. // @name WME Language Forcer
  3. // @name:fr WME Language Forcer
  4. // @namespace https://gitlab.com/WMEScripts
  5. // @description Script to redirect to your language automaticaly
  6. // @description:fr Ce script vous redirige vers votre langue définie automatiquement
  7. // @match https://editor-beta.waze.com/*editor*
  8. // @match https://beta.waze.com/*editor*
  9. // @match https://www.waze.com/*editor*
  10. // @match https://editor-beta.waze.com/*editor/*
  11. // @match https://beta.waze.com/*editor/*
  12. // @match https://www.waze.com/*/editor/*
  13. // @version 2019.08.15.01
  14. // @author tunisiano187 '2018
  15. // @license MIT/BSD/X11
  16. // @compatible chrome firefox
  17. // @supportURL mailto:incoming+WMEScripts/WME-language-forcer@incoming.gitlab.com
  18. // @contributionURL http://ko-fi.com/tunisiano
  19. // @grant none
  20. // ==/UserScript==
  21.  
  22. ///////////////////////////////////////
  23. // Verification de la mise à jour //
  24. ///////////////////////////////////////
  25. var WMElanguageforcerVersion = GM_info.script.version;
  26. var WMElanguageforcerUpdateNotes = "Nouvelle version de WMElanguageforcer v" + WMElanguageforcerVersion + " : Adaptation to the new WME design";
  27. if (localStorage.getItem('WMElanguageforcerVersion') === WMElanguageforcerVersion && 'WMElanguageforcerVersion' in localStorage) {
  28.  
  29. } else if ('WMElanguageforcerVersion' in localStorage) {
  30. alert(WMElanguageforcerUpdateNotes);
  31. localStorage.setItem('WMElanguageforcerVersion', WMElanguageforcerVersion);
  32. } else {
  33. localStorage.setItem('WMElanguageforcerVersion', WMElanguageforcerVersion);
  34. }
  35.  
  36. ///////////////////////////////////////
  37. // Début du script //
  38. ///////////////////////////////////////
  39.  
  40. var language = "";
  41. var ts = Math.round((new Date()).getTime() / 1000);
  42. if(window.location.hash == ("#reset-WME-prefered-language")) {
  43. localStorage.removeItem('WME-prefered-language');
  44. alert("Language resetted");
  45. window.location.href = "https://www.waze.com/editor/";
  46. }
  47. else if($(".not-found")[0]) {
  48. if ('WME-prefered-language-last-refresh' in localStorage){
  49. var prevts = localStorage.getItem('WME-prefered-language-last-refresh');
  50. if(Math.round(ts-5)>prevts) {
  51. window.location.href = "https://www.waze.com/editor/#reset-WME-prefered-language";
  52. }
  53. }
  54. }
  55. else if('WME-prefered-language' in localStorage) {
  56. language = localStorage.getItem('WME-prefered-language');
  57. }
  58. else
  59. {
  60. language=prompt("Wich language do you want to use ? (ex:fr, de, ..)", I18n.locale);
  61. language=language.toLowerCase();
  62. localStorage.setItem('WME-prefered-language',language);
  63. }
  64. function showLang() {
  65. if($(".user-name")) {
  66. $('<a href="https://www.waze.com/editor/#reset-WME-prefered-language">(' + language.toUpperCase() + ')</a>').appendTo(".user-name");
  67. } else {
  68. setTimeout(showLang, 500);
  69. }
  70. };
  71. setTimeout(showLang, 500);
  72. if ((location.pathname.indexOf("/" + language + "/editor") !== 0 && location.pathname.indexOf("beta") === 0) && location.pathname.indexOf("/user/editor") == -1 && location.pathname.indexOf("beta") === 0) {
  73. setTimeout(function() {
  74. var fullpath = window.location.pathname+window.location.search;
  75. while(fullpath.substring(1,7) != "editor")
  76. {
  77. fullpath = fullpath.substring(1);
  78. }
  79. //localStorage.setItem('WME-prefered-language-last-refresh',ts);
  80. if(!$(".recaptcha-container")[0])
  81. {
  82. window.location.replace = window.location.replace('https://beta.waze.com/' + language + fullpath);
  83. }
  84. }, 1000);
  85. }