From 46983bec24284222f483d64afa65784134b96b97 Mon Sep 17 00:00:00 2001 From: Ajay Date: Fri, 21 Jan 2022 20:18:42 -0500 Subject: [PATCH] Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters --- config.json.example | 2 +- manifest/manifest.json | 2 +- public/_locales/bg/messages.json | 3 + public/_locales/cs/messages.json | 3 + public/_locales/de/messages.json | 7 +- public/_locales/es/messages.json | 16 +++ public/_locales/et/messages.json | 16 +++ public/_locales/fa/messages.json | 134 +++++++++++++++++++- public/_locales/fi/messages.json | 16 +++ public/_locales/hu/messages.json | 7 +- public/_locales/it/messages.json | 22 +++- public/_locales/nl/messages.json | 16 +++ public/_locales/pt_BR/messages.json | 23 ++++ public/_locales/ru/messages.json | 7 +- public/_locales/sk/messages.json | 13 ++ public/_locales/sv/messages.json | 3 + public/_locales/tr/messages.json | 20 ++- public/_locales/uk/messages.json | 3 + public/_locales/vi/messages.json | 3 + src/components/SkipNoticeComponent.tsx | 10 +- src/components/SponsorTimeEditComponent.tsx | 83 ++++++++---- src/content.ts | 56 +++----- src/js-components/previewBar.ts | 5 +- src/popup.ts | 5 +- src/types.ts | 8 +- src/utils.ts | 43 ++++++- src/utils/categoryUtils.ts | 54 ++++---- 27 files changed, 450 insertions(+), 130 deletions(-) diff --git a/config.json.example b/config.json.example index cbcd6cad..c81273bd 100644 --- a/config.json.example +++ b/config.json.example @@ -13,7 +13,7 @@ "preview": ["skip", "mute"], "filler": ["skip", "mute"], "music_offtopic": ["skip"], - "poi_highlight": ["skip"], + "poi_highlight": ["poi"], "chapter": ["chapter"] }, "wikiLinks": { diff --git a/manifest/manifest.json b/manifest/manifest.json index 912a526a..82e20719 100644 --- a/manifest/manifest.json +++ b/manifest/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_fullName__", "short_name": "SponsorBlock", - "version": "4.0.3", + "version": "4.0.5", "default_locale": "en", "description": "__MSG_Description__", "homepage_url": "https://sponsor.ajay.app", diff --git a/public/_locales/bg/messages.json b/public/_locales/bg/messages.json index 2e4f8ec3..26428ad7 100644 --- a/public/_locales/bg/messages.json +++ b/public/_locales/bg/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "Следното предложение е по-кратко от опцията за минимална продължителност. Това може да означава, че вече е изпратено и просто е игнорирано поради тази опция. Наистина ли искате да го изпратите?" }, + "liveOrPremiere": { + "message": "Не е разрешено изпращането по време на активен поток на живо или премиера. Моля, изчакайте, докато приключи, след което опреснете страницата и проверете дали сегментите са все още валидни." + }, "showUploadButton": { "message": "Показване на бутона за качване" }, diff --git a/public/_locales/cs/messages.json b/public/_locales/cs/messages.json index 878683e7..8bd1e767 100644 --- a/public/_locales/cs/messages.json +++ b/public/_locales/cs/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "Váš příspěvek je kratší než vaše možnost nejkratší doby trvání. To by mohlo znamenat, že někdo segment již odeslal, a je jenom ignorován kvůli této možnosti. Opravdu chcete odeslat váš příspěvek?" }, + "liveOrPremiere": { + "message": "Odesílání na aktivním streamu nebo premiéře. Počkejte prosím, než skončí, poté obnovte stránku a ověřte, zda jsou segmenty stále platné." + }, "showUploadButton": { "message": "Zobrazit tlačítko Nahrát" }, diff --git a/public/_locales/de/messages.json b/public/_locales/de/messages.json index e7bb65d9..9a45ba84 100644 --- a/public/_locales/de/messages.json +++ b/public/_locales/de/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "Die folgende Einreichung ist kürzer als deine Mindestdauer. Das könnte bedeuten, dass dieses Videosegment bereits eingereicht wurde und aufgrund dieser Option einfach ignoriert wird. Bist du dir sicher, dass du es übermitteln möchtest?" }, + "liveOrPremiere": { + "message": "Das Einreichen eines aktiven Livestreams oder Premiere ist nicht erlaubt. Bitte warte bis es zu ende ist, lade die Seite neu und überprüfe, dass die Segmente noch immer korrekt sind." + }, "showUploadButton": { "message": "Upload-Knopf anzeigen" }, @@ -544,7 +547,7 @@ "message": "Nur für das Kennzeichnen ganzer Videos. Wird verwendet wenn ein Video ein Produkt, eine Dienstleistung oder einen Ort präsentiert, zu welchem sie freien oder subventionierten Zugriff erhalten haben." }, "category_exclusive_access_pill": { - "message": "Dieses Video präsentiert ein Produkt, eine Dienstleistung oder einen Ort, zu welchem sie freien oder subventionierten Zigriff erhalten haben", + "message": "Dieses Video präsentiert ein Produkt, eine Dienstleistung oder einen Ort, zu welchem sie freien oder subventionierten Zugriff erhalten haben", "description": "Short description for this category" }, "category_interaction": { @@ -638,7 +641,7 @@ "message": "Segmente zulassen, die den Ton ausschalten anstatt zu überspringen" }, "fullVideoSegments": { - "message": "Zeige an, wenn das gesamte Video Werbung ist", + "message": "Zeige ein Icon, wenn ein ganzes Video Werbung ist", "description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo" }, "colorFormatIncorrect": { diff --git a/public/_locales/es/messages.json b/public/_locales/es/messages.json index 3e0ed5b2..d4688c6c 100644 --- a/public/_locales/es/messages.json +++ b/public/_locales/es/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "El siguiente envío es más corto que su opción de duración mínima. Esto podría significar que esto ya se ha enviado y que simplemente se ha ignorado debido a esta opción. ¿Está seguro de que desea enviar?" }, + "liveOrPremiere": { + "message": "No se permite enviar en una transmisión en vivo activa o estreno. Espere hasta que finalice, luego actualice la página y verifique que los segmentos aún sean válidos." + }, "showUploadButton": { "message": "Mostrar botón de subida" }, @@ -537,6 +540,16 @@ "category_selfpromo_description": { "message": "Similar a \"sponsor\", excepto que para la promoción propia o no remunerada. Esto incluye secciones sobre mercancía, donaciones o información sobre con quiénes colaboraron." }, + "category_exclusive_access": { + "message": "Acceso Exclusivo" + }, + "category_exclusive_access_description": { + "message": "Solo para etiquetar videos completos. Utilizado cuando un video exhibe un producto, servicio o ubicación al que han recibido acceso gratuito o subsidiado." + }, + "category_exclusive_access_pill": { + "message": "Este video exhibe un producto, servicio o ubicación al que han recibido acceso gratuito o subsidiado", + "description": "Short description for this category" + }, "category_interaction": { "message": "Recordatorio de interacción (subscribir)" }, @@ -618,6 +631,9 @@ "showOverlay_POI": { "message": "Mostrar en la barra de búsqueda" }, + "showOverlay_full": { + "message": "Mostrar Etiqueta" + }, "autoSkipOnMusicVideos": { "message": "Omitir automáticamente todos los segmentos cuando hay un segmento sin música" }, diff --git a/public/_locales/et/messages.json b/public/_locales/et/messages.json index 54bbe191..3177e65d 100644 --- a/public/_locales/et/messages.json +++ b/public/_locales/et/messages.json @@ -537,6 +537,16 @@ "category_selfpromo_description": { "message": "Sarnaneb \"sponsorile\", ent on mõeldud tasumata või enesepromo jaoks. Selle alla kuuluvad jaotised oma müüdava kauba, annetuste ja koostööpartnerite kohta." }, + "category_exclusive_access": { + "message": "Eksklusiivne ligipääs" + }, + "category_exclusive_access_description": { + "message": "Ainult tervete videote märkimiseks. Kasutatakse, kui video esitleb toodet, teenust või asukohta, millele isik on tasuta või toetusega ligipääsu saanud." + }, + "category_exclusive_access_pill": { + "message": "See video esitleb toodet, teenust või asukohta, millele isik on tasuta või toetusega ligipääsu saanud", + "description": "Short description for this category" + }, "category_interaction": { "message": "Tegutsemise meeldetuletus (kanali tellimine)" }, @@ -618,6 +628,9 @@ "showOverlay_POI": { "message": "Kuva mängija ajaribal" }, + "showOverlay_full": { + "message": "Kuva silt" + }, "autoSkipOnMusicVideos": { "message": "Jäta automaatselt kõik segmendid vahele, kui eksisteerib mitte-muusika segment" }, @@ -745,6 +758,9 @@ "message": "Sain aru", "description": "Used as the button to dismiss a tooltip" }, + "categoryPillTitleText": { + "message": "See terve video on selle kategooriaga sildistatud ning on liiga tihedalt integreeritud, et eraldada saaks" + }, "experiementOptOut": { "message": "Keeldu kõigist tulevikus tehtavatatest eksperimentidest", "description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private." diff --git a/public/_locales/fa/messages.json b/public/_locales/fa/messages.json index aa875708..5af02d6f 100644 --- a/public/_locales/fa/messages.json +++ b/public/_locales/fa/messages.json @@ -3,11 +3,15 @@ "message": "اسپانسربلاک برای یوتیوب - اسپانسر ها را رد کنید", "description": "Name of the extension." }, + "Description": { + "message": "بخش های اسپانسر شده، درخواست ساب اسکرایب و خیلی چیز های دیگر در ویدیو های یوتیوب را رد کنید. قسمت های اسپانسری ویدیو هایی که میبینید را گزارش کنید تا در وقت دیگران صرفه جویی شود.", + "description": "Description of the extension." + }, "400": { "message": "سرور گفت که این درخواست نامعتبر است" }, "429": { - "message": "شما برای این یک ویدیو تعداد بیش از حدی زمان اسپانسر ثبت کرده‌اید، آیا مطمئن هستید که به این تعداد وجود دارد؟" + "message": "شما برای این ویدیو قسمت های اسپانسری خیلی زیادی ثبت کرده اید، آیا مطمئنید که به این تعداد وجوددارد؟" }, "409": { "message": "این قبلاً ثبت شده است" @@ -127,7 +131,7 @@ "message": "شما دیگران را نجات دادید از " }, "viewLeaderboard": { - "message": "لیست سرنشینان" + "message": "نفرات برتر" }, "recordTimesDescription": { "message": "ثبت" @@ -144,6 +148,9 @@ "setUsername": { "message": "تنظیم نام کاربری" }, + "discordAdvert": { + "message": "به سرور رسمی دیسکورد بپیوندید تا پیشنهادات و بازخورد‌های خود را ارائه دهید!" + }, "hideThis": { "message": "مخفی‌سازی" }, @@ -156,6 +163,9 @@ "hideButtons": { "message": "مخفی‌سازی کلید ها در پخش‌کننده یوتیوب" }, + "showNotice": { + "message": "نمایش مجدد اطلاعیه" + }, "longDescription": { "message": "افزونه اسپانسر بلاک به شما امکان رد کردن بخش‌های تبلیغاتی (اسپانسر شده)، قسمت‌های شروع و پایان ویدیو، درخواست ساب‌اسکرایب و سایر قسمت‌های آزار دهنده یوتیوب را می‌دهد. اسپانسر بلاک یک افزونه مرورگر است که به هر کسی امکان ثبت زمان شروع و پایان بخش های اسپانسر شده و سایر بخش های ویدیو های یوتیوب را می‌دهد. پس از اینکه هر کاربر این اطلاعات را ثبت کرده و گزارش دهد، بقیه کاربرانی که از این افزونه استفاده می‌کنند مستقیماً بخش اسپانسر شده ویدیو را رد خواهند کرد. شما همچنین می‌توانید در ویدیو های نماهنگ (موزیک ویدیو)، قسمت‌های غیر موسیقی ویدیو را رد کنید.", "description": "Full description of the extension on the store pages." @@ -172,6 +182,9 @@ "message": "اگر همچنان این را نمی‌پسندید، گزینه هرگز نمایش نده را انتخاب کنید.", "description": "The second line of the message displayed after the notice was upgraded." }, + "keybindDescription": { + "message": "یک کلید را با تایپ نمودن انتخاب نمایید" + }, "disableSkipping": { "message": "ردکردن فعال است" }, @@ -194,6 +207,20 @@ "mute": { "message": "بی‌صدا" }, + "skip_category": { + "message": "{0} رد شود؟" + }, + "mute_category": { + "message": "{0} بی‌صدا شود؟" + }, + "skipped": { + "message": "{0} رد شد", + "description": "Example: Sponsor Skipped" + }, + "muted": { + "message": "{0} بی‌صدا شد", + "description": "Example: Sponsor Muted" + }, "minLower": { "message": "دقیقه" }, @@ -203,6 +230,12 @@ "createdBy": { "message": "ایجاد شده توسط" }, + "keybindCurrentlySet": { + "message": ". در حال حاضر تنظیم شده است به:" + }, + "supportedSites": { + "message": "وب‌سایت‌های پشتیبانی شده: " + }, "add": { "message": "افزودن" }, @@ -221,6 +254,9 @@ "setOptions": { "message": "تنظیم گزینه‌ها" }, + "confirmNoticeTitle": { + "message": "ثبت بخش" + }, "submit": { "message": "ثبت" }, @@ -242,6 +278,9 @@ "edit": { "message": "ویرایش" }, + "theKey": { + "message": "کلید" + }, "to": { "message": "به", "description": "Used between segments. Example: 1:20 to 1:30" @@ -249,6 +288,12 @@ "category_sponsor": { "message": "اسپانسر" }, + "category_exclusive_access": { + "message": "دسترسی اختصاصی" + }, + "category_filler_short": { + "message": "پر کننده" + }, "category_music_offtopic_short": { "message": "غیر موسیقی" }, @@ -261,12 +306,43 @@ "manualSkip": { "message": "ردکردن دستی" }, + "showOverlay": { + "message": "نمایش در نوار پیشرفت" + }, + "disable": { + "message": "غیرفعال کردن" + }, + "showOverlay_POI": { + "message": "نمایش در نوار پیشرفت" + }, + "showOverlay_full": { + "message": "نمایش نام" + }, + "category": { + "message": "دسته بندی" + }, "bracketNow": { "message": "(اکنون)" }, + "moreCategories": { + "message": "نمایش دسته‌بندی‌ها" + }, "bracketEnd": { "message": "(پایان)" }, + "acceptPermission": { + "message": "تأیید دسترسی" + }, + "incorrectCategory": { + "message": "تغییر دسته بندی" + }, + "guidelines": { + "message": "دستورالعمل‌ها" + }, + "readTheGuidelines": { + "message": "دستورالعمل‌ها را بخوانید!!", + "description": "Show the first time they submit or if they are \"high risk\"" + }, "help": { "message": "راهنما" }, @@ -274,7 +350,61 @@ "message": "فهمیدم", "description": "Used as the button to dismiss a tooltip" }, + "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." + }, "Donate": { "message": "کمک مالی" + }, + "hideDonationLink": { + "message": "پنهان کردن لینک کمک مالی" + }, + "helpPageThanksForInstalling": { + "message": "ازینکه افزونه SponserBlock را نصب کردید سپاسگزاریم." + }, + "helpPageReviewOptions": { + "message": "لطفاً تنظیمات زیر را بررسی کنید" + }, + "helpPageHowSkippingWorks": { + "message": "چگونه ردکردن کار می‌کند" + }, + "Submitting": { + "message": "ثبت نمودن" + }, + "Editing": { + "message": "ویرایش" + }, + "helpPageCopyOfDatabase": { + "message": "آیا می‌توان یک کپی از پایگاه داده را دریافت کرد؟ اگر شما یک روز ناپدید شدید چه می‌شود؟" + }, + "helpPageCopyOfDatabase1": { + "message": "پایگاه داده به‌صورت عمومی در دسترس است در" + }, + "helpPageCopyOfDatabase2": { + "message": "سورس کد به‌صورت رایگان ارائه شده است. بنابراین، اگر اتفاقی برای من بیفتد، ارسالات شما از بین نمی‌روند." + }, + "helpPageSourceCode": { + "message": "از کجا سورس کد را بگیرم؟" + }, + "Credits": { + "message": "سازندگان" + }, + "LearnMore": { + "message": "بیشتر بدانید" + }, + "dayAbbreviation": { + "message": "روز", + "description": "100d" + }, + "hourAbbreviation": { + "message": "ساعت", + "description": "100h" } } diff --git a/public/_locales/fi/messages.json b/public/_locales/fi/messages.json index 0ceb236e..eaa7a59c 100644 --- a/public/_locales/fi/messages.json +++ b/public/_locales/fi/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "Seuraava lähetys on lyhyempi kuin vähimmäiskeston asetuksesi. Tämä voi tarkoittaa sitä, että tämä on jo lähetetty, ja sitä ei vain oteta huomioon tämän asetuksen vuoksi. Oletko varma, että haluat lähettää?" }, + "liveOrPremiere": { + "message": "Aktiivisen livestriimin tai ensiesityksen aikana lähettäminen ei ole sallittua. Odota kunnes se loppuu, sitten päivitä sivu ja varmista, että segmentit ovat yhä oikein." + }, "showUploadButton": { "message": "Näytä lähetä-painike" }, @@ -537,6 +540,16 @@ "category_selfpromo_description": { "message": "Samankaltainen \"sponsorin\" kanssa, mutta maksamattomalle tai itsensä mainostukselle. Tämä sisältää osioita kauppatavarasta, lahjoituksista tai tietoa siitä, kenen kanssa he ovat tehneet yhteistyötä." }, + "category_exclusive_access": { + "message": "Yksinoikeudellinen ensikatsaus" + }, + "category_exclusive_access_description": { + "message": "Vain kokonaisten videoiden merkitsemiseen. Käytetään kun videossa esitellään tuote, palvelu tai sijainti, johon he ovat saaneet ilmaisen tai tuetun käyttöoikeuden." + }, + "category_exclusive_access_pill": { + "message": "Tämä video esittelee tuotteen, palvelun tai sijainnin, johon he ovat saaneet ilmaisen tai tuetun käyttöoikeuden", + "description": "Short description for this category" + }, "category_interaction": { "message": "Vuorovaikutusmuistutus (tilaaminen)" }, @@ -618,6 +631,9 @@ "showOverlay_POI": { "message": "Näytä liukusäätimessä" }, + "showOverlay_full": { + "message": "Näytä merkki" + }, "autoSkipOnMusicVideos": { "message": "Ohita kaikki segmentit automaattisesti, kun videossa on \"Musiikiton\" segmentti" }, diff --git a/public/_locales/hu/messages.json b/public/_locales/hu/messages.json index 5583086c..2256041f 100644 --- a/public/_locales/hu/messages.json +++ b/public/_locales/hu/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "A következő szegmens rövidebb, mint az általad beállított minimális időtartam. Ez azt jelentheti, hogy már beküldhették, csak emiatt az opció miatt nálad nem jelenik meg. Biztosan beküldöd?" }, + "liveOrPremiere": { + "message": "Aktív élő közvetítés vagy premier közben nem lehet szegmenseket beküldeni. Kérjük várd meg a végét, majd frissítsd az oldalt és ellenőrizd, hogy a szegmensek nem csúsztak-e el." + }, "showUploadButton": { "message": "Feltöltés gomb megjelenítése" }, @@ -541,10 +544,10 @@ "message": "Exkluzív hozzáférés" }, "category_exclusive_access_description": { - "message": "Csak teljes videók megjelölésére. Akkor használt, amikor egy videó egy olyan terméket, szolgáltatást vagy helyszínt mutat be, amihez ingyen vagy kedvezményes hozzáférést kaptak." + "message": "Csak teljes videók megjelölésére. Akkor használt, amikor egy videó egy olyan terméket, szolgáltatást vagy helyszínt mutat be, amihez ingyenes vagy kedvezményes hozzáférést kaptak." }, "category_exclusive_access_pill": { - "message": "Ez a videó olyan terméket, szolgáltatást vagy helyszínt mutat be, amihez ingyen vagy kedvezményes hozzáférést kaptak", + "message": "Ez a videó olyan terméket, szolgáltatást vagy helyszínt mutat be, amihez ingyenes vagy kedvezményes hozzáférést kaptak", "description": "Short description for this category" }, "category_interaction": { diff --git a/public/_locales/it/messages.json b/public/_locales/it/messages.json index c6b49709..a0cf744d 100644 --- a/public/_locales/it/messages.json +++ b/public/_locales/it/messages.json @@ -440,6 +440,9 @@ "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?" }, + "liveOrPremiere": { + "message": "Inviare segmenti per una live o premiere non è consentito. Per favore aspetta che finisca, poi ricarica la pagina e verifica che i segmenti siano ancora validi." + }, "showUploadButton": { "message": "Mostra Pulsante di Caricamento" }, @@ -537,6 +540,16 @@ "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_exclusive_access": { + "message": "Accesso Esclusivo" + }, + "category_exclusive_access_description": { + "message": "Solo per etichettare interi video. Usato quando un video mostra un prodotto, un servizio o un posto che hanno ricevuto gratuitamente o a cui hanno avuto un accesso sovvenzionato." + }, + "category_exclusive_access_pill": { + "message": "Questo video mostra un prodotto, un servizio o un posto che hanno ricevuto gratuitamente o a cui hanno avuto un accesso sovvenzionato", + "description": "Short description for this category" + }, "category_interaction": { "message": "Promemoria di Interazione (Sottoscrizione)" }, @@ -568,10 +581,10 @@ "message": "Riepilogo rapido degli episodi precedenti, o un'anteprima di ciò che sta arrivando più tardi nel video attuale. Inteso per clip, non per riassunti a voce." }, "category_filler": { - "message": "Tangente di Riempimento" + "message": "Tangente riempitiva" }, "category_filler_description": { - "message": "Le scene tangenziali aggiunte solo per riempire o per umorismo che non sono richieste per comprendere il contenuto principale del video. Questo non dovrebbe includere segmenti che forniscono contesto o dettagli di sfondo." + "message": "Le scene riempitive sono aggiunte solo per riempire o per umorismo che non sono richieste per comprendere il contenuto principale del video. Questo non dovrebbe includere segmenti che forniscono contesto o dettagli di sfondo." }, "category_filler_short": { "message": "Riempimento" @@ -618,6 +631,9 @@ "showOverlay_POI": { "message": "Mostra Nella Barra di Ricerca" }, + "showOverlay_full": { + "message": "Mostra Etichetta" + }, "autoSkipOnMusicVideos": { "message": "Salta automaticamente tutti i segmenti quando c'è un segmento non musicale" }, @@ -832,7 +848,7 @@ "message": "Scopri di Più" }, "CopyDownvoteButtonInfo": { - "message": "Vota negativamente e crea una copia locale per reinviare" + "message": "Vota negativamente e crea una copia locale da reinviare" }, "OpenCategoryWikiPage": { "message": "Apri la pagina della wiki di questa categoria." diff --git a/public/_locales/nl/messages.json b/public/_locales/nl/messages.json index f824c98c..e9590974 100644 --- a/public/_locales/nl/messages.json +++ b/public/_locales/nl/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "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?" }, + "liveOrPremiere": { + "message": "Indienen op een actieve livesteam of première is niet toegestaan. Wacht tot hij klaar is, vernieuw dan de pagina en controleer of de segmenten nog geldig zijn." + }, "showUploadButton": { "message": "Uploaden-knop weergeven" }, @@ -537,6 +540,16 @@ "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_exclusive_access": { + "message": "Exclusieve toegang" + }, + "category_exclusive_access_description": { + "message": "Alleen voor het labelen van volledige video's. Wordt gebruikt wanneer een video een product, dienst of locatie laat zien waartoe men gratis of gesubsidieerd toegang heeft gekregen." + }, + "category_exclusive_access_pill": { + "message": "Deze video toont een product, dienst of locatie waartoe men gratis of gesubsidieerd toegang heeft gekregen", + "description": "Short description for this category" + }, "category_interaction": { "message": "Interactieherinnering (abonneren)" }, @@ -618,6 +631,9 @@ "showOverlay_POI": { "message": "Weergeven in tijdbalk" }, + "showOverlay_full": { + "message": "Label weergeven" + }, "autoSkipOnMusicVideos": { "message": "Automatisch alle segmenten overslaan wanneer er een niet-muziek-segment is" }, diff --git a/public/_locales/pt_BR/messages.json b/public/_locales/pt_BR/messages.json index 4b7c5927..4f62af26 100644 --- a/public/_locales/pt_BR/messages.json +++ b/public/_locales/pt_BR/messages.json @@ -302,6 +302,10 @@ "mute": { "message": "Silenciar" }, + "full": { + "message": "Vídeo completo", + "description": "Used for the name of the option to label an entire video as sponsor or self promotion." + }, "skip_category": { "message": "Pular {0}?" }, @@ -533,6 +537,9 @@ "category_selfpromo_description": { "message": "Similar a \"patrocinador\", mas para auto promoções e segmentos não-pagos. Isso inclui seções sobre vendas, doações ou informações sobre com quem colaboraram." }, + "category_exclusive_access": { + "message": "Acesso Exclusivo" + }, "category_interaction": { "message": "Lembrete de interação (inscrever-se)" }, @@ -614,12 +621,19 @@ "showOverlay_POI": { "message": "Mostrar na barra de progresso" }, + "showOverlay_full": { + "message": "Mostrar Rótulo" + }, "autoSkipOnMusicVideos": { "message": "Pular automaticamente todos os segmentos quando há um segmento que não é música" }, "muteSegments": { "message": "Permitir segmentos que silenciem o áudio ao invés de pular" }, + "fullVideoSegments": { + "message": "Mostrar um ícone quando um vídeo é inteiramente um anúncio", + "description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo" + }, "colorFormatIncorrect": { "message": "Sua cor está formatada incorretamente. Deve ser um código hexadecimal de 3 ou 6 dígitos com uma cerquilha (hashtag) no início." }, @@ -737,6 +751,12 @@ "message": "Entendi", "description": "Used as the button to dismiss a tooltip" }, + "fullVideoTooltipWarning": { + "message": "Este segmento é grande. Se o vídeo inteiro for sobre um tópico, altere de \"Pular\" para \"Vídeo completo\". Consulte as diretrizes para obter mais informações." + }, + "categoryPillTitleText": { + "message": "Este vídeo inteiro está rotulado como esta categoria e está muito integrado para poder ser separado" + }, "experiementOptOut": { "message": "Optar por sair de todos os experimentos futuros", "description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private." @@ -835,6 +855,9 @@ "SponsorTimeEditScrollNewFeature": { "message": "Use a roda do mouse enquanto mantêm o cursor sobre a caixa de edição para ajustar o tempo rapidamente. Combinações das teclas ctrl e shift podem ser usadas para refinar as mudanças." }, + "categoryPillNewFeature": { + "message": "Novo! Veja quando um vídeo é inteiramente patrocinado ou de autopromoção" + }, "dayAbbreviation": { "message": "d", "description": "100d" diff --git a/public/_locales/ru/messages.json b/public/_locales/ru/messages.json index f85aa8f4..792b6648 100644 --- a/public/_locales/ru/messages.json +++ b/public/_locales/ru/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "Следующий диапазон времени короче, чем Ваша настройка минимальной длительности. Это может означать, что он уже был отправлен, и просто игнорируется из-за этой настройки. Вы действительно хотите отправить?" }, + "liveOrPremiere": { + "message": "Отправка сегментов на стримах или премьерах не допускается. Пожалуйста, дождитесь окончания видео, затем обновите страницу и убедитесь, что сегменты всё ещё верные." + }, "showUploadButton": { "message": "Показывать кнопку отправки" }, @@ -541,7 +544,7 @@ "message": "Эксклюзивный доступ" }, "category_exclusive_access_description": { - "message": "Категория для всего видео. Используется когда видео демонстрирует продукт, сервис или местоположение, к которому автор получил бесплатный или проспонсированный доступ." + "message": "Категория для всего видео. Используется, когда видео демонстрирует продукт, сервис или местоположение, к которому автор получил бесплатный или проспонсированный доступ." }, "category_exclusive_access_pill": { "message": "Это видео демонстрирует продукт, сервис или местоположение, к которому автор получил бесплатный или проспонсированный доступ", @@ -629,7 +632,7 @@ "message": "Показывать в полосе прокрутки" }, "showOverlay_full": { - "message": "Отображать название" + "message": "Показывать категорию" }, "autoSkipOnMusicVideos": { "message": "Пропускать все сегменты автоматически при наличии сегмента без музыки" diff --git a/public/_locales/sk/messages.json b/public/_locales/sk/messages.json index 57423a01..bb194c72 100644 --- a/public/_locales/sk/messages.json +++ b/public/_locales/sk/messages.json @@ -537,6 +537,16 @@ "category_selfpromo_description": { "message": "Podobné ako sponzor, okrem neplatenej alebo vlastnej propagácie. Patria sem sekcie týkajúce sa merchu, donatov alebo informácií o tom, s kým spolupracovali." }, + "category_exclusive_access": { + "message": "Exkluzívny Prístup" + }, + "category_exclusive_access_description": { + "message": "Iba pre označovanie celých videí. Používa sa, keď video predstavuje produkt, službu alebo miesto, ku ktorým získali bezplatný alebo dotovaný prístup." + }, + "category_exclusive_access_pill": { + "message": "Toto video predstavuje produkt, službu alebo miesto, ku ktorým získali bezplatný alebo dotovaný prístup", + "description": "Short description for this category" + }, "category_interaction": { "message": "Pripomienka interakcie (Prihlásiť sa na odber)" }, @@ -618,6 +628,9 @@ "showOverlay_POI": { "message": "Zobraziť v časovej lište" }, + "showOverlay_full": { + "message": "Ukázať Označenie" + }, "autoSkipOnMusicVideos": { "message": "Automaticky preskočiť všetky segmenty ak neexistuje segment bez hudby" }, diff --git a/public/_locales/sv/messages.json b/public/_locales/sv/messages.json index cb7f622b..c0181ab5 100644 --- a/public/_locales/sv/messages.json +++ b/public/_locales/sv/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "Följande rapport är kortare än ditt minstavärde i inställningarna. Det skulle kunna betyda att det redan är rapporterat och bara ignorerat på grund av denna inställning. Är du säker på att du vill rapportera?" }, + "liveOrPremiere": { + "message": "Att skicka in på en aktiv liveström eller premiär är inte tillåtet. Vänta tills den är färdig, uppdatera sedan sidan och kontrollera att segmenten fortfarande är giltiga." + }, "showUploadButton": { "message": "Visa uppladdningsknapp" }, diff --git a/public/_locales/tr/messages.json b/public/_locales/tr/messages.json index 32a0c829..2b8d5156 100644 --- a/public/_locales/tr/messages.json +++ b/public/_locales/tr/messages.json @@ -71,7 +71,7 @@ "message": "Sponsor sürelerini yollarken bir sorun oluştur, lütfen tekrar deneyin." }, "sponsorFound": { - "message": "Bu videonun kısımları veri tabanımızda mevut" + "message": "Bu videonun kısımları veri tabanımızda mevcut" }, "sponsor404": { "message": "Kısım bulunamadı" @@ -440,6 +440,9 @@ "shortCheck": { "message": "Sıradaki öneri belirlediğiniz minimum süre ayarından daha kısa. Bu zaten yollandığı ve bu ayardan dolayı yok sayıldığı anlamına gelebilir. Göndermek istediğinizden emin misiniz?" }, + "liveOrPremiere": { + "message": "Bir canlı yayın veya ön gösterim sırasında kısım gönderilemez. Yayının bitmesini bekleyin, sonra sayfayı tazeleyip kısımların geçerli olduğunu kontrol edin." + }, "showUploadButton": { "message": "Karşıya Yükleme Butonunu Göster" }, @@ -537,6 +540,16 @@ "category_selfpromo_description": { "message": "\"Sponsor\" seçeneğinden farkı para karşılığı olmaması veya kendi reklamını yapmasıdır. Buna kendi markalı ürünlerini satmak, bağış toplamak ve videoda işbirliği yaptığı kimselerden bahsetmek dahildir." }, + "category_exclusive_access": { + "message": "Özel Erişim" + }, + "category_exclusive_access_description": { + "message": "Yalnızca bütün videoyu etiketlemek için kullanın. Video; ücretli veya ücretsiz elde edilen bir ürünün, hizmetin veya bir yerin reklamını yapıyorsa kullanılır." + }, + "category_exclusive_access_pill": { + "message": "Bu video; yayıncıya özel ücretle veya ücretsiz sunulan bir ürünün, hizmetin veya bir yerin reklamını yapıyor", + "description": "Short description for this category" + }, "category_interaction": { "message": "Etkileşim Hatırlatıcısı (Abonelik)" }, @@ -618,6 +631,9 @@ "showOverlay_POI": { "message": "Arama Çubuğunda Göster" }, + "showOverlay_full": { + "message": "Etiketi Göster" + }, "autoSkipOnMusicVideos": { "message": "Müzik olmayan kısım varsa tüm kısımları otomatik atla" }, @@ -850,7 +866,7 @@ "message": "Zaman aralığını hızlı bir şekilde ayarlamak için düzenleme kutusunun üzerinde fare tekerini kullanın. Değişikliklere ince ayar yapmak için ctrl veya shift tuşunun kombinasyonları kullanılabilir." }, "categoryPillNewFeature": { - "message": "Yeni! Videonun bütünü sponsor veya kendi reklamıysa öngörün" + "message": "Yeni! Videonun bütünü sponsor veya kendi reklamıysa bu uyarıyı görün" }, "dayAbbreviation": { "message": "d", diff --git a/public/_locales/uk/messages.json b/public/_locales/uk/messages.json index 831ad003..ef11899d 100644 --- a/public/_locales/uk/messages.json +++ b/public/_locales/uk/messages.json @@ -440,6 +440,9 @@ "shortCheck": { "message": "Наступний діапазон часу коротше, ніж Ваше налаштування мінімальної тривалості. Це може означати, що він вже був надісланий, і просто ігнорується через це налаштування. Ви дійсно хочете надіслати?" }, + "liveOrPremiere": { + "message": "Надсилання під час прямого ефіру чи прем'єри не дозволено. Будь ласка, зачекайте до завершення, потім оновіть сторінку і переконайтеся, що сегменти все ще дійсні." + }, "showUploadButton": { "message": "Показувати кнопку надсилання" }, diff --git a/public/_locales/vi/messages.json b/public/_locales/vi/messages.json index 3fdf5304..c053c1a0 100644 --- a/public/_locales/vi/messages.json +++ b/public/_locales/vi/messages.json @@ -537,6 +537,9 @@ "category_selfpromo_description": { "message": "Tương tự như 'nhà tài trợ' ngoại trừ việc quảng cáo không được trả tiền hay tự quảng cáo. Điều này bao gồm các phần hàng hóa, đóng góp, hoặc thông tin về người mà họ hợp tác cùng." }, + "category_exclusive_access": { + "message": "Truy cập riêng" + }, "category_interaction": { "message": "Nhắc tương tác (Đăng ký)" }, diff --git a/src/components/SkipNoticeComponent.tsx b/src/components/SkipNoticeComponent.tsx index 49dac9ab..588405fe 100644 --- a/src/components/SkipNoticeComponent.tsx +++ b/src/components/SkipNoticeComponent.tsx @@ -1,13 +1,13 @@ import * as React from "react"; import * as CompileConfig from "../../config.json"; import Config from "../config" -import { Category, ContentContainer, CategoryActionType, SponsorHideType, SponsorTime, NoticeVisbilityMode, ActionType, SponsorSourceType, SegmentUUID } from "../types"; +import { Category, ContentContainer, SponsorHideType, SponsorTime, NoticeVisbilityMode, ActionType, SponsorSourceType, SegmentUUID } from "../types"; import NoticeComponent from "./NoticeComponent"; import NoticeTextSelectionComponent from "./NoticeTextSectionComponent"; import Utils from "../utils"; const utils = new Utils(); -import { getCategoryActionType, getSkippingText } from "../utils/categoryUtils"; +import { getSkippingText } from "../utils/categoryUtils"; import ThumbsUpSvg from "../svg-icons/thumbs_up_svg"; import ThumbsDownSvg from "../svg-icons/thumbs_down_svg"; @@ -326,7 +326,7 @@ class SkipNoticeComponent extends React.Component 1 - || getCategoryActionType(this.segments[0].category) !== CategoryActionType.POI + || this.segments[0].actionType !== ActionType.Poi || this.props.unskipTime)) { const style: React.CSSProperties = { @@ -547,7 +547,7 @@ class SkipNoticeComponent extends React.Component getCategoryActionType(cat as Category) === CategoryActionType.Skippable))) as Category[]; + const categories = (CompileConfig.categoryList.filter((cat => CompileConfig.categorySupport[cat].includes(ActionType.Skip)))) as Category[]; for (const category of categories) { elements.push(