Greasy Fork

Greasy Fork is available in English.

KRHanhua

Translate krunker.io into Chinese.克鲁克汉化js脚本。好耶!

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==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)

})();