Brightcove Player をプログラムでローカライズする
ドキュメント構成
まず、Videoタグ埋め込み実装におけるローカライズ手順を示し、次に iframe 実装について説明します。最後に、プレーヤーを囲むページ コンテンツをローカライズしたい場合に、ローカライズ済みの語彙を編集または追加する方法を紹介します。
言語を含める
ローカライズの最初の作業は、使用する言語を含めることです。利用可能な言語は、以下に示す Video.js language page で確認できます。
- ar.json - アラビア語
- de.json - ドイツ語
- en.json - 英語
- es.json - スペイン語
- fr.json - フランス語
- ja.json - 日本語
- ko.json - 韓国語
- zh-Hans.json - 中国語(簡体字)
- zh-Hant.json - 中国語(繁体字)
以下は、ドイツ語(de)ファイルの内容例です。このファイルには、自動的に翻訳される単語やフレーズが示されています。

ローカライズでサポートする言語を決定したら、それらを含めるようにプレーヤーを設定する必要があります。これは Player Management API を使用して行います。プレーヤー作成時に言語サポートを追加するには、次の curl ステートメントを参考にしたコードを使用できます。
curl \
--header "Content-Type: application/json" \
--user $EMAIL \
--request POST \
--data '{
"name": "Localization Example",
"configuration": {
"languages": [
"de",
"es"
],
"media": {
"sources": [{
"src":"http://solutions.brightcove.com/bcls/assets/videos/Tiger.mp4",
"type":"video/mp4"
}]
}
}
}' \
https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
プレーヤーがすでに存在しており、言語サポートを追加したい場合は、次の curl ステートメントを参考にしたコードを使用してプレーヤーを更新できます。
curl \
--header "Content-Type: application/json" \
--user $EMAIL \
--request PATCH \
--data '{
"languages": [
"de",
"es"
]
}' \
https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/configuration
次に、変更を公開済みプレーヤーに反映させるため、プレーヤーを公開します。以下のコマンドを実行してください。
curl \
--header "Content-Type: application/json" \
--user $EMAIL \
--request POST \
https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/publish
言語が設定されたプレーヤー設定の例は、次のとおりです。

言語を設定する
ローカライズされたコントロール名を使用するには、ユーザーがブラウザーで優先言語を設定する必要があります。具体的な手順はブラウザーや OS によって異なります(大まかなガイダンスは次の段落で説明します)。ブラウザーの優先言語が英語、または利用できない言語の場合は、デフォルト、つまり英語のテキストが表示されます。
ブラウザーのロケール検出は完全に標準化されているわけではないため、少し複雑になる場合があります。一般的に、ブラウザーは次の順序で使用する言語を判断します。
- 埋め込みページの
<html>要素にlang属性が設定されているかを確認する。 - ブラウザー固有のロケール設定を確認する。
- 英語にフォールバックする。
iframe クエリ パラメーター
プレーヤーの iframe 実装を使用している場合は、src 属性にクエリ パラメーターを含めることで、そのプレーヤーの言語を設定できます。たとえば、?videoId=4607746980001 のように既存の動画 ID を指定するクエリ パラメーターに加えて、&language= に続けて言語コードを指定します。以下は、言語をドイツ語に設定した iframe プレーヤー実装の例です。

結果
本ドキュメントの冒頭で述べたとおり、ローカライズされたプレーヤーの結果は一見して分かりにくい場合があります。ローカライズが正しく行われたかを確認するには、大きな再生ボタンを確認してください。ブラウザーのデバッグ ツールを使用して、このボタンを調査します。

HTML をたどっていくと、ボタンのテキストが表示されます。ローカライズされていないバージョンでは、このテキストは Play Video です。

上記の手順を実行すると、プレーヤーはローカライズされます。次のスクリーンショットでは、ボタンがドイツ語にローカライズされています。

iframe 実装
Brightcove Player の iframe 実装のローカライズは、Videoタグ埋め込み版のローカライズと同じです。必要なのは、使用したい言語を含め、ブラウザーで優先言語を設定することだけです。これらの手順はいずれも、本ドキュメントの前半で詳しく説明しています。変更するコードはありません。
言語の変更/追加
Video.js language page に用意されている既存のローカライズを変更、または追加したい場合も、非常に簡単に行えます。既存の翻訳をコピーし、必要に応じて修正するだけです。たとえば、以下はドイツ語の翻訳に Hello と Goodbye を追加した例です(簡潔にするため、すべてのコントロール要素の翻訳は含めていません)。
videojs.addLanguage("de", {
"Play": "Wiedergabe",
"Pause": "Pause",
"Current Time": "Aktueller Zeitpunkt",
"Hello": "Guten Tag",
"Goodbye": "Auf Wiedersehen"
});
この JavaScript は、HTML ページ内に直接記述することも、<script> タグで読み込むことも、または Studio を使用してプレーヤーの設定にスクリプトとして追加することもできます。ファイルの URL は、プレーヤー プロパティの プラグイン セクションに追加します。以下に示すように、ファイルの追加 ボタンを使用して JavaScript ファイルを追加してください。

追加した語彙が言語ファイルに含まれていれば、プレーヤーの localize() メソッドを使用して参照できます。以下のコード スニペットでは、Hello に対応するローカライズ済みの単語を HTML ページ内で使用しています。あわせて、結果のスクリーンショットも示します。
<p id="textTarget">In here: </p>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
document.getElementById("textTarget").innerHTML += myPlayer.localize("Hello");
});
</script>
