shaka-player 4.10.13 → 4.10.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/controls.css +3 -3
  2. package/dist/controls.css.map +1 -1
  3. package/dist/locales.js +187 -48
  4. package/dist/shaka-player.compiled.debug.js +225 -225
  5. package/dist/shaka-player.compiled.debug.map +2 -2
  6. package/dist/shaka-player.compiled.js +681 -680
  7. package/dist/shaka-player.compiled.map +3 -3
  8. package/dist/shaka-player.ui.debug.js +390 -377
  9. package/dist/shaka-player.ui.debug.map +3 -3
  10. package/dist/shaka-player.ui.js +853 -839
  11. package/dist/shaka-player.ui.map +3 -3
  12. package/externs/ima.js +22 -2
  13. package/lib/media/streaming_engine.js +3 -3
  14. package/lib/player.js +1 -1
  15. package/lib/text/simple_text_displayer.js +1 -1
  16. package/lib/text/text_utils.js +12 -3
  17. package/lib/text/ttml_text_parser.js +2 -1
  18. package/lib/text/ui_text_displayer.js +0 -4
  19. package/package.json +1 -1
  20. package/ui/less/containers.less +3 -4
  21. package/ui/less/overflow_menu.less +1 -0
  22. package/ui/less/tooltip.less +1 -1
  23. package/ui/locales/ar-XB.json +11 -0
  24. package/ui/locales/ar.json +11 -0
  25. package/ui/locales/bg.json +11 -0
  26. package/ui/locales/ca.json +11 -0
  27. package/ui/locales/cs.json +11 -0
  28. package/ui/locales/da.json +11 -0
  29. package/ui/locales/de.json +13 -2
  30. package/ui/locales/el.json +11 -0
  31. package/ui/locales/en-GB.json +10 -1
  32. package/ui/locales/en-XA.json +12 -1
  33. package/ui/locales/es-419.json +5 -0
  34. package/ui/locales/es.json +1 -0
  35. package/ui/locales/fa.json +15 -4
  36. package/ui/locales/fi.json +11 -0
  37. package/ui/locales/fil.json +11 -0
  38. package/ui/locales/fr.json +3 -3
  39. package/ui/locales/hi.json +11 -0
  40. package/ui/locales/hr.json +11 -0
  41. package/ui/locales/hu.json +12 -1
  42. package/ui/locales/id.json +11 -0
  43. package/ui/locales/it.json +11 -0
  44. package/ui/locales/iw.json +13 -2
  45. package/ui/locales/ja.json +11 -0
  46. package/ui/locales/ko.json +11 -0
  47. package/ui/locales/lt.json +11 -0
  48. package/ui/locales/lv.json +12 -1
  49. package/ui/locales/nl.json +13 -2
  50. package/ui/locales/no.json +11 -0
  51. package/ui/locales/pl.json +8 -7
  52. package/ui/locales/pt-BR.json +1 -0
  53. package/ui/locales/pt-PT.json +1 -0
  54. package/ui/locales/ro.json +11 -0
  55. package/ui/locales/ru.json +11 -0
  56. package/ui/locales/sk.json +11 -0
  57. package/ui/locales/sl.json +11 -0
  58. package/ui/locales/sr.json +11 -0
  59. package/ui/locales/sv.json +11 -0
  60. package/ui/locales/th.json +12 -1
  61. package/ui/locales/tr.json +11 -0
  62. package/ui/locales/uk.json +12 -1
  63. package/ui/locales/vi.json +13 -2
  64. package/ui/locales/zh-TW.json +11 -0
  65. package/ui/locales/zh.json +12 -1
package/externs/ima.js CHANGED
@@ -269,7 +269,6 @@ google.ima.Ad = class {
269
269
  getMediaUrl() {}
270
270
  };
271
271
 
272
-
273
272
  /** @const */
274
273
  google.ima.AdPodInfo = class {
275
274
  /** @return {number} */
@@ -366,7 +365,7 @@ google.ima.AdEvent.Type = {
366
365
  * @description Request for the ad server
367
366
  * @property {string|undefined} adTagUrl
368
367
  * Specifies the ad tag url that is requested from the ad server.
369
- * This parameter is optional if adsReponse is given.
368
+ * This parameter is optional if adsResponse is given.
370
369
  * @property {string|undefined} adsResponse
371
370
  * Specifies a VAST 2.0 document to be used as the ads response instead of
372
371
  * making a request via an ad tag url. This can be useful for debugging
@@ -518,6 +517,9 @@ google.ima.dai.api.Ad = class {
518
517
 
519
518
  /** @return {string} */
520
519
  getCreativeAdId() {}
520
+
521
+ /** @return {!Array.<!google.ima.dai.api.CompanionAd>} */
522
+ getCompanionAds() {}
521
523
  };
522
524
 
523
525
 
@@ -536,6 +538,24 @@ google.ima.dai.api.AdPodInfo = class {
536
538
  getPodIndex() {}
537
539
  };
538
540
 
541
+ /** @const */
542
+ google.ima.dai.api.CompanionAd = class {
543
+ /** @return {?string} */
544
+ getAdSlotId() {}
545
+
546
+ /** @return {string} */
547
+ getContent() {}
548
+
549
+ /** @return {?string} */
550
+ getContentType() {}
551
+
552
+ /** @return {number} */
553
+ getHeight() {}
554
+
555
+ /** @return {?number} */
556
+ getWidth() {}
557
+ };
558
+
539
559
 
540
560
  /** @const */
541
561
  google.ima.dai.api.CuePoint = class {};
@@ -1965,8 +1965,8 @@ shaka.media.StreamingEngine = class {
1965
1965
  reference.startTime <= appendWindowEnd,
1966
1966
  logPrefix + ' segment should start before append window end');
1967
1967
 
1968
- const codecs = MimeUtils.getCodecBase(
1969
- reference.codecs || mediaState.stream.codecs);
1968
+ const fullCodecs = (reference.codecs || mediaState.stream.codecs);
1969
+ const codecs = MimeUtils.getCodecBase(fullCodecs);
1970
1970
  const mimeType = MimeUtils.getBasicType(
1971
1971
  reference.mimeType || mediaState.stream.mimeType);
1972
1972
  const timestampOffset = reference.timestampOffset;
@@ -1984,7 +1984,7 @@ shaka.media.StreamingEngine = class {
1984
1984
  const isResetMediaSourceNecessary =
1985
1985
  mediaState.lastCodecs && mediaState.lastMimeType &&
1986
1986
  this.playerInterface_.mediaSourceEngine.isResetMediaSourceNecessary(
1987
- mediaState.type, mediaState.stream, mimeType, codecs);
1987
+ mediaState.type, mediaState.stream, mimeType, fullCodecs);
1988
1988
  if (isResetMediaSourceNecessary) {
1989
1989
  let otherState = null;
1990
1990
  if (mediaState.type === ContentType.VIDEO) {
package/lib/player.js CHANGED
@@ -7848,7 +7848,7 @@ shaka.Player.TYPICAL_BUFFERING_THRESHOLD_ = 0.5;
7848
7848
  * @export
7849
7849
  */
7850
7850
  // eslint-disable-next-line no-useless-concat
7851
- shaka.Player.version = 'v4.10.13' + '-uncompiled'; // x-release-please-version
7851
+ shaka.Player.version = 'v4.10.15' + '-uncompiled'; // x-release-please-version
7852
7852
 
7853
7853
  // Initialize the deprecation system using the version string we just set
7854
7854
  // on the player.
@@ -112,7 +112,7 @@ shaka.text.SimpleTextDisplayer = class {
112
112
  return false;
113
113
  });
114
114
 
115
- if (!containsCue) {
115
+ if (!containsCue && inCue.payload) {
116
116
  const cue =
117
117
  shaka.text.Utils.mapShakaCueToNativeCue(inCue);
118
118
  if (cue) {
@@ -32,6 +32,10 @@ shaka.text.Utils = class {
32
32
  }).join('');
33
33
  }
34
34
 
35
+ if (!cue.payload) {
36
+ return cue.payload;
37
+ }
38
+
35
39
  // Handle bold, italics and underline
36
40
  const openStyleTags = [];
37
41
  const bold = cue.fontWeight >= shaka.text.Cue.fontWeight.BOLD;
@@ -272,14 +276,19 @@ shaka.text.Utils = class {
272
276
  const cue = new shaka.text.Cue(vttCue.startTime, vttCue.endTime,
273
277
  vttCue.text);
274
278
  cue.line = typeof vttCue.line === 'number' ? vttCue.line : null;
275
- cue.lineAlign = /** @type {shaka.text.Cue.lineAlign} */ (vttCue.lineAlign);
279
+ if (vttCue.lineAlign) {
280
+ cue.lineAlign = /** @type {shaka.text.Cue.lineAlign} */
281
+ (vttCue.lineAlign);
282
+ }
276
283
  cue.lineInterpretation = vttCue.snapToLines ?
277
284
  shaka.text.Cue.lineInterpretation.LINE_NUMBER :
278
285
  shaka.text.Cue.lineInterpretation.PERCENTAGE;
279
286
  cue.position = typeof vttCue.position === 'number' ?
280
287
  vttCue.position : null;
281
- cue.positionAlign = /** @type {shaka.text.Cue.positionAlign} */
282
- (vttCue.positionAlign);
288
+ if (vttCue.positionAlign) {
289
+ cue.positionAlign = /** @type {shaka.text.Cue.positionAlign} */
290
+ (vttCue.positionAlign);
291
+ }
283
292
  cue.size = vttCue.size;
284
293
  cue.textAlign = /** @type {shaka.text.Cue.textAlign} */ (vttCue.align);
285
294
  if (vttCue.vertical === 'lr') {
@@ -108,7 +108,8 @@ shaka.text.TtmlTextParser = class {
108
108
  TtmlTextParser.getCellResolution_(cellResolution);
109
109
 
110
110
  const metadata = TXml.getElementsByTagName(tt, 'metadata')[0];
111
- const metadataElements = metadata ? metadata.children : [];
111
+ const metadataElements =
112
+ (metadata ? metadata.children : []).filter((c) => c != '\n');
112
113
  const styles = TXml.getElementsByTagName(tt, 'style');
113
114
  const regionElements = TXml.getElementsByTagName(tt, 'region');
114
115
 
@@ -710,10 +710,6 @@ shaka.text.UITextDisplayer = class {
710
710
  // Only do this for the text itself.
711
711
  elem.style.backgroundColor = 'rgba(0, 0, 0, 0.8)';
712
712
  }
713
- const fontFamily = inherit((c) => c.fontFamily);
714
- if (fontFamily) {
715
- elem.style.fontFamily = fontFamily;
716
- }
717
713
  }
718
714
  if (text) {
719
715
  elem.textContent = text;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shaka-player",
3
3
  "description": "DASH/EME video player library",
4
- "version": "4.10.13",
4
+ "version": "4.10.15",
5
5
  "homepage": "https://github.com/shaka-project/shaka-player",
6
6
  "author": "Google",
7
7
  "maintainers": [
@@ -22,10 +22,9 @@
22
22
  }
23
23
 
24
24
  /* Set the fonts for all other content. */
25
- * {
26
- font-family: Roboto-Regular, Roboto, sans-serif, TengwarTelcontar;
27
- -webkit-font-smoothing: antialiased;
28
- }
25
+ font-family: Roboto, sans-serif, TengwarTelcontar;
26
+ font-weight: normal;
27
+ -webkit-font-smoothing: antialiased;
29
28
  }
30
29
 
31
30
  /* Each browser has a different prefixed pseudo-class for fullscreened elements.
@@ -39,6 +39,7 @@
39
39
 
40
40
  /* The buttons inside the menu. */
41
41
  button {
42
+ font-family: Roboto, sans-serif, TengwarTelcontar;
42
43
  font-size: 14px;
43
44
  background: transparent;
44
45
  color: black;
@@ -47,7 +47,7 @@
47
47
  content: attr(aria-label);
48
48
 
49
49
  /* Override .material-icons-round text styling */
50
- font-family: Roboto-Regular, Roboto, sans-serif;
50
+ font-family: Roboto, sans-serif, TengwarTelcontar;
51
51
  line-height: calc(@material-icons-width / 2);
52
52
  white-space: nowrap;
53
53
  font-size: 13px;
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "‏‮Ad‬‏ ‏‮duration‬‏",
3
3
  "AD_PROGRESS": "‏‮Ad‬‏ [AD_ON] ‏‮of‬‏ [NUM_ADS]",
4
+ "AD_STATISTICS": "‏‮Ad‬‏ ‏‮statistics‬‏",
4
5
  "AD_TIME": "‏‮Ad‬‏: [AD_TIME]",
6
+ "AIRPLAY": "‏‮AirPlay‬‏",
5
7
  "AUTO_QUALITY": "‏‮Auto‬‏",
6
8
  "BACK": "‏‮Back‬‏",
7
9
  "CAPTIONS": "‏‮Captions‬‏",
8
10
  "CAST": "‏‮Cast‬‏...",
11
+ "CHAPTERS": "‏‮Chapters‬‏",
12
+ "DOWNLOAD_VIDEO_FRAME": "‏‮Save‬‏ ‏‮video‬‏ ‏‮frame‬‏",
9
13
  "ENTER_LOOP_MODE": "‏‮Loop‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮video‬‏",
10
14
  "ENTER_PICTURE_IN_PICTURE": "‏‮Enter‬‏ ‏‮Picture‬‏-‏‮in‬‏-‏‮Picture‬‏",
11
15
  "EXIT_FULL_SCREEN": "‏‮Exit‬‏ ‏‮full‬‏ ‏‮screen‬‏",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "‏‮Picture‬‏-‏‮in‬‏-‏‮Picture‬‏",
27
31
  "PLAY": "‏‮Play‬‏",
28
32
  "PLAYBACK_RATE": "‏‮Playback‬‏ ‏‮speed‬‏",
33
+ "QUALITY": "‏‮Quality‬‏",
34
+ "RECENTER_VR": "‏‮Recenter‬‏",
35
+ "REPLAY": "‏‮Replay‬‏",
29
36
  "RESOLUTION": "‏‮Resolution‬‏",
30
37
  "REWIND": "‏‮Rewind‬‏",
31
38
  "SEEK": "‏‮Seek‬‏",
32
39
  "SKIP_AD": "‏‮Skip‬‏ ‏‮Ad‬‏",
33
40
  "SKIP_TO_LIVE": "‏‮Skip‬‏ ‏‮ahead‬‏ ‏‮to‬‏ ‏‮live‬‏",
41
+ "STATISTICS": "‏‮Statistics‬‏",
42
+ "SUBTITLE_FORCED": "‏‮Forced‬‏",
43
+ "SURROUND": "‏‮Surround‬‏",
44
+ "TOGGLE_STEREOSCOPIC": "‏‮Toggle‬‏ ‏‮stereoscopic‬‏",
34
45
  "UNDETERMINED_LANGUAGE": "‏‮Undetermined‬‏",
35
46
  "UNMUTE": "‏‮Unmute‬‏",
36
47
  "UNRECOGNIZED_LANGUAGE": "‏‮Unrecognized‬‏",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "مدة الإعلان",
3
3
  "AD_PROGRESS": "الإعلان [AD_ON] من [NUM_ADS]",
4
+ "AD_STATISTICS": "إحصاءات الإعلانات",
4
5
  "AD_TIME": "الإعلان: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "تلقائي",
6
8
  "BACK": "رجوع",
7
9
  "CAPTIONS": "الترجمة والشرح",
8
10
  "CAST": "إرسال...",
11
+ "CHAPTERS": "الفصول",
12
+ "DOWNLOAD_VIDEO_FRAME": "حفظ إطار الفيديو",
9
13
  "ENTER_LOOP_MODE": "تكرار الفيديو الحالي",
10
14
  "ENTER_PICTURE_IN_PICTURE": "الدخول في وضع \"نافذة ضمن نافذة\"",
11
15
  "EXIT_FULL_SCREEN": "إنهاء وضع ملء الشاشة",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "نافذة ضمن النافذة",
27
31
  "PLAY": "التشغيل",
28
32
  "PLAYBACK_RATE": "سرعة التشغيل",
33
+ "QUALITY": "الجودة",
34
+ "RECENTER_VR": "إعادة التوسيط",
35
+ "REPLAY": "إعادة التشغيل",
29
36
  "RESOLUTION": "درجة الدقة",
30
37
  "REWIND": "ترجيع",
31
38
  "SEEK": "البحث بالتمرير",
32
39
  "SKIP_AD": "تخطّي الإعلان",
33
40
  "SKIP_TO_LIVE": "الانتقال إلى بث مباشر",
41
+ "STATISTICS": "الإحصاءات",
42
+ "SUBTITLE_FORCED": "عرض إجباري",
43
+ "SURROUND": "صوت محيطي",
44
+ "TOGGLE_STEREOSCOPIC": "إيقاف العرض المجسّم أو تفعيله",
34
45
  "UNDETERMINED_LANGUAGE": "غير محدد",
35
46
  "UNMUTE": "إعادة الصوت",
36
47
  "UNRECOGNIZED_LANGUAGE": "غير معروف",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "Времетраене на рекламата",
3
3
  "AD_PROGRESS": "Реклама [AD_ON] от [NUM_ADS]",
4
+ "AD_STATISTICS": "Статистически данни за рекламата",
4
5
  "AD_TIME": "Реклама: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Автоматично",
6
8
  "BACK": "Назад",
7
9
  "CAPTIONS": "Надписи",
8
10
  "CAST": "Предаване...",
11
+ "CHAPTERS": "Глави",
12
+ "DOWNLOAD_VIDEO_FRAME": "Запазване на кадъра от видеоклипа",
9
13
  "ENTER_LOOP_MODE": "Повтаряне на текущия видеоклип",
10
14
  "ENTER_PICTURE_IN_PICTURE": "Преминаване в режим „Картина в картината“",
11
15
  "EXIT_FULL_SCREEN": "Изход от цял екран",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "Картина в картината",
27
31
  "PLAY": "Пускане",
28
32
  "PLAYBACK_RATE": "Скорост на възпроизвеждане",
33
+ "QUALITY": "Качество",
34
+ "RECENTER_VR": "Повторно центриране",
35
+ "REPLAY": "Повторно пускане",
29
36
  "RESOLUTION": "Разделителна способност",
30
37
  "REWIND": "Превъртане назад",
31
38
  "SEEK": "Търсене",
32
39
  "SKIP_AD": "Пропускане на рекламата",
33
40
  "SKIP_TO_LIVE": "Преминаване напред към предаването на живо",
41
+ "STATISTICS": "Статистически данни",
42
+ "SUBTITLE_FORCED": "Принудително",
43
+ "SURROUND": "Съраунд",
44
+ "TOGGLE_STEREOSCOPIC": "Превключване на стереоскопичния режим",
34
45
  "UNDETERMINED_LANGUAGE": "Неопределено",
35
46
  "UNMUTE": "Включване на звука",
36
47
  "UNRECOGNIZED_LANGUAGE": "Неразпознато",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "Durada de l'anunci",
3
3
  "AD_PROGRESS": "Anunci [AD_ON] de [NUM_ADS]",
4
+ "AD_STATISTICS": "Estadístiques dels anuncis",
4
5
  "AD_TIME": "Anunci: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Automàtic",
6
8
  "BACK": "Torna",
7
9
  "CAPTIONS": "Subtítols",
8
10
  "CAST": "Emet…",
11
+ "CHAPTERS": "Capítols",
12
+ "DOWNLOAD_VIDEO_FRAME": "Desa el fotograma del vídeo",
9
13
  "ENTER_LOOP_MODE": "Reprodueix en bucle el vídeo actual",
10
14
  "ENTER_PICTURE_IN_PICTURE": "Entra al mode de pantalla en pantalla",
11
15
  "EXIT_FULL_SCREEN": "Surt del mode de pantalla completa",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "Pantalla en pantalla",
27
31
  "PLAY": "Reprodueix",
28
32
  "PLAYBACK_RATE": "Velocitat de reproducció",
33
+ "QUALITY": "Qualitat",
34
+ "RECENTER_VR": "Torna a centrar",
35
+ "REPLAY": "Torna a reproduir",
29
36
  "RESOLUTION": "Resolució",
30
37
  "REWIND": "Rebobina",
31
38
  "SEEK": "Cerca",
32
39
  "SKIP_AD": "Omet l'anunci",
33
40
  "SKIP_TO_LIVE": "Passa a l'emissió en directe",
41
+ "STATISTICS": "Estadístiques",
42
+ "SUBTITLE_FORCED": "Forçat",
43
+ "SURROUND": "So envoltant",
44
+ "TOGGLE_STEREOSCOPIC": "Commuta l'opció estereoscòpica",
34
45
  "UNDETERMINED_LANGUAGE": "Sense especificar",
35
46
  "UNMUTE": "Deixa de silenciar",
36
47
  "UNRECOGNIZED_LANGUAGE": "No reconegut",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "Délka reklamy",
3
3
  "AD_PROGRESS": "Reklama [AD_ON] z [NUM_ADS]",
4
+ "AD_STATISTICS": "Statistiky reklam",
4
5
  "AD_TIME": "Reklama: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Automaticky",
6
8
  "BACK": "Zpět",
7
9
  "CAPTIONS": "Titulky",
8
10
  "CAST": "Odeslat…",
11
+ "CHAPTERS": "Kapitoly",
12
+ "DOWNLOAD_VIDEO_FRAME": "Uložit snímek videa",
9
13
  "ENTER_LOOP_MODE": "Přehrávat toto video ve smyčce",
10
14
  "ENTER_PICTURE_IN_PICTURE": "Spustit režim obrazu v obraze",
11
15
  "EXIT_FULL_SCREEN": "Ukončit režim celé obrazovky",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "Obraz v obraze",
27
31
  "PLAY": "Přehrát",
28
32
  "PLAYBACK_RATE": "Rychlost přehrávání",
33
+ "QUALITY": "Kvalita",
34
+ "RECENTER_VR": "Znovu vycentrovat",
35
+ "REPLAY": "Přehrát znovu",
29
36
  "RESOLUTION": "Rozlišení",
30
37
  "REWIND": "Přetočit zpět",
31
38
  "SEEK": "Posuvník přehrávání",
32
39
  "SKIP_AD": "Přeskočit reklamu",
33
40
  "SKIP_TO_LIVE": "Přeskočit na živé vysílání",
41
+ "STATISTICS": "Statistiky",
42
+ "SUBTITLE_FORCED": "Vynuceno",
43
+ "SURROUND": "Prostorový zvuk",
44
+ "TOGGLE_STEREOSCOPIC": "Přepnout stereoskopické zobrazení",
34
45
  "UNDETERMINED_LANGUAGE": "Neurčeno",
35
46
  "UNMUTE": "Zapnout zvuk",
36
47
  "UNRECOGNIZED_LANGUAGE": "Neznámé",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "Annoncevarighed",
3
3
  "AD_PROGRESS": "Annonce [AD_ON] af [NUM_ADS]",
4
+ "AD_STATISTICS": "Annoncestatistik",
4
5
  "AD_TIME": "Annonce: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Auto",
6
8
  "BACK": "Tilbage",
7
9
  "CAPTIONS": "Undertekster",
8
10
  "CAST": "Cast...",
11
+ "CHAPTERS": "Kapitler",
12
+ "DOWNLOAD_VIDEO_FRAME": "Gem videoramme",
9
13
  "ENTER_LOOP_MODE": "Gentag afspilning af aktuel video",
10
14
  "ENTER_PICTURE_IN_PICTURE": "Åbn integreret billede",
11
15
  "EXIT_FULL_SCREEN": "Afslut fuld skærm",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "Integreret billede",
27
31
  "PLAY": "Afspil",
28
32
  "PLAYBACK_RATE": "Afspilningshastighed",
33
+ "QUALITY": "Kvalitet",
34
+ "RECENTER_VR": "Centrér igen",
35
+ "REPLAY": "Afspil igen",
29
36
  "RESOLUTION": "Opløsning",
30
37
  "REWIND": "Spol tilbage",
31
38
  "SEEK": "Hop",
32
39
  "SKIP_AD": "Spring annonce over",
33
40
  "SKIP_TO_LIVE": "Gå videre til liveudsendelse",
41
+ "STATISTICS": "Statistik",
42
+ "SUBTITLE_FORCED": "Gennemtvunget",
43
+ "SURROUND": "Surroundsound",
44
+ "TOGGLE_STEREOSCOPIC": "Slå stereoskopisk visning til/fra",
34
45
  "UNDETERMINED_LANGUAGE": "Ikke fastslået",
35
46
  "UNMUTE": "Slå lyden til",
36
47
  "UNRECOGNIZED_LANGUAGE": "Ikke genkendt",
@@ -1,16 +1,20 @@
1
1
  {
2
2
  "AD_DURATION": "Dauer der Werbeanzeige",
3
3
  "AD_PROGRESS": "Werbung [AD_ON] von [NUM_ADS]",
4
+ "AD_STATISTICS": "Anzeigenstatistiken",
4
5
  "AD_TIME": "Werbeanzeige: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Automatisch",
6
8
  "BACK": "Zurück",
7
9
  "CAPTIONS": "Untertitel",
8
10
  "CAST": "Streamen...",
11
+ "CHAPTERS": "Kapitel",
12
+ "DOWNLOAD_VIDEO_FRAME": "Videoframe speichern",
9
13
  "ENTER_LOOP_MODE": "In Endlosschleife spielen",
10
- "ENTER_PICTURE_IN_PICTURE": "Bild-im-Bild-Modus aktivieren",
14
+ "ENTER_PICTURE_IN_PICTURE": "Bild im Bild aktivieren",
11
15
  "EXIT_FULL_SCREEN": "Vollbildmodus beenden",
12
16
  "EXIT_LOOP_MODE": "Endlosschleife stoppen",
13
- "EXIT_PICTURE_IN_PICTURE": "Bild-im-Bild-Modus beenden",
17
+ "EXIT_PICTURE_IN_PICTURE": "Bild im Bild beenden",
14
18
  "FAST_FORWARD": "Vorspulen",
15
19
  "FULL_SCREEN": "Vollbildmodus",
16
20
  "LANGUAGE": "Sprache",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "Bild im Bild",
27
31
  "PLAY": "Wiedergabe",
28
32
  "PLAYBACK_RATE": "Geschwindigkeit",
33
+ "QUALITY": "Qualität",
34
+ "RECENTER_VR": "Zentrieren",
35
+ "REPLAY": "Noch einmal wiedergeben",
29
36
  "RESOLUTION": "Auflösung",
30
37
  "REWIND": "Zurückspulen",
31
38
  "SEEK": "Suche",
32
39
  "SKIP_AD": "Überspringen",
33
40
  "SKIP_TO_LIVE": "Zum Live-Videostream wechseln",
41
+ "STATISTICS": "Statistiken",
42
+ "SUBTITLE_FORCED": "Erzwungen",
43
+ "SURROUND": "Surround",
44
+ "TOGGLE_STEREOSCOPIC": "Einstellung „stereoskopisch“ ein‑/ausschalten",
34
45
  "UNDETERMINED_LANGUAGE": "Unbestimmt",
35
46
  "UNMUTE": "Stummschaltung aufheben",
36
47
  "UNRECOGNIZED_LANGUAGE": "Unbekannt",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "Διάρκεια διαφήμισης",
3
3
  "AD_PROGRESS": "Διαφήμιση [AD_ON] από [NUM_ADS]",
4
+ "AD_STATISTICS": "Στατιστικά στοιχεία διαφήμισης",
4
5
  "AD_TIME": "Διαφήμιση: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Αυτόματα",
6
8
  "BACK": "Πίσω",
7
9
  "CAPTIONS": "Υπότιτλοι",
8
10
  "CAST": "Μετάδοση…",
11
+ "CHAPTERS": "Κεφάλαια",
12
+ "DOWNLOAD_VIDEO_FRAME": "Αποθήκευση καρέ βίντεο",
9
13
  "ENTER_LOOP_MODE": "Αναπαραγωγή τρέχοντος βίντεο σε επανάληψη",
10
14
  "ENTER_PICTURE_IN_PICTURE": "Είσοδος στη λειτουργία picture-in-picture",
11
15
  "EXIT_FULL_SCREEN": "Έξοδος από πλήρη οθόνη",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "Picture-in-picture",
27
31
  "PLAY": "Αναπαραγωγή",
28
32
  "PLAYBACK_RATE": "Ταχύτητα αναπαραγωγής",
33
+ "QUALITY": "Ποιότητα",
34
+ "RECENTER_VR": "Εκ νέου κεντράρισμα",
35
+ "REPLAY": "Επανάληψη",
29
36
  "RESOLUTION": "Ανάλυση",
30
37
  "REWIND": "Επαναφορά",
31
38
  "SEEK": "Αναζήτηση",
32
39
  "SKIP_AD": "Παράβλεψη διαφήμισης",
33
40
  "SKIP_TO_LIVE": "Μετάβαση στη ζωντανή μετάδοση",
41
+ "STATISTICS": "Στατιστικά στοιχεία",
42
+ "SUBTITLE_FORCED": "Αναγκαστικό",
43
+ "SURROUND": "Surround",
44
+ "TOGGLE_STEREOSCOPIC": "Εναλλαγή στερεοσκοπικής",
34
45
  "UNDETERMINED_LANGUAGE": "Δεν έχει καθοριστεί",
35
46
  "UNMUTE": "Κατάργηση σίγασης",
36
47
  "UNRECOGNIZED_LANGUAGE": "Μη αναγνωρίσιμο",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "Ad duration",
3
3
  "AD_PROGRESS": "Ad [AD_ON] of [NUM_ADS]",
4
+ "AD_STATISTICS": "Ad statistics",
4
5
  "AD_TIME": "Ad: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Auto",
6
8
  "BACK": "Back",
7
9
  "CAPTIONS": "Captions",
8
10
  "CAST": "Cast...",
11
+ "CHAPTERS": "Chapters",
12
+ "DOWNLOAD_VIDEO_FRAME": "Save video frame",
9
13
  "ENTER_LOOP_MODE": "Loop the current video",
10
14
  "ENTER_PICTURE_IN_PICTURE": "Enter picture-in-picture",
11
15
  "EXIT_FULL_SCREEN": "Exit full screen",
@@ -26,12 +30,17 @@
26
30
  "PICTURE_IN_PICTURE": "Picture-in-picture",
27
31
  "PLAY": "Play",
28
32
  "PLAYBACK_RATE": "Playback speed",
29
- "RECENTER_VR": "Recenter",
33
+ "QUALITY": "Quality",
34
+ "RECENTER_VR": "Recentre",
35
+ "REPLAY": "Replay",
30
36
  "RESOLUTION": "Resolution",
31
37
  "REWIND": "Rewind",
32
38
  "SEEK": "Seek",
33
39
  "SKIP_AD": "Skip ad",
34
40
  "SKIP_TO_LIVE": "Skip ahead to live",
41
+ "STATISTICS": "Statistics",
42
+ "SUBTITLE_FORCED": "Forced",
43
+ "SURROUND": "Surround",
35
44
  "TOGGLE_STEREOSCOPIC": "Toggle stereoscopic",
36
45
  "UNDETERMINED_LANGUAGE": "Undetermined",
37
46
  "UNMUTE": "Unmute",
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "AD_DURATION": "[Åð ðûŕåţîöñ one two]",
3
3
  "AD_PROGRESS": "[Åð ᐅ[AD_ON]ᐊ öƒ ᐅ[NUM_ADS]ᐊ one two three]",
4
- "AD_TIME": "[Åð: ᐅ[AD_TIME]ᐊ one two]",
4
+ "AD_STATISTICS": "[Åð šţåţîšţîçš one two]",
5
+ "AD_TIME": "[Åð]ᐊ one two]",
6
+ "AIRPLAY": "[ÅîŕÞļåý one]",
5
7
  "AUTO_QUALITY": "[Åûţö one]",
6
8
  "BACK": "[Бåçķ one]",
7
9
  "CAPTIONS": "[Çåþţîöñš one]",
8
10
  "CAST": "[Çåšţ... one]",
11
+ "CHAPTERS": "[Çĥåþţéŕš one]",
12
+ "DOWNLOAD_VIDEO_FRAME": "[Šåvé vîðéö ƒŕåmé one two]",
9
13
  "ENTER_LOOP_MODE": "[Ļööþ ţĥé çûŕŕéñţ vîðéö one two three four five]",
10
14
  "ENTER_PICTURE_IN_PICTURE": "[Éñţéŕ Þîçţûŕé-îñ-Þîçţûŕé one two three]",
11
15
  "EXIT_FULL_SCREEN": "[Éxîţ ƒûļļ šçŕééñ one two]",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "[Þîçţûŕé-îñ-Þîçţûŕé one two three]",
27
31
  "PLAY": "[Þļåý one]",
28
32
  "PLAYBACK_RATE": "[Þļåýбåçķ šþééð one two]",
33
+ "QUALITY": "[Qûåļîţý one]",
34
+ "RECENTER_VR": "[Ŕéçéñţéŕ one]",
35
+ "REPLAY": "[Ŕéþļåý one]",
29
36
  "RESOLUTION": "[Ŕéšöļûţîöñ one two]",
30
37
  "REWIND": "[Ŕéŵîñð one]",
31
38
  "SEEK": "[Šééķ one]",
32
39
  "SKIP_AD": "[Šķîþ Åð one]",
33
40
  "SKIP_TO_LIVE": "[Šķîþ åĥéåð ţö ļîvé one two three four]",
41
+ "STATISTICS": "[Šţåţîšţîçš one two]",
42
+ "SUBTITLE_FORCED": "[Föŕçéð one]",
43
+ "SURROUND": "[Šûŕŕöûñð one]",
44
+ "TOGGLE_STEREOSCOPIC": "[Ţöĝĝļé šţéŕéöšçöþîç one two three]",
34
45
  "UNDETERMINED_LANGUAGE": "[Ûñðéţéŕmîñéð one two]",
35
46
  "UNMUTE": "[Ûñmûţé one]",
36
47
  "UNRECOGNIZED_LANGUAGE": "[Ûñŕéçöĝñîžéð one two]",
@@ -3,10 +3,13 @@
3
3
  "AD_PROGRESS": "Anuncio [AD_ON] de [NUM_ADS]",
4
4
  "AD_STATISTICS": "Estadísticas de anuncios",
5
5
  "AD_TIME": "Anuncio: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
6
7
  "AUTO_QUALITY": "Automático",
7
8
  "BACK": "Atrás",
8
9
  "CAPTIONS": "Subtítulos",
9
10
  "CAST": "Transmitir...",
11
+ "CHAPTERS": "Capítulos",
12
+ "DOWNLOAD_VIDEO_FRAME": "Guardar fotograma",
10
13
  "ENTER_LOOP_MODE": "Repetir indefinidamente el video actual",
11
14
  "ENTER_PICTURE_IN_PICTURE": "Ingresar al modo de pantalla en pantalla",
12
15
  "EXIT_FULL_SCREEN": "Salir de pantalla completa",
@@ -27,7 +30,9 @@
27
30
  "PICTURE_IN_PICTURE": "Pantalla en pantalla",
28
31
  "PLAY": "Reproducir",
29
32
  "PLAYBACK_RATE": "Velocidad de reproducción",
33
+ "QUALITY": "Calidad",
30
34
  "RECENTER_VR": "Recentrar",
35
+ "REPLAY": "Volver a reproducir",
31
36
  "RESOLUTION": "Resolución",
32
37
  "REWIND": "Retroceder",
33
38
  "SEEK": "Buscar",
@@ -31,6 +31,7 @@
31
31
  "PLAYBACK_RATE": "Velocidad de reproducción",
32
32
  "QUALITY": "Calidad",
33
33
  "RECENTER_VR": "Recentrar",
34
+ "REPLAY": "Volver a reproducir",
34
35
  "RESOLUTION": "Resolución",
35
36
  "REWIND": "Rebobinar",
36
37
  "SEEK": "Buscar",
@@ -1,15 +1,19 @@
1
1
  {
2
2
  "AD_DURATION": "مدت‌زمان آگهی",
3
3
  "AD_PROGRESS": "آگهی [AD_ON] از [NUM_ADS]",
4
+ "AD_STATISTICS": "آمار آگهی",
4
5
  "AD_TIME": "آگهی: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "خودکار",
6
8
  "BACK": "بازگشت",
7
9
  "CAPTIONS": "زیرنویس‌ها",
8
- "CAST": "ارسال محتوا…",
9
- "ENTER_LOOP_MODE": "پخش مکرر ویدیوی فعلی",
10
+ "CAST": "پخش محتوا…",
11
+ "CHAPTERS": "فصل‌ها",
12
+ "DOWNLOAD_VIDEO_FRAME": "ذخیره کردن فریم ویدیو",
13
+ "ENTER_LOOP_MODE": "پخش مکرر ویدیو فعلی",
10
14
  "ENTER_PICTURE_IN_PICTURE": "ورود به تصویر در تصویر",
11
15
  "EXIT_FULL_SCREEN": "خروج از حالت تمام صفحه",
12
- "EXIT_LOOP_MODE": "توقف پخش مکرر ویدیوی فعلی",
16
+ "EXIT_LOOP_MODE": "توقف پخش مکرر ویدیو فعلی",
13
17
  "EXIT_PICTURE_IN_PICTURE": "خروج از تصویر در تصویر",
14
18
  "FAST_FORWARD": "جلو بردن سریع",
15
19
  "FULL_SCREEN": "تمام صفحه",
@@ -26,11 +30,18 @@
26
30
  "PICTURE_IN_PICTURE": "تصویردرتصویر",
27
31
  "PLAY": "پخش",
28
32
  "PLAYBACK_RATE": "سرعت بازپخش",
33
+ "QUALITY": "کیفیت",
34
+ "RECENTER_VR": "قرار دادن مجدد در مرکز",
35
+ "REPLAY": "بازپخش کردن",
29
36
  "RESOLUTION": "وضوح",
30
37
  "REWIND": "عقب بردن",
31
38
  "SEEK": "جستجو",
32
- "SKIP_AD": "رد کردن آگهی",
39
+ "SKIP_AD": "رد شدن از آگهی",
33
40
  "SKIP_TO_LIVE": "برای پخش مستقیم رد شوید و به جلو بروید",
41
+ "STATISTICS": "آمار",
42
+ "SUBTITLE_FORCED": "نمایش اجباری",
43
+ "SURROUND": "فراگیر",
44
+ "TOGGLE_STEREOSCOPIC": "روشن/خاموش کردن برجسته‌نمایی",
34
45
  "UNDETERMINED_LANGUAGE": "نامعین",
35
46
  "UNMUTE": "باصدا کردن",
36
47
  "UNRECOGNIZED_LANGUAGE": "ناشناس",