add skip to previous/next video buttons in media player (#8285)

* add skip to previous/next video buttons in media player

* remove skip buttons from playlist UI

* fix skip button size

* hide skip buttons in video player when watching a playlist

* update video player button order to current YouTube layout (play, previous, next)

* fix long tooltip text on skip buttons in video player

* Add translations

---------

Co-authored-by: efb4f5ff-1298-471a-8973-3d47447115dc <73130443+efb4f5ff-1298-471a-8973-3d47447115dc@users.noreply.github.com>
This commit is contained in:
Lukas
2025-12-03 13:25:33 +01:00
committed by GitHub
parent f394bd96a1
commit 15395885fb
64 changed files with 250 additions and 146 deletions

View File

@@ -223,7 +223,9 @@ const PlayerIcons = {
PLAY_CIRCLE_FILLED: 'm426-330 195-125q14-9 14-25t-14-25L426-630q-15-10-30.5-1.5T380-605v250q0 18 15.5 26.5T426-330Zm54 250q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z',
RECORD_VOICE_OVER_FILLED: 'M920-600q0 69-24.5 131.5T829-355q-12 14-30 15t-32-13q-13-13-12-31t12-33q30-38 46.5-85t16.5-98q0-51-16.5-97T767-781q-12-15-12.5-33t12.5-32q13-14 31.5-13.5T829-845q42 51 66.5 113.5T920-600Zm-182 0q0 32-10 61.5T700-484q-11 15-29.5 15.5T638-482q-13-13-13.5-31.5T633-549q6-11 9.5-24t3.5-27q0-14-3.5-27t-9.5-25q-9-17-8.5-35t13.5-31q14-14 32.5-13.5T700-716q18 25 28 54.5t10 61.5ZM360-440q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 66-47 113t-113 47ZM40-200v-32q0-33 17-62t47-44q51-26 115-44t141-18q77 0 141 18t115 44q30 15 47 44t17 62v32q0 33-23.5 56.5T600-120H120q-33 0-56.5-23.5T40-200Z',
TUNE_FILLED: 'M480-120q-17 0-28.5-11.5T440-160v-160q0-17 11.5-28.5T480-360q17 0 28.5 11.5T520-320v40h280q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H520v40q0 17-11.5 28.5T480-120Zm-320-80q-17 0-28.5-11.5T120-240q0-17 11.5-28.5T160-280h160q17 0 28.5 11.5T360-240q0 17-11.5 28.5T320-200H160Zm160-160q-17 0-28.5-11.5T280-400v-40H160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h120v-40q0-17 11.5-28.5T320-600q17 0 28.5 11.5T360-560v160q0 17-11.5 28.5T320-360Zm160-80q-17 0-28.5-11.5T440-480q0-17 11.5-28.5T480-520h320q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H480Zm160-160q-17 0-28.5-11.5T600-640v-160q0-17 11.5-28.5T640-840q17 0 28.5 11.5T680-800v40h120q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H680v40q0 17-11.5 28.5T640-600Zm-480-80q-17 0-28.5-11.5T120-720q0-17 11.5-28.5T160-760h320q17 0 28.5 11.5T520-720q0 17-11.5 28.5T480-680H160Z',
RECTANGLE_DEFAULT: 'M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z'
RECTANGLE_DEFAULT: 'M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z',
SKIP_NEXT_FILLED: 'M660-280v-400q0-17 11.5-28.5T700-720q17 0 28.5 11.5T740-680v400q0 17-11.5 28.5T700-240q-17 0-28.5-11.5T660-280Zm-440-35v-330q0-18 12-29t28-11q5 0 11 1t11 5l248 166q9 6 13.5 14.5T548-480q0 10-4.5 18.5T530-447L282-281q-5 4-11 5t-11 1q-16 0-28-11t-12-29Z',
SKIP_PREVIOUS_FILLED: 'M220-280v-400q0-17 11.5-28.5T260-720q17 0 28.5 11.5T300-680v400q0 17-11.5 28.5T260-240q-17 0-28.5-11.5T220-280Zm458-1L430-447q-9-6-13.5-14.5T412-480q0-10 4.5-18.5T430-513l248-166q5-4 11-5t11-1q16 0 28 11t12 29v330q0 18-12 29t-28 11q-5 0-11-1t-11-5Z'
}
// Utils

View File

@@ -201,6 +201,10 @@
padding: min(calc(15% / 2), 55px);
}
:deep(.shaka-controls-button-panel>.ft-shaka-skip-button .material-svg-icon) {
font-size: 32px;
}
.ftVideoPlayer:fullscreen :deep(.theatre-button),
.ftVideoPlayer:fullscreen :deep(.full-window-button),
.fullWindow :deep(.theatre-button) {

View File

@@ -11,6 +11,7 @@ import { ScreenshotButton } from './player-components/ScreenshotButton'
import { StatsButton } from './player-components/StatsButton'
import { TheatreModeButton } from './player-components/TheatreModeButton'
import { AutoplayToggle } from './player-components/AutoplayToggle'
import { SkipButton } from './player-components/SkipButton'
import {
deduplicateAudioTracks,
findMostSimilarAudioBandwidth,
@@ -126,6 +127,10 @@ export default defineComponent({
type: Boolean,
default: false
},
watchingPlaylist: {
type: Boolean,
default: false
},
vrProjection: {
type: String,
default: null
@@ -786,15 +791,23 @@ export default defineComponent({
})
const uiConfig = computed(() => {
/** @type {shaka.extern.UIConfiguration} */
const uiConfig = {
controlPanelElements: [
const controlPanelElements = [
'play_pause',
'mute',
'volume',
'time_and_duration',
'spacer'
],
]
const controlPanelElementsWithSkipButtons = [
...controlPanelElements.slice(0, 1),
'ft_skip_previous',
'ft_skip_next',
...controlPanelElements.slice(1)
]
/** @type {shaka.extern.UIConfiguration} */
const uiConfig = {
controlPanelElements: props.watchingPlaylist ? controlPanelElementsWithSkipButtons : controlPanelElements,
overflowMenuButtons: [],
// only set this to label when we actually have labels, so that the warning doesn't show up
@@ -1838,6 +1851,36 @@ export default defineComponent({
shakaOverflowMenu.registerElement('ft_screenshot', new ScreenshotButtonFactory())
}
function registerSkipButtons() {
// skip to next video button
events.addEventListener('nextVideo', () => {
emit('skip-to-next')
})
class SkipNextButtonFactory {
create(rootElement, controls) {
return new SkipButton(events, rootElement, controls, 'next')
}
}
shakaControls.registerElement('ft_skip_next', new SkipNextButtonFactory())
shakaOverflowMenu.registerElement('ft_skip_next', new SkipNextButtonFactory())
// skip to previous video button
events.addEventListener('previousVideo', () => {
emit('skip-to-prev')
})
class SkipPreviousButtonFactory {
create(rootElement, controls) {
return new SkipButton(events, rootElement, controls, 'previous')
}
}
shakaControls.registerElement('ft_skip_previous', new SkipPreviousButtonFactory())
shakaOverflowMenu.registerElement('ft_skip_previous', new SkipPreviousButtonFactory())
}
/**
* As shaka-player doesn't let you unregister custom control factories,
* overwrite them with `null` instead so the referenced objects
@@ -1863,6 +1906,12 @@ export default defineComponent({
shakaControls.registerElement('ft_screenshot', null)
shakaOverflowMenu.registerElement('ft_screenshot', null)
shakaControls.registerElement('ft_next_previous', null)
shakaOverflowMenu.registerElement('ft_next_previous', null)
shakaControls.registerElement('ft_skip_previous', null)
shakaOverflowMenu.registerElement('ft_skip_previous', null)
}
// #endregion custom player controls
@@ -2577,6 +2626,7 @@ export default defineComponent({
registerFullWindowButton()
registerLegacyQualitySelection()
registerStatsButton()
registerSkipButtons()
if (ui.isMobile()) {
onlyUseOverFlowMenu.value = true

View File

@@ -0,0 +1,69 @@
import shaka from 'shaka-player'
import i18n from '../../../i18n/index'
import { KeyboardShortcuts, PlayerIcons } from '../../../../constants'
import { addKeyboardShortcutToActionTitle } from '../../../helpers/utils'
export class SkipButton extends shaka.ui.Element {
/**
* @param {EventTarget} events
* @param {HTMLElement} parent
* @param {shaka.ui.Controls} controls
* @param {'next'|'previous'} type
*/
constructor(events, parent, controls, type = 'next') {
super(parent, controls)
this.type_ = type
/** @private */
this.button_ = document.createElement('button')
this.button_.classList.add(`skip-${type}-button`, 'shaka-tooltip', 'ft-shaka-skip-button')
/** @private */
const icon = type === 'next' ? PlayerIcons.SKIP_NEXT_FILLED : PlayerIcons.SKIP_PREVIOUS_FILLED
this.icon_ = new shaka.ui.MaterialSVGIcon(this.button_, icon)
const label = document.createElement('label')
label.classList.add(
'shaka-overflow-button-label',
'shaka-overflow-menu-only',
'shaka-simple-overflow-button-label-inline'
)
/** @private */
this.nameSpan_ = document.createElement('span')
label.appendChild(this.nameSpan_)
this.button_.appendChild(label)
this.parent.appendChild(this.button_)
// listener
this.eventManager.listen(this.button_, 'click', () => {
const eventName = type === 'next' ? 'nextVideo' : 'previousVideo'
events.dispatchEvent(new CustomEvent(eventName))
})
this.eventManager.listen(events, 'localeChanged', () => {
this.updateLocalisedStrings_()
})
this.updateLocalisedStrings_()
}
/** @private */
updateLocalisedStrings_() {
const labelText =
this.type_ === 'next'
? i18n.global.t('Video.Next')
: i18n.global.t('Video.Previous')
const shortcut =
this.type_ === 'next'
? KeyboardShortcuts.VIDEO_PLAYER.PLAYBACK.SKIP_TO_NEXT
: KeyboardShortcuts.VIDEO_PLAYER.PLAYBACK.SKIP_TO_PREV
const label = addKeyboardShortcutToActionTitle(labelText, shortcut)
this.nameSpan_.textContent = this.button_.ariaLabel = label
}
}

View File

@@ -120,28 +120,6 @@
:icon="['fas', 'exchange-alt']"
/>
</button>
<button
class="playlistButton"
:aria-label="$t('Video.Play Previous Video')"
:title="$t('Video.Play Previous Video')"
@click="playPreviousVideo"
>
<font-awesome-icon
class="playlistIcon"
:icon="['fas', 'step-backward']"
/>
</button>
<button
class="playlistButton"
:aria-label="$t('Video.Play Next Video')"
:title="$t('Video.Play Next Video')"
@click="playNextVideo"
>
<font-awesome-icon
class="playlistIcon"
:icon="['fas', 'step-forward']"
/>
</button>
</div>
<div
v-if="!isLoading"

View File

@@ -35,6 +35,7 @@
:use-theatre-mode="useTheatreMode"
:autoplay-possible="autoplayPossible"
:autoplay-enabled="autoplayEnabled"
:watching-playlist="watchingPlaylist"
:vr-projection="vrProjection"
:start-in-fullscreen="startNextVideoInFullscreen"
:start-in-fullwindow="startNextVideoInFullwindow"

View File

@@ -798,8 +798,8 @@ Video:
Loop Playlist: 'Herhaal afspeellys'
Shuffle Playlist: 'Skommel afspeellys'
Reverse Playlist: 'Keer afspeellys om'
Play Next Video: 'Speel volgende video af'
Play Previous Video: 'Speel vorige video af'
Previous: 'Vorige'
Next: 'Volgende'
Watched: 'Gekyk'
Autoplay: 'Outo-afspeel'
Starting soon, please refresh the page to check again: 'Begin binnekort, verfris asb. die blad om weer na te gaan'

View File

@@ -819,8 +819,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
Previous: ''
Next: ''
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''

View File

@@ -763,8 +763,8 @@ Video:
Published on: 'نُشر في'
#& Videos
Autoplay: تشغيل تلقائي
Play Previous Video: شغل الفيديو السابق
Play Next Video: شغل الفيديو التالي
Previous: السابق
Next: التالي
Reverse Playlist: عكس قائمة التشغيل
Shuffle Playlist: ‮خلط قائمة التشغيل
Loop Playlist: تكرار قائمة التشغيل

View File

@@ -789,8 +789,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
Previous: ''
Next: ''
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''

View File

@@ -774,8 +774,8 @@ Video:
Loop Playlist: 'Зацыкліць плэй-ліст'
Shuffle Playlist: 'Перамяшаць плэй-ліст'
Reverse Playlist: 'Перавернуць плэй-ліст'
Play Next Video: 'Прайграць наступнае відэа'
Play Previous Video: 'Прайграць папярэдняе відэа'
Previous: 'Назад'
Next: 'Наступнае'
Watched: 'Прагледжанае'
Autoplay: 'Аўтапрайграванне'
Starting soon, please refresh the page to check again: 'Хутка пачнецца, абнавіце старонку, каб праверыць яшчэ раз'

View File

@@ -769,8 +769,8 @@ Video:
Loop Playlist: 'Повтаряне на плейлиста'
Shuffle Playlist: 'Разбъркване на плейлиста'
Reverse Playlist: 'Обръщане на плейлиста'
Play Next Video: 'Следващо видео'
Play Previous Video: 'Предишно видео'
Previous: 'Пускане пак'
Next: 'Следващ'
Watched: 'Гледано'
Autoplay: 'Автоматично пускане'
Starting soon, please refresh the page to check again: 'Започва скоро, моля опреснете страницата за актуализация'

View File

@@ -844,8 +844,8 @@ Video:
Loop Playlist: 'Rodell roll-videoioù'
Shuffle Playlist: 'Meskañ ar roll-videoioù'
Reverse Playlist: 'Cheñch tu ar roll-videoioù'
Play Next Video: 'Lenn ar video da heul'
Play Previous Video: 'Lenn ar video a-raok'
Previous: ''
Next: ''
Watched: 'Lennet'
Autoplay: 'Lenn emgefreek'
Starting soon, please refresh the page to check again: 'Kregiñ a raio a-benn nebeut, freskait ar bajenn evit gwiriañ en-dro'

View File

@@ -404,8 +404,8 @@ Video:
Loop Playlist: 'Llista de reproducció en bucle'
Shuffle Playlist: 'Llista de reproducció en aleatori'
Reverse Playlist: 'Llista de reproducció invertida'
Play Next Video: 'Reprodueix el vídeo següent'
Play Previous Video: 'Reprodueix el vídeo anterior'
Previous: Anterior
Next: Següent
Watched: 'Visualitzat'
Autoplay: 'Reproducció Automàtica'
# As in a Live Video

View File

@@ -656,8 +656,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: 'لێدانی ڤیدیۆی دواتر'
Play Previous Video: 'لێدانی ڤیدیۆی پێشوو'
Previous: ''
Next: ''
Watched: 'تەمەشاکراو'
Autoplay: 'خۆلێدان'
Starting soon, please refresh the page to check again: ''

View File

@@ -773,8 +773,8 @@ Video:
Loop Playlist: 'Smyčka playlistu'
Shuffle Playlist: 'Zamíchat playlist'
Reverse Playlist: 'Obrátit playlist'
Play Next Video: 'Přehrát další video'
Play Previous Video: 'Přehrát předchozí video'
Previous: 'Předchozí'
Next: 'Další'
Watched: 'Zhlédnuto'
Autoplay: 'Automatické přehrávání'
Starting soon, please refresh the page to check again: 'Začínáme brzy, obnovte prosím stránku pro opětovnou kontrolu'

View File

@@ -784,8 +784,8 @@ Video:
Loop Playlist: 'Cylchu Rhestr Chwarae'
Shuffle Playlist: 'Cymysgu Rhestr Chwarae'
Reverse Playlist: 'Gwrthdroi Rhestr Chwarae'
Play Next Video: 'Chwarae''r Fideo Nesaf'
Play Previous Video: 'Chwarae''r Fideo Blaenorol'
Previous: ''
Next: ''
Watched: 'Wedi gwylio'
Autoplay: 'Awtochwarae'
Starting soon, please refresh the page to check again: 'Yn dechrau''n fuan, adnewyddwch y dudalen i wirio eto'

View File

@@ -750,8 +750,8 @@ Video:
Loop Playlist: 'Gentag playliste'
Shuffle Playlist: 'Bland playliste'
Reverse Playlist: 'Omvendt playliste'
Play Next Video: 'Afspil næste video'
Play Previous Video: 'Afspil forrige video'
Previous: 'Forrige'
Next: 'Næste'
Watched: 'Set'
Autoplay: 'Auto-afspil'
Starting soon, please refresh the page to check again: 'Begynder snart; opdater venligst siden for at tjekke igen'

View File

@@ -734,8 +734,8 @@ Video:
Remove From History: Aus dem Verlauf entfernen
Mark As Watched: Als angesehen markieren
Autoplay: Automatische Wiedergabe
Play Previous Video: Vorheriges Video abspielen
Play Next Video: Nächstes Video abspielen
Previous: Vorheriges
Next: Weiter
Reverse Playlist: Umgekehrte Reihenfolge
Shuffle Playlist: Zufällige Reihenfolge
Loop Playlist: Playlist wiederholen

View File

@@ -747,8 +747,8 @@ Video:
Loop Playlist: 'Επανάληψη λίστας αναπαραγωγής'
Shuffle Playlist: 'Τυχαία σειρά στη λίστα αναπαραγωγής'
Reverse Playlist: 'Αντιστροφή της λίστας αναπαραγωγής'
Play Next Video: 'Αναπαραγωγή επόμενου βίντεο'
Play Previous Video: 'Αναπαραγωγή προηγούμενου βίντεο'
Previous: 'Προηγούμενο'
Next: 'Επόμενο'
Watched: 'Παρακολουθήθηκε'
Autoplay: 'Αυτόματη αναπαραγωγή'
# As in a Live Video

View File

@@ -770,8 +770,8 @@ Video:
Loop Playlist: 'Loop Playlist'
Shuffle Playlist: 'Shuffle Playlist'
Reverse Playlist: 'Reverse Playlist'
Play Next Video: 'Play Next Video'
Play Previous Video: 'Play Previous Video'
Previous: 'Previous'
Next: 'Next'
Watched: 'Watched'
Autoplay: 'Autoplay'
Starting soon, please refresh the page to check again: 'Starting soon, please refresh the page to check again'

View File

@@ -863,8 +863,8 @@ Video:
Loop Playlist: Loop Playlist
Shuffle Playlist: Shuffle Playlist
Reverse Playlist: Reverse Playlist
Play Next Video: Play Next Video
Play Previous Video: Play Previous Video
Previous: Previous
Next: Next
Watched: Watched
Autoplay: Autoplay
Starting soon, please refresh the page to check again: Starting soon, please refresh

View File

@@ -517,8 +517,8 @@ Video:
Published on: 'Publicado en'
#& Videos
Autoplay: Reproducción Automática
Play Previous Video: Reproducir el video anterior
Play Next Video: Reproducir el video siguiente
Previous: Anterior
Next: Siguiente
Reverse Playlist: Lista de reproducción invertida
Shuffle Playlist: Lista de reproducción aleatoria
Loop Playlist: Lista de reproducción en bucle

View File

@@ -767,8 +767,8 @@ Video:
In less than a minute: En menos de un minuto
Published on: 'Publicado el'
#& Videos
Play Previous Video: Reproducir el vídeo anterior
Play Next Video: Reproducir vídeo siguiente
Previous: Anterior
Next: Siguiente
Reverse Playlist: Invertir orden
Shuffle Playlist: Reproducción aleatoria
Loop Playlist: Reproducción en bucle

View File

@@ -768,8 +768,8 @@ Video:
Loop Playlist: 'Korda esitusloendit'
Shuffle Playlist: 'Sega esitusloend'
Reverse Playlist: 'Pööra esitusloend tagurpidi'
Play Next Video: 'Esita järgmist videot'
Play Previous Video: 'Esita eelmist videot'
Previous: 'Eelmine'
Next: 'Järgmine'
Watched: 'Vaadatud'
Autoplay: 'Automaatne esitus'
Starting soon, please refresh the page to check again: 'Kuvamine algab varsti, vajadusel värskenda uuesti kontrollimiseks lehte'

View File

@@ -776,8 +776,8 @@ Video:
Loop Playlist: 'etengabeko erreprodukzio zerrenda'
Shuffle Playlist: 'Nahasketa erreprodukzio zerrenda'
Reverse Playlist: 'Alderantzizko erreprodukzio zerrenda'
Play Next Video: 'Hurrengo bideoa ikusi'
Play Previous Video: 'Aurreko bideoa ikusi'
Previous: 'Aurrekoa'
Next: 'Hurrengoa'
Watched: 'Ikusitakoak'
Autoplay: 'Automatikoki ikusi'
Starting soon, please refresh the page to check again: 'Laster hasiko da, mesedez, freskatu orria berriro egiaztatzeko'

View File

@@ -672,7 +672,7 @@ Video:
Published:
In less than a minute: در کمتر از یک دقیقه
Copy Invidious Link: لینک Invidious را کپی کنید
Play Previous Video: پخش ویدیوی قبلی
Previous: قبلی
Autoplay: پخش خودکار
Started streaming on: پخش جریانی را شروع کرد
Copy YouTube Channel Link: لینک کانال یوتیوب را کپی کنید
@@ -695,7 +695,7 @@ Video:
Video has been removed from your saved list: ویدیو از لیست ذخیره شده شما حذف شده است
Download Video: دانلود ویدیو
Open in YouTube: در یوتیوب باز کنید
Play Next Video: پخش ویدئوی بعدی
Next: بعدی
Open Channel in Invidious: کانال را در Invidious باز کنید
Copy Invidious Channel Link: لینک کانال Invidious را کپی کنید
Watched: دیده شده

View File

@@ -633,8 +633,8 @@ Video:
Remove From History: Poista historiasta
Mark As Watched: Merkitse katsotuksi
Autoplay: Automaattinen toisto
Play Previous Video: Toista edellinen video
Play Next Video: Toista seuraava video
Previous: Edellinen
Next: Seuraava
Reverse Playlist: Käänteinen soittolista
Shuffle Playlist: Sekoita soittolistaa
Loop Playlist: Kierrätä soittolistaa

View File

@@ -731,8 +731,8 @@ Video:
In less than a minute: En moins d'une minute
Published on: 'Mise en ligne le'
#& Videos
Play Previous Video: Lire la vidéo précédente
Play Next Video: Lire la vidéo suivante
Previous: Précédente
Next: Suivante
Autoplay: Lecture auto
Reverse Playlist: Inverser la liste de lecture
Shuffle Playlist: Mélanger la liste de lecture

View File

@@ -495,8 +495,8 @@ Video:
Loop Playlist: 'Reprodución en bucle'
Shuffle Playlist: 'Reprodución aleatoria'
Reverse Playlist: 'Inverter listaxe de reprodución'
Play Next Video: 'Reproducir próximo vídeo'
Play Previous Video: 'Reproducir vídeo anterior'
Previous: 'Anterior'
Next: 'Seguinte'
Watched: 'Visto'
Autoplay: 'Reprodución automática'
Starting soon, please refresh the page to check again: 'Comezará en breve. Por favor, actualiza a páxina para verificares'

View File

@@ -769,8 +769,8 @@ Video:
Loop Playlist: 'ניגון רשימת נגינה במחזוריות'
Shuffle Playlist: 'ערבוב רשימת הנגינה'
Reverse Playlist: 'נגינת רשימת הנגינה בסדר הפוך'
Play Next Video: 'נגינת הסרטון הבא'
Play Previous Video: 'נגינת הסרטון הקודם'
Previous: 'הקודם'
Next: 'הבא'
# Context is "X People Watching"
Watched: 'נצפה'
Autoplay: 'ניגון אוטומטי'

View File

@@ -766,8 +766,8 @@ Video:
Published on: 'Objavljeno'
#& Videos
Autoplay: Automatska reprodukcija
Play Previous Video: Reproduciraj prethodni video
Play Next Video: Reproduciraj sljedeći video
Previous: Prethodno
Next: Dalje
Reverse Playlist: Obrni redoslijed zbirke
Shuffle Playlist: Slučajni redoslijed zbirke
Loop Playlist: Ponavljaj zbirku

View File

@@ -769,8 +769,8 @@ Video:
Loop Playlist: 'Lejátszási lista folyamatos lejátszása'
Shuffle Playlist: 'Véletlen sorrendű lejátszás'
Reverse Playlist: 'Fordított lejátszási lista'
Play Next Video: 'Következő videó lejátszása'
Play Previous Video: 'Előző videó lejátszása'
Previous: 'Előző'
Next: 'Következő'
Watched: 'Megtekintett'
Autoplay: 'Automatikus lejátszás'
Starting soon, please refresh the page to check again: 'Hamarosan kezdődik, frissítse a lapot az ellenőrzéshez'

View File

@@ -769,8 +769,8 @@ Video:
Loop Playlist: 'Ulangi Daftar Putar'
Shuffle Playlist: 'Acak Daftar Putar'
Reverse Playlist: 'Putar-Balik Daftar Putar'
Play Next Video: 'Putar Video Berikutnya'
Play Previous Video: 'Putar Video Sebelumnya'
Previous: 'Sebelumnya'
Next: 'Berikutnya'
Watched: 'Sudah Ditonton'
Autoplay: 'Putar-Otomatis'
# As in a Live Video

View File

@@ -776,8 +776,8 @@ Video:
Loop Playlist: 'Endurtaka spilunarlista endalaust'
Shuffle Playlist: 'Stokka spilunarlista'
Reverse Playlist: 'Snúa við spilunarlista'
Play Next Video: 'Spila næsta myndskeið'
Play Previous Video: 'Spila fyrra myndskeið'
Previous: 'Spila aftur'
Next: 'Næsta'
Watched: 'Búið að horfa'
Autoplay: 'Spila sjálfkrafa'
Starting soon, please refresh the page to check again: 'Byrjar bráðum, endurlestu síðuna til að fylgjast með'

View File

@@ -734,8 +734,8 @@ Video:
In less than a minute: In meno di un minuto
Published on: 'Pubblicato il'
#& Videos
Play Previous Video: Riproduci il video precedente
Play Next Video: Riproduci il prossimo video
Previous: Indietro
Next: Avanti
Reverse Playlist: Playlist al contrario
Shuffle Playlist: Riproduzione playlist casuale
Loop Playlist: Riproduzione continua playlist

View File

@@ -731,8 +731,8 @@ Video:
Video has been marked as watched: 視聴済みに変更しました
Mark As Watched: 視聴済みに変更
Autoplay: 自動再生
Play Previous Video: の動画を再生
Play Next Video: の動画を再生
Previous:
Next:
Reverse Playlist: 再生リストを逆順にする
Shuffle Playlist: 再生リストをシャッフル
Loop Playlist: 再生リストのループ

View File

@@ -510,8 +510,8 @@ Video:
Loop Playlist: '재생 목록 반복'
Shuffle Playlist: '재생 목록 셔플'
Reverse Playlist: '재생 목록 역재생'
Play Next Video: '다음 동영상 재생'
Play Previous Video: '이전 동영상 재생'
Previous: '이전'
Next: '다음'
Watched: '시청함'
Autoplay: '자동 재생'
Starting soon, please refresh the page to check again: '곧 시작됩니다. 다시 확인하려면 페이지를 새로고침하십시오'

View File

@@ -496,8 +496,8 @@ Video:
Loop Playlist: 'Sukti grojaraštį ciklu'
Shuffle Playlist: 'Maišyti grojaraštį'
Reverse Playlist: 'Apsukti grojaraštį'
Play Next Video: 'Groti sekantį vaizdo įrašą'
Play Previous Video: 'Groti ankstesnį vaizdo įrašą'
Previous: 'Iš naujo'
Next: 'Kitas'
Watched: 'Žiūrėta'
Autoplay: 'Paleisti automatiškai'
Starting soon, please refresh the page to check again: 'Greitai prasidės, atnaujinkite puslapį, kad galėtumėte patikrinti dar kartą'

View File

@@ -656,8 +656,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: 'Atskaņo nākamo video'
Play Previous Video: 'Atskaņo iepriekšējo video'
Previous: 'Iepriekšējais'
Next: 'Nākamais'
Watched: 'Skatīts'
Autoplay: 'Autoatskaņošana'
Starting soon, please refresh the page to check again: 'Drīz sāksies, lūdzu atsvaidzini lapu, lai pārbaudītu vēlreiz'

View File

@@ -821,8 +821,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
Previous: ''
Next: ''
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''

View File

@@ -771,8 +771,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
Previous: 'ယခင်'
Next: 'ရှေ့သို့'
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''

View File

@@ -751,8 +751,8 @@ Video:
Copy YouTube Channel Link: Kopier YouTube-kanallenke
Video has been removed from your saved list: Videoen har blitt fjernet fra din liste over lagrede videoer
Open Channel in YouTube: Åpne kanal i YouTube
Play Previous Video: Spill av forrige video
Play Next Video: Spill av neste video
Previous: 'Forrige'
Next: 'Neste'
Sponsor Block category:
interaction: Samhandling
outro: Outro

View File

@@ -736,8 +736,8 @@ Video:
Published on: 'Gepubliceerd op'
#& Videos
Autoplay: Automatisch afspelen
Play Previous Video: Vorige video afspelen
Play Next Video: Volgende video afspelen
Previous: Vorige
Next: Volgende
Reverse Playlist: Afspeellijst omkeren
Shuffle Playlist: Afspeellijst in willekeurige volgorde afspelen
Loop Playlist: Playlist herhalen

View File

@@ -488,8 +488,8 @@ Video:
Loop Playlist: 'Gjenta speleliste'
Shuffle Playlist: 'Spel av tilfeldig frå spelelista'
Reverse Playlist: 'Snu spelelista'
Play Next Video: 'Spel av neste video'
Play Previous Video: 'Spel av førre video'
Previous: 'Forrige'
Next: 'Neste'
Watched: 'Sett'
Autoplay: 'Automatisk avspeling'
Starting soon, please refresh the page to check again: 'Starter snart. Ver venleg og oppdater sida for å sjekke igjen'

View File

@@ -732,8 +732,8 @@ Video:
Published on: 'Opublikowano'
#& Videos
Autoplay: Autoodtwarzanie
Play Previous Video: Odtwórz poprzedni film
Play Next Video: Odtwórz następny film
Previous: Poprzedni
Next: Dalej
Reverse Playlist: Odwróć playlistę
Shuffle Playlist: Losuj z playlisty
Loop Playlist: Zapętl playlistę

View File

@@ -738,8 +738,8 @@ Video:
Download Video: Baixar vídeo
Starting soon, please refresh the page to check again: Vai começar em breve, atualize a página para verificar novamente
Autoplay: Reprodução automática
Play Previous Video: Reproduzir vídeo anterior
Play Next Video: Reproduzir próximo vídeo
Previous: Anterior
Next: Próximo
Reverse Playlist: Inverter ordem da playlist
Shuffle Playlist: Playlist aleatória
Loop Playlist: Repetir playlist

View File

@@ -781,8 +781,8 @@ Video:
Streamed on: Transmitido a
Started streaming on: Transmissão iniciada em
#& Videos
Play Previous Video: Reproduzir vídeo anterior
Play Next Video: Reproduzir vídeo seguinte
Previous: 'Anterior'
Next: 'Seguinte'
Reverse Playlist: Inverter lista de reprodução
Shuffle Playlist: Baralhar lista de reprodução
Loop Playlist: Repetir lista de reprodução

View File

@@ -764,8 +764,8 @@ Video:
Loop Playlist: 'Repetir lista de reprodução'
Shuffle Playlist: 'Baralhar lista de reprodução'
Reverse Playlist: 'Inverter lista de reprodução'
Play Next Video: 'Reproduzir vídeo seguinte'
Play Previous Video: 'Reproduzir vídeo anterior'
Previous: 'Anterior'
Next: 'Seguinte'
Watched: 'Reproduzido'
Autoplay: 'Reprodução automática'
# As in a Live Video

View File

@@ -755,8 +755,8 @@ Video:
Loop Playlist: 'Lista de redare în buclă'
Shuffle Playlist: 'Lista de redare aleatorie'
Reverse Playlist: 'Lista de redare inversă'
Play Next Video: 'Redă videoclipul următor'
Play Previous Video: 'Redă videoclipul anterior'
Previous: 'Înapoi'
Next: 'Înainte'
Watched: 'Vizionat'
Autoplay: 'Redare automată'
Starting soon, please refresh the page to check again: 'Începe în curând, vă rugăm să reîmprospătați pagina pentru a verifica din nou'

View File

@@ -732,8 +732,8 @@ Video:
Published on: 'Размещено'
#& Videos
Autoplay: Автовоспроизведение
Play Previous Video: Воспроизвести предыдущее видео
Play Next Video: Воспроизвести следующее видео
Previous: Назад
Next: Следующее
Reverse Playlist: Обратный порядок плейлиста
Shuffle Playlist: Перемешать плейлист
Loop Playlist: Повторять плейлист

View File

@@ -614,8 +614,8 @@ Video:
audio only: len zvuk
video only: len video
Download Video: Stiahnuť video
Play Previous Video: Prehrať predchádzajúce video
Play Next Video: Prehrať ďalšie video
Previous: Predchádzajúce
Next: Ďalšie
Reverse Playlist: Obrátiť playlist
Shuffle Playlist: Zamiešať playlist
Loop Playlist: Opakovať playlist

View File

@@ -422,8 +422,8 @@ Video:
Loop Playlist: 'Ponovno predvajaj seznam predvajanja'
Shuffle Playlist: 'Mešaj seznam predvajanja'
Reverse Playlist: 'Obrni seznam predvajanja'
Play Next Video: 'Predvajaj naslednji videoposnetek'
Play Previous Video: 'Predvajaj prejšnji videoposnetek'
Previous: 'Nazaj'
Next: 'Naprej'
Watched: 'Ogledano'
Autoplay: 'Samodejno predvajanje'
Starting soon, please refresh the page to check again: 'Predvajanje se začenja. Prosimo, osvežite stran, če želite poskusiti znova'

View File

@@ -560,8 +560,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
Previous: ''
Next: ''
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''

View File

@@ -817,8 +817,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
Previous: 'Prapa'
Next: 'Tjetër'
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''

View File

@@ -763,8 +763,8 @@ Video:
Loop Playlist: 'Понављај плејлисту'
Shuffle Playlist: 'Мешање плејлисте'
Reverse Playlist: 'Обрнута плејлиста'
Play Next Video: 'Пусти следећи видео снимак'
Play Previous Video: 'Пусти претходни видео снимак'
Previous: 'Претходно'
Next: 'Следеће'
Watched: 'Одгледано'
Autoplay: 'Аутоматско пуштање'
Starting soon, please refresh the page to check again: 'Почиње ускоро, освежите страницу да бисте поново проверили'

View File

@@ -769,8 +769,8 @@ Video:
Loop Playlist: 'Loop spellista'
Shuffle Playlist: 'Blanda spellista'
Reverse Playlist: 'Omvänd spellista'
Play Next Video: 'Spela nästa video'
Play Previous Video: 'Spela föregående video'
Previous: 'Föregående'
Next: 'Nästa'
Watched: 'Visad'
Autoplay: 'Autospelning'
Starting soon, please refresh the page to check again: 'Börjar snart, uppdatera sidan för att kontrollera igen'

View File

@@ -822,8 +822,8 @@ Video:
Loop Playlist: 'லூப் பிளேலிச்ட்'
Shuffle Playlist: 'கலக்கு பிளேலிச்ட்'
Reverse Playlist: 'தலைகீழ் பிளேலிச்ட்'
Play Next Video: 'அடுத்த வீடியோவை இயக்கவும்'
Play Previous Video: 'முந்தைய வீடியோவை இயக்கவும்'
Previous: 'முந்தையது'
Next: 'அடுத்து'
Watched: 'பார்த்தேன்'
Autoplay: 'ஆட்டோபிளே'
Starting soon, please refresh the page to check again: 'விரைவில் தொடங்கி, மீண்டும் சரிபார்க்க பக்கத்தைப் புதுப்பிக்கவும்'

View File

@@ -769,8 +769,8 @@ Video:
Loop Playlist: 'Listeyi Döngüye Al'
Shuffle Playlist: 'Oynatma Listesini Karıştır'
Reverse Playlist: 'Oynatma Listesini Geriden Oynat'
Play Next Video: 'Sonraki Videoyu Oynat'
Play Previous Video: 'Önceki Videoyu Oynat'
Previous: 'Önceki'
Next: 'Sonraki'
Watched: 'İzlendi'
Autoplay: 'Otomatik Oynat'
Starting soon, please refresh the page to check again: 'Yakında başlayacak, lütfen tekrar denetlemek için sayfayı yenileyin'

View File

@@ -756,8 +756,8 @@ Video:
Loop Playlist: 'Повторювати список відтворення'
Shuffle Playlist: 'Перемішати список відтворення'
Reverse Playlist: 'Зворотний напрямок списку відтворення'
Play Next Video: 'Відтворити наступне відео'
Play Previous Video: 'Відтворити попереднє відео'
Previous: 'Назад'
Next: 'Далі'
Watched: 'Переглянуто'
Autoplay: 'Автовідтворення'
Starting soon, please refresh the page to check again: 'Початок незабаром, оновіть сторінку, щоб перевірити ще раз'

View File

@@ -738,8 +738,8 @@ Video:
Download Video: Tải video
Starting soon, please refresh the page to check again: Sắp bắt đầu, vui lòng refresh trang để kiểm tra
Autoplay: Tự động phát
Play Previous Video: Phát video trước
Play Next Video: Phát video tiếp theo
Previous: Trước
Next: Tiếp theo
Reverse Playlist: Đảo ngược Playlist
Shuffle Playlist: Trộn Playlist
Loop Playlist: Lặp lại Playlist

View File

@@ -726,8 +726,8 @@ Video:
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
Previous: ''
Next: ''
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''

View File

@@ -732,8 +732,8 @@ Video:
Video has been marked as watched: 视频已标记为已观看
Remove From History: 从历史记录中移除
Autoplay: 自动播放
Play Previous Video: 播放上一视频
Play Next Video: 播放下一视频
Previous: 上一个
Next: 下一个
Reverse Playlist: 反向播放列表
Shuffle Playlist: 随机播放列表
Loop Playlist: 循环播放列表

View File

@@ -732,8 +732,8 @@ Video:
Remove From History: 從觀看紀錄中移除
Mark As Watched: 標記為已觀看
Autoplay: 自動播放
Play Previous Video: 播放前一影片
Play Next Video: 播放下一影片
Previous: 上一部
Next: 下一個
Reverse Playlist: 反向播放清單
Shuffle Playlist: 隨機播放清單
Loop Playlist: 循環播放清單