월광사 핫산 part2

이거도 받는데스 이제 월광사 접속 ㄱ https://3rdguide.com/web/teamnew/index

// ==UserScript==
// @name         월광사 핫산 part2
// @namespace    https://arca.live/b/hk3rd/4227705(원본)
// @description  이거도 받는데스 이제 월광사 접속 ㄱ https://3rdguide.com/web/teamnew/index
// @version      5.1.1
// @homepage
// @homepageURL
// @author       noisecanceler, ghvmqmfhdlgkdntm
// @match        https://3rdguide.com/web/teamnew/detail*
// @match        https://www.3rdguide.com/web/teamnew/detail*
// @grant        none
// ==/UserScript==
 
(function () {
    'use strict';
    /* globals $ */
 
    // Allow new tab opening of team links
    // https://honkai-guide.web.app/calc/calc.html#/
    // Doesn't allow middle click on FF, mouseup to get around isn't possible because of popup detection,
    // alternative is to just replace div->a in each td but that messes up layout on 2nd col. Meh.
    $('#ct_det tbody').off().on('click', 'tr', function () {
        const urlstr = $(this).find('.tgcol0').data('url');
        if (urlstr != undefined) window.open(urlstr, '_blank');
    })
 
    // Translations
    const tls = {
        misc: {
            '战区': '그룹',
            '终极战区': '종급',
            '高级战区': '고급',
            'SSS难度': 'SSS난이도',
            '强敌': '보스',
            '包含女武神': '발키리',
        },
        bosses: {
        '祸斗': '지양 괴수-화두',
        '托纳提乌·噬日之影': '타나티우·태양을 삼키는 그림자',
        '吼姆王': '호무킹',
        '卡莲': '카렌',
        '绯狱丸': '비옥환',
        '海姆达尔': '신기 헤임달',
        '湮灭沉灵': '인멸침령',
        '苍骑士·月魂': '창기사·월혼',
        '教父军团': '갓파더 군단',
        '特里波卡': '테스카틀리포카·혼돈의 그림자',
        '贝纳勒斯': '베나레스',
        '姬麟·黑': '희헌원·흑',
        '空之律者': '공간의 율자',
        'MHT-3和平使者': 'MHT-3 파시피스타',
        'MHT-3 和平使者': 'MHT-3 파시피스타',
        '阿湿波': '아슈빈',
        '地藏御魂': '지장어혼',
        '赫菲斯托斯': '헤파이스토스',
        '影骑士·月轮': '영기사·월륜',
        '帕凡提': '파르바티',
        '被诅咒的英魂': '저주받은 영령',
        '陨冰之律者':'얼음유성의 율자',
        '八重霞':'카스미',
        '科亚特尔-复生之影':'코아틀-소생의 그림자',
        '科亚特尔':'코아틀',
        'MHT-3B 天堂使者':'탱크',
        '奔狼的领主':'안드리우스',
        '支配之律者-乌合之众':'지배의 율자',
        '高危区':'허수신해',
        },
        valkyries: {
            '符华': '후카',
            '云墨丹心': '단심의 먹구름',
            '雾都迅羽': '안개성의 해청',
            '白夜执事': '백야집사',
            '炽翎': '치령',
            '影骑士·月轮': '영기사 월륜',
            '女武神·迅羽': '발키리 해청',
            '识之律者': '의식의 율자',
 
            '八重樱': '사쿠라',
            '夜隐重霞': '밤 그림자 카스미',
            '真炎幸魂': '진염행혼',
            '逆神巫女': '역신무녀',
            '御神装·勿忘': '헌신화 물망초',
 
            '希儿·芙乐艾': '제레',
            '彼岸双生': '피안쌍생',
            '幻海梦蝶': '환해의 꿈나비',
            '魇夜星渊': '염야성연',
 
            '幽兰黛尔': '듀란달',
            '女武神·荣光': '발키리 영광',
            '辉骑士·月魄': '성휘의 기사 월백',
            '不灭星锚': '데아 앵커',
 
            '德丽莎': '테레사',
            '暮光骑士·月煌': '황혼 기사 월황',
            '月下初拥': '월하초옹',
            '神恩颂歌': '신은송가',
            '处刑装·紫苑': '처형복 반혼초',
            '樱火轮舞': '앵화윤무',
            '女武神·誓约': '발키리 서약',
            '朔夜观星': '삭야관성',
 
            '琪亚娜': '키아나',
            '天穹游侠': '천궁의 레인저',
            '空之律者': '공간의 율자',
            '圣女祈祷': '성녀의 기도',
            '女武神·游侠': '발키리 레인저',
            '白骑士·月光': '백기사 월광',
            '领域装·白练': '투예복 백련',
            '薪炎之律者': '신염의 율자',
 
            '布洛妮娅': '브로냐',
            '理之律者': '이치의 율자',
            '彗星驱动': '혜성 구동',
            '异度黑核侵蚀': '이도 흑핵 침식',
            '银狼的黎明': '은랑의 여명',
            '次元边界突破': '차원 경계 돌파',
            '女武神·战车': '발키리 채리엇',
            '驱动装·山吹': '기동 장갑 황매화',
            '雪地狙击': '설원 저격수',
            '迷城骇兔': '브라우니',
 
            '阿琳姐妹': '아린 자매',
            '樱桃炸弹': '체리 폭탄',
            '蓝莓特攻': '블루베리 특공',
            '狂热蓝调Δ': '열광템포Δ',
 
            '芽衣': '메이',
            '破晓强袭': '새벽의 스트라이크',
            '雷电女王的鬼铠': '뇌전 여왕의 귀신갑주',
            '脉冲装·绯红': '펄스 슈트 비홍',
            '女武神·强袭': '발키리 스트라이크',
            '影舞冲击': '그림자의 춤',
            '雷之律者': '번개의 율자',
 
            '丽塔': '리타',
            '苍骑士·月魂': '창기사 월혼',
            '猎袭装·影铁': '헌트 슈트 팬텀 아이언',
            '黯蔷薇': '검은 장미',
            '失落迷迭': '로스트 로즈마리',
 
            '姬子': '히메코',
            '真红骑士·月蚀': '진홍의 기사 월식',
            '极地战刃': '극지전인',
            '融核装·深红': '퓨전 아머 스칼렛',
            '战场疾风': '전장의 질풍',
            '女武神·凯旋': '발키리 개선',
            '血色玫瑰': '핏빛 장미',
 
            '卡莲': '카렌',
            '原罪猎人': '원죄 사냥꾼',
            '第六夜想曲': '제6 야상곡',
            '圣仪装·今样': '성결 예장 금양',

            '明日香': '내일을 향한 기도',
            '断罪皇女!!': '단죄의 황녀!!',
            '午夜苦艾': '미드나잇 압생트',
            '无限·噬界之蛇': '무한을 삼키는 뱀',
            '粉色妖精小姐♪': '핑크엘프아가씨♪',
        },
        tbhead: {
            '阵容': '라인업',
            '得分': '점수',
            '造价': '비용',
            '操作难度': '난이도',
            '好评数': '좋아요',
            '创建时间': '작성일',
            '队长': '리더',
            '队员1': '파티원1',
            '队员2': '파티원2',


            '红莲': '홍련',
            '苦痛': '고통',
            '寂灭': '적멸',
            '原罪': '원죄',
            '禁忌': '금기',

            '天气': '날씨',
            '区域': '지역',

        },
        weapon: {
            '阳电子手炮': '양전자 블래스터',
            '碎星者·维克兰特': '별 파쇄자 비크란트',
            '彼岸之扉': '피안의 문',
            '脉冲太刀17式': '펄스 태도 17식',
            '鲜血之舞': '선혈의 춤',
            '真理之钥': '진리의 열쇠',
            '真理之境:启示': '진리지경: 계시',
            '雷切': '뇌절',
            '胧光之努亚达': '농광의 누아다',
            '雷刀·鬼角': '뇌도 귀각',
            '重磁暴·斩': '마그네틱 스톰 참 헤비형',
            '索尔之锤': '토르의 망치',
            '极夜之赫卡忒': '극야의 헤카테',
            '11th原典': '11th 원전',
            '11th圣遗物': '11th 성유물',
            '2nd圣遗物': '2nd 성유물',
            '火刀·真田': '화도 사나다',
            '仿犹大·血之拥抱': '모조된 유다 피의 포옹',
            '犹大的誓约': '유다의 서약',
            '劫灭': '겁멸',
            '游骑兵十字架': '레인저 십자가',
            '翠羽落花': '취우낙화',
            '妖刀·赤染樱': '요도 아카조메 사쿠라',
            '魂妖刀 血樱寂灭': '혼요도 적멸 사쿠라',
            '幽色咏叹调': '바이올렛 아리아',
            '御灵刀 寒狱冰天': '어령도 한옥빙천',
            '太虚之握': '태허의 장갑',
            '袖缠云': '소매에 얽힌 구름',
            '月神之守护': '달신의 가호',
            '永暮双狼': '영원히 저무는 쌍랑',
            '永寂之赫勒尔': '영적의 헬러',
            '赤鸢之翼': '정위의 날개',
            '百手巨人终型': '헤카톤테일 최종형',
            '吞噬火炮': '잠식의 캐넌',
            '天鹅湖': '백조의 호수',
            '睡美人': '잠자는 숲속의 미녀',
            '童谣': '동요',
            '神陨剑·史尔特尔': '신운검 수르트',
            '热能切割刃': '열에너지 절단검',
            '游骑兵腕甲': '레인저의 완갑',
            '残火之鸢': '잔화의 연',
            '妖刀村正': '요도 무라마사',
            '天殛之钥': '천극의 열쇠',
            '天殛之境:裁决': '천극지경:심판',
            '朗基努斯之枪': '롱기누스의 창',
            '星枪 主序星': '스타 랜스 주계열성',
            '贯星枪 人马座': '스타 피어스 인마궁',
            '锦筝叹': '금쟁탄',
            '睡美人之梦': '잠자는 미녀의 꿈',
            '劫灭无烬': '영원한 불꽃의 겁멸',
            '涅炎剑·史尔特尔': '열염검·수르트',
            '安息鸢尾': '안식의 아이리스',
            '黑轩辕剑': '흑헌원검',
            '妖精剑·希尔文': '요정검·실반',
            '无存之钥': '의식의 열쇠',
            '羽渡尘': '우도진',
            '凡尘难渡': '범진난도',
            '千翎湮尘': '천령진인',
            '黑渊白花': '백화흑연',
            '无存之境:意识': '천존지경·의식',
            '碎骨兔19c': '분쇄토끼19c',
            '樱花的救赎': '벚꽃의 구원',
            '轻弦': '경현',
            '戴月鸦啼': '까마귀 우는 밤',
            '幽夜华尔兹': '유야의 왈츠',
            '冥府携香': '명계로 이끄는 향',
            '拂手阴晴': '불수음청',
            '焢煌之境:劫炎永燎': '염황지경·겁화',
            '往世的蛇影·死之衣': '뫼비무기초월',
        },
        stigma: {
            '古斯塔夫·克里姆特': '구스타프 클림트',
            '伊萨克·牛顿': '아이작 뉴턴',
            '特斯拉·乐队': '테슬라 밴드',
            '泳装派对': '수영복 파티',
            '爱伦·坡': '앨런 포',
            '叶采章': '김성탄',
            '奥吉尔': '오지에',
            '瓦尔特·杨': '웰트 양',
            '齐格飞·卡斯兰娜': '지크프리트 카스라나',
            '贝多芬': '베토벤',
            '莫奈': '모네',
            '迪拉克': '디랙',
            '清凉夏日(水球)': '시원한 여름날(물풍선)',
            '佐罗': '조로',
            '爱德文·哈勃': '에드윈 허블',
            '苍玄': '복희',
            '克列欧博克拉': '클레오파트라',
            '石川五右卫门': '이시카와 고에몬',
            '德丽莎·暴食': '테레사 폭식',
            '卡夫卡': '카프카',
            '德丽莎·观星': '제갈공명',
            '西琳·升华': '시린 승화',
            '薛定谔': '슈뢰딩거',
            '姬麟·黑': '희헌원 흑',
            '德古拉': '드라큘라',
            '尼古拉·特斯拉': '니콜라 테슬라',
            '开普勒': '케플러',
            '卡拉瓦乔': '카라바조',
            '符华·乐师': '후카 악사',
            '泰勒斯': '탈레스',
            '普朗克': '플랑크',
            '新年大吉(烟花)': '새해 (폭죽)',
            '莎士比亚': '셰익스피어',
            '萧云': '이이',
            '毕加索': '피카소',
            '吼姆': '호무',
            '符华·戍边': '후카 수호',
            '奥托·阿波卡利斯': '오토 아포칼립스',
            '米开朗基罗': '미켈란젤로',
            '德丽莎·起源': '테레사 기원',
            '琪亚娜·生日': '키아나 생일',
            '赤鸢': '정위',
            '蔡天仪(原张衡)': '장형',
            '王尔德': '와일드',
            '但丁': '단테',
            '长光': '나가미츠',
            '布洛妮娅·懒惰': '브로냐 나태',
            '马可波罗': '마르코 폴로',
            '里纳尔多': '리날도',
            '罗尔德·阿蒙森': '로알 아문센',
            '叶卡捷琳娜(沙皇)': '예카테리나',
            '绯玉丸·礼服': '비옥환 드레스',
            '丹朱': '여와',
            '薛定谔·乐队': '슈뢰딩거 밴드',
            '拉斯普廷': '라스푸틴',
            '空之律者·度假': '공간의 율자 휴가',
            '幽兰戴尔·度假': '듀란달 휴가',
            '希儿·度假': '제레 휴가',
            '爱迪生': '에디슨',
            '艾琳·艾德勒': '아이린 애들러',
            '贝纳勒斯·觉醒': '베나레스·각성',
            '适格者': '적합자',
            '莎士比亚·漂流': '셰익스피어·표류',
            '水镜': '수경',
            '福尔摩斯': '셜록 홈즈',
            '狄更斯': '디킨스',
            '安娜·沙尼亚特': '안나·샤니아트',
            '反叛之刃': '반역의 칼날',
            '双子·约会': '쌍둥이·데이트',
            '希儿·双喜临门': '제레·겹경사',
            '卡莲·云尘': '카렌·운진',
            '反叛之刃': '반역의 칼날',
            '神州折剑套装': '신주절검',
            '适格者套装': '반역의 칼날',
            '反叛之刃第一期': '반역의 칼날',
            '哥伦布': '콜럼버스',
            '屠格涅夫': '투르게네프',
            '阿伏伽德罗': '아보가드로',
            '凡尔纳': '베른',
            '贞仪': '정의',
            '无量塔姬子': '무라타 히메코',
            '林奈': '린네',

        },
        elf: {
            '晓月镇魂歌': '새벽달의 진혼가',
            '仿犹大': '모조 유다',
            '苍玄之书': '복희의 서',
            '赤鸢之翼': '정위의 날개',
            '赤鸢之翼': '테슬라 Zero',
            '贝拉': '벨라',
            '若水': '약수',
            '西琳': '시린',
        }
    }
 
    const tl_el = function (tls, el) {
        if (el && tls[el.innerText]) {
            el.innerHTML = el.innerHTML.replace(el.innerText, tls[el.innerText])
        }
    }
 
    const tl_el2 = function (tls, el) {
        var txt_arr = el.innerText.split("-")
        var txt = el.innerText
        if (txt_arr.length >= 2) {
            txt = txt_arr[1]
        }
        if (el) {
            el.innerHTML = el.innerHTML.replace(el.innerText, tls[txt] || txt)
        }
    }
 
    const translate_detail = function () {
        tl_el2(tls.bosses, document.querySelector('.detail_tn_image_1'))
 
        document.querySelectorAll('.detail_tn_image_2 .item1_t, .detail_tn_image_3 .item1_t, .detail_tn_image_4 .item1_t, .mid_item_center span').forEach(function (element, index) {
            tl_el(tls.tbhead, element)
        })
 
        tl_el(tls.elf, document.querySelector('.detail_content_box_elf .item1 p'))
        document.querySelectorAll('.mid_item_right_top_data_title').forEach(function (element, index) {
            tl_el(Object.assign(tls.valkyries, tls.weapon, tls.stigma), element)
        })
    }
    translate_detail()
})();