読者です 読者をやめる 読者になる 読者になる

YouTube動画を埋め込む時に字幕指定する方法

f:id:yuoak:20170116170241p:plain

ウェブサイトやブログでYouTubeの動画を埋め込むことは多いと思います。
今回、仕事で複数の言語の字幕が入った動画を埋め込むことになったのでメモ。

通常、YouTubeで埋め込みコードを発行すると、下記のようなコードが発行されます。これに字幕表示のパラメータを追加します。

<iframe width="560" height="315" src="https://www.youtube.com/embed/xxxxxxxxxxx" frameborder="0" allowfullscreen></iframe>

URLに「cc_load_policy」をつけると字幕表示

埋め込み動画に字幕を表示するには、まず「&cc_load_policy=1」のパラメータを追加します。

<iframe width="560" height="315" src="https://www.youtube.com/embed/xxxxxxxxxxx&cc_load_policy=1" frameborder="0" allowfullscreen></iframe>

「cc_lang_pref」をつけると言語指定

続いて「cc_lang_pref」で言語コードを指定すると、指定した言語の字幕が表示されます。

<iframe width="560" height="315" src="https://www.youtube.com/embed/xxxxxxxxxxx&cc_load_policy=1&cc_lang_pref=en" frameborder="0" allowfullscreen></iframe>

↓英語(言語コード「en」)の字幕を指定した場合はこちら。

中国語(簡体字と繁体字)の指定でハマる

ここからが本題。中国語を字幕指定する場合にかなり手間取ってしまいました。

中国語には大きく「簡体字」「繁体字」の2つがあります。「簡体字」が中華人民共和国で使われている中国語、「繁体字」が台湾や香港などで使われている中国語です。
「簡体字」の言語コードは「zh-cn」、「繁体字」の言語コードは「zh-tw」なのですが、これを先ほどの「cc_lang_pref」に入れても字幕が全然表示されません。

1時間近く悪戦苦闘、ネットを調べまくった結果、やっとそれぞれの字幕を表示させることができました。
単純に「zh-CN」「zh-TW」と、後ろ部分を大文字にすればよかったんですね…。ガックリ。
ネットに全然この情報がなかったので書き残しておきます。

簡体字の字幕

<iframe width="560" height="315" src="https://www.youtube.com/embed/xxxxxxxxxxx&cc_load_policy=1&cc_lang_pref=zh-CN" frameborder="0" allowfullscreen></iframe>

繁体字の字幕

<iframe width="560" height="315" src="https://www.youtube.com/embed/xxxxxxxxxxx&cc_load_policy=1&cc_lang_pref=zh-TW" frameborder="0" allowfullscreen></iframe>
スポンサーリンク