Compare commits

...

850 Commits
4.6.1 ... 5.5.4

Author SHA1 Message Date
Ajay
fdf1a6acf9 bump version 2024-01-30 23:12:36 -05:00
Ajay
b533c6c1c8 update translations 2024-01-30 23:12:28 -05:00
Ajay
926423db5c Fix compatibility with vinegar on Safari 2024-01-30 23:12:03 -05:00
Ajay
e7d55d2bac Fix preview bar end time sometimes being inaccurate 2024-01-25 19:38:10 -05:00
Ajay
16f27e5c5c Move animation utils to maze utils 2024-01-24 16:21:31 -05:00
Ajay
88dc8db6e7 bump version 2024-01-23 14:27:05 -05:00
Ajay
c69a574379 update translations 2024-01-23 14:27:01 -05:00
Ajay
516d624f16 Don't require preview for segments ending at end of the video
Fixes #1959
2024-01-23 14:25:07 -05:00
Ajay
a662c3e04f Reloading after creating segments shouldn't require previewing 2024-01-23 14:22:54 -05:00
Ajay
985910cbf6 Count previewed unsubmitted segments previewed manually 2024-01-23 14:20:24 -05:00
Ajay
feae86f6ea Don't throw errors on extension live-update 2024-01-21 20:42:40 -05:00
Ajay
1f96e3b117 Improve precision of hover preview
Also fixes issue with YouTube "most-replayed" messing it up
2024-01-21 20:35:00 -05:00
Ajay
b3b5d46e4e bump version 2024-01-21 15:57:35 -05:00
Ajay
c996680a58 Fix category selection changes not saving 2024-01-21 15:57:22 -05:00
Ajay
ade4654ae0 bump version 2024-01-21 14:26:27 -05:00
Ajay
4e9e6282f6 update translations 2024-01-21 14:26:16 -05:00
Ajay
783326afca Use runtime.getURL 2024-01-21 13:51:32 -05:00
Ajay
8dfd06919b Only require a preview for skip and mute segments 2024-01-21 13:40:01 -05:00
Ajay
50ee690717 Only prevent scrolling while editing 2024-01-21 13:37:29 -05:00
Ajay
74aebd32a7 Prevent zooming when trying to scroll to edit times 2024-01-21 13:31:45 -05:00
Ajay
e489d0f913 Fix german title not being shortened 2024-01-16 18:39:29 -05:00
Ajay
814df46521 Don't warn about using the word intro in chapter names 2024-01-16 18:21:44 -05:00
Ajay
2bf6cf663b bump version 2024-01-16 00:05:19 -05:00
Ajay
9e2eedcfd4 update translations 2024-01-16 00:05:06 -05:00
Ajay
3bd769d318 Add compatibility with Vinegar extension on Safari 2024-01-16 00:03:47 -05:00
Ajay
5d77a08364 Require previewing before submitting 2024-01-15 00:45:44 -05:00
Ajay
1bf67cc533 Add keybind for previewing a segment 2024-01-14 18:34:23 -05:00
Ajay
f3818c2066 Change how chapter views are counted 2024-01-14 16:54:28 -05:00
Ajay
3222afd8b4 Fix preview bar on mobile
Fixes #1947 and #1943
2024-01-14 14:03:05 -05:00
Ajay
eede32aa7e Fix contradictory statements 2024-01-12 13:16:38 -05:00
Ajay
03fdd483ea Relicense to GPL-3.0 2024-01-12 13:14:08 -05:00
Ajay
5b2eb9748a Disable dearrow promotion 2024-01-08 10:58:24 -05:00
Ajay
7338af3b38 Fix action type and category related items sometimes not updating in submission menu 2024-01-05 22:51:00 -05:00
Ajay
9cfc591dd9 Remove log 2024-01-05 22:39:44 -05:00
Ajay
778d823820 Fix unsubmitted segments not saving 2024-01-05 22:21:51 -05:00
Ajay
a3c43c868a Fix unsubmitted segments sometimes not saving properly
Fixes #1502
2024-01-05 13:26:55 -05:00
Ajay
8e366b1450 Move unsubmitted segments to local storage to remove limits
Also add a way to export local storage

Fixes #1933
2023-12-23 13:16:19 -05:00
Ajay
58d5036363 Make unskipping by keybind easier for multiple segment notices by focusing by default
Clicking tab will focus the next button allowing you to unskip the next segment
2023-12-22 13:04:28 -05:00
Ajay
67c2a5bae7 Add timestamp to multi segment vote box 2023-12-22 12:58:40 -05:00
Ajay
9d0e42de76 Fix second skip notice slot not working 2023-12-22 11:52:42 -05:00
Ajay
8496e32cfe Add keybind for closing skip notices
Fixes #1915
2023-12-22 11:48:21 -05:00
Ajay
157216148c Add keybind for submitting instead of just using the submission menu 2023-12-22 11:41:35 -05:00
Ajay
5ac19eecd4 Allow dragging around notices 2023-12-22 10:44:21 -05:00
Ajay
2865ea77fe Fix scrolling fast on edit time not saving properly 2023-12-22 00:23:36 -05:00
Ajay
a8cd2357e7 Add retry logic to popup info 2023-12-13 19:38:38 -05:00
Ajay
0a4728ec5e Remove 429 error 2023-12-03 14:28:59 -05:00
Ajay
863e01101b Fix minimum supported versions 2023-11-30 15:21:55 -05:00
Ajay
47662808a3 Fix full video segments ending up in skip notices 2023-11-28 01:06:49 -05:00
Ajay
5b614f5dee Revert chrome driver version to fix tests 2023-11-27 01:58:58 -05:00
Ajay
1e5bd80471 Add warning about extension storage being disable
Fixes issues with Tor and Mullvad browser
Fixes #1894
2023-11-27 01:04:06 -05:00
Ajay
d62d362f2e bump version 2023-11-27 00:40:17 -05:00
Ajay
2c67db44a0 Add button in dearrow prompt to quickly disable future prompts 2023-11-27 00:36:16 -05:00
Ajay
3ae0429043 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-11-20 20:15:43 -05:00
Ajay
5ffbc9cabc Add support for userstyles in the popup
It takes userstyles from stylus or enhancer for YouTube and copies them to the popup in an iframe
2023-11-20 20:15:41 -05:00
Ajay Ramachandran
cbd96cb30b Merge pull request #1881 from ajayyy/dependabot/npm_and_yarn/babel/traverse-7.23.2
Bump @babel/traverse from 7.19.3 to 7.23.2
2023-11-09 18:45:39 -05:00
Ajay Ramachandran
3e5f391d3f Merge pull request #1905 from ajayyy/dependabot/npm_and_yarn/chromedriver-119.0.1
Bump chromedriver from 110.0.0 to 119.0.1
2023-11-09 17:29:32 -05:00
dependabot[bot]
c016107572 Bump chromedriver from 110.0.0 to 119.0.1
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 110.0.0 to 119.0.1.
- [Commits](https://github.com/giggio/node-chromedriver/compare/110.0.0...119.0.1)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-09 22:18:01 +00:00
Ajay
52bd85b850 bump version 2023-11-08 18:24:51 -05:00
Ajay
09e7c41479 update translations 2023-11-08 18:24:44 -05:00
Ajay
bdcb2d05c7 Make submission and skip notices slightly larger 2023-11-08 18:23:37 -05:00
Ajay
a522e3065c Fix regex being treated as a range 2023-11-08 18:22:41 -05:00
Ajay
72c62d0fa4 Deduplicate different quotes when comparing chapter names 2023-11-08 18:19:28 -05:00
Ajay
133ea360d7 Fix error when submitting with required segments 2023-11-08 18:13:38 -05:00
Ajay
e722ded58a Add dearrow promo based on title and remove old one
Also refactor requests out to seperate file
2023-11-08 16:07:59 -05:00
Ajay
6d37180d00 Add option to hide clutter in popup 2023-11-07 21:05:39 -05:00
Ajay
14d50b9e70 Add dearrow link to install page and add close button 2023-11-07 20:49:25 -05:00
Ajay
cfe314742d Rename Preview/Recap to Preview/Recap/Hook 2023-11-07 15:34:53 -05:00
Ajay
9a71e8bb8c Disable dearrow promotion 2023-11-06 19:33:05 -05:00
Ajay
dc2c7cc425 bump version 2023-11-02 14:34:51 -04:00
Ajay
7bf3237b72 update translations 2023-11-02 14:34:09 -04:00
Ajay
b48c854926 Another fix for flashing on Firefox when skipping some segments at the end of the video 2023-11-02 14:25:29 -04:00
Ajay
0bb7bef52c Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-11-01 16:08:53 -04:00
Ajay
4ffa019c68 Scroll down when new segment added to notice 2023-11-01 16:08:52 -04:00
Ajay
9c2007e0cf Rate limit saving times to make scrolling the edit box less laggy 2023-11-01 15:53:40 -04:00
Ajay Ramachandran
9176854d56 Merge pull request #1903 from ajayyy/ci/update_invidious_list
Update Invidious List
2023-10-31 21:02:16 -04:00
github-actions[bot]
65c72d38ea Update Invidious List 2023-11-01 00:19:59 +00:00
Ajay
6f54c8a731 Make highlight bigger on timeline when skip to highlight button hovered 2023-10-31 01:16:36 -04:00
Ajay
ca7eb50a82 bump version 2023-10-23 16:03:10 -04:00
Ajay
a7030fab9f update translations 2023-10-23 16:02:59 -04:00
Ajay
0bb3528cde Add minimum version of Firefox to manifest 2023-10-23 16:00:10 -04:00
Ajay
c8c141f5c9 Round end time when skipping on firefox if close
Fix #1883
2023-10-18 12:13:11 -04:00
dependabot[bot]
bd8326f95f Bump @babel/traverse from 7.19.3 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.19.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18 09:42:36 +00:00
Ajay Ramachandran
88cfa023c9 Merge pull request #1880 from Choromanski/feature/remove-duplicate-id-sponsorTimePreviewButton
Renamed duplicate span id
2023-10-17 20:44:29 -04:00
Brian Choromanski
41a2fc2cb3 Assigned a new ID 'sponsorTimePreviewEndButton' to the newly added 'End' button 2023-10-17 17:06:41 -04:00
Ajay Ramachandran
0f0e404920 Merge pull request #1878 from Choromanski/feature/add-years-to-time-saved
Added years to time saved display
2023-10-15 21:36:05 -04:00
Brian Choromanski
f34fe5a032 Added years to time saved display 2023-10-15 21:23:49 -04:00
Ajay
e4c9afecbd bump version 2023-10-14 20:36:51 -04:00
Ajay
79e855a038 update translations 2023-10-14 20:36:45 -04:00
Ajay
09a3a4e6d4 Fix vote buttons in category pill missing not being centered 2023-10-14 20:32:48 -04:00
Ajay
e271f2cbcc Add gecko android to minimum version 2023-10-11 13:50:45 -04:00
Ajay
1cc4c18665 Fix video id not updating when changing videos on cytube and watchtogether 2023-10-08 20:22:45 -04:00
Ajay
e650b7183a bump version 2023-10-08 16:44:12 -04:00
Ajay
4eb097b422 update translations 2023-10-08 16:44:07 -04:00
Ajay
04a9f82bdc Rename hidden css class to sbhidden to fix compatibility with Piped
Fixes #1865
2023-10-08 16:38:40 -04:00
Ajay
39cfdc7b6c bump version 2023-10-01 13:57:51 -04:00
Ajay
a8701b02a1 update translations 2023-10-01 13:57:41 -04:00
Ajay
3f1ad528c3 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-10-01 13:56:44 -04:00
Ajay
ae685baeef Fix tip ui broken for submissions 2023-10-01 13:56:34 -04:00
Ajay Ramachandran
d2ee67f3cf Merge pull request #1867 from ajayyy/ci/update_invidious_list
Update Invidious List
2023-09-30 20:57:53 -04:00
github-actions[bot]
d440a4d52a Update Invidious List 2023-10-01 00:21:32 +00:00
Ajay
7566b71ccd Properly hide dearrow button 2023-09-30 17:00:10 -04:00
Ajay
109b7ed5bc Don't show start button for highlight 2023-09-24 21:13:43 -04:00
Ajay
3eb853154f Remove unnecessary translation string 2023-09-24 19:01:41 -04:00
Ajay
ee3ce8aa46 Add seperate keybind for skip to highlight
Fixes #1187
2023-09-23 15:40:11 -04:00
Ajay
1557af5d2a update translations 2023-09-23 14:27:29 -04:00
Ajay
465e7065ca Update warning title 2023-09-23 13:46:12 -04:00
Ajay
a3f8419c49 update translations 2023-09-23 12:20:05 -04:00
Ajay
dde443ccec bump version 2023-09-23 12:18:32 -04:00
Ajay
01b1380b78 Update sponsorblock ui to tip 2023-09-23 12:17:46 -04:00
Ajay
c51b18465e Fix slightly different tv url format that appears on Firefox 2023-09-18 14:17:46 -04:00
Ajay
ad9888cf52 bump version 2023-09-17 17:31:36 -04:00
Ajay
7856791f90 update translations 2023-09-17 17:31:22 -04:00
Ajay
273ee63ec7 Prevent refreshes from triggering too often
Fixes #1838
2023-09-17 14:06:24 -04:00
Ajay
be36583aee Rename donate button 2023-09-17 13:11:52 -04:00
Ajay
433bbbf904 Remove popup css from content as iframes are used now
Fixes #1774
2023-09-17 12:46:25 -04:00
Ajay
6c2ee76198 Add start button to submission menu 2023-09-17 12:29:42 -04:00
Ajay
42f59898f3 Add end button for all segments 2023-09-17 12:12:00 -04:00
Ajay
8ab126f502 Highlight segment on hover 2023-09-17 12:06:33 -04:00
Ajay
4954abf9e3 Add extension icon default location on Firefox 2023-09-13 20:17:44 -04:00
Ajay
30a21d5ff5 Actually stop spacebar in chapters box from pausing video 2023-09-13 11:40:56 -04:00
Ajay
d1b2def47c bump version 2023-09-06 11:45:08 -04:00
Ajay Ramachandran
48cdabe2a5 Merge pull request #1534 from EthanBnntt/EthanBnntt-patch-1
Reduced execution time of hexToRgb function by ~70%
2023-09-05 01:28:23 -04:00
Ajay Ramachandran
bc2db0cf2c Merge branch 'master' into EthanBnntt-patch-1 2023-09-05 01:28:15 -04:00
Ajay Ramachandran
843ef37dcd Merge pull request #1814 from ajayyy/ci/update_invidious_list
Update Invidious List
2023-09-05 01:25:54 -04:00
Ajay
ed260a0667 Fix clicking a video from homepage on mobile YouTube
Fixes https://github.com/ajayyy/SponsorBlock/issues/1849
2023-09-05 01:19:50 -04:00
Ajay
2e131c2a95 Stop spacebar in chapters box from pausing video 2023-09-04 02:37:19 -04:00
Ajay
f5e884b6aa Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-09-03 21:29:02 -04:00
Ajay
a9929d0c93 Adjust dearrow message params 2023-09-03 21:29:00 -04:00
github-actions[bot]
3fb43d1c0e Update Invidious List 2023-09-01 00:19:28 +00:00
Ajay Ramachandran
a1b2855538 Merge pull request #1842 from ajayyy/ci/oss_attribution
Update OSS Attribution
2023-08-25 21:49:27 -04:00
github-actions[bot]
07236baed5 Update OSS Attribution 2023-08-26 01:30:48 +00:00
Ajay
f991435857 Switch back to upstream content-scripts-register-polyfill 2023-08-25 21:29:39 -04:00
Ajay
faa3259165 Fix invidious support on Safari for iOS 2023-08-25 20:22:58 -04:00
Ajay
c96bafb6f7 bump version 2023-08-25 18:39:52 -04:00
Ajay
9b7680f0e6 Fix invidious support on Safari 2023-08-25 16:38:50 -04:00
Ajay
16e01b7494 Fix comment 2023-08-25 16:34:08 -04:00
Ajay
6cd697dc32 bump version 2023-08-25 16:03:33 -04:00
Ajay
9946bd1af2 Use chromep in another spot 2023-08-25 16:03:17 -04:00
Ajay
3b06d72270 Fix invidious support of Firefox 2023-08-25 16:01:11 -04:00
Ajay
4bd0556464 Remove webnavigation optional permission from firefox 2023-08-23 22:44:41 -04:00
Ajay
7e12a914d5 bump translations 2023-08-22 23:29:01 -04:00
Ajay
25eaf4fa20 bump version 2023-08-22 23:26:21 -04:00
Ajay
b3efa1f787 Add compatibility with video speed controller extension 2023-08-22 15:23:04 -04:00
Ajay
9a18e70e34 Fix rate change listener not set up properly
Fixes #1820
2023-08-22 15:22:03 -04:00
Ajay
64ece9cb73 Fix chrome api being used in tests 2023-08-14 11:49:51 -04:00
Ajay
66c974b011 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-08-14 09:28:58 -04:00
Ajay
d8cc93c841 Fix for Firefox not offering promise based APIs in mv2 2023-08-14 09:28:56 -04:00
Ajay Ramachandran
de22accfda Merge pull request #1828 from mchangrh/contributing-translations
add translations to contributing
2023-08-13 15:13:24 -04:00
Michael C
e5b0b60dde add translations to contributing 2023-08-13 15:05:08 -04:00
Ajay Ramachandran
32d98e6544 Add more info about testing on android 2023-08-11 22:38:38 -04:00
Ajay
3dde05eda2 Add more theme icons for browser popup 2023-08-11 21:33:38 -04:00
Ajay
6aeefaae64 Don't reregister contentscripts if not necessary 2023-08-11 12:39:48 -04:00
Ajay
93d695e6c2 Fix error sending messages to closed popups 2023-08-11 12:15:05 -04:00
Ajay
160924feee Update maze utils to improve performance on Invidious, and fix preview bar error
thanks @raphj
2023-08-11 12:08:19 -04:00
Ajay
e3f3ed20e6 Enable non persistent background page on Firefox 2023-08-11 11:39:06 -04:00
Ajay
52149f4c0f bump version 2023-08-09 18:30:21 -04:00
Ajay
cbc586f9ac Potential fix for ctrl+click having a blank html video
Other potential fix for #1820
2023-08-09 18:30:05 -04:00
Ajay
fc8e20be0d Impove incorrect video check, and add better logging to it
Potential fix for #1820
2023-08-09 18:24:21 -04:00
Ajay
368059eb0d bump version 2023-08-01 22:45:53 -04:00
Ajay
ea77375fcc Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-08-01 22:45:37 -04:00
Ajay
16005e417d Remove maze utils symlink 2023-08-01 22:45:01 -04:00
Ajay Ramachandran
7c5b750264 use npm ci for consistency 2023-08-01 19:57:07 -04:00
Ajay Ramachandran
cc6b65c6c4 suggest using Linux 2023-08-01 15:52:50 -04:00
Ajay Ramachandran
d2c99c2d77 Merge pull request #1815 from mchangrh/contributing-update
[docs] move building from readme, formatting tweaks
2023-08-01 15:51:39 -04:00
Michael C
84c25e3042 [docs] move building to readme, formatting tweaks
- reformatted windows build issues
- updated contributing to reflect LGPL-3.0-or-later
- replaced Invidio.us with Invidious
- replaced API docs link
- updated Invidious API link
2023-08-01 15:20:24 -04:00
Ajay
8840dba90f bump version 2023-07-29 22:39:37 -04:00
Ajay
856dded58f update translations 2023-07-29 22:39:26 -04:00
Ajay
1d1bd2a003 Only add host permission on chrome 2023-07-29 01:49:27 -04:00
Ajay
dc91ee76ca Add support for live updating in chrome 2023-07-29 01:41:57 -04:00
Ajay
90bb9a4d02 Remove log 2023-07-28 20:44:19 -04:00
Ajay
d12d847f2f Fix it sometimes looping instead of going to next video when autoskipping at the end for playlists
Fix #1804
2023-07-28 20:42:06 -04:00
Ajay
31a9de252d Fix skip loop issue
Fixes #1811
2023-07-28 20:34:09 -04:00
Ajay
299cb485c3 Fix chapter name sometimes disappearing 2023-07-28 19:37:54 -04:00
Ajay
882d462849 Add category color to skip notice 2023-07-28 18:42:27 -04:00
Ajay
fc3710b37b Clear preview bar on update 2023-07-28 18:39:51 -04:00
Ajay
3ac170ad01 Fix skip to highlight button on live update 2023-07-28 18:34:05 -04:00
Ajay
4069545603 Support live updates on firefox 2023-07-28 16:30:28 -04:00
Ajay
db9fc11f13 bump version 2023-07-19 20:31:38 -04:00
Ajay
76667f68ec Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-07-19 20:30:18 -04:00
Ajay
e27a287a68 Better zoom to fill compatibility check 2023-07-19 20:30:16 -04:00
Ajay Ramachandran
ce3731774d Merge pull request #1803 from ajayyy/dependabot/npm_and_yarn/word-wrap-1.2.4
Bump word-wrap from 1.2.3 to 1.2.4
2023-07-18 17:12:08 -04:00
dependabot[bot]
8cbf2bb50b Bump word-wrap from 1.2.3 to 1.2.4
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 20:27:55 +00:00
Ajay
6f8c44b2eb Fix category colors sometimes not working 2023-07-18 13:26:41 -04:00
Ajay
bbc5c11667 bump version 2023-07-14 21:04:50 -04:00
Ajay
d074fdec96 Make category tooltip work on mobile and make it clear after voting 2023-07-14 21:04:33 -04:00
Ajay
5d98208596 update translations 2023-07-14 20:44:02 -04:00
Ajay Ramachandran
4480ad4d84 Merge pull request #1790 from ajayyy/ci/oss_attribution
Update OSS Attribution
2023-07-14 20:41:56 -04:00
Ajay
df6c6cb30f Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-07-14 20:41:33 -04:00
Ajay
0f2da334e8 Update maze utils 2023-07-14 20:41:28 -04:00
github-actions[bot]
7562340ec2 Update OSS Attribution 2023-07-15 00:39:10 +00:00
Ajay Ramachandran
fee5b7be44 Merge pull request #1796 from mchangrh/youtubekids
Add support for YT Kids
2023-07-14 20:38:14 -04:00
Ajay Ramachandran
e89f75e4b6 Merge pull request #1798 from mchangrh/piped-ci
Piped CI
2023-07-14 20:37:57 -04:00
Ajay
8bcaf906fb Add warning if zoom to fill is installed 2023-07-14 20:37:08 -04:00
Ajay
cee00a87c1 Remove text from category pills on mobile and don't make them take full height of title box 2023-07-14 17:55:55 -04:00
Ajay
9b627f4e8f Use background script for hashing if not available in page
For Invidious instances on http
2023-07-11 17:28:18 -04:00
Ajay
af977840c6 Change to using hostname 2023-07-11 17:22:23 -04:00
Ajay
e8370121d5 Ignore port when checking if on invidious instance 2023-07-11 17:14:43 -04:00
Ajay
3175d7f8e9 remove port from invidious domain as it is not needed 2023-07-11 17:05:08 -04:00
Ajay
ab4035bbc5 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-07-11 16:51:13 -04:00
Ajay
3d88d29d93 potential fix for IP invidious instances 2023-07-11 16:51:12 -04:00
Michael C
1ac361b4df add YouTube Kids to supportedSites 2023-07-08 13:29:45 -04:00
Michael C
24c37324b8 only include src 2023-07-07 03:38:33 -04:00
Michael C
21bce341f0 support piped instances in invidious list 2023-07-07 03:14:49 -04:00
Michael C
0d9c3dc807 add youtube kids to invidious, type invidious 2023-07-06 18:25:50 -04:00
Michael C
60f9274438 add selectors for YT kids 2023-07-06 18:02:13 -04:00
Ajay Ramachandran
e23722baa0 Merge pull request #1795 from mchangrh/windows-contribute
update CONTRIBUTING for windows
2023-07-06 17:21:25 -04:00
Michael C
d25e8c7360 update CONTRIBUTING for windows 2023-07-06 16:33:03 -04:00
Ajay
87bf472ee4 Add link to yt-neuter 2023-07-03 14:34:23 -04:00
Ajay
e28e196a17 update maze utils, lots of effeciency changes 2023-07-03 02:10:42 -04:00
Ajay
0f7ed9926c Remove maze utils from npm deps 2023-06-30 03:07:57 -04:00
Ajay
75eb63632f Fix maze utils warnings 2023-06-30 03:01:09 -04:00
Ajay
e1982f265e Move maze utils to a submodule, move tooltip out 2023-06-30 02:46:27 -04:00
Ajay Ramachandran
e2a01bb744 Merge pull request #1786 from raphj/patch-1
Update the git clone with submodule command in README
2023-06-26 15:11:05 -04:00
raphj
8c8e41bc89 Update the git clone with submodule command in README 2023-06-26 09:59:00 +02:00
Ajay
88d1cc1650 bump version 2023-06-22 14:00:21 -04:00
Ajay
dd7a673637 Don't show dearrow popup for new users 2023-06-22 14:00:08 -04:00
Ajay
35ac452a30 bump version 2023-06-21 23:11:02 -04:00
Ajay
de654e0016 update translations 2023-06-21 23:08:54 -04:00
Ajay
b4adee720f Add notice about dearrow, make dearrow links not appear if dearrow installed 2023-06-21 23:07:09 -04:00
Ajay
d4f668559c Add link in options to dearrow 2023-06-21 19:55:17 -04:00
Ajay
6b2b26faf5 update locales 2023-06-16 13:23:22 -04:00
Ajay
52135e7478 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-06-16 13:22:46 -04:00
Ajay
10a0537b78 Fix video mutation listener refresh being called too many times 2023-06-16 13:22:43 -04:00
Ajay Ramachandran
b383acc902 Merge pull request #1705 from rakleed/border-radius
Add border radius like other YouTube elements
2023-06-16 12:26:41 -04:00
github-actions[bot]
f5706d9fe3 Update Invidious List (#1776)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-15 01:46:41 -04:00
Ajay
fea33945c7 bump maze utils again 2023-05-30 16:02:34 -04:00
Ajay
22826e3b36 Add some garbage collection to old thumbnail elements 2023-05-30 15:58:30 -04:00
Ajay
c7dad09555 Add warning when enabling filler 2023-05-29 14:39:44 -04:00
Ajay
198ae9c41f bump version 2023-05-28 16:12:29 -04:00
Ajay
1b2be35bd6 Check multiple times if preview bar failed to be added 2023-05-28 16:11:49 -04:00
Ajay
ff3d8ff2d6 Add waiting for when preview bar detects incorrect number of chapters 2023-05-28 15:51:44 -04:00
Ajay
932ed34947 remove duplicates from translations 2023-05-28 15:04:12 -04:00
Ajay
ed59101fc7 Upload to release incrementally 2023-05-28 14:55:47 -04:00
Ajay
a4e8cdd0f6 Fix release worflow 2023-05-28 14:48:43 -04:00
Ajay
40604d7604 bump version 2023-05-28 14:42:09 -04:00
Ajay
d5d766b429 Another video element change check when video id changes 2023-05-24 23:50:12 -04:00
Ajay
a83e83c1b1 Potential fix for preview bar disappearing sometimes 2023-05-24 23:43:41 -04:00
Ajay
6585a4e325 Fix large times when locale uses dots for chapter names
Fixes #1757
2023-05-24 19:06:38 -04:00
Ajay
20ab0768df Fix chapters not saving after clicking suggestion
They still submitted properly, it only mattered if you closed the submission box
2023-05-21 19:55:58 -04:00
Ajay
b07381e5d0 Remove extra log 2023-05-12 23:55:33 -04:00
Ajay
4a1829839f Slightly improve firefox skipping 2023-05-12 23:53:37 -04:00
Ajay
93d864e927 Don't use unmute skip trick on chromium if there are mutes happening 2023-05-11 20:20:05 -04:00
Ajay
232b1816fe Fix mute segment right after skip being delayed 2023-05-11 20:17:57 -04:00
Ajay
54437ed0fd Add warning if CPU Tamer extension is detected 2023-05-10 19:38:03 -04:00
Ajay
282a4670ce Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-05-10 15:52:05 -04:00
Ajay
5973b801b9 Fix popup buttons centering 2023-05-10 15:52:03 -04:00
Ajay Ramachandran
628595bf5a Merge pull request #1749 from mini-bomba/previewbar-minwidth
Set min width of previewbar segments to 1px
2023-05-10 15:13:03 -04:00
Ajay
86498eb399 Add submodule build instructions to readme 2023-05-10 15:09:27 -04:00
Ajay
92fabdf37a Move more funcs to shared lib 2023-05-09 22:12:15 -04:00
Ajay
33d098d78a Fix popup padding css 2023-05-09 20:47:09 -04:00
Ajay
e094f95602 Move some options page funcs to shared lib 2023-05-09 16:49:54 -04:00
Ajay
b35bcae213 Fix copying bad files when compiling 2023-05-09 16:06:56 -04:00
Ajay
46ae92c321 Upload source before doing npm ci 2023-05-09 13:32:47 -04:00
Ajay
cc45e764cf Upload source code with modules to github 2023-05-09 13:30:31 -04:00
Ajay
f1026d403f Make workflows recursively checkout submodules 2023-05-09 13:24:32 -04:00
Ajay
c60c534a9e Fix submodule defintion file missing 2023-05-09 13:21:40 -04:00
Ajay
0e0555c32c Delete original locale files from repo 2023-05-09 13:20:22 -04:00
Ajay
928f1ed0e8 Add translations as git submodule 2023-05-09 13:18:36 -04:00
Ajay
14da4b5fcc Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2023-05-08 20:16:50 -04:00
Ajay
9d6e23d171 Fix margin issue on category pill tooltip 2023-05-08 20:16:44 -04:00
Ajay Ramachandran
68a6286af6 Merge pull request #1715 from Blueberryy/master
Add notice time to translation file
2023-05-08 17:10:55 -04:00
Ajay Ramachandran
7960fde155 Add description to translation 2023-05-08 17:08:02 -04:00
Ajay Ramachandran
afe7271419 New Crowdin updates (#1733) 2023-05-08 17:06:22 -04:00
Ajay
c6c3bd3a3d bump version 2023-05-08 17:03:49 -04:00
Ajay
f2482ee973 Add auto-config import to clickbait extension, move more funcs to shared lib
Also fix a isSafari call
2023-05-08 17:02:49 -04:00
Ajay
71dd4a97bf Fix SponsorBlock on latest YouTube layout 2023-05-07 23:56:55 -04:00
mini-bomba
f771a5a7ec Set min width of previewbar segments to 1px
This fixes short segments on long videos not appearing at all in small embeds
2023-05-07 14:25:55 +02:00
Ajay Ramachandran
d8ca29a18b Update funding 2023-05-06 23:35:45 -04:00
Ajay
4d7018a017 Fix safari check not running function
Should make Firefox more precise
2023-05-06 20:05:43 -04:00
Ajay
ca24e82a6d Fix skip looping
Fixes #1747
2023-05-06 20:04:17 -04:00
Ajay Ramachandran
186fa7af61 Merge pull request #1739 from mini-bomba/invidious-duration-without-skips
Show time with skips removed on invidious
2023-05-03 11:52:37 -04:00
mini-bomba
75b406cb5b Show time with skips removed on invidious 2023-05-02 21:42:09 +02:00
Ajay
d20b46f3ef bump version 2023-04-30 20:32:59 -04:00
Ajay
b2f3605571 Fix submit button in fullscreen and theater mode 2023-04-30 18:13:38 -04:00
Ajay
da1be6c87b bump version 2023-04-30 16:49:45 -04:00
Ajay
62a60daac7 Fix preview bar not being created on video element change if not created previously 2023-04-30 14:54:50 -04:00
Ajay
45d45b0068 Fix preview bar not appearing on all videos 2023-04-30 14:35:37 -04:00
Blueberryy
4cae6e8f41 Real fix by mini-bomba
@mini-bomba

Co-Authored-By: mini-bomba <55105495+mini-bomba@users.noreply.github.com>
2023-04-29 15:52:24 +05:00
Ajay
d3fa735481 Don't show harmful vote option for non chapters 2023-04-27 22:29:08 -04:00
Ajay Ramachandran
052a805a98 Merge pull request #1729 from ajayyy/dependabot/npm_and_yarn/xml2js-and-web-ext-0.5.0
Bump xml2js and web-ext
2023-04-27 15:22:06 -04:00
Ajay Ramachandran
6e8c406da9 New Crowdin updates (#1722) 2023-04-27 15:20:11 -04:00
dependabot[bot]
6e6c3819e5 Bump xml2js and web-ext
Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) to 0.5.0 and updates ancestor dependency [web-ext](https://github.com/mozilla/web-ext). These dependencies need to be updated together.


Updates `xml2js` from 0.4.23 to 0.5.0
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](https://github.com/Leonidas-from-XIV/node-xml2js/commits/0.5.0)

Updates `web-ext` from 7.5.0 to 7.6.2
- [Release notes](https://github.com/mozilla/web-ext/releases)
- [Commits](https://github.com/mozilla/web-ext/compare/7.5.0...7.6.2)

---
updated-dependencies:
- dependency-name: xml2js
  dependency-type: indirect
- dependency-name: web-ext
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-27 19:18:54 +00:00
Ajay
2b739e33e6 bump version 2023-04-27 15:18:34 -04:00
Ajay
7768447ab0 Upgrade maze-utils, move video element refreshes to lib 2023-04-27 15:18:17 -04:00
Ajay
e31efbbf81 Fix looped videos sometimes not skipping start segment
Fixes  #1723
2023-04-21 22:16:13 -04:00
Blueberryy
dc0d7d7e45 Another fix NoticeComponent.tsx 2023-04-20 18:58:11 +05:00
Blueberryy
ade4214b25 fIX messages.json 2023-04-20 18:50:23 +05:00
Blueberryy
6bc4c686ec FIX NoticeComponent.tsx 2023-04-20 18:49:22 +05:00
Ajay Ramachandran
ab7dfe80f7 Merge pull request #1721 from biot/received
Spelling fix
2023-04-19 17:35:43 -04:00
Bert Vermeulen
c5f549f937 Spelling fix 2023-04-19 19:26:45 +02:00
Ajay
a7aa4042ff Fix video labels showing all categories regardless of settings 2023-04-17 20:29:52 -04:00
Ajay
8136a53981 Fix wrapping issue on safari 2023-04-17 20:02:11 -04:00
Ajay Ramachandran
624c61f383 bump version 2023-04-17 17:58:09 -04:00
Ajay Ramachandran
bf1be68d06 New Crowdin updates (#1695) 2023-04-17 17:57:54 -04:00
Blueberryy
1b714470de add translatable s in notice 2023-04-11 23:03:29 +05:00
Blueberryy
32fd64ee25 add translatable s in notice 2023-04-11 23:03:23 +05:00
Ajay Ramachandran
e1521e9837 Merge pull request #1710 from mini-bomba/controls-skip-inline-players
Don't attach controls to inline preview players
2023-03-31 13:07:12 -04:00
Ajay Ramachandran
7b5303b1d8 Merge pull request #1711 from mini-bomba/darkreader-proofing-the-fvlabels
Reset fvlabel color definitions when segment == null
2023-03-31 13:06:37 -04:00
mini-bomba
78f6c66547 Reset fvlabel color definitions when segment == null
Without this, we would try to use the color for an 'undefined' category on the first render pass of the element.
It was then immediately re-rendered with a segment set, but DR missed the update, which caused it to stick to that 'undefined' category and the label became transparent.
2023-03-25 13:19:47 +01:00
Ajay
c2252af575 Move more thumbnail logic to lib 2023-03-24 19:07:26 -04:00
mini-bomba
1ef6c1977f Don't attach controls to inline preview players
Co-authored-by: Ajay <dev@ajay.app>
2023-03-24 23:59:59 +01:00
Ajay Ramachandran
e1b30204ce Merge pull request #1709 from mini-bomba/previewbar-left-right
Define left + right on previewbar segments instead of left + width
2023-03-24 18:34:44 -04:00
mini-bomba
0001d28f14 Define left + right on previewbar segments instead of left + width 2023-03-24 23:21:42 +01:00
Ajay Ramachandran
3dcc4240dc Merge pull request #1708 from mchangrh/windows-webpack
fix paths for windows dev
2023-03-24 17:50:24 -04:00
Michael C
4db3343029 fix paths for windows dev 2023-03-24 17:40:29 -04:00
Ajay Ramachandran
5711e70dbb Merge pull request #1707 from mini-bomba/fix-videoid-mismatch-error
Fix the incorrectVideoCheck() error showing the same videoID as recorded & actual
2023-03-24 15:51:47 -04:00
Ajay
6d7953a1ca Fix potentially leaking set interval 2023-03-24 15:51:36 -04:00
mini-bomba
356ce5a6f3 Fix the incorrectVideoCheck() error showing the same videoID as recorded & actual 2023-03-24 19:18:00 +01:00
Ajay Ramachandran
c1a61b9795 Merge pull request #1704 from mini-bomba/darkreader-proofing-the-dynamic-css
Darkreader-proofing the dynamic CSS variables
2023-03-22 00:11:22 -04:00
Pavel
992e727d93 Adds border radius like other YouTube elements 2023-03-22 03:42:42 +03:00
mini-bomba
e159989f17 Generate darkreader variables with our category color variables
This ensures the timeline, fv labels and thumbnail labels don't go transparent if darkreader forgets to set it's variable overrides.
2023-03-21 20:38:20 +01:00
Ajay
f6a42a7908 Fix manual skips after autoskips when inside a chapter 2023-03-20 23:10:13 -04:00
Ajay
3ddfc2f0dd reformat webpack document script definition 2023-03-20 14:14:28 -04:00
Ajay
4cf827b48a Remove exclusive_accessCategoryAdded migration 2023-03-18 21:31:27 -04:00
Ajay
f00b3abbe4 Enable chapter by default 2023-03-18 21:30:33 -04:00
Ajay
2f68a66f13 Remove chapters payment checks 2023-03-18 21:27:26 -04:00
Ajay
9831c3393f Remove chapters update message 2023-03-18 21:12:56 -04:00
Ajay
09511e8b3d Remove vendor references 2023-03-18 14:37:14 -04:00
Ajay
0e89549f6a bump version 2023-03-18 04:49:36 -04:00
Ajay Ramachandran
ef00e07647 Merge pull request #1623 from mini-bomba/labels-on-thumbnails
Show Full-Video Labels on thumbnails
2023-03-18 04:40:26 -04:00
Ajay
3a1d631e01 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into labels-on-thumbnails-merged 2023-03-18 02:08:02 -04:00
Ajay
488f5efa2f Add option to disable thumbnail icons 2023-03-18 02:05:14 -04:00
Ajay
e15e33b048 Lock version number for maze utils 2023-03-18 02:04:45 -04:00
Ajay
504f5c565b Fix oss attribution workflow 2023-03-18 00:31:07 -04:00
Ajay
94e168f803 bump version 2023-03-18 00:28:39 -04:00
Ajay
43e07fe725 Fix Invidious support on Firefox 2023-03-18 00:28:26 -04:00
Ajay
2374f4d31b Fix invidious support for thumbnail labels 2023-03-17 23:41:59 -04:00
Ajay
52f58b8ea4 Don't trigger hover autoplay from hovering over thumbnail label 2023-03-17 22:57:44 -04:00
Ajay
18f860c6a2 Increase opacity on hover 2023-03-17 22:11:13 -04:00
Ajay
5d610a342f Inject document script using raw HTML to be fast enough to still be able to hijack listener when visiting YouTube channel page directly 2023-03-17 21:10:26 -04:00
Ajay
758f0b7526 Show Full-Video Labels on thumbnails
Co-authored-by: mini-bomba <mini-bomba@users.noreply.github.com>
2023-03-10 03:49:01 -05:00
Ajay Ramachandran
3ace3b9650 Merge pull request #1674 from ajayyy/dependabot/npm_and_yarn/cacheable-request-and-got-10.2.7
Bump cacheable-request and got
2023-03-07 22:46:42 -05:00
Ajay Ramachandran
037d468c30 Merge pull request #1664 from ajayyy/dependabot/npm_and_yarn/http-cache-semantics-4.1.1
Bump http-cache-semantics from 4.1.0 to 4.1.1
2023-03-07 22:46:35 -05:00
Ajay Ramachandran
bf13c12443 Merge pull request #1661 from mchangrh/dependency-upgrade
Dependency upgrade
2023-03-07 22:45:10 -05:00
Michael C
a1f3892bd1 update dependencies 2023-03-07 22:11:28 -05:00
Ajay Ramachandran
9550a66291 Merge pull request #1691 from mchangrh/prettify-ci
update CI to prettify oss-attribution
2023-03-07 22:04:36 -05:00
Michael C
a024352b15 update GHA 2023-03-07 22:00:26 -05:00
Michael C
ef222ce229 upgrade dependencies
- remove speed-measure-webpack-plugin since it was there only for POC
2023-03-07 22:00:26 -05:00
Michael C
b310152f7f update CI to prettify oss-attribution
- also fix TS warnings in invidiousCI.ts
2023-03-07 21:55:48 -05:00
Ajay
afe8d2a20c bump version 2023-03-07 21:31:04 -05:00
github-actions[bot]
bc038c3eb3 Update OSS Attribution (#1678)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-07 21:30:30 -05:00
Ajay Ramachandran
729c816f6e Update translations (#1690) 2023-03-07 21:29:59 -05:00
github-actions[bot]
d6541945ef Update Invidious List (#1686)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-07 21:27:35 -05:00
Ajay
369d241874 bump maze utils 2023-03-07 21:27:13 -05:00
Ajay
66f3d34942 Fix chapter imports when not in focus 2023-03-03 19:47:08 -05:00
Ajay
419f0e0907 Fix duplicate code 2023-02-28 00:14:37 -05:00
Ajay
c0954b2819 Add new skip workaround for Firefox
Wait until next animation frame before starting the skipping timer
2023-02-28 00:10:54 -05:00
Ajay
290c910a1b rename submission button to "Open Submission Menu" 2023-02-26 22:12:05 -05:00
Ajay
1ffe42771f Fix unhiding one segment unhiding all 2023-02-26 20:15:33 -05:00
Ajay
b25a0a4db1 Lower case and trim invidious instances 2023-02-24 14:21:17 -05:00
Ajay
21f1e52571 Only update invidious instances if there are more, and don't remove old ones 2023-02-24 14:19:27 -05:00
Ajay
11f6fc9a31 Don't reset custom invidious instances on safari 2023-02-24 14:17:02 -05:00
Ajay
4af318403a Update channel id regex 2023-02-22 00:28:46 -05:00
Ajay
c14b33283d Switch headless mode to new due to chrome update
https://bugs.chromium.org/p/chromium/issues/detail?id=706008#c42
2023-02-22 00:22:20 -05:00
Ajay
069b1c1681 Fix odd skipping behavior sometimes with auto skip on music videos
Fix #1682
2023-02-22 00:16:51 -05:00
Ajay
dfbe036119 Fix skipping not working 2023-02-22 00:11:56 -05:00
Ajay
00c09052dc update chrome driver 2023-02-22 00:06:35 -05:00
Ajay
4095ca8642 Fix missing userid generation call swaps 2023-02-18 22:44:34 -05:00
Ajay
4ca6a331f1 Move generate userID to shared lib 2023-02-18 02:54:42 -05:00
Ajay
1d05c2b3df Convert dots to colons when importing existing chapters 2023-02-14 18:38:47 -05:00
Ajay
1d0ac86e5a Move get hash to shared lib 2023-02-14 01:42:25 -05:00
Ajay
12c63b4ff9 Fix setup tab updates missing 2023-02-14 01:24:25 -05:00
Ajay
8c994f362d Move requesting logic to shared lib 2023-02-14 01:20:46 -05:00
Ajay
5ecb809c73 Remove unused interface 2023-02-13 13:14:23 -05:00
github-actions[bot]
6ee58167d8 Update OSS Attribution (#1676)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-13 03:26:09 -05:00
Ajay
c4619aee51 Fix category pill disappearing on mobile youtube 2023-02-13 03:22:55 -05:00
Ajay
d3117d603f Fix mobile and invidious 2023-02-13 02:43:43 -05:00
Ajay
5859c33ce8 Move video handing and config to shared library 2023-02-13 02:31:25 -05:00
dependabot[bot]
241c17eb7e Bump cacheable-request and got
Bumps [cacheable-request](https://github.com/jaredwray/cacheable-request) and [got](https://github.com/sindresorhus/got). These dependencies needed to be updated together.

Updates `cacheable-request` from 7.0.2 to 10.2.7
- [Release notes](https://github.com/jaredwray/cacheable-request/releases)
- [Commits](https://github.com/jaredwray/cacheable-request/commits)

Updates `got` from 12.1.0 to 12.5.3
- [Release notes](https://github.com/sindresorhus/got/releases)
- [Commits](https://github.com/sindresorhus/got/compare/v12.1.0...v12.5.3)

---
updated-dependencies:
- dependency-name: cacheable-request
  dependency-type: indirect
- dependency-name: got
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-12 14:27:25 +00:00
Ajay Ramachandran
f4d80d8843 Merge pull request #1671 from ajayyy/ci/oss_attribution
Update OSS Attribution
2023-02-07 17:51:34 -05:00
Ajay
0cdfd68239 bump version 2023-02-07 17:42:38 -05:00
Ajay
bbb234e498 Make invidious instances work on safari 2023-02-07 17:42:22 -05:00
Ajay Ramachandran
3716c8aa80 chrome limitation gone 2023-02-07 02:54:06 -05:00
github-actions[bot]
57fe4d7d65 Update OSS Attribution 2023-02-07 02:23:30 +00:00
Ajay
92e156834b Use pollyfill for invidious registration
Fix #798
2023-02-06 21:22:34 -05:00
dependabot[bot]
4e6246a710 Bump http-cache-semantics from 4.1.0 to 4.1.1
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 06:11:03 +00:00
Ajay
b2e6e4f076 Fix tests 2023-02-01 19:55:01 -05:00
Ajay
6348bdccde bump version 2023-02-01 19:51:50 -05:00
Ajay
c3213eb040 Add invidious instances by default for safari
https://github.com/ajayyy/SponsorBlock/issues/798
2023-02-01 19:48:24 -05:00
Ajay
78a006544a Fix icon not square 2023-01-31 01:07:00 -05:00
Ajay
3ab2361f45 bump version 2023-01-31 00:58:40 -05:00
Ajay
6068276644 Fix icon on firefox being wrong 2023-01-31 00:58:31 -05:00
Ajay
e3bedbf5f2 Fix chapter importing and lock fetching after 404 2023-01-29 17:53:37 -05:00
Ajay Ramachandran
c9fc22e51e Merge pull request #1654 from mchangrh/fix-large-img
load shared.css on third party sites
2023-01-28 16:42:52 -05:00
Michael C
146c1fc889 load shared.css on third party sites 2023-01-26 03:07:43 -05:00
Ajay
63a5b6fb6f Store fonts locally 2023-01-23 01:05:33 -05:00
Ajay
254261b83a Don't hide chevron if segments are null 2023-01-21 17:37:12 -05:00
Ajay
9301a0914d Add info that piped is supported 2023-01-21 17:26:43 -05:00
Ajay Ramachandran
8e3bae6396 bump version 2023-01-21 17:24:55 -05:00
Ajay Ramachandran
1a4d48503a Merge pull request #1560 from mchangrh/piped-support
add selector for piped
2023-01-21 17:23:45 -05:00
Ajay Ramachandran
508d51d582 New Crowdin updates (#1619) 2023-01-21 17:23:10 -05:00
Ajay
8f91b83195 Remove next chapter from youtube hotkeys warning 2023-01-21 17:17:05 -05:00
Ajay
6adac26a3d Fix keybinds from popup 2023-01-21 17:13:48 -05:00
Ajay
140e816979 Change next chapter keybind to be same as YouTube and disable YouTube's one
Fix #1508
2023-01-21 17:11:08 -05:00
Ajay
f89682c2d6 give more time for chapters to load 2023-01-21 16:59:36 -05:00
Ajay
35e0f7ede9 Fix warnings 2023-01-21 16:20:18 -05:00
Ajay
8383699a68 Fix chapter name sometimes disappearing 2023-01-21 16:18:25 -05:00
dependabot[bot]
76aa472745 Bump json5 from 2.2.1 to 2.2.3 (#1640)
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-08 15:41:36 -05:00
Michael C
6959bdbee1 Add piped support
- add playerInit listener
- made popup container generic for possible piped support
- explicitly add css files to web_accessible_resources
2023-01-03 17:10:51 -05:00
Michael C
c3d4914f57 add selector for piped 2023-01-02 18:28:37 -05:00
github-actions[bot]
55b6b74590 Update Invidious List (#1631)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-01 19:44:34 -05:00
Ajay
4a4b281495 Remove log 2022-12-30 23:13:39 -05:00
Ajay Ramachandran
b9b43513b4 Merge pull request #1627 from mchangrh/partialRequredSegment
highlight partial required segments
2022-12-27 12:42:06 -05:00
Michael C
f68429487e add brackets for operator precedence 2022-12-27 00:24:46 -05:00
Michael C
c5178b4c99 highlight partial required segments 2022-12-26 20:18:51 -05:00
Ajay
27f3ced338 Remove lookbehind because safari
Resolves https://github.com/ajayyy/SponsorBlock/issues/1626
2022-12-26 16:28:17 -05:00
Ajay
06a112a030 Fix category pill disappearing on mobile 2022-12-25 00:38:49 -05:00
github-actions[bot]
89b210ffd5 Update OSS Attribution (#1624)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-24 00:56:55 -05:00
Ajay
7dd2c9eb3e Move some generic functions to a new package 2022-12-24 00:54:56 -05:00
Ajay
7bf17e1746 bump version 2022-12-22 02:20:32 -05:00
Ajay
3f7f671a3b Fix early skips on firefox when seeking while playing 2022-12-22 02:20:19 -05:00
Ajay
f764869cc8 Add another test case 2022-12-19 16:19:01 -05:00
Ajay
2ba5fa6954 bump version 2022-12-19 16:14:41 -05:00
Ajay
35b8a34162 Don't remove trailing end bracket when not starting with bracket 2022-12-19 16:12:51 -05:00
Ajay Ramachandran
3379189ea8 remove serious part of warning message 2022-12-19 13:13:38 -05:00
Ajay Ramachandran
e6be13b583 make warning message nicer 2022-12-19 13:11:03 -05:00
Ajay Ramachandran
ab87afc82b New Crowdin updates (#1580) 2022-12-11 16:59:21 -05:00
Ajay
8798dd29b8 bump version 2022-12-11 16:59:01 -05:00
Ajay
3e3059d79a Fix bar being too long due to time to decimal changing while remaking bar not true 2022-12-11 16:58:40 -05:00
Ajay
16581d39a4 Reverse fast interval to decimal
It doesn't work when there are imported chapters closely or identical to existing chapters. Causes bar to extend too far.
2022-12-11 16:24:53 -05:00
Ajay
3b776991a6 Don't run some chapter init code when not necessary 2022-12-11 15:46:29 -05:00
Ajay
7eb6b3a79d Don't regenerate groups if not needed 2022-12-11 15:20:05 -05:00
Ajay
a5d91c9b57 clarify comment 2022-12-11 14:25:34 -05:00
Ajay
f59665cccb Fix smallest segment cache 2022-12-11 14:21:25 -05:00
Ajay
cf0e91c4ff Use fast time to decimal for non display calculations 2022-12-11 14:10:09 -05:00
Ajay
41a25720d0 Caching for get smallest segment
Hover previews
2022-12-11 13:19:37 -05:00
Ajay
283ec50388 Hide original chapter if similar in name 2022-12-11 12:51:36 -05:00
Ajay
e5794e6685 Fix hover text alignment issue 2022-12-11 12:04:31 -05:00
Ajay
bd3cdb98ac Fix lots of chapters freezing the browser 2022-12-11 11:58:10 -05:00
Ajay
f66d7a9547 Call whitelist check if not still waiting for channel id in window listener 2022-12-09 22:11:57 -05:00
Ajay
7be7b12d52 Generated chapters can now start after 0 seconds, so allow importing them 2022-12-04 21:55:46 -05:00
Ajay Ramachandran
b17cfa4ec2 Merge pull request #1348 from mchangrh/configDiffPlugin
config diff plugin
2022-12-04 15:10:31 -05:00
Ajay Ramachandran
8c185d4b5e Add another key to config diff whitelist 2022-12-04 15:06:16 -05:00
Ajay Ramachandran
ec86d6f99d Merge pull request #1514 from mchangrh/fv-livestream-2
Allow full video labels on livestreams
2022-12-04 15:04:15 -05:00
github-actions[bot]
ffc566c3bc Update Invidious List 2022-11-30 21:46:54 -05:00
Ajay Ramachandran
e7451eca27 Merge pull request #1595 from caneleex/patch/time-mutes
Don't include mutes in time without skips
2022-11-29 18:48:13 -05:00
Ajay Ramachandran
53713cd2e7 Merge pull request #1578 from caneleex/patch/disable-scrolling
Add option to disable scrolling to edit
2022-11-29 16:03:35 -05:00
Ajay
5925d45f74 Add new workaround for improving skipping precision on Firefox 2022-11-26 03:38:48 -05:00
Ajay
43c30bb03d bump version 2022-11-23 23:42:17 -05:00
Ajay
eac2caadce Fix document script sending events when video id not changed 2022-11-23 23:42:06 -05:00
Ajay
8d0a4ec2e6 Fix race condition causing double fetch 2022-11-23 23:37:52 -05:00
Ajay
8b6fb98b3d Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-11-23 23:24:59 -05:00
Ajay
8f13c5b8a5 Disable refetch 2022-11-23 23:24:57 -05:00
Ajay Ramachandran
ec12c1d324 bump version 2022-11-22 17:29:46 -05:00
caneleex
b696902124 why 2022-11-18 20:51:11 +01:00
caneleex
87d1522c41 Don't include mutes in time without skips 2022-11-18 20:50:05 +01:00
Ajay
4447ff3142 Fix issues with mutes ending when highlights start 2022-11-09 12:45:11 -05:00
Ajay
00ef3856ca Fix race condition causing full video label not to display 2022-11-08 13:50:56 -05:00
Ajay
cd7d74fb33 Fix category pill text on new YouTube layout 2022-11-08 13:38:19 -05:00
Ajay
ce3f77ed20 Better key moments check by not importing when no 0 second chapter 2022-11-07 21:15:04 -05:00
Ajay Ramachandran
d347f4e575 bump version 2022-11-06 13:19:56 -05:00
Ajay Ramachandran
1c5802a5e2 New Crowdin updates (#1574) 2022-11-06 13:19:35 -05:00
Ajay Ramachandran
4bc7ce7cd0 Merge pull request #1577 from caneleex/patch/outro-end-time
Don't overwrite endcards time upon submitting
2022-11-06 13:18:14 -05:00
caneleex
3c6989f67d Don't overwrite endcards time upon submitting 2022-11-06 19:15:59 +01:00
caneleex
a1e00b44d5 Add option to disable scrolling to edit 2022-11-06 18:48:42 +01:00
Ajay Ramachandran
b40749717f Merge pull request #1550 from mchangrh/stricter-ts
add noFallThrough, inplicitReturn, update packages
2022-11-04 17:06:36 -04:00
Ajay
4596f3ab0d bump version 2022-11-04 17:04:35 -04:00
mini-bomba
89e87cd74d Don't update the whole segment list on time update (#1569)
Update segment element classes instead.
This probably is more efficient than what we're doing currently.
Also, this seems to fix a bug where the vote confirmation/error msg is removed immediately
2022-11-04 17:02:54 -04:00
Ajay Ramachandran
311c4caf2b New Crowdin updates (#1544) 2022-11-04 17:02:16 -04:00
Ajay
0e0ae9165e Fix segments really close to eachother not skipping
Also combine segments that are closer than skip buffer

Fix #1510
2022-11-04 17:01:23 -04:00
Ajay
ff2cec699f adjust skip to highlight button behavior to attempt to fix issues 2022-11-04 16:18:15 -04:00
Ajay
1775835392 Add hiding skip to highlight
Fix #1530
2022-11-04 16:05:09 -04:00
Ajay
2c5db670a4 Safety on getChapterButton
Fix #1573
2022-11-04 15:44:14 -04:00
Ajay Ramachandran
4b4743f1f7 Merge pull request #1531 from mchangrh/music-progressbar
add YT Music progress bar selector
2022-11-04 15:41:51 -04:00
Ajay Ramachandran
7719ca7eca Merge pull request #1561 from mchangrh/gha-update
bump actions to node 16
2022-11-04 15:40:05 -04:00
Ajay Ramachandran
f4f7df9f2b Merge pull request #1564 from mini-bomba/userinfo-publicID
Use publicID instead of privateID for /userInfo calls
2022-11-04 15:39:44 -04:00
Ajay
95551de09a Fix precise seeking notice offset with hover preview 2022-11-01 14:41:43 -04:00
Ajay Ramachandran
8653059b13 bump version 2022-10-30 22:00:35 -04:00
Ajay
b3afd0403e Add configuration for segment failed to fetch warning 2022-10-30 20:38:48 -04:00
Ajay
6db498ccb1 Fix key moments check not working when multiple videos present 2022-10-30 20:36:05 -04:00
Ajay
ef8c5f58c5 Fix scrubbing bar missing when chapter bar using % widths 2022-10-30 14:49:19 -04:00
Ajay
71998831ee bump version 2022-10-30 13:23:12 -04:00
Ajay
8f19d3e83c Fix segment failed to fetch warning appearing for 404 2022-10-30 13:23:02 -04:00
mini-bomba
ea73a92fb7 Use publicID instead of privateID for /userInfo calls
This should reduce the load on the server a bit, as it will no longer have to compute the publicID for each sponsorblock user.
This also reduces the list of actions that leak the privateID to the server.
2022-10-29 13:20:51 +02:00
Ajay
d68c3659be bump version 2022-10-27 21:47:00 -04:00
Ajay
715bcb6bd3 Added error when segments haven't loaded and improved popup message
Resolves #1553
2022-10-27 21:46:47 -04:00
Ajay
fea8a9a37e Disable virtual time in firefox again 2022-10-27 21:39:06 -04:00
Michael C
01eeb28b60 bump actions to node 16 2022-10-27 03:26:08 -04:00
Michael C
44d4dd54aa return undefined instead of resolving void 2022-10-21 02:41:01 -04:00
Michael C
27bb6045bc make tab open listeners non-async 2022-10-21 02:37:48 -04:00
Michael M. Chang
0610eea53d Update src/popup.ts
Co-authored-by: Ajay Ramachandran <dev@ajay.app>
2022-10-21 01:01:25 -04:00
Michael C
1fcfea9fd5 add noFallThrough, inplicitReturn, update packages 2022-10-20 22:13:51 -04:00
Ajay
aec5845bce Show import button for errors 2022-10-17 09:25:11 -04:00
Ajay
5209c0ea04 Import chapters as chooseACategory if chapters is disabled 2022-10-17 09:23:59 -04:00
Ajay
b52132e311 Open submission men after importing 2022-10-17 08:52:55 -04:00
Ajay
c2e731ef89 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-10-17 08:50:56 -04:00
Ajay
a48269f254 Import short category names too 2022-10-17 08:50:55 -04:00
Ajay Ramachandran
562adb9d55 bump version 2022-10-16 22:41:46 -04:00
Ajay Ramachandran
851ceb553d New translations messages.json (Korean) (#1529) 2022-10-16 22:41:31 -04:00
Ajay
4bd7e9ab34 Fix progress bar with 0px chapters 2022-10-14 18:23:40 -04:00
Bennett
edaed61612 Reduced execution time of hexToRgb function by ~70%
Coded to use less regex.
On average, "indexOf" performs better than "parseInt."
2022-10-13 14:48:17 -04:00
Michael C
784c1db0c1 add YT Music progress bar selector 2022-10-13 00:55:55 -04:00
Ajay
97fc8174b9 Add flag to disable virtual time 2022-10-12 23:48:20 -04:00
Ajay
9849c34ed3 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-10-12 23:46:02 -04:00
Ajay
56be762686 Add back virtual time to firefox and fix it with playback speed 2022-10-12 23:46:00 -04:00
Ajay Ramachandran
1648e104e1 bump version 2022-10-11 20:57:54 -04:00
Ajay Ramachandran
c4d7c4511e New Crowdin updates (#1511) 2022-10-11 20:57:36 -04:00
Ajay Ramachandran
cd78c46ef8 Merge pull request #1521 from mini-bomba/popup
Update popup on segment updates + some code cleanup
2022-10-11 20:57:21 -04:00
Ajay
758b6f18db update buttons when single time segment is edited 2022-10-11 18:30:53 -04:00
Ajay
6d05b2a849 Set endtime by default for outro 2022-10-11 18:24:52 -04:00
Ajay
4729268083 Reimport chapters if they are found to have changed 2022-10-11 17:59:46 -04:00
mini-bomba
b7a574fc16 Clear segment list & show loading animation in popup on video change
also removed the creatingSegment variable - results in "Start/End Segment Now" correctly updating when using buttons on the controls panel instead
also the "refreshSegments" message no longer sends a response, as we send an update manually now
2022-10-11 18:38:00 +02:00
mini-bomba
c8cbd893f7 Don't hide the popup on video change
also hide the info button if the popup was open when setting up buttons
2022-10-11 16:08:07 +02:00
mini-bomba
11b01fd3dd revert reordering of imports 2022-10-11 15:41:19 +02:00
Ajay
85e3d3bc18 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-10-11 00:08:16 -04:00
Ajay
47ea8cd017 Fix unused import 2022-10-11 00:08:14 -04:00
Ajay Ramachandran
61e78eb668 Merge pull request #1524 from caneleex/patch/full-type-skip
don't append skip button for full video labels
2022-10-11 00:07:38 -04:00
Ajay
5ebd44c0c7 update category pill for react 18 2022-10-11 00:04:02 -04:00
Ajay
9888dcc323 Fix chapter import not working with 0 time 2022-10-10 23:37:48 -04:00
Ajay
49a166a6b2 Fix key moments importing as chapters 2022-10-10 23:34:34 -04:00
caneleex
2bd1271575 don't append skip button for full video labels 2022-10-10 21:21:57 +02:00
Ajay
5d62b11a6d Enable chapters if not enabled after redeem successful 2022-10-10 00:38:09 -04:00
Ajay
f4cac58322 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-10-09 16:44:55 -04:00
Ajay
4a532e751c Add class for other extensions when displaying non chapter title 2022-10-09 16:44:53 -04:00
mini-bomba
4a3b33cb85 Dedupe & clean up popup -> content script communication code 2022-10-08 19:07:58 +02:00
mini-bomba
78e9f41854 Update popup when new segments are fetched 2022-10-08 18:34:20 +02:00
mini-bomba
48cfee57b7 Return null on fails in getYouTubeVideoID and add type annotations to videoIDChange 2022-10-08 16:40:48 +02:00
Ajay Ramachandran
b2ef9e5d6e Merge pull request #1518 from mchangrh/interface-delimiter
Interface delimiter
2022-10-08 10:07:58 -04:00
Ajay Ramachandran
c42ebce6e3 Merge pull request #1520 from mini-bomba/fix/empty-unsubmitted-video
Remove the unsubmittedSegments entry when removing the last segment
2022-10-08 10:07:14 -04:00
mini-bomba
bc1d6006eb Remove the unsubmittedSegments entry when removing the last segment 2022-10-08 13:10:25 +02:00
Ajay Ramachandran
727d925879 Merge pull request #1519 from ajayyy/ci/oss_attribution
Update OSS Attribution
2022-10-07 22:56:46 -04:00
github-actions[bot]
5d48d9ac74 Update OSS Attribution 2022-10-08 02:55:47 +00:00
Ajay Ramachandran
83ea183f58 Merge pull request #1517 from mchangrh/react-18
React 18
2022-10-07 22:54:51 -04:00
Michael C
a098858035 force delimiters to follow semi 2022-10-07 20:51:58 -04:00
Michael C
81e85c19ae fix typings and revert spacing 2022-10-07 20:06:03 -04:00
Michael C
fda4a03541 fix more components 2022-10-07 19:51:05 -04:00
Michael C
55c84662c0 add some changes that are rendering properly 2022-10-07 19:28:29 -04:00
Ajay Ramachandran
5c9e06468e Merge pull request #1515 from mchangrh/dependency-update
update dependencies (skips react (again))
2022-10-07 17:24:58 -04:00
Ajay
a3d38c57d7 Fix chapter icon with ytp big mode 2022-10-07 17:20:19 -04:00
Michael C
7ec09dd385 update dependencies (skips react) 2022-10-07 17:19:36 -04:00
Michael C
bf8003891c add configDiffPlugin 2022-10-07 17:12:16 -04:00
Michael C
adb8c4c5f9 only allow full video labels on livestreams 2022-10-07 16:37:10 -04:00
Ajay
bb7f069254 Only check import duplicates against unsubmitted segments 2022-10-07 12:22:39 -04:00
Ajay
61fc1d2ed3 Fix zero start time breaking 2022-10-07 12:19:42 -04:00
Ajay
dabc63af73 Deletew all custom chapter bars we don't know about when clearing preview bar 2022-10-07 12:02:14 -04:00
Ajay
08181c1d5f Clear bote buttons when clearing preview bar 2022-10-07 11:59:56 -04:00
Ajay
03cd1b535b Count skips for chapters when viewed 2022-10-05 15:39:51 -04:00
Ajay
8cc3843ada Run chapters clear when preview bar cleared 2022-10-05 02:19:32 -04:00
Ajay
c4701092f4 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-10-05 02:15:32 -04:00
Ajay
63ef9b44c7 Make sure chapters are invalid if regex fails 2022-10-05 02:15:31 -04:00
Ajay Ramachandran
d564742339 bump version 2022-10-05 01:42:04 -04:00
Ajay Ramachandran
6477e4c1f8 New Crowdin updates (#1495) 2022-10-05 01:41:15 -04:00
Ajay Ramachandran
eb8a0ae307 Merge pull request #1498 from mchangrh/1496-fix
fix #1496
2022-10-05 01:02:37 -04:00
Ajay
5296c437cc Make the clip ignore less sketchy 2022-10-05 00:55:19 -04:00
Ajay
36efe139ba Fix wait for element not working on embed, causing segments not to load
Fix #1497
2022-10-04 22:08:19 -04:00
Ajay
eaabd3149e Fixing stacking timeout issue 2022-10-04 17:50:23 -04:00
Ajay
6166ab3006 Fix spamming user info on options page and improve popup values 2022-10-03 16:59:49 -04:00
Ajay
f1498d51fa Disable show info message if chapter enabled 2022-10-02 21:45:00 -04:00
Ajay
3aabc0d051 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-09-30 21:00:46 -04:00
Ajay
28904935da Remove chance from chapter tooltip 2022-09-30 21:00:45 -04:00
Ajay Ramachandran
35d83d257c bump version 2022-09-30 14:51:43 -04:00
Ajay Ramachandran
92e078b87c Merge pull request #1501 from mchangrh/fix-vip-lockcategories
fix VIP LockCategories
2022-09-29 00:01:15 -04:00
Michael C
75accad06e locked colour is important 2022-09-28 18:49:45 -04:00
Ajay
a99823d487 Fix import menu hidden with no segments
Fix #1499
2022-09-28 15:17:05 -04:00
Ajay
1ba1595d0e Swap inspect and preview back 2022-09-27 14:47:11 -04:00
Michael C
8f7408d815 fix #1496
- force return bad videoID on clip
- don't createbuttons on video ready, updateVisibility with more checks
- don't switch to falsy videoIDs if already available
2022-09-27 00:59:24 -04:00
Ajay
3337fa04b9 bump version 2022-09-24 22:48:08 -04:00
Ajay Ramachandran
1a0dd19cf0 Merge pull request #1450 from AlecRust/refine-popup
Tidy/simplify popup
2022-09-24 22:46:40 -04:00
Ajay
b45434b374 i18n 2022-09-24 22:46:10 -04:00
Ajay Ramachandran
a214fd416e Merge pull request #1483 from mchangrh/x-overflow
wrap popup in #secondary-inner
2022-09-24 22:42:34 -04:00
Ajay Ramachandran
38266be174 New Crowdin updates (#1489) 2022-09-24 22:41:08 -04:00
FlorianZahn
f96419d14c popup votebuttons disappear fix (#1493)
Co-authored-by: Ajay <dev@ajay.app>
2022-09-24 22:40:56 -04:00
Ajay
280127c9af Add tooltip to skip segment button 2022-09-24 22:33:12 -04:00
Ajay
da35e889f2 Add option to disable segment names beside timestamp in video player 2022-09-24 22:29:07 -04:00
Ajay
bb8975e93a Swap preview and inspect 2022-09-24 21:17:57 -04:00
Ajay
36e8300427 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-09-24 00:39:30 -04:00
Ajay
fc160e1d09 Fix chapter suggestions disappearing on click 2022-09-24 00:39:28 -04:00
Ajay Ramachandran
1ace5ea50c fix broken funding file 2022-09-23 17:13:28 -04:00
Ajay Ramachandran
911ff9b784 update links 2022-09-23 17:11:56 -04:00
Ajay
e1688c3f58 reset custom chapters bar to null when deleting 2022-09-23 11:04:55 -04:00
Ajay
e11a320c3f Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-09-23 11:01:03 -04:00
Ajay
0d6a40b9fc Fix custom chapter bar sometimes sticking around 2022-09-23 11:01:01 -04:00
Alec Rust
bbab712a79 Revert 50/50 columns, improve width when editing username 2022-09-23 09:32:49 +01:00
Alec Rust
d9f03a62ee Tidy/simplify popup 2022-09-23 09:32:49 +01:00
Ajay Ramachandran
577994cc95 Merge pull request #1490 from mchangrh/private-userid
update UserID to be Private UserID
2022-09-23 01:57:28 -04:00
Michael C
d573dabf15 update UserID to be Private UserID 2022-09-23 01:42:00 -04:00
Ajay
4c903456ff Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-09-23 01:24:28 -04:00
Ajay
6d1a29019b Default to chapters tab if no normal segments 2022-09-23 01:24:27 -04:00
Ajay Ramachandran
a91025ac23 Merge pull request #1454 from AlecRust/start-stop-segment-copy
Improve copy of start/end segment button
2022-09-23 01:17:50 -04:00
Ajay
ca931f18f6 Warning on filler description 2022-09-23 01:13:12 -04:00
Ajay
55bd10087d bump version 2022-09-23 01:01:51 -04:00
Ajay Ramachandran
97450f5936 New Crowdin updates (#1484) 2022-09-23 00:54:00 -04:00
Ajay
6b37287e08 Fix chapter chevron sometimes not appearing 2022-09-23 00:53:08 -04:00
Ajay
757d7e0a1e Only hide chapter name selector when focus lost 2022-09-22 23:30:04 -04:00
Ajay
664d75e653 Add notice about chapters for free users 2022-09-22 23:27:10 -04:00
Ajay
dffc70cc19 Hide import button when no video found 2022-09-22 22:03:28 -04:00
Ajay
d294398f28 Add export to unsubmitted segments 2022-09-22 21:58:03 -04:00
Ajay
c17cf74389 Fix preview bar on mobile 2022-09-22 16:34:17 -04:00
Ajay
b96cdbe40a Change next keybind button for better compatibility 2022-09-20 00:16:01 -04:00
Ajay
7b86a93661 Fix wrong css property name 2022-09-19 10:40:32 -04:00
Michael C
1d2122c2df wrap popup in #secondary-inner 2022-09-19 02:18:56 -04:00
Ajay
65e40e4d9c Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-09-18 23:44:15 -04:00
Ajay
25cd5a346b Fix popup layout on safari 2022-09-18 23:44:14 -04:00
Ajay Ramachandran
5684d790c4 New Crowdin updates (#1404) 2022-09-18 21:59:10 -04:00
Ajay
13cde493ec bump version 2022-09-18 21:55:26 -04:00
Ajay
052860c5a3 Fix styling of empty category name suggestions menu 2022-09-18 21:54:07 -04:00
Ajay
c66de4fdb1 Make submission menu ui more consistent 2022-09-18 21:47:04 -04:00
Ajay
edf0295cdf Fix normal chapter text sometimes disappearing 2022-09-18 21:34:45 -04:00
Ajay
d044944946 Fix type error 2022-09-18 16:58:53 -04:00
Ajay
7bbf2f1ce2 Shrink chapter vote buttons 2022-09-18 16:47:02 -04:00
Ajay
2369fcc92d Fix unnecesary failure condition for chapter bar creation 2022-09-18 16:41:01 -04:00
Ajay
0b5c692c65 Fix hover text offset when video a different aspect ratio 2022-09-18 16:31:54 -04:00
Ajay
4970d33169 Don't show unsubmitted segments in description box 2022-09-18 16:02:52 -04:00
Ajay
614d6a722a don't show update notice when disabled 2022-09-18 03:24:09 -04:00
Ajay
6d757857cb Add tooltip about chapters feature 2022-09-18 03:15:20 -04:00
Ajay
4804c7f439 Add option to show categories you don't have permission to submit 2022-09-16 22:41:39 -04:00
Ajay
47f685bcdd Clarify chapter submission unrelated to license 2022-09-16 21:47:23 -04:00
Ajay
e5d9b16235 unhide chapter bar in fallback case 2022-09-16 20:46:27 -04:00
Ajay
54a2d97f70 Change opacity for disabled options 2022-09-16 18:20:34 -04:00
Ajay
b7d85ca3c7 Add action type to preview bar test 2022-09-16 02:02:48 -04:00
Ajay
56611598b2 Fix filtered chapter group generation 2022-09-16 01:49:50 -04:00
Ajay
23e0666569 Improved behavior of next chapter keybind with overlap 2022-09-16 01:38:37 -04:00
Ajay
6571bba218 bump version 2022-09-16 01:00:53 -04:00
Ajay
51fc6fde22 Improve next chapter and previous chapter keybind 2022-09-16 00:57:43 -04:00
Ajay
b8d6d4a0b3 Handle preview bar hover without js 2022-09-15 23:37:11 -04:00
Ajay
6381f36a90 Fix hover for first chapter 2022-09-15 23:33:48 -04:00
Ajay
b9ef35dbbe Fix left over from merge conflict causing some skips to be ignored 2022-09-15 23:28:04 -04:00
Ajay
b43e3dab71 Fix doubling up segments in multi segment skip notice 2022-09-15 21:54:03 -04:00
Ajay
901dbb1ecf Fix info button animation 2022-09-15 15:35:38 -04:00
Ajay
68e01fbcc0 Add more checks to prevent double seek bar or no seek bar 2022-09-15 12:46:19 -04:00
Ajay
43d4b7ef18 Fix segments not available when hover preview -> click on same video 2022-09-15 12:10:39 -04:00
Ajay
4a00f3398e Fix last imported chapter not displaying sometimes 2022-09-14 03:40:24 -04:00
Ajay
8054e3d8f2 Fix chapters getting offset when small chapters filtered out 2022-09-14 03:18:41 -04:00
Ajay
b0e1d5e7fa Fix seek bar sometimes becoming empty when one seek section is completely filled 2022-09-14 02:58:22 -04:00
Ajay
d9e723b265 Sync official chapter margin 2022-09-14 02:27:51 -04:00
Ajay
9bb8a0986f Fix preview bar size offset with big mode 2022-09-13 23:59:00 -04:00
Ajay
6418d09039 Fix last preview bar being off 2022-09-13 23:40:16 -04:00
Ajay
afab681a60 Fix too many hover text tooltips 2022-09-13 11:56:23 -04:00
Ajay
8db077887d import segments instead of chapters 2022-09-13 11:52:09 -04:00
Ajay
c06b7857f8 Move to controls to make info button visible in selenium test 2022-09-05 00:32:04 -04:00
Ajay
e798cfdfe3 clarify what needs to be translated 2022-09-05 00:18:28 -04:00
Ajay
0e76342b04 fix typo 2022-09-05 00:17:44 -04:00
Ajay
d91e38fec9 bump version 2022-09-05 00:16:37 -04:00
Ajay
3316072f5d Fix votes appearing for unsubmitted segments 2022-09-05 00:14:23 -04:00
Ajay
4c568212ac Hide custom chapter bar while generating 2022-09-05 00:03:57 -04:00
Ajay
eaa119f152 Make sure original chapter bar that is used is always the right one 2022-09-05 00:01:11 -04:00
Ajay
e7deabe8d9 Properly handle hover previews for chapters and clear old unused ones 2022-09-04 23:57:10 -04:00
Ajay
6d47700ebd Safer document script 2022-09-04 23:14:15 -04:00
Ajay
93c616de23 Prevent some event bubbling issues 2022-09-04 22:04:48 -04:00
Ajay
ee25b41d7e Don't carry over incorrect/harmful vote menu between videos 2022-09-04 21:58:56 -04:00
Ajay
00f134029a Prevent creating multiple chapter vote containers 2022-09-04 21:52:14 -04:00
Ajay
00d625013b Add option to manual skip when a full video segment exists 2022-09-03 23:16:18 -04:00
Ajay
e81ff66dd3 Fix chapter -> full -> chapter not saving times 2022-09-03 21:28:02 -04:00
Ajay
97af12416e Fix copy tooltip 2022-09-03 01:58:22 -04:00
Ajay
bf191dab92 fix react errors about using inherit 2022-09-03 01:09:16 -04:00
Ajay
f8c61b7848 Don't use video before it is set 2022-09-03 00:36:28 -04:00
Ajay
5b136f2da8 Fix crashes on invidious 2022-09-03 00:32:20 -04:00
Ajay
8b80b33810 Don't show empty chapter bar for youtube chapters in popup 2022-09-03 00:27:18 -04:00
Ajay
e3c36ae6e2 Fix the freezing on firefox due to hover preview text 2022-09-03 00:22:03 -04:00
Ajay
533b15f44b Add support for hours in import segments 2022-09-02 21:42:36 -04:00
Ajay Ramachandran
4f0f8655f4 Merge pull request #1425 from mchangrh/contentScriptRebase
rebase document script out of videoInfo
2022-09-02 15:20:40 -04:00
Ajay Ramachandran
668f6856d1 bump version 2022-09-02 15:20:25 -04:00
Ajay
c8e2bb0c13 Auto update hidden categories when redeemed 2022-09-02 14:38:49 -04:00
Ajay
39ed7ea83c Fix license code box 2022-09-02 14:26:41 -04:00
Ajay
f1b2ff801a Fix redirect uri 2022-09-02 13:50:29 -04:00
Ajay Ramachandran
1d9c3a8b80 fix typo 2022-09-02 04:55:17 -04:00
Ajay
29c6151fe3 Ensure channel id is defined before declaring it found 2022-09-02 01:30:13 -04:00
Ajay
1377be9915 Use events for channel id and fallback to current system
Also fix formatting
2022-09-02 01:30:12 -04:00
Michael C
c479a601cd rebase document script out of videoInfo #1312 2022-09-02 01:30:09 -04:00
Ajay Ramachandran
f66a4d25bf Merge pull request #1446 from mini-bomba/clearUnsubmittedSegments
Add a section in options for unsubmitted segments
2022-09-02 00:17:57 -04:00
Ajay
9c7d153f15 Move segment export to backup page and improve margins 2022-09-02 00:15:05 -04:00
mini-bomba
bbea534781 Add "Export segments as URL" option the unsubmitted videos section 2022-09-01 23:03:25 -04:00
mini-bomba
df2586e76d Load segment description from hashparams 2022-09-01 23:03:25 -04:00
mini-bomba
59093cdf21 Move new react components to components/options/, following latest changes 2022-09-01 23:03:25 -04:00
mini-bomba
5f6307041a Add an Export Segments button to the unsubmitted segments list 2022-09-01 23:03:25 -04:00
mini-bomba
26f2143247 Don't force-sync unsubmitted segments when clear confirm prompt is cancelled 2022-09-01 23:03:25 -04:00
mini-bomba
bd292ff886 Split unsubmittedSegmentCounts string into many to account for singular/plural forms of nouns
hopefully with enough context for translators to properly translate...
2022-09-01 23:03:25 -04:00
mini-bomba
9915d46ad4 Add a section in options for unsubmitted segments 2022-09-01 23:03:25 -04:00
Ajay
2b5a02e068 Make required segments thicker in preview bar 2022-09-01 21:35:58 -04:00
Ajay
1f68f512fa Fix linting error 2022-09-01 20:04:53 -04:00
Ajay
d18f7c6195 Make limited width option better 2022-09-01 17:10:01 -04:00
Ajay
015ac7d46e Fix test breaking due to chrome.* api 2022-09-01 16:52:10 -04:00
Ajay
6631dfdea3 Also check license status for submitting chapter 2022-09-01 16:44:02 -04:00
Ajay
212fbb83fe Add tooltip to sort segments 2022-09-01 16:33:34 -04:00
Ajay
9e08d6012c Fix export/import not appearing without segments and without chapter enabled 2022-09-01 16:32:23 -04:00
Ajay
69c0fe1caf Make importer import non chapters too 2022-09-01 16:25:43 -04:00
Ajay
fcecd1163d Improve locked category display 2022-09-01 16:10:57 -04:00
Ajay
29ea112b4f Move hyphen so it is not treated as a range 2022-09-01 16:07:29 -04:00
Ajay Ramachandran
2b96fd5f57 Merge pull request #1001 from ajayyy/chapters
Chapters
2022-09-01 15:24:35 -04:00
Ajay
3e40745621 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-09-01 15:21:23 -04:00
Ajay
c6e30236e9 Add license requirement 2022-09-01 15:15:30 -04:00
Ajay
34c4ecf940 Don't include chapters in time without skips 2022-08-28 23:47:27 -04:00
Ajay
3550c168e2 Fix active segment sometimes disapearing 2022-08-28 23:45:02 -04:00
Ajay
901d6e6c92 Add voting for chapters 2022-08-28 23:38:40 -04:00
Ajay Ramachandran
f05d081cd6 Merge pull request #1459 from mchangrh/no-html-error
catch all html in error messages
2022-08-22 23:21:39 -04:00
Michael C
aadc1be56c catch all html in error messages 2022-08-22 20:44:23 -04:00
Alec Rust
5b080874f2 Improve copy of start/end segment button 2022-08-22 10:51:02 +01:00
Ajay Ramachandran
19e230ea6a Merge pull request #1453 from AlecRust/fix-width-when-embedded
Fix popup width when embedded in page
2022-08-21 22:23:52 -04:00
Alec Rust
bc1263c341 Fix popup width when embedded in page 2022-08-21 11:56:31 +01:00
Ajay
42d76cf257 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-08-19 23:16:45 -04:00
Ajay
d06b7411dc Move options associated with specific categories into their div 2022-08-19 01:26:45 -04:00
Ajay
b14d766ffb Don't show hidden segments in active segment box 2022-08-18 02:44:49 -04:00
Ajay
32ff8db241 Fix buffering sometimes not rendering all the way 2022-08-18 02:39:56 -04:00
Ajay
ea87c8ca24 Fix seek bar progress offsets with custom chapter sections 2022-08-18 02:24:54 -04:00
Michael M. Chang
780ea4a9d0 update wording of Preview to be inline with wiki (#1441)
Co-authored-by: Ajay Ramachandran <dev@ajay.app>
2022-08-17 23:20:16 -04:00
Ajay
6ce4797772 Fix preview bar when video duration innacurate 2022-08-17 01:28:19 -04:00
Ajay
8e738a6097 Fix preview bars rendering incorrectly when native chapters are displayed 2022-08-17 01:21:06 -04:00
Ajay
7d3f86ded1 Fix skipping after paused at zero sometimes not working
Affects some autoplay blocking

Resolves #1437
2022-08-16 16:42:47 -04:00
Ajay
faeb5dede0 Add page for refreshing invidious permissions if it was revoked
Fixes #1354
2022-08-16 16:00:34 -04:00
Ajay Ramachandran
eae8485713 Merge pull request #1422 from mchangrh/localDisableMute
allow disabling mute segments locally
2022-08-14 00:23:29 -04:00
Ajay Ramachandran
87ca0a8a50 Merge pull request #1427 from mini-bomba/theming_fixes
Fix issues with DR & Invidious themes
2022-08-14 00:18:48 -04:00
Ajay
99c5375c6a Handle permission userinfo using new logic 2022-08-14 00:14:59 -04:00
mini-bomba
a62f6ca696 Fix issues with DR & Invidious themes 2022-07-30 00:35:55 +02:00
Michael C
6eb1d5d954 allow disabling mute segments locally 2022-07-29 00:37:02 -04:00
Ajay Ramachandran
81b01ac5cc Merge pull request #1417 from mchangrh/update-dependencies
Update dependencies
2022-07-25 17:18:13 -04:00
Michael C
6f47b66837 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into update-dependencies 2022-07-25 16:11:30 -04:00
Michael C
cf43e04d47 update dependnecies 2022-07-25 16:10:10 -04:00
Ajay
cda57e2d2b Make title link selector more specific
Co-authored-by: Michael C <michael@mchang.name>
2022-07-25 16:03:08 -04:00
Ajay
a9186a35e5 Fix hover previews on load and channel trailers 2022-07-25 02:40:48 -04:00
Ajay
1a6e6279c8 Fix autoskipping when skips load before video 2022-07-24 21:45:25 -04:00
Ajay Ramachandran
522a04eecb bump version 2022-07-21 23:40:26 -04:00
Ajay
d8dfbef1a7 Fix issue with navigator triggering events before document.url updates 2022-07-21 15:14:57 -04:00
Ajay
60ea7190f9 Pin github actions 2022-07-21 00:13:32 -04:00
Ajay
804870f18a Fix new warning ui 2022-07-20 21:07:57 -04:00
Ajay Ramachandran
7c302af207 bump version 2022-07-20 21:03:20 -04:00
Ajay
2cc1dcc6fd Add better UI for warnings allowing you to accept without chatting 2022-07-20 18:48:53 -04:00
Ajay
31cc4b4960 Fix running dev broken 2022-07-20 16:49:23 -04:00
Ajay
af86534992 Fix categories not being able to be disabled 2022-07-19 23:37:42 -04:00
Ajay
0f9122aa1c Fix skipping two segments at the same time for auto skip on music videos 2022-07-19 23:27:32 -04:00
Ajay
d0e35032a5 Include overlap when unmuting if about to autoskip 2022-07-14 17:39:08 -04:00
Ajay Ramachandran
acf26d3127 Merge pull request #1400 from mchangrh/update-deps
update dependencies
2022-07-13 12:25:37 -04:00
Ajay
d352c6efb4 bump version 2022-07-13 12:16:11 -04:00
Ajay
5ff9b10f21 Fix double skip issue 2022-07-13 12:15:56 -04:00
Michael C
80c67d8340 update dependencies 2022-07-12 23:47:22 -04:00
Ajay Ramachandran
3ee2e2517a bump version 2022-07-12 11:43:58 -04:00
Ajay Ramachandran
dd7f227305 Merge pull request #1388 from mchangrh/revert-module-fix-ci
Revert module & fix ci
2022-07-12 11:43:32 -04:00
Ajay Ramachandran
c1d3c7d680 New Crowdin updates (#1393) 2022-07-12 11:42:09 -04:00
Ajay
fae6d0d0cf Add comments 2022-07-12 01:03:28 -04:00
Ajay
60d106fc52 Fix cases with multiple segments starting at the exact same time 2022-07-12 00:59:13 -04:00
Ajay
a4df2eab8f Retry for errors again 2022-07-11 15:00:48 -04:00
Ajay
fdbcf47149 make skip to next chapter go to next endpoint and fix reskip stackoverflow 2022-07-10 21:51:56 -04:00
Ajay
b1ef8a5d47 Don't draw chapters bar when no custom segments 2022-07-10 02:06:26 -04:00
Ajay
4cb6baaff0 Fix chapter import for no segments 2022-07-10 02:02:12 -04:00
Ajay
6cb4fac041 Add hotkeys for skipping to next and previous chapter 2022-07-10 01:58:39 -04:00
Ajay
d7176a9c97 Import chapters with no segments as well 2022-07-10 01:13:53 -04:00
Ajay
2eb0a34858 Always import chapters when segments 2022-07-10 00:56:31 -04:00
Ajay
cf86e91988 Added guideline reminders for 2022-07-09 23:42:52 -04:00
Ajay
058c41dd7e Rename chapter option to show chapter 2022-07-07 17:05:27 -04:00
Ajay
7a50167222 Remove first event check 2022-07-05 16:02:05 -04:00
Ajay
969b303c59 Limit chapter in UI to those who can submit 2022-07-05 13:34:30 -04:00
Ajay
8114e0dcf7 Fix some chapter and mute not skipping from popup 2022-07-04 01:21:36 -04:00
Ajay
561b3a2263 Fix double click skip in popup 2022-07-04 01:21:11 -04:00
Ajay
e0edb63501 Put chapter option higher up 2022-07-04 01:10:41 -04:00
Ajay
70ef867ec5 Don't count skip time for chapter 2022-07-04 01:05:14 -04:00
Ajay
23336fa65b Don't send message if tab not found 2022-07-04 00:49:32 -04:00
Ajay
fea90d024e Made render segments as chapters only affect non chapter segments 2022-07-04 00:43:55 -04:00
Ajay
de85d93602 Hide chapter chevron when it won't do anything 2022-07-03 23:50:18 -04:00
Ajay
e48d956577 Fix segments disapearing when changing skip options 2022-07-03 22:44:32 -04:00
Ajay Ramachandran
efec6a113f bump version 2022-07-03 19:24:24 -04:00
Ajay Ramachandran
0121a2aebd New translations messages.json (German) (#1391) 2022-07-03 19:24:02 -04:00
Ajay
7badfd9b32 Fix existing chapters opening skip notice when chapters disabled 2022-07-03 18:33:32 -04:00
Ajay
d0497d60e8 Add indicator where current player is for segments in popup 2022-07-03 17:53:40 -04:00
Ajay
e223d12520 Fix scrubbing on mobile 2022-07-03 16:42:45 -04:00
Ajay Ramachandran
27e8e83c59 Merge pull request #1389 from mchangrh/export-timestamp
append timestamp to export filename
2022-07-03 00:27:40 -04:00
Ajay Ramachandran
c7f254db70 Use templates 2022-07-03 00:24:28 -04:00
Ajay
85c3cd4a81 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock 2022-07-03 00:22:58 -04:00
Ajay
8d9042aeeb Only ignore play event when buffering 2022-07-03 00:22:56 -04:00
Michael C
373edf883d append timestamp to export filename 2022-07-01 02:07:54 -04:00
Michael C
7ed01a181e sort invidiousList for consistency, update from failed CI 2022-06-30 21:47:54 -04:00
Michael C
4119fd8433 revert module conversion 2022-06-30 21:39:28 -04:00
Ajay
cfecb9f94a Better import deduplication 2022-06-23 00:14:21 -04:00
Ajay
fc81e02026 Fix exporter test 2022-06-22 18:58:49 -04:00
Ajay
e12d5ff10a Better category name detection 2022-06-22 18:40:36 -04:00
Ajay
355572ba04 Add warning when chapter name similar to category 2022-06-22 18:10:07 -04:00
Ajay
70731e42a5 Only show import when chapter enabled 2022-06-22 14:03:58 -04:00
Ajay
023b875b0f Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-06-22 13:34:15 -04:00
Ajay
82b027159e Add UI for importing segments 2022-06-22 13:21:44 -04:00
Ajay
c6405fc0c1 Fix rendering chapters in specific overlapping cases 2022-06-22 13:02:04 -04:00
Ajay
1f6b8f6c53 Add end button for chapters 2022-06-19 15:47:08 -04:00
Ajay
caafba5f53 remove extra line from export 2022-06-06 22:32:02 -04:00
Ajay
32052c17f1 Add notice showing that copy happened 2022-06-06 20:41:15 -04:00
Ajay
5545a516be Added export button 2022-06-04 02:01:12 -04:00
Ajay
0fb2d8df79 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-06-04 01:57:27 -04:00
Ajay
b28d881a1b Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-06-03 15:12:42 -04:00
Ajay
b8cbdb55d5 Fix test error 2022-06-03 15:12:14 -04:00
Ajay
94fa649a17 Fix lint error 2022-06-03 13:34:41 -04:00
Ajay
c3cb450e92 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-06-03 02:20:30 -04:00
Ajay
621e28c7e7 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-05-17 14:44:54 -04:00
Ajay
9f02bf4ce2 Show both chapter names when small chapter in big chapter 2022-04-21 14:54:57 -04:00
Ajay
6325d3539c Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-04-11 01:26:39 -04:00
Ajay Ramachandran
9477ad425c Merge branch 'master' into chapters 2022-03-12 16:56:53 -05:00
Ajay
f81cfbecfe Add functions for importing/exporting segments 2022-02-26 01:07:29 -05:00
Ajay
eb35f5c543 Don't display existing chapters twice 2022-02-24 21:53:45 -05:00
Ajay
7d8188d575 Add importing chapters for cases with unsubmitted segments 2022-02-24 02:21:22 -05:00
Ajay
00ab317a3e Fix active segments when no real segments 2022-02-24 02:06:00 -05:00
Ajay
0536d419e5 Hide YouTube chapters from popup 2022-02-23 01:39:53 -05:00
Ajay
4d5c9005ae Fix stackoverflow 2022-02-23 01:37:19 -05:00
Ajay
0513a36a9a Fix chapters getting imported multiple times 2022-02-23 01:30:07 -05:00
Ajay
1ec184048c Fix chapter sorting 2022-02-23 01:24:15 -05:00
Ajay
2b811c5ab4 Include unsubmitted in active segment label 2022-02-23 01:12:19 -05:00
Ajay
ea91701430 Improve chapter generation performance by reusing elements
Also ensure large segments don't break chapter bar
2022-02-23 01:06:08 -05:00
Ajay
9654fabc3c remove old todo 2022-02-22 21:34:27 -05:00
Ajay
2ebc5489cd Load existing chapters 2022-02-22 21:22:30 -05:00
Ajay
cf3b3c5c48 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-02-22 01:34:12 -05:00
Ajay
930bc113fe Add sort segments button 2022-02-21 11:17:58 -05:00
Ajay
7aaa28b5c2 Fix transition issue 2022-02-21 01:02:23 -05:00
Ajay
bd3976e4c6 Add option to not render as chapters 2022-02-21 00:29:13 -05:00
Ajay
4e5a883d2e Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-02-20 18:37:18 -05:00
Ajay
e1de84dce3 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-01-21 20:20:27 -05:00
Ajay
9ce714fd36 Merge branch 'chapters' of https://github.com/ajayyy/SponsorBlock into chapters 2022-01-21 20:18:43 -05:00
Ajay
46983bec24 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-01-21 20:18:42 -05:00
Ajay
9d65df84be Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-01-21 20:17:34 -05:00
Ajay
e2d56d32fe Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2022-01-16 15:58:09 -05:00
Ajay
7895b9d2c1 Fix crash from preview bar not being defined yet 2022-01-02 22:44:15 -05:00
Ajay
63f6702f86 Fix chapter bar breaking when adding new unsubmitted segments 2021-12-30 01:08:54 -05:00
Ajay
02bc554b0e Fix progress not starting at full 2021-12-30 01:05:59 -05:00
Ajay
c3933a4eee reduce returned variables 2021-12-30 00:39:03 -05:00
Ajay
68c1f780d5 Fix sometimes not rendering chapters when no existing chapters 2021-12-30 00:35:39 -05:00
Ajay
496ef87a28 Reduce issues in rendering over existing chapters by replacing walking method with direct loop 2021-12-30 00:22:13 -05:00
Ajay
22e85f715d Add initial code to support drawing when there are existing chapters 2021-12-29 02:16:49 -05:00
Ajay
1a6a07744e Don't break chapter bar when existing chapters are there 2021-12-26 01:18:55 -05:00
Ajay
4a19fececf Always set segment source 2021-12-26 00:17:49 -05:00
Ajay
322a1483df Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2021-12-25 22:14:34 -05:00
Ajay
ab1520c560 Show both categories and chapter names in hover text 2021-12-25 01:09:34 -05:00
Ajay
e4f4a10965 Fix seek bar chapter name not updating and schedule end times 2021-12-24 21:52:33 -05:00
Ajay
05153a152d Add skip button to popup for segments and chapters 2021-12-24 20:35:36 -05:00
Ajay
798fd8b3f3 Add tabs for chapters and other segments 2021-12-24 02:13:25 -05:00
Ajay Ramachandran
c38cc07e0a Fix stack overflow issue with unfinished preview segments 2021-11-07 16:09:01 -05:00
Ajay Ramachandran
af547ce745 Show category description in popup 2021-11-07 15:38:41 -05:00
Ajay Ramachandran
0d0459a3a3 Make tests have config.json 2021-11-07 15:31:08 -05:00
Ajay Ramachandran
7dfee81188 Add chapter sorting method to show small chapters in the middle of large ones 2021-11-07 15:26:00 -05:00
Ajay Ramachandran
3a2d9c0e0e Update options page for chapters 2021-11-07 01:12:01 -05:00
Ajay Ramachandran
8e022bfb28 Fix offset on popup for chapters 2021-11-07 01:06:34 -05:00
Ajay Ramachandran
a69c19581d Fix chapter bar showing as empty sometimes 2021-11-07 01:28:23 -04:00
Ajay Ramachandran
a3e67b6cde Add chapter name autocomplete 2021-11-07 01:05:32 -04:00
Ajay Ramachandran
9e6e3b023d Fix small time differences between segments causing issues 2021-11-06 21:20:36 -04:00
Ajay Ramachandran
33cfe3f5d3 Show description in hover bar 2021-11-06 19:57:46 -04:00
Ajay Ramachandran
4a2ebe4b03 Fix undefined error when making segment 2021-11-04 00:34:21 -04:00
Ajay Ramachandran
374f0992ff Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2021-11-04 00:31:29 -04:00
Ajay Ramachandran
7814493974 Fix preview bar width and remove chapter refresh check 2021-11-04 00:25:58 -04:00
Ajay Ramachandran
f5fa758ac1 Don't shrink preview bar if segment not a chapter 2021-11-02 23:33:19 -04:00
Ajay Ramachandran
517e53a2e3 Fix small segments breaking chapters 2021-11-01 21:44:39 -04:00
Ajay Ramachandran
fb3635cdf8 Fix animation when chapter bar is recreated 2021-11-01 21:18:03 -04:00
Ajay Ramachandran
a804da06f5 Update chapter bar progress right after clone 2021-11-01 21:10:43 -04:00
Ajay Ramachandran
9ed9f9b873 Only create one chapter bar, support videos with no segments and preview segments 2021-11-01 20:59:04 -04:00
Ajay Ramachandran
b4a2f31520 Render preview bar behind scrubber 2021-10-30 21:48:52 -04:00
Ajay Ramachandran
c7acb902a4 Fix issues with hover failing after hovering scrubber 2021-10-30 21:32:54 -04:00
Ajay Ramachandran
37ac5c8cbd Listen for class changes for ytp-hover-progress-light and fix left 2021-10-30 15:11:22 -04:00
Ajay Ramachandran
bf4eb8fafc Fix z-index not applying 2021-10-29 00:02:46 -04:00
Ajay Ramachandran
7c4a0628b7 Add growing chapter on hover 2021-10-28 23:57:53 -04:00
Ajay Ramachandran
2d3e293d83 Support left style changes for chapters bar and fix negative size 2021-10-28 00:38:46 -04:00
Ajay Ramachandran
6dee56dc95 Add mutation listener to update progress indicators 2021-10-27 23:21:22 -04:00
Ajay Ramachandran
4c9548b303 Add basic chapter rendering for segments 2021-10-26 20:18:08 -04:00
Ajay Ramachandran
fd69e91880 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2021-10-17 19:25:16 -04:00
Ajay Ramachandran
0f4eeb4fe9 Add chapter name option when submitting 2021-10-16 01:36:44 -04:00
Ajay Ramachandran
9a24b906f9 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2021-10-15 19:57:18 -04:00
Ajay Ramachandran
496528be65 Merge branch 'master' of https://github.com/ajayyy/SponsorBlock into chapters 2021-10-14 21:58:37 -04:00
Ajay Ramachandran
f2c1ee4894 Use default action type from config 2021-10-14 00:03:48 -04:00
Ajay Ramachandran
acd2720372 Add messages for chapter 2021-10-13 23:50:17 -04:00
Ajay Ramachandran
e20b60979c Add initial chapter name rendering 2021-10-12 23:33:41 -04:00
184 changed files with 16303 additions and 49578 deletions

View File

@@ -23,7 +23,11 @@
"@typescript-eslint/no-unused-vars": "error",
"no-self-assign": "off",
"@typescript-eslint/no-empty-interface": "off",
"react/prop-types": [2, { "ignore": ["children"] }]
"react/prop-types": [2, { "ignore": ["children"] }],
"@typescript-eslint/member-delimiter-style": "warn",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-this-alias": "off"
},
"settings": {
"react": {

View File

@@ -1,4 +1,4 @@
- [ ] I agree to license my contribution under LGPL-3.0 **or** my contribution is from another project with a license compatible with LGPL-3.0
- [ ] I agree to license my contribution under GPL-3.0 and agree to allow distribution on app stores as outlined in [LICENSE-APPSTORE](https://github.com/ajayyy/SponsorBlock/blob/master/LICENSE-APPSTORE.txt)
To test this pull request, follow the [instructions in the wiki](https://github.com/ajayyy/SponsorBlock/wiki/Testing-a-Pull-Request).

View File

@@ -10,8 +10,10 @@ jobs:
steps:
# Initialization
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm ci
@@ -25,44 +27,44 @@ jobs:
# Create Chrome artifacts
- name: Create Chrome artifacts
run: npm run build:chrome
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: ChromeExtension
path: dist
- run: mkdir ./builds
- uses: montudor/action-zip@v1
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
with:
args: zip -qq -r ./builds/ChromeExtension.zip ./dist
# Create Firefox artifacts
- name: Create Firefox artifacts
run: npm run build:firefox
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: FirefoxExtension
path: dist
- uses: montudor/action-zip@v1
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
with:
args: zip -qq -r ./builds/FirefoxExtension.zip ./dist
# Create Beta artifacts (Builds with the name changed to beta)
- name: Create Chrome Beta artifacts
run: npm run build:chrome -- --env stream=beta
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: ChromeExtensionBeta
path: dist
- uses: montudor/action-zip@v1
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
with:
args: zip -qq -r ./builds/ChromeExtensionBeta.zip ./dist
- name: Create Firefox Beta artifacts
run: npm run build:firefox -- --env stream=beta
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: FirefoxExtensionBeta
path: dist
- uses: montudor/action-zip@v1
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
with:
args: zip -qq -r ./builds/FirefoxExtensionBeta.zip ./dist

View File

@@ -12,98 +12,93 @@ jobs:
steps:
# Initialization
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm ci
- name: Copy configuration
run: cp config.json.example config.json
# Create source artifact with submodule
- name: Create directory
run: cd ..; mkdir ./builds
- name: Zip Source code
run: zip -r ../builds/SourceCodeUseThisOne.zip *
- name: Upload Source to release
uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467
with:
args: ../builds/SourceCodeUseThisOne.zip
name: SourceCodeUseThisOne.zip
path: ../builds/SourceCodeUseThisOne.zip
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: npm ci
# Create Chrome artifacts
- name: Create Chrome artifacts
run: npm run build:chrome
- uses: actions/upload-artifact@v2
with:
name: ChromeExtension
path: dist
- run: mkdir ./builds
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/ChromeExtension.zip *
# Create Firefox artifacts
- name: Create Firefox artifacts
run: npm run build:firefox
- uses: actions/upload-artifact@v2
with:
name: FirefoxExtension
path: dist
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/FirefoxExtension.zip *
# Create Beta artifacts (Builds with the name changed to beta)
- name: Create Chrome Beta artifacts
run: npm run build:chrome -- --env stream=beta
- uses: actions/upload-artifact@v2
with:
name: ChromeExtensionBeta
path: dist
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/ChromeExtensionBeta.zip *
# Create Safari artifacts
- name: Create Safari artifacts
run: npm run build:safari
- uses: actions/upload-artifact@v2
with:
name: SafariExtension
path: dist
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/SafariExtension.zip *
# Create Edge artifacts
- name: Clear dist for Edge
run: rm -rf ./dist
- name: Create Edge artifacts
run: npm run build:edge
- uses: actions/upload-artifact@v2
with:
name: EdgeExtension
path: dist
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/EdgeExtension.zip *
# Upload each release asset
- name: Upload ChromeExtension to release
uses: Shopify/upload-to-release@master
uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467
with:
args: builds/ChromeExtension.zip
name: ChromeExtension.zip
path: ./builds/ChromeExtension.zip
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload ChromeExtensionBeta to release
uses: Shopify/upload-to-release@master
with:
args: builds/ChromeExtensionBeta.zip
name: ChromeExtensionBeta.zip
path: ./builds/ChromeExtensionBeta.zip
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Create Firefox artifacts
- name: Create Firefox artifacts
run: npm run build:firefox
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/FirefoxExtension.zip *
- name: Upload FirefoxExtension to release
uses: Shopify/upload-to-release@master
uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467
with:
args: builds/FirefoxExtension.zip
name: FirefoxExtension.zip
path: ./builds/FirefoxExtension.zip
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Create Beta artifacts (Builds with the name changed to beta)
- name: Create Chrome Beta artifacts
run: npm run build:chrome -- --env stream=beta
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/ChromeExtensionBeta.zip *
- name: Upload ChromeExtensionBeta to release
uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467
with:
args: builds/ChromeExtensionBeta.zip
name: ChromeExtensionBeta.zip
path: ./builds/ChromeExtensionBeta.zip
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Create Safari artifacts
- name: Create Safari artifacts
run: npm run build:safari
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/SafariExtension.zip *
- name: Upload SafariExtension to release
uses: Shopify/upload-to-release@master
uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467
with:
args: builds/SafariExtension.zip
name: SafariExtension.zip
path: ./builds/SafariExtension.zip
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Create Edge artifacts
- name: Clear dist for Edge
run: rm -rf ./dist
- name: Create Edge artifacts
run: npm run build:edge
- name: Zip Artifacts
run: cd ./dist ; zip -r ../builds/EdgeExtension.zip *
- name: Upload EdgeExtension to release
uses: Shopify/upload-to-release@master
uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467
with:
args: builds/EdgeExtension.zip
name: EdgeExtension.zip
@@ -113,7 +108,7 @@ jobs:
# Firefox Beta
- name: Create Firefox Beta artifacts
run: npm run build:firefox -- --env stream=beta
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: FirefoxExtensionBeta
path: dist
@@ -130,13 +125,13 @@ jobs:
run: sudo apt-get install rename
- name: Rename signed file
run: cd ./web-ext-artifacts ; rename 's/.*/FirefoxSignedInstaller.xpi/' *
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: FirefoxExtensionSigned.xpi
path: ./web-ext-artifacts/FirefoxSignedInstaller.xpi
- name: Upload FirefoxSignedInstaller.xpi to release
uses: Shopify/upload-to-release@master
uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467
with:
args: web-ext-artifacts/FirefoxSignedInstaller.xpi
name: FirefoxSignedInstaller.xpi

View File

@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: take the issue
uses: bdougie/take-action@main
uses: bdougie/take-action@28b86cd8d25593f037406ecbf96082db2836e928
env:
GITHUB_TOKEN: ${{ github.token }}

View File

@@ -9,8 +9,10 @@ jobs:
steps:
# Initialization
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm ci

View File

@@ -12,9 +12,10 @@ jobs:
update-oss:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install and generate attribution
@@ -23,9 +24,13 @@ jobs:
npm i -g oss-attribution-generator
generate-attribution
mv ./oss-attribution/attribution.txt ./public/oss-attribution/attribution.txt
- name: Prettify attributions
run: |
cd ci && npx ts-node prettify.ts
- name: Create pull request to update list
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04
# v4.2.3
with:
commit-message: Update OSS Attribution
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

View File

@@ -8,21 +8,24 @@ jobs:
check-list:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Download instance list
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Download instance lists
run: |
wget https://api.invidious.io/instances.json -O ci/data.json
wget https://api.invidious.io/instances.json -O ci/invidious_instances.json
wget https://github.com/TeamPiped/piped-uptime/raw/master/history/summary.json -O ci/piped_instances.json
- name: Install dependencies
run: npm ci
- name: "Run CI"
run: npm run ci:invidious
- name: Create pull request to update list
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04
# v4.2.3
with:
commit-message: Update Invidious List
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
branch: ci/update_invidious_list
title: Update Invidious List
body: Automated Invidious list update

3
.gitignore vendored
View File

@@ -7,5 +7,6 @@ web-ext-artifacts
dist/
tmp/
.DS_Store
ci/data.json
ci/invidious_instances.json
ci/piped_instances.json
test-results

6
.gitmodules vendored Normal file
View File

@@ -0,0 +1,6 @@
[submodule "public/_locales"]
path = public/_locales
url = https://github.com/ajayyy/ExtensionTranslations
[submodule "maze-utils"]
path = maze-utils
url = https://github.com/ajayyy/maze-utils

View File

@@ -1 +1,31 @@
If you make any contributions to SponsorBlock after this file was created, you are agreeing that any code you have contributed will be licensed under LGPL-3.0.
If you make any contributions to SponsorBlock after this file was created, you are agreeing that any code you have contributed will be licensed under GPL-3.0 and agree to allow distribution on app stores as outlined in LICENSE-APPSTORE.
# Translations
https://crowdin.com/project/sponsorblock
# Building
## Building locally
0. You must have [Node.js 16 or later](https://nodejs.org/) and npm installed. Works best on Linux
1. Clone with submodules
```bash
git clone --recursive https://github.com/ajayyy/SponsorBlock
```
Or if you already cloned it, pull submodules with
```bash
git submodule update --init --recursive
```
2. Copy the file `config.json.example` to `config.json` and adjust configuration as desired.
- Comments are invalid in JSON, make sure they are all removed.
- You will need to repeat this step in the future if you get build errors related to `CompileConfig` or `property does not exist on type ConfigClass`. This can happen for example when a new category is added.
3. Run `npm ci` in the repository to install dependencies.
4. Run `npm run build:dev` (for Chrome) or `npm run build:dev:firefox` (for Firefox) to generate a development version of the extension with source maps.
- You can also run `npm run build` (for Chrome) or `npm run build:firefox` (for Firefox) to generate a production build.
5. The built extension is now in `dist/`. You can load this folder directly in Chrome as an [unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#manifest), or convert it to a zip file to load it as a [temporary extension](https://developer.mozilla.org/docs/Tools/about:debugging#loading_a_temporary_extension) in Firefox.
## Developing with a clean profile and hot reloading
Run `npm run dev` (for Chrome) or `npm run dev:firefox` (for Firefox) to run the extension using a clean browser profile with hot reloading. This uses [`web-ext run`](https://extensionworkshop.com/documentation/develop/web-ext-command-reference/#commands).
Known chromium bug: Extension is not loaded properly on first start. Visit `chrome://extensions/` and reload the extension.
For Firefox for Android, use `npm run dev:firefox-android -- --adb-device <ip-address of the device>`. See the [Firefox documentation](https://extensionworkshop.com/documentation/develop/developing-extensions-for-firefox-for-android/#debug-your-extension) for more information. You may need to edit package.json and add the parameters directly there.

759
LICENSE
View File

@@ -1,165 +1,674 @@
GNU LESSER GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
0. Additional Definitions.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
1. Exception to Section 3 of the GNU GPL.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
The precise terms and conditions for copying, distribution and
modification follow.
2. Conveying Modified Versions.
TERMS AND CONDITIONS
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
0. Definitions.
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
"This License" refers to version 3 of the GNU General Public License.
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
3. Object Code Incorporating Material from Library Header Files.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
A "covered work" means either the unmodified Program or a work based
on the Program.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
4. Combined Works.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
1. Source Code.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
d) Do one of the following:
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
The Corresponding Source for a work in source code form is that
same work.
5. Combined Libraries.
2. Basic Permissions.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
6. Revised Versions of the GNU Lesser General Public License.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

13
LICENSE-APPSTORE.txt Normal file
View File

@@ -0,0 +1,13 @@
The developers are aware that the terms of service that
apply to apps distributed via Apple's App Store services and similar app stores may conflict
with rights granted under the SponsorBlock license, the GNU General
Public License, version 3. The copyright holders of the SponsorBlock
project do not wish this conflict to prevent the otherwise-compliant
distribution of derived apps via the App Store and similar app stores.
Therefore, we have committed not to pursue any license
violation that results solely from the conflict between the GNU GPLv3
and the Apple App Store terms of service or similar app stores. In
other words, as long as you comply with the GPL in all other respects,
including its requirements to provide users with source code and the
text of the license, we will not object to your distribution of the
SponsorBlock project through the App Store.

171
LICENSE-HISTORY.txt Normal file
View File

@@ -0,0 +1,171 @@
Prior to commit 7338af3b384e2297eaf710443121ac840099a9f1, this project was licensed under LGPL 3.0.
You must follow LICENSE instead if you want to use any newer version.
----
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View File

@@ -38,7 +38,7 @@
SponsorBlock is an open-source crowdsourced browser extension to skip sponsor segments in YouTube videos. Users submit when a sponsor happens from the extension, and the extension automatically skips sponsors it knows about. It also supports skipping other categories, such as intros, outros and reminders to subscribe.
It also supports Invidio.us.
It also supports Invidious.
**Translate:** [![Crowdin](https://badges.crowdin.net/sponsorblock/localized.svg)](https://crowdin.com/project/sponsorblock)
@@ -56,35 +56,14 @@ The dataset and API are now being used in some [ports](https://github.com/ajayyy
# API
You can read the API docs [here](https://wiki.sponsor.ajay.app/index.php/API_Docs).
You can read the API docs [here](https://wiki.sponsor.ajay.app/w/API_Docs).
# Building
You must have [Node.js 16](https://nodejs.org/) and npm installed.
1. Copy the file `config.json.example` to `config.json` and adjust configuration as desired.
- You will need to repeat this step in the future if you get build errors related to `CompileConfig`. This can happen for example when a new category is added.
2. Run `npm install` in the repository to install dependencies.
3. Run `npm run build:dev` (for Chrome) or `npm run build:dev:firefox` (for Firefox) to generate a development version of the extension with source maps.
- You can also run `npm run build` (for Chrome) or `npm run build:firefox` (for Firefox) to generate a production build.
4. The built extension is now in `dist/`. You can load this folder directly in Chrome as an [unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#manifest), or convert it to a zip file to load it as a [temporary extension](https://developer.mozilla.org/en-US/docs/Tools/about:debugging#loading_a_temporary_extension) in Firefox.
### Developing with a clean profile and hot reloading
Run `npm run dev` (for Chrome) or `npm run dev:firefox` (for Firefox) to run the extension using a clean browser profile with hot reloading. This uses [`web-ext run`](https://extensionworkshop.com/documentation/develop/web-ext-command-reference/#commands).
Known chromium bug: Extension is not loaded properly on first start. Visit `chrome://extensions/` and reload the extension.
For Firefox for Android, use `npm run dev:firefox-android -- --adb-device <ip-address of the device>`. See the [Firefox documentation](https://extensionworkshop.com/documentation/develop/developing-extensions-for-firefox-for-android/#debug-your-extension) for more information.
See [CONTRIBUTING.md](CONTRIBUTING.md)
# Credit
The awesome [Invidious API](https://docs.invidious.io/API.md) was previously used, and the server is now using [NewLeaf](https://git.sr.ht/~cadence/NewLeaf) as a to get video info from YouTube.
The awesome [Invidious API](https://docs.invidious.io/) was previously used, and the server is now using [NewLeaf](https://git.sr.ht/~cadence/NewLeaf) as a to get video info from YouTube.
Originally forked from [YTSponsorSkip](https://github.com/NDevTK/YTSponsorSkip), but very little code remains.

63
ci/generateList.ts Normal file
View File

@@ -0,0 +1,63 @@
/*
This file is only ran by GitHub Actions in order to populate the Invidious instances list
This file should not be shipped with the extension
*/
/*
Criteria for inclusion:
Invidious
- 30d uptime >= 90%
- available for at least 80/90 days
- must have been up for at least 90 days
- HTTPS only
- url includes name (this is to avoid redirects)
Piped
- 30d uptime >= 90%
- available for at least 80/90 days
- must have been up for at least 90 days
- must not be a wildcard redirect to piped.video
- must be currently up
- must have a functioning frontend
- must have a functioning API
*/
import { writeFile, existsSync } from "fs"
import { join } from "path"
import { getInvidiousList } from "./invidiousCI";
// import { getPipedList } from "./pipedCI";
const checkPath = (path: string) => existsSync(path);
const fixArray = (arr: string[]) => [...new Set(arr)].sort()
async function generateList() {
// import file from https://api.invidious.io/instances.json
const invidiousPath = join(__dirname, "invidious_instances.json");
// import file from https://github.com/TeamPiped/piped-uptime/raw/master/history/summary.json
const pipedPath = join(__dirname, "piped_instances.json");
// check if files exist
if (!checkPath(invidiousPath) || !checkPath(pipedPath)) {
console.log("Missing files")
process.exit(1);
}
// static non-invidious instances
const staticInstances = ["www.youtubekids.com"];
// invidious instances
const invidiousList = fixArray(getInvidiousList())
// piped instnaces
// const pipedList = fixArray(await getPipedList())
console.log([...staticInstances, ...invidiousList])
writeFile(
join(__dirname, "./invidiouslist.json"),
JSON.stringify([...staticInstances, ...invidiousList]),
(err) => {
if (err) return console.log(err);
}
);
}
generateList()

View File

@@ -1,55 +1,31 @@
/*
This file is only ran by GitHub Actions in order to populate the Invidious instances list
import { InvidiousInstance, instanceMap } from "./invidiousType"
This file should not be shipped with the extension
*/
import { writeFile, existsSync } from 'fs';
import { join } from 'path';
// import file from https://api.invidious.io/instances.json
if (!existsSync(join(__dirname, "data.json"))) {
process.exit(1);
}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import * as data from "../ci/data.json";
type instanceMap = {
name: string,
url: string,
dailyRatios: {ratio: string, label: string }[],
thirtyDayUptime: string
}[]
import * as data from "../ci/invidious_instances.json";
// only https servers
const mapped: instanceMap = data
// eslint-disable-next-line @typescript-eslint/no-explicit-any
.filter((i: any) => i[1]?.type === 'https')
// eslint-disable-next-line @typescript-eslint/no-explicit-any
.map((instance: any) => {
.filter((i: InvidiousInstance) => i[1]?.type === "https")
.map((instance: InvidiousInstance) => {
return {
name: instance[0],
url: instance[1].uri,
dailyRatios: instance[1].monitor.dailyRatios,
thirtyDayUptime: instance[1]?.monitor['30dRatio'].ratio,
thirtyDayUptime: instance[1]?.monitor["30dRatio"].ratio,
}
})
});
// reliability and sanity checks
const reliableCheck = mapped
.filter((instance) => {
.filter(instance => {
// 30d uptime >= 90%
const thirtyDayUptime = Number(instance.thirtyDayUptime) >= 90
const thirtyDayUptime = Number(instance.thirtyDayUptime) >= 90;
// available for at least 80/90 days
const dailyRatioCheck = instance.dailyRatios.filter(status => status.label !== "black")
return (thirtyDayUptime && dailyRatioCheck.length >= 80)
const dailyRatioCheck = instance.dailyRatios.filter(status => status.label !== "black");
return thirtyDayUptime && dailyRatioCheck.length >= 80;
})
// url includes name
.filter(instance => instance.url.includes(instance.name))
.filter(instance => instance.url.includes(instance.name));
// finally map to array
const result: string[] = reliableCheck.map(instance => instance.name)
writeFile(join(__dirname, "./invidiouslist.json"), JSON.stringify(result), (err) => {
if (err) return console.log(err);
})
export function getInvidiousList(): string[] {
return reliableCheck.map(instance => instance.name).sort()
}

54
ci/invidiousType.ts Normal file
View File

@@ -0,0 +1,54 @@
type ratio = {
ratio: string;
label: string;
}
export type instanceMap = {
name: string;
url: string;
dailyRatios: {ratio: string; label: string }[];
thirtyDayUptime: string;
}[]
export type InvidiousInstance = [
string,
{
flag: string;
region: string;
stats: null | {
version: string;
software: {
name: string;
version: string;
branch: string;
};
openRegistrations: boolean;
usage: {
users: {
total: number;
activeHalfyear: number;
activeMonth: number;
};
};
metadata: {
updatedAt: number;
lastChannelRefreshedAt: number;
};
};
cors: boolean | null;
api: boolean | null;
type: "https" | "http" | "onion" | "i2p";
uri: string;
monitor: null | {
monitorId: number;
createdAt: number;
statusClass: string;
name: string;
url: string | null;
type: "HTTP(s)";
dailyRatios: ratio[];
"90dRatio": ratio;
"30dRatio": ratio;
};
}
]

View File

@@ -1 +1 @@
["yewtu.be","vid.puffyan.us","invidious.snopyta.org","inv.riverside.rocks","invidious-us.kavin.rocks","invidious.osi.kr","tube.cthd.icu","invidious.flokinet.to","yt.artemislena.eu","invidious.mutahar.rocks","invidious.esmailelbob.xyz","youtube.076.ne.jp","invidious.weblibre.org","invidious.namazso.eu","invidious.kavin.rocks"]
["www.youtubekids.com","anontube.lvkaszus.pl","inv.citw.lgbt","inv.in.projectsegfau.lt","inv.tux.pizza","inv.zzls.xyz","invidious.asir.dev","invidious.drgns.space","invidious.fdn.fr","invidious.flokinet.to","invidious.io.lol","invidious.lunar.icu","invidious.nerdvpn.de","invidious.no-logs.com","invidious.perennialte.ch","invidious.privacydev.net","invidious.private.coffee","invidious.projectsegfau.lt","invidious.protokolla.fi","invidious.slipfox.xyz","iv.datura.network","iv.ggtyler.dev","iv.melmac.space","iv.nboeck.de","onion.tube","vid.priv.au","vid.puffyan.us","yewtu.be","yt.artemislena.eu","yt.cdaut.de","yt.drgnz.club","yt.oelrichsgarcia.de"]

92
ci/pipedCI.ts Normal file
View File

@@ -0,0 +1,92 @@
import * as data from "../ci/piped_instances.json";
type percent = string
type dailyMinutesDown = Record<string, number>
type PipedInstance = {
name: string;
url: string;
icon: string;
slug: string;
status: string;
uptime: percent;
uptimeDay: percent;
uptimeWeek: percent;
uptimeMonth: percent;
uptimeYear: percent;
time: number;
timeDay: number;
timeWeek: number;
timeMonth: number;
timeYear: number;
dailyMinutesDown: dailyMinutesDown
}
const percentNumber = (percent: percent) => Number(percent.replace("%", ""))
const ninetyDaysAgo = new Date(Date.now() - 90 * 24 * 60 * 60 * 1000)
function dailyMinuteFilter (dailyMinutesDown: dailyMinutesDown) {
let daysDown = 0
for (const [date, minsDown] of Object.entries(dailyMinutesDown)) {
if (new Date(date) >= ninetyDaysAgo && minsDown > 1000) { // if within 90 days and down for more than 1000 minutes
daysDown++
}
}
// return true f less than 10 days down
return daysDown < 10
}
const getHost = (url: string) => new URL(url).host
const getWatchPage = async (instance: PipedInstance) =>
fetch(`https://${getHost(instance.url)}`, { redirect: "manual" })
.then(res => res.headers.get("Location"))
.catch(e => { console.log (e); return null })
const siteOK = async (instance) => {
// check if entire site is redirect
const notRedirect = await fetch(instance.url, { redirect: "manual" })
.then(res => res.status == 200)
// only allow kavin to return piped.video
// if (instance.url.startsWith("https://piped.video") && instance.slug !== "kavin-rocks-official") return false
// check if frontend is OK
const watchPageStatus = await fetch(instance.frontendUrl)
.then(res => res.ok)
// test API - stream returns ok result
const streamStatus = await fetch(`${instance.apiUrl}/streams/BaW_jenozKc`)
.then(res => res.ok)
// get startTime of monitor
const age = await fetch(instance.historyUrl)
.then(res => res.text())
.then(text => { // startTime greater than 90 days ago
const date = text.match(/startTime: (.+)/)[1]
return Date.parse(date) < ninetyDaysAgo.valueOf()
})
// console.log(notRedirect, watchPageStatus, streamStatus, age, instance.frontendUrl, instance.apiUrl)
return notRedirect && watchPageStatus && streamStatus && age
}
const staticFilters = (data as PipedInstance[])
.filter(instance => {
const isup = instance.status === "up"
const monthCheck = percentNumber(instance.uptimeMonth) >= 90
const dailyMinuteCheck = dailyMinuteFilter(instance.dailyMinutesDown)
return isup && monthCheck && dailyMinuteCheck
})
.map(async instance => {
// get frontend url
const frontendUrl = await getWatchPage(instance)
if (!frontendUrl) return null // return false if frontend doesn't resolve
// get api base
const apiUrl = instance.url.replace("/healthcheck", "")
const historyUrl = `https://raw.githubusercontent.com/TeamPiped/piped-uptime/master/history/${instance.slug}.yml`
const pass = await siteOK({ apiUrl, historyUrl, frontendUrl, url: instance.url })
const frontendHost = getHost(frontendUrl)
return pass ? frontendHost : null
})
export async function getPipedList(): Promise<string[]> {
const instances = await Promise.all(staticFilters)
.then(arr => arr.filter(i => i !== null))
return instances
}

6
ci/prettify.ts Normal file
View File

@@ -0,0 +1,6 @@
import { writeFile } from 'fs';
import * as license from "../oss-attribution/licenseInfos.json";
const result = JSON.stringify(license, null, 2);
writeFile("../oss-attribution/licenseInfos.json", result, err => { if (err) return console.log(err) } );

View File

@@ -2,7 +2,7 @@
"serverAddress": "https://sponsor.ajay.app",
"testingServerAddress": "https://sponsor.ajay.app/test",
"serverAddressComment": "This specifies the default SponsorBlock server to connect to",
"categoryList": ["sponsor", "selfpromo", "exclusive_access", "interaction", "poi_highlight", "intro", "outro", "preview", "filler", "music_offtopic"],
"categoryList": ["sponsor", "selfpromo", "exclusive_access", "interaction", "poi_highlight", "intro", "outro", "preview", "filler", "chapter", "music_offtopic"],
"categorySupport": {
"sponsor": ["skip", "mute", "full"],
"selfpromo": ["skip", "mute", "full"],
@@ -13,7 +13,8 @@
"preview": ["skip", "mute"],
"filler": ["skip", "mute"],
"music_offtopic": ["skip"],
"poi_highlight": ["poi"]
"poi_highlight": ["poi"],
"chapter": ["chapter"]
},
"wikiLinks": {
"sponsor": "https://wiki.sponsor.ajay.app/w/Sponsor",
@@ -27,6 +28,19 @@
"music_offtopic": "https://wiki.sponsor.ajay.app/w/Music:_Non-Music_Section",
"poi_highlight": "https://wiki.sponsor.ajay.app/w/Highlight",
"guidelines": "https://wiki.sponsor.ajay.app/w/Guidelines",
"mute": "https://wiki.sponsor.ajay.app/w/Mute_Segment"
"mute": "https://wiki.sponsor.ajay.app/w/Mute_Segment",
"chapter": "https://wiki.sponsor.ajay.app/w/Chapter"
},
"extensionImportList": {
"chromium": [
"enamippconapkdmgfgjchkhakpfinmaj"
],
"firefox": [
"deArrow@ajay.app",
"deArrowBETA@ajay.app"
],
"safari": [
"app.ajay.dearrow.extension"
]
}
}

View File

@@ -1,8 +1,12 @@
{
"optional_permissions": [
"declarativeContent"
"declarativeContent",
"webNavigation"
],
"background": {
"persistent": false
}
},
"permissions": [
"https://*.youtube.com/*"
]
}

View File

@@ -1,7 +1,20 @@
{
"browser_specific_settings": {
"gecko": {
"id": "sponsorBlocker@ajay.app"
"id": "sponsorBlocker@ajay.app",
"strict_min_version": "56.0"
},
"gecko_android": {
"strict_min_version": "113.0"
}
},
"background": {
"persistent": false
},
"permissions": [
"scripting"
],
"browser_action": {
"default_area": "navbar"
}
}

View File

@@ -1,7 +1,7 @@
{
"name": "__MSG_fullName__",
"short_name": "SponsorBlock",
"version": "4.6.1",
"version": "5.5.4",
"default_locale": "en",
"description": "__MSG_Description__",
"homepage_url": "https://sponsor.ajay.app",
@@ -13,13 +13,11 @@
],
"all_frames": true,
"js": [
"./js/vendor.js",
"./js/content.js"
],
"css": [
"content.css",
"./libs/Source+Sans+Pro.css",
"popup.css"
"shared.css"
]
}],
"web_accessible_resources": [
@@ -48,9 +46,11 @@
"icons/beep.ogg",
"icons/pause.svg",
"icons/stop.svg",
"icons/skip.svg",
"icons/heart.svg",
"icons/visible.svg",
"icons/not_visible.svg",
"icons/sort.svg",
"icons/money.svg",
"icons/segway.png",
"icons/close-smaller.svg",
@@ -61,10 +61,21 @@
"icons/bolt.svg",
"icons/stopwatch.svg",
"icons/music-note.svg",
"icons/import.svg",
"icons/export.svg",
"icons/PlayerInfoIconSponsorBlocker.svg",
"icons/PlayerDeleteIconSponsorBlocker.svg",
"icons/dearrow.svg",
"popup.html",
"content.css"
"popup.css",
"content.css",
"shared.css",
"js/document.js",
"libs/Source+Sans+Pro.css",
"libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2",
"libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRduz8A.woff2",
"libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBduz8A.woff2",
"libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBduz8A.woff2"
],
"permissions": [
"storage",
@@ -79,8 +90,8 @@
"default_icon": {
"16": "icons/IconSponsorBlocker16px.png",
"32": "icons/IconSponsorBlocker32px.png",
"64": "icons/LogoSponsorBlocker64px.png",
"128": "icons/LogoSponsorBlocker128px.png"
"64": "icons/IconSponsorBlocker64px.png",
"128": "icons/IconSponsorBlocker128px.png"
},
"theme_icons": [
{
@@ -94,31 +105,45 @@
"size": 32
},
{
"light": "icons/LogoSponsorBlocker64px.png",
"dark": "icons/LogoSponsorBlocker64px.png",
"light": "icons/IconSponsorBlocker64px.png",
"dark": "icons/IconSponsorBlocker64px.png",
"size": 64
},
{
"light": "icons/LogoSponsorBlocker128px.png",
"dark": "icons/LogoSponsorBlocker128px.png",
"light": "icons/IconSponsorBlocker128px.png",
"dark": "icons/IconSponsorBlocker128px.png",
"size": 128
},
{
"light": "icons/IconSponsorBlocker256px.png",
"dark": "icons/IconSponsorBlocker256px.png",
"size": 256
},
{
"light": "icons/IconSponsorBlocker512px.png",
"dark": "icons/IconSponsorBlocker512px.png",
"size": 512
},
{
"light": "icons/IconSponsorBlocker1024px.png",
"dark": "icons/IconSponsorBlocker1024px.png",
"size": 1024
}
]
},
"background": {
"scripts":[
"./js/vendor.js",
"./js/background.js"
]
},
"icons": {
"16": "icons/IconSponsorBlocker16px.png",
"32": "icons/IconSponsorBlocker32px.png",
"64": "icons/LogoSponsorBlocker64px.png",
"128": "icons/LogoSponsorBlocker128px.png",
"256": "icons/LogoSponsorBlocker256px.png",
"512": "icons/LogoSponsorBlocker512px.png",
"1024": "icons/LogoSponsorBlocker1024px.png"
"64": "icons/IconSponsorBlocker64px.png",
"128": "icons/IconSponsorBlocker128px.png",
"256": "icons/IconSponsorBlocker256px.png",
"512": "icons/IconSponsorBlocker512px.png",
"1024": "icons/IconSponsorBlocker1024px.png"
},
"options_ui": {
"page": "options/options.html",

View File

@@ -1,5 +1,11 @@
{
"background": {
"persistent": false
}
},
"permissions": [
"scripting"
],
"optional_permissions": [
"webNavigation"
]
}

1
maze-utils Submodule

Submodule maze-utils added at 08d3f65d35

File diff suppressed because one or more lines are too long

18614
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,39 +3,44 @@
"version": "1.0.0",
"description": "",
"main": "background.js",
"type": "module",
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2"
"content-scripts-register-polyfill": "^4.0.2",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"overrides": {
"content-scripts-register-polyfill": {
"webext-content-scripts": "v2.5.5"
}
},
"devDependencies": {
"@types/chrome": "^0.0.188",
"@types/firefox-webext-browser": "^94.0.1",
"@types/jest": "^27.5.1",
"@types/react": "^17.0.43",
"@types/react-dom": "^17.0.14",
"@types/selenium-webdriver": "^4.1.1",
"@types/wicg-mediasession": "^1.1.3",
"@typescript-eslint/eslint-plugin": "^5.26.0",
"@typescript-eslint/parser": "^5.26.0",
"chromedriver": "^101.0.0",
"concurrently": "^7.2.1",
"@types/chrome": "^0.0.220",
"@types/firefox-webext-browser": "^111.0.0",
"@types/jest": "^29.4.0",
"@types/react": "^18.0.28",
"@types/react-dom": "^18.0.11",
"@types/selenium-webdriver": "^4.1.13",
"@types/wicg-mediasession": "^1.1.4",
"@typescript-eslint/eslint-plugin": "^5.54.1",
"@typescript-eslint/parser": "^5.54.1",
"chromedriver": "^110.0.0",
"concurrently": "^7.6.0",
"copy-webpack-plugin": "^11.0.0",
"eslint": "^8.16.0",
"eslint-plugin-react": "^7.30.0",
"fork-ts-checker-webpack-plugin": "^7.2.11",
"jest": "^28.1.0",
"rimraf": "^3.0.2",
"eslint": "^8.35.0",
"eslint-plugin-react": "^7.32.2",
"fork-ts-checker-webpack-plugin": "^7.3.0",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"rimraf": "^4.3.1",
"schema-utils": "^4.0.0",
"selenium-webdriver": "^4.2.0",
"speed-measure-webpack-plugin": "^1.5.0",
"ts-jest": "^28.0.3",
"ts-loader": "^9.3.0",
"ts-node": "^10.8.0",
"typescript": "4.7",
"web-ext": "^6.8.0",
"webpack": "^5.72.1",
"webpack-cli": "^4.9.2",
"selenium-webdriver": "^4.8.1",
"ts-jest": "^29.0.5",
"ts-loader": "^9.4.2",
"ts-node": "^10.9.1",
"typescript": "4.9",
"web-ext": "^7.6.2",
"webpack": "^5.75.0",
"webpack-cli": "^4.10.0",
"webpack-merge": "^5.8.0"
},
"scripts": {
@@ -55,7 +60,7 @@
"build:watch": "npm run build:watch:chrome",
"build:watch:chrome": "webpack --env browser=chrome --config webpack/webpack.dev.js --watch",
"build:watch:firefox": "webpack --env browser=firefox --config webpack/webpack.dev.js --watch",
"ci:invidious": "ts-node ci/invidiousCI.ts",
"ci:invidious": "ts-node ci/generateList.ts",
"dev": "npm run build:dev && concurrently \"npm run web-run\" \"npm run build:watch\"",
"dev:firefox": "npm run build:dev:firefox && concurrently \"npm run web-run:firefox\" \"npm run build:watch:firefox\"",
"dev:firefox-android": "npm run build:dev:firefox && concurrently \"npm run web-run:firefox-android\" \"npm run build:watch:firefox\"",
@@ -91,6 +96,6 @@
"url": "git+https://github.com/ajayyy/SponsorBlock.git"
},
"author": "Ajay Ramachandran",
"license": "LGPL-3.0-or-later",
"license": "GPL-3.0",
"private": true
}

1
public/_locales Submodule

Submodule public/_locales added at a922227851

View File

@@ -1 +0,0 @@
{}

View File

@@ -1,14 +0,0 @@
{
"Loading": {
"message": "በመጫን ላይ..."
},
"paused": {
"message": "ለአፍታ አቁም"
},
"success": {
"message": "ተሳክቷል!"
},
"Username": {
"message": "መለያ ስም"
}
}

View File

@@ -1,500 +0,0 @@
{
"fullName": {
"message": "سبونسر بلوك لليوتيوب - تخطي الرعاية الاعلانية",
"description": "Name of the extension."
},
"Description": {
"message": "تخطي الرعاية الاعلانية ، التسول في الاشتراك والمزيد على مقاطع الفيديو على اليوتيوب. التبليغ عن الرعايه الاعلانيه علي مقاطع الفيديو التي تشاهدها لتوفير وقتك و وقت الآخرين.",
"description": "Description of the extension."
},
"400": {
"message": "الخادم قال أن هذا الطلب خاطيء"
},
"429": {
"message": "لقد قدمت الكثير من اوقات الرعاية الاعلانية لهذا الفيديو الواحد، هل أنت متأكد من وجود هذا العدد؟"
},
"409": {
"message": "تم تقديم هذا بالفعل من قبل"
},
"channelWhitelisted": {
"message": "القناة في القائمة البيضاء!"
},
"Segment": {
"message": "جزء"
},
"Segments": {
"message": "أجزاء"
},
"upvoteButtonInfo": {
"message": "التصويت على هذا الإرسال"
},
"reportButtonTitle": {
"message": "إبلاغ"
},
"reportButtonInfo": {
"message": "الإبلاغ عن هذا التقديم كغير صحيح."
},
"Dismiss": {
"message": "إلغاء"
},
"Loading": {
"message": "جاري التحميل..."
},
"Hide": {
"message": "لا تظهر أبداً"
},
"hitGoBack": {
"message": "قم الضغط علي تخطي للوصول إلى المكان الذي أتيت منه."
},
"unskip": {
"message": "الرجوع في التخطي"
},
"reskip": {
"message": "اعاده التخطي"
},
"unmute": {
"message": "إلغاء الكتم"
},
"paused": {
"message": "ايقاف مؤقت"
},
"manualPaused": {
"message": "تم إيقاف الموقت"
},
"confirmMSG": {
"message": "لتحرير أو حذف قيّم فردياً، انقر فوق زر المعلومات أو فتح الإضافة عن طريق النقر على أيقونة الإضافة في الزاوية اليمنى العليا."
},
"clearThis": {
"message": "هل أنت متأكد أنك تريد حذف هذا؟\n\n"
},
"Unknown": {
"message": "حدث خطأ في إرسال توقيت الرعاة الخاص بك، الرجاء المحاولة مرة أخرى لاحقاً."
},
"sponsorFound": {
"message": "يحتوي هذا الفيديو على أجزاء في قاعدة البيانات!"
},
"sponsor404": {
"message": "لم يتم العثور على أجزاء"
},
"sponsorStart": {
"message": "يبدأ الجزء الآن"
},
"sponsorEnd": {
"message": "ينتهي الجزء الآن"
},
"sponsorCancel": {
"message": "إلغاء إنشاء جزء"
},
"noVideoID": {
"message": "لم يتم العثور على فيديو يوتيوب.\nإذا كان هذا غير صحيح، قم بتحديث الصفحة."
},
"refreshSegments": {
"message": "تحديث الأجزاء"
},
"success": {
"message": "تم بنجاح!"
},
"voted": {
"message": "تم التصويت!"
},
"serverDown": {
"message": "يبدو أن الخادم غير متصل. تواصل مع المطوّر على الفور."
},
"connectionError": {
"message": "حدث خطأ في الاتصال. رمز الخطأ: "
},
"clearTimes": {
"message": "مسح الأجزاء"
},
"openPopup": {
"message": "فتح نافذة سبونسر بلوك المنبثقة"
},
"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": "تعيين اسم مستخدم"
},
"copyPublicID": {
"message": "نسخ معرف المستخدم العام"
},
"copySegmentID": {
"message": "نسخ معرف الجزء"
},
"discordAdvert": {
"message": "انضم إلى سيرفر \"ديسكورد\" الرسمي لتقديم اقتراحات وتعليقات!"
},
"hideThis": {
"message": "إخفاء هذا"
},
"Options": {
"message": "خيارات"
},
"showButtons": {
"message": "إظهار الأزرار على مشغل اليوتيوب"
},
"hideButtons": {
"message": "إخفاء الأزرار على مشغل اليوتيوب"
},
"hideButtonsDescription": {
"message": "هذا يخفي الأزرار التي تظهر على مشغل اليوتيوب لإرسال أجزاء للتخطي."
},
"showSkipButton": {
"message": "إبقاء زر \"تخطي للعنوان الرئيس\" على المشغّل"
},
"showInfoButton": {
"message": "إظهار زر \"معلومات\" على مشغّل اليوتيوب"
},
"hideInfoButton": {
"message": "إخفاء زر \"معلومات\" على مشغّل اليوتيوب"
},
"autoHideInfoButton": {
"message": "إخفاء تلقائي لزر \"معلومات\""
},
"hideDeleteButton": {
"message": "إخفاء زر \"حذف\" على مشغّل اليوتيوب"
},
"showDeleteButton": {
"message": "إظهار زر \"حذف\" على مشغّل اليوتيوب"
},
"enableViewTracking": {
"message": "تمكين تتبع مرات التخطي"
},
"showNotice": {
"message": "إظهار الإشعار مرة أخرى"
},
"website": {
"message": "موقع الويب",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "الشفرة المصدرية",
"description": "Used on Firefox Store Page"
},
"setSkipShortcut": {
"message": "تخطي الجزء",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "بدء/إيقاف الجزء",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "إرسال الأجزاء",
"description": "Keybind label"
},
"errorCode": {
"message": "رمز الخطأ: "
},
"skip": {
"message": "تخطي"
},
"mute": {
"message": "كتم"
},
"full": {
"message": "فيديو كامل",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "تخطي {0}؟"
},
"mute_category": {
"message": "كتم {0}؟"
},
"skip_to_category": {
"message": "تخطي إلى {0}؟",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "تم تخطي {0}",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "تم كتم {0}",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "تم التخطي إلى {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "تعطيل التخطي التلقائي"
},
"enableAutoSkip": {
"message": "تفعيل التخطي التلقائي"
},
"minLower": {
"message": "دقيقة"
},
"minsLower": {
"message": "دقائق"
},
"hourLower": {
"message": "ساعة"
},
"hoursLower": {
"message": "ساعات"
},
"youHaveSavedTime": {
"message": "لقد وفّرت على الناس",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " من حياتهم",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"createdBy": {
"message": "أنشئت من قِبل"
},
"supportOtherSites": {
"message": "دعم مواقع يوتيوب الطرف الثالث"
},
"supportedSites": {
"message": "المواقع المدعومة: "
},
"add": {
"message": "أضِف"
},
"save": {
"message": "حفظ"
},
"reset": {
"message": "إعادة تعيين"
},
"exportOptionsCopy": {
"message": "تعديل/نسخ"
},
"exportOptionsDownload": {
"message": "حفظ إلى ملف"
},
"exportOptionsUpload": {
"message": "تحميل من ملف"
},
"submit": {
"message": "إرسال"
},
"cancel": {
"message": "إلغاء"
},
"delete": {
"message": "حذف"
},
"preview": {
"message": "معاينة"
},
"unsubmitted": {
"message": "غير مرسلة"
},
"inspect": {
"message": "فحص"
},
"edit": {
"message": "تعديل"
},
"to": {
"message": "إلى",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "الراعي"
},
"category_exclusive_access": {
"message": "وصول حصري"
},
"category_outro": {
"message": "الخاتمة/تترات النهاية"
},
"category_preview": {
"message": "معاينة/خلاصة"
},
"category_filler_short": {
"message": "حشو"
},
"category_music_offtopic": {
"message": "الموسيقى: مقطع غير موسيقي"
},
"category": {
"message": "الفئة"
},
"bracketNow": {
"message": "(الآن)"
},
"moreCategories": {
"message": "المزيد من الفئات"
},
"chooseACategory": {
"message": "اختر فئة"
},
"permissionRequestSuccess": {
"message": "نجح طلب الإذن!"
},
"permissionRequestFailed": {
"message": "فشل طلب الإذن ، هل نقرت على رفض؟"
},
"downvoteDescription": {
"message": "خاطئ/التوقيت غير صحيح"
},
"incorrectCategory": {
"message": "تغيير الفئة"
},
"multipleSegments": {
"message": "أجزاء متعددة"
},
"guidelines": {
"message": "الإرشادات"
},
"readTheGuidelines": {
"message": "اقرأ الإرشادات!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "الفئات هنا!"
},
"help": {
"message": "المساعدة"
},
"GotIt": {
"message": "فهمت",
"description": "Used as the button to dismiss a tooltip"
},
"Donate": {
"message": "تبرع"
},
"considerDonating": {
"message": "ساعد في تمويل التطوير"
},
"hideDonationLink": {
"message": "إخفاء رابط التبرع"
},
"darkModeOptionsPage": {
"message": "الوضع الداكن في صفحة الخيارات"
},
"helpPageThanksForInstalling": {
"message": "شكرا على تثبيت SponsorBlock."
},
"Editing": {
"message": "التعديل"
},
"helpPageTooSlow": {
"message": "هذا بطيء جداً"
},
"helpPageCopyOfDatabase": {
"message": "هل يمكنني الحصول على نسخة من قاعدة البيانات؟ ماذا يحدث إذا اختفيت؟"
},
"helpPageCopyOfDatabase1": {
"message": "قاعدة البيانات عامة ومتاحة على"
},
"helpPageNews": {
"message": "الأخبار وكيف تم صنعها"
},
"helpPageSourceCode": {
"message": "أين يمكنني الحصول على شفرة المصدر؟"
},
"LearnMore": {
"message": "معرفة المزيد"
},
"OpenCategoryWikiPage": {
"message": "افتح صفحة ويكي هذه الفئة."
},
"CopyAndDownvote": {
"message": "نسخ وتصويت معارض"
},
"ContinueVoting": {
"message": "متابعة التصويت"
},
"SponsorTimeEditScrollNewFeature": {
"message": "استخدم عجلة الماوس أثناء التمرير فوق مربع التعديل لضبط الوقت بسرعة. يمكن استخدام مجموعات مفتاح ctrl أو Shift لضبط التغييرات."
},
"dayAbbreviation": {
"message": "ي",
"description": "100d"
},
"hourAbbreviation": {
"message": "س",
"description": "100h"
},
"optionsTabBehavior": {
"message": "سلوك",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "واجهه المستخدم",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "اختصارات لوحة المفاتيح",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "النسخ الاحتياطي/الاستعادة",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "متنوع",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "تخطي ظهور الإشعار",
"description": "Option label"
},
"unbind": {
"message": "إلغاء ربط",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "لم يتم التعيين"
},
"change": {
"message": "تغيير"
},
"youtubeKeybindWarning": {
"message": "هذا اختصار يوتيوب مدمج. هل أنت متأكد أنك تريد استخدامه؟"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,951 +0,0 @@
{
"fullName": {
"message": "ইউটিউবের জন্য স্পনসরব্লক - স্পনসরশিপ এড়িয়ে যান",
"description": "Name of the extension."
},
"Description": {
"message": "YouTube ভিডিওতে স্পনসরশিপ, সাবস্ক্রিপশন ভিক্ষা এবং আরও অনেক কিছু এড়িয়ে যান। অন্যদের সময় বাঁচাতে আপনার দেখা ভিডিওগুলিতে স্পনসরদের রিপোর্ট করুন।",
"description": "Description of the extension."
},
"400": {
"message": "সার্ভার বলেছে এই অনুরোধটি অবৈধ"
},
"429": {
"message": "আপনি এই একটি ভিডিওর জন্য অনেক বেশি স্পনসর জমা দিয়েছেন, আপনি কি নিশ্চিত যে এই একটি ভিডিওর জন্য অনেকগুলি স্পনসর আছে?"
},
"409": {
"message": "এটি আগেই জমা দেওয়া হয়েছে"
},
"channelWhitelisted": {
"message": "চ্যানেল সাদা তালিকাভুক্ত!"
},
"Segment": {
"message": "অংশ"
},
"Segments": {
"message": "অংশগুলো"
},
"upvoteButtonInfo": {
"message": "এই জমাটিকে সমর্থন করুন"
},
"reportButtonTitle": {
"message": "রিপোর্ট"
},
"reportButtonInfo": {
"message": "এই জমাটি ভুল হিসাবে রিপোর্ট করুন।"
},
"Dismiss": {
"message": "খারিজ করুন"
},
"Loading": {
"message": "লোড করা হচ্ছে..."
},
"Hide": {
"message": "কখনো দেখাবে না"
},
"hitGoBack": {
"message": "আপনি যেখান থেকে এসেছেন সেখানে যেতে আনস্কিপ টিপুন"
},
"unskip": {
"message": "বাদ দিন"
},
"reskip": {
"message": "বাদ দিন"
},
"unmute": {
"message": "সরব করুন"
},
"paused": {
"message": "বিরতি"
},
"manualPaused": {
"message": "টাইমার থেমেছে"
},
"confirmMSG": {
"message": "পৃথক মান সম্পাদনা করতে বা মুছতে, তথ্য বোতামে ক্লিক করুন বা উপরের ডানদিকের কোণায় এক্সটেনশন আইকনে ক্লিক করে এক্সটেনশন পপআপ খুলুন।"
},
"clearThis": {
"message": "আপনি কি পরিষ্কার করতে চান?"
},
"Unknown": {
"message": "আপনার স্পনসর জমা দেওয়ার সময় একটি ত্রুটি হয়েছে, অনুগ্রহ করে পরে আবার চেষ্টা করুন৷"
},
"sponsorFound": {
"message": "এই ভিডিওটি ডাটাবেসে সেগমেন্ট আছে!"
},
"sponsor404": {
"message": "কোনো সেগমেন্ট পাওয়া যায়নি"
},
"sponsorStart": {
"message": "অংশ এখন শুরু হয়"
},
"sponsorEnd": {
"message": "অংশ এখন শেষ হয়"
},
"sponsorCancel": {
"message": "সেগমেন্ট তৈরি করা বাতিল করুন"
},
"noVideoID": {
"message": "কোনো ইউটিউব ভিডিও পাওয়া যায়নি।\nযদি এটি ভুল হয়, ট্যাব রিফ্রেশ করুন।"
},
"refreshSegments": {
"message": "সেগমেন্ট রিফ্রেশ করুন"
},
"success": {
"message": "সফল!"
},
"voted": {
"message": "ভোট দিয়েছেন!"
},
"serverDown": {
"message": "মনে হচ্ছে সার্ভার ডাউন। অবিলম্বে বিকাশকারীর সাথে যোগাযোগ করুন।"
},
"connectionError": {
"message": "একটি সংযোগ ত্রুটি ঘটেছে. ভুল সংকেত: "
},
"clearTimes": {
"message": "বিভাগগুলি পরিষ্কার করুন"
},
"openPopup": {
"message": "স্পনসরব্লক পপআপ খুলুন"
},
"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": "ব্যবহারকারীর নাম দিন"
},
"copyPublicID": {
"message": "পাবলিক ইউজার আইডি কপি করুন"
},
"copySegmentID": {
"message": "অংশের আইডি কপি করুন"
},
"discordAdvert": {
"message": "পরামর্শ এবং প্রতিক্রিয়া জানাতে অফিসিয়াল ডিসকর্ড সার্ভারে যোগ দিন!"
},
"hideThis": {
"message": "এই বিষয়বস্তু লুকান"
},
"Options": {
"message": "বিকল্পসমূহ"
},
"showButtons": {
"message": "ইউটিউব প্লেয়ারে বোতাম দেখান"
},
"hideButtons": {
"message": "ইউটিউব প্লেয়ারে বোতাম বাদ দিন"
},
"hideButtonsDescription": {
"message": "এটি স্কিপ সেগমেন্ট জমা দেওয়ার জন্য ইউটিউব প্লেয়ারে প্রদর্শিত বোতামগুলিকে লুকিয়ে রাখে।"
},
"showSkipButton": {
"message": "প্লেয়ারে বোতাম হাইলাইট করতে এড়িয়ে যান"
},
"showInfoButton": {
"message": "ইউটিউব প্লেয়ারে তথ্য বোতাম দেখান"
},
"hideInfoButton": {
"message": "ইউটিউব প্লেয়ারে তথ্য বোতাম লুকান"
},
"autoHideInfoButton": {
"message": "অটো-লুকান তথ্য বোতাম"
},
"hideDeleteButton": {
"message": "ইউটিউব প্লেয়ারে ডিলিট বোতাম লুকান"
},
"showDeleteButton": {
"message": "ইউটিউব প্লেয়ারে ডিলিট বোতাম দেখান"
},
"enableViewTracking": {
"message": "স্কিপ কাউন্ট ট্র্যাকিং সক্ষম করুন"
},
"whatViewTracking": {
"message": "এই বৈশিষ্ট্যটি ট্র্যাক করে যে আপনি কোন বিভাগগুলি এড়িয়ে গেছেন ব্যবহারকারীদের জানাতে যে তাদের জমা দেওয়া অন্যদের কতটা সাহায্য করেছে এবং স্প্যাম ডাটাবেসে প্রবেশ না করে তা নিশ্চিত করার জন্য আপভোট সহ একটি মেট্রিক হিসাবে ব্যবহার করা হয়েছে৷ আপনি যখনই একটি সেগমেন্ট এড়িয়ে যান তখন এক্সটেনশনটি সার্ভারে একটি বার্তা পাঠায়। আশা করি অধিকাংশ মানুষ এই সেটিং পরিবর্তন করবেন না যাতে ভিউ সংখ্যা সঠিক হয়। :)"
},
"enableViewTrackingInPrivate": {
"message": "ব্যক্তিগত/ছদ্মবেশী ট্যাবে গণনা ট্র্যাকিং এড়িয়ে যাওয়া সক্ষম করুন৷"
},
"enableTrackDownvotes": {
"message": "স্টোর সেগমেন্ট ডাউনভোট"
},
"whatTrackDownvotes": {
"message": "যেকোন ডাউনভোটকৃত অংশ রিফ্রেশ করার পরেও অদৃশ্য থাকবে"
},
"trackDownvotesWarning": {
"message": "সতর্কীকরণ: এটি বন্ধ করলে পূর্বে সংরক্ষিত সব ডাউনভোট মুছে যাবে"
},
"enableQueryByHashPrefix": {
"message": "হ্যাশের প্রিফিক্স দিয়ে খুজুন "
},
"whatQueryByHashPrefix": {
"message": "সার্ভার থেকে videoID দিয়ে অংশ অনুরোধ করার পরিবর্তে videoID এর হ্যাশ এর প্রথম অক্ষর পাঠানো হয়। এই সার্ভার সমতুল্য হ্যাশ এর সকল ভিডিও এর তথ্য ফেরত পাঠাবে।"
},
"enableRefetchWhenNotFound": {
"message": "নতুন ভিডিওতে আবার অংশটি যোগার করুন"
},
"whatRefetchWhenNotFound": {
"message": "যদি ভিডিওটি নতুন হয়, এবং কোন অংশ পাওয়া না যায়, আপনার দেখার সময় কয়েক মিনিট পর পরই এটি তথ্য আনতে থাকবে।"
},
"showNotice": {
"message": "নোটিশ পুনরায় প্রদর্শন করুন"
},
"showSkipNotice": {
"message": "একটি অংশ এড়ানোর পরে নোটিস প্রদর্শন করুন"
},
"noticeVisibilityMode0": {
"message": "পূর্ণ আকারের স্কিপ নোটিস"
},
"noticeVisibilityMode1": {
"message": "স্বয়ংক্রিয় স্কিপের জন্য ক্ষুদ্র আকারের স্কিপ নোটিস"
},
"noticeVisibilityMode2": {
"message": "সব ক্ষুদ্র আকারের স্কিপ নোটিস"
},
"noticeVisibilityMode3": {
"message": "স্বয়ংক্রিয় স্কিপের জন্য অনুজ্বল স্কিপ নোটিস"
},
"noticeVisibilityMode4": {
"message": "সব অনুজ্বল স্কিপ নোটিস"
},
"longDescription": {
"message": "SponsorBlock আপনাকে YouTube ভিডিওসমূহের স্পন্সর বার্তা, সূচনাবার্তা, সমাপ্তিবার্তা, সাবস্ক্রাইব করার জন্য স্মরণ করানো, এবং অন্যান্য বিবিধ বিরক্তিকর অংশ এড়িয়ে যেতে সাহায্য করে। SponsorBlock জনসংগৃহীত তথ্যসম্বলিত একটি ব্রাউজার এক্সটেনশন যা যে কাউকে একটি ভিডিওর স্পন্সর বার্তা এবং অন্যান্য অংশের শুরু এবং শেষ সময় সাবমিট করতে দেয়। যখন কেউ একজন এই তথ্য সাবমিট করে, এই এক্সটেনশন ব্যবহারকারী সবাই ঐ স্পন্সর বার্তা সম্বলিত অংশ এড়িয়ে যাবে। মিউজিক ভিডিও এর মিউজিক বহির্ভুত অংশও আপনি এড়িয়ে যেতে পারেন।",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "ওয়েবসাইট",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "সোর্স কোড",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "নোটিসটি আপগ্রেড করা হয়েছে!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "আপনি যদি এখনও এটি পছন্দ না করেন তবে কখনই দেখাবে না বোতামটি চাপুন।",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setSkipShortcut": {
"message": "সেগমেন্ট এড়িয়ে যান",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "সেগমেন্ট শুরু/শেষ",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "সেগমেন্ট জমা দিন",
"description": "Keybind label"
},
"keybindDescription": {
"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": "এড়িয়ে যান"
},
"mute": {
"message": "নিঃশব্দ করুন"
},
"full": {
"message": "সমপূর্ণ ভিডিও",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "{0} এড়িয়ে যান?"
},
"mute_category": {
"message": "{0} নিঃশব্দ করুন?"
},
"skip_to_category": {
"message": "{0} তে চলে যান?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} এড়িয়ে যাওয়া হয়েছে",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} নিঃশব্দ করা হয়েছে",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "{0} তে চলে যাওয়া হয়েছে",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "স্বয়ংক্রিয়ভাবে স্কিপ করা বন্ধ করুন"
},
"enableAutoSkip": {
"message": "স্বয়ংক্রিয়ভাবে স্কিপ করা চালু করুন"
},
"audioNotification": {
"message": "স্কিপের জন্য অডিও নোটিস"
},
"audioNotificationDescription": {
"message": "যখনই কোনও অংশ এড়িয়ে যাওয়া হয় তখন একটি শব্দ বাজাবে। যদি বন্ধ করা হয় (বা অটো স্কিপ বন্ধ থাকে) তবে কোনও শব্দ বাজানো হবে না।"
},
"showTimeWithSkips": {
"message": "স্কিপগুলি সরানো সহ সময় দেখান"
},
"showTimeWithSkipsDescription": {
"message": "এই সময়টি সময় বারের নীচে বর্তমান সময়ের পাশের বন্ধনীগুলিতে উপস্থিত হয়। এটি মোট ভিডিও সময়কাল যে কোনও বিভাগকে বিয়োগ করে তা দেখায়। এর মধ্যে কেবল \"সময় বার এ দেখান\" হিসাবে চিহ্নিত বিভাগগুলি অন্তর্ভুক্ত রয়েছে।"
},
"youHaveSkipped": {
"message": "আপনি এড়িয়েছেন "
},
"minLower": {
"message": "মিনিট"
},
"minsLower": {
"message": "মিনিট"
},
"hourLower": {
"message": "ঘন্টা"
},
"hoursLower": {
"message": "ঘন্টা"
},
"youHaveSavedTime": {
"message": "আপনি মানুষকে রক্ষা করেছেন",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": "তাদের জীবন থেকে",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "সার্ভারের স্ট্যাটাস এর জন্য status.sponsor.ajay.app দেখুন করুন।"
},
"changeUserID": {
"message": "আপনার ইউজার আইডি ইম্পোর্ট/এক্সপোর্ট করুন"
},
"whatChangeUserID": {
"message": "এটি ব্যক্তিগত রাখা উচিত। এটি একটি পাসওয়ার্ডের মতো এবং কারও সাথে ভাগ করা উচিত নয়। কারও যদি এটি থাকে তবে তারা আপনার ছদ্মবেশ ধারণ করতে পারে। আপনি যদি আপনার পাবলিক ইউজারআইডি খুঁজছেন তবে পপআপে ক্লিপবোর্ড আইকনটি ক্লিক করুন।"
},
"setUserID": {
"message": "ইউজার আইডি দিন"
},
"userIDChangeWarning": {
"message": "সতর্কতা: ইউজারআইডি পরিবর্তন করা চিরস্থায়ী। আপনি কি নিশ্চিত যে আপনি এটি করতে চান? আপনার পুরানোটিকে সাবধানতার সার্থে ব্যাকআপ করার বিষয়টি নিশ্চিত করুন।"
},
"createdBy": {
"message": "সৃষ্টি করেছেন"
},
"supportOtherSites": {
"message": "এটি ৩য় পক্ষের ইউটইউব সাইট সাপোর্ট করে"
},
"supportOtherSitesDescription": {
"message": "তৃতীয় পক্ষের ইউটিউব ক্লায়েন্টদের সমর্থন করুন। সমর্থন সক্ষম করতে, আপনাকে অবশ্যই অতিরিক্ত অনুমতিগুলি গ্রহণ করতে হবে। এটি ক্রোম এবং অন্যান্য ক্রোমিয়াম ভেরিয়েন্টগুলিতে ছদ্মবেশে কাজ করে না।",
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
},
"supportedSites": {
"message": "সমর্থিত সাইটসমুহ:"
},
"optionsInfo": {
"message": "Indivious সমর্থন সক্ষম করুন, অটোস্কিপ বন্ধ করুন, বোতামগুলি লুকান এবং আরও অনেক কিছু করুন।"
},
"addInvidiousInstance": {
"message": "তৃতীয় পক্ষের ক্লায়েন্ট যুক্ত করুন"
},
"addInvidiousInstanceDescription": {
"message": "একটি কাস্টম উদাহরণ যুক্ত করুন। এটি অবশ্যই ডোমেন দিয়ে ফর্ম্যাট করা উচিত। উদাহরণ: invidious.ajay.app"
},
"add": {
"message": "যোগ করুন"
},
"addInvidiousInstanceError": {
"message": "এটি একটি অবৈধ ডোমেন। এটিতে কেবল ডোমেন অংশ অন্তর্ভুক্ত করা উচিত। উদাহরণ: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Invidious Instance এর তালিকা পুনরায় সেট করুন"
},
"resetInvidiousInstanceAlert": {
"message": "আপনি এখন Invidious Instance এর তালিকা পুনরায় আগের মত করে দিবেন"
},
"currentInstances": {
"message": "বর্তমান Instance এর তালিকা"
},
"minDuration": {
"message": "সর্বনিম্ন দৈর্ঘ্য (সেকেন্ড):"
},
"minDurationDescription": {
"message": "সেট করা মান (সেকেন্ডে) থেকে ছোট সেগমেন্টগুলি প্লেয়ারে এড়িয়ে যাওয়া হবে বা দেখানো হবে না"
},
"skipNoticeDuration": {
"message": "নোটিশ প্রদর্শন করার দৈর্ঘ্য (সেকেন্ড):"
},
"skipNoticeDurationDescription": {
"message": "স্কিপ নোটিশটি কমপক্ষে এত সেকেন্ডের জন্য স্ক্রিনে থাকবে। নিজে এড়িয়ে যাওয়ার জন্য, এটি দীর্ঘকাল ধরে দৃশ্যমান হতে পারে।"
},
"shortCheck": {
"message": "নিম্নলিখিত সাবমিশনটি আপনার ন্যূনতম সময়কাল অপশনের চেয়ে কম। এর মানে এই হতে পারে যে এটি ইতিমধ্যে জমা দেওয়া হয়েছে, এবং এই অপশনের কারণে উপেক্ষা করা হচ্ছে। আপনি কি জমা দিতে চান?"
},
"liveOrPremiere": {
"message": "একটি সক্রিয় লাইভস্ট্রিম বা প্রিমিয়ারে জমা দেওয়ার অনুমতি নেই। এটি শেষ না হওয়া পর্যন্ত অপেক্ষা করুন, তারপরে পৃষ্ঠাটি রিফ্রেশ করুন এবং অংশগুলি এখনও বৈধ কিনা তা যাচাই করুন।"
},
"showUploadButton": {
"message": "আপলোড করার বোতামটি দেখান"
},
"customServerAddress": {
"message": "স্পনসরব্লক সার্ভার ঠিকানা"
},
"customServerAddressDescription": {
"message": "এ ঠিকানা SponsorBlock সার্ভারে সাথে যোগাযোগ করতে ব্যবহার করে।\nআপনার নিজের সার্ভার না থাকলে এটি পরিবর্তন করবেন না।"
},
"save": {
"message": "সংরক্ষণ করুন"
},
"reset": {
"message": "পুনরায় সেট করুন"
},
"customAddressError": {
"message": "এই ঠিকানাটি সঠিক আকারে নেই। এটিতে http: // বা https: // শুরুতে এবং কোনও পিছনের স্ল্যাশ নেই তা নিশ্চিত করুন।"
},
"areYouSureReset": {
"message": "আপনি কি নিশ্চিতভাবে এটি মুছে ফেলতে চান??"
},
"mobileUpdateInfo": {
"message": "m.youtube.com এখন সাপর্টেড"
},
"exportOptions": {
"message": "সব অপশন ইম্পোর্ট/এক্সপোর্ট করুন"
},
"exportOptionsCopy": {
"message": "সম্পাদন/কপি করুন"
},
"exportOptionsDownload": {
"message": "ফাইল এ সেভ করুন"
},
"exportOptionsUpload": {
"message": "ফাইল থেকে লোড করুন"
},
"whatExportOptions": {
"message": "এটি আপনার সম্পূর্ণ কনফিগারেশন এতে আপনার ইউজারআইডি অন্তর্ভুক্ত রয়েছে, তাই বিজ্ঞতার সাথে শেয়ার করতে ভুলবেন না।."
},
"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": " কোনও বাগ উত্থাপন করার সময় / যখন কোনও ডেভেলপার এটির জন্য অনুরোধ করে তখন ক্লিপবোর্ডে তথ্য কপি করে। সংবেদনশীল তথ্য যেমন আপনার ইউজার আইডি, সাদা তালিকাভুক্ত চ্যানেল এবং কাস্টম সার্ভারের ঠিকানা সরানো হয়েছে। তবে এটিতে আপনার ব্যবহারকারীর, ব্রাউজার, অপারেটিং সিস্টেম এবং এক্সটেনশন সংস্করণ নম্বরের মতো তথ্য রয়েছে।"
},
"copyDebugInformationComplete": {
"message": "ডিবাগের তথ্য ক্লিপ বোর্ডে কপি করা হয়েছে। আপনি কোনও তথ্য দিতে অনিচ্ছুক হলে তা নির্দ্বিধায় অপসারণ করতে পারেন। এটি একটি টেক্সট ফাইলে সংরক্ষণ করুন বা বাগ প্রতিবেদনে পেস্ট করুন।"
},
"keyAlreadyUsed": {
"message": "এই শর্টকাটটি অন্য ক্রিয়ায় আবদ্ধ। দয়া করে একটি আলাদা নির্বাচন করুন।"
},
"to": {
"message": "থেকে",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "স্পন্সর"
},
"category_sponsor_description": {
"message": "পেইড প্রমোশন, পেইড রেফারেল এবং সরাসরি বিজ্ঞাপন। নিজের পছন্দসই কারণ/স্রষ্টা/ওয়েবসাইট/পণ্যগুলিতে স্ব-প্রচার বা বিনামূল্যে প্রচারের জন্য নয়।"
},
"category_selfpromo": {
"message": "বিনা অর্থপ্রাপ্ত/স্ব-প্রচার"
},
"category_selfpromo_description": {
"message": "অবৈতনিক বা স্ব -প্রচার ব্যতীত \"স্পনসর\" এর মতো। এর মধ্যে পণ্যদ্রব্য, অনুদান বা তারা কার সাথে সহযোগিতা করেছে সে সম্পর্কে তথ্য অন্তর্ভুক্ত রয়েছে।"
},
"category_exclusive_access": {
"message": "এক্সক্লুসিভ অ্যাক্সেস"
},
"category_exclusive_access_description": {
"message": "শুধুমাত্র পুরো ভিডিও লেবেল করার জন্য। যখন কোনও ভিডিও কোনও পণ্য, পরিষেবা বা অবস্থান প্রদর্শন করে যা তারা নিখরচায় বা ভর্তুকিযুক্ত অ্যাক্সেস পেয়েছে।"
},
"category_exclusive_access_pill": {
"message": "এই ভিডিওটি এমন একটি পণ্য, পরিষেবা বা অবস্থান প্রদর্শন করে যা তারা নিখরচায় বা ভর্তুকিযুক্ত অ্যাক্সেস পেয়েছে",
"description": "Short description for this category"
},
"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": "ক্রেডিট বা যখন ইউটিউব এন্ডকার্ডগুলি উপস্থিত হয়। তথ্য সহ সিদ্ধান্তের জন্য নয়।"
},
"category_preview": {
"message": "প্রিভিউ/রিক্যাপ"
},
"category_preview_description": {
"message": "পূর্ববর্তী পর্বগুলির দ্রুত পুনরুদ্ধার, বা বর্তমান ভিডিওতে পরে কী ঘটছে তার পূর্বরূপ। একসাথে সম্পাদিত ক্লিপ এর জন্য, কথ্য সংক্ষিপ্তসার এর জন্য নয়।"
},
"category_filler": {
"message": "ফিলার ট্যানজেন্ট/জোকস"
},
"category_filler_description": {
"message": "স্পর্শকাতর দৃশ্য যেগুলি কেবল ফিলার বা হাস্যরসের জন্য যুক্ত হয়েছে যা ভিডিওর মূল বিষয়বস্তু বোঝার জন্য প্রয়োজন হয় না। এর মধ্যে প্রসঙ্গ বা পটভূমির বিশদ সরবরাহকারী বিভাগগুলি অন্তর্ভুক্ত করা উচিত নয়।"
},
"category_filler_short": {
"message": "ফিলার"
},
"category_music_offtopic": {
"message": "সঙ্গীত: অসঙ্গীত বিভাগ"
},
"category_music_offtopic_description": {
"message": "শুধুমাত্র সঙ্গীত ভিডিওতে ব্যবহারের জন্য। এটি কেবলমাত্র সংগীত ভিডিওর সেসব বিভাগের জন্য ব্যবহার করা উচিত যা ইতিমধ্যে অন্য কোনও বিভাগ দ্বারা আচ্ছাদিত নয়।"
},
"category_music_offtopic_short": {
"message": "মিউসিক নয়"
},
"category_poi_highlight": {
"message": "গুরুত্বপূর্ণ"
},
"category_poi_highlight_description": {
"message": "ভিডিওর অংশটি যা বেশিরভাগ লোকেরা খুঁজছেন। \"ভিডিওটি x এ শুরু হয়\" মন্তব্যের মতো।"
},
"category_livestream_messages": {
"message": "লাইভস্ট্রিম: অনুদান/বার্তা পাঠ"
},
"category_livestream_messages_short": {
"message": "বার্তা পাঠ"
},
"autoSkip": {
"message": "স্বয়ংক্রিয়ভাবে এড়িয়ে যান"
},
"manualSkip": {
"message": "নিজে এড়িয়ে যান"
},
"showOverlay": {
"message": "সময় বার এ দেখান"
},
"disable": {
"message": "নিষ্ক্রিয় করুন"
},
"autoSkip_POI": {
"message": "স্বয়ংক্রিয় ভাবে শুরুতে স্কিপ করুন"
},
"manualSkip_POI": {
"message": "ভিডিও লোড হলে জিজ্ঞেস করুন"
},
"showOverlay_POI": {
"message": "সময় বার এ দেখান"
},
"showOverlay_full": {
"message": "লেবেল দেখান"
},
"autoSkipOnMusicVideos": {
"message": "যখন অ-সংগীত বিভাগ থাকে তখন স্বয়ংক্রিয়ভাবে সমস্ত বিভাগগুলি এড়িয়ে যান"
},
"muteSegments": {
"message": "স্কিপের পরিবর্তে অডিও নিঃশব্দ এমন বিভাগগুলিকে দেখানোর অনুমতি দিন"
},
"fullVideoSegments": {
"message": "যখন কোনও ভিডিও সম্পূর্ণ বিজ্ঞাপন হয় তখন একটি আইকন দেখান",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"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."
},
"poiOnlyOneSegment": {
"message": "সতর্কতা: এই ধরণের বিভাগে একসময়ে সর্বাধিক একবার সক্রিয় থাকতে পারে। একাধিক জমা দেওয়া হলে যেকোন একটি এলোমেলোভাবে বেছে সেটি দেখানো হবে।"
},
"youMustSelectACategory": {
"message": "আপনাকে প্রত্যেকটি অংশের জন্য কমপক্ষে একটি করে ক্যাটাগরি সিলেক্ট করতে হবে!"
},
"bracketEnd": {
"message": "(শেষ)"
},
"hiddenDueToDownvote": {
"message": "লুক্কায়িতঃ ডাউনভোট"
},
"hiddenDueToDuration": {
"message": "লুক্কায়িতঃ খুব ছোট"
},
"manuallyHidden": {
"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": "চ্যানেল আইডি এখনও লোড হয় না। আপনি যদি এম্বেডে থাকা ভিডিও দেখছেন তবে পরিবর্তে ইউটিউব হোমপেজটি ব্যবহার করার চেষ্টা করুন। এটি ইউটিউব লেআউটে পরিবর্তনের কারণেও হতে পারে, আপনার যদি মনেহয় এটি লেআউটে পরিবর্তনের কারণে হয়েছে তাহলে এখানে একটি মন্তব্য করুনঃ "
},
"videoInfoFetchFailed": {
"message": "দেখে মনে হচ্ছে যে কোনও কিছু স্পনসরব্লকের ভিডিওর ডেটা পাওয়ার ক্ষমতা অবরুদ্ধ করছে। আরও তথ্যের জন্য দয়া করে https://github.com/ajayy/sponsorblock/issues/741 দেখুন।"
},
"youtubePermissionRequest": {
"message": "দেখে মনে হচ্ছে স্পনসরব্লক YouTube API তে পৌঁছাতে অক্ষম। এটি ঠিক করতে, এরপর উপস্থিত হবে সেই অনুমতি প্রম্পটটি গ্রহণ করবেন, তারপর কয়েক সেকেন্ড অপেক্ষা করে পৃষ্ঠাটি পুনরায় লোড করুন।"
},
"acceptPermission": {
"message": "অনুমতি একসেপ্ট করুন"
},
"permissionRequestSuccess": {
"message": "অনুমতির অনুরোধ সফল হয়েছে!"
},
"permissionRequestFailed": {
"message": "অনুমতির অনুরোধ ব্যর্থ হয়েছে, আপনি কি ডেনাই ক্লিক করেছেন?"
},
"adblockerIssueWhitelist": {
"message": "আপনি যদি এটি সমাধান করতে অক্ষম হন তবে সেটিংস এ গিয়ে 'এড়িয়ে যাওয়ার আগে চ্যানেল চেক করুন' বন্ধ করুন, কারণ স্পনসরব্লক এই ভিডিওটির জন্য চ্যানেলের তথ্য পুনরুদ্ধার করতে অক্ষম"
},
"forceChannelCheck": {
"message": "এড়িয়ে যাওয়ার আগে চ্যানেল চেক করুন"
},
"whatForceChannelCheck": {
"message": "সাধারণত, এটি চ্যানেলটি কী তা জানার আগেই এটি এখনই বিভাগগুলি এড়িয়ে যাবে। সাধারণত, ভিডিওর শুরুতে কিছু বিভাগগুলি সাদা তালিকাভুক্ত চ্যানেলগুলিতে এড়িয়ে যেতে পারে। এই বিকল্পটি সক্ষম করা এটিকে প্রতিরোধ করবে তবে চ্যানেলআইডি পেতে কিছুটা সময় নিতে পারে বলে সমস্ত এড়িয়ে যাওয়া কিছুটা বিলম্বিত করে। আপনার যদি দ্রুত ইন্টারনেট থাকে তবে এই বিলম্বটি অদৃশ্য হতে পারে।"
},
"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": "সাহায্য"
},
"GotIt": {
"message": "বুঝেছি",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "এই বিভাগটি বিশাল। যদি পুরো ভিডিওটি একটি বিষয় নিয়ে হয় তবে \"Skip\" থেকে \"Full Video\" এ পরিবর্তন করুন। আরও তথ্যের জন্য নিয়মকানুন দেখুন।"
},
"categoryPillTitleText": {
"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 or matrix.to/#/#sponsor:ajay.app ব্যবহার করে যোগ দিতে পারেন"
},
"voteRejectedWarning": {
"message": "একটি সতর্কতার কারণে ভোট প্রত্যাখ্যান করা হয়েছে। এটি সমাধানের জন্য চ্যাট খুলতে ক্লিক করুন বা আপনার এখন সময় না থাকলে পরে আবার ফিরে আসুন।",
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
},
"Donate": {
"message": "অনুদান"
},
"considerDonating": {
"message": "অনুদানের মাধ্যমে ভবিষ্যতেে এর উন্নয়নের কাজে সাহায্য হবে"
},
"hideDonationLink": {
"message": "অনুদানের লিঙ্ক লুকান"
},
"darkModeOptionsPage": {
"message": "অপশন পেজে ডার্ক মোড "
},
"helpPageThanksForInstalling": {
"message": "স্পনসরব্লক ইনস্টল করার জন্য আপনাকে ধন্যবাদ."
},
"helpPageReviewOptions": {
"message": "নীচের অপশনগুলি পর্যালোচনা করুন"
},
"helpPageFeatureDisclaimer": {
"message": "অনেকগুলি বৈশিষ্ট্য সাধারণত অক্ষম থাকে। আপনি যদি ইন্ট্রোস, আউট্রোস এড়িয়ে যেতে চান, Invidious ইত্যাদি ব্যবহার করতে চান তবে সেগুলি নীচে সক্ষম করুন। আপনি UI উপাদানগুলিও লুকাতে/দেখাতে পারেন।"
},
"helpPageHowSkippingWorks": {
"message": "এটি কীভাবে কাজ করে"
},
"helpPageHowSkippingWorks1": {
"message": "ভিডিও এর অংশ ডাটাবেসে পাওয়া গেলে সেগুলি স্বয়ংক্রিয়ভাবে এড়িয়ে যাবে। তারা কীরকম তা পূর্বরূপ দেখতেআপনি এক্সটেনশন আইকনে ক্লিক করে পপআপটি খুলতে পারেন।"
},
"helpPageHowSkippingWorks2": {
"message": "আপনি যখনই কোনও বিভাগ এড়িয়ে যান, আপনি একটা নোটিস পাবেন। সময়টি যদি ভুল বলে মনে হয় তবে ডাউনভোটে ক্লিক করে ভোট দিন! আপনি পপআপ থেকেও ভোট দিতে পারেন।"
},
"Submitting": {
"message": "নতুন অংশ জমা দেওয়া"
},
"helpPageSubmitting1": {
"message": "জমা দেওয়া যায় পপআপে \"অংশ এখন শুরু হয়\" বোতামটি টিপ মেরে বা প্লেয়ারের বোতামগুলি সহ ভিডিও প্লেয়ারে টিপ মেরে করে।"
},
"helpPageSubmitting2": {
"message": "প্লে বোতামটি ক্লিক করা একটি বিভাগের শুরু নির্দেশ করে এবং স্টপ আইকনটি ক্লিক করা শেষটি নির্দেশ করে। আপনি জমা দেওয়ার আগে একাধিক স্পনসর প্রস্তুত করতে পারেন। আপলোড বোতামটি ক্লিক করা জমা দেওয়া হবে। আবর্জনায় ক্লিক করে বাদ দিতে পারেন এটি।"
},
"Editing": {
"message": "সম্পাদন করা"
},
"helpPageEditing1": {
"message": "যদি আপনি ভুল করে বসেন তবে আপনি উপড়ের তীর বোতামটি ক্লিক করার পরে আপনার বিভাগগুলি সম্পাদনা বা মুছতে পারেন।"
},
"helpPageTooSlow": {
"message": "গতি অত্যন্ত ধীর।"
},
"helpPageTooSlow1": {
"message": "আপনি যদি ব্যবহার করতে চান তাইলে হটকি রয়েছে। স্পনসর বিভাগের শুরু/শেষ নির্দেশ করতে সেমিকোলন কী টিপুন এবং জমা দেওয়ার জন্য অ্যাপোস্ট্রোফে ক্লিক করুন। এগুলি পরিবর্তন করা যেতে পারে। আপনি যদি QWERTY ব্যবহার না করেন তবে আপনার সম্ভবত কীবাইন্ডিং পরিবর্তন করা উচিত।"
},
"helpPageCopyOfDatabase": {
"message": "আমি কি ডাটাবেসের একটি অনুলিপি পেতে পারি? আপনি হারিয়ে গেলে হলে কি হবে?"
},
"helpPageCopyOfDatabase1": {
"message": "ডাটাবেসটি সবার জন্য প্রকাশিত এবং পাওয়া যাবে এখানেঃ "
},
"helpPageCopyOfDatabase2": {
"message": "এটির সোর্স কোড অবাধে উপলব্ধ। সুতরাং, যদি আমার কিছু ঘটেও যায় তবে আপনার জমাকৃত অংশগুলি হারিয়ে যাবে না।"
},
"helpPageNews": {
"message": "খবর এবং এটি কীভাবে তৈরি হয়"
},
"helpPageSourceCode": {
"message": "আমি সোর্স কোডটি কোথায় পেতে পারি?"
},
"Credits": {
"message": "কৃতিত্ব"
},
"LearnMore": {
"message": "আরও জানুন"
},
"CopyDownvoteButtonInfo": {
"message": "ডাউনভোট করে আপনার জন্য পুনরায় জমা দেওয়ার জন্য একটি স্থানীয় অনুলিপি তৈরি করে"
},
"OpenCategoryWikiPage": {
"message": "এই বিভাগের উইকি পাতা খুলুন."
},
"CopyAndDownvote": {
"message": "কপি এবং ডাউনভোট"
},
"ContinueVoting": {
"message": "ভোট করা চালিয়ে যান"
},
"ChangeCategoryTooltip": {
"message": "এটি তাৎক্ষনিকভাবে আপনার অংশে দেওয়া হবে"
},
"downvote": {
"message": "ডাউনভোট"
},
"upvote": {
"message": "আপভোট"
},
"hideSegment": {
"message": "অংশ আড়াল করুন"
},
"SponsorTimeEditScrollNewFeature": {
"message": "দ্রুত সময়টি পরিবর্কতন করতে সম্পাদনা বাক্সে ঘুরে দেখার সময় আপনার মাউস এর হুইয়িলটি ব্যবহার করুন। কন্ট্রল বা শিফট কী এর সংমিশ্রণগুলি পরিবর্তনগুলি আরো নিখুতভাবে টিউন করতে ব্যবহার করা যেতে পারে।"
},
"categoryPillNewFeature": {
"message": "নতুন! দেখুন যখন কোনও ভিডিও সম্পূর্ণ স্পনসর করা বা স্ব-প্রচার হয়"
},
"dayAbbreviation": {
"message": " দিন",
"description": "100d"
},
"hourAbbreviation": {
"message": " ঘণ্টা",
"description": "100h"
},
"optionsTabBehavior": {
"message": "আচরণ",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "ইন্টারফেস",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "কীবোর্ড শর্টকাট",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "ব্যাকআপ এবং পুনঃস্থাপন",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "বিবিধ",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "নোটিশ প্রদর্শন করা বন্ধ করুন",
"description": "Option label"
},
"unbind": {
"message": "বাদ দিন",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "নির্ধারণ করা হয়নি"
},
"change": {
"message": "বদল করুন"
},
"youtubeKeybindWarning": {
"message": "এটি একটি অন্তর্নির্মিত ইউটিউব শর্টকাট। আপনি কি নিশ্চিত যে আপনি এটি ব্যবহার করতে চান?"
},
"betaServerWarning": {
"message": "বেটা সার্ভার চালু করা হয়েছে!"
},
"openOptionsPage": {
"message": "বিকল্প পাতা খুলুন"
}
}

View File

@@ -1,229 +0,0 @@
{
"fullName": {
"message": "SponsorBlock per YouTube - Omet els Sponsorships",
"description": "Name of the extension."
},
"Description": {
"message": "Omet els sponsorships, pregant per una subscripció i mes en videos de YouTube. Informa dels patrocinadors a els vídeos que mires per estalviar temps als altres.",
"description": "Description of the extension."
},
"400": {
"message": "El server ha dit que aquesta sol·licitud es invalida"
},
"429": {
"message": "Heu enviat massa vegades patrocinadors per a aquest vídeo, esteu segur que n'hi ha tants?"
},
"409": {
"message": "Això ja s'ha enviat abans"
},
"channelWhitelisted": {
"message": "El canal és a la llista blanca!"
},
"Segment": {
"message": "segment"
},
"Segments": {
"message": "segments"
},
"upvoteButtonInfo": {
"message": "Voteu millor aquesta submissió"
},
"reportButtonTitle": {
"message": "Informa"
},
"reportButtonInfo": {
"message": "Notifiqueu que aquest enviament és incorrecte."
},
"Dismiss": {
"message": "Omet"
},
"Loading": {
"message": "Carregant..."
},
"Hide": {
"message": "No mostris mai"
},
"hitGoBack": {
"message": "Premeu \"no saltar\" per tornar on estàveu."
},
"unskip": {
"message": "No saltar"
},
"reskip": {
"message": "Saltar de nou"
},
"unmute": {
"message": "Deixa de silenciar"
},
"paused": {
"message": "En pausa"
},
"manualPaused": {
"message": "S'ha aturat el temporitzador"
},
"confirmMSG": {
"message": "Per editar o esborrar valors individuals, premeu el botó d'informació o cliqueu la pestanya de l'extensió al cantó superior dret."
},
"clearThis": {
"message": "Segur que voleu esborrar això?\n\n"
},
"Unknown": {
"message": "S'ha produït un error en enviar els temps d'anunciant, torneu-ho a provar més endavant."
},
"sponsorFound": {
"message": "Aquest vídeo té segments a la base de dades!"
},
"sponsor404": {
"message": "No s'han trobat segments"
},
"sponsorStart": {
"message": "El segment comença ara"
},
"sponsorEnd": {
"message": "El segment acaba ara"
},
"sponsorCancel": {
"message": "Cancel·la la creació del segment"
},
"noVideoID": {
"message": "No s'ha trobat cap vídeo de YouTube.\nSi penseu que és incorrecte, refresqueu la pestanya."
},
"refreshSegments": {
"message": "Refresca els segments"
},
"success": {
"message": "Èxit!"
},
"voted": {
"message": "Votat!"
},
"serverDown": {
"message": "Sembla que ha caigut el servidor. Contacteu el desenvolupador immediatament."
},
"connectionError": {
"message": "S'ha produït un error de connexió. Codi d'error: "
},
"clearTimes": {
"message": "Esborra els segments"
},
"openPopup": {
"message": "Obrir finestra de SponsorBlock"
},
"closePopup": {
"message": "Tanca la finestra"
},
"SubmitTimes": {
"message": "Envia els segments"
},
"submitCheck": {
"message": "Segur que voleu enviar això?"
},
"whitelistChannel": {
"message": "Canal de llista blanca"
},
"removeFromWhitelist": {
"message": "Treure canal de la llista blanca"
},
"voteOnTime": {
"message": "Vota un segment"
},
"Submissions": {
"message": "Propostes"
},
"savedPeopleFrom": {
"message": "Heu estalviat la gent "
},
"viewLeaderboard": {
"message": "Classificació"
},
"recordTimesDescription": {
"message": "Envia"
},
"submissionEditHint": {
"message": "L'edició de seccions apareixerà després de prémer \"envia\"",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Consell: Podeu crear tecles de drecera per enviar en \"opcions\""
},
"clearTimesButton": {
"message": "Esborra temps"
},
"submitTimesButton": {
"message": "Envia temps"
},
"publicStats": {
"message": "Això s'utilitza a la pàgina d'estadístiques pública per fatxendejar de quant heu contribuït. Vegeu"
},
"Username": {
"message": "Nom d'usuari"
},
"setUsername": {
"message": "Definiu el nom d'usuari"
},
"copyPublicID": {
"message": "Copia l'identificador públic d'usuari"
},
"discordAdvert": {
"message": "Uniu-vos al servidor de Discord oficial per opinar i fer suggeriments!"
},
"hideThis": {
"message": "Amaga això"
},
"Options": {
"message": "Opcions"
},
"showButtons": {
"message": "Mostra els botons al reproductor de YouTube"
},
"hideButtons": {
"message": "Amaga els botons al reproductor de YouTube"
},
"hideButtonsDescription": {
"message": "Això amaga els botons que apareixen al reproductor de YouTube per enviar segments."
},
"showSkipButton": {
"message": "Mantenir \"Botar al destacat\" al reproductor"
},
"showInfoButton": {
"message": "Mostra el botó d'informació al reproductor de YouTube"
},
"hideInfoButton": {
"message": "Amaga el botó d'informació al reproductor de YouTube"
},
"autoHideInfoButton": {
"message": "Amaga automàticament el botó d'informació"
},
"minLower": {
"message": "minut"
},
"minsLower": {
"message": "minuts"
},
"hourLower": {
"message": "hora"
},
"hoursLower": {
"message": "hores"
},
"youHaveSavedTime": {
"message": "Heu estalviat la gent",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " de les seves vides",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Visiteu status.sponsor.ajay.app per conèixer l'estat del servidor."
},
"changeUserID": {
"message": "Importa/exporta la vostra identificació d'usuari"
},
"whatChangeUserID": {
"message": "Això hauria de romandre privat: és semblant a una contrasenya i no s'hauria de compartir amb cap persona. Si algú hi té accés, poden suplantar-vos. Si esteu cercant el vostre identificador d'usuari públic, premeu la icona del portanotes a la finestra."
},
"help": {
"message": "Ajuda"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,951 +0,0 @@
{
"fullName": {
"message": "SponsorBlock til YouTube - Fjern reklamer",
"description": "Name of the extension."
},
"Description": {
"message": "Fjern reklamer, subscriber tiggeri og mere i youtube videoer. Rapporter reklamer på de videoer du ser for at spare folks tid.",
"description": "Description of the extension."
},
"400": {
"message": "Serveren sagde at denne efterspørgsel var ugyldig"
},
"429": {
"message": "Du har indsendt for mange reklamesegmenter til den her video, er du helt sikker på at der er så mange?"
},
"409": {
"message": "Dette er allerede blevet indsendt"
},
"channelWhitelisted": {
"message": "Kanal whitelisted!"
},
"Segment": {
"message": "seg"
},
"Segments": {
"message": "segmenter"
},
"upvoteButtonInfo": {
"message": "Stem for dette forslag"
},
"reportButtonTitle": {
"message": "Anmeld"
},
"reportButtonInfo": {
"message": "Anmeld dette forslag som forkert."
},
"Dismiss": {
"message": "Afvis"
},
"Loading": {
"message": "Indlæser..."
},
"Hide": {
"message": "Vis aldrig"
},
"hitGoBack": {
"message": "Tryk på unskip for at gå tilbage til hvor du kom fra."
},
"unskip": {
"message": "Annuller spring over"
},
"reskip": {
"message": "Spring over"
},
"unmute": {
"message": "Lyd til"
},
"paused": {
"message": "Sat på pause"
},
"manualPaused": {
"message": "Sat på pause"
},
"confirmMSG": {
"message": "For at redigere eller slette individuelle værdier, så skal du klikke på info knappen eller åbne udvidelses popupet ved at klikke på udvidelses ikonet i øverste højre hjørne."
},
"clearThis": {
"message": "Er du sikker på, at du vil fjerne dette?\n\n"
},
"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?"
},
"whitelistChannel": {
"message": "Hvidlist kanal"
},
"removeFromWhitelist": {
"message": "Fjern kanal fra hvidliste"
},
"voteOnTime": {
"message": "Stem På Et Segment"
},
"Submissions": {
"message": "Indsendelser"
},
"savedPeopleFrom": {
"message": "Du har sparret folk "
},
"viewLeaderboard": {
"message": "Topliste"
},
"recordTimesDescription": {
"message": "Indsend"
},
"submissionEditHint": {
"message": "Sektionsredigering vises, når du klikker på afsend",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Tip: Du kan opsætte keybinds til indsendelse i indstillingerne"
},
"clearTimesButton": {
"message": "Ryd Tider"
},
"submitTimesButton": {
"message": "Indsend Tider"
},
"publicStats": {
"message": "Dette bruges på siden med offentlige statistikker til at vise, hvor meget du har bidraget. Se det"
},
"Username": {
"message": "Brugernavn"
},
"setUsername": {
"message": "Angiv Brugernavn"
},
"copyPublicID": {
"message": "Kopier Offentligt Bruger-ID"
},
"copySegmentID": {
"message": "Kopier Segment-Id"
},
"discordAdvert": {
"message": "Kom til den officielle Discord-server for at give forslag og feedback!"
},
"hideThis": {
"message": "Skjul dette"
},
"Options": {
"message": "Indstillinger"
},
"showButtons": {
"message": "Vis Knapper På YouTube-Afspiller"
},
"hideButtons": {
"message": "Skjul Knapper På YouTube-Afspiller"
},
"hideButtonsDescription": {
"message": "Dette skjuler knapperne, der vises på YouTube-afspilleren for indsende springe segmenter."
},
"showSkipButton": {
"message": "Behold Knappen Spring Til Fremhævning På Afspilleren"
},
"showInfoButton": {
"message": "Vis Info-Knap På YouTube-Afspiller"
},
"hideInfoButton": {
"message": "Skjul Info-Knap På YouTube-Afspiller"
},
"autoHideInfoButton": {
"message": "Auto-Skjul Info-Knap"
},
"hideDeleteButton": {
"message": "Skjul Slet-Knappen på YouTube-Afspiller"
},
"showDeleteButton": {
"message": "Vis Slet-Knappen på YouTube-Afspiller"
},
"enableViewTracking": {
"message": "Aktiver Optælling Af Antal Spring Over"
},
"whatViewTracking": {
"message": "Denne funktion registrerer hvilke segmenter, du har sprunget over, så brugere kan se, hvor meget deres bidrag har hjulpet andre, og bruges som en måleenhed sammen med upvotes for at sikre, at spam ikke kommer ind i databasen. Udvidelsen sender en besked til serveren hver gang, du springer et segment over. Forhåbentlig ændrer de fleste ikke denne indstilling, så visningstallene er korrete. :)"
},
"enableViewTrackingInPrivate": {
"message": "Aktiver Optælling Af Antal Spring Over I Private-/Inkognitovinduer"
},
"enableTrackDownvotes": {
"message": "Gem segment nedstemmer"
},
"whatTrackDownvotes": {
"message": "Ethvert segment, du nedstemmer vil forblive skjult selv efter genindlæsning"
},
"trackDownvotesWarning": {
"message": "Advarsel: Deaktivering af dette vil slette alle tidligere gemte nedstemmer"
},
"enableQueryByHashPrefix": {
"message": "Forespørg Efter Hashpræfiks"
},
"whatQueryByHashPrefix": {
"message": "I stedet for at anmode om segmenter fra serveren ved hjælp af videoID'et, sendes de første 4 tegn i hashen af videoID'et. Serveren sender data tilbage for alle videoer med lignende hashes."
},
"enableRefetchWhenNotFound": {
"message": "Opdater Segmenter På Nye Videoer"
},
"whatRefetchWhenNotFound": {
"message": "Hvis videoen er ny, og der ikke er nogle segmenter fundet, vil den opdatere hvert par minutter, mens du ser."
},
"showNotice": {
"message": "Vis Bemærkning Igen"
},
"showSkipNotice": {
"message": "Vis Bemærkning Efter Et Segment Skippes"
},
"noticeVisibilityMode0": {
"message": "Fuld Størrelse Skip-Bemærkninger"
},
"noticeVisibilityMode1": {
"message": "Små Skip-Bemærkninger for Auto-Skip"
},
"noticeVisibilityMode2": {
"message": "Alle Små Skip-Bemærkninger"
},
"noticeVisibilityMode3": {
"message": "Faded Skip-Bemærkninger for Auto-Skip"
},
"noticeVisibilityMode4": {
"message": "Alle Faded Skip-Bemærkninger"
},
"longDescription": {
"message": "SponsoBlock lader dig skippe sponsorer, introer, outroer, abonnement påmindelser og andre irriterende dele af YouTube-Videoer. SponsorBlock er en crowdsourced browerudvidelse, hvor alle kan indsende start- og sluttidspunkter for sponsorerede og andre segmenter i YouTube-Videoer. Du kan også springe over de dele af musikvideoer, som ikke er musik.",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "Hjemmeside",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Kildekode",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "Meddelelsen er blevet opgraderet!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Hvis du stadig ikke kan lide det, så tryk på aldrig vis knappen.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setSkipShortcut": {
"message": "Spring segment over",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "Start/stop segment",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "Indsend segmenter",
"description": "Keybind label"
},
"keybindDescription": {
"message": "Velg en tast ved at trykke på den og vælg de modificeringstaster du ønsker at bruge."
},
"0": {
"message": "Forbindelsestimeout. Tjek din internetforbindelse. Hvis dit internet fungerer, er serveren sandsynligvis overbelastet eller nede."
},
"disableSkipping": {
"message": "Spring over er aktiveret"
},
"enableSkipping": {
"message": "Spring over er deaktiveret"
},
"yourWork": {
"message": "Dit Arbejde",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "Serveren virker at være overbelastet. Prøv igen om et par sekunder."
},
"errorCode": {
"message": "Fejlkode: "
},
"skip": {
"message": "Spring Over"
},
"mute": {
"message": "Gør Tavs"
},
"full": {
"message": "Fuld Video",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Spring {0} over?"
},
"mute_category": {
"message": "Gør {0} tavs?"
},
"skip_to_category": {
"message": "Spring til {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} Sprunget Over",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} Tavsgjort",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "Skipped til {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "Deaktiver Auto-Skip"
},
"enableAutoSkip": {
"message": "Aktiver Auto-Skip"
},
"audioNotification": {
"message": "Lydnofikation på Skip"
},
"audioNotificationDescription": {
"message": "Lydnotifikation ved skip vil spille en lyd når et segment skippes. Hvis deaktiveret (eller auto-skip er deaktiveret) vil ingen lyd blive spillet."
},
"showTimeWithSkips": {
"message": "Vis Tid Med Skip Fjernet"
},
"showTimeWithSkipsDescription": {
"message": "Denne tid vises i parantes ved siden af den aktuelle tid under søgelinjen. Dette viser den totale videovarighed minus alle segmenter. Dette inkluderer segmenter markeret som kun \"Vis I Søgelinjen\"."
},
"youHaveSkipped": {
"message": "Du har sprunget over "
},
"minLower": {
"message": "minut"
},
"minsLower": {
"message": "minutter"
},
"hourLower": {
"message": "time"
},
"hoursLower": {
"message": "timer"
},
"youHaveSavedTime": {
"message": "Du har sparret folk",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " af deres liv",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Tjek status.sponsor.ajay.app for serverstatus."
},
"changeUserID": {
"message": "Importer/Eksporter Dit Bruger-ID"
},
"whatChangeUserID": {
"message": "Dette bør holdes privat. Det er ligesom en adgangskode og bør ikke deles med nogen. Hvis nogen har dette, kan de udgive sig for at være dig. Hvis du leder efter dit offentlige bruger-ID, skal du klikke på udklipsholderikonet i popup-vinduet."
},
"setUserID": {
"message": "Indstil Bruger-ID"
},
"userIDChangeWarning": {
"message": "Advarsel: Ændring af Bruger-IDet er permanent. Er du sikker på, at du vil gøre det? Sørg for at sikkerhedskopiere din gamle for en sikkerheds skyld."
},
"createdBy": {
"message": "Oprettet Af"
},
"supportOtherSites": {
"message": "Understøtter tredjeparts YouTube sider"
},
"supportOtherSitesDescription": {
"message": "Understøt tredjeparts YouTube klienter. For at aktivere understøttelse, skal du acceptere de ekstra tilladelser. Dette virker IKKE i inkognito på Chrome og andre Chromium varianter.",
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
},
"supportedSites": {
"message": "Understøttede Sider: "
},
"optionsInfo": {
"message": "Aktiver Invidious understøttelse, deaktiver auto spring over, skjul knapper og mere."
},
"addInvidiousInstance": {
"message": "Tilføj Tredjeparts Klientinstans"
},
"addInvidiousInstanceDescription": {
"message": "Tilføj brugerdefineret instans. Dette skal formateres med KUN domænet. Eksempel: invidious.ajay.app"
},
"add": {
"message": "Tilføj"
},
"addInvidiousInstanceError": {
"message": "Dette er et ugyldigt domæne. Dette bør KUN omfatte domænedele. Eksempel: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Nulstil Liste over Invidious-Instanser"
},
"resetInvidiousInstanceAlert": {
"message": "Du er ved at nulstille listen over Invidious-instancer"
},
"currentInstances": {
"message": "Nuværende Instans:"
},
"minDuration": {
"message": "Minimumsvarighed (sekunder):"
},
"minDurationDescription": {
"message": "Segmenter kortere end den indstillede værdi vil ikke blive sprunget over eller vist i spilleren."
},
"skipNoticeDuration": {
"message": "Spring meddelelsesvarighed over (sekunder):"
},
"skipNoticeDurationDescription": {
"message": "Overspringsmeddelelsen vil blive på skærmen i mindst så længe. For manuel spring, kan den være synlig i længere tid."
},
"shortCheck": {
"message": "Den følgende indsendelse er kortere end din minimums varighed indstilling. Dette kan betyde, at den allerede er indsendt, og bare bliver ignoreret på grund af denne indstilling. Er du sikker på, at du vil indsende?"
},
"liveOrPremiere": {
"message": "Indendeslse på en aktiv livestream eller premiere er ikke tilladt. Vent venligst indtil den er færdig og opdater derefter siden og bekræft, at segmenterne stadig er gyldige."
},
"showUploadButton": {
"message": "Vis Upload-Knap"
},
"customServerAddress": {
"message": "SponsorBlock Serveradresse"
},
"customServerAddressDescription": {
"message": "Adressen SponsorBlock bruger til at foretage opkald til serveren. Med mindre du har din egen serverinstans, bør dette ikke ændres."
},
"save": {
"message": "Gem"
},
"reset": {
"message": "Nulstil"
},
"customAddressError": {
"message": "Denne adresse er ikke i den rigtige form. Sørg for at du har http:// eller https:// i begyndelsen og ingen efterfølgende skråstreger."
},
"areYouSureReset": {
"message": "Er du sikker på, at du ønsker at nulstille dette?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com understøttes nu"
},
"exportOptions": {
"message": "Importer/Eksporter Alle Indstillinger"
},
"exportOptionsCopy": {
"message": "Rediger/kopier"
},
"exportOptionsDownload": {
"message": "Gem til fil"
},
"exportOptionsUpload": {
"message": "Indlæs fra fil"
},
"whatExportOptions": {
"message": "Dette er hele din konfiguration i JSON. Dette inkluderer dit bruger-ID, så sørg for at dele dette med omtanke."
},
"setOptions": {
"message": "Indstil Indstillinger"
},
"exportOptionsWarning": {
"message": "Advarsel: Ændring af indstillingerne er permanent, og kan ødelægge din installation. Er du sikker på, at du vil gøre dette? Sørg for at sikkerhedskopiere din gamle for en sikkerheds skyld."
},
"incorrectlyFormattedOptions": {
"message": "Denne JSON er ikke formateret korrekt. Dine indstillinger er ikke blevet ændret."
},
"confirmNoticeTitle": {
"message": "Indsend Segment"
},
"submit": {
"message": "Indsend"
},
"cancel": {
"message": "Annuller"
},
"delete": {
"message": "Slet"
},
"preview": {
"message": "Forhåndsvisning"
},
"unsubmitted": {
"message": "Ikke Indsendt"
},
"inspect": {
"message": "Undersøg"
},
"edit": {
"message": "Rediger"
},
"copyDebugInformation": {
"message": "Kopier Fejlretningsoplysninger Til Udklipsholder"
},
"copyDebugInformationFailed": {
"message": "Det lykkedes ikke at skrive til udklipsholderen"
},
"copyDebugInformationOptions": {
"message": "Kopierer information til udklipsholderen, der skal leveres til en udvikler, når en fejl indberettes / når en udvikler anmoder om det. Følsomme oplysninger som dit bruger-ID, hvidlistede kanaler og brugerdefineret serveradresse er blevet fjernet. Dog indeholder det oplysninger som din brugeragent, browser, operativsystem og versionsnummer for udvidelsen. "
},
"copyDebugInformationComplete": {
"message": "Fejlfindingsinformationen er blevet kopieret til klippebordet. Du er velkommen til at fjerne alle oplysninger, du helst ikke vil dele. Gem dette i en tekstfil eller indsæt i fejlrapporten."
},
"keyAlreadyUsed": {
"message": "Denne genvej er budnet til en anden handling. Vælg venligst en anden."
},
"to": {
"message": "til",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Sponsor"
},
"category_sponsor_description": {
"message": "Betalt kampagne, betalte henvisninger og direkte reklamer. Ikke for selvpromoverende eller gratis shoutouts til årsager/skabere/hjemmesider/produkter, de kan lide."
},
"category_selfpromo": {
"message": "Ubetalt/Egen Markedsføring"
},
"category_selfpromo_description": {
"message": "Ligesom \"sponsor\" bortset fra ubetalt- eller selfmarkedsføring. Dette inkluderer sektioner om merchandise, donationer eller oplysninger om hvem, de har samarbejdet med."
},
"category_exclusive_access": {
"message": "Eksklusiv Adgang"
},
"category_exclusive_access_description": {
"message": "Kun til mærkning af hele videor. Bruges, når en video viser et produkt, tjeneste eller sted, som de har modtaget gratis eller subsidieret adgang til."
},
"category_exclusive_access_pill": {
"message": "Denne video viser et produkt, tjeneste eller et sted, som de har modtaget gratis eller subsidieret adgang til",
"description": "Short description for this category"
},
"category_interaction": {
"message": "Påmindelse Om Interaktion (Abonnement)"
},
"category_interaction_description": {
"message": "Når der er en kort påmindelse om at like, abonnere eller følge dem midt i indholdet. Hvis den er lang eller om noget specifikt, bør den i stedet være under selvpromovering."
},
"category_interaction_short": {
"message": "Påmindelse Om Interaktion"
},
"category_intro": {
"message": "Pause/Intro-Animation"
},
"category_intro_description": {
"message": "Et interval uden reelt indhold. Kunne være en pause, statisk ramme, gentagelse af animation. Dette bør ikke bruges til overgange som indeholder information."
},
"category_intro_short": {
"message": "Pause"
},
"category_outro": {
"message": "Slutkort/Kreditter"
},
"category_outro_description": {
"message": "Medvirkende eller når YouTube-endcards vises. Ikke for konklusioner med information."
},
"category_preview": {
"message": "Forhåndsvisning/Opsamling"
},
"category_preview_description": {
"message": "Hurtig opsummering af tidligere episoder eller en forsmag på, hvad der kommer senere i den aktuelle video. Er beregnet til sammenklippede klip, ikke til talte resuméer."
},
"category_filler": {
"message": "Fyldningstangent/Jokes"
},
"category_filler_description": {
"message": "Tangential scener kun tilføjet for fyldstof eller humor, som ikke er nødvendige for at forstå videoens hovedindhold. Dette bør ikke omfatte segmenter, der gtiver kontekst eller bagrundsoplysninger."
},
"category_filler_short": {
"message": "Fyldstof"
},
"category_music_offtopic": {
"message": "Musik: Ikke-Musikalsk Sektion"
},
"category_music_offtopic_description": {
"message": "Kun til brug i musikvideoer. Dette bør kun bruges til sektioner af musikvideoer, der ikke allerede er dækket af en anden kategori."
},
"category_music_offtopic_short": {
"message": "Ikke-Musikalsk"
},
"category_poi_highlight": {
"message": "Fremhæv"
},
"category_poi_highlight_description": {
"message": "Den del af videoen, som de fleste mennesker leder efter. Svarende til \"Video starter ved x\" kommentarer."
},
"category_livestream_messages": {
"message": "Livestream: Donations-/Beskedsaflæsning"
},
"category_livestream_messages_short": {
"message": "Læsning Af Meddelelser"
},
"autoSkip": {
"message": "Auto Spring Over"
},
"manualSkip": {
"message": "Manuel Spring Over"
},
"showOverlay": {
"message": "Vis I Søgebar"
},
"disable": {
"message": "Deaktiver"
},
"autoSkip_POI": {
"message": "Spring automatisk til starten"
},
"manualSkip_POI": {
"message": "Spørg, når videoen indlæses"
},
"showOverlay_POI": {
"message": "Vis I Søgebar"
},
"showOverlay_full": {
"message": "Vis Etiket"
},
"autoSkipOnMusicVideos": {
"message": "Spring automatisk over alle segmenter, når der er et ikke-musik-segment"
},
"muteSegments": {
"message": "Tillad segmenter som dæmper lyden i stedet for at springe over"
},
"fullVideoSegments": {
"message": "Vis et ikon, når en video udelukkende er en reklame",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"previewColor": {
"message": "Ikke-Indsendt Farve",
"description": "Referring to submissions that have not been sent to the server yet."
},
"seekBarColor": {
"message": "Søgebarsfarve"
},
"category": {
"message": "Kategori"
},
"skipOption": {
"message": "Spring Over Indstillinger",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Aktiver Betatestserver"
},
"whatEnableTestingServer": {
"message": "Dine indsendelser og stemmer TÆLLER IKKE med i hovedserveren. Brug kun dette til testformål."
},
"testingServerWarning": {
"message": "Alle indsendelser og stemmer TÆLLES IKKE med i hovedserveren, når du opretter forbindelse til testserveren. Sørg for at deaktivere dette, når du ønsker at foretage rigtige indsendelser."
},
"bracketNow": {
"message": "(Nu)"
},
"moreCategories": {
"message": "Flere Kategorier"
},
"chooseACategory": {
"message": "Vælg en Kategori"
},
"enableThisCategoryFirst": {
"message": "Hvis du vil indsende segmenter med kategorien \"{0}\", skal du aktivere den i indstillingerne. Du vil blive omdirigeret til indstillingerne nu.",
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
},
"poiOnlyOneSegment": {
"message": "Advarsel: Denne type segment kan have maksimalt en aktiv ad gangen. Indsendelse af flere vil få en tilfældig til at blive vist."
},
"youMustSelectACategory": {
"message": "Du skal vælge en kategori for alle segmenter, du indsender!"
},
"bracketEnd": {
"message": "(Slut)"
},
"hiddenDueToDownvote": {
"message": "skjult: nedstem"
},
"hiddenDueToDuration": {
"message": "skjult: for kort"
},
"manuallyHidden": {
"message": "manuelt skjult"
},
"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": "Kanal-ID er ikke indlæst endnu. Hvis du bruger en integreret video, så prøv i stedet at bruge YouTube-hjemmesiden. Dette kunne også være forårsaget af ændringer i YouTube-layout. Hvis du mener det, så lav en kommentar her:"
},
"videoInfoFetchFailed": {
"message": "Det ser ud til, at noget blokerer SponsorBlock's evne til at hente videodata. Se https://github.com/ajayyy/SponsorBlock/issues/741 for mere info."
},
"youtubePermissionRequest": {
"message": "Det ser ud til, at SponsorBlock ikke kan nå YouTube APIen. Acceptér tilladelsesprompten som vises næste gang, vent et par sekunder, og genindlæs siden."
},
"acceptPermission": {
"message": "Accepter tilladelse"
},
"permissionRequestSuccess": {
"message": "Tilladelsesandmodning lykkedes!"
},
"permissionRequestFailed": {
"message": "Tilladelsesanmodning mislykkedes, klikkede du på afvis?"
},
"adblockerIssueWhitelist": {
"message": "Hvis du ikke kan løse dette problem, skal du deaktivere indstillingen 'Tving Kanaltjek Inden Springning', da SponsorBlock ikke er i stand til at hente kanaloplysningerne for denne video"
},
"forceChannelCheck": {
"message": "Tving Kanaltjek Inden Springning"
},
"whatForceChannelCheck": {
"message": "Som standard vil den springe segmenter over med det samme, før den overhovedet ved, hvad kanalen er. Som standard kan nogle segmenter i starten af videoen blive sprunget over på kanaler på whitelisten. Hvis du aktiverer denne indstilling, forhindrer du dette, men det vil medføre en lille forsinkelse, da det kan tage noget tid at få kanal-ID'et. Denne forsinkelse kan være umærkelig, hvis du har hurtigt internet."
},
"forceChannelCheckPopup": {
"message": "Overvej At Aktivere \"Tving Kanaltjek Inden Springning\""
},
"downvoteDescription": {
"message": "Ukorrekt/Forkert Timing"
},
"incorrectCategory": {
"message": "Skift Kategori"
},
"nonMusicCategoryOnMusic": {
"message": "Denne video er kategoriseret som musik. Er du sikker på, at denne har en sponsor? Hvis dette faktisk er et \"Ikke-musik segment\", skal du åbne udvidelsesindstillingerne og aktivere denne kategori. Derefter kan du indsende dette segment som \"Ikke-musik\" i stedet for sponsor. Læs venligst retningslinjerne, hvis du er forvirret."
},
"multipleSegments": {
"message": "Adskillige Segmenter"
},
"guidelines": {
"message": "Retningslinjer"
},
"readTheGuidelines": {
"message": "Læs Retningslinjerne!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Kategorier er her!"
},
"categoryUpdate2": {
"message": "Åbn mulighederne for at springe intros, outros, merch osv. over."
},
"help": {
"message": "Hjælp"
},
"GotIt": {
"message": "Forstået",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "Dette segment er stort. Hvis hele videon handler om et emne, så skift fra \"Skip\" til \"Fuld Video\". Se retningslinjerne for mere information."
},
"categoryPillTitleText": {
"message": "Hele denne video er mærket som denne kategori og er for tæt integreret til at være i stand til at adskille"
},
"experiementOptOut": {
"message": "Fravælg alle fremtidige eksperimenter",
"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": "Skjul for evigt"
},
"warningChatInfo": {
"message": "Du har fået en advarsel og kan midlertidigt ikke indsende segmenter. Det betyder, at vi har bemærket, at du har begået nogle almindelige fejl, som ikke er skadelige. Bekræft venligst, at du har forstået reglerne, så fjerner vi advarslen. Du kan også deltage i denne chat ved hjælp af discord.gg/SponsorBlock eller matrix.to/#/##sponsor:ajay.app"
},
"voteRejectedWarning": {
"message": "Afstemningen blev afvist på grund af en advarsel. Klik for at åbne en chat for at løse problemet, eller kom tilbage senere, 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."
},
"Donate": {
"message": "Doner"
},
"considerDonating": {
"message": "Hjælp til at finansiere udvikling"
},
"hideDonationLink": {
"message": "Skjul Donationslink"
},
"darkModeOptionsPage": {
"message": "Mørk Tilstand På Indstillingssiden"
},
"helpPageThanksForInstalling": {
"message": "Tak for at installere SponsorBlock."
},
"helpPageReviewOptions": {
"message": "Venligst gennemgå indstillingerne nedenfor"
},
"helpPageFeatureDisclaimer": {
"message": "Mange funktioner er deaktiveret som standard. Hvis du vil springe intros, outros over, bruge Invidious osv., skal du aktivere dem nedenfor. Du kan også skjule/vise brugergrænsefladeelementer."
},
"helpPageHowSkippingWorks": {
"message": "Hvordan spring over virker"
},
"helpPageHowSkippingWorks1": {
"message": "Videosegmenter vil automatisk blive sprunget over, hvis de findes i databasen. Du kan åbne popup-vinduet ved at klikke på ikonet for udvidelsen for at få et eksempel på, hvad de er."
},
"helpPageHowSkippingWorks2": {
"message": "Når du springer et segment over, får du besked, når du springer et segment over. Hvis timingen virker forkert, kan du stemme ned ved at klikke på nedstem! Du kan også stemme i popup-vinduet."
},
"Submitting": {
"message": "Indsendelse"
},
"helpPageSubmitting1": {
"message": "Indsendelse kan enten ske i popup-vinduet ved at trykke på \"Segment Begynder Nu\"-knappen eller i videoafspilleren med knapperne på afspilleren."
},
"helpPageSubmitting2": {
"message": "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."
},
"Editing": {
"message": "Redigering"
},
"helpPageEditing1": {
"message": "Hvis du har lavet en fejl, kan du redigere eller slette dine segmenter, når du har klikket på pil op knappen."
},
"helpPageTooSlow": {
"message": "Det er for langsomt"
},
"helpPageTooSlow1": {
"message": "Der er genvejstaster, hvis du vil bruge dem. Tryk på semikolon-tasten for at angive start/slutning af en sponsor segment og klik på apostrof for at indsende. Disse kan ændres i valgmulighederne. Hvis du ikke bruger QWERTY, bør du sandsynligvis ændre tastebindingen."
},
"helpPageCopyOfDatabase": {
"message": "Kan jeg få en kopi af databasen? Hvad sker der, hvis du forsvinder?"
},
"helpPageCopyOfDatabase1": {
"message": "Databasen er offentlig og tilgængelig på"
},
"helpPageCopyOfDatabase2": {
"message": "Kildekoden er frit tilgængelig. Så selvom der sker noget med mig, går dine indsendelser ikke tabt."
},
"helpPageNews": {
"message": "Nyheder og hvordan det er lavet"
},
"helpPageSourceCode": {
"message": "Hvor kan jeg få kildekoden?"
},
"Credits": {
"message": "Anerkendelser"
},
"LearnMore": {
"message": "Læs mere"
},
"CopyDownvoteButtonInfo": {
"message": "Nedstemmer og opretter en lokal kopi for dig at genindsende"
},
"OpenCategoryWikiPage": {
"message": "Åbn denne kategoris wikiside."
},
"CopyAndDownvote": {
"message": "Kopier og nedstem"
},
"ContinueVoting": {
"message": "Fortsæt Afstemning"
},
"ChangeCategoryTooltip": {
"message": "Dette vil øjeblikkeligt gælde for dine indsendelser"
},
"downvote": {
"message": "Downvote"
},
"upvote": {
"message": "Upvote"
},
"hideSegment": {
"message": "Skjul segment"
},
"SponsorTimeEditScrollNewFeature": {
"message": "Brug musehjulet, mens du holder musen over redigeringsfeltet for hurtigt at justere tiden. Kombinationer af ctrl eller shift-tastenerne kan bruges til at finjustere ændringerne."
},
"categoryPillNewFeature": {
"message": "Ny! Se når en video er helt sponsoreret eller selvpromoverende"
},
"dayAbbreviation": {
"message": "d",
"description": "100d"
},
"hourAbbreviation": {
"message": "t",
"description": "100h"
},
"optionsTabBehavior": {
"message": "Adfærd",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "Grænseflade",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "Tastaturgenveje",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "Sikkerhedskopier/Gendan",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "Diverse",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "Spring meddelelsesvisning over",
"description": "Option label"
},
"unbind": {
"message": "Adskil",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "Ikke indstillet"
},
"change": {
"message": "Skift"
},
"youtubeKeybindWarning": {
"message": "Dette er en indbygget Youtube-genvej. Er du sikker på, at du vil bruge den?"
},
"betaServerWarning": {
"message": "BETA Server er aktiveret!"
},
"openOptionsPage": {
"message": "Åbn indstillinger"
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,401 +0,0 @@
{
"fullName": {
"message": "اسپانسربلاک برای یوتیوب - اسپانسر ها را رد کنید",
"description": "Name of the extension."
},
"Description": {
"message": "بخش های اسپانسر شده، درخواست ساب اسکرایب و خیلی چیز های دیگر در ویدیو های یوتیوب را رد کنید. قسمت های اسپانسری ویدیو هایی که میبینید را گزارش کنید تا در وقت دیگران صرفه جویی شود.",
"description": "Description of the extension."
},
"400": {
"message": "سرور گفت که این درخواست نامعتبر است"
},
"429": {
"message": "شما برای این ویدیو قسمت های اسپانسری خیلی زیادی ثبت کرده اید، آیا مطمئنید که به این تعداد وجوددارد؟"
},
"409": {
"message": "این قبلاً ثبت شده است"
},
"channelWhitelisted": {
"message": "کانال در لیست سفید قرار گرفت!"
},
"Segment": {
"message": "بخش"
},
"Segments": {
"message": "بخش"
},
"upvoteButtonInfo": {
"message": "امتیاز دادن به این گزارش ثبت‌شده"
},
"reportButtonTitle": {
"message": "گزارش"
},
"reportButtonInfo": {
"message": "گزارش این ارسال به‌عنوان غیر صحیح."
},
"Dismiss": {
"message": "رد کردن"
},
"Loading": {
"message": "درحال بارگذاری..."
},
"Hide": {
"message": "هرگز نمایش نده"
},
"hitGoBack": {
"message": "کلید عدم رد کردن را بزنید تا به جایی که بودید برگردید."
},
"unskip": {
"message": "عدم رد کردن"
},
"reskip": {
"message": "دوباره رد کردن"
},
"unmute": {
"message": "صدادار"
},
"paused": {
"message": "وقفه شده"
},
"manualPaused": {
"message": "شمارنده متوقف شد"
},
"clearThis": {
"message": "مطمئن هستید که میخواهید این را حذف کنید؟\n\n"
},
"Unknown": {
"message": "اشکالی در ثبت کردن زمان های ارسالی شما پیش آمد. لطفا بعداً دوباره تلاش کنید."
},
"sponsorFound": {
"message": "این ویدیو دارای بخش‌هایی در پایگاه‌داده است!"
},
"sponsor404": {
"message": "هیچ بخشی پیدا نشد"
},
"sponsorStart": {
"message": "بخش اینجا شروع می‌شود"
},
"sponsorEnd": {
"message": "بخش اینجا پایان می‌یابد"
},
"sponsorCancel": {
"message": "لغو ساختن بخش"
},
"noVideoID": {
"message": "هیچ ویدیوی یوتیوب‌ای یافت نشد.\nاگر این صحیح نیست، زبانه را تازه کنید."
},
"refreshSegments": {
"message": "تازه‌کردن بخش‌ها"
},
"success": {
"message": "موفقیت!"
},
"voted": {
"message": "گزارش داده شد!"
},
"serverDown": {
"message": "به‌نظر می‌رسد که ارتباط سرور قطع شده است. با توسعه‌دهنده سریعاً تماس بگیرید."
},
"connectionError": {
"message": "خطای شبکه رخ داده است. کد خطا: "
},
"clearTimes": {
"message": "پاک‌نمودن بخش‌ها"
},
"openPopup": {
"message": "نمایش پنجره اسپانسر بلاک"
},
"closePopup": {
"message": "بستن پنجره"
},
"SubmitTimes": {
"message": "ثبت بخش‌ها"
},
"submitCheck": {
"message": "مطمئن هستید که میخواهید این را ثبت کنید؟"
},
"whitelistChannel": {
"message": "قرار دادن کانال در لیست سفید"
},
"removeFromWhitelist": {
"message": "حذف کانال از لیست سفید"
},
"voteOnTime": {
"message": "رأی دهی به یک بخش"
},
"Submissions": {
"message": "ارسالی‌ها"
},
"savedPeopleFrom": {
"message": "شما دیگران را نجات دادید از "
},
"viewLeaderboard": {
"message": "نفرات برتر"
},
"recordTimesDescription": {
"message": "ثبت"
},
"clearTimesButton": {
"message": "حذف دفعات"
},
"submitTimesButton": {
"message": "ثبت دفعات"
},
"Username": {
"message": "نام‌کاربری"
},
"setUsername": {
"message": "تنظیم نام کاربری"
},
"discordAdvert": {
"message": "به سرور رسمی دیسکورد بپیوندید تا پیشنهادات و بازخورد‌های خود را ارائه دهید!"
},
"hideThis": {
"message": "مخفی‌سازی"
},
"Options": {
"message": "گزینه‌ها"
},
"showButtons": {
"message": "نمایش کلید ها در پخش‌کننده یوتیوب"
},
"hideButtons": {
"message": "مخفی‌سازی کلید ها در پخش‌کننده یوتیوب"
},
"showNotice": {
"message": "نمایش مجدد اطلاعیه"
},
"longDescription": {
"message": "افزونه اسپانسر بلاک به شما امکان رد کردن بخش‌های تبلیغاتی (اسپانسر شده)، قسمت‌های شروع و پایان ویدیو، درخواست ساب‌اسکرایب و سایر قسمت‌های آزار دهنده یوتیوب را می‌دهد. اسپانسر بلاک یک افزونه مرورگر است که به هر کسی امکان ثبت زمان شروع و پایان بخش های اسپانسر شده و سایر بخش های ویدیو های یوتیوب را می‌دهد. پس از اینکه هر کاربر این اطلاعات را ثبت کرده و گزارش دهد، بقیه کاربرانی که از این افزونه استفاده می‌کنند مستقیماً بخش اسپانسر شده ویدیو را رد خواهند کرد. شما همچنین می‌توانید در ویدیو های نماهنگ (موزیک ویدیو)، قسمت‌های غیر موسیقی ویدیو را رد کنید.",
"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"
},
"noticeUpdate2": {
"message": "اگر همچنان این را نمی‌پسندید، گزینه هرگز نمایش نده را انتخاب کنید.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"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": "رد کردن"
},
"mute": {
"message": "بی‌صدا"
},
"skip_category": {
"message": "{0} رد شود؟"
},
"mute_category": {
"message": "{0} بی‌صدا شود؟"
},
"skipped": {
"message": "{0} رد شد",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} بی‌صدا شد",
"description": "Example: Sponsor Muted"
},
"minLower": {
"message": "دقیقه"
},
"hourLower": {
"message": "ساعت"
},
"createdBy": {
"message": "ایجاد شده توسط"
},
"supportedSites": {
"message": "وب‌سایت‌های پشتیبانی شده: "
},
"add": {
"message": "افزودن"
},
"save": {
"message": "ذخیره"
},
"reset": {
"message": "بازنشانی"
},
"areYouSureReset": {
"message": "آيا مطمئن هستيد که مي خواهيد این را بازنشانی کنید؟"
},
"mobileUpdateInfo": {
"message": "m.youtube.com اکنون پشتیبانی می‌شود"
},
"setOptions": {
"message": "تنظیم گزینه‌ها"
},
"confirmNoticeTitle": {
"message": "ثبت بخش"
},
"submit": {
"message": "ثبت"
},
"cancel": {
"message": "لغو"
},
"delete": {
"message": "حذف"
},
"preview": {
"message": "پیش‌نمایش"
},
"unsubmitted": {
"message": "ثبت‌نشده"
},
"inspect": {
"message": "مشاهده"
},
"edit": {
"message": "ویرایش"
},
"to": {
"message": "به",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "اسپانسر"
},
"category_exclusive_access": {
"message": "دسترسی اختصاصی"
},
"category_filler_short": {
"message": "پر کننده"
},
"category_music_offtopic_short": {
"message": "غیر موسیقی"
},
"category_poi_highlight": {
"message": "برجسته"
},
"autoSkip": {
"message": "ردکردن خودکار"
},
"manualSkip": {
"message": "ردکردن دستی"
},
"showOverlay": {
"message": "نمایش در نوار پیشرفت"
},
"disable": {
"message": "غیرفعال کردن"
},
"showOverlay_POI": {
"message": "نمایش در نوار پیشرفت"
},
"showOverlay_full": {
"message": "نمایش نام"
},
"category": {
"message": "دسته بندی"
},
"bracketNow": {
"message": "(اکنون)"
},
"moreCategories": {
"message": "نمایش دسته‌بندی‌ها"
},
"bracketEnd": {
"message": "(پایان)"
},
"acceptPermission": {
"message": "تأیید دسترسی"
},
"incorrectCategory": {
"message": "تغییر دسته بندی"
},
"guidelines": {
"message": "دستورالعمل‌ها"
},
"readTheGuidelines": {
"message": "دستورالعمل‌ها را بخوانید!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"help": {
"message": "راهنما"
},
"GotIt": {
"message": "فهمیدم",
"description": "Used as the button to dismiss a tooltip"
},
"hideForever": {
"message": "مخفی‌سازی برای همیشه"
},
"warningChatInfo": {
"message": "شما یک اخطار دریافت کرده اید و موقتاً نمیتوانید بخشی را ثبت کنید. این یعنی ما متوجه شدیم که شما یک سری اشتباهات متداول داشتید اما قصد و نیت خرابکاری نداشتید، لطفاً فقط تایید کنید که شما از قوانین آگاهی دارید و سپس ما این اخطار را حذف خواهیم کرد. شما میتوانید به کمک discord.gg/SponsorBlock یا matrix.to/#/#sponsor:ajay.app عضو گروه ما بشوید."
},
"voteRejectedWarning": {
"message": "رای شما رد شد چون شما یک اخطار دارید. برای حل این مشکل یک کلیک کنید تا گروه چت ما باز بشود، یا اینکه بعداً هر موقع وقت داشتید این کار را انجام بدهید.",
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
},
"Donate": {
"message": "کمک مالی"
},
"hideDonationLink": {
"message": "پنهان کردن لینک کمک مالی"
},
"helpPageThanksForInstalling": {
"message": "ازینکه افزونه SponserBlock را نصب کردید سپاسگزاریم."
},
"helpPageReviewOptions": {
"message": "لطفاً تنظیمات زیر را بررسی کنید"
},
"helpPageHowSkippingWorks": {
"message": "چگونه ردکردن کار می‌کند"
},
"Submitting": {
"message": "ثبت نمودن"
},
"Editing": {
"message": "ویرایش"
},
"helpPageCopyOfDatabase": {
"message": "آیا می‌توان یک کپی از پایگاه داده را دریافت کرد؟ اگر شما یک روز ناپدید شدید چه می‌شود؟"
},
"helpPageCopyOfDatabase1": {
"message": "پایگاه داده به‌صورت عمومی در دسترس است در"
},
"helpPageCopyOfDatabase2": {
"message": "سورس کد به‌صورت رایگان ارائه شده است. بنابراین، اگر اتفاقی برای من بیفتد، ارسالات شما از بین نمی‌روند."
},
"helpPageSourceCode": {
"message": "از کجا سورس کد را بگیرم؟"
},
"Credits": {
"message": "سازندگان"
},
"LearnMore": {
"message": "بیشتر بدانید"
},
"dayAbbreviation": {
"message": "روز",
"description": "100d"
},
"hourAbbreviation": {
"message": "ساعت",
"description": "100h"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,118 +0,0 @@
{
"fullName": {
"message": "SponsorBlock para YouTube - I-skip ang mga Sponsorships",
"description": "Name of the extension."
},
"Description": {
"message": "I-skip ang mga sponsorships, subscription begging at marami pa sa mga YouTube videos. I-report ang mga sponsor sa videos na napapanood mo upang makatipid sa oras ng iba.",
"description": "Description of the extension."
},
"429": {
"message": "Masyadong kang maraming beses na nagsumite ng sponsor times para sa video na ito, sigurado ka na marami yan?"
},
"409": {
"message": "Naisumite na ito noon"
},
"channelWhitelisted": {
"message": "Whitelisted na ang channel na ito!"
},
"Segment": {
"message": "segment"
},
"Segments": {
"message": "segments"
},
"upvoteButtonInfo": {
"message": "I-upvote ang submission na ito"
},
"reportButtonTitle": {
"message": "I-report"
},
"reportButtonInfo": {
"message": "I-report ang submission na ito bilang mali."
},
"Dismiss": {
"message": "I-dismiss"
},
"Loading": {
"message": "Loading..."
},
"Hide": {
"message": "Hindi ipakita"
},
"hitGoBack": {
"message": "Pindutin ang \"unskip\" para bumalik ka sa iyong dating posisyon sa video."
},
"unskip": {
"message": "I-unskip"
},
"reskip": {
"message": "I-reskip"
},
"unmute": {
"message": "I-unmute"
},
"paused": {
"message": "Naka-pause na"
},
"manualPaused": {
"message": "Tigilan ang timer"
},
"confirmMSG": {
"message": "Para sa pag-edit o tanggalin ng mga individual values, pindutin ang info button o ang extension icon sa kanang sulok sa itaas."
},
"clearThis": {
"message": "Sigurado ka bang gusto mong tanggalin ito?"
},
"Unknown": {
"message": "May error na nagkaroon sa pagsusumite sa iyong sponsor times, subukang muli mamaya."
},
"sponsorFound": {
"message": "May mga segments sa database para sa video na ito!"
},
"sponsor404": {
"message": "Walang nakitang segment"
},
"sponsorStart": {
"message": "Simula ang Segment Ngayon"
},
"sponsorEnd": {
"message": "Nagtatapos ang Segment Ngayon"
},
"sponsorCancel": {
"message": "Kanselahin ang Paggawa ng Segment"
},
"noVideoID": {
"message": "Walang YouTube video na nakita.\nKung mali ito, i-refresh ang tab mo."
},
"refreshSegments": {
"message": "I-refresh ang mga segments"
},
"success": {
"message": "Tagumpay na!"
},
"voted": {
"message": "Bumoto na!"
},
"connectionError": {
"message": "Nagkaroon ng error sa koneksyon. Error code: "
},
"clearTimes": {
"message": "I-clear ang mga segments"
},
"openPopup": {
"message": "I-buksan ang SponsorBlock popup"
},
"closePopup": {
"message": "Isara ang Popup"
},
"SubmitTimes": {
"message": "I-submit ang mga segments"
},
"submitCheck": {
"message": "Sigurado ka bang gusto mong isumite ito?"
},
"whitelistChannel": {
"message": "I-whitelist itong channel"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +0,0 @@
{
"fullName": {
"message": "યુટ્યુબ માટે સ્પોન્સરબ્લોક - સ્પોન્સરશિપ છોડી દો",
"description": "Name of the extension."
},
"400": {
"message": "સર્વરે કહ્યું કે આ વિનંતી અમાન્ય છે"
},
"429": {
"message": "તમે આ એક વિડિઓ માટે ઘણી પ્રાયોજક વખત સબમિટ કરી છે, શું તમને ખાતરી છે કે આ ઘણા છે?"
},
"409": {
"message": "આ અગાઉ રજુ કરવામાં આવી છે"
},
"channelWhitelisted": {
"message": "ચેનલ વ્હાઇટલિસ્ટેડ!"
}
}

View File

@@ -1,470 +0,0 @@
{
"fullName": {
"message": "חוסם פרסומות ליוטיוב - דלג על החסויות",
"description": "Name of the extension."
},
"Description": {
"message": "דלג על החסויות, ההתחננויות לעשות מנוי ועוד בסרטוני יוטיוב. דווח על ספונסרים בסרטונים שאתה צופה בהם כדי לחסוך לאחרים זמן.",
"description": "Description of the extension."
},
"400": {
"message": "השרת אמר שהבקשה הזו לא בתוקף"
},
"429": {
"message": "הגשת יותר מדי זמני חסויות עבור הסרטון היחיד הזה, אתה בטוח שיש כל כך הרבה?"
},
"409": {
"message": "זה כבר הוגש בעבר"
},
"channelWhitelisted": {
"message": "הערוץ הורשה!"
},
"Segment": {
"message": "מקטע"
},
"Segments": {
"message": "מקטעים"
},
"upvoteButtonInfo": {
"message": "הצבע לדיווח הזה"
},
"reportButtonTitle": {
"message": "דווח"
},
"reportButtonInfo": {
"message": "דווח על הדיווח הזה כלא נכון."
},
"Dismiss": {
"message": "סגור"
},
"Loading": {
"message": "טוען..."
},
"Hide": {
"message": "אל תציג אף פעם"
},
"hitGoBack": {
"message": "לחץ על דלג אחורה כדי להגיע מאיפה שבאת."
},
"unskip": {
"message": "דלג אחורה"
},
"reskip": {
"message": "דלג קדימה"
},
"unmute": {
"message": "ביטול השתקה"
},
"paused": {
"message": "מושהה"
},
"manualPaused": {
"message": "טיימר נעצר"
},
"confirmMSG": {
"message": "כדי לערוך או למחוק קטעים יחידים, לחץ על כפתור המידע או פתח את החלונית של ההרחבה בדפדפן ע\"י לחיצה על הסמליל בצד ימין למעלה (יכול להיות ששמאל למעלה בדפדפנים בעברית)."
},
"clearThis": {
"message": "אתה בטוח שאתה רוצה לנקות את זה?\n\n"
},
"Unknown": {
"message": "אירעה שגיאה בדיווח הזמנים, נסה שוב מאוחר יותר."
},
"sponsorFound": {
"message": "לסרטון הזה יש קטעים במאגר הנתונים!"
},
"sponsor404": {
"message": "לא נמצאו מקטעים"
},
"sponsorStart": {
"message": "מקטע מתחיל עכשיו"
},
"sponsorEnd": {
"message": "מקטע נגמר עכשיו"
},
"sponsorCancel": {
"message": "ביטול יצירת מקטע"
},
"noVideoID": {
"message": "לא נמצא סרטון יוטיוב.\nאם זה לא נכון, רענן את הכרטיסייה."
},
"refreshSegments": {
"message": "רענן מקטעים"
},
"success": {
"message": "הצלחה!"
},
"voted": {
"message": "הצבעת!"
},
"serverDown": {
"message": "נראה שהשרת נפל. צור קשר עם המפתח מיד."
},
"connectionError": {
"message": "התקבלה שגיאת חיבור. קוד השגיאה: "
},
"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": "הגדר שם משתמש"
},
"copyPublicID": {
"message": "העתק קוד משתמש פומבי"
},
"discordAdvert": {
"message": "הצטרף לשרת הדיסקורד הרשמי כדי לביא הצעות וחוות דעת!"
},
"hideThis": {
"message": "הסתר"
},
"Options": {
"message": "אפשרויות"
},
"showButtons": {
"message": "הראה כפתורים על הנגן של יוטיוב"
},
"hideButtons": {
"message": "הסתר כפתורים על הנגן של יוטיוב"
},
"hideButtonsDescription": {
"message": "זה מחביא את הכפתורים שמופיעים בנגן YouTube להגיש מקטעי דילוג."
},
"showSkipButton": {
"message": "השאר את כפתור הדילוג לשיא הסרטון על הנגן באופן קבוע"
},
"showInfoButton": {
"message": "הראה כפתור מידע בנגן YouTube"
},
"hideInfoButton": {
"message": "החבא כפתור מידע בנגן YouTube"
},
"autoHideInfoButton": {
"message": "הסתר אוטומטית כפתורי אינפורמציה"
},
"hideDeleteButton": {
"message": "הסתר כפתור מחיקה על הנגן של יוטיוב"
},
"showDeleteButton": {
"message": "הצג כפתור מחיקה על הנגן של יוטיוב"
},
"whatViewTracking": {
"message": "הפיצ'ר הזה עוקב אחרי מקטעים שדילגת עליהם בכדי ליידע משתמשים אחרים כמה ההגשות שלך עזרו לאחרים ושומשו כמטריקה יחד עם ההצבעות בעד בכדי להבטיח שלא ייכנס ספאם אל תוך המערכת. ההרחבה שולחת הודעה לשרת בכל פעם שאתה מדלג על מקטע. התקווה היא שרוב האנשים לא ישנו את ההגדרה הזו כדי שהמספרי צפייה יהיו מדוייקים :)"
},
"website": {
"message": "אתר",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "קוד מקור",
"description": "Used on Firefox Store Page"
},
"errorCode": {
"message": "קוד שגיאה: "
},
"skip": {
"message": "דלג"
},
"mute": {
"message": "השתק"
},
"mute_category": {
"message": "השתק {0}?"
},
"minLower": {
"message": "דקה"
},
"minsLower": {
"message": "דקות"
},
"hourLower": {
"message": "שעה"
},
"hoursLower": {
"message": "שעות"
},
"youHaveSavedTime": {
"message": "חסכת לאנשים",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " מחייהם",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"createdBy": {
"message": "נוצר על ידי"
},
"supportedSites": {
"message": "אתרים נתמכים: "
},
"add": {
"message": "הוסף"
},
"save": {
"message": "שמור"
},
"reset": {
"message": "אתחל"
},
"exportOptionsCopy": {
"message": "ערוך/העתק"
},
"exportOptionsDownload": {
"message": "שמור לקובץ"
},
"exportOptionsUpload": {
"message": "טען מקובץ"
},
"setOptions": {
"message": "הגדר אפשרויות"
},
"confirmNoticeTitle": {
"message": "הגש מקטע"
},
"submit": {
"message": "הגש"
},
"cancel": {
"message": "ביטול"
},
"delete": {
"message": "מחק"
},
"preview": {
"message": "תצוגה מקדימה"
},
"unsubmitted": {
"message": "לא מוגש"
},
"inspect": {
"message": "סקור"
},
"edit": {
"message": "עריכה"
},
"to": {
"message": "עד ל",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "נותן חסות"
},
"category_exclusive_access": {
"message": "גישה אקסקלוסיבית"
},
"category_music_offtopic": {
"message": "מוזיקה: קטעים ללא מוזיקה"
},
"category_music_offtopic_short": {
"message": "ללא מוזיקה"
},
"category_poi_highlight": {
"message": "קטע חשוב"
},
"autoSkip": {
"message": "דילוג אוטומטי"
},
"manualSkip": {
"message": "דלג ידנית"
},
"showOverlay": {
"message": "הראה בטיימליין"
},
"showOverlay_POI": {
"message": "הראה בטיימליין"
},
"category": {
"message": "קטגוריה"
},
"skipOption": {
"message": "אפשרות דילוג",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"bracketNow": {
"message": "(עכשיו)"
},
"moreCategories": {
"message": "עוד קטגוריות"
},
"chooseACategory": {
"message": "בחר קטגוריה"
},
"bracketEnd": {
"message": "(סוף)"
},
"downvoteDescription": {
"message": "זמן שגוי/לא נכון"
},
"incorrectCategory": {
"message": "שנה קטגוריה"
},
"multipleSegments": {
"message": "מספר מקטעים"
},
"guidelines": {
"message": "הנחיות"
},
"readTheGuidelines": {
"message": "קראו את ההנחיות!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "קטגוריות נמצאות כאן!"
},
"help": {
"message": "עזרה"
},
"GotIt": {
"message": "הבנתי",
"description": "Used as the button to dismiss a tooltip"
},
"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": "הסתר לעד"
},
"Donate": {
"message": "תרום"
},
"considerDonating": {
"message": "עזרו לממן את הפיתוח"
},
"hideDonationLink": {
"message": "הסתר כפתור תרומה"
},
"helpPageThanksForInstalling": {
"message": "תודה שהתקנת את ספונסרבלוק."
},
"helpPageReviewOptions": {
"message": "אנא סקור את האפשרויות הבאות"
},
"helpPageHowSkippingWorks": {
"message": "כיצד דילוג עובד"
},
"Submitting": {
"message": "שולח"
},
"Editing": {
"message": "עריכה"
},
"helpPageTooSlow": {
"message": "הקצב איטי מדי"
},
"helpPageCopyOfDatabase2": {
"message": "קוד המקור זמין באופן חופשי ובחינם. אז, אפילו אם משהו יקרה לי, המקטעים שהגשתם לא יאבדו."
},
"helpPageNews": {
"message": "חדשות וכיצד זה נעשה"
},
"helpPageSourceCode": {
"message": "היכן אוכל להשיג את קוד המקור?"
},
"Credits": {
"message": "קרדיטים"
},
"LearnMore": {
"message": "למידע נוסף"
},
"CopyAndDownvote": {
"message": "העתק ועשה דיסלייק"
},
"ContinueVoting": {
"message": "המשך להצביע"
},
"ChangeCategoryTooltip": {
"message": "זה מיידית ישפיע על כל המקטעים שלך"
},
"SponsorTimeEditScrollNewFeature": {
"message": "השתמש בגלגלת בזמן שהעכבר מעל הזמן בשלב העריכה על מנת לשנות את הזמן יותר מהר. שילוב של הלחצן Ctrl/Shift יכולים לשנות את מהירות השינוי."
},
"categoryPillNewFeature": {
"message": "חדש! ראה מתי וידאו בשלמותו הוא פרסומת או פרסום עצמי"
},
"dayAbbreviation": {
"message": "ימים",
"description": "100d"
},
"hourAbbreviation": {
"message": "שעות",
"description": "100h"
},
"optionsTabBehavior": {
"message": "התנהגות",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "ממשק",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "קיצורי מקלדת",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "גיבוי/שחזור",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"notSet": {
"message": "לא הוגדר"
},
"change": {
"message": "שנה"
},
"youtubeKeybindWarning": {
"message": "זה הוא קיצור דרך מובנה ביוטיוב. האם אתה בטוח שאתה רוצה להשתמש בו?"
}
}

View File

@@ -1,49 +0,0 @@
{
"fullName": {
"message": "YouTube के लिए SponsorBlock - प्रायोजन छोड़ें",
"description": "Name of the extension."
},
"Description": {
"message": "YouTube वीडियो पर प्रायोजन, सदस्यता भीख और अधिक छोड़ें। दूसरों के समय को बचाने के लिए आपके द्वारा देखे जाने वाले वीडियो पर प्रायोजकों की रिपोर्ट करें।",
"description": "Description of the extension."
},
"400": {
"message": "सर्वर ने कहा कि यह अनुरोध अमान्य था"
},
"429": {
"message": "आपने इस एक वीडियो के लिए बहुत सारे प्रायोजक बार प्रस्तुत किए हैं, क्या आप सुनिश्चित हैं कि यह कई हैं?"
},
"409": {
"message": "यह पहले भी प्रस्तुत किया जा चुका है"
},
"channelWhitelisted": {
"message": "चैनल श्वेतसूची में!"
},
"Segment": {
"message": "खंड"
},
"Segments": {
"message": "खंडों"
},
"Dismiss": {
"message": "रद्द करें"
},
"Loading": {
"message": "लोड कर रहा है..."
},
"paused": {
"message": "रुका हुआ"
},
"clearThis": {
"message": "क्या आप वाकई इसे साफ़ करना चाहते हैं?\n\n"
},
"sponsorEnd": {
"message": "खंड अब समाप्त होता है"
},
"success": {
"message": "सफल!"
},
"Options": {
"message": "विकल्प"
}
}

View File

@@ -1,675 +0,0 @@
{
"fullName": {
"message": "SponsorBlock za YouTube - preskoči sponzore",
"description": "Name of the extension."
},
"Description": {
"message": "Preskoči sponzore, zamolbe za pretplatu i drugo na YouTube videima. Prijavi sponzore na videima koje gledaš kako bi uštedio drugima vrijeme.",
"description": "Description of the extension."
},
"400": {
"message": "Server je rekao da je zahtjev neispravan"
},
"429": {
"message": "Unio si previše vremena sponzora za ovaj video, jesi li siguran da ih ima toliko?"
},
"409": {
"message": "Ovo je već unešeno prije"
},
"channelWhitelisted": {
"message": "Kanal je dodan na popis dopuštenih!"
},
"Segment": {
"message": "odsječak"
},
"Segments": {
"message": "odsječci"
},
"upvoteButtonInfo": {
"message": "Glasaj za ovaj unos"
},
"reportButtonTitle": {
"message": "Prijavi"
},
"reportButtonInfo": {
"message": "Prijavi unos kao nesipravan."
},
"Dismiss": {
"message": "Odbaci"
},
"Loading": {
"message": "Učitavanje..."
},
"Hide": {
"message": "Nikad ne prikazuj"
},
"hitGoBack": {
"message": "Klikni unskip kako bi se vratio otkuda si došao."
},
"unskip": {
"message": "Ne preskači"
},
"reskip": {
"message": "Preskoči opet"
},
"unmute": {
"message": "Uključi zvuk"
},
"paused": {
"message": "Pauzirano"
},
"manualPaused": {
"message": "Timer zaustavljen"
},
"confirmMSG": {
"message": "Kako bi uredio ili obrisao pojedinačne vrijednosti, klikni na gumb info ili otvori okvir dodatka klikom na ikonu dodatka u gornjem desnom kutu."
},
"clearThis": {
"message": "Jesi li siguran da želiš očistiti ovo?\n\n"
},
"Unknown": {
"message": "Dogodila se pogreška pri unošenju tvojih vremena sponzora, molim te probaj ponovno kasnije."
},
"sponsorFound": {
"message": "Ovaj video ima isječke u bazi podataka!"
},
"sponsor404": {
"message": "Nije pronađen isječak"
},
"sponsorStart": {
"message": "Isječak započinje sada"
},
"sponsorEnd": {
"message": "Isječak završava sada"
},
"sponsorCancel": {
"message": "Otkaži Kreiranje Segmenta"
},
"noVideoID": {
"message": "Nijedan YouTube video nije pronađen.\nAko ovo nije točno, osvježite karticu."
},
"refreshSegments": {
"message": "Osvježi segmente"
},
"success": {
"message": "Uspjeh!"
},
"voted": {
"message": "Glas podnešen!"
},
"serverDown": {
"message": "Čini se da server ne radi. Kontaktiraj razvojne programere odmah."
},
"connectionError": {
"message": "Dogodija se greška u povezivanju. Kod pogreške: "
},
"clearTimes": {
"message": "Očisti isječke"
},
"openPopup": {
"message": "Otvori okvir SponsorBlock"
},
"closePopup": {
"message": "Zatvori izbornik"
},
"SubmitTimes": {
"message": "Podnesi isječke"
},
"submitCheck": {
"message": "Jesi li siguran da želiš unijeti ovo?"
},
"whitelistChannel": {
"message": "Dopusti kanal"
},
"removeFromWhitelist": {
"message": "Izbaci kanal iz bijele liste"
},
"voteOnTime": {
"message": "Glasaj za isječak"
},
"Submissions": {
"message": "Prijava"
},
"savedPeopleFrom": {
"message": "Sačuvali ste ljude od"
},
"viewLeaderboard": {
"message": "Ljestvica"
},
"recordTimesDescription": {
"message": "Pošalji"
},
"submissionEditHint": {
"message": "Uređivanje dijela prikazat će se nakon što pritisneš gumb za slanje",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Savjet: Možete namjestiti tipke za podnošenje u opcijama"
},
"clearTimesButton": {
"message": "Očisti vremena"
},
"submitTimesButton": {
"message": "Unesi vremena"
},
"publicStats": {
"message": "Ovo se koristi na stranici sa javnim statistikama da se pokaže koliko se pridonijeli. Pogledajte"
},
"Username": {
"message": "Korisničko ime"
},
"setUsername": {
"message": "Postavi korisničko ime"
},
"copyPublicID": {
"message": "Kopiraj javni UserID"
},
"copySegmentID": {
"message": "Kopiraj ID odsječka"
},
"discordAdvert": {
"message": "Pridružite nam se u službenoj Discord zajednici i pošaljite svoje prijedloge i povrate informacije!"
},
"hideThis": {
"message": "Sakrijte ovo"
},
"Options": {
"message": "Opcije"
},
"showButtons": {
"message": "Prikaži gumbe na YouTube Playeru"
},
"hideButtons": {
"message": "Sakrij gumbe na YouTube playeru"
},
"hideButtonsDescription": {
"message": "Ovo skriva gumbe koji se pojavljuju na YouTube playeru za slanje odsječaka za preskakanje."
},
"showSkipButton": {
"message": "Zadržite gumb za preskakanje i označavanje na playeru"
},
"showInfoButton": {
"message": "Prikaži gumb za informacije na YouTube Playeru"
},
"hideInfoButton": {
"message": "Sakrij gumb za informacije na YouTube Playeru"
},
"autoHideInfoButton": {
"message": "Automatski sakrij info gumb"
},
"hideDeleteButton": {
"message": "Sakrij gumb za brisanje na YouTube playeru"
},
"showDeleteButton": {
"message": "Pokaži gumb za brisanje na YouTube sviraču"
},
"enableViewTracking": {
"message": "Omogući brojanje preskakanja"
},
"showSkipNotice": {
"message": "Pokaži obavijest nakon preskakanja isječka"
},
"website": {
"message": "Web-stranica",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Izvorni kod",
"description": "Used on Firefox Store Page"
},
"setSkipShortcut": {
"message": "Preskoči odsječak",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "Pokreni/prekini odsječak",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "Pošalji odsječke",
"description": "Keybind label"
},
"keybindDescription": {
"message": "Odaberi tipku upisom tipke i odaberi modifikatorske tipke koje želiš koristiti."
},
"0": {
"message": "Veza istekla. Provjerite svoju internetski vezu. Ako vaš internet radi, poslužitelj je vjerojatno preopterećen ili nedostupan."
},
"disableSkipping": {
"message": "Preskakanje je aktivirano"
},
"enableSkipping": {
"message": "Preskakanje je deaktivirano"
},
"yourWork": {
"message": "Tvoja slanja",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "Čini se da je poslužitelj preopterećen. Pokušajte ponovno za nekoliko sekundi."
},
"errorCode": {
"message": "Kȏd greške: "
},
"skip": {
"message": "Preskoči"
},
"mute": {
"message": "Isključi zvuk"
},
"full": {
"message": "Cijeli video",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Preskočiti {0}?"
},
"mute_category": {
"message": "Utišati {0}?"
},
"skip_to_category": {
"message": "Preskočiti na {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "Preskočeno: {0}",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "Isključen zvuk: {0}",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "Preskočeno na {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "Deaktiviraj automatsko preskakanje"
},
"enableAutoSkip": {
"message": "Aktiviraj automatsko preskakanje"
},
"audioNotification": {
"message": "Zvučna obavijest pri preskakanju"
},
"audioNotificationDescription": {
"message": "Zvučna obavijest o preskakanju reproducirat će zvuk kad god se odsječak preskoči. Ako je deaktivirano (ili je automatsko preskakanje deaktivirano), zvuk se neće reproducirati."
},
"minLower": {
"message": "min"
},
"minsLower": {
"message": "min"
},
"hourLower": {
"message": "h"
},
"hoursLower": {
"message": "h"
},
"statusReminder": {
"message": "Provjerite status.sponsor.ajay.app za status poslužitelja."
},
"changeUserID": {
"message": "Uvezi/Izvezi svoj korisnički ID"
},
"setUserID": {
"message": "Postavi UserID"
},
"userIDChangeWarning": {
"message": "Oprez: Promjena UserID-a je trajna. Jesi li siguran da želiš ovo napraviti? Napravi kopiju starog UserID-a za svaki slučaj."
},
"createdBy": {
"message": "Izradio"
},
"supportedSites": {
"message": "Podržane stranice: "
},
"optionsInfo": {
"message": "Omogući podržavanje Invidiousa, onemogući automatsko preskakanje, sakrij gumbe i drugo."
},
"add": {
"message": "Dodaj"
},
"addInvidiousInstanceError": {
"message": "Ova domena je neispravna. Trebaš unijeti SAMO domenu. Primjer: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Resetiraj popis instanci Invidiousa"
},
"resetInvidiousInstanceAlert": {
"message": "Upravo ćeš resetirati popis instanci Invidiousa"
},
"currentInstances": {
"message": "Trenutne instance:"
},
"minDuration": {
"message": "Minimalno trajanje (u sekundama):"
},
"minDurationDescription": {
"message": "Isječci kraći od postavljene vrijednosti neće biti preskočeni ili prikazani u playeru."
},
"skipNoticeDuration": {
"message": "Duljina trajanja obavijesti o preskakanju (sekunde):"
},
"skipNoticeDurationDescription": {
"message": "Obavijest o preskakanju ostat će na zaslonu barem ovoliko dugo. Za ručno preskakanje može biti duže vidljivo."
},
"showUploadButton": {
"message": "Prikaži gumb za prijenos"
},
"customServerAddress": {
"message": "Adresa SponsorBlock poslužitelja"
},
"save": {
"message": "Spremi"
},
"reset": {
"message": "Resetiraj"
},
"mobileUpdateInfo": {
"message": "Sada se podržava m.youtube.com"
},
"exportOptions": {
"message": "Uvezi/Izvezi sve postavke"
},
"exportOptionsCopy": {
"message": "Uredi/kopiraj"
},
"exportOptionsDownload": {
"message": "Spremi u datoteku"
},
"exportOptionsUpload": {
"message": "Učitaj iz datoteke"
},
"setOptions": {
"message": "Postavi opcije"
},
"confirmNoticeTitle": {
"message": "Pošalji segment"
},
"submit": {
"message": "Pošalji"
},
"cancel": {
"message": "Odustani"
},
"delete": {
"message": "Izbriši"
},
"preview": {
"message": "Pregledaj"
},
"unsubmitted": {
"message": "Neposlano"
},
"inspect": {
"message": "Provjeri"
},
"edit": {
"message": "Uredi"
},
"copyDebugInformationOptions": {
"message": "Kopira informacije u međuspremnik koje treba dati razvojnom programeru kada otkrije grešku / kada to programer zatraži. Osjetljive informacije kao što su vaš korisnički ID, kanali s popisa dopuštenih i prilagođena adresa poslužitelja uklonjeni su. Međutim, sadrži informacije kao što su vaš korisnički agent, preglednik, operativni sustav i broj verzije proširenja. "
},
"to": {
"message": "do",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Sponzor"
},
"category_sponsor_description": {
"message": "Plaćene promocije, plaćene preporuke i izravne reklame. Nije za samopromociju ili besplatno pozivanje na događaje/kreatore/web stranice/proizvode koji im se sviđaju."
},
"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_exclusive_access": {
"message": "Eksluzivni pristup"
},
"category_exclusive_access_description": {
"message": "Samo za označavanje cijelih videa. Koristi se kad video prikazuje proizvod, uslugu ili lokaciju za koje su dobili besplatan ili subvencionirani pristup."
},
"category_interaction": {
"message": "Podsjetnik interakcije (Pretplati se)"
},
"category_interaction_short": {
"message": "Podsjetnik interakcije"
},
"category_intro": {
"message": "Stanka/Uvodna animacija"
},
"category_intro_description": {
"message": "Interval bez stvarnog sadržaja. Može biti stanka, statični kadar, ponavljajuća animacija. Ovo se ne bi trebalo koristiti za prijelaze koji sadrže informacije."
},
"category_intro_short": {
"message": "Stanka"
},
"category_outro": {
"message": "Završni kadrovi/Zasluge"
},
"category_preview": {
"message": "Pregled/Sažetak"
},
"category_filler_short": {
"message": "Popuna"
},
"category_music_offtopic": {
"message": "Glazba: Ne-glazbeni dio"
},
"category_music_offtopic_description": {
"message": "Samo za videospotove. Ovo bi se trebalo koristiti samo za dijelove videospotova koji još nisu obuhvaćeni drugom kategorijom."
},
"category_music_offtopic_short": {
"message": "Ne-glazbeni"
},
"category_poi_highlight": {
"message": "Istaknuto"
},
"category_livestream_messages": {
"message": "Livestream: čitanje donacija/poruka"
},
"category_livestream_messages_short": {
"message": "Čitanje poruka"
},
"autoSkip": {
"message": "Automatsko preskakanje"
},
"manualSkip": {
"message": "Ručno preskakanje"
},
"disable": {
"message": "Deaktiviraj"
},
"autoSkip_POI": {
"message": "Automatski skoči na početak"
},
"manualSkip_POI": {
"message": "Pitaj kad se učitava video"
},
"showOverlay_full": {
"message": "Prikaži oznaku"
},
"muteSegments": {
"message": "Dopustite isječke koji isključuju zvuk umjesto da ga preskaču"
},
"previewColor": {
"message": "Boja neposlanog",
"description": "Referring to submissions that have not been sent to the server yet."
},
"category": {
"message": "Kategorija"
},
"skipOption": {
"message": "Preskoči opciju",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Omogućite poslužitelj za beta testiranje"
},
"testingServerWarning": {
"message": "Svi podnesci i glasovi NEĆE BROJATI u glavnom poslužitelju dok se povezuješ s testnim poslužiteljem. Obavezno deaktiviraj ovo kada želiš slati podneske."
},
"bracketNow": {
"message": "(sada)"
},
"moreCategories": {
"message": "Više kategorija"
},
"chooseACategory": {
"message": "Odaberi kategoriju"
},
"enableThisCategoryFirst": {
"message": "Za slanje odsječaka kategorije „{0}”, moraš je aktivirati u postavkama. Sada ćemo te preusmjeriti na postavke.",
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
},
"youMustSelectACategory": {
"message": "Moraš odabrati kategoriju za sve segmente koje šalješ!"
},
"bracketEnd": {
"message": "(kraj)"
},
"manuallyHidden": {
"message": "ručno skriveno"
},
"downvoteDescription": {
"message": "Neispravno/krivo vrijeme"
},
"incorrectCategory": {
"message": "Promijenite kategoriju"
},
"nonMusicCategoryOnMusic": {
"message": "Ovaj je video kategoriziran kao glazba. Je li stvarno ima sponzora? Ako je ovo zapravo „Ne-glazbeni segment”, otvori opcije proširenja i aktiviraj ovu kategoriju. Zatim ovaj segment možeš posalti kao „Ne-glazbeni” umjesto sponzora. Pročitaj smjernice ako nešto nije jasno."
},
"multipleSegments": {
"message": "Više segmenata"
},
"guidelines": {
"message": "Smjernice"
},
"readTheGuidelines": {
"message": "Pročitaj Smjernice!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Stigle su kategorije!"
},
"categoryUpdate2": {
"message": "Otvori opcije za preskakanje uvoda, kraja, proizvoda itd."
},
"help": {
"message": "Pomoć"
},
"GotIt": {
"message": "Razumijem",
"description": "Used as the button to dismiss a tooltip"
},
"categoryPillTitleText": {
"message": "Ovaj cijeli video označen je kao ova kategorija i previše je integriran da bi se mogao odvojiti"
},
"hideForever": {
"message": "Sakrij zauvijek"
},
"Donate": {
"message": "Doniraj"
},
"helpPageThanksForInstalling": {
"message": "Hvala na instaliranju SponsorBlocka."
},
"helpPageFeatureDisclaimer": {
"message": "Mnoge funkcije su standardno deaktivirane. Ako želiš preskočiti uvode, završne dijelove, koristiti Invidious, itd., aktiviraj ih niže dolje. Također možeš sakriti/prikazati elemente korisničkog sučelja."
},
"Submitting": {
"message": "Slanje"
},
"helpPageSubmitting2": {
"message": "Klikom na gumb za reprodukciju označava se početak segmenta, a klik na ikonu za zaustavljanje označava kraj. Možete pripremiti više sponzora prije nego što pritisnete \"Pošalji\". Klikom na gumb za slanje bit će poslano. Klikom na kantu za smeće izbrisat će se."
},
"Editing": {
"message": "Uređivanje"
},
"helpPageTooSlow": {
"message": "Ovo je presporo"
},
"helpPageSourceCode": {
"message": "Gdje mogu pronaći izvorni kod?"
},
"Credits": {
"message": "Zasluge"
},
"LearnMore": {
"message": "Saznajte više"
},
"OpenCategoryWikiPage": {
"message": "Otvorite wiki stranicu ove kategorije."
},
"CopyAndDownvote": {
"message": "Kopiraj i glasaj protiv"
},
"ContinueVoting": {
"message": "Nastavite glasati"
},
"ChangeCategoryTooltip": {
"message": "Ovo će se odmah primijeniti na vaše isječke"
},
"hideSegment": {
"message": "Sakri odsječak"
},
"dayAbbreviation": {
"message": "d",
"description": "100d"
},
"hourAbbreviation": {
"message": "h",
"description": "100h"
},
"optionsTabBehavior": {
"message": "Ponašanje",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "Sučelje",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "Tipkovni prečaci",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "Sigurnosna kopija/Obnova",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "Razno",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "Izgled napomene preskakanja",
"description": "Option label"
},
"notSet": {
"message": "Nije postavljeno"
},
"change": {
"message": "Promijeni"
},
"youtubeKeybindWarning": {
"message": "Ovo je ugrađeni YouTube prečac. Stvarno ga želiš koristiti?"
},
"betaServerWarning": {
"message": "BETA poslužitelj je aktiviran!"
},
"openOptionsPage": {
"message": "Otvori stranicu opcija"
},
"resetToDefault": {
"message": "Vrati standardne postavke"
},
"confirmResetToDefault": {
"message": "Stvarno želiš vratiti sve postavke na standardne vrijednosti? To je nepovratna radnja."
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,951 +0,0 @@
{
"fullName": {
"message": "SponserBlock for YouTube - 動画のスポンサーセクションを自動でスキップする",
"description": "Name of the extension."
},
"Description": {
"message": "YouTube動画の提供表示や登録要求をスキップします。視聴している動画の当該部分を報告してみんなが時間を節約できるようにしましょう。",
"description": "Description of the extension."
},
"400": {
"message": "サーバーがこのリクエストは無効であると返答しました"
},
"429": {
"message": "一つの動画に対してあまりに多くのセグメントを提案しています。本当にこれだけ必要ですか?"
},
"409": {
"message": "これは既に提出されています。"
},
"channelWhitelisted": {
"message": "チャンネルをホワイトリストに登録しました!"
},
"Segment": {
"message": "セグメント"
},
"Segments": {
"message": "セグメント"
},
"upvoteButtonInfo": {
"message": "この提案を支持"
},
"reportButtonTitle": {
"message": "報告"
},
"reportButtonInfo": {
"message": "この提案が正しくないと報告"
},
"Dismiss": {
"message": "無視"
},
"Loading": {
"message": "読み込み中..."
},
"Hide": {
"message": "再度表示しない"
},
"hitGoBack": {
"message": "スキップ解除を押すと元の場所へ戻ります"
},
"unskip": {
"message": "スキップ解除"
},
"reskip": {
"message": "再スキップ"
},
"unmute": {
"message": "ミュート解除"
},
"paused": {
"message": "一時停止中"
},
"manualPaused": {
"message": "タイマーが停止しました"
},
"confirmMSG": {
"message": "個々の値を編集・削除するには、情報ボタンをクリックするか右上隅にある拡張機能のアイコンをクリックして拡張機能のポップアップを表示します。"
},
"clearThis": {
"message": "本当に消去しますか?\n\n"
},
"Unknown": {
"message": "スポンサー表示の投稿中にエラーが発生しました。しばらく経ってからもう一度お試しください。"
},
"sponsorFound": {
"message": "この動画用のセグメントはデータベースに登録されています!"
},
"sponsor404": {
"message": "セグメントが見つかりませんでした"
},
"sponsorStart": {
"message": "セグメント開始を記録"
},
"sponsorEnd": {
"message": "セグメント終了を記録"
},
"sponsorCancel": {
"message": "セグメントの作成を取り消す"
},
"noVideoID": {
"message": "YouTube動画が見つかりませんでした。\nこれが正しくない場合は、タブを再読み込みしてください。"
},
"refreshSegments": {
"message": "セグメントを更新"
},
"success": {
"message": "成功しました!"
},
"voted": {
"message": "投票しました!"
},
"serverDown": {
"message": "サーバーがダウンしているようです。今すぐ開発者にお知らせください。"
},
"connectionError": {
"message": "接続エラーが発生しました。 エラーコード: "
},
"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": "ユーザー名を設定"
},
"copyPublicID": {
"message": "パブリックユーザIDをコピー"
},
"copySegmentID": {
"message": "セグメントIDをコピー"
},
"discordAdvert": {
"message": "公式Discordサーバーに参加して意見やフィードバックをお寄せください"
},
"hideThis": {
"message": "非表示にする"
},
"Options": {
"message": "オプション"
},
"showButtons": {
"message": "YouTube プレイヤーにボタンを表示"
},
"hideButtons": {
"message": "YouTube プレイヤーにボタンを表示しない"
},
"hideButtonsDescription": {
"message": "YouTube再生画面のセグメント提出ボタンを非表示にします。"
},
"showSkipButton": {
"message": "「ハイライトまでスキップ」ボタンをプレイヤーに常に表示する"
},
"showInfoButton": {
"message": "YouTubeプレイヤーに情報ボタンを表示する"
},
"hideInfoButton": {
"message": "YouTubeプレイヤーに情報ボタンを表示しない"
},
"autoHideInfoButton": {
"message": "情報ボタンを自動的に隠す"
},
"hideDeleteButton": {
"message": "YouTube プレイヤーから削除ボタンを隠す"
},
"showDeleteButton": {
"message": "YouTubeプレーヤーに削除ボタンを表示"
},
"enableViewTracking": {
"message": "スキップの集計を有効にする"
},
"whatViewTracking": {
"message": "この機能は、あなたがスキップしたセグメントを追跡して、そのセグメントがどれだけ役に立ったかを他のユーザーに知らせることで、スパムがデータベースに紛れないようにするための評価基準として使用されます。あなたがセグメントをスキップするたびに、拡張機能はサーバーにメッセージを送信します。使用回数の統計が正確になるよう、できる限り多くの人がこの設定を変更しないことを望みます。:)"
},
"enableViewTrackingInPrivate": {
"message": "プライベート/シークレット タブでのスキップ回数の集計を有効にする"
},
"enableTrackDownvotes": {
"message": "セグメントの低評価を記録"
},
"whatTrackDownvotes": {
"message": "あなたが低評価したセグメントが再読み込み後も非表示のままになります"
},
"trackDownvotesWarning": {
"message": "警告: 無効化するとこれまでの低評価記録が全て削除されます"
},
"enableQueryByHashPrefix": {
"message": "ハッシュプレフィックスを使って要求"
},
"whatQueryByHashPrefix": {
"message": "サーバーに区域を要求する際に動画IDの代わりに動画IDのハッシュから最初の4文字を送信します。それに対してサーバーは類似したハッシュを持つすべての動画の情報を応答します。"
},
"enableRefetchWhenNotFound": {
"message": "新しい動画ではセグメントを再取得する"
},
"whatRefetchWhenNotFound": {
"message": "動画がまだ新しくセグメントが見つからない場合は、動画を視聴している間、数分おきにセグメントを検索し続けます。"
},
"showNotice": {
"message": "再度通知を表示する"
},
"showSkipNotice": {
"message": "セグメントがスキップされた後に通知を表示する"
},
"noticeVisibilityMode0": {
"message": "通常サイズのスキップ通知"
},
"noticeVisibilityMode1": {
"message": "自動スキップ時に小サイズの通知"
},
"noticeVisibilityMode2": {
"message": "常に小サイズのスキップ通知"
},
"noticeVisibilityMode3": {
"message": "自動スキップ時に透過タイプの通知"
},
"noticeVisibilityMode4": {
"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": "セグメントをスキップ",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "セグメントを開始/終了",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "セグメントを提出",
"description": "Keybind label"
},
"keybindDescription": {
"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": "スキップ"
},
"mute": {
"message": "ミュート"
},
"full": {
"message": "動画全体",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "{0} をスキップしますか?"
},
"mute_category": {
"message": "{0} をミュートしますか?"
},
"skip_to_category": {
"message": "{0}までスキップしますか?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0}をスキップしました",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0}をミュートしました",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "{0}までスキップしました",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "自動スキップを無効にする"
},
"enableAutoSkip": {
"message": "自動スキップを有効にする"
},
"audioNotification": {
"message": "スキップ時に通知音を鳴らす"
},
"audioNotificationDescription": {
"message": "セグメントがスキップされた時に音を鳴らします。 無効 (もしくは自動スキップが無効) の場合、音は再生されません。"
},
"showTimeWithSkips": {
"message": "スキップした分を除いた時間を表示する"
},
"showTimeWithSkipsDescription": {
"message": "この時間は、シークバーの下にある現在の時間の隣に表示されます。これは、動画の合計時間からすべてのセグメントの時間を差し引いたもので「シークバーに表示」として設定されているセグメントも含まれます。"
},
"youHaveSkipped": {
"message": "スキップした数: "
},
"minLower": {
"message": "分"
},
"minsLower": {
"message": "分"
},
"hourLower": {
"message": "時間"
},
"hoursLower": {
"message": "時間"
},
"youHaveSavedTime": {
"message": "他の人々の時間をこれだけ節約しました:",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": "(彼らの人生のうち)",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "サーバーの状態についてはstatus.sponsor.ajay.appを確認してください。"
},
"changeUserID": {
"message": "ユーザーIDのインポート/エクスポート"
},
"whatChangeUserID": {
"message": "これは厳重に保管してください。これはパスワードのようなもので、誰とも共有すべきではありません。 他の誰かがこれを使って、あなたになりすますことができてしまいます。なおパブリックユーザーIDを探している場合は、ポップアップ内のクリップボードアイコンをクリックしてください。"
},
"setUserID": {
"message": "ユーザーIDを設定"
},
"userIDChangeWarning": {
"message": "警告: ユーザーIDの変更は恒久的です。本当に実行しますか? 念のため以前のユーザーIDは控えておいてください。"
},
"createdBy": {
"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対応を有効にし、自動スキップを無効、GUIを非表示にします。"
},
"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": "提出しようとしている区間の長さが個人設定における最短時間よりも短かいです。これは,既に当区間は提出されており,個人設定によって無視されていることを意味します。本当に提出しますか?"
},
"liveOrPremiere": {
"message": "ライブ配信中の動画やプレミア公開中の動画ではセグメントの提出はできません。配信が終了するまで待つか、ページを再読み込みしてセグメントがまだ有効かご確認ください。"
},
"showUploadButton": {
"message": "アップロードボタンを表示"
},
"customServerAddress": {
"message": "SponsorBlock サーバーアドレス"
},
"customServerAddressDescription": {
"message": "SponsorBlockがサーバーへの呼び出しに用いるアドレスです。\n自分のサーバー実体を持っていない限りこの設定を変更してはいけません。"
},
"save": {
"message": "保存"
},
"reset": {
"message": "リセット"
},
"customAddressError": {
"message": "このアドレスの形式は正しくありません。最初にhttp://あるいはhttps://があり,最後が斜線で終わっていないことを確かめてください。"
},
"areYouSureReset": {
"message": "初期設定に戻します。よろしいですか?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com は現在サポートされています"
},
"exportOptions": {
"message": "全ての設定をインポート/エクスポート"
},
"exportOptionsCopy": {
"message": "編集/コピー"
},
"exportOptionsDownload": {
"message": "ファイルに保存"
},
"exportOptionsUpload": {
"message": "ファイルから読み込み"
},
"whatExportOptions": {
"message": "JSON形式のすべての個人設定です。これにはあなたのユーザーIDが含まれているので、共有するときは注意してください。"
},
"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": "不具合があったあるいは開発者から要求があった際に提供する為の情報をクリップボードに写します。利用者ID許可表にある番組および個人サーバーのアドレスなどの機密情報は含まれていません。ただし利用者エージェントWeb閲覧機OSおよび拡張機能の版番などの情報は含まれています。"
},
"copyDebugInformationComplete": {
"message": "診断用情報がクリップボードに複製されました。共有したくない情報があればそこから削除できます。これをファイルに保存したり,不具合報告に貼り付けてください。"
},
"keyAlreadyUsed": {
"message": "このショートカットは他のアクションに割り当てられています。別のショートカットを選択してください。"
},
"to": {
"message": "",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "スポンサー"
},
"category_sponsor_description": {
"message": "報酬のある販売促進・製品紹介および直接広告です。自己販促や好きな運動・製作者・Webサイト・製品に対する無報酬での宣伝とは違います。"
},
"category_selfpromo": {
"message": "無報酬 / セルフプロモーション"
},
"category_selfpromo_description": {
"message": "無報酬での宣伝あるいは自己販促であるという点を除いては「スポンサー」と同様です。商品、寄付、コラボ情報に関する内容を含みます。"
},
"category_exclusive_access": {
"message": "限定アクセス"
},
"category_exclusive_access_description": {
"message": "動画全体に対してのみ付与できます。無償または補助金を受けて、製品、サービス、場所を紹介する動画に使用。"
},
"category_exclusive_access_pill": {
"message": "この動画は無償または補助金を受けて利用した製品、サービス、または場所を紹介するものです",
"description": "Short description for this category"
},
"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_filler": {
"message": "無駄な脱線/冗談"
},
"category_filler_description": {
"message": "動画の本編を理解するのに必要のない、繋ぎの話やユーモアによって脱線したシーン。これには、文脈や背景の詳細を提供しているセグメントを含めないでください。"
},
"category_filler_short": {
"message": "繋ぎの話"
},
"category_music_offtopic": {
"message": "音楽: 音楽以外のセクション"
},
"category_music_offtopic_description": {
"message": "ミュージックビデオでの使用に限ります。他のカテゴリーに含まれていないミュージックビデオのセクションにのみ使用してください。"
},
"category_music_offtopic_short": {
"message": "音楽以外の部分"
},
"category_poi_highlight": {
"message": "ハイライト"
},
"category_poi_highlight_description": {
"message": "多くの人が求めている動画の部分。「本編はXから開始」といったコメントのような機能です。"
},
"category_livestream_messages": {
"message": "ライブ配信: 寄付/メッセージの読み上げ"
},
"category_livestream_messages_short": {
"message": "寄付などの読み上げ"
},
"autoSkip": {
"message": "自動スキップ"
},
"manualSkip": {
"message": "手動スキップ"
},
"showOverlay": {
"message": "シークバーに表示"
},
"disable": {
"message": "無効"
},
"autoSkip_POI": {
"message": "冒頭へ自動スキップ"
},
"manualSkip_POI": {
"message": "動画を読み込んだ際に確認する"
},
"showOverlay_POI": {
"message": "シークバーに表示"
},
"showOverlay_full": {
"message": "ラベルを表示"
},
"autoSkipOnMusicVideos": {
"message": "非音楽区域がある場合,全区域を自動的に飛び越す"
},
"muteSegments": {
"message": "スキップする代わりに音声をミュートしてセグメントを許可"
},
"fullVideoSegments": {
"message": "動画全体が広告の場合にアイコンを表示",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"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."
},
"poiOnlyOneSegment": {
"message": "警告: このタイプのセグメントは一度に最大一つだけ有効にすることができます。複数送信するとランダムなものが表示されます。"
},
"youMustSelectACategory": {
"message": "送信するすべてのセグメントにカテゴリを選択する必要があります!"
},
"bracketEnd": {
"message": "(終了)"
},
"hiddenDueToDownvote": {
"message": "低い評価の区間を無視する"
},
"hiddenDueToDuration": {
"message": "あまりに短かい区間を無視する"
},
"manuallyHidden": {
"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を参照できないようです。修正するには次に表示される画面で許可を承認してから数秒後に再読み込みしてください。"
},
"acceptPermission": {
"message": "許可を承認する"
},
"permissionRequestSuccess": {
"message": "許可リクエストが成功しました!"
},
"permissionRequestFailed": {
"message": "権限要求に失敗しました。拒否をクリックしましたか?"
},
"adblockerIssueWhitelist": {
"message": "これを解決できない場合は、設定「スキップする前にチャンネルチェックを強制」を無効にしてください。 SponsorBlockはこのビデオのチャンネル情報を取得できません。"
},
"forceChannelCheck": {
"message": "スキップする前にチャンネルチェックを強制する"
},
"whatForceChannelCheck": {
"message": "デフォルト設定では、チャンネル情報を取得する前にセグメントをスキップします。デフォルト設定では、ホワイトリストに追加されているチャンネルでも動画の先頭部分にあるセグメントがスキップされる場合があります。この設定を有効にするとこの挙動が回避されますが、channelIDの取得に時間がかかるため、すべてのスキップに遅延が発生します。高速なインターネット回線を使用している場合は気にならないかもしれません。"
},
"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": "ヘルプ"
},
"GotIt": {
"message": "了解",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "このセグメントは大きすぎます。動画全体が一つのトピックに当てはまる場合は「スキップ」を「動画全体」に変更してください。詳細はガイドラインを参照してください。"
},
"categoryPillTitleText": {
"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."
},
"Donate": {
"message": "寄付"
},
"considerDonating": {
"message": "開発を支援する"
},
"hideDonationLink": {
"message": "寄付のお願いを表示しない"
},
"darkModeOptionsPage": {
"message": "オプション画面でダークモードを使用"
},
"helpPageThanksForInstalling": {
"message": "SponsorBlockを導入いただきありがとうございます。"
},
"helpPageReviewOptions": {
"message": "以下の設定を確認してください"
},
"helpPageFeatureDisclaimer": {
"message": "多くの機能がデフォルトでは無効となっています。イントロ・アウトロをスキップしたり、Invidiousで使用したりするにはこの下で有効にしてください。また画面の表示設定を切り替えることもできます。"
},
"helpPageHowSkippingWorks": {
"message": "スキップの仕組み"
},
"helpPageHowSkippingWorks1": {
"message": "データベースにある動画区域が自動的に飛び越されます。この拡張機能のアイコンをクリックすると,区域の位置や範囲を確かめることができます。"
},
"helpPageHowSkippingWorks2": {
"message": "区域を飛び越すたびに通知されます。区域の範囲がおかしいと思ったら,その区域を低評価してください。ポップアップ画面でも同様に投票ができます。"
},
"Submitting": {
"message": "提出する"
},
"helpPageSubmitting1": {
"message": "提出するにはポップアップの「セグメント開始を記録」ボタン、またはビデオプレーヤー内にあるボタンを押してください。"
},
"helpPageSubmitting2": {
"message": "再生ボタンをクリックするとセグメントの開始、停止アイコンをクリックすると終了となります。 複数のスポンサーを用意してから送信ボタンを押すことができます。アップロードボタンをクリックすると提出されます。ゴミ箱をクリックすると削除されます。"
},
"Editing": {
"message": "編集する"
},
"helpPageEditing1": {
"message": "もし間違えてしまっても、上矢印ボタンをクリックでセグメントを編集・削除することができます。"
},
"helpPageTooSlow": {
"message": "こんな操作は面倒?"
},
"helpPageTooSlow1": {
"message": "ショートカットキーが利用可能です。セミコロンキーでスポンサーセグメントを開始/終了し、アポストロフィキーで送信できます。またこれらはオプションで変更できます。QWERTYキーを使わない場合は、キー割り当てを変更したほうがいいでしょう。"
},
"helpPageCopyOfDatabase": {
"message": "データベースのコピーを利用できますか? 作者が失踪した場合はどうなりますか?"
},
"helpPageCopyOfDatabase1": {
"message": "データベースは公開されており、こちらから利用できます:"
},
"helpPageCopyOfDatabase2": {
"message": "ソースコードは自由に利用できます。運営になにがあろうとも,あなたの貢献(提出された区域)が失われることはありません。"
},
"helpPageNews": {
"message": "お知らせと作成方法"
},
"helpPageSourceCode": {
"message": "ソースコードの入手先"
},
"Credits": {
"message": "謝辞"
},
"LearnMore": {
"message": "さらに詳しく"
},
"CopyDownvoteButtonInfo": {
"message": "低評価を押し、再提出するためのローカルコピーを作成"
},
"OpenCategoryWikiPage": {
"message": "このカテゴリーのWikiページを開きます。"
},
"CopyAndDownvote": {
"message": "コピーして低評価"
},
"ContinueVoting": {
"message": "投票を続ける"
},
"ChangeCategoryTooltip": {
"message": "この変更はすぐにあなたのセグメントに適用されます"
},
"downvote": {
"message": "低評価"
},
"upvote": {
"message": "高評価"
},
"hideSegment": {
"message": "セグメントを表示しない"
},
"SponsorTimeEditScrollNewFeature": {
"message": "編集ボックスにカーソルを合わせながらマウスホイールを使用すると、時間をすばやく調整できます。 CtrlキーまたはShiftキーの組み合わせを使用して変更を微調整できます。"
},
"categoryPillNewFeature": {
"message": "新機能!動画全体がスポンサー付きもしくはセルフプロモーションかがわかります"
},
"dayAbbreviation": {
"message": "日",
"description": "100d"
},
"hourAbbreviation": {
"message": "時間",
"description": "100h"
},
"optionsTabBehavior": {
"message": "動作",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "表示設定",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "キーボードショートカット",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "バックアップ/復元",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "その他",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "スキップ通知の形式",
"description": "Option label"
},
"unbind": {
"message": "解除",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "未設定"
},
"change": {
"message": "変更"
},
"youtubeKeybindWarning": {
"message": "これはYouTubeにデフォルトで使用されているショートカットです。本当にこれを使用しますか"
},
"betaServerWarning": {
"message": "ベータサーバーが有効です!"
},
"openOptionsPage": {
"message": "オプションページを開く"
}
}

View File

@@ -1 +0,0 @@
{}

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
{}

View File

@@ -1,25 +0,0 @@
{
"fullName": {
"message": "SponsorBlock priekš YouTube - Izlaid sponsorus",
"description": "Name of the extension."
},
"Description": {
"message": "Izlaidiet sponsorus, abonēšanas lūgumus un vairāk, skatoties YouTube video. Ziņojiet par sponsoriem video, kurus jūs skatāties, lai ietaupītu citu laiku.",
"description": "Description of the extension."
},
"400": {
"message": "Serveris ziņo, ka šis pieprasījums ir nederīgs"
},
"429": {
"message": "Jūs esat aizsūtījis pārāk daudz sponsoru laika sprīžus šim video; vai esat pārliecināts, ka šeit ir tik daudz?"
},
"409": {
"message": "Šis jau ir ticis aizsūtīts iepriekš"
},
"channelWhitelisted": {
"message": "Kanāls iekļauts baltajā sarakstā!"
},
"Segment": {
"message": "segments"
}
}

View File

@@ -1,551 +0,0 @@
{
"fullName": {
"message": "YouTube- നായുള്ള സ്പോൺസർബ്ലോക്ക് - സ്പോൺസർഷിപ്പുകൾ ഒഴിവാക്കുക",
"description": "Name of the extension."
},
"Description": {
"message": "YouTube വീഡിയോകളിൽ സ്പോൺസർഷിപ്പുകൾ, സബ്സ്ക്രിപ്ഷൻ ഭിക്ഷാടനം എന്നിവയും അതിലേറെയും ഒഴിവാക്കുക. മറ്റുള്ളവരുടെ സമയം ലാഭിക്കാൻ നിങ്ങൾ കാണുന്ന വീഡിയോകളിൽ സ്പോൺസർമാരെ റിപ്പോർട്ടുചെയ്യുക.",
"description": "Description of the extension."
},
"400": {
"message": "ഈ അഭ്യർത്ഥന അസാധുവാണെന്ന് സെർവർ പറഞ്ഞു"
},
"429": {
"message": "ഈ ഒരു വീഡിയോയ്‌ക്കായി നിങ്ങൾ വളരെയധികം സ്‌പോൺസർ തവണ സമർപ്പിച്ചു, ഇതിൽ ധാരാളം ഉണ്ടെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?"
},
"409": {
"message": "ഇത് ഇതിനകം സമർപ്പിച്ചു"
},
"channelWhitelisted": {
"message": "ചാനൽ വൈറ്റ്‌ലിസ്റ്റ് ചെയ്‌തു!"
},
"Segment": {
"message": "സെഗ്മെന്റ്"
},
"Segments": {
"message": "സെഗ്‌മെന്റുകൾ"
},
"upvoteButtonInfo": {
"message": "ഈ സമർപ്പണം ഉയർത്തുക"
},
"reportButtonTitle": {
"message": "റിപ്പോർട്ട് ചെയ്യുക"
},
"reportButtonInfo": {
"message": "ഈ സമർപ്പിക്കൽ തെറ്റാണെന്ന് റിപ്പോർട്ടുചെയ്യുക."
},
"Dismiss": {
"message": "നിരസിക്കുക"
},
"Loading": {
"message": "ലോഡിംഗ്..."
},
"Hide": {
"message": "ഒരിക്കലും കാണിക്കരുത്"
},
"hitGoBack": {
"message": "നിങ്ങൾ എവിടെ നിന്നാണ് വന്നതെന്ന് അൺസ്‌കിപ്പ് അമർത്തുക."
},
"unskip": {
"message": "അൺ‌സ്കിപ്പ്"
},
"reskip": {
"message": "റെസ്കിപ്പ്"
},
"paused": {
"message": "താൽക്കാലികമായി നിർത്തി"
},
"manualPaused": {
"message": "ടൈമർ നിർത്തി"
},
"confirmMSG": {
"message": "വ്യക്തിഗത മൂല്യങ്ങൾ എഡിറ്റുചെയ്യാനോ ഇല്ലാതാക്കാനോ, മുകളിൽ വലത് കോണിലുള്ള വിപുലീകരണ ഐക്കണിൽ ക്ലിക്കുചെയ്‌ത് വിവര ബട്ടൺ ക്ലിക്കുചെയ്യുക അല്ലെങ്കിൽ വിപുലീകരണ പോപ്പ്അപ്പ് തുറക്കുക."
},
"clearThis": {
"message": "ഇത് മായ്‌ക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?\n\n"
},
"Unknown": {
"message": "നിങ്ങളുടെ സ്പോൺസർ സമയം സമർപ്പിക്കുന്നതിൽ ഒരു പിശക് ഉണ്ടായിരുന്നു, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക."
},
"sponsorFound": {
"message": "ഈ വീഡിയോയ്ക്ക് ഡാറ്റാബേസിൽ സെഗ്‌മെന്റുകളുണ്ട്!"
},
"sponsor404": {
"message": "സെഗ്‌മെന്റുകളൊന്നും കണ്ടെത്തിയില്ല"
},
"sponsorStart": {
"message": "സെഗ്മെന്റ് ഇപ്പോൾ ആരംഭിക്കുന്നു"
},
"sponsorEnd": {
"message": "സെഗ്മെന്റ് ഇപ്പോൾ അവസാനിക്കുന്നു"
},
"noVideoID": {
"message": "YouTube വീഡിയോകളൊന്നും കണ്ടെത്തിയില്ല.\nഇത് തെറ്റാണെങ്കിൽ, ടാബ് പുതുക്കുക."
},
"success": {
"message": "വിജയം!"
},
"voted": {
"message": "വോട്ട് ചെയ്തു!"
},
"serverDown": {
"message": "സെർവർ പ്രവർത്തനരഹിതമാണെന്ന് തോന്നുന്നു. ദേവിനെ ഉടൻ ബന്ധപ്പെടുക."
},
"connectionError": {
"message": "ഒരു കണക്ഷൻ പിശക് സംഭവിച്ചു. പിശക് കോഡ്: "
},
"clearTimes": {
"message": "സെഗ്‌മെന്റുകൾ മായ്‌ക്കുക"
},
"openPopup": {
"message": "സ്പോൺസർബ്ലോക്ക് പോപ്പ്അപ്പ് തുറക്കുക"
},
"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": "നിർദ്ദേശങ്ങളും ഫീഡ്‌ബാക്കും നൽകാൻ disc ദ്യോഗിക ഡിസ്കോർഡ് സെർവറിൽ ചേരുക!"
},
"hideThis": {
"message": "ഇത് മറയ്ക്കുക"
},
"Options": {
"message": "ഓപ്ഷനുകൾ"
},
"showButtons": {
"message": "YouTube പ്ലെയറിൽ ബട്ടണുകൾ കാണിക്കുക"
},
"hideButtons": {
"message": "YouTube പ്ലെയറിൽ ബട്ടണുകൾ മറയ്‌ക്കുക"
},
"hideButtonsDescription": {
"message": "ഒഴിവാക്കൽ സെഗ്‌മെന്റുകൾ സമർപ്പിക്കുന്നതിന് ഇത് YouTube പ്ലെയറിൽ ദൃശ്യമാകുന്ന ബട്ടണുകൾ മറയ്ക്കുന്നു."
},
"showInfoButton": {
"message": "YouTube പ്ലെയറിൽ വിവര ബട്ടൺ കാണിക്കുക"
},
"hideInfoButton": {
"message": "YouTube പ്ലെയറിൽ വിവര ബട്ടൺ മറയ്‌ക്കുക"
},
"hideDeleteButton": {
"message": "YouTube പ്ലെയറിൽ ഇല്ലാതാക്കുക ബട്ടൺ മറയ്‌ക്കുക"
},
"showDeleteButton": {
"message": "YouTube പ്ലെയറിൽ ഇല്ലാതാക്കുക ബട്ടൺ കാണിക്കുക"
},
"enableViewTracking": {
"message": "ക Count ണ്ട് ട്രാക്കിംഗ് ഒഴിവാക്കുക പ്രാപ്തമാക്കുക"
},
"whatViewTracking": {
"message": "ഡേറ്റാബേസിലേക്ക് സ്പാം വരില്ലെന്ന് ഉറപ്പുവരുത്തുന്നതിനായി ഉപയോക്താക്കളുടെ സമർപ്പിക്കൽ മറ്റുള്ളവരെ എത്രമാത്രം സഹായിച്ചിട്ടുണ്ടെന്നും അപ്‌വോട്ടുകൾക്കൊപ്പം ഒരു മെട്രിക്കായി ഉപയോഗിച്ചുവെന്നും ഉപയോക്താക്കളെ അറിയിക്കുന്നതിന് നിങ്ങൾ ഒഴിവാക്കിയ സെഗ്‌മെന്റുകൾ ഈ സവിശേഷത ട്രാക്കുചെയ്യുന്നു. നിങ്ങൾ ഒരു സെഗ്മെന്റ് ഒഴിവാക്കുമ്പോഴെല്ലാം വിപുലീകരണം സെർവറിലേക്ക് ഒരു സന്ദേശം അയയ്ക്കുന്നു. കാഴ്ച നമ്പറുകൾ കൃത്യമാകുന്നതിനായി മിക്ക ആളുകളും ഈ ക്രമീകരണം മാറ്റില്ലെന്ന് കരുതുന്നു. :)"
},
"enableQueryByHashPrefix": {
"message": "ഹാഷ് പ്രിഫിക്‌സ് പ്രകാരം അന്വേഷണം"
},
"whatQueryByHashPrefix": {
"message": "വീഡിയോ ഐഡി ഉപയോഗിച്ച് സെർവറിൽ നിന്ന് സെഗ്‌മെന്റുകൾ അഭ്യർത്ഥിക്കുന്നതിനുപകരം, വീഡിയോ ഐഡിയുടെ ഹാഷിന്റെ ആദ്യ 4 പ്രതീകങ്ങൾ അയയ്‌ക്കുന്നു. സമാന ഹാഷുകളുള്ള എല്ലാ വീഡിയോകൾക്കുമായുള്ള ഡാറ്റ ഈ സെർവർ തിരികെ അയയ്ക്കും."
},
"enableRefetchWhenNotFound": {
"message": "പുതിയ വീഡിയോകളിൽ സെഗ്‌മെന്റുകൾ വീണ്ടും കാണുക"
},
"whatRefetchWhenNotFound": {
"message": "വീഡിയോ പുതിയതാണെങ്കിൽ, സെഗ്‌മെന്റുകളൊന്നും കണ്ടെത്തിയില്ലെങ്കിൽ, നിങ്ങൾ കാണുമ്പോൾ ഓരോ മിനിറ്റിലും ഇത് വീണ്ടും പുതുക്കുന്നു."
},
"showNotice": {
"message": "അറിയിപ്പ് വീണ്ടും കാണിക്കുക"
},
"showSkipNotice": {
"message": "ഒരു സെഗ്മെന്റ് ഒഴിവാക്കിയതിനുശേഷം അറിയിപ്പ് കാണിക്കുക"
},
"longDescription": {
"message": "സ്പോൺസർമാർ, ആമുഖങ്ങൾ, ros ട്ട്‌ട്രോകൾ, സബ്‌സ്‌ക്രിപ്‌ഷൻ ഓർമ്മപ്പെടുത്തലുകൾ, YouTube വീഡിയോകളുടെ മറ്റ് ശല്യപ്പെടുത്തുന്ന ഭാഗങ്ങൾ എന്നിവ ഒഴിവാക്കാൻ സ്‌പോൺസർബ്ലോക്ക് നിങ്ങളെ അനുവദിക്കുന്നു. സ്പോൺ‌സർ‌ബ്ലോക്ക് ഒരു ക്ര crow ഡ്സോഴ്സ്ഡ് ബ്ര browser സർ എക്സ്റ്റൻഷനാണ്, ഇത് സ്പോൺസർ ചെയ്ത സെഗ്‌മെന്റുകളുടെയും 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."
},
"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} ഒഴിവാക്കുക?"
},
"disableAutoSkip": {
"message": "യാന്ത്രിക ഒഴിവാക്കൽ പ്രവർത്തനരഹിതമാക്കുക"
},
"enableAutoSkip": {
"message": "യാന്ത്രിക ഒഴിവാക്കൽ പ്രവർത്തനക്ഷമമാക്കുക"
},
"audioNotification": {
"message": "ഒഴിവാക്കുന്ന ഓഡിയോ അറിയിപ്പ്"
},
"audioNotificationDescription": {
"message": "ഒരു സെഗ്മെന്റ് ഒഴിവാക്കുമ്പോഴെല്ലാം സ്കിപ്പിലെ ഓഡിയോ അറിയിപ്പ് ശബ്‌ദം പ്ലേ ചെയ്യും. അപ്രാപ്‌തമാക്കിയിട്ടുണ്ടെങ്കിൽ (അല്ലെങ്കിൽ യാന്ത്രിക ഒഴിവാക്കൽ പ്രവർത്തനരഹിതമാക്കി), ശബ്‌ദമൊന്നും പ്ലേ ചെയ്യില്ല."
},
"showTimeWithSkips": {
"message": "നീക്കംചെയ്‌ത സ്‌കിപ്പുകൾ ഉപയോഗിച്ച് സമയം കാണിക്കുക"
},
"showTimeWithSkipsDescription": {
"message": "സീക്ക്ബാറിന് താഴെയുള്ള നിലവിലെ സമയത്തിന് അടുത്തുള്ള ബ്രാക്കറ്റുകളിൽ ഈ സമയം ദൃശ്യമാകുന്നു. ഏത് സെഗ്‌മെന്റുകളുടെയും മൈനസ് മൊത്തം വീഡിയോ ദൈർഘ്യം ഇത് കാണിക്കുന്നു. \"സീക്ക്ബാറിൽ കാണിക്കുക\" എന്ന് മാത്രം അടയാളപ്പെടുത്തിയ സെഗ്‌മെന്റുകൾ ഇതിൽ ഉൾപ്പെടുന്നു."
},
"youHaveSkipped": {
"message": "നിങ്ങൾ ഒഴിവാക്കി "
},
"minLower": {
"message": "മിനിറ്റ്"
},
"minsLower": {
"message": "മിനിറ്റ്"
},
"hourLower": {
"message": "മണിക്കൂർ"
},
"hoursLower": {
"message": "മണിക്കൂറുകൾ"
},
"youHaveSavedTime": {
"message": "നിങ്ങൾ ആളുകളെ സംരക്ഷിച്ചു",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " അവരുടെ ജീവിതത്തിന്റെ",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "സെർവർ നിലയ്ക്കായി status.sponsor.ajay.app പരിശോധിക്കുക."
},
"changeUserID": {
"message": "നിങ്ങളുടെ യൂസർ ഐഡി ഇറക്കുമതി ചെയ്യുക / കയറ്റുമതി ചെയ്യുക"
},
"setUserID": {
"message": "യൂസർ ഐഡി സജ്ജമാക്കുക"
},
"userIDChangeWarning": {
"message": "മുന്നറിയിപ്പ്: യൂസർ ഐഡി മാറ്റുന്നത് ശാശ്വതമാണ്. ഇത് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് ഉറപ്പാണോ? നിങ്ങളുടെ പഴയത് ബാക്കപ്പ് ചെയ്യുന്നത് ഉറപ്പാക്കുക."
},
"createdBy": {
"message": "ഉണ്ടാക്കിയത്"
},
"optionsInfo": {
"message": "ആക്രമണാത്മക പിന്തുണ പ്രാപ്തമാക്കുക, ഓട്ടോസ്കിപ്പ് അപ്രാപ്തമാക്കുക, ബട്ടണുകൾ മറയ്ക്കുക എന്നിവയും അതിലേറെയും."
},
"add": {
"message": "ചേർക്കുക"
},
"addInvidiousInstanceError": {
"message": "ഇതൊരു അസാധുവായ ഡൊമെയ്‌നാണ്. ഇതിൽ ഡൊമെയ്ൻ ഭാഗം ഉൾപ്പെടുത്തണം. ഉദാഹരണം: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "ആക്രമണാത്മക ഉദാഹരണ പട്ടിക പുന reset സജ്ജമാക്കുക"
},
"resetInvidiousInstanceAlert": {
"message": "നിങ്ങൾ ഇൻ‌വിഡിയസ് ഇൻസ്റ്റൻസ് ലിസ്റ്റ് പുന reset സജ്ജമാക്കാൻ പോകുന്നു"
},
"currentInstances": {
"message": "നിലവിലെ സംഭവങ്ങൾ:"
},
"minDuration": {
"message": "കുറഞ്ഞ ദൈർഘ്യം (സെക്കൻഡ്):"
},
"minDurationDescription": {
"message": "സെറ്റ് മൂല്യത്തേക്കാൾ കുറവുള്ള സെഗ്‌മെന്റുകൾ ഒഴിവാക്കുകയോ പ്ലെയറിൽ കാണിക്കുകയോ ചെയ്യില്ല."
},
"shortCheck": {
"message": "ഇനിപ്പറയുന്ന സമർപ്പിക്കൽ നിങ്ങളുടെ മിനിമം ദൈർഘ്യ ഓപ്‌ഷനേക്കാൾ ചെറുതാണ്. ഇത് ഇതിനകം സമർപ്പിച്ചുവെന്നും ഈ ഓപ്ഷൻ കാരണം അവഗണിക്കപ്പെടുന്നുവെന്നും ഇതിനർത്ഥം. സമർപ്പിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് ഉറപ്പാണോ?"
},
"showUploadButton": {
"message": "അപ്‌ലോഡ് ബട്ടൺ കാണിക്കുക"
},
"customServerAddress": {
"message": "സ്പോൺസർബ്ലോക്ക് സെർവർ വിലാസം"
},
"customServerAddressDescription": {
"message": "സെർവറിലേക്ക് കോളുകൾ ചെയ്യാൻ സ്പോൺസർബ്ലോക്ക് ഉപയോഗിക്കുന്ന വിലാസം.\nനിങ്ങൾക്ക് സ്വന്തമായി സെർവർ ഇൻസ്റ്റൻസ് ഇല്ലെങ്കിൽ, ഇത് മാറ്റാൻ പാടില്ല."
},
"save": {
"message": "രക്ഷിക്കും"
},
"reset": {
"message": "പുന et സജ്ജമാക്കുക"
},
"customAddressError": {
"message": "ഈ വിലാസം ശരിയായ രൂപത്തിലല്ല. നിങ്ങൾക്ക് തുടക്കത്തിൽ http: // അല്ലെങ്കിൽ https: // ഉണ്ടെന്നും പിന്നിൽ സ്ലാഷുകളൊന്നുമില്ലെന്നും ഉറപ്പാക്കുക."
},
"areYouSureReset": {
"message": "ഇത് പുന reset സജ്ജമാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com ഇപ്പോൾ പിന്തുണയ്ക്കുന്നു"
},
"exportOptions": {
"message": "എല്ലാ ഓപ്ഷനുകളും ഇറക്കുമതി ചെയ്യുക / കയറ്റുമതി ചെയ്യുക"
},
"whatExportOptions": {
"message": "JSON ലെ നിങ്ങളുടെ മുഴുവൻ കോൺഫിഗറേഷനും ഇതാണ്. ഇതിൽ നിങ്ങളുടെ യൂസർ ഐഡി ഉൾപ്പെടുന്നു, അതിനാൽ ഇത് വിവേകത്തോടെ പങ്കിടുന്നത് ഉറപ്പാക്കുക."
},
"setOptions": {
"message": "ഓപ്ഷനുകൾ സജ്ജമാക്കുക"
},
"exportOptionsWarning": {
"message": "മുന്നറിയിപ്പ്: ഓപ്ഷനുകൾ മാറ്റുന്നത് ശാശ്വതമായതിനാൽ നിങ്ങളുടെ ഇൻസ്റ്റാൾ തകർക്കാൻ കഴിയും. ഇത് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് ഉറപ്പാണോ? നിങ്ങളുടെ പഴയത് ബാക്കപ്പ് ചെയ്യുന്നത് ഉറപ്പാക്കുക."
},
"incorrectlyFormattedOptions": {
"message": "ഈ JSON ശരിയായി ഫോർമാറ്റ് ചെയ്തിട്ടില്ല. നിങ്ങളുടെ ഓപ്ഷനുകൾ മാറ്റിയിട്ടില്ല."
},
"confirmNoticeTitle": {
"message": "സെഗ്മെന്റ് സമർപ്പിക്കുക"
},
"submit": {
"message": "സമർപ്പിക്കുക"
},
"cancel": {
"message": "റദ്ദാക്കുക"
},
"delete": {
"message": "ഇല്ലാതാക്കുക"
},
"preview": {
"message": "പ്രിവ്യൂ"
},
"inspect": {
"message": "പരിശോധിക്കുക"
},
"edit": {
"message": "എഡിറ്റുചെയ്യുക"
},
"copyDebugInformation": {
"message": "ഡീബഗ് വിവരങ്ങൾ ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തുക"
},
"copyDebugInformationFailed": {
"message": "ക്ലിപ്പ്ബോർഡിലേക്ക് എഴുതുന്നതിൽ പരാജയപ്പെട്ടു"
},
"copyDebugInformationOptions": {
"message": "ഒരു ബഗ് ഉയർത്തുമ്പോൾ / ഒരു ഡവലപ്പർ ആവശ്യപ്പെടുമ്പോൾ ഒരു ഡവലപ്പർക്ക് നൽകേണ്ട വിവരങ്ങൾ ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തുന്നു. നിങ്ങളുടെ ഉപയോക്തൃ ഐഡി, വൈറ്റ്‌ലിസ്റ്റ് ചെയ്‌ത ചാനലുകൾ, ഇഷ്‌ടാനുസൃത സെർവർ വിലാസം എന്നിവ പോലുള്ള സെൻസിറ്റീവ് വിവരങ്ങൾ നീക്കംചെയ്‌തു. എന്നിരുന്നാലും നിങ്ങളുടെ ഉപയോഗശൂന്യമായ, ബ്ര browser സർ, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം, വിപുലീകരണ പതിപ്പ് നമ്പർ എന്നിവ പോലുള്ള വിവരങ്ങൾ ഇതിൽ അടങ്ങിയിരിക്കുന്നു. "
},
"copyDebugInformationComplete": {
"message": "ഡീബഗ് വിവരങ്ങൾ ക്ലിപ്പ് ബോർഡിലേക്ക് പകർത്തി. നിങ്ങൾ പങ്കിടാൻ ആഗ്രഹിക്കാത്ത ഏതെങ്കിലും വിവരങ്ങൾ നീക്കംചെയ്യാൻ മടിക്കേണ്ട. ഇത് ഒരു ടെക്സ്റ്റ് ഫയലിൽ സംരക്ഷിക്കുക അല്ലെങ്കിൽ ബഗ് റിപ്പോർട്ടിൽ ഒട്ടിക്കുക."
},
"to": {
"message": "ടു",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "സ്പോൺസർ"
},
"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": "ഇടവേള / ആമുഖ ആനിമേഷൻ"
},
"category_intro_description": {
"message": "യഥാർത്ഥ ഉള്ളടക്കമില്ലാത്ത ഇടവേള. ഒരു താൽക്കാലികമായി നിർത്താം, സ്റ്റാറ്റിക് ഫ്രെയിം, ആവർത്തിക്കുന്ന ആനിമേഷൻ. വിവരങ്ങൾ അടങ്ങിയ സംക്രമണങ്ങൾക്ക് ഇത് ഉപയോഗിക്കരുത്."
},
"category_intro_short": {
"message": "ഇടവേള"
},
"category_outro": {
"message": "എൻഡ്‌കാർഡുകൾ / ക്രെഡിറ്റുകൾ"
},
"category_outro_description": {
"message": "ക്രെഡിറ്റുകൾ അല്ലെങ്കിൽ YouTube എൻഡ്‌കാർഡുകൾ ദൃശ്യമാകുമ്പോൾ. വിവരങ്ങളുമായുള്ള നിഗമനങ്ങളിൽ അല്ല."
},
"category_music_offtopic": {
"message": "സംഗീതം: സംഗീതേതര വിഭാഗം"
},
"category_music_offtopic_description": {
"message": "സംഗീത വീഡിയോകളിൽ മാത്രം ഉപയോഗിക്കുന്നതിന് മാത്രം. ഇതിനകം മറ്റൊരു വിഭാഗത്തിൽ ഉൾപ്പെടാത്ത സംഗീത വീഡിയോകളുടെ വിഭാഗങ്ങൾക്കായി മാത്രമേ ഉപയോഗിക്കാവൂ."
},
"category_music_offtopic_short": {
"message": "നോൺ-മ്യൂസിക്"
},
"category_livestream_messages": {
"message": "ലൈവ്സ്ട്രീം: സംഭാവന / സന്ദേശ വായന"
},
"category_livestream_messages_short": {
"message": "സന്ദേശ വായന"
},
"autoSkip": {
"message": "യാന്ത്രിക ഒഴിവാക്കുക"
},
"manualSkip": {
"message": "സ്വമേധയാലുള്ള ഒഴിവാക്കൽ"
},
"showOverlay": {
"message": "സീക്ക് ബാറിൽ കാണിക്കുക"
},
"disable": {
"message": "പ്രവർത്തനരഹിതമാക്കുക"
},
"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": "മറഞ്ഞിരിക്കുന്നു: വളരെ ചെറുതാണ്"
},
"forceChannelCheck": {
"message": "ഒഴിവാക്കുന്നതിനുമുമ്പ് ചാനൽ പരിശോധന നിർബന്ധിക്കുക"
},
"whatForceChannelCheck": {
"message": "സ്ഥിരസ്ഥിതിയായി, ചാനൽ എന്താണെന്ന് അറിയുന്നതിന് മുമ്പായി അത് സെഗ്‌മെന്റുകൾ ഉടൻ തന്നെ ഒഴിവാക്കും. സ്ഥിരസ്ഥിതിയായി, വീഡിയോയുടെ തുടക്കത്തിലെ ചില സെഗ്‌മെന്റുകൾ വൈറ്റ്‌ലിസ്റ്റ് ചെയ്‌ത ചാനലുകളിൽ ഒഴിവാക്കാം. ഈ ഓപ്‌ഷൻ പ്രവർത്തനക്ഷമമാക്കുന്നത് ഇത് തടയും എന്നാൽ ചാനൽ ഐഡി ലഭിക്കാൻ കുറച്ച് സമയമെടുക്കുന്നതിനാൽ എല്ലാ ഒഴിവാക്കലിനും ചെറിയ കാലതാമസം നേരിടുന്നു. നിങ്ങൾക്ക് വേഗതയേറിയ ഇന്റർനെറ്റ് ഉണ്ടെങ്കിൽ ഈ കാലതാമസം ശ്രദ്ധിക്കപ്പെടില്ല."
},
"forceChannelCheckPopup": {
"message": "\"ഒഴിവാക്കുന്നതിനുമുമ്പ് ഫോഴ്‌സ് ചാനൽ പരിശോധന\" പ്രവർത്തനക്ഷമമാക്കുന്നത് പരിഗണിക്കുക"
},
"downvoteDescription": {
"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": "ആമുഖങ്ങൾ, ഉൽ‌പ്പന്നങ്ങൾ‌, ചരക്കുകൾ‌ മുതലായവ ഒഴിവാക്കുന്നതിനുള്ള ഓപ്ഷനുകൾ‌ തുറക്കുക."
}
}

View File

@@ -1 +0,0 @@
{}

View File

@@ -1,551 +0,0 @@
{
"fullName": {
"message": "SponsorBlock untuk YouTube - Lewati Sponsor",
"description": "Name of the extension."
},
"Description": {
"message": "Lewati sponsor, meminta subscriber dan lain-lain di video YouTube. Laporkan sponsor di video yang anda tonton untuk menghemat waktu orang lain.",
"description": "Description of the extension."
},
"400": {
"message": "Pelayan mengatakan permintaan ini tidak sah"
},
"429": {
"message": "Anda telah menghantar terlalu banyak masa penaja untuk video yang satu ini, adakah anda pasti ada banyak ini?"
},
"409": {
"message": "Perkara ini telah dikemukakan sebelumnya"
},
"channelWhitelisted": {
"message": "Saluran Senarai Putih!"
},
"Segment": {
"message": "segmen"
},
"Segments": {
"message": "segmen"
},
"upvoteButtonInfo": {
"message": "Sokong penyerahan ini"
},
"reportButtonTitle": {
"message": "Lapor"
},
"reportButtonInfo": {
"message": "Laporkan penyerahan ini sebagai tidak betul."
},
"Dismiss": {
"message": "Ketepikan"
},
"Loading": {
"message": "Memuat..."
},
"Hide": {
"message": "Jangan Tunjukkan"
},
"hitGoBack": {
"message": "Tekan langgan untuk sampai ke tempat asal anda."
},
"unskip": {
"message": "Hentikan"
},
"reskip": {
"message": "Reskip"
},
"paused": {
"message": "Dijeda"
},
"manualPaused": {
"message": "Pemasa Berhenti"
},
"confirmMSG": {
"message": "Untuk mengedit atau menghapus nilai individu, klik butang maklumat atau buka pop timbul pelanjutan dengan mengklik ikon pelanjutan di sudut kanan atas."
},
"clearThis": {
"message": "Adakah anda pasti mahu membersihkannya?\n\n"
},
"Unknown": {
"message": "Terdapat kesalahan semasa menghantar masa penaja anda, sila cuba sebentar lagi."
},
"sponsorFound": {
"message": "Video ini mempunyai segmen dalam pangkalan data!"
},
"sponsor404": {
"message": "Tidak terdapat segmen"
},
"sponsorStart": {
"message": "Segmen Bermula Sekarang"
},
"sponsorEnd": {
"message": "Segmen Berakhir Sekarang"
},
"noVideoID": {
"message": "Tiada video YouTube dijumpai.\nSekiranya ini tidak betul, muat semula tab."
},
"success": {
"message": "Berjaya!"
},
"voted": {
"message": "Mengundi!"
},
"serverDown": {
"message": "Nampaknya pelayan tidak berfungsi. Segera hubungi dev."
},
"connectionError": {
"message": "Ralat sambungan telah berlaku. Kod salah: "
},
"clearTimes": {
"message": "Kosongkan Segmen"
},
"openPopup": {
"message": "Buka Pop timbul PenajaBlokir"
},
"closePopup": {
"message": "Tutup Pop timbul"
},
"SubmitTimes": {
"message": "Hantar Segmen"
},
"submitCheck": {
"message": "Adakah anda pasti mahu menghantarnya?"
},
"whitelistChannel": {
"message": "Saluran senarai putih"
},
"removeFromWhitelist": {
"message": "Alih keluar saluran dari senarai putih"
},
"voteOnTime": {
"message": "Undi Segmen"
},
"Submissions": {
"message": "Penyerahan"
},
"savedPeopleFrom": {
"message": "Anda telah menyelamatkan orang dari "
},
"viewLeaderboard": {
"message": "Papan pendahulu"
},
"recordTimesDescription": {
"message": "Hantar"
},
"submissionEditHint": {
"message": "Penyuntingan bahagian akan muncul setelah anda mengklik hantar",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Petunjuk: Anda boleh menetapkan kunci untuk dihantar dalam pilihan"
},
"clearTimesButton": {
"message": "Jelas Masa"
},
"submitTimesButton": {
"message": "Hantar Masa"
},
"publicStats": {
"message": "Ini digunakan di halaman statistik awam untuk menunjukkan berapa banyak yang anda sumbangkan. Lihatlah"
},
"Username": {
"message": "Nama pengguna"
},
"setUsername": {
"message": "Tetapkan Nama Pengguna"
},
"discordAdvert": {
"message": "Mari sertai pelayan perselisihan rasmi untuk memberi cadangan dan maklum balas!"
},
"hideThis": {
"message": "Sembunyikan ini"
},
"Options": {
"message": "Pilihan"
},
"showButtons": {
"message": "Tunjukkan Butang Pada Pemain YouTube"
},
"hideButtons": {
"message": "Sembunyikan Butang Pada Pemain YouTube"
},
"hideButtonsDescription": {
"message": "Ini menyembunyikan butang yang muncul di pemain YouTube untuk menyerahkan segmen langkau."
},
"showInfoButton": {
"message": "Tunjukkan Butang Maklumat Pada Pemain YouTube"
},
"hideInfoButton": {
"message": "Sembunyikan Butang Maklumat Pada Pemain YouTube"
},
"hideDeleteButton": {
"message": "Sembunyikan Butang Padam Pada Pemain YouTube"
},
"showDeleteButton": {
"message": "Tunjukkan Butang Padam Pada Pemain YouTube"
},
"enableViewTracking": {
"message": "Dayakan Skip Count Tracking"
},
"whatViewTracking": {
"message": "Fungsi ini mengesan segmen mana yang telah anda lewati untuk memberi tahu pengguna seberapa banyak penyerahan mereka telah membantu orang lain dan digunakan sebagai metrik bersama dengan suara positif untuk memastikan bahawa spam tidak masuk ke dalam pangkalan data. Sambungan tersebut menghantar mesej ke pelayan setiap kali anda melewatkan segmen. Mudah-mudahan kebanyakan orang tidak mengubah tetapan ini supaya nombor paparan tepat. :)"
},
"enableQueryByHashPrefix": {
"message": "Pertanyaan Oleh Awalan Hash"
},
"whatQueryByHashPrefix": {
"message": "Daripada meminta segmen dari pelayan menggunakan videoID, 4 watak pertama hash videoID dihantar. Pelayan ini akan menghantar kembali data untuk semua video dengan hash yang serupa."
},
"enableRefetchWhenNotFound": {
"message": "Perbaharui Segmen Pada Video Baru"
},
"whatRefetchWhenNotFound": {
"message": "Sekiranya videonya baru, dan tidak ada segmen yang dijumpai, video akan terus diambil setiap beberapa minit semasa anda menonton."
},
"showNotice": {
"message": "Tunjukkan Notis Lagi"
},
"showSkipNotice": {
"message": "Tunjukkan Makluman Setelah Segmen Dilangkau"
},
"longDescription": {
"message": "SponsorBlock membolehkan anda melewati penaja, intro, outro, peringatan langganan, dan bahagian lain dari video YouTube yang menjengkelkan. SponsorBlock adalah pelanjutan penyemak imbas yang banyak untuk membolehkan sesiapa sahaja menghantar segmen tajaan dan masa tayangan dari segmen video YouTube yang lain. Setelah satu orang menyerahkan maklumat ini, semua orang yang mempunyai pelanjutan ini akan melangkau segmen yang ditaja. Anda juga boleh melangkau bahagian muzik video muzik bukan.",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "Laman web",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Kod sumber",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "Notis telah ditingkatkan!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Sekiranya anda masih tidak menyukainya, tekan butang jangan tunjukkan.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"0": {
"message": "Masa sambungan telah tamat. Periksa sambungan internet anda. Sekiranya internet anda berfungsi, pelayan mungkin berlebihan atau tidak berfungsi."
},
"disableSkipping": {
"message": "Melangkau diaktifkan"
},
"enableSkipping": {
"message": "Melangkau dilumpuhkan"
},
"yourWork": {
"message": "Kerja awak",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "Pelayan nampaknya berlebihan. Cuba lagi dalam beberapa saat."
},
"errorCode": {
"message": "Kod ralat: "
},
"skip": {
"message": "Langkau"
},
"skip_category": {
"message": "Langkau {0}?"
},
"disableAutoSkip": {
"message": "Lumpuhkan Langkau Auto"
},
"enableAutoSkip": {
"message": "Dayakan Langkau Auto"
},
"audioNotification": {
"message": "Pemberitahuan Audio Semasa Langkau"
},
"audioNotificationDescription": {
"message": "Pemberitahuan audio di langkau akan memainkan suara setiap kali segmen dilangkau. Sekiranya dilumpuhkan (atau langkau automatik dinonaktifkan), suara tidak akan dimainkan."
},
"showTimeWithSkips": {
"message": "Tunjukkan Masa Dengan Langkau Dihapus"
},
"showTimeWithSkipsDescription": {
"message": "Kali ini muncul dalam tanda kurung di sebelah waktu semasa di bawah bar carian. Ini menunjukkan jumlah durasi video tolak segmen mana pun. Ini merangkumi segmen yang ditandai sebagai \"Show In Seekbar\" sahaja."
},
"youHaveSkipped": {
"message": "Anda telah melangkau "
},
"minLower": {
"message": "minit"
},
"minsLower": {
"message": "minit"
},
"hourLower": {
"message": "jam"
},
"hoursLower": {
"message": "jam"
},
"youHaveSavedTime": {
"message": "Anda telah menyelamatkan orang",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " kehidupan mereka",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Periksa status.sponsor.ajay.app untuk status pelayan."
},
"changeUserID": {
"message": "Import / Eksport Id Pengguna Anda"
},
"setUserID": {
"message": "Tetapkan Id Pengguna"
},
"userIDChangeWarning": {
"message": "Amaran: Mengubah UserID adalah kekal. Adakah anda pasti mahu melakukan ini? Pastikan untuk membuat sandaran lama anda sekiranya berlaku."
},
"createdBy": {
"message": "Dicipta oleh"
},
"optionsInfo": {
"message": "Dayakan sokongan Invidious, lumpuhkan autoskip, sembunyikan butang dan banyak lagi."
},
"add": {
"message": "Tambah"
},
"addInvidiousInstanceError": {
"message": "Ini adalah domain yang tidak sah. Ini mesti HANYA merangkumi bahagian domain. Contoh: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Tetapkan semula Senarai Instance Invidious yang Tidak Diingini"
},
"resetInvidiousInstanceAlert": {
"message": "Anda akan menetapkan semula senarai contoh Invidious"
},
"currentInstances": {
"message": "Contoh Semasa:"
},
"minDuration": {
"message": "Tempoh minimum (saat):"
},
"minDurationDescription": {
"message": "Segmen yang lebih pendek daripada nilai yang ditetapkan tidak akan dilangkau atau ditunjukkan dalam pemain."
},
"shortCheck": {
"message": "Penyerahan berikut lebih pendek daripada pilihan tempoh minimum anda. Ini mungkin bermaksud ini sudah dihantar, dan hanya diabaikan kerana pilihan ini. Adakah anda pasti mahu menghantar?"
},
"showUploadButton": {
"message": "Tunjukkan Butang Muat Naik"
},
"customServerAddress": {
"message": "Alamat Pelayan Sponsorblock"
},
"customServerAddressDescription": {
"message": "Alamat yang digunakan SponsorBlock untuk membuat panggilan ke pelayan.\nKecuali anda mempunyai contoh pelayan anda sendiri, ini tidak boleh diubah."
},
"save": {
"message": "Simpan"
},
"reset": {
"message": "Tetapkan semula"
},
"customAddressError": {
"message": "Alamat ini tidak dalam bentuk yang betul. Pastikan anda mempunyai http: // atau https: // pada awalnya dan tiada garis miring."
},
"areYouSureReset": {
"message": "Adakah anda pasti mahu menetapkan semula ini?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com kini disokong"
},
"exportOptions": {
"message": "Import / Eksport Semua Pilihan"
},
"whatExportOptions": {
"message": "Ini adalah keseluruhan konfigurasi anda di JSON. Ini termasuk ID pengguna anda, jadi pastikan untuk membagikannya dengan bijak."
},
"setOptions": {
"message": "Tetapkan Pilihan"
},
"exportOptionsWarning": {
"message": "Amaran: Mengubah pilihan adalah kekal dan boleh menghentikan pemasangan anda. Adakah anda pasti mahu melakukan ini? Pastikan untuk membuat sandaran lama anda sekiranya berlaku."
},
"incorrectlyFormattedOptions": {
"message": "JSON ini tidak diformat dengan betul. Pilihan anda belum diubah."
},
"confirmNoticeTitle": {
"message": "Hantar Segmen"
},
"submit": {
"message": "Hantar"
},
"cancel": {
"message": "Batal"
},
"delete": {
"message": "Padam"
},
"preview": {
"message": "Pratonton"
},
"inspect": {
"message": "Periksa"
},
"edit": {
"message": "Sunting"
},
"copyDebugInformation": {
"message": "Salin Maklumat Debug Ke Papan Keratan"
},
"copyDebugInformationFailed": {
"message": "Gagal menulis ke papan keratan"
},
"copyDebugInformationOptions": {
"message": "Menyalin maklumat ke papan keratan untuk diberikan kepada pembangun semasa menaikkan pepijat / ketika pembangun memintanya. Maklumat sensitif seperti ID pengguna anda, saluran dalam senarai putih, dan alamat pelayan tersuai telah dikeluarkan. Namun, ia mengandungi maklumat seperti agen pengguna, penyemak imbas, sistem operasi, dan nombor versi pelanjutan anda. "
},
"copyDebugInformationComplete": {
"message": "Maklumat debug telah disalin ke papan klip. Jangan ragu untuk membuang maklumat yang anda tidak mahu kongsi Simpan ini dalam fail teks atau tampal ke laporan pepijat."
},
"to": {
"message": "ke",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Penaja"
},
"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"
},
"category_intro_description": {
"message": "Selang tanpa kandungan sebenar. Boleh jadi jeda, bingkai statik, mengulangi animasi. Ini tidak boleh digunakan untuk peralihan yang mengandungi maklumat."
},
"category_intro_short": {
"message": "Selang"
},
"category_outro": {
"message": "Kad Akhir / Kredit"
},
"category_outro_description": {
"message": "Kredit atau ketika kad akhir YouTube muncul. Bukan untuk kesimpulan dengan maklumat."
},
"category_music_offtopic": {
"message": "Muzik: Bahagian Bukan Muzik"
},
"category_music_offtopic_description": {
"message": "Hanya untuk digunakan dalam video muzik. Ini hanya harus digunakan untuk bahagian video muzik yang belum dilindungi oleh kategori lain."
},
"category_music_offtopic_short": {
"message": "Bukan Muzik"
},
"category_livestream_messages": {
"message": "Strim Langsung: Bacaan Derma / Mesej"
},
"category_livestream_messages_short": {
"message": "Bacaan Mesej"
},
"autoSkip": {
"message": "Langkau Auto"
},
"manualSkip": {
"message": "Langkau Manual"
},
"showOverlay": {
"message": "Tunjukkan Di Bar Mencari"
},
"disable": {
"message": "Nyahaktifkan"
},
"seekBarColor": {
"message": "Cari Warna Bar"
},
"category": {
"message": "Kategori"
},
"skipOption": {
"message": "Langkau Pilihan",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Dayakan Pelayan Pengujian Beta"
},
"whatEnableTestingServer": {
"message": "Penyerahan dan undian anda TIDAK AKAN DITUNTUT ke pelayan utama. Gunakan ini hanya untuk ujian."
},
"testingServerWarning": {
"message": "Semua penyerahan dan undian TIDAK AKAN DITETAPKAN ke pelayan utama semasa menyambung ke pelayan ujian. Pastikan untuk melumpuhkan ini semasa anda ingin membuat penghantaran sebenar."
},
"bracketNow": {
"message": "(Sekarang)"
},
"moreCategories": {
"message": "Lebih banyak kategori"
},
"chooseACategory": {
"message": "Pilih Kategori"
},
"enableThisCategoryFirst": {
"message": "Untuk menghantar segmen dengan kategori \"{0}\", anda mesti mengaktifkannya dalam pilihan. Anda akan diarahkan ke pilihan sekarang.",
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
},
"youMustSelectACategory": {
"message": "Anda mesti memilih kategori untuk semua segmen yang anda kirimkan!"
},
"bracketEnd": {
"message": "(Tamat)"
},
"hiddenDueToDownvote": {
"message": "tersembunyi: undi"
},
"hiddenDueToDuration": {
"message": "tersembunyi: terlalu pendek"
},
"forceChannelCheck": {
"message": "Pakai Pemeriksaan Saluran Sebelum Melangkau"
},
"whatForceChannelCheck": {
"message": "Secara lalai, ia akan melangkau segmen dengan segera sebelum mengetahui saluran itu. Secara lalai, beberapa segmen pada permulaan video mungkin dilangkau pada saluran yang disenaraikan. Mengaktifkan pilihan ini akan mengelakkannya tetapi membuat semua melangkau sedikit kelewatan kerana mendapatkan saluran Id memerlukan sedikit masa. Kelewatan ini mungkin tidak dapat dilihat jika anda mempunyai internet yang pantas."
},
"forceChannelCheckPopup": {
"message": "Pertimbangkan untuk Mengaktifkan \"Paksa Pemeriksaan Saluran Sebelum Melangkau\""
},
"downvoteDescription": {
"message": "Pemasaan Tidak Betul / Salah"
},
"nonMusicCategoryOnMusic": {
"message": "Video ini dikategorikan sebagai muzik. Adakah anda pasti ini mempunyai penaja? Sekiranya ini sebenarnya adalah \"Segmen Bukan Muzik\", buka pilihan peluasan dan aktifkan kategori ini. Kemudian, anda boleh menghantar segmen ini sebagai \"Bukan Muzik\" dan bukannya penaja. Sila baca panduan sekiranya anda keliru."
},
"multipleSegments": {
"message": "Pelbagai Segmen"
},
"guidelines": {
"message": "Garis Panduan"
},
"readTheGuidelines": {
"message": "Baca Garis Panduan!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Kategori ada di sini!"
},
"categoryUpdate2": {
"message": "Buka pilihan untuk melangkau perkenalan, pengeluaran luar, barang dagangan, dll."
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,915 +0,0 @@
{
"fullName": {
"message": "SponsorBlock for YouTube - Hopp over sponsinger",
"description": "Name of the extension."
},
"Description": {
"message": "Hopp over sponsinger, abonnementstigging og mer på YouTube-videoer. Rapporter inn sponsorer på videoer du ser på for å spare andre sin tid.",
"description": "Description of the extension."
},
"400": {
"message": "Tjeneren sa at denne forespørselen var ugyldig"
},
"429": {
"message": "Du har sendt inn for mange sponsortidspunkter på denne ene videoen, er du sikker på at det er såpass mange?"
},
"409": {
"message": "Dette har allerede blitt sendt inn tidligere"
},
"channelWhitelisted": {
"message": "Kanalen ble hvitelistet!"
},
"Segment": {
"message": "segment"
},
"Segments": {
"message": "segmenter"
},
"upvoteButtonInfo": {
"message": "Gi plusstemme til denne innsendingen"
},
"reportButtonTitle": {
"message": "Rapporter"
},
"reportButtonInfo": {
"message": "Rapporter inn denne innsendingen som en feil."
},
"Dismiss": {
"message": "Lukk"
},
"Loading": {
"message": "Laster..."
},
"Hide": {
"message": "Aldri vis"
},
"hitGoBack": {
"message": "Klikk \"Angre hopp\" for å gå til dit du hoppet fra."
},
"unskip": {
"message": "Angre hopp"
},
"reskip": {
"message": "Hopp igjen"
},
"unmute": {
"message": "Lyd"
},
"paused": {
"message": "På pause"
},
"manualPaused": {
"message": "Tidtaker stoppet"
},
"confirmMSG": {
"message": "For å redigere eller slette individuelle verdier, klikk på infoknappen eller åpne utvidelsens oppsprett ved å klikke på utvidelsesikonet i øvre høyre hjørne."
},
"clearThis": {
"message": "Er du sikker på at du vil tømme dette?\n\n"
},
"Unknown": {
"message": "Det oppstod en feil under innsending av sponsortidene dine, vennligst prøv igjen senere."
},
"sponsorFound": {
"message": "Denne videoen har segmenter i databasen!"
},
"sponsor404": {
"message": "Ingen segmenter ble funnet"
},
"sponsorStart": {
"message": "Segmentet starter nå"
},
"sponsorEnd": {
"message": "Segmentet slutter nå"
},
"sponsorCancel": {
"message": "Avbryt opprettelse av segment"
},
"noVideoID": {
"message": "Ingen YouTube-video ble funnet.\nHvis dette er feil, oppfrisk fanen."
},
"refreshSegments": {
"message": "Oppdater segmenter"
},
"success": {
"message": "Suksess!"
},
"voted": {
"message": "Du har stemt!"
},
"serverDown": {
"message": "Det ser ut til at tjeneren er nede. Kontakt utvikleren umiddelbart."
},
"connectionError": {
"message": "En tilkoblingsfeil har oppstått. Feilkode: "
},
"clearTimes": {
"message": "Tøm segmenter"
},
"openPopup": {
"message": "Åpne SponsorBlock-oppsprett"
},
"closePopup": {
"message": "Lukk oppsprett"
},
"SubmitTimes": {
"message": "Send inn segmenter"
},
"submitCheck": {
"message": "Er du sikker på at du vil sende inn dette?"
},
"whitelistChannel": {
"message": "Hvitelist kanalen"
},
"removeFromWhitelist": {
"message": "Fjern kanalen fra hvitelisten"
},
"voteOnTime": {
"message": "Stem på et segment"
},
"Submissions": {
"message": "Innsendinger"
},
"savedPeopleFrom": {
"message": "Du har spart folk fra "
},
"viewLeaderboard": {
"message": "Toppliste"
},
"recordTimesDescription": {
"message": "Send"
},
"submissionEditHint": {
"message": "Seksjonsredigering vil dukke opp etter at du har klikket på «Send inn»",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Hint: Du kan sette opp hurtigtaster for innsending i innstillingene"
},
"clearTimesButton": {
"message": "Tøm tidspunkter"
},
"submitTimesButton": {
"message": "Send inn tidspunkter"
},
"publicStats": {
"message": "Dette brukes på den offentlige statistikksiden for å vise hvor mye du har bidratt med. Se den"
},
"Username": {
"message": "Brukernavn"
},
"setUsername": {
"message": "Angi brukernavn"
},
"copyPublicID": {
"message": "Kopiér offentlig bruker-ID"
},
"discordAdvert": {
"message": "Bli med i den offisielle Discord-tjeneren for å gi forslag og tilbakemeldinger!"
},
"hideThis": {
"message": "Skjul dette"
},
"Options": {
"message": "Valg"
},
"showButtons": {
"message": "Vis knapper på YouTube-avspilleren"
},
"hideButtons": {
"message": "Skjul knapper på YouTube-avspilleren"
},
"hideButtonsDescription": {
"message": "Dette skjuler knappene som dukker opp på YouTube-avspilleren for å sende inn hoppesegmenter."
},
"showSkipButton": {
"message": "Behold Hopp til høydepunkt-knappen på avspilleren"
},
"showInfoButton": {
"message": "Vis infoknappen på YouTube-avspilleren"
},
"hideInfoButton": {
"message": "Skjul infoknappen på YouTube-avspilleren"
},
"autoHideInfoButton": {
"message": "Skjul infoknappen automatisk"
},
"hideDeleteButton": {
"message": "Skjul Slett-knappen på YouTube-avspilleren"
},
"showDeleteButton": {
"message": "Vis Slett-knappen på YouTube-avspilleren"
},
"enableViewTracking": {
"message": "Skru på telling av hopp"
},
"whatViewTracking": {
"message": "Denne funksjonen sporer hvilke segmenter du har hoppet over, sånn at brukere vet hvor mye bidragene deres har hjulpet andre, og brukes som et målesystem sammen med plusstemmer for å sikre at spam ikke kommer inn i databasen. Utvidelsen sender en melding til tjeneren hver gang du hopper over et segment. Forhåpentligvis endrer ikke de fleste folk på denne innstillingene, sånn at visningstallene er nøyaktige. :)"
},
"enableViewTrackingInPrivate": {
"message": "Aktiver telling av antall hopp i privat/inkognito-faner"
},
"enableQueryByHashPrefix": {
"message": "Forespør ut i fra saltings-prefiks"
},
"whatQueryByHashPrefix": {
"message": "I stedet for å forespørre segmenter fra tjeneren ut i fra video-ID-en, blir de første 4 tegnene i saltingskoden til video-ID-en sendt. Denne tjeneren vil svare tilbake med data for alle videoer med lignende saltingskoder."
},
"enableRefetchWhenNotFound": {
"message": "Innhent segmenter i nye videoer på nytt"
},
"whatRefetchWhenNotFound": {
"message": "Hvis videoen er ny, og ingen segmenter ble funnet, vil den forsøke å innhente på nytt med noen minutters mellomrom mens du ser på videoen."
},
"showNotice": {
"message": "Vis varselet igjen"
},
"showSkipNotice": {
"message": "Vis varsel etter at et segment har blitt hoppet over"
},
"noticeVisibilityMode0": {
"message": "Hopp over-varsel i full størrelse"
},
"noticeVisibilityMode1": {
"message": "Små hopp over-varsler for autohopp"
},
"noticeVisibilityMode2": {
"message": "Alle små hopp over-varsler"
},
"noticeVisibilityMode3": {
"message": "Tonet hopp over-varsel for autohopp"
},
"noticeVisibilityMode4": {
"message": "Alle tonede hopp over-varsler"
},
"longDescription": {
"message": "SponsorBlock lar deg hoppe over sponsorer, introer, outro-er, abonnementspåminnelser, og andre irriterende deler av YouTube-videoer. SponsorBlock er en fellesskapsdrevet nettleserutvidelser som lar alle sende inn start- og sluttidspunktene til sponsede segmenter og andre segmenter i YouTube-videoer. Når en person sender inn denne informasjonen, vil alle andre med denne utvidelsen hoppe rett over det sponsede segmentet. Du kan også hoppe over ikke-musikk-seksjoner i musikkvideoer.",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "Nettsted",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Kildekode",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "Varselet har blitt oppgradert!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Hvis du fortsatt ikke liker det, klikk på «Aldri vis»-knappen.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setSkipShortcut": {
"message": "Hopp over segment",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "Start/stopp segment",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "Send inn segmenter",
"description": "Keybind label"
},
"keybindDescription": {
"message": "Velg en tast ved å trykke på den, velg deretter hvilke modifikasjonstaster du ønsker å bruke."
},
"0": {
"message": "Tidsavbrudd for tilkobling. Sjekk internettilkoblingen din. Hvis internettet ditt virker, er tjeneren sannsynligvis overbelastet eller nede."
},
"disableSkipping": {
"message": "Hopping er skrudd på"
},
"enableSkipping": {
"message": "Hopping er skrudd av"
},
"yourWork": {
"message": "Arbeidet ditt",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "Tjeneren ser ut til å være overbelastet. Prøv igjen om noen sekunder."
},
"errorCode": {
"message": "Feilkode: "
},
"skip": {
"message": "Hopp over"
},
"mute": {
"message": "Lydløs"
},
"full": {
"message": "Full video",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Vil du hoppe over {0}?"
},
"mute_category": {
"message": "Gjør {0} lydløs?"
},
"skip_to_category": {
"message": "Hopp til {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} hoppet over",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} lydløs",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "Hoppet til {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "Skru av autohopping"
},
"enableAutoSkip": {
"message": "Skru på autohopping"
},
"audioNotification": {
"message": "Lydvarsel ved hopp"
},
"audioNotificationDescription": {
"message": "Lydvarsling ved hopp vil spille av en lyd når enn et segment blir hoppet over. Hvis det er skrudd av (eller at autohopping er skrudd av), vil det ikke bli spilt av en slik lyd."
},
"showTimeWithSkips": {
"message": "Vis tiden der hoppene er trukket fra"
},
"showTimeWithSkipsDescription": {
"message": "Denne tiden vises i parentes ved siden av den nåværende tiden under tidsstripen. Dette viser den totale videolengden minus evt. segmenter. Dette inkluderer segmenter som kun er markert som «Vis i tidsstripen»."
},
"youHaveSkipped": {
"message": "Du har hoppet over "
},
"minLower": {
"message": "minutt"
},
"minsLower": {
"message": "minutter"
},
"hourLower": {
"message": "time"
},
"hoursLower": {
"message": "timer"
},
"youHaveSavedTime": {
"message": "Du har spart folk for",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": "av sine liv",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Sjekk status.sponsor.ajay.app for tjenerstatus."
},
"changeUserID": {
"message": "Importer/Eksporter din bruker-ID"
},
"whatChangeUserID": {
"message": "Dette bør holdes privat. Det er som et passord og bør ikke deles med noen. Hvis noen har dette kan de utgi seg som deg. Hvis du leter etter din offentlige bruker-ID, klikker du på utklippstavlen i oppsprettsvinduet."
},
"setUserID": {
"message": "Angi bruker-ID"
},
"userIDChangeWarning": {
"message": "Advarsel: Å endre bruker-ID-en din er permanent. Er du sikker på at du vil gjøre dette? Sørg for å ta sikkerhetskopi av din gamle for sikkerhets skyld."
},
"createdBy": {
"message": "Opprettet av"
},
"supportOtherSites": {
"message": "Støtt tredjeparts YouTube-nettsteder"
},
"supportOtherSitesDescription": {
"message": "Støtt tredjeparts YouTube-klienter. For å aktivere støtte må du akseptere ytterlige vilkår. Dette fungerer IKKE i inkognitomodus i Chrome og andre Chromium-varianter.",
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
},
"supportedSites": {
"message": "Støttede nettsteder: "
},
"optionsInfo": {
"message": "Skru på Invidious-støtte, skru av autohopp, skjul knapper, og mer."
},
"addInvidiousInstance": {
"message": "Legg til tredjeparts klientinstans"
},
"addInvidiousInstanceDescription": {
"message": "Legg til en egendefinert instans. Den må formatteres med KUN domenet. Eksempel: invidious.ajay.app"
},
"add": {
"message": "Legg til"
},
"addInvidiousInstanceError": {
"message": "Dette er et ugyldig domene. Dette skal BARE inkludere domenedelen. Eksempel: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Tilbakestill Invidious-instansliste"
},
"resetInvidiousInstanceAlert": {
"message": "Du er i ferd med å tilbakestille Invidious-instanslisten"
},
"currentInstances": {
"message": "Gjeldende instanser:"
},
"minDuration": {
"message": "Minimumsvarighet (i sekunder):"
},
"minDurationDescription": {
"message": "Segmenter som er kortere enn den valgte verdien, vil ikke bli hoppet over eller vises i avspilleren."
},
"skipNoticeDuration": {
"message": "Varighet for hopp over-varsel (sekunder):"
},
"skipNoticeDurationDescription": {
"message": "Hopp over-varselet vil bli værende på skjermen i minst så mange sekunder. For manuell hopping kan det være synlig lenger."
},
"shortCheck": {
"message": "Den følgende innsendingen er kortere enn din valgte minimumsvarighetsinnstilling. Dette kan bety at den allerede er sendt inn, og at den simpelthen blir ignorert på grunn av denne innstillingen. Er du sikker på at du vil sende den inn?"
},
"liveOrPremiere": {
"message": "Innsendelse på en aktiv direktesending eller premiere er ikke tillatt. Vennligst vent til den er ferdig, last så siden på nytt og kontroller at segmentene fortsatt er gyldige."
},
"showUploadButton": {
"message": "Vis opplastingsknapp"
},
"customServerAddress": {
"message": "SponsorBlock-tjeneradresse"
},
"customServerAddressDescription": {
"message": "Adressen som SponsorBlock bruker til å kalle på tjeneren.\nMed mindre du har din egen tjenerinstans, burde du ikke endre på det."
},
"save": {
"message": "Lagre"
},
"reset": {
"message": "Nullstill"
},
"customAddressError": {
"message": "Adressen har ikke riktig format. Sørg for at du har https:// eller http:// i starten, og at det ikke slutter med en skråstrek."
},
"areYouSureReset": {
"message": "Er du sikker på at du vil tilbakestille dette?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com er nå støttet"
},
"exportOptions": {
"message": "Importer/Eksporter alle innstillinger"
},
"exportOptionsCopy": {
"message": "Rediger/kopiér"
},
"exportOptionsDownload": {
"message": "Lagre til fil"
},
"exportOptionsUpload": {
"message": "Last fra fil"
},
"whatExportOptions": {
"message": "Dette er hele oppsettet ditt i JSON. Det inkluderer bruker-ID-en din, så sørg for å være beskjeden med å dele det."
},
"setOptions": {
"message": "Angi innstillinger"
},
"exportOptionsWarning": {
"message": "Advarsel: Å endre på innstillingene er permanent og kan knekke installasjonen din. Er du sikker på at du vil gjøre dette? Sørg for å ta sikkerhetskopi av de gamle for sikkerhets skyld."
},
"incorrectlyFormattedOptions": {
"message": "Denne JSON-koden er ikke formattert riktig. Dine innstillinger har ikke blitt endret på."
},
"confirmNoticeTitle": {
"message": "Send inn segment"
},
"submit": {
"message": "Send"
},
"cancel": {
"message": "Avbryt"
},
"delete": {
"message": "Slett"
},
"preview": {
"message": "Forhåndsvisning"
},
"unsubmitted": {
"message": "Ikke innsendt"
},
"inspect": {
"message": "Inspiser"
},
"edit": {
"message": "Rediger "
},
"copyDebugInformation": {
"message": "Kopier avlusingsinformasjon til utklippstavlen"
},
"copyDebugInformationFailed": {
"message": "Klarte ikke å skrive til utklippstavlen"
},
"copyDebugInformationOptions": {
"message": "Kopierer informasjon til utklippstavlen som skal gis til en utvikler i feilrapporter eller når en utvikler ber om det. Sensitiv informasjon som bruker-ID-en din, hvitelistede kanaler, og tilpassede tjeneradresser har blitt fjernet. Men det inneholder informasjon som brukeragenten din, nettleseren, operativsystemet, og utvidelsesversjonsnummeret. "
},
"copyDebugInformationComplete": {
"message": "Avlusingsinformasjonen har blitt kopiert til utklippstavlen. Du er velkommen til å fjerne det av informasjon som du helst ikke vil dele. Lagre dette i en tekstfil, eller lim det inn i feilrapporten."
},
"keyAlreadyUsed": {
"message": "Denne hurtigtasten er knyttet til en annen handling. Vennligst velg en annen kombinasjon."
},
"to": {
"message": "til",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Sponsor"
},
"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_exclusive_access": {
"message": "Ekslusiv tilgang"
},
"category_exclusive_access_description": {
"message": "Kun for merking av hele videoer. Brukes når en video demonstrerer et produkt, tjeneste eller sted de har fått gratis eller subsidiert tilgang til."
},
"category_exclusive_access_pill": {
"message": "Denne videoen demonstrerer et produkt, tjeneste eller sted som de har fått gratis eller subsidiert tilgang til",
"description": "Short description for this category"
},
"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"
},
"category_intro_description": {
"message": "En intervall uten noe faktisk innhold. Kan være en pause, statisk bilde, eller repetitiv animasjon. Dette burde ikke brukes til overgangsanimasjoner som inneholder informasjon."
},
"category_intro_short": {
"message": "Midtpause"
},
"category_outro": {
"message": "Rulletekster"
},
"category_outro_description": {
"message": "Rulletekster eller når YouTube-sluttkortene dukker opp. Ikke for avslutninger med informasjon."
},
"category_preview": {
"message": "Forhåndsvisning/Oppsummering"
},
"category_preview_description": {
"message": "Hurtig oppsummering av tidligere episoder, eller forhåndsvisning av hva som kommer senere i denne videoen. Ment for redigerte klipp, ikke muntlige sammendrag."
},
"category_filler_description": {
"message": "Intetsigende segmenter kun lagt til som fyllstoff eller humor som ikke er nødvendig for å forstå hovedinnholdet i videoen. Dette bør ikke inkludere segmenter som gir kontekst eller bakgrunnsdetaljer."
},
"category_filler_short": {
"message": "Fyllstoff"
},
"category_music_offtopic": {
"message": "Musikk: Seksjon uten musikk"
},
"category_music_offtopic_description": {
"message": "Kun for bruk i musikkvideoer. Dette burde kun brukes for seksjoner i musikkvideoer som ikke allerede dekkes av en annen kategori."
},
"category_music_offtopic_short": {
"message": "Ikke-musikk"
},
"category_poi_highlight": {
"message": "Høydepunkt"
},
"category_poi_highlight_description": {
"message": "Den del av videoen som de fleste er interessert i. Tilsvarende kommentarer som \"Videoen begynner på x\"."
},
"category_livestream_messages": {
"message": "Direktesending: Donasjons-/Meldingshøytlesninger"
},
"category_livestream_messages_short": {
"message": "Høytlesning av meldinger"
},
"autoSkip": {
"message": "Hopp over automatisk"
},
"manualSkip": {
"message": "Manuelt hopp"
},
"showOverlay": {
"message": "Vis i tidsstripen"
},
"disable": {
"message": "Deaktiver"
},
"autoSkip_POI": {
"message": "Autohopp til starten"
},
"manualSkip_POI": {
"message": "Spør når videoen laster"
},
"showOverlay_POI": {
"message": "Vis i tidsstripen"
},
"showOverlay_full": {
"message": "Vis merke"
},
"autoSkipOnMusicVideos": {
"message": "Autohopp over alle segmenter når det er et segment uten musikk"
},
"muteSegments": {
"message": "Tillat segmenter som slår av lyden i stedet for å hoppe over"
},
"fullVideoSegments": {
"message": "Vis et ikon når en video utelukkende er reklame",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"previewColor": {
"message": "Ikke innsendt-farge",
"description": "Referring to submissions that have not been sent to the server yet."
},
"seekBarColor": {
"message": "Tidsstripefarge"
},
"category": {
"message": "Kategori"
},
"skipOption": {
"message": "Hoppinnstilling",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Skru på betatestingstjeneren"
},
"whatEnableTestingServer": {
"message": "Dine innsendinger og stemmer BLIR IKKE REGNET MED med tanke på hovedtjeneren. Kun bruk dette til testing."
},
"testingServerWarning": {
"message": "Alle innsendinger og stemmer BLIR IKKE REGNET MED med tanke på hovedtjeneren når du kobler til testtjeneren. Sørg for å skru dette av når du vil sende inn ekte innsendinger."
},
"bracketNow": {
"message": "(Nå)"
},
"moreCategories": {
"message": "Flere kategorier"
},
"chooseACategory": {
"message": "Velg en kategori"
},
"enableThisCategoryFirst": {
"message": "For å sende inn segmenter i «{0}»-kategorien, må du skru det på i innstillingene. Du vil nå bli omdirigert til innstillingene.",
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
},
"poiOnlyOneSegment": {
"message": "Advarsel: Denne type segment kan ha maksimalt én aktiv om gangen. Å legge inn flere vil forårsake en tilfeldig framvisning."
},
"youMustSelectACategory": {
"message": "Du må velge en kategori for alle segmentene du sender inn!"
},
"bracketEnd": {
"message": "(Slutt)"
},
"hiddenDueToDownvote": {
"message": "skjult: stemt ned"
},
"hiddenDueToDuration": {
"message": "skjult: for kort"
},
"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": "Kanal-ID er ikke lastet enda. Hvis du bruker en innebygd video, prøv å bruke YouTube-hjemmesiden i stedet. Dette kan også forårsakes av endringer i YouTube-oppsett, hvis du mistenker det, kommenter her:"
},
"videoInfoFetchFailed": {
"message": "Det virker som om noe blokkerer SponsorBlock's mulighet til å få videodata. Vennligst se https://github.com/ajayyy/SponsorBlock/issues/741 for mer info."
},
"youtubePermissionRequest": {
"message": "Det ser ut til at SponsorBlock ikke klarer å nå YouTube-API-en. For å fikse dette, godta tillatelsesspørringen som dukker opp etter dette, vent noen sekunder, og så last inn siden på nytt."
},
"acceptPermission": {
"message": "Godta tillatelse"
},
"permissionRequestSuccess": {
"message": "Tillatelsesforespørselen lyktes!"
},
"permissionRequestFailed": {
"message": "Tillatelsesforespørselen mislyktes, klikket du på Avvis?"
},
"adblockerIssueWhitelist": {
"message": "Om du ikke er i stand til å løse dette, forsøk å deaktiver innstillingen 'Fremtving kanalsjekk før hopp', siden SponsorBlock ikke kan hente kanalinformasjon for denne videoen"
},
"forceChannelCheck": {
"message": "Fremtving kanalsjekk før hopp"
},
"whatForceChannelCheck": {
"message": "Som standard, vil den hoppe over segmenter umiddelbart før den engang vet hvilken kanal det er. Som standard vil noen segmenter i begynnelsen av videoen bli hoppet over på hvitelistede kanaler. Å skru på denne innstillingen vil forhindre dette, men også føre til at all hopping har en liten forsinkelse siden innhentingen av kanal-ID-en kan ta litt tid. Denne forsinkelsen vil kanskje ikke bli lagt merke til hvis du har raskt internett."
},
"forceChannelCheckPopup": {
"message": "Vurder å skru på «Fremtving kanalsjekk før hopp»"
},
"downvoteDescription": {
"message": "Feil tidtaking"
},
"incorrectCategory": {
"message": "Endre kategori"
},
"nonMusicCategoryOnMusic": {
"message": "Denne videoen er kategorisert som musikk. Er du sikker på at dette har en sponsor? Hvis det egentlig er et \"Ikke-musikk-segment\", åpne opp innstillingene til utvidelsen og skru på denne kategorien. Deretter kan du sende dette segmentet som \"Ikke-musikk\" i stedet for som sponsing. Vennligst les retningslinjene hvis du er forvirret."
},
"multipleSegments": {
"message": "Flere segmenter"
},
"guidelines": {
"message": "Retningslinjer"
},
"readTheGuidelines": {
"message": "Les retningslinjene!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Kategorier er her!"
},
"categoryUpdate2": {
"message": "Åpne innstillingene for å hoppe over introer, outro-er, merchandise, osv."
},
"help": {
"message": "Hjelp"
},
"GotIt": {
"message": "Jeg forstår",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "Dette segmentet er stort. Dersom hele videoen er omtrent ett emne, så endre fra \"Hopp Over\" til \"Full Video\". Se retningslinjene for mer informasjon."
},
"categoryPillTitleText": {
"message": "Hele denne videoen er merket som denne kategorien og er for tett knyttet til å kunne separeres"
},
"experiementOptOut": {
"message": "Reservér deg mot alle fremtidige eksperimenter",
"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": "Skjul for alltid"
},
"warningChatInfo": {
"message": "Du fikk en advarsel og vil midlertidig ikke kunne sende inn segmenter. Dette betyr at vi la merke til at du gjorde noen vanlige feil som ikke var vondt ment, vennligst bare bekreft at du er inneforstått med reglene og vi vil fjerne advarslen. Du kan også bli med i denne chatten på discord.gg/SponsorBlock eller matrix.to/#/#sponsor:ajay.app"
},
"voteRejectedWarning": {
"message": "Stemme avvist på grunn av en advarsel. Klikk for å åpne chatten for å løse dette, eller kom tilbake senere 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."
},
"Donate": {
"message": "Donér"
},
"hideDonationLink": {
"message": "Skjul donasjonslenke"
},
"darkModeOptionsPage": {
"message": "Mørk modus på instillingssiden"
},
"helpPageThanksForInstalling": {
"message": "Takk for at du installerte SponsorBlock."
},
"helpPageReviewOptions": {
"message": "Vennligst se gjennom innstillingene nedenfor"
},
"helpPageFeatureDisclaimer": {
"message": "Mange funksjoner er deaktivert som standard. Om du vil hoppe over introer, outro-er, benytte Invidious osv., aktiver dem nedenfor. Du kan også vise eller skjule UI-elementer."
},
"helpPageHowSkippingWorks": {
"message": "Hvordan hopping fungerer"
},
"helpPageHowSkippingWorks1": {
"message": "Videosegmenter vil automatisk bli hoppet over hvis de finnes i databasen. Du kan åpne oppsprettsvinduet ved å klikke på utvidelsesikonet for å få en forhåndsvisning av hva de er."
},
"helpPageHowSkippingWorks2": {
"message": "Hver gang du hopper over et segment vil du få et varsel. Hvis tidtakingen ser feil ut stem ned ved å klikke på nedstemme! Du kan også stemme i oppsprettsvinduet."
},
"Submitting": {
"message": "Innsending"
},
"helpPageSubmitting1": {
"message": "Innsending kan enten gjøres i oppsprettsvinduet ved å klikke på \"Segmentet starter nå\"-knappen eller i videoavspilleren ved å klikke på knappene på avspilleren."
},
"helpPageSubmitting2": {
"message": "Klikk på avspillingsknappen angir starten av et segment og klikk på stopp-ikonet angir slutten. Du kan gjøre klar flere sponsorer før du sender inn. Klikk på opplastningsknappen for å sende inn. Klikk på papirkurven for å slette."
},
"Editing": {
"message": "Redigering"
},
"helpPageEditing1": {
"message": "Hvis du rotet det til kan du redigere eller slette segmentene dine etter at du har klikket på pil opp-knappen."
},
"helpPageTooSlow": {
"message": "Dette er for tidkrevende"
},
"helpPageTooSlow1": {
"message": "Om du vil kan du bruke hurtigtaster. Trykk på semikolon-tasten for å angi start/stopp av et sponsorsegment og klikk på apostrof for å sende inn. Disse kan endres i innstillinger. Om du ikke bruker QWERTY bør du sannsynligvis endre hurtigtastene."
},
"helpPageCopyOfDatabase": {
"message": "Kan jeg få en kopi av databasen? Hva hender hvis du forsvinner?"
},
"helpPageCopyOfDatabase1": {
"message": "Databasen er offentlig og tilgjengelig på"
},
"helpPageCopyOfDatabase2": {
"message": "Kildekoden er fritt tilgjengelig. Så selv om noe skulle skje med meg vil ikke dine bidrag gå tapt."
},
"helpPageNews": {
"message": "Nyheter og hvordan det er laget"
},
"helpPageSourceCode": {
"message": "Hvor kan jeg finne kildekoden?"
},
"Credits": {
"message": "Anerkjennelser"
},
"LearnMore": {
"message": "Les mer"
},
"CopyDownvoteButtonInfo": {
"message": "Stemmer ned og oppretter en lokal kopi som du kan sende inn på nytt"
},
"OpenCategoryWikiPage": {
"message": "Åpne denne kategoriens wiki-side."
},
"CopyAndDownvote": {
"message": "Kopiér og stem ned"
},
"ContinueVoting": {
"message": "Fortsett å stemme"
},
"ChangeCategoryTooltip": {
"message": "Dette vil umiddelbart gjelde for dine segmenter"
},
"SponsorTimeEditScrollNewFeature": {
"message": "Bruk musehjulet mens du peker over redigeringsboksen for å raskt justere tiden. Kombinasjoner av ctrl- eller shift-tasten kan brukes til å finjustere endringene."
},
"categoryPillNewFeature": {
"message": "Nyhet! Se om en video er fullstendig sponset eller selvpromotert"
},
"dayAbbreviation": {
"message": "d",
"description": "100d"
},
"hourAbbreviation": {
"message": "t",
"description": "100h"
},
"optionsTabBehavior": {
"message": "Oppførsel",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "Grensesnitt",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "Hurtigtaster",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "Sikkerhetskopiér/gjenskap",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "Diverse",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "Hopp over-varselutseende",
"description": "Option label"
},
"unbind": {
"message": "Fjern",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "Ikke angitt"
},
"change": {
"message": "Endre"
},
"youtubeKeybindWarning": {
"message": "Dette er en innebygget YouTube-hurtigtast. Er du sikker på at du vil bruke den?"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,960 +0,0 @@
{
"fullName": {
"message": "SponsorBlock para YouTube - Pule patrocínios",
"description": "Name of the extension."
},
"Description": {
"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": {
"message": "O servidor disse que esse pedido foi inválido"
},
"429": {
"message": "Você enviou muitos segmentos para esse vídeo, tem certeza que tem tantos assim?"
},
"409": {
"message": "Isso já foi enviado antes"
},
"channelWhitelisted": {
"message": "Canal adicionado à lista branca!"
},
"Segment": {
"message": "segmento"
},
"Segments": {
"message": "segmentos"
},
"upvoteButtonInfo": {
"message": "Votar nesse segmento positivamente"
},
"reportButtonTitle": {
"message": "Reportar"
},
"reportButtonInfo": {
"message": "Reportar esse segmento como inválido."
},
"Dismiss": {
"message": "Ignorar"
},
"Loading": {
"message": "Carregando..."
},
"Hide": {
"message": "Nunca mostrar"
},
"hitGoBack": {
"message": "Aperta \"reverter pulo\" para voltar onde estava."
},
"unskip": {
"message": "Reverter pulo"
},
"reskip": {
"message": "Pular novamente"
},
"unmute": {
"message": "Ativar som"
},
"paused": {
"message": "Pausado"
},
"manualPaused": {
"message": "Temporizador parado"
},
"confirmMSG": {
"message": "\n\nPara editar ou remover linhas individuais, clique com o botão direito ou abra o popup da extensão pelo icone no canto superior direito."
},
"clearThis": {
"message": "Tem certeza que quer limpar isso?\n\n"
},
"Unknown": {
"message": "Houve um erro ao enviar seus segmentos, tente novamente mais tarde."
},
"sponsorFound": {
"message": "Este vídeo tem segmentos no banco de dados!"
},
"sponsor404": {
"message": "Nenhum segmento encontrado"
},
"sponsorStart": {
"message": "O Segmento Começa Agora"
},
"sponsorEnd": {
"message": "O Segmento Termina Agora"
},
"sponsorCancel": {
"message": "Cancelar Criação de Segmento"
},
"noVideoID": {
"message": "Nenhum vídeo do YouTube encontrado.\nSe isto estiver incorreto, atualize a aba."
},
"refreshSegments": {
"message": "Atualizar segmentos"
},
"success": {
"message": "Sucesso!"
},
"voted": {
"message": "Votado!"
},
"serverDown": {
"message": "Parece que o servidor caiu. Contate o desenvolvedor o quanto antes."
},
"connectionError": {
"message": "Ocorreu um erro de conexão. Código de erro: "
},
"clearTimes": {
"message": "Limpar Segmentos"
},
"openPopup": {
"message": "Abrir o Popup SponsorBlock"
},
"closePopup": {
"message": "Fechar Popup"
},
"SubmitTimes": {
"message": "Enviar Segmentos"
},
"submitCheck": {
"message": "Você tem certeza que deseja enviar isto?"
},
"whitelistChannel": {
"message": "Adicionar canal à lista branca"
},
"removeFromWhitelist": {
"message": "Remover canal da lista branca"
},
"voteOnTime": {
"message": "Votar Em Um Segmento"
},
"Submissions": {
"message": "Envios"
},
"savedPeopleFrom": {
"message": "Você poupou as pessoas de "
},
"viewLeaderboard": {
"message": "Placar de classificação"
},
"recordTimesDescription": {
"message": "Enviar"
},
"submissionEditHint": {
"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": {
"message": "Dica: Você pode configurar os atalhos de tecla para enviar nas opções"
},
"clearTimesButton": {
"message": "Limpar Intervalos"
},
"submitTimesButton": {
"message": "Enviar Intervalos"
},
"publicStats": {
"message": "Isso é usado na página pública de estatísticas que mostra o quanto você já contribuiu. Veja-a"
},
"Username": {
"message": "Nome de usuário"
},
"setUsername": {
"message": "Definir nome de usuário"
},
"copyPublicID": {
"message": "Copiar ID Pública de Usuário"
},
"copySegmentID": {
"message": "Copiar ID do segmento"
},
"discordAdvert": {
"message": "Junte-se ao servidor do discord oficial para dar dicas e sugestões!"
},
"hideThis": {
"message": "Esconder isto"
},
"Options": {
"message": "Opções"
},
"showButtons": {
"message": "Mostrar botões no player do Youtube"
},
"hideButtons": {
"message": "Esconder botões no player do Youtube"
},
"hideButtonsDescription": {
"message": "Esta opção esconde os botões que aparecem para enviar segmentos no player do YouTube."
},
"showSkipButton": {
"message": "Manter botão Pular para os Destaques no player"
},
"showInfoButton": {
"message": "Mostrar botão de Informações no player do Youtube"
},
"hideInfoButton": {
"message": "Esconder botão de Informações no player do Youtube"
},
"autoHideInfoButton": {
"message": "Esconder Automaticamente o Botão de Informação"
},
"hideDeleteButton": {
"message": "Esconder botão de Apagar no player do Youtube"
},
"showDeleteButton": {
"message": "Mostrar botão de Apagar no player do Youtube"
},
"enableViewTracking": {
"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 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"
},
"enableTrackDownvotes": {
"message": "Armazenar votos negativos de segmentos"
},
"whatTrackDownvotes": {
"message": "Qualquer segmento que você der voto negative permanecerá oculto mesmo após recarregar"
},
"trackDownvotesWarning": {
"message": "Aviso: Desativar isto excluirá todos os votos negativos armazenados anteriormente"
},
"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 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 nenhum segmento for encontrado, continuaremos buscando enquanto você assiste."
},
"showNotice": {
"message": "Mostrar notificação outra vez"
},
"showSkipNotice": {
"message": "Mostrar Aviso Após Um Segmento Ser Ignorado"
},
"showCategoryGuidelines": {
"message": "Mostrar Categoria de Ajuda"
},
"noticeVisibilityMode0": {
"message": "Avisos de Ignorar em Tamanho Inteiro"
},
"noticeVisibilityMode1": {
"message": "Avisos de Ignorar pequenos quando Pulado Automaticamente"
},
"noticeVisibilityMode2": {
"message": "Todos os Avisos de Ignorar em Tamanho Pequeno"
},
"noticeVisibilityMode3": {
"message": "Avisos de Ignorar semi-transparentes quando Pulado Automaticamente"
},
"noticeVisibilityMode4": {
"message": "Todos os Avisos de Ignorar semi-transparentes"
},
"longDescription": {
"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": {
"message": "Site",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Código fonte",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "A notificação foi atualizada!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Se você ainda não gostar dessa, aperte o botão não mostrar novamente.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setSkipShortcut": {
"message": "Pular segmento",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "Iniciar/parar segmento",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "Enviar Segmentos",
"description": "Keybind label"
},
"keybindDescription": {
"message": "Pressione a tecla desejada e escolha quaisquer teclas modificadoras deseja utilizar."
},
"0": {
"message": "Tempo limite de conexão excedida. Cheque a sua conexão de internet. Se a sua internet estiver funcionando, o servidor está sobrecarregado ou fora do ar."
},
"disableSkipping": {
"message": "Pular está habilitado"
},
"enableSkipping": {
"message": "Pular está desabilitado"
},
"yourWork": {
"message": "Suas submissões",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "O servidor parece estar sobrecarregado. Tente novamente em alguns segundos."
},
"errorCode": {
"message": "Código de erro: "
},
"skip": {
"message": "Pular"
},
"mute": {
"message": "Silenciar"
},
"full": {
"message": "Vídeo completo",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Pular {0}?"
},
"mute_category": {
"message": "Silenciar {0}?"
},
"skip_to_category": {
"message": "Pular para {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} Ignorado",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} Silenciado",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "Pulado para {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "Desativar Salto Automático"
},
"enableAutoSkip": {
"message": "Ativar Salto Automático"
},
"audioNotification": {
"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 pulado. Se desativado (ou o pulo automático estiver desativado), nenhum som será reproduzido."
},
"showTimeWithSkips": {
"message": "Mostrar tempo com pulos removidos"
},
"showTimeWithSkipsDescription": {
"message": "Este tempo aparece em parênteses ao lado do tempo atual, abaixo da barra de procura. Isto mostra a duração total do vídeo menos qualquer segmento. Isto inclui segmentos marcados apenas como \"Mostrar na Barra de Procura\"."
},
"youHaveSkipped": {
"message": "Você pulou "
},
"minLower": {
"message": "minuto"
},
"minsLower": {
"message": "minutos"
},
"hourLower": {
"message": "hora"
},
"hoursLower": {
"message": "horas"
},
"youHaveSavedTime": {
"message": "Você poupou das pessoas",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " das vidas dos outros",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Verifique status.sponsor.ajay.app para o status do servidor."
},
"changeUserID": {
"message": "Importar/Exportar seu ID de usuário"
},
"whatChangeUserID": {
"message": "Esta informação deve se mantida privada. Ela é como uma senha e não deve ser compartilhada. Outras pessoas poderão se passar por você caso obtenham acesso. Se estiver procurando por sua ID Pública de Usuário, clique no ícone de prancheta no popup."
},
"setUserID": {
"message": "Definir ID de usuário"
},
"userIDChangeWarning": {
"message": "Atenção: A alteração do ID de usuário é permanente. Você tem certeza que deseja fazer isso? Certifique-se de fazer backup de seu ID antigo por precaução."
},
"createdBy": {
"message": "Criado por"
},
"supportOtherSites": {
"message": "Suporte a Sites do YouTube de Terceiros"
},
"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 de Cliente de Terceiros"
},
"addInvidiousInstanceDescription": {
"message": "Adicionar uma instância personalizada. Isso deve ser formatado APENAS com o domínio. Exemplo: invidious.ajay.app"
},
"add": {
"message": "Adicionar"
},
"addInvidiousInstanceError": {
"message": "Este é um domínio inválido. Ele deve incluir APENAS a parte do domínio. Exemplo: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Redefinir Lista de Instâncias do Invidious"
},
"resetInvidiousInstanceAlert": {
"message": "Você está prestes a redefinir a lista de instâncias do Invidious"
},
"currentInstances": {
"message": "Instâncias Atuais:"
},
"minDuration": {
"message": "Duração mínima (segundos):"
},
"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?"
},
"liveOrPremiere": {
"message": "Não é permitido o envio de segmentos em livestreams ou premieres ainda em andamento. Por favor, aguarde até que terminem, e em seguida, atualize a página e verifique se os segmentos ainda são válidos."
},
"showUploadButton": {
"message": "Mostrar botão de envio"
},
"customServerAddress": {
"message": "Endereço do servidor do SponsorBlock"
},
"customServerAddressDescription": {
"message": "Endereço que o SponsorBlock usa para fazer chamadas ao servidor.\nA menos que você tenha sua própria instância de servidor, isso não deve ser alterado."
},
"save": {
"message": "Salvar"
},
"reset": {
"message": "Redefinir"
},
"customAddressError": {
"message": "Este endereço não está na forma correta. Certifique-se de que possui http:// ou https:// no início e sem barras no final."
},
"areYouSureReset": {
"message": "Tem certeza que deseja redefinir?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com agora é suportado"
},
"exportOptions": {
"message": "Importar/Exportar Todas as Opções"
},
"exportOptionsCopy": {
"message": "Editar/copiar"
},
"exportOptionsDownload": {
"message": "Exportar para arquivo"
},
"exportOptionsUpload": {
"message": "Importar de um arquivo"
},
"whatExportOptions": {
"message": "Essas são suas preferências no formato JSON. Isso inclui seu ID de usuário, então lembre-se de compartilhar com cuidado."
},
"setOptions": {
"message": "Definir Opções"
},
"exportOptionsWarning": {
"message": "Aviso: Alterar as opções é permanente e pode fazer a extensão parar de funcionar. Tem certeza que deseja fazer isso? Certifique-se de fazer um backup por precaução."
},
"incorrectlyFormattedOptions": {
"message": "Este JSON não está formatado corretamente. Suas opções não foram alteradas."
},
"confirmNoticeTitle": {
"message": "Enviar Segmento"
},
"submit": {
"message": "Enviar"
},
"cancel": {
"message": "Cancelar"
},
"delete": {
"message": "Deletar"
},
"preview": {
"message": "Pré-visualizar"
},
"unsubmitted": {
"message": "Não enviado"
},
"inspect": {
"message": "Inspecionar"
},
"edit": {
"message": "Editar"
},
"copyDebugInformation": {
"message": "Copiar Informações de Depuração Para Área de Transferência"
},
"copyDebugInformationFailed": {
"message": "Erro ao copiar para a área de transferência"
},
"copyDebugInformationOptions": {
"message": "Copia informações para a área de transferência para serem fornecidas a um desenvolvedor quando houver um bug / quando um solicitado pelo desenvolvedor. Informações sensíveis como seu ID de usuário, canais na lista de permissões e endereço personalizado do servidor foram removidos. No entanto, ele contém informações como seu useragent, navegador, sistema operacional e número de versão de extensão. "
},
"copyDebugInformationComplete": {
"message": "A informação de depuração foi copiada para a área de transferência. Sinta-se à vontade para remover qualquer informação que prefira não compartilhar. Salve em um arquivo de texto ou cole-a no relatório de bug."
},
"keyAlreadyUsed": {
"message": "Este atalho está vinculado a outra ação. Por favor, selecione um atalho diferente."
},
"to": {
"message": "até",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Patrocinador"
},
"category_sponsor_description": {
"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_exclusive_access": {
"message": "Acesso Exclusivo"
},
"category_exclusive_access_description": {
"message": "Apenas para rotular vídeos inteiros. Usado quando um vídeo apresenta um produto, serviço ou local ao qual eles receberam acesso gratuito ou subsidiado."
},
"category_exclusive_access_pill": {
"message": "Este vídeo apresenta um produto, serviço ou local ao qual eles receberam acesso gratuito ou subsidiado",
"description": "Short description for this category"
},
"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"
},
"category_intro_description": {
"message": "Um intervalo sem conteúdo real. Pode ser uma pausa, um quadro estático, uma animação repetitiva. Isso não deve ser usado em transições que contenham informação."
},
"category_intro_short": {
"message": "Intervalo"
},
"category_outro": {
"message": "Finalização/Créditos"
},
"category_outro_description": {
"message": "Créditos ou quando os cards finais do YouTube aparecem. Não deve ser usado para conclusões informativas."
},
"category_preview": {
"message": "Pré-visualização/Recapitulação"
},
"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_filler": {
"message": "Enrolação/Piadas"
},
"category_filler_description": {
"message": "Cenas tangenciais inseridas apenas por enrolação ou humor que não são necessárias para compreender o tópico principal do vídeo. Isto não deve incluir segmentos que fornecem contexto ou detalhes de segundo plano."
},
"category_filler_short": {
"message": "Enrolação"
},
"category_music_offtopic": {
"message": "Música: Seção sem música"
},
"category_music_offtopic_description": {
"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"
},
"category_poi_highlight": {
"message": "Destaques"
},
"category_poi_highlight_description": {
"message": "A parte do vídeo que a maioria das pessoas procura. Similar aos comentários \"Vídeo começa aos x\"."
},
"category_livestream_messages": {
"message": "Livestream: Leituras de Doação/Mensagem"
},
"category_livestream_messages_short": {
"message": "Leitura de mensagens"
},
"autoSkip": {
"message": "Pular automaticamente"
},
"manualSkip": {
"message": "Pular manualmente"
},
"showOverlay": {
"message": "Mostrar barra de progresso"
},
"disable": {
"message": "Desativar"
},
"autoSkip_POI": {
"message": "Pular automaticamente para o início"
},
"manualSkip_POI": {
"message": "Perguntar quando o vídeo carregar"
},
"showOverlay_POI": {
"message": "Mostrar na barra de progresso"
},
"showOverlay_full": {
"message": "Mostrar Rótulo"
},
"autoSkipOnMusicVideos": {
"message": "Pular automaticamente todos os segmentos quando há um segmento que não é música"
},
"muteSegments": {
"message": "Permitir segmentos que silenciem o áudio ao invés de pular"
},
"fullVideoSegments": {
"message": "Mostrar um ícone quando um vídeo é inteiramente um anúncio",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"previewColor": {
"message": "Cor Não Enviada",
"description": "Referring to submissions that have not been sent to the server yet."
},
"seekBarColor": {
"message": "Cor da barra"
},
"category": {
"message": "Categoria"
},
"skipOption": {
"message": "Opção de pulo",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Habilitar Servidor em teste Beta"
},
"whatEnableTestingServer": {
"message": "Seus envios e votos NÃO SERÃO ENVIADOS para o servidor principal. Use isso apenas para testes."
},
"testingServerWarning": {
"message": "Todas os envios e votos NÃO SERÃO ENVIADOS para o servidor principal enquanto se conecta ao servidor de teste. Certifique-se de desativar isso quando você quiser fazer envios reais."
},
"bracketNow": {
"message": "(agora)"
},
"moreCategories": {
"message": "Mais categorias"
},
"chooseACategory": {
"message": "Selecione uma Categoria"
},
"enableThisCategoryFirst": {
"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."
},
"poiOnlyOneSegment": {
"message": "Aviso: Este tipo de segmento pode ter no máximo um ativo por vez. Enviar múltiplos fará com que um aleatório seja mostrado."
},
"youMustSelectACategory": {
"message": "Você deve selecionar uma categoria para todos os segmentos que você está enviando!"
},
"bracketEnd": {
"message": "(Fim)"
},
"hiddenDueToDownvote": {
"message": "oculto: Downvote"
},
"hiddenDueToDuration": {
"message": "oculto: muito curto"
},
"manuallyHidden": {
"message": "oculto manualmente"
},
"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": "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 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"
},
"permissionRequestSuccess": {
"message": "Solicitação de permissão bem-sucedida!"
},
"permissionRequestFailed": {
"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"
},
"whatForceChannelCheck": {
"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\""
},
"downvoteDescription": {
"message": "Tempo errado ou incorreto"
},
"incorrectCategory": {
"message": "Mudar Categoria"
},
"nonMusicCategoryOnMusic": {
"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"
},
"guidelines": {
"message": "Diretrizes"
},
"readTheGuidelines": {
"message": "Leia as Diretrizes!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "As categorias estão aqui!"
},
"categoryUpdate2": {
"message": "Abra as opções para ignorar as introduções, créditos finais, promoção de mercadoria, etc."
},
"help": {
"message": "Ajuda"
},
"GotIt": {
"message": "Entendi",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "Este segmento é grande. Se o vídeo inteiro for sobre um tópico, altere de \"Pular\" para \"Vídeo completo\". Consulte as diretrizes para obter mais informações."
},
"categoryPillTitleText": {
"message": "Este vídeo inteiro está rotulado como esta categoria e está muito integrado para poder ser separado"
},
"experiementOptOut": {
"message": "Optar por sair de todos os experimentos futuros",
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
},
"hideForever": {
"message": "Ocultar para sempre"
},
"warningChatInfo": {
"message": "Você recebeu um aviso e não pode enviar segmentos temporariamente. Isso significa que notamos que você estava cometendo erros comuns não maliciosos, por favor confirme que você entende as regras e removeremos o aviso. Você também pode participar do chat usando discord.gg/SponsorBlock ou matrix.to/#/#sponsor:ajay.app"
},
"voteRejectedWarning": {
"message": "Voto rejeitado devido a um aviso. Clique para abrir um chat para resolvê-lo, ou volte mais tarde quando tiver tempo.",
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
},
"Donate": {
"message": "Doar"
},
"considerDonating": {
"message": "Ajude a financiar o desenvolvimento"
},
"hideDonationLink": {
"message": "Ocultar o Link de Doação"
},
"darkModeOptionsPage": {
"message": "Modo Escuro na página de Opções"
},
"helpPageThanksForInstalling": {
"message": "Obrigado por instalar o SponsorBlock."
},
"helpPageReviewOptions": {
"message": "Por favor revise as opções abaixo"
},
"helpPageFeatureDisclaimer": {
"message": "Muitoa recursos são desativados por padrão. Se você deseja pular introduções, encerramentos, usar o Invidious, etc, ative as opções abaixo. Você também pode ocultar/mostrar elementos da interface."
},
"helpPageHowSkippingWorks": {
"message": "Como a função pular funciona"
},
"helpPageHowSkippingWorks1": {
"message": "Segmentos do vídeo serão pulados automaticamente se forem encontrados na base de dados. Você pode abrir a pop-up clicando no ícone da extensão para ter uma prévia de quais são."
},
"helpPageHowSkippingWorks2": {
"message": "Sempre que você pular um segmento, você receberá um aviso. Se o tempo estiver errado vote contra clicando no voto negativo! Você também pode votar na pop-up."
},
"Submitting": {
"message": "Enviando"
},
"helpPageSubmitting1": {
"message": "O envio pode ser feito no pop-up apertando o botão \"Segmento começa Agora\" ou no reprodutor de vídeo com os botões no reprodutor."
},
"helpPageSubmitting2": {
"message": "Clicar no botão inicio indica o começo de um segmento e clicar no ícone parar indica o fim. Você pode preparar vários patrocinadores antes de clicar em enviar. Clicar no botão upload irá enviar. Clicar no lixo irá excluir."
},
"Editing": {
"message": "Editando"
},
"helpPageEditing1": {
"message": "Se você errar, você pode editar ou deletar seus segmentos clicando na seta para cima."
},
"helpPageTooSlow": {
"message": "Isto está muito devagar"
},
"helpPageTooSlow1": {
"message": "Há teclas de atalho se você quiser usá-las. Pressione a tecla ponto e vírgula para indicar o início/fim de um segmento de patrocinador e clique no apóstrofo para enviar. Estas podem ser alteradas nas opções. Se você não usa QWERTY, você provavelmente deve alterar as teclas vinculadas."
},
"helpPageCopyOfDatabase": {
"message": "Posso baixar uma cópia do banco de dados? O que acontece se vocês desaparecerem?"
},
"helpPageCopyOfDatabase1": {
"message": "O banco de dados é público e está disponível em"
},
"helpPageCopyOfDatabase2": {
"message": "O código-fonte está disponível gratuitamente. Então, mesmo que algo aconteça comigo, seus envios não estarão perdidos."
},
"helpPageNews": {
"message": "Notícias e como tudo é feito"
},
"helpPageSourceCode": {
"message": "Onde posso obter o código-fonte?"
},
"Credits": {
"message": "Créditos"
},
"LearnMore": {
"message": "Saiba mais"
},
"CopyDownvoteButtonInfo": {
"message": "Dá voto negativo e cria uma cópia local para você reenviar"
},
"OpenCategoryWikiPage": {
"message": "Abrir a wiki dessa categoria."
},
"CopyAndDownvote": {
"message": "Copiar e dar voto negativo"
},
"ContinueVoting": {
"message": "Continuar Votando"
},
"ChangeCategoryTooltip": {
"message": "Isto irá aplicar instantaneamente seus segmentos"
},
"downvote": {
"message": "Voto negativo"
},
"upvote": {
"message": "Voto positivo"
},
"hideSegment": {
"message": "Ocultar segmento"
},
"SponsorTimeEditScrollNewFeature": {
"message": "Use a roda do mouse enquanto mantêm o cursor sobre a caixa de edição para ajustar o tempo rapidamente. Combinações das teclas ctrl e shift podem ser usadas para refinar as mudanças."
},
"categoryPillNewFeature": {
"message": "Novo! Veja quando um vídeo é inteiramente patrocinado ou de autopromoção"
},
"dayAbbreviation": {
"message": "d",
"description": "100d"
},
"hourAbbreviation": {
"message": "h",
"description": "100h"
},
"optionsTabBehavior": {
"message": "Comportamento",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "Interface",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "Atalhos de teclado",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "Backup/Restauração",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "Miscelânea",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "Aparência da notificação de pulo",
"description": "Option label"
},
"unbind": {
"message": "Desvincular",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "Não configurado"
},
"change": {
"message": "Alterar"
},
"youtubeKeybindWarning": {
"message": "Este já é um atalho padrão do YouTube. Tem certeza que deseja utilizá-lo?"
},
"betaServerWarning": {
"message": "Os Servidores BETA estão ativos!"
},
"openOptionsPage": {
"message": "Abrir página de opções"
},
"resetToDefault": {
"message": "Redefinir configurações para o padrão"
},
"confirmResetToDefault": {
"message": "Tem certeza de que deseja redefinir todas as configurações para os valores padrão? Essa ação não poderá ser desfeita."
}
}

View File

@@ -1,506 +0,0 @@
{
"fullName": {
"message": "SponsorBlock para o YouTube - Salte patrocínios",
"description": "Name of the extension."
},
"Description": {
"message": "Salte patrocinios, pedidos de subscrição e mais em videos do YouTube. Submeta anúncios nos videos que visualiza para poupar tempo a outros.",
"description": "Description of the extension."
},
"400": {
"message": "O servidor disse que este pedido foi inválido"
},
"429": {
"message": "Enviou muitos segmentos para este vídeo, tem certeza que tem assim tantos?"
},
"409": {
"message": "Isso já foi enviado antes"
},
"channelWhitelisted": {
"message": "Canal adicionado à lista de autorizados!"
},
"Segment": {
"message": "segmento"
},
"Segments": {
"message": "segmentos"
},
"upvoteButtonInfo": {
"message": "Votar positivamente esta submissão"
},
"reportButtonTitle": {
"message": "Reportar"
},
"reportButtonInfo": {
"message": "Reportar esta submissão como incorrecta."
},
"Dismiss": {
"message": "Ignorar"
},
"Loading": {
"message": "A carregar..."
},
"Hide": {
"message": "Nunca mostrar"
},
"hitGoBack": {
"message": "Carregue em reverter salto para voltar a onde estava"
},
"unskip": {
"message": "Reverter salto"
},
"reskip": {
"message": "Saltar novamente"
},
"unmute": {
"message": "Ativar som"
},
"paused": {
"message": "Pausado"
},
"manualPaused": {
"message": "Temporizador parado"
},
"confirmMSG": {
"message": "\n\nPara editar ou remover linhas individuais, carregue com o botão direito ou abra o popup da extensão pelo icone no canto superior direito."
},
"clearThis": {
"message": "Tem certeza que deseja limpar isto?\n\n"
},
"Unknown": {
"message": "Erro ao enviar os seus segmentos, tente novamente mais tarde."
},
"sponsorFound": {
"message": "Este vídeo tem segmentos na base de dados!"
},
"sponsor404": {
"message": "Nenhum segmento encontrado"
},
"sponsorStart": {
"message": "O Segmento Começa Agora"
},
"sponsorEnd": {
"message": "O Segmento Acaba Agora"
},
"sponsorCancel": {
"message": "Cancelar Criação de Segmento"
},
"noVideoID": {
"message": "Nenhum vídeo do YouTube encontrado.\nSe isto não estiver correto, atualize o separador."
},
"refreshSegments": {
"message": "Atualizar segmentos"
},
"success": {
"message": "Sucesso!"
},
"voted": {
"message": "Votado!"
},
"serverDown": {
"message": "Parece que o servidor está em baixo. Contacte o desenvolvedor imediatamente."
},
"connectionError": {
"message": "Deu-se um erro de conecção: Código: "
},
"clearTimes": {
"message": "Limpar Segmentos"
},
"openPopup": {
"message": "Abrir o Popup SponsorBlock"
},
"closePopup": {
"message": "Fechar Popup"
},
"SubmitTimes": {
"message": "Submeter Segmentos"
},
"submitCheck": {
"message": "Tem a certeza que pretende submeter?"
},
"whitelistChannel": {
"message": "Meter canal na Lista Branca"
},
"removeFromWhitelist": {
"message": "Remover canal da Lista Branca"
},
"voteOnTime": {
"message": "Votar em um segmento"
},
"Submissions": {
"message": "Submissões"
},
"savedPeopleFrom": {
"message": "Salvaste pessoas de "
},
"viewLeaderboard": {
"message": "Tabela de Classificação"
},
"recordTimesDescription": {
"message": "Enviar"
},
"submissionEditHint": {
"message": "A edição da seção aparecerá depois que você clicar em enviar",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Dica: Você pode configurar atalhos de teclado para enviar nas opções"
},
"clearTimesButton": {
"message": "Limpar Intervalos"
},
"submitTimesButton": {
"message": "Submeter Intervalos"
},
"publicStats": {
"message": "Isto é usado na página pública de estatísticas que mostra o quanto já contríbuíu. Veje-a"
},
"Username": {
"message": "Nome de Utilizador"
},
"setUsername": {
"message": "Criar nome de utilizador"
},
"copyPublicID": {
"message": "Copiar ID público de utilizador"
},
"copySegmentID": {
"message": "Copiar ID do segmento"
},
"discordAdvert": {
"message": "Junte-se ao discord oficial para sugerir dicas e sugestões!"
},
"hideThis": {
"message": "Esconder isto"
},
"Options": {
"message": "Opções"
},
"showButtons": {
"message": "Mostrar botões no player do Youtube"
},
"hideButtons": {
"message": "Esconder botões no player do Youtube"
},
"hideButtonsDescription": {
"message": "Isto esconde os botões que aparecem no player do Youtube para submeter patrocínios. Entendemos que possa ser\n incómodo a algumas pessoas. Em vez de usar esses botões pode usar os do popup. Para esconder a mensagem que aparece, \n ususe o botão na mesma que diz \"Don't show this again\". Pode sempre reactivar estas definições novamente."
},
"showSkipButton": {
"message": "Mantenha o Botão Saltar para Destaque no Player"
},
"showInfoButton": {
"message": "Mostrar botão de Informações no player do Youtube"
},
"hideInfoButton": {
"message": "Esconder botão de Informações no player do Youtube"
},
"autoHideInfoButton": {
"message": "Ocultar automaticamente o Botão de Informação"
},
"hideDeleteButton": {
"message": "Esconder botão de Apagar no player do Youtube"
},
"showDeleteButton": {
"message": "Mostrar botão de Apagar no player do Youtube"
},
"enableViewTracking": {
"message": "Ativar Rastreamento de Contagem de Saltos"
},
"whatViewTracking": {
"message": "Esse recurso rastreia quais segmentos você pulou para permitir que os usuários saibam o quanto seu envio ajudou outras pessoas e é usado como métrica junto com votos positivos para garantir que o spam não entre no banco de dados. A extensão envia uma mensagem ao servidor cada vez que você pular um segmento. Espero que a maioria das pessoas não altere essa configuração para que os números de visualização sejam precisos. :)"
},
"enableViewTrackingInPrivate": {
"message": "Ativar o Rastreamento de Contagem de Saltos nas Guias Privadas/Anônimas"
},
"enableTrackDownvotes": {
"message": "Guardar segmentos de votos negativos"
},
"whatTrackDownvotes": {
"message": "Quaisquer segmentos que você votar negativo permanecerão ocultos mesmo após a atualização"
},
"trackDownvotesWarning": {
"message": "Aviso: Ao desabilitar isso excluirá todos os votos negativos armazenados anteriormente"
},
"enableQueryByHashPrefix": {
"message": "Consulta por Prefixo de Hash"
},
"whatQueryByHashPrefix": {
"message": "Em vez de solicitar segmentos do servidor usando o ID do Vídeo, são enviados os primeiros 4 caracteres do hash do ID do Vídeo. Este servidor enviará de volta dados para todos os vídeos com hashes semelhantes."
},
"enableRefetchWhenNotFound": {
"message": "Recuperar segmentos em novos vídeos"
},
"whatRefetchWhenNotFound": {
"message": "Se o vídeo for novo e nenhum segmento for encontrado, continuaremos a monitorizar enquanto assiste."
},
"showNotice": {
"message": "Mostrar notificação outra vez"
},
"showSkipNotice": {
"message": "Mostrar aviso após um segmento ser ignorado"
},
"noticeVisibilityMode0": {
"message": "Avisos de ignorar em tamanho inteiro"
},
"noticeVisibilityMode1": {
"message": "Avisos pequenos quando ignorado automaticamente"
},
"noticeVisibilityMode2": {
"message": "Todos os avisos de ignorar em tamanho pequeno"
},
"website": {
"message": "Site",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Código-fonte",
"description": "Used on Firefox Store Page"
},
"errorCode": {
"message": "Código de erro: "
},
"skip": {
"message": "Saltar"
},
"mute": {
"message": "Silenciar"
},
"full": {
"message": "Vídeo completo",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Saltar {0}?"
},
"mute_category": {
"message": "Silenciar {0}?"
},
"skip_to_category": {
"message": "Avançar para {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} ignorado",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} silenciado",
"description": "Example: Sponsor Muted"
},
"minLower": {
"message": "minuto"
},
"minsLower": {
"message": "minutos"
},
"hourLower": {
"message": "hora"
},
"hoursLower": {
"message": "horas"
},
"youHaveSavedTime": {
"message": "Poupou pessoas de",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " das suas vidas",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"setUserID": {
"message": "Definir ID de utilizador"
},
"userIDChangeWarning": {
"message": "Atenção: A alteração do ID de utilizador é permanente. Tem certeza que a deseja? Certifique-se de fazer uma cópia de segurança do seu ID antigo por precaução."
},
"areYouSureReset": {
"message": "Tem certeza que deseja redefinir?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com é agora suportado"
},
"exportOptions": {
"message": "Importar/Exportar todas as opções"
},
"exportOptionsCopy": {
"message": "Editar/copiar"
},
"exportOptionsDownload": {
"message": "Guardar num ficheiro"
},
"exportOptionsUpload": {
"message": "Carregar a partir de ficheiro"
},
"setOptions": {
"message": "Definir opções"
},
"submit": {
"message": "Enviar"
},
"cancel": {
"message": "Cancelar"
},
"delete": {
"message": "Eliminar"
},
"preview": {
"message": "Pré-visualizar"
},
"inspect": {
"message": "Inspecionar"
},
"edit": {
"message": "Editar"
},
"copyDebugInformation": {
"message": "Copiar informações de depuração para a área de transferência"
},
"copyDebugInformationFailed": {
"message": "Falha ao copiar para a área de transferência"
},
"to": {
"message": "até",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"generic_guideline2": {
"message": "Reproduz como se nada tivesse sido ignorado"
},
"category_sponsor": {
"message": "Patrocinador"
},
"category_exclusive_access": {
"message": "Acesso exclusivo"
},
"category_interaction_short": {
"message": "Lembrete de interação"
},
"category_livestream_messages_short": {
"message": "Leitura de mensagens"
},
"autoSkip": {
"message": "Saltar automaticamente"
},
"manualSkip": {
"message": "Saltar manualmente"
},
"disable": {
"message": "Desativar"
},
"category": {
"message": "Categoria"
},
"bracketNow": {
"message": "(agora)"
},
"moreCategories": {
"message": "Mais categorias"
},
"chooseACategory": {
"message": "Escolher uma categoria"
},
"bracketEnd": {
"message": "(fim)"
},
"manuallyHidden": {
"message": "ocultado manualmente"
},
"incorrectCategory": {
"message": "Alterar categoria"
},
"guidelines": {
"message": "Orientações"
},
"readTheGuidelines": {
"message": "Leia as nossas orientações!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"darkModeOptionsPage": {
"message": "Modo escuro na página de opções"
},
"helpPageThanksForInstalling": {
"message": "Obrigado por instalar o SponsorBlock."
},
"helpPageReviewOptions": {
"message": "Por favor, reveja as opções abaixo"
},
"helpPageHowSkippingWorks": {
"message": "Como a função saltar funciona"
},
"Submitting": {
"message": "A enviar"
},
"Editing": {
"message": "A editar"
},
"helpPageTooSlow": {
"message": "Está demasiado lento"
},
"Credits": {
"message": "Créditos"
},
"LearnMore": {
"message": "Saber mais"
},
"FullDetails": {
"message": "Todos os detalhes"
},
"CopyAndDownvote": {
"message": "Copiar e dar voto negativo"
},
"ContinueVoting": {
"message": "Continuar a votar"
},
"downvote": {
"message": "Voto negativo"
},
"upvote": {
"message": "Voto positivo"
},
"hideSegment": {
"message": "Ocultar segmento"
},
"dayAbbreviation": {
"message": "d",
"description": "100d"
},
"hourAbbreviation": {
"message": "h",
"description": "100h"
},
"optionsTabBehavior": {
"message": "Comportamento",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "Interface",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "Atalhos de teclado",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "Cópia de seg./restauro",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "Diversos",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"unbind": {
"message": "Desvincular",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "Não definido"
},
"change": {
"message": "Alterar"
},
"betaServerWarning": {
"message": "O servidor BETA está ativado!"
},
"openOptionsPage": {
"message": "Abrir página de opções"
}
}

View File

@@ -1,560 +0,0 @@
{
"fullName": {
"message": "SponsorBlock pentru YouTube - Sari peste sponsorizări",
"description": "Name of the extension."
},
"Description": {
"message": "Treci peste sponsorizări, cereri de abonare și multe altele pe videoclipuri de pe YouTube. Raportează sponsorii pe videoclipurile pe care le urmărești pentru a economisi timp altora.",
"description": "Description of the extension."
},
"400": {
"message": "Serverul a spus că această cerere este invalidă"
},
"429": {
"message": "Ai trimis prea multe timpuri ale sponsorizărilor pentru acest videoclip, sunteți sigur că sunt atât de multe?"
},
"409": {
"message": "Acest lucru a fost deja trimis înainte"
},
"channelWhitelisted": {
"message": "Canalul a fost adăugat la excepții!"
},
"Segment": {
"message": "segment"
},
"Segments": {
"message": "segmente"
},
"upvoteButtonInfo": {
"message": "Votează această înregistrare"
},
"reportButtonTitle": {
"message": "Raportează"
},
"reportButtonInfo": {
"message": "Raportează această înregistrare ca fiind incorectă."
},
"Dismiss": {
"message": "Renunță"
},
"Loading": {
"message": "Se încarcă..."
},
"Hide": {
"message": "Nu mai afișa niciodată"
},
"hitGoBack": {
"message": "Apasă unskip pentru a reveni."
},
"unskip": {
"message": "Unskip"
},
"reskip": {
"message": "Sari peste"
},
"unmute": {
"message": "Activare sunet"
},
"paused": {
"message": "Pauză"
},
"manualPaused": {
"message": "Cronometru oprit"
},
"confirmMSG": {
"message": "Pentru a edita sau a șterge valori individuale, apasă butonul de informații sau deschide popup-ul extensiei apăsând iconița extensiei din colțul dreapta sus."
},
"clearThis": {
"message": "Ești sigur că vrei să ștergi asta?\n\n"
},
"Unknown": {
"message": "A apărut o eroare în trimiterea timpilor sponsorizărilor, încearcă din nou mai târziu."
},
"sponsorFound": {
"message": "Acest videoclip are segmente în baza de date!"
},
"sponsor404": {
"message": "Nici un segment găsit"
},
"sponsorStart": {
"message": "Segmentul începe acum"
},
"sponsorEnd": {
"message": "Segmentul se termină acum"
},
"sponsorCancel": {
"message": "Anulare creare segment"
},
"noVideoID": {
"message": "Nu s-a găsit niciun videoclip YouTube.\nDacă acest lucru este incorect, actualizați fila."
},
"refreshSegments": {
"message": "Reîmprospătare segmente"
},
"success": {
"message": "Succes!"
},
"voted": {
"message": "Votat!"
},
"serverDown": {
"message": "Se pare că serverul este oprit. Contactează imediat dezvoltatorul."
},
"connectionError": {
"message": "A apărut o eroare de conexiune. Cod de eroare: "
},
"clearTimes": {
"message": "Curăță segmentele"
},
"openPopup": {
"message": "Deschide Popup-ul SponsorBlock"
},
"closePopup": {
"message": "Închide pop-up"
},
"SubmitTimes": {
"message": "Trimite segmente"
},
"submitCheck": {
"message": "Sunteți sigur că doriți să trimiteți asta?"
},
"whitelistChannel": {
"message": "Adaugă canalul la excepții"
},
"removeFromWhitelist": {
"message": "Șterge canalul de la excepții"
},
"voteOnTime": {
"message": "Votează pe un Segment"
},
"Submissions": {
"message": "Submisii"
},
"savedPeopleFrom": {
"message": "Tu ai salvat alte persoane de la "
},
"viewLeaderboard": {
"message": "Clasament"
},
"recordTimesDescription": {
"message": "Trimite"
},
"submissionEditHint": {
"message": "Editând secțiunea va apărea după ce faceți clic trimiteți",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Sugestie: Puteți configura combinații de taste pentru trimitere în opțiuni"
},
"clearTimesButton": {
"message": "Șterge Timpii"
},
"submitTimesButton": {
"message": "Trimite Timpii"
},
"publicStats": {
"message": "Acest lucru este folosit pe pagina publică de statistici pentru a arăta cât de mult ai contribuit. Vezi pagina"
},
"Username": {
"message": "Nume de utilizator"
},
"setUsername": {
"message": "Setează Numele De Utilizator"
},
"copyPublicID": {
"message": "Copiază ID-Utilizator Public"
},
"discordAdvert": {
"message": "Vino și alătură-te serverului oficial de discord pentru a oferi sugestii și feedback!"
},
"hideThis": {
"message": "Ascunde asta"
},
"Options": {
"message": "Opţiuni"
},
"showButtons": {
"message": "Arată Butoanele Pe Playerul De YouTube"
},
"hideButtons": {
"message": "Ascunde Butoanele Pe Playerul De YouTube"
},
"hideButtonsDescription": {
"message": "Asta ascunde butoanele ce apar pe playerul de YouTube pentru a trimite segmente."
},
"showInfoButton": {
"message": "Arată Butoanele De Informații Pe Playerul De YouTube"
},
"hideInfoButton": {
"message": "Ascunde Butoanele De Informații Pe Playerul De YouTube"
},
"hideDeleteButton": {
"message": "Ascunde Butonul De Ștergere Pe Playerul De YouTube"
},
"showDeleteButton": {
"message": "Arată Butonul De Ștergere Pe Playerul De YouTube"
},
"enableViewTracking": {
"message": "Activează Urmărirea Săriturilor"
},
"whatViewTracking": {
"message": "Acest lucru urmărește peste ce segmente ai sărit pentru a informa utilizatorii cât de mult înregistrările lor i-au ajutat pe alții și este folosit ca un contor împreună cu upvoturile pentru a ne asigura că spamul nu pătrunde în baza de date. Extensia trimite un mesaj serverului de fiecare dată când sari peste un segment. Sperăm că majoritatea oamenilor nu vor schimba această setare astfel că numerele să fie exacte. :)"
},
"enableQueryByHashPrefix": {
"message": "Interogare după Prefix Hash"
},
"whatQueryByHashPrefix": {
"message": "În loc să solicite segmente de pe server folosind ID-ul video, primele 4 caractere ale hash-ului ID-ul videoului sunt trimise. Acest server va trimite înapoi date pentru toate videoclipurile cu hash-uri similare."
},
"enableRefetchWhenNotFound": {
"message": "Refacere segmente pe videoclipuri noi"
},
"whatRefetchWhenNotFound": {
"message": "Dacă videoclipul este nou și nu sunt segmente găsite, va continua să se refeteze la fiecare câteva minute în timp ce vizionați."
},
"showNotice": {
"message": "Arată Notificarea Din Nou"
},
"showSkipNotice": {
"message": "Arată o notificare după ce un segment este sărit"
},
"longDescription": {
"message": "SponsorBlock vă permite să săriți peste sponsori, intro, outros, memento-uri pentru abonament și alte părți enervante ale videoclipurilor YouTube SponsorBlock este o extensie crowdsourced de browser, care hai să trimită oricui timpul de început și de sfârșit pentru segmente sponsorizate și alte segmente de videoclipuri YouTube. Odată ce o persoană transmite aceste informații, toți ceilalți cu această extensie vor sări peste segmentul sponsorizat. De asemenea, poți sări peste secțiunile non-muzicale ale videoclipurilor.",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "Website",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Cod Sursă",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "Notificarea a fost actualizată!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Dacă nu îți place, apasă butonul nu mai arăta niciodată.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"0": {
"message": "Eroare de Conexiune. Verifică-ți conexiunea la internet. Daca internetul functionează, serverul este probabil supraîncărcat sau a căzut."
},
"disableSkipping": {
"message": "Omiterea este activată"
},
"enableSkipping": {
"message": "Omiterea este dezactivată"
},
"yourWork": {
"message": "Munca Ta",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "Serverul pare să fie supraîncărcat. Încercați din nou în câteva secunde."
},
"errorCode": {
"message": "Codul Erorii: "
},
"skip": {
"message": "Sari"
},
"skip_category": {
"message": "Omiteți {0}?"
},
"disableAutoSkip": {
"message": "Dezactivează Autoskip"
},
"enableAutoSkip": {
"message": "Activează Autoskip"
},
"audioNotification": {
"message": "Notificare Audio Când Sari"
},
"audioNotificationDescription": {
"message": "Notificarea audio va reda un sunet atunci când sari peste o sponsorizare. Dacă este dezactivat (sau autoskip este dezactivat), niciun sunet va fi redat."
},
"showTimeWithSkips": {
"message": "Arată timpul cu săriturile eliminate"
},
"showTimeWithSkipsDescription": {
"message": "Acest timp apare în paranteze lângă ora curentă sub bara de progres. Aceasta arată durata totală a videoclipului minus orice segment. Aceasta include segmente marcate doar ca \"Afișare în Seekbar\"."
},
"youHaveSkipped": {
"message": "Ai omis "
},
"minLower": {
"message": "minut"
},
"minsLower": {
"message": "minute"
},
"hourLower": {
"message": "oră"
},
"hoursLower": {
"message": "ore"
},
"youHaveSavedTime": {
"message": "Tu ai salvat alte persoane",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " din viața lor",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Verificați status.sponsor.ajay.app pentru starea serverului."
},
"changeUserID": {
"message": "Importă/Exportă Id-ul Tău De Utilizator"
},
"setUserID": {
"message": "Setează Id-ul Utilizatorului"
},
"userIDChangeWarning": {
"message": "Atenție: Schimbarea Id-ului Utilizatorului este permanentă. Sunteți sigur că doriți să faceți asta? Asigurați-vă că ați făcut o copie de rezervă."
},
"createdBy": {
"message": "Creat De"
},
"optionsInfo": {
"message": "Activează suportul Invidious, dezactivează autoskip-ul, ascunde butoanele și altele."
},
"add": {
"message": "Adaugă"
},
"addInvidiousInstanceError": {
"message": "Acesta este un domeniu invalid. Acesta trebuie să includă DOAR partea de domeniu. Exemplu: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Resetează Lista De Instanțe Invidious"
},
"resetInvidiousInstanceAlert": {
"message": "Sunteți pe cale să resetați lista de instanțe Invidious"
},
"currentInstances": {
"message": "Instanțele curente:"
},
"minDuration": {
"message": "Durată minimă (secunde):"
},
"minDurationDescription": {
"message": "Segmentele mai scurte decât valoarea setată nu vor fi omise sau afișate în player."
},
"shortCheck": {
"message": "Următoarea înregistrare este mai mică decât opțiunea voastră de durată minimă. Acest lucru ar putea însemna că a fost deja trimisă și a fost ignorat datorită acestei opțiuni. Sunteți sigur că doriți să trimiteți?"
},
"showUploadButton": {
"message": "Arată Butonul De Încărcare"
},
"customServerAddress": {
"message": "Adresa Serverului SponsorBlock"
},
"customServerAddressDescription": {
"message": "Adresa SponsorBlock este folosită pentru a se efectua apeluri către server.\nDacă nu ai propriul tău server, acesta nu ar trebui modificat."
},
"save": {
"message": "Salvează"
},
"reset": {
"message": "Resetează"
},
"customAddressError": {
"message": "Adresa nu este în forma corectă. Asigurați-vă că http:// sau https:// se află la început."
},
"areYouSureReset": {
"message": "Sunteți sigur că doriți să resetați asta?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com este acum suportat"
},
"exportOptions": {
"message": "Importă/Exportă Toate Opțiunile"
},
"whatExportOptions": {
"message": "Aceasta este întreaga configurație în format JSON. Asta include si ID-ul tău de utilizator, așa că fi sigur să împărtășești asta cu înțelepciune."
},
"setOptions": {
"message": "Setează Opțiuni"
},
"exportOptionsWarning": {
"message": "Atenție: Schimbarea acestei opțiuni este permanentă și poate strica instalarea. Sunteți sigur că doriți să faceți asta? Asigurati-vă că ați făcut o copie de rezervă."
},
"incorrectlyFormattedOptions": {
"message": "Acest JSON nu este formatat corect. Opțiunile dumneavoastră nu au fost modificate."
},
"confirmNoticeTitle": {
"message": "Trimite Segment"
},
"submit": {
"message": "Trimite"
},
"cancel": {
"message": "Anulează"
},
"delete": {
"message": "Șterge"
},
"preview": {
"message": "Previzualizare"
},
"inspect": {
"message": "Inspectează"
},
"edit": {
"message": "Editare"
},
"copyDebugInformation": {
"message": "Copiază Informațiile de Depanare În Clipboard"
},
"copyDebugInformationFailed": {
"message": "Eroare la scrierea în clipboard"
},
"copyDebugInformationOptions": {
"message": "Copiază informația în clipboard pentru a fi furnizată dezvoltatorului când se găsește o eroare / când un dezvoltator o cere. Informațiile sensibile precum ID-ul de utilizator, canale exceptate, și adresa serverului personalizat au fost șterse. Însă conține informații precum useragent-ul, browser-ul, sistemul de operare, și numărul versiunii extensiei. "
},
"copyDebugInformationComplete": {
"message": "Informația de depanare a fost copiată în clipboard. Puteți elimina orice informație pe care nu doriți să o partajați. Salvați într-un fișier sau lipiți-o în raportul de erori."
},
"to": {
"message": "până la",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Sponsor"
},
"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"
},
"category_intro_description": {
"message": "Un interval fără conținut. Poate fi o pauză, un cadru static, o animație care se repeta. Nu ar trebui sa fie folosit pentru tranziții care conțin informații."
},
"category_intro_short": {
"message": "Pauză"
},
"category_outro": {
"message": "Ecran De Final/Credite"
},
"category_outro_description": {
"message": "Credite sau atunci când apare ecranul de final YouTube. Nu pentru concluzii cu informații."
},
"category_music_offtopic": {
"message": "Muzică: Secţiune Non-Muzicală"
},
"category_music_offtopic_short": {
"message": "Non-Muzical"
},
"category_livestream_messages": {
"message": "Transmisiune În Direct: Donație/Citirea Mesajelor"
},
"category_livestream_messages_short": {
"message": "Citire Mesaj"
},
"autoSkip": {
"message": "Sari Peste Automat"
},
"manualSkip": {
"message": "Sari Peste Manual"
},
"showOverlay": {
"message": "Arată În Bara de Derulare"
},
"disable": {
"message": "Dezactivare"
},
"seekBarColor": {
"message": "Culoarea Barei de Derulare"
},
"category": {
"message": "Categorie"
},
"skipOption": {
"message": "Opțiunea Săriturii",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Activează Serverul de Teste"
},
"whatEnableTestingServer": {
"message": "Înregistrările și voturile dumneavoastră NU VOR FI CONTORIZATE pe serverul principal. Utilizați asta doar pentru teste."
},
"testingServerWarning": {
"message": "Toate înregistrările și voturile dumneavoastră NU VOR FI CONTORIZATE pe serverul principal în timp ce vă conectați la serverul de teste. Asigurați-vă că dezactivați asta când vreți să trimiteți înregistrări reale."
},
"bracketNow": {
"message": "(Acum)"
},
"moreCategories": {
"message": "Mai multe categorii"
},
"chooseACategory": {
"message": "Alege o categorie"
},
"enableThisCategoryFirst": {
"message": "Pentru a trimite segmente cu categoria \"{0}\", trebuie să o activați în opțiuni. Veți fi redirecționat către opțiuni acum.",
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
},
"youMustSelectACategory": {
"message": "Trebuie să selectaţi o categorie pentru toate segmentele pe care le trimiteţi!"
},
"bracketEnd": {
"message": "(Sfârșit)"
},
"hiddenDueToDownvote": {
"message": "ascuns: downvote"
},
"hiddenDueToDuration": {
"message": "ascuns: prea scurt"
},
"forceChannelCheck": {
"message": "Forțează verificarea canalului înainte de a sări"
},
"whatForceChannelCheck": {
"message": "În mod implicit, va sări peste sponsorizări chiar și înainte de a ști ce canal este. În mod implicit, unele segmente la începutul videoclipului poate fi omis din canalele excluse. Activând această opțiune va preveni asta, dar va face ca toate săriturile să aibă o ușoară întârziere, deoarece obținerea ID-ul canalului poate dura ceva timp. Această întărziere poate fi neobservată daca aveți internet rapid."
},
"forceChannelCheckPopup": {
"message": "Consideră activarea \"Forțează verificarii canalului înainte de a sări\""
},
"downvoteDescription": {
"message": "Timpi Incorecți/Greșiți"
},
"nonMusicCategoryOnMusic": {
"message": "Acest videoclip este categorisit ca muzică. Ești sigur ca există un sponsor? Dacă acesta este defapt un segment non-muzical, deschideți opțiunile extensiei și activați această categorie. Apoi, puteți trimite acest segment ca non-muzical în loc de sponsol. Vă rugăm să citiți ghidul dacă sunteți confuz."
},
"multipleSegments": {
"message": "Segmente Multiple"
},
"guidelines": {
"message": "Instrucțiuni"
},
"readTheGuidelines": {
"message": "Citește Instrucțiunile!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Categoriile sunt aici!"
},
"categoryUpdate2": {
"message": "Deschide opțiunile pentru a sări peste intro-uri, outro-uri, merch, etc."
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,947 +0,0 @@
{
"fullName": {
"message": "SponsorBlock pre YouTube - Preskočte sponzorstvá",
"description": "Name of the extension."
},
"Description": {
"message": "Preskoč sponzorstvá, žiadosti o odber atď. v YouTube videách. Nahlás sponzorované segmenty vo videách čo sleduješ a ušetri ostatným čas.",
"description": "Description of the extension."
},
"400": {
"message": "Server hlási, že táto požiadavka je neplatná"
},
"429": {
"message": "Pre toto video ste pridali príliš veľa segmentov. Ste si istí, že ich je toľko?"
},
"409": {
"message": "Tento segment už bol pridaný"
},
"channelWhitelisted": {
"message": "Kanál pridaný do výnimiek!"
},
"Segment": {
"message": "segment"
},
"Segments": {
"message": "segmentov"
},
"upvoteButtonInfo": {
"message": "Hlasovať pre tento príspevok"
},
"reportButtonTitle": {
"message": "Nahlásiť"
},
"reportButtonInfo": {
"message": "Nahlásiť tento segment ako nesprávny."
},
"Dismiss": {
"message": "Zrušiť"
},
"Loading": {
"message": "Načítavanie..."
},
"Hide": {
"message": "Nikdy nezobrazovať"
},
"hitGoBack": {
"message": "Stlačte Nepreskočiť, aby ste sa vrátili na miesto pred preskočením."
},
"unskip": {
"message": "Nepreskočiť"
},
"reskip": {
"message": "Znovu preskočiť"
},
"unmute": {
"message": "Zrušiť stíšenie"
},
"paused": {
"message": "Pozastavené"
},
"manualPaused": {
"message": "Časovač zastavený"
},
"confirmMSG": {
"message": "Pre úpravu alebo zmazanie viacerých hodnôt kliknite na info tlačidlo alebo otvorte okno rozšírenia kliknutím na ikonu v pravom hornom rohu."
},
"clearThis": {
"message": "Naozaj to chcete vymazať?\n\n"
},
"Unknown": {
"message": "Pri odosielaní segmentu nastala chyba, skúste to prosím neskôr."
},
"sponsorFound": {
"message": "Toto video má segmenty v databáze!"
},
"sponsor404": {
"message": "Nenašli sa žiadne segmenty"
},
"sponsorStart": {
"message": "Začiatok segmentu"
},
"sponsorEnd": {
"message": "Koniec segmentu"
},
"sponsorCancel": {
"message": "Zrušiť vytváranie segmentu"
},
"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!"
},
"voted": {
"message": "Zahlasované!"
},
"serverDown": {
"message": "Zdá sa, že server je nedostupný. Okamžite kontaktujte vývojára."
},
"connectionError": {
"message": "Nastala chyba pripojenia. Kód chyby: "
},
"clearTimes": {
"message": "Zmazať segmenty"
},
"openPopup": {
"message": "Otvoriť podokno SponsorBlock"
},
"closePopup": {
"message": "Zavrieť okno"
},
"SubmitTimes": {
"message": "Odoslať segmenty"
},
"submitCheck": {
"message": "Naozaj to chcete odoslať?"
},
"whitelistChannel": {
"message": "Pridať kanál do výnimiek"
},
"removeFromWhitelist": {
"message": "Odobrať kanál z výnimiek"
},
"voteOnTime": {
"message": "Hlasovať za segment"
},
"Submissions": {
"message": "Segmenty"
},
"savedPeopleFrom": {
"message": "Ušetrili ste ľuďom "
},
"viewLeaderboard": {
"message": "Rebríček"
},
"recordTimesDescription": {
"message": "Odoslať"
},
"submissionEditHint": {
"message": "Úprava sekcií sa objaví po odoslaní",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Tip: V nastaveniach si môžete zmeniť klávesovú skratku pre odoslanie"
},
"clearTimesButton": {
"message": "Vymazať časy"
},
"submitTimesButton": {
"message": "Odoslať časy"
},
"publicStats": {
"message": "Toto sa používa vo verejnom rebríčku pre zobrazenie vášho príspevku. Pozrite si ho"
},
"Username": {
"message": "Používateľské meno"
},
"setUsername": {
"message": "Nastaviť Používateľské meno"
},
"copyPublicID": {
"message": "Skopírovať verejné ID používateľa"
},
"copySegmentID": {
"message": "Skopírovať ID segmentu"
},
"discordAdvert": {
"message": "Pripojte sa k oficiálnemu Discord serveru a zanechajte nám pripomienky!"
},
"hideThis": {
"message": "Skryť"
},
"Options": {
"message": "Nastavenia"
},
"showButtons": {
"message": "Zobraziť tlačidlá v YouTube prehrávači"
},
"hideButtons": {
"message": "Skryť tlačidlá v YouTube prehrávači"
},
"hideButtonsDescription": {
"message": "Skryje tlačidlá pre preskočenie segmentov, ktoré sa zobrazujú v YouTube prehrávači."
},
"showSkipButton": {
"message": "Zobrazovať tlačidlo preskočiť na hlavný obsah videa"
},
"showInfoButton": {
"message": "Zobraziť info tlačidlo v YouTube prehrávači"
},
"hideInfoButton": {
"message": "Skryť info tlačidlo v YouTube prehrávači"
},
"autoHideInfoButton": {
"message": "Automaticky skryť tlačidlo Info"
},
"hideDeleteButton": {
"message": "Skryť tlačidlo Zmazať v YouTube prehrávači"
},
"showDeleteButton": {
"message": "Zobraziť tlačidlo Zmazať v YouTube prehrávači"
},
"enableViewTracking": {
"message": "Zapnúť počítanie preskočení"
},
"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"
},
"whatQueryByHashPrefix": {
"message": "Namiesto dopytovania segmentov zo servera podľa videoID sa použijú prvé 4 znaky hashu videoID. Server odošle späť dáta za všetky videá s podobným hashom."
},
"enableRefetchWhenNotFound": {
"message": "Opakovane načítavať segmenty nových videí"
},
"whatRefetchWhenNotFound": {
"message": "Ak je video nové a nenašli sa žiadne segmenty, opakovane sa budú každých pár minút načítavať kým sa video prehráva."
},
"showNotice": {
"message": "Znovu zobraziť upozornenie"
},
"showSkipNotice": {
"message": "Zobraziť upozornenie pri preskočení segmentu"
},
"showCategoryGuidelines": {
"message": "Zobraziť pomocníka ku kategórii"
},
"noticeVisibilityMode0": {
"message": "Veľké upozornenia o preskočení"
},
"noticeVisibilityMode1": {
"message": "Malé upozornenia o automatickom preskočení"
},
"noticeVisibilityMode2": {
"message": "Malé upozornenia o všetkých preskočeniach"
},
"noticeVisibilityMode3": {
"message": "Priehľadné upozornenia o automatickom preskočení"
},
"noticeVisibilityMode4": {
"message": "Priehľadné upozornenia o všetkých preskočeniach"
},
"longDescription": {
"message": "SponsorBlock umožňuje preskočiť sponzorov, úvodné časti, záverečné časti, pripomienky na odber, nehudobné časti videoklipov alebo iné otravné časti YouTube videí. SponsorBlock je crowdsourceové rozšírenie prehliadača, pomocou ktorého môže ktokoľvek označiť začiatok a koniec takéhoto segmentu. Po odoslaní potom všetci ostatní s týmto rozšírením tieto segmenty automaticky preskočia.",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "Webstránka",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Zdrojový kód",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "Upozornienie bolo aktualizované!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Ak sa vám to stále nepáčí, stlačte tlačidlo Nikdy nezobrazovať.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"0": {
"message": "Spojenie vypršalo. Skontrolujte svoje internetové pripojenie. Ak vám internet funguje, server je pravdepodobne preťažený alebo nefunkčný."
},
"disableSkipping": {
"message": "Preskakovanie je zapnuté"
},
"enableSkipping": {
"message": "Preskakovanie je vypnuté"
},
"yourWork": {
"message": "Vaša Práca",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "Zdá sa, že server je preťažený. Skúste to o pár sekúnd."
},
"errorCode": {
"message": "Kód chyby: "
},
"skip": {
"message": "Preskočiť"
},
"mute": {
"message": "Stíšiť"
},
"full": {
"message": "Celé video",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Preskočiť {0}?"
},
"mute_category": {
"message": "Stíšiť {0}?"
},
"skip_to_category": {
"message": "Preskočiť na {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} preskočené",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} stíšený",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "Preskočené na {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "Zakázať Automatické Preskočenie"
},
"enableAutoSkip": {
"message": "Povoliť Automatické Preskočenie"
},
"audioNotification": {
"message": "Zvuková notifikácia pri preskočení"
},
"audioNotificationDescription": {
"message": "Zvuková notifikácia pri preskočení prehrá zvuk vždy, keď dôjde k preskočeniu segmentu. Ak je vypnutá (alebo je vypnuté automatické preskakovanie), neprehraje sa žiadny zvuk."
},
"showTimeWithSkips": {
"message": "Zobraziť čas bez preskočených segmentov"
},
"showTimeWithSkipsDescription": {
"message": "Tento čas sa zobrazuje vedľa času v zátvorkách pod časovou lištou. Je to celkový čas videa mínus všetky segmenty, a to aj vrátane segmentov, ktoré sa len zobrazujú v lište."
},
"youHaveSkipped": {
"message": "Preskočili ste "
},
"minLower": {
"message": "minúta"
},
"minsLower": {
"message": "minút"
},
"hourLower": {
"message": "hodina"
},
"hoursLower": {
"message": "hodiny"
},
"youHaveSavedTime": {
"message": "Ostatným ste ušetrili",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " z ich života",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Stav servera skontrolujete na status.sponsor.ajay.app."
},
"changeUserID": {
"message": "Import/export vášho ID používateľa"
},
"whatChangeUserID": {
"message": "Toto si starostlivo uchovajte. Podobne ako heslo by ste to nemali s nikým zdieľať. Ak by to získal niekto ďalší, mohol by vám uškodiť. Ak hľadáte vaše verejné ID používateľa, stlačte ikonu schránky v podokne."
},
"setUserID": {
"message": "Nastaviť Používateľove ID"
},
"userIDChangeWarning": {
"message": "Varovanie: Zmena ID používateľa je nezvratná. Naozaj to chcete spraviť? Pre istotu si staré ID používateľa zazálohujte."
},
"createdBy": {
"message": "Vytvoril"
},
"supportOtherSites": {
"message": "Podpora alternatívnych Youtube webov"
},
"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 alternatívneho klienta"
},
"addInvidiousInstanceDescription": {
"message": "Pridať vlastnú inštanciu. Musí byť vo formáte len doména. Napr. invidious.ajay.app"
},
"add": {
"message": "Pridať"
},
"addInvidiousInstanceError": {
"message": "Neplatná doména. Tu musí byť len doménová časť. Napr. invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Obnoviť zoznam inštancií Invidious"
},
"resetInvidiousInstanceAlert": {
"message": "Chystáte sa obnoviť zoznam inštancií Invidious"
},
"currentInstances": {
"message": "Aktuálne inštancie:"
},
"minDuration": {
"message": "Minimálna dĺžka (v sekundách):"
},
"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ť?"
},
"liveOrPremiere": {
"message": "Vytváranie segmentov v aktívnom živom prenose alebo premiére nie je dovolené. Počkajte prosím na jeho ukončenie, potom obnovte stránku a skontrolujte, či sú segmenty správne vytvorené."
},
"showUploadButton": {
"message": "Ukázať Nahrávacie Tlačidlo"
},
"customServerAddress": {
"message": "Adresa serveru SponsorBlock"
},
"customServerAddressDescription": {
"message": "Adresa, ktorú používa SponsorBlock pre komunikáciu so serverom.\nAk nemáte vlastný server, tak to nemeňte."
},
"save": {
"message": "Uložiť"
},
"reset": {
"message": "Vynulovať"
},
"customAddressError": {
"message": "Táto adresa nie je platná. Musí začínať http:// alebo https:// a končiť bez lomky."
},
"areYouSureReset": {
"message": "Naozaj to chcete obnoviť?"
},
"mobileUpdateInfo": {
"message": "už je podporované aj m.youtube.com"
},
"exportOptions": {
"message": "Import/export všetkých nastavení"
},
"whatExportOptions": {
"message": "Toto sú vaše kompletné nastavenia vo formáte JSON. Obsahuje aj vaše Používateľské ID, takže s ním narábajte opatrne."
},
"setOptions": {
"message": "Nastaviť Nastavenia"
},
"exportOptionsWarning": {
"message": "Varovanie: zmena nastavení je nezvratná a môže poškodiť inštaláciu. Naozaj to chcete spraviť? Pre istotu si staré nastavenia zazálohujte."
},
"incorrectlyFormattedOptions": {
"message": "Tento JSON súbor nemá správny formát. Nastavenia neboli zmenené."
},
"confirmNoticeTitle": {
"message": "Odoslať segment"
},
"submit": {
"message": "Poslať"
},
"cancel": {
"message": "Zrušiť"
},
"delete": {
"message": "Odstrániť"
},
"preview": {
"message": "Ukážka"
},
"unsubmitted": {
"message": "Neodoslané"
},
"inspect": {
"message": "Kontrola"
},
"edit": {
"message": "Upraviť"
},
"copyDebugInformation": {
"message": "Skopírovať debug informácie do schránky"
},
"copyDebugInformationFailed": {
"message": "Nepodarilo sa skopírovať debug informácie"
},
"copyDebugInformationOptions": {
"message": "Skopíruje informácie do schránky, ktoré môžu byť poskytnuté vývojárovi ako pomoc pri hľadaní chyby / keď si to vývojár požiada. Citlivé informácie ako vaše používateľské ID, kanály vo whiteliste, a vlastné adresy serverov poskytnuté nebudú. Avšak, budu poskytnuté informácie ako Váš useragent, prehliadač, operačný systém, a verzia rozšírenia."
},
"copyDebugInformationComplete": {
"message": "Debug informácie boli skopírované do schránky. Ak chcete, môžete odstrániť akékoľvek informácie, ktoré nechcete zdieľať. Uložte si ich do textového súboru alebo ich vložte do nahlásenia chyby."
},
"to": {
"message": "do",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"generic_guideline1": {
"message": "Zahŕňa plynulé prechody"
},
"generic_guideline2": {
"message": "Prehrať tak, ako keby nebolo nič preskočené"
},
"category_sponsor": {
"message": "Sponzor"
},
"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_sponsor_guideline1": {
"message": "Platené promo"
},
"category_sponsor_guideline2": {
"message": "Nie pre dary a vlastný merch"
},
"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_selfpromo_guideline1": {
"message": "Dary, členstvo a vlastný merch"
},
"category_selfpromo_guideline2": {
"message": "Obsah mimo témy, ktorý nepridáva žiadne informácie"
},
"category_selfpromo_guideline3": {
"message": "Nie pre firemne navrhnuté produkty a merch"
},
"category_exclusive_access": {
"message": "Exkluzívny Prístup"
},
"category_exclusive_access_description": {
"message": "Iba pre označovanie celých videí. Používa sa, keď video predstavuje produkt, službu alebo miesto, ku ktorým získali bezplatný alebo dotovaný prístup."
},
"category_exclusive_access_pill": {
"message": "Toto video predstavuje produkt, službu alebo miesto, ku ktorým získali bezplatný alebo dotovaný prístup",
"description": "Short description for this category"
},
"category_exclusive_access_guideline1": {
"message": "Celé video predstavuje niečo, kde sa dá získať voľný alebo zľavnený prístup"
},
"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_guideline1": {
"message": "Krátke pripomienky na \"Páči sa mi to\", Odber a Sledovanie"
},
"category_interaction_guideline2": {
"message": "Zahŕňa nepriame pripomienky na komentovanie"
},
"category_interaction_guideline3": {
"message": "Nie pre všeobecné promo, iba výzvy k akcii"
},
"category_interaction_short": {
"message": "Pripomienka interakcie"
},
"category_intro": {
"message": "Prerušenie/Úvodná animácia"
},
"category_intro_description": {
"message": "Interval bez obsahu. Môže to byť pauza, statický obraz, opakujúca sa animácia. Toto by nemalo byť použité pre prechody obsahujúce informácie."
},
"category_intro_short": {
"message": "Prerušenie"
},
"category_intro_guideline1": {
"message": "Interval bez samotného obsahu"
},
"category_intro_guideline2": {
"message": "Nie pre prechody bez informácie"
},
"category_outro": {
"message": "Koncové karty / titulky"
},
"category_outro_description": {
"message": "Kredity alebo keď sa zobrazia YouTube koncové karty. Neplatí pre zhrnutia s informáciami."
},
"category_outro_guideline1": {
"message": "Nezahrňte obsah, aj keby už boli vidieť koncové karty"
},
"category_preview": {
"message": "Ukážka/Rekapitulácia"
},
"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_preview_guideline1": {
"message": "Ukážky, ktoré sa zobrazia neskôr alebo v budúcom videu"
},
"category_preview_guideline2": {
"message": "Zhrnutie predošlého videa"
},
"category_preview_guideline3": {
"message": "Nie pre sekcie, ktoré majú dodatočný obsah"
},
"category_filler_description": {
"message": "Odbočky mimo tému pridané len pre zábavu, nepotrebné pre pochopenie hlavného obsahu videa. Nemalo by zahŕňať segmenty, ktoré vysvetľujú kontext alebo vedľajšie detaily."
},
"category_filler_short": {
"message": "Odbočka"
},
"category_filler_guideline1": {
"message": "Nepodstatné scény slúžiace len ako výplň alebo humor"
},
"category_filler_guideline2": {
"message": "Nepodarené a opakované zábery"
},
"category_filler_guideline3": {
"message": "Nie pre scény vyžadované pre pochopenie témy"
},
"category_music_offtopic": {
"message": "Hudba: časť bez hudby"
},
"category_music_offtopic_description": {
"message": "Len pre hudobné videá. Použite len ak segment nie je možné zaradiť do inej kategórie."
},
"category_music_offtopic_short": {
"message": "Bez hudby"
},
"category_music_offtopic_guideline1": {
"message": "Sekcie, ktoré nie sú v oficiálnom vydaní"
},
"category_music_offtopic_guideline2": {
"message": "Sekcia bez hudby v živom vystúpení"
},
"category_poi_highlight": {
"message": "Hlavný obsah videa"
},
"category_poi_highlight_description": {
"message": "Tá časť videa, ktorú ľudia vyhľadávajú. Podobné komentárom \"Video začína v čase x\"."
},
"category_poi_highlight_guideline1": {
"message": "Sekcia, ktorú vyhľadáva väčšina ľudí"
},
"category_poi_highlight_guideline2": {
"message": "Môže pomôcť preskočiť predošlý obsah"
},
"category_poi_highlight_guideline3": {
"message": "Môže preskočiť na hlavný obsah alebo náhľad"
},
"category_livestream_messages": {
"message": "Živé vysielanie: oznamy a dary"
},
"category_livestream_messages_short": {
"message": "Oznamy"
},
"autoSkip": {
"message": "Automatické Preskočenie"
},
"manualSkip": {
"message": "Manuálne Preskočenie"
},
"showOverlay": {
"message": "Zobraziť v časovej lište"
},
"disable": {
"message": "Zakázať"
},
"autoSkip_POI": {
"message": "Automaticky preskočiť na začiatok"
},
"manualSkip_POI": {
"message": "Opýtať sa, keď sa video nahraje"
},
"showOverlay_POI": {
"message": "Zobraziť v časovej lište"
},
"showOverlay_full": {
"message": "Ukázať Označenie"
},
"autoSkipOnMusicVideos": {
"message": "Automaticky preskočiť všetky segmenty ak neexistuje segment bez hudby"
},
"muteSegments": {
"message": "Povoliť segmenty, ktoré namiesto preskočenia stíšía zvuk"
},
"fullVideoSegments": {
"message": "Zobraziť ikonu, ak je celé video reklama",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"previewColor": {
"message": "Neodoslaná farba",
"description": "Referring to submissions that have not been sent to the server yet."
},
"seekBarColor": {
"message": "Farba časovej lišty"
},
"category": {
"message": "Kategória"
},
"skipOption": {
"message": "Možnosti preskočenia",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Povoliť beta-test server"
},
"whatEnableTestingServer": {
"message": "Vaše segmenty a hlasy NEBUDÚ ZAPOČÍTANÉ na hlavnom serveri. Slúži iba na testovanie."
},
"testingServerWarning": {
"message": "Všetky segmenty a hlasy NEBUDÚ ZAPOČÍTANÉ na hlavnom serveri počas pripojenia na beta server. Nezabudnite si toto vypnúť ak chcete spraviť reálne segmenty."
},
"bracketNow": {
"message": "(Teraz)"
},
"moreCategories": {
"message": "Viac Kategórií"
},
"chooseACategory": {
"message": "Vyberte kategóriu"
},
"enableThisCategoryFirst": {
"message": "Pre odoslanie segmentov z kategórie \"{0}\" ju musíte zapnúť v nastaveniach. Teraz tam budete presmerovaní.",
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
},
"poiOnlyOneSegment": {
"message": "Varovanie: Tento typ segmentu môže byť aktívny len jeden. Odoslanie viacerých spôsobí zobrazenie náhodného z nich."
},
"youMustSelectACategory": {
"message": "Musíte zvoliť kategóriu pre každý segment!"
},
"bracketEnd": {
"message": "(Koniec)"
},
"hiddenDueToDownvote": {
"message": "skryté: negatívne hlasy"
},
"hiddenDueToDuration": {
"message": "skryté: príliš krátke"
},
"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 kanála sa ešte nenačítalo. Ak pozeráte video vložené na stránke, skúste ísť radšej priamo na YouTube. Problém mohli spôsobiť zmeny na YouTube. Ak je tomu tak, zanechajte komentár:"
},
"videoInfoFetchFailed": {
"message": "Zdá sa, že niečo blokuje SponsorBlocku možnosť získať dáta o videu. Prosím navštívte https://github.com/ajayyy/SponsorBlock/issues/741 pre viac informácií."
},
"youtubePermissionRequest": {
"message": "SponsorBlock nemá prístup k YouTube API. Povoľte oprávnenie v nasledovnej výzve, počkajte pár sekúnd a znovu nahrajte stránku."
},
"acceptPermission": {
"message": "Povoľte oprávnenie"
},
"permissionRequestSuccess": {
"message": "Oprávnenie bolo úspešne povolené!"
},
"permissionRequestFailed": {
"message": "Povolenie oprávnenia zlyhalo, stlačili ste odmietnuť?"
},
"adblockerIssueWhitelist": {
"message": "Ak to neviete vyriešiť, vypnite nastavenie \"Vynútiť kontrolu kanála pred preskočením\", lebo SponsorBlock nevie zistiť informácie o kanále tohto videa"
},
"forceChannelCheck": {
"message": "Vynútiť kontrolu kanála pred preskočením"
},
"whatForceChannelCheck": {
"message": "V predvolenom nastavení sa preskočia segmenty hneď bez kontroly kanálu. V predvolenom nastavení môžu byť niektoré segmenty na začiatku videa na kanáloch pridaných na whitelist preskočené. Povolením tejto možnosti tomu zabránite, ale všetky preskakovania budú mať mierne oneskorenie, pretože získanie ID kanála môže chvíľu trvať. Toto oneskorenie nemusí byť viditeľné, ak máte rýchly internet."
},
"forceChannelCheckPopup": {
"message": "Zvážte povolenie \"Vynútiť kontrolu kanála pred preskočením\""
},
"downvoteDescription": {
"message": "Nesprávne/Zlé načasovanie"
},
"incorrectCategory": {
"message": "Zmeniť kategóriu"
},
"nonMusicCategoryOnMusic": {
"message": "Toto video je kategorizované ako hudobné. Ste si istý, že obsahuje sponzora? Ak sa skutočne jedná o časť bez hudby, otvorte možnosti rozšírenia a povoľte túto kategóriu. Potom môžete tento segment uložiť ako kategóriu \"Bez hudby\" namiesto sponzora. Ak si neviete rady, tak si prosím prečítajte pravidlá."
},
"multipleSegments": {
"message": "Viac segmentov"
},
"guidelines": {
"message": "Pravidlá"
},
"readTheGuidelines": {
"message": "Prečítajte si pravidlá!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Kategórie sú tu!"
},
"categoryUpdate2": {
"message": "Otvorte nastavenia pre preskočenie úvodov, záverov, podpory reklamných predmetov, atď."
},
"help": {
"message": "Pomocník"
},
"GotIt": {
"message": "Rozumiem",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "Tento segment je dlhý. Ak je celé video o jednej téme, zmeňte \"Preskočiť\" na \"Celé video\". Pre ďalšie informácie si pozrite pravidlá."
},
"categoryPillTitleText": {
"message": "Celé video je označené touto kategóriou a je príliš previazané, aby sa to dalo rozlíšiť"
},
"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á a potom Vám to varovanie odoberieme. Môžete sa pripojiť do konverzácie pomocou discord.gg/SponsorBlock alebo matrix.to/#/#sponsor:ajay.app"
},
"voteRejectedWarning": {
"message": "Hlasovanie bolo zamietnuté kvôli varovaniu. Kliknite pre otvorenie chatu, aby ste ho vyriešili, alebo sa vráťte až budete mať čas.",
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
},
"Donate": {
"message": "Prispieť"
},
"hideDonationLink": {
"message": "Skryť možnosti prispenia"
},
"helpPageThanksForInstalling": {
"message": "Ďakujeme za inštaláciu SponsorBlock-u."
},
"helpPageReviewOptions": {
"message": "Skontrolujte prosím možnosti nižšie"
},
"helpPageFeatureDisclaimer": {
"message": "Veľa funkcií je vo východiskovom stave vypnutých. Ak chcete preskakovať úvody, závery, používať Invidious apod., zapnite ich nižšie. Taktiež môžete zobraziť alebo skryť niektoré ovládacie prvky."
},
"helpPageHowSkippingWorks": {
"message": "Ako funguje preskakovanie"
},
"helpPageHowSkippingWorks1": {
"message": "Video segmenty budú automaticky preskočené, ak sa nájdu v databáze. Zobraziť si ich môžete po kliknutí na ikonu rozšírenia vo vyskakovacom okne."
},
"helpPageHowSkippingWorks2": {
"message": "Vždy keď preskočíte segment, tak dostanete oznam. Ak sa vám nepozdáva načasovanie, môžete o tom zahlasovať palcom dole! Zahlasovať tiež môžete vo vyskakovacom okne."
},
"Submitting": {
"message": "Odosielam"
},
"helpPageSubmitting1": {
"message": "Odosielanie môžete vykonať z vyskakovacieho okna stlačením \"Začiatok segmentu\" alebo priamo tlačidlami v prehrávači."
},
"helpPageSubmitting2": {
"message": "Stlačenie tlačidla Prehrať označí začiatok segmentu a stlačenie tlačidla Stop označí koniec. Takto viete označiť aj viac segmentov pred odoslaním. Stlačením tlačidla \"Nahrať\" segmenty odošlete. Stlačením tlačidla \"Kôš\" segmenty zmažete."
},
"Editing": {
"message": "Úpravy"
},
"helpPageEditing1": {
"message": "Ak ste sa pomýlili, môžete segment upraviť alebo zmazať po stlačení šípky hore."
},
"helpPageTooSlow": {
"message": "Príliš pomalé"
},
"helpPageTooSlow1": {
"message": "Môžete využiť aj klávesové skratky. Bodkočiarka označí začiatok alebo koniec segmentu a apostrof ho odošle."
},
"helpPageCopyOfDatabase": {
"message": "Viem získať kópiu databázy? Čo bude ak zmizneš?"
},
"helpPageCopyOfDatabase1": {
"message": "Databáza je verejná a dostupná na"
},
"helpPageCopyOfDatabase2": {
"message": "Zdrojový kód je voľne dostupný. Takže aj keby sa mi niečo stalo, vaše príspevky sa nestratia."
},
"helpPageNews": {
"message": "Novinky a ako to funguje"
},
"helpPageSourceCode": {
"message": "Kde môžem získať zdrojový kód?"
},
"Credits": {
"message": "Autori"
},
"LearnMore": {
"message": "Zistiť viac"
},
"FullDetails": {
"message": "Úplné podrobnosti"
},
"CopyDownvoteButtonInfo": {
"message": "Dá palec dole a vytvorí kópiu, aby ste mohli segment znova odoslať"
},
"OpenCategoryWikiPage": {
"message": "Otvoriť wiki stránku tejto kategórie."
},
"CopyAndDownvote": {
"message": "Skopírovať a dať palec dole"
},
"ContinueVoting": {
"message": "Pokračovať v hlasovaní"
},
"ChangeCategoryTooltip": {
"message": "Týmto ihneď vykonáte zmeny v segmentoch"
},
"downvote": {
"message": "Hlasovať proti"
},
"upvote": {
"message": "Hlasovať za"
},
"hideSegment": {
"message": "Skryť segment"
},
"SponsorTimeEditScrollNewFeature": {
"message": "Čas môžete rýchlo zmeniť kolieskom myši, ak je kurzor nad zadávacím políčkom. Pre jemné zmeny pritom držte kláves ctrl alebo shift."
},
"categoryPillNewFeature": {
"message": "Nové! Zistite, kedy je video kompletne sponzorované alebo vlastná propagácia"
},
"dayAbbreviation": {
"message": "d",
"description": "100d"
},
"hourAbbreviation": {
"message": "h",
"description": "100h"
},
"betaServerWarning": {
"message": "Je zapnutý BETA server!"
},
"openOptionsPage": {
"message": "Otvoriť stránku s nastaveniami"
}
}

View File

@@ -1 +0,0 @@
{}

View File

@@ -1,30 +0,0 @@
{
"Options": {
"message": "Подешавања"
},
"sourceCode": {
"message": "Изворни код",
"description": "Used on Firefox Store Page"
},
"errorCode": {
"message": "Код грешке: "
},
"skip": {
"message": "Прескочи"
},
"add": {
"message": "Додај"
},
"save": {
"message": "Сачувај"
},
"cancel": {
"message": "Откажи"
},
"edit": {
"message": "Измени"
},
"help": {
"message": "Помоћ"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
{}

View File

@@ -1,791 +0,0 @@
{
"fullName": {
"message": "YouTube க்கான SponsorBlock - ஸ்பான்சர்ஷிப்களைத் தவிர்",
"description": "Name of the extension."
},
"Description": {
"message": "YouTube வீடியோக்களில் ஸ்பான்சர்ஷிப்கள், சந்தா பிச்சை மற்றும் பலவற்றைத் தவிர்க்கவும். மற்றவர்களின் நேரத்தைச் சேமிக்க நீங்கள் பார்க்கும் வீடியோக்களில் ஸ்பான்சர்களைப் புகாரளிக்கவும்.",
"description": "Description of the extension."
},
"400": {
"message": "இந்த கோரிக்கை தவறானது என்று சர்வர் கூறினார்"
},
"429": {
"message": "இந்த ஒரு வீடியோவிற்கு நீங்கள் பல ஸ்பான்சர் நேரங்களை சமர்ப்பித்துள்ளீர்கள், இது பல உள்ளன என்று நீங்கள் உறுதியாக நம்புகிறீர்களா?"
},
"409": {
"message": "இது ஏற்கனவே சமர்ப்பிக்கப்பட்டுள்ளது"
},
"channelWhitelisted": {
"message": "சேனல் அனுமதிப்பட்டியல்!"
},
"Segment": {
"message": "பிரிவு"
},
"Segments": {
"message": "பிரிவுகள்"
},
"upvoteButtonInfo": {
"message": "இந்த சமர்ப்பிப்பை மேம்படுத்துங்கள்"
},
"reportButtonTitle": {
"message": "அறிக்கை"
},
"reportButtonInfo": {
"message": "இந்த சமர்ப்பிப்பு தவறானது என புகாரளிக்கவும்."
},
"Dismiss": {
"message": "நீக்கு"
},
"Loading": {
"message": "ஏற்றுகிறது..."
},
"Hide": {
"message": "ஒருபோதும் அனுமதிக்காதே"
},
"hitGoBack": {
"message": "நீங்கள் எங்கிருந்து வந்தீர்கள் என்பதைத் தட்டவும்."
},
"unskip": {
"message": "அன்ஸ்கிப்"
},
"reskip": {
"message": "ரெஸ்கிப்"
},
"unmute": {
"message": "ஒலியடக்கு"
},
"paused": {
"message": "இடைநிறுத்தப்பட்டது"
},
"manualPaused": {
"message": "டைமர் நிறுத்தப்பட்டது"
},
"confirmMSG": {
"message": "தனிப்பட்ட மதிப்புகளைத் திருத்த அல்லது நீக்க, தகவல் பொத்தானைக் கிளிக் செய்யவும் அல்லது மேல் வலது மூலையில் உள்ள நீட்டிப்பு ஐகானைக் கிளிக் செய்வதன் மூலம் நீட்டிப்பு பாப்அப்பைத் திறக்கவும்."
},
"clearThis": {
"message": "இதை அழிக்க விரும்புகிறீர்களா?\n\n"
},
"Unknown": {
"message": "உங்கள் ஸ்பான்சர் நேரங்களைச் சமர்ப்பிப்பதில் பிழை ஏற்பட்டது, தயவுசெய்து பின்னர் மீண்டும் முயற்சிக்கவும்."
},
"sponsorFound": {
"message": "இந்த வீடியோவில் தரவுத்தளத்தில் பகுதிகள் உள்ளன!"
},
"sponsor404": {
"message": "எந்தப் பகுதியும் கிடைக்கவில்லை"
},
"sponsorStart": {
"message": "பிரிவு இப்போது தொடங்குகிறது"
},
"sponsorEnd": {
"message": "பிரிவு இப்போது முடிகிறது"
},
"sponsorCancel": {
"message": "உருவாக்கும் பகுதியை ரத்து செய்"
},
"noVideoID": {
"message": "YouTube வீடியோ எதுவும் கிடைக்கவில்லை.\nஇது தவறாக இருந்தால், தாவலைப் புதுப்பிக்கவும்."
},
"refreshSegments": {
"message": "பிரிவுகளைப் புதுப்பிக்கவும்"
},
"success": {
"message": "வெற்றி!"
},
"voted": {
"message": "வாக்களித்தார்!"
},
"serverDown": {
"message": "சேவையகம் செயலிழந்துவிட்டதாகத் தெரிகிறது. டெவலப்பரை உடனடியாக தொடர்பு கொள்ளவும்."
},
"connectionError": {
"message": "இணைப்பு பிழை ஏற்பட்டது. பிழை குறியீடு: "
},
"clearTimes": {
"message": "பிரிவுகளை அழிக்கவும்"
},
"openPopup": {
"message": "ஸ்பான்சர் பிளாக் பாப்அப்பைத் திறக்கவும்"
},
"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": "பயனர்பெயரை அமைக்கவும்"
},
"copyPublicID": {
"message": "பொது பயனர் IDயை நகலெடுக்கவும்"
},
"copySegmentID": {
"message": "துண்டத்தின் IDஐ நகலெடு"
},
"discordAdvert": {
"message": "பரிந்துரைகள் மற்றும் கருத்துக்களை வழங்க அதிகாரப்பூர்வ டிஸ்கார்ட் சேவையகத்தில் சேர வாருங்கள்!"
},
"hideThis": {
"message": "இதை மறை"
},
"Options": {
"message": "விருப்பங்கள்"
},
"showButtons": {
"message": "YouTube பிளேயரில் பொத்தான்களைக் காட்டு"
},
"hideButtons": {
"message": "YouTube பிளேயரில் பொத்தான்களை மறைக்கவும்"
},
"hideButtonsDescription": {
"message": "ஸ்கிப் பிரிவுகளைச் சமர்ப்பிக்க YouTube பிளேயரில் தோன்றும் பொத்தான்களை இது மறைக்கிறது."
},
"showSkipButton": {
"message": "பிளேயரில் Skip To Highlight பொத்தானை வைக்கவும்"
},
"showInfoButton": {
"message": "YouTube பிளேயரில் தகவல் பொத்தானைக் காட்டு"
},
"hideInfoButton": {
"message": "YouTube பிளேயரில் தகவல் பொத்தானை மறைக்கவும்"
},
"autoHideInfoButton": {
"message": "தகவல் பொத்தானை தானாக மறைக்கவும்"
},
"hideDeleteButton": {
"message": "YouTube பிளேயரில் நீக்கு பொத்தானை மறைக்க"
},
"showDeleteButton": {
"message": "YouTube பிளேயரில் நீக்கு பொத்தானைக் காட்டு"
},
"enableViewTracking": {
"message": "ஸ்கிப் கவுண்ட் டிராக்கிங்கை இயக்கு"
},
"whatViewTracking": {
"message": "இந்த அம்சம் பயனர்கள் தங்கள் சமர்ப்பிப்பு மற்றவர்களுக்கு எவ்வளவு உதவியது மற்றும் ஸ்பேம் தரவுத்தளத்தில் வரவில்லை என்பதை உறுதிப்படுத்த அப்வோட்களுடன் ஒரு மெட்ரிக்காகப் பயன்படுத்தப்படுவதை பயனர்களுக்குத் தெரியப்படுத்த நீங்கள் எந்த பகுதிகளைத் தவிர்த்துவிட்டீர்கள் என்பதைக் கண்காணிக்கிறது. ஒவ்வொரு முறையும் நீங்கள் ஒரு பகுதியைத் தவிர்க்கும்போது நீட்டிப்பு சேவையகத்திற்கு ஒரு செய்தியை அனுப்புகிறது. பார்வை எண்கள் துல்லியமாக இருக்க பெரும்பாலான மக்கள் இந்த அமைப்பை மாற்ற மாட்டார்கள் என்று நம்புகிறோம். :)"
},
"enableViewTrackingInPrivate": {
"message": "தனிப்பட்ட/மறைநிலை தாவல்களில் ஸ்கிப் கவுண்ட் டிராக்கிங்கை இயக்கவும்"
},
"enableTrackDownvotes": {
"message": "துண்டத்தின் வாக்கிறக்கங்களைச் சேமி"
},
"whatTrackDownvotes": {
"message": "புதுப்பித்தப் பின் நீங்கள் வாக்கிறக்கிய துண்டங்கள் மறைந்தே இருக்கும்"
},
"trackDownvotesWarning": {
"message": "எச்சரிக்கை: இதை முடக்குதல் முன்னர் சேமித்த எல்லா வாக்கிறக்கங்களையும் அழிக்கும்"
},
"enableQueryByHashPrefix": {
"message": "ஹாஷ் முன்னொட்டு மூலம் வினவல்"
},
"whatQueryByHashPrefix": {
"message": "வீடியோஐடியைப் பயன்படுத்தி சேவையகத்திலிருந்து பிரிவுகளைக் கோருவதற்கு பதிலாக, வீடியோஐடியின் ஹாஷின் முதல் 4 எழுத்துக்கள் அனுப்பப்படுகின்றன. இந்த சேவையகம் எல்லா வீடியோக்களுக்கும் ஒத்த ஹாஷ்கள் கொண்ட தரவை திருப்பி அனுப்பும்."
},
"enableRefetchWhenNotFound": {
"message": "புதிய வீடியோக்களில் பிரிவுகளை மீண்டும் பெறுக"
},
"whatRefetchWhenNotFound": {
"message": "வீடியோ புதியது மற்றும் எந்தப் பகுதியும் காணப்படவில்லை என்றால், நீங்கள் பார்க்கும் போது ஒவ்வொரு சில நிமிடங்களுக்கும் இது மீண்டும் புதுப்பிக்கப்படும்."
},
"showNotice": {
"message": "அறிவிப்பை மீண்டும் காட்டு"
},
"showSkipNotice": {
"message": "ஒரு பிரிவு தவிர்க்கப்பட்ட பிறகு அறிவிப்பைக் காட்டு"
},
"noticeVisibilityMode0": {
"message": "முழு அளவு தவிர்க்கும் அறிவிப்புகள்"
},
"noticeVisibilityMode1": {
"message": "ஆட்டோ ஸ்கிப்பிற்கான சிறிய ஸ்கிப் அறிவிப்புகள்"
},
"noticeVisibilityMode2": {
"message": "அனைத்து சிறிய தவிர்க்கும் அறிவிப்புகள்"
},
"noticeVisibilityMode3": {
"message": "ஆட்டோ ஸ்கிப்பிற்கான மங்கலான தவிர்க்கும் அறிவிப்புகள்"
},
"noticeVisibilityMode4": {
"message": "அனைத்து மங்கலான தவிர்க்கும் அறிவிப்புகள்"
},
"longDescription": {
"message": "ஸ்பான்சர்கள், அறிமுகங்கள், அவுட்ரோஸ், சந்தா நினைவூட்டல்கள் மற்றும் YouTube வீடியோக்களின் பிற எரிச்சலூட்டும் பகுதிகளைத் தவிர்க்க ஸ்பான்சர் பிளாக் உங்களை அனுமதிக்கிறது. ஸ்பான்சர் பிளாக் என்பது ஒரு கூட்ட நெரிசலான உலாவி நீட்டிப்பாகும், இது ஸ்பான்சர் செய்யப்பட்ட பிரிவுகளின் தொடக்க மற்றும் இறுதி நேரங்களையும் 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": "துண்டத்தைக் கெந்து",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "துண்டத்தை ஆரம்பி/நிறுத்து",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "துண்டங்களைச் சமர்ப்பி",
"description": "Keybind label"
},
"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": "தவிர்"
},
"mute": {
"message": "ஒலியடக்கு"
},
"full": {
"message": "முழு காணொளி",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "{0} ஐ தவிர்?"
},
"mute_category": {
"message": "{0} ஐ ஒலியடக்கவா?"
},
"skip_to_category": {
"message": "{0} க்குச் செல்லவா?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} தவிர்க்கப்பட்டது",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} ஒலியடக்கப்பட்டது",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "{0} தவிர்க்கப்பட்டது",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "ஆட்டோ ஸ்கிப்பை முடக்கு"
},
"enableAutoSkip": {
"message": "ஆட்டோ ஸ்கிப்பை இயக்கு"
},
"audioNotification": {
"message": "தவிர்க்க ஆடியோ அறிவிப்பு"
},
"audioNotificationDescription": {
"message": "ஒரு பகுதியைத் தவிர்க்கும்போதெல்லாம் ஸ்கிப்பில் ஆடியோ அறிவிப்பு ஒலிக்கும். முடக்கப்பட்டிருந்தால் (அல்லது தானாகத் தவிர் முடக்கப்பட்டுள்ளது), ஒலி எதுவும் இயக்கப்படாது."
},
"showTimeWithSkips": {
"message": "அகற்றப்பட்ட ஸ்கிப்களுடன் நேரத்தைக் காட்டு"
},
"showTimeWithSkipsDescription": {
"message": "இந்த நேரம் தற்போதைய நேரத்திற்கு அடுத்த அடைப்புக்குறிக்குள் தோன்றும். இது எந்தவொரு வீடியோவிற்கும் கழித்த மொத்த வீடியோ கால அளவைக் காட்டுகிறது. இதில் \"சீக்பாரில் காண்பி\" என்று மட்டுமே குறிக்கப்பட்ட பகுதிகள் அடங்கும்."
},
"youHaveSkipped": {
"message": "நீங்கள் தவிர்த்துவிட்டீர்கள் "
},
"minLower": {
"message": "நிமிடம்"
},
"minsLower": {
"message": "நிமிடங்கள்"
},
"hourLower": {
"message": "மணி"
},
"hoursLower": {
"message": "மணி"
},
"youHaveSavedTime": {
"message": "நீங்கள் மக்களைக் காப்பாற்றியுள்ளீர்கள்",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " அவர்களின் வாழ்க்கையில்",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "சேவையக நிலைக்கு status.sponsor.ajay.app ஐச் சரிபார்க்கவும்."
},
"changeUserID": {
"message": "உங்கள் பயனர் ஐடியை இறக்குமதி / ஏற்றுமதி செய்யுங்கள்"
},
"whatChangeUserID": {
"message": "இதை தனிப்பட்டதாக வைத்திருக்க வேண்டும். இது கடவுச்சொல் போன்றது, அதை யாருடனும் பகிரக்கூடாது. யாரிடமாவது இது இருந்தால், அவர் உங்களைப் போல் ஆள்மாறாட்டம் செய்யலாம். உங்கள் பொது பயனர் IDயை நீங்கள் தேடுகிறீர்களானால், பாப்அப்பில் உள்ள கிளிப்போர்டு ஐகானைக் கிளிக் செய்யவும்."
},
"setUserID": {
"message": "UserID ஐ அமைக்கவும்"
},
"userIDChangeWarning": {
"message": "எச்சரிக்கை: பயனர் ஐடியை மாற்றுவது நிரந்தரமானது. இதை நிச்சயமாக செய்ய விரும்புகிறீர்களா? உங்கள் பழையதை காப்புப்பிரதி எடுக்க உறுதிசெய்க."
},
"createdBy": {
"message": "உருவாக்கியது"
},
"supportOtherSites": {
"message": "3 வது தரப்பு 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": "ஆக்கிரமிப்பு ஆதரவை இயக்கு, ஆட்டோஸ்கிப்பை முடக்கு, பொத்தான்களை மறை மற்றும் பலவற்றை."
},
"addInvidiousInstance": {
"message": "3 வது தரப்பு தளங்களை சேர்க்கவும்"
},
"addInvidiousInstanceDescription": {
"message": "தனிப்பட்ட தளங்களை சேர்க்கவும். இது Domain வடிவமைப்பில் இருக்க வேண்டும். உதாரணம்: invidious.ajay.app"
},
"add": {
"message": "சேர்"
},
"addInvidiousInstanceError": {
"message": "இது தவறான களமாகும். இது டொமைன் பகுதியை மட்டுமே கொண்டிருக்க வேண்டும். எடுத்துக்காட்டு: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Invidous நிகழ்வு பட்டியலை மீட்டமைக்கவும்"
},
"resetInvidiousInstanceAlert": {
"message": "Invidous நிகழ்வு பட்டியலை மீட்டமைக்கவும்"
},
"currentInstances": {
"message": "தற்போதைய நிகழ்வுகள்:"
},
"minDuration": {
"message": "குறைந்தபட்ச காலம் (விநாடிகள்):"
},
"minDurationDescription": {
"message": "தொகுப்பு மதிப்பை விடக் குறைவான பகுதிகள் தவிர்க்கப்படாது அல்லது பிளேயரில் காண்பிக்கப்படாது."
},
"skipNoticeDuration": {
"message": "அறிவிப்பு காலத்தை தவிர்க்கவும் (வினாடிகள்):"
},
"skipNoticeDurationDescription": {
"message": "தவிர்க்கும் அறிவிப்பு குறைந்தபட்சம் இவ்வளவு நேரம் திரையில் இருக்கும். மேனுவல் ஸ்கிப்பிங்கிற்கு, இது நீண்ட நேரம் தெரியும்."
},
"shortCheck": {
"message": "பின்வரும் சமர்ப்பிப்பு உங்கள் குறைந்தபட்ச கால விருப்பத்தை விட குறைவாக உள்ளது. இது ஏற்கனவே சமர்ப்பிக்கப்பட்டுள்ளது என்பதையும், இந்த விருப்பத்தின் காரணமாக புறக்கணிக்கப்படுவதையும் இது குறிக்கலாம். நீங்கள் சமர்ப்பிக்க விரும்புகிறீர்களா?"
},
"showUploadButton": {
"message": "பதிவேற்ற பொத்தானைக் காட்டு"
},
"customServerAddress": {
"message": "ஸ்பான்சர் பிளாக் சேவையக முகவரி"
},
"customServerAddressDescription": {
"message": "சேவையகத்திற்கு அழைப்புகளைச் செய்ய ஸ்பான்சர் பிளாக் பயன்படுத்தும் முகவரி.\nஉங்களிடம் உங்கள் சொந்த சேவையக நிகழ்வு இல்லையென்றால், இதை மாற்றக்கூடாது."
},
"save": {
"message": "சேமி"
},
"reset": {
"message": "மீட்டமை"
},
"customAddressError": {
"message": "இந்த முகவரி சரியான வடிவத்தில் இல்லை. உங்களிடம் ஆரம்பத்தில் http: // அல்லது https: // இருப்பதை உறுதிசெய்து கொள்ளுங்கள்."
},
"areYouSureReset": {
"message": "இதை மீட்டமைக்க விரும்புகிறீர்களா?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com இப்போது துணைபுரிகிறது"
},
"exportOptions": {
"message": "அனைத்து விருப்பங்களையும் இறக்குமதி / ஏற்றுமதி"
},
"exportOptionsCopy": {
"message": "திருத்து/நகலெடு"
},
"exportOptionsDownload": {
"message": "கோப்பிற்கு சேமி"
},
"exportOptionsUpload": {
"message": "கோப்பிலிருந்து ஏற்று"
},
"whatExportOptions": {
"message": "இது JSON இல் உங்கள் முழு உள்ளமைவு. இது உங்கள் பயனர் ஐடியை உள்ளடக்கியது, எனவே இதை புத்திசாலித்தனமாக பகிர்ந்து கொள்ளுங்கள்."
},
"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": "ஒரு பிழையை எழுப்பும்போது / ஒரு டெவலப்பர் கோருகையில் ஒரு டெவலப்பருக்கு வழங்க வேண்டிய தகவலை கிளிப்போர்டுக்கு நகலெடுக்கிறது. உங்கள் பயனர் ஐடி, அனுமதிப்பட்டியல் சேனல்கள் மற்றும் தனிப்பயன் சேவையக முகவரி போன்ற உணர்திறன் தகவல்கள் அகற்றப்பட்டுள்ளன. இருப்பினும் இது உங்கள் பயனர், உலாவி, இயக்க முறைமை மற்றும் நீட்டிப்பு பதிப்பு எண் போன்ற தகவல்களைக் கொண்டுள்ளது. "
},
"copyDebugInformationComplete": {
"message": "பிழைத்திருத்த தகவல்கள் கிளிப் போர்டில் நகலெடுக்கப்பட்டுள்ளன. நீங்கள் பகிர விரும்பாத எந்த தகவலையும் அகற்ற தயங்க. இதை உரை கோப்பில் சேமிக்கவும் அல்லது பிழை அறிக்கையில் ஒட்டவும்."
},
"to": {
"message": "க்கு",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "ஸ்பான்சர்"
},
"category_sponsor_description": {
"message": "கட்டண பதவி உயர்வு, கட்டண பரிந்துரைகள் மற்றும் நேரடி விளம்பரங்கள். சுய விளம்பரத்திற்காகவோ அல்லது அவர்கள் விரும்பும் காரணங்கள் / படைப்பாளிகள் / வலைத்தளங்கள் / தயாரிப்புகளுக்கு இலவசக் கூச்சலுக்காகவோ அல்ல."
},
"category_selfpromo": {
"message": "செலுத்தப்படாத / சுய ஊக்குவிப்பு"
},
"category_selfpromo_description": {
"message": "செலுத்தப்படாத அல்லது சுய விளம்பரத்தைத் தவிர \"ஸ்பான்சர்\" போன்றது. பொருட்கள், நன்கொடைகள் அல்லது அவர்கள் யாருடன் ஒத்துழைத்தார்கள் என்பது பற்றிய தகவல்கள் இதில் அடங்கும்."
},
"category_exclusive_access": {
"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_outro_description": {
"message": "வரவுகளை அல்லது YouTube எண்ட்கார்டுகள் தோன்றும் போது. தகவலுடன் முடிவுகளுக்கு அல்ல."
},
"category_preview": {
"message": "முன்னோட்டம்/மறுபரிசீலனை"
},
"category_preview_description": {
"message": "முந்தைய எபிசோடுகளின் விரைவான மறுபரிசீலனை அல்லது தற்போதைய வீடியோவில் பின்னர் என்ன வரப்போகிறது என்பதற்கான முன்னோட்டம். ஒன்றாக தொகுக்கப்பட்ட கிளிப்புகள், பேசப்பட்ட சுருக்கங்களுக்கு அல்ல."
},
"category_filler_short": {
"message": "நிரப்பி"
},
"category_music_offtopic": {
"message": "இசை: இசை அல்லாத பிரிவு"
},
"category_music_offtopic_description": {
"message": "இசை வீடியோக்களில் மட்டுமே பயன்படுத்த வேண்டும். இது ஏற்கனவே மற்றொரு வகையால் மூடப்பட்டிருக்கும் இசை வீடியோக்களின் பிரிவுகளுக்கு மட்டுமே பயன்படுத்தப்பட வேண்டும்."
},
"category_music_offtopic_short": {
"message": "இசை அல்லாதது"
},
"category_poi_highlight": {
"message": "முன்னிலைப்படுத்த"
},
"category_poi_highlight_description": {
"message": "பெரும்பாலான மக்கள் தேடும் வீடியோவின் பகுதி. \"வீடியோ x இல் தொடங்குகிறது\" போன்றது."
},
"category_livestream_messages": {
"message": "லைவ்ஸ்ட்ரீம்: நன்கொடை / செய்தி அளவீடுகள்"
},
"category_livestream_messages_short": {
"message": "செய்தி வாசிப்பு"
},
"autoSkip": {
"message": "ஆட்டோ ஸ்கிப்"
},
"manualSkip": {
"message": "கையேடு தவிர்"
},
"showOverlay": {
"message": "சீக் பட்டியில் காட்டு"
},
"disable": {
"message": "முடக்கு"
},
"autoSkip_POI": {
"message": "துவக்கத்திற்கு தானாகக் கெந்து"
},
"manualSkip_POI": {
"message": "காணொளி ஏறுகையில் கேள்"
},
"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": "மறைக்கப்பட்ட: மிகக் குறுகிய"
},
"manuallyHidden": {
"message": "கைமுறையாக மறைக்கப்பட்டது"
},
"acceptPermission": {
"message": "அனுமதியை ஏற்றுக்கொள்"
},
"permissionRequestSuccess": {
"message": "அனுமதி கோரிக்கை வெற்றி!"
},
"forceChannelCheck": {
"message": "தவிர்ப்பதற்கு முன் சேனல் சோதனை கட்டாயப்படுத்தவும்"
},
"whatForceChannelCheck": {
"message": "இயல்பாக, சேனல் என்னவென்று கூடத் தெரிவதற்கு முன்பே அது பிரிவுகளைத் தவிர்க்கும். இயல்பாக, வீடியோவின் தொடக்கத்தில் சில பகுதிகள் அனுமதிப்பட்டியல் சேனல்களில் தவிர்க்கப்படலாம். இந்த விருப்பத்தை இயக்குவது இதைத் தடுக்கும், ஆனால் சேனல் ஐடியைப் பெறுவதற்கு சிறிது நேரம் ஆகலாம் என்பதால் எல்லா ஸ்கிப்பிங்கையும் சிறிது தாமதப்படுத்துகிறது. உங்களிடம் வேகமான இணையம் இருந்தால் இந்த தாமதம் கவனிக்கப்படாமல் இருக்கலாம்."
},
"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": "உதவி"
},
"GotIt": {
"message": "புரிந்தது",
"description": "Used as the button to dismiss a tooltip"
},
"hideForever": {
"message": "என்றென்றும் மறை"
},
"Donate": {
"message": "கொடையளி"
},
"hideDonationLink": {
"message": "நன்கொடை இணைப்பை மறை"
},
"darkModeOptionsPage": {
"message": "தெரிவுகள் பக்கத்தில் இருண்ட பயன்முறை"
},
"helpPageThanksForInstalling": {
"message": "ஸ்பான்சர்ப்ளாக் நிறுவியதற்கு நன்றி."
},
"ContinueVoting": {
"message": "தொடர்ந்து வாக்களி"
},
"ChangeCategoryTooltip": {
"message": "இது உம் துண்டங்களை உடனடியாகச் செயல்படுத்தும்"
},
"downvote": {
"message": "வாக்கிறக்கு"
},
"upvote": {
"message": "வாக்கேற்று"
},
"hideSegment": {
"message": "துண்டத்தை மறை"
},
"dayAbbreviation": {
"message": "நா",
"description": "100d"
},
"hourAbbreviation": {
"message": "ம",
"description": "100h"
},
"optionsTabBehavior": {
"message": "நடத்தை",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "இடைமுகம்",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "விசைப்பலகை குறுக்குவழிகள்",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "காப்புநகல்/மீட்டெடுப்பு",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "இதர",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"notSet": {
"message": "அமைக்கவில்லை"
},
"change": {
"message": "மாற்று"
},
"betaServerWarning": {
"message": "பீட்டா சேவையகம் இயக்கப்பட்டுள்ளது!"
},
"openOptionsPage": {
"message": "தெரிவுகள் பக்கத்தைத் திற"
}
}

View File

@@ -1,551 +0,0 @@
{
"fullName": {
"message": "YouTube కోసం SponsorBlock - స్పాన్సర్‌షిప్‌లను దాటవేయి",
"description": "Name of the extension."
},
"Description": {
"message": "YouTube వీడియోలలో స్పాన్సర్‌షిప్‌లు, సభ్యత్వ యాచన మరియు మరిన్ని దాటవేయండి. ఇతరుల సమయాన్ని ఆదా చేయడానికి మీరు చూసే వీడియోలపై స్పాన్సర్‌లను నివేదించండి.",
"description": "Description of the extension."
},
"400": {
"message": "ఈ అభ్యర్థన చెల్లదని సర్వర్ తెలిపింది"
},
"429": {
"message": "ఈ ఒక వీడియో కోసం మీరు చాలా స్పాన్సర్ సమయాలను సమర్పించారు, ఈ చాలా ఉన్నాయి అని మీరు ఖచ్చితంగా అనుకుంటున్నారా?"
},
"409": {
"message": "ఇది ఇప్పటికే ముందు సమర్పించబడింది"
},
"channelWhitelisted": {
"message": "ఛానెల్ వైట్‌లిస్ట్!"
},
"Segment": {
"message": "విభాగం"
},
"Segments": {
"message": "విభాగాలు"
},
"upvoteButtonInfo": {
"message": "ఈ సమర్పణను పెంచండి"
},
"reportButtonTitle": {
"message": "నివేదిక"
},
"reportButtonInfo": {
"message": "ఈ సమర్పణ తప్పు అని నివేదించండి."
},
"Dismiss": {
"message": "రద్దుచేసే"
},
"Loading": {
"message": "లోడ్ అవుతుంది..."
},
"Hide": {
"message": "నెవర్ షో"
},
"hitGoBack": {
"message": "మీరు ఎక్కడి నుండి వచ్చారో అన్‌స్కిప్ నొక్కండి."
},
"unskip": {
"message": "అన్‌స్కిప్"
},
"reskip": {
"message": "రెస్కిప్"
},
"paused": {
"message": "పాజ్ చేయబడింది"
},
"manualPaused": {
"message": "టైమర్ ఆగిపోయింది"
},
"confirmMSG": {
"message": "వ్యక్తిగత విలువలను సవరించడానికి లేదా తొలగించడానికి, ఎగువ కుడి మూలలోని పొడిగింపు చిహ్నాన్ని క్లిక్ చేయడం ద్వారా సమాచార బటన్‌ను క్లిక్ చేయండి లేదా పొడిగింపు పాపప్‌ను తెరవండి."
},
"clearThis": {
"message": "మీరు దీన్ని ఖచ్చితంగా క్లియర్ చేయాలనుకుంటున్నారా?\n\n"
},
"Unknown": {
"message": "మీ స్పాన్సర్ సమయాన్ని సమర్పించడంలో లోపం ఉంది, దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి."
},
"sponsorFound": {
"message": "ఈ వీడియో డేటాబేస్లో విభాగాలు ఉన్నాయి!"
},
"sponsor404": {
"message": "విభాగాలు ఏవీ కనుగొనబడలేదు"
},
"sponsorStart": {
"message": "విభాగం ఇప్పుడు ప్రారంభమవుతుంది"
},
"sponsorEnd": {
"message": "సెగ్మెంట్ ఇప్పుడు ముగుస్తుంది"
},
"noVideoID": {
"message": "YouTube వీడియో కనుగొనబడలేదు.\nఇది తప్పు అయితే, టాబ్‌ను రిఫ్రెష్ చేయండి."
},
"success": {
"message": "విజయం!"
},
"voted": {
"message": "ఓటు వేశారు!"
},
"serverDown": {
"message": "సర్వర్ డౌన్ అయిందనిపిస్తోంది. వెంటనే డెవలపర్‌ను సంప్రదించండి."
},
"connectionError": {
"message": "కనెక్షన్ లోపం సంభవించింది. లోపం కోడ్: "
},
"clearTimes": {
"message": "విభాగాలను క్లియర్ చేయండి"
},
"openPopup": {
"message": "స్పాన్సర్బ్లాక్ పాపప్‌ను తెరవండి"
},
"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": "సూచనలు మరియు అభిప్రాయాలను ఇవ్వడానికి అధికారిక అసమ్మతి సర్వర్‌లో చేరండి!"
},
"hideThis": {
"message": "దీన్ని దాచండి"
},
"Options": {
"message": "ఎంపికలు"
},
"showButtons": {
"message": "YouTube ప్లేయర్‌లో బటన్లను చూపించు"
},
"hideButtons": {
"message": "YouTube ప్లేయర్‌లో బటన్లను దాచండి"
},
"hideButtonsDescription": {
"message": "దాటవేసే విభాగాలను సమర్పించడానికి ఇది YouTube ప్లేయర్‌లో కనిపించే బటన్లను దాచిపెడుతుంది."
},
"showInfoButton": {
"message": "YouTube ప్లేయర్‌లో సమాచారం బటన్‌ను చూపించు"
},
"hideInfoButton": {
"message": "YouTube ప్లేయర్‌లో సమాచారం బటన్‌ను దాచండి"
},
"hideDeleteButton": {
"message": "YouTube ప్లేయర్‌లో తొలగించు బటన్‌ను దాచండి"
},
"showDeleteButton": {
"message": "YouTube ప్లేయర్‌లో తొలగించు బటన్‌ను చూపించు"
},
"enableViewTracking": {
"message": "స్కిప్ కౌంట్ ట్రాకింగ్‌ను ప్రారంభించండి"
},
"whatViewTracking": {
"message": "ఈ ఫీచర్ మీరు సమర్పించిన విభాగాలు వినియోగదారులకు వారి సమర్పణ ఇతరులకు ఎంతవరకు సహాయపడిందో తెలియజేయడానికి మరియు స్పామ్ డేటాబేస్లోకి రాకుండా చూసుకోవటానికి అప్‌వోట్‌లతో పాటు మెట్రిక్‌గా ఉపయోగించబడుతుందని ట్రాక్ చేస్తుంది. మీరు ప్రతి విభాగాన్ని దాటవేసిన ప్రతిసారీ పొడిగింపు సర్వర్‌కు సందేశాన్ని పంపుతుంది. వీక్షణ సంఖ్యలు ఖచ్చితమైనవి కాబట్టి చాలా మంది ఈ సెట్టింగ్‌ను మార్చరు. :)"
},
"enableQueryByHashPrefix": {
"message": "హాష్ ఉపసర్గ ద్వారా ప్రశ్న"
},
"whatQueryByHashPrefix": {
"message": "వీడియోఐడిని ఉపయోగించి సర్వర్ నుండి విభాగాలను అభ్యర్థించే బదులు, వీడియోఐడి యొక్క హాష్ యొక్క మొదటి 4 అక్షరాలు పంపబడతాయి. ఈ సర్వర్ సారూప్య హాష్‌లతో ఉన్న అన్ని వీడియోల కోసం డేటాను తిరిగి పంపుతుంది."
},
"enableRefetchWhenNotFound": {
"message": "క్రొత్త వీడియోలలో విభాగాలను తిరిగి పొందండి"
},
"whatRefetchWhenNotFound": {
"message": "వీడియో క్రొత్తది మరియు విభాగాలు ఏవీ కనుగొనబడకపోతే, మీరు చూసేటప్పుడు ప్రతి కొన్ని నిమిషాలకు ఇది రీఫెట్ చేస్తూనే ఉంటుంది."
},
"showNotice": {
"message": "మళ్ళీ నోటీసు చూపించు"
},
"showSkipNotice": {
"message": "ఒక విభాగం దాటవేయబడిన తర్వాత నోటీసు చూపించు"
},
"longDescription": {
"message": "స్పాన్సర్లు, పరిచయాలు, ros ట్రోలు, చందా రిమైండర్‌లు మరియు 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."
},
"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} ని దాటవేయాలా?"
},
"disableAutoSkip": {
"message": "ఆటో దాటవేయిని ఆపివేయి"
},
"enableAutoSkip": {
"message": "ఆటో దాటవేయిని ప్రారంభించండి"
},
"audioNotification": {
"message": "దాటవేసిన ఆడియో నోటిఫికేషన్"
},
"audioNotificationDescription": {
"message": "ఒక విభాగం దాటవేయబడినప్పుడల్లా స్కిప్‌లోని ఆడియో నోటిఫికేషన్ ధ్వనిని ప్లే చేస్తుంది. నిలిపివేయబడితే (లేదా ఆటో స్కిప్ నిలిపివేయబడింది), శబ్దం ప్లే చేయబడదు."
},
"showTimeWithSkips": {
"message": "తొలగించబడిన స్కిప్‌లతో సమయాన్ని చూపించు"
},
"showTimeWithSkipsDescription": {
"message": "ఈ సమయం సీక్ బార్ క్రింద ప్రస్తుత సమయం పక్కన బ్రాకెట్లలో కనిపిస్తుంది. ఇది మొత్తం వీడియో వ్యవధి మైనస్ ఏదైనా విభాగాలను చూపుతుంది. ఇందులో \"సీక్బార్లో చూపించు\" అని మాత్రమే గుర్తించబడిన విభాగాలు ఉన్నాయి."
},
"youHaveSkipped": {
"message": "మీరు దాటవేశారు "
},
"minLower": {
"message": "నిమిషం"
},
"minsLower": {
"message": "నిమిషాలు"
},
"hourLower": {
"message": "గంట"
},
"hoursLower": {
"message": "గంటలు"
},
"youHaveSavedTime": {
"message": "మీరు ప్రజలను రక్షించారు",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " వారి జీవితాల",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "సర్వర్ స్థితి కోసం status.sponsor.ajay.app ని తనిఖీ చేయండి."
},
"changeUserID": {
"message": "మీ యూజర్‌ఐడిని దిగుమతి / ఎగుమతి చేయండి"
},
"setUserID": {
"message": "UserID ని సెట్ చేయండి"
},
"userIDChangeWarning": {
"message": "హెచ్చరిక: యూజర్‌ఐడిని మార్చడం శాశ్వతం. మీరు దీన్ని ఖచ్చితంగా చేయాలనుకుంటున్నారా? ఒకవేళ మీ పాతదాన్ని బ్యాకప్ చేయాలని నిర్ధారించుకోండి."
},
"createdBy": {
"message": "సృష్టికర్త"
},
"optionsInfo": {
"message": "ఇన్విడియస్ మద్దతును ప్రారంభించండి, ఆటోస్కిప్‌ను డిసేబుల్ చేయండి, బటన్లను దాచు మరియు మరిన్ని చేయండి."
},
"add": {
"message": "జోడించు"
},
"addInvidiousInstanceError": {
"message": "ఇది చెల్లని డొమైన్. ఇది డొమైన్ భాగాన్ని కలిగి ఉండాలి. ఉదాహరణ: invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "ఇన్విడియస్ ఇన్‌స్టాన్స్ జాబితాను రీసెట్ చేయండి"
},
"resetInvidiousInstanceAlert": {
"message": "మీరు ఇన్విడియస్ ఉదాహరణ జాబితాను రీసెట్ చేయబోతున్నారు"
},
"currentInstances": {
"message": "ప్రస్తుత సందర్భాలు:"
},
"minDuration": {
"message": "కనిష్ట వ్యవధి (సెకన్లు):"
},
"minDurationDescription": {
"message": "సెట్ విలువ కంటే తక్కువ విభాగాలు దాటవేయబడవు లేదా ప్లేయర్‌లో చూపబడవు."
},
"shortCheck": {
"message": "కింది సమర్పణ మీ కనీస వ్యవధి ఎంపిక కంటే తక్కువగా ఉంటుంది. ఇది ఇప్పటికే సమర్పించబడిందని మరియు ఈ ఎంపిక కారణంగా విస్మరించబడిందని దీని అర్థం. మీరు ఖచ్చితంగా సమర్పించాలనుకుంటున్నారా?"
},
"showUploadButton": {
"message": "అప్‌లోడ్ బటన్ చూపించు"
},
"customServerAddress": {
"message": "స్పాన్సర్బ్లాక్ సర్వర్ చిరునామా"
},
"customServerAddressDescription": {
"message": "స్పాన్సర్‌బ్లాక్ చిరునామా సర్వర్‌కు కాల్ చేయడానికి ఉపయోగిస్తుంది.\nమీకు మీ స్వంత సర్వర్ ఉదాహరణ లేకపోతే, ఇది మార్చబడదు."
},
"save": {
"message": "సేవ్ చేయండి"
},
"reset": {
"message": "రీసెట్ చేయండి"
},
"customAddressError": {
"message": "ఈ చిరునామా సరైన రూపంలో లేదు. మీకు ప్రారంభంలో http: // లేదా https: // ఉందని మరియు వెనుకంజలో స్లాష్‌లు లేవని నిర్ధారించుకోండి."
},
"areYouSureReset": {
"message": "మీరు దీన్ని రీసెట్ చేయాలనుకుంటున్నారా?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com కి ఇప్పుడు మద్దతు ఉంది"
},
"exportOptions": {
"message": "అన్ని ఎంపికలను దిగుమతి / ఎగుమతి చేయండి"
},
"whatExportOptions": {
"message": "ఇది JSON లో మీ మొత్తం కాన్ఫిగరేషన్. ఇది మీ యూజర్‌ఐడిని కలిగి ఉంది, కాబట్టి దీన్ని తెలివిగా పంచుకోండి."
},
"setOptions": {
"message": "ఎంపికలను సెట్ చేయండి"
},
"exportOptionsWarning": {
"message": "హెచ్చరిక: ఎంపికలను మార్చడం శాశ్వతం మరియు మీ ఇన్‌స్టాల్‌ను విచ్ఛిన్నం చేస్తుంది. మీరు దీన్ని ఖచ్చితంగా చేయాలనుకుంటున్నారా? ఒకవేళ మీ పాతదాన్ని బ్యాకప్ చేయాలని నిర్ధారించుకోండి."
},
"incorrectlyFormattedOptions": {
"message": "ఈ JSON సరిగ్గా ఆకృతీకరించబడలేదు. మీ ఎంపికలు మార్చబడలేదు."
},
"confirmNoticeTitle": {
"message": "విభాగాన్ని సమర్పించండి"
},
"submit": {
"message": "సమర్పించండి"
},
"cancel": {
"message": "రద్దు చేయండి"
},
"delete": {
"message": "తొలగించు"
},
"preview": {
"message": "పరిదృశ్యం"
},
"inspect": {
"message": "పరిశీలించండి"
},
"edit": {
"message": "సవరించండి"
},
"copyDebugInformation": {
"message": "డీబగ్ సమాచారాన్ని క్లిప్‌బోర్డ్‌కు కాపీ చేయండి"
},
"copyDebugInformationFailed": {
"message": "క్లిప్‌బోర్డ్‌కు వ్రాయడంలో విఫలమైంది"
},
"copyDebugInformationOptions": {
"message": "బగ్‌ను పెంచేటప్పుడు / డెవలపర్ అభ్యర్థించినప్పుడు డెవలపర్‌కు అందించాల్సిన సమాచారాన్ని క్లిప్‌బోర్డ్‌కు కాపీ చేస్తుంది. మీ యూజర్ ఐడి, వైట్‌లిస్ట్ చేసిన ఛానెల్‌లు మరియు అనుకూల సర్వర్ చిరునామా వంటి సున్నితమైన సమాచారం తొలగించబడింది. అయితే ఇది మీ ఉపయోగకరమైన, బ్రౌజర్, ఆపరేటింగ్ సిస్టమ్ మరియు పొడిగింపు సంస్కరణ సంఖ్య వంటి సమాచారాన్ని కలిగి ఉంటుంది. "
},
"copyDebugInformationComplete": {
"message": "డీబగ్ సమాచారం క్లిప్ బోర్డ్‌కు కాపీ చేయబడింది. మీరు భాగస్వామ్యం చేయని సమాచారాన్ని తొలగించడానికి సంకోచించకండి. దీన్ని టెక్స్ట్ ఫైల్‌లో సేవ్ చేయండి లేదా బగ్ రిపోర్ట్‌లో అతికించండి."
},
"to": {
"message": "కు",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "స్పాన్సర్"
},
"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": "ఇంటర్‌మిషన్ / ఇంట్రో యానిమేషన్"
},
"category_intro_description": {
"message": "అసలు కంటెంట్ లేని విరామం. విరామం, స్టాటిక్ ఫ్రేమ్, పునరావృత యానిమేషన్ కావచ్చు. సమాచారాన్ని కలిగి ఉన్న పరివర్తనలకు ఇది ఉపయోగించరాదు."
},
"category_intro_short": {
"message": "అంతరాయం"
},
"category_outro": {
"message": "ఎండ్ కార్డులు / క్రెడిట్స్"
},
"category_outro_description": {
"message": "క్రెడిట్స్ లేదా YouTube ఎండ్‌కార్డ్‌లు కనిపించినప్పుడు. సమాచారంతో తీర్మానాల కోసం కాదు."
},
"category_music_offtopic": {
"message": "సంగీతం: నాన్-మ్యూజిక్ విభాగం"
},
"category_music_offtopic_description": {
"message": "మ్యూజిక్ వీడియోలలో మాత్రమే ఉపయోగం కోసం. ఇది ఇప్పటికే మరొక వర్గం ద్వారా కవర్ చేయని సంగీతం వీడియోల విభాగాలకు మాత్రమే ఉపయోగించాలి."
},
"category_music_offtopic_short": {
"message": "నాన్-మ్యూజిక్"
},
"category_livestream_messages": {
"message": "లైవ్ స్ట్రీమ్: విరాళం / సందేశ రీడింగులు"
},
"category_livestream_messages_short": {
"message": "సందేశ పఠనం"
},
"autoSkip": {
"message": "ఆటో దాటవేయి"
},
"manualSkip": {
"message": "మాన్యువల్ దాటవేయి"
},
"showOverlay": {
"message": "సీక్ బార్‌లో చూపించు"
},
"disable": {
"message": "డిసేబుల్"
},
"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": "దాచబడింది: చాలా చిన్నది"
},
"forceChannelCheck": {
"message": "దాటవేయడానికి ముందు ఛానెల్ తనిఖీ చేయమని బలవంతం చేయండి"
},
"whatForceChannelCheck": {
"message": "అప్రమేయంగా, ఛానెల్ ఏమిటో తెలియక ముందే ఇది విభాగాలను దాటవేస్తుంది. అప్రమేయంగా, వీడియో ప్రారంభంలో కొన్ని విభాగాలు వైట్‌లిస్ట్ చేసిన ఛానెల్‌లలో దాటవేయబడవచ్చు. ఈ ఎంపికను ప్రారంభించడం దీనిని నిరోధిస్తుంది, కాని ఛానెల్ ఐడిని పొందడానికి కొంత సమయం పట్టవచ్చు కాబట్టి అన్ని దాటవేయడం కొంచెం ఆలస్యం అవుతుంది. మీకు వేగవంతమైన ఇంటర్నెట్ ఉంటే ఈ ఆలస్యం గుర్తించబడదు."
},
"forceChannelCheckPopup": {
"message": "\"దాటవేయడానికి ముందు ఫోర్స్ ఛానల్ చెక్\" ప్రారంభించడం పరిగణించండి"
},
"downvoteDescription": {
"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": "పరిచయాలు, ros ట్రోస్, మెర్చ్ మొదలైనవాటిని దాటవేయడానికి ఎంపికలను తెరవండి."
}
}

View File

@@ -1,70 +0,0 @@
{
"fullName": {
"message": "SponsorBlock สำหรับ YouTube - ข้ามสปอนเซอร์",
"description": "Name of the extension."
},
"Description": {
"message": "ข้ามสปอนเซอร์, การก่อการติดตาม, ฯลฯ ในวีดีโอ YouTube. รายงานสปอนเซอร์ในวีดีโอเพื่อประหยัดเวลาคนอื่น",
"description": "Description of the extension."
},
"400": {
"message": "เซิร์ฟเวอร์รายงานว่าคำขอนี้ไม่ถูกต้อง"
},
"429": {
"message": "คุณรายงานสปอนเซอร์มากเกินไปในวิดีโอนี้ คุณมั่นใจว่ามีมากเท่านี้จริงหรือไม่?"
},
"409": {
"message": "สปอนเซอร์นี้ได้รับการรายงานมาก่อน"
},
"channelWhitelisted": {
"message": "ช่องนี้ถูกนำเข้ารายการอนุญาตพิเศษแล้ว"
},
"Segment": {
"message": "ส่วน"
},
"Segments": {
"message": "ส่วน"
},
"upvoteButtonInfo": {
"message": "เห็นด้วยกับรายงานนี้"
},
"reportButtonTitle": {
"message": "รายงาน"
},
"reportButtonInfo": {
"message": "รายงานส่วนนี้ว่าไม่ถูกต้อง"
},
"Dismiss": {
"message": "ปฏิเสธ"
},
"Loading": {
"message": "กำลังโหลด..."
},
"Hide": {
"message": "ไม่แสดงเสมอ"
},
"hitGoBack": {
"message": "กด \"ยกเลิกการข้าม\" เพื่อกลับไปที่เดิม"
},
"unskip": {
"message": "ยกเลิกการข้าม"
},
"reskip": {
"message": "ข้ามใหม่"
},
"paused": {
"message": "กำลังหยุดชั่วคราว"
},
"manualPaused": {
"message": "หยุดการจับเวลาแล้ว"
},
"clearThis": {
"message": "คุณมั่นใจว่าจะลบส่วนนี้หรือไม่?\n\n"
},
"sponsor404": {
"message": "ไม่พบส่วนในวีดีโอนี้"
},
"clearTimesButton": {
"message": "ล้างเวลา"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,957 +0,0 @@
{
"fullName": {
"message": "SponsorBlock для YouTube - Пропускайте спонсорські вставки",
"description": "Name of the extension."
},
"Description": {
"message": "Пропускайте спонсорські вставки, прохання підписатися та інше в відео на YouTube. Надсилайте інформацію про спонсорів в відео, щоб зберігати іншим час.",
"description": "Description of the extension."
},
"400": {
"message": "Сервер відхилив цей запит"
},
"429": {
"message": "Ви відправили занадто багато спонсорів для цього відео. Ви впевнені, що їх так багато?"
},
"409": {
"message": "Цей запит був відправлений раніше"
},
"channelWhitelisted": {
"message": "Канал доданий у білий список!"
},
"Segment": {
"message": "сегмент"
},
"Segments": {
"message": "сегментів"
},
"upvoteButtonInfo": {
"message": "Проголосувати за цей сегмент"
},
"reportButtonTitle": {
"message": "Помилка"
},
"reportButtonInfo": {
"message": "Повідомити про помилку в цьому сегменті."
},
"Dismiss": {
"message": "Закрити"
},
"Loading": {
"message": "Завантаження..."
},
"Hide": {
"message": "Не відображати"
},
"hitGoBack": {
"message": "Натисніть «Назад», щоб повернутися назад."
},
"unskip": {
"message": "Назад"
},
"reskip": {
"message": "Пропустити"
},
"unmute": {
"message": "Увімкнути звук"
},
"paused": {
"message": "Пауза"
},
"manualPaused": {
"message": "Таймер зупинено"
},
"confirmMSG": {
"message": "Щоб змінити або видалити окремі значення, натисніть кнопку «Інформація» або відкрийте спливаюче вікно розширення, клацнувши значок розширення в правому верхньому куті."
},
"clearThis": {
"message": "Ви впевнені, що хочете видалити цю інформацію?\n\n"
},
"Unknown": {
"message": "При надсиланні звіту про спонсорський сегмент сталася помилка. Спробуйте надіслати його пізніше."
},
"sponsorFound": {
"message": "У базі є сегменти для цього відео!"
},
"sponsor404": {
"message": "Сегменти не знайдено"
},
"sponsorStart": {
"message": "Сегмент починається звідси"
},
"sponsorEnd": {
"message": "Сегмент закінчується тут"
},
"sponsorCancel": {
"message": "Скасувати створення сегмента"
},
"noVideoID": {
"message": "Відео YouTube, не знайдено.\nЯкщо це не так, поновіть вкладку."
},
"refreshSegments": {
"message": "Оновити сегменти"
},
"success": {
"message": "Успіх!"
},
"voted": {
"message": "Голос зарахований!"
},
"serverDown": {
"message": "Здається, сервера не працюють. Негайно зв'яжіться з розробником."
},
"connectionError": {
"message": "Помилка з'єднання. Код помилки: "
},
"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": "Встановити ім'я користувача"
},
"copyPublicID": {
"message": "Копіювати публічний UserID"
},
"copySegmentID": {
"message": "Копіювати ID сегменту"
},
"discordAdvert": {
"message": "Приєднуйтесь до офіційного сервера Discord, щоб залишити пропозиції і зворотний зв'язок!"
},
"hideThis": {
"message": "Приховати це"
},
"Options": {
"message": "Налаштування"
},
"showButtons": {
"message": "Показувати кнопки в плеєрі YouTube"
},
"hideButtons": {
"message": "Приховати кнопки в плеєрі YouTube"
},
"hideButtonsDescription": {
"message": "Це налаштування приховує кнопки для надсилання спонсорських вставок, які з'являються в плеєрі YouTube."
},
"showSkipButton": {
"message": "Залишати кнопку \"Перейти до Основне\" на плеєрі"
},
"showInfoButton": {
"message": "Показувати кнопку інформації в плеєрі YouTube"
},
"hideInfoButton": {
"message": "Приховати кнопку інформації в плеєрі YouTube"
},
"autoHideInfoButton": {
"message": "Кнопка \"Автоматично сховати інформацію\""
},
"hideDeleteButton": {
"message": "Приховати кнопку видалення в плеєрі YouTube"
},
"showDeleteButton": {
"message": "Показувати кнопку видалення в плеєрі YouTube"
},
"enableViewTracking": {
"message": "Увімкнути відстеження кількості пропусків сегментів"
},
"whatViewTracking": {
"message": "Ця можливість відстежує, які сегменти Ви пропустили, щоб допомогти користувачам дізнатися, наскільки їх внесок допоміг іншим, і, поряд з голосами, використовується як метрика, щоб переконатися, що спам не влучає у базу даних. Розширення надсилає повідомлення на сервер кожен раз, коли Ви пропускаєте сегмент. Сподіваємося, велика частина користувачів не поміняє це налаштування, так що у нас буде точна статистика переглядів. :)"
},
"enableViewTrackingInPrivate": {
"message": "Увімкнути відстеження пропусків у вкладках інкогніто"
},
"enableTrackDownvotes": {
"message": "Зберігати голоси \"проти\" сегментів"
},
"whatTrackDownvotes": {
"message": "Усі сегменти, за які ви проголосуєте \"проти\", залишаться прихованими навіть після оновлення"
},
"trackDownvotesWarning": {
"message": "Попередження: вимкнення цієї опції призведе до видалення всіх раніше збережених голосів \"проти\""
},
"enableQueryByHashPrefix": {
"message": "Пошук по частині хеша"
},
"whatQueryByHashPrefix": {
"message": "Замість надсилання на сервер ID відео, для отримання сегментів будуть використовуватися перші 4 символи хеша ID. Сервер поверне дані для всіх відео зі схожими хешамі."
},
"enableRefetchWhenNotFound": {
"message": "Перевіряти сегменти в нових відео"
},
"whatRefetchWhenNotFound": {
"message": "Якщо відео нове і для нього не знайдено сегментів, то інформація про них буде оновлюватися кожні пару хвилин, поки ви дивитеся відео."
},
"showNotice": {
"message": "Показувати сповіщення знову"
},
"showSkipNotice": {
"message": "Показувати сповіщення після пропуску сегмента"
},
"noticeVisibilityMode0": {
"message": "Повнорозмірні сповіщення про пропуски"
},
"noticeVisibilityMode1": {
"message": "Зменшені сповіщення для автоматичних пропусків"
},
"noticeVisibilityMode2": {
"message": "Всі сповіщення зменшеного розміру"
},
"noticeVisibilityMode3": {
"message": "Напівпрозорі сповіщення для автоматичних пропусків"
},
"noticeVisibilityMode4": {
"message": "Напівпрозорі сповіщення для всіх пропусків"
},
"longDescription": {
"message": "SponsorBlock дозволяє пропускати спонсорські вставки, початкові і кінцеві заставки, прохання підписатися і інше в відео на YouTube. SponsorBlock - колективне розширення, яке дозволяє кожному надіслати час початку і кінця подібних сегментів в відео. Після того, як хто-небудь надсилає цю інформацію, всі інші користувачі розширення будуть автоматично пропускати ці сегменти. Так само можна пропускати частини кліпів без музики.",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "Сайт",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Вихідний код",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "Повідомлення було оновлено!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Якщо воно Вам все одно не подобається, натисніть «не показувати\".",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setSkipShortcut": {
"message": "Пропустити сегмент",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "Почати/зупинити сегмент",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "Надіслати сегменти",
"description": "Keybind label"
},
"keybindDescription": {
"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": "Пропустити"
},
"mute": {
"message": "Вимкнути звук"
},
"full": {
"message": "Повне відео",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Пропустити {0}?"
},
"mute_category": {
"message": "Вимкнути звук {0}?"
},
"skip_to_category": {
"message": "Пропустити до {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} Пропущено",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} Вимкнений звук",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "Пропущено до {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "Вимкнути автоматичний пропуск"
},
"enableAutoSkip": {
"message": "Увімкнути автоматичний пропуск"
},
"audioNotification": {
"message": "Аудіо сповіщення при пропуску"
},
"audioNotificationDescription": {
"message": "Аудіо сповіщення про пропуск буде відтворюватися кожен раз, коли сегмент пропущений. Якщо відключено (або автоматичний пропуск відключений), звук не буде відтворюватися."
},
"showTimeWithSkips": {
"message": "Показувати тривалість без сегментів"
},
"showTimeWithSkipsDescription": {
"message": "Ця тривалість відображається в дужках поруч з фактичної під смугою прокрутки. Показує тривалість відео без сегментів. Включає сегменти, для яких вибрано \"Відображати в смузі прокрутки\"."
},
"youHaveSkipped": {
"message": "Ви пропустили "
},
"minLower": {
"message": "хвилину"
},
"minsLower": {
"message": "хвилин"
},
"hourLower": {
"message": "година"
},
"hoursLower": {
"message": "годин"
},
"youHaveSavedTime": {
"message": "Ви заощадили людям",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " їх життів",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Дивіться стан сервера на status.sponsor.ajay.app."
},
"changeUserID": {
"message": "Імпортувати/Експортувати Ваш ідентифікатор користувача"
},
"whatChangeUserID": {
"message": "Тримайте його в таємниці. Ставтеся до нього як до паролю і не передавайте нікому. Якщо хтось їм заволодіє, то зможе видати себе за вас. Якщо ви шукаєте публічний ID користувача, натисніть значок буфера обміну у спливаючому вікні."
},
"setUserID": {
"message": "Встановити ідентифікатор користувача"
},
"userIDChangeWarning": {
"message": "Увага: зміна ідентифікатора користувача є незворотнім. Ви дійсно хочете це зробити? Зробіть резервну копію вашого старого про всяк випадок."
},
"createdBy": {
"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": "Наступний діапазон часу коротше, ніж Ваше налаштування мінімальної тривалості. Це може означати, що він вже був надісланий, і просто ігнорується через це налаштування. Ви дійсно хочете надіслати?"
},
"liveOrPremiere": {
"message": "Надсилання під час прямого ефіру чи прем'єри не дозволено. Будь ласка, зачекайте до завершення, потім оновіть сторінку і переконайтеся, що сегменти все ще дійсні."
},
"showUploadButton": {
"message": "Показувати кнопку надсилання"
},
"customServerAddress": {
"message": "Адреса сервера SponsorBlock"
},
"customServerAddressDescription": {
"message": "Адреса, за якою SponsorBlock звертається до сервера.\nМіняйте тільки якщо Ви підняли свій сервер."
},
"save": {
"message": "Зберегти"
},
"reset": {
"message": "Скинути"
},
"customAddressError": {
"message": "Ця адреса неправильного формату. Переконайтеся, що він починається з http: // або https: //, і що на кінці немає слеша."
},
"areYouSureReset": {
"message": "Ви дійсно хочете це скинути?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com тепер підтримується"
},
"exportOptions": {
"message": "Імпорт/Експорт всіх налаштувань"
},
"exportOptionsCopy": {
"message": "Змінити/копіювати"
},
"exportOptionsDownload": {
"message": "Зберегти до файлу"
},
"exportOptionsUpload": {
"message": "Завантажити з файлу"
},
"whatExportOptions": {
"message": "Це вся конфігурація в форматі JSON. Цей файл містить Ваш ідентифікатор користувача, тому не забудьте ділитися з цим розумно."
},
"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": "Копіює інформацію в буфер обміну, яка буде надана розробнику при виникненні помилки/за запитом розробника. Такі відомості, як ID користувача, список дозволених каналів і адреса користувача сервера не передаються. Однак, відправляються ваш user agent, браузер, операційна система і номер версії розширення. "
},
"copyDebugInformationComplete": {
"message": "Інформація про налагодження скопійована в буфер обміну. Ви можете видалити будь-яку інформацію, якої не хочете ділитися. Збережіть її в текстовий файл, вставте в звіт про помилку."
},
"keyAlreadyUsed": {
"message": "Ця клавіша/комбінація клавіш прив'язана до іншої дії. Будь ласка виберіть іншу клавішу."
},
"to": {
"message": "до",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Спонсор"
},
"category_sponsor_description": {
"message": "Рекламні інтеграції, реферальні посилання і реклама безпосередньо. Не для самореклами або рекомендацій різних подій/творців/сайтів/продуктів, які подобаються автору відео."
},
"category_selfpromo": {
"message": "Самореклама/рекомендація"
},
"category_selfpromo_description": {
"message": "Схоже на \"Спонсора\", але для безкоштовної реклами і самореклами. Включає себе вставки про мерчендайз, пожертвування або інформацію про тих, разом з ким було зроблено відео."
},
"category_exclusive_access": {
"message": "Ексклюзивний доступ"
},
"category_exclusive_access_description": {
"message": "Лише для позначення цілих відео. Використовується, коли відео демонструє продукт, послугу або місцеположення, до яких автори отримали безоплатний або субсидований доступ."
},
"category_exclusive_access_pill": {
"message": "Це відео демонструє продукт, послугу або місцеположення, до яких автори отримали безоплатний або субсидований доступ",
"description": "Short description for this category"
},
"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_filler": {
"message": "Дотичне наповнення/Жарти"
},
"category_filler_description": {
"message": "Дотичні сцени додані лише для наповнення або гумору, які не потрібні для розуміння основного вмісту відео. Це не повинно включати сегменти, що надають контекст або передісторію."
},
"category_filler_short": {
"message": "Наповнення"
},
"category_music_offtopic": {
"message": "Музика: Сегмент без музики"
},
"category_music_offtopic_description": {
"message": "Тільки для використання в музичних кліпах. Використовується для сегментів музичних кліпів, які не належать до іншої категорії."
},
"category_music_offtopic_short": {
"message": "Без музики"
},
"category_poi_highlight": {
"message": "Основне"
},
"category_poi_highlight_description": {
"message": "Частина відео яку шукає більшість людей (Аналогічно коментарю \"Відео починається з Х:ХХ\")."
},
"category_livestream_messages": {
"message": "Прямі трансляції: пожертвування/читання повідомлення"
},
"category_livestream_messages_short": {
"message": "Читання повідомлень"
},
"autoSkip": {
"message": "Автоматичний пропуск"
},
"manualSkip": {
"message": "Пропуск вручну"
},
"showOverlay": {
"message": "Показувати в смузі перемотування"
},
"disable": {
"message": "Вимкнути"
},
"autoSkip_POI": {
"message": "Автоматично перейти до початку"
},
"manualSkip_POI": {
"message": "Спитати поки відео завантажується"
},
"showOverlay_POI": {
"message": "Показати в смузі перемотування"
},
"showOverlay_full": {
"message": "Показати мітку"
},
"autoSkipOnMusicVideos": {
"message": "Автоматично пропустити усі сегменти, якщо присутній сегмент без музики"
},
"muteSegments": {
"message": "Дозволити сегменти, які відключають звук замість пропуску"
},
"fullVideoSegments": {
"message": "Показувати значок, коли все відео є рекламою",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"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."
},
"poiOnlyOneSegment": {
"message": "Увага: Сегменти даного типу можуть бути активними лише по одному. Надсилання декількох призведе до відображення випадкового сегмента."
},
"youMustSelectACategory": {
"message": "Ви повинні обрати категорію для всіх сегментів, які ви відправляєте!"
},
"bracketEnd": {
"message": "(Кінець)"
},
"hiddenDueToDownvote": {
"message": "приховано: проголосували проти"
},
"hiddenDueToDuration": {
"message": "приховано: занадто коротко"
},
"manuallyHidden": {
"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": "Довідка"
},
"GotIt": {
"message": "Зрозуміло",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "Цей сегмент великий. Якщо все відео на одну тему, тоді змініть значення з \"Пропустити\" на \"Повне відео\". Продивіться керівництво для додаткової інформації."
},
"categoryPillTitleText": {
"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 or matrix.to/#/#sponsor:ajay.app"
},
"voteRejectedWarning": {
"message": "Голосування відхилено через попередження. Натисніть, щоб відкрити чат для вирішення цієї проблеми, або поверніться пізніше.",
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
},
"Donate": {
"message": "Пожертвувати"
},
"considerDonating": {
"message": "Допомогти з фінансуванням розробки"
},
"hideDonationLink": {
"message": "Приховати посилання на пожертвування"
},
"darkModeOptionsPage": {
"message": "Темний режим на сторінці налаштувань"
},
"helpPageThanksForInstalling": {
"message": "Дякую за встановлення SponsorBlock."
},
"helpPageReviewOptions": {
"message": "Будь ласка, ознайомтеся з налаштуваннями нижче"
},
"helpPageFeatureDisclaimer": {
"message": "Багато функцій за замовчуванням відключені. Якщо ви хочете пропускати початкові і кінцеві заставки, використовувати Invidious, тощо, увімкніть їх нижче. Ви також можете приховати / показати елементи інтерфейсу."
},
"helpPageHowSkippingWorks": {
"message": "Як працює пропуск"
},
"helpPageHowSkippingWorks1": {
"message": "Сегменти відео будуть автоматично пропущені, якщо вони знаходяться в базі даних. Ви можете відкрити спливаюче вікно, натиснувши на значок розширення, щоб подивитися, які сегменти додані."
},
"helpPageHowSkippingWorks2": {
"message": "Коли ви будете пропускати сегмент, ви отримаєте сповіщення. Якщо час здасться вам неправильним, проголосуйте проти, натиснувши на палець вниз! Ви також можете проголосувати у спливаючому вікні."
},
"Submitting": {
"message": "Відправлення"
},
"helpPageSubmitting1": {
"message": "Відправлення може бути виконана у спливаючому вікні натисканням на кнопку \"Сегмент починається звідси\" або кнопками в відеоплеєрі."
},
"helpPageSubmitting2": {
"message": "Натискання на кнопку відтворення означає початок сегмента і натискання на кнопку стоп позначає його кінець. Ви можете позначити кілька сегментів перед тим, як натиснути на кнопку відправлення. Натискання на кошик видалить все."
},
"Editing": {
"message": "Редагування"
},
"helpPageEditing1": {
"message": "Якщо ви зробили щось не так, ви можете відредагувати або видалити сегменти, натиснувши на кнопку зі стрілкою вгору."
},
"helpPageTooSlow": {
"message": "Це занадто повільно"
},
"helpPageTooSlow1": {
"message": "Все це також можна робити за допомогою гарячих клавіш. Натисніть \"ж\" для вказівки початку/кінця сегмента, \"є\" для відправки. Клавіші можуть бути змінені в налаштуваннях. Якщо ви не використовуєте QWERTY, то варто відразу поміняти гарячі клавіші."
},
"helpPageCopyOfDatabase": {
"message": "Чи можу я отримати копію бази даних? Що якщо ви пропадете?"
},
"helpPageCopyOfDatabase1": {
"message": "База даних доступна для всіх тут:"
},
"helpPageCopyOfDatabase2": {
"message": "Вихідний код у відкритому доступі, так що навіть якщо щось трапиться зі мною, ваш вклад не пропаде."
},
"helpPageNews": {
"message": "Новини та як це зроблено"
},
"helpPageSourceCode": {
"message": "Де можна отримати вихідний код?"
},
"Credits": {
"message": "Автори"
},
"LearnMore": {
"message": "Дізнатися більше"
},
"CopyDownvoteButtonInfo": {
"message": "Голосує проти та створює локальну копію для повторного надсилання"
},
"OpenCategoryWikiPage": {
"message": "Відкрити вікі-сторінку цієї категорії."
},
"CopyAndDownvote": {
"message": "Скопіювати та проголосувати проти"
},
"ContinueVoting": {
"message": "Продовжити голосування"
},
"ChangeCategoryTooltip": {
"message": "Це миттєво буде застосовано до ваших сегментів"
},
"downvote": {
"message": "Голос \"проти\""
},
"upvote": {
"message": "Голос \"за\""
},
"hideSegment": {
"message": "Приховати сегмент"
},
"SponsorTimeEditScrollNewFeature": {
"message": "Навівши курсор на поле редагування, користуйтеся колесом прокрутки, щоб швидко відрегулювати час. Комбінації клавіш ctrl або shift можуть бути використані для точнішої настройки змін."
},
"categoryPillNewFeature": {
"message": "Нове! Бачте, коли відео повністю спонсорське або є саморекламою"
},
"dayAbbreviation": {
"message": "д",
"description": "100d"
},
"hourAbbreviation": {
"message": "г",
"description": "100h"
},
"optionsTabBehavior": {
"message": "Поведінка",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "Інтерфейс",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "Комбінації клавіш",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "Резервування/Відновлення",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "Різне",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "Вигляд сповіщення про пропуск",
"description": "Option label"
},
"unbind": {
"message": "Відв'язати",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "Не задано"
},
"change": {
"message": "Змінити"
},
"youtubeKeybindWarning": {
"message": "Це вбудована комбінація YouTube. Ви впевнені що хочете її використовувати?"
},
"betaServerWarning": {
"message": "BETA сервер увімкнено!"
},
"openOptionsPage": {
"message": "Відкрити сторінку налаштувань"
},
"resetToDefault": {
"message": "Повернутись до стандартних налаштувань"
},
"confirmResetToDefault": {
"message": "Ви впевнені, що хочете скинути всі налаштування до значень за замовчуванням? Це не можна буде скасувати."
}
}

View File

@@ -1,948 +0,0 @@
{
"fullName": {
"message": "SponsorBlock cho Youtube - Bỏ qua quảng cáo của nhà tài trợ",
"description": "Name of the extension."
},
"Description": {
"message": "Bỏ qua quảng cáo của nhà tài trợ, đoạn nài nỉ đòi đăng ký và nhiều thứ tương tự trong các video trên Youtube. Báo cáo đoạn quảng cáo nhà tài trợ trong những video bạn xem để giúp người khác tiết kiệm thời gian.",
"description": "Description of the extension."
},
"400": {
"message": "Máy chủ báo yêu cầu này không hợp lệ"
},
"429": {
"message": "Bạn đã đăng quá nhiều đoạn quảng cáo tài trợ cho video này, bạn có chắc có nhiều đến thế không?"
},
"409": {
"message": "Đoạn này đã được đăng rồi"
},
"channelWhitelisted": {
"message": "Kênh đã được bỏ chặn!"
},
"Segment": {
"message": "đoạn quảng cáo"
},
"Segments": {
"message": "phân đoạn"
},
"upvoteButtonInfo": {
"message": "Tán thành phân đoạn này"
},
"reportButtonTitle": {
"message": "Báo cáo"
},
"reportButtonInfo": {
"message": "Báo cáo đoạn này đăng sai."
},
"Dismiss": {
"message": "Đóng"
},
"Loading": {
"message": "Đang tải..."
},
"Hide": {
"message": "Không hiển thị nữa"
},
"hitGoBack": {
"message": "Ấn hủy bỏ qua để quay lại đoạn ban nãy."
},
"unskip": {
"message": "Hủy bỏ qua"
},
"reskip": {
"message": "Bỏ qua lại"
},
"unmute": {
"message": "Bật tiếng"
},
"paused": {
"message": "Tạm dừng"
},
"manualPaused": {
"message": "Đã dừng bộ tính giờ"
},
"confirmMSG": {
"message": "Để sửa hoặc xóa từng số riêng, hãy nhấn vào nút thông tin hoặc mở bảng popup tiện ích mở rộng bằng cách nhấn vào biểu tượng tiện ích mở rộng ở góc phía trên bên phải."
},
"clearThis": {
"message": "Bạn có chắc chắn muốn xóa không?\n\n"
},
"Unknown": {
"message": "Có lỗi xảy ra khi đăng đoạn quảng cáo tài trợ, xin vui lòng thử lại sau."
},
"sponsorFound": {
"message": "Video này có đoạn quảng cáo trong kho dữ liệu rồi!"
},
"sponsor404": {
"message": "Không tìm thấy phân đoạn nào"
},
"sponsorStart": {
"message": "Đoạn quảng cáo bắt đầu vào lúc này"
},
"sponsorEnd": {
"message": "Phân đoạn 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à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!"
},
"voted": {
"message": "Đã bầu chọn!"
},
"serverDown": {
"message": "Có vẻ máy chủ đang không hoạt động. Hãy liên hệ nhà phát triển ngay lập tức."
},
"connectionError": {
"message": "Đã xảy ra lỗi kết nối. Mã lỗi: "
},
"clearTimes": {
"message": "Xóa các phân đoạn"
},
"openPopup": {
"message": "Mở bảng popup của SponsorBlock"
},
"closePopup": {
"message": "Đóng bảng popup"
},
"SubmitTimes": {
"message": "Gửi phân đoạn"
},
"submitCheck": {
"message": "Bạn có chắc chắn muốn gửi không?"
},
"whitelistChannel": {
"message": "Đưa kênh vào danh sách không chặn"
},
"removeFromWhitelist": {
"message": "Loại kênh khỏi danh sách không chặn"
},
"voteOnTime": {
"message": "Bầu chọn một phân đoạn"
},
"Submissions": {
"message": "Các phân đoạn"
},
"savedPeopleFrom": {
"message": "Bạn đã giúp mọi người bỏ qua "
},
"viewLeaderboard": {
"message": "Bảng xếp hạng"
},
"recordTimesDescription": {
"message": "Gửi"
},
"submissionEditHint": {
"message": "Phần chỉnh sửa sẽ xuất hiện sau khi bạn bấm gửi",
"description": "Appears in the popup to inform them that editing has been moved to the video player."
},
"popupHint": {
"message": "Gợi ý: Bạn có thể thêm phím tắt để gửi trong phần tuỳ chọn"
},
"clearTimesButton": {
"message": "Xóa thời gian"
},
"submitTimesButton": {
"message": "Gửi thời gian"
},
"publicStats": {
"message": "Tên này được dùng tại trang thông tin công khai để thể hiện lượng đóng góp của bạn. Xem"
},
"Username": {
"message": "Tên người dùng"
},
"setUsername": {
"message": "Đặt tên người dùng"
},
"copyPublicID": {
"message": "Sao chép Public UserID"
},
"copySegmentID": {
"message": "Sao chép ID phân đoạn"
},
"discordAdvert": {
"message": "Hãy tham gia server Discord chính thức để đưa ra gợi ý và phản hồi!"
},
"hideThis": {
"message": "Đóng lại"
},
"Options": {
"message": "Tùy chọn"
},
"showButtons": {
"message": "Hiển thị nút trên trình chạy video Youtube"
},
"hideButtons": {
"message": "Không hiển thị nút trên trình chạy video Youtube"
},
"hideButtonsDescription": {
"message": "Không hiển thị nút trên trình chạy video Youtube để đăng đoạn quảng cáo."
},
"showSkipButton": {
"message": "Giữ nút bỏ qua Highlight trên trình phát player"
},
"showInfoButton": {
"message": "Hiển thị nút thông tin trên trình chạy video Youtube"
},
"hideInfoButton": {
"message": "Không hiển thị nút thông tin trên trình chạy video Youtube"
},
"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"
},
"showDeleteButton": {
"message": "Hiển thị nút xóa trên trình chạy video Youtube"
},
"enableViewTracking": {
"message": "Bật tính năng theo dõi số quảng cáo được bỏ qua"
},
"whatViewTracking": {
"message": "Tính năng này theo dõi những đoạn quảng cáo bạn đã bỏ qua để cho người dùng khác biết những đoạn họ đăng đã giúp người khác đến mức nào. Tính năng này, cùng với tính năng bầu chọn, còn được dùng làm thước đo để đảm bảo spam không lọt vào kho dữ liệu. Tiện ích mở rộng này gửi tín hiệu đến máy chủ mỗi lần bạn bỏ qua một đoạn quảng cáo. Mong là đa phần mọi người không thay đổi cài đặt này để thông số người xem được chính xác nhất. :)"
},
"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"
},
"enableTrackDownvotes": {
"message": "Lưu trữ phiếu phản đối phân đoạn"
},
"whatTrackDownvotes": {
"message": "Bất kỳ phân đoạn nào bạn phản đối sẽ vẫn bị ẩn ngay cả sau khi làm mới"
},
"trackDownvotesWarning": {
"message": "Cảnh báo: Tắt tính năng này sẽ xóa tất cả các phiếu phản đối đã lưu trữ trước đó"
},
"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ự."
},
"enableRefetchWhenNotFound": {
"message": "Nạp lại các đoạn trên video mới"
},
"whatRefetchWhenNotFound": {
"message": "Nếu đây là video mới và chưa có phân đoạn nào được xác định, SponsorBlock sẽ tiếp tục truy vấn dữ liệu mỗi vài phút trong khi bạn đang xem."
},
"showNotice": {
"message": "Hiện thông báo lại"
},
"showSkipNotice": {
"message": "Hiển thị thông báo sau khi bỏ qua phân đoạn"
},
"noticeVisibilityMode0": {
"message": "Thông báo bỏ qua với kích thước đầy đủ"
},
"noticeVisibilityMode1": {
"message": "Thông báo bỏ qua kích thước nhỏ nếu phân đoạn được tự động bỏ qua"
},
"noticeVisibilityMode2": {
"message": "Thông báo bỏ qua kích thước nhỏ cho toàn bộ phân đoạn"
},
"noticeVisibilityMode3": {
"message": "Thông báo bỏ qua mờ nếu phân đoạn được tự động bỏ qua"
},
"noticeVisibilityMode4": {
"message": "Thông báo bỏ qua mờ cho tất cả các phân đoạn"
},
"longDescription": {
"message": "SponsorBlock giúp bạn bỏ qua quảng cáo từ nhà tài trợ, đoạn giới thiệu, đoạn kết, lời nhắc đăng ký kênh, và những phần khó chịu khác trong các video Youtube. SponsorBlock là một tiện ích mở rộng cho trình duyệt, cho phép tất cả người dùng đăng thời điểm bắt đầu và kết thúc của những đoạn quảng cáo từ nhà tài trợ và các đoạn khác trong video Youtube. Sau khi một người đăng thông tin này lên, tất cả mọi người dùng tiện ích mở rộng này sẽ bỏ qua đoạn quảng cáo đó. Bạn cũng có thể bỏ qua phần không có nhạc trong những video âm nhạc.",
"description": "Full description of the extension on the store pages."
},
"website": {
"message": "Trang web",
"description": "Used on Firefox Store Page"
},
"sourceCode": {
"message": "Mã nguồn",
"description": "Used on Firefox Store Page"
},
"noticeUpdate": {
"message": "Thông báo đã được nâng cấp!",
"description": "The first line of the message displayed after the notice was upgraded."
},
"noticeUpdate2": {
"message": "Nếu bạn vẫn không thích, hãy nhấn nút không hiển thị lại.",
"description": "The second line of the message displayed after the notice was upgraded."
},
"setSkipShortcut": {
"message": "Bỏ qua phân đoạn",
"description": "Keybind label"
},
"setStartSponsorShortcut": {
"message": "Bắt đầu/dừng phân đoạn",
"description": "Keybind label"
},
"setSubmitKeybind": {
"message": "Gửi phân đoạn",
"description": "Keybind label"
},
"keybindDescription": {
"message": "Chọn một phím bằng cách nhập nó và chọn bất kỳ phím bổ trợ nào bạn muốn sử dụng."
},
"0": {
"message": "Kết nối quá hạn thời gian. Hãy kiểm tra đường truyền mạng của bạn. Nếu mạng của bạn vẫn hoạt động, có thể máy chủ đang bị quá tải hoặc không hoạt động."
},
"disableSkipping": {
"message": "Bỏ qua được bật"
},
"enableSkipping": {
"message": "Bỏ qua đã bị vô hiệu hoá"
},
"yourWork": {
"message": "Thành quả của bạn",
"description": "Used to describe the section that will show you the statistics from your submissions."
},
"502": {
"message": "Máy chủ có vẻ đang bị quá tải. Hãy thử lại sau vài giây nữa."
},
"errorCode": {
"message": "Mã lỗi: "
},
"skip": {
"message": "Bỏ qua"
},
"mute": {
"message": "Ngắt tiếng"
},
"full": {
"message": "Toàn bộ Video",
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
},
"skip_category": {
"message": "Bỏ qua {0}?"
},
"mute_category": {
"message": "Ngắt tiếng {0} chứ?"
},
"skip_to_category": {
"message": "Bỏ qua đến {0}?",
"description": "Used for skipping to things (Skip to Highlight)"
},
"skipped": {
"message": "{0} đã bỏ qua",
"description": "Example: Sponsor Skipped"
},
"muted": {
"message": "{0} đã ngắt tiếng (Muted)",
"description": "Example: Sponsor Muted"
},
"skipped_to_category": {
"message": "Đã bỏ qua đến {0}",
"description": "Used for skipping to things (Skipped to Highlight)"
},
"disableAutoSkip": {
"message": "Tắt tự động bỏ qua"
},
"enableAutoSkip": {
"message": "Bật tự động bỏ qua quảng cáo"
},
"audioNotification": {
"message": "Thông báo bằng âm thanh khi bỏ qua"
},
"audioNotificationDescription": {
"message": "Thông báo bằng âm thanh sẽ được bật khi bỏ qua quảng cáo. Nếu tắt tính năng này (hoặc tính năng tự động bỏ qua quảng cáo bị tắt), sẽ không có âm thanh kêu."
},
"showTimeWithSkips": {
"message": "Hiển thị độ dài video khi lược bỏ quảng cáo"
},
"showTimeWithSkipsDescription": {
"message": "Độ dài này được hiển thị trong ngoặc đơn, bên cạnh độ dài hiện tại, phía dưới thanh tiến trình video. Con số này là độ dài video trừ đi các đoạn quảng cáo, bao gồm cả những đoạn được đánh dấu là chỉ \"Hiển thị trong thanh tiến trình video\"."
},
"youHaveSkipped": {
"message": "Bạn đã bỏ qua "
},
"minLower": {
"message": "phút"
},
"minsLower": {
"message": "phút"
},
"hourLower": {
"message": "giờ"
},
"hoursLower": {
"message": "giờ"
},
"youHaveSavedTime": {
"message": "Bạn đã giúp người khác tiết kiệm được",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " của cuộc đời họ",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "Truy cập trang status.sponsor.ajay.app để biết tình trạng máy chủ."
},
"changeUserID": {
"message": "Nhập/Xuất mã người dùng của bạn"
},
"whatChangeUserID": {
"message": "Đây là mã cần được giữ bí mật. Nó giống như mật khẩu và không nên được chia sẻ cho bất kì ai khác. Nếu có ai đó lấy được mã này, họ có thể mạo danh bạn. Còn nếu như bạn đang tìm khoá ID công khai, hãy nhấn vào nút \"Sao chép Public UserID\" trong popup của SponsorBlock."
},
"setUserID": {
"message": "Đặt mã người dùng"
},
"userIDChangeWarning": {
"message": "Cảnh báo: Việc thay đổi mã người dùng có tác dụng vĩnh viễn. Bạn có chắc muốn thay đổi không? Hãy nhớ sao lưu lại mã người dùng cũ để đề phòng."
},
"createdBy": {
"message": "Được tạo bởi"
},
"supportOtherSites": {
"message": "Hỗ trợ các trang web Youtube thuộc bên thứ 3"
},
"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 Instance của ứng dụng bên thứ 3"
},
"addInvidiousInstanceDescription": {
"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"
},
"addInvidiousInstanceError": {
"message": "Đây là tên miền không hợp lệ. Chỉ dùng RIÊNG phần tên miền thôi. Ví dụ: Invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "Thiết lập lại danh sách phiên bản Invidious"
},
"resetInvidiousInstanceAlert": {
"message": "Bạn đang sắp thiết lập lại danh sách phiên bản Invidious"
},
"currentInstances": {
"message": "Các phiên bản hiện tại:"
},
"minDuration": {
"message": "Độ dài tối thiểu (giây):"
},
"minDurationDescription": {
"message": "Đoạn quảng cáo ngắn hơn giá trị được đặt sẽ không bị bỏ qua hoặc hiển thị trong trình chạy video."
},
"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?"
},
"liveOrPremiere": {
"message": "Không được phép gửi trên một buổi phát trực tiếp hoặc buổi ra mắt đang hoạt động. Vui lòng đợi cho đến khi kết thúc, sau đó làm mới trang xác minh rằng các phân đoạn vẫn hợp lệ."
},
"showUploadButton": {
"message": "Hiển thị nút tải lên"
},
"customServerAddress": {
"message": "Địa chỉ máy chủ SponsorBlock"
},
"customServerAddressDescription": {
"message": "Địa chỉ SponsorBlock dùng để liên hệ với máy chủ.\nTrừ khi bạn có máy chủ riêng, bạn không nên thay đổi mục này."
},
"save": {
"message": "Lưu"
},
"reset": {
"message": "Thiết lập lại"
},
"customAddressError": {
"message": "Địa chỉ này sai hình thức. Hãy đảm bảo rằng địa chỉ có http:// hoặc https:// ở đầu và không có dấu gạch chéo ở cuối."
},
"areYouSureReset": {
"message": "Bạn có chắc mình muốn thiết lập lại không?"
},
"mobileUpdateInfo": {
"message": "m.youtube.com đã được hỗ trợ"
},
"exportOptions": {
"message": "Nhập/xuất tất cả tùy chọn"
},
"exportOptionsCopy": {
"message": "Chỉnh sửa/sao chép"
},
"exportOptionsDownload": {
"message": "Lưu vào tệp"
},
"exportOptionsUpload": {
"message": "Tải từ tệp"
},
"whatExportOptions": {
"message": "Đây là toàn bộ cấu hình của bạn trong tệp JSON. Nó chứa cả mã người dùng của bạn, nên hãy chia sẻ cẩn thận."
},
"setOptions": {
"message": "Đặt tùy chọn"
},
"exportOptionsWarning": {
"message": "Cảnh báo: Việc thay đổi tùy chọn có tác dụng vĩnh viễn và có thể ảnh hưởng đến việc cài đặt. Bạn có chắc muốn thay đổi không? Hãy nhớ sao lưu lại tùy chọn cũ để đề phòng."
},
"incorrectlyFormattedOptions": {
"message": "Tệp JSON này không được định dạng đúng cách. Tùy chọn của bạn chưa được thay đổi."
},
"confirmNoticeTitle": {
"message": "Gửi phân đoạn"
},
"submit": {
"message": "Gửi"
},
"cancel": {
"message": "Huỷ"
},
"delete": {
"message": "Xóa"
},
"preview": {
"message": "Xem trước"
},
"unsubmitted": {
"message": "Chưa gửi lên: "
},
"inspect": {
"message": "Kiểm tra"
},
"edit": {
"message": "Chỉnh sửa"
},
"copyDebugInformation": {
"message": "Sao chép thông tin gỡ lỗi vào khay nhớ tạm"
},
"copyDebugInformationFailed": {
"message": "Không sao chép được vào khay nhớ tạm"
},
"copyDebugInformationOptions": {
"message": "Sao chép thông tin vào khay nhớ tạm để cung cấp cho nhà phát triển khi phát sinh lỗi / khi nhà phát triển yêu cầu. Thông tin nhạy cảm như ID người dùng của bạn, kênh trong danh sách không chặn, và địa chỉ máy chủ tuỳ chỉnh đã bị xoá. Tuy nhiên, nó có chứa thông tin như user agent, trình duyệt, hệ điều hành và phiên bản của tiện ích mở rộng. "
},
"copyDebugInformationComplete": {
"message": "Thông tin gỡ lỗi đã được sao chép vào bộ nhớ tạm. Hãy thoải mái xóa thông tin mà bạn không muốn chia sẻ. Lưu thông tin này vào một tập tin văn bản hoặc dán nó vào bản báo cáo lỗi."
},
"keyAlreadyUsed": {
"message": "Phím tắt này liên kết với một hành động khác. Vui lòng chọn một cái khác."
},
"to": {
"message": "đến",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "Nhà tài trợ"
},
"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_exclusive_access": {
"message": "Truy cập riêng"
},
"category_exclusive_access_description": {
"message": "Chỉ để dán nhãn cho toàn bộ video. Được sử dụng khi video giới thiệu một sản phẩm, dịch vụ hoặc vị trí mà họ đã nhận được quyền truy cập miễn phí hoặc được trợ cấp."
},
"category_exclusive_access_pill": {
"message": "Video này giới thiệu sản phẩm, dịch vụ hoặc vị trí mà họ đã nhận được quyền truy cập miễn phí hoặc được trợ cấp",
"description": "Short description for this category"
},
"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"
},
"category_intro_description": {
"message": "Khoảng thời gian mà không có nội dung thực sự. Nó có thể là đoạn nghỉ, khung hình tĩnh, hình động lặp lại. Không dùng lựa chọn này cho những cho những chuyển cảnh có chứa thông tin."
},
"category_intro_short": {
"message": "Tạm ngừng"
},
"category_outro": {
"message": "Màn hình kết thúc/Danh đề"
},
"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_preview": {
"message": "Xem trước/Tóm tắt"
},
"category_preview_description": {
"message": "Tóm tắt nhanh về tập trước/tập sau trong 1 chuỗi video (series) dài (hoặc cũng có thể là tóm tắt trước về video sắp chiếu)."
},
"category_filler_description": {
"message": "Tập hợp các cảnh không bắt buộc để xem trong video. Điều này không bao gồm các đoạn chứa nội dung hoặc nói về ngữ cảnh của video."
},
"category_filler_short": {
"message": "Cảnh phụ"
},
"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"
},
"category_poi_highlight": {
"message": "Điểm/Khoảnh khắc quan trọng"
},
"category_poi_highlight_description": {
"message": "Phần của video mà hầu hết mọi người đang tìm kiếm. Tương tự với câu nói \"Video bắt đầu từ x\"."
},
"category_livestream_messages": {
"message": "Luồng phát trực tiếp: Đọc Quyên góp/Tin nhắn"
},
"category_livestream_messages_short": {
"message": "Đọc tin nhắn"
},
"autoSkip": {
"message": "Tự động bỏ qua quảng cáo"
},
"manualSkip": {
"message": "Bỏ qua thủ công"
},
"showOverlay": {
"message": "Hiện ở thanh xem trước"
},
"disable": {
"message": "Tắt"
},
"autoSkip_POI": {
"message": "Tự động bỏ qua"
},
"manualSkip_POI": {
"message": "Hỏi khi video bắt đầu"
},
"showOverlay_POI": {
"message": "Hiện ở thanh xem trước"
},
"showOverlay_full": {
"message": "Hiển thị nhãn"
},
"autoSkipOnMusicVideos": {
"message": "Tự động bỏ qua tất cả các phân đoạn nếu trong video có phân đoạn không phải nhạc"
},
"muteSegments": {
"message": "Cho phép các phân đoạn bị tắt tiếng hay vì bỏ qua"
},
"fullVideoSegments": {
"message": "Hiển thị biểu tượng khi video hoàn toàn là quảng cáo",
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
},
"previewColor": {
"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 tìm kiếm"
},
"category": {
"message": "Thể loại"
},
"skipOption": {
"message": "Tùy chọn Bỏ qua",
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
},
"enableTestingServer": {
"message": "Kích hoạt Máy chủ Thử nghiệm"
},
"whatEnableTestingServer": {
"message": "Những đóng góp của bạn sẽ KHÔNG ĐƯỢC TÍNH ở máy chủ chính. Chỉ dùng cho mục đích thử nghiệm."
},
"testingServerWarning": {
"message": "Tất cả đóng góp hay bình chọn sẽ KHÔNG ĐƯỢC TÍNH ở máy chủ chính khi kết nối đến máy chủ thử nghiệm. Hãy vô hiệu hoá lựa chọn này nếu bạn muốn tiếp tục đóng góp."
},
"bracketNow": {
"message": "(Bây giờ)"
},
"moreCategories": {
"message": "Các danh mục khác"
},
"chooseACategory": {
"message": "Chọn một danh mục"
},
"enableThisCategoryFirst": {
"message": "Để gửi một phân đoạn với chủ đề \"{0}\", bạn cần phải kích hoạt nó trong phần tuỳ chọn. Bạn sẽ được đưa đến phần tuỳ chỉnh bây giờ.",
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
},
"poiOnlyOneSegment": {
"message": "Cảnh báo: Loại phân đoạn này nếu hiển thị CHỈ CÓ 1 PHÂN ĐOẠN được xuất hiện trong video. Nếu bạn gửi lên, khi đó, phân đoạn xuất hiện duy nhất sẽ được lựa chọn ngẫu nhiên."
},
"youMustSelectACategory": {
"message": "Bạn phải lựa chọn một danh mục cho tất cả phân đoạn bạn đang muốn đăng tải!"
},
"bracketEnd": {
"message": "(Kết thúc)"
},
"hiddenDueToDownvote": {
"message": "đã ẩn: hạ bình chọn"
},
"hiddenDueToDuration": {
"message": "đã bị ẩn: quá ngắn"
},
"manuallyHidden": {
"message": "ẩn thủ công"
},
"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": "Không xác định được ID kênh. Nếu bạn đang xem video này trên 1 trang web thứ 3, hãy mở lại video này trên trang chủ Youtube rồi thử lại. Điều này cũng có thể do những thay đổi trong mã nguồn trang web YouTube, nếu bạn nghĩ vậy, hãy bình luận tại đây:"
},
"videoInfoFetchFailed": {
"message": "SponsorBlock không thể truy vấn dữ liệu lịch sử phân đoạn video. Có thể do trình chặn quảng cáo của bạn. Bạn có thể tìm hiểu nguyên nhân và cách fix ở đây: https://github.com/ajayyy/SponsorBlock/issues/741."
},
"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 à?"
},
"adblockerIssueWhitelist": {
"message": "Nếu bạn không thể giải quyết được vấn đề này, hãy vô hiệu hoá cài đặt 'Bỏ qua video không công khai/riêng tư', vì SponsorBlock không thể lấy được thông tin của video này"
},
"forceChannelCheck": {
"message": "Bắt buộc kiểm tra kênh trước khi bỏ qua"
},
"whatForceChannelCheck": {
"message": "Theo mặc định, các phân đoạn đã xác định sẽ được bỏ qua ngay lập tức trước khi biết đây là kênh nào. Vì vậy, một số phân đoạn ở đầu video sẽ bị bỏ qua ngay lập tức cho dù bạn đã bỏ chặn kênh. Bật lựa chọn này sẽ ngăn chặn điều đó nhưng sẽ mất một chút thời gian hơn để bỏ qua do phải lấy ID của kênh. Độ trễ sẽ được cải thiện nếu bạn có kết nối mạng tốt."
},
"forceChannelCheckPopup": {
"message": "Cân nhắc bật chế độ \"Bắt buộc kiểm tra kênh YouTube trước khi bỏ qua phân đoạn\""
},
"downvoteDescription": {
"message": "Chỉnh thời gian sai/không đúng"
},
"incorrectCategory": {
"message": "Đổi danh mục"
},
"nonMusicCategoryOnMusic": {
"message": "Video này đã được phân loại là âm nhạc. Bạn có chắc đây là quảng cáo nhà tài trợ không? Nếu đây là phân đoạn \"Không phải nhạc\", hãy mở Cài đặt tiện ích và bật lựa chọn đó. Rồi bạn có thể đăng tải phân đoạn lên dưới danh mục \"Không phải nhạc\" thay vì \"Quảng cáo nhà tài trợ\". Hãy đọc Hướng dẫn nếu bạn vẫn còn vướng mắc"
},
"multipleSegments": {
"message": "Nhiều phân đoạn"
},
"guidelines": {
"message": "Hướng dẫn"
},
"readTheGuidelines": {
"message": "Hãy đọc hướng dẫn!!",
"description": "Show the first time they submit or if they are \"high risk\""
},
"categoryUpdate1": {
"message": "Danh mục ở đây!"
},
"categoryUpdate2": {
"message": "Mở Tùy chọn để bỏ qua đoạn mở đầu, kết thúc, giới thiệu hàng hoá, v.v."
},
"help": {
"message": "Trợ giúp"
},
"GotIt": {
"message": "Đã hiểu",
"description": "Used as the button to dismiss a tooltip"
},
"fullVideoTooltipWarning": {
"message": "Phân đoạn này là lớn. Nếu toàn bộ video nói về một chủ đề, hãy chuyển từ \"Bỏ qua\" thành \"Toàn bộ video\". Xem hướng dẫn để biết thêm thông tin."
},
"categoryPillTitleText": {
"message": "Toàn bộ video này được gắn thẻ vào thể loại này và được tích hợp quá chặt chẽ để có thể tách ra"
},
"experiementOptOut": {
"message": "Từ chối tham gia thử nghiệm trong tương lai",
"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": "Ẩn vĩnh viễn"
},
"warningChatInfo": {
"message": "Bạn đã nhận được một cảnh báo và tạm thời không thể gửi các phân đoạn. Bạn đã mắc lỗi trong việc tạo phân đoạn quá nhiều lần (có thể là chọn sai kiểu phân đoạn hoặc sai thời gian phân đoạn). Chúng tôi muốn bạn nhận ra điều đó để giúp bạn không mắc lỗi trong tương lai. Bạn có thể gặp các Vip User tại đây: discord.gg/SponsorBlock hoặc matrix.to/#/#sponsor:ajay.app. Bọn họ sẽ giúp bạn gỡ cảnh báo sau khi bạn đã hiểu ra lỗi sai của bạn"
},
"voteRejectedWarning": {
"message": "Bỏ phiếu bị từ chối do có cảnh báo. Nhấp để mở cuộc trò chuyện để giải quyết hoặc quay lại sau.",
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
},
"Donate": {
"message": "Ủng hộ"
},
"considerDonating": {
"message": "Hỗ trợ phát triển cấp quỹ"
},
"hideDonationLink": {
"message": "Ẩn link donate"
},
"darkModeOptionsPage": {
"message": "Chế độ tối trên trang tùy chọn"
},
"helpPageThanksForInstalling": {
"message": "Cảm ơn bạn đã cài đặt SponsorBlock."
},
"helpPageReviewOptions": {
"message": "Xin hãy xem xét các tuỳ chọn bên dưới"
},
"helpPageFeatureDisclaimer": {
"message": "Nhiều tính năng sẽ bị tắt theo mặc định. Nếu bạn muốn bỏ qua phần intro, sử dụng trên các trang web bên thứ 3 như Invidious, v. v...., bạn có thể bật nó ở bên dưới. Bạn cũng có thể cho hiện/ẩn UI người dùng."
},
"helpPageHowSkippingWorks": {
"message": "Việc bỏ qua 1 đoạn trong video được thực hiện thế nào?"
},
"helpPageHowSkippingWorks1": {
"message": "Các phân đoạn trong video sẽ tự động bị bỏ qua nếu chúng được tìm thấy trong cơ sở dữ liệu của chúng tôi. Bạn có thể mở cửa sổ xem trước các phân đoạn ấy bằng cách nhấp vào biểu tượng tiện ích mở rộng."
},
"helpPageHowSkippingWorks2": {
"message": "Bất cứ khi nào bỏ qua một phân đoạn, bạn sẽ nhận được 1 cửa sổ thông báo bât. Nếu phân đoạn có vẻ sai, hãy bỏ phiếu bằng cách nhấp vào nút downvote! Bạn cũng có thể bỏ phiếu trong cửa sổ bật lên khi nhấn vào biểu tượng tiện ích mở rộng. Và bạn có thể tắt việc hiển thị bảng thông báo này trong phần cài đặt tiện ích."
},
"Submitting": {
"message": "Đang gửi lên"
},
"helpPageSubmitting1": {
"message": "Việc gửi một phân đoạn mới có thể được thực hiện trong cửa sổ bật lên bằng cách nhấn vào nút \"Đoạn quảng cáo bắt đầu vào lúc này\" hoặc trong trình phát video bằng các nút trên thanh trình phát."
},
"helpPageSubmitting2": {
"message": "Bạn nhấp 1 lần vào nút \"Đoạn quảng cáo bắt đầu vào lúc này\" để bắt đầu 1 phân đoạn, nhấn 2 lần để đánh dấu kết thúc phân đoạn đó. Bạn có thể chuẩn bị nhiều phân đoạn trước khi nhấn gửi. Nhấp vào nút \"Đăng đoạn quảng cáo\" sẽ gửi. Nhấp vào nút \"Xoá đoạn quảng cáo\" để xóa."
},
"Editing": {
"message": "Chỉnh sửa"
},
"helpPageEditing1": {
"message": "Nếu bạn muốn chỉnh sửa thời gian phân đoạn hoặc kiểu của phân đoạn, bạn có thể chỉnh sửa hoặc xóa các phân đoạn của mình sau khi nhấp vào nút \"Đăng đoạn quảng cáo\"."
},
"helpPageTooSlow": {
"message": "Nếu như bạn cảm thấy thao tác ở trên quá chậm..."
},
"helpPageTooSlow1": {
"message": "Bạn có thể sử dụng các hotkeys - phím nóng. Nhấn phím dấu chấm phẩy (;) để chỉ ra điểm bắt đầu / kết thúc của phân đoạn nhà tài trợ và nhấp vào dấu nháy đơn (') để gửi. Nếu bạn không sử dụng QWERTY, có lẽ bạn nên thay đổi keybinding bằng cách vào phần cài đặt của tiện ích."
},
"helpPageCopyOfDatabase": {
"message": "Tôi có thể lấy bản sao của database không? Điều gì xảy ra nếu có chuyện tệ (server chết, chủ nhân trang web mất, ...)?"
},
"helpPageCopyOfDatabase1": {
"message": "Database được công khai và luôn có sẵn tại "
},
"helpPageCopyOfDatabase2": {
"message": "Mã nguồn mở cũng luôn có sẵn. Vì vậy, ngay cả khi có điều gì đó tệ, các phân đoạn cũng sẽ không biến mất."
},
"helpPageNews": {
"message": "Tôi có thể cập nhật tin tức ở đâu?"
},
"helpPageSourceCode": {
"message": "Bạn có thể tìm thấy source code ở đâu?"
},
"Credits": {
"message": "Lời cảm ơn đến"
},
"LearnMore": {
"message": "Tìm hiểu thêm"
},
"CopyDownvoteButtonInfo": {
"message": "Hạ bình chọn và tạo một bản sao cục bộ cho bạn gửi lại"
},
"OpenCategoryWikiPage": {
"message": "Mở trang wiki của danh mục này để tìm hiểu thêm."
},
"CopyAndDownvote": {
"message": "Sao chép và hạ bình chọn"
},
"ContinueVoting": {
"message": "Tiếp tục bỏ phiếu"
},
"ChangeCategoryTooltip": {
"message": "Điều này sẽ ngay lập tức áp dụng cho phân đoạn của bạn"
},
"downvote": {
"message": "Phản đối"
},
"upvote": {
"message": "Bình chọn"
},
"hideSegment": {
"message": "Ẩn phân đoạn"
},
"SponsorTimeEditScrollNewFeature": {
"message": "Sử dụng con lăn chuột của bạn khi di chuột qua hộp chỉnh sửa để nhanh chóng điều chỉnh thời gian. Kết hợp phím ctrl hoặc shift có thể được sử dụng để tinh chỉnh các thay đổi."
},
"categoryPillNewFeature": {
"message": "Mới! Xem khi nào video được tài trợ hoàn toàn hoặc tự quảng bá"
},
"dayAbbreviation": {
"message": "d",
"description": "100d"
},
"hourAbbreviation": {
"message": "h",
"description": "100h"
},
"optionsTabBehavior": {
"message": "Hành vi",
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabInterface": {
"message": "Giao diện",
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabKeyBinds": {
"message": "Phím tắt bàn phím",
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabBackup": {
"message": "Sao lưu/Khôi phục",
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"optionsTabAdvanced": {
"message": "Điều khoản khác",
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
},
"noticeVisibilityLabel": {
"message": "Bỏ qua thông báo xuất hiện",
"description": "Option label"
},
"unbind": {
"message": "Gỡ liên kết",
"description": "Unbind keyboard shortcut"
},
"notSet": {
"message": "Chưa thiết lập"
},
"change": {
"message": "Thay đổi"
},
"youtubeKeybindWarning": {
"message": "Đây là lối tắt YouTube được tích hợp sẵn. Bạn có chắc chắn muốn sử dụng nó không?"
},
"betaServerWarning": {
"message": "Máy chủ BETA đã được kích hoạt!"
},
"openOptionsPage": {
"message": "Mở trang tùy chọn"
}
}

View File

@@ -1,566 +0,0 @@
{
"fullName": {
"message": "SponsorBlock for YouTube - 跳过赞助商广告",
"description": "Name of the extension."
},
"Description": {
"message": "跳过 YouTube 视频中的赞助广告、订阅提醒等片段。标记视频中的赞助广告来节约大家的时间。",
"description": "Description of the extension."
},
"400": {
"message": "服务器说此请求无效"
},
"429": {
"message": "您为这个视频提交了太长的赞助商广告时间,您确定有这么多吗?"
},
"409": {
"message": "它之前已经被提交过了"
},
"channelWhitelisted": {
"message": "频道已加入白名单!"
},
"Segment": {
"message": "片段"
},
"Segments": {
"message": "片段"
},
"upvoteButtonInfo": {
"message": "为这个提交点赞"
},
"reportButtonTitle": {
"message": "报告"
},
"reportButtonInfo": {
"message": "报告此提交不正确。"
},
"Dismiss": {
"message": "忽略"
},
"Loading": {
"message": "加载中..."
},
"Hide": {
"message": "不再显示"
},
"hitGoBack": {
"message": "点击取消跳过以回到您原来的样子。"
},
"unskip": {
"message": "取消跳过"
},
"reskip": {
"message": "继续跳过"
},
"paused": {
"message": "已暂停"
},
"manualPaused": {
"message": "计时器已停止"
},
"confirmMSG": {
"message": "要编辑或删除个别值,请点击信息按钮或通过点击右上角的扩展图标打开扩展弹窗。"
},
"clearThis": {
"message": "您确定要清空它吗?\n\n"
},
"Unknown": {
"message": "提交您的赞助商广告时间时出错。请稍后再试。"
},
"sponsorFound": {
"message": "此视频在数据库中存在可跳片段!"
},
"sponsor404": {
"message": "未找到可跳片段"
},
"sponsorStart": {
"message": "片段现在开始"
},
"sponsorEnd": {
"message": "片段现在结束"
},
"sponsorCancel": {
"message": "取消创建片段"
},
"noVideoID": {
"message": "未找到 YouTube 视频。\n如果识别错误请刷新此页面。"
},
"success": {
"message": "成功 "
},
"voted": {
"message": "已投票!"
},
"serverDown": {
"message": "服务器似乎已宕机。请立即联系开发者。"
},
"connectionError": {
"message": "连接错误。错误代码: "
},
"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 服务器来提供建议与反馈!"
},
"hideThis": {
"message": "隐藏它"
},
"Options": {
"message": "选项"
},
"showButtons": {
"message": "在 Youtube 播放器上显示按钮"
},
"hideButtons": {
"message": "在 Youtube 播放器上隐藏按钮"
},
"hideButtonsDescription": {
"message": "这将隐藏在 YouTube 播放器上提交赞助商广告的按钮。我了解这个东西打扰到了某些人。除了使用那个按钮,这个弹窗也可以用来提交赞助商广告。 要隐藏出现的通知,请使用通知中显示的写着 ”不再显示“ 的按钮。您可以在以后再次启用这些设置。"
},
"showInfoButton": {
"message": "在 Youtube 播放器上显示信息按钮"
},
"hideInfoButton": {
"message": "在 Youtube 播放器上隐藏信息按钮"
},
"hideDeleteButton": {
"message": "在 Youtube 播放器上隐藏删除按钮"
},
"showDeleteButton": {
"message": "在 Youtube 播放器上显示删除按钮"
},
"enableViewTracking": {
"message": "启用跳过次数统计跟踪"
},
"whatViewTracking": {
"message": "此功能追踪您跳过了哪些片段,以让用户知道他们提交的信息帮助了多少人,并与点赞一同作为依据,来确保垃圾信息不会进入数据库。在您每次跳过片段时,此扩展都会向服务器发送一条消息。希望大部分人不要改变此设置,以使观看数字准确。:)"
},
"enableQueryByHashPrefix": {
"message": "按哈希前缀查询"
},
"whatQueryByHashPrefix": {
"message": "使用视频 ID 哈希值的前 4 个字符而非整个视频 ID 向服务器查询片段。服务器将返回所有具有类似哈希值的视频数据。"
},
"enableRefetchWhenNotFound": {
"message": "在新视频中再次获取片段"
},
"whatRefetchWhenNotFound": {
"message": "如果视频是新的且没有发现可跳片段,将在您观看时每隔几分钟再次获取信息。"
},
"showNotice": {
"message": "重新显示通知"
},
"showSkipNotice": {
"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."
},
"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}"
},
"disableAutoSkip": {
"message": "禁用自动跳过"
},
"enableAutoSkip": {
"message": "启用自动跳过"
},
"audioNotification": {
"message": "跳过时音频通知"
},
"audioNotificationDescription": {
"message": "在跳过片段时播放声音。如果禁用(或禁用自动跳过),则不会播放声音。"
},
"showTimeWithSkips": {
"message": "显示减去可跳片段后的时间"
},
"showTimeWithSkipsDescription": {
"message": "此时间位于进度条下方的当前时间旁边,用括号框住。 显示的是视频减去所有可跳片段后的时间,可跳片段包括标记为“在进度条中显示”的片段。"
},
"youHaveSkipped": {
"message": "您已跳过 "
},
"minLower": {
"message": "分钟"
},
"minsLower": {
"message": "分钟"
},
"hourLower": {
"message": "小时"
},
"hoursLower": {
"message": "小时"
},
"youHaveSavedTime": {
"message": "您为大家节省了",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"youHaveSavedTimeEnd": {
"message": " 的生命",
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
},
"statusReminder": {
"message": "在 status.sponsor.ajay.app 检查服务器状态。"
},
"changeUserID": {
"message": "导入/导出您的用户 ID"
},
"setUserID": {
"message": "设定用户 ID"
},
"userIDChangeWarning": {
"message": "警告:更改用户 ID 是永久性的。您确定要这么做吗?请务必备份您的旧用户 ID 以防万一。"
},
"createdBy": {
"message": "创建者"
},
"supportOtherSites": {
"message": "支持第三方 YouTube 网站"
},
"optionsInfo": {
"message": "启用 Invidious 支持,禁用自动跳过,隐藏按钮等等。"
},
"add": {
"message": "添加"
},
"addInvidiousInstanceError": {
"message": "这是一个无效的域名。它应该只包括域名部分。例如invidious.ajay.app"
},
"resetInvidiousInstance": {
"message": "重置 Invidious 实例列表"
},
"resetInvidiousInstanceAlert": {
"message": "您将会重置 Invidious 实例列表"
},
"currentInstances": {
"message": "当前实例:"
},
"minDuration": {
"message": "最小持续时间(秒)"
},
"minDurationDescription": {
"message": "短于设定值的片段将不会被跳过或显示在播放器中。"
},
"shortCheck": {
"message": "以下的提交短于您的最小持续时间选项。这代表它们可能已经被提交,只是由于该选项被忽略了。您确定要提交吗?"
},
"showUploadButton": {
"message": "显示上传按钮"
},
"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": "提交片段"
},
"submit": {
"message": "提交"
},
"cancel": {
"message": "取消"
},
"delete": {
"message": "删除"
},
"preview": {
"message": "预览"
},
"inspect": {
"message": "检查"
},
"edit": {
"message": "编辑"
},
"copyDebugInformation": {
"message": "复制调试信息到剪贴板"
},
"copyDebugInformationFailed": {
"message": "复制到剪贴板失败"
},
"copyDebugInformationOptions": {
"message": "复制信息到剪贴板,在提交错误或开发者需要时提供给他。 敏感信息如您的用户ID白名单频道和自定义服务器地址等已被删除。然而它仍然包含诸如您的 useragent ,浏览器,操作系统和扩展版本号等信息。 "
},
"copyDebugInformationComplete": {
"message": "调试信息已复制到剪切板中。 您可以随意移除任何您不想分享的信息。请将其另存为 .txt 文件或粘贴到错误报告中。"
},
"to": {
"message": "到",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"category_sponsor": {
"message": "赞助商广告"
},
"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": "过场/开场动画"
},
"category_intro_description": {
"message": "没有实际内容的间隔片段。可以是暂停、静态帧或重复动画。不应用于包含信息的过渡。"
},
"category_intro_short": {
"message": "过场"
},
"category_outro": {
"message": "结束画面/结尾职员表"
},
"category_outro_description": {
"message": "鸣谢画面或出现 YouTube 片尾画面。不应用于包含信息的结尾。"
},
"category_music_offtopic": {
"message": "音乐:非音乐部分"
},
"category_music_offtopic_description": {
"message": "仅用于音乐视频。此分类只能用于音乐视频中未包括于其他分类的部分。"
},
"category_music_offtopic_short": {
"message": "无音乐"
},
"category_livestream_messages": {
"message": "直播:捐赠/消息阅读"
},
"category_livestream_messages_short": {
"message": "阅读消息"
},
"autoSkip": {
"message": "自动跳过"
},
"manualSkip": {
"message": "手动跳过"
},
"showOverlay": {
"message": "在搜索栏中显示"
},
"disable": {
"message": "禁用"
},
"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": "启用 Beta 测试服务器"
},
"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": "隐藏:过短"
},
"acceptPermission": {
"message": "接受权限"
},
"permissionRequestSuccess": {
"message": "权限请求成功!"
},
"forceChannelCheck": {
"message": "跳过前强制进行频道检查"
},
"whatForceChannelCheck": {
"message": "默认情况下,即使还未检测出当前是什么频道,也会立即跳过片段。即使在白名单中的频道,一些在开头的片段也可能被跳过。启用此选项将防止这种情况,但所有的跳过将会产生轻微的延迟,因为获取频道 ID 需要一点时间。如果您的网速很快,那延迟可能非常短。"
},
"forceChannelCheckPopup": {
"message": "请考虑启用“跳过前强制进行频道检查”"
},
"downvoteDescription": {
"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": "帮助"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,13 @@
.hidden {
:root {
--skip-notice-right: 10px;
--skip-notice-padding: 5px;
--skip-notice-margin: 5px;
--skip-notice-border-horizontal: 5px;
--skip-notice-border-vertical: 10px;
--sb-dark-red-outline: rgb(130,0,0,0.9);
}
.sbhidden {
display: none;
}
@@ -12,22 +21,41 @@
height: 100%;
transform: scaleY(0.6) translateY(-30%) translateY(1.5px);
z-index: 40;
z-index: 42;
transition: transform .1s cubic-bezier(0,0,0.2,1);
}
.ytm-progress-bar > #previewbar {
.ytp-big-mode #previewbar {
transform: scaleY(0.625) translateY(-30%) translateY(1.5px);
}
.ytp-big-mode .sponsorTwoTooltips .sponsorCategoryTooltip {
top: 75px !important;
}
.progress-bar-line > #previewbar {
height: 3px;
}
#previewbar.hovered {
div:hover > #previewbar.sbNotInvidious {
transform: scaleY(1)
}
.previewbar {
display: inline-block;
height: 100%;
min-width: 1px;
}
.previewbar.requiredSegment {
transform: scaleY(3);
}
.previewbar.selectedSegment {
opacity: 1 !important;
z-index: 100;
transform: scaleY(1.5);
}
/* Make sure settings are upfront */
@@ -45,23 +73,58 @@
transform: translateY(-1em) !important;
}
/* Pull up for precise seeking */
.ytp-tooltip.sponsorCategoryTooltipVisible .ytp-tooltip-edu {
transform: translateY(-1em) !important;
}
.ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips {
transform: translateY(-2em) !important;
}
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible {
transform: translateY(-2em) !important;
}
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips {
transform: translateY(-4em) !important;
}
#movie_player:not(.ytp-big-mode) .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper {
transform: translateY(1em) !important;
}
#movie_player:not(.ytp-big-mode) .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper {
transform: translateY(2em) !important;
}
/* Pull up for precise seeking */
.ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips .ytp-tooltip-edu {
transform: translateY(-2em) !important;
}
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper {
transform: translateY(0.5em) !important;
}
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper {
transform: translateY(1em) !important;
}
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper > .ytp-tooltip-text {
display: block !important;
transform: translateY(1em) !important;
}
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper > .ytp-tooltip-text {
display: block !important;
transform: translateY(2em) !important;
}
div:hover > .sponsorBlockChapterBar {
z-index: 41 !important;
}
/* */
.popup {
@@ -88,17 +151,31 @@
vertical-align: top;
}
.playerButton.sbhidden:not(.autoHiding) {
display: none !important;
}
/* Removes auto width from being a ytp-player-button */
.sbPlayerDownvote {
width: auto !important;
}
/* Adds back the padding */
.sbPlayerDownvote svg {
padding-right: 3.6px;
}
.autoHiding {
overflow: visible !important;
}
.autoHiding:not(.hidden) {
.autoHiding:not(.sbhidden) {
transform: translateX(0%) scale(1);
/* opacity is from YouTube page */
transition: transform 0.2s, width 0.2s, opacity .1s cubic-bezier(0.4,0.0,1,1) !important;
}
.autoHiding.hidden {
.autoHiding.sbhidden {
transform: translateX(100%) scale(0);
/* opacity is from YouTube page */
transition: transform 0.2s, width 0.2s, opacity .1s cubic-bezier(0.4,0.0,1,1) !important;
@@ -106,15 +183,19 @@
width: 0px !important;
}
.autoHiding.hidden.autoHideLeft {
.autoHiding.sbhidden.autoHideLeft {
transform: translateX(-100%) scale(0);
}
.sponsorSkipObject {
font-family: Roboto, Arial, Helvetica, sans-serif;
margin-left: 2px;
margin-right: 2px;
margin-left: var(--skip-notice-margin);
margin-right: var(--skip-notice-margin);
}
.sponsorSkipObjectFirst {
margin-left: 0;
}
.sponsorSkipLogo {
@@ -123,6 +204,11 @@
float: left;
}
#categoryPill .sbPillNoText .sponsorSkipLogo {
margin-top: calc(2.6rem - 18px);
margin-bottom: calc(2.6rem - 18px);
}
@keyframes fadeIn {
from { opacity: 0; }
}
@@ -145,7 +231,7 @@
position: absolute;
right: 5px;
bottom: 100px;
right: 10px;
right: var(--skip-notice-right);
}
.sponsorSkipNoticeParent {
@@ -163,21 +249,21 @@
border-collapse: unset;
}
.sponsorSkipNoticeParent {
min-width: 350px;
max-width: 50%;
}
.sponsorSkipNotice {
width: 100%;
}
.sponsorSkipNoticeTableContainer {
color: white;
background-color: rgba(28, 28, 28, 0.9);
border-radius: 5px;
min-width: 100%;
}
.exportCopiedNotice .sponsorSkipNoticeTableContainer {
background-color: transparent;
}
.sponsorSkipNotice {
transition: all 0.1s ease-out;
}
@@ -186,7 +272,7 @@
max-width: calc(100% - 50px);
}
.sponsorSkipNotice .hidden {
.sponsorSkipNotice .sbhidden {
display: none;
}
@@ -199,6 +285,10 @@
animation: fadeIn 0.5s ease-out;
}
.exportCopiedNotice .sponsorSkipNoticeFadeIn {
animation: none;
}
.sponsorSkipNoticeFaded {
opacity: 0.5;
}
@@ -230,11 +320,6 @@
padding-bottom: 7.8%;
}
/* if two are very close to eachother */
.secondSkipNotice {
bottom: 290px;
}
.noticeLeftIcon {
display: flex;
align-items: center;
@@ -351,6 +436,7 @@
.sponsorTimesInfoMessage {
font-size: 13.3333px;
color: rgb(235, 235, 235);
overflow-wrap: anywhere;
}
.sb-guidelines-notice .sponsorTimesInfoMessage td {
@@ -480,8 +566,8 @@
.sponsorTimeEditButton {
text-decoration: underline;
margin-left: 20px;
margin-right: 20px;
margin-left: 13px;
margin-right: 13px;
font-size: 13px;
@@ -505,10 +591,17 @@ input::-webkit-inner-spin-button {
font-size: 14px;
-moz-appearance: textfield;
appearance: textfield;
}
.sponsorTimeEditInput {
width: 90px;
border: 3px solid var(--sb-dark-red-outline);
}
.sponsorTimeEditInput.sponsorChapterNameInput {
width: auto;
padding: 3px;
}
.sponsorNowButton {
@@ -523,12 +616,56 @@ input::-webkit-inner-spin-button {
margin-bottom: 5px;
background-color: rgba(28, 28, 28, 0.9);
border-color: rgb(130,0,0,0.9);
border-color: var(--sb-dark-red-outline);
color: white;
border-width: 3px;
padding: 3px;
}
.sponsorTimeEditSelector > option {
background-color: rgba(28, 28, 28, 0.9);
color: white;
}
/* Start SelectorComponent */
.sbSelector {
position: absolute;
text-align: center;
width: calc(100% - var(--skip-notice-right) - var(--skip-notice-padding) * 2 - var(--skip-notice-margin) * 2 - var(--skip-notice-border-horizontal) * 2);
z-index: 1000;
}
.sbSelectorBackground {
text-align: center;
background-color: rgba(28, 28, 28, 0.9);
border-radius: 6px;
padding: 3px;
margin: auto;
width: 170px;
}
.sbSelectorOption {
cursor: pointer;
background-color: rgb(43, 43, 43);
padding: 5px;
margin: 5px;
color: white;
border-radius: 5px;
font-size: 14px;
margin-left: auto;
margin-right: auto;
}
.sbSelectorOption:hover {
background-color: #3a0000;
}
/* End SelectorComponent */
.helpButton {
height: 25px;
cursor: pointer;
@@ -543,24 +680,13 @@ input::-webkit-inner-spin-button {
opacity: 0.8;
}
.sbChatNotice iframe {
height: 32px;
cursor: pointer;
height: 100%;
}
.sbChatClose {
height: 14px;
cursor: pointer;
}
.skipButtonControlBarContainer {
cursor: pointer;
display: flex;
color: white;
}
.skipButtonControlBarContainer.hidden {
.skipButtonControlBarContainer.sbhidden {
display: none !important;
}
@@ -605,11 +731,13 @@ input::-webkit-inner-spin-button {
border-radius: 5px;
padding: 10px;
max-width: 300px;
width: max-content;
white-space: normal;
line-height: 1.5em;
color: white;
font-size: 12px;
z-index: 1000;
z-index: 10000;
font-weight: normal;
}
.sponsorBlockTooltip a {
@@ -627,8 +755,19 @@ input::-webkit-inner-spin-button {
border-color: rgba(28, 28, 28, 0.7) transparent transparent transparent;
}
.sponsorBlockTooltip.sbTriangle.centeredSBTriangle::after {
left: 50%;
right: 50%;
}
.sponsorBlockTooltip.sbTriangle.sbTopTriangle::after {
bottom: 100%;
top: unset;
border-color: transparent transparent rgba(28, 28, 28, 0.7) transparent;
}
.sponsorBlockLockedColor {
color: #ffc83d;
color: #ffc83d !important;
}
.sponsorBlockRectangleTooltip {
@@ -641,6 +780,14 @@ input::-webkit-inner-spin-button {
line-height: 1.5em;
}
#categoryPillParent {
height: fit-content;
margin-top: auto;
margin-bottom: auto;
position: relative;
}
.sponsorBlockCategoryPill {
border-radius: 25px;
padding-left: 8px;
@@ -658,6 +805,10 @@ input::-webkit-inner-spin-button {
align-items: center;
}
.sponsorBlockCategoryPillTitle {
white-space: nowrap;
}
.categoryPillClose {
display: none;
height: 10px;
@@ -678,3 +829,48 @@ input::-webkit-inner-spin-button {
color: #fff;
opacity: .7;
}
/* full video labels on thumbnails */
.sponsorThumbnailLabel {
display: none;
position: absolute;
top: 0;
left: 0;
padding: 0.5em;
margin: 0.5em;
border-radius: 2em;
z-index: 1000;
background-color: var(--category-color, #000);
opacity: 0.7;
box-shadow: 0 0 8px 2px #333;
font-size: 10px;
}
.sponsorThumbnailLabel.sponsorThumbnailLabelVisible {
display: flex;
}
.sponsorThumbnailLabel svg {
height: 2em;
fill: var(--category-text-color, #fff);
}
.sponsorThumbnailLabel span {
display: none;
padding-left: 0.25em;
font-size: 1.5em;
color: var(--category-text-color, #fff);
}
.sponsorThumbnailLabel:hover {
border-radius: 0.25em;
opacity: 1;
}
.sponsorThumbnailLabel:hover span {
display: inline;
}
.sponsorblock-chapter-visible {
display: inherit !important;
}

View File

@@ -8,7 +8,6 @@
<link href="styles.css" rel="stylesheet"/>
<script src="../js/vendor.js"></script>
<script src="../js/help.js"></script>
</head>
@@ -35,6 +34,20 @@
Come contribute, make some suggestions and help out on <a href="https://discord.gg/SponsorBlock">Discord</a> or on <a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org">Matrix</a>.
</p>
<a href="https://dearrow.ajay.app"
target="_blank"
id="dearrow-link"
class="dearrow-link hidden"
rel="noreferrer">
<img src="/icons/dearrow.svg"/>
<span id="dearrow-link-text">
</span>
<img src="/icons/close.png" class="close-button"/>
</a>
<p style="margin-bottom: 0; margin-top: 0" class="bigText center">__MSG_helpPageReviewOptions__</p>
<p class="smallText">

View File

@@ -322,4 +322,33 @@ svg {
cursor: default;
background-color: var(--disabled);
color: grey;
}
.dearrow-link {
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
font-size: 16px;
}
.dearrow-link img {
width: 35px;
padding: 10px
}
.dearrow-link .close-button {
opacity: 0;
width: 15px;
filter: invert(0.3);
transition: opacity 0.2s;
}
.dearrow-link:hover .close-button {
opacity: 1;
}
.hidden {
display: none;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

54
public/icons/dearrow.svg Normal file
View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="800px"
height="800px"
viewBox="0 0 36 36"
aria-hidden="true"
role="img"
class="iconify iconify--twemoji"
preserveAspectRatio="xMidYMid meet"
version="1.1"
id="svg10"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs14" />
<sodipodi:namedview
id="namedview12"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="0.65479573"
inkscape:cx="493.2836"
inkscape:cy="514.66432"
inkscape:window-width="1920"
inkscape:window-height="983"
inkscape:window-x="435"
inkscape:window-y="768"
inkscape:window-maximized="1"
inkscape:current-layer="svg10" />
<path
fill="#1213BD"
d="M36 18.302c0 4.981-2.46 9.198-5.655 12.462s-7.323 5.152-12.199 5.152s-9.764-1.112-12.959-4.376S0 23.283 0 18.302s2.574-9.38 5.769-12.644S13.271 0 18.146 0s9.394 2.178 12.589 5.442C33.931 8.706 36 13.322 36 18.302z"
id="path2" />
<path
fill="#ffffff"
d="m 30.394282,18.410186 c 0,3.468849 -1.143025,6.865475 -3.416513,9.137917 -2.273489,2.272442 -5.670115,2.92874 -9.137918,2.92874 -3.467803,0 -6.373515,-1.147212 -8.6470033,-3.419654 -2.2734888,-2.272442 -3.5871299,-5.178154 -3.5871299,-8.647003 0,-3.46885 0.9420533,-6.746149 3.2144954,-9.0196379 2.2724418,-2.2734888 5.5507878,-3.9513905 9.0196378,-3.9513905 3.46885,0 6.492841,1.9322561 8.76633,4.204698 2.273489,2.2724424 3.788101,5.2974804 3.788101,8.7663304 z"
id="path4"
style="fill:#88c9f9;fill-opacity:1;stroke-width:1.04673" />
<path
fill="#292f33"
d="m 23.95823,17.818306 c 0,3.153748 -2.644888,5.808102 -5.798635,5.808102 -3.153748,0 -5.599825,-2.654354 -5.599825,-5.808102 0,-3.153747 2.446077,-5.721714 5.599825,-5.721714 3.153747,0 5.798635,2.567967 5.798635,5.721714 z"
id="path8"
style="stroke-width:1.18339;fill:#0a62a5;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

124
public/icons/export.svg Normal file
View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="Capa_1"
x="0px"
y="0px"
viewBox="0 0 67.671 67.671"
style="enable-background:new 0 0 67.671 67.671;"
xml:space="preserve"
sodipodi:docname="export.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs41" /><sodipodi:namedview
id="namedview39"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="9.309749"
inkscape:cx="33.889206"
inkscape:cy="33.835499"
inkscape:window-width="1920"
inkscape:window-height="983"
inkscape:window-x="0"
inkscape:window-y="768"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<g
id="g6"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,6)">
<path
d="M 52.946,23.348 H 42.834 v 6 h 10.112 c 3.007,0 5.34,1.536 5.34,2.858 v 26.606 c 0,1.322 -2.333,2.858 -5.34,2.858 H 14.724 c -3.007,0 -5.34,-1.536 -5.34,-2.858 V 32.207 c 0,-1.322 2.333,-2.858 5.34,-2.858 h 10.11 v -6 h -10.11 c -6.359,0 -11.34,3.891 -11.34,8.858 v 26.606 c 0,4.968 4.981,8.858 11.34,8.858 h 38.223 c 6.358,0 11.34,-3.891 11.34,-8.858 V 32.207 C 64.286,27.239 59.305,23.348 52.946,23.348 Z"
id="path2"
style="fill:#ffffff" />
<path
d="m 24.957,14.955 c 0.768,0 1.535,-0.293 2.121,-0.879 l 3.756,-3.756 v 13.028 6 11.494 c 0,1.657 1.343,3 3,3 1.657,0 3,-1.343 3,-3 v -11.494 -6 -13.231 l 3.959,3.959 c 0.586,0.586 1.354,0.879 2.121,0.879 0.767,0 1.535,-0.293 2.121,-0.879 1.172,-1.171 1.172,-3.071 0,-4.242 L 36.078,0.877 C 35.492,0.291 34.725,0 33.958,0 33.95,0 33.943,0 33.935,0 33.927,0 33.92,0 33.912,0 33.145,0 32.378,0.291 31.792,0.877 l -8.957,8.957 c -1.172,1.171 -1.172,3.071 0,4.242 0.587,0.586 1.354,0.879 2.122,0.879 z"
id="path4"
style="fill:#ffffff" />
</g>
<g
id="g8"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g10"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g12"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g14"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g16"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g18"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g20"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g22"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g24"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g26"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g28"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g30"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g32"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g34"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
<g
id="g36"
style="fill:#ffffff"
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

93
public/icons/import.svg Normal file
View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="Capa_1"
x="0px"
y="0px"
viewBox="0 0 67.671 67.671"
style="enable-background:new 0 0 67.671 67.671;"
xml:space="preserve"
sodipodi:docname="import.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs41" /><sodipodi:namedview
id="namedview39"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="9.309749"
inkscape:cx="33.889206"
inkscape:cy="33.835499"
inkscape:window-width="1920"
inkscape:window-height="983"
inkscape:window-x="0"
inkscape:window-y="768"
inkscape:window-maximized="1"
inkscape:current-layer="g6"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<g
id="g6">
<path
d="M 49.575492,25.197675 H 41.24694 v 4.941783 h 8.328552 c 2.476657,0 4.398187,1.265096 4.398187,2.353936 v 21.913515 c 0,1.088839 -1.92153,2.353936 -4.398187,2.353936 H 18.094685 c -2.476657,0 -4.398188,-1.265097 -4.398188,-2.353936 V 32.494218 c 0,-1.08884 1.921531,-2.353936 4.398188,-2.353936 h 8.326905 v -4.941784 h -8.326905 c -5.237467,0 -9.3399709,3.204747 -9.3399709,7.29572 v 21.913514 c 0,4.091797 4.1025039,7.29572 9.3399709,7.29572 h 31.48163 c 5.236643,0 9.339971,-3.204747 9.339971,-7.29572 V 32.494218 c -8.24e-4,-4.091797 -4.103328,-7.296543 -9.340794,-7.296543 z"
id="path2"
style="fill:#ffffff;stroke-width:0.823631" />
<path
d="m 41.312006,34.701548 c -0.632548,0 -1.128592,0.43489 -1.74692,0.723971 L 36.47153,38.519075 V 22.847033 17.90525 8.4384399 c 0,-1.3647558 -1.106136,-2.4708916 -2.470892,-2.4708916 -1.364756,0 -2.470892,1.1061358 -2.470892,2.4708916 v 9.4668101 9.883566 10.897456 l -3.260753,-3.260753 c -0.482648,-0.482648 -1.115196,-0.723971 -1.746921,-0.723971 -0.631724,0 -1.264272,0.241323 -1.74692,0.723971 -0.965295,0.964471 -0.965295,2.529369 0,3.493841 l 7.377259,7.377259 c 0.482647,0.482647 1.114372,0.722324 1.746097,0.722324 h 0.01894 0.01894 c 0.631724,0 1.263449,-0.239677 1.746097,-0.722324 L 43.05975,38.91936 c 0.965295,-0.964472 0.965295,-2.52937 0,-3.493841 -0.483471,-0.482648 -1.115195,-0.723971 -1.747744,-0.723971 z"
id="path4"
sodipodi:nodetypes="sscccssscccssccsscssccs"
style="fill:#ffffff;stroke-width:0.823631" />
</g>
<g
id="g8">
</g>
<g
id="g10">
</g>
<g
id="g12">
</g>
<g
id="g14">
</g>
<g
id="g16">
</g>
<g
id="g18">
</g>
<g
id="g20">
</g>
<g
id="g22">
</g>
<g
id="g24">
</g>
<g
id="g26">
</g>
<g
id="g28">
</g>
<g
id="g30">
</g>
<g
id="g32">
</g>
<g
id="g34">
</g>
<g
id="g36">
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

1
public/icons/skip.svg Normal file
View 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 0h24v24H0z" fill="none"/><path d="M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z"/></svg>

After

Width:  |  Height:  |  Size: 196 B

1
public/icons/sort.svg Normal file
View 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 0h24v24H0z" fill="none"/><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"/></svg>

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More