- // ==UserScript==
- // @name KRHanhua
- // @namespace http://tampermonkey.net/
- // @version 0.2
- // @description Translate krunker.io into Chinese.克鲁克汉化js脚本。好耶!
- // @author DD
- // @match https://krunker.io/*
- // @grant none
- // ==/UserScript==
-
-
- (function() {
- 'use strict';
-
-
- //设置二级分类,三维数组,1:设置页;2:元素;3:正则表达式与中文.
- var setTaghed = [
- [
- ['/(.*)Localization(.*)requires restart(.*)/s','$1本地化$2需要重启$3'],
- ['/Network/','网络'],
- ['/Server Browser/','服务器浏览'],
- ['/Popups/','弹窗'],
- ['/Experimental/','实验性'],
- ],[
- ['/Gameplay/','键盘'],
- ['/Controller/','手柄'],
- ],[
- ['/Interface/','UI'],
- ['/Chat/','聊天'],
- ['/Crosshair/','准星'],
- ['/Hitmarker/','判定点'],
- ],[
- ['/Performance/','显示'],
- ['/Post Processing/','后处理'],
- ['/Editing/','编辑'],
- ],[
- ['/Gameplay Privacy/','游玩隐私'],
- ['/View Model/','模型显示'],
- ['/Customization/','自定义'],
- ],[
- ['/Audio/','音频'],
- ]
- ]
- //设置名,三维数组,1:设置页;2:元素;3:正则表达式与中文.
- var setTagName = [
- [
- //['/(.*)Backup Settings(.*)Upload(.*)Download(.*)/s','$1后台设置$2下载$3上传$4'],
- ['/(.*)Default Region(.*)Frankfurt(.*)Silicon Valley(.*)Sydney(.*)Tokyo(.*)Miami(.*)Singapore(.*)New York(.*)India(.*)Dallas(.*)Brazil(.*)Middle East(.*)South Africa(.*)South Korea(.*)/s','$1默认区服$2法兰克福$3硅谷$4悉尼$5东京$6迈阿密$7新加坡$8纽约$9印度$10达拉斯$11巴西$12中东$13南非$14韩国$15'],
- ['/(.*)Language(.*)English(.*)Spanish(.*)German(.*)Korean(.*)Portuguese(.*)Japanese(.*)/s','$1语言$2英语$3西班牙语$4德语$5韩语$6葡萄牙语$7日语$8'],
- ['/Lag Compensation/','滞后补偿'],
- ['/Auto Routing \([^\)]*\)/','自动路由(影响Ping)'],
- ['/High Tickrate/','高刷新率'],
- ['/Legacy Browser/','旧版浏览器'],
- ['/Default Region Only/','仅默认区服'],
- ['/Show Free KR Popup/','显示免费KR弹窗'],
- ['/Mouse Flick Fix/','鼠标甩动修正'],
- ['/Mouse Flick Fix undefined/','鼠标甩动修正未定义'],
- ['/Aim Freeze Fix/','瞄准卡顿修正'],
- ['/Instance Rendering/','实例渲染'],
- ],[
- ['/(.*)Keybinds(.*)Edit(.*)/s','$1按键绑定$2编辑$3'],
- ['/X Sensitivity/','X灵敏度'],
- ['/Y Sensitivity/','Y灵敏度'],
- ['/Aim X Sensitivity/','瞄准X灵敏度'],
- ['/Aim Y Sensitivity/','瞄准Y灵敏度'],
- ['/Scroll Direction/','滚轮方向'],
- ['/Challenge Mode/','挑战模式'],
- ['/Invert Y-Axis/','Y轴反转'],
- ['/Disable Controllers/','禁用手柄'],
- ['/X Sensitivity/','X灵敏度'],
- ['/Y Sensitivity/','Y灵敏度'],
- ['/Aim X Sensitivity/','瞄准X灵敏度'],
- ['/Aim Y Sensitivity/','瞄准Y灵敏度'],
- ['/Dead Zone \([^\)]*\)/','死区(左)'],
- ['/Dead Zone \([^\)]*\)/','死区(右)'],
- ['/Trigger Threshold/','触发阈值'],
- ['/Invert Y-Axis/','Y轴反转'],
- ['/Vibration/','震动'],
- ['/Gradual Speed/','渐进速度'],
- ],[
- ['/UI Scale/','UI大小'],
- ['/UI Scale undefined/','UI大小未定义'],
- ['/Show UI/','显示UI'],
- ['/Use Old Scoreboard/','使用旧版记分板'],
- ['/Disable Rarity Animations/','禁用Rarity动画'],
- ['/Show Profile Pictures/','显示头像'],
- ['/Dynamic HP Bars/','动态HP栏'],
- ['/Show Hit Indicators/','显示命中标识'],
- ['/Hit Indicator Color/','命中标识颜色'],
- ['/Show Damage/','显示伤害'],
- ['/Damage Color/','伤害颜色'],
- ['/Crit Color/','暴击颜色'],
- ['/Damage Scale/','伤害显示大小'],
- ['/Show Kill Feed/','显示KillFeed'],
- ['/Show Kill Counter/','显示击杀数'],
- ['/Show Death Counter/','显示死亡数'],
- ['/(.*)Show (.*) Counter(.*)/s','$1显示$2比$3'],
- ['/Show Score Counter/','显示分数'],
- ['/Show Streak Counter/','显示连续击杀数'],
- ['/Show Ping/','显示Ping'],
- ['/Show Network Stats/','显示网络状态'],
- ['/Show FPS/','显示FPS'],
- ['/Show Movement Speed/','显示移动速度'],
- ['/Speed X Offset/','速度显示X偏移'],
- ['/Speed Y Offset/','速度显示Y偏移'],
- ['/Speed Scale/','速度显示大小'],
- ['/Speed Opacity/','速度显示不透明度'],
- ['/Speed Color \([^\)]*\)/','速度显示颜色(一般)'],
- ['/Speed Color \([^\)]*\)/','速度控件颜色(Max)'],
- ['/Show Medals/','显示奖励'],
- ['/(.*)Nametag Display(.*)Everyone(.*)Team Only(.*)Enemy Only(.*)Off(.*)/s','$1名签显示$2所有人$3仅队友$4仅敌人$5关闭$6'],
- ['/Nametag Opacity/','名签不透明度'],
- ['/(.*)Nametag Style(.*)Everything(.*)Name Only(.*)Name & Level Only(.*)Health Only(.*)/s','$1名签格式$2全部$3仅名字$4仅名字和等级$5仅血量$6'],
- ['/Nametag Health Number/','血量数'],
- ['/Nametag Health Color Team/','队友血条颜色'],
- ['/Nametag Health Color Enemy/','敌人血条颜色'],
- ['/XP Bar Color/','XP栏颜色'],
- ['/XP Bar Opacity/','XP栏透明度'],
-
- ['/(.*)Show Chat Box(.*)Always(.*)While Focused(.*)Off(.*)/s','$1显示聊天框$2总是$3仅获得焦点时$4关闭$5'],
- ['/Profanity Filter/','芬芳过滤器'],
- ['/Show Player/','显示玩家消息'],
- ['/Show Unboxings/','显示开箱'],
- ['/Chat Opacity/','聊天不透明度'],
- ['/Chat BG Opacity/','聊天背景不透明度'],
- ['/Chat Text Outline/','聊天文本轮廓'],
- ['/Chat Height/','聊天高度'],
- ['/Chat Timer/','聊天计时器(s)'],
-
- ['/(.*)Type(.*)Off(.*)Default(.*)Custom(.*)Layered(.*)Image(.*)Precision(.*)/s','$1类型$2关闭$3默认$4自定义$5分层$6图片$7精细$8'],
- ['/(.*)Style(.*)Cross(.*)Hollow Circle(.*)Solid Circle(.*)Hollow Square(.*)Solid Square(.*)/s','$1风格$2十字形$3空心圆$4实心圆$5空心方$6实心方$7'],
- ['/Image/','图像'],
- ['/Custom Opacity/','自定义不透明度'],
- ['/Use Custom Opacity undefined/','使用自定义不透明度未定义'],
- ['/Always Show/','总是显示'],
- ['/Color/','颜色'],
- ['/Shadow Color/','阴影颜色'],
- ['/Shadow Thickness/','阴影厚度'],
- ['/Thickness/','厚度'],
- ['/Size/','大小'],
- ['/Gap/','间隙'],
- ['/Dot/','点'],
-
- ['/Show/','显示'],
- ['/Color/','颜色'],
- ['/Kill Color/','击杀颜色'],
- ['/Opacity/','不透明度'],
- ['/Length/','长度'],
- ['/Thickness/','厚度'],
- ['/Spacing/','间距'],
- ['/Anim Size/','动画大小'],
- ['/Anim Speed/','动画速度'],
- ['/Fade Speed/','消失速度'],
- ['/Hitmarker Image/','Hitmarker图像'],
- ],[
- ['/Resolution/','分辨率'],
- ['/Frame Cap/','Frame cap(?)'],
- ['/(.*)Aspect Ratio(.*)Presets(.*)Native(.*)/s','$1长宽比$2预设$3本地$4'],
- ['/Antialiasing/','抗锯齿'],
- ['/Low Spec/','低配模式'],
- ['/No Textures/','无纹理'],
- ['/Map Details/','地图细节'],
- ['/Particles/','粒子效果'],
- ['/Particle Distance/','粒子距离'],
- ['/Render Distance/','渲染距离'],
- ['/(.*)Reflection Quality(.*)Map Dependent(.*)/s','$1反射质量$2跟随地图$3'],
- ['/Shadows/','阴影'],
- ['/Soft Shadows/','软阴影'],
- ['/High-Res/','高分辨率阴影'],
- ['/Dynamic Shadows/','动态阴影'],
- ['/Ambient Shading/','环境光着色'],
- ['/Old Shading/','旧版着色'],
- ['/Bullet Trails/','子弹轨迹'],
- ['/Your Trails/','你的轨迹'],
- ['/Muzzle Flash/','枪口闪光'],
- ['/Sniper Flap/','sniper flap(?)'],
- ['/Texture Animations/','纹理动画'],
- ['/Object Animations/','物体动画'],
- ['/Screen Shake/','屏幕抖动'],
- ['/Weapons Shine/','武器发光'],
- ['/(.*)Lighting(.*)Low(.*)Normal(.*)High(.*)/s','$1光照$2低$3中$4高$5'],
- ['/Show Explosions/','显示爆炸'],
-
- ['/Post Processing/','后处理'],
- ['/Bloom/','Bloom'],
- ['/Bloom Threshold/','Bloom阈值'],
- ['/Bloom Strength/','Bloom强度'],
- ['/Bloom Radius/','Bloom半径'],
- ['/SSAO/','SSAO'],
- ['/SSAO Radius/','SSAO半径'],
-
- ['/HUD Health High/','血量高HUD颜色'],
- ['/HUD Health Low/','血量低HUD颜色'],
- ['/Speed Lines/','速度线'],
- ['/Speed Lines Color/','速度线颜色'],
- ['/Show Popup Score/','显示弹出得分'],
- ['/Popup Score Color/','弹出得分颜色'],
- ['/Popup Score Shadow/','弹出得分阴影'],
- ['/Popup Score Scale/','弹出得分大小'],
- ['/Popup Score X Offset/','弹出得分X偏移'],
- ['/Popup Score Y Offset/','弹出得分Y偏移'],
- ['/Progress Bar Color/','进度条颜色'],
- ['/Progress Bar Opacity/','进度条不透明度'],
- ['/Progress Bar Shadow/','进度条阴影'],
- ['/Progress Bar Scale/','进度条大小'],
- ['/Progress Bar X Offset/','进度条X偏移'],
- ['/Progress Bar Y Offset/','进度条Y偏移'],
- ['/Progress Bar Rotation/','进度条角度'],
- ['/Saturation \([^\)]*\)/','画面饱和度(游戏中)'],
- ['/Saturation \([^\)]*\)/','画面饱和度(UI)'],
- ['/Color Hue \([^\)]*\)/','画面色调(游戏)'],
- ['/Color Hue \([^\)]*\)/','画面色调(UI)'],
- ['/Vignette/','Vignette(?)'],
- ['/Killfeed Limit/','Killfeed限制'],
- ['/Bullet Tracers undefined/','子弹示踪未定义'],
- ['/Bullet Tracers/','子弹示踪'],
- ['/Tracer Offset/','示踪偏移'],
- ],[
- ['/Streamer Mode/','主播模式'],
- ['/Anonymous Mode/','匿名模式'],
- ['/Hide Game Title/','隐藏游戏标题'],
-
- ['/Field of View/','视场'],
- ['/Weapon FOV/','武器视场'],
- ['/Weapon Bobbing/','武器颠簸'],
- ['/Weapon Leaning/','武器摇摆'],
- ['/Weapon Rotation/','武器角度'],
- ['/Weapon X Offset/','武器X偏移'],
- ['/Weapon Y Offset/','武器Y偏移'],
- ['/Weapon Z Offset/','武器Z偏移'],
- ['/Weapon ADS Y Offset/','武器开镜Y偏移'],
- ['/Weapon Swap Y/','武器更换Y位置'],
- ['/Weapon Reload Y/','武器装填Y位置'],
- ['/Left Handed/','左手持枪'],
- ['/ADS FOV Power/','ADS FOV power(?)'],
- ['/Weapon Aim Animation/','武器瞄准动画'],
- ['/Hide Weapon on ADS/','开镜隐藏武器'],
- ['/Show Hands/','显示双手'],
- ['/Show Primary/','显示主武器'],
- ['/Show Secondary/','显示副武器'],
- ['/Show Melee/','显示近战武器'],
- ['/Rounded Arms/','Rounded Arms(?)'],
-
- ['/Load Mods/','加载Mod'],
- ['/Allow Logo Changes/','允许Logo变换'],
- ['/Auto-Load Mod/','自动加载Mod'],
- ['/Scope Borders/','镜筒遮罩颜色'],
- ['/Scope Borders undefined/','镜筒遮罩未定义'],
- ['/Scope Borders Opacity/','镜筒遮罩不透明度'],
- ['/Scope Image Width/','镜筒图像宽度'],
- ['/Scope Image Height/','镜筒图像高度'],
- ['/Scope Opacity/','镜筒不透明度'],
- ['/Reticle Image Width/','十字线图像宽度(?)'],
- ['/Reticle Image Height/','十字线图像高度(?)'],
- ['/Match End Message/','对局结束自动回复'],
- ['/Ammo Icon Image/','子弹图标图像'],
- ['/Kills Icon Image/','击杀图标图像'],
- ['/Deaths Icon Image/','死亡图标形象'],
- ['/Streak Counter Icon Image/','连续击杀计数器图标图像'],
- ['/Use Damage Overlay/','使用伤害覆盖'],
- ['/Damage Overlay Image/','伤害覆盖图像'],
- ['/Timer Icon Image/','计时器覆盖图像'],
- ['/Game Overlay Image/','游戏覆盖图像'],
- ],[
- ['/Master Volume/','主音量'],
- ['/Ambient Volume/','环境音量'],
- ['/Action Volume/','动作音量'],
- ['/Voice Volume/','语音音量'],
- ['/Weapon Volume/','武器音量'],
- ['/Player Volume/','玩家音量'],
- ['/Cosmetics Volume/','Cosmetics音量(?)'],
- ['/UI Volume/','UI音量'],
- ['/Asset Volume/','资产音量(?)'],
- ]
- ]
-
-
- //base fuction
- function walkList(list, doFor) {
- for(var i in list){
- doFor(list, i)
- }
- }
- function classname(classname) {
- return document.getElementsByClassName(classname)
- }
- function replace(i, name, a, b) {
- classname(name)[i].innerHTML = classname(name)[i].innerHTML.replace(eval(a), b)
- }
- function id(id) {
- return document.getElementById(id)
- }
-
-
- //汉化菜单
- var Menu = ["账号","商店","挑战","中心","游戏","Mod","设置","退出"]
- walkList(Menu, (list, i)=>{
- classname('menuItemTitle')[i].innerHTML = list[i]
- classname('menuItemTitle')[i].style.cssText = 'font-size:20px;'
- })
-
-
- //修改菜单单击事件绑定汉化面板函数
- var openWindow = [5,14,33,0,10,4,1]
- var changeWindow = [] //汉化面板函数列表
- walkList(openWindow, (list, i)=>{
- classname('menuItem')[i].onclick = ()=>{
- showWindow(list[i])
- changeWindow[i]
- }
- })
-
-
- //每秒检测一遍设置页
- var setTag = ['General', 'Controls', 'Display', 'Render', 'Game', 'Sound']
- var oldSetTag = ''
- var newSetTag = ''
- var setTagIndex = -1
-
-
- setInterval(()=>{
- newSetTag = classname('settingTab tabANew')[0].innerText
- setTagIndex = setTag.indexOf(newSetTag)
-
- if( newSetTag != oldSetTag && setTagIndex >= 0 ) {
-
- //改setHed设置二级分类
- walkList(setTaghed[setTagIndex], (list, i)=>{
- replace(i, 'setHed',list[i][0], list[i][1])
- })
-
- //改settName设置名
- walkList(setTagName[setTagIndex], (list, i)=>{
- replace(i, 'settName',list[i][0], list[i][1])
- })
- }
- oldSetTag = newSetTag
- }, 200)
-
- })();