您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
将特定网页内容从英文翻译成中文,支持动态加载。
// ==UserScript== // @name ba-hub汉化 // @namespace http://tampermonkey.net/ // @version 0.8 // @description 将特定网页内容从英文翻译成中文,支持动态加载。 // @author zola // @match https://www.ba-hub.net/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 定义翻译映射 const translations = { // 第一次提供的翻译 "Abilities": "能力", "Modifications": "修改", "Weapon package": "武器包", "Vehicle": "载具", "Mobility": "机动性", "Optics": "光学", "Weapons": "武器", // 第二次提供的翻译 "Front": "前方", "Sides": "侧面", "Rear": "后方", "Top": "顶部", "Cost": "成本", "Health": "生命值", "Weight": "重量", "Stealth": "隐蔽性", "Table View": "表格视图", // 第三次提供的翻译 "Type": "类型", "AIM": "瞄准", "REL": "可靠性", "ROF": "射速", "NOI": "噪音", "Magazine": "弹匣", "DMG": "伤害", "STR": "力量", "PEN": "穿透", "RNG": "射程", "Target Types": "目标类型", "Ignore Cover": "无视掩体", "Resupply Cost": "补给成本", "Interceptable": "可拦截", "DIS": "距离", // 第四次提供的翻译 "Resupply Time": "补给时间", "Trajectory": "弹道", "Traits": "特性", "USA": "美国", "Projectile Information": "弹药信息", "Rotation Speed": "旋转速度", "Acceleration": "加速度", "Max Speed": "最大速度", "Muzzle Velocity": "初速", "Kinetic": "动能", "Armor package": "装甲包", // 第五次提供的翻译 "Home": "首页", "Arsenal": "武器库", "Deck Editor": "卡组编辑器", "Intel": "情报", "Maps": "地图", "Calculators": "计算器", "Community": "社区", "Discord": "Discord", // 第六次提供的翻译 "USMC": "美国海军陆战队", "Armored Brigade": "装甲旅", "Airborne infantry": "空降步兵", "VDV Brigade": "VDV旅", "Guard Tank Brigade": "卫队坦克旅", "Coastal Troops": "沿海部队", // 第七次提供的翻译 "Country": "国家", "Spec": "规格", "Category": "类别", "Sort By": "排序方式", "Russia": "俄罗斯", "Name": "名称", "Recon": "侦察", "Infantry": "步兵", "Support": "支援", "Helicopter": "直升机", "Airplane": "飞机", "Transport": "运输" }; // 翻译单个元素的函数 function translateElement(el) { const text = el.textContent.trim(); if (translations.hasOwnProperty(text)) { el.textContent = translations[text]; } } // 翻译所有匹配元素的函数 function translateAll() { // 针对 .MuiTypography-root, .MuiMenuItem-root 和 .MuiFormLabel-root 内的文本进行翻译 const elements = document.querySelectorAll('.MuiTypography-root, .MuiMenuItem-root, .MuiFormLabel-root'); elements.forEach(translateElement); } // 首次加载时执行翻译 translateAll(); // 设置 MutationObserver 监听 DOM 变化 const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { if (mutation.addedNodes.length) { mutation.addedNodes.forEach(node => { if (node.nodeType === Node.ELEMENT_NODE) { if (node.classList.contains('MuiTypography-root') || node.classList.contains('MuiMenuItem-root') || node.classList.contains('MuiFormLabel-root')) { translateElement(node); } const descendants = node.querySelectorAll('.MuiTypography-root, .MuiMenuItem-root, .MuiFormLabel-root'); descendants.forEach(translateElement); } }); } }); }); // 监听整个文档的变化 observer.observe(document.body, { childList: true, subtree: true }); })();