YouTubeLiveのチャットを言語解析してDeepLによる翻訳結果に置換するChrome拡張機能を作った


YouTubeLiveにてVTuberの動画や生放送を眺めていると,母国語以外のチャットが流れることもあり,それらのチャットをリアルタイムに拾うことができていない配信者が見受けられます.
確かにいちいち翻訳ツールにかけるのは面倒ですが,この状況は非常にもったいないと感じます.
そこで,比較的自然な翻訳をしてくれるDeepLを用いて自動的にチャットを翻訳するツールがあれば便利なのでは?と思い,作ってみました.

Summary of technical topics

Monitor the chat field of YouTube Live with MutationObserver, determine the language with chrome.i18n.detectLanguage(), translate with DeepL API, and replace textContent with translation result.

※ 技術的な話題は ココ から始まります

先行事例と課題

YouTube LiveのチャットをDeepL翻訳してリアルタイム表示するはPythonのtkinterを用いたGUIアプリケーションであり,YouTube data APIでチャットを取得している.
しかし...

  • 実行ファイルは提供されていないのでPython環境を構築する必要があり,環境構築が壁になる(実際,利用しようとして苦戦している方をTwitterで見かけた)

  • すべてのチャットを翻訳してしまうので,DeepL APIの使用料が気になる

  • 以前YouTubeLiveのチャットをniconico風にオーバーレイする【Python】を作ったとき,YouTube data APIの利用上限が厳しいと感じたので,できればYouTube data API以外の方法でチャットを取得したい

  • Liveアーカイブでは利用できない

作ったもの

Google Chrome Web Storeにて無料公開されています.
拡張機能をインストールできる人であれば,(DeepL APIを契約次第)だれでも簡単に利用開始できます.

Chat Translator for DeepL | Chrome 拡張機能

できること

  • YouTubeLiveのチャットの言語を解析し,翻訳したい言語であればDeepL APIを用いて翻訳結果に自動的に書き換える
  • Chat v2.0 Style GeneratorのようなカスタムCSSを適用可能