// ==UserScript==
// @name YouTube 自动设置中文字幕
// @match *://youtube.com/*
// @match *://*.youtube.com/*
// @author kernelpanic
// @description 自动设置中文字幕,如果没有则自动选择英文->简体中文翻译
// @icon https://www.youtube.com/favicon.ico
// @noframes
// @run-at document-idle
// @version 1.0
// ==/UserScript==
(() => {
let main = function(event) {
if (event !== undefined && event.target.numNavigations_ == 0) {
return;
}
if (!/\/(watch)/.test(window.location.pathname)) {
return;
}
let player = document.querySelector('.html5-video-player');
player.toggleSubtitles();
var trackList = player.getOption('captions', 'tracklist');
if (trackList === undefined) {
console.log('本视频不支持字幕或翻译!');
return;
}
var availableTracks = trackList.map(track => track.languageCode);
console.log(`支持的字幕: ${availableTracks}`)
if(availableTracks.includes('zh-Hans')){
console.log('有中文字幕,直接加载!');
player.setOption('captions', 'track', {languageCode: 'zh-Hans'});
}else{
console.log('没有中文字幕,设置自动翻译');
player.setOption('captions', 'track', {"languageCode":"en","languageName":"英语","displayName":"英语","kind":"","name":null,"id":null,"is_servable":false,"is_default":false,"is_translateable":true,"vss_id":".en","translationLanguage":{"languageCode":"zh-Hans","languageName":"中文(简体)"}});
}
}
window.addEventListener('yt-navigate-finish', main);
})();
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.