Greasy Fork is available in English.
在商店页显示双语游戏名称,双击名称可以快捷搜索。
// ==UserScript==// @name Show_English_Name// @name:zh-CN Steam显示英文游戏名// @namespace https://blog.chrxw.com// @supportURL https://blog.chrxw.com/scripts.html// @contributionURL https://afdian.com/@chr233// @version 1.18// @description 在商店页显示双语游戏名称,双击名称可以快捷搜索。// @description:zh-CN 在商店页显示双语游戏名称,双击名称可以快捷搜索。// @author Chr_// @include /https://store\.steampowered\.com\/app\/\d+/// @license AGPL-3.0// @icon https://blog.chrxw.com/favicon.ico// @grant GM_registerMenuCommand// @grant GM_setClipboard// ==/UserScript==(() => {"use strict";const mode = window.localStorage.getItem("sen_mode") ?? "c(e)";const pure = window.localStorage.getItem("sen_pure") ?? "关";const icon = window.localStorage.getItem("sen_icon") ?? "开";const appid = (window.location.pathname.match(/\/app\/(\d+)/) ?? [null, null])[1];if (appid === null) { return; }fetch(`https://store.steampowered.com/api/appdetails?appids=${appid}&l=english`).then(async (response) => {if (response.ok) {const json = await response.json();const data = json[appid];if (data.success !== true) { return; }let { name: name_en, supported_languages, categories } = data.data;const t = setInterval(() => {const ele_title = document.getElementById("appHubAppName");if (ele_title != null) {clearInterval(t);const ele_path = document.querySelector("div.blockbg>a:last-child");let name_cur = ele_title.textContent;if (name_cur.toLowerCase() != name_en.toLowerCase()) {if (pure === "开") {name_en = pureName(name_en);name_cur = pureName(name_cur);}let name_new = "";if (mode === "e(c)") {name_new = `${name_en} (${name_cur})`;} else {name_new = `${name_cur} (${name_en})`;}ele_title.textContent = name_new;if (ele_path !== null) {ele_path.textContent = name_new;}}if (icon === "开") {if (supported_languages && supported_languages.search('Chinese') !== -1) {ele_title.textContent += "🀄";}if (categories && categories.some(c => c.id === 29)) {ele_title.textContent += "📇";}}ele_title.title = "双击快捷搜索";ele_title.addEventListener("dblclick", () => {ShowConfirmDialog(`你想做什么呢?`, "", "复制游戏名", "搜索游戏名").done(() => {const setClipboard = (data) => { GM_setClipboard(data, "text"); };if (name_cur == name_en) { setClipboard(name_cur); } else {ShowConfirmDialog(`要复制的游戏名称?`, "", name_cur, name_en).done(() => { setClipboard(name_cur); }).fail((stats) => {if (stats) { setClipboard(name_en); }});}}).fail((stats) => {if (stats) {if (name_cur == name_en) {window.open(`https://store.steampowered.com/search/?term=${name_cur}`);} else {ShowConfirmDialog(`要使用的搜索关键词?`, "", name_cur, name_en).done(() => { window.open(`https://store.steampowered.com/search/?term=${name_cur}`); }).fail((stats) => {if (stats) { window.open(`https://store.steampowered.com/search/?term=${name_en}`); }});}}});});}}, 500);} else {console.error(response.status);}}).catch((err) => {console.error(err);});GM_registerMenuCommand(`切换显示格式:【${mode === "c(e)" ? "原名 (英文名)" : "英文名 (原名)"}】`, () => {window.localStorage.setItem("sen_mode", mode === "c(e)" ? "e(c)" : "c(e)");window.location.reload();});GM_registerMenuCommand(`过滤特殊符号:【${pure}】`, () => {window.localStorage.setItem("sen_pure", pure === "开" ? "关" : "开");window.location.reload();});GM_registerMenuCommand(`显示卡牌图标:【${icon}】`, () => {window.localStorage.setItem("sen_icon", icon === "开" ? "关" : "开");window.location.reload();});function pureName(str) {return str.replace(/[《》™©®]/g, "");}})();