const textMap = {
"Combat Readiness": "전태",
"Pistoleer": "핸건",
"Loyal Companion": "두동",
"Time to Hunt": "사시",
"Communication Overflow": "교감",
"Evolutionary Legacy": "유산",
"Lone Knight": "고기",
"Berserker Technique": "비기",
"Demonic Impulse": "충동",
"Firepower Enhancement": "화강",
"Wind Fury": "질풍",
"Drizzle": "이슬비",
"Brawl King Storm": "권왕",
"Robust Spirit": "역천",
"Full Moon Harvester": "만월",
"Shock Training": "충단",
"Esoteric Skill Enhancement": "오의강화",
"Mayhem": "광기",
"Peacemaker": "피메",
"Judgment": "심판자",
"Arthetinean Skill": "기술",
"Enhanced Weapon": "강무",
"Asura's Path": "수라",
"First Intention": "초심",
"Night's Edge": "그믐",
"Perfect Suppression": "억제",
"Ultimate Skill: Taijutsu": "체술",
"Barrage Enhancement": "포강",
"Igniter": "점화",
"Death Strike": "죽습",
"Esoteric Flurry": "오의난무",
"Control": "절제",
"Punisher": "처단",
"Predator": "포식",
"Order of the Emperor": "황제",
"Phantom Beast Awakening": "환각",
"Ferality": "야성",
"Hunger": "갈증",
"Rage Hammer": "분망",
"Pinnacle": "절정",
"Gravity Training": "중수",
"Energy Overflow": "세맥",
"Master Summoner": "상소",
"Reflux": "환류",
"Lunar Voice": "달소",
"Grace of the Empress": "황후",
"Remaining Energy": "잔재",
"Surge": "버스트",
"Deathblow": "일격",
"Shining Knight": "빛의기사",
"Recurrence": "회귀",
"True Courage": "진용",
"Dreadful Roar": "드드",
"Hellfire Successor": "업화",
"Full Bloom": "만개",
"Liberator": "해방자",
"Desperate Salvation": "절구",
"Blessed Aura": "신보",
"Valkyrie": "발키리",
"Paladin": "홀나",
"Artist": "도화가",
"Bard": "바드",
"AP": "공증",
"Brand": "낙인",
"Identity": "아덴",
"H.A. Skill": "초각스",
"Absolute": "절대",
"Relative": "상대적",
"Performance": "성능",
"Filters": "분류",
"Raid": "레이드",
"Gate 1": "1관",
"Gate 2": "2관",
"Mordum": "모르둠",
"Armoche": "4막",
"Kazeros": "카제로스",
"Difficulty": "난이도",
"Normal": "노말",
"Hard": "하드",
"The First": "더퍼스트",
"Damage Type": "데미지 종류",
"uDPS": "서폿 버프 제외 DPS",
"Filter By": "분류 방법",
"Item Level": "아이템 레벨",
"Combat Power": "전투력",
"by Combat Power": "1투력당",
"Additional Options": "추가 설정",
"Include Bus": "버스 포함",
"Include Weird": "특이한 파티 조합 포함",
"Patch": "패치 버전",
"January": "1월",
"February": "2월",
"March": "3월",
"April": "4월",
"May": "5월",
"June": "6월",
"July": "7월",
"August": "8월",
"September": "9월",
"October": "10월",
"November": "11월",
"December": "12월",
"Sort By": "정렬",
"Floor": "최솟값",
"Q1": "하위 사분위수",
"Median": "중앙값",
"Q3": "상위 사분위수",
"Ceiling": "최댓값",
"Best": "최고 기록",
"Support": "서폿",
"bDPS": "조력 DPS",
"Uptime": "유효율",
"Last updated": "마지막 갱신",
"minutes ago": "분 전",
"Details": "세부 정보",
"Click on a row to view more details.": "행을 클릭하면 자세한 내용을 확인할 수 있습니다",
};
function replaceTextInNode(node) {
if (node.nodeType === Node.TEXT_NODE) {
for (const [key, value] of Object.entries(textMap)) {
if (node.nodeValue.includes(key)) {
node.nodeValue = node.nodeValue.replaceAll(key, value);
}
}
} else {
for (const child of node.childNodes) {
replaceTextInNode(child);
}
}
}
// 페이지 전체 텍스트 바꾸기 (초기 실행)
replaceTextInNode(document.body);
// 이후 DOM 변화 감지해서 자동 변환
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
if (mutation.addedNodes.length > 0 || mutation.type === "childList") {
replaceTextInNode(document.body);
break;
}
}
});
observer.observe(document.body, {
childList: true,
subtree: true,
});