mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-26 09:28:37 +03:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28cddf92d5 | ||
|
|
465a6dde9b | ||
|
|
5336399365 | ||
|
|
3f69b19e23 | ||
|
|
23103f1274 | ||
|
|
9bfaf98dda | ||
|
|
f21be82cce | ||
|
|
39155fdf99 |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "__MSG_fullName__",
|
||||
"short_name": "__MSG_Name__",
|
||||
"version": "1.2.29",
|
||||
"version": "1.2.30",
|
||||
"default_locale": "en",
|
||||
"description": "__MSG_Description__",
|
||||
"content_scripts": [{
|
||||
|
||||
@@ -1 +1,131 @@
|
||||
{}
|
||||
{
|
||||
"Name": {
|
||||
"message": "SponsorBlock",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"fullName": {
|
||||
"message": "SponsorBlock за YouTube - пропускай спонсорства",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Пропускай спонсорствата в YouTube клипове. Докладвай за спонсорства в клиповете които гледате, за да спестите време на други хора.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Сървърът каза, че тази заявка е невалидна"
|
||||
},
|
||||
"429": {
|
||||
"message": "Подали сте прекалено много спонсорства за едно видео, сигурни ли сте, че има толкова много?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Това спонсорство вече е подадено"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Каналът е добавен към Whitelist!"
|
||||
},
|
||||
"Sponsor": {
|
||||
"message": "спонсор"
|
||||
},
|
||||
"Sponsors": {
|
||||
"message": "спонсори"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "част със спонсорство"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "части със спонсорство"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Докладвай"
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Отхвърли"
|
||||
},
|
||||
"Loading": {
|
||||
"message": "Зареждане..."
|
||||
},
|
||||
"Mins": {
|
||||
"message": "Минути"
|
||||
},
|
||||
"Secs": {
|
||||
"message": "Секунди"
|
||||
},
|
||||
"Hide": {
|
||||
"message": "Никога не показвай"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Натиснете \"върни\" за да се върнете където бяхте."
|
||||
},
|
||||
"unskip": {
|
||||
"message": "Върни"
|
||||
},
|
||||
"reskip": {
|
||||
"message": "Пропусни отново"
|
||||
},
|
||||
"paused": {
|
||||
"message": "На пауза"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "За да редактирате или изтриете някои стойности, натиснете на \"инфо\" бутона или отворете изкачащият прозорец на добавката чрез кликване на иконата на добавката в горният ляв ъгъл."
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "Сигурни ли сте, че искате да изчистите това?\n\n"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "Възникна грешка при подаването на Вашите спонсорски времена, моля опитайте отново по-късно."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Спонсорите на това видео са в базата данни!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Няма намерени спонсорства"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Спонсорството Започва Сега"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Спонсорството Започва Сега"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Не е намерено YouTube видео в този раздел. Ако сте сигурни, че това е YouTube раздел, затворете този изскачащ прозорец и го отворете отново. Ако това не проработи, опитайте се да презаредите раздела."
|
||||
},
|
||||
"success": {
|
||||
"message": "Успешно!"
|
||||
},
|
||||
"voted": {
|
||||
"message": "Гласувано!"
|
||||
},
|
||||
"voteFail": {
|
||||
"message": "Вече сте гласували така преди."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Възникна грешка с връзката. Код на грешката: "
|
||||
},
|
||||
"wantToSubmit": {
|
||||
"message": "Искате ли да подадете спонсорствата за това видео ID"
|
||||
},
|
||||
"leftTimes": {
|
||||
"message": "Изглежда, че не сте подали някои спонсорства. Върнете се в страницата и ги подайте (те не са изтрити)."
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Премахни Спонсорствата"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Отворете изскачащия прозорец на SponsorBlock"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Подайте спонсорите"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Сигурни ли сте, че искате да подадете това?"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "Добавяне на канала към Whitelist"
|
||||
},
|
||||
"removeFromWhitelist": {
|
||||
"message": "Премахване на канала от Whitelist"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Гласуване за спонсорства"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,15 +35,9 @@
|
||||
"Segments": {
|
||||
"message": "gesponsorte Inhalte"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Sponsor übersprungen"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Melden"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Melde dieses Segment als unzulässig."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Abbrechen"
|
||||
},
|
||||
@@ -71,6 +65,9 @@
|
||||
"paused": {
|
||||
"message": "Pausiert"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "Timer angehalten"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "\n\nUm einzelne Werte zu löschen oder zu ändern, klicke auf den Info-Button, oder öffne die Erweiterungs-Übersicht, indem du das Erweiterungssymbol in der rechten oberen Ecke anklickst."
|
||||
},
|
||||
@@ -104,9 +101,6 @@
|
||||
"voteFail": {
|
||||
"message": "Du hast bereits so abgestimmt."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Der Server ist scheinbar offline. Bitte unverzüglich dem Entwickler melden."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Ein Verbindungsfehler ist aufgetreten. Fehlermeldung: "
|
||||
},
|
||||
@@ -272,12 +266,12 @@
|
||||
"errorCode": {
|
||||
"message": "Fehlermeldung: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Sponsor überspringen?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Überspringen"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Übersprungen"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Auto-Überspringen deaktivieren"
|
||||
},
|
||||
@@ -350,6 +344,9 @@
|
||||
"supportInvidious": {
|
||||
"message": "Unterstütze Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) ist ein Drittanbieter-YouTube-Client. Um Support zu aktivieren, müssen Sie die zusätzlichen Berechtigungen akzeptieren. Dies funktioniert NICHT im Incongnito-modus auf Chrome und anderen Chromium-Varianten."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Invidious Support aktivieren, Autoskip deaktivieren, Tasten ausblenden und vieles mehr."
|
||||
},
|
||||
@@ -374,12 +371,6 @@
|
||||
"currentInstances": {
|
||||
"message": "Aktuelle Instanzen:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Automatisches Liken"
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "Wenn dies aktiviert ist, wird die Erweiterung alle Beiträge hochladen, die Sie ansehen, wenn Sie sie nicht melden. Wenn die Benachrichtigung deaktiviert ist, wird dies nicht geschehen."
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Minimale Dauer (Sekunden):"
|
||||
},
|
||||
@@ -486,9 +477,24 @@
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Intro Animation"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Endkarten/Credits"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaktions-Erinnerung (Abonnieren)"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Eigenwerbung und Merchandise"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musik: Nicht-Musik-Abschnitt"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: Spenden/Nachrichten vorlesen"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Deaktivieren"
|
||||
},
|
||||
@@ -512,5 +518,41 @@
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "Weitere Kategorien"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Ende)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "versteckt: downvote"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "verborgen: zu kurz"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"message": "Kanal-ID wurde noch nicht geladen."
|
||||
},
|
||||
"adblockerIssue": {
|
||||
"message": "Irgendwas hält SponsorBlock davon ab, die Videodaten abzurufen. Möglicherweise ist das dein Werbeblocker. Mehr Infos: https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
|
||||
},
|
||||
"itCouldBeAdblockerIssue": {
|
||||
"message": "Falls dies weiterhin geschieht, könnte dies durch Ihren Werbeblocker verursacht werden. Bitte überprüfen Sie https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Kanalprüfung erzwingen vor dem Überspringen von Sponsoren"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "Standardmäßig überspringt er Sponsoren sofort, bevor er überhaupt weiß, was der Kanal ist. Standardmäßig werden auf den Kanälen auf der Whitelist-Liste einige null Sekunden Sponsoren übersprungen. Das Aktivieren dieser Option verhindert dies, aber das Überspringen hat eine leichte Verzögerung, da die Kanal-ID einige Zeit in Anspruch nehmen kann. Diese Verzögerung kann bei schnellen Internetverbindungen unauffällig sein."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Bedenken Sie die Aktivierung der Force-Channel-Prüfung vor dem Überspringen von Sponsoren"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Nicht korrektes/Falsches Timing"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Falsche Kategorie"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "Dieses Video ist als Musik kategorisiert. Sind Sie sicher, dass Sie Segmente mit Nicht-Musikkategorien einreichen möchten? Wenn dieses Video nicht wirklich Musik ist, sollten Sie dieses Segment nicht einreichen. Bitte lesen Sie die Richtlinien, wenn Sie verwirrt sind."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,9 +104,6 @@
|
||||
"voted": {
|
||||
"message": "Voted!"
|
||||
},
|
||||
"voteFail": {
|
||||
"message": "You have already voted this way before."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "It seems the server is down. Contact the dev immediately."
|
||||
},
|
||||
@@ -496,7 +493,7 @@
|
||||
"message": "Interaction Reminder (Subscribe)"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Self-Promotion and Merchandise"
|
||||
"message": "Unpaid/Self Promotion"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Music: Non-Music Section"
|
||||
|
||||
@@ -1 +1,500 @@
|
||||
{}
|
||||
{
|
||||
"Name": {
|
||||
"message": "SponsorBlock",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"fullName": {
|
||||
"message": "SponsorBlock para YouTube - Omitir Sponsors",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Omitir sponsors en videos de YouTube. Infórmanos de sponsors en videos que ves para ahorrar el tiempo de otros.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Servidor dijo que esta solicitud no es valida"
|
||||
},
|
||||
"429": {
|
||||
"message": "Has enviado demasiados tiempos de sponsor en este video, ¿estas seguro de que hay tantos?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Esto ya ha sido enviado antes"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Canal Permitido!"
|
||||
},
|
||||
"Sponsor": {
|
||||
"message": "sponsor"
|
||||
},
|
||||
"Sponsors": {
|
||||
"message": "sponsors"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "segmento de sponsor"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "segmentos de sponsor"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Votar a favor de esta sumisión"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Denunciar"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Denunciar esta sumisión como incorrecta."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Descartar"
|
||||
},
|
||||
"Loading": {
|
||||
"message": "Cargando..."
|
||||
},
|
||||
"Mins": {
|
||||
"message": "Minutos"
|
||||
},
|
||||
"Secs": {
|
||||
"message": "Segundos"
|
||||
},
|
||||
"Hide": {
|
||||
"message": "Nunca Mostrar"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Haz clic en no omitir para volver a donde estabas."
|
||||
},
|
||||
"unskip": {
|
||||
"message": "No omitir"
|
||||
},
|
||||
"reskip": {
|
||||
"message": "Volver a saltar"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Pausado"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "Temporizador Detenido"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "Para editar o eliminar valores individuales, haz clic en el botón de información o abre la ventana de extensión haciendo clic en el icono de extensión en la esquina superior derecha."
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "¿Estas seguro de que quieres eliminar esto?\n\n"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "Se ha producido un error enviando tus tiempos de sponsor, por favor inténtalo de nuevo más tarde."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "¡Los sponsors de este video están en la base de datos!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "No se encontró ningún sponsor"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Sponsor Empieza Ahora"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Sponsor Acaba Ahora"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Ningún video de YouTube se encontró en esta pestaña. Si sabes que esto es una pestaña de YouTube, cierra esta ventana y ábrela otra vez. Si eso no funciona, intenta recargar la pestaña."
|
||||
},
|
||||
"success": {
|
||||
"message": "¡Completado!"
|
||||
},
|
||||
"voted": {
|
||||
"message": "¡Votado!"
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Parece que el servidor está desconectado. Póngase en contacto con el desarrollador inmediatamente."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Ha ocurrido un error de conexión. Código de error: "
|
||||
},
|
||||
"wantToSubmit": {
|
||||
"message": "¿Quieres enviar los tiempos de sponsor para el vídeo id"
|
||||
},
|
||||
"leftTimes": {
|
||||
"message": "Parece que has dejado algunos tiempos de sponsor sin enviar. Vuelve a esa página para enviarlos (no se eliminaron)."
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Eliminar Tiempos de Sponsor"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Abrir Ventana de SponsorBlock"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Enviar Tiempos de Sponsor"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "¿Estás seguro de que quieres enviar esto?"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "Permitir Canal"
|
||||
},
|
||||
"removeFromWhitelist": {
|
||||
"message": "Parar De Permitir Canal"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Votar en un tiempo de sponsor"
|
||||
},
|
||||
"recordTimes": {
|
||||
"message": "Registrar los tiempos de un sponsor"
|
||||
},
|
||||
"soFarUHSubmited": {
|
||||
"message": "Hasta ahora, has enviado"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "Has salvado personas de "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "Ver la tabla de clasificación"
|
||||
},
|
||||
"here": {
|
||||
"message": "aquí"
|
||||
},
|
||||
"recordTimesDescription": {
|
||||
"message": "Haga clic en el botón de abajo cuando el sponsor comienza y termina para registrarlo y\nenviarlo a la base de datos."
|
||||
},
|
||||
"popupHint": {
|
||||
"message": "Consejo: Presiona la tecla de punto y coma mientras enfocado en un video para registrar el comienzo/fin de un sponsor y presiona comillas para enviar. (Esto se puede cambiar en las opciones)"
|
||||
},
|
||||
"lastTimes": {
|
||||
"message": "Últimos mensajes de sponsor elegidos"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Eliminar Tiempos"
|
||||
},
|
||||
"submitTimesButton": {
|
||||
"message": "Enviar Tiempos"
|
||||
},
|
||||
"publicStats": {
|
||||
"message": "Esto se utiliza en la página de estadísticas públicas para mostrar cuánto has contribuido. Véala"
|
||||
},
|
||||
"setUsername": {
|
||||
"message": "Escoger Nombre De Usuario"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "¡Únete al servidor oficial de discord para darnos sugerencias y comentarios!"
|
||||
},
|
||||
"hideThis": {
|
||||
"message": "No mostrar esto"
|
||||
},
|
||||
"Options": {
|
||||
"message": "Opciones"
|
||||
},
|
||||
"showButtons": {
|
||||
"message": "Mostrar botones en el reproductor de YouTube"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "Ocultar botones en el reproductor de YouTube"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "Esto oculta los botones que aparecen en el reproductor de YouTube que se usan para enviar segmentos saltados."
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Mostrar botón de información en el reproductor de YouTube"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Ocultar botón de información en el reproductor de YouTube"
|
||||
},
|
||||
"whatInfoButton": {
|
||||
"message": "Este es el botón que abre una ventana en la página de YouTube."
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Ocultar botón de eliminar en el reproductor de YouTube"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "Mostrar botón de eliminar en el reproductor de YouTube"
|
||||
},
|
||||
"whatDeleteButton": {
|
||||
"message": "Este es el botón en el reproductor de YouTube que eliminará todos tus segmentos no enviados para el vídeo actual."
|
||||
},
|
||||
"disableViewTracking": {
|
||||
"message": "Desactivar seguimiento de numero de sponsorsomitidos"
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Activar seguimiento de numero de sponsors omitidos"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Esta opción registra los sponsors que te has saltado para que los otros usuarios sepan cuánto su sumisión ha ayudado a otros y\nes usado como métrica junto con votos positivos para asegurar que el spam no ingrese a la base de datos. La extensión envía un mensaje\nal servidor cada vez que se salta un patrocinador. Esperemos que la mayoría de la gente no cambie esta opción para que los números de vista sean exactos. :)"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Mostrar aviso de nuevo"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlock es una extensión que se omitira segmentos de sponsor de vídeos de YouTube. SponsorBlock es una extensión de navegador que permite a cualquiera enviar los tiempos de comienzo y fin de segmentos de sponsor de vídeos de YouTube. Una vez que una persona envíe esta información, todos los demás con esta extensión pueden omitir directamente el segmento de sponsor.",
|
||||
"description": "Full description of the extension on the store pages."
|
||||
},
|
||||
"website": {
|
||||
"message": "Sitio Web",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"sourceCode": {
|
||||
"message": "Código Fuente",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"noticeUpdate": {
|
||||
"message": "¡El aviso ha sido actualizado!",
|
||||
"description": "The first line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"noticeUpdate2": {
|
||||
"message": "Si aún no te gusta, pulsa el botón de nunca mostrar.",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Establecer botón de inicio de sponsor"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Establecer botón de envio"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Seleccione un botón escribiéndolo"
|
||||
},
|
||||
"keybindDescriptionComplete": {
|
||||
"message": "El botón se ha establecido a: "
|
||||
},
|
||||
"0": {
|
||||
"message": "Tiempo de espera agotado. Compruebe su conexión a Internet. Si su internet está funcionando, el servidor probablemente esta sobrecargado o desconectado."
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "Desactivar SponsorBlock"
|
||||
},
|
||||
"enableSkipping": {
|
||||
"message": "Activar SponsorBlock"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "Tu trabajo",
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"502": {
|
||||
"message": "El servidor parece estar sobrecargado. Inténtalo de nuevo en unos segundos."
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "Código de error: "
|
||||
},
|
||||
"skip": {
|
||||
"message": "Omitir"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Omitido"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Desactivar la omisión automática"
|
||||
},
|
||||
"enableAutoSkip": {
|
||||
"message": "Activar la omisión automática"
|
||||
},
|
||||
"autoSkipDescription": {
|
||||
"message": "La omisión automática omitirá sponsors por ti. Si esta desactivada, aparecerá un aviso preguntando si quieres omitir."
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Notificación de audio al omitir"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Notificación de audio al omitir reproducirá un sonido cada vez que se omite un sponsor. Si está desactivada (o se desactiva la omisión automática), no se reproducirá ningún sonido."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Has omitido "
|
||||
},
|
||||
"youHaveSaved": {
|
||||
"message": "Te has ahorrado "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "minuto"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "minutos"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "hora"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "horas"
|
||||
},
|
||||
"youHaveSavedTime": {
|
||||
"message": "Has ahorrado a otras personas"
|
||||
},
|
||||
"youHaveSavedTimeEnd": {
|
||||
"message": " de sus vidas."
|
||||
},
|
||||
"guildlinesSummary": {
|
||||
"message": "- Asegúrate de que tu segmento sólo contiene un segmento de promoción de pago, nada más.\n- Asegúrate de que omitir este segmento no omitirá ningún contenido valioso\n- Si todo el vídeo es un sponsor, por favor, no lo envíen. Pronto saldrá un sistema completo de reportes de vídeo.\n- Por favor, no informe de los avisos que podrían mostrar parcialidad (si un vídeo de revista está patrocinado, no se salte cuando mencionen eso)."
|
||||
},
|
||||
"statusReminder": {
|
||||
"message": "Comprueba status.sponsor.ajay.app para ver el estado del servidor."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importar/Exportar tu UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Esto debería mantenerse privado. Es como una contraseña y no debe ser compartido con nadie. Si alguien tiene esto, pueden imitarte."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Definir UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Advertencia: Cambiar el UserID es permanente. ¿Estás seguro de que desea hacer esto? Asegúrese de hacer una copia de seguridad de su UserID anterior por si acaso."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Creado Por"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Omisión Automática"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Mostrar aviso después de que se omita un sponsor"
|
||||
},
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Actualmente está establecido a:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Soportar Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) es un cliente alternativo para YouTube. Para habilitar soporte, tienes que aceptar los permisos adicionales. Esto NO funciona en modo incógnito en Chrome y otros variantes de Chromium."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Activar soporte de Invidious, deshabilitar omisión automática, ocultar botones y más."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Añadir nodo de Invidious"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Añadir un nodo de Invidious personalizado. Esto debe estar formateado con SOLO el dominio. Ejemplo: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Añadir"
|
||||
},
|
||||
"addInvidiousInstanceError": {
|
||||
"message": "Esto es un dominio inválido. Esto debería incluir SOLO el dominio. Ejemplo: invidious.ajay.app"
|
||||
},
|
||||
"resetInvidiousInstance": {
|
||||
"message": "Restablecer Lista de Nodos de Invidious"
|
||||
},
|
||||
"resetInvidiousInstanceAlert": {
|
||||
"message": "Estás a punto de restablecer la lista de nodos de invidious"
|
||||
},
|
||||
"currentInstances": {
|
||||
"message": "Nodos actuales:"
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Duración mínima (en segundos):"
|
||||
},
|
||||
"minDurationDescription": {
|
||||
"message": "Los segmentos de sponsor más cortos que el valor establecido no serán omitidos ni mostrados en el reproductor."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "La siguiente sumisión es más corto que su opción de duración mínima. Esto podría significar que esto ya se ha enviado y que simplemente se ha ignorado debido a esta opción. ¿Está seguro de que desea enviar?"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Mostrar botón de subida"
|
||||
},
|
||||
"whatUploadButton": {
|
||||
"message": "Este botón aparece en el reproductor de YouTube después de que has seleccionado una marca de tiempo y estas listo para enviar."
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "Dirección del servidor SponsorBlock"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "La dirección que SponsorBlock utiliza para hacer llamadas al servidor.\nA menos que tengas tu propia instancia del servidor, no debería cambiarse."
|
||||
},
|
||||
"save": {
|
||||
"message": "Guardar"
|
||||
},
|
||||
"reset": {
|
||||
"message": "Restablecer"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com ahora es compatible"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Importar/Exportar todas las opciones"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Configurar opciones"
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Enviar segmento"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Enviar"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "Cancelar"
|
||||
},
|
||||
"delete": {
|
||||
"message": "Eliminar"
|
||||
},
|
||||
"preview": {
|
||||
"message": "Vista Previa"
|
||||
},
|
||||
"edit": {
|
||||
"message": "Editar"
|
||||
},
|
||||
"copyDebugInformation": {
|
||||
"message": "Copiar información de depuración al portapapeles"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "Error al escribir al portapapeles"
|
||||
},
|
||||
"theKey": {
|
||||
"message": "El botón"
|
||||
},
|
||||
"keyAlreadyUsedByYouTube": {
|
||||
"message": "ya está en uso por youtube. Por favor, seleccione otro botón."
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "está enlazado a otra acción. Por favor, seleccione otro botón."
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Animación de introducción"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Tarjetas/Créditos"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Recordatorio de interacción (subscribir)"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Auto-promoción y mercancía"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Música: Sección sin musica"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Directo: Lecturas de donaciones y mensajes"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Desactivar"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "Omisión manual"
|
||||
},
|
||||
"enableTestingServer": {
|
||||
"message": "Habilitar Servidor de Pruebas Beta"
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(Ahora)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "Más categorías"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Final)"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"message": "ID de canal no cargado todavía."
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Tiempo incorrecto"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Categoría errónea"
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "Varios segmentos"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,387 @@
|
||||
{}
|
||||
{
|
||||
"Name": {
|
||||
"message": "SponsorBlock",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"fullName": {
|
||||
"message": "SponsorBlock YouTubelle - Ohita sponsoroinnit",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Ohita sponsorointi YouTube-videoissa. Ilmoita katsomiesi videoinen sponsoreista säästääksesi muiden aikaa.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Palvelin sanoi tämän pyynnön olevan virheellinen"
|
||||
},
|
||||
"429": {
|
||||
"message": "Olet lähettänyt liian monta sponsorointiaikaa tälle yhdelle videolle. Oletko varma, että niitä on useita?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Tämä on jo lähetetty aiemmin"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Kanava lisätty valkoiselle listalle!"
|
||||
},
|
||||
"Sponsor": {
|
||||
"message": "sponsori"
|
||||
},
|
||||
"Sponsors": {
|
||||
"message": "sponsorit"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "sponsoroitu kohta"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "sponsoroidut kohdat"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Äänestä tätä lähetystä"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Ilmoita"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Ilmoita tämän lähetyksen olevan virheellinen."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Hylkää"
|
||||
},
|
||||
"Loading": {
|
||||
"message": "Ladataan..."
|
||||
},
|
||||
"Mins": {
|
||||
"message": "Minuuttia"
|
||||
},
|
||||
"Secs": {
|
||||
"message": "Sekuntia"
|
||||
},
|
||||
"Hide": {
|
||||
"message": "Älä näytä koskaan"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Paina 'älä ohita' mennäksesi takaisin kohtaan jossa olit."
|
||||
},
|
||||
"unskip": {
|
||||
"message": "Älä ohita"
|
||||
},
|
||||
"reskip": {
|
||||
"message": "Ohita uudelleen"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Pysäytetty"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "Ajastin pysäytetty"
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "Haluatko varmasti poistaa tämän?\n\n"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "Sponsorointiaikoja lähetettäessä tapahtui virhe, yritä myöhemmin uudelleen."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Tämän videon sponsorit löytyvät tietokannasta!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Sponsoreita ei löytynyt"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Sponsorointi alkaa nyt"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Sponsorointi päättyy nyt"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Välilehdeltä ei löytynyt YouTube-videota. Jos olet varma, että tämä on YouTube-välilehti, sulje tämä ponnahdusikkuna ja avaa se uudelleen. Jos sekään ei toimi, yritä ladata välilehti uudelleen."
|
||||
},
|
||||
"success": {
|
||||
"message": "Onnistui!"
|
||||
},
|
||||
"voted": {
|
||||
"message": "Äänestetty!"
|
||||
},
|
||||
"voteFail": {
|
||||
"message": "Olet jo äänestänyt näin aiemmin."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Palvelin näyttää olevan alhaalla. Ota heti yhteyttä kehittäjään."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Yhteysvirhe on tapahtunut. Virhekoodi: "
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Tyhjennä sponsorointiajat"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Avaa SponsorBlock-ponnahdusikkuna"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Lähetä sponsorointiajat"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Haluatko varmasti lähettää tämän?"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "Lisää kanava valkoiselle listalle"
|
||||
},
|
||||
"removeFromWhitelist": {
|
||||
"message": "Poista kanava valkoiselta listalta"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Äänestä sponsorointiaikaa"
|
||||
},
|
||||
"recordTimes": {
|
||||
"message": "Tallenna sponsoroinnin ajat"
|
||||
},
|
||||
"soFarUHSubmited": {
|
||||
"message": "Tähän mennessä, olet lähettänyt"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "Olet säästänyt ihmisiltä "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "Näytä tulostaulukko"
|
||||
},
|
||||
"here": {
|
||||
"message": "tässä"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Tyhjennä ajat"
|
||||
},
|
||||
"submitTimesButton": {
|
||||
"message": "Lähetä ajat"
|
||||
},
|
||||
"setUsername": {
|
||||
"message": "Aseta käyttäjänimi"
|
||||
},
|
||||
"hideThis": {
|
||||
"message": "Piilota tämä"
|
||||
},
|
||||
"Options": {
|
||||
"message": "Asetukset"
|
||||
},
|
||||
"showButtons": {
|
||||
"message": "Näytä painikkeet YouTuben soittimessa"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "Piilota painikkeet YouTuben soittimessa"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "Tämä piilottaa YouTuben soittimessa näkyvät, ohitettavien aikojen lähettämiseen käytetyt painikkeet."
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Näytä info-painike YouTuben soittimessa"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Piilota info-painike YouTuben soittimessa"
|
||||
},
|
||||
"whatInfoButton": {
|
||||
"message": "Tämä on painike, joka avaa ponnahdusikkunan YouTube-sivulla."
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Piilota poista-painike YouTuben soittimessa"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "Näytä poista-painike YouTuben soittimessa"
|
||||
},
|
||||
"whatDeleteButton": {
|
||||
"message": "Tämä on YouTuben soittimen painike, joka poistaa kaikki kyseisen videon sponsorointikohdat, joita et ole vielä lähettänyt."
|
||||
},
|
||||
"website": {
|
||||
"message": "Sivusto",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"sourceCode": {
|
||||
"message": "Lähdekoodi",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Valitse näppäin painamalla sitä"
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "Poista Sponsorblock käytöstä"
|
||||
},
|
||||
"enableSkipping": {
|
||||
"message": "Ota SponsorBlock käyttöön"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "Sinun työsi",
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "Virhekoodi: "
|
||||
},
|
||||
"skip": {
|
||||
"message": "Ohita"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Ohitettu"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Poista automaattinen ohitus käytöstä"
|
||||
},
|
||||
"enableAutoSkip": {
|
||||
"message": "Ota automaattinen ohitus käyttöön"
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Olet ohittanut "
|
||||
},
|
||||
"youHaveSaved": {
|
||||
"message": "Olet säästänyt itseltäsi "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "minuutti"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "minuuttia"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "tunti"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "tuntia"
|
||||
},
|
||||
"youHaveSavedTime": {
|
||||
"message": "Olet säästänyt ihmisiltä"
|
||||
},
|
||||
"youHaveSavedTimeEnd": {
|
||||
"message": " heidän elämästään."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Tuo/vie sinun UserID:si"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Aseta UserID"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Tue Invidious:ta"
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Lisää Invidious-instanssi"
|
||||
},
|
||||
"add": {
|
||||
"message": "Lisää"
|
||||
},
|
||||
"resetInvidiousInstance": {
|
||||
"message": "Nollaa Invidious-instanssien lista"
|
||||
},
|
||||
"resetInvidiousInstanceAlert": {
|
||||
"message": "Olet nollaamassa Invidious-instanssien listan"
|
||||
},
|
||||
"currentInstances": {
|
||||
"message": "Nykyiset instanssit:"
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Vähimmäiskesto (sekuntia):"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Näytä lähetä-painike"
|
||||
},
|
||||
"save": {
|
||||
"message": "Tallenna"
|
||||
},
|
||||
"reset": {
|
||||
"message": "Nollaa"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com-osoitetta tuetaan nyt"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Vie/tuo kaikki asetukset"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Käytä asetuksia"
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Lähetä kohta"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Jatka"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "Peruuta"
|
||||
},
|
||||
"delete": {
|
||||
"message": "Poista"
|
||||
},
|
||||
"preview": {
|
||||
"message": "Esikatsele"
|
||||
},
|
||||
"edit": {
|
||||
"message": "Muokkaa"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "Kirjoittaminen leikepöydälle epäonnistui"
|
||||
},
|
||||
"theKey": {
|
||||
"message": "Näppäin"
|
||||
},
|
||||
"keyAlreadyUsedByYouTube": {
|
||||
"message": "on jo YouTuben käytössä. Valitse toinen näppäin."
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "on jo liitetty toiseen toimintoon. Valitse toinen näppäin."
|
||||
},
|
||||
"to": {
|
||||
"message": "-",
|
||||
"description": "Used between sponsor times. Example: 1:20 to 1:30"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsori"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Intro-animaatio"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Loppukortit/-tekstit"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Vuorovaikutusmuistutus (tilaaminen)"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Itsepromootio ja fanituotteet"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musiikki: muussa kuin Musiikki-osiossa"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: lahjoituksen/viestin lukeminen"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Poista käytöstä"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "Manuaalinen ohitus"
|
||||
},
|
||||
"enableTestingServer": {
|
||||
"message": "Ota betatestauspalvelin käyttöön"
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(Nyt)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "Lisää kategorioita"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Päättyy)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "piilotettu: miinusääniä"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "piilotettu: liian lyhyt"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"message": "Kanavatunnusta ei ole vielä ladattu."
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Virheellinen/väärä aika"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Väärä kategoria"
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "Useita kohtia"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
"Segments": {
|
||||
"message": "segments commerciaux"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Message commercial passé"
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Voter pour cette entrée"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Signaler"
|
||||
@@ -71,6 +71,9 @@
|
||||
"paused": {
|
||||
"message": "En pause"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "Timer arrêté"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "Pour modifier ou supprimer des soumissions, cliquez sur le bouton d'info ou ouvrez la fenêtre de l'extension en cliquant sur son icône dans le coin en haut à droite."
|
||||
},
|
||||
@@ -84,7 +87,7 @@
|
||||
"message": "Les messages commerciaux pour cette vidéo sont déjà dans notre base de donnée !"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Pas de sponsors trouvés"
|
||||
"message": "Pas de messages commerciaux trouvés"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Début du message commercial"
|
||||
@@ -144,7 +147,7 @@
|
||||
"message": "Vous avez soumis jusqu'à présent"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "Vous avez fait gagner aux autres "
|
||||
"message": "Vous avez permis aux autres de passer "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "Consulter le classement"
|
||||
@@ -216,7 +219,7 @@
|
||||
"message": "Activer le suivi des vues de segments commerciaux"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Cette fonctionnalité suit quels segments commerciaux vous avez sautés afin de calculer le bénéfice des soumissions des \nautres utilisateurs. Elle est également utilisée comme métrique, avec les haut-votes, afin de s'assurer que les spams \nsont ignorés. L'extension envoie un message au serveur à chauqe fois qu'un segment commercial est sauté. Avec un peu de chance, peu de personnes désactiveront cette fonctionnalité afin d'obtenir des nombres de vues exacts. :)"
|
||||
"message": "Cette fonctionnalité suit quels segments commerciaux vous avez sautés afin de calculer le bénéfice des soumissions des \nautres utilisateurs. Elle est également utilisée comme métrique, avec les haut-votes, afin de s'assurer que les spams \nsont ignorés. L'extension envoie un message au serveur à chauque fois qu'un segment commercial est sauté. Avec un peu de chance, peu de personnes désactiveront cette fonctionnalité afin d'obtenir des nombres de vues exacts. :)"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Afficher la notification"
|
||||
@@ -272,12 +275,12 @@
|
||||
"errorCode": {
|
||||
"message": "Code d'erreur : "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Passer le sponsor ?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Passer"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Passé"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Désactiver le passage automatique"
|
||||
},
|
||||
@@ -324,7 +327,7 @@
|
||||
"message": "Vérifiez status.sponsor.ajay.app pour le status du serveur."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importer/Exporter votre ID d'utilisateur"
|
||||
"message": "Importer/Exporter Votre ID d'Utilisateur"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Gardez ça privé. C'est comme un mot de passe et ne devrait pas être partagé avec quiconque. Si quelqu'un l'obtiens, il peut vous usurper."
|
||||
@@ -350,6 +353,9 @@
|
||||
"supportInvidious": {
|
||||
"message": "Soutenir Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) est un client tiers pour YouTube. Vous devez accepter des permissions supplémentaires pour activer son support. Cette fonctionnalité ne fonctionne pas en mode incognito sur Chrome et les autres variantes de Chromium."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Activer Invidious, désactiver le passage automatique, masquer les boutons et plus encore."
|
||||
},
|
||||
@@ -374,12 +380,6 @@
|
||||
"currentInstances": {
|
||||
"message": "Instances actuelles:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Vote automatique"
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "Si cette option est activée, l'extension votera en faveur de tous les segments que vous visualiserez si vous ne les signalez pas. Si l'avis est désactivé, cela ne se produira pas."
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Durée minimale (en secondes):"
|
||||
},
|
||||
@@ -392,11 +392,14 @@
|
||||
"showUploadButton": {
|
||||
"message": "Afficher le bouton de téléchargement"
|
||||
},
|
||||
"whatUploadButton": {
|
||||
"message": "Ce bouton apparaît sur le lecteur YouTube dès qu'un segment est prêt à être envoyé."
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "Adresse du serveur SponsorBlock"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "L'adresse que SponsorBlock utilise pour passer des appels vers le serveur.\nSauf si vous avez votre propre instance de serveur, cela ne devrait pas être changé."
|
||||
"message": "L'adresse que SponsorBlock utilise pour faire des appels au serveur.\nSauf si vous avez votre propre instance de serveur, cela ne devrait pas être changé."
|
||||
},
|
||||
"save": {
|
||||
"message": "Sauvegarder"
|
||||
@@ -404,15 +407,42 @@
|
||||
"reset": {
|
||||
"message": "Réinitialiser"
|
||||
},
|
||||
"customAddressError": {
|
||||
"message": "Le format de l'adresse est incorrect. Assurez-vous qu'elle commence bien par http:// ou https:// et ne termine pas par un slash."
|
||||
},
|
||||
"areYouSureReset": {
|
||||
"message": "Voulez-vous vraiment remettre à zéro ?"
|
||||
},
|
||||
"confirmPrivacy": {
|
||||
"message": "Cette vidéo est non-listée. Appuyez sur annuler si vous ne voulez pas vérifier la présence de message commerciaux."
|
||||
},
|
||||
"unlistedCheck": {
|
||||
"message": "Ignorer les vidéos non listées"
|
||||
},
|
||||
"whatUnlistedCheck": {
|
||||
"message": "Cette fonctionnalité ralentie légèrement SponsorBlock. La recherche des message commerciaux nécessite l'envoie de l'ID de la vidéo au serveur. Si vous êtes préoccupé par l'envoi de l'ID des vidéos non listées sur Internet, activez cette option."
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com est maintenant pris en charge"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Importer/Exporter toutes les options"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "C'est votre configuration complète au format JSON. Elle inclut votre identifiant utilisateur, gardez-la pour vous."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Définir les options"
|
||||
},
|
||||
"exportOptionsWarning": {
|
||||
"message": "Attention : La modification des options est permanente et peut casser votre installation. Êtes-vous sûr de vouloir faire ça ? Sauvegardez les anciennes au cas où."
|
||||
},
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "Ce JSON n'est pas formaté correctement. Vos options n'ont pas été modifiées."
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Soumettre le segment"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Soumettre"
|
||||
},
|
||||
@@ -422,14 +452,29 @@
|
||||
"delete": {
|
||||
"message": "Supprimer"
|
||||
},
|
||||
"preview": {
|
||||
"message": "Aperçu"
|
||||
},
|
||||
"edit": {
|
||||
"message": "Éditer"
|
||||
},
|
||||
"copyDebugInformation": {
|
||||
"message": "Copier les informations de débogage dans le presse-papiers"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "Impossible de copier dans le presse-papiers"
|
||||
},
|
||||
"copyDebugInformationOptions": {
|
||||
"message": "Copie les informations dans le presse-papiers pour les fournir aux développeurs lors d'un rapport de bug ou lorsqu'un développeur le demande. Les informations sensibles telles que l'ID d'utilisateur, les chaînes sur liste blanche ou l'adresse du serveur personnalisé ont été supprimées. Cependant, ça contient des informations telles que votre user-agent, votre navigateur, votre système d'exploitation et le numéro de version d'extension. "
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Les informations de débogage ont été copiées dans le presse-papiers. N'hésitez pas à supprimer toute information que vous ne préférez pas partager. Enregistrez-les dans un fichier texte ou collez-les dans le rapport de bug."
|
||||
},
|
||||
"theKey": {
|
||||
"message": "La clé"
|
||||
},
|
||||
"keyAlreadyUsedByYouTube": {
|
||||
"message": "est déjà utilisé par youtube. Veuillez sélectionner une autre clé."
|
||||
"message": "est déjà utilisé par YouTube. Veuillez sélectionner une autre clé."
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "est lié à une autre action. Veuillez sélectionner une autre clé."
|
||||
@@ -438,13 +483,88 @@
|
||||
"message": "à",
|
||||
"description": "Used between sponsor times. Example: 1:20 to 1:30"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Message commercial"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Générique d'introduction"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Générique de fin"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Rappel d'interaction (abonnement)"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Auto-promotion et produits dérivés"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musique : Segment non-musicale"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Stream : lecture de dons et messages"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Désactiver"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "Passer manuellement"
|
||||
},
|
||||
"showOverlay": {
|
||||
"message": "Afficher dans la barre de progression"
|
||||
},
|
||||
"enableTestingServer": {
|
||||
"message": "Activer le serveur de test bêta"
|
||||
},
|
||||
"whatEnableTestingServer": {
|
||||
"message": "Vos soumissions et votes NE COMPTERONT PAS sur le serveur principal. Utilisez ceci uniquement pour faire des tests."
|
||||
},
|
||||
"testingServerWarning": {
|
||||
"message": "AUCUNE SOUMISSION OU VOTE DE COMPTERA sur le serveur principal tant que vous serez connecté au serveur de test. Désactivez ceci quand vous voudrez réellement soumettre ou voter."
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(Maintenant)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "Autres catégories"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Fin)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "masqué : vote négatif"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "masqué : trop court"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"message": "L'ID de la chaîne n'a pas encore été chargé."
|
||||
},
|
||||
"adblockerIssue": {
|
||||
"message": "Il semble que quelque chose empêche SponsorBlock de récupérer les données de la vidéo. C'est probablement votre bloqueur de publicités. Veuillez consulter https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
|
||||
},
|
||||
"itCouldBeAdblockerIssue": {
|
||||
"message": "Si ça se reproduit, c'est peut-être causé par votre bloqueur de publicités. Veuillez consulter https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Forcer la vérification de la chaîne avant de passer les message commerciaux"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "Par défaut, les sponsors seront passés immédiatement, avant même que la chaîne soit connue. Des sponsors au début de la vidéo peuvent être passés sur des chaînes sur liste blanche. Activer cette option empêchera cela mais fera que les messages sponsorisés seront passés avec un petit délai, car la récupération du channelID peut prendre du temps. Ce délai peut être imperceptible si vous avez une connexion rapide."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Envisagez d'activer la vérification forcée de la chaîne avant de passer les messages commerciaux"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Segment de mauvaise qualité"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Mauvaise catégorie"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "Cette vidéo est classée dans les musiques. Êtes-vous sûr de vouloir soumettre des segments non-musicaux ? Vous devriez soumettre ce segment uniquement si la vidéo est de la musique. Veuillez lire les recommandations en cas de confusion."
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "Plusieurs segments"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,22 @@
|
||||
{}
|
||||
{
|
||||
"Name": {
|
||||
"message": "સ્પોન્સરબ્લોક",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"fullName": {
|
||||
"message": "યુટ્યુબ માટે સ્પોન્સરબ્લોક - સ્પોન્સરશિપ છોડી દો",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "સર્વરે કહ્યું કે આ વિનંતી અમાન્ય છે"
|
||||
},
|
||||
"429": {
|
||||
"message": "તમે આ એક વિડિઓ માટે ઘણી પ્રાયોજક વખત સબમિટ કરી છે, શું તમને ખાતરી છે કે આ ઘણા છે?"
|
||||
},
|
||||
"409": {
|
||||
"message": "આ અગાઉ રજુ કરવામાં આવી છે"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "ચેનલ વ્હાઇટલિસ્ટેડ!"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,15 +31,9 @@
|
||||
"Segments": {
|
||||
"message": "spezzoni sponsorizzati"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Sponsorizzazione Saltata"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Segnala"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Segnala questo spezzone come non corretto."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Chiudi"
|
||||
},
|
||||
@@ -100,9 +94,6 @@
|
||||
"voteFail": {
|
||||
"message": "Hai già votato."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Sembra che il server non funzioni. Contatta subito lo sviluppatore."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Si è verificato un errore durante la connessione. Codice errore: "
|
||||
},
|
||||
|
||||
@@ -1,4 +1,40 @@
|
||||
{
|
||||
"Name": {
|
||||
"message": "SponsorBlock",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"fullName": {
|
||||
"message": "SponsorBlock voor YouTube - Sla sponsorberichten over",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Sla sponsoring over op YouTube video's. Rapporteer sponsors van video's die je bekijkt om tijd van anderen te besparen.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"Sponsor": {
|
||||
"message": "sponsor"
|
||||
},
|
||||
"Sponsors": {
|
||||
"message": "sponsoren"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Melden"
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Negeren"
|
||||
},
|
||||
"Loading": {
|
||||
"message": "Bezig met laden..."
|
||||
},
|
||||
"Mins": {
|
||||
"message": "Minuten"
|
||||
},
|
||||
"Secs": {
|
||||
"message": "Seconden"
|
||||
},
|
||||
"Hide": {
|
||||
"message": "Nooit weergeven"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Gepauzeerd"
|
||||
},
|
||||
@@ -26,9 +62,6 @@
|
||||
"voteFail": {
|
||||
"message": "U hebt al eerder op deze manier gestemd."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Het lijkt erop dat de server niet draait. Contacteer de ontwikkelaar onmiddellijk."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Er is een verbindingsfout opgetreden. Foutcode: "
|
||||
},
|
||||
@@ -41,7 +74,120 @@
|
||||
"clearTimes": {
|
||||
"message": "Sponsortijden wissen"
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "Bekijk de ranglijst"
|
||||
},
|
||||
"here": {
|
||||
"message": "hier"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Wis tijden"
|
||||
},
|
||||
"submitTimesButton": {
|
||||
"message": "Dien tijden in"
|
||||
},
|
||||
"setUsername": {
|
||||
"message": "Gebruikersnaam instellen"
|
||||
},
|
||||
"Options": {
|
||||
"message": "Opties"
|
||||
},
|
||||
"showButtons": {
|
||||
"message": "Toon knoppen op YouTube Player"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "Verberg knoppen op YouTube Player"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Toon info-knop op YouTube-speler"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Verberg info-knop op YouTube Player"
|
||||
},
|
||||
"website": {
|
||||
"message": "Website",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"sourceCode": {
|
||||
"message": "Broncode",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "SponsorBlock uitschakelen"
|
||||
},
|
||||
"enableSkipping": {
|
||||
"message": "SponsorBlock inschakelen"
|
||||
},
|
||||
"502": {
|
||||
"message": "De server lijkt overbelast te zijn. Probeer het over een paar seconden opnieuw."
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "Foutcode: "
|
||||
},
|
||||
"skip": {
|
||||
"message": "Overslaan"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Overgeslagen"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Automatisch overslaan uitschakelen"
|
||||
},
|
||||
"enableAutoSkip": {
|
||||
"message": "Automatisch overslaan inschakelen"
|
||||
},
|
||||
"autoSkipDescription": {
|
||||
"message": "Automatisch Overslaan zal sponsors voor u overslaan. Indien uitgeschakeld, zal een bericht vragen of u wilt overslaan."
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Audiomelding bij Overslaan"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Audiomelding bij overslaan zal een geluid afspelen wanneer een sponsor wordt overgeslagen. Indien uitgeschakeld (of automatisch overslaan is uitgeschakeld) wordt er geen geluid afgespeeld."
|
||||
},
|
||||
"minLower": {
|
||||
"message": "minuut"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "minuten"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "uur"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "uren"
|
||||
},
|
||||
"guildlinesSummary": {
|
||||
"message": "- Zorg ervoor dat uw segment alleen betaalde promoties bevat, niets anders.\n- Zorg ervoor dat het overslaan van dit segment geen waardevolle inhoud overslaat\n- Als de hele video een sponsorsegment is, rapporteer dit alstublieft niet. Binnenkort komt er een systeem om volledige video's te rapporteren.\n- Rapporteer alstublieft geen disclaimers die partijdig kunnen zijn (als een recensievideo gesponsord is, sla deze niet over wanneer ze dit vermelden)."
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Dit moet privé blijven. Beschouw dit als wachtwoord en mag met niemand worden gedeeld. Als iemand dit heeft, kunnen ze je imiteren."
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Automatisch overslaan"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Toon melding na een sponsor is overgeslagen"
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Minimale duur (seconden):"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Toon Upload Knop"
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "SponsorBlock Serveradres"
|
||||
},
|
||||
"save": {
|
||||
"message": "Bewaren"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com wordt nu ondersteund"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Bevestigen"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "Annuleren"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,42 +1,43 @@
|
||||
{
|
||||
"Name": {
|
||||
"message": "SponsorBlock",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"fullName": {
|
||||
"message": "SponsorBlock na YouTube - Omiń reklamy sponsorów",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Przewijaj reklamy sponsorów w filmach na YouTube. Zgłaszaj reklamy w nagraniach żeby nie marnować czasu innych.",
|
||||
"message": "Przewijaj reklamy sponsorów w filmach na YouTube. Zgłaszaj sponsorzy w filmach żeby oszczędzać czas innych.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Serwer odpowiedział, że to zapytanie jest niepoprawne"
|
||||
},
|
||||
"429": {
|
||||
"message": "Zgłosiłeś bardzo dużo segmentów reklamowych dla tego jednego nagrania, jesteś pewien, że jest ich tak dużo?"
|
||||
"message": "Zgłosiłeś za dużo segmentów sponsora dla tego jednego filmu. Jesteś pewien, że jest ich tak dużo?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Treść została już wcześniej zgłoszona"
|
||||
"message": "To już zostało wcześniej zgłoszone"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Kanał dodany do wyjątków!"
|
||||
},
|
||||
"Sponsor": {
|
||||
"message": "sponsor"
|
||||
},
|
||||
"Sponsors": {
|
||||
"message": "sponsorzy"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "segmet sponsorowany"
|
||||
"message": "segment sponsorowany"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "segmenty sponsorowane"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Segment przewinięty"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Zgłoś"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Zgłoś ten segment reklamowy jako nieprawidłowy."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Odrzuć"
|
||||
},
|
||||
@@ -74,16 +75,16 @@
|
||||
"message": "Wystąpił błąd podczas przesyłania twojego zgłoszenia, proszę spróbować ponownie później."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Segmenty reklamowe dla tego nagrania są już w bazie!"
|
||||
"message": "Segmenty sponsora dla tego nagrania są już w bazie!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Nie znaleziono segmentów reklamowych"
|
||||
"message": "Nie znaleziono segmentów sponsora"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Reklama zaczyna się teraz"
|
||||
"message": "Sponsor zaczyna się teraz"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Reklama kończy się teraz"
|
||||
"message": "Sponsor kończy się teraz"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Nie znaleziono nagrania wideo w tej karcie. Jeśli wiesz, że to karta YouTube'a, zamknij to okienko i otwórz je ponownie. Jeśli to nie zadziała spróbuj przeładować stronę."
|
||||
@@ -97,26 +98,23 @@
|
||||
"voteFail": {
|
||||
"message": "Już na to głosowałeś."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Wygląda na to, że serwer nie działa. Skontaktuj się z dewloperem."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Błąd z połączeniem. Kod błędu: "
|
||||
},
|
||||
"wantToSubmit": {
|
||||
"message": "Chcesz zgłosić segment sponsorowany dla nagrania z id"
|
||||
"message": "Chcesz zgłosić segment sponsorowany dla filmu z id"
|
||||
},
|
||||
"leftTimes": {
|
||||
"message": "Wygląda na to, że masz nie wysłane segmenty reklamowe. Cofnij się do tej strony i zgłoś je (nie zostały usunięte)."
|
||||
"message": "Wygląda na to, że masz nie wysłane segmenty sponsora. Cofnij się do tej strony żeby je zgłosić (nie zostały usunięte)."
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Wyczyść segmenty reklamowe"
|
||||
"message": "Usuń segmenty reklamowe"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Otwórz okienko SponsorBlock"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Zgłoś segmenty reklamowe"
|
||||
"message": "Zgłoś segmenty sponsora"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Jesteś pewien, że chcesz to zgłosić?"
|
||||
@@ -128,10 +126,10 @@
|
||||
"message": "Usuń kanał z listy wyjątków"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Głosuj na segment reklamowy"
|
||||
"message": "Głosuj na segment sponsora"
|
||||
},
|
||||
"recordTimes": {
|
||||
"message": "Nagraj czasy segmentów reklamowych"
|
||||
"message": "Nagraj czasy segmentów sponsorowanych"
|
||||
},
|
||||
"soFarUHSubmited": {
|
||||
"message": "Jak na razie zgłosiłeś:"
|
||||
@@ -265,9 +263,6 @@
|
||||
"errorCode": {
|
||||
"message": "Kod błędu: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Przewinąć reklamę?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Przewiń"
|
||||
},
|
||||
@@ -337,6 +332,9 @@
|
||||
"supportInvidious": {
|
||||
"message": "Wesprzyj Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) to nieoficjalny klient YouTube'a. Aby włączyć dla niego wsparcie musisz przyznać dodatkowe uprawnienia. W Chrome'ie i innych przeglądarkach bazujących na Chromium, ta opcja nie działa w trybie incognito."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Wesprzyj Invidious, wyłącz auto przewijanie, ukryj guziki i więcej."
|
||||
},
|
||||
@@ -361,10 +359,16 @@
|
||||
"currentInstances": {
|
||||
"message": "Obecne instancje:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Auto potwierdzanie"
|
||||
"minDuration": {
|
||||
"message": "Minimalny czas trwania (sekundy):"
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "To ustawienie sprawia, że wszystkie przewinięte przez ciebie a nie zgłoszone jako błąd segmenty reklamowe zostaną potwierdzone jako prawidłowe. Ta opcja nie działa jeśli okienko z informacją o przewinięciu jest ukryte."
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com jest teraz wspierany"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Importuj/Eksportuj wszystkie ustawienia"
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Informacje do debugowania zostały skopiowane do schowka. Możesz usunąć dane, których nie chcesz udostępniać. Zapisz je w pliku tekstowym albo wklej do raportu podczas zgłaszania błędu."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,15 +35,9 @@
|
||||
"Segments": {
|
||||
"message": "segmentos de patrocinadores"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Patrocinador pulado"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Reportar"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Reportar essa subimissão como inválida."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Ignorar"
|
||||
},
|
||||
@@ -104,9 +98,6 @@
|
||||
"voteFail": {
|
||||
"message": "Você já votou antes."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Parece que o servidor caiu. Contate o desenvolvedor o quanto antes."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Um erro de conexão aconteceu: Código: "
|
||||
},
|
||||
@@ -272,9 +263,6 @@
|
||||
"errorCode": {
|
||||
"message": "Código de erro: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Pular patrocinador?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Pular"
|
||||
},
|
||||
@@ -377,12 +365,6 @@
|
||||
"currentInstances": {
|
||||
"message": "Instâncias Atuais:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Upvote automático"
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "Com isto habilitado, a extensão dará upvote em todas as submissões que você ver se você não reportar. Não funcionará se o aviso estiver desativado."
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Duração mínima (segundos):"
|
||||
},
|
||||
@@ -558,9 +540,6 @@
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Considere habilitar a verificação de canal forçada antes de pular os patrocinadores"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Incorreto"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Categoria errada"
|
||||
},
|
||||
|
||||
@@ -31,15 +31,9 @@
|
||||
"Segments": {
|
||||
"message": "segmentos de patrocínio"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Patrocínio saltado"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Reportar"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Reportar subimissão como inválida."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Ignorar"
|
||||
},
|
||||
@@ -100,9 +94,6 @@
|
||||
"voteFail": {
|
||||
"message": "Já votou antes."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Parece que o servidor caiu. Contacte o desenvolvedor o quanto antes."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Deu-se um erro de conecção: Código: "
|
||||
},
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"Name": {
|
||||
"message": "SponsorBlock",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"fullName": {
|
||||
"message": "SponsorBlock для YouTube - Пропускайте спонсорские вставки",
|
||||
"description": "Name of the extension."
|
||||
@@ -31,15 +35,9 @@
|
||||
"Segments": {
|
||||
"message": "спонсорские вставки"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Спонсор пропущен"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Ошибка"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Сообщить, что информация об этом спонсорском сегменте ошибочна."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Закрыть"
|
||||
},
|
||||
@@ -100,9 +98,6 @@
|
||||
"voteFail": {
|
||||
"message": "Вы уже проголосовали таким образом раньше."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Кажется, сервер не работает. Свяжитесь с разработчиком."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Ошибка соединения. Код ошибки: "
|
||||
},
|
||||
@@ -112,6 +107,12 @@
|
||||
"leftTimes": {
|
||||
"message": "Вы ещё не отправили отчёты о некоторых спонсорских вставках. Хотите вернуться на эту страницу, чтобы отправить их (они не удаляются)."
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Удалить отмеченные сегменты"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Отправить отмеченные сегменты"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Вы уверены, что хотите отправить эту информацию?"
|
||||
},
|
||||
@@ -259,12 +260,12 @@
|
||||
"errorCode": {
|
||||
"message": "Код ошибки: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Пропустить спонсорскую вставку?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Пропустить"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Пропущено"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Отключить автоматический пропуск"
|
||||
},
|
||||
@@ -274,6 +275,12 @@
|
||||
"autoSkipDescription": {
|
||||
"message": "Автоматический пропуск будет пропускать спонсорские вставки за Вас. Если выключено, будет показываться уведомление с предложением пропустить."
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Аудио уведомление при пропуске"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Аудио уведомление о пропуске будет воспроизводиться каждый раз, когда спонсор пропущен. Если отключено (или автоматическое пропуск отключен), звук не будет воспроизводиться."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Вы пропустили "
|
||||
},
|
||||
@@ -331,6 +338,9 @@
|
||||
"supportInvidious": {
|
||||
"message": "Поддержка Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) — это неофициальный клиент для YouTube. Чтобы включить поддержку, Вам понадобится принять дополнительные разрешения. Эта функция НЕ работает в режиме \"инкогнито\" в Chrome и браузерах, основанных на Chromium."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Включить поддержку Invidious, выключить автоматический пропуск, скрыть кнопки и не только."
|
||||
},
|
||||
@@ -355,12 +365,6 @@
|
||||
"currentInstances": {
|
||||
"message": "Текущие инстансы:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Автоматически голосовать \"за\""
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "Если это включено, расширение будет голосовать \"за\" все предложения других пользователей, если Вы на них не пожалуетесь. Если уведомление отключено, это не будет происходить."
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Минимальная длительность (секунд):"
|
||||
},
|
||||
@@ -405,5 +409,23 @@
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com теперь поддерживается"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Импорт/Экспорт всех настроек"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Это вся конфигурация в формате JSON. Этот файл содержит Ваш идентификатор пользователя, поэтому не забудьте общаться с этим разумно."
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(Сейчас)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "Прочие категории"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Конец)"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Неверная категория"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,6 @@
|
||||
"Sponsors": {
|
||||
"message": "sponzori"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Sponzor bol Preskočený"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Nahlásiť"
|
||||
},
|
||||
@@ -54,9 +51,6 @@
|
||||
"errorCode": {
|
||||
"message": "Kód chyby: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Preskočiť Sponzor?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Preskočiť"
|
||||
},
|
||||
|
||||
@@ -28,15 +28,9 @@
|
||||
"Segments": {
|
||||
"message": "sponsorsegment"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Sponsormeddelande undvikt"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Rapportera"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Rapportera det här sponsorsegmentet som inkorrekt."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Avfärda"
|
||||
},
|
||||
@@ -97,9 +91,6 @@
|
||||
"voteFail": {
|
||||
"message": "Du har redan röstat."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Det ser ut som att servern är nere. Kontakta utvecklaren med en gång."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Anslutningsfel. Felkod: "
|
||||
},
|
||||
@@ -262,9 +253,6 @@
|
||||
"errorCode": {
|
||||
"message": "Felkod: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Hoppa över sponsormeddelande?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Hoppa över"
|
||||
},
|
||||
@@ -364,12 +352,6 @@
|
||||
"currentInstances": {
|
||||
"message": "Nuvarande Instanser:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Rösta Upp Automatiskt"
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "Med detta aktiverat kommer tillägget att rösta upp alla rapporterade sponsormeddelanden om du inte rapporterar dem som felaktiga. Om notisen är avaktiverad så kommer det inte att ske."
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Minsta varaktighet (sekunder):"
|
||||
},
|
||||
|
||||
@@ -35,14 +35,14 @@
|
||||
"Segments": {
|
||||
"message": "sponsor bölümleri"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Sponsor Geçildi"
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Bu öneriye oy ver"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Raporla"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Bu sponsor bölümünü hatalı olarak rapor et."
|
||||
"message": "Bu öneriyi hatalı olarak bildir."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Yoksay"
|
||||
@@ -71,6 +71,9 @@
|
||||
"paused": {
|
||||
"message": "Duraklatıldı"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "Zamanlayıcı Durduruldu"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "Değerleri tek başına düzenlemek ve silmek için, bilgi butonuna basın veya sağ yukarıdaki eklenti simgesine tıklayarak eklenti menüsünü açın."
|
||||
},
|
||||
@@ -272,12 +275,12 @@
|
||||
"errorCode": {
|
||||
"message": "Hata Kodu: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Sponsoru Atla?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Atla"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Atlandı"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Otomatik Atlamayı Devredışı Bırak"
|
||||
},
|
||||
@@ -377,12 +380,6 @@
|
||||
"currentInstances": {
|
||||
"message": "Mevcut Oluşumlar:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Otomatik Oy Ver"
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "Eğer bu ayar açıksa, eklenti eğer rapor etmediyseniz gördüğünüz tüm önerileri oylayacaktır. Eğer bildirim kapalıysa, bu gerçekleşmeyecektir."
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Minimum süre (saniye):"
|
||||
},
|
||||
@@ -559,12 +556,15 @@
|
||||
"message": "Sponsorları Atlamadan Önce Kanal Kontrolünü Zorlamayı Gözden Geçir"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Hatalı"
|
||||
"message": "Hatalı/Yanlış Zaman"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Yanlış Kategori"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "Bu videonun kategorisi müzik olarak belirlenmiş. Müzik içermeyen bölümleri göndermek istediğinize emin misiniz? Eğer bu bir müzik videosu değilse, bu bölümleri göndermemelisiniz. Eğer ayırt edemiyorsanız, lütfen rehberi okuyunuz."
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "Birden Çok Bölüm"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,15 +35,9 @@
|
||||
"Segments": {
|
||||
"message": "спонсорські вставки"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "Спонсор пропущений"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Помилка"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Повідомити, що інформація про це спонсорський сегменті є хибною."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Закрити"
|
||||
},
|
||||
@@ -104,9 +98,6 @@
|
||||
"voteFail": {
|
||||
"message": "Ви вже проголосували таким чином раніше."
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Здається, сервер не працює. Зв'яжіться з розробником."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Помилка з'єднання. Код помилки: "
|
||||
},
|
||||
@@ -116,6 +107,15 @@
|
||||
"leftTimes": {
|
||||
"message": "Ви ще не надіслали звіти про деякі спонсорські вставки. Хочете повернутися на цю сторінку, щоб надіслати їх (вони не видаляються)."
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Видалити відмічені сегменти"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Відкрийте спливаюче вікно SponsorBlock"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Надіслати відмічені сегменти"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Ви впевнені, що хочете надіслати цю інформацію?"
|
||||
},
|
||||
@@ -263,12 +263,12 @@
|
||||
"errorCode": {
|
||||
"message": "Код помилки: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "Пропустити спонсорську вставку?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "Пропустити"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Пропущено"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Вимкнути автоматичний пропуск"
|
||||
},
|
||||
@@ -278,6 +278,12 @@
|
||||
"autoSkipDescription": {
|
||||
"message": "Автоматичний пропуск буде пропускати спонсорські вставки за Вас. Якщо вимкнено, буде показуватися повідомлення з пропозицією пропустити."
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Аудіо сповіщення при пропуску"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Аудіо сповіщення про пропуск буде відтворюватися кожен раз, коли спонсор пропущений. Якщо відключено (або автоматичне пропуск відключений), звук не буде відтворюватися."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Ви пропустили "
|
||||
},
|
||||
@@ -335,6 +341,9 @@
|
||||
"supportInvidious": {
|
||||
"message": "Підтримка Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) - це неофіційний клієнт для YouTube. Щоб увімкнути підтримку, Вам знадобиться прийняти додаткові дозволи. Ця функція НЕ працює в режимі \"інкогніто\" в Chrome і браузерах, заснованих на Chromium."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Увімкнути підтримку Invidious, вимкнути автоматичний пропуск, приховати кнопки і не тільки."
|
||||
},
|
||||
@@ -359,12 +368,6 @@
|
||||
"currentInstances": {
|
||||
"message": "Поточні інстанси:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "Автоматично голосувати \"за\""
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "Якщо це увімкнено, розширення буде голосувати \"за\" всі пропозиції інших користувачів, якщо Ви на них не поскаржитеся. Якщо повідомлення вимкнуто, це не буде відбуватися."
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Мінімальна тривалість (секунд):"
|
||||
},
|
||||
@@ -410,6 +413,15 @@
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com тепер підтримується"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Імпорт/Експорт всіх налаштувань"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Це вся конфігурація в форматі JSON. Цей файл містить Ваш ідентифікатор користувача, тому не забудьте ділитися з цим розумно."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Встановити параметри"
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Надіслати сегмент"
|
||||
},
|
||||
@@ -428,6 +440,9 @@
|
||||
"edit": {
|
||||
"message": "Редагувати"
|
||||
},
|
||||
"theKey": {
|
||||
"message": "Ключ"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Спонсор"
|
||||
},
|
||||
@@ -445,5 +460,8 @@
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Кінець)"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Невірна категорія"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,14 +35,14 @@
|
||||
"Segments": {
|
||||
"message": "赞助商广告片段"
|
||||
},
|
||||
"noticeTitle": {
|
||||
"message": "已跳过赞助商广告"
|
||||
"upvoteButtonInfo": {
|
||||
"message": "为这个提交点赞"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "报告"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "报告这个被提交的赞助商广告不正确。"
|
||||
"message": "报告此提交不正确。"
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "忽略"
|
||||
@@ -71,6 +71,9 @@
|
||||
"paused": {
|
||||
"message": "已暂停"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "计时器已停止"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "要编辑或删除个别值,请点击信息按钮或通过点击右上角的扩展图标打开扩展弹窗。"
|
||||
},
|
||||
@@ -272,12 +275,12 @@
|
||||
"errorCode": {
|
||||
"message": "错误代码: "
|
||||
},
|
||||
"noticeTitleNotSkipped": {
|
||||
"message": "跳过赞助商广告?"
|
||||
},
|
||||
"skip": {
|
||||
"message": "跳过"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "跳过"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "禁用自动跳过"
|
||||
},
|
||||
@@ -377,12 +380,6 @@
|
||||
"currentInstances": {
|
||||
"message": "当前实例:"
|
||||
},
|
||||
"enableAutoUpvote": {
|
||||
"message": "自动点赞"
|
||||
},
|
||||
"whatAutoUpvote": {
|
||||
"message": "启用此选项后,扩展将会为所有您观看过的提交点赞,如果您没有报告它们的话。如果通知被禁用,那就不会出现。"
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "最小持续时间(秒):"
|
||||
},
|
||||
@@ -490,7 +487,10 @@
|
||||
"message": "赞助商广告"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "介绍动画"
|
||||
"message": "开头动画"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "结束画面/结尾职员表"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "互动提醒(订阅)"
|
||||
@@ -556,12 +556,15 @@
|
||||
"message": "请考虑启用跳过赞助商广告前强制进行频道检查"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "不正确"
|
||||
"message": "不正确/错误的时间"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "错误的类别"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "此视频被归类为音乐。您确定要提交带有非音乐类别的片段吗?除非此视频实际上不是音乐,否则您不应提交此片段。如果您感到困惑,请阅读指南。"
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "多个片段"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as Types from "./types";
|
||||
import * as CompileConfig from "../config.json";
|
||||
|
||||
import Config from "./config";
|
||||
// Make the config public for debugging purposes
|
||||
@@ -30,7 +30,17 @@ chrome.runtime.onMessage.addListener(function (request, sender, callback) {
|
||||
switch(request.message) {
|
||||
case "openConfig":
|
||||
chrome.runtime.openOptionsPage();
|
||||
return
|
||||
return;
|
||||
case "sendRequest":
|
||||
sendRequestToCustomServer(request.type, request.url, request.data).then(async (response) => {
|
||||
callback({
|
||||
responseText: await response.text(),
|
||||
status: response.status,
|
||||
ok: response.ok
|
||||
});
|
||||
});
|
||||
|
||||
return true;
|
||||
case "addSponsorTime":
|
||||
addSponsorTime(request.time, request.videoID, callback);
|
||||
|
||||
@@ -47,7 +57,7 @@ chrome.runtime.onMessage.addListener(function (request, sender, callback) {
|
||||
//this allows the callback to be called later
|
||||
return true;
|
||||
case "submitVote":
|
||||
submitVote(request.type, request.UUID, request.category, callback);
|
||||
submitVote(request.type, request.UUID, request.category).then(callback);
|
||||
|
||||
//this allows the callback to be called later
|
||||
return true;
|
||||
@@ -147,7 +157,7 @@ function addSponsorTime(time, videoID, callback) {
|
||||
});
|
||||
}
|
||||
|
||||
function submitVote(type, UUID, category, callback) {
|
||||
async function submitVote(type: number, UUID: string, category: string) {
|
||||
let userID = Config.config.userID;
|
||||
|
||||
if (userID == undefined || userID === "undefined") {
|
||||
@@ -159,24 +169,60 @@ function submitVote(type, UUID, category, callback) {
|
||||
let typeSection = (type !== undefined) ? "&type=" + type : "&category=" + category;
|
||||
|
||||
//publish this vote
|
||||
utils.sendRequestToServer("POST", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + typeSection, function(xmlhttp, error) {
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
||||
callback({
|
||||
successType: 1
|
||||
});
|
||||
} else if (xmlhttp.readyState == 4 && xmlhttp.status == 405) {
|
||||
//duplicate vote
|
||||
callback({
|
||||
successType: 0,
|
||||
statusCode: xmlhttp.status
|
||||
});
|
||||
} else if (error) {
|
||||
//error while connect
|
||||
callback({
|
||||
successType: -1,
|
||||
statusCode: xmlhttp.status
|
||||
});
|
||||
let response = await asyncRequestToServer("POST", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + typeSection);
|
||||
|
||||
if (response.ok) {
|
||||
return {
|
||||
successType: 1
|
||||
};
|
||||
} else if (response.status == 405) {
|
||||
//duplicate vote
|
||||
return {
|
||||
successType: 0,
|
||||
statusCode: response.status
|
||||
};
|
||||
} else {
|
||||
//error while connect
|
||||
return {
|
||||
successType: -1,
|
||||
statusCode: response.status
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
async function asyncRequestToServer(type: string, address: string, data = {}) {
|
||||
let serverAddress = Config.config.testingServer ? CompileConfig.testingServerAddress : Config.config.serverAddress;
|
||||
|
||||
return await (sendRequestToCustomServer(type, serverAddress + address, data));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a request to the specified url
|
||||
*
|
||||
* @param type The request type "GET", "POST", etc.
|
||||
* @param address The address to add to the SponsorBlock server address
|
||||
* @param callback
|
||||
*/
|
||||
async function sendRequestToCustomServer(type: string, url: string, data = {}) {
|
||||
// If GET, convert JSON to parameters
|
||||
if (type.toLowerCase() === "get") {
|
||||
for (const key in data) {
|
||||
let seperator = url.includes("?") ? "&" : "?";
|
||||
let value = (typeof(data[key]) === "string") ? data[key]: JSON.stringify(data[key]);
|
||||
url += seperator + key + "=" + value;
|
||||
}
|
||||
|
||||
data = null;
|
||||
}
|
||||
|
||||
const response = await fetch(url, {
|
||||
method: type,
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
redirect: 'follow',
|
||||
body: data ? JSON.stringify(data) : null
|
||||
});
|
||||
|
||||
return response;
|
||||
}
|
||||
@@ -268,7 +268,7 @@ async function migrateOldFormats() {
|
||||
let response = await utils.asyncRequestToCustomServer("GET", "https://sponsor.ajay.app/invidious/api/v1/channels/" + item.split("/")[2] + "?fields=authorId");
|
||||
|
||||
if (response.ok) {
|
||||
newChannelList.push((await response.json()).authorId);
|
||||
newChannelList.push((JSON.parse(response.responseText)).authorId);
|
||||
} else {
|
||||
// Add it at the beginning so it gets converted later
|
||||
newChannelList.unshift(item);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import Config from "./config";
|
||||
|
||||
import { SponsorTime, CategorySkipOption, CategorySelection, VideoID, SponsorHideType } from "./types";
|
||||
import { SponsorTime, CategorySkipOption, CategorySelection, VideoID, SponsorHideType, FetchResponse } from "./types";
|
||||
|
||||
import { ContentContainer } from "./types";
|
||||
import Utils from "./utils";
|
||||
@@ -64,10 +64,6 @@ var channelWhitelisted = false;
|
||||
// create preview bar
|
||||
var previewBar: PreviewBar = null;
|
||||
|
||||
// When not null, a sponsor is currently being previewed and auto skip should be enabled.
|
||||
// This is set to a timeout function when that happens that will reset it after 3 seconds.
|
||||
var previewResetter: NodeJS.Timeout = null;
|
||||
|
||||
//the player controls on the YouTube player
|
||||
var controls = null;
|
||||
|
||||
@@ -164,14 +160,7 @@ function messageListener(request: any, sender: any, sendResponse: (response: any
|
||||
video.play();
|
||||
}
|
||||
|
||||
// Start preview resetter
|
||||
if (previewResetter !== null){
|
||||
clearTimeout(previewResetter);
|
||||
}
|
||||
|
||||
previewResetter = setTimeout(() => previewResetter = null, 4000);
|
||||
|
||||
return
|
||||
return;
|
||||
case "getCurrentTime":
|
||||
sendResponse({
|
||||
currentTime: getRealCurrentTime()
|
||||
@@ -628,9 +617,9 @@ function sponsorsLookup(id: string) {
|
||||
utils.asyncRequestToServer('GET', "/api/skipSegments", {
|
||||
videoID: id,
|
||||
categories
|
||||
}).then(async (response: Response) => {
|
||||
if (response.status === 200) {
|
||||
let recievedSegments: SponsorTime[] = await response.json();
|
||||
}).then(async (response: FetchResponse) => {
|
||||
if (response.ok) {
|
||||
let recievedSegments: SponsorTime[] = JSON.parse(response.responseText);
|
||||
if (!recievedSegments.length) {
|
||||
console.error("[SponsorBlock] Server returned malformed response: " + JSON.stringify(recievedSegments));
|
||||
return;
|
||||
@@ -866,7 +855,7 @@ function getNextSkipIndex(currentTime: number, includeIntersectingSegments: bool
|
||||
let endTimeIndex = getLatestEndTimeIndex(sponsorTimes, minSponsorTimeIndex);
|
||||
|
||||
let previewSponsorStartTimes = getStartTimes(sponsorTimesSubmitting, includeIntersectingSegments);
|
||||
let previewSponsorStartTimesAfterCurrentTime = getStartTimes(sponsorTimesSubmitting, includeIntersectingSegments, currentTime, true, false);
|
||||
let previewSponsorStartTimesAfterCurrentTime = getStartTimes(sponsorTimesSubmitting, includeIntersectingSegments, currentTime, false, false);
|
||||
|
||||
let minPreviewSponsorTimeIndex = previewSponsorStartTimes.indexOf(Math.min(...previewSponsorStartTimesAfterCurrentTime));
|
||||
let previewEndTimeIndex = getLatestEndTimeIndex(sponsorTimesSubmitting, minPreviewSponsorTimeIndex);
|
||||
@@ -970,13 +959,6 @@ function previewTime(time: number) {
|
||||
if (video.paused){
|
||||
video.play();
|
||||
}
|
||||
|
||||
// Start preview resetter
|
||||
if (previewResetter !== null){
|
||||
clearTimeout(previewResetter);
|
||||
}
|
||||
|
||||
previewResetter = setTimeout(() => previewResetter = null, 4000);
|
||||
}
|
||||
|
||||
//skip from the start time to the end time for a certain index sponsor time
|
||||
@@ -984,7 +966,7 @@ function skipToTime(v: HTMLVideoElement, skipTime: number[], skippingSegments: S
|
||||
// There will only be one submission if it is manual skip
|
||||
let autoSkip: boolean = utils.getCategorySelection(skippingSegments[0].category).option === CategorySkipOption.AutoSkip;
|
||||
|
||||
if (autoSkip || previewResetter !== null) {
|
||||
if (autoSkip || sponsorTimesSubmitting.includes(skippingSegments[0])) {
|
||||
v.currentTime = skipTime[1];
|
||||
}
|
||||
|
||||
@@ -993,30 +975,30 @@ function skipToTime(v: HTMLVideoElement, skipTime: number[], skippingSegments: S
|
||||
if (!Config.config.dontShowNotice || !autoSkip) {
|
||||
let skipNotice = new SkipNotice(skippingSegments, autoSkip, skipNoticeContentContainer);
|
||||
}
|
||||
}
|
||||
|
||||
//send telemetry that a this sponsor was skipped
|
||||
if (Config.config.trackViewCount && autoSkip) {
|
||||
let alreadySkipped = false;
|
||||
let isPreviewSegment = false;
|
||||
//send telemetry that a this sponsor was skipped
|
||||
if (Config.config.trackViewCount && autoSkip) {
|
||||
let alreadySkipped = false;
|
||||
let isPreviewSegment = false;
|
||||
|
||||
for (const segment of skippingSegments) {
|
||||
let index = sponsorTimes.indexOf(segment);
|
||||
if (index !== -1 && !sponsorSkipped[index]) {
|
||||
utils.sendRequestToServer("POST", "/api/viewedVideoSponsorTime?UUID=" + segment.UUID);
|
||||
for (const segment of skippingSegments) {
|
||||
let index = sponsorTimes.indexOf(segment);
|
||||
if (index !== -1 && !sponsorSkipped[index]) {
|
||||
utils.asyncRequestToServer("POST", "/api/viewedVideoSponsorTime?UUID=" + segment.UUID);
|
||||
|
||||
sponsorSkipped[index] = true;
|
||||
} else if (sponsorSkipped[index]) {
|
||||
alreadySkipped = true;
|
||||
}
|
||||
|
||||
if (index !== -1) isPreviewSegment = true;
|
||||
}
|
||||
|
||||
// Count this as a skip
|
||||
if (!alreadySkipped && !isPreviewSegment) {
|
||||
Config.config.minutesSaved = Config.config.minutesSaved + (skipTime[1] - skipTime[0]) / 60;
|
||||
Config.config.skipCount = Config.config.skipCount + 1;
|
||||
sponsorSkipped[index] = true;
|
||||
} else if (sponsorSkipped[index]) {
|
||||
alreadySkipped = true;
|
||||
}
|
||||
|
||||
if (index === -1) isPreviewSegment = true;
|
||||
}
|
||||
|
||||
// Count this as a skip
|
||||
if (!alreadySkipped && !isPreviewSegment) {
|
||||
Config.config.minutesSaved = Config.config.minutesSaved + (skipTime[1] - skipTime[0]) / 60;
|
||||
Config.config.skipCount = Config.config.skipCount + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1395,10 +1377,6 @@ function vote(type: number, UUID: string, category?: string, skipNotice?: SkipNo
|
||||
if (response.successType == 1 || (response.successType == -1 && response.statusCode == 429)) {
|
||||
//success (treat rate limits as a success)
|
||||
skipNotice.afterVote.bind(skipNotice)(utils.getSponsorTimeFromUUID(sponsorTimes, UUID), type, category);
|
||||
} else if (response.successType == 0) {
|
||||
//failure: duplicate vote
|
||||
skipNotice.setNoticeInfoMessage.bind(skipNotice)(chrome.i18n.getMessage("voteFail"))
|
||||
skipNotice.resetVoteButtonInfo.bind(skipNotice)();
|
||||
} else if (response.successType == -1) {
|
||||
skipNotice.setNoticeInfoMessage.bind(skipNotice)(utils.getErrorMessage(response.statusCode))
|
||||
skipNotice.resetVoteButtonInfo.bind(skipNotice)();
|
||||
@@ -1525,7 +1503,7 @@ async function sendSubmitMessage(){
|
||||
document.getElementById("submitButton").style.animation = "unset";
|
||||
(<HTMLImageElement> document.getElementById("submitImage")).src = chrome.extension.getURL("icons/PlayerUploadFailedIconSponsorBlocker256px.png");
|
||||
|
||||
alert(utils.getErrorMessage(response.status) + "\n\n" + (await response.text()));
|
||||
alert(utils.getErrorMessage(response.status) + "\n\n" + (response.responseText));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
33
src/popup.ts
33
src/popup.ts
@@ -168,9 +168,9 @@ async function runThePopup(messageListener?: MessageListener) {
|
||||
if (userID != undefined) {
|
||||
//there are probably some views on these submissions then
|
||||
//get the amount of views from the sponsors submitted
|
||||
utils.sendRequestToServer("GET", "/api/getViewsForUser?userID=" + userID, function(xmlhttp) {
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
||||
let viewCount = JSON.parse(xmlhttp.responseText).viewCount;
|
||||
utils.sendRequestToServer("GET", "/api/getViewsForUser?userID=" + userID, function(response) {
|
||||
if (response.status == 200) {
|
||||
let viewCount = JSON.parse(response.responseText).viewCount;
|
||||
if (viewCount != 0) {
|
||||
if (viewCount > 1) {
|
||||
PageElements.sponsorTimesViewsDisplayEndWord.innerText = chrome.i18n.getMessage("Segments");
|
||||
@@ -185,9 +185,9 @@ async function runThePopup(messageListener?: MessageListener) {
|
||||
});
|
||||
|
||||
//get this time in minutes
|
||||
utils.sendRequestToServer("GET", "/api/getSavedTimeForUser?userID=" + userID, function(xmlhttp) {
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
||||
let minutesSaved = JSON.parse(xmlhttp.responseText).timeSaved;
|
||||
utils.sendRequestToServer("GET", "/api/getSavedTimeForUser?userID=" + userID, function(response) {
|
||||
if (response.status == 200) {
|
||||
let minutesSaved = JSON.parse(response.responseText).timeSaved;
|
||||
if (minutesSaved != 0) {
|
||||
if (minutesSaved != 1) {
|
||||
PageElements.sponsorTimesOthersTimeSavedEndWord.innerText = chrome.i18n.getMessage("minsLower");
|
||||
@@ -797,9 +797,9 @@ async function runThePopup(messageListener?: MessageListener) {
|
||||
//make the options username setting option visible
|
||||
function setUsernameButton() {
|
||||
//get username from the server
|
||||
utils.sendRequestToServer("GET", "/api/getUsername?userID=" + Config.config.userID, function (xmlhttp, error) {
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
||||
PageElements.usernameInput.value = JSON.parse(xmlhttp.responseText).userName;
|
||||
utils.sendRequestToServer("GET", "/api/getUsername?userID=" + Config.config.userID, function (response) {
|
||||
if (response.status == 200) {
|
||||
PageElements.usernameInput.value = JSON.parse(response.responseText).userName;
|
||||
|
||||
PageElements.submitUsername.style.display = "unset";
|
||||
PageElements.usernameInput.style.display = "unset";
|
||||
@@ -808,13 +808,13 @@ async function runThePopup(messageListener?: MessageListener) {
|
||||
PageElements.setUsername.style.display = "unset";
|
||||
PageElements
|
||||
PageElements.setUsernameStatusContainer.style.display = "none";
|
||||
} else if (xmlhttp.readyState == 4) {
|
||||
} else {
|
||||
PageElements.setUsername.style.display = "unset";
|
||||
PageElements.submitUsername.style.display = "none";
|
||||
PageElements.usernameInput.style.display = "none";
|
||||
|
||||
PageElements.setUsernameStatusContainer.style.display = "unset";
|
||||
PageElements.setUsernameStatus.innerText = utils.getErrorMessage(xmlhttp.status);
|
||||
PageElements.setUsernameStatus.innerText = utils.getErrorMessage(response.status);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -826,15 +826,15 @@ async function runThePopup(messageListener?: MessageListener) {
|
||||
PageElements.setUsernameStatus.innerText = "Loading...";
|
||||
|
||||
//get the userID
|
||||
utils.sendRequestToServer("POST", "/api/setUsername?userID=" + Config.config.userID + "&username=" + PageElements.usernameInput.value, function (xmlhttp, error) {
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
||||
utils.sendRequestToServer("POST", "/api/setUsername?userID=" + Config.config.userID + "&username=" + PageElements.usernameInput.value, function (response) {
|
||||
if (response.status == 200) {
|
||||
//submitted
|
||||
PageElements.submitUsername.style.display = "none";
|
||||
PageElements.usernameInput.style.display = "none";
|
||||
|
||||
PageElements.setUsernameStatus.innerText = chrome.i18n.getMessage("success");
|
||||
} else if (xmlhttp.readyState == 4) {
|
||||
PageElements.setUsernameStatus.innerText = utils.getErrorMessage(xmlhttp.status);
|
||||
} else {
|
||||
PageElements.setUsernameStatus.innerText = utils.getErrorMessage(response.status);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -883,9 +883,6 @@ async function runThePopup(messageListener?: MessageListener) {
|
||||
if (response.successType == 1 || (response.successType == -1 && response.statusCode == 429)) {
|
||||
//success (treat rate limits as a success)
|
||||
addVoteMessage(chrome.i18n.getMessage("voted"), UUID)
|
||||
} else if (response.successType == 0) {
|
||||
//failure: duplicate vote
|
||||
addVoteMessage(chrome.i18n.getMessage("voteFail"), UUID)
|
||||
} else if (response.successType == -1) {
|
||||
addVoteMessage(utils.getErrorMessage(response.statusCode), UUID)
|
||||
}
|
||||
|
||||
@@ -22,6 +22,12 @@ interface ContentContainer {
|
||||
}
|
||||
}
|
||||
|
||||
interface FetchResponse {
|
||||
responseText: string,
|
||||
status: number,
|
||||
ok: boolean
|
||||
}
|
||||
|
||||
interface VideoDurationResponse {
|
||||
duration: number;
|
||||
}
|
||||
@@ -55,6 +61,7 @@ interface SponsorTime {
|
||||
type VideoID = string;
|
||||
|
||||
export {
|
||||
FetchResponse,
|
||||
VideoDurationResponse,
|
||||
ContentContainer,
|
||||
CategorySelection,
|
||||
|
||||
67
src/utils.ts
67
src/utils.ts
@@ -1,5 +1,5 @@
|
||||
import Config from "./config";
|
||||
import { CategorySelection, SponsorTime } from "./types";
|
||||
import { CategorySelection, SponsorTime, FetchResponse } from "./types";
|
||||
|
||||
import * as CompileConfig from "../config.json";
|
||||
|
||||
@@ -276,29 +276,18 @@ class Utils {
|
||||
* @param address The address to add to the SponsorBlock server address
|
||||
* @param callback
|
||||
*/
|
||||
async asyncRequestToCustomServer(type: string, url: string, data = {}) {
|
||||
|
||||
// If GET, convert JSON to parameters
|
||||
if (type.toLowerCase() === "get") {
|
||||
for (const key in data) {
|
||||
let seperator = url.includes("?") ? "&" : "?";
|
||||
let value = (typeof(data[key]) === "string") ? data[key]: JSON.stringify(data[key]);
|
||||
url += seperator + key + "=" + value;
|
||||
}
|
||||
|
||||
data = null;
|
||||
}
|
||||
|
||||
const response = await fetch(url, {
|
||||
method: type,
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
redirect: 'follow',
|
||||
body: data ? JSON.stringify(data) : null
|
||||
});
|
||||
|
||||
return response;
|
||||
async asyncRequestToCustomServer(type: string, url: string, data = {}): Promise<FetchResponse> {
|
||||
return new Promise((resolve) => {
|
||||
// Ask the background script to do the work
|
||||
chrome.runtime.sendMessage({
|
||||
message: "sendRequest",
|
||||
type,
|
||||
url,
|
||||
data
|
||||
}, (response) => {
|
||||
resolve(response);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -308,7 +297,7 @@ class Utils {
|
||||
* @param address The address to add to the SponsorBlock server address
|
||||
* @param callback
|
||||
*/
|
||||
async asyncRequestToServer(type: string, address: string, data = {}) {
|
||||
async asyncRequestToServer(type: string, address: string, data = {}): Promise<FetchResponse> {
|
||||
let serverAddress = Config.config.testingServer ? CompileConfig.testingServerAddress : Config.config.serverAddress;
|
||||
|
||||
return await (this.asyncRequestToCustomServer(type, serverAddress + address, data));
|
||||
@@ -321,25 +310,17 @@ class Utils {
|
||||
* @param address The address to add to the SponsorBlock server address
|
||||
* @param callback
|
||||
*/
|
||||
sendRequestToServer(type: string, address: string, callback?: (xmlhttp: XMLHttpRequest, err: boolean) => any) {
|
||||
let xmlhttp = new XMLHttpRequest();
|
||||
|
||||
sendRequestToServer(type: string, address: string, callback?: (response: FetchResponse) => void) {
|
||||
let serverAddress = Config.config.testingServer ? CompileConfig.testingServerAddress : Config.config.serverAddress;
|
||||
|
||||
xmlhttp.open(type, serverAddress + address, true);
|
||||
|
||||
if (callback != undefined) {
|
||||
xmlhttp.onreadystatechange = function () {
|
||||
callback(xmlhttp, false);
|
||||
};
|
||||
|
||||
xmlhttp.onerror = function(ev) {
|
||||
callback(xmlhttp, true);
|
||||
};
|
||||
}
|
||||
|
||||
//submit this request
|
||||
xmlhttp.send();
|
||||
|
||||
// Ask the background script to do the work
|
||||
chrome.runtime.sendMessage({
|
||||
message: "sendRequest",
|
||||
type,
|
||||
url: serverAddress + address
|
||||
}, (response) => {
|
||||
callback(response);
|
||||
});
|
||||
}
|
||||
|
||||
getFormattedMinutes(seconds: number) {
|
||||
|
||||
Reference in New Issue
Block a user