How to

YouTubeの自動翻訳字幕を日本語に固定する方法:Tampermonkeyスクリプトで快適視聴!

YouTubeの自動翻訳字幕を日本語に固定する方法:Tampermonkeyスクリプトで快適視聴!

YouTubeで海外の動画を見るとき、最初は英語字幕(自動生成)を表示してくれるけど、「日本語に翻訳してほしい」と思う瞬間、ありますよね?でも、いざ自動翻訳をかけようとすると、なぜかアイルランド語やウクライナ語など、望んでもいない言語がズラリ。

「誰がアイルランド語を見たいんだ……」と心の中でツッコんだ経験、僕だけじゃないはずです。

この作業、地味に毎回やるのがめんどくさい。でも、「あ、これ、スクリプトで自動化できるんじゃ?」と思い立って、実際に作ってみました。

スポンサーリンク

なぜこんな仕様なのか?

YouTubeの自動翻訳は「手動で選ぶ前提」の設計になっています。つまり、ユーザー側で「常に日本語にしておいてね」という設定が存在しない。

そのため、毎回手間をかけて「字幕 → 自動翻訳 → 日本語」と選択する必要があります。これがなかなかのストレス。

自動翻訳はありがたい機能だが、日本語以外の言語は「学びたい」とかの人じゃない限り不要なはず。こういうのは使っているブラウザで分けられるようにしたほうがいいのだ。ましてや、ON/OFFで必要なやつだけ出すとかしたらいいのだ。どうだ?YouTubeの開発さんたちよ。貴方にこの気持ちは伝わっているのか?

 解決策:ユーザースクリプトで日本語選択を自動化

今回は Tampermonkey(ユーザースクリプトマネージャ)を使って、YouTubeを開いたときに自動で「字幕 → 自動翻訳 → 日本語」までやってくれるスクリプトを作成しました。

// ==UserScript==
// @name         YouTube 自動翻訳日本語選択
// @namespace    https://youtube.com/
// @version      1.0
// @description  自動的に「自動翻訳 → 日本語」を選ぶ
// @match        https://www.youtube.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const observer = new MutationObserver(() => {
        const gearButton = document.querySelector('.ytp-settings-button');
        if (gearButton) {
            gearButton.click();
            setTimeout(() => {
                const items = document.querySelectorAll('.ytp-menuitem-label');
                items.forEach((item) => {
                    if (item.textContent.includes('字幕')) item.click();
                });

                setTimeout(() => {
                    const autoTranslate = [...document.querySelectorAll('.ytp-menuitem-label')]
                        .find(el => el.textContent.includes('自動翻訳'));
                    if (autoTranslate) autoTranslate.click();

                    setTimeout(() => {
                        const japanese = [...document.querySelectorAll('.ytp-menuitem-label')]
                            .find(el => el.textContent === '日本語');
                        if (japanese) japanese.click();
                    }, 300);
                }, 300);
            }, 300);
        }
    });

    observer.observe(document, { childList: true, subtree: true });
})();

スポンサーリンク

 導入ステップ(初心者向け)

  1. Chromeに「Tampermonkey」をインストール(Chromeウェブストア)
  2. 拡張機能アイコンをクリックして「新しいスクリプトを作成」
  3. 上のスクリプトを貼り付けて「ファイル」>「保存」
  4. YouTubeの動画を開いて動作を確認

もしできてなかった、一度 字幕を自動生成して、それを「日本語」に翻訳すれば適応されるはずです。

 注意点

  • YouTubeのUIが変わると動かなくなる可能性があります
  • スクリプトが動作するまで1〜2秒ほど遅れる場合があります
  • 字幕ボタンが現れない動画では処理がスキップされます

自動翻訳でストレスを感じていた人は、ぜひ試してみてください!今までの「毎回ポチポチ作業」から解放されるはずです。

スポンサーリンク

おまけ、Tampermonkeyとは?

Tampermonkey(タンパーモンキー)は、Google ChromeやFirefoxなどのブラウザで動作する「ユーザースクリプトマネージャ」です。簡単に言えば、ウェブサイトの挙動を自分好みにカスタマイズできる便利ツール。

たとえば、今回のように「YouTubeを開いたら、自動で字幕を日本語に切り替えてくれる」ような動作を自動化することができます。

Tampermonkeyの特徴:

  • 無料で使える拡張機能
  • スクリプトを自作・インポートできる
  • Webページの見た目や動きを柔軟に変更できる
  • セキュリティ的にも比較的安心(スクリプトの中身を確認できる)

技術に詳しくなくても、他の人が作ったスクリプトをコピーして貼り付けるだけで使えるので、ちょっとしたWeb改善にはうってつけのツールです。

読んでほしい

かっこいいひげ剃り探してないですか?
ドイツ老舗ブランド「MUHLE」のシェーバー 電動とかカートリッジ式の髭剃りに飽きたら読んでみて欲しいです。

LUTを20個ほど配ってます

とりあえずDavinci Resolveで使ってみて欲しいLUT配布中
LUTを20個ほど配布することにしました

MPCC似合わせてますが全カメラでも適応可能

  • この記事を書いた人
「喫茶店の部屋」管理者@kissatenのアイコン

喫茶店

「全身性エリテマトーデス」と「両足大腿骨骨頭壊死」という病気を抱えながら、フリーランスとして活動しています。伊勢志摩在住。HP制作、写真撮影、動画撮影を生業としています。 このブログに掲載している写真は、主に EOS R5(2021年頃より)を使用して撮影しています。 お仕事のご相談やレビューのご依頼は、お問い合わせフォームからご連絡ください。 また、YouTubeもやっています。よかったらフォローしてもらえると嬉しいです!

-How to