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 });
})();
スポンサーリンク
導入ステップ(初心者向け)
- Chromeに「Tampermonkey」をインストール(Chromeウェブストア)
- 拡張機能アイコンをクリックして「新しいスクリプトを作成」
- 上のスクリプトを貼り付けて「ファイル」>「保存」
- YouTubeの動画を開いて動作を確認
もしできてなかった、一度 字幕を自動生成して、それを「日本語」に翻訳すれば適応されるはずです。
注意点
- YouTubeのUIが変わると動かなくなる可能性があります
- スクリプトが動作するまで1〜2秒ほど遅れる場合があります
- 字幕ボタンが現れない動画では処理がスキップされます
自動翻訳でストレスを感じていた人は、ぜひ試してみてください!今までの「毎回ポチポチ作業」から解放されるはずです。
スポンサーリンク
おまけ、Tampermonkeyとは?
Tampermonkey(タンパーモンキー)は、Google ChromeやFirefoxなどのブラウザで動作する「ユーザースクリプトマネージャ」です。簡単に言えば、ウェブサイトの挙動を自分好みにカスタマイズできる便利ツール。
たとえば、今回のように「YouTubeを開いたら、自動で字幕を日本語に切り替えてくれる」ような動作を自動化することができます。
Tampermonkeyの特徴:
- 無料で使える拡張機能
- スクリプトを自作・インポートできる
- Webページの見た目や動きを柔軟に変更できる
- セキュリティ的にも比較的安心(スクリプトの中身を確認できる)
技術に詳しくなくても、他の人が作ったスクリプトをコピーして貼り付けるだけで使えるので、ちょっとしたWeb改善にはうってつけのツールです。