Compare commits
84 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8611adf50 | ||
|
|
b974806514 | ||
|
|
668b956bb7 | ||
|
|
7b54b79f27 | ||
|
|
ef36c79092 | ||
|
|
c1898d0db7 | ||
|
|
e9e3114549 | ||
|
|
a56bba0612 | ||
|
|
afeba5f077 | ||
|
|
81d0c0cab1 | ||
|
|
de1f18612f | ||
|
|
ba37f5885a | ||
|
|
2a3a04a504 | ||
|
|
13ad7516c2 | ||
|
|
bcb981ae3d | ||
|
|
8d83076ea1 | ||
|
|
17437870e7 | ||
|
|
2373b34067 | ||
|
|
839dd4613c | ||
|
|
c84a951acc | ||
|
|
d0949452da | ||
|
|
1a855a6993 | ||
|
|
1656fae2d4 | ||
|
|
22be10d33f | ||
|
|
324c28b867 | ||
|
|
d56637cb14 | ||
|
|
e720acc674 | ||
|
|
c396d1690d | ||
|
|
2f5d4dfe03 | ||
|
|
821c45a6b6 | ||
|
|
ff44016003 | ||
|
|
b11d99a196 | ||
|
|
6f548987a3 | ||
|
|
c6438872e2 | ||
|
|
caae61a6a8 | ||
|
|
777f3a2769 | ||
|
|
797c9d67e4 | ||
|
|
528b475429 | ||
|
|
e39b441c16 | ||
|
|
b8cbedbc4d | ||
|
|
76b78ef132 | ||
|
|
572fee265d | ||
|
|
bfe1e8307d | ||
|
|
1b96e2107a | ||
|
|
3eccf855e5 | ||
|
|
069ae4bb58 | ||
|
|
7f8947dd0a | ||
|
|
0ae34c9603 | ||
|
|
41a3c695dc | ||
|
|
5f92056b94 | ||
|
|
62a64791c6 | ||
|
|
bcf082d760 | ||
|
|
2de822c97e | ||
|
|
ad5248f65e | ||
|
|
8d3efb1a90 | ||
|
|
bd429f02a7 | ||
|
|
91f3ebed41 | ||
|
|
cc73d2a179 | ||
|
|
d9d2fc8e03 | ||
|
|
3a9d0ad692 | ||
|
|
2843cb6916 | ||
|
|
cbd1f43572 | ||
|
|
38bc6e2b1c | ||
|
|
522dbd7e4d | ||
|
|
31855f7501 | ||
|
|
278394e48a | ||
|
|
4f8166b809 | ||
|
|
c1a65a3383 | ||
|
|
c3b82e7aa7 | ||
|
|
ef435daf6d | ||
|
|
e54ad07901 | ||
|
|
99f1fc60ae | ||
|
|
43484ee656 | ||
|
|
af5946195a | ||
|
|
a7f4b66e22 | ||
|
|
5b59864639 | ||
|
|
d57d3e6b8b | ||
|
|
4dfef176db | ||
|
|
9b8daa7a3e | ||
|
|
b6d6856ff0 | ||
|
|
8fad730a77 | ||
|
|
a118d80548 | ||
|
|
930911e2b9 | ||
|
|
47b90b2c2e |
1
.github/FUNDING.yml
vendored
@@ -1,2 +1,3 @@
|
||||
github: ajayyy-org
|
||||
patreon: ajayyy
|
||||
custom: [sponsor.ajay.app/donate]
|
||||
|
||||
14
.github/workflows/take-action.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# .github/workflows/take.yml
|
||||
name: Assign issue to contributor
|
||||
on:
|
||||
issue_comment:
|
||||
|
||||
jobs:
|
||||
assign:
|
||||
name: Take an issue
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: take the issue
|
||||
uses: bdougie/take-action@main
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
@@ -13,6 +13,7 @@
|
||||
<a href="https://addons.mozilla.org/addon/sponsorblock/?src=external-github">Firefox</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Android">Android</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Edge">Edge</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Safari">Safari for MacOS</a> |
|
||||
<a href="https://sponsor.ajay.app">Website</a> |
|
||||
<a href="https://sponsor.ajay.app/stats">Stats</a>
|
||||
</p>
|
||||
@@ -21,7 +22,6 @@
|
||||
<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>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "__MSG_fullName__",
|
||||
"short_name": "SponsorBlock",
|
||||
"version": "2.1.0.2",
|
||||
"version": "2.2",
|
||||
"default_locale": "en",
|
||||
"description": "__MSG_Description__",
|
||||
"content_scripts": [{
|
||||
@@ -40,6 +40,7 @@
|
||||
"icons/help.svg",
|
||||
"icons/report.png",
|
||||
"icons/close.png",
|
||||
"icons/refresh.svg",
|
||||
"icons/beep.ogg",
|
||||
"icons/PlayerInfoIconSponsorBlocker.svg",
|
||||
"icons/PlayerDeleteIconSponsorBlocker.svg",
|
||||
@@ -68,7 +69,9 @@
|
||||
"32": "icons/IconSponsorBlocker32px.png",
|
||||
"64": "icons/LogoSponsorBlocker64px.png",
|
||||
"128": "icons/LogoSponsorBlocker128px.png",
|
||||
"256": "icons/LogoSponsorBlocker256px.png"
|
||||
"256": "icons/LogoSponsorBlocker256px.png",
|
||||
"512": "icons/LogoSponsorBlocker512px.png",
|
||||
"1024": "icons/LogoSponsorBlocker1024px.png"
|
||||
},
|
||||
"options_ui": {
|
||||
"page": "options/options.html",
|
||||
|
||||
28763
package-lock.json
generated
@@ -24,12 +24,12 @@
|
||||
"copy-webpack-plugin": "^6.0.3",
|
||||
"eslint": "^7.15.0",
|
||||
"eslint-plugin-react": "^7.21.5",
|
||||
"jest": "^26.4.0",
|
||||
"jest": "^27.0.6",
|
||||
"rimraf": "^3.0.0",
|
||||
"ts-jest": "^26.2.0",
|
||||
"ts-jest": "^27.0.3",
|
||||
"ts-loader": "^6.2.1",
|
||||
"typescript": "~3.7.3",
|
||||
"web-ext": "^5.4.1",
|
||||
"typescript": "~4.3",
|
||||
"web-ext": "^6.2.0",
|
||||
"webpack": "~4.41.2",
|
||||
"webpack-cli": "~3.3.10",
|
||||
"webpack-merge": "~4.2.2"
|
||||
|
||||
@@ -25,9 +25,15 @@
|
||||
"Segments": {
|
||||
"message": "сегменти"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Одобряване на това предложение"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Докладвай"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Подайте сигнал за неправилно предложение."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Отхвърли"
|
||||
},
|
||||
@@ -49,6 +55,9 @@
|
||||
"paused": {
|
||||
"message": "На пауза"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "Таймерът е спрян"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "За да редактирате или изтриете някои стойности, натиснете на \"инфо\" бутона или отворете изкачащият прозорец на добавката чрез кликване на иконата на добавката в горният ляв ъгъл."
|
||||
},
|
||||
@@ -58,12 +67,27 @@
|
||||
"Unknown": {
|
||||
"message": "Възникна грешка при подаването на Вашите спонсорски времена, моля опитайте отново по-късно."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Този видеоклип има сегменти в базата данни!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Не са намерени сегменти"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Сегментът Започва Сега"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Сегментът Свършва Сега"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Отказ от създаването на сегмент"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Не е намерен видеоклип в YouTube.\nАко това е неправилно, опреснете раздела."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Опресняване на сегментите"
|
||||
},
|
||||
"success": {
|
||||
"message": "Успешно!"
|
||||
},
|
||||
@@ -76,12 +100,67 @@
|
||||
"connectionError": {
|
||||
"message": "Възникна грешка с връзката. Код на грешката: "
|
||||
},
|
||||
"wantToSubmit": {
|
||||
"message": "Искате ли да изпратите сегментите за видеоклип с id"
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Изчистване на сегментите"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Отворете изскачащия прозорец на SponsorBlock"
|
||||
},
|
||||
"closePopup": {
|
||||
"message": "Затваряне на прозореца"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Изпращане на сегментите"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Сигурни ли сте, че искате да подадете това?"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "Добавяне на канала към белия списък"
|
||||
},
|
||||
"removeFromWhitelist": {
|
||||
"message": "Премахване на канала от белия списък"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Гласувайте за сегмент"
|
||||
},
|
||||
"Submissions": {
|
||||
"message": "Изпратени сегменти"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "Вие сте помогнали на хората да пропуснат "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "Класиране"
|
||||
},
|
||||
"recordTimesDescription": {
|
||||
"message": "Изпращане"
|
||||
},
|
||||
"submissionEditHint": {
|
||||
"message": "Редактирането на частите ще се появи, след като щракнете върху Изпращане",
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
"message": "Съвет: Можете да настроите клавиши за изпращане в опциите"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Изчистване на времената"
|
||||
},
|
||||
"submitTimesButton": {
|
||||
"message": "Изпращане на времената"
|
||||
},
|
||||
"publicStats": {
|
||||
"message": "Това се използва на страницата с публичната статистика, за да покаже колко сте допринесли. Вижте го"
|
||||
},
|
||||
"Username": {
|
||||
"message": "Потребителско име"
|
||||
},
|
||||
"setUsername": {
|
||||
"message": "Задайте потребителско име"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Елате в официалния Discord сървър за да давате предложения!"
|
||||
},
|
||||
@@ -97,6 +176,319 @@
|
||||
"hideButtons": {
|
||||
"message": "Скриване на бутоните в YouTube Player-а"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "Това скрива бутоните, които се показват в плейъра на YouTube за изпращане на сегменти за пропускане."
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Показване на бутона за информация в плейъра на YouTube"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Скриване на бутона за информация в плейъра на YouTube"
|
||||
},
|
||||
"whatInfoButton": {
|
||||
"message": "Това е бутонът, който отваря изскачащ прозорец в страницата на YouTube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Автоматично скриване на бутона за информация"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Скриване на бутона за изтриване в плейъра на YouTube"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "Показване на бутона за изтриване в плейъра на YouTube"
|
||||
},
|
||||
"whatDeleteButton": {
|
||||
"message": "Това е бутонът в плейъра на YouTube, който ще изчисти всичките ви неизпратени сегменти за текущия видеоклип."
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Активиране проследяването на броя пропускания"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Тази функция проследява кои сегменти сте пропуснали, за да уведоми потребителите доколко приносът им е помогнал на другите и се използва като показател заедно с положителните гласове, за да се гарантира, че спамът няма да попадне в базата данни. Разширението изпраща съобщение до сървъра всеки път, когато пропуснете сегмент. Надяваме се, че повечето хора няма да променят тази настройка, така че броят на прегледите да е точен. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Активиране проследяването на броя пропускания в раздели „Инкогнито“"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Заявка по префикс на хеш"
|
||||
},
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "Вместо да се изискват сегменти от сървъра с помощта на videoID, се изпращат първите 4 знака от хеша на videoID. Този сървър ще изпрати обратно данни за всички видеоклипове с подобни хешове."
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "Повторно извличане на сегментите при нови видеоклипове"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Ако видеоклипът е нов и няма намерени сегменти, той ще продължи да извлича на всеки няколко минути, докато гледате."
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Отново покажете известието"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlock ви позволява да прескачате спонсори, въведения, заключения, напомняния за абониране и други досадни части от видеоклиповете в YouTube. SponsorBlock е разширение за браузър, създадено от множество хора, което позволява на всеки да изпраща началния и крайния час на спонсорирани сегменти и други сегменти от видеоклиповете в YouTube. След като един човек подаде тази информация, всички останали с това разширение ще прескочат спонсорирания сегмент. Можете също да пропуснете части без музика при музикалните видеоклипове.",
|
||||
"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."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "Задайте клавиш за пропускане на сегмент"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Задайте клавиш за начало/край на сегмент"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Задайте клавиш за изпращане"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Изберете клавиш, като го натиснете"
|
||||
},
|
||||
"keybindDescriptionComplete": {
|
||||
"message": "Клавишът е зададен за: "
|
||||
},
|
||||
"0": {
|
||||
"message": "Времето за изчакване на връзката изтече. Проверете връзката си с интернет. Ако вашият интернет работи, вероятно сървърът е претоварен или не работи."
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "Пропускането е активирано"
|
||||
},
|
||||
"enableSkipping": {
|
||||
"message": "Пропускането е деактивирано"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "Вашата работа",
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"502": {
|
||||
"message": "Сървърът изглежда претоварен. Опитайте отново след няколко секунди."
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "Код на грешката: "
|
||||
},
|
||||
"skip": {
|
||||
"message": "Пропускане"
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "Пропускане на {0}?"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Пропуснато"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Деактивиране на автоматичното пропускане"
|
||||
},
|
||||
"enableAutoSkip": {
|
||||
"message": "Активиране на автоматичното пропускане"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Звуково известие при пропускане"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Звуковото известие при пропускане ще пуска звук всеки път, когато се пропусне сегмент. Ако е забранено (или автоматичното пропускане е деактивирано), няма да се пуска звук."
|
||||
},
|
||||
"showTimeWithSkips": {
|
||||
"message": "Показване на времето с премахнати пропускания"
|
||||
},
|
||||
"showTimeWithSkipsDescription": {
|
||||
"message": "Това време се показва в скоби до текущото време под лентата за прогреса. Това показва общата продължителност на видеоклипа минус всички сегменти. Това включва сегменти, маркирани само като „Показване в лентата за прогреса“."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Пропуснали сте "
|
||||
},
|
||||
"youHaveSaved": {
|
||||
"message": "Спестили сте "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "минута"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "минути"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "час"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "часа"
|
||||
},
|
||||
"youHaveSavedTime": {
|
||||
"message": "Спестили сте на хората"
|
||||
},
|
||||
"youHaveSavedTimeEnd": {
|
||||
"message": " от живота им"
|
||||
},
|
||||
"statusReminder": {
|
||||
"message": "Проверете status.sponsor.ajay.app за състоянието на сървъра."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Импортиране/експортиране на вашия UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Това трябва да се пази тайно. То е като парола и не трябва да се споделя с никого. Ако някой го притежава, той може да се представи за вас."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Задаване на UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Внимание: Промяната на UserID е постоянна. Наистина ли искате да направите това? Не забравяйте да архивирате стария си за всеки случай."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Създаден от"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Автоматично пропускане"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Показване на известие след пропускане на сегмент"
|
||||
},
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". В момента е настроено на:"
|
||||
},
|
||||
"supportOtherSites": {
|
||||
"message": "Поддръжка на YouTube-сайтове на трети страни"
|
||||
},
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Поддръжка на клиенти за YouTube на трети страни. За да активирате поддръжката, трябва да приемете допълнителните разрешения. Това НЕ работи в режим инкогнито в Chrome и други варианти на Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Поддържани сайтове: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Активиране поддръжката на Invidious, деактивиране на автоматичното пропускане, скриване на бутоните и др."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Добавяне екземпляр на клиент на трета страна"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Добавяне на персонализиран екземпляр. Това трябва да бъде форматирано само с домейна. Пример: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Добавяне"
|
||||
},
|
||||
"addInvidiousInstanceError": {
|
||||
"message": "Това е невалиден домейн. Трябва да включва само частта на домейна. Пример: invidious.ajay.app"
|
||||
},
|
||||
"resetInvidiousInstance": {
|
||||
"message": "Нулиране списъка на Invidious"
|
||||
},
|
||||
"resetInvidiousInstanceAlert": {
|
||||
"message": "На път сте да нулирате списъка на Invidious"
|
||||
},
|
||||
"currentInstances": {
|
||||
"message": "Текущи екземпляри:"
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "Минимална продължителност (секунди):"
|
||||
},
|
||||
"minDurationDescription": {
|
||||
"message": "Сегменти, по-кратки от зададената стойност, няма да бъдат пропускани или показвани в плейъра."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Продължителност на известието за пропускане (секунди):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Известието за пропускане ще остане на екрана поне толкова дълго. За ръчно пропускане може да се вижда по-дълго."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Следното предложение е по-кратко от опцията за минимална продължителност. Това може да означава, че вече е изпратено и просто е игнорирано поради тази опция. Наистина ли искате да го изпратите?"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Показване на бутона за качване"
|
||||
},
|
||||
"whatUploadButton": {
|
||||
"message": "Този бутон се появява в плейъра на YouTube, след като сте избрали времева отметка и сте готови за изпращане."
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "Адрес на сървъра на SponsorBlock"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "Адресът, който SponsorBlock използва за осъществяване на заявки към сървъра.\nОсвен ако нямате собствен екземпляр на сървър, това не трябва да се променя."
|
||||
},
|
||||
"save": {
|
||||
"message": "Запазване"
|
||||
},
|
||||
"reset": {
|
||||
"message": "Начално състояние"
|
||||
},
|
||||
"customAddressError": {
|
||||
"message": "Този адрес не е в правилната форма. Уверете се, че имате http:// или https:// в началото и няма последващи наклонени черти."
|
||||
},
|
||||
"areYouSureReset": {
|
||||
"message": "Наистина ли искате да върнете началното състояние?"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com вече се поддържа"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Импортиране/експортиране на всички опции"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Това е цялата ви конфигурация в JSON. Това включва вашия userID, така че се уверете, че споделяте това разумно."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Задаване на опции"
|
||||
},
|
||||
"exportOptionsWarning": {
|
||||
"message": "Внимание: Промяната на опциите е постоянна и може да повреди вашата инсталация. Наистина ли искате да направите това? Не забравяйте да архивирате старите си за всеки случай."
|
||||
},
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "Този JSON не е форматиран правилно. Вашите опции не са променени."
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Изпращане на сегмента"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Изпращане"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "Отказ"
|
||||
},
|
||||
"delete": {
|
||||
"message": "Изтриване"
|
||||
},
|
||||
"preview": {
|
||||
"message": "Преглед"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Неизпратен"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Изследване"
|
||||
},
|
||||
"edit": {
|
||||
"message": "Редактиране"
|
||||
},
|
||||
"copyDebugInformation": {
|
||||
"message": "Копиране на информацията за отстраняване на грешки в клипборда"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "Неуспешно записване в клипборда"
|
||||
},
|
||||
"copyDebugInformationOptions": {
|
||||
"message": "Копира информацията в клипборда, за да се предостави на разработчика при възникване на грешка или когато разработчикът поиска това. Деликатната информация като вашия user ID, канали в белия списък и потребителски адрес на сървъра са премахнати. Съдържа се обаче информация като вашия потребителски агент, браузър, операционна система и номер на версия на разширението. "
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Информацията за отстраняване на грешки е копирана в клипборда. Чувствайте се свободни да премахнете всяка информация, която предпочитате да не споделяте. Запазете това в текстов файл или го поставете в доклада за грешки."
|
||||
},
|
||||
"theKey": {
|
||||
"message": "Клавишът"
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "е обвързан с друго действие. Моля, изберете друг клавиш."
|
||||
},
|
||||
"to": {
|
||||
"message": "до",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
@@ -104,8 +496,8 @@
|
||||
"category_sponsor": {
|
||||
"message": "Спонсорство"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Когато има кратко напомняне да харесате, да се абонирате или да последвате канала по средата на съдържанието. Ако е дълго или заради нещо специфично, трябва да е под \"само-реклама\"."
|
||||
"category_sponsor_description": {
|
||||
"message": "Платена промоция, платени препоръки и директни реклами. Не за самореклама или безплатни препоръки за каузи/създатели/уебсайтове/продукти, които се харесват на автора."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Неплатена/Само-реклама"
|
||||
@@ -113,9 +505,45 @@
|
||||
"category_selfpromo_description": {
|
||||
"message": "Подобно на \"спонсорство\", но е неплатено. Това включва merchandise, дарения или информация с кого каналът има сътрудничество."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Напомняне за действие (Абониране)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Когато има кратко напомняне да харесате, да се абонирате или да последвате канала по средата на съдържанието. Ако е дълго или заради нещо специфично, трябва да е под \"само-реклама\"."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Напомняне за взаимодействие"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Пауза/Начална анимация"
|
||||
},
|
||||
"category_intro_description": {
|
||||
"message": "Интервал без реално съдържание. Може да бъде пауза, статичен кадър, повтаряща се анимация. Това не трябва да се използва за преходи, съдържащи информация."
|
||||
},
|
||||
"category_intro_short": {
|
||||
"message": "Антракт"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Крайни картички/Заслуги"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Заслуги или когато се показват крайните карти на YouTube. Не за заключения с информация."
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Предварително изявление/Обобщение"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Бързо обобщение на предишни епизоди или преглед на това, което предстои по-късно в текущия видеоклип. Предназначен за монтирани заедно клипове, а не за речеви обобщения."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Музика: Част без музика"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "Само за използване в музикални видеоклипове. Това трябва да се използва само за части от музикални видеоклипове, които вече не са обхванати от друга категория."
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Без музика"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Поточно предаване: Четене на съобщения/дарения"
|
||||
},
|
||||
@@ -131,25 +559,131 @@
|
||||
"showOverlay": {
|
||||
"message": "Показване в seek лентата"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Автоматично пропускане на всички сегменти, когато има сегмент без музика"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Вашият цвят не е форматиран правилно. Трябва да бъде 3- или 6-цифрен hex код с \"#\" в началото."
|
||||
},
|
||||
"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": "Изберете категория"
|
||||
},
|
||||
"enableThisCategoryFirst": {
|
||||
"message": "За да изпратите сегменти с категория „{0}“, трябва да я активирате от опциите. Ще бъдете пренасочени към опциите сега.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Трябва да изберете категория за всички сегменти, които изпращате!"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Край)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "скрито: глас против"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "скрито: твърде кратко"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID на канала все още не е зареден. Ако използвате вграден видеоклип, опитайте вместо това да използвате началната страница на YouTube. Това може да бъде причинено и от промени в оформлението на YouTube, ако мислите така, направете коментар тук:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Изглежда, че нещо блокира способността на SponsorBlock да получава видео данни. Моля, вижте https://github.com/ajayyy/SponsorBlock/issues/741 за повече информация."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Изглежда, че SponsorBlock не може да достигне API на YouTube. За да поправите това, приемете подканата за разрешение, която ще се появи след това, изчакайте няколко секунди и след това презаредете страницата."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Даване на разрешение"
|
||||
},
|
||||
"permissionRequestSuccess": {
|
||||
"message": "Искането за разрешение е успешно!"
|
||||
},
|
||||
"permissionRequestFailed": {
|
||||
"message": "Искането за разрешение не бе успешно, натиснахте ли Отказ?"
|
||||
},
|
||||
"adblockerIssueWhitelist": {
|
||||
"message": "Ако не можете да разрешите това, деактивирайте настройката „Принудителна проверка на канала преди пропускане“, тъй като SponsorBlock не може да извлече информацията за канала за този видеоклип"
|
||||
},
|
||||
"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": "Отворете опциите за пропускане на въведения, заключения, продажба на стоки и т.н."
|
||||
},
|
||||
"help": {
|
||||
"message": "Помощ"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Отказ от всички бъдещи експерименти",
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
"message": "Nikdy nezobrazovat"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Stiskněte \"Vrátit se\" aby jste se dostali do místa před přeskočením."
|
||||
"message": "Klikněte na \"Vrátit se\", abyste se dostali do místa před přeskočením."
|
||||
},
|
||||
"unskip": {
|
||||
"message": "Vrátit se"
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Nebylo nalezeno žádné YouTube video.\nPokud je to špatně, obnovte záložku."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Aktualizovat segmenty"
|
||||
},
|
||||
"success": {
|
||||
"message": "Úspěch!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Toto je tlačítko, které otevře vyskakovací nabídku na YouTube stránce."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Automaticky skrýt informační tlačítko"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Skrýt tlačítko Odstranit v YouTube přehrávači"
|
||||
},
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Je momentálně nastaveno na:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Podpora Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Podpora pro weby YouTube třetích stran"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) je YouTube klient třetí strany. Chcete-li povolit podporu, musíte přijmout další oprávnění. Toto NEFUNGUJE v anonymním režimu v Chromu a dalších Chromium prohlížečích."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Podpora pro YouTube klienty třetích stran. Chcete-li povolit podporu, musíte přijmout další oprávnění. Toto NEFUNGUJE v anonymním režimu v Chromu a dalších Chromium prohlížečích.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Podporované weby: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Povolení podpory Invidious, zakázání automatického přeskočení, skrytí tlačítek a více."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Přidat relaci Invidious"
|
||||
"message": "Přidat relaci klienta třetí strany"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Přidat vlastní relaci Invidious. Musí být formátována POUZE s doménou. Například: invidious.ajay.app"
|
||||
"message": "Přidat vlastní relaci. Musí být formátována POUZE s doménou. Například: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Přidat"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenty kratší než nastavená hodnota nebudou přeskočeny nebo zobrazeny v přehrávači."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Délka trvání oznámení o přeskočení (v sekundách):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Oznámení o přeskočení zůstane na obrazovce alespoň po tuto dobu. Pro ruční může být zobrazeno déle."
|
||||
},
|
||||
"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?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Náhled"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Neodesláno"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Kontrola"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Placená propagace, placená doporučení a přímé reklamy. Nezahrnuje sebepropagaci nebo shout-outy uživatelů/tvůrců/webů/produktů, které se tvůrcovi líbí."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplacená / vlastní propagace"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Podobně jako \"sponzor\" s výjimkou neplacených nebo propagačních akcí. Zahrnuje sekce o zboží, dary nebo informace o tom, s kým spolupracují."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Připomenutí interakce (odběr)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Při krátké připomínce dát like, odběr nebo sledování tvůrce uprostřed obsahu. Pokud je segment dlouhý nebo zahrnuje něco specifického, mělo by být místo toho zařazeno do vlastní propagace."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Připomenutí interakce"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Přestávka / úvodní animace"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Titulky nebo když se objeví konečné karty YouTube. Není pro závěry s informacemi."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Připomenutí interakce (odběr)"
|
||||
"category_preview": {
|
||||
"message": "Náhled/shrnutí"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Při krátké připomínce dát like, odběr nebo sledování tvůrce uprostřed obsahu. Pokud je segment dlouhý nebo zahrnuje něco specifického, mělo by být místo toho zařazeno do vlastní propagace."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Připomenutí interakce"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplacená / vlastní propagace"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Podobně jako \"sponzor\" s výjimkou neplacených nebo propagačních akcí. Zahrnuje sekce o zboží, dary nebo informace o tom, s kým spolupracují."
|
||||
"category_preview_description": {
|
||||
"message": "Rychlé shrnutí předchozích epizod nebo náhled toho, co se objeví v aktuálním videu. Myšleno pro upravené sloučené klipy, ne pro mluvená shrnutí."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Hudba: nehudební sekce"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Zobrazit v liště"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automaticky přeskočit všechny segmenty, když je ve videu nehudební segment"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Vaše barva má nesprávný formát. Měl by to být 3 nebo 6 znaků dlouhý HEX kód s křížkem na začátku."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Barva náhledu",
|
||||
"message": "Barva neodeslaného segmentu",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Nápověda"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Odhlásit se ze všech budoucích experimentů",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"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.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,5 +66,56 @@
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "Der skete en fejl da du prøvede at indsende dine reklame tider, prøv lige igen."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Denne video har segmenter i databasen!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Ingen segmenter fundet"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Segment Begynder Nu"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Segment Slutter Nu"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Annuller Oprettelse Af Segment"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Ingen YouTube-video fundet.\nHvis dette er forkert, så genindlæs siden."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Opdater segmenter"
|
||||
},
|
||||
"success": {
|
||||
"message": "Succes!"
|
||||
},
|
||||
"voted": {
|
||||
"message": "Stemt!"
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Det ser ud til at serveren er nede. Kontakt udvikleren straks."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Der opstod en forbindelsesfejl. Fejlkode: "
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Ryd Segmenter"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Åbn SponsorBloker Pop-op"
|
||||
},
|
||||
"closePopup": {
|
||||
"message": "Luk Pop-op"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Indsend Segmenter"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Er du sikker på, at du vil indsende dette?"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Stem På Et Segment"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Überspringe Sponsoren, betteln um Abonnenten und mehr in YouTube Videos. Melde Sponsoren in Videos, die du guckst, um anderen Zeit zu sparen.",
|
||||
"message": "Überspringe Sponsoren, Betteln um Abonnenten und mehr in YouTube-Videos. Melde Sponsoren in Videos, die du guckst, um Anderen Zeit zu sparen.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
@@ -92,7 +92,7 @@
|
||||
"message": "Abgestimmt!"
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Der Server ist scheinbar offline. Bitte unverzüglich dem Entwickler melden."
|
||||
"message": "Der Server ist anscheinend offline. Bitte unverzüglich dem Entwickler melden."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Ein Verbindungsfehler ist aufgetreten. Fehlermeldung: "
|
||||
@@ -119,7 +119,7 @@
|
||||
"message": "Kanal zur Whitelist hinzufügen"
|
||||
},
|
||||
"removeFromWhitelist": {
|
||||
"message": "Kanal von der Whitelist entfernen"
|
||||
"message": "Kanal aus der Whitelist entfernen"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Über ein Segment abstimmen"
|
||||
@@ -156,7 +156,7 @@
|
||||
"message": "Benutzername"
|
||||
},
|
||||
"setUsername": {
|
||||
"message": "Alias festlegen"
|
||||
"message": "Benutzernamen festlegen"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Tritt dem offiziellen Discord-Server bei und teile Anregungen und Feedback!"
|
||||
@@ -198,7 +198,7 @@
|
||||
"message": "Aktiviere das Zählen übersprungener Segmente"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Diese Funktion verfolgt welche Segmente du übersprungen hast, um andere Benutzer wissen zu lassen, wie sehr ihre Einreichung anderen geholfen hat, sowie um als Metrik zusammen mit positiven Bewertungen sicherzustellen, dass kein Spam in die Datenbank gelangt. Die Erweiterung sendet jedes Mal, wenn du ein Segment überspringst, eine Nachricht an den Server. Hoffentlich ändern die meisten Leute diese Einstellung nicht, so dass die Zahlen korrekt sind. :)"
|
||||
"message": "Diese Funktion erfasst, welche Segmente du übersprungen hast, um andere Nutzer zu zeigen, wie hilfreich ihre Beiträge sind. Außerdem stellt dies zusammen mit positiven Bewertungen sicher, dass keine unerwünschten Inhalte in die Datenbank gelangen. Die Erweiterung sendet jedes Mal, wenn du ein Segment überspringst, eine Meldung an den Server. Hoffentlich verändern die meisten Nutzer diese Einstellung nicht, um unsere Statistik zu verbessern :)"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Abfrage nach Hash-Präfix"
|
||||
@@ -207,7 +207,7 @@
|
||||
"message": "Anstatt Segmente mit der Video-ID vom Server anzufordern, werden die ersten 4 Zeichen des Hashs der Video-ID gesendet. Der Server sendet Daten für alle Videos mit ähnlichen Hashes zurück."
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "Segmente für neue Videos neu abrufen"
|
||||
"message": "Segmente bei neuen Videos erneut abrufen"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Wenn das Video neu ist und keine Segmente gefunden wurden, wird während des Betrachtens alle paar Minuten erneut eine Anfrage gesendet."
|
||||
@@ -347,20 +347,20 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Aktuelle Einstellung:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Invidious-Kompatibilität"
|
||||
"supportOtherSites": {
|
||||
"message": "Drittanbieter YouTube-Sites unterstützen"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) ist ein Drittanbieter-YouTube-Client. Um Support zu aktivieren, musst du die zusätzlichen Berechtigungen akzeptieren. Dies funktioniert NICHT im Inkognitomodus auf Chrome und anderen Chromium-Varianten."
|
||||
"supportedSites": {
|
||||
"message": "Unterstützte Seiten: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Zu überspringende Kategorien auswählen, automatisches Überspringen, Tasten ein- & ausblenden und noch viel mehr."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Invidious-Instanzen hinzufügen"
|
||||
"message": "Client-Instanz eines Drittanbieters hinzufügen"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Füge eine benutzerdefinierte Instanz von Invidious hinzu. Dies darf nur den Domain-Teil beinhalten. Beispiel: \"invidious.ajay.app\""
|
||||
"message": "Füge eine benutzerdefinierte Invidious-Instanz hinzu. Diese darf nur den Domain-Teil beinhalten. Beispiel: \"invidious.ajay.app\""
|
||||
},
|
||||
"add": {
|
||||
"message": "Hinzufügen"
|
||||
@@ -443,6 +443,9 @@
|
||||
"preview": {
|
||||
"message": "Vorschau"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Nicht eingereicht"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Überprüfen"
|
||||
},
|
||||
@@ -477,6 +480,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Bezahlte Werbung, bezahlte Empfehlungen und direkte Werbung, nicht für Eigenwerbung, kostenlose Fremdwerbung oder Empfehlungen für Anlässe/Personen/Webseiten/Produkte."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Unbezahlt/Eigenwerbung"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Ähnlich wie bei \"gesponserte Videosegmente\", mit Ausnahme von unbezahlten oder Selbstpromotionen. Dies beinhaltet Merchandising (Fan-Artikel), Spenden oder Informationen darüber, mit wem für das Video zusammengearbeitet wurde."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaktions-Erinnerungen (Abonnieren, etc.)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Wenn es im Video eine kurze Erinnerung gibt, den Kanal zu abonnieren oder das Video mit \"Mag ich\" zu markieren."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interaktions-Erinnerung"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Unterbrechung/Intro-Animation"
|
||||
},
|
||||
@@ -492,20 +510,8 @@
|
||||
"category_outro_description": {
|
||||
"message": "Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für videobeendende Schlussfolgerungen mit Informationen."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaktions-Erinnerungen (Abonnieren, etc.)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Wenn es im Video eine kurze Erinnerung gibt, den Kanal zu abonnieren oder das Video mit \"Mag ich\" zu markieren."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interaktions-Erinnerung"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Unbezahlt/Eigenwerbung"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Ähnlich wie bei \"gesponserte Videosegmente\", mit Ausnahme von unbezahlten oder Selbstpromotionen. Dies beinhaltet Merchandising (Fan-Artikel), Spenden oder Informationen darüber, mit wem für das Video zusammengearbeitet wurde."
|
||||
"category_preview": {
|
||||
"message": "Vorschau/Zusammenfassung"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musikvideoteile ohne Musik"
|
||||
@@ -535,7 +541,7 @@
|
||||
"message": "Die Farbe ist falsch formatiert. Sie sollte ein 3-6-stelliger Hex-Code mit einer Raute am Anfang sein."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Farbe für noch nicht übermittelte Videosegmente",
|
||||
"message": "Nicht eingereichte Farbe",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -638,7 +644,11 @@
|
||||
"categoryUpdate2": {
|
||||
"message": "Öffne die Optionen um das Verhalten bei Intros, Outros, Merchandising (Fanartikel) usw. einzustellen."
|
||||
},
|
||||
"help": {
|
||||
"message": "Hilfe"
|
||||
"warningChatInfo": {
|
||||
"message": "Du wurdest ermahnt und kannst zur Zeit keine Segmente einreichen. Uns ist nämlich aufgefallen, dass du ein paar gängige Fehler machst, die nicht bösartig sind. Um die Regeln klarzustellen laden wir dich zu einem kurzem Gespräch auf discord.gg/SponsorBlock oder matrix.to/#/+sponsor:ajay.app ein"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Abstimmung wegen einer Warnung abgelehnt. Um über sie zu reden, klicke hier, oder schreibe uns später.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,10 +120,6 @@
|
||||
"disable": {
|
||||
"message": "Απενεργοποίηση"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Προεπισκόπηση χρώματος",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"category": {
|
||||
"message": "Κατηγορία"
|
||||
},
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "No YouTube video found.\nIf this is incorrect, refresh the tab."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Refresh segments"
|
||||
},
|
||||
"success": {
|
||||
"message": "Success!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "This is the button that opens up a popup in the YouTube page."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Auto-hide Info Button"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Hide Delete Button On YouTube Player"
|
||||
},
|
||||
@@ -389,7 +395,13 @@
|
||||
},
|
||||
"minDurationDescription": {
|
||||
"message": "Segments shorter than the set value will not be skipped or show in the player."
|
||||
},
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Skip notice duration (seconds):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "The skip notice will stay on screen for at least this long. For manual skipping, it may be visible for longer."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "The following submission is shorter than your minimum duration option. This could mean that this is already submitted, and just being ignored due to this option. Are you sure you would like to submit?"
|
||||
},
|
||||
@@ -547,6 +559,9 @@
|
||||
"showOverlay": {
|
||||
"message": "Show In Seek Bar"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Auto skip all segments when there is a non-music segment"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Your color is formatted incorrectly. It should be a 3 or 6 digit hex code with a number sign at the beginning."
|
||||
},
|
||||
@@ -654,11 +669,8 @@
|
||||
"categoryUpdate2": {
|
||||
"message": "Open the options to skip intros, outros, merch, etc."
|
||||
},
|
||||
"experimentUnlistedTitle": {
|
||||
"message": "Help prevent this from disappearing"
|
||||
},
|
||||
"experimentUnlistedText": {
|
||||
"message": "This video is detected as unlisted and uploaded before 2017\nOld unlisted videos are being set to private next month\nWe are collecting *public* videos to back up\nWould you like anonymously to send this video to us?\nhttps://support.google.com/youtube/answer/9230970"
|
||||
"help": {
|
||||
"message": "Help"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Opt-out of all future experiments",
|
||||
@@ -666,5 +678,12 @@
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Vote rejected due to a warning. Click to open a chat to resolve it, or come back later when you have time.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "No se encontró vídeo de YouTube.\nSi esto es incorrecto, actualice la pestaña."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Actualizar segmentos"
|
||||
},
|
||||
"success": {
|
||||
"message": "¡Completado!"
|
||||
},
|
||||
@@ -98,7 +101,7 @@
|
||||
"message": "Ha ocurrido un error de conexión. Código de error: "
|
||||
},
|
||||
"wantToSubmit": {
|
||||
"message": "¿Quiere enviar segmento para el video con ID"
|
||||
"message": "¿Quiere enviar el segmento para el video con ID"
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Borrar Segmentos"
|
||||
@@ -141,7 +144,7 @@
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
"message": "Sugerencia: puede configurar los teclas para enviar en las opciones"
|
||||
"message": "Sugerencia: Puede asignar teclas para el envío en las opciones"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Eliminar Tiempos"
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Este es el botón que abre una ventana en la página de YouTube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Ocular automáticamente el Botón de Información"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Ocultar botón de eliminar en el reproductor de YouTube"
|
||||
},
|
||||
@@ -245,7 +251,7 @@
|
||||
"message": "Establecer tecla para iniciar/detener un segmento"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Establecer botón de envio"
|
||||
"message": "Establecer botón de envío"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Seleccione un botón escribiéndolo"
|
||||
@@ -279,7 +285,7 @@
|
||||
"message": "¿Saltar {0}?"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Omitido"
|
||||
"message": "Omitido/as"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Desactivar la omisión automática"
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Actualmente está configurado para:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Apoya a Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Soportar sitios de YouTube de terceros"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) es un cliente de YouTube independiente. Para habilitar su soporte, debes aceptar los permisos extra. Esto NO funcionará en modo incógnito de Chrome y otras variantes del Chromium."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Soportar clientes de YouTube de terceros. Para habilitar el soporte, debes aceptar los permisos extra. Esto NO funciona en incógnito en Chrome y otras variantes de Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Sitios soportados: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Activar el soporte para Invidious, desactivar la omisión automática, oculta botones y más."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Agregar una Instancia de Invidious"
|
||||
"message": "Añadir instancia de cliente de terceros"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Añade una instancia personalizada de Invidious. Este debe formatearse SÓLO con el dominio. Ejemplo: invidious.ajay.app"
|
||||
"message": "Añadir una instancia personalizada. Esta debe formatearse SÓLO con el dominio. Ejemplo: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Agregar"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Los segmentos más cortos que el valor configurado no se omitirán ni se mostrarán en el reproductor."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Duración del aviso de omisión (segundos):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "El aviso de omisión permanecerá en la pantalla por lo menos este tiempo. Si la omisión es manual, podría ser visible por más tiempo."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "La siguiente sumisión es más corto que su opción de duración mínima. Esto podría significar que esto ya se ha enviado y que simplemente se ha ignorado debido a esta opción. ¿Está seguro de que desea enviar?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Vista Previa"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "No enviado"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Inspeccionar"
|
||||
},
|
||||
@@ -480,8 +499,23 @@
|
||||
"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_selfpromo": {
|
||||
"message": "Promoción Propia/No Remunerada"
|
||||
},
|
||||
"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_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_intro": {
|
||||
"message": "Intermisión/Introducción de animación"
|
||||
"message": "Intermisión/Animación de Introducció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."
|
||||
@@ -495,20 +529,11 @@
|
||||
"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_preview": {
|
||||
"message": "Vista previa/Recapitulación"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"message": "Recapitulación rápida de los episodios anteriores, o una vista previa de lo que va a ocurrir más adelante en el vídeo actual. Está pensado para clips editados juntos, no para resúmenes hablados."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Música: Sección sin musica"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Mostrar en la barra de búsqueda"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Saltar automáticamente todos los segmentos cuando hay un segmento no musical"
|
||||
},
|
||||
"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",
|
||||
"message": "Color No Enviado",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -590,7 +618,7 @@
|
||||
"message": "El ID del canal no está cargado todavía. Si está usando un vídeo incrustado, intente usar la página de inicio de YouTube en su lugar. Esto también podría ser causado por cambios en el diseño de YouTube, si lo cree, haga un comentario aquí:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Parece que algo está bloqueando la capacidad de SponsorBlock para obtener datos de video, Por favor, vea https://github.com/ajayyy/SponsorBlock/issues/741 para más información."
|
||||
"message": "Parece que algo está bloqueando la capacidad de SponsorBlock para obtener datos de video. Por favor, vea https://github.com/ajayyy/SponsorBlock/issues/741 para más información."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Parece que SponsorBlock no puede acceder a la API de YouTube. Para solucionarlo, acepte el aviso de permiso que aparecerá a continuación, espera unos segundos y vuelve a cargar la página."
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Ayuda"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "No participar en futuros experimentos",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"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.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "YouTube'i videot ei leitud.\nKui see ei vasta tõele, laadi kaart uuesti."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Värskenda segmendid"
|
||||
},
|
||||
"success": {
|
||||
"message": "Õnnestus!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "See on see nupp, mis avab YouTube'i lehel hüpiku."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Peida infonupp automaatselt"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Peida YouTube'i mängijal kustutusnupp"
|
||||
},
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Hetkel on selleks määratud:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Invidiouse tugi"
|
||||
"supportOtherSites": {
|
||||
"message": "Toeta 3. osapoole YouTube-saite"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) on kolmanda osapoole YouTube'i klient. Selle toe lubamiseks pead nõustuma lisalubadega. See EI tööta inkognito-režiimis nii Chromes kui ka teistes Chromiumi brauserites."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Kolmanda osapoole YouTube'i klientide tugi. Selle toe lubamiseks pead nõustuma lisalubadega. See EI tööta inkognito-režiimis nii Chromes kui ka teistes Chromiumi brauserites.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Toetatud saidid: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Luba Invidiouse tugi, keela automaatne vahelejätmine, peida nupud ja muud valikud."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Lisa Invidiouse eksemplar"
|
||||
"message": "Lisa 3. osapoole kliendi eksemplar"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Lisa kohandatud Invidiouse eksemplar. See tuleb vormistada AINULT domeeniga. Näide:\ninvidious.ajay.app"
|
||||
"message": "Lisa kohandatud eksemplar. See tuleb vormistada AINULT domeeniga. Näide: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Lisa"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmendid, mis on lühemad kui määratud väärtus ei jäeta vahele või ei kuvata mängijal."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Vahelejätmise teavituse kestus (sekundites):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Vahelejätmise teavitus püsib ekraanil vähemalt nii kaua. Käsitsi vahelejätmise puhul võib see kauem püsida."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "See saadetav segment on lühem, kui sinu lühima pikkuse valik. See võib tähendada, et see on juba saadetud ning on selle valiku tõttu lihtsalt ignoreeritud. Kas soovid kindlasti seda saata?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Eelvaade"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Saatmata"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Inspekteeri"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Tasulised promod, tasulised viited ja otsesed reklaamid. Pole mõeldud enesepromo või tasuta petitsioonide/autorite/veebilehtede/toodete mainimiste puhul."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Tasumata/enesepromo"
|
||||
},
|
||||
"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_interaction": {
|
||||
"message": "Tegutsemise meeldetuletus (kanali tellimine)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lühike sisukeskne meeldetuletus anda videole meeldib, tellida kanalit või jälgida autorit. Kui see on pikk või millegi kindlaga seotud, peaks see olema enesepromo all."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Tegutsemise meeldetuletus"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Vaheaeg/sissejuhatav animatsioon"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Tiitrid või YouTube'i lõpukaardid. Pole mõeldud informatsiooniga järelduste jaoks."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Tegutsemise meeldetuletus (kanali tellimine)"
|
||||
"category_preview": {
|
||||
"message": "Eelvaade/kokkuvõte"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lühike sisukeskne meeldetuletus anda videole meeldib, tellida kanalit või jälgida autorit. Kui see on pikk või millegi kindlaga seotud, peaks see olema enesepromo all."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Tegutsemise meeldetuletus"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Tasumata/enesepromo"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"message": "Kiire kokkuvõte eelmistest episoodidest või eelvaade videos hiljem tulevast. Mõeldud valmis töödeldud klippide, mitte suuliste kokkuvõtete jaoks."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muusika: mitte-muusika jaotis"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Kuva mängija ajaribal"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Jäta automaatselt kõik segmendid vahele, kui eksisteerib mitte-muusika segment"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Sinu värv on sobimatult vormistatud. See peaks olema 3- või 6-numbriline 16-kümmendsüsteemis kood, arvu ees trellid."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Värvi eelvaade",
|
||||
"message": "Saatmata värv",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Abi"
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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."
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hääletus hoiatuse tõttu tagasilükatud. Klõpsa, et avada selle lahendamiseks vestlus või tule hiljem tagasi, kui aega saad.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
"message": "Palvelin sanoi tämän pyynnön olevan virheellinen"
|
||||
},
|
||||
"429": {
|
||||
"message": "Olet lähettänyt liian monta sponsorointiaikaa tälle yhdelle videolle. Oletko varma, että niitä on useita?"
|
||||
"message": "Olet lähettänyt liian monta sponsorointiaikaa tälle yhdelle videolle. Oletko varma, että niitä on näin monta?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Tämä on jo lähetetty aiemmin"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Kanava lisätty valkoiselle listalle!"
|
||||
"message": "Kanava lisätty valkolistalle!"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "segmentti"
|
||||
@@ -41,7 +41,7 @@
|
||||
"message": "Ladataan..."
|
||||
},
|
||||
"Hide": {
|
||||
"message": "Älä Näytä Koskaan"
|
||||
"message": "Älä näytä koskaan"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Paina 'älä ohita' mennäksesi takaisin kohtaan jossa olit."
|
||||
@@ -74,17 +74,20 @@
|
||||
"message": "Segmenttejä ei löytynyt"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Segmentti Alkaa Nyt"
|
||||
"message": "Segmentti alkaa nyt"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Segmentti Päättyy Nyt"
|
||||
"message": "Segmentti päättyy nyt"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Peruuta Segmentin Luominen"
|
||||
"message": "Peruuta segmentin luominen"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "YouTube-videota ei löytynyt.\nJos tämä on väärässä, päivitä välilehti."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Päivitä segmentit"
|
||||
},
|
||||
"success": {
|
||||
"message": "Onnistui!"
|
||||
},
|
||||
@@ -101,16 +104,16 @@
|
||||
"message": "Haluatko lähettää segmentit videotunnukselle"
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Tyhjennä Segmentit"
|
||||
"message": "Tyhjennä segmentit"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "Avaa SponsorBlock-ponnahdusikkuna"
|
||||
},
|
||||
"closePopup": {
|
||||
"message": "Sulje Ponnahdusikkuna"
|
||||
"message": "Sulje ponnahdusikkuna"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Lähetä Segmentit"
|
||||
"message": "Lähetä segmentit"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Haluatko varmasti lähettää tämän?"
|
||||
@@ -122,7 +125,7 @@
|
||||
"message": "Poista kanava valkolistalta"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Äänestä Segmenttiä"
|
||||
"message": "Äänestä segmenttiä"
|
||||
},
|
||||
"Submissions": {
|
||||
"message": "Lähetykset"
|
||||
@@ -137,7 +140,7 @@
|
||||
"message": "Lähetä"
|
||||
},
|
||||
"submissionEditHint": {
|
||||
"message": "Osien muokkaus ilmestyy sen jälkeen, kun klikkaat lähetä-nappia",
|
||||
"message": "Osien muokkaus ilmestyy sen jälkeen, kun klikkaat lähetä-painiketta",
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
@@ -159,7 +162,7 @@
|
||||
"message": "Aseta käyttäjänimi"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Liity mukaan viralliseen discord-palvelimeen, jotta voit antaa ehdotuksia ja palautetta!"
|
||||
"message": "Liity mukaan viralliselle Discord-palvelimelle, jotta voit antaa ehdotuksia ja palautetta!"
|
||||
},
|
||||
"hideThis": {
|
||||
"message": "Piilota tämä"
|
||||
@@ -168,7 +171,7 @@
|
||||
"message": "Asetukset"
|
||||
},
|
||||
"showButtons": {
|
||||
"message": "Näytä Painikkeet YouTuben Soittimessa"
|
||||
"message": "Näytä painikkeet YouTuben soittimessa"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "Piilota painikkeet YouTuben soittimessa"
|
||||
@@ -177,7 +180,7 @@
|
||||
"message": "Tämä piilottaa YouTuben soittimessa näkyvät, ohitettavien aikojen lähettämiseen käytetyt painikkeet."
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Näytä Info-Painike YouTuben Soittimessa"
|
||||
"message": "Näytä info-painike YouTuben soittimessa"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Piilota info-painike YouTuben soittimessa"
|
||||
@@ -185,29 +188,32 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Tämä on painike, joka avaa ponnahdusikkunan YouTube-sivulla."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Piilota info-painike automaattisesti"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Piilota poista-painike YouTuben soittimessa"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "Näytä Poista-Painike YouTuben Soittimessa"
|
||||
"message": "Näytä poista-painike YouTuben soittimessa"
|
||||
},
|
||||
"whatDeleteButton": {
|
||||
"message": "Tämä on YouTuben soittimen painike, joka poistaa kaikki kyseisen videon sponsorointikohdat, joita et ole vielä lähettänyt."
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Ota Ohitusten Lukumäärän Seuranta Käyttöön"
|
||||
"message": "Ota ohitusten lukumäärän seuranta käyttöön"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Tämä toiminto seuraa, mitä segmenttejä olet ohittanut. Sen avulla käyttäjät saavat tietää, kuinka paljon heidän lähetyksensä ovat auttaneet muita, ja sitä käytetään myös mittarina äänestysten kanssa estääksemme spämmin pääsyn tietokantaan. Laajennus lähettää viestin palvelimelle aina, kun ohitat segmentin. Toivottavasti useimmat eivät muuta tätä asetusta, jotta katselunumerot pysyisivät tarkkoina. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Ota Ohitusten Lukumäärän Seuranta Käyttöön Yksityis-/Incognito-välilehdissä"
|
||||
"message": "Ota ohitusten lukumäärän seuranta käyttöön yksityis-/incognito-välilehdissä"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Kysely Tiiviste-etuliittellä"
|
||||
"message": "Kysely tiiviste-etuliittellä"
|
||||
},
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "Kokonaisen videon ID:n lähettämisen sijaan ID:n hashin 4 ensimmäistä merkkiä lähetetään. Palvelin lähettää takaisin dataa kaikista videoista, joilla on vastaavat hashit."
|
||||
"message": "Sen sijaan, että videoID:tä käyttäen pyydettäisiin segmenttejä palvelimelta, videoID:n tiivisteen 4 ensimmäistä merkkiä lähetetään. Tämä palvelin lähettää takaisin dataa kaikista videoista, joilla on samankaltaiset tiivisteet."
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "Hae segmentit uudelleen uusissa videoissa"
|
||||
@@ -216,10 +222,10 @@
|
||||
"message": "Jos video on uusi, eikä segmenttejä löydy, niitä haetaan uudelleen muutaman minuutin välein katsoessasi."
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Näytä Huomautus Uudelleen"
|
||||
"message": "Näytä ilmoitus uudelleen"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlockin avulla voit ohittaa sponsorit, introt, outrot, tilausmuistutukset ja muut ärsyttävät osat YouTube-videoissa. SponsorBlock on joukkoistettu selainlaajennus, jonka avulla kuka tahansa voi lähettää sponsoroitujen ja muiden Youtube-videoiden segmenttien aloitus- ja päättymisajat. Kun yksi henkilö on lähettänyt tämän tiedon, kaikki muut, joilla on tämä laajennus, ohittavat sponsoroidun segmentin. Voit myös ohittaa musiikkivideoiden musiikittomat osat.",
|
||||
"message": "SponsorBlockin avulla voit ohittaa sponsorit, introt, outrot, tilausmuistutukset ja muut ärsyttävät osat YouTube-videoissa. SponsorBlock on joukkoistettu selainlaajennus, jonka avulla kuka tahansa voi lähettää Youtube-videoiden sponsoroitujen ja muiden segmenttien aloitus- ja päättymisajat. Kun yksi henkilö on lähettänyt tämän tiedon, kaikki muut, joilla on tämä laajennus, ohittavat sponsoroidun segmentin. Voit myös ohittaa musiikkivideoiden musiikittomat osat.",
|
||||
"description": "Full description of the extension on the store pages."
|
||||
},
|
||||
"website": {
|
||||
@@ -242,16 +248,16 @@
|
||||
"message": "Aseta näppäin segmentin ohittamista varten"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Aseta pikanäppäin segmentin aloittamiseen ja lopettamiseen"
|
||||
"message": "Aseta pikanäppäin segmentin aloittamiseen/lopettamiseen"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Aseta näppäin tietojen lähetykseen"
|
||||
"message": "Aseta pikanäppäin tietojen lähetykseen"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Valitse näppäin painamalla sitä"
|
||||
},
|
||||
"keybindDescriptionComplete": {
|
||||
"message": "Näppäinmääritys on asetettu näppäimeen: "
|
||||
"message": "Pikanäppäin on asetettu näppäimeen: "
|
||||
},
|
||||
"0": {
|
||||
"message": "Yhteyden aikakatkaisu. Tarkista internet-yhteytesi. Jos internetyhteytesi toimii, palvelin on todennäköisesti ylikuormittunut tai alhaalla."
|
||||
@@ -263,7 +269,7 @@
|
||||
"message": "Ohitus on poistettu käytöstä"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "Sinun työsi",
|
||||
"message": "Työsi",
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"502": {
|
||||
@@ -288,7 +294,7 @@
|
||||
"message": "Ota automaattinen ohitus käyttöön"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Äänellinen Ilmoitus Ohitettaessa"
|
||||
"message": "Ääni-ilmoitus ohitettaessa"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Ääni-ilmoitus ohittaessa toistaa äänen kun segmentti ohitetaan. Jos asetus on pois päältä (tai automaattinen ohitus on pois käytöstä), ääntä ei soiteta."
|
||||
@@ -306,13 +312,13 @@
|
||||
"message": "Olet säästänyt itseltäsi "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "minuutti"
|
||||
"message": "minuutin"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "minuuttia"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "tunti"
|
||||
"message": "tunnin"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "tuntia"
|
||||
@@ -327,7 +333,7 @@
|
||||
"message": "Tarkista palvelimen tila osoitteessa status.sponsor.ajay.app."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Tuo/vie sinun UserID:si"
|
||||
"message": "Tuo/vie UserID:si"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Tämä tulisi pitää yksityisenä. Tämä on kuin salasana eikä sitä pitäisi jakaa kenellekään. Jos joku saa tämän, hän voi esiintyä sinuna."
|
||||
@@ -342,28 +348,32 @@
|
||||
"message": "Luonut"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Ohita Automaattisesti"
|
||||
"message": "Ohita automaattisesti"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Näytä ilmoitus ohitetun segmentin jälkeen"
|
||||
},
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Tällä hetkellä se on asetettu:"
|
||||
"message": ". Tällä hetkellä se on asetettu näppäimeen:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Tue Invidious:ta"
|
||||
"supportOtherSites": {
|
||||
"message": "Tue kolmansien osapuolien YouTube-sivustoja"
|
||||
},
|
||||
"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."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Tue kolmannen osapuolen YouTube-asiakasohjelmia. Jotta voit ottaa käyttöön tuen, sinun täytyy hyväksyä lisäkäyttöoikeudet. Tämä EI toimi incognitossa Chromessa ja muissa Chromium varianteissa.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Tuetut sivustot: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Ota käyttöön Invidious tuki, poista käytöstä automaattinen ohitus, piilota painikkeet ja muuta."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Lisää Invidious-instanssi"
|
||||
"message": "Lisää kolmannen osapuolen asiakasohjelmainstanssi"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Lisää mukautettu Invidious-instanssi. Tämä on muotoiltava VAIN verkkotunnuksella. Esimerkiksi: invidious.ajay.app"
|
||||
"message": "Lisää mukautettu instanssi. Tämän täytyy olla formatoitu VAIN verkkotunnuksella. Esimerkki: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Lisää"
|
||||
@@ -386,8 +396,14 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenttejä jotka ovat asetettua arvoa lyhyempiä ei ohiteta tai näytetä soittimessa."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Ohitusilmoituksen kesto (sekuntia):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Ohitusimoitus pysyy näytöllä ainakin näin kauan.\nManuaalisella ohituksella se saattaa pysyä pitempäänkin."
|
||||
},
|
||||
"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ää?"
|
||||
"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ää?"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Näytä lähetä-painike"
|
||||
@@ -396,7 +412,7 @@
|
||||
"message": "Tämä painike ilmestyy YouTube-soittimeen, kun olet valinnut aikaleiman ja olet valmis lähettämään sen."
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "SponsorBlock Palvelimen Osoite"
|
||||
"message": "SponsorBlock-palvelimen osoite"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "Osoite, jota SponsorBlock käyttää lähettääkseen kutsuja palvelimelle.\nEllei sinulla ole omaa palvelininstanssia, tätä ei pitäisi muuttaa."
|
||||
@@ -432,10 +448,10 @@
|
||||
"message": "Tämä JSON ei ole muotoiltu oikein. Asetuksiasi ei ole muutettu."
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Lähetä kohta"
|
||||
"message": "Lähetä segmentti"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Jatka"
|
||||
"message": "Lähetä"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "Peruuta"
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Esikatsele"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Lähettämätön"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Tarkista"
|
||||
},
|
||||
@@ -453,16 +472,16 @@
|
||||
"message": "Muokkaa"
|
||||
},
|
||||
"copyDebugInformation": {
|
||||
"message": "Kopioi Vianetsintätiedot Leikepöydälle"
|
||||
"message": "Kopioi vianetsintätiedot leikepöydälle"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "Kirjoittaminen leikepöydälle epäonnistui"
|
||||
},
|
||||
"copyDebugInformationOptions": {
|
||||
"message": "Kopioi tiedot leikepöydälle, joka annetaan kehittäjälle kun ilmoitetaan viasta / kun kehittäjä pyytää sitä. Arkaluonteiset tiedot, kuten käyttäjätunnus, sallitut kanavat ja mukautettu palvelimen osoite on poistettu. Se sisältää kuitenkin tietoja, kuten user agentin, selaimen, käyttöjärjestelmän ja laajennuksen versionumeron. "
|
||||
"message": "Kopioi tiedot leikepöydälle, joka annetaan kehittäjälle kun ilmoitetaan viasta / kun kehittäjä pyytää sitä. Arkaluonteiset tiedot, kuten käyttäjätunnus, sallitut kanavat ja mukautettu palvelimen osoite on poistettu. Se sisältää kuitenkin tietoja, kuten käyttäjäagentin, selaimen, käyttöjärjestelmän ja laajennuksen versionumeron. "
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Virheenkorjaustiedot on kopioitu leikepöydälle. Voit poistaa mitä tahansa tietoa mitä et mielummin jakaisi. Tallenna se tekstitiedostoon tai liitä se virheraporttiin."
|
||||
"message": "Virheenkorjaustiedot on kopioitu leikepöydälle. Voit poistaa mitä tahansa tietoa mitä et mielummin jakaisi. Tallenna tämä tekstitiedostoon tai liitä se virheraporttiin."
|
||||
},
|
||||
"theKey": {
|
||||
"message": "Näppäin"
|
||||
@@ -480,8 +499,23 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Maksettu mainostus, maksetut viittaukset ja suorat mainokset. Ei itsensä mainostukselle tai huikkauksille kampanjoista/luojista/nettisivuista/tuotteista, joista he pitävät."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Maksamaton/Itsensä mainostus"
|
||||
},
|
||||
"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_interaction": {
|
||||
"message": "Vuorovaikutusmuistutus (tilaaminen)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lyhyt muistutus tykätä, tilata tai seurata sisällön keskellä. Jos se on pitkä tai koskee jotain tiettyä asiaa, tulisi se merkitä mielummin itsensä mainostamiseksi."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Vuorovaikutusmuistutus"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Tauko tai introanimaatio"
|
||||
"message": "Tauko/Introanimaatio"
|
||||
},
|
||||
"category_intro_description": {
|
||||
"message": "Aikaväli ilman varsinaista sisältöä. Voi olla tauko, staattinen kehys, toistuva animaatio. Tätä ei pitäisi käyttää siirtymisiin, jotka sisältävät tietoa."
|
||||
@@ -493,37 +527,28 @@
|
||||
"message": "Loppukortit/-tekstit"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Lopputekstit tai YouTuben loppukortit. Ei lopetuksille, joissa on tärkeää tietoa."
|
||||
"message": "Lopputekstit tai kun YouTuben loppukortit tulevat näkyviin. Ei lopetuksille joissa on tietoa."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Vuorovaikutusmuistutus (tilaaminen)"
|
||||
"category_preview": {
|
||||
"message": "Esikatselu/Kertaus"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lyhyt muistutus tykätä, tilata tai seurata sisällön keskellä. Jos se on pitkä tai koskee jotain tiettyä asiaa, tulisi se merkitä mielummin itsensä mainostamiseksi."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Vuorovaikutusmuistutus"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Maksamaton/Itsensä Mainostus"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"message": "Nopea kertaus aiemmista jaksoista, tai esikatselu siitä, mitä on tulossa myöhemmin nykyisessä videossa. Tarkoitettu yhteen editoituja klippejä varten, ei puhutuille yhteenvedoille."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musiikki: Ei-Musiikki-Osio"
|
||||
"message": "Musiikki: Musiikiton osa"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "Vain musiikkivideoille. Tätä tulee käyttää vain musiikkivideoiden osissa, jotka eivät jo kuulu toiseen kategoriaan."
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Ei-Musiikki"
|
||||
"message": "Musiikiton"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: lahjoituksen/viestin lukeminen"
|
||||
"message": "Livestream: lahjoitusten/viestien lukeminen"
|
||||
},
|
||||
"category_livestream_messages_short": {
|
||||
"message": "Viestin Lukeminen"
|
||||
"message": "Viestien lukeminen"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Poista käytöstä"
|
||||
@@ -532,17 +557,20 @@
|
||||
"message": "Manuaalinen ohitus"
|
||||
},
|
||||
"showOverlay": {
|
||||
"message": "Näytä Liukusäätimessä"
|
||||
"message": "Näytä liukusäätimessä"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Ohita kaikki segmentit automaattisesti, kun videossa on \"Musiikiton\" segmentti"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Väriformaattisi on muotoiltu väärin. Sen pitäisi olla 3 tai 6 numeroinen hex-koodi, jossa on risuaita alussa."
|
||||
"message": "Väriformaattisi on muotoiltu väärin. Sen pitäisi olla 3 tai 6 numeroinen hex-koodi, jossa on # alussa."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Esikatsele Väri",
|
||||
"message": "Lähettämättömien väri",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Siirtymispalkin Väri"
|
||||
"message": "Siirtymispalkin väri"
|
||||
},
|
||||
"category": {
|
||||
"message": "Kategoria"
|
||||
@@ -570,14 +598,14 @@
|
||||
"message": "Valitse kategoria"
|
||||
},
|
||||
"enableThisCategoryFirst": {
|
||||
"message": "Lähettääksesi segmenttejä kategorialla \"{0}\", sinun täytyy aktivoida se asetuksista. Sinut uudelleenohjataan asetuksiin nyt.",
|
||||
"message": "Lähettääksesi segmenttejä \"{0}\" kategorialla, sinun täytyy aktivoida se asetuksista. Sinut uudelleenohjataan asetuksiin nyt.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Sinun täytyy valita kategoria kaikille segmenteille, jota olet lähettämässä!"
|
||||
"message": "Sinun täytyy valita kategoria kaikille segmenteille, joita olet lähettämässä!"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(Päättyy)"
|
||||
"message": "(Loppu)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "piilotettu: miinusääniä"
|
||||
@@ -587,7 +615,7 @@
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanavan ID ei ole vielä latautunut. Jos käytät upotettua videota, kokeile sen sijaan YouTuben kotisivua. Tämä voi myös johtua muutoksista YouTuben ulkoasussa. Jos luulet luulet niin, tee kommenti tänne:"
|
||||
"message": "Kanavan ID ei ole vielä latautunut. Jos käytät upotettua videota, kokeile sen sijaan käyttää YouTuben kotisivua. Tämä voi myös johtua muutoksista YouTuben ulkoasussa. Jos luulet luulet niin, tee kommenti tänne:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Näyttää siltä, että jokin estää SponsorBlockin kykyä saada videotietoja. Katso https://github.com/ajayyy/SponsorBlock/issues/741 lisätietoja varten."
|
||||
@@ -608,13 +636,13 @@
|
||||
"message": "Jos et pysty ratkaisemaan tätä, poista käytöstä asetus 'Pakota kanavan tarkistus ennen ohittamista', koska SponsorBlock ei pysty noutamaan tämän videon kanavatietoja"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Pakota Kanavan Tarkistus Ennen Ohittamista"
|
||||
"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"
|
||||
"message": "Harkitse asetuksen \"Pakota kanavan tarkistus ennen ohittamista\" käyttöön ottaminen"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Virheellinen/väärä aika"
|
||||
@@ -623,16 +651,16 @@
|
||||
"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ää."
|
||||
"message": "Tämä video on luokiteltu musiikiksi. Oletko varma, että siinä on sponsori? Jos tämä on oikeasti \"Musiikiton segmentti\", avaa laajennuksen asetukset ja ota tämä kategoria käyttöön. Sitten voit lähettää tämän segmentin oikeassa kategoriassa. Lue säännöt, jos olet vielä hämilläsi."
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "Useita kohtia"
|
||||
"message": "Useita segmenttejä"
|
||||
},
|
||||
"guidelines": {
|
||||
"message": "Säännökset"
|
||||
"message": "Säännöt"
|
||||
},
|
||||
"readTheGuidelines": {
|
||||
"message": "Lue Säännökset!!",
|
||||
"message": "Lue säännöt!!",
|
||||
"description": "Show the first time they submit or if they are \"high risk\""
|
||||
},
|
||||
"categoryUpdate1": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Ohje"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Jättäydy pois kaikista tulevista kokeiluista",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Ääni hylättiin varoituksen takia. Klikkaa avataksesi chatin sen ratkaisemiseksi, tai tule takaisin myöhemmin kun sinulla on siihen aikaa.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Aucune vidéo YouTube trouvée.\nActualisez l'onglet si il est censé y en avoir une."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Rafraîchir les segments"
|
||||
},
|
||||
"success": {
|
||||
"message": "Succès !"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Il s'agit du bouton qui ouvre l'encart sur la page YouTube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Masquer Automatiquement Le Button Info"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Cacher le bouton Supprimer sur le lecteur YouTube"
|
||||
},
|
||||
@@ -204,13 +210,13 @@
|
||||
"message": "Activer le suivi du nombre de sauts dans les onglets privés/incognito"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Requête avec seulement le début du hash"
|
||||
"message": "Requête par préfixe du hash"
|
||||
},
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "Au lieu de demander des segments au serveur à l'aide de l'identifiant de la vidéo, les 4 premiers caractères du hash de l'identifiant de la vidéo sont envoyés. Ce serveur renverra les données pour toutes les vidéos ayant des hash similaires."
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "Re-récupérer les segments sur les nouvelles vidéos"
|
||||
"message": "Récupérer les segments sur les nouvelles vidéos"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Si la vidéo est nouvelle et qu'aucun segment n'a été trouvé, ils seront réactualisés toutes les quelques minutes pendant le visionnage."
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Il est actuellement réglé sur :"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Supporter Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Support de YouTube-Sites tierces"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) est un client tiers pour YouTube. Vous devez accepter des permissions supplémentaires pour activer son support. Cette fonctionnalité ne fonctionne pas en mode incognito sur Chrome et les autres variantes de Chromium."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Support de clients YouTube tierces. Pour habiliter le support, vous devez accepter les autorisations supplémentaires. Cela ne fonctionne PAS en incognito sur Chrome et d'autres variantes de Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Sites pris en charge : "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Activer Invidious, désactiver le passage automatique, masquer les boutons et plus encore."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Ajouter une instance Invidious"
|
||||
"message": "Ajouter une instance de client tiers"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Ajouter une instance Invidious personnalisée. Doit être formaté avec SEULEMENT le domaine. Exemple: invidious.ajay.app"
|
||||
"message": "Ajouter une instance personnalisée. Elle doit être formaté avec SEULEMENT le domaine. Exemple: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Ajouter"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Les segments plus courts que la valeur fixée ne seront pas sautés ou affichés dans le lecteur."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Durée du saut de segment (secondes):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "L'avis du saut restera à l'écran pendant au moins aussi longtemps. Pour passer manuellement, il peut être visible plus longtemps."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Le segment suivant est plus court que votre option de durée minimale. Cela pourrait signifier qu'il est déjà soumis, et just ignoré par cette option. Êtes-vous sûr de vouloir soumettre ?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Aperçu"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Non soumis"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Inspecter"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Promotion rémunérée, parrainage rémunéré et publicité directe. Pas pour l'autopromotion ou les présentations gratuites de causes, de créateurs, de sites web ou de produits qu'ils aiment."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Non rémunéré/autopromotion"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Semblable au \"sponsor\", excepté pour la promotion non rémunérée ou l'auto-promotion. Cela inclut les marchandises, les dons et les informations sur leurs collaborateurs."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Rappel d'interaction (abonnement)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lorsqu'il y a un bref rappel pour aimer, s'abonner ou les suivre parmi le contenu. Si le message est long ou porte sur quelque chose de spécifique, cela devrait plutôt être classé comme une autopromotion."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Rappel d'interaction"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Entracte/Animation d'intro"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Crédits ou écrans de fin YouTube. Pas pour les conclusions contenant des informations."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Rappel d'interaction (abonnement)"
|
||||
"category_preview": {
|
||||
"message": "Aperçu/Résumé"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lorsqu'il y a un bref rappel pour aimer, s'abonner ou les suivre parmi le contenu. Si le message est long ou porte sur quelque chose de spécifique, cela devrait plutôt être classé comme une autopromotion."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Rappel d'interaction"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Non rémunéré/autopromotion"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Semblable au \"sponsor\", excepté pour la promotion non rémunérée ou l'auto-promotion. Cela inclut les marchandises, les dons et les informations sur leurs collaborateurs."
|
||||
"category_preview_description": {
|
||||
"message": "Résumé rapide des épisodes précédents, ou aperçu de ce qui se passera plus tard dans la vidéo en cours. Pour les plans collectifs édités, pas pour les résumés parlés."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musique : Segment non musical"
|
||||
@@ -538,7 +563,7 @@
|
||||
"message": "Votre couleur est mal formatée. Il devrait s'agir d'un code hexadécimal à 3 ou 6 chiffres avec un signe numérique au début."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Couleur en mode aperçu",
|
||||
"message": "Couleur non soumise",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +668,12 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Aide"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Se désinscrire de toutes les futures expériences",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "Cacher pour toujours"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,5 +24,26 @@
|
||||
},
|
||||
"Segments": {
|
||||
"message": "खंडों"
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "रद्द करें"
|
||||
},
|
||||
"Loading": {
|
||||
"message": "लोड कर रहा है..."
|
||||
},
|
||||
"paused": {
|
||||
"message": "रुका हुआ"
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "क्या आप वाकई इसे साफ़ करना चाहते हैं?\n\n"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "खंड अब समाप्त होता है"
|
||||
},
|
||||
"success": {
|
||||
"message": "सफल!"
|
||||
},
|
||||
"Options": {
|
||||
"message": "विकल्प"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,21 +200,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Trenutno je postavljeno na:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Podrži Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) je YouTube client treće strane. Kako bi omogućio podršku, moraš prihvatiti dodatna dopuštenja. Ovo NE radi u privatnoj kartici na Chrome-u ili drugim carijantama Chromiuma."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Omogući podržavanje Invidiousa, onemogući automatsko preskakanje, sakrij gumbe i drugo."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Dodaj instancu Invidiousa"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Dodaj prilagođenu instancu Invidiousa. Ona mora biti formatirana sa samom domenom. Primjer: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Dodaj"
|
||||
},
|
||||
@@ -269,6 +257,18 @@
|
||||
"category_sponsor": {
|
||||
"message": "Sponzor"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplaćena promocija ili samopromocija"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Slično kao „sponzor”, osim za neplaćenu promociju i samopromociju. To uključuje odlomke marketinga, donacija ili informacija o tome, s kim su surađivali."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Podsjetnik interakcije (Pretplati se)"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Podsjetnik interakcije"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Stanka/Uvodna animacija"
|
||||
},
|
||||
@@ -281,18 +281,6 @@
|
||||
"category_outro": {
|
||||
"message": "Završni kadrovi/Zasluge"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Podsjetnik interakcije (Pretplati se)"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Podsjetnik interakcije"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplaćena promocija ili samopromocija"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Slično kao „sponzor”, osim za neplaćenu promociju i samopromociju. To uključuje odlomke marketinga, donacija ili informacija o tome, s kim su surađivali."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Glazba: Ne-glazbeni dio"
|
||||
},
|
||||
@@ -305,10 +293,6 @@
|
||||
"manualSkip": {
|
||||
"message": "Ručno preskakanje"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Boja pregleda",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"category": {
|
||||
"message": "Kategorija"
|
||||
},
|
||||
@@ -355,8 +339,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "Otvori opcije za preskakanje uvoda, kraja, proizvoda itd."
|
||||
},
|
||||
"help": {
|
||||
"message": "Pomoć"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,9 +79,15 @@
|
||||
"sponsorEnd": {
|
||||
"message": "Szegmens vége"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Szegmens Készítés Visszavonása"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Nem találtunk YouTube videót.\nHa ez helytelen, frissítsd a lapot."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Szegmensek frissítése"
|
||||
},
|
||||
"success": {
|
||||
"message": "Siker!"
|
||||
},
|
||||
@@ -124,12 +130,22 @@
|
||||
"Submissions": {
|
||||
"message": "Beküldések"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "Megspóroltál másoknak "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "Ranglista"
|
||||
},
|
||||
"recordTimesDescription": {
|
||||
"message": "Küldés"
|
||||
},
|
||||
"submissionEditHint": {
|
||||
"message": "A szegmens szerkesztés azután fog megjelenni miután a közzétételre kattintasz",
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
"message": "Tipp: A beállításokban készíthetsz gyorsbillentyűket a közzétetelhez"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Időpontok törlése"
|
||||
},
|
||||
@@ -172,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Ez a gomb felhoz egy felugró dobozt a YouTube oldalon."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Automatikus elrejtése az Információ Gombnak"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Törlés gomb elrejtése a YouTube lejátszón"
|
||||
},
|
||||
@@ -222,6 +241,9 @@
|
||||
"message": "Ha még mindig nem tetszik, kattintson a ne mutassa többé gombra.",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "Billentyű beállítása szegmens átugráshoz"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Billentyű beállítása a beküldés gombhoz"
|
||||
},
|
||||
@@ -277,6 +299,9 @@
|
||||
"showTimeWithSkipsDescription": {
|
||||
"message": "Ez az idő zárójelben jelenik meg az aktuális idő mellett a keresősáv alatt. Megmutatja a videó teljes időtartamát, levonva a szegmenseket. Beletartoznak a csak \"Megjelenítés a keresősávban\" jelöléssel ellátott szegmensek is."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Átugrottál "
|
||||
},
|
||||
"youHaveSaved": {
|
||||
"message": "Megtakarított magának "
|
||||
},
|
||||
@@ -292,6 +317,9 @@
|
||||
"hoursLower": {
|
||||
"message": "óra"
|
||||
},
|
||||
"youHaveSavedTime": {
|
||||
"message": "Megspóroltál másoknak"
|
||||
},
|
||||
"youHaveSavedTimeEnd": {
|
||||
"message": " az életükből"
|
||||
},
|
||||
@@ -322,21 +350,12 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Jelenleg erre van állítva:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Invidious támogatása"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Az Invidious (invidio.us) egy harmadik fél által készített YouTube kliens. A támogatás engedélyezéséhez el kell fogadnia további engedélyeket. NEM működik inkognitómódban a Chrome-on vagy más Chromium-változatokon."
|
||||
"supportOtherSites": {
|
||||
"message": "Harmadik fél Youtube oldalainak támogatása"
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Invidious támogatás engedélyezése, autoátugrás kikapcsolása, gombok eltűntetése és több."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Invidious példány hozzáadása"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Egyedi Invidious példány hozzáadása. CSAK a domain-nel kell formázni. Például: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Hozzáadás"
|
||||
},
|
||||
@@ -452,6 +471,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Fizetett promóció, vagy közvetlen reklám. Nem ön-promóció vagy ingyenes ajánlat (/shoutout) emberekről/termékekről/weboldalakról amik tetszenek nekik."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Nem fizetett/ön-promóció"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Hasonló a szponzorhoz, de nem fizetett vagy ön-promóció. Beletartozik a saját ruhaáru, adományok, vagy infó arról hogy kivel működtek együtt."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Emlékeztető (Feliratkozás)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Egy rövid emlékeztető arról, hogy likeoljunk, iratkozzunk fel, vagy kövessük a tartalom közben. Ha hosszabb szakasz, vagy egy adott témáról van, inkább a az ön-promóció alá tartozik."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Emlékeztető"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Megszakítás/Intro animáció"
|
||||
},
|
||||
@@ -467,21 +501,6 @@
|
||||
"category_outro_description": {
|
||||
"message": "Stáblista, vagy amikor megjelennek a YouTube zárókártyák. Nem használandó információt tartalmazó következtetésekkor."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Emlékeztető (Feliratkozás)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Egy rövid emlékeztető arról, hogy likeoljunk, iratkozzunk fel, vagy kövessük a tartalom közben. Ha hosszabb szakasz, vagy egy adott témáról van, inkább a az ön-promóció alá tartozik."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Emlékeztető"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Nem fizetett/ön-promóció"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Hasonló a szponzorhoz, de nem fizetett vagy ön-promóció. Beletartozik a saját ruhaáru, adományok, vagy infó arról hogy kivel működtek együtt."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Zene: nem-zene szegmens"
|
||||
},
|
||||
@@ -506,10 +525,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "A szín helytelenül van formázva. Egy 3 vagy 6 számjegyből álló hex kódnak kell lennie egy kettőskereszttel az elején."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Előnézeti szín",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Keresősáv színe"
|
||||
},
|
||||
@@ -546,6 +561,9 @@
|
||||
"hiddenDueToDuration": {
|
||||
"message": "elrejtve: túl rövid"
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Engedély jóváhagyása"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Csatorna ellenőrzése átugrás előtt"
|
||||
},
|
||||
@@ -579,5 +597,8 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "Nyissa meg a beállításokat, hogy átugorhasson introkat, outrokat stb."
|
||||
},
|
||||
"help": {
|
||||
"message": "Segítség"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,21 +350,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Saat ini diatur pada:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Dukungan Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) adalah layanan klien YouTube pihak ketiga. Untuk mengaktifkan dukungan, anda harus menerima izin tambahan. Ini TIDAK dapat bekerja di mode penyamaran Chrome dan peramban berbasis Chromium lainnya."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Aktifkan dukungan Invidious, nonaktifkan lewati otomatis, tombol sembunyi dan lainnya."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Tambah Instansi Invidious"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Tambahkan instansi khusus Invidious. Ini harus diformat dengan HANYA domainnya. Contoh: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Tambah"
|
||||
},
|
||||
@@ -480,6 +468,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Promosi dibayar, tautan dibayar dan iklan langsung. Tidak untuk promosi diri sendiri atau dukungan gratis untuk gerakan/kreator/situs/produk yang mereka suka."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promosi Diri Sendiri/Tidak Dibayar"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Mirip dengan \"sponsor\" kecuali ini tidak dibayar atau promosi diri sendiri. Ini termasuk merchandise, donasi, atau informasi tentang siapa yang berkolaborasi dengan mereka."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Pengingat Interaksi (Berlangganan)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Saat ada pengingat singkat untuk meminta suka, berlangganan atau mengikuti mereka di tengah konten. Jika panjang atau tentang sesuatu yang spesifik, sebaiknya pakai kategori promosi diri sendiri."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Pengingat Interaksi"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Jeda/Animasi Intro"
|
||||
},
|
||||
@@ -495,21 +498,6 @@
|
||||
"category_outro_description": {
|
||||
"message": "Kredit atau saat kartu akhir YouTube muncul. Tidak untuk kesimpulan dengan informasi."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Pengingat Interaksi (Berlangganan)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Saat ada pengingat singkat untuk meminta suka, berlangganan atau mengikuti mereka di tengah konten. Jika panjang atau tentang sesuatu yang spesifik, sebaiknya pakai kategori promosi diri sendiri."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Pengingat Interaksi"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promosi Diri Sendiri/Tidak Dibayar"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Mirip dengan \"sponsor\" kecuali ini tidak dibayar atau promosi diri sendiri. Ini termasuk merchandise, donasi, atau informasi tentang siapa yang berkolaborasi dengan mereka."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musik: Bagian Non-Musik"
|
||||
},
|
||||
@@ -537,10 +525,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Warna anda tidak diformat dengan benar. Harusnya terdiri dari 3 atau 6 digit kode heksa dengan tagar di awal."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Warna Pratinjau",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Warna Bilah Waktu"
|
||||
},
|
||||
@@ -641,7 +625,7 @@
|
||||
"categoryUpdate2": {
|
||||
"message": "Buka opsi untuk melewati intro, outro, merch, dll."
|
||||
},
|
||||
"help": {
|
||||
"message": "Bantuan"
|
||||
"hideForever": {
|
||||
"message": "Sembunyikan selamanya"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Nessun video YouTube trovato.\nSe è un errore, ricarica la scheda."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Ricarica i segmenti"
|
||||
},
|
||||
"success": {
|
||||
"message": "Successo!"
|
||||
},
|
||||
@@ -141,7 +144,7 @@
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
"message": "Suggerimento: Puoi configurare dei comandi rapidi per l'inserimento nelle opzioni"
|
||||
"message": "Suggerimento: puoi configurare dei comandi rapidi nelle opzioni"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Cancella Minutaggi"
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Questo è il pulsante che apre un popup nella pagina YouTube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Nascondi in automatico il Pulsante di Informazioni"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Nascondi il Pulsante Elimina nel Lettore di YouTube"
|
||||
},
|
||||
@@ -200,6 +206,9 @@
|
||||
"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. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Abilita il conteggio dei salti nelle schede private/anonime"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Ricerca tramite prefisso hash"
|
||||
},
|
||||
@@ -238,11 +247,14 @@
|
||||
"setSkipShortcut": {
|
||||
"message": "Imposta un tasto per saltare un segmento"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Imposta un tasto personalizzato per iniziare/finire il segmento"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Imposta chiave di associazione tasti per i tuoi contributi"
|
||||
"message": "Imposta un comando rapido per l'invio"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Seleziona una chiave digitandola"
|
||||
"message": "Seleziona un tasto premendolo sulla tastiera"
|
||||
},
|
||||
"keybindDescriptionComplete": {
|
||||
"message": "L'associazione di tasti è stata impostata a: "
|
||||
@@ -251,10 +263,10 @@
|
||||
"message": "Timeout della connessione. Controlla la tua connessione a Internet. Se internet sta funzionando, il server è probabilmente sovraccarico oppure giù."
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "Saltare è abilitato"
|
||||
"message": "Abilitato"
|
||||
},
|
||||
"enableSkipping": {
|
||||
"message": "Saltare è disabilitato"
|
||||
"message": "Disabilitato"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "Il Tuo Lavoro",
|
||||
@@ -270,7 +282,7 @@
|
||||
"message": "Salta"
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "Saltare {0}?"
|
||||
"message": "Vuoi saltare {0}?"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Saltato"
|
||||
@@ -344,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Attualmente è impostato su:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Supporta Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Supporta siti di YouTube di terze parti"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) è un client YouTube di terze parti. Per abilitare il supporto, è necessario accettare i permessi aggiuntivi. Questo NON funziona in incognito su Chrome e altre varianti di Chromium."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Supporta client YouTube di terze parti. Per abilitare il supporto, devi accettare i permessi aggiuntivi. Questo NON funziona in incognito su Chrome e altre varianti di Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Pagine supportate: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Abilita supporto invidioso, disabilita salto automatico, nascondi i pulsanti e altro ancora."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Aggiungi istanza di Invidious"
|
||||
"message": "Aggiungi Istanza Client 3Rd-Party"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Aggiungi un'istanza personalizzata di Invidious. Questo deve essere formattato SOLO con il dominio. Esempio: invidious.ajay.app"
|
||||
"message": "Aggiungi un'istanza personalizzata. Deve essere formattata SOLO con il dominio. Esempio: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Aggiungi"
|
||||
@@ -380,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "I segmenti più brevi del valore impostato non verranno saltati o visualizzati nel lettore."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Salta durata avviso (secondi):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "L'avviso salta rimarrà sullo schermo per almeno questo tempo. Per saltarlo manualmente, potrebbe esser visibile più a lungo."
|
||||
},
|
||||
"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?"
|
||||
},
|
||||
@@ -440,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Anteprima"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Non inviato"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Esamina"
|
||||
},
|
||||
@@ -474,6 +499,21 @@
|
||||
"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_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_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_intro": {
|
||||
"message": "Animazione Interruzione/Introduzione"
|
||||
},
|
||||
@@ -489,20 +529,11 @@
|
||||
"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_preview": {
|
||||
"message": "Anteprima"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"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_music_offtopic": {
|
||||
"message": "Musica: Sezione Non-Musicale"
|
||||
@@ -532,7 +563,7 @@
|
||||
"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",
|
||||
"message": "Segmento non inviato",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -637,5 +668,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Aiuto"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Disiscriviti dagli esperimenti futuri",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "Nascondi per sempre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Hai ricevuto un ammonimento and non puoi inviare segmenti temporaneamente. Ciò significa che abbiamo notato che stavi commettendo alcuni errori comuni senza scopo malevolo, e vogliamo che tu ricontrollassi le regole. Puoi anche partecipare a questa chat su 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."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,19 +20,19 @@
|
||||
"message": "チャンネルをホワイトリストに登録しました!"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "区域"
|
||||
"message": "セグメント"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "区域"
|
||||
"message": "セグメント"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "この提案を支持する"
|
||||
"message": "この提案を支持"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "報告"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "この提案が正しくないことを報告する。"
|
||||
"message": "この提案が正しくないと報告"
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "無視"
|
||||
@@ -44,10 +44,10 @@
|
||||
"message": "非表示"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "元の場所に戻るには「スキップを取り消す」をクリックしてください。"
|
||||
"message": "スキップ解除を押すと元の場所へ戻ります"
|
||||
},
|
||||
"unskip": {
|
||||
"message": "スキップを取り消す"
|
||||
"message": "スキップ解除"
|
||||
},
|
||||
"reskip": {
|
||||
"message": "再スキップ"
|
||||
@@ -68,20 +68,26 @@
|
||||
"message": "スポンサー表示の投稿中にエラーが発生しました。しばらく経ってからもう一度お試しください。"
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "この動画用の区域は情報集合体に登録されています!"
|
||||
"message": "この動画用のセグメントはデータベースに登録されています!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "区域が見つかりませんでした"
|
||||
"message": "セグメントが見つかりませんでした"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "区域が始まりました"
|
||||
"message": "セグメント開始を記録"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "区域が終わりました"
|
||||
"message": "セグメント終了を記録"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "区間の作成を取り止める"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "YouTube動画が見つかりませんでした。\nこれが正しくない場合は、タブを再読み込みしてください。"
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "区域を更新"
|
||||
},
|
||||
"success": {
|
||||
"message": "成功しました!"
|
||||
},
|
||||
@@ -92,13 +98,13 @@
|
||||
"message": "サーバーがダウンしているようです。今すぐ開発者にお知らせください。"
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "接続エラーが発生しました。エラーコード: "
|
||||
"message": "接続エラーが発生しました。 エラーコード: "
|
||||
},
|
||||
"wantToSubmit": {
|
||||
"message": "次の動画IDで提出します:"
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "区域を消去"
|
||||
"message": "セグメントを消去"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "SponsorBlock のポップアップを開く"
|
||||
@@ -107,7 +113,7 @@
|
||||
"message": "ポップアップを閉じる"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "区域を提出"
|
||||
"message": "セグメントを送信"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "本当に提出してよろしいですか?"
|
||||
@@ -119,10 +125,10 @@
|
||||
"message": "ホワイトリストからチャンネルを削除"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "区域に投票"
|
||||
"message": "セグメントに投票"
|
||||
},
|
||||
"Submissions": {
|
||||
"message": "提出数"
|
||||
"message": "提案数"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "次のセグメント数から人々を救いました: "
|
||||
@@ -171,7 +177,7 @@
|
||||
"message": "YouTube プレイヤーにボタンを表示しない"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "これを有効にするとYouTube再生画面の区域提出UIが非表示になります。"
|
||||
"message": "YouTube再生画面のセグメント提出ボタンを非表示にします。"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "YouTubeプレーヤーの情報ボタンを表示する"
|
||||
@@ -182,20 +188,26 @@
|
||||
"whatInfoButton": {
|
||||
"message": "これはYouTubeのページ上でポップアップを開くためのボタンです。"
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "情報ボタンを自動的に隠す"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "YouTube プレイヤーから削除ボタンを隠す"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "YouTube プレイヤーから削除ボタンを表示する"
|
||||
"message": "YouTubeプレーヤーに削除ボタンを表示"
|
||||
},
|
||||
"whatDeleteButton": {
|
||||
"message": "これはYouTube再生画面上のUIで,現在の動画から未提出の区域を全て消去します。"
|
||||
"message": "これはYouTubeプレーヤー上のボタンで、現在の動画から未提出のセグメントを全て消去します。"
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "スキップ回数の統計を有効にする"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "この機能は、あなたが飛び越した区域を追跡して、当該区域がどれだけ役に立ったかを他の利用者に知らせることで、不正な情報が情報集合体に紛れないようにするための評価基準として使用されます。あなたが区域を飛び越すたびに、拡張機能はサーバーに通報を送信します。使用回数の統計が正確になるよう、できる限り多くの人がこの設定を変更しないことを望みます。:)"
|
||||
"message": "この機能は、あなたがスキップしたセグメントを追跡して、そのセグメントがどれだけ役に立ったかを他のユーザーに知らせることで、スパムがデータベースに紛れないようにするための評価基準として使用されます。あなたがセグメントをスキップするたびに、拡張機能はサーバーにメッセージを送信します。使用回数の統計が正確になるよう、できる限り多くの人がこの設定を変更しないことを望みます。:)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "プライベート/シークレット タブでスキップカウントトラッキングを有効にする"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "ハッシュプレフィックスを使って要求"
|
||||
@@ -204,10 +216,10 @@
|
||||
"message": "サーバーに区域を要求する際に,動画IDの代わりに動画IDのハッシュから最初の4文字を送信します。それに対して,サーバーは類似したハッシュを持つすべての動画の情報を応答します。"
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "新しい動画では区域を再取得する"
|
||||
"message": "新しい動画ではセグメントを再取得する"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "動画がまだ新しく区域が見つからない場合は、動画を視聴している間、数分おきに区域を検索し続けます。"
|
||||
"message": "動画がまだ新しくセグメントが見つからない場合は、動画を視聴している間、数分おきにセグメントを検索し続けます。"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "再度通知を表示する"
|
||||
@@ -235,30 +247,33 @@
|
||||
"setSkipShortcut": {
|
||||
"message": "セグメントをスキップするキーを設定"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "セグメントの開始/停止キーのバインドを設定"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "投稿するキーを設定"
|
||||
"message": "提案キーのバインドを設定"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "キーを入力して設定します"
|
||||
},
|
||||
"keybindDescriptionComplete": {
|
||||
"message": "キーバインドを次の通り設定しました: "
|
||||
"message": "キーバインドは次のように設定されました: "
|
||||
},
|
||||
"0": {
|
||||
"message": "接続がタイムアウトになりました。インターネット接続をご確認ください。接続に問題がない場合、サーバーが混雑またはダウンしている可能性があります。"
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "スキップは有効です"
|
||||
"message": "スキップ有効"
|
||||
},
|
||||
"enableSkipping": {
|
||||
"message": "スキップは無効です"
|
||||
"message": "スキップ無効"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "あなたの貢献",
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"502": {
|
||||
"message": "サーバーが混雑中です。数秒後にもう一度お試しください。"
|
||||
"message": "サーバー側で問題が起きているようです。時間をおいて再び試してください。"
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "エラーコード: "
|
||||
@@ -279,10 +294,10 @@
|
||||
"message": "自動スキップを有効にする"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "オーディオ通知をスキップ"
|
||||
"message": "スキップ時に通知音を鳴らす"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "スキップ時の音声通知は、セグメントがスキップされる毎に音を鳴らす機能です。無効 (または自動スキップが無効) の場合、音は再生されません。"
|
||||
"message": "セグメントがスキップされた時に音を鳴らします。 無効 (もしくは自動スキップが無効) の場合、音は再生されません。"
|
||||
},
|
||||
"showTimeWithSkips": {
|
||||
"message": "スキップした分を除いた時間を表示する"
|
||||
@@ -318,43 +333,47 @@
|
||||
"message": "サーバーの状態についてはstatus.sponsor.ajay.appを確認してください。"
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "利用者IDの読み込み・書き出し"
|
||||
"message": "ユーザーIDのインポート/エクスポート"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "これを公開してはいけません。これは暗証語のようなものであり,誰とも共有するべきではありません。これを持っている人はあなたになりすませてしまいます。"
|
||||
"message": "ユーザーIDは公開しないでください。これはパスワードのようなもので誰とも共有するべきではありません。 他の誰かが知った場合、あなたになりすます可能性があります。"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "利用者IDを設定"
|
||||
"message": "ユーザーIDを設定"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "警告: 利用者IDの変更は恒久的です。本当に実行しますか? 念のため,旧IDを控えておいてください。"
|
||||
"message": "警告: ユーザーIDの変更は恒久的です。本当に実行しますか? 念のため以前のユーザーIDは控えておいてください。"
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "作成者"
|
||||
"message": "作成者:"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "自動スキップ"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "区域を飛び越した後に通知を表示する"
|
||||
"message": "セグメントがスキップされた後に通知を表示する"
|
||||
},
|
||||
"keybindCurrentlySet": {
|
||||
"message": "。現在の設定は:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Invidiousに対応"
|
||||
"supportOtherSites": {
|
||||
"message": "第三者製のYouTube関連サイトに対応"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) は第三者製のYouTubeクライアントです。Invidious対応を有効にするには,追加の権限を受け入れなければいけません。 これはChromeやその他のChromium系列の匿名閲覧状態では動作しません。"
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "第三者製のYouTubeクライアントに対応しました。有効にするには,追加の権限を受け入れる必要があります。これはChromeやその他のChromium系列の匿名閲覧状態では動作しません。",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "対応サイト: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Invidious対応を有効にし,自動飛越を無効にし,GUIを非表示にします。"
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Invidiousインスタンスを追加"
|
||||
"message": "サードパーティーのクライアントインスタンスを追加"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "任意のInvidiousインスタンスを追加します。ドメイン名だけを記入してください。例: invidious.ajay.app"
|
||||
"message": "任意のインスタンスを追加できます。ドメイン名だけを記入してください。例: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "追加"
|
||||
@@ -366,31 +385,70 @@
|
||||
"message": "Invidiousインスタンス一覧を初期化"
|
||||
},
|
||||
"resetInvidiousInstanceAlert": {
|
||||
"message": "Invidiousインスタン一覧を初期化しようとしています"
|
||||
"message": "Invidiousインスタンス一覧を初期化しようとしています"
|
||||
},
|
||||
"currentInstances": {
|
||||
"message": "現在のインスタンス:"
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "飛越す最短の時間(秒):"
|
||||
"message": "最小持続時間(秒):"
|
||||
},
|
||||
"minDurationDescription": {
|
||||
"message": "設定値より短い区域は飛び越されず,再生画面にも表示されません。"
|
||||
"message": "設定値より短いセグメントはスキップされず、プレーヤーにも表示されません。"
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "飛び越し通知の表示時間(秒):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "飛び越し通知が画面上に表示され続ける時間です。手動で飛び越した場合は,より長く表示される可能性があります。"
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "提出しようとしている区間の長さが個人設定における最短時間よりも短かいです。これは,既に当区間は提出されており,個人設定によって無視されていることを意味します。本当に提出しますか?"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "アップロードボタンを表示"
|
||||
},
|
||||
"whatUploadButton": {
|
||||
"message": "このボタンはタイムスタンプを選択して投稿の準備ができた後にYouTubeプレーヤーに表示されます。"
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "SponsorBlock サーバーアドレス"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "SponsorBlockがサーバーへの呼び出しに用いるアドレスです。\n自分のサーバー実体を持っていない限り,この設定を変更してはいけません。"
|
||||
},
|
||||
"save": {
|
||||
"message": "保存"
|
||||
},
|
||||
"reset": {
|
||||
"message": "リセット"
|
||||
},
|
||||
"customAddressError": {
|
||||
"message": "このアドレスの形式は正しくありません。最初にhttp://あるいはhttps://があり,最後が斜線で終わっていないことを確かめてください。"
|
||||
},
|
||||
"areYouSureReset": {
|
||||
"message": "初期設定に戻します。よろしいですか?"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com は現在サポートされています"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "全ての設定をインポート/エクスポート"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "JSON形式の個人設定全体です。利用者IDが含まれているので,共有するときは注意してください。"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "オプション設定"
|
||||
},
|
||||
"exportOptionsWarning": {
|
||||
"message": "警告: 設定の変更は恒久的で,本拡張機能を破壊する可能性があります。本当に実行しますか? 念のため,旧設定を控えておいてください。"
|
||||
},
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "JSONの書式が正しくありません。設定は変更されませんでした。"
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "区域を提出"
|
||||
"message": "セグメントを送信"
|
||||
},
|
||||
"submit": {
|
||||
"message": "送信"
|
||||
@@ -404,9 +462,33 @@
|
||||
"preview": {
|
||||
"message": "プレビュー"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "未提出"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "調査"
|
||||
},
|
||||
"edit": {
|
||||
"message": "編集"
|
||||
},
|
||||
"copyDebugInformation": {
|
||||
"message": "デバッグ情報をクリップボードにコピー"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "クリップボードに書き込めませんでした"
|
||||
},
|
||||
"copyDebugInformationOptions": {
|
||||
"message": "不具合があった,あるいは開発者から要求があった際に提供する為の情報をクリップボードに写します。利用者ID,許可表にある番組,および個人サーバーのアドレスなどの機密情報は含まれていません。ただし,利用者エージェント,Web閲覧機,OS,および拡張機能の版番などの情報は含まれています。"
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "診断用情報がクリップボードに複製されました。共有したくない情報があればそこから削除できます。これをファイルに保存したり,不具合報告に貼り付けてください。"
|
||||
},
|
||||
"theKey": {
|
||||
"message": "キー"
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "は他の動作に割り当てられています。異なったキーを選択してください。"
|
||||
},
|
||||
"to": {
|
||||
"message": "~",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
@@ -414,20 +496,59 @@
|
||||
"category_sponsor": {
|
||||
"message": "スポンサー"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "報酬のある販売促進・製品紹介,および直接広告です。自己販促や好きな運動・製作者・Webサイト・製品に対する無報酬での宣伝とは違います。"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "無報酬 / セルフプロモーション"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "無報酬での宣伝あるいは自己販促を除いて「提供者」と同様です。商品・寄付・合作情報にかんする節を含みます。"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "行動を促すメッセージ(チャンネル登録)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "動画の途中に挟まれる,高評価,チャンネル登録・通知の有効化を促す短かい場面。長かったり具体的な商品についての場面は,中断ではなく自己販売促進に分類するべきです。"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "動画の間に挟まる告知"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "インターミッション / イントロアニメーション"
|
||||
},
|
||||
"category_intro_description": {
|
||||
"message": "意味のある内容を含まない場面です。一時停止,静止画面,繰り返される動作などが相等します。意味のある情報を含む転換場面に対しては使わないでください。"
|
||||
},
|
||||
"category_intro_short": {
|
||||
"message": "インターミッション"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "エンドカード/クレジット"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "無報酬 / セルフプロモーション"
|
||||
"category_outro_description": {
|
||||
"message": "提供表示やYouTubeの終了画面が表示されている場面。動画の内容を結論している場面には使用しないで下さい。"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "予告と前回の粗筋"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "前回の粗筋,または動画の後半内容の予告。音声による要約ではなく,編集された映像を指します。"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "音楽: 音楽ではない区間"
|
||||
"message": "音楽: 音楽以外のセクション"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "ミュージックビデオでの使用に限ります。他のカテゴリーに含まれていないミュージックビデオのセクションにのみ使用してください。"
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "音楽以外の部分"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "ライブ配信: 寄付/メッセージの読み上げ"
|
||||
},
|
||||
"category_livestream_messages_short": {
|
||||
"message": "寄付などの読み上げ"
|
||||
},
|
||||
"disable": {
|
||||
"message": "無効"
|
||||
@@ -438,8 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "シークバーに表示"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "非音楽区域がある場合,全区域を自動的に飛び越す"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "カラーコードの書式が間違っています。 #から始まる3桁または6桁の16進数コードでなければなりません。"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "プレビューカラー",
|
||||
"message": "未確定の色",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -449,20 +576,49 @@
|
||||
"message": "カテゴリ"
|
||||
},
|
||||
"skipOption": {
|
||||
"message": "飛越設定",
|
||||
"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": "カテゴリーを選択"
|
||||
},
|
||||
"enableThisCategoryFirst": {
|
||||
"message": "\"{0}\" のカテゴリでセグメントを送信するには、オプションでセグメントを有効にする必要があります。オプション画面にリダイレクトします。",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "提出する全ての区域について,その範疇を選択する必要があります!"
|
||||
"message": "送信するすべてのセグメントにカテゴリを選択する必要があります!"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(終了)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "低い評価の区間を無視する"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "あまりに短かい区間を無視する"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "番組IDがまだ読み込まれていません。埋め込み動画でご覧になっている場合は,代わりにYouTubeの公式サイトで再生してみてください。この問題はYouTubeの画面構成を変えた際にも発生する可能性があります。その場合は,こちらに意見をお書きください:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "SponsorBlockの動画情報取得が拒否されています。詳細は https://github.com/ajayyy/SponsorBlock/issues/741 を参照してください。"
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "SponsorBlockがYouTube APIを参照できないようです。修正するには,次に表示される画面で許可を承認してから,数秒後に再読み込みしてください。"
|
||||
@@ -471,14 +627,35 @@
|
||||
"message": "許可を承認する"
|
||||
},
|
||||
"permissionRequestSuccess": {
|
||||
"message": "許可要求が成功しました。"
|
||||
"message": "許可リクエストが成功しました!"
|
||||
},
|
||||
"permissionRequestFailed": {
|
||||
"message": "権限要求に失敗しました。承認を拒否しましたか?"
|
||||
"message": "権限要求に失敗しました。拒否をクリックしましたか?"
|
||||
},
|
||||
"adblockerIssueWhitelist": {
|
||||
"message": "これを解決できない場合は、設定「スキップする前にチャンネルチェックを強制」を無効にしてください。 SponsorBlockはこのビデオのチャンネル情報を取得できません。"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "スキップする前にチャンネルチェックを強制する"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "デフォルト設定では、チャンネル情報を取得する前にセグメントをスキップします。デフォルト設定では、ホワイトリストに追加されているチャンネルでも動画の先頭部分にあるセグメントがスキップされる場合があります。この設定を有効にするとこの挙動が回避されますが、channelIDの取得に時間がかかるため、すべてのスキップに遅延が発生します。高速なインターネット回線を使用している場合は気にならないかもしれません。"
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "「飛び越し前に強制的に番組を検査する」を有効にすることを検討してください"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "不正確あるいは間違った時刻です"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "カテゴリが違います"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "この動画は音楽として分類されています。本当にこの動画にスポンサー部分がありますか? 本セグメントが本当に「音楽以外の区域」だった場合は、設定画面からこの分類を有効にしてください。その後、「スポンサー部分」の代わりに「音楽以外のセグメント」としてセグメントを提出できます。よく分からない場合は、ガイドラインを参照してください。"
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "複数のセグメント"
|
||||
},
|
||||
"guidelines": {
|
||||
"message": "ガイドライン"
|
||||
},
|
||||
@@ -489,7 +666,24 @@
|
||||
"categoryUpdate1": {
|
||||
"message": "カテゴリはこちらです!"
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "導入画面・終了画面・商品紹介などを飛び越す個人設定を開きます。"
|
||||
},
|
||||
"help": {
|
||||
"message": "ヘルプ"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "実験的機能をすべて無効にする",
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "유튜브 동영상을 찾을 수 없습니다.\n오류라면, 탭을 새로고침해보세요."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "구간 새로고침"
|
||||
},
|
||||
"success": {
|
||||
"message": "성공!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "YouTube 페이지에 팝업으로 표시되는 버튼입니다"
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "정보 버튼 자동 숨김"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "YouTube 플레이어에서 삭제 버튼 숨기기"
|
||||
},
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". 현재 다음으로 설정되어 있습니다:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Invidious 지원 활성화"
|
||||
"supportOtherSites": {
|
||||
"message": "제3자 YouTube 사이트 지원"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us)는 서드 파티 YouTube 클라이언트입니다. Invidious 지원을 활성화하시려면 추가적인 권한을 허용해주셔야 합니다. 이 기능은 Chrome 및 Chromium 기반 브라우저의 시크릿 모드에서는 작동하지 않습니다."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "제3자 YouTube 클라이언트를 지원합니다. 이 기능을 사용하려면 추가 권한을 허용하여야 합니다. 크롬 및 기타 크로미움 계열 브라우저의 시크릿 모드에서는 작동하지 않습니다.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "지원되는 사이트: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Invidious 지원을 활성화하고, 자동 건너뛰기 기능을 끄거나, 사용하지 않는 버튼을 숨겨보세요."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Invidious 인스턴스 추가"
|
||||
"message": "제3자 클라이언트 인스턴스 추가"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Invidious의 커스텀 인스턴스를 추가합니다. 도메인 형식으로만 되어있어야 합니다. 예시: invidious.ajay.app"
|
||||
"message": "사용자 지정 인스턴스를 추가합니다. 도메인 형식으로만 되어있어야 합니다. 예시: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "추가"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "설정 값보다 작은 구간은 건너뛰거나 플레이어에서 표시하지 않습니다"
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "건너뛰기 알림 길이 (초):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "건너뛰기 알림이 최소한 이 길이 동안 표시됩니다. 수동 건너뛰기를 한 경우 알림이 더 길게 표시될 수 있습니다."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "다음 제출은 최소 기간 옵션보다 짧습니다. 이 말은 이미 제출되었으며, 이 옵션으로 인해 무시될 수 있습니다. 제출하시겠습니까?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "미리보기"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "미제출됨"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "보기"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "유료 광고, 유료 협찬과 직접 광고입니다. 원인/크리에이터/웹사이트/제품에 자체 홍보나 대가 없는 홍보는 여기에 해당되지 않습니다."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "자체 홍보 구간"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "'스폰서 광고'와 비슷하지만 협찬 없이 자기 채널을 홍보하는 구간입니다. 여기에는 채널 굿즈 광고, 기부 광고와 영상에 참여한 사람들을 홍보하는 광고가 해당됩니다."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "상호 작용 알림 (구독)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "컨텐츠 중앙의 좋아요, 구독이나 팔로우에 대한 짧은 설명이 뜨는 경우입니다. 길거나 특정적인 거라면 자가 홍보에 해당됩니다."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "상호 작용 알림"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "무음 구간 / 인트로 영상"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "엔딩 크레딧이나 최종 화면이 나타나는 구간입니다. 단순히 결론을 말하는 부분은 여기에 포함되지 않습니다."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "상호 작용 알림 (구독)"
|
||||
"category_preview": {
|
||||
"message": "미리보기/요약"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "컨텐츠 중앙의 좋아요, 구독이나 팔로우에 대한 짧은 설명이 뜨는 경우입니다. 길거나 특정적인 거라면 자가 홍보에 해당됩니다."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "상호 작용 알림"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "자체 홍보 구간"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "'스폰서 광고'와 비슷하지만 협찬 없이 자기 채널을 홍보하는 구간입니다. 여기에는 채널 굿즈 광고, 기부 광고와 영상에 참여한 사람들을 홍보하는 광고가 해당됩니다."
|
||||
"category_preview_description": {
|
||||
"message": "이전 에피소드를 간략히 요약하거나 현재 동영상에서 나중에 나올 내용을 예고해줍니다. 음성 요약이 아니라 편집된 동영상을 통한 요약입니다."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "음악이 아닌 구간"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "재생 시간 바 표시"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "음악이 아닌 구간이 있을 때는 모든 구간 자동 건너뛰기"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "올바르지 않은 색상 코드입니다. 색상 코드는 샵 (#) 기호로 시작하여 3자리 또는 6자리의 16진수로 구성되어야 합니다."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "미리보기 색상",
|
||||
"message": "미제출한 색상",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "도움"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "향후 모든 실험 기능 비활성화",
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,21 +341,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". ഇത് നിലവിൽ ഇതായി സജ്ജീകരിച്ചിരിക്കുന്നു:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "ഇൻവിഡിയസിനെ പിന്തുണയ്ക്കുക"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "ഒരു മൂന്നാം കക്ഷി YouTube ക്ലയന്റാണ് ഇൻവിഡിയസ് (invidio.us). പിന്തുണ പ്രവർത്തനക്ഷമമാക്കാൻ, നിങ്ങൾ അധിക അനുമതികൾ സ്വീകരിക്കണം. ഇത് Chrome- ലും മറ്റ് Chromium വേരിയന്റുകളിലും ആൾമാറാട്ടത്തിൽ പ്രവർത്തിക്കുന്നില്ല."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "ആക്രമണാത്മക പിന്തുണ പ്രാപ്തമാക്കുക, ഓട്ടോസ്കിപ്പ് അപ്രാപ്തമാക്കുക, ബട്ടണുകൾ മറയ്ക്കുക എന്നിവയും അതിലേറെയും."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "അദൃശ്യമായ ഉദാഹരണം ചേർക്കുക"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "ഇൻവിഡിയസിന്റെ ഒരു ഇച്ഛാനുസൃത ഉദാഹരണം ചേർക്കുക. ഇത് JUST ഡൊമെയ്ൻ ഉപയോഗിച്ച് ഫോർമാറ്റ് ചെയ്തിരിക്കണം. ഉദാഹരണം: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "ചേർക്കുക"
|
||||
},
|
||||
@@ -471,6 +459,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "പണമടച്ചുള്ള പ്രമോഷൻ, പണമടച്ചുള്ള റഫറലുകൾ, നേരിട്ടുള്ള പരസ്യങ്ങൾ. സ്വയം പ്രൊമോഷനോ അല്ലെങ്കിൽ കാരണങ്ങൾ / സ്രഷ്ടാക്കൾ / വെബ്സൈറ്റുകൾ / ഉൽപ്പന്നങ്ങൾ എന്നിവയ്ക്ക് സ shout ജന്യ ശബ്ദമുയർത്തുന്നതിനോ അല്ല."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "പണമടയ്ക്കാത്ത / സ്വയം പ്രമോഷൻ"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "പണമടയ്ക്കാത്ത അല്ലെങ്കിൽ സ്വയം പ്രമോഷൻ ഒഴികെ \"സ്പോൺസർ\" എന്നതിന് സമാനമാണ്. ചരക്കുകൾ, സംഭാവനകൾ, അല്ലെങ്കിൽ അവർ ആരുമായി സഹകരിച്ചു എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ എന്നിവ ഇതിൽ ഉൾപ്പെടുന്നു."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "ഇന്ററാക്ഷൻ ഓർമ്മപ്പെടുത്തൽ (സബ്സ്ക്രൈബുചെയ്യുക)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "ഉള്ളടക്കത്തിന്റെ മധ്യത്തിൽ ഇഷ്ടപ്പെടാനോ സബ്സ്ക്രൈബുചെയ്യാനോ പിന്തുടരാനോ ഒരു ഹ്രസ്വ ഓർമ്മപ്പെടുത്തൽ ഉണ്ടാകുമ്പോൾ. ഇത് ദൈർഘ്യമേറിയതോ നിർദ്ദിഷ്ടമായതോ ആയ കാര്യങ്ങളാണെങ്കിൽ, അത് സ്വയം പ്രൊമോഷന് കീഴിലായിരിക്കണം."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "ഇടപെടൽ ഓർമ്മപ്പെടുത്തൽ"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "ഇടവേള / ആമുഖ ആനിമേഷൻ"
|
||||
},
|
||||
@@ -486,21 +489,6 @@
|
||||
"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": "സംഗീതം: സംഗീതേതര വിഭാഗം"
|
||||
},
|
||||
@@ -528,10 +516,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "നിങ്ങളുടെ നിറം തെറ്റായി ഫോർമാറ്റുചെയ്തു. ഇത് തുടക്കത്തിൽ ഒരു നമ്പർ ചിഹ്നമുള്ള 3 അല്ലെങ്കിൽ 6 അക്ക ഹെക്സ് കോഡായിരിക്കണം."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "പ്രിവ്യൂ വർണ്ണം",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "ബാർ കളർ തേടുക"
|
||||
},
|
||||
@@ -609,8 +593,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "ആമുഖങ്ങൾ, ഉൽപ്പന്നങ്ങൾ, ചരക്കുകൾ മുതലായവ ഒഴിവാക്കുന്നതിനുള്ള ഓപ്ഷനുകൾ തുറക്കുക."
|
||||
},
|
||||
"help": {
|
||||
"message": "സഹായം"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,21 +341,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Pada masa ini ditetapkan untuk:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Sokong Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) adalah pelanggan YouTube pihak ketiga. Untuk mengaktifkan sokongan, anda mesti menerima kebenaran tambahan. Ini TIDAK berfungsi dalam penyamaran pada Chrome dan varian Chromium lain."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Dayakan sokongan Invidious, lumpuhkan autoskip, sembunyikan butang dan banyak lagi."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Tambah Contoh Invidious"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Tambahkan contoh tersuai Invidious. Ini mesti diformat dengan HANYA domain. Contoh: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Tambah"
|
||||
},
|
||||
@@ -471,6 +459,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Promosi berbayar, rujukan berbayar dan iklan langsung. Bukan untuk promosi diri atau sapaan percuma kepada penyebab / pencipta / laman web / produk yang mereka suka."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promosi Tanpa Bayaran / Diri"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Sama dengan \"penaja\" kecuali untuk promosi tanpa gaji atau diri. Ini merangkumi bahagian mengenai barang dagangan, sumbangan, atau maklumat tentang siapa mereka bekerjasama."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Peringatan Interaksi (Langgan)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Apabila ada peringatan pendek untuk menyukai, melanggan atau mengikutinya di tengah-tengah kandungan. Sekiranya ia panjang atau mengenai sesuatu yang spesifik, ia harus dipromosikan sendiri."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Peringatan Interaksi"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Intermission / Pengenalan Animasi"
|
||||
},
|
||||
@@ -486,21 +489,6 @@
|
||||
"category_outro_description": {
|
||||
"message": "Kredit atau ketika kad akhir YouTube muncul. Bukan untuk kesimpulan dengan maklumat."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Peringatan Interaksi (Langgan)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Apabila ada peringatan pendek untuk menyukai, melanggan atau mengikutinya di tengah-tengah kandungan. Sekiranya ia panjang atau mengenai sesuatu yang spesifik, ia harus dipromosikan sendiri."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Peringatan Interaksi"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promosi Tanpa Bayaran / Diri"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Sama dengan \"penaja\" kecuali untuk promosi tanpa gaji atau diri. Ini merangkumi bahagian mengenai barang dagangan, sumbangan, atau maklumat tentang siapa mereka bekerjasama."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muzik: Bahagian Bukan Muzik"
|
||||
},
|
||||
@@ -528,10 +516,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Warna anda tidak diformat dengan betul. Ia mestilah kod hex 3 atau 6 digit dengan tanda nombor pada awalnya."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Warna Pratonton",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Cari Warna Bar"
|
||||
},
|
||||
@@ -609,8 +593,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "Buka pilihan untuk melangkau perkenalan, pengeluaran luar, barang dagangan, dll."
|
||||
},
|
||||
"help": {
|
||||
"message": "Bantuan"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
"message": "segmenten"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Stemmen op deze indiening"
|
||||
"message": "Stemmen op deze inzending"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Rapporteren"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "Deze indiening als onjuist rapporteren."
|
||||
"message": "Deze inzending als onjuist rapporteren."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "Verwerpen"
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Geen YouTube-video gevonden.\nVernieuw het tabblad als dit onjuist is."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Segmenten vernieuwen"
|
||||
},
|
||||
"success": {
|
||||
"message": "Gelukt!"
|
||||
},
|
||||
@@ -137,7 +140,7 @@
|
||||
"message": "Indienen"
|
||||
},
|
||||
"submissionEditHint": {
|
||||
"message": "Sectiebewerking verschijnt nadat u op verzenden hebt geklikt",
|
||||
"message": "Sectiebewerking verschijnt nadat u op indienen hebt geklikt",
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Dit is de knop die een pop-up opent op de YouTube-pagina."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Infoknop automatisch verbergen"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Verwijderen-knop op YouTube-speler verbergen"
|
||||
},
|
||||
@@ -198,7 +204,7 @@
|
||||
"message": "Bijhouden van het aantal keren overslaan inschakelen"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Deze functie houdt bij welke segmenten u heeft 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. :)"
|
||||
"message": "Deze functie houdt bij welke segmenten u heeft overgeslagen om gebruikers te laten weten hoezeer hun inzending 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. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Bijhouden van het aantal keren overslaan inschakelen in privé-/incognito-tabbladen"
|
||||
@@ -245,7 +251,7 @@
|
||||
"message": "Sneltoets instellen voor begin/einde van segment"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Sneltoets instellen voor indienen"
|
||||
"message": "Sneltoets instellen voor inzending"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Selecteer een toets door hem in te drukken"
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Hij is momenteel ingesteld op:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Ondersteuning voor Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Ondersteuning voor YouTube-sites van derden"
|
||||
},
|
||||
"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."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Ondersteuning voor YouTube-clients van derden. Om ondersteuning in te schakelen moet u de extra machtigingen accepteren. Dit werkt NIET in incognito in Chrome en andere Chromium-varianten.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Ondersteunde sites: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Ondersteuning voor Invidious inschakelen, automatisch overslaan uitschakelen, knoppen verbergen en meer."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Invidious-instantie toevoegen"
|
||||
"message": "Client-instantie van derden toevoegen"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Een aangepaste instantie van Invidious toevoegen. Dit moet geformatteerd worden met ALLEEN het domein. Voorbeeld: invidious.ajay.app"
|
||||
"message": "Een aangepaste instantie toevoegen. Dit moet worden opgemaakt met ALLEEN het domein. Bijvoorbeeld: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Toevoegen"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenten korter dan de ingestelde waarde worden niet overgeslagen of weergegeven in de speler."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Duur van melding om over te slaan (seconden):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "De melding om over te slaan blijft ten minste zo lang op het scherm staan. Voor handmatig overslaan kan dit misschien zelfs langer zichtbaar zijn."
|
||||
},
|
||||
"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?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Voorbeeld"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Niet ingediend"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Inspecteren"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"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_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_interaction": {
|
||||
"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"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Onderbreking/intro-animatie"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Aftiteling of wanneer de YouTube-eindkaarten verschijnen. Niet voor conclusies met informatie."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interactieherinnering (abonneren)"
|
||||
"category_preview": {
|
||||
"message": "Voorbeeld/samenvatting"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"message": "Snelle samenvatting van vorige afleveringen of een voorbeeld van wat er later komt in de huidige video. Bedoeld voor samengevoegde clips, niet voor gesproken samenvattingen."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muziek: sectie niet-muziek"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Weergeven in tijdbalk"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automatisch alle segmenten overslaan wanneer er een niet-muziek-segment is"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"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": "Voorbeeld van kleur",
|
||||
"message": "Niet ingediend kleur",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Help"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Uitschrijven van alle toekomstige experimenten",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"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.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,21 +341,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Den er før øyeblikket satt til:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Støtt Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) er en tredjeparts YouTube-klient. For å skru på støtte for det, må du akseptere de ekstra tillatelsene. Dette fungerer IKKE i inkognito på Chrome og andre Chromium-varianter."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Skru på Invidious-støtte, skru av autohopp, skjul knapper, og mer."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Legg til Invidious-instans"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Legg til en selvvalgt Invidious-instans. Dette må formatteres som KUN domenet. For eksempel: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Legg til"
|
||||
},
|
||||
@@ -471,6 +459,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Betalt promotering, betalte henvisninger, og reklamer direkte til seerne. Ikke for selvpromotering eller gratis hyllester av saker/skapere/nettsteder/produkter som de liker."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Ubetalt/Selvpromotering"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Minner om «Sponsor», men er ubetalt eller selvpromotering. Dette inkluderer segmenter om merchandise, donasjoner, eller info om hvem de samarbeidet med."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Samhandlingspåminnelse (Abonner)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Når det er en kort påminnelse om å like, abonnere på eller følge dem midt i innholdet. Hvis det er langt eller handler om noe spesifikt, burde det føres opp som selvpromotering i stedet."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Samhandlingspåminnelse"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Midtpause-/Introanimasjon"
|
||||
},
|
||||
@@ -486,21 +489,6 @@
|
||||
"category_outro_description": {
|
||||
"message": "Rulletekster eller når YouTube-sluttkortene dukker opp. Ikke for avslutninger med informasjon."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Samhandlingspåminnelse (Abonner)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Når det er en kort påminnelse om å like, abonnere på eller følge dem midt i innholdet. Hvis det er langt eller handler om noe spesifikt, burde det føres opp som selvpromotering i stedet."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Samhandlingspåminnelse"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Ubetalt/Selvpromotering"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Minner om «Sponsor», men er ubetalt eller selvpromotering. Dette inkluderer segmenter om merchandise, donasjoner, eller info om hvem de samarbeidet med."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musikk: Seksjon uten musikk"
|
||||
},
|
||||
@@ -528,10 +516,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Fargen din er formattert feil. Det burde være en 3- eller 6-sifret heksadesimal kode med et nummertegn foran."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Forhåndsvisningsfarge",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Tidsstripefarge"
|
||||
},
|
||||
@@ -621,8 +605,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "Åpne innstillingene for å hoppe over introer, outro-er, merchandise, osv."
|
||||
},
|
||||
"help": {
|
||||
"message": "Hjelp"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Nie znaleziono filmu YouTube.\nJeżeli to błąd, odśwież stronę."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Odśwież segmenty"
|
||||
},
|
||||
"success": {
|
||||
"message": "Sukces!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Jest to przycisk otwierający okienko pop-up na stronie YouTube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Autoukrywanie przycisku informacji"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Ukryj przycisk usuwania na odtwarzaczu YouTube"
|
||||
},
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Obecnie ustawiony:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Wsparcie dla Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Obsługa stron YouTube firm trzecich"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) to nieoficjalny klient YouTube’a. Aby włączyć dla niego wsparcie, musisz przyznać dodatkowe uprawnienia. W Chrome i innych przeglądarkach bazujących na Chromium ta opcja nie działa w trybie incognito."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Wspieraj nieoficjalne klienty YouTube'a. Aby włączyć dla nich wsparcie, musisz przyznać dodatkowe uprawnienia. Ta opcja nie działa w trybie incognito w Chrome i innych przeglądarkach bazujących na Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Wspierane strony: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Włącz wsparcie dla Invidious, wyłącz autopomijanie, ukryj przyciski i więcej."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Dodaj instancje Invidious"
|
||||
"message": "Dodaj instancję zewnętrznego klienta"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Dodaj niestandardową instancję Invidious. Musi to być w formie samej domeny. Przykładowo: invidious.ajay.app"
|
||||
"message": "Dodaj niestandardową instancję. Musi to być w formie samej domeny. Przykładowo: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Dodaj"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenty krótsze niż ustawiona wartość nie będą pomijane ani pokazywane w odtwarzaczu."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Czas trwania powiadomienia pominięcia (sekundy):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Powiadomienie o pominięciu pozostanie na ekranie przez co najmniej tyle. Po ręcznym pominięciu, może być widoczna przez dłuższy czas."
|
||||
},
|
||||
"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ć?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Podgląd"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Niewysłane"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Sprawdź"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"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_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_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_intro": {
|
||||
"message": "Przerwa/Animowane intro"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"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_preview": {
|
||||
"message": "Zapowiedź/Podsumowanie"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"message": "Szybkie podsumowanie poprzednich odcinków lub podgląd tego, co pojawia się później w bieżącym filmie. Dotyczy zmontowanych klipów, a nie ustnych podsumowań."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muzyka: Sekcja niemuzyczna"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Pokaż na pasku"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automatycznie pomiń wszystkie segmenty, gdy istnieje segment niemuzyczny"
|
||||
},
|
||||
"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",
|
||||
"message": "Nieprzesłany kolor",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Pomoc"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Wyłączenie wszystkich przyszłych eksperymentów",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"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.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Pule patrocinadores, pedidos para se inscrever e mais nos vídeos do YouTube. Reporte patrocinadores nos vídeos que você assistir para economizar o tempo dos outros.",
|
||||
"message": "Pule patrocinadores, pedidos para se inscrever, e outros nos vídeos do YouTube. Reporte patrocinadores nos vídeos que você assistir para economizar o tempo dos outros.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
@@ -74,10 +74,10 @@
|
||||
"message": "Nenhum segmento encontrado"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "O segmento começa agora"
|
||||
"message": "O Segmento Começa Agora"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "O segmento termina agora"
|
||||
"message": "O Segmento Termina Agora"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Cancelar Criação de Segmento"
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Nenhum vídeo do YouTube encontrado.\nSe isto estiver incorreto, atualize a aba."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Atualizar segmentos"
|
||||
},
|
||||
"success": {
|
||||
"message": "Sucesso!"
|
||||
},
|
||||
@@ -137,7 +140,7 @@
|
||||
"message": "Enviar"
|
||||
},
|
||||
"submissionEditHint": {
|
||||
"message": "A edição da seção aparecerá depois que você clicar em enviar",
|
||||
"message": "A edição da seção aparecerá após você clicar em enviar",
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Este é o botão que abre o popup na pagina do Youtube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Esconder Automaticamente o Botão de Informação"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Esconder botão de Apagar no player do Youtube"
|
||||
},
|
||||
@@ -195,28 +201,31 @@
|
||||
"message": "Este é o botão que lhe permite saltar todos os patrocínios do player do Youtube."
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Ativar contador de segmentos pulados"
|
||||
"message": "Ativar Contador de Segmentos Pulados"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Este recurso controla quais segmentos você pulou para permitir que os usuários saibam o quanto a submissão deles ajudou outros e é usado como métrica, juntamente com votos positivos para garantir que spam não entre no banco de dados. A extensão envia uma mensagem ao servidor cada vez que você pular um segmento. Espera-se que a maioria das pessoas não mude essa configuração, para que os números de exibição estejam corretos. :)"
|
||||
"message": "Este recurso controla quais segmentos você pulou para permitir que os usuários saibam o quanto a submissão deles ajudou outros e foi usada como métrica, juntamente com votos positivos para garantir que nenhum spam entre no banco de dados. A extensão envia uma mensagem ao servidor cada vez que você pular um segmento. Espera-se que a maioria das pessoas não mude essa configuração, para que os números de exibição estejam corretos. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Ativar Pular Contagem de Rastreamento em Abas Privadas/Incógnito"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Consulta Por Prefixo Hash"
|
||||
},
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "Em vez de solicitar segmentos do servidor usando o videoID, os 4 primeiros caracteres do hash do videoID foram enviados. Este servidor irá enviar dados de volta para todos os vídeos com hashes similares."
|
||||
"message": "Em vez de solicitar segmentos do servidor usando o videoID, os 4 primeiros caracteres do hash do videoID foram enviados. Este servidor enviará dados de volta para todos os vídeos com hashes similares."
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "Recuperar Segmentos Em Novos Vídeos"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Se o vídeo for novo e não houver segmentos encontrados, continuaremos buscando enquanto você assiste."
|
||||
"message": "Se o vídeo for novo e nenhum segmento for encontrado, continuaremos buscando enquanto você assiste."
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Mostrar notificação outra vez"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "O SponsorBlock permite que você pule patrocinadores, introduções, outros, lembretes de inscrição e outras partes irritantes dos vídeos do YouTube. O SponsorBlock é uma extensão de navegador de crowdsourcing que permite enviar o tempo inicial e final de segmentos patrocinados de vídeos do YouTube. Assim que uma pessoa enviar essa informação, todas as outras pessoas com essa extensão irão pular o segmento patrocinado. Você também pode pular seções que não são de música dos vídeos de música.",
|
||||
"message": "O SponsorBlock permite que você pule patrocinadores, introduções, créditos finais, lembretes de inscrição, e outras partes irritantes dos vídeos do YouTube. O SponsorBlock é uma extensão de navegador de crowdsourcing que permite enviar a qualquer um o tempo inicial e final de segmentos patrocinados de vídeos do YouTube. Assim que uma pessoa enviar essa informação, todas as outras pessoas com essa extensão irão pular o segmento patrocinado. Você também pode pular seções que não são de música dos vídeos de música.",
|
||||
"description": "Full description of the extension on the store pages."
|
||||
},
|
||||
"website": {
|
||||
@@ -288,7 +297,7 @@
|
||||
"message": "Notificação de áudio ao pular"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "A notificação de áudio ao pular irá tocar um som sempre que um segmento for ignorado. Se desativado (ou o pulo automático estiver desativado), nenhum som será reproduzido."
|
||||
"message": "A notificação de áudio ao pular irá tocar um som sempre que um segmento for pulado. Se desativado (ou o pulo automático estiver desativado), nenhum som será reproduzido."
|
||||
},
|
||||
"showTimeWithSkips": {
|
||||
"message": "Mostrar tempo com pulos removidos"
|
||||
@@ -342,25 +351,29 @@
|
||||
"message": "Pular automaticamente"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Mostrar aviso após um segmento ser ignorado"
|
||||
"message": "Mostrar Aviso Após um Segmento Ser Ignorado"
|
||||
},
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Atualmente, está definido para:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Apoiar Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Suporte a Sites do YouTube de Terceiros"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) é um cliente para YouTube de terceiros. Para ativar o apoio, você precisa aceitar as permissões adicionais. Isso não funciona em modo anônimo no Chrome ou em outras variantes do Chromium."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Suporte a clientes de terceiros do YouTube. Para habilitar o suporte, você deve aceitar as permissões extras. Isso NÃO funciona em incógnito no Chrome e outras variantes do Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Sites Suportados: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Ativar apoio ao Invidious, desabilitar pular automaticamente, ocultar botões e mais."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Adicionar instância do Invidious"
|
||||
"message": "Adicionar Instância de Cliente de Terceiros"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Adicionar uma instância personalizada do Invidious. Deve ser formatado com APENAS o domínio. Exemplo: invidious.ajay.app"
|
||||
"message": "Adicionar uma instância personalizada. Isso deve ser formatado APENAS com o domínio. Exemplo: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Adicionar"
|
||||
@@ -383,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmentos menores do que o valor definido não serão pulados ou mostrados no reprodutor."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Duração do aviso prévio de pular (segundos):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "O aviso de pular ficará na tela por pelo menos este tempo. Para o pulo manual, pode ser visível por mais tempo."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "A seguinte submissão é mais curta do que sua opção de duração mínima. Isto significa que já foi enviada e que está sendo ignorada devido a esta opção. Tem certeza que deseja enviar mesmo assim?"
|
||||
},
|
||||
@@ -443,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Pré-visualizar"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Não enviado"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Inspecionar"
|
||||
},
|
||||
@@ -475,7 +497,22 @@
|
||||
"message": "Patrocinador"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Promoção paga, indicações pagas e anúncios diretos. Não para auto-promoção ou mensagens grátis para causas/criadores/websites/produtos que eles gostam."
|
||||
"message": "Promoção paga, referências pagas e anúncios diretos. Não deve ser usado para Auto promoção ou mensagens grátis para causas/criadores/sites/produtos que eles gostam."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Não-pago/Auto promoção"
|
||||
},
|
||||
"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_interaction": {
|
||||
"message": "Lembrete de interação (inscrever-se)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Quando houver um pequeno lembrete para curtir, inscrever-se ou segui-los no meio do conteúdo. Se é longo ou sobre algo em específico, deveria ser sob Não-pago/Auto promoção."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Lembrete de interação"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Intervalo/Animação de Introdução"
|
||||
@@ -492,26 +529,17 @@
|
||||
"category_outro_description": {
|
||||
"message": "Créditos ou quando os cards finais do YouTube aparecem. Não deve ser usado para conclusões informativas."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Lembrete de interação (inscrever-se)"
|
||||
"category_preview": {
|
||||
"message": "Pré-visualização/Recapitulação"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Quando houver um pequeno lembrete para curtir, inscrever-se ou segui-los no meio do conteúdo. Se é longo ou sobre algo específico, deveria ser sob Não-pago/Auto promoção."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Lembrete de interação"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Não-pago/Auto promoção"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Similar a \"patrocinador\", mas para auto promoções e segmentos não-pagos. Isto inclui seções sobre vendas, doações ou informações sobre com quem colaboraram."
|
||||
"category_preview_description": {
|
||||
"message": "Recapitulação rápida de episódios anteriores, ou uma prévia do que está chegando mais tarde no vídeo atual. Destinado a clipes editados juntos, não para resumos falados."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Música: Seção sem música"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "Para uso em vídeos musicais somente. Deve ser usado exclusivamente para seções de vídeos musicais que já não pertençam à outra categoria."
|
||||
"message": "Apenas para uso em vídeos musicais. Deve ser usado exclusivamente para seções de vídeos musicais que já não pertençam à outra categoria."
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Não musical"
|
||||
@@ -531,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Mostrar barra de progresso"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Pular automaticamente todos os segmentos quando há um segmento que não é música"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Sua cor está formatada incorretamente. Deve ser um código hexadecimal de 3 ou 6 dígitos com uma tralha / hashtag no início."
|
||||
"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."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Pré-visualizar cor",
|
||||
"message": "Cor Não Enviada",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -567,7 +598,7 @@
|
||||
"message": "Selecione uma Categoria"
|
||||
},
|
||||
"enableThisCategoryFirst": {
|
||||
"message": "Para enviar os segmentos com a categoria de \"{0}\", você deve ativá-lo nas opções. Você será redirecionado para as opções agora.",
|
||||
"message": "Para enviar os segmentos com a categoria de \"{0}\", você deve ativá-la nas opções. Você será redirecionado para as opções agora.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
@@ -584,13 +615,13 @@
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID do canal ainda não foi carregado. Se você estiver usando um vídeo embutido, tente usar a página inicial do YouTube. Isso também pode ser causado por mudanças no layout do YouTube, se você achar que este é o caso, faça um comentário aqui:"
|
||||
"message": "O ID do canal ainda não foi carregado. Se você estiver usando um vídeo embutido, tente usar a página inicial do YouTube. Isso também pode ser causado por mudanças no layout do YouTube, se você achar que este é o caso, faça um comentário aqui:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Parece que algo está bloqueando a habilidade do SponsorBlock de obter dados de vídeo. Por favor, veja https://github.com/ajayyy/SponsorBlock/issues/741 para mais informações."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Parece que o SponsorBlock é incapaz de acessar a API do YouTube. Para corrigir isso, aceite a permissão do prompt que aparecerá a seguir, espere alguns segundos e recarregue a página."
|
||||
"message": "Parece que o SponsorBlock não foi capaz de acessar a API do YouTube. Para corrigir isso, aceite a permissão do prompt que aparecerá a seguir, espere alguns segundos, e recarregue a página."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Aceitar permissão"
|
||||
@@ -599,19 +630,19 @@
|
||||
"message": "Solicitação de permissão bem-sucedida!"
|
||||
},
|
||||
"permissionRequestFailed": {
|
||||
"message": "Falha na solicitação de permissão. Você clicou em negar?"
|
||||
"message": "Falha na solicitação de permissão, você clicou em negar?"
|
||||
},
|
||||
"adblockerIssueWhitelist": {
|
||||
"message": "Se você não consegue resolver isso, desative a configuração 'Forçar Verificação do Canal Antes de Pular', pois o SponsorBlock não pode recuperar as informações deste vídeo"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Forçar verificação do canal antes de pular"
|
||||
"message": "Forçar Verificação do Canal Antes de Pular"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "Por padrão, isso pulará os segimentos imediatamente mesmo antes de saber qual é o canal. Por padrão, alguns segimentos no inicio do video podem ser ignorados nos canais da lista branca. Habilitar esta opção evitará isso, mas irá fazer com que todos os saltos tenham um ligeiro atraso, já que obter o channelID pode levar algum tempo. Este atraso pode não ser perceptível se você tiver internet rápida."
|
||||
"message": "Por padrão, isso pulará os seguimentos imediatamente, mesmo antes de saber qual é o canal. Por padrão, alguns seguimentos no inicio do vídeo podem ser ignorados nos canais da lista branca. Habilitar esta opção evitará isso, mas fará com que todos os pulos tenham um ligeiro atraso, já que obter o channelID pode levar algum tempo. Este atraso pode não ser perceptível se você tiver internet rápida."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Considere ativar a 'forçar verificação de canal antes de pular\""
|
||||
"message": "Considere Ativar a \"Forçar Verificação de Canal Antes de Pular\""
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Tempo errado ou incorreto"
|
||||
@@ -620,7 +651,7 @@
|
||||
"message": "Categoria errada"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "Este vídeo é categorizado como música. Tem certeza que isto tem um patrocinador? Se este é realmente um \"segmento não musical\", abra as opções da extensão e habilite esta categoria. Assim você pode enviar este segmento como \"não-musical\" ao invés de patrocinador. Por favor leia as diretrizes se estiver confuso."
|
||||
"message": "Este vídeo é categorizado como música. Tem certeza de que isto tem um patrocinador? Se este é realmente um \"Segmento Não Musical\", abra as opções da extensão e habilite esta categoria. Assim você pode enviar este segmento como \"Não-Musical\" ao invés de patrocinador. Por favor leia as diretrizes se estiver confuso."
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "Múltiplos segmentos"
|
||||
@@ -636,9 +667,23 @@
|
||||
"message": "As categorias estão aqui!"
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "Abra as opções para ignorar as introduções, outros, promoção de mercadoria, etc."
|
||||
"message": "Abra as opções para ignorar as introduções, créditos finais, promoção de mercadoria, etc."
|
||||
},
|
||||
"help": {
|
||||
"message": "Ajuda"
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Voto rejeitado devido a um aviso. Clique para abrir um chat para resolvê-lo, ou volte mais tarde quando tiver tempo.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,21 +341,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". În prezent este setat:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Sprijină Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) este un client YouTube terț. Pentru a susține, trebuie să acceptați permisiunile suprimentare. Această funcție NU funcționează în incognito pe Chrome sau în alte variante Chromium."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Activează suportul Invidious, dezactivează autoskip-ul, ascunde butoanele și altele."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Adaugă O Instanță Invidious"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Adaugă o instanță personalizată Invidious. Aceasta trebuie să fie formatată DOAR cu domeniul. Exemplu: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Adaugă"
|
||||
},
|
||||
@@ -471,6 +459,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Promovare plătită, refferali plătiți și reclame directe. Nu pentru autopromovări sau promovări gratis ale cauzelor/creatorilor/website-urilor/produselor."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promovare neplătită/autopromovare"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Similar cu \"sponsorizare\" doar că este neplătit sau autopromovare. Aceasta include secțiuni despre merchandise, donații, sau informații despre cei cu care au colaborat."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Reamintire de Interactiune (Abonare)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Când există o scurtă remintire pentru like, abonare sau urmărire în mijlocul conținutului. Daca este mai lung sau despre ceva specific, folosiți autopromovarea."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Reamintire de Interacțiune"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Pauză/Animație Intro"
|
||||
},
|
||||
@@ -486,21 +489,6 @@
|
||||
"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)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Când există o scurtă remintire pentru like, abonare sau urmărire în mijlocul conținutului. Daca este mai lung sau despre ceva specific, folosiți autopromovarea."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Reamintire de Interacțiune"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promovare neplătită/autopromovare"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Similar cu \"sponsorizare\" doar că este neplătit sau autopromovare. Aceasta include secțiuni despre merchandise, donații, sau informații despre cei cu care au colaborat."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muzică: Secţiune Non-Muzicală"
|
||||
},
|
||||
@@ -525,10 +513,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Culoarea ta este formatată incorect. Ar trebui să fie un cod hexadecimal de 3 sau 6 cifre cu un hash la început."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Previzualizare Culoare",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Culoarea Barei de Derulare"
|
||||
},
|
||||
@@ -606,8 +590,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "Deschide opțiunile pentru a sări peste intro-uri, outro-uri, merch, etc."
|
||||
},
|
||||
"help": {
|
||||
"message": "Ajutor"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Видео YouTube не найдено.\nЕсли это не так, обновите вкладку."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Обновить сегменты"
|
||||
},
|
||||
"success": {
|
||||
"message": "Успех!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Эта кнопка открывает всплывающее окно на странице YouTube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Автоматически скрывать кнопку Информация"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Скрыть кнопку удаления в плеере YouTube"
|
||||
},
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Он сейчас назначен на:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Поддержка Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Поддерживать сторонние YouTube-сайты"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) — это неофициальный клиент для YouTube. Чтобы включить поддержку, Вам понадобится принять дополнительные разрешения. Эта функция НЕ работает в режиме \"инкогнито\" в Chrome и браузерах, основанных на Chromium."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Поддерживать сторонние клиенты для YouTube. Чтобы включить поддержку, Вам понадобится принять дополнительные разрешения. Эта функция НЕ работает в режиме \"инкогнито\" в Chrome и браузерах, основанных на Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Поддерживаемые сайты: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Включить поддержку Invidious, выключить автоматический пропуск, скрыть кнопки и не только."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Добавить инстанс Invidious"
|
||||
"message": "Добавить инстанс стороннего клиента"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Добавить свой инстанс Invidious. Формат: ТОЛЬКО домен. Например, invidious.ajay.app"
|
||||
"message": "Добавить свой инстанс. Формат: ТОЛЬКО домен. Например, invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Добавить"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Сегменты короче этого значения не будут пропускаться и не будут показаны в плеере."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Длительность отображения окошка о пропуске (в секундах):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Окошко о пропуске будет оставаться на экране в течение как минимум этого времени. Может быть активно дольше при пропуске вручную."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Следующий диапазон времени короче, чем Ваша настройка минимальной длительности. Это может означать, что он уже был отправлен, и просто игнорируется из-за этой настройки. Вы действительно хотите отправить?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Предпросмотр"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Неопубликованный"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Исследовать"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Рекламные интеграции, реферальные ссылки и реклама напрямую. Не для саморекламы или рекомендаций разных событий/создателей/сайтов/продуктов, которые нравятся автору видео."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Самореклама/рекомендация"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Похоже на \"Спонсора\", но для бесплатной рекламы и саморекламы. Включает себя вставки про мерчендайз, пожертвования или информацию о тех, вместе с кем было сделано видео."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Напоминание о взаимодействии (подписка)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Когда есть краткое напоминание поставить лайк, подписаться на канал или в соцсетях в середине содержимого. Если эта вставка длительная или о чём-то конкретном, она должна классифицироваться как самореклама."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Напоминание о взаимодействии"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Пауза/интро"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Титры или время появления конечных заставок YouTube. Не для подведения итогов сказанного в видео."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Напоминание о взаимодействии (подписка)"
|
||||
"category_preview": {
|
||||
"message": "Предпросмотр/краткое содержание"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Когда есть краткое напоминание поставить лайк, подписаться на канал или в соцсетях в середине содержимого. Если эта вставка длительная или о чём-то конкретном, она должна классифицироваться как самореклама."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Напоминание о взаимодействии"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Самореклама/рекомендация"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Похоже на \"Спонсора\", но для бесплатной рекламы и саморекламы. Включает себя вставки про мерчендайз, пожертвования или информацию о тех, вместе с кем было сделано видео."
|
||||
"category_preview_description": {
|
||||
"message": "Краткое содержание предыдущих эпизодов или предварительный просмотр того, что будет в данном видео. Предназначено для сегментов, смонтированных из кусков видео, а не для устных пересказов."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Музыка: Сегмент без музыки"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Показывать в полосе прокрутки"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Пропускать все сегменты автоматически при наличии сегмента без музыки"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Вы ввели цвет в неправильном формате. Это должно быть 3-х или 6-ти значное шестнадцатеричное число с символом # в начале."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Цвет предпросмотра",
|
||||
"message": "Цвет неотправленного сегмента",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Помощь"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Отказаться от всех будущих экспериментов",
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"message": "segment"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "segmenty"
|
||||
"message": "segmentov"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Hlasovať pre tento príspevok"
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "Nenašlo sa žiadne YouTube video.\nAk je to chyba, obnovte záložku."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Znova načítať segmenty"
|
||||
},
|
||||
"success": {
|
||||
"message": "Hotovo!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Toto tlačidlo zobrazí vyskakovacie okno na YouTube stránke."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Automaticky skryť tlačidlo Info"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Skryť tlačidlo Zmazať v YouTube prehrávači"
|
||||
},
|
||||
@@ -200,6 +206,9 @@
|
||||
"whatViewTracking": {
|
||||
"message": "Sleduje aké segmenty ste preskočili, aby sa ostatní používatelia dozvedeli ako prispeli a pomohli ostatným. Spolu s hlasmi to potom zaistí databázu bez spamu. Rozšírenie odošle správu na server vždy keď preskočíte segment. Dúfame, že si väčšina ľudí toto nastavenie nezmení, aby boli čísla presné. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Zapnúť počítanie preskočení v inkognito oknách"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Dopyt podľa hash prefixu"
|
||||
},
|
||||
@@ -238,6 +247,9 @@
|
||||
"setSkipShortcut": {
|
||||
"message": "Nastaviť kláves pre preskočenie segmentu"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Nastaviť kláves pre začiatok/ukončenie segmentu"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Nastaviť kláves pre odoslanie segmentu"
|
||||
},
|
||||
@@ -303,7 +315,7 @@
|
||||
"message": "minúta"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "minúty"
|
||||
"message": "minút"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "hodina"
|
||||
@@ -344,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Aktuálne je nastavené na:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Podpora Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Podpora alternatívnych Youtube webov"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) je alternatívny YouTube klient. Pre zapnutie podpory musíte povoliť zvláštne oprávnenia. Nefunguje v anonymnom režime v prehliadači Chrome ani v Chromium variantoch."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Podpora alternatívnych Youtube klientov. Pre zapnutie podpory musíte povoliť zvláštne oprávnenia. Nefunguje v anonymnom režime v prehliadači Chrome ani v Chromium variantoch.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Podporované weby: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Zapnúť podporu Invidious, vypnúť automatické preskočenie, skryť tlačidlá a iné."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Pridať inštanciu Invidious"
|
||||
"message": "Pridať inštanciu alternatívneho klienta"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Pridá vlastnú inštanciu Invidious. Musí byť vo formáte len doména. Napr. invidious.ajay.app"
|
||||
"message": "Pridať vlastnú inštanciu. Musí byť vo formáte len doména. Napr. invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Pridať"
|
||||
@@ -380,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenty kratšie ako nastavená hodnota nebudú preskočené ani zobrazené v prehrávači."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Trvanie oznámenia o preskočení (v sekundách):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Oznámenie o preskočení zostane minimálne takto dlho zobrazené. Pri manuálnom preskočení to môže byť aj dlhšie."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Segment je kratší ako vami nastavená minimálna dĺžka. Možno už bol niekým odoslaný a kvôli tomuto nastaveniu je teraz ignorovaný. Naozaj ho chcete odoslať?"
|
||||
},
|
||||
@@ -440,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Ukážka"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Neodoslané"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Kontrola"
|
||||
},
|
||||
@@ -474,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Platená propagácia, platené odporúčania a priame reklamy. Neplatí pre vlastnú propagáciu alebo neplatenú propagáciu dobročinností/tvorcov/webových stránok/produktov, ktoré sa im páčia."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplatená/Vlastná propagácia"
|
||||
},
|
||||
"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_interaction": {
|
||||
"message": "Pripomienka interakcie (Prihlásiť sa na odber)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Krátka výzva dať like, prihlásiť sa na odber alebo sledovať ich v strede obsahu. Ak je to dlhé alebo sa týka niečoho konkrétneho, malo by to radšej byť v ramci vlastnej propagácie."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Pripomienka interakcie"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Prerušenie/Úvodná animácia"
|
||||
},
|
||||
@@ -489,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Kredity alebo keď sa zobrazia YouTube koncové karty. Neplatí pre zhrnutia s informáciami."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Pripomienka interakcie (Prihlásiť sa na odber)"
|
||||
"category_preview": {
|
||||
"message": "Ukážka/Rekapitulácia"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Krátka výzva dať like, prihlásiť sa na odber alebo sledovať ich v strede obsahu. Ak je to dlhé alebo sa týka niečoho konkrétneho, malo by to radšej byť v ramci vlastnej propagácie."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Pripomienka interakcie"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplatená/Vlastná propagácia"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"message": "Rýchla rekapitulácia predošlej epizódy alebo ukážka toho, čo bude nasledovať neskôr v aktuálnom videu. Myslené pre zostrihané videá, nie pre hovorený súhrn."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Hudba: časť bez hudby"
|
||||
@@ -528,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Zobraziť v časovej lište"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automaticky preskočiť všetky segmenty ak neexistuje segment bez hudby"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Vaša farba je nesprávne naformátovaná. Mal by to byť 3 alebo 6-miestny hexadecimálny kód so znakom čísla na začiatku."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Farba ukážky",
|
||||
"message": "Neodoslaná farba",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -636,6 +670,20 @@
|
||||
"message": "Otvorte nastavenia pre preskočenie úvodov, záverov, podpory reklamných predmetov, atď."
|
||||
},
|
||||
"help": {
|
||||
"message": "Pomoc"
|
||||
"message": "Pomocník"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Odmietnuť všetky budúce experimenty",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hlasovanie bolo zamietnuté kvôli varovaniu. Kliknite pre otvorenie chatu, aby ste ho vyriešili, alebo sa vrátťe až budete mať čas.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"fullName": {
|
||||
"message": "SponsorBlock för YouTube - Hoppa över sponsring",
|
||||
"message": "SponsorBlock for YouTube - Skip Sponsorships",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
@@ -8,7 +8,7 @@
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Felaktigt anrop enligt servern"
|
||||
"message": "Servern sa att denna begäran var ogiltig"
|
||||
},
|
||||
"429": {
|
||||
"message": "Du har rapporterat för många sponsormeddelanden för den här videon, är du säker att det finns så många?"
|
||||
@@ -50,7 +50,7 @@
|
||||
"message": "Hoppa inte över"
|
||||
},
|
||||
"reskip": {
|
||||
"message": "Hoppa över"
|
||||
"message": "Hoppa över igen"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Pausad"
|
||||
@@ -65,7 +65,7 @@
|
||||
"message": "Är du säker på att du vill rensa detta?\n\n"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "Ett fel uppstod vid rapportering av sponsorsegment, försök igen senare."
|
||||
"message": "Ett fel uppstod vid rapportering av sponsormeddelandet, försök igen senare."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Denna video har segment i databasen!"
|
||||
@@ -80,11 +80,14 @@
|
||||
"message": "Segmentet slutar nu"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Avbryt skapandet av segmentet"
|
||||
"message": "Avbryt skapande av segment"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Hittade ingen YouTube-video.\nUppdatera fliken om detta är felaktigt."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Uppdatera segment"
|
||||
},
|
||||
"success": {
|
||||
"message": "Klart!"
|
||||
},
|
||||
@@ -147,7 +150,7 @@
|
||||
"message": "Rensa tider"
|
||||
},
|
||||
"submitTimesButton": {
|
||||
"message": "Rapportera Tider"
|
||||
"message": "Skicka tider"
|
||||
},
|
||||
"publicStats": {
|
||||
"message": "Detta kommer att användas på den publika statistiksidan för att visa hur mycket du har bidragit. Spana in den"
|
||||
@@ -168,13 +171,13 @@
|
||||
"message": "Alternativ"
|
||||
},
|
||||
"showButtons": {
|
||||
"message": "Visa Knappar På YouTube-spelaren"
|
||||
"message": "Visa knappar på YouTube-spelaren"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "Dölj Knappar På YouTube-spelaren"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "Detta döljer knapparna på YouTube-spelaren som du kan rapportera sponsormeddelanden med. Jag förstår att det kan se störande ut för en del. Istället för att ha knappen där kan den här popup-rutan användas för att rapportera sponsormeddelanden. För att dölja notisen som dyker upp, tryck på knappen som syns på notisen som säger \"Visa inte det här igen\". Du kan alltid slå på dessa inställningar igen senare."
|
||||
"message": "Detta döljer knapparna på YouTube-spelaren som du kan skicka in segment med som ska hoppas över."
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Visa Infoknapp På YouTube-spelaren"
|
||||
@@ -185,20 +188,23 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Detta är knappen som öppnar popup-rutan på YouTube-sidan."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Dölj informationsknappen automatiskt"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Dölj \"Ta Bort\"-knappen På YouTube-spelaren"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "Visa \"Ta Bort\"-knappen På YouTube-spelaren"
|
||||
"message": "Visa knappen ta bort på YouTube-spelaren"
|
||||
},
|
||||
"whatDeleteButton": {
|
||||
"message": "Denna knappen tar bort alla sponsormeddelanden på YouTube-spelaren."
|
||||
"message": "Den här knappen på YouTube-spelaren rensar bort alla segment som ej har skickats in på aktuell video."
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Aktivera spåra antalet hoppa över"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Den här funktionen spårar vilka segment du har hoppat över för att låta användarna veta hur mycket tid en användare har sparat andra och tillsammans med användarnas röster säkerställa att spam inte kommer in i databasen. Detta tillägg skickar ett meddelande till servern varje gång du hoppar över ett segment. Förhoppningsvis ändrar inte folk den här inställningen så statistiken hålls tillförlitlig. :)"
|
||||
"message": "Den här funktionen spårar vilka segment du har hoppat över för att låta användarna veta hur mycket tid en användare har sparat andra och tillsammans med användarnas röster säkerställa att spam inte kommer in i databasen. Detta tillägg skickar ett meddelande till servern varje gång du hoppar över ett segment. Förhoppningsvis ändrar de flesta inte den här inställningen så statistiken hålls tillförlitlig. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Aktivera spåra antalet hoppa över i privata/inkognitoflikar"
|
||||
@@ -213,7 +219,7 @@
|
||||
"message": "Uppdatera segment på nya videor"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Om videon är ny och inga segment hittades då kommer den att uppdatera med några minuter mellanrum medan du tittar på videon."
|
||||
"message": "Om videon är ny och inga segment hittades då kommer den att uppdateras med några minuters mellanrum medan du tittar på videon."
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Visa Notisen Igen"
|
||||
@@ -245,7 +251,7 @@
|
||||
"message": "Ange den genväg som ska fungera som start-/stopptangent för ett segment"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Välj knapp att koppla till rapportering av sponsormeddelande"
|
||||
"message": "Ange den tangent som ska fungera som inskickningstangent"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Ange tangent genom att trycka på den"
|
||||
@@ -288,7 +294,7 @@
|
||||
"message": "Aktivera Hoppa Över Automatiskt"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Ljudeffekt vid hopp"
|
||||
"message": "Ljudavisering vid hoppa över"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Ljudavisering vid hoppa över kommer att spela upp ett ljud när ett segment hoppas över. Om inaktiverad (eller om hoppa över automatiskt är inaktiverat), kommer inget ljud att spelas upp."
|
||||
@@ -330,7 +336,7 @@
|
||||
"message": "Importera/Exportera Ditt AnvändarID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Detta bör hållas hemligt. Det fungerar som ett lösenord och borde inte delas vidare med någon. Om någon kommer över detta kan den personen utge sig för att vara dig."
|
||||
"message": "Denna ska hållas privat. Den fungerar som ett lösenord och ska inte delas med någon. Om någon får tag i den kan de utge sig för att vara dig."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Ange AnvändarID"
|
||||
@@ -342,7 +348,7 @@
|
||||
"message": "Skapad av"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Hoppa Över Automatiskt"
|
||||
"message": "Hoppa över automatiskt"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Visa ett meddelande efter att ett segment har hoppats över"
|
||||
@@ -350,26 +356,30 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Nuvarande snabbtangent är:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Stöd Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Stöd för tredjeparts YouTube-webbplatser"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) är en tredjeparts YouTube-klient. För att aktivera stöd måste du acceptera de extra behörigheterna. Detta kommer INTE att fungera i inkognito i Chrome och andra Chromium-varianter."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Stöd tredjeparts YouTube-klienter. För att aktivera support måste du acceptera de extra behörigheterna. Detta fungerar INTE i inkognito på Chrome och andra Chromium-varianter.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Webbplatser som stöds: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Aktivera Invidious stöd, inaktivera hoppa över automatiskt, dölj knappar och mer."
|
||||
"message": "Aktivera stöd för Invidious, inaktivera hoppa över automatiskt, dölj knappar och mer."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Lägg Till Invidious Instans"
|
||||
"message": "Lägg till tredjepartsklientinstans"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Lägg till en anpassad instans av Invidious. Denna måste vara formaterad med ENBART domänen. Exempelvis: invidious.ajay.app"
|
||||
"message": "Lägg till en anpassad instans. Denna måste vara formaterad med ENDAST domänen. Exempelvis: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Lägg till"
|
||||
},
|
||||
"addInvidiousInstanceError": {
|
||||
"message": "Detta är en individuell domän. Den måste ENBART inkludera domändelen. Exempelvis: invidious.ajay.app"
|
||||
"message": "Detta är en ogiltig domän. Den ska ENDAST inkludera domändelen. Exempelvis: invidious.ajay.app"
|
||||
},
|
||||
"resetInvidiousInstance": {
|
||||
"message": "Rensa Invidious instanslista"
|
||||
@@ -386,20 +396,26 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segment som är kortare än det angivna värdet kommer inte att hoppas över eller visas i spelaren."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Hoppa över varaktighet (sekunder):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Meddelandet om att hoppa över kommer att visas på skärmen åtminstone så här länge. För manuell överhoppning kan det visas längre."
|
||||
},
|
||||
"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?"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Visa Uppladdningsknapp"
|
||||
"message": "Visa uppladdningsknapp"
|
||||
},
|
||||
"whatUploadButton": {
|
||||
"message": "Denna knapp visas på YouTube-spelaren efter att du har valt en tidpunkt och är redo att rapportera."
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "SponsorBlock Serveradress"
|
||||
"message": "Serveradress för SponsorBlock"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "Adressen SponsorBlock använder för att prata med servern.\nOm du inte har din egen serverinstans ska den här inställningen inte ändras."
|
||||
"message": "Adressen SponsorBlock använder för att kommunicera med servern.\nOm du inte har din egen serverinstans ska den här inställningen inte ändras."
|
||||
},
|
||||
"save": {
|
||||
"message": "Spara"
|
||||
@@ -420,7 +436,7 @@
|
||||
"message": "Importera/Exportera alla alternativen"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Detta är alla dina alternativ i JSON-format. Det inkluderar ditt användar-ID, så var noga med hur du hanterar datan."
|
||||
"message": "Detta är alla dina alternativ i JSON-format. Det inkluderar ditt användar-ID, så var noga med hur du hanterar informationen."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Ange alternativ"
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Förhandsgranska"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Ej inskickade"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Granska"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Betald marknadsföring, betalda hänvisningar och direktannonser, men inte till egen marknadsföring eller gratis shoutouts till skapare/webbplatser/produkter de gillar."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Obetald/självbefodran"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Som \"sponsormeddelande\" men med undantag för obetald eller självkampanj. Detta inkluderar avsnitt om varor, donationer eller information om vem de samarbetade med."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaktionspåminnelse (Prenumerera)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "När där är en kort påminnelse att gilla, prenumerera eller följa dem. Om det är långt eller om det gäller något specifikt bör det istället vara under självbefodran."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interaktionspåminnelse"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Paus/Introduktion"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Credits eller när YouTube-slutkort visas. Inte för slut med information."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaktionspåminnelse (Prenumerera)"
|
||||
"category_preview": {
|
||||
"message": "Förhandsgranska/sammanfatta"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "När där är en kort påminnelse att gilla, prenumerera eller följa dem. Om det är långt eller om det gäller något specifikt bör det istället vara under självbefodran."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interaktionspåminnelse"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Obetald/självbefodran"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Som \"sponsormeddelande\" men med undantag för obetald eller självkampanj. Detta inkluderar avsnitt om varor, donationer eller information om vem de samarbetade med."
|
||||
"category_preview_description": {
|
||||
"message": "Snabb sammanfattning av tidigare avsnitt eller en förhandsvisning av vad som kommer upp senare i den aktuella videon. Avsett för redigerade klipp, inte för sammanfattningar."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musik: Icke-musikavsnitt"
|
||||
@@ -529,16 +554,19 @@
|
||||
"message": "Inaktivera"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "Hoppa Över Manuellt"
|
||||
"message": "Hoppa över manuellt"
|
||||
},
|
||||
"showOverlay": {
|
||||
"message": "Visa Lager Ovanpå Spelare"
|
||||
"message": "Visa i sökfältet"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Hoppa över alla segment automatiskt när det finns ett icke-musiksegment"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Din färg är felaktigt formaterad. Det ska vara en 3- eller 6-siffrig hex-kod med en siffra i början."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Förhandsgranskningsfärg",
|
||||
"message": "Färg på ej inskickade",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -558,7 +586,7 @@
|
||||
"message": "Dina rapporter och röster KOMMER INTE RÄKNAS mot huvudservern. Använd endast detta för testning."
|
||||
},
|
||||
"testingServerWarning": {
|
||||
"message": "Alla rapporter och röster KOMMER INTE RÄKNAS mot huvudservern så länge du är ansluten mot testservern. Se till att avaktivera detta när du vill rapportera ett riktigt sponsormeddelande."
|
||||
"message": "Alla inskickningar och röster KOMMER INTE ATT RÄKNAS mot huvudservern så länge du är ansluten mot testservern. Se till att inaktivera detta när du vill skicka in riktiga inskickningar."
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(Nu)"
|
||||
@@ -611,7 +639,7 @@
|
||||
"message": "Tvinga kontroll av kanalen innan hoppa över"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "Som standard kommer segment att hoppas över direkt innan ens den vet vad det är för kanal. Som standard kan vissa segment i början av videon hoppas över på vitlistade kanaler. Aktiverar du detta alternativet kommer du att förhindra detta, men det göra att alla överhoppningar har en liten fördröjning eftersom det tar lite tid att få kanal-ID. Denna fördröjning kan vara obetydlig om du har en snabb internetuppkoppling."
|
||||
"message": "Som standard kommer segment att hoppas över direkt innan ens den vet vad det är för kanal. Som standard kan vissa segment i början av videon hoppas över på vitlistade kanaler. Aktiverar du detta alternativet kommer du att förhindra detta, men det gör att alla överhoppningar har en liten fördröjning eftersom det tar lite tid att få kanal-ID. Denna fördröjning kan vara obetydlig om du har en snabb internetuppkoppling."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Överväg att aktivera \"Tvinga kontroll av kanalen innan hoppa över\""
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Hjälp"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Hoppa av alla framtida experiment",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"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"
|
||||
},
|
||||
"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.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,21 +341,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". இது தற்போது அமைக்கப்பட்டுள்ளது:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Invidious ஐ ஆதரிக்கவும்"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) ஒரு மூன்றாம் தரப்பு YouTube கிளையண்ட். ஆதரவை இயக்க, கூடுதல் அனுமதிகளை நீங்கள் ஏற்க வேண்டும். இது Chrome மற்றும் பிற Chromium வகைகளில் மறைநிலையில் இயங்காது."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "ஆக்கிரமிப்பு ஆதரவை இயக்கு, ஆட்டோஸ்கிப்பை முடக்கு, பொத்தான்களை மறை மற்றும் பலவற்றை."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Invidious நிகழ்வைச் சேர்க்கவும்"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "INVIDOUS இன் தனிப்பயன் நிகழ்வைச் சேர்க்கவும். இது டொமைனுடன் வடிவமைக்கப்பட வேண்டும். எடுத்துக்காட்டு: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "சேர்"
|
||||
},
|
||||
@@ -471,6 +459,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "கட்டண பதவி உயர்வு, கட்டண பரிந்துரைகள் மற்றும் நேரடி விளம்பரங்கள். சுய விளம்பரத்திற்காகவோ அல்லது அவர்கள் விரும்பும் காரணங்கள் / படைப்பாளிகள் / வலைத்தளங்கள் / தயாரிப்புகளுக்கு இலவசக் கூச்சலுக்காகவோ அல்ல."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "செலுத்தப்படாத / சுய ஊக்குவிப்பு"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "செலுத்தப்படாத அல்லது சுய விளம்பரத்தைத் தவிர \"ஸ்பான்சர்\" போன்றது. பொருட்கள், நன்கொடைகள் அல்லது அவர்கள் யாருடன் ஒத்துழைத்தார்கள் என்பது பற்றிய தகவல்கள் இதில் அடங்கும்."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "தொடர்பு நினைவூட்டல் (குழுசேர்)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "உள்ளடக்கத்தின் நடுவில் அவற்றைப் பிடிக்க, குழுசேர அல்லது பின்பற்ற ஒரு குறுகிய நினைவூட்டல் இருக்கும்போது. இது நீண்டதாகவோ அல்லது குறிப்பிட்ட ஒன்றைப் பற்றியோ இருந்தால், அதற்கு பதிலாக அது சுய விளம்பரத்தின் கீழ் இருக்க வேண்டும்."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "தொடர்பு நினைவூட்டல்"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "இடைமறிப்பு / அறிமுக அனிமேஷன்"
|
||||
},
|
||||
@@ -486,21 +489,6 @@
|
||||
"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": "இசை: இசை அல்லாத பிரிவு"
|
||||
},
|
||||
@@ -528,10 +516,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "உங்கள் நிறம் தவறாக வடிவமைக்கப்பட்டுள்ளது. இது ஆரம்பத்தில் எண் அடையாளத்துடன் 3 அல்லது 6 இலக்க ஹெக்ஸ் குறியீடாக இருக்க வேண்டும்."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "முன்னோட்டம் வண்ணம்",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "பார் வண்ணத்தைத் தேடுங்கள்"
|
||||
},
|
||||
@@ -609,8 +593,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "அறிமுகங்கள், அவுட்ரோஸ், மெர்ச் போன்றவற்றைத் தவிர்க்க விருப்பங்களைத் திறக்கவும்."
|
||||
},
|
||||
"help": {
|
||||
"message": "உதவி"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,21 +341,9 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". ఇది ప్రస్తుతం దీనికి సెట్ చేయబడింది:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "మద్దతు ఇన్విడియస్"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "ఇన్విడియస్ (invidio.us) మూడవ పార్టీ YouTube క్లయింట్. మద్దతును ప్రారంభించడానికి, మీరు అదనపు అనుమతులను అంగీకరించాలి. ఇది Chrome మరియు ఇతర Chromium వేరియంట్లలో అజ్ఞాతంలో పనిచేయదు."
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "ఇన్విడియస్ మద్దతును ప్రారంభించండి, ఆటోస్కిప్ను డిసేబుల్ చేయండి, బటన్లను దాచు మరియు మరిన్ని చేయండి."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "ఇన్విడియస్ ఇన్స్టాన్స్ జోడించండి"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "ఇన్విడియస్ యొక్క అనుకూల ఉదాహరణను జోడించండి. ఇది కేవలం డొమైన్తో ఫార్మాట్ చేయబడాలి. ఉదాహరణ: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "జోడించు"
|
||||
},
|
||||
@@ -471,6 +459,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "చెల్లింపు ప్రమోషన్, చెల్లింపు సూచనలు మరియు ప్రత్యక్ష ప్రకటనలు. స్వీయ-ప్రమోషన్ కోసం లేదా వారు ఇష్టపడే కారణాలు / సృష్టికర్తలు / వెబ్సైట్లు / ఉత్పత్తులకు ఉచిత అరవడం కోసం కాదు."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "చెల్లించని / స్వీయ ప్రమోషన్"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "చెల్లించని లేదా స్వీయ ప్రమోషన్ మినహా \"స్పాన్సర్\" మాదిరిగానే. వాణిజ్య వస్తువులు, విరాళాలు లేదా వారు ఎవరితో సహకరించారు అనే సమాచారం గురించి విభాగాలు ఇందులో ఉన్నాయి."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "ఇంటరాక్షన్ రిమైండర్ (సబ్స్క్రయిబ్)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "కంటెంట్ మధ్యలో వాటిని ఇష్టపడటానికి, సభ్యత్వాన్ని పొందటానికి లేదా అనుసరించడానికి చిన్న రిమైండర్ ఉన్నప్పుడు. ఇది పొడవైనది లేదా ఏదైనా ప్రత్యేకమైనది అయితే, అది బదులుగా స్వీయ ప్రమోషన్ కింద ఉండాలి."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "ఇంటరాక్షన్ రిమైండర్"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "ఇంటర్మిషన్ / ఇంట్రో యానిమేషన్"
|
||||
},
|
||||
@@ -486,21 +489,6 @@
|
||||
"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": "సంగీతం: నాన్-మ్యూజిక్ విభాగం"
|
||||
},
|
||||
@@ -528,10 +516,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "మీ రంగు తప్పుగా ఆకృతీకరించబడింది. ఇది ప్రారంభంలో సంఖ్య గుర్తుతో 3 లేదా 6 అంకెల హెక్స్ కోడ్ అయి ఉండాలి."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "పరిదృశ్యం రంగు",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "బార్ కలర్ కోరుకుంటారు"
|
||||
},
|
||||
@@ -609,8 +593,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "పరిచయాలు, ros ట్రోస్, మెర్చ్ మొదలైనవాటిని దాటవేయడానికి ఎంపికలను తెరవండి."
|
||||
},
|
||||
"help": {
|
||||
"message": "సహాయం"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,10 +68,10 @@
|
||||
"message": "Sponsor sürelerini yollarken bir sorun oluştur, lütfen tekrar deneyin."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Bu video için veritabanımızda kısımlar mevcut!"
|
||||
"message": "Bu videonun kısımları veri tabanımızda mevut"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Kısımlar bulunamadı"
|
||||
"message": "Kısım bulunamadı"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Kısım Şimdi Başlıyor"
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "YouTube videosu bulunamadı.\nHatalı olduğunu düşünüyorsanız sayfayı yenileyin."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Kısımları tazele"
|
||||
},
|
||||
"success": {
|
||||
"message": "Başarılı!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Bu, YouTube sayfasında açılan pencereyi açan butondur."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Bilgi düğmesini otomatik gizle"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "YouTube Oynatıcısında Silme Tuşunu Gizle"
|
||||
},
|
||||
@@ -350,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Şu an buna ayarlı:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Invidious'a Destek Ver"
|
||||
"supportOtherSites": {
|
||||
"message": "3. Taraf Youtube Sitelerini Destekle"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) üçüncü parti YouTube istemcisidir. Desteği etkinleştirmek için fazladan izinlere onay vermelisiniz. Bu Chrome ve Chromium bazlı tarayıcılarda gizli pencere modunda ÇALIŞMAZ."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Üçüncü taraf YouTube istemci desteği. Desteği etkinleştirmek için özel izinleri kabul etmelisiniz. Bu özellik Chrome ve diğer Chromium tarayıcılarda gizli modda çalışmaz.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Desteklenen Siteler: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Invidious desteğini, otomatik atlamayı, butonları saklamayı ve daha fazlasını etkinleştir."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Invidious Oluşumu Ekle"
|
||||
"message": "3. Taraf İstemci Örneği Ekle"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Özel Indivious oluşumu ekle. Bu SADECE alan adıyla düzenlenmelidir. Örnek: invidious.ajay.app"
|
||||
"message": "Özel bir örnek ekle. Buraya sadece alan adı yazılmalıdır. Örnek: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Ekle"
|
||||
@@ -386,6 +396,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Ayarlanan değerden daha kısa kısımlar atlanmayacak veya oynatıcıda gösterilmeyecektir."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Atlandı uyarısı süresi (saniye cinsinden):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Bir kısım atlandığında ekranda atlandı uyarısı bu süre kadar gösterilir. Atlama elle gerçekleştiğinde bu uyarı daha uzun sürebilir."
|
||||
},
|
||||
"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?"
|
||||
},
|
||||
@@ -446,6 +462,9 @@
|
||||
"preview": {
|
||||
"message": "Önizle"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Gönderilmemiş"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Kontrol et"
|
||||
},
|
||||
@@ -480,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Ücretli tanıtım, ücretli yönlendirmeler ve doğrudan reklamlar. Kendini pazarlayan veya beğendiği içerik üreticilerine/sitelere/ürünlere atıfta bulunanlar için değil."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Karşılıksız/Kendi Reklamı"
|
||||
},
|
||||
"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_interaction": {
|
||||
"message": "Etkileşim Hatırlatıcısı (Abonelik)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Videonun ortasında beğenmek, abone olmak veya takip etmek için kısa bir hatırlatma olan kısımdır. Eğer süresi uzunsa veya belirli bir şey hakkındaysa, kendi reklamını yapan kategorisi seçilmelidir."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Etkileşim Hatırlatıcısı"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Aralık/Giriş Animasyonu"
|
||||
},
|
||||
@@ -495,20 +529,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Videoda emeği geçenlerin veya video sonunda çıkan kartların gösterildiği kısımlar. Bilgilendirici sona sahip videolar için değil."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Etkileşim Hatırlatıcısı (Abonelik)"
|
||||
"category_preview": {
|
||||
"message": "Ön İzleme/Özet"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Videonun ortasında beğenmek, abone olmak veya takip etmek için kısa bir hatırlatma olan kısımdır. Eğer süresi uzunsa veya belirli bir şey hakkındaysa, kendi reklamını yapan kategorisi seçilmelidir."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Etkileşim Hatırlatıcısı"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Karşılıksız/Kendi Reklamı"
|
||||
},
|
||||
"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_preview_description": {
|
||||
"message": "Önceki bölümlerin bir özeti veya geçerli videonun içeriğine yönelik bir ön izleme. Bu özellik birleştirilmiş klipler içindir, konuşarak anlatılan özetleri kapsamaz."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Müzik: Müzik Olmayan Bölüm"
|
||||
@@ -534,11 +559,14 @@
|
||||
"showOverlay": {
|
||||
"message": "Arama Çubuğunda Göster"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Müzik olmayan kısım varsa tüm kısımları otomatik atla"
|
||||
},
|
||||
"colorFormatIncorrect": {
|
||||
"message": "Renginiz yanlış biçimlendirilmiştir. Başında bir kare işareti bulunan 3 veya 6 basamaklı bir onaltılık kod olmalıdır."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Önizleme Rengi",
|
||||
"message": "Gönderilmemiş Renk",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -643,5 +671,19 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Yardım"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Gelecekteki deneylerin hiçbirine katılma",
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,6 +200,9 @@
|
||||
"whatViewTracking": {
|
||||
"message": "Ця можливість відстежує, які сегменти Ви пропустили, щоб допомогти користувачам дізнатися, наскільки їх внесок допоміг іншим, і, поряд з голосами, використовується як метрика, щоб переконатися, що спам не влучає у базу даних. Розширення надсилає повідомлення на сервер кожен раз, коли Ви пропускаєте сегмент. Сподіваємося, велика частина користувачів не поміняє це налаштування, так що у нас буде точна статистика переглядів. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Увімкнути відстеження пропусків у вкладках інкогніто"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Пошук по частині хеша"
|
||||
},
|
||||
@@ -347,20 +350,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Він зараз призначений на:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Підтримка Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Підтримувати сторонні YouTube-сайти"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) - це неофіційний клієнт для YouTube. Щоб увімкнути підтримку, Вам знадобиться прийняти додаткові дозволи. Ця функція НЕ працює в режимі \"інкогніто\" в Chrome і браузерах, заснованих на Chromium."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Підтримувати сторонні клієнти для YouTube. Щоб включити підтримку, Вам знадобиться прийняти додаткові дозволи. Ця функція НЕ працює в режимі \"інкогніто\" в Chrome і браузерах, заснованих на Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Підтримувані сайти: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Увімкнути підтримку Invidious, вимкнути автоматичний пропуск, приховати кнопки і не тільки."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Додати інстанси Invidious"
|
||||
"message": "Додати інстанси стороннього клієнта"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "Додати свій інстанси Invidious. Формат: ТІЛЬКИ домен. Наприклад: invidious.ajay.app"
|
||||
"message": "Додати свій інстанс. Формат: ТІЛЬКИ домен. Наприклад, invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Додати"
|
||||
@@ -443,6 +450,9 @@
|
||||
"preview": {
|
||||
"message": "Попередній перегляд"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Неопублікований"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Дослідити"
|
||||
},
|
||||
@@ -477,6 +487,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Рекламні інтеграції, реферальні посилання і реклама безпосередньо. Не для самореклами або рекомендацій різних подій/творців/сайтів/продуктів, які подобаються автору відео."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Самореклама/рекомендація"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Схоже на \"Спонсора\", але для безкоштовної реклами і самореклами. Включає себе вставки про мерчендайз, пожертвування або інформацію про тих, разом з ким було зроблено відео."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Нагадування про взаємодію (підписка)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Коли є коротке нагадування поставити лайк, підписатися на канал або в соцмережах в середині вмісту. Якщо ця вставка тривала або про щось конкретне, вона повинна класифікуватися як самореклама."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Нагадування про взаємодію"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Пауза/заставка"
|
||||
},
|
||||
@@ -492,20 +517,11 @@
|
||||
"category_outro_description": {
|
||||
"message": "Титри або час появи кінцевих заставок YouTube. Не для підведення підсумків сказаного у відео."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Нагадування про взаємодію (підписка)"
|
||||
"category_preview": {
|
||||
"message": "Попередній перегляд/короткий зміст"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Коли є коротке нагадування поставити лайк, підписатися на канал або в соцмережах в середині вмісту. Якщо ця вставка тривала або про щось конкретне, вона повинна класифікуватися як самореклама."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Нагадування про взаємодію"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Самореклама/рекомендація"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Схоже на \"Спонсора\", але для безкоштовної реклами і самореклами. Включає себе вставки про мерчендайз, пожертвування або інформацію про тих, разом з ким було зроблено відео."
|
||||
"category_preview_description": {
|
||||
"message": "Короткий зміст попередніх епізодів або попередній перегляд того, що буде в даному відео. Призначено для сегментів, змонтованих зі шматків відео, а не для усних переказів."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Музика: Сегмент без музики"
|
||||
@@ -535,11 +551,11 @@
|
||||
"message": "Ви ввели колір в неправильному форматі. Це повинно бути 3-х або 6-ти значне шістнадцяткове число з символом # на початку."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Колір предпросмотра",
|
||||
"message": "Колір не надісланого сегмента",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Колір в смузі прокрутки"
|
||||
"message": "Колір в смужці прокрутки"
|
||||
},
|
||||
"category": {
|
||||
"message": "Категорія"
|
||||
@@ -638,7 +654,11 @@
|
||||
"categoryUpdate2": {
|
||||
"message": "Відкрийте налаштування, щоб пропускати початкові і кінцеві заставки, саморекламу та інше."
|
||||
},
|
||||
"help": {
|
||||
"message": "Допомога"
|
||||
"experiementOptOut": {
|
||||
"message": "Відмова від усіх майбутніх експериментів",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "Сховати назавжди"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,8 +79,14 @@
|
||||
"sponsorEnd": {
|
||||
"message": "Đoạn quảng cáo kết thúc vào lúc này"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Huỷ tạo phân đoạn"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Không tìm thấy video này.\nNếu sai, hãy thử tải lại thẻ này."
|
||||
"message": "Không tìm thấy video nào.\nNếu sai, hãy thử tải lại thẻ này."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Làm mới segments"
|
||||
},
|
||||
"success": {
|
||||
"message": "Thành công!"
|
||||
@@ -116,7 +122,7 @@
|
||||
"message": "Đưa kênh vào danh sách không chặn"
|
||||
},
|
||||
"removeFromWhitelist": {
|
||||
"message": "Bỏ kênh này khỏi danh sách không chặn"
|
||||
"message": "Loại kênh khỏi danh sách không chặn"
|
||||
},
|
||||
"voteOnTime": {
|
||||
"message": "Bầu chọn một đoạn quảng cáo"
|
||||
@@ -182,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "Đây là nút để mở bảng popup trên trang Youtube."
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Tự động ẩn nút Info"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Không hiển thị nút xóa trên trình chạy video Youtube"
|
||||
},
|
||||
@@ -197,6 +206,12 @@
|
||||
"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. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Bật việc theo dõi số lượng người bỏ qua phân đoạn trong tab Riêng tư/Ẩn danh"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Truy vấn theo Hash Prefix"
|
||||
},
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "Thay vì yêu cầu phân đoạn từ máy chủ bằng cách sử dụng videoID, 4 ký tự đầu tiên của hash của videoID sẽ được gửi. Máy chủ sau đó sẽ gửi dữ liệu cho tất cả video với các hash tương tự."
|
||||
},
|
||||
@@ -232,6 +247,9 @@
|
||||
"setSkipShortcut": {
|
||||
"message": "Chọn phím tắt để bỏ qua phân đoạn"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Đặt phím nóng đánh dấu một phân đoạn bắt đầu/kết thúc"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Đặt phím tắt đăng đoạn quảng cáo"
|
||||
},
|
||||
@@ -338,20 +356,24 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": ". Phím đang được đặt:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "Hỗ trợ Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "Hỗ trợ các trang web Youtube thuộc bên thứ 3"
|
||||
},
|
||||
"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."
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Bật hỗ trợ các ứng dụng/trang web 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 bổ sung. Nó 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.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Các trang web được hỗ trợ: "
|
||||
},
|
||||
"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"
|
||||
"message": "Thêm Instance của ứng dụng bên thứ 3"
|
||||
},
|
||||
"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"
|
||||
"message": "Thêm một instance. Chỉ có mỗi tên miền. Ví dụ: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "Thêm vào"
|
||||
@@ -374,6 +396,12 @@
|
||||
"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."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Thời gian tự động đóng bảng thông báo phân đoạn (giây):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Đặt thời gian hiển thị bảng thông báo phân đoạn. Nếu như bạn tự nhấn nút bỏ qua, nó sẽ hiện lâu hơn 1 chút."
|
||||
},
|
||||
"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?"
|
||||
},
|
||||
@@ -434,8 +462,11 @@
|
||||
"preview": {
|
||||
"message": "Xem trước"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Chưa gửi lên: "
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Xem trước"
|
||||
"message": "Kiểm tra"
|
||||
},
|
||||
"edit": {
|
||||
"message": "Chỉnh sửa"
|
||||
@@ -468,6 +499,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Nội dung được trả tiền để quảng cáo, giới thiệu và quảng cáo trực tiếp. Không phải là quảng cáo không trả công hay được đề cập miễn phí."
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Quảng cáo không trả công/Tự quảng cáo"
|
||||
},
|
||||
"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_interaction": {
|
||||
"message": "Nhắc tương tác (Đăng ký)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Nhắc nhở người xem Thích, Đăng ký hoặc Theo dõi. Nếu nó dài hoặc là một cái gì cụ thể, nó nên là danh mục \"Tự quảng cáo\"."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Nhắc nhở tương tác"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Tạm dừng/Giới thiệu"
|
||||
},
|
||||
@@ -483,24 +529,18 @@
|
||||
"category_outro_description": {
|
||||
"message": "Credits hoặc khi thẻ màn hình kết thúc của YouTube xuất hiện. Không dùng với những đoạn có thông tin."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Nhắc tương tác (Đăng ký)"
|
||||
"category_preview": {
|
||||
"message": "Xem trước/Tóm tắt"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Nhắc nhở người xem Thích, Đăng ký hoặc Theo dõi. Nếu nó dài hoặc là một cái gì cụ thể, nó nên là danh mục \"Tự quảng cáo\"."
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Nhắc nhở tương tác"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Quảng cáo không trả công/Tự quảng cáo"
|
||||
},
|
||||
"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 với."
|
||||
"category_preview_description": {
|
||||
"message": "Tóm tắt nhanh các tập trước, hoặc xem trước những gì sẽ xảy ra sau video hiện tại. Dùng cho các đoạn clip gắn kèm với nhau, không phải cho tóm tắt bằng lời."
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Nhạc: Phần không nhạc"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "Chỉ sử dụng cho video âm nhạc. Điều này có nghĩa là các phân đoạn đó nằm trong 1 video âm nhạc chưa thuộc về một loại danh mục khác."
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Không có nhạc"
|
||||
},
|
||||
@@ -523,11 +563,11 @@
|
||||
"message": "Mã màu sai định dạng. Mã màu phải có 3 hoặc 6 ký tự hệ hex và có dấu thăng ở đầu."
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Xem thử màu",
|
||||
"message": "Màu khi chưa được gửi đi",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Màu của thanh xem trước"
|
||||
"message": "Màu của thanh tìm kiếm"
|
||||
},
|
||||
"category": {
|
||||
"message": "Thể loại"
|
||||
@@ -570,6 +610,18 @@
|
||||
"hiddenDueToDuration": {
|
||||
"message": "đã bị ẩn: quá ngắn"
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Có vẻ như SponsorBlock không thể truy cập API YouTube. Để khắc phục điều này, hãy chấp nhận lời nhắc cấp quyền sẽ xuất hiện tiếp theo, đợi vài giây rồi tải lại trang."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Cho phép truy cập"
|
||||
},
|
||||
"permissionRequestSuccess": {
|
||||
"message": "Đã có quyền truy cập!"
|
||||
},
|
||||
"permissionRequestFailed": {
|
||||
"message": "Truy cập bị từ chối, bạn đã nhấp vào từ chối à?"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Bắt buộc kiểm tra kênh trước khi bỏ qua"
|
||||
},
|
||||
@@ -606,5 +658,8 @@
|
||||
},
|
||||
"help": {
|
||||
"message": "Trợ giúp"
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "Ẩn vĩnh viễn"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +79,9 @@
|
||||
"sponsorEnd": {
|
||||
"message": "片段现在结束"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "取消创建片段"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "未找到 YouTube 视频。\n如果识别错误,请刷新此页面。"
|
||||
},
|
||||
@@ -341,21 +344,12 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": "。目前被设定为:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "支持 Invidious"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) 是一个第三方 Youtube 客户端。要启用支持,您必须允许额外的权限。在 Chrome 及其他 Chromium 变种的匿名模式中无法工作。"
|
||||
"supportOtherSites": {
|
||||
"message": "支持第三方 YouTube 网站"
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "启用 Invidious 支持,禁用自动跳过,隐藏按钮等等。"
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "添加 Invidious 实例"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "添加一个 Invidious 自定义实例。它必须是只有域名的格式。例如:invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "添加"
|
||||
},
|
||||
@@ -471,6 +465,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "付费推广、付费推荐和直接广告。不应用于自我推广或免费提及、推荐他们喜欢的事物/创作者/网站/产品。"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "未收钱的/自我推销"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "类似于 “赞助商广告” ,但为无报酬或自我推广。包括有关商品、捐赠的部分或合作者的信息。"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "互动提醒(订阅)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "视频中间简短提醒观众来点赞、订阅或关注。 如果片段较长,或是关于某个具体事物,则应分类为自我推广。"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "互动提醒"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "过场/开场动画"
|
||||
},
|
||||
@@ -486,21 +495,6 @@
|
||||
"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": "音乐:非音乐部分"
|
||||
},
|
||||
@@ -528,10 +522,6 @@
|
||||
"colorFormatIncorrect": {
|
||||
"message": "颜色格式错误。应为以“#”开头的 3 位或 6 位十六进制数字。"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "预览颜色",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "拖动条颜色"
|
||||
},
|
||||
@@ -615,8 +605,5 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "打开选项,跳过开头,结尾,商业等。"
|
||||
},
|
||||
"help": {
|
||||
"message": "帮助"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "伺服器說這個請求無效"
|
||||
"message": "伺服器回應此請求無效"
|
||||
},
|
||||
"429": {
|
||||
"message": "您為這部影片提交了過多的贊助廣告片段,您確定有這麼多嗎?"
|
||||
@@ -85,6 +85,9 @@
|
||||
"noVideoID": {
|
||||
"message": "找不到 YouTube 影片。\n如果這是不正確的,重新整理此分頁"
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "重新載入片段"
|
||||
},
|
||||
"success": {
|
||||
"message": "成功!"
|
||||
},
|
||||
@@ -185,6 +188,9 @@
|
||||
"whatInfoButton": {
|
||||
"message": "這個按鈕可用來在 YouTube 頁面打開彈出視窗"
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "自動隱藏資訊按鈕"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "在 YouTube 播放器上隱藏刪除按鈕"
|
||||
},
|
||||
@@ -350,20 +356,21 @@
|
||||
"keybindCurrentlySet": {
|
||||
"message": "。它目前被設定為:"
|
||||
},
|
||||
"supportInvidious": {
|
||||
"message": "支持 Invidious"
|
||||
"supportOtherSites": {
|
||||
"message": "支援第三方的 YouTube 網站"
|
||||
},
|
||||
"supportInvidiousDescription": {
|
||||
"message": "Invidious (invidio.us) 是第三方的 YouTube 客戶端。要啟用對其之支援,您必須接受額外的權限。這在 Chrome 中的無痕模式和其他 Chromium 分支無效"
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "支援第三方的 YouTube 客戶端。若要啟用,您必須同意額外的權限。這在 Chrome 中的無痕模式和其他 Chromium 分支無效。",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "支援的網站:"
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "啟用 Invidious 支援,停用自動跳過、隱藏按鈕等。"
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "添加 Invidious 進程"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "添加一個 Invidious 自定進程。它必須只有域名。例如:invidious.ajay.app"
|
||||
"message": "新增第三方的客戶端實例"
|
||||
},
|
||||
"add": {
|
||||
"message": "新增"
|
||||
@@ -386,6 +393,9 @@
|
||||
"minDurationDescription": {
|
||||
"message": "小於設定值的片段不會被跳過或在播放器中顯示"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "跳過片段提示的顯示時間將會以上列時間長度為準(單位:秒);手動跳過的時候會顯示較長於上面的時間"
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "以下的提交小於您的最小時間設定。這表是它們可能已經被提交,只是被該設定忽略了。您確定要提交嗎?"
|
||||
},
|
||||
@@ -446,6 +456,9 @@
|
||||
"preview": {
|
||||
"message": "預覽"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "未提交"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "檢查"
|
||||
},
|
||||
@@ -480,6 +493,21 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "有收錢的工商廣告和直接廣告。不是為了自我推銷或為了其他創作的免費推銷"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "非付費/自我推廣"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "類似 “贊助商廣告” ,但是非付費或自我推廣。這包括有關商品、捐贈或與他人合作的信息。"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "互動提醒 (訂閱)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "當有短提醒來請觀眾按讚、訂閱或跟隨他們時。如果該片段很長或很針對某事,它應該歸類為自我推銷。"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "互動提醒"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "中場休息/開頭動畫"
|
||||
},
|
||||
@@ -495,24 +523,18 @@
|
||||
"category_outro_description": {
|
||||
"message": "鳴謝或當 YouTube 結尾資訊卡出現時。不是含有資訊的總結"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "互動提醒 (訂閱)"
|
||||
"category_preview": {
|
||||
"message": "預覽/摘要"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "當有短提醒來請觀眾按讚、訂閱或跟隨他們時。如果該片段很長或很針對某事,它應該歸類為自我推銷。"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "互動提醒"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "非付費/自我推廣"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "類似 “贊助商廣告” ,但是非付費或自我推廣。這包括有關商品、捐贈或與他人合作的信息。"
|
||||
"category_preview_description": {
|
||||
"message": "係指影片的前情提要或內容預告等刻意編輯過的內容"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "音樂:非音樂部分"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "此功能僅供音樂影片使用。本功能僅應該用於音樂錄影帶中並未包含其他類別的段落。"
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "非音樂"
|
||||
},
|
||||
@@ -535,7 +557,7 @@
|
||||
"message": "您設定的顏色無效。它應該是三或六位數的 hex 碼,且以井字號開頭。"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "預覽顏色",
|
||||
"message": "未提交的顏色",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -552,7 +574,7 @@
|
||||
"message": "啟用 Beta 測試伺服器"
|
||||
},
|
||||
"whatEnableTestingServer": {
|
||||
"message": "寧的提交和投票不會記入主伺服器。僅會被用來測試"
|
||||
"message": "您的提交和投票將不會記入主伺服器。僅在測試時啟用此選項"
|
||||
},
|
||||
"testingServerWarning": {
|
||||
"message": "當連結到測試伺服器,所有的提交和投票都不會計入主伺服器。當您想要進行有效提交時,請停用此選項"
|
||||
@@ -583,7 +605,10 @@
|
||||
"message": "隱藏:太短"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "似乎有東西在阻止 SponsorBlock 獲取影片資料。請查看 https://github.com/ajayyy/SponsorBlock/issues/741 以了解更多資訊。"
|
||||
"message": "似乎有東西在阻止 SponsorBlock 取得影片資料。請至 https://github.com/ajayyy/SponsorBlock/issues/741 以了解更多資訊。"
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "SponsorBlock 貌似無法存取 YouTube API。若要解決此問題,請同意稍後出現的權限提示,等待幾秒鐘,然後重新載入頁面。"
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "允許權限"
|
||||
@@ -632,6 +657,13 @@
|
||||
"message": "開啟選項以跳過開場、結尾、工商等。"
|
||||
},
|
||||
"help": {
|
||||
"message": "幫助"
|
||||
"message": "說明"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "關閉所有未來的實驗性功能",
|
||||
"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."
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "永久隱藏"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,6 +75,22 @@
|
||||
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;
|
||||
}
|
||||
|
||||
#infoButton.playerButton.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;
|
||||
}
|
||||
|
||||
.playerButton.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sponsorSkipObject {
|
||||
font-family: Roboto, Arial, Helvetica, sans-serif;
|
||||
|
||||
@@ -105,8 +121,19 @@
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.sbChatNotice {
|
||||
min-width: 350px;
|
||||
height: 70%;
|
||||
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
bottom: 100px;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
.sponsorSkipNotice {
|
||||
min-width: 350px;
|
||||
max-width: 50%;
|
||||
background-color: rgba(28, 28, 28, 0.9);
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
@@ -429,4 +456,15 @@ input::-webkit-inner-spin-button {
|
||||
}
|
||||
.helpButton:hover {
|
||||
filter: brightness(80%);
|
||||
}
|
||||
|
||||
.sbChatNotice iframe {
|
||||
height: 32px;
|
||||
cursor: pointer;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.sbChatClose {
|
||||
height: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -19,18 +19,18 @@
|
||||
<p class="createdBy">Created By <a href="https://ajay.app">Ajay Ramachandran</a> <img src="https://ajay.app/newprofilepic.jpg" height="30" class="profilepiccircle"/></p>
|
||||
|
||||
<p>
|
||||
Thanks for installing SponsorBlock. Here are some quick tips for getting started. Feel free to contact me if you have any questions. By using this extension, you agree to the <a href="https://gist.github.com/ajayyy/aa9f8ded2b573d4f73a3ffa0ef74f796">Privacy Policy</a>.
|
||||
Thanks for installing SponsorBlock. By using this extension, you agree to the <a href="https://gist.github.com/ajayyy/aa9f8ded2b573d4f73a3ffa0ef74f796">Privacy Policy</a> and <a href="https://gist.github.com/ajayyy/9e8100f069348e0bc062641f34d6af12">Terms of Use</a>.
|
||||
</p>
|
||||
|
||||
<p class="projectPreview">
|
||||
Come contribute, make some suggestions and help out in the Discord: <a href="https://discord.gg/QnmVMpU">https://discord.gg/QnmVMpU</a>
|
||||
Come contribute, make some suggestions and help out on <a href="https://discord.gg/QnmVMpU">Discord</a> or on <a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org">Matrix</a>.
|
||||
</p>
|
||||
|
||||
<p style="margin-bottom: 0" class="bigText center">Please review the options below</p>
|
||||
|
||||
<p>
|
||||
Many features are disabled by default. If you want to skip Intros, outros, use Invidious, please enable the specific options. These can be enabled or disabled at any time.
|
||||
You can also hide/show all UI elements added to the YouTube page.
|
||||
Many features are disabled by default. If you want to skip intros, outros, use Invidious, etc., enable them below.
|
||||
You can also hide/show UI elements.
|
||||
</p>
|
||||
|
||||
<iframe src="../options/options.html#embed" width="100%" height="500px" style="border: none"></iframe>
|
||||
@@ -59,12 +59,12 @@
|
||||
<img src="https://i.imgur.com/A1ilk6x.gif">
|
||||
</span>
|
||||
|
||||
Submitting can either be done in the popup by hitting the "Sponsorship Starts Now" button or in the video player with the buttons on the player.
|
||||
Submitting can either be done in the popup by hitting the "Segment Starts Now" button or in the video player with the buttons on the player.
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
Clicking the play button indicated the start of a sponsorship section and clicking the stop icon indicates the end. You can prepare multiple sponsors before hitting submit. Clicking the upload button will submit. Clicking the garbage can will delete.
|
||||
Clicking the play button indicated the start of a segment and clicking the stop icon indicates the end. You can prepare multiple sponsors before hitting submit. Clicking the upload button will submit. Clicking the garbage can will delete.
|
||||
</p>
|
||||
|
||||
<h1>Editing</h1>
|
||||
@@ -74,27 +74,21 @@
|
||||
<img src="https://i.imgur.com/DZHqbsx.gif">
|
||||
</span>
|
||||
|
||||
If you messed up, you can edit or delete your sponsor times in the popup or in the info menu (by hitting the info icon).
|
||||
If you messed up, you can edit or delete your segments in the popup or in the info menu (by hitting the info icon).
|
||||
|
||||
</p>
|
||||
|
||||
<h1>This is too slow</h1>
|
||||
|
||||
<p>
|
||||
There are hotkeys if you want to use them. You must be focused on the YouTube player to use them. Press the semicolon key to indicate the start/end of a sponsor segment and click the apostrophe to submit.
|
||||
There are hotkeys if you want to use them. Press the semicolon key to indicate the start/end of a sponsor segment and click the apostrophe to submit.
|
||||
These can be changed in the options. If you don't use QWERTY, you should probably change the keybinding.
|
||||
</p>
|
||||
|
||||
<h1>I hate these buttons, they are so ugly</h1>
|
||||
|
||||
<p>
|
||||
All player buttons can be hidden in the options.
|
||||
</p>
|
||||
|
||||
<h1>Can I get a copy of the Database? What happens if you disappear?</h1>
|
||||
|
||||
<p>
|
||||
The database is public and available at <a href="https://sponsor.ajay.app/database.db">https://sponsor.ajay.app/database.db</a>. The source code is freely available. So, even if something happens to me, your submissions are not lost.
|
||||
The database is public and available at <a href="https://sponsor.ajay.app/database">https://sponsor.ajay.app/database</a> and the source code is freely available. So, even if something happens to me, your submissions are not lost.
|
||||
</p>
|
||||
|
||||
<h1>News and how it is made</h1>
|
||||
@@ -103,12 +97,6 @@
|
||||
See <a href="https://sponsor.ajay.app/news">https://sponsor.ajay.app/news</a>.
|
||||
</p>
|
||||
|
||||
<h1>I want more features!</h1>
|
||||
|
||||
<p>
|
||||
Ask on Discord or make an Issue on GitHub. I am happy to hear suggestions or improvements you want. You may also contribute code or graphics if you would like.
|
||||
</p>
|
||||
|
||||
<h1>Where can I get the source code?</h1>
|
||||
|
||||
<h4 style="display: inline">Client:</h4>
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
html {
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
.bigText {
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
BIN
public/icons/LogoSponsorBlocker1024px.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 17 KiB |
BIN
public/icons/LogoSponsorBlocker512px.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 3.4 KiB |
@@ -1,120 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
viewBox="0 0 565.15 568"
|
||||
version="1.1"
|
||||
id="svg16"
|
||||
sodipodi:docname="PlayerInfoIconSponsorBlocker.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
inkscape:export-filename="D:\Dell Data\_Projects\_____SponsorSkip\ignored\svg\SponsorBlocker4.png"
|
||||
inkscape:export-xdpi="43.436523"
|
||||
inkscape:export-ydpi="43.436523">
|
||||
<metadata
|
||||
id="metadata20">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>LogoSponsorBlocker2</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1001"
|
||||
id="namedview18"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.83098592"
|
||||
inkscape:cx="203.60203"
|
||||
inkscape:cy="226.95062"
|
||||
inkscape:window-x="477"
|
||||
inkscape:window-y="961"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg16" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<style
|
||||
id="style2">.cls-1{fill:red;}.cls-2{fill:#fff;}</style>
|
||||
</defs>
|
||||
<title
|
||||
id="title6">LogoSponsorBlocker2</title>
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 282.58,568 a 65,65 0 0 1 -34.14,-9.66 C 95.41,463.94 2.54,300.46 0,121 a 64.91,64.91 0 0 1 34,-58.09 522.56,522.56 0 0 1 497.16,0 64.91,64.91 0 0 1 34,58.12 c -2.53,179.43 -95.4,342.91 -248.42,437.3 A 65,65 0 0 1 282.58,568 Z m 0,-548.31 A 502.24,502.24 0 0 0 43.4,80.22 45.27,45.27 0 0 0 19.7,120.75 c 2.44,172.67 91.81,330 239.07,420.83 a 46.19,46.19 0 0 0 47.61,0 C 453.64,450.73 543,293.42 545.45,120.75 A 45.26,45.26 0 0 0 521.75,80.21 502.26,502.26 0 0 0 282.58,19.69 Z"
|
||||
id="path8"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" />
|
||||
<path
|
||||
style="fill:#ffffff"
|
||||
d="M 284.70508 42.693359 A 479.9 479.9 0 0 0 54.369141 100.41992 A 22.53 22.53 0 0 0 42.669922 120.41992 C 45.069922 290.25992 135.67008 438.63977 270.83008 522.00977 A 22.48 22.48 0 0 0 294.32031 522.00977 C 429.48031 438.63977 520.08047 290.25992 522.48047 120.41992 A 22.53 22.53 0 0 0 510.7793 100.41992 A 479.9 479.9 0 0 0 284.70508 42.693359 z M 282.57422 102.03711 C 371.92182 102.03711 444.65625 174.74933 444.65625 264.11719 C 444.65625 353.48504 371.92182 426.19922 282.57422 426.19922 C 193.20636 426.19922 120.49414 353.48504 120.49414 264.11719 C 120.49414 174.74933 193.20636 102.03711 282.57422 102.03711 z M 282.57422 132.42578 C 209.96157 132.42578 150.88281 191.50454 150.88281 264.11719 C 150.88281 336.72984 209.96157 395.80859 282.57422 395.80859 C 355.18687 395.80859 414.26562 336.72984 414.26562 264.11719 C 414.26562 191.50454 355.18687 132.42578 282.57422 132.42578 z M 280.01172 149.12109 C 294.1331 149.12109 304.375 159.72726 304.375 173.16992 C 304.375 186.6531 294.10302 196.60156 279.67773 196.60156 C 264.94855 196.60156 255.32422 186.6531 255.32422 173.16992 C 255.32422 159.72726 264.94824 149.12109 280.01172 149.12109 z M 245.07422 217.8125 L 302.4707 217.8125 L 302.45117 352.50391 L 320.74609 353.47656 L 320.74609 379.11523 L 244.42578 379.11523 L 244.42578 354.74219 L 255.01172 353.78906 C 260.76562 353.15087 264.29102 351.21646 264.29102 343.51758 L 264.29102 254.36328 C 264.29102 247.28233 262.3858 245.04297 256.27734 245.04297 L 245.07422 244.41406 L 245.07422 217.8125 z "
|
||||
id="path10" />
|
||||
<g
|
||||
id="g883"
|
||||
transform="matrix(10.130113,0,0,10.130113,45.728213,14.587871)"
|
||||
style="fill:#ffffff">
|
||||
<g
|
||||
id="g827"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g829"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g831"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g833"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g835"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g837"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g839"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g841"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g843"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g845"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g847"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g849"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g851"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g853"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g855"
|
||||
style="fill:#ffffff" />
|
||||
<g
|
||||
id="g857"
|
||||
style="fill:#ffffff" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="svg16" version="1.1" viewBox="0 0 565.15 568">
|
||||
<defs/>
|
||||
<defs id="defs4"/>
|
||||
<path id="path8" fill="#fff" d="M282.58 568a65 65 0 01-34.14-9.66C95.41 463.94 2.54 300.46 0 121a64.91 64.91 0 0134-58.09 522.56 522.56 0 01497.16 0 64.91 64.91 0 0134 58.12c-2.53 179.43-95.4 342.91-248.42 437.3a65 65 0 01-34.16 9.67zm0-548.31A502.24 502.24 0 0043.4 80.22a45.27 45.27 0 00-23.7 40.53c2.44 172.67 91.81 330 239.07 420.83a46.19 46.19 0 0047.61 0C453.64 450.73 543 293.42 545.45 120.75a45.26 45.26 0 00-23.7-40.54 502.26 502.26 0 00-239.17-60.52z"/>
|
||||
<path id="path10" fill="#fff" d="M284.705 42.693A479.9 479.9 0 0054.37 100.42a22.53 22.53 0 00-11.7 20c2.4 169.84 93.001 318.22 228.161 401.59a22.48 22.48 0 0023.49 0c135.16-83.37 225.76-231.75 228.16-401.59a22.53 22.53 0 00-11.7-20 479.9 479.9 0 00-226.075-57.727zm-2.13 59.344c89.347 0 162.081 72.712 162.081 162.08 0 89.368-72.734 162.082-162.082 162.082-89.368 0-162.08-72.714-162.08-162.082s72.712-162.08 162.08-162.08zm0 30.389c-72.613 0-131.692 59.079-131.692 131.691 0 72.613 59.079 131.692 131.691 131.692 72.613 0 131.692-59.08 131.692-131.692 0-72.612-59.08-131.691-131.692-131.691zm-2.563 16.695c14.121 0 24.363 10.606 24.363 24.049 0 13.483-10.272 23.432-24.697 23.432-14.73 0-24.354-9.949-24.354-23.432 0-13.443 9.624-24.049 24.688-24.049zm-34.938 68.691h57.397l-.02 134.692 18.295.973v25.638h-76.32v-24.373l10.586-.953c5.754-.638 9.279-2.573 9.279-10.271v-89.155c0-7.08-1.905-9.32-8.014-9.32l-11.203-.629v-26.601z"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 1.5 KiB |
1
public/icons/refresh.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/></svg>
|
||||
|
After Width: | Height: | Size: 361 B |
@@ -1,4 +1,8 @@
|
||||
/* Options page CSS */
|
||||
html {
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
@@ -66,6 +70,12 @@ body {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#options.embed {
|
||||
max-width: 100%;
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.switch-container {
|
||||
content: attr(label-name);
|
||||
position: absolute;
|
||||
|
||||
@@ -29,10 +29,26 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div option-type="toggle" sync-option="autoSkipOnMusicVideos">
|
||||
<label class="switch-container">
|
||||
<label class="switch">
|
||||
<input type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<div class="switch-label">
|
||||
__MSG_autoSkipOnMusicVideos__
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div id="support-invidious" option-type="toggle" sync-option="supportInvidious">
|
||||
<div id="support-invidious" option-type="toggle" sync-option="supportInvidious" no-safari="true">
|
||||
<label class="switch-container">
|
||||
<label class="switch">
|
||||
<input type="checkbox">
|
||||
@@ -50,12 +66,13 @@
|
||||
<div class="small-description">(__MSG_supportedSites__ Invidious, CloudTube)</div>
|
||||
<br/>
|
||||
<span class="small-description">__MSG_supportOtherSitesDescription__ </span>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<div option-type="private-text-change" sync-option="invidiousInstances">
|
||||
<div option-type="private-text-change" sync-option="invidiousInstances" no-safari="true">
|
||||
<div class="option-button trigger-button">
|
||||
__MSG_addInvidiousInstance__
|
||||
</div>
|
||||
@@ -86,10 +103,10 @@
|
||||
<span class="small-description">__MSG_currentInstances__</span>
|
||||
<span class="small-description" option-type="display" sync-option="invidiousInstances"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<div option-type="keybind-change" sync-option="skipKeybind">
|
||||
<div class="option-button trigger-button">
|
||||
@@ -151,6 +168,20 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div option-type="number-change" sync-option="skipNoticeDuration">
|
||||
<label class="number-container">
|
||||
<input type="number" step="1" min="1">
|
||||
</label>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div class="small-description">__MSG_skipNoticeDurationDescription__</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
@@ -183,6 +214,7 @@
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div option-type="toggle" sync-option="forceChannelCheck">
|
||||
<label class="switch-container">
|
||||
@@ -243,9 +275,27 @@
|
||||
|
||||
<div class="small-description">__MSG_whatInfoButton__</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div option-type="toggle" sync-option="autoHideInfoButton" if-false="hideInfoButtonPlayerControls">
|
||||
<label class="switch-container">
|
||||
<label class="switch">
|
||||
<input type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<div class="switch-label">
|
||||
__MSG_autoHideInfoButton__
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<div option-type="toggle" toggle-type="reverse" sync-option="hideDeleteButtonPlayerControls">
|
||||
<label class="switch-container">
|
||||
@@ -455,7 +505,7 @@
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<div option-type="toggle" sync-option="testingServer" confirm-message="testingServerWarning">
|
||||
<div option-type="toggle" sync-option="testingServer" confirm-message="testingServerWarning" no-safari="true">
|
||||
<label class="switch-container">
|
||||
<label class="switch">
|
||||
<input type="checkbox">
|
||||
@@ -471,10 +521,11 @@
|
||||
<br/>
|
||||
|
||||
<div class="small-description">__MSG_whatEnableTestingServer__</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<div option-type="text-change" sync-option="serverAddress">
|
||||
<label class="text-label-container">
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
/* Options page CSS */
|
||||
html {
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,11 @@
|
||||
--sb-green-bg: #077B27;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
#sponsorBlockPopupHTML {
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
#sponsorBlockPopupBody .hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
@@ -28,6 +32,8 @@
|
||||
margin: auto;
|
||||
width: 374px;
|
||||
background: var(--sb-main-bg-color);
|
||||
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
#sponsorblockPopup {
|
||||
@@ -259,7 +265,7 @@ background-color:#ec1c1c;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#additionalButtons>button, button#setUsernameButton, #submitUsername {
|
||||
.sbSlimButton, #additionalButtons>button, button#setUsernameButton, #submitUsername {
|
||||
background: none;
|
||||
border: none;
|
||||
color: white;
|
||||
@@ -312,6 +318,11 @@ label>p, #disableExtension>p, #usernameValue, #usernameElement > div > p,#sponso
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
.SBWhitelistIconContainer, button#optionsButton {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -321,12 +332,12 @@ label>p, #disableExtension>p, #usernameValue, #usernameElement > div > p,#sponso
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
#whitelistButton>label, #additionalButtons>button, div#setUsernameContainer {
|
||||
#whitelistButton>label, #additionalButtons>button, div#setUsernameContainer>button {
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
}
|
||||
|
||||
#whitelistButton>label, #additionalButtons>button, div#setUsernameContainer>button {
|
||||
.sbSlimButton, #whitelistButton>label, #additionalButtons>button, div#setUsernameContainer>button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,149 +1,154 @@
|
||||
<head>
|
||||
<title>__MSG_openPopup__</title>
|
||||
<link id="sponsorBlockPopupFont" rel="stylesheet" type="text/css" href="/libs/Source+Sans+Pro.css">
|
||||
<link id="sponsorBlockStyleSheet" rel="stylesheet" type="text/css" href="popup.css">
|
||||
<html id="sponsorBlockPopupHTML">
|
||||
<head>
|
||||
<title>__MSG_openPopup__</title>
|
||||
<link id="sponsorBlockPopupFont" rel="stylesheet" type="text/css" href="/libs/Source+Sans+Pro.css">
|
||||
<link id="sponsorBlockStyleSheet" rel="stylesheet" type="text/css" href="popup.css">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
|
||||
<body id="sponsorBlockPopupBody">
|
||||
<div id="sponsorblockPopup" class="sponsorBlockPageBody preload">
|
||||
<div class="logoText bottomSpace">
|
||||
<img src="icons/IconSponsorBlocker256px.png" height="40px" id="sponsorBlockPopupLogo">
|
||||
<p>SponsorBlock</p>
|
||||
</div>
|
||||
<div id="videoInfo" class="bottomSpace">
|
||||
<div class="bottomSpace">
|
||||
<!-- Loading text -->
|
||||
<p id="loadingIndicator">__MSG_noVideoID__</p>
|
||||
<!-- If the video was found in the database -->
|
||||
<p id="videoFound"></p>
|
||||
<body id="sponsorBlockPopupBody">
|
||||
<div id="sponsorblockPopup" class="sponsorBlockPageBody preload">
|
||||
<div class="logoText bottomSpace">
|
||||
<img src="icons/IconSponsorBlocker256px.png" height="40px" id="sponsorBlockPopupLogo">
|
||||
<p>SponsorBlock</p>
|
||||
</div>
|
||||
<div id="issueReporterContainer">
|
||||
<div id="issueReporterTimeButtons"></div>
|
||||
<div id="videoInfo" class="bottomSpace">
|
||||
<div class="bottomSpace">
|
||||
<!-- Loading text -->
|
||||
<p id="loadingIndicator">__MSG_noVideoID__</p>
|
||||
<!-- If the video was found in the database -->
|
||||
<p id="videoFound"></p>
|
||||
<button class="sbSlimButton hidden" id="refreshSegmentsButton" title="__MSG_refreshSegments__">
|
||||
<img id="refreshSegments" src="/icons/refresh.svg"/>
|
||||
</button>
|
||||
</div>
|
||||
<div id="issueReporterContainer">
|
||||
<div id="issueReporterTimeButtons"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebyside">
|
||||
<div id="disableExtension">
|
||||
<!--github: mbledkowski/toggle-switch-->
|
||||
<label for="toggleSwitch" class="toggleSwitchContainer">
|
||||
<input type="checkbox" style="display:none;" id="toggleSwitch" checked>
|
||||
<span class="switchBg shadow"></span>
|
||||
<span class="switchBg white"></span>
|
||||
<span class="switchBg green"></span>
|
||||
<span class="switchDot"></span>
|
||||
</label>
|
||||
<p id="disableSkipping">__MSG_disableSkipping__</p>
|
||||
<p id="enableSkipping" style="display: none">__MSG_enableSkipping__</p>
|
||||
</div>
|
||||
<div id="additionalButtons">
|
||||
<!-- grayedOut until loading complete -->
|
||||
<div id="whitelistButton" class="hidden bottomSpace" title="__MSG_forceChannelCheckPopup__">
|
||||
<input type="checkbox" style="display:none;" id="whitelistToggle">
|
||||
<label for="whitelistToggle" class="whitelistToggleText">
|
||||
<div class="SBWhitelistIconContainer">
|
||||
<svg viewBox="0 0 24 24" width="16" height="16" class="SBWhitelistIcon">
|
||||
<path d="M24 10H14V0h-4v10H0v4h10v10h4V14h10z" />
|
||||
</svg>
|
||||
</div>
|
||||
<p id="whitelistChannel">__MSG_whitelistChannel__</p>
|
||||
<p id="unwhitelistChannel" style="display: none">__MSG_removeFromWhitelist__</p>
|
||||
<div class="sidebyside">
|
||||
<div id="disableExtension">
|
||||
<!--github: mbledkowski/toggle-switch-->
|
||||
<label for="toggleSwitch" class="toggleSwitchContainer">
|
||||
<input type="checkbox" style="display:none;" id="toggleSwitch" checked>
|
||||
<span class="switchBg shadow"></span>
|
||||
<span class="switchBg white"></span>
|
||||
<span class="switchBg green"></span>
|
||||
<span class="switchDot"></span>
|
||||
</label>
|
||||
<p id="disableSkipping">__MSG_disableSkipping__</p>
|
||||
<p id="enableSkipping" style="display: none">__MSG_enableSkipping__</p>
|
||||
</div>
|
||||
<button id="optionsButton" title="__MSG_optionsInfo__">
|
||||
<img src="/icons/settings.svg" alt="Settings icon" width="16" height="16" id="sbPopupIconSettings">
|
||||
__MSG_Options__
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="whitelistForceCheck" class="hidden">
|
||||
__MSG_forceChannelCheckPopup__
|
||||
</div>
|
||||
|
||||
<div id="mainControls" style="display: none">
|
||||
<p class="sbHeader sbSubHeader">
|
||||
__MSG_recordTimesDescription__
|
||||
</p>
|
||||
<sub style="margin-bottom: 12px;">__MSG_popupHint__</sub>
|
||||
<div>
|
||||
<button id="sponsorStart" class="mediumButton">__MSG_sponsorStart__</button>
|
||||
</div>
|
||||
<div id="submissionSection" style="display: none">
|
||||
<b style="display: block; margin-top: 12px;">__MSG_submissionEditHint__</b>
|
||||
<div id="submitTimesContainer" style="margin-top: 12px;">
|
||||
<button id="submitTimes" class="mediumButton">__MSG_submitTimesButton__</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h1 class="recordingSubtitle sbHeader sbSubHeader">__MSG_yourWork__</h1>
|
||||
<div class="sidebyside">
|
||||
<div id="usernameElement">
|
||||
<div>
|
||||
<p>__MSG_Username__:</p>
|
||||
<div id="setUsernameContainer">
|
||||
<p id="usernameValue"></p>
|
||||
<button id="setUsernameButton" title="__MSG_setUsername__">
|
||||
<img src="/icons/pencil.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconEdit">
|
||||
</button>
|
||||
<div id="additionalButtons">
|
||||
<!-- grayedOut until loading complete -->
|
||||
<div id="whitelistButton" class="hidden bottomSpace" title="__MSG_forceChannelCheckPopup__">
|
||||
<input type="checkbox" style="display:none;" id="whitelistToggle">
|
||||
<label for="whitelistToggle" class="whitelistToggleText">
|
||||
<div class="SBWhitelistIconContainer">
|
||||
<svg viewBox="0 0 24 24" width="16" height="16" class="SBWhitelistIcon">
|
||||
<path d="M24 10H14V0h-4v10H0v4h10v10h4V14h10z" />
|
||||
</svg>
|
||||
</div>
|
||||
<p id="whitelistChannel">__MSG_whitelistChannel__</p>
|
||||
<p id="unwhitelistChannel" style="display: none">__MSG_removeFromWhitelist__</p>
|
||||
</label>
|
||||
</div>
|
||||
<div id="setUsername" style="display: none">
|
||||
<div id="setUsernameStatusContainer" style="display: none">
|
||||
<p id="setUsernameStatus"></p>
|
||||
<button id="optionsButton" title="__MSG_optionsInfo__">
|
||||
<img src="/icons/settings.svg" alt="Settings icon" width="16" height="16" id="sbPopupIconSettings">
|
||||
__MSG_Options__
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="whitelistForceCheck" class="hidden">
|
||||
__MSG_forceChannelCheckPopup__
|
||||
</div>
|
||||
|
||||
<div id="mainControls" style="display: none">
|
||||
<p class="sbHeader sbSubHeader">
|
||||
__MSG_recordTimesDescription__
|
||||
</p>
|
||||
<sub style="margin-bottom: 12px;">__MSG_popupHint__</sub>
|
||||
<div>
|
||||
<button id="sponsorStart" class="mediumButton">__MSG_sponsorStart__</button>
|
||||
</div>
|
||||
<div id="submissionSection" style="display: none">
|
||||
<b style="display: block; margin-top: 12px;">__MSG_submissionEditHint__</b>
|
||||
<div id="submitTimesContainer" style="margin-top: 12px;">
|
||||
<button id="submitTimes" class="mediumButton">__MSG_submitTimesButton__</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h1 class="recordingSubtitle sbHeader sbSubHeader">__MSG_yourWork__</h1>
|
||||
<div class="sidebyside">
|
||||
<div id="usernameElement">
|
||||
<div>
|
||||
<p>__MSG_Username__:</p>
|
||||
<div id="setUsernameContainer">
|
||||
<p id="usernameValue"></p>
|
||||
<button id="setUsernameButton" title="__MSG_setUsername__">
|
||||
<img src="/icons/pencil.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconEdit">
|
||||
</button>
|
||||
</div>
|
||||
<input id="usernameInput" hint="Username"></input>
|
||||
<button id="submitUsername">
|
||||
<img src="/icons/check.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconCheck">
|
||||
</button>
|
||||
<div id="setUsername" style="display: none">
|
||||
<div id="setUsernameStatusContainer" style="display: none">
|
||||
<p id="setUsernameStatus"></p>
|
||||
</div>
|
||||
<input id="usernameInput" hint="Username"></input>
|
||||
<button id="submitUsername">
|
||||
<img src="/icons/check.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconCheck">
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="sponsorTimesContributionsContainer" class="hidden">
|
||||
<div>
|
||||
<p>__MSG_Submissions__:</p>
|
||||
<span id="sponsorTimesContributionsDisplay">
|
||||
0
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="sponsorTimesContributionsContainer" class="hidden">
|
||||
<div>
|
||||
<p>__MSG_Submissions__:</p>
|
||||
<span id="sponsorTimesContributionsDisplay">
|
||||
|
||||
<span id="sponsorTimesViewsContainer" style="display: none">
|
||||
__MSG_savedPeopleFrom__
|
||||
<b><span id="sponsorTimesViewsDisplay">
|
||||
0
|
||||
</span></b>
|
||||
<span id="sponsorTimesViewsDisplayEndWord">__MSG_Segments__</span>
|
||||
<br>
|
||||
(<b><span id="sponsorTimesOthersTimeSavedDisplay">0</span>
|
||||
<span id="sponsorTimesOthersTimeSavedEndWord">__MSG_minsLower__</span></b>
|
||||
<span>__MSG_youHaveSavedTimeEnd__</span>).
|
||||
</span>
|
||||
<div id="sponsorTimesSkipsDoneContainer" style="display: none">
|
||||
__MSG_youHaveSkipped__
|
||||
<b><span id="sponsorTimesSkipsDoneDisplay">
|
||||
0
|
||||
</span></b>
|
||||
<span id="sponsorTimesSkipsDoneEndWord">__MSG_Segments__</span>
|
||||
(<b><span id="sponsorTimeSavedDisplay">
|
||||
0
|
||||
</span>
|
||||
</div>
|
||||
<span id="sponsorTimeSavedEndWord">__MSG_minsLower__</span></b>).
|
||||
</div>
|
||||
</div>
|
||||
<footer id="sbFooter">
|
||||
<a href="https://sponsor.ajay.app" target="_blank" rel="noopener">__MSG_website__</a> |
|
||||
<a href="https://sponsor.ajay.app/stats" target="_blank" rel="noopener">__MSG_viewLeaderboard__</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock" target="_blank" rel="noopener">GitHub</a>
|
||||
<br/>
|
||||
<a href="https://discord.gg/QnmVMpU" target="_blank" rel="noopener">Discord</a> |
|
||||
<a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org" target="_blank" rel="noopener">Matrix</a> |
|
||||
<a id="helpButton" style="cursor: pointer;">__MSG_help__</a> |
|
||||
<a href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener" id="sbDonate">$</a>
|
||||
</footer>
|
||||
|
||||
<span id="sponsorTimesViewsContainer" style="display: none">
|
||||
__MSG_savedPeopleFrom__
|
||||
<b><span id="sponsorTimesViewsDisplay">
|
||||
0
|
||||
</span></b>
|
||||
<span id="sponsorTimesViewsDisplayEndWord">__MSG_Segments__</span>
|
||||
<br>
|
||||
(<b><span id="sponsorTimesOthersTimeSavedDisplay">0</span>
|
||||
<span id="sponsorTimesOthersTimeSavedEndWord">__MSG_minsLower__</span></b>
|
||||
<span>__MSG_youHaveSavedTimeEnd__</span>).
|
||||
</span>
|
||||
<div id="sponsorTimesSkipsDoneContainer" style="display: none">
|
||||
__MSG_youHaveSkipped__
|
||||
<b><span id="sponsorTimesSkipsDoneDisplay">
|
||||
0
|
||||
</span></b>
|
||||
<span id="sponsorTimesSkipsDoneEndWord">__MSG_Segments__</span>
|
||||
(<b><span id="sponsorTimeSavedDisplay">
|
||||
0
|
||||
</span>
|
||||
<span id="sponsorTimeSavedEndWord">__MSG_minsLower__</span></b>).
|
||||
<button id="showNoticeAgain" style="display: none" class="dangerButton popupElement">__MSG_showNotice__</button>
|
||||
</div>
|
||||
<footer id="sbFooter">
|
||||
<a href="https://sponsor.ajay.app" target="_blank" rel="noopener">__MSG_website__</a> |
|
||||
<a href="https://sponsor.ajay.app/stats" target="_blank" rel="noopener">__MSG_viewLeaderboard__</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock" target="_blank" rel="noopener">GitHub</a>
|
||||
<br/>
|
||||
<a href="https://discord.gg/QnmVMpU" target="_blank" rel="noopener">Discord</a> |
|
||||
<a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org" target="_blank" rel="noopener">Matrix</a> |
|
||||
<a id="helpButton" style="cursor: pointer;">__MSG_help__</a> |
|
||||
<a href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener">$</a>
|
||||
</footer>
|
||||
|
||||
<button id="showNoticeAgain" style="display: none" class="dangerButton popupElement">__MSG_showNotice__</button>
|
||||
</div>
|
||||
<!-- Scripts that need to load after the html -->
|
||||
<script src="./js/vendor.js" async></script>
|
||||
<script src="./js/popup.js" async></script>
|
||||
</body>
|
||||
<!-- Scripts that need to load after the html -->
|
||||
<script src="./js/vendor.js" async></script>
|
||||
<script src="./js/popup.js" async></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -164,11 +164,7 @@ async function asyncRequestToServer(type: string, address: string, data = {}) {
|
||||
async function sendRequestToCustomServer(type: string, url: string, data = {}) {
|
||||
// If GET, convert JSON to parameters
|
||||
if (type.toLowerCase() === "get") {
|
||||
for (const key in data) {
|
||||
const seperator = url.includes("?") ? "&" : "?";
|
||||
const value = (typeof(data[key]) === "string") ? data[key]: JSON.stringify(data[key]);
|
||||
url += seperator + key + "=" + value;
|
||||
}
|
||||
url = utils.objectToURI(url, data, true);
|
||||
|
||||
data = null;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import * as React from "react";
|
||||
import Config from "../config";
|
||||
|
||||
export interface NoticeProps {
|
||||
noticeTitle: string,
|
||||
@@ -42,7 +43,7 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
|
||||
const maxCountdownTime = () => {
|
||||
if (this.props.maxCountdownTime) return this.props.maxCountdownTime();
|
||||
else return 4;
|
||||
else return Config.config.skipNoticeDuration;
|
||||
};
|
||||
|
||||
//the id for the setInterval running the countdown
|
||||
|
||||
@@ -98,8 +98,8 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
messageOnClick: null,
|
||||
|
||||
//the countdown until this notice closes
|
||||
maxCountdownTime: () => 4,
|
||||
countdownTime: 4,
|
||||
maxCountdownTime: () => Config.config.skipNoticeDuration,
|
||||
countdownTime: Config.config.skipNoticeDuration,
|
||||
countdownText: null,
|
||||
|
||||
unskipText: chrome.i18n.getMessage("unskip"),
|
||||
@@ -242,8 +242,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
<select id={"sponsorTimeCategories" + this.idSuffix}
|
||||
className="sponsorTimeCategories"
|
||||
defaultValue={this.segments[0].category} //Just default to the first segment, as we don't know which they'll choose
|
||||
ref={this.categoryOptionRef}
|
||||
onChange={this.categorySelectionChange.bind(this)}>
|
||||
ref={this.categoryOptionRef}>
|
||||
|
||||
{this.getCategoryOptions()}
|
||||
</select>
|
||||
@@ -314,11 +313,15 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
|
||||
for (let i = 0; i < this.state.messages.length; i++) {
|
||||
elements.push(
|
||||
<NoticeTextSelectionComponent idSuffix={this.idSuffix}
|
||||
text={this.state.messages[i]}
|
||||
onClick={this.state.messageOnClick}
|
||||
key={i}>
|
||||
</NoticeTextSelectionComponent>
|
||||
<tr>
|
||||
<td>
|
||||
<NoticeTextSelectionComponent idSuffix={this.idSuffix}
|
||||
text={this.state.messages[i]}
|
||||
onClick={this.state.messageOnClick}
|
||||
key={i + "_messageBox"}>
|
||||
</NoticeTextSelectionComponent>
|
||||
</td>
|
||||
</tr>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -388,21 +391,11 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
getCategoryOptions(): React.ReactElement[] {
|
||||
const elements = [];
|
||||
|
||||
for (const category of Config.config.categorySelections) {
|
||||
for (const category of CompileConfig.categoryList) {
|
||||
elements.push(
|
||||
<option value={category.name}
|
||||
key={category.name}>
|
||||
{chrome.i18n.getMessage("category_" + category.name)}
|
||||
</option>
|
||||
);
|
||||
}
|
||||
|
||||
if (elements.length < CompileConfig.categoryList.length) {
|
||||
// Add show more button
|
||||
elements.push(
|
||||
<option value={"moreCategories"}
|
||||
key={"moreCategories"}>
|
||||
{chrome.i18n.getMessage("moreCategories")}
|
||||
<option value={category}
|
||||
key={category}>
|
||||
{chrome.i18n.getMessage("category_" + category)}
|
||||
</option>
|
||||
);
|
||||
}
|
||||
@@ -410,18 +403,6 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
return elements;
|
||||
}
|
||||
|
||||
categorySelectionChange(event: React.ChangeEvent<HTMLSelectElement>): void {
|
||||
// See if show more categories was pressed
|
||||
if (event.target.value === "moreCategories") {
|
||||
// Open options page
|
||||
chrome.runtime.sendMessage({"message": "openConfig"});
|
||||
|
||||
// Reset option to original
|
||||
event.target.value = this.segments[0].category;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
unskip(index: number): void {
|
||||
this.contentContainer().unskipSponsorTime(this.segments[index]);
|
||||
|
||||
@@ -441,7 +422,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
const sponsorTime = this.segments[index];
|
||||
const duration = Math.round((sponsorTime.segment[1] - this.contentContainer().v.currentTime) * (1 / this.contentContainer().v.playbackRate));
|
||||
|
||||
return Math.max(duration, 4);
|
||||
return Math.max(duration, Config.config.skipNoticeDuration);
|
||||
};
|
||||
|
||||
return {
|
||||
@@ -460,8 +441,8 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
unskipText: chrome.i18n.getMessage("unskip"),
|
||||
unskipCallback: this.unskip.bind(this),
|
||||
|
||||
maxCountdownTime: () => 4,
|
||||
countdownTime: 4
|
||||
maxCountdownTime: () => Config.config.skipNoticeDuration,
|
||||
countdownTime: Config.config.skipNoticeDuration
|
||||
};
|
||||
|
||||
// See if the title should be changed
|
||||
|
||||
@@ -334,7 +334,7 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
const skipTime = sponsorTimes[index].segment[0];
|
||||
|
||||
this.props.contentContainer().previewTime(skipTime + 0.000001, false);
|
||||
this.props.contentContainer().previewTime(skipTime + 0.0001, false);
|
||||
}
|
||||
|
||||
deleteTime(): void {
|
||||
|
||||
@@ -33,13 +33,15 @@ interface SBConfig {
|
||||
supportInvidious: boolean,
|
||||
serverAddress: string,
|
||||
minDuration: number,
|
||||
skipNoticeDuration: number,
|
||||
audioNotificationOnSkip,
|
||||
checkForUnlistedVideos: boolean,
|
||||
testingServer: boolean,
|
||||
refetchWhenNotFound: boolean,
|
||||
ytInfoPermissionGranted: boolean,
|
||||
askAboutUnlistedVideos: boolean,
|
||||
allowExpirements: boolean,
|
||||
autoHideInfoButton: boolean,
|
||||
autoSkipOnMusicVideos: boolean,
|
||||
|
||||
// What categories should be skipped
|
||||
categorySelections: CategorySelection[],
|
||||
@@ -171,13 +173,15 @@ const Config: SBObject = {
|
||||
supportInvidious: false,
|
||||
serverAddress: CompileConfig.serverAddress,
|
||||
minDuration: 0,
|
||||
skipNoticeDuration: 4,
|
||||
audioNotificationOnSkip: false,
|
||||
checkForUnlistedVideos: false,
|
||||
testingServer: false,
|
||||
refetchWhenNotFound: true,
|
||||
ytInfoPermissionGranted: false,
|
||||
askAboutUnlistedVideos: true,
|
||||
allowExpirements: true,
|
||||
autoHideInfoButton: true,
|
||||
autoSkipOnMusicVideos: false,
|
||||
|
||||
categorySelections: [{
|
||||
name: "sponsor",
|
||||
@@ -341,6 +345,22 @@ function fetchConfig(): Promise<void> {
|
||||
}
|
||||
|
||||
function migrateOldFormats(config: SBConfig) {
|
||||
if (config["askAboutUnlistedVideos"]) {
|
||||
chrome.storage.sync.remove("askAboutUnlistedVideos");
|
||||
}
|
||||
|
||||
if (!config["autoSkipOnMusicVideosUpdate"]) {
|
||||
config["autoSkipOnMusicVideosUpdate"] = true;
|
||||
for (const selection of config.categorySelections) {
|
||||
if (selection.name === "music_offtopic"
|
||||
&& selection.option === CategorySkipOption.AutoSkip) {
|
||||
|
||||
config.autoSkipOnMusicVideos = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Adding preview category
|
||||
if (!config["previewCategoryUpdate"]) {
|
||||
config["previewCategoryUpdate"] = true;
|
||||
|
||||
302
src/content.ts
@@ -1,6 +1,6 @@
|
||||
import Config from "./config";
|
||||
|
||||
import { SponsorTime, CategorySkipOption, VideoID, SponsorHideType, FetchResponse, VideoInfo, StorageChangesObject, ChannelIDInfo, ChannelIDStatus } from "./types";
|
||||
import { SponsorTime, CategorySkipOption, VideoID, SponsorHideType, VideoInfo, StorageChangesObject, ChannelIDInfo, ChannelIDStatus, SponsorSourceType } from "./types";
|
||||
|
||||
import { ContentContainer } from "./types";
|
||||
import Utils from "./utils";
|
||||
@@ -13,7 +13,7 @@ import SkipNotice from "./render/SkipNotice";
|
||||
import SkipNoticeComponent from "./components/SkipNoticeComponent";
|
||||
import SubmissionNotice from "./render/SubmissionNotice";
|
||||
import { Message, MessageResponse } from "./messageTypes";
|
||||
import GenericNotice from "./render/GenericNotice";
|
||||
import * as Chat from "./js-components/chat";
|
||||
|
||||
// Hack to get the CSS loaded on permission-based sites (Invidious)
|
||||
utils.wait(() => Config.config !== null, 5000, 10).then(addCSS);
|
||||
@@ -45,6 +45,7 @@ let video: HTMLVideoElement;
|
||||
let videoMutationObserver: MutationObserver = null;
|
||||
// List of videos that have had event listeners added to them
|
||||
const videosWithEventListeners: HTMLVideoElement[] = [];
|
||||
const controlsWithEventListeners: HTMLElement[] = []
|
||||
|
||||
let onInvidious;
|
||||
let onMobileYouTube;
|
||||
@@ -73,7 +74,7 @@ let previewBar: PreviewBar = null;
|
||||
let controls: HTMLElement | null = null;
|
||||
|
||||
/** Contains buttons created by `createButton()`. */
|
||||
const playerButtons: Record<string, {button: HTMLButtonElement, image: HTMLImageElement}> = {};
|
||||
const playerButtons: Record<string, {button: HTMLButtonElement, image: HTMLImageElement, setupListener: boolean}> = {};
|
||||
|
||||
// Direct Links after the config is loaded
|
||||
utils.wait(() => Config.config !== null, 1000, 1).then(() => videoIDChange(getYouTubeVideoID(document.URL)));
|
||||
@@ -122,7 +123,7 @@ const manualSkipPercentCount = 0.5;
|
||||
//get messages from the background script and the popup
|
||||
chrome.runtime.onMessage.addListener(messageListener);
|
||||
|
||||
function messageListener(request: Message, sender: unknown, sendResponse: (response: MessageResponse) => void): void {
|
||||
function messageListener(request: Message, sender: unknown, sendResponse: (response: MessageResponse) => void): void | boolean {
|
||||
//messages from popup script
|
||||
switch(request.message){
|
||||
case "update":
|
||||
@@ -143,7 +144,7 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
|
||||
sponsorTimes: sponsorTimes
|
||||
});
|
||||
|
||||
if (popupInitialised && document.getElementById("sponsorBlockPopupContainer") != null) {
|
||||
if (!request.updating && popupInitialised && document.getElementById("sponsorBlockPopupContainer") != null) {
|
||||
//the popup should be closed now that another is opening
|
||||
closeInfoMenu();
|
||||
}
|
||||
@@ -177,6 +178,13 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
|
||||
case "submitTimes":
|
||||
submitSponsorTimes();
|
||||
break;
|
||||
case "refreshSegments":
|
||||
sponsorsLookup(sponsorVideoID, false).then(() => sendResponse({
|
||||
found: sponsorDataFound,
|
||||
sponsorTimes: sponsorTimes
|
||||
}));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,6 +216,7 @@ function resetValues() {
|
||||
//reset sponsor times
|
||||
sponsorTimes = null;
|
||||
sponsorLookupRetries = 0;
|
||||
sponsorSkipped = [];
|
||||
|
||||
videoInfo = null;
|
||||
channelWhitelisted = false;
|
||||
@@ -235,6 +244,10 @@ function resetValues() {
|
||||
|
||||
// Reset advert playing flag
|
||||
isAdPlaying = false;
|
||||
|
||||
for (let i = 0; i < skipNotices.length; i++) {
|
||||
skipNotices.pop().close();
|
||||
}
|
||||
}
|
||||
|
||||
async function videoIDChange(id) {
|
||||
@@ -272,9 +285,6 @@ async function videoIDChange(id) {
|
||||
// Update whitelist data when the video data is loaded
|
||||
whitelistCheck();
|
||||
|
||||
// Temporary expirement
|
||||
unlistedCheck();
|
||||
|
||||
//setup the preview bar
|
||||
if (previewBar === null) {
|
||||
if (onMobileYouTube) {
|
||||
@@ -420,7 +430,7 @@ function startSponsorSchedule(includeIntersectingSegments = false, currentTime?:
|
||||
skippingSegments = [];
|
||||
|
||||
for (const segment of skipInfo.array) {
|
||||
if (utils.getCategorySelection(segment.category).option === CategorySkipOption.AutoSkip &&
|
||||
if (shouldAutoSkip(segment) &&
|
||||
segment.segment[0] >= skipTime[0] && segment.segment[1] <= skipTime[1]) {
|
||||
skippingSegments.push(segment);
|
||||
}
|
||||
@@ -568,7 +578,7 @@ function setupVideoListeners() {
|
||||
}
|
||||
}
|
||||
|
||||
async function sponsorsLookup(id: string) {
|
||||
async function sponsorsLookup(id: string, keepOldSubmissions = true) {
|
||||
if (!video) refreshVideoAttachments();
|
||||
//there is still no video here
|
||||
if (!video) {
|
||||
@@ -589,43 +599,46 @@ async function sponsorsLookup(id: string) {
|
||||
|
||||
// Check for hashPrefix setting
|
||||
const hashPrefix = (await utils.getHash(id, 1)).substr(0, 4);
|
||||
utils.asyncRequestToServer('GET', "/api/skipSegments/" + hashPrefix, {
|
||||
categories
|
||||
}).then(async (response: FetchResponse) => {
|
||||
if (response?.ok) {
|
||||
const recievedSegments: SponsorTime[] = JSON.parse(response.responseText)
|
||||
?.filter((video) => video.videoID === id)
|
||||
?.map((video) => video.segments)[0];
|
||||
if (!recievedSegments || !recievedSegments.length) {
|
||||
// return if no video found
|
||||
retryFetch();
|
||||
return;
|
||||
}
|
||||
const response = await utils.asyncRequestToServer('GET', "/api/skipSegments/" + hashPrefix, {
|
||||
categories,
|
||||
userAgent: `${chrome.runtime.id}`
|
||||
});
|
||||
|
||||
sponsorDataFound = true;
|
||||
if (response?.ok) {
|
||||
const recievedSegments: SponsorTime[] = JSON.parse(response.responseText)
|
||||
?.filter((video) => video.videoID === id)
|
||||
?.map((video) => video.segments)[0];
|
||||
if (!recievedSegments || !recievedSegments.length) {
|
||||
// return if no video found
|
||||
retryFetch();
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if any old submissions should be kept
|
||||
if (sponsorTimes !== null) {
|
||||
for (let i = 0; i < sponsorTimes.length; i++) {
|
||||
if (sponsorTimes[i].UUID === null) {
|
||||
// This is a user submission, keep it
|
||||
recievedSegments.push(sponsorTimes[i]);
|
||||
}
|
||||
sponsorDataFound = true;
|
||||
|
||||
// Check if any old submissions should be kept
|
||||
if (sponsorTimes !== null && keepOldSubmissions) {
|
||||
for (let i = 0; i < sponsorTimes.length; i++) {
|
||||
if (sponsorTimes[i].source === SponsorSourceType.Local) {
|
||||
// This is a user submission, keep it
|
||||
recievedSegments.push(sponsorTimes[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const oldSegments = sponsorTimes || [];
|
||||
sponsorTimes = recievedSegments;
|
||||
const oldSegments = sponsorTimes || [];
|
||||
sponsorTimes = recievedSegments;
|
||||
|
||||
// Hide all submissions smaller than the minimum duration
|
||||
if (Config.config.minDuration !== 0) {
|
||||
for (let i = 0; i < sponsorTimes.length; i++) {
|
||||
if (sponsorTimes[i].segment[1] - sponsorTimes[i].segment[0] < Config.config.minDuration) {
|
||||
sponsorTimes[i].hidden = SponsorHideType.MinimumDuration;
|
||||
}
|
||||
// Hide all submissions smaller than the minimum duration
|
||||
if (Config.config.minDuration !== 0) {
|
||||
for (let i = 0; i < sponsorTimes.length; i++) {
|
||||
if (sponsorTimes[i].segment[1] - sponsorTimes[i].segment[0] < Config.config.minDuration) {
|
||||
sponsorTimes[i].hidden = SponsorHideType.MinimumDuration;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (keepOldSubmissions) {
|
||||
for (const segment of oldSegments) {
|
||||
const otherSegment = sponsorTimes.find((other) => segment.UUID === other.UUID);
|
||||
if (otherSegment) {
|
||||
@@ -634,37 +647,34 @@ async function sponsorsLookup(id: string) {
|
||||
otherSegment.category = segment.category;
|
||||
}
|
||||
}
|
||||
|
||||
startSkipScheduleCheckingForStartSponsors();
|
||||
|
||||
// Reset skip save
|
||||
sponsorSkipped = [];
|
||||
|
||||
//update the preview bar
|
||||
//leave the type blank for now until categories are added
|
||||
if (lastPreviewBarUpdate == id || (lastPreviewBarUpdate == null && !isNaN(video.duration))) {
|
||||
//set it now
|
||||
//otherwise the listener can handle it
|
||||
updatePreviewBar();
|
||||
}
|
||||
|
||||
sponsorLookupRetries = 0;
|
||||
} else if (response?.status === 404) {
|
||||
retryFetch();
|
||||
} else if (sponsorLookupRetries < 15 && !recheckStarted) {
|
||||
recheckStarted = true;
|
||||
|
||||
//TODO lower when server becomes better (back to 1 second)
|
||||
//some error occurred, try again in a second
|
||||
setTimeout(() => {
|
||||
if (sponsorVideoID && sponsorTimes?.length === 0) {
|
||||
sponsorsLookup(sponsorVideoID);
|
||||
}
|
||||
}, 5000 + Math.random() * 15000 + 5000 * sponsorLookupRetries);
|
||||
|
||||
sponsorLookupRetries++;
|
||||
}
|
||||
});
|
||||
|
||||
startSkipScheduleCheckingForStartSponsors();
|
||||
|
||||
//update the preview bar
|
||||
//leave the type blank for now until categories are added
|
||||
if (lastPreviewBarUpdate == id || (lastPreviewBarUpdate == null && !isNaN(video.duration))) {
|
||||
//set it now
|
||||
//otherwise the listener can handle it
|
||||
updatePreviewBar();
|
||||
}
|
||||
|
||||
sponsorLookupRetries = 0;
|
||||
} else if (response?.status === 404) {
|
||||
retryFetch();
|
||||
} else if (sponsorLookupRetries < 15 && !recheckStarted) {
|
||||
recheckStarted = true;
|
||||
|
||||
//TODO lower when server becomes better (back to 1 second)
|
||||
//some error occurred, try again in a second
|
||||
setTimeout(() => {
|
||||
if (sponsorVideoID && sponsorTimes?.length === 0) {
|
||||
sponsorsLookup(sponsorVideoID);
|
||||
}
|
||||
}, 5000 + Math.random() * 15000 + 5000 * sponsorLookupRetries);
|
||||
|
||||
sponsorLookupRetries++;
|
||||
}
|
||||
}
|
||||
|
||||
function retryFetch(): void {
|
||||
@@ -848,7 +858,7 @@ async function whitelistCheck() {
|
||||
|
||||
channelIDInfo = {
|
||||
status: ChannelIDStatus.Found,
|
||||
id: getChannelID()
|
||||
id: getChannelID().match(/^\/?([^\s/]+)/)[0]
|
||||
}
|
||||
} catch (e) {
|
||||
channelIDInfo = {
|
||||
@@ -860,7 +870,8 @@ async function whitelistCheck() {
|
||||
}
|
||||
|
||||
//see if this is a whitelisted channel
|
||||
if (whitelistedChannels != undefined && whitelistedChannels.includes(getChannelID())) {
|
||||
if (whitelistedChannels != undefined &&
|
||||
channelIDInfo.status === ChannelIDStatus.Found && whitelistedChannels.includes(channelIDInfo.id)) {
|
||||
channelWhitelisted = true;
|
||||
}
|
||||
|
||||
@@ -868,66 +879,6 @@ async function whitelistCheck() {
|
||||
if (Config.config.forceChannelCheck && sponsorTimes?.length > 0) startSkipScheduleCheckingForStartSponsors();
|
||||
}
|
||||
|
||||
async function unlistedCheck() {
|
||||
if (!Config.config.allowExpirements || !Config.config.askAboutUnlistedVideos) return;
|
||||
|
||||
try {
|
||||
await utils.wait(() => !!videoInfo && !!document.getElementById("info-text")
|
||||
&& !!document.querySelector(".ytd-video-primary-info-renderer > .badge > yt-icon > svg"), 6000, 1000);
|
||||
|
||||
const isUnlisted = document.querySelector(".ytd-video-primary-info-renderer > .badge > yt-icon > svg > g > path")
|
||||
?.getAttribute("d")?.includes("M3.9 12c0-1.71 1.39-3.1 3.1-3.1h"); // Icon of unlisted badge
|
||||
const yearMatches = document.querySelector("#info-text > #info-strings > yt-formatted-string")
|
||||
?.innerHTML?.match(/20[0-9]{2}/);
|
||||
const year = yearMatches ? parseInt(yearMatches[0]) : -1;
|
||||
const isOld = !isNaN(year) && year < 2017 && year > 2004;
|
||||
const views = parseInt(videoInfo?.videoDetails?.viewCount);
|
||||
const isHighViews = views > 15000;
|
||||
|
||||
if (isUnlisted && isOld && isHighViews) {
|
||||
// Ask if they want to submit this videoID
|
||||
const notice = new GenericNotice(skipNoticeContentContainer, "unlistedWarning", {
|
||||
title: chrome.i18n.getMessage("experimentUnlistedTitle"),
|
||||
textBoxes: chrome.i18n.getMessage("experimentUnlistedText").split("\n"),
|
||||
buttons: [
|
||||
{
|
||||
name: chrome.i18n.getMessage("experiementOptOut"),
|
||||
listener: () => {
|
||||
Config.config.allowExpirements = false;
|
||||
|
||||
notice.close();
|
||||
}
|
||||
},
|
||||
{
|
||||
name: chrome.i18n.getMessage("hideForever"),
|
||||
listener: () => {
|
||||
Config.config.askAboutUnlistedVideos = false;
|
||||
|
||||
notice.close();
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Submit",
|
||||
listener: () => {
|
||||
utils.asyncRequestToServer("POST", "/api/unlistedVideo", {
|
||||
videoID: sponsorVideoID,
|
||||
year,
|
||||
views,
|
||||
channelID: channelIDInfo.status === ChannelIDStatus.Found ? channelIDInfo.id : undefined
|
||||
});
|
||||
|
||||
notice.close();
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns info about the next upcoming sponsor skip
|
||||
*/
|
||||
@@ -980,7 +931,7 @@ function getNextSkipIndex(currentTime: number, includeIntersectingSegments: bool
|
||||
function getLatestEndTimeIndex(sponsorTimes: SponsorTime[], index: number, hideHiddenSponsors = true): number {
|
||||
// Only combine segments for AutoSkip
|
||||
if (index == -1 ||
|
||||
utils.getCategorySelection(sponsorTimes[index].category)?.option !== CategorySkipOption.AutoSkip) return index;
|
||||
shouldAutoSkip(sponsorTimes[index])) return index;
|
||||
|
||||
// Default to the normal endTime
|
||||
let latestEndTimeIndex = index;
|
||||
@@ -991,7 +942,7 @@ function getLatestEndTimeIndex(sponsorTimes: SponsorTime[], index: number, hideH
|
||||
|
||||
if (currentSegment[0] <= latestEndTime && currentSegment[1] > latestEndTime
|
||||
&& (!hideHiddenSponsors || sponsorTimes[i].hidden === SponsorHideType.Visible)
|
||||
&& utils.getCategorySelection(sponsorTimes[i].category).option === CategorySkipOption.AutoSkip) {
|
||||
&& shouldAutoSkip(sponsorTimes[i])) {
|
||||
// Overlapping segment
|
||||
latestEndTimeIndex = i;
|
||||
}
|
||||
@@ -1072,7 +1023,7 @@ function sendTelemetryAndCount(skippingSegments: SponsorTime[], secondsSkipped:
|
||||
//skip from the start time to the end time for a certain index sponsor time
|
||||
function skipToTime(v: HTMLVideoElement, skipTime: number[], skippingSegments: SponsorTime[], openNotice: boolean) {
|
||||
// There will only be one submission if it is manual skip
|
||||
const autoSkip: boolean = utils.getCategorySelection(skippingSegments[0].category)?.option === CategorySkipOption.AutoSkip;
|
||||
const autoSkip: boolean = shouldAutoSkip(skippingSegments[0]);
|
||||
|
||||
if ((autoSkip || sponsorTimesSubmitting.includes(skippingSegments[0])) && v.currentTime !== skipTime[1]) {
|
||||
// Fix for looped videos not working when skipping to the end #426
|
||||
@@ -1144,11 +1095,17 @@ function createButton(baseID: string, title: string, callback: () => void, image
|
||||
playerButtons[baseID] = {
|
||||
button: newButton,
|
||||
image: newButtonImage,
|
||||
setupListener: false
|
||||
};
|
||||
|
||||
return newButton;
|
||||
}
|
||||
|
||||
function shouldAutoSkip(segment: SponsorTime): boolean {
|
||||
return utils.getCategorySelection(segment.category)?.option === CategorySkipOption.AutoSkip ||
|
||||
(Config.config.autoSkipOnMusicVideos && sponsorTimes.some((s) => s.category === "music_offtopic"));
|
||||
}
|
||||
|
||||
function getControls(): HTMLElement | false {
|
||||
const controlsSelectors = [
|
||||
// YouTube
|
||||
@@ -1179,9 +1136,24 @@ async function createButtons(): Promise<void> {
|
||||
// Add button if does not already exist in html
|
||||
createButton("startSegment", "sponsorStart", () => closeInfoMenuAnd(() => startOrEndTimingNewSegment()), "PlayerStartIconSponsorBlocker.svg");
|
||||
createButton("cancelSegment", "sponsorCancel", () => closeInfoMenuAnd(() => cancelCreatingSegment()), "PlayerCancelSegmentIconSponsorBlocker.svg");
|
||||
createButton("info", "openPopup", openInfoMenu, "PlayerInfoIconSponsorBlocker.svg");
|
||||
createButton("delete", "clearTimes", () => closeInfoMenuAnd(() => clearSponsorTimes()), "PlayerDeleteIconSponsorBlocker.svg");
|
||||
createButton("submit", "SubmitTimes", submitSponsorTimes, "PlayerUploadIconSponsorBlocker.svg");
|
||||
createButton("info", "openPopup", openInfoMenu, "PlayerInfoIconSponsorBlocker.svg");
|
||||
|
||||
const controlsContainer = getControls();
|
||||
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");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/** Creates any missing buttons on the player and updates their visiblity. */
|
||||
@@ -1265,6 +1237,7 @@ function startOrEndTimingNewSegment() {
|
||||
segment: [getRealCurrentTime()],
|
||||
UUID: null,
|
||||
category: Config.config.defaultCategory,
|
||||
source: SponsorSourceType.Local
|
||||
});
|
||||
} else {
|
||||
// Finish creating the new segment
|
||||
@@ -1318,8 +1291,9 @@ function updateSponsorTimesSubmitting(getFromConfig = true) {
|
||||
for (const segmentTime of segmentTimes) {
|
||||
sponsorTimesSubmitting.push({
|
||||
segment: segmentTime.segment,
|
||||
UUID: null,
|
||||
category: segmentTime.category
|
||||
UUID: segmentTime.UUID,
|
||||
category: segmentTime.category,
|
||||
source: segmentTime.source
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1353,9 +1327,11 @@ function openInfoMenu() {
|
||||
let htmlData = xmlhttp.responseText;
|
||||
// Hack to replace head data (title, favicon)
|
||||
htmlData = htmlData.replace(/<head>[\S\s]*<\/head>/gi, "");
|
||||
// Hack to replace body tag with div
|
||||
// Hack to replace body and html tag with div
|
||||
htmlData = htmlData.replace(/<body/gi, "<div");
|
||||
htmlData = htmlData.replace(/<\/body/gi, "</div");
|
||||
htmlData = htmlData.replace(/<html/gi, "<div");
|
||||
htmlData = htmlData.replace(/<\/html/gi, "</div");
|
||||
|
||||
popup.innerHTML = htmlData;
|
||||
|
||||
@@ -1389,11 +1365,12 @@ function openInfoMenu() {
|
||||
const settings = <HTMLImageElement> popup.querySelector("#sbPopupIconSettings");
|
||||
const edit = <HTMLImageElement> popup.querySelector("#sbPopupIconEdit");
|
||||
const check = <HTMLImageElement> popup.querySelector("#sbPopupIconCheck");
|
||||
const refreshSegments = <HTMLImageElement> popup.querySelector("#refreshSegments");
|
||||
logo.src = chrome.extension.getURL("icons/IconSponsorBlocker256px.png");
|
||||
settings.src = chrome.extension.getURL("icons/settings.svg");
|
||||
edit.src = chrome.extension.getURL("icons/pencil.svg");
|
||||
check.src = chrome.extension.getURL("icons/check.svg");
|
||||
check.src = chrome.extension.getURL("icons/thumb.svg");
|
||||
refreshSegments.src = chrome.extension.getURL("icons/refresh.svg");
|
||||
|
||||
parentNode.insertBefore(popup, parentNode.firstChild);
|
||||
|
||||
@@ -1490,7 +1467,15 @@ function vote(type: number, UUID: string, category?: string, skipNotice?: SkipNo
|
||||
//success (treat rate limits as a success)
|
||||
skipNotice.afterVote.bind(skipNotice)(utils.getSponsorTimeFromUUID(sponsorTimes, UUID), type, category);
|
||||
} else if (response.successType == -1) {
|
||||
skipNotice.setNoticeInfoMessage.bind(skipNotice)(utils.getErrorMessage(response.statusCode, response.responseText))
|
||||
if (response.statusCode === 403 && response.responseText.startsWith("Vote rejected due to a warning from a moderator.")) {
|
||||
skipNotice.setNoticeInfoMessageWithOnClick.bind(skipNotice)(() => {
|
||||
Chat.openWarningChat(response.responseText);
|
||||
skipNotice.closeListener.call(skipNotice);
|
||||
}, chrome.i18n.getMessage("voteRejectedWarning"));
|
||||
} else {
|
||||
skipNotice.setNoticeInfoMessage.bind(skipNotice)(utils.getErrorMessage(response.statusCode, response.responseText))
|
||||
}
|
||||
|
||||
skipNotice.resetVoteButtonInfo.bind(skipNotice)();
|
||||
}
|
||||
}
|
||||
@@ -1533,7 +1518,7 @@ function submitSponsorTimes() {
|
||||
async function sendSubmitMessage() {
|
||||
// Add loading animation
|
||||
playerButtons.submit.image.src = chrome.extension.getURL("icons/PlayerUploadIconSponsorBlocker.svg");
|
||||
playerButtons.submit.button.style.animation = "rotate 1s 0s infinite";
|
||||
const stopAnimation = utils.applyLoadingAnimation(playerButtons.submit.button, 1, () => updateEditButtonsOnPlayer());
|
||||
|
||||
//check if a sponsor exceeds the duration of the video
|
||||
for (let i = 0; i < sponsorTimesSubmitting.length; i++) {
|
||||
@@ -1561,31 +1546,28 @@ async function sendSubmitMessage() {
|
||||
videoID: sponsorVideoID,
|
||||
userID: Config.config.userID,
|
||||
segments: sponsorTimesSubmitting,
|
||||
videoDuration: video?.duration,
|
||||
userAgent: `${chrome.runtime.id}/v${chrome.runtime.getManifest().version}`
|
||||
});
|
||||
|
||||
if (response.status === 200) {
|
||||
// Handle submission success
|
||||
const submitButton = playerButtons.submit.button;
|
||||
|
||||
// Make the animation finite
|
||||
submitButton.style.animation = "rotate 1s";
|
||||
|
||||
// When the animation is over, hide the button
|
||||
const animationEndListener = () => {
|
||||
updateEditButtonsOnPlayer();
|
||||
|
||||
submitButton.style.animation = "none";
|
||||
|
||||
submitButton.removeEventListener("animationend", animationEndListener);
|
||||
};
|
||||
|
||||
submitButton.addEventListener("animationend", animationEndListener);
|
||||
stopAnimation();
|
||||
|
||||
// Remove segments from storage since they've already been submitted
|
||||
Config.config.segmentTimes.delete(sponsorVideoID);
|
||||
|
||||
const newSegments = sponsorTimesSubmitting;
|
||||
try {
|
||||
const recievedNewSegments = JSON.parse(response.responseText);
|
||||
if (recievedNewSegments?.length === newSegments.length) {
|
||||
for (let i = 0; i < recievedNewSegments.length; i++) {
|
||||
newSegments[i].UUID = recievedNewSegments[i].UUID;
|
||||
}
|
||||
}
|
||||
} catch(e) {} // eslint-disable-line no-empty
|
||||
|
||||
// Add submissions to current sponsors list
|
||||
sponsorTimes = (sponsorTimes || []).concat(sponsorTimesSubmitting);
|
||||
sponsorTimes = (sponsorTimes || []).concat(newSegments);
|
||||
|
||||
// Increase contribution count
|
||||
Config.config.sponsorTimesContributed = Config.config.sponsorTimesContributed + sponsorTimesSubmitting.length;
|
||||
@@ -1603,7 +1585,11 @@ async function sendSubmitMessage() {
|
||||
playerButtons.submit.button.style.animation = "unset";
|
||||
playerButtons.submit.image.src = chrome.extension.getURL("icons/PlayerUploadFailedIconSponsorBlocker.svg");
|
||||
|
||||
alert(utils.getErrorMessage(response.status, response.responseText));
|
||||
if (response.status === 403 && response.responseText.startsWith("Submission rejected due to a warning from a moderator.")) {
|
||||
Chat.openWarningChat(response.responseText);
|
||||
} else {
|
||||
alert(utils.getErrorMessage(response.status, response.responseText));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
45
src/js-components/chat.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import Config from "../config";
|
||||
import Utils from "../utils";
|
||||
const utils = new Utils();
|
||||
|
||||
export interface ChatConfig {
|
||||
displayName: string,
|
||||
composerInitialValue?: string,
|
||||
customDescription?: string
|
||||
}
|
||||
|
||||
export function openChat(config: ChatConfig): void {
|
||||
const chat = document.createElement("div");
|
||||
chat.classList.add("sbChatNotice");
|
||||
chat.style.zIndex = "2000";
|
||||
|
||||
const iframe= document.createElement("iframe");
|
||||
iframe.src = "https://chat.sponsor.ajay.app/#" + utils.objectToURI("", config, false);
|
||||
chat.appendChild(iframe);
|
||||
|
||||
const closeButton = document.createElement("img");
|
||||
closeButton.classList.add("sbChatClose");
|
||||
closeButton.src = chrome.extension.getURL("icons/close.png");
|
||||
closeButton.addEventListener("click", () => {
|
||||
chat.remove();
|
||||
closeButton.remove();
|
||||
});
|
||||
chat.appendChild(closeButton);
|
||||
|
||||
const referenceNode = utils.findReferenceNode();
|
||||
referenceNode.prepend(chat);
|
||||
}
|
||||
|
||||
export async function openWarningChat(warningMessage: string): Promise<void> {
|
||||
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.` +
|
||||
warningReasonMatch ? ` Warning reason: ${warningReasonMatch[1]}` : ``,
|
||||
customDescription: chrome.i18n.getMessage("warningChatInfo")
|
||||
});
|
||||
}
|
||||
@@ -12,11 +12,11 @@ interface DefaultMessage {
|
||||
message:
|
||||
"update"
|
||||
| "sponsorStart"
|
||||
| "isInfoFound"
|
||||
| "getVideoID"
|
||||
| "getChannelID"
|
||||
| "isChannelWhitelisted"
|
||||
| "submitTimes";
|
||||
| "submitTimes"
|
||||
| "refreshSegments";
|
||||
}
|
||||
|
||||
interface BoolValueMessage {
|
||||
@@ -24,7 +24,12 @@ interface BoolValueMessage {
|
||||
value: boolean;
|
||||
}
|
||||
|
||||
export type Message = BaseMessage & (DefaultMessage | BoolValueMessage);
|
||||
interface IsInfoFoundMessage {
|
||||
message: "isInfoFound";
|
||||
updating: boolean;
|
||||
}
|
||||
|
||||
export type Message = BaseMessage & (DefaultMessage | BoolValueMessage | IsInfoFoundMessage);
|
||||
|
||||
interface IsInfoFoundMessageResponse {
|
||||
found: boolean;
|
||||
@@ -52,5 +57,6 @@ export type MessageResponse =
|
||||
| GetVideoIdResponse
|
||||
| GetChannelIDResponse
|
||||
| SponsorStartResponse
|
||||
| IsChannelWhitelistedResponse;
|
||||
| IsChannelWhitelistedResponse
|
||||
| Record<string, never>;
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ async function init() {
|
||||
for (const element of document.getElementsByClassName("titleBar")) {
|
||||
element.classList.add("hidden");
|
||||
}
|
||||
|
||||
document.getElementById("options").classList.add("embed");
|
||||
}
|
||||
|
||||
if (!Config.configListeners.includes(optionsConfigUpdateListener)) {
|
||||
@@ -31,7 +33,9 @@ async function init() {
|
||||
const optionsElements = optionsContainer.querySelectorAll("*");
|
||||
|
||||
for (let i = 0; i < optionsElements.length; i++) {
|
||||
if (optionsElements[i].getAttribute("private-mode-only") === "true" && !(await isIncognitoAllowed())) {
|
||||
if ((optionsElements[i].getAttribute("private-mode-only") === "true" && !(await isIncognitoAllowed()))
|
||||
|| (optionsElements[i].getAttribute("no-safari") === "true" && navigator.vendor === "Apple Computer, Inc.")
|
||||
|| (optionsElements[i].getAttribute("if-false") && Config.config[optionsElements[i].getAttribute("if-false")])) {
|
||||
optionsElements[i].classList.add("hidden");
|
||||
continue;
|
||||
}
|
||||
@@ -488,6 +492,22 @@ function activatePrivateTextChange(element: HTMLElement) {
|
||||
}
|
||||
});
|
||||
|
||||
// See if anything extra must be done
|
||||
switch (option) {
|
||||
case "userID":
|
||||
utils.asyncRequestToServer("GET", "/api/userInfo", {
|
||||
userID: Config.config[option],
|
||||
values: ["warnings", "banned"]
|
||||
}).then((result) => {
|
||||
const userInfo = JSON.parse(result.responseText);
|
||||
if (userInfo.warnings > 0 || userInfo.banned) {
|
||||
setButton.classList.add("hidden");
|
||||
}
|
||||
});
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
element.querySelector(".option-hidden-section").classList.remove("hidden");
|
||||
}
|
||||
|
||||
|
||||
73
src/popup.ts
@@ -102,9 +102,16 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
"videoFound",
|
||||
"sponsorMessageTimes",
|
||||
//"downloadedSponsorMessageTimes",
|
||||
"refreshSegmentsButton",
|
||||
"whitelistButton",
|
||||
"sbDonate"
|
||||
].forEach(id => PageElements[id] = document.getElementById(id));
|
||||
|
||||
// Hide donate button on safari
|
||||
if (navigator.vendor === "Apple Computer, Inc.") {
|
||||
PageElements.sbDonate.style.display = "none";
|
||||
}
|
||||
|
||||
//setup click listeners
|
||||
PageElements.sponsorStart.addEventListener("click", sendSponsorStartMessage);
|
||||
PageElements.whitelistToggle.addEventListener("change", function() {
|
||||
@@ -125,6 +132,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
PageElements.submitUsername.addEventListener("click", submitUsername);
|
||||
PageElements.optionsButton.addEventListener("click", openOptions);
|
||||
PageElements.helpButton.addEventListener("click", openHelp);
|
||||
PageElements.refreshSegmentsButton.addEventListener("click", refreshSegments);
|
||||
|
||||
/** If true, the content script is in the process of creating a new segment. */
|
||||
let creatingSegment = false;
|
||||
@@ -226,18 +234,15 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
// Must be delayed so it only happens once loaded
|
||||
setTimeout(() => PageElements.sponsorblockPopup.classList.remove("preload"), 250);
|
||||
|
||||
messageHandler.query({
|
||||
active: true,
|
||||
currentWindow: true
|
||||
}, onTabs);
|
||||
getSegmentsFromContentScript(false);
|
||||
|
||||
function onTabs(tabs) {
|
||||
function onTabs(tabs, updating: boolean): void {
|
||||
messageHandler.sendMessage(tabs[0].id, {message: 'getVideoID'}, function(result) {
|
||||
if (result !== undefined && result.videoID) {
|
||||
currentVideoID = result.videoID;
|
||||
creatingSegment = result.creatingSegment;
|
||||
|
||||
loadTabData(tabs);
|
||||
loadTabData(tabs, updating);
|
||||
} else if (result === undefined && chrome.runtime.lastError) {
|
||||
//this isn't a YouTube video then, or at least the content script is not loaded
|
||||
displayNoVideo();
|
||||
@@ -245,29 +250,30 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
});
|
||||
}
|
||||
|
||||
function loadTabData(tabs) {
|
||||
function loadTabData(tabs, updating: boolean): void {
|
||||
if (!currentVideoID) {
|
||||
//this isn't a YouTube video then
|
||||
displayNoVideo();
|
||||
return;
|
||||
}
|
||||
|
||||
//load video times for this video
|
||||
const sponsorTimesStorage = Config.config.segmentTimes.get(currentVideoID);
|
||||
if (sponsorTimesStorage != undefined && sponsorTimesStorage.length > 0) {
|
||||
sponsorTimes = sponsorTimesStorage;
|
||||
}
|
||||
|
||||
sponsorTimes = Config.config.segmentTimes.get(currentVideoID) ?? [];
|
||||
updateSegmentEditingUI();
|
||||
|
||||
//check if this video's sponsors are known
|
||||
messageHandler.sendMessage(
|
||||
tabs[0].id,
|
||||
{message: 'isInfoFound'},
|
||||
{message: 'isInfoFound', updating},
|
||||
infoFound
|
||||
);
|
||||
}
|
||||
|
||||
function getSegmentsFromContentScript(updating: boolean): void {
|
||||
messageHandler.query({
|
||||
active: true,
|
||||
currentWindow: true
|
||||
}, (tabs) => onTabs(tabs, updating));
|
||||
}
|
||||
|
||||
function infoFound(request: {found: boolean, sponsorTimes: SponsorTime[]}) {
|
||||
if(chrome.runtime.lastError) {
|
||||
//This page doesn't have the injected content script, or at least not yet
|
||||
@@ -284,10 +290,12 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
|
||||
if (request.found) {
|
||||
PageElements.videoFound.innerHTML = chrome.i18n.getMessage("sponsorFound");
|
||||
PageElements.refreshSegmentsButton.classList.remove("hidden");
|
||||
|
||||
displayDownloadedSponsorTimes(request);
|
||||
} else {
|
||||
PageElements.videoFound.innerHTML = chrome.i18n.getMessage("sponsor404");
|
||||
PageElements.refreshSegmentsButton.classList.add("hidden");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -358,7 +366,6 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
//display the video times from the array at the top, in a different section
|
||||
function displayDownloadedSponsorTimes(request: {found: boolean, sponsorTimes: SponsorTime[]}) {
|
||||
if (request.sponsorTimes != undefined) {
|
||||
|
||||
// Sort list by start time
|
||||
const segmentTimes = request.sponsorTimes
|
||||
.sort((a, b) => a.segment[1] - b.segment[1])
|
||||
@@ -366,6 +373,10 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
|
||||
//add them as buttons to the issue reporting container
|
||||
const container = document.getElementById("issueReporterTimeButtons");
|
||||
while (container.firstChild) {
|
||||
container.removeChild(container.firstChild);
|
||||
}
|
||||
|
||||
for (let i = 0; i < segmentTimes.length; i++) {
|
||||
const UUID = segmentTimes[i].UUID;
|
||||
|
||||
@@ -408,13 +419,13 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
const upvoteButton = document.createElement("img");
|
||||
upvoteButton.id = "sponsorTimesUpvoteButtonsContainer" + UUID;
|
||||
upvoteButton.className = "voteButton";
|
||||
upvoteButton.src = chrome.extension.getURL("icons/thumbs_up.svg");
|
||||
upvoteButton.src = chrome.runtime.getURL("icons/thumbs_up.svg");
|
||||
upvoteButton.addEventListener("click", () => vote(1, UUID));
|
||||
|
||||
const downvoteButton = document.createElement("img");
|
||||
downvoteButton.id = "sponsorTimesDownvoteButtonsContainer" + UUID;
|
||||
downvoteButton.className = "voteButton";
|
||||
downvoteButton.src = chrome.extension.getURL("icons/thumbs_down.svg");
|
||||
downvoteButton.src = chrome.runtime.getURL("icons/thumbs_down.svg");
|
||||
downvoteButton.addEventListener("click", () => vote(0, UUID));
|
||||
|
||||
//uuid button
|
||||
@@ -422,8 +433,12 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
const uuidButton = document.createElement("img");
|
||||
uuidButton.id = "sponsorTimesCopyUUIDButtonContainer" + UUID;
|
||||
uuidButton.className = "voteButton";
|
||||
uuidButton.src = chrome.extension.getURL("icons/clipboard.svg");
|
||||
uuidButton.addEventListener("click", () => navigator.clipboard.writeText(UUID));
|
||||
uuidButton.src = chrome.runtime.getURL("icons/clipboard.svg");
|
||||
uuidButton.addEventListener("click", () => {
|
||||
navigator.clipboard.writeText(UUID);
|
||||
const stopAnimation = utils.applyLoadingAnimation(uuidButton, 0.3);
|
||||
stopAnimation();
|
||||
});
|
||||
|
||||
//add thumbs up, thumbs down and uuid copy buttons to the container
|
||||
voteButtonsContainer.appendChild(upvoteButton);
|
||||
@@ -670,6 +685,24 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
||||
});
|
||||
}
|
||||
|
||||
function refreshSegments() {
|
||||
const stopAnimation = utils.applyLoadingAnimation(PageElements.refreshSegmentsButton, 0.3);
|
||||
|
||||
messageHandler.query({
|
||||
active: true,
|
||||
currentWindow: true
|
||||
}, tabs => {
|
||||
messageHandler.sendMessage(
|
||||
tabs[0].id,
|
||||
{message: 'refreshSegments'},
|
||||
(response) => {
|
||||
infoFound(response);
|
||||
stopAnimation();
|
||||
}
|
||||
)}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Should skipping be disabled (visuals stay)
|
||||
*/
|
||||
|
||||
@@ -51,6 +51,11 @@ export enum SponsorHideType {
|
||||
MinimumDuration
|
||||
}
|
||||
|
||||
export enum SponsorSourceType {
|
||||
Server = undefined,
|
||||
Local = 1
|
||||
}
|
||||
|
||||
export interface SponsorTime {
|
||||
segment: [number] | [number, number];
|
||||
UUID: string;
|
||||
@@ -58,6 +63,7 @@ export interface SponsorTime {
|
||||
category: string;
|
||||
|
||||
hidden?: SponsorHideType;
|
||||
source?: SponsorSourceType;
|
||||
}
|
||||
|
||||
export interface PreviewBarOption {
|
||||
|
||||
52
src/utils.ts
@@ -158,6 +158,31 @@ export default class Utils {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts a spinning animation and returns a function to be called when it should be stopped
|
||||
* The callback will be called when the animation is finished
|
||||
* It waits until a full rotation is complete
|
||||
*/
|
||||
applyLoadingAnimation(element: HTMLElement, time: number, callback?: () => void): () => void {
|
||||
element.style.animation = `rotate ${time}s 0s infinite`;
|
||||
|
||||
return () => {
|
||||
// Make the animation finite
|
||||
element.style.animation = `rotate ${time}s`;
|
||||
|
||||
// When the animation is over, hide the button
|
||||
const animationEndListener = () => {
|
||||
if (callback) callback();
|
||||
|
||||
element.style.animation = "none";
|
||||
|
||||
element.removeEventListener("animationend", animationEndListener);
|
||||
};
|
||||
|
||||
element.addEventListener("animationend", animationEndListener);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges any overlapping timestamp ranges into single segments and returns them as a new array.
|
||||
*/
|
||||
@@ -244,7 +269,8 @@ export default class Utils {
|
||||
|
||||
getLocalizedMessage(text: string): string | false {
|
||||
const valNewH = text.replace(/__MSG_(\w+)__/g, function(match, v1) {
|
||||
return v1 ? chrome.i18n.getMessage(v1).replace("\n", "<br/>") : "";
|
||||
return v1 ? chrome.i18n.getMessage(v1).replace(/</g, "<")
|
||||
.replace(/"/g, """).replace(/\n/g, "<br/>") : "";
|
||||
});
|
||||
|
||||
if(valNewH != text) {
|
||||
@@ -389,6 +415,19 @@ export default class Utils {
|
||||
return referenceNode;
|
||||
}
|
||||
|
||||
objectToURI<T>(url: string, data: T, includeQuestionMark: boolean): string {
|
||||
let counter = 0;
|
||||
for (const key in data) {
|
||||
const seperator = (url.includes("?") || counter > 0) ? "&" : (includeQuestionMark ? "?" : "");
|
||||
const value = (typeof(data[key]) === "string") ? data[key] as unknown as string : JSON.stringify(data[key]);
|
||||
url += seperator + encodeURIComponent(key) + "=" + encodeURIComponent(value);
|
||||
|
||||
counter++;
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
getFormattedTime(seconds: number, precise?: boolean): string {
|
||||
const hours = Math.floor(seconds / 60 / 60);
|
||||
const minutes = Math.floor(seconds / 60) % 60;
|
||||
@@ -453,14 +492,13 @@ export default class Utils {
|
||||
async getHash(value: string, times = 5000): Promise<string> {
|
||||
if (times <= 0) return "";
|
||||
|
||||
let hashBuffer = new TextEncoder().encode(value).buffer;
|
||||
|
||||
let hashHex = value;
|
||||
for (let i = 0; i < times; i++) {
|
||||
hashBuffer = await crypto.subtle.digest('SHA-256', hashBuffer);
|
||||
}
|
||||
const hashBuffer = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(hashHex).buffer);
|
||||
|
||||
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
||||
const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
||||
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
||||
hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
||||
}
|
||||
|
||||
return hashHex;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"noImplicitAny": false,
|
||||
"sourceMap": false,
|
||||
"outDir": "dist/js",
|
||||
"noEmitOnError": true,
|
||||
"noEmitOnError": false,
|
||||
"typeRoots": [ "node_modules/@types" ],
|
||||
"resolveJsonModule": true,
|
||||
"jsx": "react"
|
||||
|
||||