您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
DLsite 성우 이름 전처리 번역.
当前为
// ==UserScript== // @name DLsite 성우 커스텀 사전 // @namespace http://tampermonkey.net/ // @version 1.1 // @description DLsite 성우 이름 전처리 번역. // @author Ravenclaw5874 // @match https://www.dlsite.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=dlsite.com // @require http://code.jquery.com/jquery-3.6.1.min.js // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // @license MIT License // ==/UserScript== let dict = { '陽向葵ゅか':'히나타 유카', '藍沢夏癒':'아이자와 나츄', 'かの仔':'카노코', '天知遥':'아마치 하루', '思ちぽ':'오모이 치포', '一之瀬りと':'이치노세 리토', '縁側こより':'엔가와 코요리', '柚木つばめ':'유즈키 츠바메', '大山チロル':'오오야마 치로루', '乙倉ゅい':'오토쿠라 유이', '来夢ふらん':'쿠루무 프랑', '逢坂成美':'아이사카 나루미', '分倍河原シホ':'부바이가와라 시호', '涼花みなせ':'스즈카 미나세', 'みもりあいの':'미모리 아이노', '山田じぇみ子':'야마다 제미코', '秋野かえで':'아키노 카에데', 'みやぢ':'미야지', '御崎ひより':'미사키 히요리', '涼貴涼':'스즈키 료우', '伊ヶ崎綾香':'이가사키 아야카', '沢野ぽぷら':'사와노 포푸라', '琴音有波':'코토네 아루하', '兎月りりむ。':'우즈키 리리무', 'そらまめ。':'소라마메' }; HTMLCollection.prototype.forEach = Array.prototype.forEach; let isBold = false; let isProductPage = location.pathname.includes('/work/') || location.pathname.includes('/announce/'); async function main() { 'use strict'; isBold = await GM.getValue('isBold', false); //볼드 설정 불러오기 $('#container *').contents().each(function() { //텍스트 노드, 부모 존재 if(this.nodeType !== 3 || this.parentElement === null) return; //사전에 있으면 계속, 없으면 종료. let isInDict = false; for (let key in dict) { if (this.textContent.includes(key)) { isInDict = true; break; } } if (!isInDict) return; //모든 성우명이 바뀐 HTML로 한번에 교체 let replaceHTML = this.parentElement.innerHTML; for (let key in dict) { //let from = new RegExp(`${key}`, 'g'); let repl = `<span class="notranslate">${dict[key]}</span>`; (isBold && !isProductPage) ? repl = `<b>${repl}</b>`: repl; replaceHTML = replaceHTML.replaceAll(key,repl); } this.parentElement.innerHTML = replaceHTML; }); } function SetBold(newState) { isBold = newState; GM_setValue('isBold', isBold) } function ActivateBold() {SetBold(true);} function DeactivateBold() {SetBold(false);} function registerMenuCommand() { GM_registerMenuCommand(`전처리 성우명 볼드 표시 활성화`, ActivateBold); GM_registerMenuCommand(`전처리 성우명 볼드 표시 비활성화`, DeactivateBold); }; main(); registerMenuCommand();