mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-07 03:57:09 +03:00
Compare commits
17 Commits
visual-seg
...
3.3.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
028374e62d | ||
|
|
dc1e5ce762 | ||
|
|
8fcf8ac46c | ||
|
|
ef70e71051 | ||
|
|
23a91c626d | ||
|
|
c92f63af36 | ||
|
|
0a21ef7af0 | ||
|
|
5a74a28520 | ||
|
|
1bfb5cfb13 | ||
|
|
59f8f82655 | ||
|
|
2064afb235 | ||
|
|
ebcb600e99 | ||
|
|
9ec984065e | ||
|
|
63cfe760b6 | ||
|
|
1a717542c7 | ||
|
|
de607d317f | ||
|
|
22ecc05a55 |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "__MSG_fullName__",
|
||||
"short_name": "SponsorBlock",
|
||||
"version": "3.2",
|
||||
"version": "3.3.1",
|
||||
"default_locale": "en",
|
||||
"description": "__MSG_Description__",
|
||||
"homepage_url": "https://sponsor.ajay.app",
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Скриване завинаги"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Получихте предупреждение и временно не можете да изпращате сегменти. Това означава, че забелязахме, че допускате някои често срещани грешки, които не са злонамерени, и просто искаме да изясним правилата. Можете също да се присъедините към този чат с помощта на discord.gg/SponsorBlock или matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Получихте предупреждение и временно не можете да изпращате сегменти. Това означава, че забелязахме, че допускате някои често срещани грешки, които не са злонамерени. Моля, просто потвърдете, че разбирате правилата и ние ще премахнем предупреждението. Можете също да се присъедините към този чат от discord.gg/SponsorBlock или matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Гласуването е отхвърлено поради предупреждение. Щракнете, за да отворите чат и да го разрешите, или се върнете по-късно, когато имате време.",
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Skrýt napořád"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Dostali jste varování a nemůžete dočasně přidávat segmenty. To znamená, že jsme si všimli, že děláte běžné chyby, které nejsou škodlivé, jen chceme vyjasnit pravidla. Také se můžete připojit do tohoto chatu pomocí discord.gg/SponsorBlock nebo matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Dostali jste varování a nemůžete dočasně přidávat segmenty. To znamená, že jsme si všimli, že děláte běžné chyby, které nejsou škodlivé, stačí potvrdit přečtení pravidel a odebereme varování. Tají se můžete připojit do tohoto chatu pomocí discord.gg/SponsorBlock nebo matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hlas zamítnut kvůli varování. Klikněte pro otevření chatu pro vyřešení, nebo se vraťte později, až budete mít čas.",
|
||||
|
||||
@@ -320,7 +320,7 @@
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} stummgeschalten",
|
||||
"message": "{0} stummgeschaltet",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Dauerhaft verbergen"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Du wurdest verwarnt und kannst vorrübergehend keine Segmente einreichen. Es ist uns aufgefallen, dass du gängige Fehler machst, welche nicht schädlich sind, und wir wollen dir nur die Regeln klar machen. Du kannst auch dem Chat durch discord.gg/SponsorBlock oder matrix.to/#/#sponsor:ajay.app beitreten"
|
||||
"message": "Du hast eine Warnung erhalten und kannst vorübergehend keine Segmente einreichen. Uns ist nämlich aufgefallen, dass du nicht bösartige Fehler in deinen Einreichungen machst. Bitte bestätige, dass du die Regeln verstanden hast. Darauffolgend können wir die Warnung entfernen. Du kannst diesem Chat auch mit discord.gg/SponsorBlock oder matrix.to/#/#sponsor:ajay.app beitreten"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Abstimmung wegen einer Warnung abgelehnt. Klicke hier um einen Chat zu öffnen, oder versuch es später erneut, wenn du Zeit hast.",
|
||||
|
||||
@@ -182,15 +182,15 @@
|
||||
"hideButtonsDescription": {
|
||||
"message": "This hides the buttons that appear on the YouTube player to submit skip segments."
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "Keep Skip to Highlight Button on Player"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Show Info Button On YouTube Player"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Hide Info Button On YouTube Player"
|
||||
},
|
||||
"whatInfoButton": {
|
||||
"message": "This is the button that opens up a popup in the YouTube page."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Auto-hide Info Button"
|
||||
},
|
||||
@@ -200,9 +200,6 @@
|
||||
"showDeleteButton": {
|
||||
"message": "Show Delete Button On YouTube Player"
|
||||
},
|
||||
"whatDeleteButton": {
|
||||
"message": "This is the button on the YouTube player that will clear all your un-submitted segments for the current video."
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Enable Skip Count Tracking"
|
||||
},
|
||||
@@ -442,9 +439,6 @@
|
||||
"showUploadButton": {
|
||||
"message": "Show Upload Button"
|
||||
},
|
||||
"whatUploadButton": {
|
||||
"message": "This button appears on the YouTube player after you have selected a timestamp and are ready to submit."
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "SponsorBlock Server Address"
|
||||
},
|
||||
@@ -742,7 +736,7 @@
|
||||
"message": "Hide forever"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "You got a warning and cannot submit segments temporarily. This means that we noticed you were making some common mistakes that are not malicious, and we just want to clarify the rules. You can also join this chat using discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "You got a warning and cannot submit segments temporarily. This means that we noticed you were making some common mistakes that are not malicious, please just confirm that you understand the rules and we will remove the warning. You can also join this chat using discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Vote rejected due to a warning. Click to open a chat to resolve it, or come back later when you have time.",
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Ocultar para siempre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Ha recibido una advertencia y no puede enviar segmentos temporalmente. Esto significa que hemos notado de que estaba cometiendo algunos errores comunes que no son maliciosos, y solo queremos aclarar las reglas. Puedes unirte a este chat usando discord.gg/SponsorBlock o matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Has recibido una advertencia y no puedes enviar segmentos temporalmente. Esto significa que hemos notado que estabas cometiendo algunos errores comunes que no son maliciosos, por favor, solo confirma que entiendes las reglas y anularemos la advertencia. También puedes unirte a este chat usando discord.gg/SponsorBlock o matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Voto rechazado debido a una advertencia. Haga clic aquí para abrir un chat para resolverlo, o vuelva más tarde cuando tenga tiempo.",
|
||||
|
||||
@@ -656,6 +656,9 @@
|
||||
"message": "Kategooriaga \"{0}\" segmentide saatmiseks pead selle enne valikutes lubama. Sind suunatakse nüüd valikutesse.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "Hoiatus: Seda tüüpi segmenti saab korraga aktiivne olla vaid üks. Mitme saatmine põhjustab suvalise segmendi kuvamise."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Sa pead enne saatmist igale segmendile kategooria valima!"
|
||||
},
|
||||
@@ -739,7 +742,7 @@
|
||||
"message": "Peida igaveseks"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Sa said hoiatuse ning ei saa ajutiselt segmente saata. See tähendab, et me leidsime sind tegemast teatud sagedasi, mitte-pahatahtlikke vigu, ning soovime sulle meie reegleid täpsustada (inglise keeles). Sa võid selle vestlusega liituda ka discord.gg/SponsorBlock või matrix.to/#/#sponsor:ajay.app kaudu."
|
||||
"message": "Sa said hoiatuse ning ei saa ajutiselt segmente saata. See tähendab, et me leidsime sind tegemast teatud sagedasi, mitte-pahatahtlikke vigu - palun kinnita (inglise keeles), et mõistad reegleid ning me eemaldame hoiatuse. Sa võid selle vestlusega liituda ka discord.gg/SponsorBlock või matrix.to/#/#sponsor:ajay.app kaudu."
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hääletus hoiatuse tõttu tagasilükatud. Klõpsa, et avada selle lahendamiseks vestlus või tule hiljem tagasi, kui aega saad.",
|
||||
@@ -754,6 +757,9 @@
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "Täname SponsorBlocki paigaldamise eest."
|
||||
},
|
||||
"helpPageReviewOptions": {
|
||||
"message": "Palun vaata allolevad valikud üle"
|
||||
},
|
||||
"helpPageNews": {
|
||||
"message": "Uudised ja kuidas see on valmistatud"
|
||||
},
|
||||
|
||||
@@ -308,6 +308,9 @@
|
||||
"skip_category": {
|
||||
"message": "Ohita {0}?"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "Mykistä {0}?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "Ohita kohtaan: {0}",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
@@ -316,6 +319,10 @@
|
||||
"message": "{0} ohitettu",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} Mykistetty",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
"message": "Ohitettiin kohtaan: {0}",
|
||||
"description": "Used for skipping to things (Skipped to Highlight)"
|
||||
@@ -735,7 +742,7 @@
|
||||
"message": "Piilota ikuisesti"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Sait varoituksen ja et voi lähettää segmenttejä väliaikaisesti. Tämä tarkoittaa, että huomasimme, että teit joitakin yleisiä virheitä, jotka eivät ole tahallisia, ja haluamme vain selventää säännöt. Voit myös liittyä tähän keskusteluun käyttäen discord.gg/SponsorBlock tai matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Sait varoituksen ja et voi lähettää segmenttejä väliaikaisesti. Tämä tarkoittaa, että huomasimme, että teit joitakin yleisiä virheitä, jotka eivät ole tahallisia, joten vahvistakaa, että ymmärrätte säännöt ja poistamme varoituksen. Voit myös liittyä tähän keskusteluun käyttäen discord.gg/SponsorBlock tai matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Ääni hylättiin varoituksen takia. Klikkaa avataksesi chatin sen ratkaisemiseksi, tai tule takaisin myöhemmin kun sinulla on siihen aikaa.",
|
||||
|
||||
@@ -656,6 +656,9 @@
|
||||
"message": "Pour envoyer des segments de la catégorie \"{0}\", vous devez l'activer dans les options. Vous allez être redirigé vers les options maintenant.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "Avertissement: Ce type de segment peut avoir au maximum un seul actif à la fois. En soumettant plusieurs segments, un seul aléatoire sera affiché."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Vous devez sélectionner une catégorie pour tous les segments que vous soumettez !"
|
||||
},
|
||||
@@ -738,9 +741,6 @@
|
||||
"hideForever": {
|
||||
"message": "Cacher pour toujours"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Vous avez reçu un avertissement et ne pouvez pas soumettre des segments temporairement. Cela signifie que nous avons remarqué que vous commettez des erreurs courantes qui ne sont pas malveillantes, et que nous voulons simplement clarifier les règles. Vous pouvez également rejoindre ce chat en utilisant discord.gg/SponsorBlock ou matrix.to/#/+sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Le vote a été rejeté en raison d'un avertissement. Cliquez pour ouvrir un chat et y mettre fin , ou revenez plus tard lorsque vous avez le temps.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
|
||||
@@ -501,6 +501,12 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Nem-Zene"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Kiemelés"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "A videónak az a része, amelyiket a legtöbb ember látni szeretne. Hasonlít az \"A videó x percnél kezdődik\" jellegű hozzászólásokhoz."
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Élő adás: Adomány / üzenet olvasások"
|
||||
},
|
||||
@@ -528,6 +534,10 @@
|
||||
"category": {
|
||||
"message": "Kategória"
|
||||
},
|
||||
"skipOption": {
|
||||
"message": "Átugrás beállítása",
|
||||
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
|
||||
},
|
||||
"enableTestingServer": {
|
||||
"message": "Bétateszt szerver bekapcsolása"
|
||||
},
|
||||
|
||||
@@ -741,9 +741,6 @@
|
||||
"hideForever": {
|
||||
"message": "Nascondi per sempre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Hai ricevuto un avvertimento e non puoi temporaneamente inviare i segmenti. Questo significa che abbiamo notato che stavi commettendo alcuni errori comuni non malevoli, e vogliamo solo chiarire le regole. Puoi anche unirti a questa chat usando discord.gg/SponsorBlock o matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Voto rifiutato a causa di un ammonimento. Clicca per aprire una chat per risolverlo, oppure torna dopo quando hai tempo.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
|
||||
@@ -716,9 +716,6 @@
|
||||
"hideForever": {
|
||||
"message": "二度と表示しない"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "警告のため,区域の送信が一時的に禁止されています。これは利用者さまが間違いを犯されているというこちらどもの判断ではありますが,この間違いが悪意あるものとは思っておりません。単に,利用者さまに区域送信における規則を知っていただきたいだけです。連絡先: discord.gg/SponsorBlock,matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "警告により投票が拒否されました。クリックして運営に連絡するか,少し時間を置いてからやりなおしてください。",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "다시 보지 않음"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "현재 귀하가 악의적이지 않은 일반적인 실수를 저지르고 있음을 발견했습니다. 이에 따라 경고 조치가 내려져 일시적으로 구간을 제출할 수 없게 되었습니다. 저희는 단지 규칙을 명확히 전달하고자 합니다. discord.gg/SponsorBlock 또는 matrix.to/#/#sponsor:ajay.app 링크를 통해 대화에 참여할 수도 있습니다."
|
||||
"message": "현재 귀하가 악의적이지 않은 일반적인 실수를 저지르고 있음을 발견했습니다. 이에 따라 경고 조치가 내려져 일시적으로 구간을 제출할 수 없게 되었습니다. 규정을 잘 숙지했음을 확인해주십시오. 그러면 경고를 삭제하겠습니다. discord.gg/SponsorBlock 또는 matrix.to/#/#sponsor:ajay.app 링크를 통해 대화에 참여할 수도 있습니다."
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "경고로 인해 투표가 거부되었습니다. 클릭하여 대화로 해결하거나, 나중에 시간이 나면 다시 오세요.",
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Voor altijd verbergen"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "U heeft een waarschuwing gekregen en kunt tijdelijk geen segmenten indienen. Dit betekent dat we gemerkt hebben dat u een aantal veelvoorkomende fouten maakt die niet kwaadaardig zijn, en we willen gewoon de regels verduidelijken. U kunt ook deelnemen aan deze chat via discord.gg/SponsorBlock of matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "U heeft een waarschuwing gekregen en kunt tijdelijk geen segmenten indienen. Dit betekent dat we gemerkt hebben dat u een aantal veelvoorkomende fouten maakt die niet kwaadaardig zijn. Bevestig dat u de regels begrijpt en we zullen de waarschuwing verwijderen. U kunt ook deelnemen aan deze chat via discord.gg/SponsorBlock of matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Stem geweigerd vanwege een waarschuwing. Klik om een chat te openen om het op te lossen, of kom later terug als u tijd hebt.",
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Schowaj na zawsze"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Otrzymałeś ostrzeżenie i nie możesz tymczasowo przesłać segmentów. Oznacza to, że zauważyliśmy, że popełniałeś pewne pospolite błędy, które nie są złośliwe i po prostu chcemy wyjaśnić zasady. Możesz również dołączyć do tego czatu używając discord.gg/SponsorBlock lub matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Otrzymałeś ostrzeżenie i nie możesz tymczasowo przesyłać segmentów. Oznacza to, że zauważyliśmy, że popełniłeś/aś pewne powszechne błędy, które nie są złośliwe, Proszę tylko potwierdzić, że rozumiesz zasady i usuniemy ostrzeżenie. Możesz również dołączyć do tego czatu używając discord.gg/SponsorBlock lub matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Głosowanie odrzucone z powodu ostrzeżenia. Kliknij, aby otworzyć czat w celu rozwiązania problemu lub wróć później, gdy będziesz miał czas.",
|
||||
|
||||
@@ -739,7 +739,7 @@
|
||||
"message": "Ocultar para sempre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Você recebeu um aviso e temporariamente não poderá enviar segmentos. Isso significa que notamos que você cometeu alguns erros comuns que não são maliciosos, e queremos apenas clarificar as regras. Você também pode participar desse chat usando discord.gg/SponsorBlock ou matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Você recebeu um aviso e não pode enviar segmentos temporariamente. Isso significa que notamos que você estava cometendo erros comuns não maliciosos, por favor confirme que você entende as regras e removeremos o aviso. Você também pode participar do chat usando discord.gg/SponsorBlock ou matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Voto rejeitado devido a um aviso. Clique para abrir um chat para resolvê-lo, ou volte mais tarde quando tiver tempo.",
|
||||
|
||||
@@ -62,10 +62,10 @@
|
||||
"message": "Таймер остановлен"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "Чтобы изменить или удалить отдельные значения, нажмите кнопку «Информация» или откройте всплывающее окно расширения, щелкнув значок расширения в правом верхнем углу."
|
||||
"message": "Чтобы изменить или удалить отдельные значения, нажмите кнопку «Информация» или откройте всплывающее окно расширения, щелкнув на значок расширения в правом верхнем углу."
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "Вы уверены, что хотите удалить эту информацию?\n\n"
|
||||
"message": "Вы уверены, что хотите это удалить?\n\n"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "При отправке сегмента произошла ошибка. Попытайтесь отправить его позже."
|
||||
@@ -116,7 +116,7 @@
|
||||
"message": "Отправить сегменты"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Вы уверены, что хотите отправить эту информацию?"
|
||||
"message": "Вы уверены, что хотите это отправить?"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "Добавить канал в белый список"
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Скрыть навсегда"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Вы получили предупреждение и временно не можете отправлять сегменты. Мы заметили, что вы совершали распространенные ошибки, которые не являются злонамеренными, и просто хотим уточнить для вас правила. Вы также можете присоединиться к нашему чату, используя discord.gg/SponsorBlock или matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Вы получили предупреждение и временно не можете отправлять сегменты. Мы заметили, что вы совершали распространенные ошибки, которые не были злонамеренными. Пожалуйста, подтвердите, что вы прочитали правила и предупреждение будет удалено. Вы также можете присоединиться к нашему чату, используя discord.gg/SponsorBlock или matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Голосование отклонено из-за предупреждения. Нажмите, чтобы открыть чат, где вы можете решить проблему, или вернитесь, когда у вас будет время.",
|
||||
|
||||
@@ -727,7 +727,7 @@
|
||||
"message": "Navždy skryť"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Dostali ste varovanie a nemôžete tak dočasne odosielať segmenty. To znamená, že sme si všimli, že ste spravili nejaké chyby, ktoré nie sú myslené zle, a chceme Vám len objasniť pravidlá. Môžete sa pripojiť do konverzácie pomocou discord.gg/SponsorBlock alebo matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Dostali ste varovanie a nemôžete tak dočasne odosielať segmenty. To znamená, že sme si všimli, že ste spravili nejaké chyby, ktoré nie sú myslené zle, a chceme Vám len objasniť pravidlá a potom Vám to varovanie odoberieme. Môžete sa pripojiť do konverzácie pomocou discord.gg/SponsorBlock alebo matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hlasovanie bolo zamietnuté kvôli varovaniu. Kliknite pre otvorenie chatu, aby ste ho vyriešili, alebo sa vráťte až budete mať čas.",
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Dölj för alltid"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Du har fått en tillfällig varning och kan inte skicka in segment. Detta innebär att vi har upptäckt att några vanliga misstag är gjorda som inte är uppsåtliga och vi vill bara klargöra reglerna. Du kan också gå med i den här chatten genom att använda discord.gg/SponsorBlock eller matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Du har fått en tillfällig varning och kan inte längre skicka in segment. Vi har upptäckt att du har gjort några vanliga misstag som inte är uppsåtliga. Bekräfta därför att du förstår reglerna, så tar vi bort varningen. Du kan också gå med i den här chatten genom att använda discord.gg/SponsorBlock eller matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Rösten avvisades på grund av en varning. Klicka för att öppna ett chattfönster för att lösa problemet eller kom tillbaka senare när du har tid.",
|
||||
|
||||
@@ -302,6 +302,9 @@
|
||||
"skip_category": {
|
||||
"message": "{0} atla?"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "{0} susturulsun mu?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "{0} kısmına atlansın mı?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
@@ -310,6 +313,10 @@
|
||||
"message": "{0} Atlandı",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} susturuldu",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
"message": "{0} kısmına atlandı",
|
||||
"description": "Used for skipping to things (Skipped to Highlight)"
|
||||
@@ -643,6 +650,9 @@
|
||||
"message": "\"{0}\" kategorisinde bir kısım göndermek için onu ayarlardan açmalısınız. Ayarlara yönlendiriliyorsunuz.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "Uyarı: Bu tür kısımlardan sadece bir adet etkin olabilir. Birden fazla gönderdiğinizde onlardan rastgele biri gösterilir."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Göndereceğin tüm kısımlar için bir kategori seçmelisin!"
|
||||
},
|
||||
@@ -725,9 +735,6 @@
|
||||
"hideForever": {
|
||||
"message": "Asla gösterme"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Bir uyarı aldınız ve geçici bir süreliğine kısım gönderemeyeceksiniz. Sizin kısım göndermede zararlı olmayan bazı hatalar yaptığınızı belirledik ve size kuralları açıklamak istiyoruz. Bu sohbete discord.gg/SponsorBlock veya matrix.to/#/#sponsor:ajay.app üzerinden de katılabilirsiniz"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Bir uyarı nedeniyle oy reddedildi. Çözüm bulmak için buraya tıklayarak bir sohbet açın veya daha sonra vaktiniz olduğunda uğrayın.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
@@ -749,5 +756,44 @@
|
||||
},
|
||||
"helpPageHowSkippingWorks": {
|
||||
"message": "Atlama nasıl çalışıyor"
|
||||
},
|
||||
"helpPageHowSkippingWorks1": {
|
||||
"message": "Video kısımları veri tabanında mevcut ise otomatikman atlanır. Eklentinin simgesine tıklayınca açılan pencereden, video için mevcut olan kısımları görebilirsiniz."
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "Bir kısmı atladığınızda size bildirim gönderilir. Eğer kısım hatalıysa bunu eksi oylayınız. Eklentinin penceresinde de oy verebilirsiniz."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Gönderme"
|
||||
},
|
||||
"Editing": {
|
||||
"message": "Düzenleme"
|
||||
},
|
||||
"helpPageEditing1": {
|
||||
"message": "Eğer kısımlarda hata yaptıysanız, yukarı ok işareti olan düğmeye tıkladıktan sonra kısımları silebilir veya düzeltebilirsiniz."
|
||||
},
|
||||
"helpPageTooSlow": {
|
||||
"message": "Bu fazla yavaş"
|
||||
},
|
||||
"helpPageCopyOfDatabase": {
|
||||
"message": "Veri tabanının bir kopyasını alabilir miyim? Bir gün ortadan kaybolursanız ne olacak?"
|
||||
},
|
||||
"helpPageCopyOfDatabase1": {
|
||||
"message": "Veri tabanı herkese açıktır ve şuradan erişilebilir: "
|
||||
},
|
||||
"helpPageCopyOfDatabase2": {
|
||||
"message": "Kaynak koduna serbestçe erişilebilir. Ben bir gün bu dünyada yalan olsam dahi, sizin gönderdiğiniz kısımlar kaybolmayacak."
|
||||
},
|
||||
"helpPageSourceCode": {
|
||||
"message": "Kaynak koduna nereden ulaşabilirim?"
|
||||
},
|
||||
"Credits": {
|
||||
"message": "Emeği Geçenler"
|
||||
},
|
||||
"highlightNewFeature": {
|
||||
"message": "Yeni! \"Vurgu\" kategorisi sayesinde tek tıkla videonun asıl yerine gidebilirsiniz"
|
||||
},
|
||||
"LearnMore": {
|
||||
"message": "Dahasını Öğren"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
"message": "Сховати назавжди"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Ви отримали попередження, тому тимчасово не можете обирати сегменти. Це означає, що ми помітили, що ви робили кілька поширених помилок, які не є злісними. Тому ми хочемо нагадати вам правила. Ви можете приєднатися до чату з правилами використовуючи discord.gg/SponsorBlock або matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Ви отримали попередження, тому тимчасово не можете надсилати сегменти. Це означає, що ми помітили, що ви робили кілька поширених помилок не маючи шкідливих намірів. Будь ласка просто підтвердьте, що ви розумієте правила, і ми приберемо попередження. Ви також можете приєднатися до чату з правилами використовуючи discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Голосування відхилено через попередження. Натисніть, щоб відкрити чат для вирішення цієї проблеми, або поверніться пізніше.",
|
||||
|
||||
@@ -722,9 +722,6 @@
|
||||
"hideForever": {
|
||||
"message": "Ẩn vĩnh viễn"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Bạn đã nhận được một cảnh báo (Warring) và tạm thời không thể gửi các phân đoạn. Bạn đã mắc lỗi trong việc tạo quá nhiều lần (có thể là chọn sai kiểu phân đoạn hoặc sai thời gian phân đoạn). Chúng tôi muốn bạn nhận ra điều đó để có thể giúp bạn khắc phục điều này trong tương lai, không mắc lỗi nữa. Bạn có thể gặp các VIP User tại đây: discord.gg/SponsorBlock hoặc matrix.to/#/#sponsor:ajay.app. Bọn họ sẽ giúp bạn gỡ cảnh báo sau khi bạn đã hiểu ra lỗi sai của bạn."
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Bỏ phiếu bị từ chối do có cảnh báo. Nhấp để mở cuộc trò chuyện để giải quyết hoặc quay lại sau.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
|
||||
@@ -75,16 +75,26 @@
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
#infoButton.playerButton:not(.hidden) {
|
||||
transform: translateX(0%) scale(1);
|
||||
/* opacity is from YouTube page */
|
||||
transition: transform 0.2s, opacity .1s cubic-bezier(0.4,0.0,1,1) !important;
|
||||
.autoHiding {
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
#infoButton.playerButton.hidden {
|
||||
.autoHiding:not(.hidden) {
|
||||
transform: translateX(0%) scale(1);
|
||||
/* opacity is from YouTube page */
|
||||
transition: transform 0.2s, width 0.2s, opacity .1s cubic-bezier(0.4,0.0,1,1) !important;
|
||||
}
|
||||
|
||||
.autoHiding.hidden {
|
||||
transform: translateX(100%) scale(0);
|
||||
/* opacity is from YouTube page */
|
||||
transition: transform 0.2s, opacity .1s cubic-bezier(0.4,0.0,1,1) !important;
|
||||
transition: transform 0.2s, width 0.2s, opacity .1s cubic-bezier(0.4,0.0,1,1) !important;
|
||||
|
||||
width: 0px !important;
|
||||
}
|
||||
|
||||
.autoHiding.hidden.autoHideLeft {
|
||||
transform: translateX(-100%) scale(0);
|
||||
}
|
||||
|
||||
.playerButton.hidden {
|
||||
|
||||
@@ -287,7 +287,22 @@
|
||||
|
||||
<div class="small-description">__MSG_hideButtonsDescription__</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
<div option-type="toggle" toggle-type="reverse" sync-option="hideSkipButtonPlayerControls">
|
||||
<label class="switch-container">
|
||||
<label class="switch">
|
||||
<input type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<div class="switch-label">
|
||||
__MSG_showSkipButton__
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
@@ -301,14 +316,9 @@
|
||||
__MSG_showInfoButton__
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div class="small-description">__MSG_whatInfoButton__</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
@@ -322,13 +332,11 @@
|
||||
__MSG_autoHideInfoButton__
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div option-type="toggle" toggle-type="reverse" sync-option="hideDeleteButtonPlayerControls">
|
||||
<label class="switch-container">
|
||||
@@ -340,14 +348,9 @@
|
||||
__MSG_showDeleteButton__
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div class="small-description">__MSG_whatDeleteButton__</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
@@ -361,14 +364,10 @@
|
||||
__MSG_showUploadButton__
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div class="small-description">__MSG_whatUploadButton__</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
|
||||
@@ -266,7 +266,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
<td>
|
||||
{/* Category Selector */}
|
||||
<select id={"sponsorTimeCategories" + this.idSuffix}
|
||||
className="sponsorTimeCategories"
|
||||
className="sponsorTimeCategories sponsorTimeEditSelector"
|
||||
defaultValue={this.segments[0].category} //Just default to the first segment, as we don't know which they'll choose
|
||||
ref={this.categoryOptionRef}>
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ interface SBConfig {
|
||||
hideInfoButtonPlayerControls: boolean,
|
||||
hideDeleteButtonPlayerControls: boolean,
|
||||
hideUploadButtonPlayerControls: boolean,
|
||||
hideSkipButtonPlayerControls: boolean,
|
||||
hideDiscordLaunches: number,
|
||||
hideDiscordLink: boolean,
|
||||
invidiousInstances: string[],
|
||||
@@ -172,6 +173,7 @@ const Config: SBObject = {
|
||||
hideInfoButtonPlayerControls: false,
|
||||
hideDeleteButtonPlayerControls: false,
|
||||
hideUploadButtonPlayerControls: false,
|
||||
hideSkipButtonPlayerControls: false,
|
||||
hideDiscordLaunches: 0,
|
||||
hideDiscordLink: false,
|
||||
invidiousInstances: ["invidious.snopyta.org"],
|
||||
|
||||
@@ -386,6 +386,12 @@ function createPreviewBar(): void {
|
||||
function durationChangeListener(): void {
|
||||
updateAdFlag();
|
||||
updatePreviewBar();
|
||||
|
||||
sponsorTimes = sponsorTimes.filter(segmentDurationFilter);
|
||||
}
|
||||
|
||||
function segmentDurationFilter(segment: SponsorTime): boolean {
|
||||
return segment.videoDuration === 0 || video.duration === 0 || Math.abs(video.duration - segment.videoDuration) < 2;
|
||||
}
|
||||
|
||||
function cancelSponsorSchedule(): void {
|
||||
@@ -668,7 +674,8 @@ async function sponsorsLookup(id: string, keepOldSubmissions = true) {
|
||||
if (response?.ok) {
|
||||
const recievedSegments: SponsorTime[] = JSON.parse(response.responseText)
|
||||
?.filter((video) => video.videoID === id)
|
||||
?.map((video) => video.segments)[0];
|
||||
?.map((video) => video.segments)[0]
|
||||
?.filter(segmentDurationFilter);
|
||||
if (!recievedSegments || !recievedSegments.length) {
|
||||
// return if no video found
|
||||
retryFetch();
|
||||
@@ -1306,15 +1313,8 @@ async function createButtons(): Promise<void> {
|
||||
if (Config.config.autoHideInfoButton && !onInvidious && controlsContainer
|
||||
&& playerButtons["info"]?.button && !controlsWithEventListeners.includes(controlsContainer)) {
|
||||
controlsWithEventListeners.push(controlsContainer);
|
||||
playerButtons["info"].button.classList.add("hidden");
|
||||
|
||||
controlsContainer.addEventListener("mouseenter", () => {
|
||||
playerButtons["info"].button.classList.remove("hidden");
|
||||
});
|
||||
|
||||
controlsContainer.addEventListener("mouseleave", () => {
|
||||
playerButtons["info"].button.classList.add("hidden");
|
||||
});
|
||||
|
||||
utils.setupAutoHideAnimation(playerButtons["info"].button, controlsContainer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,14 +31,16 @@ export function openChat(config: ChatConfig): void {
|
||||
}
|
||||
|
||||
export async function openWarningChat(warningMessage: string): Promise<void> {
|
||||
const warningReasonMatch = warningMessage.match(/Warning reason: '(.+)'/);
|
||||
alert(chrome.i18n.getMessage("warningChatInfo") + `\n\n${warningReasonMatch ? ` Warning reason: ${warningReasonMatch[1]}` : ``}`);
|
||||
|
||||
const userNameData = await utils.asyncRequestToServer("GET", "/api/getUsername?userID=" + Config.config.userID);
|
||||
const userName = userNameData.ok ? JSON.parse(userNameData.responseText).userName : "";
|
||||
const publicUserID = await utils.getHash(Config.config.userID);
|
||||
const warningReasonMatch = warningMessage.match(/Warning reason: '(.+)'/);
|
||||
|
||||
openChat({
|
||||
displayName: `${userName ? userName : ``}${userName !== publicUserID ? ` | ${publicUserID}` : ``}`,
|
||||
composerInitialValue: `I got a warning and want to know what I need to do to improve.` +
|
||||
composerInitialValue: `I got a warning and confirm I [REMOVE THIS CAPITAL TEXT TO CONFIRM] reread the guidelines.` +
|
||||
warningReasonMatch ? ` Warning reason: ${warningReasonMatch[1]}` : ``,
|
||||
customDescription: chrome.i18n.getMessage("warningChatInfo")
|
||||
});
|
||||
|
||||
@@ -2,6 +2,8 @@ import Config from "../config";
|
||||
import { SponsorTime } from "../types";
|
||||
import { getSkippingText } from "../utils/categoryUtils";
|
||||
|
||||
import Utils from "../utils";
|
||||
const utils = new Utils();
|
||||
|
||||
export interface SkipButtonControlBarProps {
|
||||
skip: (segment: SponsorTime) => void;
|
||||
@@ -53,13 +55,20 @@ export class SkipButtonControlBar {
|
||||
|
||||
if (leftControlsContainer && !leftControlsContainer.contains(this.container)) {
|
||||
leftControlsContainer.insertBefore(this.container, this.chapterText);
|
||||
|
||||
if (Config.config.autoHideInfoButton) {
|
||||
utils.setupAutoHideAnimation(this.skipIcon, leftControlsContainer, false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
enable(segment: SponsorTime, duration?: number): void {
|
||||
if (duration) this.duration = duration;
|
||||
this.segment = segment;
|
||||
|
||||
this.refreshText();
|
||||
this.textContainer?.classList?.remove("hidden");
|
||||
utils.disableAutoHideAnimation(this.skipIcon);
|
||||
|
||||
this.startTimer();
|
||||
}
|
||||
@@ -68,7 +77,8 @@ export class SkipButtonControlBar {
|
||||
if (this.segment) {
|
||||
this.chapterText?.classList?.add("hidden");
|
||||
this.container.classList.remove("hidden");
|
||||
this.textContainer.innerText = getSkippingText([this.segment], false) + (this.showKeybindHint ? " (" + Config.config.skipKeybind + ")" : "");
|
||||
this.textContainer.innerText = this.getTitle();
|
||||
this.skipIcon.setAttribute("title", this.getTitle());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,17 +94,42 @@ export class SkipButtonControlBar {
|
||||
|
||||
startTimer(): void {
|
||||
this.stopTimer();
|
||||
this.timeout = setTimeout(() => this.disable(), Math.max(Config.config.skipNoticeDuration, this.duration) * 1000);
|
||||
this.timeout = setTimeout(() => this.disableText(), Math.max(Config.config.skipNoticeDuration, this.duration) * 1000);
|
||||
}
|
||||
|
||||
disable(): void {
|
||||
this.container.classList.add("hidden");
|
||||
this.textContainer?.classList?.remove("hidden");
|
||||
|
||||
this.chapterText?.classList?.remove("hidden");
|
||||
this.getChapterPrefix()?.classList?.remove("hidden");
|
||||
}
|
||||
|
||||
toggleSkip(): void {
|
||||
this.skip(this.segment);
|
||||
this.disable();
|
||||
this.disableText();
|
||||
}
|
||||
|
||||
disableText(): void {
|
||||
if (Config.config.hideVideoPlayerControls || Config.config.hideSkipButtonPlayerControls) {
|
||||
this.disable();
|
||||
return;
|
||||
}
|
||||
|
||||
this.textContainer?.classList?.add("hidden");
|
||||
this.chapterText?.classList?.remove("hidden");
|
||||
|
||||
this.getChapterPrefix()?.classList?.add("hidden");
|
||||
|
||||
utils.enableAutoHideAnimation(this.skipIcon);
|
||||
}
|
||||
|
||||
private getTitle(): string {
|
||||
return getSkippingText([this.segment], false) + (this.showKeybindHint ? " (" + Config.config.skipKeybind + ")" : "");
|
||||
}
|
||||
|
||||
private getChapterPrefix(): HTMLElement {
|
||||
return document.querySelector(".ytp-chapter-title-prefix");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,7 @@ export interface SponsorTime {
|
||||
|
||||
hidden?: SponsorHideType;
|
||||
source?: SponsorSourceType;
|
||||
videoDuration?: number;
|
||||
}
|
||||
|
||||
export interface ScheduledTime extends SponsorTime {
|
||||
|
||||
28
src/utils.ts
28
src/utils.ts
@@ -183,6 +183,34 @@ export default class Utils {
|
||||
}
|
||||
}
|
||||
|
||||
setupAutoHideAnimation(element: Element, container: Element, enabled = true, rightSlide = true): void {
|
||||
if (enabled) element.classList.add("autoHiding");
|
||||
element.classList.add("hidden");
|
||||
element.classList.add("animationDone");
|
||||
if (!rightSlide) element.classList.add("autoHideLeft");
|
||||
|
||||
container.addEventListener("mouseenter", () => {
|
||||
element.classList.remove("animationDone");
|
||||
|
||||
// Wait for next event loop
|
||||
setTimeout(() => element.classList.remove("hidden"), 10);
|
||||
});
|
||||
|
||||
container.addEventListener("mouseleave", () => {
|
||||
if (element.classList.contains("autoHiding")) {
|
||||
element.classList.add("hidden");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
enableAutoHideAnimation(element: Element): void {
|
||||
element.classList.add("autoHiding");
|
||||
}
|
||||
|
||||
disableAutoHideAnimation(element: Element): void {
|
||||
element.classList.remove("autoHiding");
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges any overlapping timestamp ranges into single segments and returns them as a new array.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user