@brightspace-ui/labs 2.63.3 → 2.63.5

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.
package/package.json CHANGED
@@ -112,5 +112,5 @@
112
112
  "parse-srt": "^1.0.0-alpha",
113
113
  "webvtt-parser": "^2"
114
114
  },
115
- "version": "2.63.3"
115
+ "version": "2.63.5"
116
116
  }
@@ -1,4 +1,5 @@
1
1
  import '@brightspace-ui/core/components/button/button-icon.js';
2
+ import '@brightspace-ui/core/components/dialog/dialog.js';
2
3
  import '@brightspace-ui/core/components/dropdown/dropdown.js';
3
4
  import '@brightspace-ui/core/components/dropdown/dropdown-content.js';
4
5
  import '@brightspace-ui/core/components/icons/icon-custom.js';
@@ -6,8 +7,8 @@ import '@brightspace-ui/core/components/menu/menu.js';
6
7
  import '@brightspace-ui/core/components/menu/menu-item-radio.js';
7
8
  import '@brightspace-ui/core/components/menu/menu-item.js';
8
9
  import '@brightspace-ui/core/components/menu/menu-item-separator.js';
9
- import { css, html } from 'lit';
10
- import { bodySmallStyles } from '@brightspace-ui/core/components/typography/styles.js';
10
+ import { css, html, nothing } from 'lit';
11
+ import { bodyCompactStyles } from '@brightspace-ui/core/components/typography/styles.js';
11
12
  import { ifDefined } from 'lit/directives/if-defined.js';
12
13
 
13
14
  export const AUDIO_DESCRIPTION_REPLAY_KEY = 'r';
@@ -26,13 +27,14 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
26
27
 
27
28
  static properties = {
28
29
  _audioDescriptionControlsInMenu: { state: true },
30
+ _audioDescriptionDialogOpened: { state: true },
29
31
  _audioDescriptionPlaying: { state: true },
30
32
  _audioDescriptionTracks: { state: true },
31
33
  _canReplayAudioDescription: { state: true },
32
34
  _selectedAudioDescriptionLanguage: { state: true },
33
35
  };
34
36
 
35
- static styles = [bodySmallStyles, css`
37
+ static styles = [bodyCompactStyles, css`
36
38
  #audio-description-skip-button {
37
39
  margin-inline-end: 12px;
38
40
  }
@@ -49,11 +51,8 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
49
51
  width: calc(2rem - 9px);
50
52
  }
51
53
  .audio-description-header {
52
- background-color: var(--d2l-color-tungsten);
53
54
  border-bottom: 1px solid var(--d2l-color-chromite);
54
- border-start-end-radius: var(--d2l-popover-border-radius, var(--d2l-popover-default-border-radius));
55
- border-start-start-radius: var(--d2l-popover-border-radius, var(--d2l-popover-default-border-radius));
56
- color: white;
55
+ color: inherit;
57
56
  padding: 1rem;
58
57
  }
59
58
  #audio-description-button[data-enabled]::after {
@@ -77,6 +76,7 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
77
76
  this._audioDescriptionPausedVideo = false;
78
77
  this._audioDescriptionPlaying = false;
79
78
  this._audioDescriptionControlsInMenu = false;
79
+ this._audioDescriptionDialogOpened = false;
80
80
  this._canReplayAudioDescription = false;
81
81
  }
82
82
 
@@ -111,7 +111,7 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
111
111
  }
112
112
 
113
113
  _getAudioDescriptionsButtonView() {
114
- if (!this._audioDescriptionTracks?.length || this.hideAudioDescriptionSelection) return null;
114
+ if (!this._audioDescriptionTracks?.length || this.hideAudioDescriptionSelection) return nothing;
115
115
 
116
116
  const tooltip = this.localize('components:mediaPlayer:audioDescription');
117
117
  const replayTooltip = this.localize('components:mediaPlayer:replayAudioDescription');
@@ -166,7 +166,7 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
166
166
  </clipPath>
167
167
  </defs>
168
168
  </svg></d2l-icon-custom></d2l-button-icon>
169
- ` : null}
169
+ ` : nothing}
170
170
  <d2l-dropdown>
171
171
  <d2l-button-icon
172
172
  class="d2l-dropdown-opener"
@@ -178,8 +178,16 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
178
178
  <path d="M8.89199 8.55L7.21999 3.9805C7.13766 3.77783 7.05216 3.53717 6.96349 3.2585C6.87483 2.97983 6.78616 2.679 6.69749 2.356C6.61516 2.679 6.52966 2.983 6.44099 3.268C6.35233 3.54667 6.26683 3.7905 6.18449 3.9995L4.52199 8.55H8.89199ZM13.4045 13.737H11.4285C11.2068 13.737 11.0263 13.6832 10.887 13.5755C10.7477 13.4615 10.6432 13.3222 10.5735 13.1575L9.54749 10.355H3.85699L2.83099 13.1575C2.78033 13.3032 2.68216 13.4362 2.53649 13.5565C2.39083 13.6768 2.21033 13.737 1.99499 13.737H-7.82078e-06L5.40549 -1.43051e-06H8.00849L13.4045 13.737ZM27.2244 6.8685C27.2244 7.8755 27.0565 8.80017 26.7209 9.6425C26.3852 10.4848 25.9134 11.21 25.3054 11.818C24.6974 12.426 23.9659 12.8978 23.1109 13.2335C22.2559 13.5692 21.3059 13.737 20.2609 13.737H15.0264V-1.43051e-06H20.2609C21.3059 -1.43051e-06 22.2559 0.170999 23.1109 0.512999C23.9659 0.848665 24.6974 1.3205 25.3054 1.9285C25.9134 2.53017 26.3852 3.25217 26.7209 4.0945C27.0565 4.93683 27.2244 5.8615 27.2244 6.8685ZM24.6024 6.8685C24.6024 6.11483 24.501 5.44033 24.2984 4.845C24.102 4.24333 23.8139 3.73667 23.4339 3.325C23.0602 2.907 22.6042 2.58717 22.0659 2.3655C21.5339 2.14383 20.9322 2.033 20.2609 2.033H17.5914V11.704H20.2609C20.9322 11.704 21.5339 11.5932 22.0659 11.3715C22.6042 11.1498 23.0602 10.8332 23.4339 10.4215C23.8139 10.0035 24.102 9.49683 24.2984 8.9015C24.501 8.29983 24.6024 7.62217 24.6024 6.8685Z" fill="white"/>
179
179
  </svg></d2l-icon-custom></d2l-button-icon>
180
180
  <d2l-dropdown-content id="audio-description-dropdown-content" class="vdiff-target" no-padding no-padding-header no-pointer theme="${ifDefined(this._getTheme())}">
181
- ${showControls ? html`<div class="d2l-body-small audio-description-header" slot="header">${this.localize('components:mediaPlayer:extendedAudioDescription')}</div>` : null}
181
+ ${showControls ? nothing : html`<div class="d2l-body-compact audio-description-header" slot="header">${this.localize('components:mediaPlayer:audioDescriptions')}</div>`}
182
182
  <d2l-menu label="${tooltip}" @d2l-menu-item-change=${this.#onAudioDescriptionMenuItemChange} theme="${ifDefined(this._getTheme())}">
183
+ ${showControls ? html`
184
+ <d2l-menu-item
185
+ id="audio-description-about-menu-item"
186
+ text="${this.localize('components:mediaPlayer:aboutExtendedAudioDescriptions')}"
187
+ @d2l-menu-item-select="${this.#onAboutExtendedAudioDescriptionsSelect}"
188
+ ></d2l-menu-item>
189
+ <d2l-menu-item-separator></d2l-menu-item-separator>
190
+ ` : nothing}
183
191
  ${showControls && this._audioDescriptionControlsInMenu ? html`
184
192
  <d2l-menu-item
185
193
  text="${this.localize('components:mediaPlayer:replay')}"
@@ -192,7 +200,7 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
192
200
  @d2l-menu-item-select="${this._skipAudioDescription}"
193
201
  ></d2l-menu-item>
194
202
  <d2l-menu-item-separator></d2l-menu-item-separator>
195
- ` : null}
203
+ ` : nothing}
196
204
  <d2l-menu-item-radio
197
205
  ?selected="${!this._selectedAudioDescriptionLanguage}"
198
206
  text="${this.localize('components:mediaPlayer:off')}"
@@ -207,6 +215,17 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
207
215
  </d2l-menu>
208
216
  </d2l-dropdown-content>
209
217
  </d2l-dropdown>
218
+ ${showControls ? html`
219
+ <d2l-dialog
220
+ id="audio-description-about-dialog"
221
+ width="500"
222
+ title-text="${this.localize('components:mediaPlayer:aboutExtendedAudioDescriptions')}"
223
+ ?opened="${this._audioDescriptionDialogOpened}"
224
+ @d2l-dialog-close="${this.#onAboutExtendedAudioDescriptionsDialogClose}"
225
+ >
226
+ <p class="d2l-body-compact">${this.localize('components:mediaPlayer:aboutExtendedAudioDescriptionsText')}</p>
227
+ </d2l-dialog>
228
+ ` : nothing}
210
229
  `;
211
230
  }
212
231
 
@@ -253,10 +272,7 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
253
272
  if (!track) return;
254
273
 
255
274
  if (currentTime < this._audioDescriptionPreviousTime) {
256
- this._audioDescriptionIndex = track.descriptions.findIndex(description => description.time >= currentTime);
257
- if (this._audioDescriptionIndex < 0) this._audioDescriptionIndex = track.descriptions.length;
258
- this._cancelAudioDescription();
259
- this._activeDescriptionCue = null;
275
+ this._resetAudioDescriptionCursor(currentTime);
260
276
  }
261
277
 
262
278
  const next = track.descriptions[this._audioDescriptionIndex];
@@ -349,6 +365,15 @@ export const MediaPlayerAudioDescriptionsMixin = superclass => class extends sup
349
365
  return this._audioDescriptionTracks?.find(track => track.srclang === this._selectedAudioDescriptionLanguage);
350
366
  }
351
367
 
368
+ #onAboutExtendedAudioDescriptionsDialogClose() {
369
+ this._audioDescriptionDialogOpened = false;
370
+ }
371
+
372
+ #onAboutExtendedAudioDescriptionsSelect() {
373
+ this.shadowRoot?.querySelector('#audio-description-dropdown-content')?.close();
374
+ this._audioDescriptionDialogOpened = true;
375
+ }
376
+
352
377
  #onAudioDescriptionMenuItemChange(e) {
353
378
  this._cancelAudioDescription();
354
379
  this._selectedAudioDescriptionLanguage = e.target.value || null;
@@ -0,0 +1,116 @@
1
+ import { css, html } from 'lit';
2
+
3
+ const DEFAULT_PREVIEW_WIDTH = 160;
4
+ const DEFAULT_PREVIEW_HEIGHT = 90;
5
+
6
+ // Expects the host to provide _hovering, _hoverTime, _timelinePreviewOffset, _getChapterTitle() and static _formatTime()
7
+ export const MediaPlayerThumbnailsMixin = superclass => class extends superclass {
8
+
9
+ static properties = {
10
+ thumbnails: { type: String },
11
+ _thumbnailsImage: { state: true },
12
+ };
13
+
14
+ static styles = [super.styles, css`
15
+ #thumbnails-preview-container {
16
+ bottom: 60px;
17
+ position: absolute;
18
+ transform: translateX(-50%);
19
+ z-index: 2;
20
+ }
21
+
22
+ #thumbnails-preview-chapter {
23
+ background: #00000072;
24
+ position: absolute;
25
+ text-align: center;
26
+ text-shadow: 0 0 5px rgb(0 0 0 / 75%);
27
+ width: 100%;
28
+ z-index: 2;
29
+ }
30
+
31
+ #thumbnails-preview-time {
32
+ background: #00000042;
33
+ bottom: 3px;
34
+ font-size: 14px;
35
+ left: 0;
36
+ position: absolute;
37
+ text-align: center;
38
+ text-shadow: 0 0 4px rgb(0 0 0 / 75%);
39
+ width: 100%;
40
+ z-index: 2;
41
+ }
42
+
43
+ #thumbnails-preview-image {
44
+ background-repeat: no-repeat;
45
+ position: relative;
46
+ width: 100%;
47
+ z-index: 2;
48
+ }
49
+ `];
50
+
51
+ updated(changedProperties) {
52
+ super.updated(changedProperties);
53
+
54
+ if (changedProperties.has('thumbnails')) {
55
+ this._getThumbnails();
56
+ }
57
+ }
58
+
59
+ _getThumbnails() {
60
+ if (!this.thumbnails) return;
61
+ this._thumbnailsImage = new Image();
62
+ this._thumbnailsImage.src = this.thumbnails;
63
+ }
64
+
65
+ _getTimelinePreview() {
66
+ if (!this._hovering) return;
67
+ const chapterTitleLabel = this._getChapterTitle();
68
+ const hoverTimeText = this.constructor._formatTime(this._hoverTime);
69
+
70
+ if (!(this.thumbnails && this._thumbnailsImage))
71
+ return html`
72
+ <div id="thumbnails-preview-container"
73
+ style="width: ${DEFAULT_PREVIEW_WIDTH}px; left: clamp(${DEFAULT_PREVIEW_WIDTH / 2}px, ${this._timelinePreviewOffset}%, calc(100% - ${DEFAULT_PREVIEW_WIDTH / 2}px));">
74
+ <div
75
+ id="thumbnails-preview-image"
76
+ >
77
+ <span id="thumbnails-preview-time">${hoverTimeText}</span>
78
+ </div>
79
+ ${chapterTitleLabel &&
80
+ html`<span class="d2l-label-text" id="thumbnails-preview-chapter" style="bottom: ${DEFAULT_PREVIEW_HEIGHT - 60}px">${chapterTitleLabel}</span>`}
81
+ </div>
82
+ `;
83
+
84
+ // format of the thumbnail is either [url]/timelineThumbnails-h<height>w<height>i<interval>-<hash>.[png|jpg]
85
+ // or [url]/th<height>w<height>i<interval>-<hash>.[png|jpg]
86
+ const matches = this.thumbnails.match(/(timelineThumbnails-|t)h(\d+)w(\d+)i(\d+)[^/]*$/i);
87
+ if (matches && matches.length !== 5) return; // no matches
88
+ const [ , , thumbHeight, thumbWidth, interval] = matches;
89
+
90
+ const width = this._thumbnailsImage.width;
91
+ const height = this._thumbnailsImage.height;
92
+
93
+ const rows = height / thumbHeight;
94
+ const columns = width / thumbWidth;
95
+
96
+ let thumbNum = Math.floor(this._hoverTime / interval);
97
+ if (thumbNum >= rows * columns) thumbNum = rows * columns - 1;
98
+
99
+ const row = Math.floor(thumbNum / columns);
100
+ const column = thumbNum % columns;
101
+
102
+ return html`
103
+ <div id="thumbnails-preview-container"
104
+ style="width: ${thumbWidth}px; left: clamp(${thumbWidth / 2}px, ${this._timelinePreviewOffset}%, calc(100% - ${thumbWidth / 2}px));">
105
+ <div
106
+ id="thumbnails-preview-image"
107
+ style="height: ${thumbHeight}px; background: url(${this._thumbnailsImage.src}) ${-column * thumbWidth}px ${-row * thumbHeight}px / ${width}px ${height}px;"
108
+ >
109
+ <span id="thumbnails-preview-time">${hoverTimeText}</span>
110
+ </div>
111
+ ${chapterTitleLabel &&
112
+ html`<span class="d2l-label-text" id="thumbnails-preview-chapter" style="bottom: ${thumbHeight}px">${chapterTitleLabel}</span>`}
113
+ </div>
114
+ `;
115
+ }
116
+ };
@@ -13,7 +13,7 @@ import './slider-bar.js';
13
13
  import 'webvtt-parser';
14
14
  import './media-player-audio-bars.js';
15
15
  import { AUDIO_DESCRIPTION_REPLAY_KEY, AUDIO_DESCRIPTION_SKIP_KEY, AUDIO_DESCRIPTION_TRACK_KIND, MediaPlayerAudioDescriptionsMixin } from './media-player-audio-descriptions.js';
16
- import { css, html, LitElement, unsafeCSS } from 'lit';
16
+ import { css, html, LitElement, nothing, unsafeCSS } from 'lit';
17
17
  import { classMap } from 'lit/directives/class-map.js';
18
18
  import fullscreenApi from './fullscreen-api.js';
19
19
  import Fuse from 'fuse.js';
@@ -21,6 +21,7 @@ import { getFocusPseudoClass } from '@brightspace-ui/core/helpers/focus.js';
21
21
  import { ifDefined } from 'lit/directives/if-defined.js';
22
22
  import { labelStyles } from '@brightspace-ui/core/components/typography/styles.js';
23
23
  import { LocalizeLabsElement } from '../localize-labs-element.js';
24
+ import { MediaPlayerThumbnailsMixin } from './media-player-thumbnails.js';
24
25
  import parseSRT from 'parse-srt/src/parse-srt.js';
25
26
  import { RtlMixin } from '@brightspace-ui/core/mixins/rtl-mixin.js';
26
27
  import { styleMap } from 'lit/directives/style-map.js';
@@ -61,8 +62,6 @@ const FUSE_OPTIONS = options => ({
61
62
  ...options
62
63
  });
63
64
  const SEARCH_CONTAINER_HOVER_CLASS = 'search-container-hover';
64
- const DEFAULT_PREVIEW_WIDTH = 160;
65
- const DEFAULT_PREVIEW_HEIGHT = 90;
66
65
 
67
66
  const SAFARI_EXPIRY_EARLY_SWAP_SECONDS = 10;
68
67
  const SAFARI_EXPIRY_MIN_ERROR_EMIT_SECONDS = 30;
@@ -76,7 +75,7 @@ const tryParseUrlExpiry = url => {
76
75
  }
77
76
  };
78
77
 
79
- class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(RtlMixin(LitElement))) {
78
+ class MediaPlayer extends LocalizeLabsElement(MediaPlayerThumbnailsMixin(MediaPlayerAudioDescriptionsMixin(RtlMixin(LitElement)))) {
80
79
 
81
80
  static properties = {
82
81
  allowDownload: { type: Boolean, attribute: 'allow-download', reflect: true },
@@ -92,7 +91,6 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
92
91
  metadata: { type: Object },
93
92
  poster: { type: String },
94
93
  src: { type: String },
95
- thumbnails: { type: String },
96
94
  disableSetPreferences: { type: Boolean, attribute: 'disable-set-preferences' },
97
95
  transcriptViewerOn: { type: Boolean, attribute: 'transcript-viewer-on' },
98
96
  playInView: { type: Boolean, attribute: 'play-in-view' },
@@ -115,7 +113,6 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
115
113
  _selectedSpeed: { state: true },
116
114
  _selectedTrackIdentifier: { state: true },
117
115
  _sources: { state: true },
118
- _thumbnailsImage: { state: true },
119
116
  _timelinePreviewOffset: { state: true },
120
117
  _trackFontSizeRem: { state: true },
121
118
  _timeFontSizeRem: { state: true },
@@ -473,41 +470,6 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
473
470
  width: 100%;
474
471
  }
475
472
 
476
- #thumbnails-preview-container {
477
- bottom: 60px;
478
- position: absolute;
479
- transform: translateX(-50%);
480
- z-index: 2;
481
- }
482
-
483
- #thumbnails-preview-chapter {
484
- background: #00000072;
485
- position: absolute;
486
- text-align: center;
487
- text-shadow: 0 0 5px rgb(0 0 0 / 75%);
488
- width: 100%;
489
- z-index: 2;
490
- }
491
-
492
- #thumbnails-preview-time {
493
- background: #00000042;
494
- bottom: 3px;
495
- font-size: 14px;
496
- left: 0;
497
- position: absolute;
498
- text-align: center;
499
- text-shadow: 0 0 4px rgb(0 0 0 / 75%);
500
- width: 100%;
501
- z-index: 2;
502
- }
503
-
504
- #thumbnails-preview-image {
505
- background-repeat: no-repeat;
506
- position: relative;
507
- width: 100%;
508
- z-index: 2;
509
- }
510
-
511
473
  .search-marker {
512
474
  color: var(--d2l-color-ferrite);
513
475
  cursor: pointer;
@@ -830,7 +792,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
830
792
  icon="${fullscreenIcon}"
831
793
  text="${fullscreenTooltip}"
832
794
  theme="${ifDefined(theme)}"
833
- @click="${this._toggleFullscreen}"></d2l-button-icon>` : null;
795
+ @click="${this._toggleFullscreen}"></d2l-button-icon>` : nothing;
834
796
 
835
797
  return html`
836
798
  <slot @slotchange=${this._onSlotChange}></slot>
@@ -841,7 +803,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
841
803
  ${this.transcriptViewerOn ? this._renderTranscriptViewer() : ''}
842
804
  ${this._getMediaAreaView()}
843
805
 
844
- ${!this._trackText || this.transcriptViewerOn ? null : html`
806
+ ${!this._trackText || this.transcriptViewerOn ? nothing : html`
845
807
  <div id="track-container" style=${styleMap(trackContainerStyle)} @click=${this._onTrackContainerClick}>
846
808
  <div>
847
809
  <span style=${styleMap(trackSpanStyle)} role="status">${this._trackText}</span>
@@ -980,10 +942,6 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
980
942
  if (changedProperties.has('metadata')) {
981
943
  this._getMetadata();
982
944
  }
983
-
984
- if (changedProperties.has('thumbnails')) {
985
- this._getThumbnails();
986
- }
987
945
  }
988
946
 
989
947
  exitFullscreen() {
@@ -1180,7 +1138,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1180
1138
  theme="${ifDefined(this._getTheme())}"
1181
1139
  style=${styleMap({ left: `${this._getPercentageTime(chapter.time)}%` })}
1182
1140
  ></div>
1183
- ` : null;
1141
+ ` : nothing;
1184
1142
  });
1185
1143
  }
1186
1144
 
@@ -1239,7 +1197,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1239
1197
  <div class="full-area-centered">
1240
1198
  <d2l-loading-spinner size="100"></d2l-loading-spinner>
1241
1199
  </div>
1242
- ` : null;
1200
+ ` : nothing;
1243
1201
  }
1244
1202
 
1245
1203
  _getMediaAreaView() {
@@ -1299,7 +1257,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1299
1257
  >
1300
1258
  <source @error=${this._onError}></source>
1301
1259
  </audio>
1302
- ${this.transcriptViewerOn ? null : html`
1260
+ ${this.transcriptViewerOn ? nothing : html`
1303
1261
  <div id="audio-bars-container">
1304
1262
  <div id="audio-play-button-container">
1305
1263
  <button id="audio-play-button" title="${playTooltip}" aria-label="${playTooltip}" @click=${this._togglePlay}>
@@ -1311,7 +1269,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1311
1269
  </div>`}
1312
1270
  `;
1313
1271
  default:
1314
- return null;
1272
+ return nothing;
1315
1273
  }
1316
1274
  }
1317
1275
 
@@ -1382,7 +1340,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1382
1340
  @click=${this._onVideoClick}>
1383
1341
  <d2l-icon icon="tier1:play" theme="${ifDefined(this._getTheme())}"></d2l-icon>
1384
1342
  </button>
1385
- ` : null;
1343
+ ` : nothing;
1386
1344
 
1387
1345
  return html`
1388
1346
  ${playIcon}
@@ -1416,7 +1374,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1416
1374
  `)}
1417
1375
  </d2l-menu>
1418
1376
  </d2l-menu-item>
1419
- ` : null;
1377
+ ` : nothing;
1420
1378
  }
1421
1379
 
1422
1380
  _getSearchResultsView() {
@@ -1460,63 +1418,6 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1460
1418
  return this.mediaType === SOURCE_TYPES.video ? 'dark' : undefined;
1461
1419
  }
1462
1420
 
1463
- _getThumbnails() {
1464
- if (!this.thumbnails) return;
1465
- this._thumbnailsImage = new Image();
1466
- this._thumbnailsImage.src = this.thumbnails;
1467
- }
1468
-
1469
- _getTimelinePreview() {
1470
- if (!this._hovering) return;
1471
- const chapterTitleLabel = this._getChapterTitle();
1472
-
1473
- if (!(this.thumbnails && this._thumbnailsImage))
1474
- return html`
1475
- <div id="thumbnails-preview-container"
1476
- style="width: ${DEFAULT_PREVIEW_WIDTH}px; left: clamp(${DEFAULT_PREVIEW_WIDTH / 2}px, ${this._timelinePreviewOffset}%, calc(100% - ${DEFAULT_PREVIEW_WIDTH / 2}px));">
1477
- <div
1478
- id="thumbnails-preview-image"
1479
- >
1480
- <span id="thumbnails-preview-time">${MediaPlayer._formatTime(this._hoverTime)}</span>
1481
- </div>
1482
- ${chapterTitleLabel &&
1483
- html`<span class="d2l-label-text" id="thumbnails-preview-chapter" style="bottom: ${DEFAULT_PREVIEW_HEIGHT - 60}px">${chapterTitleLabel}</span>`}
1484
- </div>
1485
- `;
1486
-
1487
- // format of the thumbnail is either [url]/timelineThumbnails-h<height>w<height>i<interval>-<hash>.[png|jpg]
1488
- // or [url]/th<height>w<height>i<interval>-<hash>.[png|jpg]
1489
- const matches = this.thumbnails.match(/(timelineThumbnails-|t)h(\d+)w(\d+)i(\d+)[^/]*$/i);
1490
- if (matches && matches.length !== 5) return; // no matches
1491
- const [ , , thumbHeight, thumbWidth, interval] = matches;
1492
-
1493
- const width = this._thumbnailsImage.width;
1494
- const height = this._thumbnailsImage.height;
1495
-
1496
- const rows = height / thumbHeight;
1497
- const columns = width / thumbWidth;
1498
-
1499
- let thumbNum = Math.floor(this._hoverTime / interval);
1500
- if (thumbNum >= rows * columns) thumbNum = rows * columns - 1;
1501
-
1502
- const row = Math.floor(thumbNum / columns);
1503
- const column = thumbNum % columns;
1504
-
1505
- return html`
1506
- <div id="thumbnails-preview-container"
1507
- style="width: ${thumbWidth}px; left: clamp(${thumbWidth / 2}px, ${this._timelinePreviewOffset}%, calc(100% - ${thumbWidth / 2}px));">
1508
- <div
1509
- id="thumbnails-preview-image"
1510
- style="height: ${thumbHeight}px; background: url(${this._thumbnailsImage.src}) ${-column * thumbWidth}px ${-row * thumbHeight}px / ${width}px ${height}px;"
1511
- >
1512
- <span id="thumbnails-preview-time">${MediaPlayer._formatTime(this._hoverTime)}</span>
1513
- </div>
1514
- ${chapterTitleLabel &&
1515
- html`<span class="d2l-label-text" id="thumbnails-preview-chapter" style="bottom: ${thumbHeight}px">${chapterTitleLabel}</span>`}
1516
- </div>
1517
- `;
1518
- }
1519
-
1520
1421
  _getTrackIdentifier(srclang, kind) {
1521
1422
  return JSON.stringify({
1522
1423
  kind,
@@ -1546,7 +1447,7 @@ class MediaPlayer extends LocalizeLabsElement(MediaPlayerAudioDescriptionsMixin(
1546
1447
  `)}
1547
1448
  </d2l-menu>
1548
1449
  </d2l-menu-item>
1549
- ` : null;
1450
+ ` : nothing;
1550
1451
  }
1551
1452
 
1552
1453
  _hidingCustomControls() {
package/src/lang/ar.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "العلامة الإجمالية",
31
31
  "components:gradeResult:studentGradePreviewLabel": "عرض المتعلّم للعلامات",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "العلامة لا تظهر للمتعلّمين",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "التسميات التوضيحية",
35
38
  "components:mediaPlayer:captionsVtt": "التسميات التوضيحية (‎.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "التسميات التوضيحية المغلقة",
37
40
  "components:mediaPlayer:default": "افتراضي",
38
41
  "components:mediaPlayer:download": "تنزيل",
39
42
  "components:mediaPlayer:exitFullscreen": "الخروج من وضع ملء الشاشة",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "ملء الشاشة",
42
44
  "components:mediaPlayer:language": "اللغة",
43
45
  "components:mediaPlayer:loadErrorMessage": "عذرًا، حدثت مشكلة أثناء تحميل ملف الوسائط هذا",
package/src/lang/ca.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Qualificació global",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Vista d’estudiant de la qualificació",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Qualificació no mostrada als estudiants",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Subtítols",
35
38
  "components:mediaPlayer:captionsVtt": "Subtítols (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Predeterminat",
38
41
  "components:mediaPlayer:download": "Descarrega",
39
42
  "components:mediaPlayer:exitFullscreen": "Sortir de pantalla completa",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Pantalla completa",
42
44
  "components:mediaPlayer:language": "Idioma",
43
45
  "components:mediaPlayer:loadErrorMessage": "Vaja! Hi ha hagut un problema en carregar aquest fitxer multimèdia.",
package/src/lang/cy.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Gradd Gyffredinol",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Gwedd Dysgwr o Radd",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Ni ddangosir y radd i ddysgwyr",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Penawdau",
35
38
  "components:mediaPlayer:captionsVtt": "Capsiynau (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Diofyn",
38
41
  "components:mediaPlayer:download": "Lawrlwytho",
39
42
  "components:mediaPlayer:exitFullscreen": "Gadael sgrîn lawn",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Sgrin Lawn",
42
44
  "components:mediaPlayer:language": "Iaith",
43
45
  "components:mediaPlayer:loadErrorMessage": "Wps, roedd problem wrth lwytho’r ffeil gyfryngau hon",
package/src/lang/da.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Samlet karakter",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Studerendes visning af karakter",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Karakter vises ikke til studerende",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Undertekster",
35
38
  "components:mediaPlayer:captionsVtt": "Undertekster (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Standard",
38
41
  "components:mediaPlayer:download": "Download",
39
42
  "components:mediaPlayer:exitFullscreen": "Afslut fuld skærm",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Fuld skærm",
42
44
  "components:mediaPlayer:language": "Sprog",
43
45
  "components:mediaPlayer:loadErrorMessage": "Hovsa, der opstod et problem med at indlæse denne mediefil",
package/src/lang/de.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Gesamtnote",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Lerneransicht der Note",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Note wird Lernern nicht angezeigt",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Beschriftungen",
35
38
  "components:mediaPlayer:captionsVtt": "Untertitel (vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Standard",
38
41
  "components:mediaPlayer:download": "Herunterladen",
39
42
  "components:mediaPlayer:exitFullscreen": "Vollbildmodus beenden",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Vollbildmodus",
42
44
  "components:mediaPlayer:language": "Sprache",
43
45
  "components:mediaPlayer:loadErrorMessage": "Hoppla, beim Laden dieser Mediendatei ist ein Problem aufgetreten",
package/src/lang/en-gb.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Overall Grade",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Learner View of Grade",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Grade not shown to learners",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Captions",
35
38
  "components:mediaPlayer:captionsVtt": "Captions (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Default",
38
41
  "components:mediaPlayer:download": "Download",
39
42
  "components:mediaPlayer:exitFullscreen": "Exit fullscreen",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Fullscreen",
42
44
  "components:mediaPlayer:language": "Language",
43
45
  "components:mediaPlayer:loadErrorMessage": "Oops, there was a problem loading this media file",
package/src/lang/en.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Overall Grade",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Learner View of Grade",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Grade not shown to learners",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Captions",
35
38
  "components:mediaPlayer:captionsVtt": "Captions (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Default",
38
41
  "components:mediaPlayer:download": "Download",
39
42
  "components:mediaPlayer:exitFullscreen": "Exit fullscreen",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Fullscreen",
42
44
  "components:mediaPlayer:language": "Language",
43
45
  "components:mediaPlayer:loadErrorMessage": "Oops, there was a problem loading this media file",
package/src/lang/es-es.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Calificación general",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Vista de calificación del estudiante",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Calificación no mostrada a los estudiantes",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Subtítulos",
35
38
  "components:mediaPlayer:captionsVtt": "Subtítulos (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Predeterminado",
38
41
  "components:mediaPlayer:download": "Descargar",
39
42
  "components:mediaPlayer:exitFullscreen": "Salir de la pantalla completa",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Pantalla completa",
42
44
  "components:mediaPlayer:language": "Idioma",
43
45
  "components:mediaPlayer:loadErrorMessage": "Lo sentimos. Ha surgido un problema al cargar este archivo multimedia",
package/src/lang/es.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Calificación general",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Vista de calificaciones del estudiante",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "La calificación no se muestra a los estudiantes",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Leyendas",
35
38
  "components:mediaPlayer:captionsVtt": "Subtítulos (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Predeterminado",
38
41
  "components:mediaPlayer:download": "Descargar",
39
42
  "components:mediaPlayer:exitFullscreen": "Salir de la pantalla completa",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Pantalla completa",
42
44
  "components:mediaPlayer:language": "Idioma",
43
45
  "components:mediaPlayer:loadErrorMessage": "Lo sentimos, ocurrió un problema al cargar este archivo multimedia",
package/src/lang/fr-fr.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Note générale",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Vue de la note de l’apprenant",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Note non visible par les apprenants",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Sous-titres",
35
38
  "components:mediaPlayer:captionsVtt": "Sous-titres (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "Cc",
37
40
  "components:mediaPlayer:default": "Par défaut",
38
41
  "components:mediaPlayer:download": "Télécharger",
39
42
  "components:mediaPlayer:exitFullscreen": "Quitter le mode plein écran",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Plein écran",
42
44
  "components:mediaPlayer:language": "Langue",
43
45
  "components:mediaPlayer:loadErrorMessage": "Un problème est survenu lors du chargement de ce fichier multimédia",
package/src/lang/fr-on.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Note générale",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Vue de la note d’appréciation de l’élève",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "La note n’est pas affichée aux élèves",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Légendes",
35
38
  "components:mediaPlayer:captionsVtt": "Sous-titres (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Par défaut",
38
41
  "components:mediaPlayer:download": "Télécharger",
39
42
  "components:mediaPlayer:exitFullscreen": "Quitter le mode plein écran",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Plein écran",
42
44
  "components:mediaPlayer:language": "Langue",
43
45
  "components:mediaPlayer:loadErrorMessage": "Oups! Un problème est survenu lors du chargement de ce fichier multimédia.",
package/src/lang/fr.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Note générale",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Vue de la note d’appréciation de l’apprenant",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "La note n’est pas affichée aux apprenants",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Légendes",
35
38
  "components:mediaPlayer:captionsVtt": "Sous-titres (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Par défaut",
38
41
  "components:mediaPlayer:download": "Télécharger",
39
42
  "components:mediaPlayer:exitFullscreen": "Quitter le mode plein écran",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Plein écran",
42
44
  "components:mediaPlayer:language": "Langue",
43
45
  "components:mediaPlayer:loadErrorMessage": "Oups! Un problème est survenu lors du chargement de ce fichier multimédia.",
package/src/lang/haw.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Nā Kaha Laulā",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Nānā Nā Kaha o ka haumāna",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "ʻAʻole hōʻike ʻia ka Nā Kaha i nā haumāna",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Nā huaʻōlelo",
35
38
  "components:mediaPlayer:captionsVtt": "Nā huaʻōlelo (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Default",
38
41
  "components:mediaPlayer:download": "Hoʻoiho",
39
42
  "components:mediaPlayer:exitFullscreen": "Haʻalele i ka Pale Hoʻokahi",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Palena piha",
42
44
  "components:mediaPlayer:language": "ʻŌlelo",
43
45
  "components:mediaPlayer:loadErrorMessage": "Auē, pilikia ka hoʻouka ʻana i kēia faila pāpaho",
package/src/lang/hi.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "संपूर्ण ग्रेड",
31
31
  "components:gradeResult:studentGradePreviewLabel": "ग्रेड का छात्र दृश्य",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "ग्रेड को छात्रों को नहीं दिखाया गया",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "कैप्शन",
35
38
  "components:mediaPlayer:captionsVtt": "कैप्शन (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "प्रतिलिपि",
37
40
  "components:mediaPlayer:default": "डिफ़ॉल्ट",
38
41
  "components:mediaPlayer:download": "डाउनलोड करें",
39
42
  "components:mediaPlayer:exitFullscreen": "फ़ुलस्क्रीन से बाहर निकलें",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "पूर्ण स्क्रीन",
42
44
  "components:mediaPlayer:language": "भाषा",
43
45
  "components:mediaPlayer:loadErrorMessage": "ओह, इस मीडिया फ़ाइल को लोड करने में कोई समस्या हुई",
package/src/lang/ja.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "全体の成績",
31
31
  "components:gradeResult:studentGradePreviewLabel": "受講者の成績ビュー",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "成績は受講者には表示されません",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "キャプション",
35
38
  "components:mediaPlayer:captionsVtt": "キャプション(.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "デフォルト",
38
41
  "components:mediaPlayer:download": "ダウンロード",
39
42
  "components:mediaPlayer:exitFullscreen": "フルスクリーンの終了",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "フルスクリーン",
42
44
  "components:mediaPlayer:language": "言語",
43
45
  "components:mediaPlayer:loadErrorMessage": "このメディアファイルのロード中に問題が発生しました",
package/src/lang/ko.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "전체 평점",
31
31
  "components:gradeResult:studentGradePreviewLabel": "학습자 평점 보기",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "학습자에게 평점이 표시되지 않음",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "캡션",
35
38
  "components:mediaPlayer:captionsVtt": "캡션(.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "참조",
37
40
  "components:mediaPlayer:default": "기본값",
38
41
  "components:mediaPlayer:download": "다운로드",
39
42
  "components:mediaPlayer:exitFullscreen": "전체 화면 끝내기",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "전체 화면",
42
44
  "components:mediaPlayer:language": "언어",
43
45
  "components:mediaPlayer:loadErrorMessage": "죄송합니다. 이 미디어 파일을 로드하는 도중 문제가 발생했습니다",
package/src/lang/mi.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Ngā Tohu Kounga Katoa",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Te Tirohanga Ākonga o te Kōeke",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Kāore te mahi whakakore i whakaaturia ki ngā ākonga",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Ngā Whakaāhua",
35
38
  "components:mediaPlayer:captionsVtt": "Ngā Whakamaumaharatanga (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "PC",
37
40
  "components:mediaPlayer:default": "Taunoa",
38
41
  "components:mediaPlayer:download": "Tikiake",
39
42
  "components:mediaPlayer:exitFullscreen": "Whakakore i Mata Katoa",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Mata Whānui",
42
44
  "components:mediaPlayer:language": "Reo",
43
45
  "components:mediaPlayer:loadErrorMessage": "Aue, he raru te whakakii i tēnei kōnae pāpāho",
package/src/lang/nl.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Algehele score",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Weergave van score voor cursist",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Score wordt niet voor cursisten weergegeven",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Bijschriften",
35
38
  "components:mediaPlayer:captionsVtt": "Ondertitels (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Standaard",
38
41
  "components:mediaPlayer:download": "Downloaden",
39
42
  "components:mediaPlayer:exitFullscreen": "Volledig scherm afsluiten",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Volledig scherm",
42
44
  "components:mediaPlayer:language": "Taal",
43
45
  "components:mediaPlayer:loadErrorMessage": "Er is een probleem opgetreden bij het laden van dit mediabestand",
package/src/lang/pl.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Ocena ogólna",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Widok oceny ucznia",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Ocena niepokazana uczniom",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Napisy",
35
38
  "components:mediaPlayer:captionsVtt": "Napisy (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "DW",
37
40
  "components:mediaPlayer:default": "Domyślny",
38
41
  "components:mediaPlayer:download": "Pobierz",
39
42
  "components:mediaPlayer:exitFullscreen": "Wyjdź z pełnego ekranu",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Pełny ekran",
42
44
  "components:mediaPlayer:language": "Język",
43
45
  "components:mediaPlayer:loadErrorMessage": "Ups, wystąpił problem podczas ładowania tego pliku multimedialnego",
package/src/lang/pt.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Nota Geral",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Visualização da Nota pelo Aluno",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Nota não exibida aos alunos",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Legendas",
35
38
  "components:mediaPlayer:captionsVtt": "Legendas (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Padrão",
38
41
  "components:mediaPlayer:download": "Baixar",
39
42
  "components:mediaPlayer:exitFullscreen": "Sair do modo de tela inteira",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Tela inteira",
42
44
  "components:mediaPlayer:language": "Idioma",
43
45
  "components:mediaPlayer:loadErrorMessage": "Houve um problema ao carregar este arquivo de mídia",
package/src/lang/ru.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Общий класс",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Вид класса для учащегося",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Класс не показывается учащимся",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Подписи",
35
38
  "components:mediaPlayer:captionsVtt": "Подписи (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "Копия",
37
40
  "components:mediaPlayer:default": "По умолчанию",
38
41
  "components:mediaPlayer:download": "Скачать",
39
42
  "components:mediaPlayer:exitFullscreen": "Выход из полного экрана",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Полноэкранный режим",
42
44
  "components:mediaPlayer:language": "Язык",
43
45
  "components:mediaPlayer:loadErrorMessage": "Упс, при загрузке этого медиафайла произошла проблема",
package/src/lang/sv.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Totalbetyg",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Elevvy över betyg",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Betyg visas inte för eleverna",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Bildtexter",
35
38
  "components:mediaPlayer:captionsVtt": "Bildtexter (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "Kopia",
37
40
  "components:mediaPlayer:default": "Standard",
38
41
  "components:mediaPlayer:download": "Hämta",
39
42
  "components:mediaPlayer:exitFullscreen": "Avsluta helskärmsläget",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Helskärm",
42
44
  "components:mediaPlayer:language": "Språk",
43
45
  "components:mediaPlayer:loadErrorMessage": "Det uppstod ett problem när den här mediefilen skulle läsas in",
package/src/lang/th.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "เกรดโดยรวม",
31
31
  "components:gradeResult:studentGradePreviewLabel": "มุมมองเกรดของผู้เรียน",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "ไม่แสดงเกรดให้ผู้เรียนเห็น",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "คำบรรยายภาพ",
35
38
  "components:mediaPlayer:captionsVtt": "คำบรรยายภาพ (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "สำเนาถึง",
37
40
  "components:mediaPlayer:default": "ค่าเริ่มต้น",
38
41
  "components:mediaPlayer:download": "ดาวน์โหลด",
39
42
  "components:mediaPlayer:exitFullscreen": "ออกจากเต็มหน้าจอ",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "เต็มหน้าจอ",
42
44
  "components:mediaPlayer:language": "ภาษา",
43
45
  "components:mediaPlayer:loadErrorMessage": "อุ๊ปส์ เกิดปัญหาขณะโหลดไฟล์สื่อนี้",
package/src/lang/tr.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Genel Not",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Notun Öğrenci Görünümü",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Not öğrencilere gösterilmiyor",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Alt yazı",
35
38
  "components:mediaPlayer:captionsVtt": "Alt yazılar (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "Bilgi",
37
40
  "components:mediaPlayer:default": "Varsayılan",
38
41
  "components:mediaPlayer:download": "İndir",
39
42
  "components:mediaPlayer:exitFullscreen": "Tam ekrandan çık",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Tam Ekran",
42
44
  "components:mediaPlayer:language": "Dil",
43
45
  "components:mediaPlayer:loadErrorMessage": "Bu ortam dosyası yüklenirken bir sorun oluştu",
package/src/lang/ur.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Overall Grade",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Learner View of Grade",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Grade not shown to learners",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Captions",
35
38
  "components:mediaPlayer:captionsVtt": "Captions (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Default",
38
41
  "components:mediaPlayer:download": "Download",
39
42
  "components:mediaPlayer:exitFullscreen": "Exit fullscreen",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Fullscreen",
42
44
  "components:mediaPlayer:language": "Language",
43
45
  "components:mediaPlayer:loadErrorMessage": "Oops, there was a problem loading this media file",
package/src/lang/vi.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "Điểm tổng thể",
31
31
  "components:gradeResult:studentGradePreviewLabel": "Chế độ xem điểm của người học",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "Điểm không hiển thị cho người học",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "Phụ đề",
35
38
  "components:mediaPlayer:captionsVtt": "Phụ đề (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "CC",
37
40
  "components:mediaPlayer:default": "Mặc định",
38
41
  "components:mediaPlayer:download": "Tải xuống",
39
42
  "components:mediaPlayer:exitFullscreen": "Thoát toàn màn hình",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "Toàn màn hình",
42
44
  "components:mediaPlayer:language": "Ngôn ngữ",
43
45
  "components:mediaPlayer:loadErrorMessage": "Ôi, có vấn đề khi tải tệp phương tiện này",
package/src/lang/zh-cn.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "总成绩",
31
31
  "components:gradeResult:studentGradePreviewLabel": "学员成绩视图",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "不向学员显示成绩",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "字幕",
35
38
  "components:mediaPlayer:captionsVtt": "字幕 (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "字幕",
37
40
  "components:mediaPlayer:default": "默认值",
38
41
  "components:mediaPlayer:download": "下载",
39
42
  "components:mediaPlayer:exitFullscreen": "退出全屏",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "全屏",
42
44
  "components:mediaPlayer:language": "语言",
43
45
  "components:mediaPlayer:loadErrorMessage": "糟糕,加载此媒体文件时出现问题",
package/src/lang/zh-tw.js CHANGED
@@ -30,14 +30,16 @@ export default {
30
30
  "components:gradeResult:overallGrade": "整體成績",
31
31
  "components:gradeResult:studentGradePreviewLabel": "學習者的成績檢視",
32
32
  "components:gradeResult:studentGradePreviewNotShown": "成績未向學習者顯示",
33
+ "components:mediaPlayer:aboutExtendedAudioDescriptions": "About Extended Audio Descriptions",
34
+ "components:mediaPlayer:aboutExtendedAudioDescriptionsText": "The video will pause when descriptions play. Options to Replay (r) and Skip (s) the description will be available during that time. Keyboard shortcuts work while focus is in the player.",
33
35
  "components:mediaPlayer:audioDescription": "Audio Description",
36
+ "components:mediaPlayer:audioDescriptions": "Audio Descriptions",
34
37
  "components:mediaPlayer:captions": "字幕",
35
38
  "components:mediaPlayer:captionsVtt": "字幕 (.vtt)",
36
39
  "components:mediaPlayer:closedCaptionsAcronym": "副本",
37
40
  "components:mediaPlayer:default": "預設",
38
41
  "components:mediaPlayer:download": "下載",
39
42
  "components:mediaPlayer:exitFullscreen": "退出全螢幕",
40
- "components:mediaPlayer:extendedAudioDescription": "Extended Audio Description",
41
43
  "components:mediaPlayer:fullscreen": "全螢幕",
42
44
  "components:mediaPlayer:language": "語言",
43
45
  "components:mediaPlayer:loadErrorMessage": "糟糕,載入此影片檔時發生錯誤",