您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Translate Youtube subtitles for your browser language
当前为
- // ==UserScript==
- // @name Translate Youtube subtitles
- // @version 1.6.3
- // @description Translate Youtube subtitles for your browser language
- // @author CoinkBeta
- // @match *://www.youtube.com/watch?v=*
- // @match *://www.youtube.com
- // @match *://www.youtube.com/*
- // @require https://unpkg.com/ajax-hook@2.0.2/dist/ajaxhook.min.js
- // @grant none
- // @namespace https://github.com/CoinkWang/Y2BDoubleSubs
- // ==/UserScript==
- (function() {
- let localeLang = navigator.language
- ah.proxy({
- onRequest: (config, handler) => {
- handler.next(config);
- },
- onResponse: (response, handler) => {
- if (response.config.url.includes('/api/timedtext') && !response.config.url.includes('&translate_h00ked')){
- let xhr = new XMLHttpRequest(); // Use RegExp to clean '&tlang=...' in our xhr request params while using Y2B auto translate.
- let reg = new RegExp("(^|[&?])tlang=([^&]*)",'g');
- xhr.open('GET', `${response.config.url.replace(reg,'')}&tlang=${localeLang}&translate_h00ked`, false);
- xhr.send();
- let localeJson = null;
- localeJson = JSON.parse(xhr.response) // Merge default subs with locale language subs
- response.response = JSON.stringify(localeJson)
- }
- handler.resolve(response)
- }
- })
- })();