此脚本修改 GreasyFork 上的 URL,以始终显示所有语言的脚本,除非用户手动选择其他语言。
// ==UserScript==
// @name GreasyFork Language Filter Remover
// @name:en GreasyFork Language Filter Remover
// @name:zh-CN GreasyFork 语言筛选器移除器
// @name:zh-TW GreasyFork 語言過濾器移除工具
// @name:ja GreasyFork 言語フィルタリムーバー
// @name:es Removedor de filtro de idioma de GreasyFork
// @name:fr Suppression du filtre de langue GreasyFork
// @name:de GreasyFork Sprachfilter Entferner
// @name:ru Удаление фильтра языка GreasyFork
// @name:ko GreasyFork 언어 필터 제거기
// @name:it Rimozione del filtro lingua di GreasyFork
// @name:pt Removedor de filtro de idioma do GreasyFork
// @name:ar مزيل فلتر اللغة لـGreasyFork
// @description This script modifies the URL on GreasyFork to always show scripts from all languages unless the user manually selects a different language.
// @description:en This script modifies the URL on GreasyFork to always show scripts from all languages unless the user manually selects a different language.
// @description:zh-CN 此脚本修改 GreasyFork 上的 URL,以始终显示所有语言的脚本,除非用户手动选择其他语言。
// @description:zh-TW 這個腳本修改 GreasyFork 上的 URL,除非使用者手動選擇其他語言,否則預設會始終顯示所有語言的腳本。
// @description:ja このスクリプトは、ユーザーが手動で異なる言語を選択しない限り、GreasyForkのURLを修正してすべての言語のスクリプトを常に表示します。
// @description:es Este script modifica la URL en GreasyFork para mostrar siempre los scripts de todos los idiomas a menos que el usuario seleccione manualmente un idioma diferente.
// @description:fr Ce script modifie l'URL sur GreasyFork pour toujours afficher les scripts de toutes les langues, sauf si l'utilisateur sélectionne manuellement une autre langue.
// @description:de Dieses Skript ändert die URL auf GreasyFork, um immer Skripte in allen Sprachen anzuzeigen, es sei denn, der Benutzer wählt manuell eine andere Sprache.
// @description:ru Этот скрипт изменяет URL на GreasyFork, чтобы всегда отображать скрипты на всех языках, если только пользователь не выбирает другой язык вручную.
// @description:ko 이 스크립트는 사용자가 수동으로 다른 언어를 선택하지 않는 한 GreasyFork의 URL을 수정하여 모든 언어의 스크립트를 항상 표시합니다.
// @description:it Questo script modifica l'URL su GreasyFork per mostrare sempre gli script in tutte le lingue, a meno che l'utente non selezioni manualmente un linguaggio diverso.
// @description:pt Este script modifica a URL no GreasyFork para sempre mostrar scripts de todas as línguas, a menos que o usuário selecione manualmente uma língua diferente.
// @description:ar يقوم هذا البرنامج النصي بتعديل URL على GreasyFork لعرض البرامج النصية من جميع اللغات دائمًا، ما لم يختر المستخدم لغة مختلفة يدويًا.
// @namespace https://mkpo.li/
// @version 0.2.0
// @grant none
// @match https://greasyfork.org/*/scripts?*
// @run-at document-end
// @license MIT
// ==/UserScript==
(() => {
const currentURL = new URL(window.location.href);
const searchParams = new URLSearchParams(currentURL.search);
// Check if the user manually clicked the filter locale link.
const manuallyClicked = sessionStorage.getItem('filterLocaleClicked');
// If user did not manually select language, and filter_locale is not set, redirect to show scripts from all languages.
if (manuallyClicked !== 'true' && !searchParams.has('filter_locale')) {
searchParams.append('filter_locale', '0');
currentURL.search = searchParams.toString();
window.location.replace(currentURL.toString());
}
// On a page where the locale can be filtered, add click listener to the filter locale link.
const filterLocaleLink = document.querySelector('.sidebarred-main-content p a'); // Selector for the "Show English results only" or equivalent link
if (filterLocaleLink) {
filterLocaleLink.addEventListener('click', () => {
sessionStorage.setItem('filterLocaleClicked', 'true');
});
}
})();