aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormmble <[email protected]>2020-09-23 20:22:27 +0200
committermmble <[email protected]>2020-09-23 20:22:27 +0200
commite3fb851713ffc8f83b075a76a0fcc8d2a0da03e0 (patch)
tree2a5e5a889a1ea123e95703d12cc6cc2773611e6e
parent9bd4f12d2b54c7f494aec27f7c093b6b6d799ee2 (diff)
parent357d7562a6c6b8dcb33100cb8bed21c1629b1b37 (diff)
downloadSponsorBlock-e3fb851713ffc8f83b075a76a0fcc8d2a0da03e0.tar.gz
SponsorBlock-e3fb851713ffc8f83b075a76a0fcc8d2a0da03e0.zip
Merge branch 'master' of github.com:ajayyy/SponsorBlock
-rw-r--r--README.md10
-rw-r--r--manifest/manifest.json2
-rw-r--r--package-lock.json5
-rw-r--r--package.json3
-rw-r--r--public/_locales/bg/messages.json6
-rw-r--r--public/_locales/cs/messages.json165
-rw-r--r--public/_locales/de/messages.json40
-rw-r--r--public/_locales/en/messages.json19
-rw-r--r--public/_locales/es/messages.json152
-rw-r--r--public/_locales/fa/messages.json88
-rw-r--r--public/_locales/fi/messages.json183
-rw-r--r--public/_locales/fr/messages.json9
-rw-r--r--public/_locales/hi/messages.json29
-rw-r--r--public/_locales/id/messages.json26
-rw-r--r--public/_locales/it/messages.json275
-rw-r--r--public/_locales/ja/messages.json145
-rw-r--r--public/_locales/ko/messages.json356
-rw-r--r--public/_locales/ms/messages.json11
-rw-r--r--public/_locales/nl/messages.json303
-rw-r--r--public/_locales/pl/messages.json623
-rw-r--r--public/_locales/pl_PL/messages.json11
-rw-r--r--public/_locales/pt_BR/messages.json3
-rw-r--r--public/_locales/ro/messages.json56
-rw-r--r--public/_locales/ru/messages.json118
-rw-r--r--public/_locales/sv/messages.json3
-rw-r--r--public/_locales/ta/messages.json155
-rw-r--r--public/_locales/tr/messages.json3
-rw-r--r--public/_locales/uk/messages.json255
-rw-r--r--public/_locales/vi/messages.json515
-rw-r--r--public/_locales/zh_CN/messages.json3
-rw-r--r--public/_locales/zh_TW/messages.json299
-rw-r--r--public/options/options.html34
-rw-r--r--src/components/SponsorTimeEditComponent.tsx22
-rw-r--r--src/config.ts7
-rw-r--r--src/content.ts74
-rw-r--r--src/types.ts2
-rw-r--r--src/utils.ts15
37 files changed, 3773 insertions, 252 deletions
diff --git a/README.md b/README.md
index 6522f5db..3c13765c 100644
--- a/README.md
+++ b/README.md
@@ -18,10 +18,12 @@
</p>
<p align="center">
- <b>Unofficial Ports:</b>
- <a href="https://github.com/ajayyy/SponsorBlock/wiki/Unofficial-Ports#mpv-media-player">MPV</a> |
- <a href="https://github.com/ajayyy/SponsorBlock/wiki/Unofficial-Ports#kodi">Kodi</a> |
- <a href="https://github.com/ajayyy/SponsorBlock/wiki/Unofficial-Ports#ios">iOS</a>
+ <b>3rd-Party Ports:</b>
+ <a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#mpv-media-player">MPV</a> |
+ <a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#kodi">Kodi</a> |
+ <a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#Safari-macos">Safari for MacOS</a> |
+ <a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#Chromecast">Chromecast</a> |
+ <a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#ios">iOS</a>
</p>
<p align="center">
diff --git a/manifest/manifest.json b/manifest/manifest.json
index a9538d4d..21a7d402 100644
--- a/manifest/manifest.json
+++ b/manifest/manifest.json
@@ -1,7 +1,7 @@
{
"name": "__MSG_fullName__",
"short_name": "SponsorBlock",
- "version": "2.0.5.1",
+ "version": "2.0.7",
"default_locale": "en",
"description": "__MSG_Description__",
"content_scripts": [{
diff --git a/package-lock.json b/package-lock.json
index 5cd00a3d..7e806d7e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10494,6 +10494,11 @@
"traverse": "0.4.x"
}
},
+ "js-sha256": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz",
+ "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA=="
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
diff --git a/package.json b/package.json
index 50d274e5..4a6b0783 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"babel-loader": "^8.0.6",
"babel-preset-env": "^1.7.0",
"concurrently": "^5.1.0",
+ "js-sha256": "^0.9.0",
"react": "^16.12.0",
"react-dom": "^16.12.0"
},
@@ -32,7 +33,7 @@
},
"scripts": {
"web-run": "npm run web-run:chrome",
- "web-sign": "web-ext sign -s dist --id [email protected]",
+ "web-sign": "web-ext sign -s dist",
"web-run:firefox": "cd dist && web-ext run --start-url https://addons.mozilla.org/firefox/addon/ublock-origin/",
"web-run:chrome": "cd dist && web-ext run --start-url https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm -t chromium",
"build": "npm run build:chrome",
diff --git a/public/_locales/bg/messages.json b/public/_locales/bg/messages.json
index 9a02f664..228216f7 100644
--- a/public/_locales/bg/messages.json
+++ b/public/_locales/bg/messages.json
@@ -128,9 +128,6 @@
"category_sponsor": {
"message": "Спонсорство"
},
- "category_intro_description": {
- "message": "Интервал без някакво съдържание. Може да бъде пауза, статичен кадър, анимация. Това не трябва да се използва за анимации, съдържащи информация или в музикални клипове."
- },
"category_interaction_description": {
"message": "Когато има кратко напомняне да харесате, да се абонирате или да последвате канала по средата на съдържанието. Ако е дълго или заради нещо специфично, трябва да е под \"само-реклама\"."
},
@@ -173,9 +170,6 @@
"incorrectCategory": {
"message": "Грешна Категория"
},
- "nonMusicCategoryOnMusic": {
- "message": "Този клип е категоризиран като музика. Сигурни ли сте, че искате да докладвате сегментите с не-музикална категория? Освен ако видеото не е наистина музика, не би трябвало да докладвате този сегмент. Моля, прочетете правилата, ако сте объркани."
- },
"multipleSegments": {
"message": "Няколко Сегмента"
},
diff --git a/public/_locales/cs/messages.json b/public/_locales/cs/messages.json
index 5ed3753a..a86c8973 100644
--- a/public/_locales/cs/messages.json
+++ b/public/_locales/cs/messages.json
@@ -9,5 +9,170 @@
},
"400": {
"message": "Server hlásí, že tento požadavek je neplatný"
+ },
+ "429": {
+ "message": "Pro toto video jste přidali příliš mnoho příspěvků. Jste si jistí, že jich je tolik?"
+ },
+ "409": {
+ "message": "Tento příspěvek byl již přidán dříve"
+ },
+ "channelWhitelisted": {
+ "message": "Kanál přidán do výjimek!"
+ },
+ "Segment": {
+ "message": "segment"
+ },
+ "Segments": {
+ "message": "segmenty"
+ },
+ "upvoteButtonInfo": {
+ "message": "Hlasovat pro tento příspěvek"
+ },
+ "reportButtonTitle": {
+ "message": "Nahlásit"
+ },
+ "reportButtonInfo": {
+ "message": "Nahlásit tento příspěvek jako nesprávný."
+ },
+ "Dismiss": {
+ "message": "Zrušit"
+ },
+ "Loading": {
+ "message": "Načítání..."
+ },
+ "Mins": {
+ "message": "Minuty"
+ },
+ "Secs": {
+ "message": "Sekundy"
+ },
+ "Hide": {
+ "message": "Nikdy nezobrazovat"
+ },
+ "hitGoBack": {
+ "message": "Stiskněte \"Vrátit se\" aby jste se dostali do místa před přeskočením."
+ },
+ "unskip": {
+ "message": "Vrátit se"
+ },
+ "reskip": {
+ "message": "Znovu přeskočit"
+ },
+ "paused": {
+ "message": "Pozastaveno"
+ },
+ "manualPaused": {
+ "message": "Časovač zastaven"
+ },
+ "confirmMSG": {
+ "message": "Chcete-li upravit nebo odstranit jednotlivé hodnoty, klikněte na tlačítko informace, nebo otevřete vyskakovací okno rozšíření kliknutím na ikonu rozšíření v pravém horním rohu."
+ },
+ "clearThis": {
+ "message": "Jste si jistí, že to chcete vymazat?\n\n"
+ },
+ "Unknown": {
+ "message": "Při přidávání vašeho příspěvku došlo k chybě. Zkuste to prosím později."
+ },
+ "sponsorFound": {
+ "message": "Toto video má segmenty v databázi!"
+ },
+ "sponsor404": {
+ "message": "Nebyly nalezeny žádné segmenty"
+ },
+ "sponsorStart": {
+ "message": "Segment nyní začíná"
+ },
+ "sponsorEnd": {
+ "message": "Segment nyní končí"
+ },
+ "noVideoID": {
+ "message": "Na této záložce nebylo nalezeno žádné YouTube video. Pokud jste si jistí, že tato záložka je YouTube, zavřete toto vyskakovací okno a znovu jej otevřete. Pokud to nepomůže, zkuste záložku znovu načíst."
+ },
+ "success": {
+ "message": "Úspěch!"
+ },
+ "voted": {
+ "message": "Hlasováno!"
+ },
+ "serverDown": {
+ "message": "Zdá se, že server nefunguje. Obraťte se okamžitě na vývojáře."
+ },
+ "connectionError": {
+ "message": "Došlo k chybě připojení. Kód chyby: "
+ },
+ "wantToSubmit": {
+ "message": "Chcete odeslat segmenty pro video s id"
+ },
+ "leftTimes": {
+ "message": "Zdá se, že některé segmenty jste nechali neodeslané. Vraťte se na danou stránku a odešlete je (nebyly vymazány)."
+ },
+ "clearTimes": {
+ "message": "Vymazat segmenty"
+ },
+ "openPopup": {
+ "message": "Otevřít vyskakovací okno SponsorBlock"
+ },
+ "closePopup": {
+ "message": "Zavřít vyskakovací okno"
+ },
+ "SubmitTimes": {
+ "message": "Odeslat segmenty"
+ },
+ "submitCheck": {
+ "message": "Opravdu to chcete odeslat?"
+ },
+ "whitelistChannel": {
+ "message": "Přidat kanál do výjimek"
+ },
+ "removeFromWhitelist": {
+ "message": "Odebrat kanál z výjimek"
+ },
+ "voteOnTime": {
+ "message": "Hlasovat pro segment"
+ },
+ "soFarUHSubmited": {
+ "message": "Zatím jste přidali"
+ },
+ "savedPeopleFrom": {
+ "message": "Lidem jste ušetřili "
+ },
+ "viewLeaderboard": {
+ "message": "Zobrazit žebříček"
+ },
+ "here": {
+ "message": "zde"
+ },
+ "recordTimesDescription": {
+ "message": "Stiskněte tlačítko níže, když segment začne a skončí, k nahrání a uložení do databáze."
+ },
+ "popupHint": {
+ "message": "Tip: Pokud je video aktivní, stiskněte středník pro nahlášení začátku/konce segmentu, a apostrof pro odeslání. (Klávesy lze změnit v nastavení)"
+ },
+ "clearTimesButton": {
+ "message": "Vymazat časy"
+ },
+ "submitTimesButton": {
+ "message": "Odeslat časy"
+ },
+ "publicStats": {
+ "message": "Toto se používá ve veřejném žebříčku k ukázání jak moc jste přispěli. Podívejte se na něj"
+ },
+ "setUsername": {
+ "message": "Nastavit uživatelské jméno"
+ },
+ "discordAdvert": {
+ "message": "Připojte se k oficiálnímu Discord serveru k podání návrhů a zpětné vazby!"
+ },
+ "hideThis": {
+ "message": "Skrýt"
+ },
+ "Options": {
+ "message": "Nastavení"
+ },
+ "showButtons": {
+ "message": "Zobrazit tlačítka na YouTube přehrávači"
+ },
+ "hideButtons": {
+ "message": "Skrýt tlačítka na YouTube přehrávači"
}
}
diff --git a/public/_locales/de/messages.json b/public/_locales/de/messages.json
index db5aa8bb..955cdfab 100644
--- a/public/_locales/de/messages.json
+++ b/public/_locales/de/messages.json
@@ -107,16 +107,19 @@
"message": "Scheinbar hast du einige Segmente noch nicht gesendet. Kehre zur Seite zurück um sie zu senden (sie sind noch gespeichert)."
},
"clearTimes": {
- "message": "Segmente löschen"
+ "message": "Alle Segmente löschen"
},
"openPopup": {
"message": "Öffne SponsorBlock-Popup"
},
+ "closePopup": {
+ "message": "Popup schließen"
+ },
"SubmitTimes": {
"message": "Segment absenden"
},
"submitCheck": {
- "message": "Bist du sicher, dass die Auswahl abgeschickt werden soll?"
+ "message": "Bist du sicher, dass du das abschicken willst?"
},
"whitelistChannel": {
"message": "Kanal auf Whitelist setzen"
@@ -140,10 +143,10 @@
"message": "hier"
},
"recordTimesDescription": {
- "message": "Klicken Sie auf die Schaltfläche unten, wenn das Segment startet und endet, um es in die Datenbank einzusenden."
+ "message": "Klicke auf die Schaltfläche unten, wenn das Segment startet und endet, um es in die Datenbank einzusenden."
},
"popupHint": {
- "message": "Hinweis: Drücken Sie die Semikolon-Taste während Sie auf ein Video fokussiert sind, um das Start/Ende eines Segments zu melden und das einzureichende Zitat anzugeben. (Dies kann in den Optionen geändert werden)"
+ "message": "Hinweis: Drücke die Semikolon-Taste während du auf ein Video fokussiert bist, um das Start/Ende eines Segments zu melden und das einzureichende Zitat anzugeben. (Dies kann in den Optionen geändert werden)"
},
"clearTimesButton": {
"message": "Zeiten löschen"
@@ -173,7 +176,7 @@
"message": "Knöpfe in YouTube-Leiste verstecken"
},
"hideButtonsDescription": {
- "message": "Die Einstellung versteckt den Einsende-Knopf in der Youtube-Leiste. Ich kann verstehen, weshalb manchen diese Funktion\n an dieser Stelle stört. Stattdessen kann dafür dieses Pop-up genutzt werden. Um die transparente Benachrichtigung zu verstecken, klicke auf den \"Verstecken\"-Knopf \n der Benachrichtigung. Diese Einstellungen können wieder rückgängig gemacht werden."
+ "message": "Versteckt die Schaltflächen im YouTube-Player, um Segmente einzusenden."
},
"showInfoButton": {
"message": "Zeige Info-Knopf in Youtube-Leiste"
@@ -191,7 +194,7 @@
"message": "Zeige Löschen-Knopf in Youtube-Leiste"
},
"whatDeleteButton": {
- "message": "Dierser Button im YouTube-Player löscht alle nicht übermittelten Segmente für das aktuelle Video."
+ "message": "Dieser Button im YouTube-Player löscht alle nicht übermittelten Segmente für das aktuelle Video."
},
"enableViewTracking": {
"message": "Aktiviere mitzählen übersprungener Segmente"
@@ -226,10 +229,10 @@
"message": "Tastenkombination für das Starten eines Segments festlegen"
},
"setSubmitKeybind": {
- "message": "Segment einsenden Taste festlegen"
+ "message": "Tastenkombination für das Einsenden festlegen"
},
"keybindDescription": {
- "message": "Taste drücken, um festzulegen"
+ "message": "Zum festlegen eine Taste drucken"
},
"keybindDescriptionComplete": {
"message": "Die Taste wurde festgelegt auf: "
@@ -238,10 +241,10 @@
"message": "Verbindungsüberschreibung. Überprüfe deine Internetverbindung. Bist du mit dem Internet verbunden, ist der Server wahrscheinlich offline."
},
"disableSkipping": {
- "message": "SponsorBlock ausschalten"
+ "message": "SponsorBlock deaktivieren"
},
"enableSkipping": {
- "message": "SponsorBlock einschalten"
+ "message": "SponsorBlock aktivieren"
},
"yourWork": {
"message": "Deine Statistik",
@@ -260,7 +263,7 @@
"message": "Übersprungen"
},
"disableAutoSkip": {
- "message": "Auto-Überspringen deaktivieren"
+ "message": "Automatisches Überspringen deaktivieren"
},
"enableAutoSkip": {
"message": "Automatisches Überspringen aktivieren"
@@ -323,7 +326,7 @@
"message": "Automatisch überspringen"
},
"showSkipNotice": {
- "message": "Zeige Pop-Up nach dem Übersprung eines Segments"
+ "message": "Zeige Pop-Up nach dem Überspringen eines Segments"
},
"keybindCurrentlySet": {
"message": ". Es ist derzeit gesetzt auf:"
@@ -433,6 +436,9 @@
"preview": {
"message": "Vorschau"
},
+ "inspect": {
+ "message": "Überprüfen"
+ },
"edit": {
"message": "Bearbeiten"
},
@@ -468,7 +474,7 @@
"message": "Unterbrechung/Intro Animation"
},
"category_intro_description": {
- "message": "Ein Intervall ohne relevanten Inhalt. Beispiele dafür wären eine Pause, ein statisches Bild oder sich wiederholende Animationen. Dies sollte nicht für Übergänge benutzt werden, die Informationen erhalten oder für Musikvideos."
+ "message": "Ein Intervall ohne tatsächlichen Inhalt. Kann eine Pause, ein Standbild oder eine sich wiederholende Animation sein. Dies sollte nicht für Übergänge verwendet werden, die Informationen enthalten."
},
"category_intro_short": {
"message": "Unterbrechung"
@@ -477,7 +483,7 @@
"message": "Endkarten/Credits"
},
"category_outro_description": {
- "message": "Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Schlussfolgerungen mit Informationen. Dies sollte nicht für Musikvideos verwendet werden."
+ "message": "Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Schlussfolgerungen mit Informationen."
},
"category_interaction": {
"message": "Interaktions-Erinnerung (Abonnieren)"
@@ -495,7 +501,7 @@
"message": "Ähnlich wie bei \"Sponsor\" mit Ausnahme von unbezahlten oder Selbstpromotion. Dies beinhaltet Abschnitte über Waren, Spenden oder Informationen darüber, mit wem sie zusammengearbeitet haben."
},
"category_music_offtopic": {
- "message": "Musik: Nicht-Musik-Abschnitt"
+ "message": "Musik: Nicht-Musik-Segment"
},
"category_music_offtopic_description": {
"message": "Nur für den Einsatz in Musikvideos. Dies beinhaltet Einführungen oder Outros in Musikvideos."
@@ -584,13 +590,13 @@
"message": "Bedenken Sie die Aktivierung von \"Kanalprüfung erzwingen vor dem Überspringen von Segmenten\""
},
"downvoteDescription": {
- "message": "Nicht korrektes/Falsches Timing"
+ "message": "Nicht korrekt/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."
+ "message": "Dieses Video ist als Musik kategorisiert. Bist du sicher, dass es einen Sponsor hast? Wenn dies tatsächlich ein \"Nicht-Musik-Abschnitt\" ist, öffne die Optionen der Extension und aktiviere diese Kategorie. Danach können Sie dieses Segment als \"Nicht-Musik\" anstelle von \"Sponsor\" einreichen. Bitte lesen Sie die Richtlinien, wenn Sie verwirrt sind."
},
"multipleSegments": {
"message": "Mehrere Segmente"
diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json
index d25ab7a4..a14de04e 100644
--- a/public/_locales/en/messages.json
+++ b/public/_locales/en/messages.json
@@ -205,6 +205,18 @@
"whatViewTracking": {
"message": "This feature tracks which segments you have skipped to let users know how much their submission has helped others and used as a metric along with upvotes to ensure that spam doesn't get into the database. The extension sends a message to the server each time you skip a segment. Hopefully most people don't change this setting so that the view numbers are accurate. :)"
},
+ "enableQueryByHashPrefix": {
+ "message": "Query By Hash Prefix"
+ },
+ "whatQueryByHashPrefix": {
+ "message": "Instead of requesting segments from the server using the videoID, the first 4 characters of the hash of the videoID are sent. This server will send back data for all videos with similar hashes."
+ },
+ "enableRefetchWhenNotFound": {
+ "message": "Refetch Segments On New Videos"
+ },
+ "whatRefetchWhenNotFound": {
+ "message": "If the video is new, and there are no segments found, it will keep refetching every few minutes while you watch."
+ },
"showNotice": {
"message": "Show Notice Again"
},
@@ -392,7 +404,7 @@
"message": "Reset"
},
"customAddressError": {
- "message": "This address is not in the right form. Make sure you have http:// or https:// at the begining and no trailing slashes."
+ "message": "This address is not in the right form. Make sure you have http:// or https:// at the beginning and no trailing slashes."
},
"areYouSureReset": {
"message": "Are you sure you would like to reset this?"
@@ -439,6 +451,9 @@
"preview": {
"message": "Preview"
},
+ "inspect": {
+ "message": "Inspect"
+ },
"edit": {
"message": "Edit"
},
@@ -596,7 +611,7 @@
"message": "Wrong Category"
},
"nonMusicCategoryOnMusic": {
- "message": "This video is categorized as music. Are you sure you this has a sponsor? If this is actually a \"Non-Music segment\", open up the extension options and enable this category. Then, you can submit this segment as \"Non-Music\" instead of sponsor. Please read the guidelines if you are confused."
+ "message": "This video is categorized as music. Are you sure this has a sponsor? If this is actually a \"Non-Music segment\", open up the extension options and enable this category. Then, you can submit this segment as \"Non-Music\" instead of sponsor. Please read the guidelines if you are confused."
},
"multipleSegments": {
"message": "Multiple Segments"
diff --git a/public/_locales/es/messages.json b/public/_locales/es/messages.json
index d6455f8b..b8547f96 100644
--- a/public/_locales/es/messages.json
+++ b/public/_locales/es/messages.json
@@ -1,10 +1,10 @@
{
"fullName": {
- "message": "SponsorBlock para YouTube - Omitir Sponsors",
+ "message": "SponsorBlock para YouTube - Saltar los patrocinios",
"description": "Name of the extension."
},
"Description": {
- "message": "Salte todos los patrocinios, súplicas por suscripción y más en los videos de YouTube. Reporta secciones de patrocinio en los videos que veas para ahorrarle tiempo a los demás.",
+ "message": "Salte todos los patrocinios, súplicas por suscripción y más en los vídeos de YouTube. Reporta secciones de patrocinio en los vídeos que veas para ahorrarle tiempo a los demás.",
"description": "Description of the extension."
},
"400": {
@@ -112,6 +112,9 @@
"openPopup": {
"message": "Abrir Ventana de SponsorBlock"
},
+ "closePopup": {
+ "message": "Cerrar la ventana"
+ },
"SubmitTimes": {
"message": "Enviar Segmentos"
},
@@ -388,15 +391,36 @@
"customAddressError": {
"message": "La dirección no tiene el formato adecuado. Asegúrese de que tenga http:// o https:// al principio y que no haya barras al final."
},
+ "areYouSureReset": {
+ "message": "¿Estás seguro de que te gustaría reiniciar esto?"
+ },
+ "confirmPrivacy": {
+ "message": "El vídeo ha sido detectado como no listado. Haz clic en cancelar si no quieres comprobar si hay segmentos salteados."
+ },
+ "unlistedCheck": {
+ "message": "Ignorar los vídeos no listados/privados"
+ },
+ "whatUnlistedCheck": {
+ "message": "Esta configuración ralentizará ligeramente a SponsorBlock. Las búsquedas de segmentos de salto requieren el envío de la identificación del vídeo al servidor. Si le preocupa que se envíen por Internet identificadores de vídeo no listados, habilite esta opción."
+ },
"mobileUpdateInfo": {
"message": "m.youtube.com ahora es compatible"
},
"exportOptions": {
"message": "Importar/Exportar todas las opciones"
},
+ "whatExportOptions": {
+ "message": "Esta es toda su configuración en JSON. Esto incluye tu ID de usuario, así que asegúrate de compartir esto sabiamente."
+ },
"setOptions": {
"message": "Configurar opciones"
},
+ "exportOptionsWarning": {
+ "message": "Advertencia: cambiar las opciones es permanente y puede romper la instalación. ¿Estás seguro de que te gustaría hacer esto? Asegúrate de hacer una copia de seguridad de la antigua por si acaso."
+ },
+ "incorrectlyFormattedOptions": {
+ "message": "Este JSON no está correctamente formateado. Sus opciones no han sido cambiadas."
+ },
"confirmNoticeTitle": {
"message": "Enviar segmento"
},
@@ -412,6 +436,9 @@
"preview": {
"message": "Vista Previa"
},
+ "inspect": {
+ "message": "Inspeccionar"
+ },
"edit": {
"message": "Editar"
},
@@ -421,55 +448,176 @@
"copyDebugInformationFailed": {
"message": "Error al escribir al portapapeles"
},
+ "copyDebugInformationOptions": {
+ "message": "Copia la información al portapapeles para ser proporcionada a un desarrollador cuando levanta un error / cuando un desarrollador lo solicita. Información sensible como su ID de usuario, canales de la lista blanca y la dirección del servidor personalizado han sido eliminados. Sin embargo, contiene información como su agente de usuario, navegador, sistema operativo y número de versión de la extensión. "
+ },
+ "copyDebugInformationComplete": {
+ "message": "La información de depuración ha sido copiada al portapapeles. Siéntase libre de eliminar cualquier información que prefiera no compartir. Guarde esto en un archivo de texto o péguelo en el informe de errores."
+ },
"theKey": {
"message": "El botón"
},
"keyAlreadyUsed": {
"message": "está enlazado a otra acción. Por favor, seleccione otro botón."
},
+ "to": {
+ "message": "a",
+ "description": "Used between segments. Example: 1:20 to 1:30"
+ },
"category_sponsor": {
"message": "Sponsor"
},
+ "category_sponsor_description": {
+ "message": "Promoción pagada, referencias pagadas y anuncios directos. No para autopromoción o anuncios gratuitos a causas/creadores/sitios web/productos que les gusten."
+ },
+ "category_intro": {
+ "message": "Intermisión/Introducción de animación"
+ },
+ "category_intro_description": {
+ "message": "Un intervalo sin contenido real. Podría ser una pausa, un cuadro estático, una animación repetida. Esto no debe ser usado para transiciones que contengan información."
+ },
+ "category_intro_short": {
+ "message": "Intermisión"
+ },
"category_outro": {
"message": "Tarjetas/Créditos"
},
+ "category_outro_description": {
+ "message": "Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información."
+ },
"category_interaction": {
"message": "Recordatorio de interacción (subscribir)"
},
+ "category_interaction_description": {
+ "message": "Cuando hay un breve recordatorio para dar like, suscribirse o seguirlos en medio del contenido. Si es largo o sobre algo específico, debería estar bajo autopromoción en su lugar."
+ },
+ "category_interaction_short": {
+ "message": "Recordatorio de interacción"
+ },
+ "category_selfpromo": {
+ "message": "No remunerado/Autopromoción"
+ },
+ "category_selfpromo_description": {
+ "message": "Similar a \"patrocinador\", excepto que no es remunerado o se autopromociona. Esto incluye secciones sobre mercancía, donaciones o información sobre con quiénes colaboraron."
+ },
"category_music_offtopic": {
"message": "Música: Sección sin musica"
},
+ "category_music_offtopic_description": {
+ "message": "Sólo para su uso en vídeos musicales. Esto incluye las introducciones o las salidas en los vídeos musicales."
+ },
+ "category_music_offtopic_short": {
+ "message": "No musical"
+ },
"category_livestream_messages": {
"message": "Directo: Lecturas de donaciones y mensajes"
},
+ "category_livestream_messages_short": {
+ "message": "Lectura del mensaje"
+ },
"disable": {
"message": "Desactivar"
},
"manualSkip": {
"message": "Omisión manual"
},
+ "showOverlay": {
+ "message": "Mostrar en la barra de búsqueda"
+ },
+ "colorFormatIncorrect": {
+ "message": "Su color está formateado incorrectamente. Debería ser un código hexadecimal de 3 o 6 dígitos con un signo numérico al principio."
+ },
+ "previewColor": {
+ "message": "Vista previa del color",
+ "description": "Referring to submissions that have not been sent to the server yet."
+ },
+ "seekBarColor": {
+ "message": "Busca el color de la barra"
+ },
+ "category": {
+ "message": "Categoría"
+ },
+ "skipOption": {
+ "message": "Opción de Saltar",
+ "description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
+ },
"enableTestingServer": {
"message": "Habilitar Servidor de Pruebas Beta"
},
+ "whatEnableTestingServer": {
+ "message": "Sus envíos y votos NO CONTABILIZARÁN hacia el servidor principal. Sólo use esto para probar."
+ },
+ "testingServerWarning": {
+ "message": "Todos los envíos y votos NO CONTABILIZARÁN hacia el servidor principal mientras se conecten al servidor de prueba. Asegúrate de desactivar esto cuando quieras hacer presentaciones reales."
+ },
"bracketNow": {
"message": "(Ahora)"
},
"moreCategories": {
"message": "Más categorías"
},
+ "chooseACategory": {
+ "message": "Elija una categoría"
+ },
+ "youMustSelectACategory": {
+ "message": "¡Debes seleccionar una categoría para todos los segmentos que estés presentando!"
+ },
"bracketEnd": {
"message": "(Final)"
},
+ "hiddenDueToDownvote": {
+ "message": "oculto: voto negativo"
+ },
+ "hiddenDueToDuration": {
+ "message": "oculto: demasiado corto"
+ },
"channelDataNotFound": {
"message": "ID de canal no cargado todavía."
},
+ "adblockerIssue": {
+ "message": "Parece que algo está bloqueando la capacidad de SponsorBlock para obtener datos de vídeo. Este es probablemente su bloqueador de anuncios. Por favor, compruebe https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "itCouldBeAdblockerIssue": {
+ "message": "Si esto sigue ocurriendo, podría ser causado por tu bloqueador de anuncios. Por favor, compruebe https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Solicitudes"
+ },
+ "forceChannelCheck": {
+ "message": "Comprobación forzada del canal antes de saltarse"
+ },
+ "whatForceChannelCheck": {
+ "message": "Por defecto, se saltará los segmentos inmediatamente antes de saber cuál es el canal. Por defecto, algunos segmentos al principio del vídeo pueden ser salteados en los canales de la lista blanca. Al activar esta opción se evitará esto, pero haciendo que todos los saltos tengan un ligero retraso ya que obtener el ID del canal puede llevar algún tiempo. Este retraso podría ser imperceptible si tienes una Internet rápida."
+ },
+ "forceChannelCheckPopup": {
+ "message": "Considere la posibilidad de activar \"Comprobación del canal de fuerza antes de saltar\""
+ },
"downvoteDescription": {
"message": "Tiempo incorrecto/equivocado"
},
"incorrectCategory": {
"message": "Categoría Incorrecta"
},
+ "nonMusicCategoryOnMusic": {
+ "message": "Este video está clasificado como música. ¿Estás seguro de que esto tiene un patrocinador? Si esto es realmente un \"Segmento sin música\", abre las opciones de extensión y habilita esta categoría. Entonces, puedes enviar este segmento como \"No-Música\" en lugar de patrocinador. Por favor, lee las directrices si estás confundido."
+ },
"multipleSegments": {
"message": "Múltiples segmentos"
+ },
+ "guidelines": {
+ "message": "Instrucciones"
+ },
+ "readTheGuidelines": {
+ "message": "¡¡¡Lee las instrucciones!!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ },
+ "categoryUpdate1": {
+ "message": "¡Las categorías están aquí!"
+ },
+ "categoryUpdate2": {
+ "message": "Abre las opciones de saltarse intros, otros, mercantil, etc."
+ },
+ "unsubmittedWarning": {
+ "message": "Notificación de segmentos no enviados"
+ },
+ "unsubmittedWarningDescription": {
+ "message": "Envía una notificación cuando dejas un vídeo con segmentos que no se suben"
}
}
diff --git a/public/_locales/fa/messages.json b/public/_locales/fa/messages.json
index 0967ef42..d364acfc 100644
--- a/public/_locales/fa/messages.json
+++ b/public/_locales/fa/messages.json
@@ -1 +1,87 @@
-{}
+{
+ "fullName": {
+ "message": "اسپانسربلاک برای یوتیوب - اسپانسر ها را رد کنید",
+ "description": "Name of the extension."
+ },
+ "400": {
+ "message": "سرور گفت که این درخواست نامعتبر است"
+ },
+ "409": {
+ "message": "این قبلاً ثبت شده است"
+ },
+ "channelWhitelisted": {
+ "message": "کانال در لیست سفید قرار گرفت!"
+ },
+ "Segment": {
+ "message": "بخش"
+ },
+ "Segments": {
+ "message": "بخش"
+ },
+ "upvoteButtonInfo": {
+ "message": "امتیاز دادن به این گزارش ثبت‌شده"
+ },
+ "reportButtonTitle": {
+ "message": "گزارش"
+ },
+ "Dismiss": {
+ "message": "رد کردن"
+ },
+ "Loading": {
+ "message": "درحال بارگذاری..."
+ },
+ "Mins": {
+ "message": "دقیقه"
+ },
+ "Secs": {
+ "message": "ثانیه"
+ },
+ "Hide": {
+ "message": "هرگز نمایش نده"
+ },
+ "hitGoBack": {
+ "message": "کلید عدم رد کردن را بزنید تا به جایی که بودید برگردید."
+ },
+ "unskip": {
+ "message": "عدم رد کردن"
+ },
+ "reskip": {
+ "message": "دوباره رد کردن"
+ },
+ "paused": {
+ "message": "وقفه شده"
+ },
+ "manualPaused": {
+ "message": "شمارنده متوقف شد"
+ },
+ "clearThis": {
+ "message": "مطمئن هستید که میخواهید این را حذف کنید؟\n\n"
+ },
+ "Unknown": {
+ "message": "اشکالی در ثبت کردن زمان های ارسالی شما پیش آمد. لطفا بعداً دوباره تلاش کنید."
+ },
+ "sponsorStart": {
+ "message": "بخش اینجا شروع می‌شود"
+ },
+ "sponsorEnd": {
+ "message": "بخش اینجا پایان می‌یابد"
+ },
+ "success": {
+ "message": "موفقیت!"
+ },
+ "voted": {
+ "message": "گزارش داده شد!"
+ },
+ "serverDown": {
+ "message": "به‌نظر می‌رسد که ارتباط سرور قطع شده است. با توسعه‌دهنده سریعاً تماس بگیرید."
+ },
+ "wantToSubmit": {
+ "message": "آی می‌خواهید که گزارش را ثبت کنید برای ویدیوی"
+ },
+ "closePopup": {
+ "message": "بستن پنجره"
+ },
+ "here": {
+ "message": "اینجا"
+ }
+}
diff --git a/public/_locales/fi/messages.json b/public/_locales/fi/messages.json
index e8d1a8a8..15b54961 100644
--- a/public/_locales/fi/messages.json
+++ b/public/_locales/fi/messages.json
@@ -3,6 +3,10 @@
"message": "SponsorBlock YouTubelle - Ohita sponsoroinnit",
"description": "Name of the extension."
},
+ "Description": {
+ "message": "Ohita sponsoroitu mainonta, tilausten kerjääminen ja muuta YouTube-videoissa. Ilmoita katsomasi videoiden sponsorit säästääksesi muilta aikaa.",
+ "description": "Description of the extension."
+ },
"400": {
"message": "Palvelin sanoi tämän pyynnön olevan virheellinen"
},
@@ -15,6 +19,12 @@
"channelWhitelisted": {
"message": "Kanava lisätty valkoiselle listalle!"
},
+ "Segment": {
+ "message": "segmentti"
+ },
+ "Segments": {
+ "message": "segmentit"
+ },
"upvoteButtonInfo": {
"message": "Äänestä tätä lähetystä"
},
@@ -54,12 +64,27 @@
"manualPaused": {
"message": "Ajastin pysäytetty"
},
+ "confirmMSG": {
+ "message": "Muokataksesi tai poistaaksesi yksittäisiä arvoja, klikkaa info-painiketta tai avaa laajennuksen ponnahdusikkuna klikkaamalla laajennuksen kuvaketta oikeassa yläkulmassa."
+ },
"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ällä videolla on segmenttejä tietokannassa!"
+ },
+ "sponsor404": {
+ "message": "Segmenttejä ei löytynyt"
+ },
+ "sponsorStart": {
+ "message": "Segmentti Alkaa Nyt"
+ },
+ "sponsorEnd": {
+ "message": "Segmentti 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."
},
@@ -75,9 +100,24 @@
"connectionError": {
"message": "Yhteysvirhe on tapahtunut. Virhekoodi: "
},
+ "wantToSubmit": {
+ "message": "Haluatko lähettää segmentit videotunnukselle"
+ },
+ "leftTimes": {
+ "message": "Näyttää siltä, että joitakin segmenttejä ei ole vielä lähetetty. Siirry takaisin sivulle lähettääksesi ne (niitä ei poisteta)."
+ },
+ "clearTimes": {
+ "message": "Tyhjennä Segmentit"
+ },
"openPopup": {
"message": "Avaa SponsorBlock-ponnahdusikkuna"
},
+ "closePopup": {
+ "message": "Sulje Ponnahdus-ikkuna"
+ },
+ "SubmitTimes": {
+ "message": "Lähetä Segmentit"
+ },
"submitCheck": {
"message": "Haluatko varmasti lähettää tämän?"
},
@@ -87,6 +127,9 @@
"removeFromWhitelist": {
"message": "Poista kanava valkoiselta listalta"
},
+ "voteOnTime": {
+ "message": "Äänestä Segmenttiä"
+ },
"soFarUHSubmited": {
"message": "Tähän mennessä, olet lähettänyt"
},
@@ -99,15 +142,27 @@
"here": {
"message": "tässä"
},
+ "recordTimesDescription": {
+ "message": "Napsauta alla olevaa painiketta, kun segmentti alkaa ja päättyy tallentaaksesi ja lähettääksesi sen tietokantaan."
+ },
+ "popupHint": {
+ "message": "Vihje: Paina puolipisteen näppäintä kun video on kohdennettu ilmoittaaksesi segmentin alku/loppu ja viesti lähetettäväksi. (Tämän voi muuttaa asetuksissa)"
+ },
"clearTimesButton": {
"message": "Tyhjennä ajat"
},
"submitTimesButton": {
"message": "Lähetä ajat"
},
+ "publicStats": {
+ "message": "Tätä käytetään julkisella tilastosivulla näyttääksesi kuinka paljon olet osallistunut. Näytä"
+ },
"setUsername": {
"message": "Aseta käyttäjänimi"
},
+ "discordAdvert": {
+ "message": "Liity mukaan viralliseen discord-palvelimeen, jotta voit antaa ehdotuksia ja palautetta!"
+ },
"hideThis": {
"message": "Piilota tämä"
},
@@ -141,6 +196,12 @@
"whatDeleteButton": {
"message": "Tämä on YouTuben soittimen painike, joka poistaa kaikki kyseisen videon sponsorointikohdat, joita et ole vielä lähettänyt."
},
+ "enableViewTracking": {
+ "message": "Ota Ohitusten Lukumäärän Seuranta Käyttöön"
+ },
+ "showNotice": {
+ "message": "Näytä Huomautus Uudelleen"
+ },
"website": {
"message": "Sivusto",
"description": "Used on Firefox Store Page"
@@ -149,9 +210,29 @@
"message": "Lähdekoodi",
"description": "Used on Firefox Store Page"
},
+ "noticeUpdate": {
+ "message": "Ilmoitus on päivitetty!",
+ "description": "The first line of the message displayed after the notice was upgraded."
+ },
+ "noticeUpdate2": {
+ "message": "Jos et vieläkään pidä siitä, paina \"älä koskaan näytä\" -painiketta.",
+ "description": "The second line of the message displayed after the notice was upgraded."
+ },
+ "setStartSponsorShortcut": {
+ "message": "Aseta näppäin segmentin aloittamiseen näppäimistössä"
+ },
+ "setSubmitKeybind": {
+ "message": "Aseta näppäin tietojen lähetykseen"
+ },
"keybindDescription": {
"message": "Valitse näppäin painamalla sitä"
},
+ "keybindDescriptionComplete": {
+ "message": "Näppäinmääritys on asetettu näppäimeen: "
+ },
+ "0": {
+ "message": "Yhteyden aikakatkaisu. Tarkista internet-yhteytesi. Jos internetyhteytesi toimii, palvelin on todennäköisesti ylikuormittunut tai alhaalla."
+ },
"disableSkipping": {
"message": "Poista Sponsorblock käytöstä"
},
@@ -162,6 +243,9 @@
"message": "Sinun työsi",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
+ "502": {
+ "message": "Palvelin näyttää olevan ylikuormitettu. Yritä uudelleen muutaman sekunnin kuluttua."
+ },
"errorCode": {
"message": "Virhekoodi: "
},
@@ -177,6 +261,9 @@
"enableAutoSkip": {
"message": "Ota automaattinen ohitus käyttöön"
},
+ "audioNotification": {
+ "message": "Äänellinen Ilmoitus Ohitettaessa"
+ },
"youHaveSkipped": {
"message": "Olet ohittanut "
},
@@ -207,9 +294,24 @@
"setUserID": {
"message": "Aseta UserID"
},
+ "createdBy": {
+ "message": "Luonut"
+ },
+ "autoSkip": {
+ "message": "Ohita Automaattisesti"
+ },
+ "keybindCurrentlySet": {
+ "message": ". Tällä hetkellä se on asetettu:"
+ },
"supportInvidious": {
"message": "Tue Invidious:ta"
},
+ "supportInvidiousDescription": {
+ "message": "Invidious (invidio.us) on kolmannen osapuolen YouTube-ohjelmisto. Jotta voit ottaa käyttöön tuen, sinun täytyy hyväksyä lisäkäyttöoikeudet. Tämä EI toimi incognitossa Chromessa ja muissa Chromiumin versioissa."
+ },
+ "optionsInfo": {
+ "message": "Ota käyttöön Invidious tuki, poista käytöstä automaattinen ohitus, piilota painikkeet ja muuta."
+ },
"addInvidiousInstance": {
"message": "Lisää Invidious-instanssi"
},
@@ -231,12 +333,18 @@
"showUploadButton": {
"message": "Näytä lähetä-painike"
},
+ "customServerAddress": {
+ "message": "SponsorBlock Palvelimen Osoite"
+ },
"save": {
"message": "Tallenna"
},
"reset": {
"message": "Nollaa"
},
+ "customAddressError": {
+ "message": "Tämä osoite ei ole oikeassa muodossa. Varmista, että sinulla on http:// tai http:// alussa eikä perässä kauttaviivoja."
+ },
"mobileUpdateInfo": {
"message": "m.youtube.com-osoitetta tuetaan nyt"
},
@@ -264,6 +372,9 @@
"edit": {
"message": "Muokkaa"
},
+ "copyDebugInformation": {
+ "message": "Kopioi Vianetsintätiedot Leikepöydälle"
+ },
"copyDebugInformationFailed": {
"message": "Kirjoittaminen leikepöydälle epäonnistui"
},
@@ -289,24 +400,59 @@
"category_music_offtopic": {
"message": "Musiikki: muussa kuin Musiikki-osiossa"
},
+ "category_music_offtopic_short": {
+ "message": "Ei-Musiikki"
+ },
"category_livestream_messages": {
"message": "Livestream: lahjoituksen/viestin lukeminen"
},
+ "category_livestream_messages_short": {
+ "message": "Viestin Lukeminen"
+ },
"disable": {
"message": "Poista käytöstä"
},
"manualSkip": {
"message": "Manuaalinen ohitus"
},
+ "showOverlay": {
+ "message": "Näytä Liukusäätimessä"
+ },
+ "colorFormatIncorrect": {
+ "message": "Väriformaattisi on muotoiltu väärin. Sen pitäisi olla 3 tai 6 numeroinen hex-koodi, jossa on risuaita alussa."
+ },
+ "previewColor": {
+ "message": "Esikatsele Väri",
+ "description": "Referring to submissions that have not been sent to the server yet."
+ },
+ "seekBarColor": {
+ "message": "Siirtymispalkin Väri"
+ },
+ "category": {
+ "message": "Kategoria"
+ },
+ "skipOption": {
+ "message": "Ohitusvalinta",
+ "description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
+ },
"enableTestingServer": {
"message": "Ota betatestauspalvelin käyttöön"
},
+ "whatEnableTestingServer": {
+ "message": "Lähetyksiäsi ja ääniäsi EI LASKETA pääpalvelimella. Käytä tätä vain testaamiseen."
+ },
"bracketNow": {
"message": "(Nyt)"
},
"moreCategories": {
"message": "Lisää kategorioita"
},
+ "chooseACategory": {
+ "message": "Valitse kategoria"
+ },
+ "youMustSelectACategory": {
+ "message": "Sinun täytyy valita kategoria kaikille segmenteille, jota olet lähettämässä!"
+ },
"bracketEnd": {
"message": "(Päättyy)"
},
@@ -319,13 +465,50 @@
"channelDataNotFound": {
"message": "Kanavatunnusta ei ole vielä ladattu."
},
+ "adblockerIssue": {
+ "message": "Näyttää siltä, että jokin estää SponsorBlockin kykyä saada videotietoja. Tämä on luultavasti mainosten esto-ohjelmasi. Tarkista https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "itCouldBeAdblockerIssue": {
+ "message": "Jos tämä toistuu, mainosten esto-ohjelmasi voi olla syynä. Katso https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "forceChannelCheck": {
+ "message": "Pakota Kanavan Tarkistus Ennen Ohittamista"
+ },
+ "whatForceChannelCheck": {
+ "message": "Oletuksena segmentit ohitetaan heti ennen kuin kanava tiedetään. Oletuksena jotkut segmentit videon alussa saattavat tulla ohitetuiksi sallituilla kanavilla. Tämän vaihtoehdon ottaminen käyttöön estää sen, mutta kaikki ohitukset viivästyvät hieman, koska kanavatunnuksen saaminen voi kestää jonkin aikaa. Tämä viive saattaa olla huomaamaton, jos sinulla on nopea internetyhteys."
+ },
+ "forceChannelCheckPopup": {
+ "message": "Harkitse \"Pakota Kanavan Tarkistus Ennen Ohittamista\" käyttöön ottaminen"
+ },
"downvoteDescription": {
"message": "Virheellinen/väärä aika"
},
"incorrectCategory": {
"message": "Väärä kategoria"
},
+ "nonMusicCategoryOnMusic": {
+ "message": "Tämä video on luokiteltu musiikiksi. Oletko varma, että siinä on sponsori? Jos tämä on sen sijaan \"musiikiton segmentti\", avaa laajennuksen asetukset ja ota tämä kategoria käyttöön. Sitten voit lähettää tämän segmentin oikeassa kategoriassa. Lue ohjeistus, jos on lisää kysyttävää."
+ },
"multipleSegments": {
"message": "Useita kohtia"
+ },
+ "guidelines": {
+ "message": "Säännökset"
+ },
+ "readTheGuidelines": {
+ "message": "Lue Säännökset!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ },
+ "categoryUpdate1": {
+ "message": "Kategoriat ovat täällä!"
+ },
+ "categoryUpdate2": {
+ "message": "Avaa asetukset ohittaaksesi introt, outrot, kauppatavarat, jne."
+ },
+ "unsubmittedWarning": {
+ "message": "Lähettämättömien Segmenttien Ilmoitus"
+ },
+ "unsubmittedWarningDescription": {
+ "message": "Lähetä ilmoitus, kun poistut videosta jos on lataamattomia segmenttejä"
}
}
diff --git a/public/_locales/fr/messages.json b/public/_locales/fr/messages.json
index 5cb81713..96f670f0 100644
--- a/public/_locales/fr/messages.json
+++ b/public/_locales/fr/messages.json
@@ -427,18 +427,12 @@
"category_intro": {
"message": "Entracte/Animation d'intro"
},
- "category_intro_description": {
- "message": "Un intervalle sans contenu réel. Peut être une pause, une image statique, une animation répétitive. Ceci ne doit pas être utilisé pour les transitions contenant des informations ou être utilisé sur les vidéos musicales."
- },
"category_intro_short": {
"message": "Entracte"
},
"category_outro": {
"message": "Générique de fin"
},
- "category_outro_description": {
- "message": "Crédits ou quand les cartes de terminaison YouTube apparaissent. Pas pour les conclusions avec des informations. Cela ne doit pas être utilisé sur les vidéos de musique."
- },
"category_interaction": {
"message": "Rappel d'interaction (abonnement)"
},
@@ -543,9 +537,6 @@
"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"
},
diff --git a/public/_locales/hi/messages.json b/public/_locales/hi/messages.json
index 0967ef42..7c348e8d 100644
--- a/public/_locales/hi/messages.json
+++ b/public/_locales/hi/messages.json
@@ -1 +1,28 @@
-{}
+{
+ "fullName": {
+ "message": "YouTube के लिए SponsorBlock - प्रायोजन छोड़ें",
+ "description": "Name of the extension."
+ },
+ "Description": {
+ "message": "YouTube वीडियो पर प्रायोजन, सदस्यता भीख और अधिक छोड़ें। दूसरों के समय को बचाने के लिए आपके द्वारा देखे जाने वाले वीडियो पर प्रायोजकों की रिपोर्ट करें।",
+ "description": "Description of the extension."
+ },
+ "400": {
+ "message": "सर्वर ने कहा कि यह अनुरोध अमान्य था"
+ },
+ "429": {
+ "message": "आपने इस एक वीडियो के लिए बहुत सारे प्रायोजक बार प्रस्तुत किए हैं, क्या आप सुनिश्चित हैं कि यह कई हैं?"
+ },
+ "409": {
+ "message": "यह पहले भी प्रस्तुत किया जा चुका है"
+ },
+ "channelWhitelisted": {
+ "message": "चैनल श्वेतसूची में!"
+ },
+ "Segment": {
+ "message": "खंड"
+ },
+ "Segments": {
+ "message": "खंडों"
+ }
+}
diff --git a/public/_locales/id/messages.json b/public/_locales/id/messages.json
index 557a0cf1..a546dff7 100644
--- a/public/_locales/id/messages.json
+++ b/public/_locales/id/messages.json
@@ -8,7 +8,7 @@
"description": "Description of the extension."
},
"400": {
- "message": "Server menyatakan permintaan tidak valid"
+ "message": "Server menyatakan permintaan ini tidak valid"
},
"429": {
"message": "Anda terlalu banyak mengirim waktu sponsor pada video ini, apakah anda yakin ada sebanyak ini?"
@@ -50,7 +50,7 @@
"message": "Jangan tampilkan"
},
"hitGoBack": {
- "message": "Klik jangan lewati untuk kembali ke asal."
+ "message": "Tekan jangan lewati untuk kembali ke asal."
},
"unskip": {
"message": "Jangan Lewati"
@@ -80,13 +80,13 @@
"message": "Tidak ada segmen ditemukan"
},
"sponsorStart": {
- "message": "Segmen Mulai Sekarang"
+ "message": "Segmen Dimulai Sekarang"
},
"sponsorEnd": {
"message": "Segmen Berakhir Sekarang"
},
"noVideoID": {
- "message": "Tidak ada video YouTube yang ditemukan di tab ini. Jika ini merupakan tab YouTube, tutup popup ini dan buka lagi. Jika masih tidak berfungsi, coba muat ulang tab."
+ "message": "Tidak ada video YouTube yang ditemukan di tab ini. Jika anda tahu ini merupakan tab YouTube, tutup popup ini dan buka lagi. Jika masih tidak berfungsi, coba muat ulang tab."
},
"success": {
"message": "Sukses!"
@@ -112,6 +112,9 @@
"openPopup": {
"message": "Buka Popup SponsorBlock"
},
+ "closePopup": {
+ "message": "Tutup Popup"
+ },
"SubmitTimes": {
"message": "Kirim Segmen"
},
@@ -140,7 +143,7 @@
"message": "disini"
},
"recordTimesDescription": {
- "message": "Klik tombol dibawah saat segmen mulai dan berakhir untuk direkam lalu dikirim ke basis data."
+ "message": "Klik tombol dibawah saat segmen dimulai dan berakhir untuk direkam lalu dikirim ke basis data."
},
"popupHint": {
"message": "Petunjuk: Tekan tombol titik koma saat terfokus pada video untuk melaporkan awal/akhir dari segmen untuk dikirim. (Bisa diganti di pengaturan)"
@@ -219,7 +222,7 @@
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
- "message": "Jika anda masih tidak suka, klik tombol jangan tampilkan.",
+ "message": "Jika anda masih tidak menyukainya, tekan tombol jangan tampilkan.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setStartSponsorShortcut": {
@@ -371,7 +374,7 @@
"message": "Tampilkan Tombol Unggah"
},
"whatUploadButton": {
- "message": "Tombol ini muncul di pemutar video YouTube setelah kamu memilih stempel waktu dan siap untuk dikirimkan."
+ "message": "Tombol ini muncul di pemutar video YouTube setelah anda memilih stempel waktu dan siap untuk dikirimkan."
},
"customServerAddress": {
"message": "Alamat Server SponsorBlock"
@@ -433,6 +436,9 @@
"preview": {
"message": "Pratinjau"
},
+ "inspect": {
+ "message": "Inspeksi"
+ },
"edit": {
"message": "Ubah"
},
@@ -468,7 +474,7 @@
"message": "Jeda/Animasi Intro"
},
"category_intro_description": {
- "message": "Bagian yang bukan konten sebenarnya. Dapat berupa jeda, gambar statik, dan animasi berulang di channel. Ini tidak boleh digunakan untuk transisi yang berisi informasi atau digunakan di video musik."
+ "message": "Bagian yang bukan konten sebenarnya. Dapat berupa jeda, gambar statik, atau animasi berulang. Ini tidak boleh digunakan untuk transisi yang berisi informasi."
},
"category_intro_short": {
"message": "Jeda"
@@ -477,7 +483,7 @@
"message": "Kartu Akhir/Kredit"
},
"category_outro_description": {
- "message": "Kredit atau saat kartu akhir YouTube muncul. Tidak untuk kesimpulan dengan informasi. Tidak boleh dipakai pada video musik."
+ "message": "Kredit atau saat kartu akhir YouTube muncul. Tidak untuk kesimpulan dengan informasi."
},
"category_interaction": {
"message": "Pengingat Interaksi (Berlangganan)"
@@ -590,7 +596,7 @@
"message": "Salah Kategori"
},
"nonMusicCategoryOnMusic": {
- "message": "Video ini dikategorikan sebagai musik. Apakah anda yakin ingin mengirim segmen yang kategorinya non-musik? Kecuali jika video ini bukan musik, anda seharusnya tidak mengirim segmen ini. Harap baca pedoman jika anda kebingungan."
+ "message": "Video ini dikategorikan sebagai musik. Apakah anda yakin ini berisi sponsor? Jika ini ternyata adalah \"Segmen non-musik\", buka pengaturan ekstensi dan aktifkan kategorinya. Lalu, anda bisa mengirim segmen ini sebagai \"Non-musik\" bukannya sponsor. Harap membaca panduan jika anda kebingungan."
},
"multipleSegments": {
"message": "Banyak Segmen"
diff --git a/public/_locales/it/messages.json b/public/_locales/it/messages.json
index aa2cc98f..ef675d89 100644
--- a/public/_locales/it/messages.json
+++ b/public/_locales/it/messages.json
@@ -19,14 +19,20 @@
"channelWhitelisted": {
"message": "Canale aggiunto alla whitelist!"
},
+ "Segment": {
+ "message": "segmento"
+ },
+ "Segments": {
+ "message": "segmenti"
+ },
"upvoteButtonInfo": {
- "message": "Vota questa segnalazione"
+ "message": "Vota questo contributo"
},
"reportButtonTitle": {
"message": "Segnala"
},
"reportButtonInfo": {
- "message": "Segnala questa segnalazione come incorretta."
+ "message": "Segnala questo contributo come non corretto."
},
"Dismiss": {
"message": "Chiudi"
@@ -67,6 +73,18 @@
"Unknown": {
"message": "Si è verificato un errore durante l'invio dello spezzone sponsorizzato, per favore riprova più tardi."
},
+ "sponsorFound": {
+ "message": "Questo video ha dei segmenti nel database!"
+ },
+ "sponsor404": {
+ "message": "Nessun segmento trovato"
+ },
+ "sponsorStart": {
+ "message": "Il Segmento Inizia Ora"
+ },
+ "sponsorEnd": {
+ "message": "Il Segmento Termina Ora"
+ },
"noVideoID": {
"message": "Probabilmente questa non è una scheda di YouTube, oppure hai cliccato troppo presto. \nSe sei sicuro di essere in una scheda di YouTube,\n riapri questo popup."
},
@@ -82,9 +100,24 @@
"connectionError": {
"message": "Si è verificato un errore durante la connessione. Codice errore: "
},
+ "wantToSubmit": {
+ "message": "Desideri inviare per l'id video"
+ },
+ "leftTimes": {
+ "message": "Sembra che tu abbia non abbia inviato alcuni segmenti. Torna a quella pagina per inviarli (non sono stati eliminati)."
+ },
+ "clearTimes": {
+ "message": "Pulisci Segmenti"
+ },
"openPopup": {
"message": "Apri il Popup di SponsorBlock"
},
+ "closePopup": {
+ "message": "Chiudi il popup"
+ },
+ "SubmitTimes": {
+ "message": "Invia Segmenti"
+ },
"submitCheck": {
"message": "Sei sicuro di volerlo inviare?"
},
@@ -94,6 +127,9 @@
"removeFromWhitelist": {
"message": "Rimuovi Canale dalla Whitelist"
},
+ "voteOnTime": {
+ "message": "Vota un Segmento"
+ },
"soFarUHSubmited": {
"message": "Fino ad ora hai inviato"
},
@@ -106,6 +142,12 @@
"here": {
"message": "qui"
},
+ "recordTimesDescription": {
+ "message": "Premi il pulsante in basso quando il segmento inizia e finisce per registrarlo ed inviarlo al database."
+ },
+ "popupHint": {
+ "message": "Suggerimento: Premi il pulsante 'punto e virgola' mentre sei concentrato su un video, per segnalare l'inizio e la fine di un segmento e la relativa citazione da inviare. (Questo può essere modificato nelle opzioni)"
+ },
"clearTimesButton": {
"message": "Cancella Minutaggi"
},
@@ -154,9 +196,19 @@
"whatDeleteButton": {
"message": "Questo è il pulsante che ti permette di cancellare tutti gli spezzoni sponsorizzati nel lettore di YouTube."
},
+ "enableViewTracking": {
+ "message": "Attiva Monitoraggio Salti"
+ },
+ "whatViewTracking": {
+ "message": "Questa funzionalità tiene traccia dei segmenti che hai saltato, per far sapere agli utenti quanto il loro contributo abbia aiutato gli altri e sia stato utilizzato come metrica insieme ai voti positivi, per garantire che lo spam non entri nel database. L'estensione invierà un messaggio al server ogni volta che salterai un segmento. Si spera che la maggior parte delle persone non modifichino questa impostazione, in modo da non intaccare l'accuratezza dei numeri di visualizzazione. :)"
+ },
"showNotice": {
"message": "Mostra di Nuovo l'Avviso"
},
+ "longDescription": {
+ "message": "SponsorBlock ti consente di saltare sponsorizzazioni, introduzioni, conclusioni, promemoria di iscrizione e altre componenti fastidiose dei video su YouTube. SponsorBlock è un'estensione per browser in crowdsourcing, che consente a chiunque di inviare l'ora di inizio e di fine dei segmenti sponsorizzati e altri segmenti video su YouTube. Quando una persona invia queste informazioni, chiunque altro in possesso di questa estensione sarà in grado di saltare direttamente il segmento sponsorizzato. È possibile saltare anche le sezioni non musicali dei video musicali.",
+ "description": "Full description of the extension on the store pages."
+ },
"website": {
"message": "Sito Web",
"description": "Used on Firefox Store Page"
@@ -173,8 +225,11 @@
"message": "Se non ti piace ancora, premi il pulsante \"non mostrare mai\".",
"description": "The second line of the message displayed after the notice was upgraded."
},
+ "setStartSponsorShortcut": {
+ "message": "Imposta chiave di associazione per l'inizio del segmento"
+ },
"setSubmitKeybind": {
- "message": "Imposta la chiave per l'associazione di tasti per le segnalazioni"
+ "message": "Imposta chiave di associazione tasti per i tuoi contributi"
},
"keybindDescription": {
"message": "Seleziona una chiave digitandola"
@@ -216,6 +271,9 @@
"audioNotification": {
"message": "Notifiche Audio per Salta"
},
+ "audioNotificationDescription": {
+ "message": "La notifica audio riprodurrà un suono ogni volta che un segmento verrà saltato. Se questa opzione (o quella del salto automatico) è disattivata, non verrà riprodotto alcun suono."
+ },
"showTimeWithSkips": {
"message": "Mostra Tempo Con Salti Rimossi"
},
@@ -267,6 +325,9 @@
"autoSkip": {
"message": "Salta Automaticamente"
},
+ "showSkipNotice": {
+ "message": "Mostra Avviso Dopo Aver Saltato un Segmento"
+ },
"keybindCurrentlySet": {
"message": ". Attualmente è impostato su:"
},
@@ -303,6 +364,15 @@
"minDuration": {
"message": "Durata minima (secondi):"
},
+ "minDurationDescription": {
+ "message": "I segmenti più brevi del valore impostato non verranno saltati o visualizzati nel lettore."
+ },
+ "shortCheck": {
+ "message": "Il seguente contributo è più breve della tua opzione di durata minima. Ciò potrebbe significare che questo è già stato inviato e viene semplicemente ignorato a causa di questa opzione. Sei sicuro di voler inviare?"
+ },
+ "showUploadButton": {
+ "message": "Mostra Pulsante di Caricamento"
+ },
"whatUploadButton": {
"message": "Questo pulsante appare sul riproduttore di YouTube dopo che hai selezionato un marcatore temporale e sei pronto ad inviarlo."
},
@@ -324,9 +394,15 @@
"areYouSureReset": {
"message": "Sei sicuro di voler eseguire il reset?"
},
+ "confirmPrivacy": {
+ "message": "Il video è stato rilevato come non in elenco. Clicca su Annulla se non desideri verificare la presenza di segmenti da saltare."
+ },
"unlistedCheck": {
"message": "Ignora Video Non Pubblicati/Privati"
},
+ "whatUnlistedCheck": {
+ "message": "Questa impostazione rallenterà leggermente SponsorBlock. Le ricerche di segmenti da saltare richiedono l'invio dell'ID video al server. Se sei preoccupato per gli ID video non in elenco inviati su Internet, attiva questa opzione."
+ },
"mobileUpdateInfo": {
"message": "m.youtube.com è ora supportato"
},
@@ -336,6 +412,150 @@
"whatExportOptions": {
"message": "Questa è la tua intera configurazione in formaro JSON. Questo include il tuo ID utente, quindi presta attenzione se vuoi condividerlo."
},
+ "setOptions": {
+ "message": "Imposta Opzioni"
+ },
+ "exportOptionsWarning": {
+ "message": "Attezione: La modifica delle opzioni è permanente e può interrompere l'installazione. Sei sicuro di voler proseguire? Assicurati di aver eseguito un backup per ogni evenienza."
+ },
+ "incorrectlyFormattedOptions": {
+ "message": "Questo JSON non è stato correttamente formattato. Le tue opzioni non sono state modificate."
+ },
+ "confirmNoticeTitle": {
+ "message": "Invia Segmento"
+ },
+ "submit": {
+ "message": "Invia"
+ },
+ "cancel": {
+ "message": "Annulla"
+ },
+ "delete": {
+ "message": "Elimina"
+ },
+ "preview": {
+ "message": "Anteprima"
+ },
+ "inspect": {
+ "message": "Esamina"
+ },
+ "edit": {
+ "message": "Modifica"
+ },
+ "copyDebugInformation": {
+ "message": "Copia Informazioni di Debug Negli Appunti"
+ },
+ "copyDebugInformationFailed": {
+ "message": "Impossibile scrivere negli Appunti"
+ },
+ "copyDebugInformationOptions": {
+ "message": "Copia le informazioni negli appunti da fornire a uno sviluppatore quando si registra un bug / quando uno sviluppatore lo richiede. Le informazioni sensibili come l'ID utente, i canali e l'indirizzo del server personalizzato sono stati rimossi. Tuttavia contiene informazioni come il tuo useragent, browser, sistema operativo e numero di versione di estensione. "
+ },
+ "copyDebugInformationComplete": {
+ "message": "Le informazioni di debug sono state copiate nel clip board. Sentiti libero di rimuovere tutte le informazioni che preferisci non condividere. Salva in un file di testo o incollale nella segnalazione di bug."
+ },
+ "theKey": {
+ "message": "La chiave"
+ },
+ "keyAlreadyUsed": {
+ "message": "è abbinata ad un'altra azione. Si prega di selezionare un'altra chiave."
+ },
+ "to": {
+ "message": "a",
+ "description": "Used between segments. Example: 1:20 to 1:30"
+ },
+ "category_sponsor": {
+ "message": "Sponsorizzazione"
+ },
+ "category_sponsor_description": {
+ "message": "Promozione a pagamento, referral a pagamento e pubblicità diretta. Non per auto-promozione o ringraziamenti gratuiti a cause/creatori/siti web/ prodotti di loro gradimento."
+ },
+ "category_intro": {
+ "message": "Animazione Interruzione/Introduzione"
+ },
+ "category_intro_description": {
+ "message": "Un intervallo senza contenuto effettivo. Potrebbe essere una pausa, una schermata statica, un'animazione ripetuta. Non dovrebbe essere usato per transizioni contenenti informazioni."
+ },
+ "category_intro_short": {
+ "message": "Interruzione"
+ },
+ "category_outro": {
+ "message": "Conclusioni/Titoli di Coda"
+ },
+ "category_outro_description": {
+ "message": "I titoli di coda o quando vengono mostrate annotazioni a fine video su YouTube. Non per conclusioni provviste di informazioni."
+ },
+ "category_interaction": {
+ "message": "Promemoria di Interazione (Sottoscrizione)"
+ },
+ "category_interaction_description": {
+ "message": "Quando nel punto centrale del contenuto è presente un breve promemoria per aggiunta di mi piace, iscrizione o seguito. Se dovesse risultare esteso o riguardare qualcosa di specifico, potrebbe essere un'autopromozione."
+ },
+ "category_interaction_short": {
+ "message": "Promemoria di Interazione"
+ },
+ "category_selfpromo": {
+ "message": "Promozione non pagata/Autopromozione"
+ },
+ "category_selfpromo_description": {
+ "message": "Simile alle \"sponsorizzazioni\" tranne che per promozioni non pagate o autopromozioni. Ciò include sezioni riguardanti vendita di merce, donazioni o informazioni in merito a collaboratori."
+ },
+ "category_music_offtopic": {
+ "message": "Musica: Sezione Non-Musicale"
+ },
+ "category_music_offtopic_description": {
+ "message": "Solo per utilizzo su video musicali. Ciò include introduzioni o conclusioni in video musicali."
+ },
+ "category_music_offtopic_short": {
+ "message": "Non-Musicale"
+ },
+ "category_livestream_messages": {
+ "message": "Livestream: Donazione/Letture dei Messaggi"
+ },
+ "category_livestream_messages_short": {
+ "message": "Lettura Messaggi"
+ },
+ "disable": {
+ "message": "Disattiva"
+ },
+ "manualSkip": {
+ "message": "Salto Manuale"
+ },
+ "showOverlay": {
+ "message": "Mostra nella Barra di Ricerca"
+ },
+ "colorFormatIncorrect": {
+ "message": "Il tuo colore è formattato in modo errato. Dovrebbe essere un codice esadecimale a 3 o 6 cifre con un segno numerico iniziale."
+ },
+ "previewColor": {
+ "message": "Anteprima Colore",
+ "description": "Referring to submissions that have not been sent to the server yet."
+ },
+ "seekBarColor": {
+ "message": "Colore Barra di Ricerca"
+ },
+ "category": {
+ "message": "Categoria"
+ },
+ "skipOption": {
+ "message": "Salta Opzione",
+ "description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
+ },
+ "enableTestingServer": {
+ "message": "Attiva Server di Beta Testing"
+ },
+ "whatEnableTestingServer": {
+ "message": "I tuoi invii e voti NON CONTERANNO nel il server principale. Usa questa opzione solo per test."
+ },
+ "testingServerWarning": {
+ "message": "Tutti i contributi e i voti NON VERRANNO CONTATI verso il server principale durante la connessione al server di prova. Assicurarsi di disabilitare questa opzione quando si desidera fare reali contributi."
+ },
+ "bracketNow": {
+ "message": "(Ora)"
+ },
+ "moreCategories": {
+ "message": "Più Categorie"
+ },
"chooseACategory": {
"message": "Scegli una Categoria"
},
@@ -350,5 +570,54 @@
},
"hiddenDueToDuration": {
"message": "nascosto: troppo corto"
+ },
+ "channelDataNotFound": {
+ "message": "ID canale non ancora caricato."
+ },
+ "adblockerIssue": {
+ "message": "Sembra che qualcosa stia bloccando la capacità di SponsorBlock di ottenere dati video. Questo probabilmente è il tuo ad blocker. Controlla https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "itCouldBeAdblockerIssue": {
+ "message": "Se questo continua a verificarsi, potrebbe essere causato dal tuo ad-blocker. Controlla https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "forceChannelCheck": {
+ "message": "Forza controllo canale prima di andare avanti"
+ },
+ "whatForceChannelCheck": {
+ "message": "Per impostazione predefinita, si salteranno subito i segmenti prima che si sappia anche che canale è. Per impostazione predefinita, alcuni segmenti all'inizio del video potrebbero essere saltati sui canali sulla whitelist. Abilitare questa opzione impedirà questo, ma fare saltare tutti hanno un leggero ritardo in quanto ottenere il channelID può richiedere un certo tempo. Questo ritardo potrebbe essere invisibile se si dispone di internet veloce."
+ },
+ "forceChannelCheckPopup": {
+ "message": "Considera l'Attivazione dell'opzione \"Forza la Verifica del Canale Prima del Salto\""
+ },
+ "downvoteDescription": {
+ "message": "Tempo Non Corretto/Errato"
+ },
+ "incorrectCategory": {
+ "message": "Categoria Errata"
+ },
+ "nonMusicCategoryOnMusic": {
+ "message": "Questo video è classificato come musica. Sei sicuro che questo video contenga uno sponsor? Se questo è in realtà un \"Segmento Non-Musica\", apri le opzioni di questa estensione e abilita questa categoria. Quindi, è possibile inviare questo segmento come \"Non-Music\" invece di sponsor. Si prega di leggere la guida se si è confusi."
+ },
+ "multipleSegments": {
+ "message": "Segmenti Multipli"
+ },
+ "guidelines": {
+ "message": "Linee guida"
+ },
+ "readTheGuidelines": {
+ "message": "Leggi Le Linee Guide!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ },
+ "categoryUpdate1": {
+ "message": "Le categorie sono qui!"
+ },
+ "categoryUpdate2": {
+ "message": "Apri queste opzioni per saltare le introduzioni, conclusioni, vendita di prodotti ecc."
+ },
+ "unsubmittedWarning": {
+ "message": "Notifica Segmenti Non Inviati"
+ },
+ "unsubmittedWarningDescription": {
+ "message": "Invia una notifica quando lasci un video con segmenti non caricati"
}
}
diff --git a/public/_locales/ja/messages.json b/public/_locales/ja/messages.json
index 24c00561..21d57260 100644
--- a/public/_locales/ja/messages.json
+++ b/public/_locales/ja/messages.json
@@ -2,5 +2,150 @@
"fullName": {
"message": "SponserBlock for YouTube - 動画のスポンサーセクションを自動でスキップする",
"description": "Name of the extension."
+ },
+ "reportButtonTitle": {
+ "message": "報告"
+ },
+ "Dismiss": {
+ "message": "無視"
+ },
+ "Loading": {
+ "message": "読み込み中..."
+ },
+ "Mins": {
+ "message": "分"
+ },
+ "Secs": {
+ "message": "秒"
+ },
+ "success": {
+ "message": "成功しました!"
+ },
+ "voted": {
+ "message": "投票しました!"
+ },
+ "closePopup": {
+ "message": "ポップアップを閉じる"
+ },
+ "viewLeaderboard": {
+ "message": "リーダーボードを表示"
+ },
+ "here": {
+ "message": "こちら"
+ },
+ "Options": {
+ "message": "オプション"
+ },
+ "showButtons": {
+ "message": "YouTube プレイヤーにボタンを表示"
+ },
+ "hideButtons": {
+ "message": "YouTube プレイヤーにボタンを表示しない"
+ },
+ "website": {
+ "message": "ウェブサイト",
+ "description": "Used on Firefox Store Page"
+ },
+ "sourceCode": {
+ "message": "ソースコード",
+ "description": "Used on Firefox Store Page"
+ },
+ "errorCode": {
+ "message": "エラーコード: "
+ },
+ "skip": {
+ "message": "スキップ"
+ },
+ "skipped": {
+ "message": "スキップしました"
+ },
+ "disableAutoSkip": {
+ "message": "自動スキップを無効にする"
+ },
+ "enableAutoSkip": {
+ "message": "自動スキップを有効にする"
+ },
+ "youHaveSkipped": {
+ "message": "スキップしました "
+ },
+ "minLower": {
+ "message": "分"
+ },
+ "minsLower": {
+ "message": "分"
+ },
+ "hourLower": {
+ "message": "時間"
+ },
+ "hoursLower": {
+ "message": "時間"
+ },
+ "autoSkip": {
+ "message": "自動スキップ"
+ },
+ "customServerAddress": {
+ "message": "SponsorBlock サーバーアドレス"
+ },
+ "save": {
+ "message": "保存"
+ },
+ "reset": {
+ "message": "リセット"
+ },
+ "mobileUpdateInfo": {
+ "message": "m.youtube.com は現在サポートされています"
+ },
+ "submit": {
+ "message": "送信"
+ },
+ "cancel": {
+ "message": "キャンセル"
+ },
+ "delete": {
+ "message": "削除"
+ },
+ "preview": {
+ "message": "プレビュー"
+ },
+ "edit": {
+ "message": "編集"
+ },
+ "category_sponsor": {
+ "message": "スポンサー"
+ },
+ "disable": {
+ "message": "無効"
+ },
+ "previewColor": {
+ "message": "プレビューカラー",
+ "description": "Referring to submissions that have not been sent to the server yet."
+ },
+ "seekBarColor": {
+ "message": "シークバーのカラー"
+ },
+ "category": {
+ "message": "カテゴリ"
+ },
+ "enableTestingServer": {
+ "message": "ベータテストサーバーを有効にする"
+ },
+ "chooseACategory": {
+ "message": "カテゴリーを選択"
+ },
+ "channelDataNotFound": {
+ "message": "まだチャンネル ID が読み込まれてません。"
+ },
+ "incorrectCategory": {
+ "message": "カテゴリが違います"
+ },
+ "guidelines": {
+ "message": "ガイドライン"
+ },
+ "readTheGuidelines": {
+ "message": "ガイドラインを読んでください!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ },
+ "categoryUpdate1": {
+ "message": "カテゴリはこちらです!"
}
}
diff --git a/public/_locales/ko/messages.json b/public/_locales/ko/messages.json
index 626ca884..3149465f 100644
--- a/public/_locales/ko/messages.json
+++ b/public/_locales/ko/messages.json
@@ -7,6 +7,12 @@
"message": "YouTube 영상의 스폰서 광고, '구독과 좋아요' 광고 같이 쓸데없는 광고를 모두 건너뛰세요. 영상의 스폰서 광고 구간을 신고하여 다른 사람들의 시간을 절약할 수 있게 해주세요.",
"description": "Description of the extension."
},
+ "429": {
+ "message": "이 영상에 너무 많은 스폰서 광고 시간을 제출했습니다, 정말로 확신하십니까?"
+ },
+ "409": {
+ "message": "이전에 이미 제출되었습니다"
+ },
"channelWhitelisted": {
"message": "채널이 화이트리스트에 추가되었습니다!"
},
@@ -16,6 +22,39 @@
"Segments": {
"message": "구간"
},
+ "upvoteButtonInfo": {
+ "message": "이 제출을 추천하기"
+ },
+ "reportButtonTitle": {
+ "message": "신고"
+ },
+ "reportButtonInfo": {
+ "message": "잘못된 제출로 신고하기."
+ },
+ "Loading": {
+ "message": "로딩 중..."
+ },
+ "Mins": {
+ "message": "분"
+ },
+ "Secs": {
+ "message": "초"
+ },
+ "Hide": {
+ "message": "보지 않기"
+ },
+ "paused": {
+ "message": "정지됨"
+ },
+ "manualPaused": {
+ "message": "타이머가 정지됨"
+ },
+ "clearThis": {
+ "message": "정말로 삭제하시겠습니까?\n\n"
+ },
+ "Unknown": {
+ "message": "스폰서 시간을 제출하는 동안 오류가 발생했습니다, 나중에 다시 시도하세요."
+ },
"sponsorFound": {
"message": "이 영상의 광고 구간을 서버 데이터베이스에서 찾았습니다!"
},
@@ -31,15 +70,54 @@
"noVideoID": {
"message": "현재 페이지에서 YouTube 영상을 찾지 못하였습니다. 이 페이지에 YouTube 영상이 있는 경우, 이 팝업을 닫고 다시 열어주세요. 그래도 이 팝업이 바뀌지 않는 경우, 페이지를 새로고침하세요."
},
+ "success": {
+ "message": "성공!"
+ },
+ "voted": {
+ "message": "투표 완료!"
+ },
+ "serverDown": {
+ "message": "서버가 다운된 것 같습니다. 즉시 개발 부에 연락하세요."
+ },
"connectionError": {
"message": "서버 오류가 발생하였습니다. 오류 코드: "
},
+ "leftTimes": {
+ "message": "몇몇 구간을 제출하지 않은 채 있는 것 같습니다. 해당 페이지로 다시 돌아가 제출하세요 (삭제되지 않았습니다)"
+ },
+ "clearTimes": {
+ "message": "구간 제거"
+ },
+ "openPopup": {
+ "message": "SponsorBlock 팝업 열기"
+ },
+ "closePopup": {
+ "message": "팝업 닫기"
+ },
+ "SubmitTimes": {
+ "message": "구간 제출"
+ },
+ "submitCheck": {
+ "message": "정말로 제출하시겠습니까?"
+ },
"whitelistChannel": {
"message": "채널을 화이트리스트에 추가하기"
},
"removeFromWhitelist": {
"message": "채널을 화이트리스트에서 삭제하기"
},
+ "voteOnTime": {
+ "message": "구간 투표"
+ },
+ "viewLeaderboard": {
+ "message": "리더보드 보기"
+ },
+ "recordTimesDescription": {
+ "message": "구간이 시작 및 종료될 때 아래의 버튼을 눌러 구간을 기록하고 데이터베이스에 제출하세요."
+ },
+ "submitTimesButton": {
+ "message": "시간 제출"
+ },
"setUsername": {
"message": "사용자 이름 설정"
},
@@ -49,6 +127,43 @@
"Options": {
"message": "설정"
},
+ "showButtons": {
+ "message": "YouTube 플레이어에서 버튼 표시하기"
+ },
+ "hideButtons": {
+ "message": "YouTube 플레이어에서 버튼 숨기기"
+ },
+ "hideButtonsDescription": {
+ "message": "스킵할 구간을 제출하기 위해 YouTube 플레이어에 나타나는 버튼을 숨깁니다"
+ },
+ "showInfoButton": {
+ "message": "YouTube 플레이어에서 정보 버튼 표시하기"
+ },
+ "hideInfoButton": {
+ "message": "YouTube 플레이어에서 정보 버튼 숨기기"
+ },
+ "whatInfoButton": {
+ "message": "YouTube 페이지에 팝업으로 표시되는 버튼입니다"
+ },
+ "hideDeleteButton": {
+ "message": "YouTube 플레이어에서 삭제 버튼 숨기기"
+ },
+ "showDeleteButton": {
+ "message": "YouTube 플레이어에서 삭제 버튼 표시하기"
+ },
+ "whatDeleteButton": {
+ "message": "현재 영상에 제출되지 않은 구간을 YouTube 플레이어 내에서 지우는 버튼입니다"
+ },
+ "enableViewTracking": {
+ "message": "스킵 개수 추적 활성화"
+ },
+ "showNotice": {
+ "message": "알림 다시 보여주기"
+ },
+ "longDescription": {
+ "message": "SponsorBlock을 사용하면 영상에서 스폰서 광고, 인트로 영상, 아웃트로 영상, 구독 광고와 그 외 쓸데없는 부분을 즉시 건너뛸 수 있습니다. SponsorBlock은 모든 사람들이 참여하는 브라우저 확장 기능으로 확장 기능 사용자는 스폰서 광고 또는 다른 광고의 시작 시간과 끝 시간을 확인하여 서버로 전송할 수 있습니다. 이러한 정보가 전송되면 그 영상을 보는 다른 사용자들은 광고 구간이 나오기 전에 자동으로 건너뛸 수 있습니다. SponsorBlock을 사용하면 뮤직 비디오에서 음악이나 노래가 아닌 구간도 건너뛸 수 있습니다.",
+ "description": "Full description of the extension on the store pages."
+ },
"website": {
"message": "웹사이트",
"description": "Used on Firefox Store Page"
@@ -57,12 +172,44 @@
"message": "소스 코드",
"description": "Used on Firefox Store Page"
},
+ "noticeUpdate2": {
+ "message": "계속 이것이 싫다면, 보지 않기 버튼을 누르세요.",
+ "description": "The second line of the message displayed after the notice was upgraded."
+ },
+ "0": {
+ "message": "연결 타임아웃 오류입니다. 인터넷이 연결되어 있는지 확인해주세요. 인터넷이 연결되어 있는 경우, 서버가 과부하되어 있거나 다운되어 있어서 오류가 발생하는 것일 수도 있습니다."
+ },
"disableSkipping": {
"message": "SponsorBlock 비활성화"
},
+ "enableSkipping": {
+ "message": "SponsorBlock 활성화"
+ },
+ "yourWork": {
+ "message": "지금까지 한 일",
+ "description": "Used to describe the section that will show you the statistics from your submissions."
+ },
"errorCode": {
"message": "오류 코드: "
},
+ "skip": {
+ "message": "스킵"
+ },
+ "skipped": {
+ "message": "스킵됨"
+ },
+ "disableAutoSkip": {
+ "message": "자동 스킵 비활성화"
+ },
+ "enableAutoSkip": {
+ "message": "자동 스킵 활성화"
+ },
+ "audioNotification": {
+ "message": "스킵시 소리 알림"
+ },
+ "audioNotificationDescription": {
+ "message": "구간을 건너뛸 때마다 소리를 재생합니다. 비활성화시(혹은 자동 스킵이 꺼져있을 경우) 아무 소리도 재생되지 않습니다."
+ },
"minLower": {
"message": "분"
},
@@ -75,33 +222,114 @@
"hoursLower": {
"message": "시간"
},
+ "statusReminder": {
+ "message": "Status.sponsor.ajay.app 사이트를 확인하여 서버 상태를 확인하세요."
+ },
"changeUserID": {
"message": "사용자 ID 가져오기/내보내기"
},
+ "whatChangeUserID": {
+ "message": "이 정보는 다른 사람에게 공개하지 마세요. 이것은 비밀번호처럼 절대로 알려주면 안되는 정보입니다. 다른 사람이 이 정보를 습득했을 경우 사용자를 사칭할 수도 있습니다."
+ },
+ "setUserID": {
+ "message": "사용자ID 설정"
+ },
+ "userIDChangeWarning": {
+ "message": "경고: 사용자ID 변경은 영구적입니다. 정말로 하시겠습니까? 예전 사용자ID를 꼭 백업하세요."
+ },
"createdBy": {
"message": "개발자: "
},
"autoSkip": {
"message": "자동으로 건너뛰기"
},
+ "showSkipNotice": {
+ "message": "구간을 건너뛴 후 알림 표시"
+ },
"supportInvidious": {
"message": "Invidious 지원 활성화"
},
+ "add": {
+ "message": "추가"
+ },
+ "addInvidiousInstanceError": {
+ "message": "유효하지 않은 도메인입니다. 도메인 부분을 포함해야 합니다. 예: invious.ajay.app"
+ },
+ "minDuration": {
+ "message": "최소 기간 (초):"
+ },
+ "minDurationDescription": {
+ "message": "설정 값보다 작은 구간은 건너뛰거나 플레이어에서 표시하지 않습니다"
+ },
+ "shortCheck": {
+ "message": "다음 제출은 최소 기간 옵션보다 짧습니다. 이 말은 이미 제출되었으며, 이 옵션으로 인해 무시될 수 있습니다. 제출하시겠습니까?"
+ },
+ "showUploadButton": {
+ "message": "업로드 버튼 표시"
+ },
+ "whatUploadButton": {
+ "message": "이 버튼은 타임 스탬프를 설정 후 제출 준비가 되었을 때 YouTube 플레이어에 나타납니다."
+ },
+ "customServerAddress": {
+ "message": "SponsorBlock 서버 주소"
+ },
"customServerAddressDescription": {
"message": "SponsorBlock이 데이터를 주고받기 위해 사용하는 서버 주소입니다. 따로 구축한 서버가 없을 경우, 이 주소를 변경하지 않는 것이 좋습니다."
},
"save": {
"message": "저장"
},
+ "reset": {
+ "message": "초기화"
+ },
"customAddressError": {
"message": "올바르지 않은 주소입니다. 주소는 반드시 http:// 또는 https://로 시작해야 하며, 마지막 문자가 슬래시로 끝날 수 없습니다."
},
+ "areYouSureReset": {
+ "message": "정말로 초기화하시겠습니까?"
+ },
+ "confirmPrivacy": {
+ "message": "이 영상은 일부 공개 영상으로 감지되었습니다. 구간 스킵을 확인하지 않으려면 취소를 누르세요."
+ },
+ "unlistedCheck": {
+ "message": "일부 공개/비공개 영상 무시"
+ },
+ "mobileUpdateInfo": {
+ "message": "이제 m.youtube.com 링크를 지원합니다"
+ },
"exportOptions": {
"message": "모든 설정 가져오기/내보내기"
},
+ "whatExportOptions": {
+ "message": "JSON의 전체 구성입니다. 사용자ID가 포함되므로 주의하세요."
+ },
+ "setOptions": {
+ "message": "옵션 설정"
+ },
+ "exportOptionsWarning": {
+ "message": "경고: 옵션을 변경하면 영구적이며 설치에 오류가 날 수 있습니다. 정말로 하시겠습니까? 예전 옵션을 꼭 백업하세요."
+ },
+ "incorrectlyFormattedOptions": {
+ "message": "이 JSON의 형식이 잘못되었습니다. 옵션이 변경되지 않았습니다."
+ },
+ "confirmNoticeTitle": {
+ "message": "구간 제출"
+ },
+ "submit": {
+ "message": "제출"
+ },
+ "cancel": {
+ "message": "취소"
+ },
+ "delete": {
+ "message": "삭제"
+ },
"preview": {
"message": "미리보기"
},
+ "inspect": {
+ "message": "보기"
+ },
"edit": {
"message": "수정"
},
@@ -117,6 +345,66 @@
"copyDebugInformationComplete": {
"message": "디버그 정보가 복사되었습니다. 공유하고 싶지 않은 내용이 있는 경우 자유롭게 수정하신 후, 텍스트 파일로 저장하시거나 버그 신고 페이지에 붙여넣으시면 됩니다."
},
+ "theKey": {
+ "message": "키"
+ },
+ "keyAlreadyUsed": {
+ "message": "이 키는 다른 행동과 연동되었습니다. 다른 키를 선택하세요."
+ },
+ "category_sponsor": {
+ "message": "스폰서 광고"
+ },
+ "category_intro": {
+ "message": "무음 구간 / 인트로 영상"
+ },
+ "category_intro_description": {
+ "message": "아무 내용도 없는 구간입니다. 일시정지된 영상, 정지된 프레임이거나 반복되는 애니메이션일 가능성이 있습니다. 특정 정보를 알려주는 화면 전환 구간은 여기에 해당되지 않습니다."
+ },
+ "category_intro_short": {
+ "message": "휴식 시간"
+ },
+ "category_outro": {
+ "message": "최종 화면 / 크레딧"
+ },
+ "category_outro_description": {
+ "message": "엔딩 크레딧이나 최종 화면이 나타나는 구간입니다. 단순히 결론을 말하는 부분은 여기에 포함되지 않습니다."
+ },
+ "category_interaction": {
+ "message": "상호 작용 알림 (구독)"
+ },
+ "category_interaction_short": {
+ "message": "상호 작용 알림"
+ },
+ "category_selfpromo": {
+ "message": "자체 홍보 구간"
+ },
+ "category_selfpromo_description": {
+ "message": "'스폰서 광고'와 비슷하지만 협찬 없이 자기 채널을 홍보하는 구간입니다. 여기에는 채널 굿즈 광고, 기부 광고와 영상에 참여한 사람들을 홍보하는 광고가 해당됩니다."
+ },
+ "category_music_offtopic": {
+ "message": "음악이 아닌 구간"
+ },
+ "category_music_offtopic_description": {
+ "message": "뮤직 비디오에서만 해당됩니다. 여기에는 시작 부분 (인트로) 영상이나 끝 부분 (아웃트로) 영상이 포함됩니다."
+ },
+ "category_music_offtopic_short": {
+ "message": "음악이 아닌 구간"
+ },
+ "category_livestream_messages": {
+ "message": "라이브스트림: 후원/메시지 읽기"
+ },
+ "category_livestream_messages_short": {
+ "message": "메시지 읽기"
+ },
+ "disable": {
+ "message": "비활성화"
+ },
+ "manualSkip": {
+ "message": "수동 스킵"
+ },
+ "showOverlay": {
+ "message": "재생 시간 바 표시"
+ },
"colorFormatIncorrect": {
"message": "올바르지 않은 색상 코드입니다. 색상 코드는 샵 (#) 기호로 시작하여 3자리 또는 6자리의 16진수로 구성되어야 합니다."
},
@@ -128,13 +416,77 @@
"message": "탐색 바 색상"
},
"category": {
- "message": "범주"
+ "message": "카테고리"
},
"skipOption": {
"message": "건너뛰기 설정",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
+ "enableTestingServer": {
+ "message": "베타 테스팅 서버 활성화"
+ },
+ "whatEnableTestingServer": {
+ "message": "제출과 투표는 메인 서버에 반영되지 않습니다. 테스트를 목적으로 사용하세요."
+ },
+ "testingServerWarning": {
+ "message": "제출과 투표는 테스트 서버와 연결하는 동안 메인 서버에 반영되지 않습니다. 실제 제출을 원할 때 이 기능을 비활성화 하세요."
+ },
+ "bracketNow": {
+ "message": "(지금)"
+ },
+ "moreCategories": {
+ "message": "많은 카테고리"
+ },
"chooseACategory": {
- "message": "구간 범주 선택"
+ "message": "카테고리 선택"
+ },
+ "youMustSelectACategory": {
+ "message": "제출 해야하는 모든 구간의 카테고리를 설정해야합니다!"
+ },
+ "bracketEnd": {
+ "message": "(끝)"
+ },
+ "channelDataNotFound": {
+ "message": "채널 ID가 로드되지 않았습니다."
+ },
+ "adblockerIssue": {
+ "message": "무언가가 SponsorBlock의 영상 데이터 수집을 막고 있는 것으로 보입니다. 이것은 광고 차단기로 인해 그럴 가능성이 있습니다. https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests 사이트를 참조하세요"
+ },
+ "itCouldBeAdblockerIssue": {
+ "message": "오류가 지속된다면, 광고 차단기로 인해 발생할 수 있습니다. https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests 사이트를 참조하세요"
+ },
+ "forceChannelCheck": {
+ "message": "건너뛰기 전 채널 강제 체크"
+ },
+ "downvoteDescription": {
+ "message": "잘못된 타이밍입니다"
+ },
+ "incorrectCategory": {
+ "message": "잘못된 카테고리입니다"
+ },
+ "nonMusicCategoryOnMusic": {
+ "message": "이 영상은 음악 영상으로 분류됩니다. 정말로 스폰서가 있는 것이 확실한가요? 만약 음악 이외의 구간인 경우, 확장 옵션을 열어 이 카테고리를 활성화 하세요. 그리고, 이 구간을 스폰서 대신 음악이 아닌 구간으로 제출하세요. 헷갈릴 경우 가이드라인을 읽으세요."
+ },
+ "multipleSegments": {
+ "message": "여러 구간"
+ },
+ "guidelines": {
+ "message": "가이드라인"
+ },
+ "readTheGuidelines": {
+ "message": "가이드라인을 제발 읽어주세요!!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ },
+ "categoryUpdate1": {
+ "message": "카테고리는 여기 있습니다!"
+ },
+ "categoryUpdate2": {
+ "message": "인트로, 아웃트로, 기타 등을 스킵하는 설정을 여세요"
+ },
+ "unsubmittedWarning": {
+ "message": "제출되지 않은 구간 알림"
+ },
+ "unsubmittedWarningDescription": {
+ "message": "업로드되지 않은 구간이 있는 영상이 있을 때 알림을 보냅니다"
}
}
diff --git a/public/_locales/ms/messages.json b/public/_locales/ms/messages.json
index 0967ef42..bca3cfb3 100644
--- a/public/_locales/ms/messages.json
+++ b/public/_locales/ms/messages.json
@@ -1 +1,10 @@
-{}
+{
+ "fullName": {
+ "message": "SponsorBlock untuk YouTube - Lewati Sponsor",
+ "description": "Name of the extension."
+ },
+ "Description": {
+ "message": "Lewati sponsor, meminta subscriber dan lain-lain di video YouTube. Laporkan sponsor di video yang anda tonton untuk menghemat waktu orang lain.",
+ "description": "Description of the extension."
+ }
+}
diff --git a/public/_locales/nl/messages.json b/public/_locales/nl/messages.json
index 07125f8b..8e6391e8 100644
--- a/public/_locales/nl/messages.json
+++ b/public/_locales/nl/messages.json
@@ -1,17 +1,17 @@
{
"fullName": {
- "message": "SponsorBlock voor YouTube - Sla sponsorberichten over",
+ "message": "SponsorBlock voor YouTube - Sponsorberichten overslaan",
"description": "Name of the extension."
},
"Description": {
- "message": "Skip sponsoren, abonneer-herinneringen en meer in YouTube-videos. Rapporteer sponsors in video's die je kijkt om anderen tijd te besparen.",
+ "message": "Overslaan van sponsoring, abonneer-herinneringen en meer in YouTube-video's. Rapporteer sponsors in video's die u bekijkt om anderen tijd te besparen.",
"description": "Description of the extension."
},
"400": {
"message": "Server zegt dat het verzoek ongeldig is"
},
"429": {
- "message": "Je hebt te veel sponsortijden voor deze video doorgegeven, weet je zeker dat het er zo veel zijn?"
+ "message": "U hebt te veel sponsortijdstippen ingediend voor deze video. Weet u zeker dat er zoveel zijn?"
},
"409": {
"message": "Dit is al een keer ingediend"
@@ -26,16 +26,16 @@
"message": "segmenten"
},
"upvoteButtonInfo": {
- "message": "Stem op deze indiening"
+ "message": "Stemmen op deze indiening"
},
"reportButtonTitle": {
"message": "Rapporteren"
},
"reportButtonInfo": {
- "message": "Rapporteer deze indiening als onjuist."
+ "message": "Deze indiening als onjuist rapporteren."
},
"Dismiss": {
- "message": "Sluiten"
+ "message": "Verwerpen"
},
"Loading": {
"message": "Laden..."
@@ -50,13 +50,13 @@
"message": "Nooit weergeven"
},
"hitGoBack": {
- "message": "Druk op unskip om terug te gaan naar waar je vandaan komt."
+ "message": "Druk op \"niet overslaan\" om terug te gaan naar waar u vandaan komt."
},
"unskip": {
- "message": "Unskip"
+ "message": "Niet overslaan"
},
"reskip": {
- "message": "Reskip"
+ "message": "Opnieuw overslaan"
},
"paused": {
"message": "Gepauzeerd"
@@ -65,13 +65,13 @@
"message": "Timer gestopt"
},
"confirmMSG": {
- "message": "Om individuele waarden te bewerken of te verwijderen, klik je op de info-knop of open je de extensie-popup door op het extensie-icoon in de rechterbovenhoek te klikken."
+ "message": "Om individuele waarden te bewerken of te verwijderen, klikt u op de info-knop of opent u de extensie-popup door op het extensie-pictogram in de rechterbovenhoek te klikken."
},
"clearThis": {
- "message": "Weet je zeker dat je dit wilt wissen?\n\n"
+ "message": "Weet u zeker dat u dit wilt wissen?\n\n"
},
"Unknown": {
- "message": "Er is een fout opgetreden bij het indienen van je sponsortijden. Probeer het later opnieuw."
+ "message": "Er was een fout bij het indienen van uw sponsortijdstippen. Probeer het later nog eens."
},
"sponsorFound": {
"message": "Deze video heeft segmenten in de database!"
@@ -80,58 +80,61 @@
"message": "Geen segmenten gevonden"
},
"sponsorStart": {
- "message": "Segment Begint Nu"
+ "message": "Segment begint nu"
},
"sponsorEnd": {
- "message": "Segment Eindigt Nu"
+ "message": "Segment eindigt nu"
},
"noVideoID": {
- "message": "Er is geen YouTube-video gevonden op dit tabblad. Als je weet dat dit een YouTube-tabblad is, sluit dan deze pop-up en open hem opnieuw. Als dat niet werkt, probeer dan het tabblad opnieuw te laden."
+ "message": "Er is geen YouTube-video gevonden op dit tabblad. Als u weet dat dit een YouTube-tabblad is, sluit dan deze pop-up en open hem opnieuw. Als dat niet werkt, probeer dan het tabblad opnieuw te laden."
},
"success": {
- "message": "Succesvol!"
+ "message": "Gelukt!"
},
"voted": {
"message": "Gestemd!"
},
"serverDown": {
- "message": "Het lijkt erop dat de server offline is. Contacteer de ontwikkelaar onmiddellijk."
+ "message": "Het lijkt er op dat de server offline is. Neem onmiddellijk contact op met de ontwikkelaar."
},
"connectionError": {
"message": "Er is een verbindingsfout opgetreden. Foutcode: "
},
"wantToSubmit": {
- "message": "Wilt u indienen voor video id"
+ "message": "Wilt u indienen voor video-id"
},
"leftTimes": {
- "message": "Het lijkt erop dat sommige segmenten niet ingezonden zijn. Ga terug naar die pagina om ze in te dienen (de segmenten zijn niet verwijderd)."
+ "message": "Het lijkt erop dat sommige segmenten niet ingediend zijn. Ga terug naar die pagina om ze in te dienen (de segmenten zijn niet verwijderd)."
},
"clearTimes": {
"message": "Segmenten verwijderen"
},
"openPopup": {
- "message": "SponsorBlock Popup openen"
+ "message": "SponsorBlock-popup openen"
+ },
+ "closePopup": {
+ "message": "Popup sluiten"
},
"SubmitTimes": {
"message": "Segmenten indienen"
},
"submitCheck": {
- "message": "Weet je zeker dat je dit wilt indienen?"
+ "message": "Weet u zeker dat u dit wilt indienen?"
},
"whitelistChannel": {
- "message": "Whitelist Kanaal"
+ "message": "Kanaal whitelisten"
},
"removeFromWhitelist": {
- "message": "Verwijder kanaal van whitelist"
+ "message": "Kanaal verwijderen van whitelist"
},
"voteOnTime": {
- "message": "Stem op een segment"
+ "message": "Stemmen op een segment"
},
"soFarUHSubmited": {
- "message": "Tot nu toe heb je ingediend:"
+ "message": "Tot nu toe heeft u ingediend:"
},
"savedPeopleFrom": {
- "message": "Je hebt mensen geholpen met het vermijden van "
+ "message": "U heeft mensen geholpen met het vermijden van "
},
"viewLeaderboard": {
"message": "Bekijk de ranglijst"
@@ -140,16 +143,16 @@
"message": "hier"
},
"recordTimesDescription": {
- "message": "Klik op de knop hieronder wanneer het segment start en eindigt om het te registreren en te verzenden naar de database."
+ "message": "Klik op de knop hieronder wanneer het segment begint en eindigt om het te registreren en te verzenden naar de database."
},
"popupHint": {
- "message": "Tip: Druk op de puntkomma-toets terwijl een video in focus is om het start/einde van een segment te registreren en op quote om het in te dienen. (Dit kan worden gewijzigd in de opties)"
+ "message": "Tip: druk op de puntkomma-toets terwijl een video in focus is om het begin/einde van een segment te registreren en op de aanhalingsteken-toets om het in te dienen (dit kan worden gewijzigd in de opties)."
},
"clearTimesButton": {
- "message": "Wis tijden"
+ "message": "Tijdstippen wissen"
},
"submitTimesButton": {
- "message": "Dien tijden in"
+ "message": "Tijdstippen indienen"
},
"publicStats": {
"message": "Dit wordt gebruikt op de publieke statistiekenpagina om te laten zien hoeveel u heeft bijgedragen. Bekijk het"
@@ -158,7 +161,7 @@
"message": "Gebruikersnaam instellen"
},
"discordAdvert": {
- "message": "Word lid van de officiële Discord server om suggesties en feedback te geven!"
+ "message": "Word lid van de officiële Discord-server om suggesties en feedback te geven!"
},
"hideThis": {
"message": "Dit verbergen"
@@ -167,43 +170,43 @@
"message": "Opties"
},
"showButtons": {
- "message": "Toon knoppen op YouTube Player"
+ "message": "Knoppen op YouTube-speler weergeven"
},
"hideButtons": {
- "message": "Verberg knoppen op YouTube Player"
+ "message": "Knoppen op YouTube-speler verbergen"
},
"hideButtonsDescription": {
"message": "Dit verbergt de knoppen die verschijnen op de YouTube-speler om segmenten over te slaan."
},
"showInfoButton": {
- "message": "Toon info-knop op YouTube-speler"
+ "message": "Info-knop op YouTube-speler weergeven"
},
"hideInfoButton": {
- "message": "Verberg info-knop op YouTube Player"
+ "message": "Info-knop op YouTube-speler verbergen"
},
"whatInfoButton": {
"message": "Dit is de knop die een pop-up opent op de YouTube-pagina."
},
"hideDeleteButton": {
- "message": "Verberg verwijder-knop op YouTube-speler"
+ "message": "Verwijderen-knop op YouTube-speler verbergen"
},
"showDeleteButton": {
- "message": "Toon verwijder-knop op YouTube-speler"
+ "message": "Verwijderen-knop op YouTube-speler weergeven"
},
"whatDeleteButton": {
- "message": "Dit is de knop op de YouTube-speler die al je niet ingezonden segmenten van de huidige video zal wissen."
+ "message": "Dit is de knop op de YouTube-speler die al uw niet-ingediende segmenten van de huidige video zal wissen."
},
"enableViewTracking": {
- "message": "Bijhouden van het aantal skips inschakelen"
+ "message": "Bijhouden van het aantal keren overslaan inschakelen"
},
"whatViewTracking": {
- "message": "Deze functie houdt bij welke segmenten u hebt overgeslagen om gebruikers te laten weten hoezeer hun indiening anderen heeft geholpen en wordt samen met upvotes als meetwaarde gebruikt om ervoor te zorgen dat spam niet in de database terechtkomt. De extensie stuurt telkens wanneer je een segment overslaat een bericht naar de server. Hopelijk veranderen de meeste mensen deze instelling niet zodat de weergavenummers accuraat zijn. :)"
+ "message": "Deze functie houdt bij welke segmenten u hebt overgeslagen om gebruikers te laten weten hoezeer hun indiening anderen heeft geholpen en wordt samen met upvotes als meetwaarde gebruikt om ervoor te zorgen dat spam niet in de database terechtkomt. De extensie stuurt telkens wanneer u een segment overslaat een bericht naar de server. Hopelijk veranderen de meeste mensen deze instelling niet zodat de weergavenummers accuraat zijn. :)"
},
"showNotice": {
- "message": "Toon melding opnieuw"
+ "message": "Melding opnieuw weergeven"
},
"longDescription": {
- "message": "SponsorBlock laat u sponsoren, intro's, outros, herinneringen om te abonneren en andere vervelende onderdelen van YouTube video's overslaan. SponsorBlock is een crowdsourced browserextensie waarmee iedereen de start- en eindtijd van gesponsorde segmenten en andere segmenten van YouTube-video's kan indienen. Zodra één persoon deze informatie indient, zal iedereen met deze extensie het gesponsorde segment overslaan. Je kunt ook secties zonder muziek in muziekvideo's overslaan.",
+ "message": "SponsorBlock laat u sponsoring, intro's, outro's, herinneringen om te abonneren en andere vervelende onderdelen van YouTube-video's overslaan. SponsorBlock is een gecrowdsourcete browser-extensie waarmee iedereen de begin- en eindtijd van gesponsorde segmenten en andere segmenten van YouTube-video's kan indienen. Zodra één persoon deze informatie indient, zal iedereen met deze extensie het gesponsorde segment overslaan. U kunt ook secties zonder muziek in muziekvideo's overslaan.",
"description": "Full description of the extension on the store pages."
},
"website": {
@@ -215,24 +218,24 @@
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
- "message": "Deze melding is geupgrade!",
+ "message": "De melding is bijgewerkt!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
- "message": "Als het je nog steeds niet bevalt, druk dan op de \"nooit tonen\"-knop.",
+ "message": "Als het u nog steeds niet bevalt, druk dan op de knop \"nooit weergeven\".",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setStartSponsorShortcut": {
- "message": "Stel de toets voor de start van een segment in"
+ "message": "Sneltoets instellen voor begin van segment"
},
"setSubmitKeybind": {
- "message": "Stel de toets voor indienen in"
+ "message": "Sneltoets instellen voor indienen"
},
"keybindDescription": {
"message": "Selecteer een toets door hem in te drukken"
},
"keybindDescriptionComplete": {
- "message": "Deze sneltoets is ingesteld op:"
+ "message": "Deze sneltoets is ingesteld op: "
},
"0": {
"message": "Time-out van de verbinding. Controleer uw internetverbinding. Als uw internet werkt, is de server waarschijnlijk overbelast of offline."
@@ -244,7 +247,7 @@
"message": "SponsorBlock inschakelen"
},
"yourWork": {
- "message": "Jouw werk",
+ "message": "Uw werk",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
@@ -266,7 +269,22 @@
"message": "Automatisch overslaan inschakelen"
},
"audioNotification": {
- "message": "Audiomelding bij Overslaan"
+ "message": "Geluidsmelding bij overslaan"
+ },
+ "audioNotificationDescription": {
+ "message": "Geluidsmelding bij overslaan zal een geluid afspelen wanneer een segment wordt overgeslagen. Indien uitgeschakeld (of als automatisch overslaan uitgeschakeld is), wordt er geen geluid afgespeeld."
+ },
+ "showTimeWithSkips": {
+ "message": "Tijd weergeven met overslaan verwijderd"
+ },
+ "showTimeWithSkipsDescription": {
+ "message": "Deze tijd verschijnt tussen haakjes naast de huidige tijd onder de tijdbalk. Dit geeft de totale videoduur min alle segmenten weer. Dit is inclusief segmenten die gemarkeerd zijn als alleen \"weergeven in tijdbalk\"."
+ },
+ "youHaveSkipped": {
+ "message": "U hebt overgeslagen: "
+ },
+ "youHaveSaved": {
+ "message": "U hebt uzelf bespaard: "
},
"minLower": {
"message": "minuut"
@@ -280,26 +298,53 @@
"hoursLower": {
"message": "uren"
},
+ "youHaveSavedTime": {
+ "message": "U hebt andere mensen bespaard:"
+ },
+ "youHaveSavedTimeEnd": {
+ "message": " van hun leven."
+ },
+ "statusReminder": {
+ "message": "Controleer status.sponsor.ajay.app voor de serverstatus."
+ },
+ "changeUserID": {
+ "message": "Uw gebruikers-ID importeren/exporteren"
+ },
"whatChangeUserID": {
- "message": "Dit moet privé blijven. Dit is zoals een wachtwoord en mag met niemand worden gedeeld. Als iemand dit heeft, kunnen ze je imiteren."
+ "message": "Dit moet privé gehouden worden. Dit is als een wachtwoord en mag met niemand gedeeld worden. Als iemand dit heeft, kan hij zich voordoen als u."
},
"setUserID": {
- "message": "Stel Gebruiker-Id in"
+ "message": "Gebruikers-ID instellen"
+ },
+ "userIDChangeWarning": {
+ "message": "Waarschuwing: wijzigen van de gebruikers-ID is permanent. Weet u zeker dat u dit wilt doen? Zorg ervoor dat u een back-up maakt van uw oude ID, voor het geval dat."
},
"createdBy": {
- "message": "Aangemaakt door"
+ "message": "Gemaakt door"
},
"autoSkip": {
"message": "Automatisch overslaan"
},
"showSkipNotice": {
- "message": "Toon melding nadat een segment is overgeslagen"
+ "message": "Melding weergeven nadat een segment is overgeslagen"
},
"keybindCurrentlySet": {
- "message": ". Het is momenteel ingesteld op:"
+ "message": ". Hij is momenteel ingesteld op:"
},
"supportInvidious": {
- "message": "Ondersteuning Invidious"
+ "message": "Ondersteuning voor Invidious"
+ },
+ "supportInvidiousDescription": {
+ "message": "Invidious (invidio.us) is een YouTube-client van derden. Om ondersteuning in te schakelen, moet u de extra machtigingen accepteren. Dit werkt NIET in incognito in Chrome en andere Chromium-varianten."
+ },
+ "optionsInfo": {
+ "message": "Ondersteuning voor Invidious inschakelen, automatisch overslaan uitschakelen, knoppen verbergen en meer."
+ },
+ "addInvidiousInstance": {
+ "message": "Invidious-instantie toevoegen"
+ },
+ "addInvidiousInstanceDescription": {
+ "message": "Een aangepaste instantie van Invidious toevoegen. Dit moet geformatteerd worden met ALLEEN het domein. Voorbeeld: invidious.ajay.app"
},
"add": {
"message": "Toevoegen"
@@ -307,41 +352,80 @@
"addInvidiousInstanceError": {
"message": "Dit is een ongeldig domein. Dit moet ALLEEN het domeindeel bevatten. Voorbeeld: invidious.ajay.app"
},
+ "resetInvidiousInstance": {
+ "message": "Lijst met Invidious-instanties herstellen"
+ },
+ "resetInvidiousInstanceAlert": {
+ "message": "U staat op het punt om de lijst met Invidious-instanties te herstellen"
+ },
+ "currentInstances": {
+ "message": "Huidige instanties:"
+ },
"minDuration": {
- "message": "Minimale duur (seconden):"
+ "message": "Minimale tijdsduur (seconden):"
},
"minDurationDescription": {
- "message": "Segmenten korter dan de ingestelde waarde worden niet overgeslagen of getoond in de speler."
+ "message": "Segmenten korter dan de ingestelde waarde worden niet overgeslagen of weergegeven in de speler."
},
"shortCheck": {
- "message": "De volgende inzending is korter dan je \"minimale tijdsduur\"-instelling. Dit kan betekenen dat dit al is ingediend, en genegeerd wordt door deze optie. Weet je zeker dat je dit wilt indienen?"
+ "message": "De volgende inzending is korter dan uw \"minimale tijdsduur\"-instelling. Dit kan betekenen dat dit al is ingediend en genegeerd wordt door deze optie. Weet u zeker dat u dit wilt indienen?"
},
"showUploadButton": {
- "message": "Toon Upload Knop"
+ "message": "Uploaden-knop weergeven"
+ },
+ "whatUploadButton": {
+ "message": "Deze knop verschijnt op de YouTube-speler nadat u een tijdstempel hebt geselecteerd en klaar bent om in te dienen."
},
"customServerAddress": {
- "message": "SponsorBlock Serveradres"
+ "message": "SponsorBlock-serveradres"
+ },
+ "customServerAddressDescription": {
+ "message": "Het adres dat SponsorBlock gebruikt om oproepen te doen naar de server.\nTenzij u uw eigen serverinstantie heeft, moet dit niet worden gewijzigd."
},
"save": {
- "message": "Bewaren"
+ "message": "Opslaan"
},
"reset": {
- "message": "Reset"
+ "message": "Herstellen"
+ },
+ "customAddressError": {
+ "message": "Dit adres is niet in de juiste vorm. Zorg ervoor dat u http:// of https:// aan het begin heeft staan en geen schuine streep op het einde."
+ },
+ "areYouSureReset": {
+ "message": "Weet u zeker dat u dit wilt herstellen?"
+ },
+ "confirmPrivacy": {
+ "message": "De video is als onvermeld gedetecteerd. Klik op annuleren als u niet wilt controleren op segmenten om over te slaan."
+ },
+ "unlistedCheck": {
+ "message": "Onvermelde/privé-video's negeren"
+ },
+ "whatUnlistedCheck": {
+ "message": "Deze instelling zal SponsorBlock iets vertragen. Opzoeken van segmenten om over te slaan vereist het versturen van de video-ID naar de server. Schakel deze optie in als u bezorgd bent over het versturen van ID's van onvermelde video's via internet."
},
"mobileUpdateInfo": {
"message": "m.youtube.com wordt nu ondersteund"
},
"exportOptions": {
- "message": "Importeer/Exporteer alle opties"
+ "message": "Alle opties importeren/exporteren"
+ },
+ "whatExportOptions": {
+ "message": "Dit is uw volledige configuratie in JSON. Dit is inclusief uw gebruikers-ID, dus zorg ervoor dat u dit verstandig deelt."
},
"setOptions": {
"message": "Opties instellen"
},
+ "exportOptionsWarning": {
+ "message": "Waarschuwing: het wijzigen van de opties is permanent en kan uw installatie breken. Weet u zeker dat u dit wilt doen? Zorg ervoor dat u een back-up maakt van uw oude installatie, voor het geval dat."
+ },
+ "incorrectlyFormattedOptions": {
+ "message": "Deze JSON is niet correct opgemaakt. Uw opties zijn niet gewijzigd."
+ },
"confirmNoticeTitle": {
"message": "Segment indienen"
},
"submit": {
- "message": "Bevestigen"
+ "message": "Indienen"
},
"cancel": {
"message": "Annuleren"
@@ -352,6 +436,9 @@
"preview": {
"message": "Voorbeeld"
},
+ "inspect": {
+ "message": "Inspecteren"
+ },
"edit": {
"message": "Bewerken"
},
@@ -361,6 +448,12 @@
"copyDebugInformationFailed": {
"message": "Kon niet schrijven naar klembord"
},
+ "copyDebugInformationOptions": {
+ "message": "Kopieert informatie naar het klembord die aan een ontwikkelaar moet worden doorgegeven bij het melden van een bug of wanneer een ontwikkelaar dit vraagt. Gevoelige informatie zoals uw gebruikers-ID, gewhiteliste kanalen en aangepast serveradres zijn verwijderd. Het bevat echter wel informatie zoals uw useragent, browser, besturingssysteem en extensie-versienummer. "
+ },
+ "copyDebugInformationComplete": {
+ "message": "De foutopsporingsinformatie is gekopieerd naar het klembord. Voel u vrij om alle informatie die u liever niet wilt delen, te verwijderen. Sla dit op in een tekstbestand of plak het in het foutenrapport."
+ },
"theKey": {
"message": "De toets"
},
@@ -374,17 +467,29 @@
"category_sponsor": {
"message": "Sponsor"
},
+ "category_sponsor_description": {
+ "message": "Betaalde promotie, betaalde aanbevelingen en directe reclame. Niet voor zelfpromotie of gratis uitroepen naar zaken/makers/websites/producten waar ze van houden."
+ },
"category_intro": {
- "message": "Intermissie/Intro-animatie"
+ "message": "Onderbreking/intro-animatie"
+ },
+ "category_intro_description": {
+ "message": "Een interval zonder werkelijke inhoud. Kan een pauze zijn, een statisch beeld, een herhalende animatie. Dit moet niet worden gebruikt voor overgangen die informatie bevatten."
},
"category_intro_short": {
- "message": "Intermissie"
+ "message": "Onderbreking"
},
"category_outro": {
- "message": "Eindkaarten/Credits"
+ "message": "Eindkaarten/aftiteling"
+ },
+ "category_outro_description": {
+ "message": "Aftiteling of wanneer de YouTube-eindkaarten verschijnen. Niet voor conclusies met informatie."
},
"category_interaction": {
- "message": "Interactieherinnering (Abonneren)"
+ "message": "Interactieherinnering (abonneren)"
+ },
+ "category_interaction_description": {
+ "message": "Als er een korte herinnering is om ze leuk te vinden, u te abonneren of ze te volgen in het midden van de inhoud. Als het lang is of over iets specifieks gaat, moet het in plaats daarvan onder zelfpromotie vallen."
},
"category_interaction_short": {
"message": "Interactieherinnering"
@@ -392,17 +497,20 @@
"category_selfpromo": {
"message": "Onbetaalde promotie of zelfpromotie"
},
+ "category_selfpromo_description": {
+ "message": "Vergelijkbaar met \"sponsor\", behalve voor onbetaalde of zelfpromotie. Dit is inclusief secties over koopwaar, donaties of informatie over met wie ze hebben samengewerkt."
+ },
"category_music_offtopic": {
- "message": "Muziek: Sectie zonder muziek"
+ "message": "Muziek: sectie niet-muziek"
},
"category_music_offtopic_description": {
- "message": "Alleen voor gebruik in muziekvideo's. Dit omvat introducties of outros in muziekvideo's."
+ "message": "Alleen voor gebruik in muziekvideo's. Dit is inclusief introducties of outro's in muziekvideo's."
},
"category_music_offtopic_short": {
- "message": "Geen muziek"
+ "message": "Niet-muziek"
},
"category_livestream_messages": {
- "message": "Livestream: Donaties/Lezen van berichten"
+ "message": "Livestream: donaties/lezen van berichten"
},
"category_livestream_messages_short": {
"message": "Lezen van berichten"
@@ -411,16 +519,16 @@
"message": "Uitschakelen"
},
"manualSkip": {
- "message": "Handmatig Overslaan"
+ "message": "Handmatig overslaan"
},
"showOverlay": {
- "message": "Toon in tijdbalk"
+ "message": "Weergeven in tijdbalk"
},
"colorFormatIncorrect": {
- "message": "Je kleur is verkeerd geformatteerd. Het moet een hexadecimale code van 3 of 6 cijfers zijn met een hekje aan het begin."
+ "message": "Uw kleur is verkeerd geformatteerd. Het moet een hexadecimale code van 3 of 6 cijfers zijn met een hekje aan het begin."
},
"previewColor": {
- "message": "Kleurvoorbeeld",
+ "message": "Voorbeeld van kleur",
"description": "Referring to submissions that have not been sent to the server yet."
},
"seekBarColor": {
@@ -434,25 +542,28 @@
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
- "message": "Bèta-testserver gebruiken"
+ "message": "Bèta-testserver inschakelen"
},
"whatEnableTestingServer": {
- "message": "Je inzendingen en stemmen ZULLEN NIET GEREGISTREERD WORDEN op de hoofdserver. Gebruik dit alleen om te testen."
+ "message": "Uw inzendingen en stemmen ZULLEN NIET GEREGISTREERD WORDEN op de hoofdserver. Gebruik dit alleen om te testen."
+ },
+ "testingServerWarning": {
+ "message": "Alle inzendingen en stemmen ZULLEN NIET GEREGISTREERD WORDEN op de hoofdserver wanneer u met de testserver verbonden bent. Zorg ervoor dat u dit uitschakelt wanneer u echte inzendingen wilt maken."
},
"bracketNow": {
- "message": "(Nu)"
+ "message": "(nu)"
},
"moreCategories": {
"message": "Meer categorieën"
},
"chooseACategory": {
- "message": "Kies een categorie"
+ "message": "Een categorie kiezen"
},
"youMustSelectACategory": {
- "message": "Je moet een categorie selecteren voor alle segmenten die je indient!"
+ "message": "U moet een categorie selecteren voor alle segmenten die u indient!"
},
"bracketEnd": {
- "message": "(Einde)"
+ "message": "(einde)"
},
"hiddenDueToDownvote": {
"message": "verborgen: downvote"
@@ -461,20 +572,32 @@
"message": "verborgen: te kort"
},
"channelDataNotFound": {
- "message": "KanaalID is nog niet geladen."
+ "message": "Kanaal-ID is nog niet geladen."
},
"adblockerIssue": {
- "message": "Het lijkt erop dat iets de mogelijkheid van SponsorBlock om videogegevens te krijgen blokkeert. Dit is waarschijnlijk uw advertentieblokkeerder. Bekijk https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocks-Requests"
+ "message": "Het lijkt erop dat iets de mogelijkheid van SponsorBlock om videogegevens te krijgen blokkeert. Dit is waarschijnlijk uw reclamefilter. Zie https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocks-Requests"
},
"itCouldBeAdblockerIssue": {
- "message": "Als dit blijft optreden, kan dit worden veroorzaakt door uw advertentieblokkeerder. Bekijk https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ "message": "Als dit blijft optreden, kan dit worden veroorzaakt door uw reclamefilter. Zie https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "forceChannelCheck": {
+ "message": "Kanaalcontrole forceren vóór overslaan"
+ },
+ "whatForceChannelCheck": {
+ "message": "Standaard worden segmenten direct overgeslagen voordat het kanaal bekend is. Sommige segmenten aan het begin van de video kunnen worden overgeslagen op gewhiteliste kanalen. Het inschakelen van deze optie voorkomt dit, maar zorgt ervoor dat het overslaan een kleine vertraging heeft omdat het verkrijgen van de kanaal-ID enige tijd kan duren. Deze vertraging kan onopgemerkt blijven als u snel internet heeft."
+ },
+ "forceChannelCheckPopup": {
+ "message": "Overweeg om \"kanaalcontrole forceren vóór overslaan\" in te schakelen"
},
"downvoteDescription": {
- "message": "Verkeerde Timing"
+ "message": "Verkeerde timing"
},
"incorrectCategory": {
"message": "Verkeerde categorie"
},
+ "nonMusicCategoryOnMusic": {
+ "message": "Deze video is gecategoriseerd als muziek. Weet u zeker dat dit een sponsor heeft? Als dit eigenlijk een \"niet-muzieksegment\" is, open dan de extensie-opties en schakel deze categorie in. Vervolgens kunt u dit segment indienen als \"niet-muziek\" in plaats van als sponsor. Lees de richtlijnen als u in de war bent."
+ },
"multipleSegments": {
"message": "Meerdere segmenten"
},
@@ -482,19 +605,19 @@
"message": "Richtlijnen"
},
"readTheGuidelines": {
- "message": "Lees de Richtlijnen!!",
+ "message": "Lees de richtlijnen!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Categorieën zijn er!"
},
"categoryUpdate2": {
- "message": "Open de opties om intro, outros, merch, etc. over te slaan."
+ "message": "Open de opties om intro's, outro's, koopwaar,... over te slaan."
},
"unsubmittedWarning": {
- "message": "Notificatie voor niet-ingestuurde segmenten"
+ "message": "Melding voor niet-ingediende segmenten"
},
"unsubmittedWarningDescription": {
- "message": "Stuur een notificatie wanneer je een video verlaat met segmenten die niet zijn geüpload"
+ "message": "Een melding sturen wanneer u een video verlaat met segmenten die niet zijn geüpload"
}
}
diff --git a/public/_locales/pl/messages.json b/public/_locales/pl/messages.json
new file mode 100644
index 00000000..b91bfcc0
--- /dev/null
+++ b/public/_locales/pl/messages.json
@@ -0,0 +1,623 @@
+{
+ "fullName": {
+ "message": "SponsorBlock na YouTube - Pomiń fragmenty sponsorowane",
+ "description": "Name of the extension."
+ },
+ "Description": {
+ "message": "Pomijaj sponsorów, prośby o subskrypcje i inne fragmenty filmów na YouTube. Zgłaszaj segmenty sponsorów na filmach, które oglądasz, by oszczędzić czas innym.",
+ "description": "Description of the extension."
+ },
+ "400": {
+ "message": "Serwer odpowiedział, że to zapytanie jest niepoprawne"
+ },
+ "429": {
+ "message": "Zgłosiłeś za dużo segmentów sponsora dla tego jednego filmu. Jesteś pewien, że jest ich tak dużo?"
+ },
+ "409": {
+ "message": "To już zostało wcześniej zgłoszone"
+ },
+ "channelWhitelisted": {
+ "message": "Kanał dodany do wyjątków!"
+ },
+ "Segment": {
+ "message": "segment"
+ },
+ "Segments": {
+ "message": "segmenty"
+ },
+ "upvoteButtonInfo": {
+ "message": "Oceń pozytywnie ten segment"
+ },
+ "reportButtonTitle": {
+ "message": "Zgłoś"
+ },
+ "reportButtonInfo": {
+ "message": "Zgłoś ten segment jako nieprawidłowy."
+ },
+ "Dismiss": {
+ "message": "Odrzuć"
+ },
+ "Loading": {
+ "message": "Ładowanie..."
+ },
+ "Mins": {
+ "message": "Minuty"
+ },
+ "Secs": {
+ "message": "Sekundy"
+ },
+ "Hide": {
+ "message": "Nie pokazuj więcej"
+ },
+ "hitGoBack": {
+ "message": "Kliknij cofnij aby przenieść się do miejsca przed przewinięciem."
+ },
+ "unskip": {
+ "message": "Cofnij"
+ },
+ "reskip": {
+ "message": "Przewiń"
+ },
+ "paused": {
+ "message": "Zatrzymany"
+ },
+ "manualPaused": {
+ "message": "Timer zatrzymany"
+ },
+ "confirmMSG": {
+ "message": "Żeby zmienić lub usunąć wartości, kliknij na guzik informacji lub otwórz okienko rozszerzenia klikając w ikonę rozszerzenia znajdującą się w prawym górnym rogu."
+ },
+ "clearThis": {
+ "message": "Jesteś pewien, że chcesz to usunąć?\n\n"
+ },
+ "Unknown": {
+ "message": "Wystąpił błąd podczas przesyłania twojego segmentu. Proszę spróbować ponownie później."
+ },
+ "sponsorFound": {
+ "message": "Ten film ma segmenty w bazie danych!"
+ },
+ "sponsor404": {
+ "message": "Nie znaleziono segmentów"
+ },
+ "sponsorStart": {
+ "message": "Segment zaczyna się teraz"
+ },
+ "sponsorEnd": {
+ "message": "Segment kończy się teraz"
+ },
+ "noVideoID": {
+ "message": "Nie znaleziono filmu na 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 odświeżyć stronę."
+ },
+ "success": {
+ "message": "Sukces!"
+ },
+ "voted": {
+ "message": "Zagłosowano!"
+ },
+ "serverDown": {
+ "message": "Wygląda na to, że serwer nie działa. Skontaktuj się niezwłocznie z deweloperem."
+ },
+ "connectionError": {
+ "message": "Błąd z połączeniem. Kod błędu: "
+ },
+ "wantToSubmit": {
+ "message": "Czy chcesz zamieścić dla filmu o ID"
+ },
+ "leftTimes": {
+ "message": "Wygląda na to, że zostawiłeś pewne niewysłane segmenty. Cofnij się do tamtej strony, by je zamieścić (nie zostały usunięte)."
+ },
+ "clearTimes": {
+ "message": "Wyczyść segmenty"
+ },
+ "openPopup": {
+ "message": "Otwórz okienko SponsorBlock"
+ },
+ "closePopup": {
+ "message": "Zamknij okno"
+ },
+ "SubmitTimes": {
+ "message": "Prześlij segmenty"
+ },
+ "submitCheck": {
+ "message": "Czy na pewno chcesz to zamieścić?"
+ },
+ "whitelistChannel": {
+ "message": "Dodaj kanał do wyjątków"
+ },
+ "removeFromWhitelist": {
+ "message": "Usuń kanał z listy wyjątków"
+ },
+ "voteOnTime": {
+ "message": "Oceń segment"
+ },
+ "soFarUHSubmited": {
+ "message": "Do tej pory zgłosiłeś"
+ },
+ "savedPeopleFrom": {
+ "message": "Ocaliłeś ludzi przed "
+ },
+ "viewLeaderboard": {
+ "message": "Zobacz ranking użytkowników"
+ },
+ "here": {
+ "message": "tutaj"
+ },
+ "recordTimesDescription": {
+ "message": "Kliknij przycisk poniżej, gdy segment zaczyna się i kończy, by oznaczyć go i przesłać do bazy danych."
+ },
+ "popupHint": {
+ "message": "Podpowiedź: Wciśnij średnik, koncentrując się na filmie, aby oznaczyć początek/koniec segmentu, i cudzysłów, by go wysłać. (Klawisze można zmienić w opcjach)"
+ },
+ "clearTimesButton": {
+ "message": "Usuń czasy"
+ },
+ "submitTimesButton": {
+ "message": "Zgłoś czasy"
+ },
+ "publicStats": {
+ "message": "Ten dane są używane na naszej stronie żeby pokazać twój wkład. Zobacz to"
+ },
+ "setUsername": {
+ "message": "Ustaw nazwę użytkownika"
+ },
+ "discordAdvert": {
+ "message": "Dołącz do oficjalnego serwera na discordzie i podziel się wrażeniami i sugestiami!"
+ },
+ "hideThis": {
+ "message": "Ukryj to"
+ },
+ "Options": {
+ "message": "Opcje"
+ },
+ "showButtons": {
+ "message": "Pokaż przyciski na odtwarzaczu YouTube"
+ },
+ "hideButtons": {
+ "message": "Ukryj przyciski na odtwarzaczu YouTube"
+ },
+ "hideButtonsDescription": {
+ "message": "Ta opcja ukrywa przyciski do zamieszczania segmentów pojawiające się na odtwarzaczu YouTube."
+ },
+ "showInfoButton": {
+ "message": "Pokaż przycisk informacyjny na odtwarzaczu YouTube"
+ },
+ "hideInfoButton": {
+ "message": "Ukryj przycisk informacyjny na odtwarzaczu YouTube"
+ },
+ "whatInfoButton": {
+ "message": "Jest to przycisk otwierający okienko pop-up na stronie YouTube."
+ },
+ "hideDeleteButton": {
+ "message": "Ukryj przycisk usuwania na odtwarzaczu YouTube"
+ },
+ "showDeleteButton": {
+ "message": "Pokaż przycisk usuwania na odtwarzaczu YouTube"
+ },
+ "whatDeleteButton": {
+ "message": "Ten przycisk na odtwarzaczu YouTube wyczyści wszystkie twoje niewysłane segmenty dla bieżącego filmu."
+ },
+ "enableViewTracking": {
+ "message": "Włącz monitorowanie liczby pominięć"
+ },
+ "whatViewTracking": {
+ "message": "Ta opcja monitoruje pomijane przez Ciebie segmenty, by dać znać użytkownikom, jak bardzo ich wkład pomógł innym, oraz w połączeniu z systemem głosowania zapobiegać dostawaniu się spamu do bazy danych. Rozszerzenie wysyła wiadomość do serwera za każdym razem, kiedy pomijasz segment. Miejmy nadzieję, że większość ludzi tego nie wyłączy i liczniki wyświetleń będą wiarygodne. :)"
+ },
+ "showNotice": {
+ "message": "Pokaż informacje ponownie"
+ },
+ "longDescription": {
+ "message": "SponsorBlock pozwala pomijać sponsorów, intra, outra, przypomnienia o subskrypcjach i inne irytujące fragmenty filmów na YouTube. SponsorBlock jest opartym na crowdsourcingu rozszerzeniem do przeglądarki, które pozwala każdemu zgłosić początek i koniec segmentów sponsorowanych oraz innych segmentów w filmach na YouTube. Kiedy ktoś już zamieści te informacje, wszyscy pozostali z tym rozszerzeniem będą pomijać segment sponsorowany. Możesz również pomijać fragmenty teledysków bez muzyki.",
+ "description": "Full description of the extension on the store pages."
+ },
+ "website": {
+ "message": "Strona",
+ "description": "Used on Firefox Store Page"
+ },
+ "sourceCode": {
+ "message": "Kod źródłowy",
+ "description": "Used on Firefox Store Page"
+ },
+ "noticeUpdate": {
+ "message": "Informacje zostały zaktualizowane!",
+ "description": "The first line of the message displayed after the notice was upgraded."
+ },
+ "noticeUpdate2": {
+ "message": "Jeśli nadal jej nie lubisz wybierz opcje nie pokazuj więcej.",
+ "description": "The second line of the message displayed after the notice was upgraded."
+ },
+ "setStartSponsorShortcut": {
+ "message": "Ustaw klawisz do oznaczania początku segmentu"
+ },
+ "setSubmitKeybind": {
+ "message": "Ustaw klawisz do wysyłania czasów"
+ },
+ "keybindDescription": {
+ "message": "Wybierz klawisz klikając go na klawiaturze"
+ },
+ "keybindDescriptionComplete": {
+ "message": "Ustawiony klawisz to: "
+ },
+ "0": {
+ "message": "Połączenie przerwane z powodu braku odpowiedzi. Sprawdź swoje połączenie z internetem. Jeśli wszystko z nim w porządku oznacza to, że serwer jest prawdopodobnie przeciążony lub nie działa."
+ },
+ "disableSkipping": {
+ "message": "Wyłącz SponsorBlock"
+ },
+ "enableSkipping": {
+ "message": "Włącz SponsorBlock"
+ },
+ "yourWork": {
+ "message": "Twój wkład",
+ "description": "Used to describe the section that will show you the statistics from your submissions."
+ },
+ "502": {
+ "message": "Serwer jest prawdopodobnie przeciążony, spróbuj ponownie za kilka sekund."
+ },
+ "errorCode": {
+ "message": "Kod błędu: "
+ },
+ "skip": {
+ "message": "Pomiń"
+ },
+ "skipped": {
+ "message": "Pominięto"
+ },
+ "disableAutoSkip": {
+ "message": "Wyłącz autopomijanie"
+ },
+ "enableAutoSkip": {
+ "message": "Włącz autopomijanie"
+ },
+ "audioNotification": {
+ "message": "Powiadomienie dźwiękowe przy pominięciu"
+ },
+ "audioNotificationDescription": {
+ "message": "Powiadomienie dźwiękowe przy pominięciu będzie odtwarzane za każdym razem, gdy pomijany jest segment. Jeśli wyłączone (lub automatyczne pomijanie jest wyłączone), dźwięk nie zostanie odtworzony."
+ },
+ "showTimeWithSkips": {
+ "message": "Pokaż czas po usunięciu segmentów"
+ },
+ "showTimeWithSkipsDescription": {
+ "message": "Czas ten pojawia się w nawiasie obok czasu bieżącego, pod paskiem postępu. Pokazuje on długość całego filmu po odjęciu wszystkich segmentów. Wliczają się w to segmenty ustawione jako \"pokaż na pasku\"."
+ },
+ "youHaveSkipped": {
+ "message": "Przewinąłeś "
+ },
+ "youHaveSaved": {
+ "message": "Oszczędziłeś sobie "
+ },
+ "minLower": {
+ "message": "minuta"
+ },
+ "minsLower": {
+ "message": "minuty"
+ },
+ "hourLower": {
+ "message": "godzina"
+ },
+ "hoursLower": {
+ "message": "godziny"
+ },
+ "youHaveSavedTime": {
+ "message": "Oszczędziłeś ludziom"
+ },
+ "youHaveSavedTimeEnd": {
+ "message": " czasu."
+ },
+ "statusReminder": {
+ "message": "Sprawdź status serwera na status.sponsor.ajay.app"
+ },
+ "changeUserID": {
+ "message": "Importuj/Eksportuj swój identyfikator użytkownika"
+ },
+ "whatChangeUserID": {
+ "message": "Ta informacja jest poufna i działa jak hasło. Użytkownik, który ma do niej dostęp, może zgłaszać treści jako ty."
+ },
+ "setUserID": {
+ "message": "Ustaw identyfikator użytkownika"
+ },
+ "userIDChangeWarning": {
+ "message": "Uwaga: Zmiana identyfikatora użytkownika jest trwała. Czy na pewno chcesz to zrobić? Na wszelki wypadek skopiuj swój poprzedni."
+ },
+ "createdBy": {
+ "message": "Stworzony przez"
+ },
+ "autoSkip": {
+ "message": "Autopomijanie"
+ },
+ "showSkipNotice": {
+ "message": "Pokaż informację po pominięciu segmentu"
+ },
+ "keybindCurrentlySet": {
+ "message": ". Jest obecnie ustawione jako:"
+ },
+ "supportInvidious": {
+ "message": "Wsparcie dla 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": "Włącz wsparcie dla Invidious, wyłącz autopomijanie, ukryj przyciski i więcej."
+ },
+ "addInvidiousInstance": {
+ "message": "Dodaj instancje Invidious"
+ },
+ "addInvidiousInstanceDescription": {
+ "message": "Dodaj niestandardową instancje Invidious. W formie domeny. Na przykład: invidious.ajay.app"
+ },
+ "add": {
+ "message": "Dodaj"
+ },
+ "addInvidiousInstanceError": {
+ "message": "Ta domena jest nieprawidłowa. Wartość powinna zawierać TYLKO domenę. Na przykład: invidious.ajay.app"
+ },
+ "resetInvidiousInstance": {
+ "message": "Zresetuj listę instancji Invidious"
+ },
+ "resetInvidiousInstanceAlert": {
+ "message": "Zresetujesz listę instancji Invidious"
+ },
+ "currentInstances": {
+ "message": "Obecne instancje:"
+ },
+ "minDuration": {
+ "message": "Minimalny czas trwania (sekundy):"
+ },
+ "minDurationDescription": {
+ "message": "Segmenty krótsze niż ustawiona wartość nie będą pomijane ani pokazywane w odtwarzaczu."
+ },
+ "shortCheck": {
+ "message": "Ten segment jest krótszy od ustawionego przez Ciebie minimalnego czasu trwania. Może to oznaczać, że ktoś już to zamieścił, ale nie widzisz tego przez to ustawienie. Czy na pewno chcesz to zamieścić?"
+ },
+ "showUploadButton": {
+ "message": "Pokaż przycisk wysyłania"
+ },
+ "whatUploadButton": {
+ "message": "Ten przycisk pojawia się na odtwarzaczu YouTube po wybraniu przedziału czasowego, gdy segment jest gotowy do wysłania."
+ },
+ "customServerAddress": {
+ "message": "Adres serwera SponsorBlock"
+ },
+ "customServerAddressDescription": {
+ "message": "Adres SponsorBlock używa do wykonywania połączeń do serwera.\nDo póki nie posiadasz własnego serwera, to nie powinno być zmieniane."
+ },
+ "save": {
+ "message": "Zapisz"
+ },
+ "reset": {
+ "message": "Reset"
+ },
+ "customAddressError": {
+ "message": "Ten adres nie jest w prawidłowej formie. Upewnij się, że http:// lub https:// znajduje się na początku i nie ma końcowych ukośników."
+ },
+ "areYouSureReset": {
+ "message": "Czy na pewno chcesz to zresetować?"
+ },
+ "confirmPrivacy": {
+ "message": "Ten film został wykryty jako niepubliczny. Kliknij Anuluj, jeśli nie chcesz sprawdzać, czy są dla niego segmenty."
+ },
+ "unlistedCheck": {
+ "message": "Ignoruj niepubliczne/prywatne filmy"
+ },
+ "whatUnlistedCheck": {
+ "message": "Ta opcja spowolni nieco SponsorBlock. Wyszukiwanie istniejących segmentów wymaga wysłania ID filmu do serwera. Jeśli niepokoi Cię fakt wysyłania przez internet ID niepublicznych filmów, włącz tę opcję."
+ },
+ "mobileUpdateInfo": {
+ "message": "m.youtube.com jest teraz wspierany"
+ },
+ "exportOptions": {
+ "message": "Importuj/Eksportuj wszystkie ustawienia"
+ },
+ "whatExportOptions": {
+ "message": "Jest to cała twoja konfiguracja w formacie JSON. Zawarty jest w niej twój identyfikator użytkownika, więc uważaj, komu ją udostępniasz."
+ },
+ "setOptions": {
+ "message": "Zapisz ustawienia"
+ },
+ "exportOptionsWarning": {
+ "message": "Uwaga: Zmiana ustawień jest trwała i może popsuć twoją instalację. Czy na pewno chcesz to zrobić? Na wszelki wypadek utwórz kopię poprzednich."
+ },
+ "incorrectlyFormattedOptions": {
+ "message": "Ten JSON nie został poprawnie sformatowany. Twoje opcje nie zostały zmienione."
+ },
+ "confirmNoticeTitle": {
+ "message": "Zgłoś segment"
+ },
+ "submit": {
+ "message": "Wyślij"
+ },
+ "cancel": {
+ "message": "Anuluj"
+ },
+ "delete": {
+ "message": "Usuń"
+ },
+ "preview": {
+ "message": "Podgląd"
+ },
+ "inspect": {
+ "message": "Sprawdź"
+ },
+ "edit": {
+ "message": "Edytuj"
+ },
+ "copyDebugInformation": {
+ "message": "Skopiuj informacje debugowania do schowka"
+ },
+ "copyDebugInformationFailed": {
+ "message": "Nie udało się skopiować do schowka"
+ },
+ "copyDebugInformationOptions": {
+ "message": "Kopiuje do schowka informacje do dostarczenia deweloperowi podczas zgłaszania błędu / gdy deweloper ich sobie zażyczy. Poufne informacje, takie jak ID użytkownika, kanały dodane do wyjątków i adres niestandardowego serwera zostały usunięte. Wciąż zawiera to jednak informacje takie jak twój user agent, przeglądarka, system operacyjny i wersja rozszerzenia. "
+ },
+ "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."
+ },
+ "theKey": {
+ "message": "Klucz"
+ },
+ "keyAlreadyUsed": {
+ "message": "jest przypisane do innej akcji. Wybierz proszę inny klawisz."
+ },
+ "to": {
+ "message": "do",
+ "description": "Used between segments. Example: 1:20 to 1:30"
+ },
+ "category_sponsor": {
+ "message": "Sponsor"
+ },
+ "category_sponsor_description": {
+ "message": "Płatna promocja, płatne rekomendacje oraz bezpośrednie reklamy. Nie do autopromocji ani darmowych wyrazów uznania dla kwestii/twórców/stron/produktów, które im się podobają."
+ },
+ "category_intro": {
+ "message": "Przerwa/Animowane intro"
+ },
+ "category_intro_description": {
+ "message": "Fragment bez faktycznej treści. Może to być pauza, statyczna klatka, powtarzająca się animacja. Nie powinno to być używane do przejść zawierających informacje."
+ },
+ "category_intro_short": {
+ "message": "Przerwa"
+ },
+ "category_outro": {
+ "message": "Ekran końcowy/Napisy"
+ },
+ "category_outro_description": {
+ "message": "Napisy końcowe lub gdy pojawia się ekran końcowy. Nie do konkluzji zawierających informacje."
+ },
+ "category_interaction": {
+ "message": "Przypomnienie o interakcji (Subskrybuj)"
+ },
+ "category_interaction_description": {
+ "message": "Gdy ma miejsce krótkie przypomnienie, by lajkować, subskrybować lub śledzić ich w trakcie kontentu. Jeśli trwa to długo lub dotyczy czegoś konkretnego, powinno być zamiast tego jako promocja własna."
+ },
+ "category_interaction_short": {
+ "message": "Przypomnienie o interakcji"
+ },
+ "category_selfpromo": {
+ "message": "Nieopłacona/Własna promocja"
+ },
+ "category_selfpromo_description": {
+ "message": "Podobnie jak \"sponsor\", ale nieodpłatnie bądź w ramach promocji własnej. Obejmuje to sekcje o własnych produktach, donacjach czy informacje o tym, z kim współpracowali."
+ },
+ "category_music_offtopic": {
+ "message": "Muzyka: Sekcja niemuzyczna"
+ },
+ "category_music_offtopic_description": {
+ "message": "Do użytku tylko w filmach muzycznych. Wliczają się w to wprowadzenia i outro w teledyskach."
+ },
+ "category_music_offtopic_short": {
+ "message": "Bez muzyki"
+ },
+ "category_livestream_messages": {
+ "message": "Transmisja live: Dotacja/Czytanie wiadomości"
+ },
+ "category_livestream_messages_short": {
+ "message": "Czytanie wiadomości"
+ },
+ "disable": {
+ "message": "Wyłączone"
+ },
+ "manualSkip": {
+ "message": "Ręczne pomijanie"
+ },
+ "showOverlay": {
+ "message": "Pokaż na pasku"
+ },
+ "colorFormatIncorrect": {
+ "message": "Nieprawidłowy format koloru. Powinien to być zapis szesnastkowy (heksadecymalny) składający się z 3 lub 6 znaków poprzedzonych kratką (#)."
+ },
+ "previewColor": {
+ "message": "Kolor podglądu",
+ "description": "Referring to submissions that have not been sent to the server yet."
+ },
+ "seekBarColor": {
+ "message": "Kolor paska postępu"
+ },
+ "category": {
+ "message": "Kategoria"
+ },
+ "skipOption": {
+ "message": "Tryb pomijania",
+ "description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
+ },
+ "enableTestingServer": {
+ "message": "Aktywuj serwer beta-testów"
+ },
+ "whatEnableTestingServer": {
+ "message": "Twoje segmenty i głosy NIE BĘDĄ uwzględniane na głównym serwerze. Używaj tego tylko do testowania."
+ },
+ "testingServerWarning": {
+ "message": "Żadne segmenty ani głosy NIE BĘDĄ uwzględniane na głównym serwerze podczas połączenia z serwerem testowym. Pamiętaj, żeby to wyłączyć, gdy zechcesz dodać realny wkład."
+ },
+ "bracketNow": {
+ "message": "(Teraz)"
+ },
+ "moreCategories": {
+ "message": "Więcej kategorii"
+ },
+ "chooseACategory": {
+ "message": "Wybierz kategorię"
+ },
+ "youMustSelectACategory": {
+ "message": "Musisz wybrać kategorię dla każdego segmentu, który zamieszczasz!"
+ },
+ "bracketEnd": {
+ "message": "(Koniec)"
+ },
+ "hiddenDueToDownvote": {
+ "message": "ukryty: zminusowany"
+ },
+ "hiddenDueToDuration": {
+ "message": "ukryty: zbyt krótki"
+ },
+ "channelDataNotFound": {
+ "message": "ID kanału nie zostało póki co załadowane."
+ },
+ "adblockerIssue": {
+ "message": "Wygląda na to, że coś blokuje możliwość pobierania danych o filmach przez SponsorBlock. To prawdopodobnie Twój ad blocker. Sprawdź proszę https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "itCouldBeAdblockerIssue": {
+ "message": "Jeśli ten problem się powtarza, możliwą przyczyną jest Twój ad blocker. Sprawdź proszę https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "forceChannelCheck": {
+ "message": "Wymuś sprawdzenie kanału przed pominięciem"
+ },
+ "whatForceChannelCheck": {
+ "message": "Domyślnie, rozszerzenie pominie segmenty od razu, jeszcze zanim dowie się jaki to kanał. Domyślnie, pewne segmenty na początku filmu mogą zostać pominięte na kanałach dodanych do wyjątków. Włączenie tej opcji temu zapobiegnie, ale wszystkie pominięcia będą nieco opóźnione, gdyż uzyskanie ID kanału może chwilę potrwać. Opóźnienie to może być nieodczuwalne, jeśli masz szybki internet."
+ },
+ "forceChannelCheckPopup": {
+ "message": "Rozważ włączenie \"Wymuś sprawdzenie kanału przed pominięciem\""
+ },
+ "downvoteDescription": {
+ "message": "Niepoprawne/Zły czas"
+ },
+ "incorrectCategory": {
+ "message": "Zła kategoria"
+ },
+ "nonMusicCategoryOnMusic": {
+ "message": "Ten film jest skategoryzowany jako muzyka. Czy jesteś pewien, że to jest sponsor? Jeśli jest to rzeczywiście \"segment niemuzyczny\", otwórz opcje rozszerzenia i włącz tę kategorię. Następnie możesz przesłać ten segment jako \"Niemuzyczny\" zamiast sponsora. Proszę przeczytać wytyczne, jeśli jesteś zdezorientowany."
+ },
+ "multipleSegments": {
+ "message": "Wiele segmentów"
+ },
+ "guidelines": {
+ "message": "Wytyczne"
+ },
+ "readTheGuidelines": {
+ "message": "Przeczytaj wytyczne!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ },
+ "categoryUpdate1": {
+ "message": "Kategorie są tutaj!"
+ },
+ "categoryUpdate2": {
+ "message": "Otwórz opcje, aby pominąć intra, outra, merch, itp."
+ },
+ "unsubmittedWarning": {
+ "message": "Powiadomienie o niewysłanych segmentach"
+ },
+ "unsubmittedWarningDescription": {
+ "message": "Wyślij powiadomienie po opuszczeniu filmu z segmentami, które nie zostały przesłane"
+ }
+}
diff --git a/public/_locales/pl_PL/messages.json b/public/_locales/pl_PL/messages.json
index 2603a49f..1ba1cf54 100644
--- a/public/_locales/pl_PL/messages.json
+++ b/public/_locales/pl_PL/messages.json
@@ -1,6 +1,6 @@
{
"fullName": {
- "message": "SponsorBlock na YouTube - Omiń reklamy sponsorów",
+ "message": "SponsorBlock na YouTube - Omiń reklamy sponsorowane",
"description": "Name of the extension."
},
"Description": {
@@ -112,6 +112,9 @@
"openPopup": {
"message": "Otwórz okienko SponsorBlock"
},
+ "closePopup": {
+ "message": "Zamknij okienko"
+ },
"SubmitTimes": {
"message": "Prześlij segmenty"
},
@@ -468,7 +471,7 @@
"message": "Przerwa/Animowane intro"
},
"category_intro_description": {
- "message": "Fragment bez faktycznej treści. Może to być pauza, statyczna klatka, powtarzająca się animacja. Nie powinno to być używane do przejść zawierających informacje ani w teledyskach."
+ "message": "Fragment bez faktycznej treści. Może to być pauza, statyczna klatka, powtarzająca się animacja. Nie powinno to być używane do przejść zawierających informacje."
},
"category_intro_short": {
"message": "Przerwa"
@@ -477,7 +480,7 @@
"message": "Ekran końcowy/Napisy"
},
"category_outro_description": {
- "message": "Napisy końcowe lub gdy pojawia się ekran końcowy. Nie do konkluzji zawierających informacje. Nie powinno to być używane w teledyskach."
+ "message": "Napisy końcowe lub gdy pojawia się ekran końcowy. Nie do konkluzji zawierających informacje."
},
"category_interaction": {
"message": "Przypomnienie o interakcji (Subskrybuj)"
@@ -590,7 +593,7 @@
"message": "Zła kategoria"
},
"nonMusicCategoryOnMusic": {
- "message": "Ten film jest skategoryzowany jako muzyka. Czy na pewno chcesz na nim zamieścić segmenty z kategoriami nieprzeznaczonymi do muzyki? Nie powinieneś ich dodawać, chyba że to faktycznie nie jest muzyka. Przeczytaj proszę wytyczne, jeśli masz wątpliwości."
+ "message": "Ten film jest skategoryzowany jako muzyka. Czy jesteś pewien, że to jest sponsor? Jeśli jest to rzeczywiście \"segment niemuzyczny\", otwórz opcje rozszerzenia i włącz tę kategorię. Następnie możesz przesłać ten segment jako \"Niemuzyczny\" zamiast sponsora. Proszę przeczytać wytyczne, jeśli jesteś zdezorientowany."
},
"multipleSegments": {
"message": "Wiele segmentów"
diff --git a/public/_locales/pt_BR/messages.json b/public/_locales/pt_BR/messages.json
index 4c7601c5..c0b0b3e7 100644
--- a/public/_locales/pt_BR/messages.json
+++ b/public/_locales/pt_BR/messages.json
@@ -473,9 +473,6 @@
"incorrectCategory": {
"message": "Categoria errada"
},
- "nonMusicCategoryOnMusic": {
- "message": "Este vídeo é classificado como música. Você tem certeza que deseja enviar segmentos com categorias que não são músicas? A menos que esse vídeo não seja de fato música, você não deve enviar esse segmento. Por favor leia as orientações se estiver em dúvidas."
- },
"multipleSegments": {
"message": "Multiplos segmentos"
},
diff --git a/public/_locales/ro/messages.json b/public/_locales/ro/messages.json
index ee7f5af0..20a05a1a 100644
--- a/public/_locales/ro/messages.json
+++ b/public/_locales/ro/messages.json
@@ -3,6 +3,10 @@
"message": "SponsorBlock pentru YouTube - Sari peste sponsorizări",
"description": "Name of the extension."
},
+ "Description": {
+ "message": "Treci peste sponsorizări, cereri de abonare și multe altele pe videoclipuri de pe YouTube. Raportează sponsorii pe videoclipurile pe care le urmărești pentru a economisi timp altora.",
+ "description": "Description of the extension."
+ },
"400": {
"message": "Serverul a spus că această cerere este invalidă"
},
@@ -15,6 +19,12 @@
"channelWhitelisted": {
"message": "Canalul a fost adăugat la excepții!"
},
+ "Segment": {
+ "message": "segment"
+ },
+ "Segments": {
+ "message": "segmente"
+ },
"upvoteButtonInfo": {
"message": "Votează această înregistrare"
},
@@ -63,6 +73,18 @@
"Unknown": {
"message": "A apărut o eroare în trimiterea timpilor sponsorizărilor, încearcă din nou mai târziu."
},
+ "sponsorFound": {
+ "message": "Acest videoclip are segmente în baza de date!"
+ },
+ "sponsor404": {
+ "message": "Nici un segment găsit"
+ },
+ "sponsorStart": {
+ "message": "Segmentul începe acum"
+ },
+ "sponsorEnd": {
+ "message": "Segmentul se termină acum"
+ },
"noVideoID": {
"message": "Nu există niciun videoclip YouTube în aceast tab. Dacă știți că acesta este un tab YouTube, închideți acest popup și deschideți-l din nou. Daca nici asta nu merge, încercați să reîncărcați pagina."
},
@@ -78,9 +100,24 @@
"connectionError": {
"message": "A apărut o eroare de conexiune. Cod de eroare: "
},
+ "wantToSubmit": {
+ "message": "Doriți să trimiteți pentru id video"
+ },
+ "leftTimes": {
+ "message": "Se pare că aţi lăsat unele segmente netrimise. Du-te înapoi la acea pagină pentru a le trimite (nu sunt şterse)."
+ },
+ "clearTimes": {
+ "message": "Curăță segmentele"
+ },
"openPopup": {
"message": "Deschide Popup-ul SponsorBlock"
},
+ "closePopup": {
+ "message": "Închide pop-up"
+ },
+ "SubmitTimes": {
+ "message": "Trimite segmente"
+ },
"submitCheck": {
"message": "Sunteți sigur că doriți să trimiteți asta?"
},
@@ -90,6 +127,9 @@
"removeFromWhitelist": {
"message": "Șterge Canalul De La Excepții"
},
+ "voteOnTime": {
+ "message": "Votează pe un Segment"
+ },
"soFarUHSubmited": {
"message": "Până acum, ai trimis"
},
@@ -102,6 +142,12 @@
"here": {
"message": "aici"
},
+ "recordTimesDescription": {
+ "message": "Faceţi clic pe butonul de mai jos atunci când segmentul începe şi se termină pentru a înregistra şi trimite-l în baza de date."
+ },
+ "popupHint": {
+ "message": "Indiciu: Apasă pe tasta punct și virgulă în timp ce ești centrat pe videoclip pentru a raporta începutul/finalul unei sponsorizări și apasă pe ghilimele pentru a o trimite. (Acest lucru poate fi schimbat din opțiuni)"
+ },
"clearTimesButton": {
"message": "Șterge Timpii"
},
@@ -362,6 +408,9 @@
"preview": {
"message": "Previzualizare"
},
+ "inspect": {
+ "message": "Inspectează"
+ },
"edit": {
"message": "Editare"
},
@@ -397,7 +446,7 @@
"message": "Pauză/Animație Intro"
},
"category_intro_description": {
- "message": "Un interval fără conținut real. Poate fi o pauză, un cadru static, o animație care se repetă. Acestea nu ar trebui utilizate pentru tranziții care conțin informații sau nu ar trebui utilizate pe videoclipuri muzicale."
+ "message": "Un interval fără conținut. Poate fi o pauză, un cadru static, o animație care se repeta. Nu ar trebui sa fie folosit pentru tranziții care conțin informații."
},
"category_intro_short": {
"message": "Pauză"
@@ -405,6 +454,9 @@
"category_outro": {
"message": "Ecran De Final/Credite"
},
+ "category_outro_description": {
+ "message": "Credite sau atunci când apare ecranul de final YouTube. Nu pentru concluzii cu informații."
+ },
"category_interaction": {
"message": "Reamintire de Interactiune (Abonare)"
},
@@ -507,7 +559,7 @@
"message": "Categorie Greșită"
},
"nonMusicCategoryOnMusic": {
- "message": "Categoria acestui videoclip este muzică. Sunteți sigur că doriți să trimiteți segmente non-muzicale? Dacă acest videoclip nu este de fapt muzică, nu ar trebui să trimiteți acest segment. Vă rugăm să citiți recomandările dacă sunteți confuz."
+ "message": "Acest videoclip este categorisit ca muzică. Ești sigur ca există un sponsor? Dacă acesta este defapt un segment non-muzical, deschideți opțiunile extensiei și activați această categorie. Apoi, puteți trimite acest segment ca non-muzical în loc de sponsol. Vă rugăm să citiți ghidul dacă sunteți confuz."
},
"multipleSegments": {
"message": "Segmente Multiple"
diff --git a/public/_locales/ru/messages.json b/public/_locales/ru/messages.json
index a2a0b98d..4a0a4489 100644
--- a/public/_locales/ru/messages.json
+++ b/public/_locales/ru/messages.json
@@ -11,7 +11,7 @@
"message": "Сервер отклонил этот запрос"
},
"429": {
- "message": "Вы отправили слишком много спонсоров для этого видео. Вы уверены, что их так много?"
+ "message": "Вы отправили слишком много сегментов для этого видео. Вы уверены, что их так много?"
},
"409": {
"message": "Этот запрос был отправлен ранее"
@@ -20,19 +20,19 @@
"message": "Канал добавлен в белый список!"
},
"Segment": {
- "message": "вставка"
+ "message": "сегмент"
},
"Segments": {
- "message": "вставки"
+ "message": "сегментов"
},
"upvoteButtonInfo": {
- "message": "Проголосовать за эту вставку"
+ "message": "Проголосовать за этот сегмент"
},
"reportButtonTitle": {
- "message": "Сообщить об ошибке"
+ "message": "Пожаловаться"
},
"reportButtonInfo": {
- "message": "Сообщить об ошибке в этой вставке."
+ "message": "Сообщить об ошибке в этом сегменте."
},
"Dismiss": {
"message": "Закрыть"
@@ -71,19 +71,19 @@
"message": "Вы уверены, что хотите удалить эту информацию?\n\n"
},
"Unknown": {
- "message": "При отправке отчета о спонсорском сегменте произошла ошибка. Попытайтесь отправить его позже."
+ "message": "При отправке сегмента произошла ошибка. Попытайтесь отправить его позже."
},
"sponsorFound": {
- "message": "Для этого видео в базе данных указаны вставки!"
+ "message": "В базе есть сегменты для этого видео!"
},
"sponsor404": {
- "message": "Вставок не найдено"
+ "message": "Сегментов не найдено"
},
"sponsorStart": {
- "message": "Вставка начинается отсюда"
+ "message": "Сегмент начинается отсюда"
},
"sponsorEnd": {
- "message": "Вставка заканчивается сейчас"
+ "message": "Сегмент заканчивается здесь"
},
"noVideoID": {
"message": "Видео YouTube не найдено на этой вкладке. Если вы уверены, что это вкладка YouTube, закройте это всплывающее окно и откройте его снова. Если это не поможет, перезагрузите вкладку."
@@ -101,19 +101,22 @@
"message": "Ошибка соединения. Код ошибки: "
},
"wantToSubmit": {
- "message": "Вы хотите отправить вставки для видео"
+ "message": "Вы хотите отправить сегменты для видео с id"
},
"leftTimes": {
- "message": "Вы ещё не отправили информацию о некоторых вставках. Вернитесь обратно, чтобы отправить их (они не удалены)."
+ "message": "Вы ещё не отправили информацию о некоторых сегментах. Вернитесь на эту страницу, чтобы отправить их (они не удалены)."
},
"clearTimes": {
- "message": "Очистить вставки"
+ "message": "Очистить сегменты"
},
"openPopup": {
"message": "Открыть всплывающее окно SponsorBlock"
},
+ "closePopup": {
+ "message": "Закрыть окно"
+ },
"SubmitTimes": {
- "message": "Отправить вставки"
+ "message": "Отправить сегменты"
},
"submitCheck": {
"message": "Вы уверены, что хотите отправить эту информацию?"
@@ -125,13 +128,13 @@
"message": "Удалить канал из белого списка"
},
"voteOnTime": {
- "message": "Проголосовать за вставку"
+ "message": "Проголосовать за сегмент"
},
"soFarUHSubmited": {
"message": "На данный момент Вы отправили"
},
"savedPeopleFrom": {
- "message": "Вы помогли людям сэкономить "
+ "message": "Вы помогли людям пропустить "
},
"viewLeaderboard": {
"message": "Посмотреть доску почёта"
@@ -140,19 +143,19 @@
"message": "здесь"
},
"recordTimesDescription": {
- "message": "Нажмите кнопку ниже, когда вставка начинается и заканчивается, чтобы записать и отправить её в базу данных."
+ "message": "Нажмите кнопку ниже, когда сегмент начинается и заканчивается, чтобы записать и отправить его в базу."
},
"popupHint": {
- "message": "Подсказка: нажмите на кнопку \"Ж\" во время воспроизведения, чтобы сообщить о начале/конце вставки, и \"Э\", чтобы отправить её. (Это можно изменить в настройках)"
+ "message": "Подсказка: нажмите на кнопку \"Ж\" во время воспроизведения, чтобы сообщить о начале/конце сегмента, и \"Э\", чтобы отправить его. (Это можно изменить в настройках)"
},
"clearTimesButton": {
"message": "Очистить время"
},
"submitTimesButton": {
- "message": "Отправить время"
+ "message": "Отправить сегменты"
},
"publicStats": {
- "message": "Это используется на публичной странице статистики, чтобы показать Ваш вклад. Её можно посмотреть"
+ "message": "Оно используется на публичной странице статистики, чтобы показать Ваш вклад. Её можно посмотреть "
},
"setUsername": {
"message": "Установить имя пользователя"
@@ -173,7 +176,7 @@
"message": "Скрыть кнопки в плеере YouTube"
},
"hideButtonsDescription": {
- "message": "Эта настройка скрывает кнопки для отправки вставок, которые появляются в плеере YouTube."
+ "message": "Эта настройка скрывает кнопки для отправки сегментов, расположенные в плеере YouTube."
},
"showInfoButton": {
"message": "Показывать кнопку информации в плеере YouTube"
@@ -191,19 +194,19 @@
"message": "Показывать кнопку удаления в плеере YouTube"
},
"whatDeleteButton": {
- "message": "Эта кнопка позволяет Вам очистить все спонсорские вставки в плеере YouTube."
+ "message": "Эта кнопка позволяет Вам очистить все неотправленные сегменты в плеере YouTube для текущего видео."
},
"enableViewTracking": {
- "message": "Включить отслеживание количества пропусков вставок"
+ "message": "Включить отслеживание количества пропусков сегментов"
},
"whatViewTracking": {
- "message": "Эта возможность отслеживает, какие вставки Вы пропустили, чтобы помочь пользователям узнать, насколько их вклад помог другим, и, наряду с голосами, используется как метрика, чтобы убедиться, что спам не попадает в базу данных. Расширение отправляет сообщение на сервер каждый раз, когда Вы пропускаете вставку. Надеемся, большая часть пользователей не поменяет эту настройку, так что у нас будет точная статистика просмотров. :)"
+ "message": "Эта возможность отслеживает, какие сегменты Вы пропустили, чтобы помочь пользователям узнать, насколько их вклад помог другим, и, наряду с голосами, используется как метрика, чтобы убедиться, что спам не попадает в базу данных. Расширение отправляет сообщение на сервер каждый раз, когда Вы пропускаете сегмент. Надеемся, большая часть пользователей не поменяет эту настройку, так что у нас будет точная статистика просмотров. :)"
},
"showNotice": {
"message": "Показать уведомление снова"
},
"longDescription": {
- "message": "SponsorBlock позволяет пропускать спонсорские вставки, начальные и конечные заставки, просьбы подписать и другое в видео на YouTube. SponsorBlock — коллективное расширение, которое позволяет каждому отправить время начала и конца подобных вставок в видео. После того, как кто-нибудь отправляет эту информацию, все остальные пользователи расширения будут автоматически пропускать эти вставки. Так же можно пропускать части клипов без музыки.",
+ "message": "SponsorBlock позволяет пропускать спонсорские вставки, начальные и конечные заставки, просьбы подписаться и другое в видео на YouTube. SponsorBlock — коллективное расширение, которое позволяет каждому отправить время начала и конца подобных сегментов в видео. После того, как кто-нибудь отправляет эту информацию, все остальные пользователи расширения будут автоматически пропускать эти сегменты. Так же можно пропускать части клипов без музыки.",
"description": "Full description of the extension on the store pages."
},
"website": {
@@ -223,7 +226,7 @@
"description": "The second line of the message displayed after the notice was upgraded."
},
"setStartSponsorShortcut": {
- "message": "Назначить горячую клавишу для начала вставки"
+ "message": "Назначить горячую клавишу для начала сегмента"
},
"setSubmitKeybind": {
"message": "Назначить горячую клавишу для отправки"
@@ -269,13 +272,13 @@
"message": "Аудио уведомление при пропуске"
},
"audioNotificationDescription": {
- "message": "Аудио уведомление о пропуске будет воспроизводиться каждый раз, когда вставка пропущена. Если отключено (или автоматический пропуск отключён), звук не будет воспроизводиться."
+ "message": "Аудио уведомление о пропуске будет воспроизводиться каждый раз, когда сегмент пропущен. Если отключено (или автоматический пропуск отключён), звук не будет воспроизводиться."
},
"showTimeWithSkips": {
- "message": "Показывать длительность без вставок"
+ "message": "Показывать длительность без сегментов"
},
"showTimeWithSkipsDescription": {
- "message": "Эта длительность отображается в скобках рядом с фактической под полосой прокрутки. Показывает длительность видео без вставок. Включает вставки, для которых выбрано \"Отображать в полосе прокрутки\"."
+ "message": "Эта длительность отображается в скобках рядом с фактической под полосой прокрутки. Показывает длительность видео без сегментов. Включает сегменты, для которых выбрано \"Отображать в полосе прокрутки\"."
},
"youHaveSkipped": {
"message": "Вы пропустили "
@@ -305,10 +308,10 @@
"message": "Смотрите состояние сервера на status.sponsor.ajay.app."
},
"changeUserID": {
- "message": "Импортировать/экспортировать Ваш идентификатор пользователя"
+ "message": "Импорт/Экспорт Вашего идентификатора пользователя"
},
"whatChangeUserID": {
- "message": "Это нужно держать в секрете. Это как пароль, не стоит им ни с кем делиться. Если он у кого-то есть, он сможет выдать себя за Вас."
+ "message": "Его нужно держать в секрете. Это как пароль, не стоит им ни с кем делиться. Если он у кого-то есть, он сможет выдать себя за Вас."
},
"setUserID": {
"message": "Установить идентификатор пользователя"
@@ -323,7 +326,7 @@
"message": "Автоматический пропуск"
},
"showSkipNotice": {
- "message": "Показывать уведомление после пропуска вставки"
+ "message": "Показывать уведомление после пропуска сегмента"
},
"keybindCurrentlySet": {
"message": ". Он сейчас назначен на:"
@@ -359,10 +362,10 @@
"message": "Текущие инстансы:"
},
"minDuration": {
- "message": "Минимальная длительность (секунд):"
+ "message": "Минимальная длительность (в секундах):"
},
"minDurationDescription": {
- "message": "Вставки короче этого значения не будут пропускаться и не будут показаны в плеере."
+ "message": "Сегменты короче этого значения не будут пропускаться и не будут показаны в плеере."
},
"shortCheck": {
"message": "Следующий диапазон времени короче, чем Ваша настройка минимальной длительности. Это может означать, что он уже был отправлен, и просто игнорируется из-за этой настройки. Вы действительно хотите отправить?"
@@ -392,13 +395,13 @@
"message": "Вы действительно хотите это сбросить?"
},
"confirmPrivacy": {
- "message": "Было обнаружено, что это видео - с доступом по ссылке. Нажмите \"отмена\", если не хотите проверять для него вставки."
+ "message": "Было обнаружено, что это видео - с доступом по ссылке. Нажмите \"отмена\", если не хотите проверять для него сегменты."
},
"unlistedCheck": {
"message": "Игнорировать непубличные видео"
},
"whatUnlistedCheck": {
- "message": "Эта настройка незначительно замедлит SponsorBlock. Поиск вставко требует отправки идентификатора видео на сервер. Если Вас беспокоит отправка идентификаторов скрытых видео по интернету, включите эту настройку."
+ "message": "Эта настройка незначительно замедлит SponsorBlock. Поиск сегментов требует отправки идентификатора видео на сервер. Если Вас беспокоит отправка идентификаторов скрытых видео по интернету, включите эту настройку."
},
"mobileUpdateInfo": {
"message": "m.youtube.com теперь поддерживается"
@@ -407,7 +410,7 @@
"message": "Импорт/Экспорт всех настроек"
},
"whatExportOptions": {
- "message": "Это вся конфигурация в формате JSON. Этот файл содержит Ваш идентификатор пользователя, поэтому не забудьте общаться с этим разумно."
+ "message": "Все настройки в формате JSON. Этот файл содержит Ваш идентификатор пользователя, будьте осторожны когда делитесь этими данными."
},
"setOptions": {
"message": "Параметры установки"
@@ -419,19 +422,22 @@
"message": "JSON-файл некорректно отформатирован. Ваши настройки не были изменены."
},
"confirmNoticeTitle": {
- "message": "Отправить вставку"
+ "message": "Отправить сегмент"
},
"submit": {
"message": "Отправить"
},
"cancel": {
- "message": "Отменить"
+ "message": "Отмена"
},
"delete": {
"message": "Удалить"
},
"preview": {
- "message": "Превью"
+ "message": "Предпросмотр"
+ },
+ "inspect": {
+ "message": "Исследовать"
},
"edit": {
"message": "Редактировать"
@@ -462,28 +468,28 @@
"message": "Спонсор"
},
"category_sponsor_description": {
- "message": "Рекламные интеграции, реферальные ссылки и реклама напрямую. Не для саморекламы или рекомендациях разных событий/создателей/сайтов/продуктов, которые нравится автору видео."
+ "message": "Рекламные интеграции, реферальные ссылки и реклама напрямую. Не для саморекламы или рекомендаций разных событий/создателей/сайтов/продуктов, которые нравятся автору видео."
},
"category_intro": {
"message": "Пауза/заставка"
},
"category_intro_description": {
- "message": "Интервал без реального содержимого. Может быть паузой, статическим кадром, повторяющейся анимацией. Это не должно использоваться для переходов, содержащих информацию или используемых в музыкальных видео."
+ "message": "Часть видео без значимого контента. Может быть паузой, статическим кадром, повторяющейся анимацией. Это не должно использоваться для переходов, содержащих информацию."
},
"category_intro_short": {
- "message": "Пауза"
+ "message": "Заставка"
},
"category_outro": {
"message": "Конечная заставка/титры"
},
"category_outro_description": {
- "message": "Титры или вставки, содержащие конечные заставки YouTube. Не для частей видео с подытоживанием информации. Это не должно использоваться в музыкальных видео."
+ "message": "Титры или время появления конечных заставок YouTube. Не для подведения итогов сказанного в видео."
},
"category_interaction": {
"message": "Напоминание о взаимодействии (подписка)"
},
"category_interaction_description": {
- "message": "Когда есть краткое напоминание поставить лайк, подписаться на канал или в соцсетях в середине содержимого. Если эта вставка длительная и о чём-то конкретном, она должна классифицироваться как самореклама."
+ "message": "Когда есть краткое напоминание поставить лайк, подписаться на канал или в соцсетях в середине содержимого. Если эта вставка длительная или о чём-то конкретном, она должна классифицироваться как самореклама."
},
"category_interaction_short": {
"message": "Напоминание о взаимодействии"
@@ -495,7 +501,7 @@
"message": "Похоже на \"Спонсора\", но для бесплатной рекламы и саморекламы. Включает себя вставки про мерчендайз, пожертвования или информацию о тех, вместе с кем было сделано видео."
},
"category_music_offtopic": {
- "message": "Музыка: Вставка без музыки"
+ "message": "Музыка: Сегмент без музыки"
},
"category_music_offtopic_description": {
"message": "Только для использования в музыкальных клипах. Включает в себя начальные и конечные заставки клипов."
@@ -519,10 +525,10 @@
"message": "Показывать в полосе прокрутки"
},
"colorFormatIncorrect": {
- "message": "Вы ввели неправильный параметр для цвета. Это должно быть 3-х или 6-тизначное шестнадцатеричное число с символом # в начале."
+ "message": "Вы ввели цвет в неправильном формате. Это должно быть 3-х или 6-ти значное шестнадцатеричное число с символом # в начале."
},
"previewColor": {
- "message": "Предпросмотр цвета",
+ "message": "Цвет предпросмотра",
"description": "Referring to submissions that have not been sent to the server yet."
},
"seekBarColor": {
@@ -554,7 +560,7 @@
"message": "Выберите категорию"
},
"youMustSelectACategory": {
- "message": "Вы должны выбрать категорию для всех вставок, которые вы отправляете!"
+ "message": "Вы должны выбрать категорию для всех сегментов, которые вы отправляете!"
},
"bracketEnd": {
"message": "(Конец)"
@@ -569,7 +575,7 @@
"message": "ID канала еще не загружен."
},
"adblockerIssue": {
- "message": "Кажется, что-то блокирует возможность SponsorBlock'а получать видеоданные. Возможно, это ваш блокировщик рекламы. Пожалуйста, перейдите на https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocker-Blocking-SponsorBlock's-Requests"
+ "message": "Кажется, что-то блокирует возможность SponsorBlock'а получать данные о видео. Возможно, это ваш блокировщик рекламы. Пожалуйста, перейдите на https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocker-Blocking-SponsorBlock's-Requests"
},
"itCouldBeAdblockerIssue": {
"message": "Если это сообщения появляется слишком часто, это может быть вызвано вашим блокировщиком рекламы. Пожалуйста, перейдите на https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
@@ -578,7 +584,7 @@
"message": "Принудительная проверка каналов перед пропуском"
},
"whatForceChannelCheck": {
- "message": "По умолчанию расширение пропускает вставки сразу же, не проверяя то, какой это канал. По умолчанию некоторые вставки в начале видео могут быть пропущены на каналах из белого списка. Включение этой опции предотвратит это, но все пропуски будут иметь небольшую задержку, так как получение ID канала может занять некоторое время. Эта задержка может быть незаметной, если у вас быстрый интернет."
+ "message": "По умолчанию расширение пропускает сегменты сразу же, не проверяя то, какой это канал. По умолчанию некоторые сегменты в начале видео могут быть пропущены на каналах из белого списка. Включение этой опции предотвратит это, но все пропуски будут иметь небольшую задержку, так как получение ID канала может занять некоторое время. Эта задержка может быть незаметной, если у вас быстрый интернет."
},
"forceChannelCheckPopup": {
"message": "Рекомендуем включить \"Принудительная проверка каналов перед пропуском\""
@@ -590,10 +596,10 @@
"message": "Неверная категория"
},
"nonMusicCategoryOnMusic": {
- "message": "Это видео классифицировано как музыка. Вы уверены, что хотите отправить вставки из немузыкальных категорий? Если это видео на самом деле является музыкальным клипом, вы не должны отправлять эту вставку. Пожалуйста, ознакомьтесь с рекомендациями, если Вы запутались."
+ "message": "Это видео классифицировано как музыкальное. Вы уверены, что в нём есть спонсоры? Если на самом деле это \"Сегмент без музыки\", откройте параметры расширения и включите эту категорию. Затем вы можете отправить этот сегмент как \"Без музыки\", а не как спонсора. Пожалуйста, прочтите руководство, если вы запутались."
},
"multipleSegments": {
- "message": "Несколько вставок"
+ "message": "Несколько сегментов"
},
"guidelines": {
"message": "Руководство"
@@ -609,9 +615,9 @@
"message": "Откройте настройки, чтобы пропускать начальные и конечные заставки, саморекламу и другое."
},
"unsubmittedWarning": {
- "message": "Уведомления о неотправленных вставках"
+ "message": "Уведомления о неотправленных сегментах"
},
"unsubmittedWarningDescription": {
- "message": "Отправлять уведомление, когда вы уходите со страницы видео, вставки к которым Вы не загрузили"
+ "message": "Отправлять уведомление, когда вы уходите со страницы видео, сегменты к которому Вы не отправили"
}
}
diff --git a/public/_locales/sv/messages.json b/public/_locales/sv/messages.json
index 63408c2e..36c1faa3 100644
--- a/public/_locales/sv/messages.json
+++ b/public/_locales/sv/messages.json
@@ -441,9 +441,6 @@
"incorrectCategory": {
"message": "Fel kategori"
},
- "nonMusicCategoryOnMusic": {
- "message": "Den här videon är kategoriserad som musik. Är du säker på att du vill skicka in segment med icke-musikkategorier? Om denna video faktiskt är musik, bör du inte skicka in detta segment. Vänligen läs riktlinjerna om du är förvirrad."
- },
"multipleSegments": {
"message": "Flera segment"
},
diff --git a/public/_locales/ta/messages.json b/public/_locales/ta/messages.json
index 0967ef42..66c59c3c 100644
--- a/public/_locales/ta/messages.json
+++ b/public/_locales/ta/messages.json
@@ -1 +1,154 @@
-{}
+{
+ "fullName": {
+ "message": "YouTube க்கான ஸ்பான்சர் பிளாக் - ஸ்பான்சர்ஷிப்களைத் தவிர்",
+ "description": "Name of the extension."
+ },
+ "Description": {
+ "message": "YouTube வீடியோக்களில் ஸ்பான்சர்ஷிப்கள், சந்தா பிச்சை மற்றும் பலவற்றைத் தவிர்க்கவும். மற்றவர்களின் நேரத்தைச் சேமிக்க நீங்கள் பார்க்கும் வீடியோக்களில் ஸ்பான்சர்களைப் புகாரளிக்கவும்.",
+ "description": "Description of the extension."
+ },
+ "400": {
+ "message": "இந்த கோரிக்கை தவறானது என்று சர்வர் கூறினார்"
+ },
+ "429": {
+ "message": "இந்த ஒரு வீடியோவிற்கு நீங்கள் பல ஸ்பான்சர் நேரங்களை சமர்ப்பித்துள்ளீர்கள், இது பல உள்ளன என்று நீங்கள் உறுதியாக நம்புகிறீர்களா?"
+ },
+ "409": {
+ "message": "இது ஏற்கனவே சமர்ப்பிக்கப்பட்டுள்ளது"
+ },
+ "channelWhitelisted": {
+ "message": "சேனல் அனுமதிப்பட்டியல்!"
+ },
+ "Segment": {
+ "message": "பிரிவு"
+ },
+ "Segments": {
+ "message": "பிரிவுகள்"
+ },
+ "upvoteButtonInfo": {
+ "message": "இந்த சமர்ப்பிப்பை மேம்படுத்துங்கள்"
+ },
+ "reportButtonTitle": {
+ "message": "அறிக்கை"
+ },
+ "reportButtonInfo": {
+ "message": "இந்த சமர்ப்பிப்பு தவறானது என புகாரளிக்கவும்."
+ },
+ "Dismiss": {
+ "message": "நீக்கு"
+ },
+ "Loading": {
+ "message": "ஏற்றுகிறது..."
+ },
+ "Mins": {
+ "message": "நிமிடம்"
+ },
+ "Secs": {
+ "message": "நொடிகள்"
+ },
+ "Hide": {
+ "message": "ஒருபோதும் அனுமதிக்காதே"
+ },
+ "hitGoBack": {
+ "message": "நீங்கள் எங்கிருந்து வந்தீர்கள் என்பதைத் தட்டவும்."
+ },
+ "unskip": {
+ "message": "அன்ஸ்கிப்"
+ },
+ "reskip": {
+ "message": "ரெஸ்கிப்"
+ },
+ "paused": {
+ "message": "இடைநிறுத்தப்பட்டது"
+ },
+ "manualPaused": {
+ "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": "வாக்களித்தார்!"
+ },
+ "serverDown": {
+ "message": "சேவையகம் செயலிழந்துவிட்டதாகத் தெரிகிறது. டெவலப்பரை உடனடியாக தொடர்பு கொள்ளவும்."
+ },
+ "connectionError": {
+ "message": "இணைப்பு பிழை ஏற்பட்டது. பிழை குறியீடு: "
+ },
+ "wantToSubmit": {
+ "message": "வீடியோ ஐடிக்கு நீங்கள் சமர்ப்பிக்க விரும்புகிறீர்களா"
+ },
+ "leftTimes": {
+ "message": "நீங்கள் சில பிரிவுகளை சமர்ப்பிக்கவில்லை என்று தெரிகிறது. அவற்றைச் சமர்ப்பிக்க அந்தப் பக்கத்திற்குச் செல்லவும் (அவை நீக்கப்படவில்லை)."
+ },
+ "clearTimes": {
+ "message": "பிரிவுகளை அழிக்கவும்"
+ },
+ "openPopup": {
+ "message": "ஸ்பான்சர் பிளாக் பாப்அப்பைத் திறக்கவும்"
+ },
+ "closePopup": {
+ "message": "பாப்அப்பை மூடு"
+ },
+ "SubmitTimes": {
+ "message": "பிரிவுகளைச் சமர்ப்பிக்கவும்"
+ },
+ "submitCheck": {
+ "message": "இதை நிச்சயமாக சமர்ப்பிக்க விரும்புகிறீர்களா?"
+ },
+ "whitelistChannel": {
+ "message": "அனுமதிப்பட்டியல் சேனல்"
+ },
+ "removeFromWhitelist": {
+ "message": "அனுமதிப்பட்டியலில் இருந்து சேனலை அகற்று"
+ },
+ "voteOnTime": {
+ "message": "ஒரு பிரிவில் வாக்களியுங்கள்"
+ },
+ "soFarUHSubmited": {
+ "message": "இதுவரை, நீங்கள் சமர்ப்பித்தீர்கள்"
+ },
+ "savedPeopleFrom": {
+ "message": "நீங்கள் மக்களை காப்பாற்றியுள்ளீர்கள் "
+ },
+ "viewLeaderboard": {
+ "message": "லீடர்போர்டைக் காண்க"
+ },
+ "here": {
+ "message": "இங்கே"
+ },
+ "recordTimesDescription": {
+ "message": "பிரிவு துவங்கி முடிவடையும் போது கீழே உள்ள பொத்தானைக் கிளிக் செய்து பதிவுசெய்து தரவுத்தளத்தில் சமர்ப்பிக்கவும்."
+ },
+ "popupHint": {
+ "message": "குறிப்பு: ஒரு பிரிவின் தொடக்க / முடிவைப் புகாரளிக்க ஒரு வீடியோவில் கவனம் செலுத்துகையில் அரைக்காற்பகுதி விசையை அழுத்தி சமர்ப்பிக்க மேற்கோள். (இதை விருப்பங்களில் மாற்றலாம்)"
+ },
+ "clearTimesButton": {
+ "message": "நேரங்களை அழி"
+ }
+}
diff --git a/public/_locales/tr/messages.json b/public/_locales/tr/messages.json
index 4018fa39..29759493 100644
--- a/public/_locales/tr/messages.json
+++ b/public/_locales/tr/messages.json
@@ -461,9 +461,6 @@
"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"
},
diff --git a/public/_locales/uk/messages.json b/public/_locales/uk/messages.json
index d32cb0bc..02cc3d29 100644
--- a/public/_locales/uk/messages.json
+++ b/public/_locales/uk/messages.json
@@ -3,6 +3,10 @@
"message": "SponsorBlock для YouTube - Пропускайте спонсорські вставки",
"description": "Name of the extension."
},
+ "Description": {
+ "message": "Пропускайте спонсорські вставки, прохання підписатися та інше в відео на YouTube. Надсилайте інформацію про спонсорів в відео, щоб зберігати іншим час.",
+ "description": "Description of the extension."
+ },
"400": {
"message": "Сервер відхилив цей запит"
},
@@ -15,9 +19,21 @@
"channelWhitelisted": {
"message": "Канал доданий у білий список!"
},
+ "Segment": {
+ "message": "сегмент"
+ },
+ "Segments": {
+ "message": "сегментів"
+ },
+ "upvoteButtonInfo": {
+ "message": "Проголосувати за цей сегмент"
+ },
"reportButtonTitle": {
"message": "Помилка"
},
+ "reportButtonInfo": {
+ "message": "Повідомити про помилку в цьому сегменті."
+ },
"Dismiss": {
"message": "Закрити"
},
@@ -45,6 +61,9 @@
"paused": {
"message": "Пауза"
},
+ "manualPaused": {
+ "message": "Таймер зупинено"
+ },
"confirmMSG": {
"message": "Щоб змінити або видалити окремі значення, натисніть кнопку «Інформація» або відкрийте спливаюче вікно розширення, клацнувши значок розширення в правому верхньому куті."
},
@@ -54,6 +73,18 @@
"Unknown": {
"message": "При надсиланні звіту про спонсорський сегмент сталася помилка. Спробуйте надіслати його пізніше."
},
+ "sponsorFound": {
+ "message": "У базі є сегменти для цього відео!"
+ },
+ "sponsor404": {
+ "message": "Сегменти не знайдено"
+ },
+ "sponsorStart": {
+ "message": "Сегмент починається звідси"
+ },
+ "sponsorEnd": {
+ "message": "Сегмент закінчується тут"
+ },
"noVideoID": {
"message": "Можливо, це не вкладка YouTube, або Ви натиснули занадто рано.\n  Якщо це вкладка YouTube,\n  закрийте це спливаюче вікно і відкрийте його знову."
},
@@ -63,12 +94,30 @@
"voted": {
"message": "Голос зарахований!"
},
+ "serverDown": {
+ "message": "Здається, сервера не працюють. Негайно зв'яжіться з розробником."
+ },
"connectionError": {
"message": "Помилка з'єднання. Код помилки: "
},
+ "wantToSubmit": {
+ "message": "Ви хочете надіслати сегменти для відео з id"
+ },
+ "leftTimes": {
+ "message": "Ви ще не надіслали інформацію про деякі сегменти. Поверніться на цю сторінку, щоб надіслати їх (вони не видалені)."
+ },
+ "clearTimes": {
+ "message": "Очистити сегменти"
+ },
"openPopup": {
"message": "Відкрийте спливаюче вікно SponsorBlock"
},
+ "closePopup": {
+ "message": "Закрити вікно"
+ },
+ "SubmitTimes": {
+ "message": "Надіслати сегменти"
+ },
"submitCheck": {
"message": "Ви впевнені, що хочете надіслати цю інформацію?"
},
@@ -78,6 +127,9 @@
"removeFromWhitelist": {
"message": "Видалити канал з білого списку"
},
+ "voteOnTime": {
+ "message": "Проголосувати за сегмент"
+ },
"soFarUHSubmited": {
"message": "На даний момент Ви надіслали"
},
@@ -90,6 +142,12 @@
"here": {
"message": "тут"
},
+ "recordTimesDescription": {
+ "message": "Натисніть кнопку нижче, коли сегмент починається і закінчується, щоб записати і Надіслати його в базу."
+ },
+ "popupHint": {
+ "message": "Підказка: натисніть на кнопку \"Ж\" під час відтворення, щоб повідомити про початок / кінці сегмента, і \"Е\", щоб надіслати його. (Це можна змінити в налаштуваннях)"
+ },
"clearTimesButton": {
"message": "Очистити час"
},
@@ -138,9 +196,19 @@
"whatDeleteButton": {
"message": "Ця кнопка дозволяє очистити всі спонсорські вставки в плеєрі YouTube."
},
+ "enableViewTracking": {
+ "message": "Увімкнути відстеження кількості пропусків сегментів"
+ },
+ "whatViewTracking": {
+ "message": "Ця можливість відстежує, які сегменти Ви пропустили, щоб допомогти користувачам дізнатися, наскільки їх внесок допоміг іншим, і, поряд з голосами, використовується як метрика, щоб переконатися, що спам не влучає у базу даних. Розширення надсилає повідомлення на сервер кожен раз, коли Ви пропускаєте сегмент. Сподіваємося, велика частина користувачів не поміняє це налаштування, так що у нас буде точна статистика переглядів. :)"
+ },
"showNotice": {
"message": "Показувати сповіщення знову"
},
+ "longDescription": {
+ "message": "SponsorBlock дозволяє пропускати спонсорські вставки, початкові і кінцеві заставки, прохання підписатися і інше в відео на YouTube. SponsorBlock - колективне розширення, яке дозволяє кожному надіслати час початку і кінця подібних сегментів в відео. Після того, як хто-небудь надсилає цю інформацію, всі інші користувачі розширення будуть автоматично пропускати ці сегменти. Так само можна пропускати частини кліпів без музики.",
+ "description": "Full description of the extension on the store pages."
+ },
"website": {
"message": "Сайт",
"description": "Used on Firefox Store Page"
@@ -157,6 +225,9 @@
"message": "Якщо воно Вам все одно не подобається, натисніть «не показувати\".",
"description": "The second line of the message displayed after the notice was upgraded."
},
+ "setStartSponsorShortcut": {
+ "message": "Призначити гарячу клавішу для початку сегмента"
+ },
"setSubmitKeybind": {
"message": "Призначити гарячу клавішу для надсилання"
},
@@ -200,6 +271,15 @@
"audioNotification": {
"message": "Аудіо сповіщення при пропуску"
},
+ "audioNotificationDescription": {
+ "message": "Аудіо сповіщення про пропуск буде відтворюватися кожен раз, коли сегмент пропущений. Якщо відключено (або автоматичний пропуск відключений), звук не буде відтворюватися."
+ },
+ "showTimeWithSkips": {
+ "message": "Показувати тривалість без сегментів"
+ },
+ "showTimeWithSkipsDescription": {
+ "message": "Ця тривалість відображається в дужках поруч з фактичної під смугою прокрутки. Показує тривалість відео без сегментів. Включає сегменти, для яких вибрано \"Відображати в смузі прокрутки\"."
+ },
"youHaveSkipped": {
"message": "Ви пропустили "
},
@@ -245,6 +325,9 @@
"autoSkip": {
"message": "Автоматичний пропуск"
},
+ "showSkipNotice": {
+ "message": "Показувати сповіщення після пропуску сегмента"
+ },
"keybindCurrentlySet": {
"message": ". Він зараз призначений на:"
},
@@ -281,6 +364,9 @@
"minDuration": {
"message": "Мінімальна тривалість (секунд):"
},
+ "minDurationDescription": {
+ "message": "Сегменти коротше цього значення не будуть пропускатися і не будуть показані в плеєрі."
+ },
"shortCheck": {
"message": "Наступний діапазон часу коротше, ніж Ваше налаштування мінімальної тривалості. Це може означати, що він вже був надісланий, і просто ігнорується через це налаштування. Ви дійсно хочете надіслати?"
},
@@ -308,9 +394,15 @@
"areYouSureReset": {
"message": "Ви дійсно хочете це скинути?"
},
+ "confirmPrivacy": {
+ "message": "Було виявлено, що це відео - з доступом по посиланню. Натисніть \"скасування\", якщо не хочете перевіряти для нього сегменти."
+ },
"unlistedCheck": {
"message": "Ігнорувати непублічні відео"
},
+ "whatUnlistedCheck": {
+ "message": "Це налаштування дещо сповільнить SponsorBlock. Пошук сегментів вимагає надсилання ідентифікатора відео на сервер. Якщо Вас турбує надсилання ідентифікаторів прихованих відео по інтернету, включіть це налаштування."
+ },
"mobileUpdateInfo": {
"message": "m.youtube.com тепер підтримується"
},
@@ -323,6 +415,12 @@
"setOptions": {
"message": "Встановити параметри"
},
+ "exportOptionsWarning": {
+ "message": "Увага: зміна налаштувань незворотня і може зламати розширення. Ви дійсно хочете це зробити? Зробіть резервну копію про всяк випадок."
+ },
+ "incorrectlyFormattedOptions": {
+ "message": "JSON-файл некоректно відформатований. Ваші налаштування не були змінені."
+ },
"confirmNoticeTitle": {
"message": "Надіслати сегмент"
},
@@ -338,31 +436,188 @@
"preview": {
"message": "Попередній перегляд"
},
+ "inspect": {
+ "message": "Дослідити"
+ },
"edit": {
"message": "Редагувати"
},
+ "copyDebugInformation": {
+ "message": "Скопіюйте інформацію про налагодження в буфер обміну"
+ },
+ "copyDebugInformationFailed": {
+ "message": "Не вдалося скопіювати в буфер"
+ },
+ "copyDebugInformationOptions": {
+ "message": "Копіює інформацію в буфер обміну, яка буде надана розробнику при виникненні помилки/за запитом розробника. Такі відомості, як ID користувача, список дозволених каналів і адреса користувача сервера не передаються. Однак, відправляються ваш user agent, браузер, операційна система і номер версії розширення. "
+ },
+ "copyDebugInformationComplete": {
+ "message": "Інформація про налагодження скопійована в буфер обміну. Ви можете видалити будь-яку інформацію, якої не хочете ділитися. Збережіть її в текстовий файл, вставте в звіт про помилку."
+ },
"theKey": {
"message": "Ключ"
},
+ "keyAlreadyUsed": {
+ "message": "прив'язана до іншого дії. Будь ласка, оберіть іншу клавішу."
+ },
+ "to": {
+ "message": "до",
+ "description": "Used between segments. Example: 1:20 to 1:30"
+ },
"category_sponsor": {
"message": "Спонсор"
},
+ "category_sponsor_description": {
+ "message": "Рекламні інтеграції, реферальні посилання і реклама безпосередньо. Не для самореклами або рекомендацій різних подій/творців/сайтів/продуктів, які подобаються автору відео."
+ },
+ "category_intro": {
+ "message": "Пауза/заставка"
+ },
+ "category_intro_description": {
+ "message": "Частина відео без значимого контенту. Може бути паузою, статичним кадром, що повторюється анімацією. Це не повинно використовуватися для переходів, що містять інформацію."
+ },
+ "category_intro_short": {
+ "message": "Заставка"
+ },
+ "category_outro": {
+ "message": "Кінцева заставка/титри"
+ },
+ "category_outro_description": {
+ "message": "Титри або час появи кінцевих заставок YouTube. Не для підведення підсумків сказаного у відео."
+ },
+ "category_interaction": {
+ "message": "Нагадування про взаємодію (підписка)"
+ },
+ "category_interaction_description": {
+ "message": "Коли є коротке нагадування поставити лайк, підписатися на канал або в соцмережах в середині вмісту. Якщо ця вставка тривала або про щось конкретне, вона повинна класифікуватися як самореклама."
+ },
+ "category_interaction_short": {
+ "message": "Нагадування про взаємодію"
+ },
+ "category_selfpromo": {
+ "message": "Самореклама/рекомендація"
+ },
+ "category_selfpromo_description": {
+ "message": "Схоже на \"Спонсора\", але для безкоштовної реклами і самореклами. Включає себе вставки про мерчендайз, пожертвування або інформацію про тих, разом з ким було зроблено відео."
+ },
+ "category_music_offtopic": {
+ "message": "Музика: Сегмент без музики"
+ },
+ "category_music_offtopic_description": {
+ "message": "Тільки для використання в музичних кліпах. Включає в себе початкові і кінцеві заставки кліпів."
+ },
+ "category_music_offtopic_short": {
+ "message": "Без музики"
+ },
+ "category_livestream_messages": {
+ "message": "Прямі трансляції: пожертвування/читання повідомлення"
+ },
+ "category_livestream_messages_short": {
+ "message": "Читання повідомлень"
+ },
"disable": {
"message": "Вимкнути"
},
"manualSkip": {
"message": "Пропуск вручну"
},
+ "showOverlay": {
+ "message": "Показувати в смузі прокрутки"
+ },
+ "colorFormatIncorrect": {
+ "message": "Ви ввели колір в неправильному форматі. Це повинно бути 3-х або 6-ти значне шістнадцяткове число з символом # на початку."
+ },
+ "previewColor": {
+ "message": "Колір предпросмотра",
+ "description": "Referring to submissions that have not been sent to the server yet."
+ },
+ "seekBarColor": {
+ "message": "Колір в смузі прокрутки"
+ },
+ "category": {
+ "message": "Категорія"
+ },
+ "skipOption": {
+ "message": "Спосіб пропуску",
+ "description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
+ },
+ "enableTestingServer": {
+ "message": "Включити сервера для бета-тестів"
+ },
+ "whatEnableTestingServer": {
+ "message": "Відправлені вами вставки і голоси НЕ БУДУТЬ НАДІСЛАНІ на головний сервер. Використовуйте тільки для тестування."
+ },
+ "testingServerWarning": {
+ "message": "Усі надіслані вами вставки і голоси НЕ БУДУТЬ НАДІСЛАНІ на головний сервер, поки ви підключені до сервера для тестів. Не забудьте відключити цей параметр, щоб знову надсилати на головний сервер."
+ },
"bracketNow": {
"message": "(Зараз)"
},
"moreCategories": {
"message": "Більше категорій"
},
+ "chooseACategory": {
+ "message": "Оберіть категорію"
+ },
+ "youMustSelectACategory": {
+ "message": "Ви повинні обрати категорію для всіх сегментів, які ви відправляєте!"
+ },
"bracketEnd": {
"message": "(Кінець)"
},
+ "hiddenDueToDownvote": {
+ "message": "приховано: проголосували проти"
+ },
+ "hiddenDueToDuration": {
+ "message": "приховано: занадто коротко"
+ },
+ "channelDataNotFound": {
+ "message": "ID каналу ще не завантажений."
+ },
+ "adblockerIssue": {
+ "message": "Здається, щось блокує можливість SponsorBlock'а отримувати дані про відео. Можливо, це ваш блокувальник реклами. Будь ласка, перейдіть на https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "itCouldBeAdblockerIssue": {
+ "message": "Якщо це повідомлення з'являється занадто часто, це може бути викликано вашим блокувальником реклами. Будь ласка, перейдіть на https://github.com/ajayyy/SponsorBlock/wiki/Fix-Ad-Blocker-Blocking-SponsorBlock's-Requests"
+ },
+ "forceChannelCheck": {
+ "message": "Примусова перевірка каналів перед пропуском"
+ },
+ "whatForceChannelCheck": {
+ "message": "За замовчуванням розширення пропускає сегменти відразу ж, не перевіряючи те, який це канал. За замовчуванням деякі сегменти на початку відео можуть бути пропущені на каналах з білого списку. Увімкнення цієї опції запобіжить це, але всі пропуски будуть мати невелику затримку, оскільки отримання ID каналу може зайняти деякий час. Ця затримка може бути непомітною, якщо у вас швидкий інтернет."
+ },
+ "forceChannelCheckPopup": {
+ "message": "Рекомендуємо увімкнути \"Примусова перевірка каналів перед пропуском\""
+ },
+ "downvoteDescription": {
+ "message": "Невірно вказано час"
+ },
"incorrectCategory": {
"message": "Невірна категорія"
+ },
+ "nonMusicCategoryOnMusic": {
+ "message": "Це відео класифіковано як музичне. Ви впевнені, що в ньому є спонсори? Якщо насправді це \"Сегмент без музики\", відкрийте параметри розширення і увімкніть цю категорію. Потім ви можете надіслати цей сегмент як \"Без музики\", а не як спонсора. Будь ласка, прочитайте керівництво, якщо ви заплуталися."
+ },
+ "multipleSegments": {
+ "message": "Декілька сегментів"
+ },
+ "guidelines": {
+ "message": "Керівництво"
+ },
+ "readTheGuidelines": {
+ "message": "Прочитайте керівництво!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ },
+ "categoryUpdate1": {
+ "message": "Категорії тут!"
+ },
+ "categoryUpdate2": {
+ "message": "Відкрийте налаштування, щоб пропускати початкові і кінцеві заставки, саморекламу та інше."
+ },
+ "unsubmittedWarning": {
+ "message": "Сповіщенняння про невідправлені сегменти"
+ },
+ "unsubmittedWarningDescription": {
+ "message": "Надсилати повідомлення, коли ви йдете зі сторінки відео, сегменти до якого Ви не надіслали"
}
}
diff --git a/public/_locales/vi/messages.json b/public/_locales/vi/messages.json
index 0967ef42..6f920249 100644
--- a/public/_locales/vi/messages.json
+++ b/public/_locales/vi/messages.json
@@ -1 +1,514 @@
-{}
+{
+ "fullName": {
+ "message": "SponsorBlock cho Youtube - Bỏ qua quảng cáo của nhà tài trợ",
+ "description": "Name of the extension."
+ },
+ "Description": {
+ "message": "Bỏ qua quảng cáo của nhà tài trợ, đoạn nài nỉ đòi đăng ký và nhiều thứ tương tự trong các video trên Youtube. Báo cáo đoạn quảng cáo nhà tài trợ trong những video bạn xem để giúp người khác tiết kiệm thời gian.",
+ "description": "Description of the extension."
+ },
+ "400": {
+ "message": "Máy chủ báo yêu cầu này không hợp lệ"
+ },
+ "429": {
+ "message": "Bạn đã đăng quá nhiều đoạn quảng cáo tài trợ cho video này, bạn có chắc có nhiều đến thế không?"
+ },
+ "409": {
+ "message": "Đoạn này đã được đăng rồi"
+ },
+ "channelWhitelisted": {
+ "message": "Kênh đã được bỏ chặn!"
+ },
+ "Segment": {
+ "message": "đoạn quảng cáo"
+ },
+ "Segments": {
+ "message": "đoạn quảng cáo"
+ },
+ "upvoteButtonInfo": {
+ "message": "Bình chọn đoạn này"
+ },
+ "reportButtonTitle": {
+ "message": "Báo cáo"
+ },
+ "reportButtonInfo": {
+ "message": "Báo cáo đoạn này đăng sai."
+ },
+ "Dismiss": {
+ "message": "Đóng"
+ },
+ "Loading": {
+ "message": "Đang tải..."
+ },
+ "Mins": {
+ "message": "Phút"
+ },
+ "Secs": {
+ "message": "Giây"
+ },
+ "Hide": {
+ "message": "Không hiển thị nữa"
+ },
+ "hitGoBack": {
+ "message": "Ấn hủy bỏ qua để quay lại đoạn ban nãy."
+ },
+ "unskip": {
+ "message": "Hủy bỏ qua"
+ },
+ "reskip": {
+ "message": "Bỏ qua lại"
+ },
+ "paused": {
+ "message": "Tạm dừng"
+ },
+ "manualPaused": {
+ "message": "Đã dừng bộ tính giờ"
+ },
+ "confirmMSG": {
+ "message": "Để sửa hoặc xóa từng số riêng, hãy nhấn vào nút thông tin hoặc mở bảng popup tiện ích mở rộng bằng cách nhấn vào biểu tượng tiện ích mở rộng ở góc phía trên bên phải."
+ },
+ "clearThis": {
+ "message": "Bạn có chắc chắn muốn xóa không?\n\n"
+ },
+ "Unknown": {
+ "message": "Có lỗi xảy ra khi đăng đoạn quảng cáo tài trợ, xin vui lòng thử lại sau."
+ },
+ "sponsorFound": {
+ "message": "Video này có đoạn quảng cáo trong kho dữ liệu rồi!"
+ },
+ "sponsor404": {
+ "message": "Không tìm thấy đoạn nào"
+ },
+ "sponsorStart": {
+ "message": "Đoạn quảng cáo bắt đầu vào lúc này"
+ },
+ "sponsorEnd": {
+ "message": "Đoạn quảng cáo kết thúc vào lúc này"
+ },
+ "noVideoID": {
+ "message": "Không tìm thấy video Youtube trong tab này. Nếu bạn chắc chắn đây là tab Youtube, hãy đóng bảng popup này rồi mở lại. Nếu vẫn không được, hãy thử tải lại tab."
+ },
+ "success": {
+ "message": "Thành công!"
+ },
+ "voted": {
+ "message": "Đã bầu chọn!"
+ },
+ "serverDown": {
+ "message": "Có vẻ máy chủ đang không hoạt động. Hãy liên hệ nhà phát triển ngay lập tức."
+ },
+ "connectionError": {
+ "message": "Đã xảy ra lỗi kết nối. Mã của lỗi: "
+ },
+ "wantToSubmit": {
+ "message": "Bạn có muốn đăng đoạn quảng cáo cho video có mã id"
+ },
+ "leftTimes": {
+ "message": "Có vẻ bạn còn vài đoạn quảng cáo chưa đăng. Hãy quay lại trang đó để đăng (đoạn quảng cáo đó chưa bị xóa)."
+ },
+ "clearTimes": {
+ "message": "Xóa đoạn quảng cáo"
+ },
+ "openPopup": {
+ "message": "Mở bảng popup của SponsorBlock"
+ },
+ "closePopup": {
+ "message": "Đóng bảng popup"
+ },
+ "SubmitTimes": {
+ "message": "Đăng đoạn quảng cáo"
+ },
+ "submitCheck": {
+ "message": "Bạn có chắc là muốn đăng không?"
+ },
+ "whitelistChannel": {
+ "message": "Không chặn kênh này"
+ },
+ "removeFromWhitelist": {
+ "message": "Bỏ kênh này khỏi danh sách không chặn"
+ },
+ "voteOnTime": {
+ "message": "Bầu chọn một đoạn quảng cáo"
+ },
+ "soFarUHSubmited": {
+ "message": "Cho tới giờ, bạn đã đăng"
+ },
+ "savedPeopleFrom": {
+ "message": "Bạn đã giúp mọi người bỏ qua "
+ },
+ "viewLeaderboard": {
+ "message": "Xem bảng xếp hạng"
+ },
+ "here": {
+ "message": "ở đây"
+ },
+ "recordTimesDescription": {
+ "message": "Nhấn nút phía dưới khi đoạn quảng cáo bắt đầu và kết thúc để ghi lại và đăng lên kho dữ liệu."
+ },
+ "popupHint": {
+ "message": "Gợi ý: Nhấn phím dấu chấm phẩy khi đang xem video để báo cáo lúc quảng cáo bắt đầu/kết thúc, và nhấn phím ngoặc kép để đăng. (Có thể thay đổi phím trong phần tùy chọn)"
+ },
+ "clearTimesButton": {
+ "message": "Xóa thời gian"
+ },
+ "submitTimesButton": {
+ "message": "Đăng thời gian"
+ },
+ "publicStats": {
+ "message": "Tên này được dùng tại trang thông tin công khai để thể hiện lượng đóng góp của bạn. Xem"
+ },
+ "setUsername": {
+ "message": "Đặt tên người dùng"
+ },
+ "discordAdvert": {
+ "message": "Hãy tham gia server Discord chính thức để đăng gợi ý và phản hồi!"
+ },
+ "hideThis": {
+ "message": "Đóng lại"
+ },
+ "Options": {
+ "message": "Tùy chọn"
+ },
+ "showButtons": {
+ "message": "Hiển thị nút trên trình chạy video Youtube"
+ },
+ "hideButtons": {
+ "message": "Không hiển thị nút trên trình chạy video Youtube"
+ },
+ "hideButtonsDescription": {
+ "message": "Không hiển thị nút trên trình chạy video Youtube để đăng đoạn quảng cáo."
+ },
+ "showInfoButton": {
+ "message": "Hiển thị nút thông tin trên trình chạy video Youtube"
+ },
+ "hideInfoButton": {
+ "message": "Không hiển thị nút thông tin trên trình chạy video Youtube"
+ },
+ "whatInfoButton": {
+ "message": "Đây là nút để mở bảng popup trên trang Youtube."
+ },
+ "hideDeleteButton": {
+ "message": "Không hiển thị nút xóa trên trình chạy video Youtube"
+ },
+ "showDeleteButton": {
+ "message": "Hiển thị nút xóa trên trình chạy video Youtube"
+ },
+ "whatDeleteButton": {
+ "message": "Đây là nút trên trình chạy video Youtube để xóa tất cả những đoạn quảng cáo chưa đăng của bạn trong video đang xem."
+ },
+ "enableViewTracking": {
+ "message": "Bật tính năng theo dõi số quảng cáo được bỏ qua"
+ },
+ "whatViewTracking": {
+ "message": "Tính năng này theo dõi những đoạn quảng cáo bạn đã bỏ qua để cho người dùng khác biết những đoạn họ đăng đã giúp người khác đến mức nào. Tính năng này, cùng với tính năng bầu chọn, còn được dùng làm thước đo để đảm bảo spam không lọt vào kho dữ liệu. Tiện ích mở rộng này gửi tín hiệu đến máy chủ mỗi lần bạn bỏ qua một đoạn quảng cáo. Mong là đa phần mọi người không thay đổi cài đặt này để thông số người xem được chính xác nhất. :)"
+ },
+ "showNotice": {
+ "message": "Hiện thông báo lại"
+ },
+ "longDescription": {
+ "message": "SponsorBlock giúp bạn bỏ qua quảng cáo từ nhà tài trợ, đoạn giới thiệu, đoạn kết, lời nhắc đăng ký kênh, và những phần khó chịu khác trong các video Youtube. SponsorBlock là một tiện ích mở rộng cho trình duyệt, cho phép tất cả người dùng đăng thời điểm bắt đầu và kết thúc của những đoạn quảng cáo từ nhà tài trợ và các đoạn khác trong video Youtube. Sau khi một người đăng thông tin này lên, tất cả mọi người dùng tiện ích mở rộng này sẽ bỏ qua đoạn quảng cáo đó. Bạn cũng có thể bỏ qua phần không có nhạc trong những video âm nhạc.",
+ "description": "Full description of the extension on the store pages."
+ },
+ "website": {
+ "message": "Trang web",
+ "description": "Used on Firefox Store Page"
+ },
+ "sourceCode": {
+ "message": "Mã nguồn",
+ "description": "Used on Firefox Store Page"
+ },
+ "noticeUpdate": {
+ "message": "Thông báo đã được nâng cấp!",
+ "description": "The first line of the message displayed after the notice was upgraded."
+ },
+ "noticeUpdate2": {
+ "message": "Nếu bạn vẫn không thích, hãy nhấn nút không hiển thị lại.",
+ "description": "The second line of the message displayed after the notice was upgraded."
+ },
+ "setStartSponsorShortcut": {
+ "message": "Đặt phím tắt đánh dấu đoạn quảng cáo bắt đầu"
+ },
+ "setSubmitKeybind": {
+ "message": "Đặt phím tắt đăng đoạn quảng cáo"
+ },
+ "keybindDescription": {
+ "message": "Chọn phím bằng cách gõ phím"
+ },
+ "keybindDescriptionComplete": {
+ "message": "Phím tắt đã được đặt thành: "
+ },
+ "0": {
+ "message": "Kết nối quá hạn thời gian. Hãy kiểm tra đường truyền mạng của bạn. Nếu mạng của bạn vẫn hoạt động, có thể máy chủ đang bị quá tải hoặc không hoạt động."
+ },
+ "disableSkipping": {
+ "message": "Tắt SponsorBlock"
+ },
+ "enableSkipping": {
+ "message": "Bật SponsorBlock"
+ },
+ "yourWork": {
+ "message": "Thành quả của bạn",
+ "description": "Used to describe the section that will show you the statistics from your submissions."
+ },
+ "502": {
+ "message": "Máy chủ có vẻ đang bị quá tải. Hãy thử lại sau vài giây nữa."
+ },
+ "errorCode": {
+ "message": "Mã lỗi: "
+ },
+ "skip": {
+ "message": "Bỏ qua"
+ },
+ "skipped": {
+ "message": "Đã bỏ qua"
+ },
+ "disableAutoSkip": {
+ "message": "Tắt tự động bỏ qua quảng cáo"
+ },
+ "enableAutoSkip": {
+ "message": "Bật tự động bỏ qua quảng cáo"
+ },
+ "audioNotification": {
+ "message": "Thông báo bằng âm thanh khi bỏ qua quảng cáo"
+ },
+ "audioNotificationDescription": {
+ "message": "Thông báo bằng âm thanh sẽ được bật khi bỏ qua quảng cáo. Nếu tắt tính năng này (hoặc tính năng tự động bỏ qua quảng cáo bị tắt), sẽ không có âm thanh kêu."
+ },
+ "showTimeWithSkips": {
+ "message": "Hiển thị độ dài video khi lược bỏ quảng cáo"
+ },
+ "showTimeWithSkipsDescription": {
+ "message": "Độ dài này được hiển thị trong ngoặc đơn, bên cạnh độ dài hiện tại, phía dưới thanh tiến trình video. Con số này là độ dài video trừ đi các đoạn quảng cáo, bao gồm cả những đoạn được đánh dấu là chỉ \"Hiển thị trong thanh tiến trình video\"."
+ },
+ "youHaveSkipped": {
+ "message": "Bạn đã bỏ qua "
+ },
+ "youHaveSaved": {
+ "message": "Bạn đã tiết kiệm cho mình "
+ },
+ "minLower": {
+ "message": "phút"
+ },
+ "minsLower": {
+ "message": "phút"
+ },
+ "hourLower": {
+ "message": "giờ"
+ },
+ "hoursLower": {
+ "message": "giờ"
+ },
+ "youHaveSavedTime": {
+ "message": "Bạn đã giúp người khác tiết kiệm"
+ },
+ "youHaveSavedTimeEnd": {
+ "message": " của đời họ."
+ },
+ "statusReminder": {
+ "message": "Truy cập trang status.sponsor.ajay.app để biết tình trạng máy chủ."
+ },
+ "changeUserID": {
+ "message": "Nhập/Xuất mã người dùng của bạn"
+ },
+ "whatChangeUserID": {
+ "message": "Bạn nên giữ bí mật mã này. Nó như mật khẩu vậy, do đó không nên chia sẻ với người khác. Nếu ai đó có mã này, họ có thể giả mạo bạn."
+ },
+ "setUserID": {
+ "message": "Đặt mã người dùng"
+ },
+ "userIDChangeWarning": {
+ "message": "Cảnh báo: Việc thay đổi mã người dùng có tác dụng vĩnh viễn. Bạn có chắc muốn thay đổi không? Hãy nhớ sao lưu lại mã người dùng cũ để đề phòng."
+ },
+ "createdBy": {
+ "message": "Được tạo bởi"
+ },
+ "autoSkip": {
+ "message": "Tự động bỏ qua quảng cáo"
+ },
+ "showSkipNotice": {
+ "message": "Hiển thị thông báo sau khi bỏ qua quảng cáo"
+ },
+ "keybindCurrentlySet": {
+ "message": ". Phím đang được đặt:"
+ },
+ "supportInvidious": {
+ "message": "Hỗ trợ Invidious"
+ },
+ "supportInvidiousDescription": {
+ "message": "Invidious (invidio.us) là ứng dụng Youtube của bên thứ ba. Để bật hỗ trợ cho ứng dụng này, bạn phải chấp nhận các yêu cầu cho phép thêm. Ứng dụng này không có tác dụng trong chế độ ẩn danh của Chrome và các trình duyệt có nền tảng Chromium."
+ },
+ "optionsInfo": {
+ "message": "Bật hỗ trợ cho Invidious, tắt tự động bỏ qua quảng cáo, không hiển thị nút, và nhiều tùy chọn khác."
+ },
+ "addInvidiousInstance": {
+ "message": "Thêm phiên bản của Invidious"
+ },
+ "addInvidiousInstanceDescription": {
+ "message": "Thêm một phiên bản tùy chọn của Invidious. Phải dùng định dạng của RIÊNG tên miền thôi. Ví dụ: invidious.ajay.app"
+ },
+ "add": {
+ "message": "Thêm vào"
+ },
+ "addInvidiousInstanceError": {
+ "message": "Đây là tên miền không hợp lệ. Chỉ dùng RIÊNG phần tên miền thôi. Ví dụ: Invidious.ajay.app"
+ },
+ "resetInvidiousInstance": {
+ "message": "Thiết lập lại danh sách phiên bản Invidious"
+ },
+ "resetInvidiousInstanceAlert": {
+ "message": "Bạn đang sắp thiết lập lại danh sách phiên bản Invidious"
+ },
+ "currentInstances": {
+ "message": "Các phiên bản hiện tại:"
+ },
+ "minDuration": {
+ "message": "Độ dài tối thiểu (giây):"
+ },
+ "minDurationDescription": {
+ "message": "Đoạn quảng cáo ngắn hơn giá trị được đặt sẽ không bị bỏ qua hoặc hiển thị trong trình chạy video."
+ },
+ "shortCheck": {
+ "message": "Đoạn quảng cáo sau ngắn hơn tùy chọn độ dài ngắn nhất của bạn. Điều này có thể có nghĩa là nó đã được đăng rồi, và không được bỏ qua vì tùy chọn này. Bạn có chắc muốn đăng nó không?"
+ },
+ "showUploadButton": {
+ "message": "Hiển thị nút tải lên"
+ },
+ "whatUploadButton": {
+ "message": "Nút này xuất hiện trên trình chạy video Youtube sau khi bạn chọn mốc thời gian và sẵn sàng đăng đoạn quảng cáo."
+ },
+ "customServerAddress": {
+ "message": "Địa chỉ máy chủ SponsorBlock"
+ },
+ "customServerAddressDescription": {
+ "message": "Địa chỉ SponsorBlock dùng để liên hệ với máy chủ.\nTrừ khi bạn có máy chủ riêng, bạn không nên thay đổi mục này."
+ },
+ "save": {
+ "message": "Lưu"
+ },
+ "reset": {
+ "message": "Thiết lập lại"
+ },
+ "customAddressError": {
+ "message": "Địa chỉ này sai hình thức. Hãy đảm bảo rằng địa chỉ có http:// hoặc https:// ở đầu và không có dấu gạch chéo ở cuối."
+ },
+ "areYouSureReset": {
+ "message": "Bạn có chắc mình muốn thiết lập lại không?"
+ },
+ "confirmPrivacy": {
+ "message": "Video này là video không công khai. Ấn hủy nếu bạn không muốn tìm xem có đoạn quảng cáo không."
+ },
+ "unlistedCheck": {
+ "message": "Bỏ qua video không công khai/riêng tư"
+ },
+ "whatUnlistedCheck": {
+ "message": "Cài đặt này sẽ làm chậm SponsorBlock một chút. Mã video cần phải được gửi đến máy chủ để truy vấn đoạn quảng cáo. Nếu bạn quan ngại về việc mã video không công khai bị gửi qua mạng, hãy bật tùy chọn này."
+ },
+ "mobileUpdateInfo": {
+ "message": "m.youtube.com đã được hỗ trợ"
+ },
+ "exportOptions": {
+ "message": "Nhập/xuất tất cả tùy chọn"
+ },
+ "whatExportOptions": {
+ "message": "Đây là toàn bộ cấu hình của bạn trong tệp JSON. Nó chứa cả mã người dùng của bạn, nên hãy chia sẻ cẩn thận."
+ },
+ "setOptions": {
+ "message": "Đặt tùy chọn"
+ },
+ "exportOptionsWarning": {
+ "message": "Cảnh báo: Việc thay đổi tùy chọn có tác dụng vĩnh viễn và có thể ảnh hưởng đến việc cài đặt. Bạn có chắc muốn thay đổi không? Hãy nhớ sao lưu lại tùy chọn cũ để đề phòng."
+ },
+ "incorrectlyFormattedOptions": {
+ "message": "Tệp JSON này không được định dạng đúng cách. Tùy chọn của bạn chưa được thay đổi."
+ },
+ "confirmNoticeTitle": {
+ "message": "Đăng đoạn quảng cáo"
+ },
+ "submit": {
+ "message": "Đăng"
+ },
+ "cancel": {
+ "message": "Huỷ"
+ },
+ "delete": {
+ "message": "Xóa"
+ },
+ "preview": {
+ "message": "Xem trước"
+ },
+ "edit": {
+ "message": "Chỉnh sửa"
+ },
+ "copyDebugInformation": {
+ "message": "Sao chép thông tin gỡ lỗi vào khay nhớ tạm"
+ },
+ "copyDebugInformationFailed": {
+ "message": "Không sao chép được vào khay nhớ tạm"
+ },
+ "theKey": {
+ "message": "Phím"
+ },
+ "keyAlreadyUsed": {
+ "message": "đang được đặt thực hiện hành động khác. Xin hãy chọn phím khác."
+ },
+ "to": {
+ "message": "đến",
+ "description": "Used between segments. Example: 1:20 to 1:30"
+ },
+ "category_sponsor": {
+ "message": "Nhà tài trợ"
+ },
+ "category_intro": {
+ "message": "Tạm dừng/Giới thiệu"
+ },
+ "category_intro_short": {
+ "message": "Tạm ngừng"
+ },
+ "category_outro": {
+ "message": "Màn hình kết thúc/Danh đề"
+ },
+ "category_interaction": {
+ "message": "Nhắc tương tác (Đăng ký)"
+ },
+ "category_selfpromo": {
+ "message": "Quảng cáo không trả công/Tự quảng cáo"
+ },
+ "category_music_offtopic": {
+ "message": "Nhạc: Phần không nhạc"
+ },
+ "category_music_offtopic_short": {
+ "message": "Không có nhạc"
+ },
+ "disable": {
+ "message": "Tắt"
+ },
+ "manualSkip": {
+ "message": "Bỏ qua thủ công"
+ },
+ "previewColor": {
+ "message": "Xem thử màu",
+ "description": "Referring to submissions that have not been sent to the server yet."
+ },
+ "category": {
+ "message": "Thể loại"
+ },
+ "bracketNow": {
+ "message": "(Bây giờ)"
+ },
+ "bracketEnd": {
+ "message": "(Kết thúc)"
+ },
+ "incorrectCategory": {
+ "message": "Sai thể loại"
+ },
+ "multipleSegments": {
+ "message": "Nhiều đoạn"
+ },
+ "guidelines": {
+ "message": "Hướng dẫn"
+ },
+ "readTheGuidelines": {
+ "message": "Hãy đọc hướng dẫn!!",
+ "description": "Show the first time they submit or if they are \"high risk\""
+ }
+}
diff --git a/public/_locales/zh_CN/messages.json b/public/_locales/zh_CN/messages.json
index 7f1ef442..1b28003d 100644
--- a/public/_locales/zh_CN/messages.json
+++ b/public/_locales/zh_CN/messages.json
@@ -470,9 +470,6 @@
"incorrectCategory": {
"message": "错误的类别"
},
- "nonMusicCategoryOnMusic": {
- "message": "此视频被归类为音乐。您确定要提交带有非音乐类别的片段吗?除非此视频实际上不是音乐,否则您不应提交此片段。如果您感到困惑,请阅读指南。"
- },
"multipleSegments": {
"message": "多个片段"
},
diff --git a/public/_locales/zh_TW/messages.json b/public/_locales/zh_TW/messages.json
index 0967ef42..c03f00c3 100644
--- a/public/_locales/zh_TW/messages.json
+++ b/public/_locales/zh_TW/messages.json
@@ -1 +1,298 @@
-{}
+{
+ "fullName": {
+ "message": "SponsorBlock for YouTube - 跳過贊助廣告",
+ "description": "Name of the extension."
+ },
+ "Description": {
+ "message": "在YouTube影片跳過贊助廣告、訂閱提醒……和更多。 在您觀賞的影片上標記贊助廣告來節省大家的時間。",
+ "description": "Description of the extension."
+ },
+ "400": {
+ "message": "伺服器說這個請求無效"
+ },
+ "429": {
+ "message": "您為這部影片提交了過多的贊助廣告片段,您確定有這麼多嗎?"
+ },
+ "409": {
+ "message": "這已經被提交過了"
+ },
+ "channelWhitelisted": {
+ "message": "頻道被加入了白名單!"
+ },
+ "Segment": {
+ "message": "片段"
+ },
+ "Segments": {
+ "message": "片段"
+ },
+ "upvoteButtonInfo": {
+ "message": "為這個提交按讚"
+ },
+ "reportButtonTitle": {
+ "message": "檢舉"
+ },
+ "reportButtonInfo": {
+ "message": "將這個提交檢舉為不正確"
+ },
+ "Dismiss": {
+ "message": "忽略"
+ },
+ "Loading": {
+ "message": "載入中…"
+ },
+ "Mins": {
+ "message": "分"
+ },
+ "Secs": {
+ "message": "秒"
+ },
+ "Hide": {
+ "message": "永不顯示"
+ },
+ "hitGoBack": {
+ "message": "點擊取消跳過來回到您原本的位置"
+ },
+ "unskip": {
+ "message": "取消跳過"
+ },
+ "reskip": {
+ "message": "繼續跳過"
+ },
+ "paused": {
+ "message": "已暫停"
+ },
+ "manualPaused": {
+ "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": "已投票!"
+ },
+ "serverDown": {
+ "message": "看起來伺服器已離線。立即聯繫開發者"
+ },
+ "connectionError": {
+ "message": "已發生連線錯誤。錯誤碼: "
+ },
+ "wantToSubmit": {
+ "message": "您想為這個影片ID提交嗎"
+ },
+ "leftTimes": {
+ "message": "您好像沒有提及一些片段。返回至該頁面來提交(它們尚未被刪除)"
+ },
+ "clearTimes": {
+ "message": "清除片段"
+ },
+ "openPopup": {
+ "message": "打開 SponsorBlock 彈出視窗"
+ },
+ "closePopup": {
+ "message": "關閉彈出視窗"
+ },
+ "SubmitTimes": {
+ "message": "提交分段"
+ },
+ "submitCheck": {
+ "message": "您確定要提交這個嗎?"
+ },
+ "whitelistChannel": {
+ "message": "將頻道列入白名單"
+ },
+ "removeFromWhitelist": {
+ "message": "將頻道從白名單移除"
+ },
+ "voteOnTime": {
+ "message": "為分段投票"
+ },
+ "soFarUHSubmited": {
+ "message": "您目前已提交"
+ },
+ "savedPeopleFrom": {
+ "message": "您已為大家節省 "
+ },
+ "viewLeaderboard": {
+ "message": "查看排行榜"
+ },
+ "here": {
+ "message": "這裡"
+ },
+ "recordTimesDescription": {
+ "message": "點擊下方的按鈕來錄製分段的始與末"
+ },
+ "popupHint": {
+ "message": "小提醒:在聚焦於影片時按下分號鍵來記錄分段的始與末然後按下冒號鍵來提交(您可以透過選項來更改這項設定)"
+ },
+ "clearTimesButton": {
+ "message": "清除時間"
+ },
+ "submitTimesButton": {
+ "message": "提交時間"
+ },
+ "publicStats": {
+ "message": "這會被公開的統計頁面來展示您的貢獻。查看它"
+ },
+ "setUsername": {
+ "message": "設定使用者名稱"
+ },
+ "discordAdvert": {
+ "message": "快加入官方 Discord 伺服器來給予建議和反應!"
+ },
+ "hideThis": {
+ "message": "隱藏這"
+ },
+ "Options": {
+ "message": "選項"
+ },
+ "showButtons": {
+ "message": "在 YouTube 播放器上顯示按鈕"
+ },
+ "hideButtons": {
+ "message": "在 YouTube 播放器上隱藏按鈕"
+ },
+ "hideButtonsDescription": {
+ "message": "這會隱藏 YouTube 播放器上提交片段的按鈕"
+ },
+ "showInfoButton": {
+ "message": "在 YouTube 播放器上顯示資訊按鈕"
+ },
+ "hideInfoButton": {
+ "message": "在 YouTube 播放器上隱藏資訊按鈕"
+ },
+ "whatInfoButton": {
+ "message": "這個按鈕可用來在 YouTube 頁面打開彈出視窗"
+ },
+ "hideDeleteButton": {
+ "message": "在 YouTube 播放器上隱藏刪除按鈕"
+ },
+ "showDeleteButton": {
+ "message": "在 YouTube 播放器上顯示刪除按鈕"
+ },
+ "whatDeleteButton": {
+ "message": "這個按鈕可用來在 YouTube 播放器清除所有未提交的片段"
+ },
+ "enableViewTracking": {
+ "message": "啟用跳過次數追蹤"
+ },
+ "whatViewTracking": {
+ "message": "這個功能會追蹤您跳過的片段來讓其他使用者知道您的提交幫助了其他人多少,並同時用作計算錯誤提交的方式。這個擴充功能會在您每一次跳過片段時向伺服器回報。希望大家盡量不要改變這個設定來確保資料的正確性。 :)"
+ },
+ "showNotice": {
+ "message": "再次顯示通知"
+ },
+ "longDescription": {
+ "message": "SponsorBlock 讓您可以跳過贊助工商,開場動畫,結束動畫,訂閱提醒等煩人的 YouTube 影片片段。SponsorBlock 是個大眾外包的網頁瀏覽器擴充功能,能讓任何人提交贊助片段的始與末。當一個人提交這個片段後,所有使用這個擴充功能的人都可以跳過該片段。您也可以跳過在音樂中的非音樂片段",
+ "description": "Full description of the extension on the store pages."
+ },
+ "website": {
+ "message": "網址",
+ "description": "Used on Firefox Store Page"
+ },
+ "sourceCode": {
+ "message": "原始碼",
+ "description": "Used on Firefox Store Page"
+ },
+ "noticeUpdate": {
+ "message": "通知已升級!",
+ "description": "The first line of the message displayed after the notice was upgraded."
+ },
+ "noticeUpdate2": {
+ "message": "如果您還是不喜歡它,請按下永不顯示按鈕",
+ "description": "The second line of the message displayed after the notice was upgraded."
+ },
+ "setStartSponsorShortcut": {
+ "message": "設定開始片段快捷鍵"
+ },
+ "setSubmitKeybind": {
+ "message": "設定提交快捷鍵"
+ },
+ "keybindDescription": {
+ "message": "按下您想選擇的按鍵"
+ },
+ "keybindDescriptionComplete": {
+ "message": "快捷鍵已設定為: "
+ },
+ "0": {
+ "message": "連線超時。請檢查您的網路連線。若您的網路運作正常,則可能是伺服器超載或離線"
+ },
+ "disableSkipping": {
+ "message": "停用 SponsorBlock"
+ },
+ "enableSkipping": {
+ "message": "啟用 SponsorBlock"
+ },
+ "yourWork": {
+ "message": "您的成果",
+ "description": "Used to describe the section that will show you the statistics from your submissions."
+ },
+ "502": {
+ "message": "伺服器可能超載。請稍後嘗試"
+ },
+ "errorCode": {
+ "message": "錯誤代碼: "
+ },
+ "skip": {
+ "message": "略過"
+ },
+ "skipped": {
+ "message": "已跳過"
+ },
+ "disableAutoSkip": {
+ "message": "停用自動跳過"
+ },
+ "enableAutoSkip": {
+ "message": "啟用自動跳過"
+ },
+ "audioNotification": {
+ "message": "跳過時發出聲響"
+ },
+ "audioNotificationDescription": {
+ "message": "跳過時發出聲響會在跳過片段時播放聲音。當停用後(或自動跳過被停用)將不會發出聲響"
+ },
+ "showTimeWithSkips": {
+ "message": "顯示已移除跳過後的總時間"
+ },
+ "minLower": {
+ "message": "分鐘"
+ },
+ "minsLower": {
+ "message": "分鐘"
+ },
+ "hourLower": {
+ "message": "小時"
+ },
+ "hoursLower": {
+ "message": "小時"
+ },
+ "youHaveSavedTime": {
+ "message": "您已為大家節省"
+ },
+ "youHaveSavedTimeEnd": {
+ "message": " 的生命。"
+ }
+}
diff --git a/public/options/options.html b/public/options/options.html
index 5a5e6caa..04620a9e 100644
--- a/public/options/options.html
+++ b/public/options/options.html
@@ -304,6 +304,40 @@
<br/>
<br/>
+
+ <div option-type="toggle" sync-option="hashPrefix">
+ <label class="switch-container" label-name="__MSG_enableQueryByHashPrefix__">
+ <label class="switch">
+ <input type="checkbox" checked>
+ <span class="slider round"></span>
+ </label>
+ </label>
+
+ <br/>
+ <br/>
+
+ <div class="small-description">__MSG_whatQueryByHashPrefix__</div>
+ </div>
+
+ <br/>
+ <br/>
+
+ <div option-type="toggle" sync-option="refetchWhenNotFound">
+ <label class="switch-container" label-name="__MSG_enableRefetchWhenNotFound__">
+ <label class="switch">
+ <input type="checkbox" checked>
+ <span class="slider round"></span>
+ </label>
+ </label>
+
+ <br/>
+ <br/>
+
+ <div class="small-description">__MSG_whatRefetchWhenNotFound__</div>
+ </div>
+
+ <br/>
+ <br/>
<div option-type="toggle" sync-option="checkForUnlistedVideos">
<label class="switch-container" label-name="__MSG_unlistedCheck__">
diff --git a/src/components/SponsorTimeEditComponent.tsx b/src/components/SponsorTimeEditComponent.tsx
index 396bfba8..0f608027 100644
--- a/src/components/SponsorTimeEditComponent.tsx
+++ b/src/components/SponsorTimeEditComponent.tsx
@@ -219,6 +219,14 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
): ""}
{(!isNaN(segment[1])) ? (
+ <span id={"sponsorTimeInspectButton" + this.idSuffix}
+ className="sponsorTimeEditButton"
+ onClick={this.inspectTime.bind(this)}>
+ {chrome.i18n.getMessage("inspect")}
+ </span>
+ ): ""}
+
+ {(!isNaN(segment[1])) ? (
<span id={"sponsorTimeEditButton" + this.idSuffix}
className="sponsorTimeEditButton"
onClick={this.toggleEditTime.bind(this)}>
@@ -346,6 +354,20 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
this.props.contentContainer().previewTime(skipTime - 2);
}
+ inspectTime(): void {
+ let sponsorTimes = this.props.contentContainer().sponsorTimesSubmitting;
+ let index = this.props.index;
+
+ let skipTime = sponsorTimes[index].segment[0];
+
+ if (this.state.editing) {
+ // Save edits before inspecting
+ this.saveEditTimes();
+ }
+
+ this.props.contentContainer().previewTime(skipTime + 0.000001, false);
+ }
+
deleteTime(): void {
let sponsorTimes = this.props.contentContainer().sponsorTimesSubmitting;
let index = this.props.index;
diff --git a/src/config.ts b/src/config.ts
index 5d34df6b..54f1201c 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -6,7 +6,6 @@ const utils = new Utils();
interface SBConfig {
userID: string,
- // sponsorTimes: SBMap<string, SponsorTime[]>,
segmentTimes: SBMap<string, SponsorTime[]>,
defaultCategory: string,
whitelistedChannels: string[],
@@ -35,6 +34,8 @@ interface SBConfig {
audioNotificationOnSkip,
checkForUnlistedVideos: boolean,
testingServer: boolean,
+ hashPrefix: boolean,
+ refetchWhenNotFound: boolean,
// What categories should be skipped
categorySelections: CategorySelection[],
@@ -159,13 +160,15 @@ var Config: SBObject = {
hideUploadButtonPlayerControls: false,
hideDiscordLaunches: 0,
hideDiscordLink: false,
- invidiousInstances: ["invidio.us", "invidious.snopyta.org"],
+ invidiousInstances: ["invidious.snopyta.org"],
supportInvidious: false,
serverAddress: CompileConfig.serverAddress,
minDuration: 0,
audioNotificationOnSkip: false,
checkForUnlistedVideos: false,
testingServer: false,
+ hashPrefix: false,
+ refetchWhenNotFound: true,
categorySelections: [{
name: "sponsor",
diff --git a/src/content.ts b/src/content.ts
index ad6f59c0..48b216fc 100644
--- a/src/content.ts
+++ b/src/content.ts
@@ -618,12 +618,36 @@ function sponsorsLookup(id: string) {
categories.push(categorySelection.name);
}
- utils.asyncRequestToServer('GET', "/api/skipSegments", {
- videoID: id,
- categories
- }).then(async (response: FetchResponse) => {
+ // Check for hashPrefix setting
+ let getRequest;
+ if (Config.config.hashPrefix) {
+ getRequest = utils.asyncRequestToServer('GET', "/api/skipSegments/" + utils.getHash(id, 1).substr(0,4), {
+ categories
+ });
+ } else {
+ getRequest = utils.asyncRequestToServer('GET', "/api/skipSegments", {
+ videoID: id,
+ categories
+ });
+ }
+ getRequest.then(async (response: FetchResponse) => {
if (response?.ok) {
- let recievedSegments: SponsorTime[] = JSON.parse(response.responseText);
+ let result = JSON.parse(response.responseText);
+ if (Config.config.hashPrefix) {
+ result = result.filter((video) => video.videoID === id);
+ if (result.length > 0) {
+ result = result[0].segments;
+ if (result.length === 0) { // return if no segments found
+ retryFetch(id);
+ return;
+ }
+ } else { // return if no video found
+ retryFetch(id);
+ return;
+ }
+ }
+
+ let recievedSegments: SponsorTime[] = result;
if (!recievedSegments.length) {
console.error("[SponsorBlock] Server returned malformed response: " + JSON.stringify(recievedSegments));
return;
@@ -667,32 +691,38 @@ function sponsorsLookup(id: string) {
sponsorLookupRetries = 0;
} else if (response?.status === 404) {
- sponsorDataFound = false;
-
- //check if this video was uploaded recently
- utils.wait(() => !!videoInfo).then(() => {
- let dateUploaded = videoInfo?.microformat?.playerMicroformatRenderer?.uploadDate;
-
- //if less than 3 days old
- if (Date.now() - new Date(dateUploaded).getTime() < 259200000) {
- //TODO lower when server becomes better
- setTimeout(() => sponsorsLookup(id), 180000);
- }
- });
-
- sponsorLookupRetries = 0;
+ retryFetch(id);
} else if (sponsorLookupRetries < 90 && !recheckStarted) {
recheckStarted = true;
//TODO lower when server becomes better (back to 1 second)
//some error occurred, try again in a second
- setTimeout(() => sponsorsLookup(id), 10000);
+ setTimeout(() => sponsorsLookup(id), 10000 + Math.random() * 30000);
sponsorLookupRetries++;
}
});
}
+function retryFetch(id: string): void {
+ if (!Config.config.refetchWhenNotFound) return;
+
+ sponsorDataFound = false;
+
+ //check if this video was uploaded recently
+ utils.wait(() => !!videoInfo).then(() => {
+ let dateUploaded = videoInfo?.microformat?.playerMicroformatRenderer?.uploadDate;
+
+ //if less than 3 days old
+ if (Date.now() - new Date(dateUploaded).getTime() < 259200000) {
+ //TODO lower when server becomes better
+ setTimeout(() => sponsorsLookup(id), 120000);
+ }
+ });
+
+ sponsorLookupRetries = 0;
+}
+
/**
* Only should be used when it is okay to skip a sponsor when in the middle of it
*
@@ -962,11 +992,11 @@ function getStartTimes(sponsorTimes: SponsorTime[], includeIntersectingSegments:
*
* @param time
*/
-function previewTime(time: number) {
+function previewTime(time: number, unpause = true) {
video.currentTime = time;
// Unpause the video if needed
- if (video.paused){
+ if (unpause && video.paused){
video.play();
}
}
diff --git a/src/types.ts b/src/types.ts
index 3d0f783e..bb1b0c6d 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -16,7 +16,7 @@ interface ContentContainer {
sponsorSubmissionNotice: SubmissionNotice,
resetSponsorSubmissionNotice: () => void,
changeStartSponsorButton: (showStartSponsor: any, uploadButtonVisible: any) => Promise<boolean>,
- previewTime: (time: number) => void,
+ previewTime: (time: number, unpause?: boolean) => void,
videoInfo: any,
getRealCurrentTime: () => number
}
diff --git a/src/utils.ts b/src/utils.ts
index 43cdc68e..d95da7dc 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -1,5 +1,6 @@
import Config from "./config";
import { CategorySelection, SponsorTime, FetchResponse } from "./types";
+import { sha256 } from 'js-sha256';
import * as CompileConfig from "../config.json";
@@ -378,6 +379,20 @@ class Utils {
isFirefox(): boolean {
return typeof(browser) !== "undefined";
}
+
+ getHash(value: string, times=5000): string {
+ if (times <= 0) return "";
+
+ for (let i = 0; i < times; i++) {
+ let hash = sha256.create();
+ hash.update(value);
+ hash.hex();
+ value = hash.toString();
+ }
+
+ return value;
+ }
+
}
export default Utils; \ No newline at end of file