BiliTran

attempt to translate Simplified Chinese to English on bilibili.com using Google Translate API

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         BiliTran
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  attempt to translate Simplified Chinese to English on bilibili.com using Google Translate API
// @author       mastodonna233
// @match        https://www.bilibili.com/
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';
    var audioElements = document.querySelectorAll('audio');
    
    // Loop through all audio elements on the page
    audioElements.forEach(function(audioElement) {
        // Get the language code for Simplified Chinese (zh-CN)
        var languageCode = 'zh-CN';
        
        // Create a new translation object using the Google Translate API
        var translation = new google.translate.Translation();
        
        // Set the source language to Simplified Chinese (zh-CN)
        translation.setSourceLanguage(languageCode);
        
        // Set the destination language to English (en)
        translation.setDestinationLanguage('en');
        
        // Get the audio element's text content
        var textContent = audioElement.textContent;
        
        // Translate the text using the Google Translate API
        translation.translateText(textContent, function(translatedText) {
            // Replace the original text with the translated text
            audioElement.textContent = translatedText;
        }, {
            // Use the "male" voice for the translation
            voice: 'male',
            
            // Set the pitch and speed of the voice
            pitch: 1,
            speed: 1
        });
    });
})();