Compare commits

..

38 Commits

Author SHA1 Message Date
semantic-release-bot
1db131e90e chore: Release v5.37.1-dev.3 [skip ci]
## [5.37.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.37.1-dev.2...v5.37.1-dev.3) (2025-09-15)

### Bug Fixes

* **Spoof video streams:** Remove Android TV and iOS TV clients, add experimental VisionOS, add temporary fix for `Force original audio` to work with any spoof client ([#5861](https://github.com/ReVanced/revanced-patches/issues/5861)) ([abe3943](abe3943f98))
2025-09-15 17:02:01 +00:00
LisoUseInAIKyrios
abe3943f98 fix(Spoof video streams): Remove Android TV and iOS TV clients, add experimental VisionOS, add temporary fix for Force original audio to work with any spoof client (#5861) 2025-09-15 20:58:56 +04:00
semantic-release-bot
cb6d802de3 chore: Release v5.37.1-dev.2 [skip ci]
## [5.37.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.37.1-dev.1...v5.37.1-dev.2) (2025-09-15)

### Bug Fixes

* **Instagram - Hide navigation buttons:** Support v397.1.0.52.81 ([#5855](https://github.com/ReVanced/revanced-patches/issues/5855)) ([f11d1ef](f11d1ef990))
2025-09-15 12:52:54 +00:00
brosssh
f11d1ef990 fix(Instagram - Hide navigation buttons): Support v397.1.0.52.81 (#5855) 2025-09-15 16:48:55 +04:00
semantic-release-bot
3d25da18bc chore: Release v5.37.1-dev.1 [skip ci]
## [5.37.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.37.0...v5.37.1-dev.1) (2025-09-15)

### Bug Fixes

* **YouTube Music - Spoof video streams:** Fix playback issues when using a cellular network ([fa04c8e](fa04c8eecf))
2025-09-15 12:47:02 +00:00
LisoUseInAIKyrios
fa04c8eecf fix(YouTube Music - Spoof video streams): Fix playback issues when using a cellular network
Code adapted from 5f35e51a27
2025-09-15 16:43:04 +04:00
semantic-release-bot
105f6e0e97 chore: Release v5.37.0 [skip ci]
# [5.37.0](https://github.com/ReVanced/revanced-patches/compare/v5.36.0...v5.37.0) (2025-09-15)

### Bug Fixes

* **Instagram - Hide navigation buttons:** Add constrain to known working version ([e6c79f1](e6c79f1383))
* Resolve patching with dev branch ([09b941a](09b941abf0))
* **Spotify:** Remove broken `Spoof client` patch ([#5833](https://github.com/ReVanced/revanced-patches/issues/5833)) ([dcd4245](dcd42454bd))
* **Viber - Hide ads:** Add constrain to known working version ([2db0948](2db0948bea))
* **YouTube Music - Spoof streaming data:** Fix audio playback stuttering ([#5839](https://github.com/ReVanced/revanced-patches/issues/5839)) ([2a85a3b](2a85a3b290))

### Features

* **Viber:** Add `Hide ads` patch ([#5826](https://github.com/ReVanced/revanced-patches/issues/5826)) ([0abfab7](0abfab79d7))
2025-09-15 06:45:56 +00:00
LisoUseInAIKyrios
7d59efe05d chore: Merge branch dev to main (#5830) 2025-09-15 10:43:05 +04:00
github-actions[bot]
81ff5576b0 chore: Sync translations (#5854) 2025-09-15 10:41:42 +04:00
semantic-release-bot
9a5c102c0d chore: Release v5.37.0-dev.6 [skip ci]
# [5.37.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.5...v5.37.0-dev.6) (2025-09-15)

### Bug Fixes

* **Instagram - Hide navigation buttons:** Add constrain to known working version ([e6c79f1](e6c79f1383))
2025-09-15 06:40:30 +00:00
LisoUseInAIKyrios
e6c79f1383 fix(Instagram - Hide navigation buttons): Add constrain to known working version 2025-09-15 10:36:57 +04:00
semantic-release-bot
2a582eced8 chore: Release v5.37.0-dev.5 [skip ci]
# [5.37.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.4...v5.37.0-dev.5) (2025-09-15)

### Bug Fixes

* **Viber - Hide ads:** Add constrain to known working version ([2db0948](2db0948bea))
2025-09-15 06:29:31 +00:00
LisoUseInAIKyrios
2db0948bea fix(Viber - Hide ads): Add constrain to known working version 2025-09-15 10:26:30 +04:00
semantic-release-bot
a3ba92e742 chore: Release v5.37.0-dev.4 [skip ci]
# [5.37.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.3...v5.37.0-dev.4) (2025-09-14)

### Bug Fixes

* **YouTube Music - Spoof streaming data:** Fix audio playback stuttering ([#5839](https://github.com/ReVanced/revanced-patches/issues/5839)) ([2a85a3b](2a85a3b290))
2025-09-14 18:22:57 +00:00
LisoUseInAIKyrios
2a85a3b290 fix(YouTube Music - Spoof streaming data): Fix audio playback stuttering (#5839) 2025-09-14 22:19:13 +04:00
semantic-release-bot
eee72208dd chore: Release v5.37.0-dev.3 [skip ci]
# [5.37.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.2...v5.37.0-dev.3) (2025-09-14)

### Bug Fixes

* **Spotify:** Remove broken `Spoof client` patch ([#5833](https://github.com/ReVanced/revanced-patches/issues/5833)) ([dcd4245](dcd42454bd))
2025-09-14 17:15:28 +00:00
LisoUseInAIKyrios
dcd42454bd fix(Spotify): Remove broken Spoof client patch (#5833) 2025-09-14 21:11:15 +04:00
LisoUseInAIKyrios
782353c18a refactor(Spoof video streams): Handle migration of default spoof client for users upgrading from very old patches 2025-09-14 18:06:40 +04:00
semantic-release-bot
b53b870e8f chore: Release v5.37.0-dev.2 [skip ci]
# [5.37.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.1...v5.37.0-dev.2) (2025-09-14)

### Bug Fixes

* Resolve patching with dev branch ([09b941a](09b941abf0))
2025-09-14 12:00:38 +00:00
LisoUseInAIKyrios
09b941abf0 fix: Resolve patching with dev branch 2025-09-14 15:58:05 +04:00
semantic-release-bot
678ef4052e chore: Release v5.37.0-dev.1 [skip ci]
# [5.37.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.36.0...v5.37.0-dev.1) (2025-09-14)

### Features

* **Viber:** Add `Hide ads` patch ([#5826](https://github.com/ReVanced/revanced-patches/issues/5826)) ([0abfab7](0abfab79d7))
2025-09-14 11:52:21 +00:00
Samo Hribar
0abfab79d7 feat(Viber): Add Hide ads patch (#5826) 2025-09-14 15:49:52 +04:00
LisoUseInAIKyrios
61cadf72cd refactor(Spoof video streams): Back port code from v22 branch to support patching the latest YT Music. Using any target above 7.49.52 is untested and only recommended for experimental or development purposes. 2025-09-14 15:49:35 +04:00
github-actions[bot]
e12359b94f chore: Sync translations (#5829) 2025-09-14 15:46:32 +04:00
semantic-release-bot
c001daba4a chore: Release v5.36.0 [skip ci]
# [5.36.0](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0) (2025-09-14)

### Bug Fixes

* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](88b47ef414))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](8cd8e59bbc))
* **YouTube Music:** Resolve playback issues, change recommended app target to `7.29.52` ([#5813](https://github.com/ReVanced/revanced-patches/issues/5813)) ([a53b00d](a53b00dd51))

### Features

* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](9d4aa5cd16))
2025-09-14 06:56:22 +00:00
LisoUseInAIKyrios
e136f62d6e chore: Merge branch dev to main (#5800) 2025-09-14 10:53:28 +04:00
semantic-release-bot
8ec405a359 chore: Release v5.36.0-dev.1 [skip ci]
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-13)

### Bug Fixes

* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](88b47ef414))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](8cd8e59bbc))
* **YouTube Music:** Resolve playback issues, change recommended app target to `7.29.52` ([#5813](https://github.com/ReVanced/revanced-patches/issues/5813)) ([a53b00d](a53b00dd51))

### Features

* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](9d4aa5cd16))
2025-09-13 15:31:54 +00:00
github-actions[bot]
2f4b3a887b chore: Sync translations (#5821) 2025-09-13 19:28:15 +04:00
semantic-release-bot
d1fabb242b chore: Release v5.36.0-dev.1 [skip ci]
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-13)

### Bug Fixes

* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](88b47ef414))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](8cd8e59bbc))
* **YouTube Music:** Resolve playback issues, change recommended app target to `7.29.52` ([#5813](https://github.com/ReVanced/revanced-patches/issues/5813)) ([a53b00d](a53b00dd51))

### Features

* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](9d4aa5cd16))
2025-09-13 15:15:40 +00:00
LisoUseInAIKyrios
a53b00dd51 fix(YouTube Music): Resolve playback issues, change recommended app target to 7.29.52 (#5813) 2025-09-13 19:12:00 +04:00
semantic-release-bot
850c13e98e chore: Release v5.36.0-dev.1 [skip ci]
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-13)

### Bug Fixes

* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](88b47ef414))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](8cd8e59bbc))

### Features

* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](9d4aa5cd16))
2025-09-13 07:00:16 +00:00
LisoUseInAIKyrios
4310789a26 chore: Fix api 2025-09-13 10:56:43 +04:00
semantic-release-bot
c4a720fbd3 chore: Release v5.36.0-dev.1 [skip ci]
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-12)

### Bug Fixes

* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](88b47ef414))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](8cd8e59bbc))

### Features

* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](9d4aa5cd16))
2025-09-12 15:08:03 +00:00
LisoUseInAIKyrios
3bdb8dbce0 chore(YouTube - SponsorBlock): Adjust strings for consistency / clarity
Strings taken from https://github.com/ajayyy/ExtensionTranslations/blob/master/en/messages.json
2025-09-12 18:49:34 +04:00
LisoUseInAIKyrios
4894f33c96 chore: fix compilation 2025-09-12 18:49:33 +04:00
semantic-release-bot
7f6093ee66 chore: Release v5.36.0-dev.1 [skip ci]
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.1-dev.1...v5.36.0-dev.1) (2025-09-12)

### Features

* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](9d4aa5cd16))
2025-09-12 01:59:47 +00:00
LisoUseInAIKyrios
9d4aa5cd16 feat(YouTube - SponsorBlock): Add 'Hook' segment category (#5783) 2025-09-12 05:56:50 +04:00
oSumAtrIX
5ace6f587c chore: Add ads.fund verification file [skip ci] (#5786) 2025-09-11 16:00:24 +02:00
108 changed files with 1329 additions and 1004 deletions

View File

@@ -1,3 +1,157 @@
## [5.37.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.37.1-dev.2...v5.37.1-dev.3) (2025-09-15)
### Bug Fixes
* **Spoof video streams:** Remove Android TV and iOS TV clients, add experimental VisionOS, add temporary fix for `Force original audio` to work with any spoof client ([#5861](https://github.com/ReVanced/revanced-patches/issues/5861)) ([abe3943](https://github.com/ReVanced/revanced-patches/commit/abe3943f98fd86dcd74c7e07cf65d3c7fc24fef9))
## [5.37.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.37.1-dev.1...v5.37.1-dev.2) (2025-09-15)
### Bug Fixes
* **Instagram - Hide navigation buttons:** Support v397.1.0.52.81 ([#5855](https://github.com/ReVanced/revanced-patches/issues/5855)) ([f11d1ef](https://github.com/ReVanced/revanced-patches/commit/f11d1ef9907082512f139d4ab0e2e9f707de7e48))
## [5.37.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.37.0...v5.37.1-dev.1) (2025-09-15)
### Bug Fixes
* **YouTube Music - Spoof video streams:** Fix playback issues when using a cellular network ([fa04c8e](https://github.com/ReVanced/revanced-patches/commit/fa04c8eecfbdd0b6ed082b464ca9032536d71762))
# [5.37.0](https://github.com/ReVanced/revanced-patches/compare/v5.36.0...v5.37.0) (2025-09-15)
### Bug Fixes
* **Instagram - Hide navigation buttons:** Add constrain to known working version ([e6c79f1](https://github.com/ReVanced/revanced-patches/commit/e6c79f13834c83fef04e4dee5e628cb0b9a27765))
* Resolve patching with dev branch ([09b941a](https://github.com/ReVanced/revanced-patches/commit/09b941abf0e8029999565082b02a88b5de507ec4))
* **Spotify:** Remove broken `Spoof client` patch ([#5833](https://github.com/ReVanced/revanced-patches/issues/5833)) ([dcd4245](https://github.com/ReVanced/revanced-patches/commit/dcd42454bd5f87dddd720534f6120c4ef90063a3))
* **Viber - Hide ads:** Add constrain to known working version ([2db0948](https://github.com/ReVanced/revanced-patches/commit/2db0948beaf2b68391a1fe7f21e92d31c7df61e7))
* **YouTube Music - Spoof streaming data:** Fix audio playback stuttering ([#5839](https://github.com/ReVanced/revanced-patches/issues/5839)) ([2a85a3b](https://github.com/ReVanced/revanced-patches/commit/2a85a3b29092729ae16d1fd93803634ce5f08e95))
### Features
* **Viber:** Add `Hide ads` patch ([#5826](https://github.com/ReVanced/revanced-patches/issues/5826)) ([0abfab7](https://github.com/ReVanced/revanced-patches/commit/0abfab79d7cda15bf17c53679fbfffb021662649))
# [5.37.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.5...v5.37.0-dev.6) (2025-09-15)
### Bug Fixes
* **Instagram - Hide navigation buttons:** Add constrain to known working version ([e6c79f1](https://github.com/ReVanced/revanced-patches/commit/e6c79f13834c83fef04e4dee5e628cb0b9a27765))
# [5.37.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.4...v5.37.0-dev.5) (2025-09-15)
### Bug Fixes
* **Viber - Hide ads:** Add constrain to known working version ([2db0948](https://github.com/ReVanced/revanced-patches/commit/2db0948beaf2b68391a1fe7f21e92d31c7df61e7))
# [5.37.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.3...v5.37.0-dev.4) (2025-09-14)
### Bug Fixes
* **YouTube Music - Spoof streaming data:** Fix audio playback stuttering ([#5839](https://github.com/ReVanced/revanced-patches/issues/5839)) ([2a85a3b](https://github.com/ReVanced/revanced-patches/commit/2a85a3b29092729ae16d1fd93803634ce5f08e95))
# [5.37.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.2...v5.37.0-dev.3) (2025-09-14)
### Bug Fixes
* **Spotify:** Remove broken `Spoof client` patch ([#5833](https://github.com/ReVanced/revanced-patches/issues/5833)) ([dcd4245](https://github.com/ReVanced/revanced-patches/commit/dcd42454bd5f87dddd720534f6120c4ef90063a3))
# [5.37.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.37.0-dev.1...v5.37.0-dev.2) (2025-09-14)
### Bug Fixes
* Resolve patching with dev branch ([09b941a](https://github.com/ReVanced/revanced-patches/commit/09b941abf0e8029999565082b02a88b5de507ec4))
# [5.37.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.36.0...v5.37.0-dev.1) (2025-09-14)
### Features
* **Viber:** Add `Hide ads` patch ([#5826](https://github.com/ReVanced/revanced-patches/issues/5826)) ([0abfab7](https://github.com/ReVanced/revanced-patches/commit/0abfab79d7cda15bf17c53679fbfffb021662649))
# [5.36.0](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0) (2025-09-14)
### Bug Fixes
* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](https://github.com/ReVanced/revanced-patches/commit/88b47ef414cd073ec3800258b32aceb6f383a411))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](https://github.com/ReVanced/revanced-patches/commit/8cd8e59bbc3a878269276b8ae5f627b044d157f0))
* **YouTube Music:** Resolve playback issues, change recommended app target to `7.29.52` ([#5813](https://github.com/ReVanced/revanced-patches/issues/5813)) ([a53b00d](https://github.com/ReVanced/revanced-patches/commit/a53b00dd514dbe2b3406f3c1013a4f58a7f481c5))
### Features
* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](https://github.com/ReVanced/revanced-patches/commit/9d4aa5cd16a6f9e95cf7c626351b46b86ca80efe))
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-13)
### Bug Fixes
* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](https://github.com/ReVanced/revanced-patches/commit/88b47ef414cd073ec3800258b32aceb6f383a411))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](https://github.com/ReVanced/revanced-patches/commit/8cd8e59bbc3a878269276b8ae5f627b044d157f0))
* **YouTube Music:** Resolve playback issues, change recommended app target to `7.29.52` ([#5813](https://github.com/ReVanced/revanced-patches/issues/5813)) ([a53b00d](https://github.com/ReVanced/revanced-patches/commit/a53b00dd514dbe2b3406f3c1013a4f58a7f481c5))
### Features
* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](https://github.com/ReVanced/revanced-patches/commit/9d4aa5cd16a6f9e95cf7c626351b46b86ca80efe))
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-13)
### Bug Fixes
* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](https://github.com/ReVanced/revanced-patches/commit/88b47ef414cd073ec3800258b32aceb6f383a411))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](https://github.com/ReVanced/revanced-patches/commit/8cd8e59bbc3a878269276b8ae5f627b044d157f0))
* **YouTube Music:** Resolve playback issues, change recommended app target to `7.29.52` ([#5813](https://github.com/ReVanced/revanced-patches/issues/5813)) ([a53b00d](https://github.com/ReVanced/revanced-patches/commit/a53b00dd514dbe2b3406f3c1013a4f58a7f481c5))
### Features
* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](https://github.com/ReVanced/revanced-patches/commit/9d4aa5cd16a6f9e95cf7c626351b46b86ca80efe))
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-13)
### Bug Fixes
* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](https://github.com/ReVanced/revanced-patches/commit/88b47ef414cd073ec3800258b32aceb6f383a411))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](https://github.com/ReVanced/revanced-patches/commit/8cd8e59bbc3a878269276b8ae5f627b044d157f0))
### Features
* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](https://github.com/ReVanced/revanced-patches/commit/9d4aa5cd16a6f9e95cf7c626351b46b86ca80efe))
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.36.0-dev.1) (2025-09-12)
### Bug Fixes
* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([88b47ef](https://github.com/ReVanced/revanced-patches/commit/88b47ef414cd073ec3800258b32aceb6f383a411))
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([8cd8e59](https://github.com/ReVanced/revanced-patches/commit/8cd8e59bbc3a878269276b8ae5f627b044d157f0))
### Features
* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([9d4aa5c](https://github.com/ReVanced/revanced-patches/commit/9d4aa5cd16a6f9e95cf7c626351b46b86ca80efe))
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.1-dev.1...v5.36.0-dev.1) (2025-09-12)
### Features
* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([2e042c4](https://github.com/ReVanced/revanced-patches/commit/2e042c4b3366fa3daf991d5560fcae991d00ad12))
## [5.35.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.35.1-dev.1) (2025-09-11)

8
adsfund.json Normal file
View File

@@ -0,0 +1,8 @@
{
"info": "This is verification file for ads.fund project",
"project": {
"name": "Revanced Patches",
"walletAddress": "0x7ab4091e00363654bf84B34151225742cd92FCE5",
"tokenAddress": "0xadf325f255083a3f3d9a9d01ffb3db52a148d802"
}
}

View File

@@ -1,3 +1,9 @@
dependencies {
compileOnly(project(":extensions:shared:library"))
compileOnly(project(":extensions:youtube:stub"))
compileOnly(libs.annotation)
}
android {
defaultConfig {
minSdk = 26

View File

@@ -0,0 +1,27 @@
package app.revanced.extension.music.patches.spoof;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_VR_1_43_32;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_VR_1_61_48;
import static app.revanced.extension.shared.spoof.ClientType.VISIONOS;
import java.util.List;
import app.revanced.extension.shared.spoof.ClientType;
import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
@SuppressWarnings("unused")
public class SpoofVideoStreamsPatch {
/**
* Injection point.
*/
public static void setClientOrderToUse() {
List<ClientType> availableClients = List.of(
ANDROID_VR_1_43_32,
ANDROID_VR_1_61_48,
VISIONOS
);
StreamingDataRequest.setClientOrderToUse(availableClients, ANDROID_VR_1_43_32);
}
}

View File

@@ -1,27 +0,0 @@
package app.revanced.extension.music.spoof;
/**
* @noinspection unused
*/
public class SpoofClientPatch {
private static final int CLIENT_TYPE_ID = 26;
private static final String CLIENT_VERSION = "6.21";
private static final String DEVICE_MODEL = "iPhone16,2";
private static final String OS_VERSION = "17.7.2.21H221";
public static int getClientId() {
return CLIENT_TYPE_ID;
}
public static String getClientVersion() {
return CLIENT_VERSION;
}
public static String getClientModel() {
return DEVICE_MODEL;
}
public static String getOsVersion() {
return OS_VERSION;
}
}

View File

@@ -4,7 +4,6 @@ import static java.lang.Boolean.FALSE;
import static java.lang.Boolean.TRUE;
import static app.revanced.extension.shared.settings.Setting.parent;
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.AudioStreamLanguageOverrideAvailability;
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.SpoofiOSAvailability;
import app.revanced.extension.shared.spoof.ClientType;
@@ -31,9 +30,6 @@ public class BaseSettings {
public static final BooleanSetting SPOOF_VIDEO_STREAMS = new BooleanSetting("revanced_spoof_video_streams", TRUE, true, "revanced_spoof_video_streams_user_dialog_message");
public static final EnumSetting<AppLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AppLanguage.DEFAULT, new AudioStreamLanguageOverrideAvailability());
public static final BooleanSetting SPOOF_STREAMING_DATA_STATS_FOR_NERDS = new BooleanSetting("revanced_spoof_streaming_data_stats_for_nerds", TRUE, parent(SPOOF_VIDEO_STREAMS));
public static final BooleanSetting SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC = new BooleanSetting("revanced_spoof_video_streams_ios_force_avc", FALSE, true,
"revanced_spoof_video_streams_ios_force_avc_user_dialog_message", new SpoofiOSAvailability());
// Client type must be last spoof setting due to cyclic references.
public static final EnumSetting<ClientType> SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_UNPLUGGED, true, parent(SPOOF_VIDEO_STREAMS));
public static final EnumSetting<ClientType> SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_61_48, true, parent(SPOOF_VIDEO_STREAMS));
}

View File

@@ -2,17 +2,21 @@ package app.revanced.extension.shared.spoof;
import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.Locale;
import java.util.Objects;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.BaseSettings;
public enum ClientType {
/**
* Video not playable: Kids / Paid / Movie / Private / Age-restricted.
* This client can only be used when logged out.
*/
// https://dumps.tadiphone.dev/dumps/oculus/eureka
ANDROID_VR_NO_AUTH(
ANDROID_VR_1_61_48(
28,
"ANDROID_VR",
"com.google.android.apps.youtube.vr.oculus",
@@ -27,29 +31,32 @@ public enum ClientType {
"1.61.48",
false,
false,
"Android VR No auth"
"Android VR 1.61"
),
// Chromecast with Google TV 4K.
// https://dumps.tadiphone.dev/dumps/google/kirkwood
ANDROID_UNPLUGGED(
29,
"ANDROID_UNPLUGGED",
"com.google.android.apps.youtube.unplugged",
"Google",
"Google TV Streamer",
"Android",
"14",
"34",
"UTT3.240625.001.K5",
"132.0.6808.3",
"8.49.0",
true,
true,
"Android TV"
/**
* Uses non adaptive bitrate, which fixes audio stuttering with YT Music.
* Does not use AV1.
*/
ANDROID_VR_1_43_32(
ANDROID_VR_1_61_48.id,
ANDROID_VR_1_61_48.clientName,
Objects.requireNonNull(ANDROID_VR_1_61_48.packageName),
ANDROID_VR_1_61_48.deviceMake,
ANDROID_VR_1_61_48.deviceModel,
ANDROID_VR_1_61_48.osName,
ANDROID_VR_1_61_48.osVersion,
Objects.requireNonNull(ANDROID_VR_1_61_48.androidSdkVersion),
Objects.requireNonNull(ANDROID_VR_1_61_48.buildId),
"107.0.5284.2",
"1.43.32",
ANDROID_VR_1_61_48.requiresAuth,
ANDROID_VR_1_61_48.useAuth,
"Android VR 1.43"
),
// Cannot play livestreams and lacks HDR, but can play videos with music and labeled "for children".
// Google Pixel 9 Pro Fold
// https://dumps.tadiphone.dev/dumps/google/barbet
/**
* Cannot play livestreams and lacks HDR, but can play videos with music and labeled "for children".
* <a href="https://dumps.tadiphone.dev/dumps/google/barbet">Google Pixel 9 Pro Fold</a>
*/
ANDROID_CREATOR(
14,
"ANDROID_CREATOR",
@@ -66,58 +73,22 @@ public enum ClientType {
true,
"Android Creator"
),
IOS_UNPLUGGED(
33,
"IOS_UNPLUGGED",
"com.google.ios.youtubeunplugged",
/**
* Internal YT client for an unreleased YT client. May stop working at any time.
*/
VISIONOS(101,
"VISIONOS",
"Apple",
forceAVC()
// 11 Pro Max (last device with iOS 13)
? "iPhone12,5"
// 15 Pro Max
: "iPhone16,2",
"iOS",
forceAVC()
// iOS 13 and earlier uses only AVC. 14+ adds VP9 and AV1.
? "13.7.17H35"
: "18.2.22C152",
null,
null,
null,
// Version number should be a valid iOS release.
// https://www.ipa4fun.com/history/152043/
forceAVC()
// Some newer versions can also force AVC,
// but 6.45 is the last version that supports iOS 13.
? "6.45"
: "8.49",
true,
true,
forceAVC()
? "iOS TV Force AVC"
: "iOS TV"
),
ANDROID_VR_AUTH(
ANDROID_VR_NO_AUTH.id,
ANDROID_VR_NO_AUTH.clientName,
ANDROID_VR_NO_AUTH.packageName,
ANDROID_VR_NO_AUTH.deviceMake,
ANDROID_VR_NO_AUTH.deviceModel,
ANDROID_VR_NO_AUTH.osName,
ANDROID_VR_NO_AUTH.osVersion,
ANDROID_VR_NO_AUTH.androidSdkVersion,
ANDROID_VR_NO_AUTH.buildId,
ANDROID_VR_NO_AUTH.cronetVersion,
ANDROID_VR_NO_AUTH.clientVersion,
ANDROID_VR_NO_AUTH.requiresAuth,
true,
"Android VR Auth"
"RealityDevice14,1",
"visionOS",
"1.3.21O771",
"0.1",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15",
false,
false,
"visionOS"
);
private static boolean forceAVC() {
return BaseSettings.SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC.get();
}
/**
* YouTube
* <a href="https://github.com/zerodytrash/YouTube-Internal-Clients?tab=readme-ov-file#clients">client type</a>
@@ -129,6 +100,7 @@ public enum ClientType {
/**
* App package name.
*/
@Nullable
private final String packageName;
/**
@@ -198,17 +170,20 @@ public enum ClientType {
*/
public final String friendlyName;
/**
* Android constructor.
*/
@SuppressWarnings("ConstantLocale")
ClientType(int id,
String clientName,
String packageName,
@NonNull String packageName,
String deviceMake,
String deviceModel,
String osName,
String osVersion,
@Nullable String androidSdkVersion,
@Nullable String buildId,
@Nullable String cronetVersion,
@NonNull String androidSdkVersion,
@NonNull String buildId,
@NonNull String cronetVersion,
String clientVersion,
boolean requiresAuth,
boolean useAuth,
@@ -229,31 +204,44 @@ public enum ClientType {
this.friendlyName = friendlyName;
Locale defaultLocale = Locale.getDefault();
if (androidSdkVersion == null) {
// Convert version from '18.2.22C152' into '18_2_22'
String userAgentOsVersion = osVersion
.replaceAll("(\\d+\\.\\d+\\.\\d+).*", "$1")
.replace(".", "_");
// https://github.com/mitmproxy/mitmproxy/issues/4836
this.userAgent = String.format("%s/%s (%s; U; CPU iOS %s like Mac OS X; %s)",
packageName,
clientVersion,
deviceModel,
userAgentOsVersion,
defaultLocale
);
} else {
this.userAgent = String.format("%s/%s (Linux; U; Android %s; %s; %s; Build/%s; Cronet/%s)",
packageName,
clientVersion,
osVersion,
defaultLocale,
deviceModel,
Objects.requireNonNull(buildId),
Objects.requireNonNull(cronetVersion)
);
}
this.userAgent = String.format("%s/%s (Linux; U; Android %s; %s; %s; Build/%s; Cronet/%s)",
packageName,
clientVersion,
osVersion,
defaultLocale,
deviceModel,
Objects.requireNonNull(buildId),
Objects.requireNonNull(cronetVersion)
);
Logger.printDebug(() -> "userAgent: " + this.userAgent);
}
@SuppressWarnings("ConstantLocale")
ClientType(int id,
String clientName,
String deviceMake,
String deviceModel,
String osName,
String osVersion,
String clientVersion,
String userAgent,
boolean requiresAuth,
boolean useAuth,
String friendlyName) {
this.id = id;
this.clientName = clientName;
this.deviceMake = deviceMake;
this.deviceModel = deviceModel;
this.osName = osName;
this.osVersion = osVersion;
this.clientVersion = clientVersion;
this.userAgent = userAgent;
this.requiresAuth = requiresAuth;
this.useAuth = useAuth;
this.friendlyName = friendlyName;
this.packageName = null;
this.androidSdkVersion = null;
this.buildId = null;
this.cronetVersion = null;
}
}

View File

@@ -10,6 +10,7 @@ import java.util.Map;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.AppLanguage;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
@@ -19,13 +20,25 @@ public class SpoofVideoStreamsPatch {
private static final boolean SPOOF_STREAMING_DATA = BaseSettings.SPOOF_VIDEO_STREAMS.get();
private static final boolean FIX_HLS_CURRENT_TIME = SPOOF_STREAMING_DATA
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS_UNPLUGGED;
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.VISIONOS;
@Nullable
private static volatile AppLanguage languageOverride;
/**
* Any unreachable ip address. Used to intentionally fail requests.
* Domain used for internet connectivity verification.
* It has an empty response body and is only used to check for a 204 response code.
* <p>
* If an unreachable IP address (127.0.0.1) is used, no response code is provided.
* <p>
* YouTube handles unreachable IP addresses without issue.
* YouTube Music has an issue with waiting for the Cronet connect timeout of 30s on mobile networks.
* <p>
* Using a VPN or DNS can temporarily resolve this issue,
* But the ideal workaround is to avoid using an unreachable IP address.
*/
private static final String UNREACHABLE_HOST_URI_STRING = "https://127.0.0.0";
private static final Uri UNREACHABLE_HOST_URI = Uri.parse(UNREACHABLE_HOST_URI_STRING);
private static final String INTERNET_CONNECTION_CHECK_URI_STRING = "https://www.google.com/gen_204";
private static final Uri INTERNET_CONNECTION_CHECK_URI = Uri.parse(INTERNET_CONNECTION_CHECK_URI_STRING);
/**
* @return If this patch was included during patching.
@@ -34,10 +47,21 @@ public class SpoofVideoStreamsPatch {
return false; // Modified during patching.
}
public static boolean notSpoofingToAndroid() {
return !isPatchIncluded()
|| !BaseSettings.SPOOF_VIDEO_STREAMS.get()
|| BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS_UNPLUGGED;
public static boolean spoofingToClientWithNoMultiAudioStreams() {
return isPatchIncluded() && BaseSettings.SPOOF_VIDEO_STREAMS.get();
}
/**
* @param language Language override for non-authenticated requests. If this is null then
* {@link BaseSettings#SPOOF_VIDEO_STREAMS_LANGUAGE} is used.
*/
public static void setLanguageOverride(@Nullable AppLanguage language) {
languageOverride = language;
}
@Nullable
public static AppLanguage getLanguageOverride() {
return languageOverride;
}
/**
@@ -53,9 +77,9 @@ public class SpoofVideoStreamsPatch {
String path = playerRequestUri.getPath();
if (path != null && path.contains("get_watch")) {
Logger.printDebug(() -> "Blocking 'get_watch' by returning unreachable uri");
Logger.printDebug(() -> "Blocking 'get_watch' by returning internet connection check uri");
return UNREACHABLE_HOST_URI;
return INTERNET_CONNECTION_CHECK_URI;
}
} catch (Exception ex) {
Logger.printException(() -> "blockGetWatchRequest failure", ex);
@@ -77,9 +101,9 @@ public class SpoofVideoStreamsPatch {
String path = originalUri.getPath();
if (path != null && path.contains("initplayback")) {
Logger.printDebug(() -> "Blocking 'initplayback' by clearing query");
Logger.printDebug(() -> "Blocking 'initplayback' by returning internet connection check uri");
return originalUri.buildUpon().clearQuery().build().toString();
return INTERNET_CONNECTION_CHECK_URI_STRING;
}
} catch (Exception ex) {
Logger.printException(() -> "blockInitPlaybackRequest failure", ex);
@@ -252,16 +276,8 @@ public class SpoofVideoStreamsPatch {
public static final class AudioStreamLanguageOverrideAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
return BaseSettings.SPOOF_VIDEO_STREAMS.get()
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_VR_NO_AUTH;
}
}
public static final class SpoofiOSAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
return BaseSettings.SPOOF_VIDEO_STREAMS.get()
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS_UNPLUGGED;
// Since all current clients are un-authenticated, this works for all spoof clients.
return BaseSettings.SPOOF_VIDEO_STREAMS.get();
}
}
}

View File

@@ -1,5 +1,7 @@
package app.revanced.extension.shared.spoof.requests;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_VR_1_43_32;
import org.json.JSONException;
import org.json.JSONObject;
@@ -10,8 +12,10 @@ import java.util.Locale;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.requests.Requester;
import app.revanced.extension.shared.requests.Route;
import app.revanced.extension.shared.settings.AppLanguage;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.spoof.ClientType;
import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch;
final class PlayerRoutes {
static final Route.CompiledRoute GET_STREAMING_DATA = new Route(
@@ -37,14 +41,16 @@ final class PlayerRoutes {
try {
JSONObject context = new JSONObject();
// Can override default language only if no login is used.
// Could use preferred audio for all clients that do not login,
// but if this is a fall over client it will set the language even though
// the audio language is not selectable in the UI.
ClientType userSelectedClient = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
Locale streamLocale = userSelectedClient == ClientType.ANDROID_VR_NO_AUTH
? BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getLocale()
: Locale.getDefault();
AppLanguage language = SpoofVideoStreamsPatch.getLanguageOverride();
if (language == null || BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ANDROID_VR_1_43_32) {
// Force original audio has not overrode the language.
// Or if YT has fallen over to the very last client (VR 1.43), then always
// use the app language because forcing an audio stream of specific languages
// can sometimes fail so it's better to try and load something rather than nothing.
language = BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get();
}
//noinspection ExtractMethodRecommender
Locale streamLocale = language.getLocale();
JSONObject client = new JSONObject();
client.put("deviceMake", clientType.deviceMake);

View File

@@ -35,21 +35,27 @@ import app.revanced.extension.shared.spoof.ClientType;
*/
public class StreamingDataRequest {
private static final ClientType[] CLIENT_ORDER_TO_USE;
private static volatile ClientType[] clientOrderToUse = ClientType.values();
static {
ClientType[] allClientTypes = ClientType.values();
ClientType preferredClient = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
public static void setClientOrderToUse(List<ClientType> availableClients, ClientType preferredClient) {
Objects.requireNonNull(preferredClient);
CLIENT_ORDER_TO_USE = new ClientType[allClientTypes.length];
CLIENT_ORDER_TO_USE[0] = preferredClient;
int availableClientSize = availableClients.size();
if (!availableClients.contains(preferredClient)) {
availableClientSize++;
}
clientOrderToUse = new ClientType[availableClientSize];
clientOrderToUse[0] = preferredClient;
int i = 1;
for (ClientType c : allClientTypes) {
for (ClientType c : availableClients) {
if (c != preferredClient) {
CLIENT_ORDER_TO_USE[i++] = c;
clientOrderToUse[i++] = c;
}
}
Logger.printDebug(() -> "Available spoof clients: " + Arrays.toString(clientOrderToUse));
}
private static final String AUTHORIZATION_HEADER = "Authorization";
@@ -193,9 +199,9 @@ public class StreamingDataRequest {
// Retry with different client if empty response body is received.
int i = 0;
for (ClientType clientType : CLIENT_ORDER_TO_USE) {
for (ClientType clientType : clientOrderToUse) {
// Show an error if the last client type fails, or if debug is enabled then show for all attempts.
final boolean showErrorToast = (++i == CLIENT_ORDER_TO_USE.length) || debugEnabled;
final boolean showErrorToast = (++i == clientOrderToUse.length) || debugEnabled;
HttpURLConnection connection = send(clientType, videoId, playerHeaders, showErrorToast);
if (connection != null) {

View File

@@ -1,7 +1,7 @@
package app.revanced.extension.youtube.patches;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.settings.AppLanguage;
import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch;
import app.revanced.extension.youtube.settings.Settings;
@@ -11,16 +11,20 @@ public class ForceOriginalAudioPatch {
private static final String DEFAULT_AUDIO_TRACKS_SUFFIX = ".4";
/**
* If the conditions to use this patch were present when the app launched.
* Injection point.
*/
public static boolean PATCH_AVAILABLE = SpoofVideoStreamsPatch.notSpoofingToAndroid();
public static final class ForceOriginalAudioAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
// Check conditions of launch and now. Otherwise if spoofing is changed
// without a restart the setting will show as available when it's not.
return PATCH_AVAILABLE && SpoofVideoStreamsPatch.notSpoofingToAndroid();
public static void setPreferredLanguage() {
if (Settings.FORCE_ORIGINAL_AUDIO.get()) {
// None of the current spoof clients support audio track menu,
// And all are un-authenticated and can request any language code
// (authenticated requests ignore the language code and always use the account language).
// To still support force original audio, if it's enabled then pick a language
// that is not auto-dubbed by YouTube: https://support.google.com/youtube/answer/15569972
// but the language is also supported natively by the Meta Quest device that
// Android VR is spoofing.
AppLanguage override = AppLanguage.SV;
Logger.printDebug(() -> "Setting language override: " + override);
SpoofVideoStreamsPatch.setLanguageOverride(override);
}
}

View File

@@ -9,13 +9,13 @@ import app.revanced.extension.youtube.shared.ShortsPlayerState;
public class PlayerFlyoutMenuItemsFilter extends Filter {
public static final class HideAudioFlyoutMenuAvailability implements Setting.Availability {
private static final boolean AVAILABLE_ON_LAUNCH = SpoofVideoStreamsPatch.notSpoofingToAndroid();
private static final boolean AVAILABLE_ON_LAUNCH = !SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams();
@Override
public boolean isAvailable() {
// Check conditions of launch and now. Otherwise if spoofing is changed
// without a restart the setting will show as available when it's not.
return AVAILABLE_ON_LAUNCH && SpoofVideoStreamsPatch.notSpoofingToAndroid();
return AVAILABLE_ON_LAUNCH && !SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams();
}
}

View File

@@ -0,0 +1,32 @@
package app.revanced.extension.youtube.patches.spoof;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_CREATOR;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_VR_1_43_32;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_VR_1_61_48;
import static app.revanced.extension.shared.spoof.ClientType.VISIONOS;
import java.util.List;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.spoof.ClientType;
import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
@SuppressWarnings("unused")
public class SpoofVideoStreamsPatch {
/**
* Injection point.
*/
public static void setClientOrderToUse() {
List<ClientType> availableClients = List.of(
ANDROID_VR_1_61_48,
ANDROID_CREATOR,
VISIONOS,
// VR 1.43 must be last as spoof streaming data handles it slightly differently.
ANDROID_VR_1_43_32
);
StreamingDataRequest.setClientOrderToUse(availableClients,
BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get());
}
}

View File

@@ -12,7 +12,6 @@ import static app.revanced.extension.youtube.patches.ChangeHeaderPatch.HeaderLog
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.ChangeStartPageTypeAvailability;
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
import static app.revanced.extension.youtube.patches.ExitFullscreenPatch.FullscreenMode;
import static app.revanced.extension.youtube.patches.ForceOriginalAudioPatch.ForceOriginalAudioAvailability;
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHorizontalDragAvailability;
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType;
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType.MINIMAL;
@@ -75,7 +74,7 @@ public class Settings extends BaseSettings {
"0.25\n0.5\n0.75\n1.0\n1.25\n1.5\n1.75\n2.0\n2.5\n3.0\n4.0\n5.0\n6.0\n7.0\n8.0", true);
// Audio
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new ForceOriginalAudioAvailability());
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, true);
// Ads
public static final BooleanSetting HIDE_CREATOR_STORE_SHELF = new BooleanSetting("revanced_hide_creator_store_shelf", TRUE);
@@ -436,6 +435,9 @@ public class Settings extends BaseSettings {
public static final StringSetting SB_CATEGORY_HIGHLIGHT = new StringSetting("sb_highlight", MANUAL_SKIP.reVancedKeyValue);
public static final StringSetting SB_CATEGORY_HIGHLIGHT_COLOR = new StringSetting("sb_highlight_color", "#FF1684");
public static final FloatSetting SB_CATEGORY_HIGHLIGHT_OPACITY = new FloatSetting("sb_highlight_opacity", 0.8f);
public static final StringSetting SB_CATEGORY_HOOK = new StringSetting("sb_hook", IGNORE.reVancedKeyValue);
public static final StringSetting SB_CATEGORY_HOOK_COLOR = new StringSetting("sb_hook_color", "#395699");
public static final FloatSetting SB_CATEGORY_HOOK_OPACITY = new FloatSetting("sb_hook_opacity", 0.8f);
public static final StringSetting SB_CATEGORY_INTRO = new StringSetting("sb_intro", MANUAL_SKIP.reVancedKeyValue);
public static final StringSetting SB_CATEGORY_INTRO_COLOR = new StringSetting("sb_intro_color", "#00FFFF");
public static final FloatSetting SB_CATEGORY_INTRO_OPACITY = new FloatSetting("sb_intro_opacity", 0.8f);

View File

@@ -1,36 +0,0 @@
package app.revanced.extension.youtube.settings.preference;
import static app.revanced.extension.shared.StringRef.str;
import android.content.Context;
import android.preference.SwitchPreference;
import android.util.AttributeSet;
import app.revanced.extension.youtube.patches.ForceOriginalAudioPatch;
@SuppressWarnings({"deprecation", "unused"})
public class ForceOriginalAudioSwitchPreference extends SwitchPreference {
{
if (!ForceOriginalAudioPatch.PATCH_AVAILABLE) {
// Show why force audio is not available.
String summary = str("revanced_force_original_audio_not_available");
setSummary(summary);
setSummaryOn(summary);
setSummaryOff(summary);
}
}
public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ForceOriginalAudioSwitchPreference(Context context) {
super(context);
}
}

View File

@@ -12,8 +12,8 @@ import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch;
public class HideAudioFlyoutMenuPreference extends SwitchPreference {
{
// Audio menu is not available if spoofing to Android client type.
if (!SpoofVideoStreamsPatch.notSpoofingToAndroid()) {
// Audio menu is not available if spoofing to most client types.
if (SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams()) {
String summary = str("revanced_hide_player_flyout_audio_track_not_available");
setSummary(summary);
setSummaryOn(summary);

View File

@@ -78,20 +78,17 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference {
Logger.printDebug(() -> "Updating spoof stream side effects preference");
setEnabled(BaseSettings.SPOOF_VIDEO_STREAMS.get());
String key = "revanced_spoof_video_streams_about_" +
(clientType == ClientType.IOS_UNPLUGGED
? "ios_tv"
: "android");
String title = str(key + "_title");
String summary = str(key + "_summary");
// Android VR supports AV1 but all other clients do not.
if (clientType != ClientType.ANDROID_VR_AUTH && clientType != ClientType.ANDROID_VR_NO_AUTH) {
summary += '\n' + str("revanced_spoof_video_streams_about_no_av1");
}
String title = str("revanced_spoof_video_streams_about_title");
// Currently only Android VR and VisionOS are supported, and both have the same base side effects.
String summary = str("revanced_spoof_video_streams_about_android_summary");
summary += '\n' + str("revanced_spoof_video_streams_about_kids_videos");
if (clientType == ClientType.VISIONOS) {
summary = str("revanced_spoof_video_streams_about_experimental")
+ '\n' + summary
+ '\n' + str("revanced_spoof_video_streams_about_no_av1");
}
setTitle(title);
setSummary(summary);
}

View File

@@ -15,6 +15,7 @@ import android.graphics.drawable.shapes.RoundRectShape;
import android.text.TextUtils;
import android.util.Range;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
@@ -167,6 +168,11 @@ public class SegmentPlaybackController {
*/
private static WeakReference<Dialog> toastDialogRef = new WeakReference<>(null);
/**
* Visibility of the ad progress UI component.
*/
private static volatile int adProgressTextVisibility = -1;
static {
// Dismiss toast if app changes to PiP while undo skip is shown.
PlayerType.getOnChange().addObserver((PlayerType type) -> {
@@ -336,6 +342,7 @@ public class SegmentPlaybackController {
*/
static void executeDownloadSegments(String videoId) {
Objects.requireNonNull(videoId);
Utils.verifyOffMainThread();
SponsorSegment[] segments = SBRequester.getSegments(videoId);
@@ -367,6 +374,35 @@ public class SegmentPlaybackController {
});
}
/**
* Injection point.
*/
@SuppressWarnings("unused")
public static void setAdProgressTextVisibility(int visibility) {
if (adProgressTextVisibility != visibility) {
adProgressTextVisibility = visibility;
Logger.printDebug(() -> {
String visibilityMessage = switch (visibility) {
case View.VISIBLE -> "VISIBLE";
case View.GONE -> "GONE";
case View.INVISIBLE -> "INVISIBLE";
default -> "UNKNOWN";
};
return "AdProgressText visibility changed to: " + visibilityMessage;
});
}
}
/**
* When a video ad is playing in a regular video player, segments or the Skip button should be hidden.
* @return Whether the Ad Progress TextView is visible in the regular video player.
*/
public static boolean isAdProgressTextVisible() {
return adProgressTextVisibility == View.VISIBLE;
}
/**
* Injection point.
* Updates SponsorBlock every 1000ms.
@@ -376,7 +412,8 @@ public class SegmentPlaybackController {
try {
if (!Settings.SB_ENABLED.get()
|| PlayerType.getCurrent().isNoneOrHidden() // Shorts playback.
|| segments == null || segments.length == 0) {
|| segments == null || segments.length == 0
|| isAdProgressTextVisible()) {
return;
}
Logger.printDebug(() -> "setVideoTime: " + millis);
@@ -671,7 +708,14 @@ public class SegmentPlaybackController {
// Check for any smaller embedded segments, and count those as auto-skipped.
final boolean showSkipToast = Settings.SB_TOAST_ON_SKIP.get();
for (SponsorSegment otherSegment : Objects.requireNonNull(segments)) {
if (segmentToSkip.end < otherSegment.start) {
if (otherSegment.end <= segmentToSkip.start) {
// Other segment does not overlap, and is before this skipped segment.
// This situation can only happen if a video is opened and adjusted to
// a later time in the video where earlier auto skip segments
// have not been encountered yet.
continue;
}
if (segmentToSkip.end <= otherSegment.start) {
break; // No other segments can be contained.
}
@@ -922,7 +966,8 @@ public class SegmentPlaybackController {
public static String appendTimeWithoutSegments(String totalTime) {
try {
if (Settings.SB_ENABLED.get() && Settings.SB_VIDEO_LENGTH_WITHOUT_SEGMENTS.get()
&& !TextUtils.isEmpty(totalTime) && !TextUtils.isEmpty(timeWithoutSegments)) {
&& !TextUtils.isEmpty(totalTime) && !TextUtils.isEmpty(timeWithoutSegments)
&& !isAdProgressTextVisible()) {
// Force LTR layout, to match the same LTR video time/length layout YouTube uses for all languages
return "\u202D" + totalTime + timeWithoutSegments; // u202D = left to right override
}
@@ -983,7 +1028,7 @@ public class SegmentPlaybackController {
@SuppressWarnings("unused")
public static void drawSponsorTimeBars(final Canvas canvas, final float posY) {
try {
if (segments == null) return;
if (segments == null || isAdProgressTextVisible()) return;
final long videoLength = VideoInformation.getVideoLength();
if (videoLength <= 0) return;

View File

@@ -52,6 +52,8 @@ public enum SegmentCategory {
sf("revanced_sb_skip_button_preview_beginning"), sf("revanced_sb_skip_button_preview_middle"), sf("revanced_sb_skip_button_preview_end"),
sf("revanced_sb_skipped_preview_beginning"), sf("revanced_sb_skipped_preview_middle"), sf("revanced_sb_skipped_preview_end"),
SB_CATEGORY_PREVIEW, SB_CATEGORY_PREVIEW_COLOR, SB_CATEGORY_PREVIEW_OPACITY),
HOOK("hook", sf("revanced_sb_segments_hook"), sf("revanced_sb_segments_hook_sum"), sf("revanced_sb_skip_button_hook"), sf("revanced_sb_skipped_hook"),
SB_CATEGORY_HOOK, SB_CATEGORY_HOOK_COLOR, SB_CATEGORY_HOOK_OPACITY),
FILLER("filler", sf("revanced_sb_segments_filler"), sf("revanced_sb_segments_filler_sum"), sf("revanced_sb_skip_button_filler"), sf("revanced_sb_skipped_filler"),
SB_CATEGORY_FILLER, SB_CATEGORY_FILLER_COLOR, SB_CATEGORY_FILLER_OPACITY),
MUSIC_OFFTOPIC("music_offtopic", sf("revanced_sb_segments_nomusic"), sf("revanced_sb_segments_nomusic_sum"), sf("revanced_sb_skip_button_nomusic"), sf("revanced_sb_skipped_nomusic"),
@@ -69,6 +71,7 @@ public enum SegmentCategory {
INTRO,
OUTRO,
PREVIEW,
HOOK,
FILLER,
MUSIC_OFFTOPIC,
};
@@ -81,6 +84,7 @@ public enum SegmentCategory {
INTRO,
OUTRO,
PREVIEW,
HOOK,
FILLER,
MUSIC_OFFTOPIC,
};

View File

@@ -6,6 +6,7 @@ import androidx.annotation.Nullable;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController;
import app.revanced.extension.youtube.videoplayer.PlayerControlButton;
@SuppressWarnings("unused")
@@ -26,7 +27,7 @@ public class CreateSegmentButton {
controlsView,
"revanced_sb_create_segment_button",
null,
CreateSegmentButton::shouldBeShown,
CreateSegmentButton::isButtonEnabled,
v -> SponsorBlockViewController.toggleNewSegmentLayoutVisibility(),
null
);
@@ -56,7 +57,8 @@ public class CreateSegmentButton {
if (instance != null) instance.setVisibility(visible, animated);
}
private static boolean shouldBeShown() {
return Settings.SB_ENABLED.get() && Settings.SB_CREATE_NEW_SEGMENT.get();
private static boolean isButtonEnabled() {
return Settings.SB_ENABLED.get() && Settings.SB_CREATE_NEW_SEGMENT.get()
&& !SegmentPlaybackController.isAdProgressTextVisible();
}
}

View File

@@ -28,7 +28,7 @@ public class VotingButton {
controlsView,
"revanced_sb_voting_button",
null,
VotingButton::shouldBeShown,
VotingButton::isButtonEnabled,
v -> SponsorBlockUtils.onVotingClicked(v.getContext()),
null
);
@@ -58,8 +58,9 @@ public class VotingButton {
if (instance != null) instance.setVisibility(visible, animated);
}
private static boolean shouldBeShown() {
private static boolean isButtonEnabled() {
return Settings.SB_ENABLED.get() && Settings.SB_VOTING_BUTTON.get()
&& SegmentPlaybackController.videoHasSegments();
&& SegmentPlaybackController.videoHasSegments()
&& !SegmentPlaybackController.isAdProgressTextVisible();
}
}

View File

@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
version = 5.35.1-dev.1
version = 5.37.1-dev.3

View File

@@ -392,14 +392,21 @@ public final class app/revanced/patches/music/misc/gms/GmsCoreSupportPatchKt {
public static final fun getGmsCoreSupportPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/music/misc/spoof/SpoofClientPatchKt {
public static final fun getSpoofClientPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
public final class app/revanced/patches/music/misc/spoof/SpoofVideoStreamsKt {
public static final fun getSpoofVideoStreamsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/music/misc/spoof/UserAgentClientSpoofPatchKt {
public static final fun getUserAgentClientSpoofPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/music/playservice/VersionCheckPatchKt {
public static final fun getVersionCheckPatch ()Lapp/revanced/patcher/patch/ResourcePatch;
public static final fun is_7_33_or_greater ()Z
public static final fun is_8_11_or_greater ()Z
public static final fun is_8_15_or_greater ()Z
}
public final class app/revanced/patches/myexpenses/misc/pro/UnlockProPatchKt {
public static final fun getUnlockProPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -983,10 +990,6 @@ public final class app/revanced/patches/spotify/lite/ondemand/OnDemandPatchKt {
public static final fun getOnDemandPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/spotify/misc/UnlockPremiumPatchKt {
public static final fun getUnlockPremiumPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/spotify/misc/extension/ExtensionPatchKt {
public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -1239,6 +1242,10 @@ public final class app/revanced/patches/twitter/misc/links/SanitizeSharingLinksP
public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/viber/ads/HideAdsPatchKt {
public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/vsco/misc/pro/UnlockProPatchKt {
public static final fun getUnlockProPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}

View File

@@ -23,7 +23,7 @@ internal val tabCreateButtonsLoopEndFingerprint = fingerprint {
Opcode.IPUT_OBJECT,
// Injection Jump
Opcode.ADD_INT_LIT8, //Increase Index
Opcode.GOTO_16 // Jump to loopStart
Opcode.GOTO // Jump to loopStart
// LoopEnd
)
}

View File

@@ -15,7 +15,7 @@ val hideNavigationButtonsPatch = bytecodePatch(
description = "Hides navigation bar buttons, such as the Reels and Create button.",
use = false
) {
compatibleWith("com.instagram.android")
compatibleWith("com.instagram.android"("397.1.0.52.81"))
val hideReels by booleanOption(
key = "hideReels",

View File

@@ -8,7 +8,11 @@ val hideVideoAdsPatch = bytecodePatch(
name = "Hide music video ads",
description = "Hides ads that appear while listening to or streaming music videos, podcasts, or songs.",
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
navigate(showVideoAdsParentFingerprint.originalMethod)

View File

@@ -8,7 +8,11 @@ val enableExclusiveAudioPlaybackPatch = bytecodePatch(
name = "Enable exclusive audio playback",
description = "Enables the option to play audio without video.",
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
allowExclusiveAudioPlaybackFingerprint.method.returnEarly(true)

View File

@@ -11,7 +11,11 @@ val permanentRepeatPatch = bytecodePatch(
description = "Permanently remember your repeating preference even if the playlist ends or another track is played.",
use = false,
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
val startIndex = repeatTrackFingerprint.patternMatch!!.endIndex

View File

@@ -9,7 +9,11 @@ val permanentShufflePatch = bytecodePatch(
description = "Permanently remember your shuffle preference " +
"even if the playlist ends or another track is played."
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
disableShuffleFingerprint.method.addInstruction(0, "return-void")

View File

@@ -12,7 +12,11 @@ val hideCategoryBar = bytecodePatch(
description = "Hides the category bar at the top of the homepage.",
use = false,
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
constructCategoryBarFingerprint.method.apply {

View File

@@ -11,7 +11,11 @@ val hideGetPremiumPatch = bytecodePatch(
name = "Hide 'Get Music Premium' label",
description = "Hides the \"Get Music Premium\" label from the account menu and settings.",
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
hideGetPremiumFingerprint.method.apply {

View File

@@ -18,7 +18,11 @@ val removeUpgradeButtonPatch = bytecodePatch(
name = "Remove upgrade button",
description = "Removes the upgrade tab from the pivot bar.",
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
pivotBarConstructorFingerprint.method.apply {

View File

@@ -8,7 +8,11 @@ val bypassCertificateChecksPatch = bytecodePatch(
name = "Bypass certificate checks",
description = "Bypasses certificate checks which prevent YouTube Music from working on Android Auto.",
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
checkCertificateFingerprint.method.returnEarly(true)

View File

@@ -8,7 +8,11 @@ val backgroundPlaybackPatch = bytecodePatch(
name = "Remove background playback restrictions",
description = "Removes restrictions on background playback, including playing kids videos in the background.",
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
execute {
kidsBackgroundPlaybackPolicyControllerFingerprint.method.addInstruction(

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.patch.Option
import app.revanced.patches.music.misc.extension.sharedExtensionPatch
import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME
import app.revanced.patches.music.misc.gms.Constants.REVANCED_MUSIC_PACKAGE_NAME
import app.revanced.patches.music.misc.spoof.spoofClientPatch
import app.revanced.patches.music.misc.spoof.spoofVideoStreamsPatch
import app.revanced.patches.shared.castContextFetchFingerprint
import app.revanced.patches.shared.misc.gms.gmsCoreSupportPatch
import app.revanced.patches.shared.primeMethodFingerprint
@@ -21,7 +21,7 @@ val gmsCoreSupportPatch = gmsCoreSupportPatch(
extensionPatch = sharedExtensionPatch,
gmsCoreSupportResourcePatchFactory = ::gmsCoreSupportResourcePatch,
) {
dependsOn(spoofClientPatch)
dependsOn(spoofVideoStreamsPatch)
compatibleWith(MUSIC_PACKAGE_NAME)
}

View File

@@ -1,39 +0,0 @@
package app.revanced.patches.music.misc.spoof
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val playerRequestConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
strings("player")
}
/**
* Matches using the class found in [playerRequestConstructorFingerprint].
*/
internal val createPlayerRequestBodyFingerprint = fingerprint {
parameters("L")
returns("V")
opcodes(
Opcode.CHECK_CAST,
Opcode.IGET,
Opcode.AND_INT_LIT16,
)
strings("ms")
}
/**
* Used to get a reference to other clientInfo fields.
*/
internal val setClientInfoFieldsFingerprint = fingerprint {
returns("L")
strings("Google Inc.")
}
/**
* Used to get a reference to the clientInfo and clientInfo.clientVersion field.
*/
internal val setClientInfoClientVersionFingerprint = fingerprint {
strings("10.29")
}

View File

@@ -1,105 +0,0 @@
package app.revanced.patches.music.misc.spoof
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.instructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
import app.revanced.patches.music.misc.extension.sharedExtensionPatch
import app.revanced.util.getReference
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
import com.android.tools.smali.dexlib2.iface.reference.TypeReference
import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/music/spoof/SpoofClientPatch;"
// TODO: Replace this patch with spoofVideoStreamsPatch once possible.
val spoofClientPatch = bytecodePatch(
name = "Spoof client",
description = "Spoofs the client to fix playback.",
) {
compatibleWith("com.google.android.apps.youtube.music")
dependsOn(
sharedExtensionPatch,
// TODO: Add settingsPatch
userAgentClientSpoofPatch,
)
execute {
val playerRequestClass = playerRequestConstructorFingerprint.classDef
val createPlayerRequestBodyMatch = createPlayerRequestBodyFingerprint.match(playerRequestClass)
val clientInfoContainerClass = createPlayerRequestBodyMatch.method
.getInstruction(createPlayerRequestBodyMatch.patternMatch!!.startIndex)
.getReference<TypeReference>()!!.type
val clientInfoField = setClientInfoClientVersionFingerprint.method.instructions.first {
it.opcode == Opcode.IPUT_OBJECT && it.getReference<FieldReference>()!!.definingClass == clientInfoContainerClass
}.getReference<FieldReference>()!!
val setClientInfoFieldInstructions = setClientInfoFieldsFingerprint.method.instructions.filter {
(it.opcode == Opcode.IPUT_OBJECT || it.opcode == Opcode.IPUT) &&
it.getReference<FieldReference>()!!.definingClass == clientInfoField.type
}.map { it.getReference<FieldReference>()!! }
// Offsets are known for the fields in the clientInfo object.
val clientIdField = setClientInfoFieldInstructions[0]
val clientModelField = setClientInfoFieldInstructions[5]
val osVersionField = setClientInfoFieldInstructions[7]
val clientVersionField = setClientInfoClientVersionFingerprint.method
.getInstruction(setClientInfoClientVersionFingerprint.stringMatches!!.first().index + 1)
.getReference<FieldReference>()
// Helper method to spoof the client info.
val spoofClientInfoMethod = ImmutableMethod(
playerRequestClass.type,
"spoofClientInfo",
listOf(ImmutableMethodParameter(clientInfoContainerClass, null, null)),
"V",
AccessFlags.PRIVATE.value or AccessFlags.STATIC.value,
null,
null,
MutableMethodImplementation(3),
).toMutable().also(playerRequestClass.methods::add).apply {
addInstructions(
"""
iget-object v0, p0, $clientInfoField
invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->getClientId()I
move-result v1
iput v1, v0, $clientIdField
invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->getClientModel()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, $clientModelField
invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->getClientVersion()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, $clientVersionField
invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->getOsVersion()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, $osVersionField
return-void
""",
)
}
createPlayerRequestBodyMatch.method.apply {
val checkCastIndex = createPlayerRequestBodyMatch.patternMatch!!.startIndex
val clientInfoContainerRegister = getInstruction<OneRegisterInstruction>(checkCastIndex).registerA
addInstruction(checkCastIndex + 1, "invoke-static {v$clientInfoContainerRegister}, $spoofClientInfoMethod")
}
}
}

View File

@@ -0,0 +1,33 @@
package app.revanced.patches.music.misc.spoof
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patches.music.misc.extension.sharedExtensionPatch
import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint
import app.revanced.patches.music.playservice.is_7_33_or_greater
import app.revanced.patches.music.playservice.is_8_11_or_greater
import app.revanced.patches.music.playservice.is_8_15_or_greater
import app.revanced.patches.music.playservice.versionCheckPatch
import app.revanced.patches.shared.misc.spoof.spoofVideoStreamsPatch
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;"
val spoofVideoStreamsPatch = spoofVideoStreamsPatch(
fixMediaFetchHotConfigChanges = { true },
fixMediaFetchHotConfigAlternativeChanges = { is_8_11_or_greater && !is_8_15_or_greater },
fixParsePlaybackResponseFeatureFlag = { is_7_33_or_greater },
block = {
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.29.52"
)
)
dependsOn(sharedExtensionPatch, versionCheckPatch, userAgentClientSpoofPatch)
},
executeBlock = {
musicActivityOnCreateFingerprint.method.addInstruction(
1, // Must use 1 index so context is set by extension patch.
"invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setClientOrderToUse()V"
)
}
)

View File

@@ -0,0 +1,28 @@
@file:Suppress("ktlint:standard:property-naming")
package app.revanced.patches.music.playservice
import app.revanced.patcher.patch.resourcePatch
import app.revanced.util.findPlayStoreServicesVersion
var is_7_33_or_greater = false
private set
var is_8_11_or_greater = false
private set
var is_8_15_or_greater = false
private set
val versionCheckPatch = resourcePatch(
description = "Uses the Play Store service version to find the major/minor version of the YouTube Music target app.",
) {
execute {
// The app version is missing from the decompiled manifest,
// so instead use the Google Play services version and compare against specific releases.
val playStoreServicesVersion = findPlayStoreServicesVersion()
// All bug fix releases always seem to use the same play store version as the minor version.
is_7_33_or_greater = 245199000 <= playStoreServicesVersion
is_8_11_or_greater = 251199000 <= playStoreServicesVersion
is_8_15_or_greater = 251530000 <= playStoreServicesVersion
}
}

View File

@@ -1,9 +1,12 @@
package app.revanced.patches.shared.misc.spoof
import app.revanced.patcher.fingerprint
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstruction
import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
internal val buildInitPlaybackRequestFingerprint = fingerprint {
returns("Lorg/chromium/net/UrlRequest\$Builder;")
@@ -35,8 +38,15 @@ internal val buildPlayerRequestURIFingerprint = fingerprint {
internal val buildRequestFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Lorg/chromium/net/UrlRequest;")
returns("Lorg/chromium/net/UrlRequest") // UrlRequest; or UrlRequest$Builder;
custom { methodDef, _ ->
if (methodDef.indexOfFirstInstruction {
val reference = getReference<MethodReference>()
reference?.name == "newUrlRequestBuilder"
} < 0) {
return@custom false
}
// Different targets have slightly different parameters
// Earlier targets have parameters:
@@ -58,12 +68,22 @@ internal val buildRequestFingerprint = fingerprint {
// Lorg/chromium/net/UrlRequest\$Callback;
// L
// 20.16+ uses a refactored and extracted method:
// L
// Ljava/util/Map;
// [B
// L
// Lorg/chromium/net/UrlRequest$Callback;
// L
val parameterTypes = methodDef.parameterTypes
(parameterTypes.size == 7 || parameterTypes.size == 8) &&
parameterTypes[1] == "Ljava/util/Map;" // URL headers.
val parameterTypesSize = parameterTypes.size
(parameterTypesSize == 6 || parameterTypesSize == 7 || parameterTypesSize == 8) &&
parameterTypes[1] == "Ljava/util/Map;" // URL headers.
}
}
internal val protobufClassParseByteBufferFingerprint = fingerprint {
accessFlags(AccessFlags.PROTECTED, AccessFlags.STATIC)
returns("L")
@@ -148,7 +168,8 @@ internal val mediaFetchHotConfigFingerprint = fingerprint {
literal { MEDIA_FETCH_HOT_CONFIG_FEATURE_FLAG }
}
// 20.10+
// YT 20.10+, YT Music 8.11 - 8.14.
// Flag is missing in YT Music 8.15+, and it is not known if a replacement flag/feature exists.
internal const val MEDIA_FETCH_HOT_CONFIG_ALTERNATIVE_FEATURE_FLAG = 45683169L
internal val mediaFetchHotConfigAlternativeFingerprint = fingerprint {
@@ -162,7 +183,6 @@ internal val mediaFetchHotConfigAlternativeFingerprint = fingerprint {
internal const val PLAYBACK_START_CHECK_ENDPOINT_USED_FEATURE_FLAG = 45665455L
internal val playbackStartDescriptorFeatureFlagFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters()
returns("Z")
literal { PLAYBACK_START_CHECK_ENDPOINT_USED_FEATURE_FLAG }

View File

@@ -10,6 +10,7 @@ import app.revanced.patcher.patch.BytecodePatchContext
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.music.misc.extension.sharedExtensionPatch
import app.revanced.util.findFreeRegister
import app.revanced.util.findInstructionIndicesReversedOrThrow
import app.revanced.util.getReference
@@ -53,9 +54,8 @@ fun spoofVideoStreamsPatch(
// region Block /initplayback requests to fall back to /get_watch requests.
val moveUriStringIndex = buildInitPlaybackRequestFingerprint.patternMatch!!.startIndex
buildInitPlaybackRequestFingerprint.method.apply {
val moveUriStringIndex = buildInitPlaybackRequestFingerprint.patternMatch!!.startIndex
val targetRegister = getInstruction<OneRegisterInstruction>(moveUriStringIndex).registerA
addInstructions(
@@ -63,7 +63,7 @@ fun spoofVideoStreamsPatch(
"""
invoke-static { v$targetRegister }, $EXTENSION_CLASS_DESCRIPTOR->blockInitPlaybackRequest(Ljava/lang/String;)Ljava/lang/String;
move-result-object v$targetRegister
""",
"""
)
}
@@ -71,9 +71,8 @@ fun spoofVideoStreamsPatch(
// region Block /get_watch requests to fall back to /player requests.
val invokeToStringIndex = buildPlayerRequestURIFingerprint.patternMatch!!.startIndex
buildPlayerRequestURIFingerprint.method.apply {
val invokeToStringIndex = buildPlayerRequestURIFingerprint.patternMatch!!.startIndex
val uriRegister = getInstruction<FiveRegisterInstruction>(invokeToStringIndex).registerC
addInstructions(
@@ -81,7 +80,7 @@ fun spoofVideoStreamsPatch(
"""
invoke-static { v$uriRegister }, $EXTENSION_CLASS_DESCRIPTOR->blockGetWatchRequest(Landroid/net/Uri;)Landroid/net/Uri;
move-result-object v$uriRegister
""",
"""
)
}
@@ -178,9 +177,9 @@ fun spoofVideoStreamsPatch(
:disabled
return-void
""",
"""
)
},
}
)
}
@@ -199,17 +198,17 @@ fun spoofVideoStreamsPatch(
addInstructions(
targetIndex,
"""
# Field a: Stream uri.
# Field c: Http method.
# Field d: Post data.
move-object v0, p0 # method has over 15 registers and must copy p0 to a lower register.
iget-object v1, v0, $definingClass->a:Landroid/net/Uri;
iget v2, v0, $definingClass->c:I
iget-object v3, v0, $definingClass->d:[B
invoke-static { v1, v2, v3 }, $EXTENSION_CLASS_DESCRIPTOR->removeVideoPlaybackPostBody(Landroid/net/Uri;I[B)[B
move-result-object v1
iput-object v1, v0, $definingClass->d:[B
""",
# Field a: Stream uri.
# Field c: Http method.
# Field d: Post data.
move-object v0, p0 # method has over 15 registers and must copy p0 to a lower register.
iget-object v1, v0, $definingClass->a:Landroid/net/Uri;
iget v2, v0, $definingClass->c:I
iget-object v3, v0, $definingClass->d:[B
invoke-static { v1, v2, v3 }, $EXTENSION_CLASS_DESCRIPTOR->removeVideoPlaybackPostBody(Landroid/net/Uri;I[B)[B
move-result-object v1
iput-object v1, v0, $definingClass->d:[B
"""
)
}

View File

@@ -187,11 +187,16 @@ val customThemePatch = resourcePatch(
}
// Login screen gradient.
document("res/drawable/start_screen_gradient.xml").use { document ->
val gradientNode = document.getElementsByTagName("gradient").item(0) as Element
try {
document("res/drawable/start_screen_gradient.xml").use { document ->
val gradientNode = document.getElementsByTagName("gradient").item(0) as Element
gradientNode.setAttribute("android:startColor", "@color/gray_7")
gradientNode.setAttribute("android:endColor", "@color/gray_7")
gradientNode.setAttribute("android:startColor", "@color/gray_7")
gradientNode.setAttribute("android:endColor", "@color/gray_7")
}
} catch (_: Exception) {
// Fails for 9.0.66+
// printWarn("Failed to locate start_screen_gradient.xml, skipping modification.")
}
}
}

View File

@@ -1,145 +0,0 @@
package app.revanced.patches.spotify.misc
import app.revanced.patcher.fingerprint
import app.revanced.patcher.patch.BytecodePatchContext
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstruction
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
import com.android.tools.smali.dexlib2.iface.reference.TypeReference
context(BytecodePatchContext)
internal val accountAttributeFingerprint get() = fingerprint {
custom { _, classDef -> classDef.type == "Lcom/spotify/remoteconfig/internal/AccountAttribute;" }
}
context(BytecodePatchContext)
internal val productStateProtoGetMapFingerprint get() = fingerprint {
returns("Ljava/util/Map;")
custom { _, classDef -> classDef.type == "Lcom/spotify/remoteconfig/internal/ProductStateProto;" }
}
internal val buildQueryParametersFingerprint = fingerprint {
strings("trackRows", "device_type:tablet")
}
internal val contextMenuViewModelClassFingerprint = fingerprint {
strings("ContextMenuViewModel(header=")
}
/**
* Used in versions older than "9.0.60.128".
*/
internal val oldContextMenuViewModelAddItemFingerprint = fingerprint {
parameters("L")
returns("V")
custom { method, _ ->
method.indexOfFirstInstruction {
getReference<MethodReference>()?.name == "add"
} >= 0
}
}
internal val contextMenuViewModelConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
}
/**
* Used to find the interface name of a context menu item.
*/
internal val removeItemFromPlaylistContextMenuItemClassFingerprint = fingerprint {
strings("spotify:playlist:", "REMOVE_TRACK")
}
internal const val CONTEXT_MENU_ITEM_CLASS_DESCRIPTOR_PLACEHOLDER = "Lapp/revanced/ContextMenuItemPlaceholder;"
internal val extensionFilterContextMenuItemsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Ljava/util/List;")
parameters("Ljava/util/List;")
custom { method, classDef ->
method.name == "filterContextMenuItems" && classDef.type == EXTENSION_CLASS_DESCRIPTOR
}
}
internal val getViewModelFingerprint = fingerprint {
custom { method, _ -> method.name == "getViewModel" }
}
internal val contextFromJsonFingerprint = fingerprint {
opcodes(
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT_OBJECT,
Opcode.INVOKE_STATIC
)
custom { method, classDef ->
method.name == "fromJson" &&
classDef.type.endsWith("voiceassistants/playermodels/ContextJsonAdapter;")
}
}
internal val readPlayerOptionOverridesFingerprint = fingerprint {
custom { method, classDef ->
method.name == "readPlayerOptionOverrides" &&
classDef.type.endsWith("voiceassistants/playermodels/PreparePlayOptionsJsonAdapter;")
}
}
internal val protobufListsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
custom { method, _ -> method.name == "emptyProtobufList" }
}
internal val abstractProtobufListEnsureIsMutableFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters()
returns("V")
custom { method, _ ->
method.indexOfFirstInstruction {
getReference<TypeReference>()?.type == "Ljava/lang/UnsupportedOperationException;"
} >= 0
}
}
internal fun structureGetSectionsFingerprint(className: String) = fingerprint {
custom { method, classDef ->
classDef.type.endsWith(className) && method.indexOfFirstInstruction {
opcode == Opcode.IGET_OBJECT && getReference<FieldReference>()?.name == "sections_"
} >= 0
}
}
internal val homeSectionFingerprint = fingerprint {
custom { _, classDef -> classDef.type.endsWith("homeapi/proto/Section;") }
}
internal val homeStructureGetSectionsFingerprint =
structureGetSectionsFingerprint("homeapi/proto/HomeStructure;")
internal val browseSectionFingerprint = fingerprint {
custom { _, classDef-> classDef.type.endsWith("browsita/v1/resolved/Section;") }
}
internal val browseStructureGetSectionsFingerprint =
structureGetSectionsFingerprint("browsita/v1/resolved/BrowseStructure;")
internal fun reactivexFunctionApplyWithClassInitFingerprint(className: String) = fingerprint {
returns("Ljava/lang/Object;")
parameters("Ljava/lang/Object;")
custom { method, _ ->
method.name == "apply" && method.indexOfFirstInstruction {
opcode == Opcode.NEW_INSTANCE && getReference<TypeReference>()?.type?.endsWith(className) == true
} >= 0
}
}
internal const val PENDRAGON_JSON_FETCH_MESSAGE_REQUEST_CLASS_NAME = "FetchMessageRequest;"
internal val pendragonJsonFetchMessageRequestFingerprint =
reactivexFunctionApplyWithClassInitFingerprint(PENDRAGON_JSON_FETCH_MESSAGE_REQUEST_CLASS_NAME)
internal const val PENDRAGON_PROTO_FETCH_MESSAGE_LIST_REQUEST_CLASS_NAME = "FetchMessageListRequest;"
internal val pendragonProtoFetchMessageListRequestFingerprint =
reactivexFunctionApplyWithClassInitFingerprint(PENDRAGON_PROTO_FETCH_MESSAGE_LIST_REQUEST_CLASS_NAME)

View File

@@ -12,9 +12,9 @@ import app.revanced.util.returnEarly
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/spotify/misc/fix/SpoofClientPatch;"
@Deprecated("Patch no longer functions")
@Suppress("unused")
val spoofClientPatch = bytecodePatch(
name = "Spoof client",
description = "Spoofs the client to fix various functions of the app.",
) {
val requestListenerPort by intOption(

View File

@@ -1,12 +1,9 @@
package app.revanced.patches.spotify.navbar
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.spotify.misc.unlockPremiumPatch
@Deprecated("Superseded by unlockPremiumPatch", ReplaceWith("unlockPremiumPatch"))
@Deprecated("Obsolete and will be deleted soon")
@Suppress("unused")
val premiumNavbarTabPatch = bytecodePatch(
description = "Hides the premium tab from the navigation bar.",
) {
dependsOn(unlockPremiumPatch)
}
)

View File

@@ -0,0 +1,13 @@
package app.revanced.patches.viber.ads
import app.revanced.patcher.fingerprint
internal val adsFreeFingerprint = fingerprint {
returns("I")
parameters()
custom { method, classDef ->
classDef.type.contains("com/viber/voip/feature/viberplus") &&
classDef.superclass?.contains("com/viber/voip/core/feature") == true && // Must extend com.viber.voip.core.feature.?
classDef.methods.count() == 1
}
}

View File

@@ -0,0 +1,17 @@
package app.revanced.patches.viber.ads
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.util.returnEarly
@Suppress("unused")
val hideAdsPatch = bytecodePatch(
name = "Hide Ads",
description = "Hides ad banners between chats.",
) {
compatibleWith("com.viber.voip"("25.9.2.0"))
execute {
// Return 1 (true) indicating ads should be disabled.
adsFreeFingerprint.method.returnEarly(1)
}
}

View File

@@ -89,7 +89,7 @@ val downloadsPatch = bytecodePatch(
// Main activity is used to launch downloader intent.
mainActivityOnCreateFingerprint.method.addInstruction(
1,
0,
"invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->activityCreated(Landroid/app/Activity;)V"
)

View File

@@ -1,6 +1,7 @@
package app.revanced.patches.youtube.layout.seekbar
import app.revanced.patcher.fingerprint
import app.revanced.patches.youtube.shared.YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
import app.revanced.util.containsLiteralInstruction
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstruction
@@ -103,7 +104,7 @@ internal val launchScreenLayoutTypeFingerprint = fingerprint {
custom { method, _ ->
val firstParameter = method.parameterTypes.firstOrNull()
// 19.25 - 19.45
(firstParameter == "Lcom/google/android/apps/youtube/app/watchwhile/MainActivity;"
(firstParameter == YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
|| firstParameter == "Landroid/app/Activity;") // 19.46+
&& method.containsLiteralInstruction(launchScreenLayoutTypeLotteFeatureFlag)
}

View File

@@ -68,7 +68,7 @@ val shortsAutoplayPatch = bytecodePatch(
// Main activity is used to check if app is in pip mode.
mainActivityOnCreateFingerprint.method.addInstruction(
1,
0,
"invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->setMainActivity(Landroid/app/Activity;)V",
)

View File

@@ -90,8 +90,8 @@ val openShortsInRegularPlayerPatch = bytecodePatch(
// Activity is used as the context to launch an Intent.
mainActivityOnCreateFingerprint.method.addInstruction(
1,
"invoke-static/range { p0 .. p0 }, ${EXTENSION_CLASS_DESCRIPTOR}->" +
0,
"invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->" +
"setMainActivity(Landroid/app/Activity;)V",
)

View File

@@ -1,8 +1,11 @@
package app.revanced.patches.youtube.layout.sponsorblock
import app.revanced.patcher.fingerprint
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionReversed
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.Method
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
@@ -56,3 +59,20 @@ internal val rectangleFieldInvalidatorFingerprint = fingerprint {
reference?.parameterTypes?.size == 1 && reference.name == "invalidate" // the reference is the invalidate(..) method
}
}
internal val adProgressTextViewVisibilityFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("Z")
custom { method, _ ->
indexOfAdProgressTextViewVisibilityInstruction(method) >= 0
}
}
internal fun indexOfAdProgressTextViewVisibilityInstruction(method: Method) =
method.indexOfFirstInstructionReversed {
val reference = getReference<MethodReference>()
reference?.definingClass ==
"Lcom/google/android/libraries/youtube/ads/player/ui/AdProgressTextView;"
&& reference.name =="setVisibility"
}

View File

@@ -252,5 +252,16 @@ val sponsorBlockPatch = bytecodePatch(
}
} ?: throw PatchException("Could not find the method which contains the replaceMeWith* strings")
}
adProgressTextViewVisibilityFingerprint.method.apply {
val index = indexOfAdProgressTextViewVisibilityInstruction(this)
val register = getInstruction<FiveRegisterInstruction>(index).registerD
addInstructionsAtControlFlowLabel(
index,
"invoke-static { v$register }, $EXTENSION_SEGMENT_PLAYBACK_CONTROLLER_CLASS_DESCRIPTOR->setAdProgressTextVisibility(I)V"
)
}
}
}

View File

@@ -1,6 +1,7 @@
package app.revanced.patches.youtube.layout.theme
import app.revanced.patcher.fingerprint
import app.revanced.patches.youtube.shared.YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
@@ -37,6 +38,6 @@ internal val splashScreenStyleFingerprint = fingerprint {
parameters("Landroid/os/Bundle;")
literal { SPLASH_SCREEN_STYLE_FEATURE_FLAG }
custom { method, classDef ->
method.name == "onCreate" && classDef.endsWith("/MainActivity;")
method.name == "onCreate" && classDef.type == YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
}
}

View File

@@ -40,9 +40,7 @@ val announcementsPatch = bytecodePatch(
)
mainActivityOnCreateFingerprint.method.addInstruction(
// Insert index must be greater than the insert index used by GmsCoreSupport,
// as both patch the same method and GmsCore check should be first.
1,
0,
"invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->showAnnouncement(Landroid/app/Activity;)V",
)
}

View File

@@ -34,12 +34,7 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch(
addResources("youtube", "misc.dns.checkWatchHistoryDomainNameResolutionPatch")
mainActivityOnCreateFingerprint.method.addInstruction(
// FIXME: Insert index must be greater than the insert index used by GmsCoreSupport,
// as both patch the same method and GmsCoreSupport check should be first,
// but the patch does not depend on GmsCoreSupport, so it should not be possible to enforce this
// unless a third patch is added that this patch and GmsCoreSupport depend on to manage
// the order of the patches.
1,
0,
"invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->checkDnsResolver(Landroid/app/Activity;)V",
)
}

View File

@@ -3,4 +3,5 @@ package app.revanced.patches.youtube.misc.extension
import app.revanced.patches.shared.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.extension.hooks.*
val sharedExtensionPatch = sharedExtensionPatch("youtube", applicationInitHook)
val sharedExtensionPatch = sharedExtensionPatch("youtube",
applicationInitHook, applicationInitOnCrateHook)

View File

@@ -1,11 +1,23 @@
package app.revanced.patches.youtube.misc.extension.hooks
import app.revanced.patches.shared.misc.extension.extensionHook
import app.revanced.patches.youtube.shared.YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
/**
* Hooks the context when the app is launched as a regular application (and is not an embedded video playback).
*/
// Extension context is the Activity itself.
internal val applicationInitHook = extensionHook {
// Does _not_ resolve to the YouTube main activity.
// Required as some hooked code runs before the main activity is launched.
strings("Application creation", "Application.onCreate")
}
internal val applicationInitOnCrateHook = extensionHook {
returns("V")
parameters("Landroid/os/Bundle;")
custom { method, classDef ->
method.name == "onCreate" && classDef.type == YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
}
}

View File

@@ -127,8 +127,7 @@ val navigationBarHookPatch = bytecodePatch(description = "Hooks the active navig
// Litho filtering based on navigation tab before the tab is updated.
mainActivityOnBackPressedFingerprint.method.addInstruction(
0,
"invoke-static { p0 }, " +
"$EXTENSION_CLASS_DESCRIPTOR->onBackPressed(Landroid/app/Activity;)V",
"invoke-static { p0 }, $EXTENSION_CLASS_DESCRIPTOR->onBackPressed(Landroid/app/Activity;)V",
)
// Hook the search bar.

View File

@@ -3,7 +3,7 @@
package app.revanced.patches.youtube.misc.playservice
import app.revanced.patcher.patch.resourcePatch
import app.revanced.util.findElementByAttributeValueOrThrow
import app.revanced.util.findPlayStoreServicesVersion
@Deprecated("19.34.42 is the lowest supported version")
var is_19_03_or_greater = false
@@ -77,12 +77,7 @@ val versionCheckPatch = resourcePatch(
execute {
// The app version is missing from the decompiled manifest,
// so instead use the Google Play services version and compare against specific releases.
val playStoreServicesVersion = document("res/values/integers.xml").use { document ->
document.documentElement.childNodes.findElementByAttributeValueOrThrow(
"name",
"google_play_services_version",
).textContent.toInt()
}
val playStoreServicesVersion = findPlayStoreServicesVersion()
// All bug fix releases always seem to use the same play store version as the minor version.
is_19_03_or_greater = 240402000 <= playStoreServicesVersion

View File

@@ -1,5 +1,6 @@
package app.revanced.patches.youtube.misc.spoof
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.shared.misc.settings.preference.ListPreference
import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference
@@ -13,56 +14,69 @@ import app.revanced.patches.youtube.misc.playservice.is_20_14_or_greater
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
val spoofVideoStreamsPatch = spoofVideoStreamsPatch({
compatibleWith(
"com.google.android.youtube"(
"19.34.42",
"19.43.41",
"19.47.53",
"20.07.39",
"20.12.46",
"20.13.41",
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch;"
val spoofVideoStreamsPatch = spoofVideoStreamsPatch(
block = {
compatibleWith(
"com.google.android.youtube"(
"19.34.42",
"19.43.41",
"19.47.53",
"20.07.39",
"20.12.46",
"20.13.41",
)
)
)
dependsOn(
userAgentClientSpoofPatch,
settingsPatch,
versionCheckPatch
)
}, {
is_19_34_or_greater
}, {
// In 20.14 the flag was merged with 20.03 start playback flag.
is_20_10_or_greater && !is_20_14_or_greater
}, {
is_20_03_or_greater
}, {
addResources("youtube", "misc.fix.playback.spoofVideoStreamsPatch")
dependsOn(
userAgentClientSpoofPatch,
settingsPatch,
versionCheckPatch
)
},
fixMediaFetchHotConfigChanges = {
is_19_34_or_greater
},
fixMediaFetchHotConfigAlternativeChanges = {
// In 20.14 the flag was merged with 20.03 start playback flag.
is_20_10_or_greater && !is_20_14_or_greater
},
fixParsePlaybackResponseFeatureFlag = {
is_20_03_or_greater
},
executeBlock = {
addResources("youtube", "misc.fix.playback.spoofVideoStreamsPatch")
PreferenceScreen.MISC.addPreferences(
PreferenceScreenPreference(
key = "revanced_spoof_video_streams_screen",
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
preferences = setOf(
SwitchPreference("revanced_spoof_video_streams"),
ListPreference("revanced_spoof_video_streams_client_type"),
NonInteractivePreference(
// Requires a key and title but the actual text is chosen at runtime.
key = "revanced_spoof_video_streams_about_android",
tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference"
),
ListPreference(
key = "revanced_spoof_video_streams_language",
// Language strings are declared in Setting patch.
entriesKey = "revanced_language_entries",
entryValuesKey = "revanced_language_entry_values",
tag = "app.revanced.extension.shared.settings.preference.SortedListPreference"
),
SwitchPreference("revanced_spoof_video_streams_ios_force_avc"),
SwitchPreference("revanced_spoof_streaming_data_stats_for_nerds"),
),
),
)
})
PreferenceScreen.MISC.addPreferences(
PreferenceScreenPreference(
key = "revanced_spoof_video_streams_screen",
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
preferences = setOf(
SwitchPreference("revanced_spoof_video_streams"),
ListPreference("revanced_spoof_video_streams_client_type"),
NonInteractivePreference(
// Requires a key and title but the actual text is chosen at runtime.
key = "revanced_spoof_video_streams_about_android",
tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference"
),
ListPreference(
key = "revanced_spoof_video_streams_language",
// Language strings are declared in Setting patch.
entriesKey = "revanced_language_entries",
entryValuesKey = "revanced_language_entry_values",
tag = "app.revanced.extension.shared.settings.preference.SortedListPreference"
),
SwitchPreference("revanced_spoof_streaming_data_stats_for_nerds"),
)
)
)
mainActivityOnCreateFingerprint.method.addInstruction(
0,
"invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setClientOrderToUse()V"
)
}
)

View File

@@ -4,6 +4,8 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal const val YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE = "Lcom/google/android/apps/youtube/app/watchwhile/MainActivity;"
internal val conversionContextFingerprintToString = fingerprint {
parameters()
strings(
@@ -48,7 +50,7 @@ internal val mainActivityConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
parameters()
custom { _, classDef ->
classDef.endsWith("/MainActivity;")
classDef.type == YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
}
}
@@ -57,7 +59,7 @@ internal val mainActivityOnBackPressedFingerprint = fingerprint {
returns("V")
parameters()
custom { method, classDef ->
method.name == "onBackPressed" && classDef.endsWith("/MainActivity;")
method.name == "onBackPressed" && classDef.type == YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
}
}
@@ -65,7 +67,7 @@ internal val mainActivityOnCreateFingerprint = fingerprint {
returns("V")
parameters("Landroid/os/Bundle;")
custom { method, classDef ->
method.name == "onCreate" && classDef.endsWith("/MainActivity;")
method.name == "onCreate" && classDef.type == YOUTUBE_MAIN_ACTIVITY_CLASS_TYPE
}
}

View File

@@ -1,5 +1,6 @@
package app.revanced.patches.youtube.video.audio
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
@@ -14,6 +15,7 @@ import app.revanced.patches.youtube.misc.playservice.is_20_07_or_greater
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
import app.revanced.util.findMethodFromToString
import app.revanced.util.indexOfFirstInstructionOrThrow
import app.revanced.util.insertLiteralOverride
@@ -55,10 +57,12 @@ val forceOriginalAudioPatch = bytecodePatch(
addResources("youtube", "video.audio.forceOriginalAudioPatch")
PreferenceScreen.VIDEO.addPreferences(
SwitchPreference(
key = "revanced_force_original_audio",
tag = "app.revanced.extension.youtube.settings.preference.ForceOriginalAudioSwitchPreference"
)
SwitchPreference("revanced_force_original_audio")
)
mainActivityOnCreateFingerprint.method.addInstruction(
0,
"invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setPreferredLanguage()V"
)
// Disable feature flag that ignores the default track flag

View File

@@ -178,3 +178,15 @@ internal fun Element.copyAttributesFrom(oldContainer: Element) {
setAttribute(attr.name, attr.value)
}
}
/**
* @return The play store services version.
*/
internal fun ResourcePatchContext.findPlayStoreServicesVersion(): Int =
document("res/values/integers.xml").use { document ->
document.documentElement.childNodes.findElementByAttributeValueOrThrow(
"name",
"google_play_services_version",
).textContent.toInt()
}

View File

@@ -1075,10 +1075,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">فاصل زمني بدون محتوى فعلي. قد يكون توقفًا مؤقتًا، أو إطارًا ثابتًا، أو رسومًا متحركة متكررة. لا يتضمن انتقالات تحتوي على معلومات</string>
<string name="revanced_sb_segments_outro">الخاتمة / تترات النهاية</string>
<string name="revanced_sb_segments_outro_sum">تتر النهاية أو عندما تظهر بطاقات نهاية YouTube، نهايات غير منطوقة. ليس للاستنتاجات مع المعلومات</string>
<string name="revanced_sb_segments_preview">معاينة/موجز/ربط</string>
<string name="revanced_sb_segments_hook">مقدمة / تحيات</string>
<string name="revanced_sb_segments_hook_sum">مقاطع دعائية مروية للفيديو القادم، تحيات ووداعات. لا تشمل الأقسام التي تضيف محتوى إضافيًا</string>
<string name="revanced_sb_segments_preview">معاينة / ملخص</string>
<string name="revanced_sb_segments_preview_sum">مجموعة من المقاطع التي توضح ما هو قادم أو ما حدث في الفيديو أو في مقاطع فيديو أخرى من السلسلة، حيث تتكرر جميع المعلومات في مكان آخر</string>
<string name="revanced_sb_segments_filler">خارج الموضوع/النكات</string>
<string name="revanced_sb_segments_filler_sum">تم إضافة مشاهد ملتقطة خارج الموضوع أو الفكاهة التي ليست مطلوبة لفهم المحتوى الرئيسي للفيديو. لا تتضمن مقاطع توفر تَعبِير أو تفاصيل الخلفية</string>
<string name="revanced_sb_segments_filler">استطراد / نكات</string>
<string name="revanced_sb_segments_filler_sum">مشاهد أو نكات جانبية غير ضرورية لفهم المحتوى الرئيسي للفيديو. لا تشمل الأقسام التي توفر سياقًا أو تفاصيل خلفية</string>
<string name="revanced_sb_segments_nomusic">الموسيقى: مقطع غير موسيقي</string>
<string name="revanced_sb_segments_nomusic_sum">فقط للاستخدام في المقاطع الموسيقية. أقسام المقاطع الموسيقية بدون موسيقى، والتي لم يتم تغطيتها بالفعل من قبل فئة أخرى</string>
<string name="revanced_sb_skip_button_compact">تخطي</string>
@@ -1091,10 +1093,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_intro_middle">تخطي الفاصل</string>
<string name="revanced_sb_skip_button_intro_end">تخطي الفاصل</string>
<string name="revanced_sb_skip_button_outro">تخطي الخاتمة</string>
<string name="revanced_sb_skip_button_hook">تخطي المقدمة</string>
<string name="revanced_sb_skip_button_preview_beginning">تخطي النظرة العامة</string>
<string name="revanced_sb_skip_button_preview_middle">تخطي النظرة العامة</string>
<string name="revanced_sb_skip_button_preview_end">تخطي الملخص</string>
<string name="revanced_sb_skip_button_filler">تخطي مقطع غير ذي صلة</string>
<string name="revanced_sb_skip_button_filler">تخطي الجزء الجانبي</string>
<string name="revanced_sb_skip_button_nomusic">تخطي غير الموسيقى</string>
<string name="revanced_sb_skip_button_unsubmitted">تخطي المقطع</string>
<string name="revanced_sb_skipped_sponsor">تم تخطي الراعي</string>
@@ -1105,10 +1108,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_intro_middle">تم تخطي الفاصل</string>
<string name="revanced_sb_skipped_intro_end">تم تخطي الفاصل</string>
<string name="revanced_sb_skipped_outro">تم تخطي الخاتمة</string>
<string name="revanced_sb_skipped_hook">تم تخطي المقدمة</string>
<string name="revanced_sb_skipped_preview_beginning">تم تخطي النظرة العامة</string>
<string name="revanced_sb_skipped_preview_middle">تم تخطي النظرة العامة</string>
<string name="revanced_sb_skipped_preview_end">تم تخطي الملخص</string>
<string name="revanced_sb_skipped_filler">تم تخطي مقطع غير ذي صلة</string>
<string name="revanced_sb_skipped_filler">تم تخطي الجزء الجانبي</string>
<string name="revanced_sb_skipped_nomusic">تم تخطي جزء غير موسيقي</string>
<string name="revanced_sb_skipped_unsubmitted">تم تخطي المقطع الغير المرسل</string>
<string name="revanced_sb_skipped_multiple_segments">تم تخطي عدة مقاطع</string>

View File

@@ -1074,10 +1074,12 @@ Sizin istifadəçi Id-niz parol kimidir və heç vaxt paylaşmaq olmaz.
<string name="revanced_sb_segments_intro_sum">Həqiqi məzmunu olmayan aralıq. Fasilə, statik kadr və ya təkrarlanan animasiya ola bilər. Məlumat ehtiva edən keçidlər daxil deyil</string>
<string name="revanced_sb_segments_outro">Son kartlar / Zaminlər</string>
<string name="revanced_sb_segments_outro_sum">Zaminlər və ya YouTube bitiş kartları görünəndə. Məlumat daxil olan nəticələr üçün deyil</string>
<string name="revanced_sb_segments_preview">Önizləmə/Anons/Qısa</string>
<string name="revanced_sb_segments_hook">Giriş / Salamlar</string>
<string name="revanced_sb_segments_hook_sum">Yaxınlaşan video üçün danışılan kadrlar, salamlama və sağollaşma. Əlavə məzmun əlavə edən bölmələr daxil deyil</string>
<string name="revanced_sb_segments_preview">Önizləmə / Anons</string>
<string name="revanced_sb_segments_preview_sum">Videoda və ya seriyanın digər videolarında nə gözlənildiyini və ya baş verdiyini göstərən, bütün məlumatların başqa yerdə təkrarlandığı bölüm toplusu</string>
<string name="revanced_sb_segments_filler">Əlaqəsiz/Zarafatlar</string>
<string name="revanced_sb_segments_filler_sum">Videonun əsas məzmununu başa düşmək tələb olunmayan yalnız əlaqəsiz və ya yumor üçün əlavə edilmiş təsiredici səhnələr. Məzmun və ya arxa plan detallarınıqdim edən bölümlər daxil deyil</string>
<string name="revanced_sb_segments_filler">Əlaqəsiz / Zarafatlar</string>
<string name="revanced_sb_segments_filler_sum">Videonun əsas məzmunun başa düşmək tələb olunmayan əlaqəsiz səhnələr və ya zarafatlar. Məzmun və ya arxa plan təfərrüatlarınımin edən bölmələr daxil deyil</string>
<string name="revanced_sb_segments_nomusic">Musiqi: Musiqi olmayan bölmə</string>
<string name="revanced_sb_segments_nomusic_sum">Yalnız musiqi videolarında istifadə üçün. Artıq başqa kateqoriyaya aid edilməyən musiqisiz musiqi videoları bölmələri</string>
<string name="revanced_sb_skip_button_compact">Ötür</string>
@@ -1090,10 +1092,11 @@ Sizin istifadəçi Id-niz parol kimidir və heç vaxt paylaşmaq olmaz.
<string name="revanced_sb_skip_button_intro_middle">Fasiləni ötür</string>
<string name="revanced_sb_skip_button_intro_end">Fasiləni ötür</string>
<string name="revanced_sb_skip_button_outro">Bitişi ötür</string>
<string name="revanced_sb_skip_button_hook">Girişi ötür</string>
<string name="revanced_sb_skip_button_preview_beginning">Önizləməni ötür</string>
<string name="revanced_sb_skip_button_preview_middle">Önizləməni ötür</string>
<string name="revanced_sb_skip_button_preview_end">Anonsu ötür</string>
<string name="revanced_sb_skip_button_filler">Əlaqəsiz hissəni ötür</string>
<string name="revanced_sb_skip_button_filler">Əlaqəsiz olanı ötür</string>
<string name="revanced_sb_skip_button_nomusic">Musiqisiz hissəni ötür</string>
<string name="revanced_sb_skip_button_unsubmitted">Bölümü ötür</string>
<string name="revanced_sb_skipped_sponsor">Sponsorlu hissə ötürüldü</string>
@@ -1104,10 +1107,11 @@ Sizin istifadəçi Id-niz parol kimidir və heç vaxt paylaşmaq olmaz.
<string name="revanced_sb_skipped_intro_middle">Fasilə ötürüldü</string>
<string name="revanced_sb_skipped_intro_end">Fasilə ötürüldü</string>
<string name="revanced_sb_skipped_outro">Bitiş ötürüldü</string>
<string name="revanced_sb_skipped_hook">Giriş ötürüldü</string>
<string name="revanced_sb_skipped_preview_beginning">Önbaxış ötürüldü</string>
<string name="revanced_sb_skipped_preview_middle">Önbaxış ötürüldü</string>
<string name="revanced_sb_skipped_preview_end">Anons ötürüldü</string>
<string name="revanced_sb_skipped_filler">Əlaqəsiz hissə ötürüldü</string>
<string name="revanced_sb_skipped_filler">Əlaqəsiz ötürüldü</string>
<string name="revanced_sb_skipped_nomusic">Musiqi olmayan bölmə ötürüldü</string>
<string name="revanced_sb_skipped_unsubmitted">Göndərilməmiş bölüm ötürüldü</string>
<string name="revanced_sb_skipped_multiple_segments">Çoxlu bölümlər ötürüldü</string>

View File

@@ -1076,10 +1076,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">Інтэрвал без фактычнага зместу. Гэта можа быць паўза, статычны кадр або паўтаральная анімацыя. Не ўключае пераходы, якія змяшчаюць інфармацыю</string>
<string name="revanced_sb_segments_outro">Канцоўкі / Цітры</string>
<string name="revanced_sb_segments_outro_sum">Крэдыты або калі з\"яўляюцца канцавыя карткі YouTube. Не для высноў з інфармацыяй</string>
<string name="revanced_sb_segments_preview">Папярэдні прагляд/Паўзвядзенне/Хук</string>
<string name="revanced_sb_segments_hook">Уступ / Прывітанні</string>
<string name="revanced_sb_segments_hook_sum">Агучаныя трэйлеры для будучага відэа, прывітанні і развітанні. Не ўключае раздзелы, якія дадаюць дадатковы змест</string>
<string name="revanced_sb_segments_preview">Прадпрагляд / Паўтарэнне</string>
<string name="revanced_sb_segments_preview_sum">Калекцыя кліпаў, якія паказваюць, што адбываецца або што адбылося ў відэа ці ў іншых відэа серыі, дзе ўся інфармацыя паўтараецца ў іншым месцы</string>
<string name="revanced_sb_segments_filler">Філер Тангенс / Жарты</string>
<string name="revanced_sb_segments_filler_sum">Датычныя сцэны дададзены толькі для напаўнення або гумару, якія не патрэбныя для разумення асноўнага зместу відэа. Не ўключае сегменты, якія прадстаўляюць кантэкст або даведку</string>
<string name="revanced_sb_segments_filler">Лірычнае адступленне / Жарты</string>
<string name="revanced_sb_segments_filler_sum">Тангенцыяльныя сцэны або жарты, якія не патрабуюцца для разумення асноўнага зместу відэа. Не ўключае раздзелы, якія прадастаўляюць кантэкст або фонавыя дэталі</string>
<string name="revanced_sb_segments_nomusic">Музыка: немузычны раздзел</string>
<string name="revanced_sb_segments_nomusic_sum">Толькі для выкарыстання ў музычных відэа. Раздзелы музычных відэа без музыкі, якія яшчэ не ахоплены іншай катэгорыяй</string>
<string name="revanced_sb_skip_button_compact">Прапусціць</string>
@@ -1092,10 +1094,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_intro_middle">Прапусціць антракт</string>
<string name="revanced_sb_skip_button_intro_end">Прапусціць антракт</string>
<string name="revanced_sb_skip_button_outro">Прапусціць іншы</string>
<string name="revanced_sb_skip_button_hook">Прапусціць уступ</string>
<string name="revanced_sb_skip_button_preview_beginning">Прапусціць папярэдні прагляд</string>
<string name="revanced_sb_skip_button_preview_middle">Прапусціць папярэдні прагляд</string>
<string name="revanced_sb_skip_button_preview_end">Прапусціць рэзюмэ</string>
<string name="revanced_sb_skip_button_filler">Скіп напаўняльнік</string>
<string name="revanced_sb_skip_button_filler">Прапусціць тангенс</string>
<string name="revanced_sb_skip_button_nomusic">Прапусціць не музыку</string>
<string name="revanced_sb_skip_button_unsubmitted">Прапусціць сегмент</string>
<string name="revanced_sb_skipped_sponsor">Прапусціў спонсара</string>
@@ -1106,10 +1109,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_intro_middle">Прапушчаны антракт</string>
<string name="revanced_sb_skipped_intro_end">Прапушчаны антракт</string>
<string name="revanced_sb_skipped_outro">Прапушчаны выхад</string>
<string name="revanced_sb_skipped_hook">Уступ прапушчаны</string>
<string name="revanced_sb_skipped_preview_beginning">Прапушчаны папярэдні прагляд</string>
<string name="revanced_sb_skipped_preview_middle">Прапушчаны папярэдні прагляд</string>
<string name="revanced_sb_skipped_preview_end">Прапушчаны рэзюмэ</string>
<string name="revanced_sb_skipped_filler">Прапушчаны напаўняльнік</string>
<string name="revanced_sb_skipped_filler">Тангенс прапушчаны</string>
<string name="revanced_sb_skipped_nomusic">Прапусціў немузычны раздзел</string>
<string name="revanced_sb_skipped_unsubmitted">Прапушчаны неадпраўлены сегмент</string>
<string name="revanced_sb_skipped_multiple_segments">Прапушчаны некалькі сегментаў</string>

View File

@@ -1075,10 +1075,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">Интервал без реално съдържание. Може да бъде пауза, статичен кадър, повтаряща се анимация. Това не трябва да се използва за преходи, съдържащи информация</string>
<string name="revanced_sb_segments_outro">Край на клипа / Надписи</string>
<string name="revanced_sb_segments_outro_sum">Информация или когато се показват крайните карти на YouTube. Не за заключения с информация</string>
<string name="revanced_sb_segments_preview">Кратък преглед/Обобщение</string>
<string name="revanced_sb_segments_hook">Начало / Поздрави</string>
<string name="revanced_sb_segments_hook_sum">Озвучени трейлъри за предстоящото видео, поздрави и сбогувания. Не включва секции, които добавят допълнително съдържание</string>
<string name="revanced_sb_segments_preview">Предварителен преглед / Резюме</string>
<string name="revanced_sb_segments_preview_sum">Колекция от клипове, които показват какво предстои в този видеоклип или в други видеоклипове от поредицата, където цялата информация се повтаря по-късно във видеоклипа</string>
<string name="revanced_sb_segments_filler">Пълнеж/Шеги</string>
<string name="revanced_sb_segments_filler_sum">Сцени извън темата, добавени само за пълнеж или хумор, които не са необходими за разбирането на основното съдържание на видеоклипа. Това не трябва да включва сегменти, предоставящи контекст или справочни данни</string>
<string name="revanced_sb_segments_filler">Отклонение / Шеги</string>
<string name="revanced_sb_segments_filler_sum">Странични сцени или шеги, които не са необходими за разбиране на основното съдържание на видеоклипа. Не включва секции, предоставящи контекст или фонови детайли</string>
<string name="revanced_sb_segments_nomusic">Музика: Част без музика</string>
<string name="revanced_sb_segments_nomusic_sum">За използване само в музикални видеоклипове. Това трябва да се използва само за части от музикални видеоклипове, които вече не са обхванати от друга категория</string>
<string name="revanced_sb_skip_button_compact">Пропусни</string>
@@ -1091,10 +1093,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_intro_middle">Пропусни пауза</string>
<string name="revanced_sb_skip_button_intro_end">Пропусни пауза</string>
<string name="revanced_sb_skip_button_outro">Пропусни заключение</string>
<string name="revanced_sb_skip_button_hook">Пропускане на увод</string>
<string name="revanced_sb_skip_button_preview_beginning">Пропусни преглед</string>
<string name="revanced_sb_skip_button_preview_middle">Пропусни преглед</string>
<string name="revanced_sb_skip_button_preview_end">Пропуснете обобщението</string>
<string name="revanced_sb_skip_button_filler">Пропусни пълнеж</string>
<string name="revanced_sb_skip_button_filler">Пропускане на отклонение</string>
<string name="revanced_sb_skip_button_nomusic">Пропусни част без музика</string>
<string name="revanced_sb_skip_button_unsubmitted">Пропускане на сегмент</string>
<string name="revanced_sb_skipped_sponsor">Пропуснат спонсор</string>
@@ -1105,10 +1108,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_intro_middle">Пропусни паузи</string>
<string name="revanced_sb_skipped_intro_end">Пропусни паузи</string>
<string name="revanced_sb_skipped_outro">Пропуснато заключение</string>
<string name="revanced_sb_skipped_hook">Пропуснато увод</string>
<string name="revanced_sb_skipped_preview_beginning">Пропуснат преглед</string>
<string name="revanced_sb_skipped_preview_middle">Пропуснат преглед</string>
<string name="revanced_sb_skipped_preview_end">Пропуснато повторение</string>
<string name="revanced_sb_skipped_filler">Пропуснат пълнеж</string>
<string name="revanced_sb_skipped_filler">Пропуснато отклонение</string>
<string name="revanced_sb_skipped_nomusic">Пропусната част без музика</string>
<string name="revanced_sb_skipped_unsubmitted">Пропуснат неизпратен сегмент</string>
<string name="revanced_sb_skipped_multiple_segments">Пропуснати множество части</string>

View File

@@ -1070,10 +1070,12 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
<string name="revanced_sb_segments_intro_sum">প্রকৃত বিষয়বস্তু ছাড়াই একটি বিরতি। বিরতি, স্থির ফ্রেম, অ্যানিমেশন পুনরাবৃত্তি হতে পারে। এটি তথ্যযুক্ত ট্রানজিশনের জন্য ব্যবহার করা উচিত নয়</string>
<string name="revanced_sb_segments_outro">এন্ডকার্ডস / কৃতজ্ঞতা স্বীকার</string>
<string name="revanced_sb_segments_outro_sum">ক্রেডিট বা যখন ইউটিউব এন্ডকার্ডগুলি উপস্থিত হয়। তথ্য সহ সিদ্ধান্তের জন্য নয়</string>
<string name="revanced_sb_segments_preview">পূর্বরূপ/সংক্ষিপ্তবৃত্তি/হুক</string>
<string name="revanced_sb_segments_hook">হুক / শুভেচ্ছা</string>
<string name="revanced_sb_segments_hook_sum">আসন্ন ভিডিওর জন্য বর্ণিত ট্রেলার, শুভেচ্ছা এবং বিদায়। এমন অংশগুলি অন্তর্ভুক্ত নয় যা অতিরিক্ত সামগ্রী যোগ করে।</string>
<string name="revanced_sb_segments_preview">পূর্বরূপ / সারসংক্ষেপ</string>
<string name="revanced_sb_segments_preview_sum">একটি সমষ্টি ক্লিপ সমূহ যা ভিডিওতে এসে যা হচ্ছে বা অন্য ভিডিও সিরিজে ঘটেছে সেগুলি দেখায় যেখানে সমস্ত তথ্য অন্যত্র পুনরাবৃত্তি করা হয়</string>
<string name="revanced_sb_segments_filler">স্পর্শক/কৌতুক ফিল্টার করুন</string>
<string name="revanced_sb_segments_filler_sum">স্পর্শকাতর দৃশ্যগুলি শুধুমাত্র ফিলার বা হাস্যরসের জন্য যোগ করা হয়েছে যা ভিডিওর মূল বিষয়বস্তু বোঝার প্রয়োজন নেই। প্রসঙ্গ বা পটভূমি বিশদ প্রদানকারী বিভাগগুলি এতে অন্তর্ভুক্ত করা উচিত নয়</string>
<string name="revanced_sb_segments_filler">অপ্রাসঙ্গিক / কৌতুক</string>
<string name="revanced_sb_segments_filler_sum">পার্শ্বীয় দৃশ্য বা কৌতুক যা ভিডিওর মূল বিষবস্তু বোঝার জন্য অপরিহার্য নয়। প্রসঙ্গ বা পটভূমি বিশদ প্রদানকারী অংশগুলি অন্তর্ভুক্ত নয়।</string>
<string name="revanced_sb_segments_nomusic">সঙ্গীত: সঙ্গীতবিহীন অংশ</string>
<string name="revanced_sb_segments_nomusic_sum">শুধুমাত্র সঙ্গীত ভিডিওতে ব্যবহারের জন্য। এটি কেবলমাত্র সংগীত ভিডিওর সেসব বিভাগের জন্য ব্যবহার করা উচিত যা ইতিমধ্যে অন্য কোনও বিভাগ দ্বারা আচ্ছাদিত নয়।</string>
<string name="revanced_sb_skip_button_compact">এড়িয়ে যান</string>
@@ -1086,10 +1088,11 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
<string name="revanced_sb_skip_button_intro_middle">উপসংহার এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_intro_end">উপসংহার এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_outro">শেষ অংশ এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_hook">হুক এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_preview_beginning">প্রিভিউ এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_preview_middle">প্রিভিউ এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_preview_end">সংক্ষিপ্তবৃত্তি এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_filler">ফিল্টার এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_filler">প্রাসঙ্গিকতা এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_nomusic">সঙ্গীত-বিহীন অংশ এড়িয়ে যান</string>
<string name="revanced_sb_skip_button_unsubmitted">সেগমেন্ট এড়িয়ে যান</string>
<string name="revanced_sb_skipped_sponsor">স্পন্সর এড়িয়ে গেছে</string>
@@ -1100,10 +1103,11 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
<string name="revanced_sb_skipped_intro_middle">উপসংহার এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_intro_end">উপসংহার এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_outro">শেষ অংশ এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_hook">হুক এড়িয়ে যাওয়া হয়েছে</string>
<string name="revanced_sb_skipped_preview_beginning">প্রাকদর্শন এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_preview_middle">প্রাকদর্শন এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_preview_end">সংক্ষিপ্তবৃত্তি এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_filler">ফিল্টার এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_filler">প্রাসঙ্গিকতা এড়িয়ে যাওয়া হয়েছে</string>
<string name="revanced_sb_skipped_nomusic">একটি সঙ্গীতবিহীন অংশ এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_unsubmitted">জমা না হওয়া সেগমেন্ট এড়িয়ে গেছে</string>
<string name="revanced_sb_skipped_multiple_segments">একটানা একাধিক সেগমেন্ট এড়িয়ে গেছে</string>

View File

@@ -1075,10 +1075,12 @@ Vaše ID uživatele je jako heslo a nikdy by nemělo být sdíleno."</string>
<string name="revanced_sb_segments_intro_sum">Interval bez skutečného obsahu. Může to být pauza, statický snímek nebo opakující se animace. Neobsahuje přechody s informacemi</string>
<string name="revanced_sb_segments_outro">Outro / Závěrečné titulky</string>
<string name="revanced_sb_segments_outro_sum">Titulky nebo když se objeví závěrečné karty YouTube. Ne pro závěry s informacemi</string>
<string name="revanced_sb_segments_preview">Náhled/Shrnutí/Háček</string>
<string name="revanced_sb_segments_hook">Úvod / Pozdravy</string>
<string name="revanced_sb_segments_hook_sum">Komentované upoutávky na nadcházející video, pozdravy a rozloučení. Neobsahuje sekce, které přidávají další obsah</string>
<string name="revanced_sb_segments_preview">Náhled / Shrnutí</string>
<string name="revanced_sb_segments_preview_sum">Sbírka klipů, které ukazují, co se chystá nebo co se stalo ve videu nebo v jiných videích série, kde jsou všechny informace opakované jinde</string>
<string name="revanced_sb_segments_filler">Výplň / vtipy</string>
<string name="revanced_sb_segments_filler_sum">Vedlejší scény přidány pouze pro výplň nebo humor, které nejsou nutné pro pochopení hlavního obsahu videa. Neobsahuje segmenty poskytující kontext nebo podrobnosti o pozadí</string>
<string name="revanced_sb_segments_filler">Odbočka / Vtipy</string>
<string name="revanced_sb_segments_filler_sum">Vedlejší scény nebo vtipy, které nejsou nutné k pochopení hlavního obsahu videa. Neobsahuje sekce poskytující kontext nebo podrobnosti na pozadí</string>
<string name="revanced_sb_segments_nomusic">Hudba: nehudební sekce</string>
<string name="revanced_sb_segments_nomusic_sum">Pouze pro použití v hudebních videích. Sekce hudebních videí bez hudby, které nejsou již pokryty jinou kategorií</string>
<string name="revanced_sb_skip_button_compact">Přeskočit</string>
@@ -1091,10 +1093,11 @@ Vaše ID uživatele je jako heslo a nikdy by nemělo být sdíleno."</string>
<string name="revanced_sb_skip_button_intro_middle">Přeskočit přestávku</string>
<string name="revanced_sb_skip_button_intro_end">Přeskočit přestávku</string>
<string name="revanced_sb_skip_button_outro">Přeskočit závěr</string>
<string name="revanced_sb_skip_button_hook">Přeskočit úvod</string>
<string name="revanced_sb_skip_button_preview_beginning">Přeskočit náhled</string>
<string name="revanced_sb_skip_button_preview_middle">Přeskočit náhled</string>
<string name="revanced_sb_skip_button_preview_end">Přeskočit shrnutí</string>
<string name="revanced_sb_skip_button_filler">Přeskočit výplň</string>
<string name="revanced_sb_skip_button_filler">Přeskočit vedlejší část</string>
<string name="revanced_sb_skip_button_nomusic">Přeskočit bez hudby</string>
<string name="revanced_sb_skip_button_unsubmitted">Přeskočit segment</string>
<string name="revanced_sb_skipped_sponsor">Sponzor přeskočen</string>
@@ -1105,10 +1108,11 @@ Vaše ID uživatele je jako heslo a nikdy by nemělo být sdíleno."</string>
<string name="revanced_sb_skipped_intro_middle">Přeskočena přestávka</string>
<string name="revanced_sb_skipped_intro_end">Přeskočena přestávka</string>
<string name="revanced_sb_skipped_outro">Outro přeskočeno</string>
<string name="revanced_sb_skipped_hook">Úvod přeskočen</string>
<string name="revanced_sb_skipped_preview_beginning">Přeskočena ukázka/rekapitulace</string>
<string name="revanced_sb_skipped_preview_middle">Přeskočena ukázka/rekapitulace</string>
<string name="revanced_sb_skipped_preview_end">Přeskočeno shrnutí</string>
<string name="revanced_sb_skipped_filler">Přeskočená nepodstatná výplň videa</string>
<string name="revanced_sb_skipped_filler">Vedlejší část přeskočena</string>
<string name="revanced_sb_skipped_nomusic">Přeskočena nehudební sekce</string>
<string name="revanced_sb_skipped_unsubmitted">Přeskočen neodeslaný segment</string>
<string name="revanced_sb_skipped_multiple_segments">Přeskočeno více segmentů</string>

View File

@@ -1077,10 +1077,12 @@ Dit bruger-id er som en adgangskode, og det må aldrig deles.
<string name="revanced_sb_segments_intro_sum">Et interval uden reelt indhold. Kunne være en pause, statisk ramme eller gentagelse af animation. Omfatter ikke overgange indeholdende information</string>
<string name="revanced_sb_segments_outro">Slutkort / Kredit</string>
<string name="revanced_sb_segments_outro_sum">Medvirkende eller når YouTube-endcards vises. Ikke for konklusioner med information</string>
<string name="revanced_sb_segments_preview">Forhåndsvisning/Genoptag/Krog</string>
<string name="revanced_sb_segments_hook">Intro / Hilsener</string>
<string name="revanced_sb_segments_hook_sum">Fortalte trailere for den kommende video, hilsener og farvel. Indeholder ikke afsnit, der tilføjer yderligere indhold</string>
<string name="revanced_sb_segments_preview">Forhåndsvisning / Resumé</string>
<string name="revanced_sb_segments_preview_sum">Indsamling af klip, der viser, hvad der kommer op, eller hvad der skete i videoen eller i andre videoer af en serie, hvor alle oplysninger gentages andetsteds</string>
<string name="revanced_sb_segments_filler">Fyldstof-tangent/jokes</string>
<string name="revanced_sb_segments_filler_sum">Tangential scener tilføjet kun for fyldstof eller humor, der ikke er forpligtet til at forstå hovedindholdet af videoen. Omfatter ikke segmenter, der giver kontekst- eller baggrundsoplysninger</string>
<string name="revanced_sb_segments_filler">Sidespor / Vittigheder</string>
<string name="revanced_sb_segments_filler_sum">Tangentielle scener eller vittigheder, der ikke er nødvendige for at forstå videoens hovedindhold. Indeholder ikke afsnit, der giver kontekst eller baggrundsoplysninger</string>
<string name="revanced_sb_segments_nomusic">Musik: Ikke-Musik Sektion</string>
<string name="revanced_sb_segments_nomusic_sum">Kun til brug i musikvideoer. Sektioner af musikvideoer uden musik, der ikke allerede er dækket af en anden kategori</string>
<string name="revanced_sb_skip_button_compact">Overspring</string>
@@ -1093,10 +1095,11 @@ Dit bruger-id er som en adgangskode, og det må aldrig deles.
<string name="revanced_sb_skip_button_intro_middle">Spring intermission over</string>
<string name="revanced_sb_skip_button_intro_end">Spring intermission over</string>
<string name="revanced_sb_skip_button_outro">Spring outro over</string>
<string name="revanced_sb_skip_button_hook">Spring hook over</string>
<string name="revanced_sb_skip_button_preview_beginning">Spring forhåndsvisning over</string>
<string name="revanced_sb_skip_button_preview_middle">Spring forhåndsvisning over</string>
<string name="revanced_sb_skip_button_preview_end">Spring resumé over</string>
<string name="revanced_sb_skip_button_filler">Spring filler over</string>
<string name="revanced_sb_skip_button_filler">Spring tangent over</string>
<string name="revanced_sb_skip_button_nomusic">Spring over ikke-musik</string>
<string name="revanced_sb_skip_button_unsubmitted">Overspring segment</string>
<string name="revanced_sb_skipped_sponsor">Sponsor sprunget over</string>
@@ -1107,10 +1110,11 @@ Dit bruger-id er som en adgangskode, og det må aldrig deles.
<string name="revanced_sb_skipped_intro_middle">Intermission sprunget over</string>
<string name="revanced_sb_skipped_intro_end">Intermission sprunget over</string>
<string name="revanced_sb_skipped_outro">Sprunget over outro</string>
<string name="revanced_sb_skipped_hook">Hook sprunget over</string>
<string name="revanced_sb_skipped_preview_beginning">Forklaring sprunget over</string>
<string name="revanced_sb_skipped_preview_middle">Forklaring sprunget over</string>
<string name="revanced_sb_skipped_preview_end">Oversprunget resumé</string>
<string name="revanced_sb_skipped_filler">Fyldstof sprunget over</string>
<string name="revanced_sb_skipped_filler">Tangent sprunget over</string>
<string name="revanced_sb_skipped_nomusic">Oversprunget en ikke-musiksektion over</string>
<string name="revanced_sb_skipped_unsubmitted">Uindsendt segment sprunget over</string>
<string name="revanced_sb_skipped_multiple_segments">Oversprunget over flere segmenter</string>

View File

@@ -1070,10 +1070,12 @@ Ihre Benutzer-ID ist wie ein Passwort und sollte niemals weitergegeben werden.
<string name="revanced_sb_segments_intro_sum">Ein Intervall ohne aktuellen Inhalt. Kann eine Pause, ein statischer Rahmen oder eine Wiederholung der Animation sein. Enthält keine Übergänge mit Informationen</string>
<string name="revanced_sb_segments_outro">Endkarten / Credits</string>
<string name="revanced_sb_segments_outro_sum">Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Schlussfolgerungen mit Informationen</string>
<string name="revanced_sb_segments_preview">Vorschau/Recap/Hook</string>
<string name="revanced_sb_segments_hook">Hook / Begrüßungen</string>
<string name="revanced_sb_segments_hook_sum">Erzählte Trailer für das kommende Video, Begrüßungen und Verabschiedungen. Enthält keine Abschnitte, die zusätzlichen Inhalt hinzufügen</string>
<string name="revanced_sb_segments_preview">Vorschau / Rückblick</string>
<string name="revanced_sb_segments_preview_sum">Sammlung von Clips, die zeigen, was im Video oder in anderen Videos einer Serie vor sich geht, wo alle Informationen andernorts wiederholt werden</string>
<string name="revanced_sb_segments_filler">Füller/Witze</string>
<string name="revanced_sb_segments_filler_sum">Tangentielle Szenen, die nur für Füller oder Humor hinzugefügt werden, die nicht erforderlich sind, um den Hauptinhalt des Videos zu verstehen. Enthält keine Segmente mit Kontext oder Hintergrunddetails</string>
<string name="revanced_sb_segments_filler">Abschweifung / Witze</string>
<string name="revanced_sb_segments_filler_sum">Tangentiale Szenen oder Witze, die nicht erforderlich sind, um den Hauptinhalt des Videos zu verstehen. Dies sollte keine Segmente enthalten, die Kontext oder Hintergrunddetails liefern</string>
<string name="revanced_sb_segments_nomusic">Musik: Nicht-Musik-Sektion</string>
<string name="revanced_sb_segments_nomusic_sum">Nur für die Verwendung in Musikvideos. Abschnitte von Musikvideos ohne Musik, die noch nicht von einer anderen Kategorie abgedeckt sind</string>
<string name="revanced_sb_skip_button_compact">Überspringen</string>
@@ -1086,10 +1088,11 @@ Ihre Benutzer-ID ist wie ein Passwort und sollte niemals weitergegeben werden.
<string name="revanced_sb_skip_button_intro_middle">Unterbrechung überspringen</string>
<string name="revanced_sb_skip_button_intro_end">Unterbrechung überspringen</string>
<string name="revanced_sb_skip_button_outro">Überspringen</string>
<string name="revanced_sb_skip_button_hook">Hook überspringen</string>
<string name="revanced_sb_skip_button_preview_beginning">Vorschau überspringen</string>
<string name="revanced_sb_skip_button_preview_middle">Vorschau überspringen</string>
<string name="revanced_sb_skip_button_preview_end">Rückfall überspringen</string>
<string name="revanced_sb_skip_button_filler">Füller überspringen</string>
<string name="revanced_sb_skip_button_filler">Abschweifung überspringen</string>
<string name="revanced_sb_skip_button_nomusic">Nicht-Musik überspringen</string>
<string name="revanced_sb_skip_button_unsubmitted">Segment überspringen</string>
<string name="revanced_sb_skipped_sponsor">Sponsor übersprungen</string>
@@ -1100,10 +1103,11 @@ Ihre Benutzer-ID ist wie ein Passwort und sollte niemals weitergegeben werden.
<string name="revanced_sb_skipped_intro_middle">Übersprungene Unterbrechung</string>
<string name="revanced_sb_skipped_intro_end">Übersprungene Unterbrechung</string>
<string name="revanced_sb_skipped_outro">Outro übersprungen</string>
<string name="revanced_sb_skipped_hook">Hook übersprungen</string>
<string name="revanced_sb_skipped_preview_beginning">Vorschau übersprungen</string>
<string name="revanced_sb_skipped_preview_middle">Vorschau übersprungen</string>
<string name="revanced_sb_skipped_preview_end">Übersprungene Rücklage</string>
<string name="revanced_sb_skipped_filler">Füller übersprungen</string>
<string name="revanced_sb_skipped_filler">Abschweifung übersprungen</string>
<string name="revanced_sb_skipped_nomusic">Nicht-Musik-Sektion übersprungen</string>
<string name="revanced_sb_skipped_unsubmitted">Nicht übermitteltes Segment übersprungen</string>
<string name="revanced_sb_skipped_multiple_segments">Mehrere Segmente übersprungen</string>

View File

@@ -1076,10 +1076,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">Χρονικό διάστημα χωρίς πραγματικό περιεχόμενο. Θα μπορούσε να είναι μια παύση, ένα στατικό καρέ ή μια επαναλαμβανόμενη κίνηση. Δεν περιλαμβάνει μεταβάσεις που περιέχουν πληροφορίες</string>
<string name="revanced_sb_segments_outro">Τελική Οθόνη / Συντελεστές</string>
<string name="revanced_sb_segments_outro_sum">Όταν εμφανίζονται οι συντελεστές ή τα προτεινόμενα βίντεο των καναλιών. Όχι για επίλογους που περιέχουν πληροφορίες</string>
<string name="revanced_sb_segments_preview">Προεπισκόπηση/Περίληψη</string>
<string name="revanced_sb_segments_hook">Έναρξη / Χαιρετισμοί</string>
<string name="revanced_sb_segments_hook_sum">Αφηγηματικά τρέιλερ για το επερχόμενο βίντεο, χαιρετισμοί και αποχαιρετισμοί. Δεν περιλαμβάνει τμήματα που προσθέτουν επιπλέον περιεχόμενο</string>
<string name="revanced_sb_segments_preview">Προεπισκόπηση / Περίληψη</string>
<string name="revanced_sb_segments_preview_sum">Συλλογή από κλιπ που δείχνουν τι έρχεται ή τι συνέβη στο βίντεο ή σε άλλα βίντεο μιας σειράς, όπου όλες οι πληροφορίες επαναλαμβάνονται αλλού</string>
<string name="revanced_sb_segments_filler">Σπατάλη Χρόνου/Αστεία</string>
<string name="revanced_sb_segments_filler_sum">Παρεμβατικές σκηνές που προστίθενται μόνο για γέμισμα του βίντεο ή χιούμορ οι οποίες δεν είναι απαραίτητες για την κατανόηση του κύριου περιεχομένου του βίντεο. Δεν περιλαμβάνει τμήματα που παρέχουν συνάφεια ή λεπτομέρειες ως υπόβαθρο</string>
<string name="revanced_sb_segments_filler">Εφαπτομενικές Σκηνές / Αστεία</string>
<string name="revanced_sb_segments_filler_sum">Παρεμβατικές σκηνές ή αστεία που δεν είναι απαραίτητα για την κατανόηση του κύριου περιεχομένου του βίντεο. Δεν περιλαμβάνει τμήματα που παρέχουν πλαίσιο ή λεπτομέρειες υποβάθρου</string>
<string name="revanced_sb_segments_nomusic">Μουσική: Τμήμα χωρίς μουσική</string>
<string name="revanced_sb_segments_nomusic_sum">Μόνο για χρήση σε βίντεο μουσικής. Τμήματα χωρίς μουσική σε βίντεο μουσικής, που δεν καλύπτονται ήδη από άλλη κατηγορία</string>
<string name="revanced_sb_skip_button_compact">Παράλειψη</string>
@@ -1092,10 +1094,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_intro_middle">Παράλειψη διακοπής</string>
<string name="revanced_sb_skip_button_intro_end">Παράλειψη διακοπής</string>
<string name="revanced_sb_skip_button_outro">Παράλειψη επιλόγου</string>
<string name="revanced_sb_skip_button_hook">Παράλειψη έναρξης</string>
<string name="revanced_sb_skip_button_preview_beginning">Παράλειψη προεπισκόπησης</string>
<string name="revanced_sb_skip_button_preview_middle">Παράλειψη προεπισκόπησης</string>
<string name="revanced_sb_skip_button_preview_end">Παράλειψη περίληψης</string>
<string name="revanced_sb_skip_button_filler">Παράλειψη σπατάλης χρόνου</string>
<string name="revanced_sb_skip_button_filler">Παράλειψη παρέκβασης</string>
<string name="revanced_sb_skip_button_nomusic">Παράλειψη μη-μουσικού</string>
<string name="revanced_sb_skip_button_unsubmitted">Παράλειψη τμήματος</string>
<string name="revanced_sb_skipped_sponsor">Παραλείφθηκε ο χορηγός</string>
@@ -1106,10 +1109,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_intro_middle">Παραλείφθηκε η διακοπή</string>
<string name="revanced_sb_skipped_intro_end">Παραλείφθηκε η διακοπή</string>
<string name="revanced_sb_skipped_outro">Παραλείφθηκε ο επίλογος</string>
<string name="revanced_sb_skipped_hook">Παραλείφθηκε η έναρξη</string>
<string name="revanced_sb_skipped_preview_beginning">Παραλείφθηκε η προεπισκόπηση</string>
<string name="revanced_sb_skipped_preview_middle">Παραλείφθηκε η προεπισκόπηση</string>
<string name="revanced_sb_skipped_preview_end">Παραλείφθηκε η περίληψη</string>
<string name="revanced_sb_skipped_filler">Παραλείφθηκε η σπατάλη χρόνου</string>
<string name="revanced_sb_skipped_filler">Παραλείφθηκε η παρέκβαση</string>
<string name="revanced_sb_skipped_nomusic">Παραλείφθηκε τμήμα χωρίς μουσική</string>
<string name="revanced_sb_skipped_unsubmitted">Παραλήφθηκε μη υποβληθέν τμήμα</string>
<string name="revanced_sb_skipped_multiple_segments">Παραλείφθηκαν πολλαπλά τμήματα</string>

View File

@@ -96,13 +96,13 @@ Toca el botón continuar y permite los cambios de optimización."</string>
<string name="revanced_settings_screen_07_seekbar_title">Barra de progreso</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Controles de deslizamiento</string>
<string name="revanced_settings_screen_11_misc_title">Otros</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
<string name="revanced_settings_screen_12_video_title">Vídeo</string>
<string name="revanced_restore_old_settings_menus_title">Restaurar menús de configuración antiguos</string>
<string name="revanced_restore_old_settings_menus_summary_on">Se muestran los menús de configuración antiguos</string>
<string name="revanced_restore_old_settings_menus_summary_off">No se muestran los menús de configuración antiguos</string>
<string name="revanced_restore_old_settings_menus_summary_on">Los menús de configuración antiguos son visibles</string>
<string name="revanced_restore_old_settings_menus_summary_off">Los menús de configuración antiguos están ocultos</string>
<string name="revanced_settings_search_history_title">Mostrar el historial de búsqueda de ajustes</string>
<string name="revanced_settings_search_history_summary_on">El historial de búsqueda de los ajustes es visible</string>
<string name="revanced_settings_search_history_summary_off">El historial de búsqueda de ajustes no se muestra</string>
<string name="revanced_settings_search_history_summary_on">El historial de búsqueda de los ajustes es visible</string>
<string name="revanced_settings_search_history_summary_off">El historial de búsqueda de ajustes está oculto</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Desactivar la reproducción en segundo plano de Shorts</string>
@@ -151,19 +151,19 @@ No se le notificará de ningún evento inesperado."</string>
<string name="revanced_hide_artist_cards_summary_off">Se muestran las tarjetas de artista</string>
<string name="revanced_hide_chips_shelf_title">Ocultar \"Más como esto\"</string>
<string name="revanced_hide_chips_shelf_summary_on">\"Más como esto\" está oculto</string>
<string name="revanced_hide_chips_shelf_summary_off">\"Más como esto\" está habilitado</string>
<string name="revanced_hide_chips_shelf_summary_off">\"Más como esto\" es visible</string>
<string name="revanced_hide_community_posts_title">Ocultar publicaciones de comunidad</string>
<string name="revanced_hide_community_posts_summary_on">Las publicaciones de la comunidad están ocultas</string>
<string name="revanced_hide_community_posts_summary_off">Se muestran las publicaciones de la comunidad</string>
<string name="revanced_hide_community_posts_summary_off">Las publicaciones de la comunidad se muestran</string>
<string name="revanced_hide_compact_banner_title">Ocultar banners compactos</string>
<string name="revanced_hide_compact_banner_summary_on">Los banners compactos están ocultos</string>
<string name="revanced_hide_compact_banner_summary_off">Se muestran los banners compactos</string>
<string name="revanced_hide_crowdfunding_box_title">Ocultar caja de Crowdfunding</string>
<string name="revanced_hide_crowdfunding_box_summary_on">La caja de Crowdfunding está oculta</string>
<string name="revanced_hide_crowdfunding_box_summary_off">La caja de Crowdfunding es visible</string>
<string name="revanced_hide_crowdfunding_box_summary_off">La caja de Crowdfunding es visible</string>
<string name="revanced_hide_expandable_card_title">Ocultar tarjeta expandible</string>
<string name="revanced_hide_expandable_card_summary_on">Tarjeta expandible debajo de los videos oculta</string>
<string name="revanced_hide_expandable_card_summary_off">Tarjeta expandible debajo de los videos visible</string>
<string name="revanced_hide_expandable_card_summary_on">La tarjeta expandible debajo de los vídeos está oculta</string>
<string name="revanced_hide_expandable_card_summary_off">La tarjeta expandible debajo de los vídeos es visible</string>
<string name="revanced_hide_floating_microphone_button_title">Ocultar botón de micrófono flotante</string>
<string name="revanced_hide_floating_microphone_button_summary_on">El botón flotante del micrófono en la búsqueda está oculto</string>
<string name="revanced_hide_floating_microphone_button_summary_off">Se muestra el botón flotante del micrófono en la búsqueda</string>
@@ -175,42 +175,42 @@ No se le notificará de ningún evento inesperado."</string>
• Más relevantes
• Compras
• Ver de nuevo"</string>
<string name="revanced_hide_horizontal_shelves_summary_off">Los estantes horizontales están visibles</string>
<string name="revanced_hide_horizontal_shelves_summary_off">Los estantes horizontales son visibles</string>
<string name="revanced_hide_image_shelf_title">Ocultar estantería de imágenes</string>
<string name="revanced_hide_image_shelf_summary_on">Estantería de imágenes en los resultados de búsqueda oculta</string>
<string name="revanced_hide_image_shelf_summary_off">Estantería de imágenes en los resultados de búsqueda visible</string>
<string name="revanced_hide_image_shelf_summary_on">La estantería de imágenes en los resultados de búsqueda está oculta</string>
<string name="revanced_hide_image_shelf_summary_off">La estantería de imágenes en los resultados de búsqueda es visible</string>
<string name="revanced_hide_latest_posts_title">Ocultar últimas publicaciones</string>
<string name="revanced_hide_latest_posts_summary_on">Las últimas publicaciones están ocultas</string>
<string name="revanced_hide_latest_posts_summary_off">Se muestran las últimas publicaciones</string>
<string name="revanced_hide_mix_playlists_title">Ocultar lista de reproducción Mix</string>
<string name="revanced_hide_mix_playlists_summary_on">La lista de reproducción Mix está oculta</string>
<string name="revanced_hide_mix_playlists_summary_off">La lista de reproducción Mix es visible</string>
<string name="revanced_hide_mix_playlists_summary_on">Las listas de reproducción Mix están ocultas</string>
<string name="revanced_hide_mix_playlists_summary_off">La lista de reproducción Mix es visible</string>
<string name="revanced_hide_movies_section_title">Ocultar sección de películas</string>
<string name="revanced_hide_movies_section_summary_on">La sección de películas está oculta</string>
<string name="revanced_hide_movies_section_summary_off">La sección de películas es visible</string>
<string name="revanced_hide_movies_section_summary_off">La sección de películas es visible</string>
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
This item appear in the Subscriptions feed for future livestreams or unreleased videos. -->
<string name="revanced_hide_notify_me_button_title">Ocultar el botón \'Notificarme\'</string>
<string name="revanced_hide_notify_me_button_title">Ocultar el botón \"Notificarme\"</string>
<string name="revanced_hide_notify_me_button_summary_on">El botón Notificarme está oculto</string>
<string name="revanced_hide_notify_me_button_summary_off">El botón Notificarme es visible</string>
<string name="revanced_hide_notify_me_button_summary_off">El botón Notificarme es visible</string>
<string name="revanced_hide_playables_title">Ocultar jugables</string>
<string name="revanced_hide_playables_summary_on">Los jugables están ocultos</string>
<string name="revanced_hide_playables_summary_off">Los jugables están visibles</string>
<string name="revanced_hide_playables_summary_off">Los jugables son visibles</string>
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
This button usually appears when searching for a YT creator. -->
<string name="revanced_hide_show_more_button_title">Ocultar botón \'Mostrar más\'</string>
<string name="revanced_hide_show_more_button_summary_on">El botón Mostrar más en los resultados de búsqueda está oculto</string>
<string name="revanced_hide_show_more_button_summary_off">El botón Mostrar más en los resultados de búsqueda es visible</string>
<string name="revanced_hide_show_more_button_summary_off">El botón Mostrar más en los resultados de búsqueda es visible</string>
<string name="revanced_hide_surveys_title">Ocultar encuestas</string>
<string name="revanced_hide_surveys_summary_on">Las encuestas están ocultas</string>
<string name="revanced_hide_surveys_summary_off">Las encuestas están visibles</string>
<string name="revanced_hide_surveys_summary_off">Las encuestas son visibles</string>
<string name="revanced_hide_ticket_shelf_title">Ocultar estantes de tickets</string>
<string name="revanced_hide_ticket_shelf_summary_on">El estante de tickets está oculto</string>
<string name="revanced_hide_ticket_shelf_summary_off">El estante de boletos es visible</string>
<string name="revanced_hide_ticket_shelf_summary_on">La estantería de tickets está oculta</string>
<string name="revanced_hide_ticket_shelf_summary_off">La estantería de tickets es visible</string>
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_video_recommendation_labels_title">Ocultar etiquetas de recomendación de vídeo</string>
<string name="revanced_hide_video_recommendation_labels_summary_on">Las etiquetas \"La gente también vio\" y \"También te puede gustar\" en los resultados de búsqueda están ocultas</string>
<string name="revanced_hide_video_recommendation_labels_summary_off">Las etiquetas \"La gente también vio\" y \"También te puede gustar\" en los resultados de búsqueda están visibles</string>
<string name="revanced_hide_video_recommendation_labels_summary_off">Las etiquetas \"La gente también vio\" y \"También te puede gustar\" en los resultados de búsqueda son visibles</string>
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
<string name="revanced_hide_doodles_title">Ocultar YouTube Doodles</string>
<string name="revanced_hide_doodles_summary_on">La animación de los Doodles de YouTube en el logotipo está oculta</string>
@@ -219,10 +219,10 @@ No se le notificará de ningún evento inesperado."</string>
Si un doodle se está mostrando actualmente en tu región y este ajuste de ocultación está activado, la barra de filtro situada debajo de la barra de búsqueda también estará oculta."</string>
<string name="revanced_hide_channel_bar_title">Ocultar barra de canal</string>
<string name="revanced_hide_channel_bar_summary_on">Barra de canales oculta</string>
<string name="revanced_hide_channel_bar_summary_on">La barra de canales está oculta</string>
<string name="revanced_hide_channel_bar_summary_off">Barra de canales mostrada</string>
<string name="revanced_hide_channel_watermark_title">Ocultar marca de agua del canal</string>
<string name="revanced_hide_channel_watermark_summary_on">Marca de agua oculta</string>
<string name="revanced_hide_channel_watermark_summary_on">La marca de agua está oculta</string>
<string name="revanced_hide_channel_watermark_summary_off">Marca de agua mostrada</string>
<string name="revanced_hide_emergency_box_title">Ocultar cajas de emergencia</string>
<string name="revanced_hide_emergency_box_summary_on">Las cajas de emergencia están ocultas</string>
@@ -232,17 +232,17 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult
<string name="revanced_hide_info_panels_summary_off">Los paneles de información se muestran</string>
<!-- 'Join' should be translated using the same localized wording YouTube displays.
This appears in the video player for certain videos. -->
<string name="revanced_hide_join_membership_button_title">Ocultar el botón Unirse</string>
<string name="revanced_hide_join_membership_button_title">Ocultar el botón \"Unirse\"</string>
<string name="revanced_hide_join_membership_button_summary_on">El botón Unirse está oculto</string>
<string name="revanced_hide_join_membership_button_summary_off">El botón Unirse es visible</string>
<string name="revanced_hide_join_membership_button_summary_off">El botón Unirse es visible</string>
<string name="revanced_hide_medical_panels_title">Ocultar paneles médicos</string>
<string name="revanced_hide_medical_panels_summary_on">Los paneles médicos están ocultos</string>
<string name="revanced_hide_medical_panels_summary_off">Se muestran paneles médicos</string>
<string name="revanced_hide_quick_actions_title">Ocultar acciones rápidas</string>
<string name="revanced_hide_quick_actions_summary_on">Acciones rápidas en pantalla completa ocultas</string>
<string name="revanced_hide_quick_actions_summary_on">Las rápidas en pantalla completa están ocultas</string>
<string name="revanced_hide_quick_actions_summary_off">Acciones rápidas en pantalla completa visibles</string>
<string name="revanced_hide_related_videos_title">Ocultar videos relacionados</string>
<string name="revanced_hide_related_videos_summary_on">Videos relacionados en acciones rápidas ocultos</string>
<string name="revanced_hide_related_videos_summary_on">Los vídeos relacionados en acciones rápidas están ocultos</string>
<string name="revanced_hide_related_videos_summary_off">Videos relacionados en acciones rápidas visibles</string>
<string name="revanced_hide_subscribers_community_guidelines_title">Ocultar las directrices para suscriptores</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Las pautas comunitarias de los suscriptores están ocultas</string>
@@ -250,7 +250,7 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult
<string name="revanced_hide_timed_reactions_title">Ocultar reacciones temporizadas</string>
<string name="revanced_hide_timed_reactions_summary_on">Las reacciones temporizadas están ocultas</string>
<string name="revanced_hide_timed_reactions_summary_off">Se muestran reacciones temporizadas</string>
<string name="revanced_hide_ai_generated_video_summary_section_title">Ocultar \"Resumen de video generado por IA\"</string>
<string name="revanced_hide_ai_generated_video_summary_section_title">Ocultar \"Resumen de vídeo generado por IA\"</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">La sección de resumen de vídeo generada por IA está oculta</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Sección de resumen de vídeo generada por IA está mostrada</string>
<string name="revanced_hide_ask_section_title">Ocultar pregunta</string>
@@ -285,7 +285,7 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Oculto en feeds</string>
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Visible en feeds</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Ocultar en vídeos relacionados</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Escondido en videos relacionados</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Oculto en vídeos relacionados</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Mostrar en vídeos relacionados</string>
<string name="revanced_hide_filter_bar_feed_in_search_title">Ocultar en los resultados de búsqueda</string>
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Oculto en los resultados de búsqueda</string>
@@ -298,29 +298,29 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_for_you_shelf_title">Ocultar la sección \"Para ti\"</string>
<string name="revanced_hide_for_you_shelf_summary_on">La estantería \"Para ti\" está oculta</string>
<string name="revanced_hide_for_you_shelf_summary_off">La estantería \"Para ti\" es visible</string>
<string name="revanced_hide_for_you_shelf_summary_off">La estantería \"Para ti\" es visible</string>
<string name="revanced_hide_links_preview_title">Ocultar vista previa de enlaces</string>
<string name="revanced_hide_links_preview_summary_on">Vista previa de enlaces oculta</string>
<string name="revanced_hide_links_preview_summary_on">La vista previa de enlaces está oculta</string>
<string name="revanced_hide_links_preview_summary_off">Vista previa de enlaces visible</string>
<string name="revanced_hide_members_shelf_title">Ocultar estantería de miembros</string>
<string name="revanced_hide_members_shelf_summary_on">Estantería de miembros oculta</string>
<string name="revanced_hide_members_shelf_summary_off">El estante de miembros se muestra</string>
<string name="revanced_hide_members_shelf_summary_on">La estantería de miembros está oculta</string>
<string name="revanced_hide_members_shelf_summary_off">La estantería de miembros se muestra</string>
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_community_button_title">Ocultar el botón \"Visitar comunidad\"</string>
<string name="revanced_hide_visit_community_button_summary_on">El botón Visitar comunidad está oculto</string>
<string name="revanced_hide_visit_community_button_summary_off">El botón \"Visitar comunidad\" es visible</string>
<string name="revanced_hide_visit_community_button_summary_off">El botón \"Visitar comunidad\" es visible</string>
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_store_button_title">Ocultar el botón \'Visitar tienda\' en las páginas del canal</string>
<string name="revanced_hide_visit_store_button_summary_on">El botón \"Visitar tienda\" está oculto</string>
<string name="revanced_hide_visit_store_button_summary_off">El botón \"Visitar tienda\" es visible</string>
<string name="revanced_hide_visit_store_button_summary_off">El botón \"Visitar tienda\" es visible</string>
<string name="revanced_comments_screen_title">Comentarios</string>
<string name="revanced_comments_screen_summary">Ocultar o mostrar los componentes de sección de comentarios</string>
<string name="revanced_hide_comments_ai_chat_summary_title">Ocultar resumen de chat de IA</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_on">El resumen del chat de IA está oculto</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_off">El resumen del chat de IA es visible</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_off">El resumen del chat de IA es visible</string>
<string name="revanced_hide_comments_ai_summary_title">Ocultar el resumen de los comentarios de la IA</string>
<string name="revanced_hide_comments_ai_summary_summary_on">El resumen de comentarios de IA está oculto</string>
<string name="revanced_hide_comments_ai_summary_summary_off">El resumen de comentarios de IA es visible</string>
<string name="revanced_hide_comments_ai_summary_summary_off">El resumen de comentarios de IA es visible</string>
<string name="revanced_hide_comments_channel_guidelines_title">Ocultar directrices del canal</string>
<string name="revanced_hide_comments_channel_guidelines_summary_on">Las directrices del canal están ocultas</string>
<string name="revanced_hide_comments_channel_guidelines_summary_off">Las directrices del canal se muestran</string>
@@ -357,14 +357,14 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult
<string name="revanced_hide_keyword_content_screen_title">Ocultar contenido de palabra clave</string>
<string name="revanced_hide_keyword_content_screen_summary">Ocultar videos de búsqueda y feed usando filtros de palabras clave</string>
<string name="revanced_hide_keyword_content_home_title">Ocultar videos domésticos por palabras clave</string>
<string name="revanced_hide_keyword_content_home_summary_on">Los videos en la pestaña \'Inicio\' son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_home_summary_off">Los videos en la pestaña \'Inicio\' no son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_home_summary_on">Los vídeos en la pestaña \'Inicio\' son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_home_summary_off">Los vídeos en la pestaña \'Inicio\' no son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_search_title">Ocultar resultados de búsqueda por palabras clave</string>
<string name="revanced_hide_keyword_content_search_summary_on">Los resultados de la búsqueda son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_search_summary_off">Los resultados de la búsqueda no son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_subscriptions_title">Ocultar vídeos de suscripción por palabras clave</string>
<string name="revanced_hide_keyword_content_subscriptions_summary_on">Los videos en la pestaña \'Suscripciones\' son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_subscriptions_summary_off">Los videos en la pestaña \'Suscripciones\' no son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_subscriptions_summary_on">Los vídeos en la pestaña \'Suscripciones\' son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_subscriptions_summary_off">Los vídeos en la pestaña \'Suscripciones\' no son filtrados por palabras clave</string>
<string name="revanced_hide_keyword_content_phrases_title">Palabras clave a ocultar</string>
<!-- For localization, it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
@@ -392,11 +392,11 @@ Limitaciones
</patch>
<patch id="ad.general.hideAdsResourcePatch">
<string name="revanced_hide_creator_store_shelf_title">Ocultar estantería de la tienda del creador</string>
<string name="revanced_hide_creator_store_shelf_summary_on">El estante de la tienda del creador debajo del reproductor de vídeo está oculto</string>
<string name="revanced_hide_creator_store_shelf_summary_off">Se muestra el estante de la tienda del creador debajo del reproductor de video</string>
<string name="revanced_hide_creator_store_shelf_summary_on">La estantería de la tienda del creador debajo del reproductor de vídeo está oculta</string>
<string name="revanced_hide_creator_store_shelf_summary_off">La estantería de la tienda del creador debajo del reproductor de vídeo es visible</string>
<string name="revanced_hide_end_screen_store_banner_title">Ocultar banner de la tienda en la pantalla final</string>
<string name="revanced_hide_end_screen_store_banner_summary_on">El banner de la tienda de la pantalla final está oculto</string>
<string name="revanced_hide_end_screen_store_banner_summary_off">El banner de la tienda de la pantalla final es visible</string>
<string name="revanced_hide_end_screen_store_banner_summary_off">El banner de la tienda de la pantalla final es visible</string>
<string name="revanced_hide_fullscreen_ads_title">Ocultar anuncios a pantalla completa</string>
<string name="revanced_hide_fullscreen_ads_summary_on">"Los anuncios a pantalla completa están ocultos
@@ -421,7 +421,7 @@ Esta función solo está disponible para dispositivos antiguos"</string>
<string name="revanced_hide_shopping_links_summary_off">Se muestran los enlaces de compras en la descripción del video</string>
<string name="revanced_hide_view_products_banner_title">Ocultar el banner \"Ver productos\"</string>
<string name="revanced_hide_view_products_banner_summary_on">El banner \"Ver productos\" en la superposición de vídeo está oculto</string>
<string name="revanced_hide_view_products_banner_summary_off">El banner \"Ver productos\" en la superposición de vídeo es visible</string>
<string name="revanced_hide_view_products_banner_summary_off">El banner \"Ver productos\" en la superposición de vídeo es visible</string>
<string name="revanced_hide_web_search_results_title">Ocultar resultados de búsqueda web</string>
<string name="revanced_hide_web_search_results_summary_on">Los resultados de búsqueda web están ocultos</string>
<string name="revanced_hide_web_search_results_summary_off">Se muestran los resultados de la búsqueda web</string>
@@ -432,7 +432,7 @@ Esta función solo está disponible para dispositivos antiguos"</string>
<string name="revanced_hide_get_premium_summary_off">Se muestran las promociones de YouTube Premium en el reproductor de vídeo</string>
</patch>
<patch id="ad.video.videoAdsPatch">
<string name="revanced_hide_video_ads_title">Ocultar anuncios de video</string>
<string name="revanced_hide_video_ads_title">Ocultar anuncios de vídeo</string>
<string name="revanced_hide_video_ads_summary_on">Los anuncios de vídeo están ocultos</string>
<string name="revanced_hide_video_ads_summary_off">Los anuncios de vídeo se muestran</string>
</patch>
@@ -463,7 +463,7 @@ Esta función solo está disponible para dispositivos antiguos"</string>
<string name="revanced_disable_chapter_skip_double_tap_summary_off">El doble toque puede ocasionalmente activar un salto al capítulo siguiente/anterior</string>
</patch>
<patch id="interaction.downloads.downloadsResourcePatch">
<string name="revanced_external_downloader_screen_title">Descargas externa</string>
<string name="revanced_external_downloader_screen_title">Descargas externas</string>
<string name="revanced_external_downloader_screen_summary">Configuración para el uso de un descargador externo</string>
<string name="revanced_external_downloader_title">Mostrar botón externo de descarga</string>
<string name="revanced_external_downloader_summary_on">Se muestra el botón de descarga en el reproductor</string>
@@ -486,7 +486,7 @@ Verifica que el nombre del paquete sea correcto y que la aplicación esté insta
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
<string name="revanced_disable_precise_seeking_gesture_title">Desactivar gesto de búsqueda preciso</string>
<string name="revanced_disable_precise_seeking_gesture_summary_on">El gesto está desactivado</string>
<string name="revanced_disable_precise_seeking_gesture_summary_off">Gesto habilitado</string>
<string name="revanced_disable_precise_seeking_gesture_summary_off">Gesto activado</string>
</patch>
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
<string name="revanced_seekbar_tapping_title">Habilitar tocar para buscar</string>
@@ -495,7 +495,7 @@ Verifica que el nombre del paquete sea correcto y que la aplicación esté insta
</patch>
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
<string name="revanced_swipe_brightness_title">Activar gesto de brillo</string>
<string name="revanced_swipe_brightness_summary_on">"El deslizamiento de brillo a pantalla completa está habilitado
<string name="revanced_swipe_brightness_summary_on">"El deslizamiento de brillo a pantalla completa está activado
Ajusta el brillo deslizando verticalmente en el lado izquierdo de la pantalla"</string>
<string name="revanced_swipe_brightness_summary_off">El deslizamiento de brillo a pantalla completa está desactivado</string>
@@ -584,11 +584,11 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"</s
This button only shows on videos uploaded by the logged in user. -->
<string name="revanced_hide_hype_button_title">Ocultar Hype</string>
<string name="revanced_hide_hype_button_summary_on">El botón Hype está oculto</string>
<string name="revanced_hide_hype_button_summary_off">El botón de hype es visible</string>
<string name="revanced_hide_hype_button_summary_off">El botón de hype es visible</string>
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_promote_button_title">Ocultar pestaña \'Promocionar\'</string>
<string name="revanced_hide_promote_button_summary_on">El botón de Promocionar está oculto</string>
<string name="revanced_hide_promote_button_summary_off">El botón de Promocionar es visible</string>
<string name="revanced_hide_promote_button_summary_off">El botón de Promocionar es visible</string>
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_thanks_button_title">Ocultar Gracias</string>
<string name="revanced_hide_thanks_button_summary_on">El botón de gracias está oculto</string>
@@ -633,14 +633,14 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"</s
<string name="revanced_switch_create_with_notifications_button_title">Cambiar botón Crear con el de Notificaciones</string>
<string name="revanced_switch_create_with_notifications_button_summary_on">"El botón Crear se cambia por el botón Notificaciones
Nota: Habilitar esto también ocultará forzosamente los anuncios de video"</string>
Nota: Habilitar esto también ocultará forzosamente los anuncios de vídeo"</string>
<string name="revanced_switch_create_with_notifications_button_summary_off">El botón Crear no se cambia con el botón de notificaciones</string>
<string name="revanced_switch_create_with_notifications_button_user_dialog_message">"Deshabilitar este ajuste también deshabilitará el bloqueo de anuncios de Shorts.
Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito."</string>
<string name="revanced_hide_navigation_button_labels_title">Ocultar etiquetas de navegación</string>
<string name="revanced_hide_navigation_button_labels_summary_on">Las etiquetas están ocultas</string>
<string name="revanced_hide_navigation_button_labels_summary_off">Las etiquetas están visibles</string>
<string name="revanced_hide_navigation_button_labels_summary_off">Las etiquetas son visibles</string>
<string name="revanced_disable_translucent_status_bar_title">Desactivar la barra de estado translúcida</string>
<string name="revanced_disable_translucent_status_bar_summary_on">La barra de estado es opaca</string>
<string name="revanced_disable_translucent_status_bar_summary_off">La barra de estado es opaca o translúcida</string>
@@ -669,7 +669,7 @@ Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito."</st
<string name="revanced_hide_player_flyout_sleep_timer_summary_off">El menú de temporizador de sueño se muestra</string>
<!-- 'Loop video' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_loop_video_title">Ocultar video de bucle</string>
<string name="revanced_hide_player_flyout_loop_video_summary_on">El menú de video en bucle está oculto</string>
<string name="revanced_hide_player_flyout_loop_video_summary_on">El menú de vídeo en bucle está oculto</string>
<string name="revanced_hide_player_flyout_loop_video_summary_off">El menú de vídeo en bucle se muestra</string>
<!-- 'Ambient mode' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_ambient_mode_title">Ocultar Modo ambiente</string>
@@ -702,14 +702,14 @@ Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito."</st
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"El menú de la pista de audio está oculto.
Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de video\" a iOS TV"</string>
Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de vídeo\" a iOS TV"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">Ocultar reloj en VR</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">Ver en el menú VR está oculto</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_off">Ver en el menú VR se muestra</string>
<string name="revanced_hide_player_flyout_video_quality_title">Ocultar menú de calidad de vídeo</string>
<string name="revanced_hide_player_flyout_video_quality_summary_on">El menú de calidad de video está oculto</string>
<string name="revanced_hide_player_flyout_video_quality_summary_off">El menú de calidad de video es visible</string>
<string name="revanced_hide_player_flyout_video_quality_summary_on">El menú de calidad de vídeo está oculto</string>
<string name="revanced_hide_player_flyout_video_quality_summary_off">El menú de calidad de vídeo es visible</string>
<string name="revanced_hide_player_flyout_video_quality_footer_title">Ocultar pie de página del menú de calidad de vídeo</string>
<string name="revanced_hide_player_flyout_video_quality_footer_summary_on">Pie de menú de calidad de vídeo oculto</string>
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">El pie del menú de calidad de vídeo se muestra</string>
@@ -745,7 +745,7 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de
<patch id="layout.hide.infocards.hideInfocardsResourcePatch">
<string name="revanced_hide_info_cards_title">Ocultar tarjetas de información</string>
<string name="revanced_hide_info_cards_summary_on">Las tarjetas de información están ocultas</string>
<string name="revanced_hide_info_cards_summary_off">Las tarjetas de información están visibles</string>
<string name="revanced_hide_info_cards_summary_off">Las tarjetas de información son visibles</string>
</patch>
<patch id="layout.hide.rollingnumber.disableRollingNumberAnimationPatch">
<string name="revanced_disable_rolling_number_animations_title">Desactivar animaciones de número de rodamiento</string>
@@ -759,7 +759,7 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de
<!-- Seekbar shown inside video thumbnails found the home/feed/search/history. The seekbar shows the prior watch progress when the video was last open. -->
<string name="revanced_hide_seekbar_thumbnail_title">Ocultar barra de búsqueda de miniaturas de vídeo</string>
<string name="revanced_hide_seekbar_thumbnail_summary_on">La barra de búsqueda de miniaturas de vídeo está oculta</string>
<string name="revanced_hide_seekbar_thumbnail_summary_off">La barra de búsqueda de miniaturas de vídeo es visible</string>
<string name="revanced_hide_seekbar_thumbnail_summary_off">La barra de búsqueda de miniaturas de vídeo es visible</string>
</patch>
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
<string name="revanced_shorts_player_screen_title">Reproductor de Shorts</string>
@@ -780,10 +780,10 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de
<string name="revanced_hide_shorts_history_summary_off">Mostrado en el historial de visualización</string>
<string name="revanced_hide_shorts_super_thanks_button_title">Ocultar el botón Comprar Súper Gracias</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_on">El botón Comprar Super Thanks está oculto</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_off">El botón Comprar Super Thanks es visible</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_off">El botón Comprar Super Thanks es visible</string>
<string name="revanced_hide_shorts_effect_button_title">Ocultar botón de efecto</string>
<string name="revanced_hide_shorts_effect_button_summary_on">El botón de efecto está oculto</string>
<string name="revanced_hide_shorts_effect_button_summary_off">El botón de efecto es visible</string>
<string name="revanced_hide_shorts_effect_button_summary_off">El botón de efecto es visible</string>
<string name="revanced_hide_shorts_green_screen_button_title">Ocultar el botón Pantalla verde</string>
<string name="revanced_hide_shorts_green_screen_button_summary_on">El botón verde de pantalla está oculto</string>
<string name="revanced_hide_shorts_green_screen_button_summary_off">Se muestra el botón verde de pantalla</string>
@@ -829,7 +829,7 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de
<string name="revanced_hide_shorts_upcoming_button_summary_off">Se muestra el botón próximo</string>
<string name="revanced_hide_shorts_use_sound_button_title">Ocultar el botón Usar este sonido</string>
<string name="revanced_hide_shorts_use_sound_button_summary_on">El botón Usar este sonido está oculto</string>
<string name="revanced_hide_shorts_use_sound_button_summary_off">El botón Usar este sonido es visible</string>
<string name="revanced_hide_shorts_use_sound_button_summary_off">El botón Usar este sonido es visible</string>
<string name="revanced_hide_shorts_use_template_button_title">Ocultar botón Usar esta plantilla</string>
<string name="revanced_hide_shorts_use_template_button_summary_on">El botón Usar esta plantilla está oculto</string>
<string name="revanced_hide_shorts_use_template_button_summary_off">El botón Usar esta plantilla se muestra</string>
@@ -864,16 +864,16 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de
<string name="revanced_hide_shorts_channel_bar_summary_off">Barra de canales mostrada</string>
<string name="revanced_hide_shorts_video_title_title">Ocultar título de vídeo</string>
<string name="revanced_hide_shorts_video_title_summary_on">El título del vídeo está oculto</string>
<string name="revanced_hide_shorts_video_title_summary_off">El título del vídeo es visible</string>
<string name="revanced_hide_shorts_video_title_summary_off">El título del vídeo es visible</string>
<string name="revanced_hide_shorts_sound_metadata_label_title">Ocultar etiqueta de metadatos de sonido</string>
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">La etiqueta de metadatos de sonido está oculta</string>
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">La etiqueta de metadatos de sonido es visible</string>
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">La etiqueta de metadatos de sonido es visible</string>
<string name="revanced_hide_shorts_full_video_link_label_title">Ocultar la etiqueta del enlace del video</string>
<string name="revanced_hide_shorts_full_video_link_label_summary_on">Etiqueta de enlace de vídeo oculto</string>
<string name="revanced_hide_shorts_full_video_link_label_summary_off">Etiqueta de enlace de vídeo mostrada</string>
<string name="revanced_hide_shorts_navigation_bar_title">Ocultar barra de navegación</string>
<string name="revanced_hide_shorts_navigation_bar_summary_on">La barra de navegación está oculta</string>
<string name="revanced_hide_shorts_navigation_bar_summary_off">La barra de navegación es visible</string>
<string name="revanced_hide_shorts_navigation_bar_summary_off">La barra de navegación es visible</string>
</patch>
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
<string name="revanced_end_screen_suggested_video_title">Ocultar el vídeo sugerido de la pantalla final</string>
@@ -886,7 +886,7 @@ Configuración → Reproducción → Reproducir el siguiente vídeo automáticam
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
<string name="revanced_hide_related_videos_overlay_title">Ocultar la superposición de vídeos relacionados</string>
<string name="revanced_hide_related_videos_overlay_summary_on">La superposición de vídeos relacionados en pantalla completa está oculta</string>
<string name="revanced_hide_related_videos_overlay_summary_off">La superposición de vídeos relacionados en pantalla completa es visible</string>
<string name="revanced_hide_related_videos_overlay_summary_off">La superposición de vídeos relacionados en pantalla completa es visible</string>
</patch>
<patch id="layout.hide.time.hideTimestampPatch">
<string name="revanced_hide_timestamp_title">Ocultar fecha y hora de vídeo</string>
@@ -894,9 +894,9 @@ Configuración → Reproducción → Reproducir el siguiente vídeo automáticam
<string name="revanced_hide_timestamp_summary_off">Marca de tiempo mostrada</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
<string name="revanced_hide_player_popup_panels_title">Ocultar paneles emergentes del jugador</string>
<string name="revanced_hide_player_popup_panels_summary_on">Los paneles emergentes del jugador están ocultos</string>
<string name="revanced_hide_player_popup_panels_summary_off">Se muestran paneles emergentes del jugador</string>
<string name="revanced_hide_player_popup_panels_title">Ocultar paneles emergentes del reproductor</string>
<string name="revanced_hide_player_popup_panels_summary_on">Los paneles emergentes del reproductor están ocultos</string>
<string name="revanced_hide_player_popup_panels_summary_off">Se muestran paneles emergentes del reproductor</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Salir del modo de pantalla completa al final del vídeo</string>
@@ -908,10 +908,10 @@ Configuración → Reproducción → Reproducir el siguiente vídeo automáticam
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Abrir vídeos en el retrato de pantalla completa</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videos abiertos a pantalla completa</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Los videos no se abren en pantalla completa</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Los vídeos no se abren en pantalla completa</string>
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Opacidad de superposición del jugador</string>
<string name="revanced_player_overlay_opacity_title">Opacidad de superposición del reproductor</string>
<string name="revanced_player_overlay_opacity_summary">Valor de potencia entre 0-100, donde 0 es transparente</string>
<string name="revanced_player_overlay_opacity_invalid_toast">Opacidad del reproductor debe estar entre 0 y 100</string>
</patch>
@@ -967,7 +967,7 @@ Limitación: Es posible que los Dislikes no aparezcan en el modo de incógnito"<
<patch id="layout.searchbar.wideSearchbarPatch">
<string name="revanced_wide_searchbar_title">Habilitar barra de búsqueda ancha</string>
<string name="revanced_wide_searchbar_summary_on">Barra de búsqueda ancha habilitada</string>
<string name="revanced_wide_searchbar_summary_off">Barra de búsqueda ancha desactivada</string>
<string name="revanced_wide_searchbar_summary_off">La barra de búsqueda ancha está desactivada</string>
</patch>
<patch id="layout.seekbar.seekbarThumbnailsPatch">
<string name="revanced_seekbar_thumbnails_high_quality_title">Habilitar miniaturas de alta calidad</string>
@@ -984,7 +984,7 @@ Esta función funciona mejor con una calidad de vídeo de 720p o inferior y cuan
</patch>
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
<string name="revanced_sb_enable_sb">Activar SponsorBlock</string>
<string name="revanced_sb_enable_sb_sum">SponsorBlock es un sistema de colaboración abierta para omitir partes molestas de los videos de YouTube</string>
<string name="revanced_sb_enable_sb_sum">SponsorBlock es un sistema de colaboración abierta para omitir partes molestas de los vídeos de YouTube</string>
<string name="revanced_sb_appearance_category">Apariencia</string>
<string name="revanced_sb_enable_voting">Mostrar botón de voto</string>
<string name="revanced_sb_enable_voting_sum_on">Se muestra el botón de voto del segmento</string>
@@ -1038,7 +1038,7 @@ Esta función funciona mejor con una calidad de vídeo de 720p o inferior y cuan
<string name="revanced_sb_toast_on_connection_error_summary_off">Toast no se muestra si SponsorBlock no está disponible</string>
<string name="revanced_sb_general_skipcount">Habilitar rastreo del conteo de saltos</string>
<string name="revanced_sb_general_skipcount_sum_on">Permite que la tabla de clasificación de SponsorBlock sepa cuánto tiempo se ha ahorrado. Un mensaje se envía al tablero de clasificación cada vez que se omite un segmento</string>
<string name="revanced_sb_general_skipcount_sum_off">El rastreo del conteo de saltos no está habilitado</string>
<string name="revanced_sb_general_skipcount_sum_off">El rastreo del conteo de saltos no está activado</string>
<string name="revanced_sb_general_min_duration">Duración mínima del segmento</string>
<string name="revanced_sb_general_min_duration_sum">Los segmentos más cortos que este valor (en segundos) no se mostrarán o se omitirán</string>
<string name="revanced_sb_general_min_duration_invalid">Duración de tiempo no válida</string>
@@ -1074,10 +1074,12 @@ Tu ID de usuario es como una contraseña y nunca debe compartirse."</string>
<string name="revanced_sb_segments_intro_sum">Un intervalo sin contenido real. Podría ser una pausa, marco estático o animación de repetición. No incluye transiciones que contengan información</string>
<string name="revanced_sb_segments_outro">Tarjetas finales / Créditos</string>
<string name="revanced_sb_segments_outro_sum">Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información</string>
<string name="revanced_sb_segments_preview">Vista previa/Resumen/Enganche</string>
<string name="revanced_sb_segments_hook">Enganche / Saludos</string>
<string name="revanced_sb_segments_hook_sum">Tráilers narrados para el próximo video, saludos y despedidas. No incluye secciones que añadan contenido adicional</string>
<string name="revanced_sb_segments_preview">Vista previa / Resumen</string>
<string name="revanced_sb_segments_preview_sum">Colección de clips que muestran lo que viene o lo que pasó en el vídeo o en otros videos de una serie, donde toda la información se repite en otro lugar</string>
<string name="revanced_sb_segments_filler">Bromas de relleno</string>
<string name="revanced_sb_segments_filler_sum">Escenas tangenciales añadidas sólo para relleno o humor que no están obligadas a entender el contenido principal del vídeo. No incluye segmentos proporcionando detalles de contexto o fondo</string>
<string name="revanced_sb_segments_filler">Digresión / Chistes</string>
<string name="revanced_sb_segments_filler_sum">Escenas o chistes tangenciales que no son necesarios para entender el contenido principal del video. No incluye secciones que proporcionen contexto o detalles de fondo</string>
<string name="revanced_sb_segments_nomusic">Música: Sección sin música</string>
<string name="revanced_sb_segments_nomusic_sum">Sólo para usar en vídeos de música. Secciones de vídeos de música sin música, que no están cubiertas por otra categoría</string>
<string name="revanced_sb_skip_button_compact">Saltar</string>
@@ -1090,10 +1092,11 @@ Tu ID de usuario es como una contraseña y nunca debe compartirse."</string>
<string name="revanced_sb_skip_button_intro_middle">Omitir intermisión</string>
<string name="revanced_sb_skip_button_intro_end">Omitir intermisión</string>
<string name="revanced_sb_skip_button_outro">Saltar outro</string>
<string name="revanced_sb_skip_button_hook">Omitir gancho</string>
<string name="revanced_sb_skip_button_preview_beginning">Saltar vista previa</string>
<string name="revanced_sb_skip_button_preview_middle">Saltar vista previa</string>
<string name="revanced_sb_skip_button_preview_end">Saltar resumen</string>
<string name="revanced_sb_skip_button_filler">Saltar relleno</string>
<string name="revanced_sb_skip_button_filler">Omitir tangencial</string>
<string name="revanced_sb_skip_button_nomusic">Omitir no música</string>
<string name="revanced_sb_skip_button_unsubmitted">Saltar Segmento</string>
<string name="revanced_sb_skipped_sponsor">Omitir patrocinio</string>
@@ -1104,10 +1107,11 @@ Tu ID de usuario es como una contraseña y nunca debe compartirse."</string>
<string name="revanced_sb_skipped_intro_middle">Intermisión omitida</string>
<string name="revanced_sb_skipped_intro_end">Intermisión omitida</string>
<string name="revanced_sb_skipped_outro">Outro omitida</string>
<string name="revanced_sb_skipped_hook">Gancho omitido</string>
<string name="revanced_sb_skipped_preview_beginning">Vista previa omitida</string>
<string name="revanced_sb_skipped_preview_middle">Vista previa omitida</string>
<string name="revanced_sb_skipped_preview_end">Resumen omitido</string>
<string name="revanced_sb_skipped_filler">Relleno omitido</string>
<string name="revanced_sb_skipped_filler">Tangencial omitido</string>
<string name="revanced_sb_skipped_nomusic">Se omitió una sección de no musical</string>
<string name="revanced_sb_skipped_unsubmitted">Un segmento no enviado fue omitido</string>
<string name="revanced_sb_skipped_multiple_segments">Se omitieron varios segmentos</string>
@@ -1353,7 +1357,7 @@ Habilitar esto puede solucionar las imágenes que faltan que están bloqueadas e
<string name="revanced_alt_thumbnail_options_entry_4">Sigue capturando</string>
<string name="revanced_alt_thumbnail_dearrow_about_summary">"DeArrow proporciona miniaturas de vídeos de YouTube obtenidas mediante crowdsourcing. Estas miniaturas suelen ser más relevantes que las que proporciona YouTube
Si está habilitado, las URL de los vídeos se enviarán al servidor de la API y no se envían otros datos. Si un vídeo no tiene miniaturas de DeArrow, se mostrarán las originales o las capturas fijas
Si está activado, las URL de los vídeos se enviarán al servidor de la API y no se envían otros datos. Si un vídeo no tiene miniaturas de DeArrow, se mostrarán las originales o las capturas fijas
Toca aquí para obtener más información sobre DeArrow"</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">Mostrar un brindis si la API no está disponible</string>
@@ -1445,7 +1449,7 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
<string name="revanced_force_original_audio_summary_on">Usar el idioma de audio original</string>
<string name="revanced_force_original_audio_summary_off">Utilizando audio predeterminado</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Para usar esta función, cambia \"Suplantar transmisiones de video\" a iOS TV</string>
<string name="revanced_force_original_audio_not_available">Para usar esta función, cambia \"Suplantar transmisiones de vídeo\" a iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1453,9 +1457,9 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
<string name="revanced_remember_video_quality_last_selected_title">Recordar cambios de calidad de vídeo</string>
<string name="revanced_remember_video_quality_last_selected_summary_on">Los cambios de calidad se aplican a todos los vídeos</string>
<string name="revanced_remember_video_quality_last_selected_summary_off">Los cambios de calidad sólo se aplican al vídeo actual</string>
<string name="revanced_remember_video_quality_last_selected_toast_title">Mostrar notificación al cambiar la calidad de video</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_on">Se muestra una notificación cuando se cambia la calidad de video predeterminada</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_off">No se muestra una notificación cuando se cambia la calidad de video predeterminada</string>
<string name="revanced_remember_video_quality_last_selected_toast_title">Mostrar notificación al cambiar la calidad de vídeo</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_on">Se muestra una notificación cuando se cambia la calidad de vídeo predeterminada</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_off">No se muestra una notificación cuando se cambia la calidad de vídeo predeterminada</string>
<string name="revanced_video_quality_default_wifi_title">Calidad de vídeo predeterminada en la red Wi-Fi</string>
<string name="revanced_video_quality_default_mobile_title">Calidad de vídeo predeterminada en la red móvil</string>
<string name="revanced_remember_shorts_quality_last_selected_title">Recordar cambios en la calidad de Shorts</string>
@@ -1474,14 +1478,14 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
<string name="revanced_playback_speed_dialog_button_summary_off">El botón no se muestra</string>
</patch>
<patch id="video.quality.button.videoQualityDialogButtonPatch">
<string name="revanced_video_quality_dialog_button_title">Mostrar botón de calidad de video</string>
<string name="revanced_video_quality_dialog_button_title">Mostrar botón de calidad de vídeo</string>
<string name="revanced_video_quality_dialog_button_summary_on">Botón visible. Toca y mantén para restablecer la calidad a los valores predeterminados</string>
<string name="revanced_video_quality_dialog_button_summary_off">Botón no visible</string>
</patch>
<patch id="video.speed.custom.customPlaybackSpeedPatch">
<string name="revanced_custom_speed_menu_title">Menú de velocidad de reproducción personalizada</string>
<string name="revanced_custom_speed_menu_summary_on">Menú de velocidad personalizado se muestra</string>
<string name="revanced_custom_speed_menu_summary_off">Menú de velocidad personalizado no se muestra</string>
<string name="revanced_custom_speed_menu_summary_on">El menú de velocidad personalizada se muestra</string>
<string name="revanced_custom_speed_menu_summary_off">El menú de velocidad personalizada no se muestra</string>
<string name="revanced_restore_old_speed_menu_title">Restaurar el menú de velocidad de reproducción antiguo</string>
<string name="revanced_restore_old_speed_menu_summary_on">Se muestra el menú de velocidad antiguo</string>
<string name="revanced_restore_old_speed_menu_summary_off">Se muestra el menú de velocidad moderno</string>
@@ -1516,7 +1520,7 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
<string name="revanced_slide_to_seek_title">Habilitar diapositiva para buscar</string>
<string name="revanced_slide_to_seek_summary_on">Deslizar para buscar está activado</string>
<string name="revanced_slide_to_seek_summary_off">Slide to seek no está habilitado</string>
<string name="revanced_slide_to_seek_summary_off">Slide to seek no está activado</string>
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_screen_title">Falsificación del stream de vídeo</string>
@@ -1529,21 +1533,21 @@ Es posible que la reproducción de vídeo no funcione"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Desactivar esta configuración puede causar problemas de reproducción de vídeo.</string>
<string name="revanced_spoof_video_streams_client_type_title">Cliente por defecto</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forzar iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">El códec de video se fuerza a AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El códec de video se determina automáticamente</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">El códec de vídeo se fuerza a AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El códec de vídeo se determina automáticamente</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Habilitar esto puede mejorar la duración de la batería y solucionar el tartamudeo de la reproducción.
AVC tiene una resolución máxima de 1080p, el códec de audio Opus no está disponible y la reproducción de video utilizará más datos de Internet que VP9 o AV1."</string>
AVC tiene una resolución máxima de 1080p, el códec de audio Opus no está disponible y la reproducción de vídeo utilizará más datos de Internet que VP9 o AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Efectos secundarios de la suplantación de iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Es posible que las películas o los videos pagos no se reproduzcan
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Es posible que las películas o los vídeos pagos no se reproduzcan
• El volumen estable no está disponible
• Los videos terminan 1 segundo antes"</string>
• Los vídeos terminan 1 segundo antes"</string>
<string name="revanced_spoof_video_streams_about_android_title">Efectos secundarios de la suplantación de Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Falta el menú de la pista de audio
• El volumen estable no está disponible
• Forzar el audio original no está disponible"</string>
<string name="revanced_spoof_video_streams_about_no_av1">• No AV1 códec de vídeo</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Es posible que los videos infantiles no se reproduzcan cuando se cierra la sesión o se está en modo incógnito</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Es posible que los vídeos infantiles no se reproduzcan cuando se cierra la sesión o se está en modo incógnito</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Mostrar en Estadísticas para nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">El tipo de cliente se muestra en Estadísticas para nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">El cliente está oculto en Estadísticas para nerds</string>
@@ -1584,7 +1588,7 @@ AVC tiene una resolución máxima de 1080p, el códec de audio Opus no está dis
<patch id="debug.debugModePatch">
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
<string name="revanced_twitch_debug_mode_title">Activar modo de depuración de Twitch</string>
<string name="revanced_twitch_debug_mode_summary_on">El modo de depuración de Twitch está habilitado (no recomendado)</string>
<string name="revanced_twitch_debug_mode_summary_on">El modo de depuración de Twitch está activado (no recomendado)</string>
<string name="revanced_twitch_debug_mode_summary_off">El modo de depuración de Twitch está desactivado</string>
</patch>
<patch id="misc.settings.settingsPatch">

View File

@@ -1075,10 +1075,12 @@ Teie kasutajatunnis on nagu parool ja seda ei tohiks kunagi jagada.
<string name="revanced_sb_segments_intro_sum">Ajavahemik, millel pole tegelikku sisu. Võib olla paus, staatiline kaader või korduv animatsioon. Ei sisalda üleminekuid, mis sisaldavad teavet</string>
<string name="revanced_sb_segments_outro">Lõpukaardid / Tiitrid</string>
<string name="revanced_sb_segments_outro_sum">Tiitrid või YouTube\'i lõppkaardid. Ei ole mõeldud järelduste jaoks, mis sisaldavad teavet</string>
<string name="revanced_sb_segments_preview">Eelvaade/Kokkuvõte/Konks</string>
<string name="revanced_sb_segments_hook">Konks / Tervitused</string>
<string name="revanced_sb_segments_hook_sum">Jutustatud treilerid eelseisvatele videotele, tervitused ja hüvasti jätmised. Ei hõlma osi, mis lisavad täiendavat sisu</string>
<string name="revanced_sb_segments_preview">Eelvaade / Kokkuvõte</string>
<string name="revanced_sb_segments_preview_sum">Klipi kogum, mis näitab, mis tulemas on või mis juhtus videos või teistes sarja videotes, kus kogu teave on korduv</string>
<string name="revanced_sb_segments_filler">Täiteaine/Naljad</string>
<string name="revanced_sb_segments_filler_sum">Tangentsiaalsed stseenid, mis on lisatud ainult täiteainena või huumorina, mis ei ole vajalikud video peamise sisu mõistmiseks. Ei sisalda segmente, mis annavad konteksti või taustateavet</string>
<string name="revanced_sb_segments_filler">Kõrvalepõige / Naljad</string>
<string name="revanced_sb_segments_filler_sum">Kõrvalised stseenid või naljad, mis pole video peamise sisu mõistmiseks vajalikud. Ei hõlma osi, mis pakuvad konteksti või taustateavet</string>
<string name="revanced_sb_segments_nomusic">Muusika: Muusikavaba osa</string>
<string name="revanced_sb_segments_nomusic_sum">Ainult muusikavideote puhul. Muusikavideote osad ilma muusikata, mis ei ole juba kaetud mõne teise kategooriaga</string>
<string name="revanced_sb_skip_button_compact">Jäta vahele</string>
@@ -1091,10 +1093,11 @@ Teie kasutajatunnis on nagu parool ja seda ei tohiks kunagi jagada.
<string name="revanced_sb_skip_button_intro_middle">Jäta vahepausini</string>
<string name="revanced_sb_skip_button_intro_end">Jäta vahepausini</string>
<string name="revanced_sb_skip_button_outro">Jäta lõppuni</string>
<string name="revanced_sb_skip_button_hook">Jäta sissejuhatus vahele</string>
<string name="revanced_sb_skip_button_preview_beginning">Jäta eelvaatesse</string>
<string name="revanced_sb_skip_button_preview_middle">Jäta eelvaatesse</string>
<string name="revanced_sb_skip_button_preview_end">Jäta kokkuvõttes</string>
<string name="revanced_sb_skip_button_filler">Jäta täiteaine vahele</string>
<string name="revanced_sb_skip_button_filler">Jäta kõrvalepõige vahele</string>
<string name="revanced_sb_skip_button_nomusic">Jäta muusikavaba osa vahele</string>
<string name="revanced_sb_skip_button_unsubmitted">Jäta segment vahele</string>
<string name="revanced_sb_skipped_sponsor">Reklaam vahele jäetud</string>
@@ -1105,10 +1108,11 @@ Teie kasutajatunnis on nagu parool ja seda ei tohiks kunagi jagada.
<string name="revanced_sb_skipped_intro_middle">Vahepaus vahele jäetud</string>
<string name="revanced_sb_skipped_intro_end">Vahepaus vahele jäetud</string>
<string name="revanced_sb_skipped_outro">Lõpp vahele jäetud</string>
<string name="revanced_sb_skipped_hook">Sissejuhatus vahele jäetud</string>
<string name="revanced_sb_skipped_preview_beginning">Eelvaade vahele jäetud</string>
<string name="revanced_sb_skipped_preview_middle">Eelvaade vahele jäetud</string>
<string name="revanced_sb_skipped_preview_end">Kokkuvõte vahele jäetud</string>
<string name="revanced_sb_skipped_filler">Täiteaine vahele jäetud</string>
<string name="revanced_sb_skipped_filler">Kõrvalepõige vahele jäetud</string>
<string name="revanced_sb_skipped_nomusic">Muusikavaba osa vahele jäetud</string>
<string name="revanced_sb_skipped_unsubmitted">Esitamata segment vahele jäetud</string>
<string name="revanced_sb_skipped_multiple_segments">Mitmed segmendid vahele jäetud</string>

View File

@@ -1072,10 +1072,12 @@ UserID on kuin salasana, eikä sitä pidä jakaa kenellekään.
<string name="revanced_sb_segments_intro_sum">Aikaväli ilman varsinaista sisältöä. Voi olla tauko, staattinen kehys tai toistuva animaatio. Ei sisällä siirtymiä, jotka sisältävät tietoa</string>
<string name="revanced_sb_segments_outro">Loppukortit / Tekijätiedot</string>
<string name="revanced_sb_segments_outro_sum">Lopputekstit tai kun YouTuben loppukortit tulevat näkyviin. Ei lopetuksille, joissa on tietoa</string>
<string name="revanced_sb_segments_preview">Esikatselu/Kertaus/Koukku</string>
<string name="revanced_sb_segments_hook">Koukku / Tervehdykset</string>
<string name="revanced_sb_segments_hook_sum">Kertovat trailerit tulevasta videosta, tervehdykset ja hyvästelyt. Ei sisällä osioita, jotka lisäävät lisäsisältöä</string>
<string name="revanced_sb_segments_preview">Esikatselu / Yhteenveto</string>
<string name="revanced_sb_segments_preview_sum">Kokoelma leikkeitä, jotka osoittavat, mitä on tulossa tai mitä tapahtui videossa tai muissa sarjan videoissa, joiden kaikki informaatio toistuu muualla</string>
<string name="revanced_sb_segments_filler">Epäolennainen täytesisältö/Vitsit</string>
<string name="revanced_sb_segments_filler_sum">Täytteeksi tai huumoriksi lisättyjä toissijaisia kohtauksia, joita videon pääsisällön ymmärrys ei edellytä. Ei sisällä aiheeseen liittyviä tai taustatietoja tarjoavia osioita</string>
<string name="revanced_sb_segments_filler">Tangentti / Vitsit</string>
<string name="revanced_sb_segments_filler_sum">Epäolennaiset kohtaukset tai vitsit, joita ei tarvita videon pääsisällön ymmärtämiseen. Ei sisällä osioita, jotka tarjoavat kontekstia tai taustatietoja</string>
<string name="revanced_sb_segments_nomusic">Musiikki: Musiikiton osa</string>
<string name="revanced_sb_segments_nomusic_sum">Vain musiikkivideoille. Musiikkivideoiden osiot ilman musiikkia, jotka eivät jo kuulu toiseen kategoriaan</string>
<string name="revanced_sb_skip_button_compact">Ohita</string>
@@ -1088,10 +1090,11 @@ UserID on kuin salasana, eikä sitä pidä jakaa kenellekään.
<string name="revanced_sb_skip_button_intro_middle">Ohita tauko</string>
<string name="revanced_sb_skip_button_intro_end">Ohita tauko</string>
<string name="revanced_sb_skip_button_outro">Ohita outro</string>
<string name="revanced_sb_skip_button_hook">Ohita koukku</string>
<string name="revanced_sb_skip_button_preview_beginning">Ohita esikatselu</string>
<string name="revanced_sb_skip_button_preview_middle">Ohita esikatselu</string>
<string name="revanced_sb_skip_button_preview_end">Ohita kertaus</string>
<string name="revanced_sb_skip_button_filler">Ohita täytesisältö</string>
<string name="revanced_sb_skip_button_filler">Ohita Tangentti</string>
<string name="revanced_sb_skip_button_nomusic">Ohita musiikiton</string>
<string name="revanced_sb_skip_button_unsubmitted">Ohita osio</string>
<string name="revanced_sb_skipped_sponsor">Sponsori ohitettiin</string>
@@ -1102,10 +1105,11 @@ UserID on kuin salasana, eikä sitä pidä jakaa kenellekään.
<string name="revanced_sb_skipped_intro_middle">Tauko ohitettiin</string>
<string name="revanced_sb_skipped_intro_end">Tauko ohitettiin</string>
<string name="revanced_sb_skipped_outro">Outro ohitettiin</string>
<string name="revanced_sb_skipped_hook">Ohitettu koukku</string>
<string name="revanced_sb_skipped_preview_beginning">Esikatselu ohitettiin</string>
<string name="revanced_sb_skipped_preview_middle">Esikatselu ohitettiin</string>
<string name="revanced_sb_skipped_preview_end">Kertaus ohitettiin</string>
<string name="revanced_sb_skipped_filler">Täytesisältö ohitettiin</string>
<string name="revanced_sb_skipped_filler">Ohitettu tangentti</string>
<string name="revanced_sb_skipped_nomusic">Musiikiton osio ohitettiin</string>
<string name="revanced_sb_skipped_unsubmitted">Lähettämätön osio ohitettiin</string>
<string name="revanced_sb_skipped_multiple_segments">Useita osioita ohitettiin</string>

View File

@@ -1073,10 +1073,12 @@ Ang iyong user id ay parang isang password at hindi dapat ibahagi.
<string name="revanced_sb_segments_intro_sum">Isang agwat na walang aktwal na nilalaman. Maaaring isang pause, static na frame, o umuulit na animation. Hindi kasama ang mga transition na naglalaman ng impormasyon</string>
<string name="revanced_sb_segments_outro">Mga Endcard / Credit</string>
<string name="revanced_sb_segments_outro_sum">Mga kredito o kapag lumitaw ang mga endcard ng YouTube. Hindi para sa mga konklusyon na may impormasyon</string>
<string name="revanced_sb_segments_preview">Preview/Recap/Hook</string>
<string name="revanced_sb_segments_hook">Panimula / Pagbati</string>
<string name="revanced_sb_segments_hook_sum">Mga sinasalaysay na trailer para sa paparating na video, pagbati at pamamaalam. Hindi kasama ang mga seksyon na nagdaragdag ng karagdagang nilalaman</string>
<string name="revanced_sb_segments_preview">Preview / Balik-tanaw</string>
<string name="revanced_sb_segments_preview_sum">Koleksyon ng mga clip na nagpapakita kung ano ang paparating o kung ano ang nangyari sa video o sa iba pang mga video ng isang serye, kung saan ang lahat ng impormasyon ay inuulit sa ibang lugar</string>
<string name="revanced_sb_segments_filler">Filler Tangent/Jokes</string>
<string name="revanced_sb_segments_filler_sum">Ang mga tangential na eksena ay idinagdag lamang para sa tagapuno o katatawanan na hindi kinakailangan upang maunawaan ang pangunahing nilalaman ng video. Hindi kasama ang mga segment na nagbibigay ng mga detalye ng konteksto o background</string>
<string name="revanced_sb_segments_filler">Paglihis / Mga Biro</string>
<string name="revanced_sb_segments_filler_sum">Mga eksena o biro na hindi kinakailangan upang maunawaan ang pangunahing nilalaman ng video. Hindi kasama ang mga seksyon na nagbibigay ng konteksto o detalye sa background</string>
<string name="revanced_sb_segments_nomusic">Musika: Seksyon na Hindi Musika</string>
<string name="revanced_sb_segments_nomusic_sum">Para lang gamitin sa mga music video. Mga seksyon ng mga music video na walang musika, na hindi pa sakop ng isa pang kategorya</string>
<string name="revanced_sb_skip_button_compact">Laktawan</string>
@@ -1089,10 +1091,11 @@ Ang iyong user id ay parang isang password at hindi dapat ibahagi.
<string name="revanced_sb_skip_button_intro_middle">Laktawan ang intermission</string>
<string name="revanced_sb_skip_button_intro_end">Laktawan ang intermission</string>
<string name="revanced_sb_skip_button_outro">Laktawan ang isa pa</string>
<string name="revanced_sb_skip_button_hook">Laktawan ang hook</string>
<string name="revanced_sb_skip_button_preview_beginning">Laktawan ang preview</string>
<string name="revanced_sb_skip_button_preview_middle">Laktawan ang preview</string>
<string name="revanced_sb_skip_button_preview_end">Laktawan ang recap</string>
<string name="revanced_sb_skip_button_filler">Laktawan ang tagapuno</string>
<string name="revanced_sb_skip_button_filler">Laktawan ang tangent</string>
<string name="revanced_sb_skip_button_nomusic">Laktawan ang hindi musika</string>
<string name="revanced_sb_skip_button_unsubmitted">Laktawan ang segment</string>
<string name="revanced_sb_skipped_sponsor">Nilagpasang isponsor</string>
@@ -1103,10 +1106,11 @@ Ang iyong user id ay parang isang password at hindi dapat ibahagi.
<string name="revanced_sb_skipped_intro_middle">Nilaktawan ang intermission</string>
<string name="revanced_sb_skipped_intro_end">Nilaktawan ang intermission</string>
<string name="revanced_sb_skipped_outro">Nilagpasang wakas</string>
<string name="revanced_sb_skipped_hook">Nalaktawan ang hook</string>
<string name="revanced_sb_skipped_preview_beginning">Nilaktawan ang preview</string>
<string name="revanced_sb_skipped_preview_middle">Nilaktawan ang preview</string>
<string name="revanced_sb_skipped_preview_end">Nilaktawan ang recap</string>
<string name="revanced_sb_skipped_filler">Nilaktawan ang tagapuno</string>
<string name="revanced_sb_skipped_filler">Nalaktawan ang tangent</string>
<string name="revanced_sb_skipped_nomusic">Nilaktawan ang isang seksyon na hindi musika</string>
<string name="revanced_sb_skipped_unsubmitted">Nilaktawan ang hindi naisumiteng segment</string>
<string name="revanced_sb_skipped_multiple_segments">Nilaktawan ang maraming segment</string>

View File

@@ -1076,10 +1076,12 @@ Votre ID d'utilisateur est comme un mot de passe et ne doit jamais être partag
<string name="revanced_sb_segments_intro_sum">Un intervalle sans contenu réel. Il peut s\'agir d\'une pause, d\'une image statique ou d\'une animation répétitive. N\'inclut pas les transitions contenant des informations.</string>
<string name="revanced_sb_segments_outro">Écrans de fin / Crédits</string>
<string name="revanced_sb_segments_outro_sum">Crédits ou moment où apparaissent les écrans de fin YouTube. Pas pour les conclusions contenant des informations.</string>
<string name="revanced_sb_segments_preview">Aperçu/Résumé/Accroche</string>
<string name="revanced_sb_segments_hook">Accroche / Salutations</string>
<string name="revanced_sb_segments_hook_sum">Présentation de la vidéo actuelle ou d\'une prochaine vidéo par le créateur, salutations et au revoir. N\'inclut pas les sections qui ajoutent du contenu supplémentaire</string>
<string name="revanced_sb_segments_preview">Aperçu / Résumé</string>
<string name="revanced_sb_segments_preview_sum">Collection de clips qui présentent ce qui va suivre ou ce qui s\'est passé dans la vidéo ou dans d\'autres vidéos d\'une série, où toutes les informations sont répétées ailleurs</string>
<string name="revanced_sb_segments_filler">Digressions/Blagues</string>
<string name="revanced_sb_segments_filler_sum">Digressions ou blagues non nécessaires à la compréhension du contenu principal de la vidéo. Ne contient pas de segments fournissant du contexte ou des détails.</string>
<string name="revanced_sb_segments_filler">Digression / Blagues</string>
<string name="revanced_sb_segments_filler_sum">Digressions ou blagues non nécessaires à la compréhension du contenu principal de la vidéo. Cette catégorie ne devrait pas contenir de segments fournissant du contexte ou des détails secondaires</string>
<string name="revanced_sb_segments_nomusic">Musique : Segment non musical</string>
<string name="revanced_sb_segments_nomusic_sum">Uniquement pour utilisation dans les vidéos musicales. Sections non musicales dans les clips, qui ne sont pas déjà couvertes par une autre catégorie.</string>
<string name="revanced_sb_skip_button_compact">Passer</string>
@@ -1092,10 +1094,11 @@ Votre ID d'utilisateur est comme un mot de passe et ne doit jamais être partag
<string name="revanced_sb_skip_button_intro_middle">Passer l\'entracte</string>
<string name="revanced_sb_skip_button_intro_end">Passer l\'entracte</string>
<string name="revanced_sb_skip_button_outro">Passer l\'outro</string>
<string name="revanced_sb_skip_button_hook">Passer l\'accroche</string>
<string name="revanced_sb_skip_button_preview_beginning">Passer l\'aperçu</string>
<string name="revanced_sb_skip_button_preview_middle">Passer l\'aperçu</string>
<string name="revanced_sb_skip_button_preview_end">Passer le résumé</string>
<string name="revanced_sb_skip_button_filler">Passer remplissage</string>
<string name="revanced_sb_skip_button_filler">Passer la digression</string>
<string name="revanced_sb_skip_button_nomusic">Passer non musical</string>
<string name="revanced_sb_skip_button_unsubmitted">Passer le segment</string>
<string name="revanced_sb_skipped_sponsor">Sponsor ignoré</string>
@@ -1106,10 +1109,11 @@ Votre ID d'utilisateur est comme un mot de passe et ne doit jamais être partag
<string name="revanced_sb_skipped_intro_middle">Entracte ignoré</string>
<string name="revanced_sb_skipped_intro_end">Entracte ignoré</string>
<string name="revanced_sb_skipped_outro">Outro ignorée</string>
<string name="revanced_sb_skipped_hook">Accroche ignorée</string>
<string name="revanced_sb_skipped_preview_beginning">Aperçu ignoré</string>
<string name="revanced_sb_skipped_preview_middle">Aperçu ignoré</string>
<string name="revanced_sb_skipped_preview_end">Résumé ignoré</string>
<string name="revanced_sb_skipped_filler">Remplissage ignoré</string>
<string name="revanced_sb_skipped_filler">Digression ignorée</string>
<string name="revanced_sb_skipped_nomusic">Section non musicale ignorée</string>
<string name="revanced_sb_skipped_unsubmitted">Segment non soumis ignoré</string>
<string name="revanced_sb_skipped_multiple_segments">Plusieurs segments ignorés</string>

View File

@@ -1075,10 +1075,12 @@ Is cosúil le pasfhocal é do ID úsáideora agus níor cheart é a roinnt riamh
<string name="revanced_sb_segments_intro_sum">Eatraimh gan ábhar iarbhír. D\'fhéadfadh sé a bheith ina sos, fráma statach, nó beochan athrá. Ní chuimsíonn sé aistrithe ina bhfuil faisnéis</string>
<string name="revanced_sb_segments_outro">Cártaí Deiridh / Creidiúintí</string>
<string name="revanced_sb_segments_outro_sum">Creidmheasanna nó nuair a thaispeántar na cártaí YouTube. Ní le haghaidh conclúidí le faisnéis</string>
<string name="revanced_sb_segments_preview">Réamhamhar/Athbhreithniú/Crúca</string>
<string name="revanced_sb_segments_hook">Hook / Beannachtaí</string>
<string name="revanced_sb_segments_hook_sum">Leantóirí inste don fhíseán atá le teacht, beannachtaí agus slán. Ní chuimsíonn sé ailt a chuireann ábhar breise leis</string>
<string name="revanced_sb_segments_preview">Réamhamharc / Achoimre</string>
<string name="revanced_sb_segments_preview_sum">Bailiúchán gearrthóga a thaispeánann cad atá ag teacht suas nó cad a tharla san fhíseán nó i bhfíseáin eile de shraith, áit a ndéantar gach faisnéis arís eile in áit eile</string>
<string name="revanced_sb_segments_filler">Tadhall Líonta/Greann</string>
<string name="revanced_sb_segments_filler_sum">Ní chuirtear radhairc tangensiúla ach le haghaidh líonta nó greann nach gá chun príomhábhar an fhíseáin a thuiscint. Ní chuimsíonn sé deighleoga a sholáthraíonn sonraí comhthéacs</string>
<string name="revanced_sb_segments_filler">Seachrán / Scéalta Grinn</string>
<string name="revanced_sb_segments_filler_sum">Radhairc nó scéalta grinn imeallacha nach gá chun príomhábhar an fhíseáin a thuiscint. Níor cheart go n-áireofaí anseo deighleoga a sholáthraíonn comhthéacs nó sonraí cúlra</string>
<string name="revanced_sb_segments_nomusic">Ceol: Rannóg Neamh-Cheoil</string>
<string name="revanced_sb_segments_nomusic_sum">Le húsáid amháin i bhfíseáin ceoil. Rannóga d\'fhíseáin ceoil gan ceol, nach bhfuil clúdaithe ag catagóir eile cheana féin</string>
<string name="revanced_sb_skip_button_compact">Scip</string>
@@ -1091,10 +1093,11 @@ Is cosúil le pasfhocal é do ID úsáideora agus níor cheart é a roinnt riamh
<string name="revanced_sb_skip_button_intro_middle">Scip idirghabháil</string>
<string name="revanced_sb_skip_button_intro_end">Scip idirghabháil</string>
<string name="revanced_sb_skip_button_outro">Scip an forchríoch</string>
<string name="revanced_sb_skip_button_hook">Scipeáil crúca</string>
<string name="revanced_sb_skip_button_preview_beginning">Scip réamhamharc</string>
<string name="revanced_sb_skip_button_preview_middle">Scip réamhamharc</string>
<string name="revanced_sb_skip_button_preview_end">Scip an achoimre</string>
<string name="revanced_sb_skip_button_filler">Scip líonadh</string>
<string name="revanced_sb_skip_button_filler">Scipeáil imeall</string>
<string name="revanced_sb_skip_button_nomusic">Scip neamh-cheol</string>
<string name="revanced_sb_skip_button_unsubmitted">Scip deighleog</string>
<string name="revanced_sb_skipped_sponsor">Urra scipeáilte</string>
@@ -1105,10 +1108,11 @@ Is cosúil le pasfhocal é do ID úsáideora agus níor cheart é a roinnt riamh
<string name="revanced_sb_skipped_intro_middle">Idirmheas scipeáilte</string>
<string name="revanced_sb_skipped_intro_end">Idirmheas scipeáilte</string>
<string name="revanced_sb_skipped_outro">Scipeáilte an forchríoch</string>
<string name="revanced_sb_skipped_hook">Crúca scipeáilte</string>
<string name="revanced_sb_skipped_preview_beginning">Scipeáilte an réamhléiriú</string>
<string name="revanced_sb_skipped_preview_middle">Scipeáilte an réamhléiriú</string>
<string name="revanced_sb_skipped_preview_end">Athbhreithniú scipeáilte</string>
<string name="revanced_sb_skipped_filler">Líonadh scipeáilte</string>
<string name="revanced_sb_skipped_filler">Imeall scipeáilte</string>
<string name="revanced_sb_skipped_nomusic">Scaoileadh rannán neamh-cheoil</string>
<string name="revanced_sb_skipped_unsubmitted">Deighleog gan curtha isteach scipeáilte</string>
<string name="revanced_sb_skipped_multiple_segments">Scipeáilte go leor deighleoga</string>

View File

@@ -1075,10 +1075,12 @@ A felhasználói azonosítója olyan, mint egy jelszó, és soha nem szabad mego
<string name="revanced_sb_segments_intro_sum">Egy részlet tartalom nélkül. Lehet szünet, álló képkocka, vagy ismétlődő animáció. Nem használandó információt tartalmazó átmeneteknél</string>
<string name="revanced_sb_segments_outro">Záróképernyő / Köszönetek</string>
<string name="revanced_sb_segments_outro_sum">Stáblista, vagy amikor megjelennek a YouTube zárókártyák. Nem tartozik bele az információt tartalmazó összegzés</string>
<string name="revanced_sb_segments_preview">Előzetes/Ismétlés</string>
<string name="revanced_sb_segments_hook">Bevezetés / Üdvözlet</string>
<string name="revanced_sb_segments_hook_sum">Narrált előzetesek a közelgő videóhoz, üdvözlések és búcsúzások. Nem tartalmaz olyan szakaszokat, amelyek további tartalmat adnak hozzá</string>
<string name="revanced_sb_segments_preview">Előnézet / Összefoglaló</string>
<string name="revanced_sb_segments_preview_sum">Olyan klipek gyűjteménye, amik azt mutatják, hogy mi következik majd ebben, vagy a sorozat más videóiban és minden információ megismétlődik később a videóban</string>
<string name="revanced_sb_segments_filler">Érintőleges tartalom/Viccek</string>
<string name="revanced_sb_segments_filler_sum">Csak töltelék vagy humornak hozzáadott részek, amik nem szükségesek a videó fő tartalmának megértéséhez. Ne tartalmazzon olyan szegmenseket, amik kontextust, vagy háttérinformációt szolgáltatnak</string>
<string name="revanced_sb_segments_filler">Kitérés / Viccek</string>
<string name="revanced_sb_segments_filler_sum">Mellékes jelenetek vagy viccek, amelyek nem szükségesek a videó fő tartalmának megértéséhez. Ez nem foglalja magában azokat a szegmenseket, amelyek kontextust vagy háttérinformációkat nyújtanak</string>
<string name="revanced_sb_segments_nomusic">Zene: zenementes rész</string>
<string name="revanced_sb_segments_nomusic_sum">Csak zenei videókhoz használható. Zenei videók zene nélküli részei, amelyek még nem tartoznak más kategóriába</string>
<string name="revanced_sb_skip_button_compact">Kihagyás</string>
@@ -1091,10 +1093,11 @@ A felhasználói azonosítója olyan, mint egy jelszó, és soha nem szabad mego
<string name="revanced_sb_skip_button_intro_middle">Szünet kihagyása</string>
<string name="revanced_sb_skip_button_intro_end">Szünet kihagyása</string>
<string name="revanced_sb_skip_button_outro">Outro kihagyása</string>
<string name="revanced_sb_skip_button_hook">Horog kihagyása</string>
<string name="revanced_sb_skip_button_preview_beginning">Előnézet kihagyása</string>
<string name="revanced_sb_skip_button_preview_middle">Előnézet kihagyása</string>
<string name="revanced_sb_skip_button_preview_end">Recap kihagyása</string>
<string name="revanced_sb_skip_button_filler">Töltelékrész kihagyása</string>
<string name="revanced_sb_skip_button_filler">Mellékes rész kihagyása</string>
<string name="revanced_sb_skip_button_nomusic">Nem zenei rész kihagyása</string>
<string name="revanced_sb_skip_button_unsubmitted">Szakasz kihagyása</string>
<string name="revanced_sb_skipped_sponsor">Szponzor kihagyva</string>
@@ -1105,10 +1108,11 @@ A felhasználói azonosítója olyan, mint egy jelszó, és soha nem szabad mego
<string name="revanced_sb_skipped_intro_middle">Szünet kihagyva</string>
<string name="revanced_sb_skipped_intro_end">Szünet kihagyva</string>
<string name="revanced_sb_skipped_outro">Outro kihagyva</string>
<string name="revanced_sb_skipped_hook">Horog kihagyva</string>
<string name="revanced_sb_skipped_preview_beginning">Bevezető kihagyva</string>
<string name="revanced_sb_skipped_preview_middle">Bevezető kihagyva</string>
<string name="revanced_sb_skipped_preview_end">Recap kihagyva</string>
<string name="revanced_sb_skipped_filler">Töltelékrész kihagyva</string>
<string name="revanced_sb_skipped_filler">Mellékes rész kihagyva</string>
<string name="revanced_sb_skipped_nomusic">Zenementes rész kihagyva</string>
<string name="revanced_sb_skipped_unsubmitted">Beküldésre váró rész kihagyva</string>
<string name="revanced_sb_skipped_multiple_segments">Több szakasz kihagyva</string>

View File

@@ -1076,10 +1076,12 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_sb_segments_intro_sum">Ժամանակահատված, որը չունի իրական content: Կարող է լինել դադար, կայուն կադր կամ կրկնվող անիմացիա: Չի ներառում transitions, որոնք պարունակում են տեղեկություն</string>
<string name="revanced_sb_segments_outro">Վերջնական տիտրեր / Տիտրեր</string>
<string name="revanced_sb_segments_outro_sum">Կրեդիտները կամ երբ YouTube-ի վերջնական քարտերը հայտնվում են։ Չի կիրառվում տեղեկատվություն ներառող եզրափակումների համար</string>
<string name="revanced_sb_segments_preview">Նախադիտում/Համառոտ վերանայում/Կեռ</string>
<string name="revanced_sb_segments_hook">Ներածություն / Ողջույններ</string>
<string name="revanced_sb_segments_hook_sum">Առաջիկա տեսանյութի պատմողական անոնսներ, ողջույններ և հրաժեշտներ։ Չի ներառում լրացուցիչ բովանդակություն ավելացնող հատվածներ</string>
<string name="revanced_sb_segments_preview">Նախադիտում / Ամփոփում</string>
<string name="revanced_sb_segments_preview_sum">Կտորների հավաքածու, որոնք ցույց են տալիս, թե ինչ է գալու կամ ինչ է պատահել տեսանյութում կամ սերիայի այլ տեսանյութերում, որտեղ բոլոր տեղեկությունները կրկնվում են այլուր</string>
<string name="revanced_sb_segments_filler">Լցոնիչ կողմնակի թեմա/Ծիծաղելի</string>
<string name="revanced_sb_segments_filler_sum">Շոշափող տեսարաններ ավելացվել են միայն լցոնման կամ հումորի համար, որոնք չեն պահանջվում տեսանյութի հիմնական բովանդակությունը հասկանալու համար: Չի ներառում ենթատեքստ կամ ֆոնային մանրամասներ տրամադրող հատվածներ</string>
<string name="revanced_sb_segments_filler">Շեղում / Կատակներ</string>
<string name="revanced_sb_segments_filler_sum">Երկրորդական տեսարաններ կամ կատակներ, որոնք անհրաժեշտ չեն տեսանյութի հիմնական բովանդակությունը հասկանալու համար։ Չի ներառում համատեքստ կամ ֆոնային մանրամասներ տրամադրող հատվածներ</string>
<string name="revanced_sb_segments_nomusic">Երաժշտություն՝ ոչ երաժշտական բաժին</string>
<string name="revanced_sb_segments_nomusic_sum">Միայն երաժշտական տեսահոլովակներում օգտագործելու համար: Երաժշտական տեսահոլովակների բաժիններ առանց երաժշտության, որոնք դեռ չեն ընդգրկված մեկ այլ կատեգորիայի կողմից</string>
<string name="revanced_sb_skip_button_compact">Բաց թողնել</string>
@@ -1092,10 +1094,11 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_sb_skip_button_intro_middle">Բաց թողնել ընդմիջումը</string>
<string name="revanced_sb_skip_button_intro_end">Բաց թողնել ընդմիջումը</string>
<string name="revanced_sb_skip_button_outro">Բաց թողնել ավարտը</string>
<string name="revanced_sb_skip_button_hook">Բաց թողնել ներածությունը</string>
<string name="revanced_sb_skip_button_preview_beginning">Բաց թողնել նախադիտումը</string>
<string name="revanced_sb_skip_button_preview_middle">Բաց թողնել նախադիտումը</string>
<string name="revanced_sb_skip_button_preview_end">Բաց թողնել համառոտ վերանայումը</string>
<string name="revanced_sb_skip_button_filler">Բաց թողնել լցոնիչը</string>
<string name="revanced_sb_skip_button_filler">Բաց թողնել շեղումը</string>
<string name="revanced_sb_skip_button_nomusic">Բաց թողնել ոչ-երաժշտական մասը</string>
<string name="revanced_sb_skip_button_unsubmitted">Բաց թողնել հատվածը</string>
<string name="revanced_sb_skipped_sponsor">Բաց թողնված հովանավորը</string>
@@ -1106,10 +1109,11 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_sb_skipped_intro_middle">Բաց թողնել ընդմիջումը</string>
<string name="revanced_sb_skipped_intro_end">Բաց թողնել ընդմիջումը</string>
<string name="revanced_sb_skipped_outro">Բաց թողնված ավարտը</string>
<string name="revanced_sb_skipped_hook">Ներածությունը բաց է թողնված</string>
<string name="revanced_sb_skipped_preview_beginning">Բաց թողնված նախադիտումը</string>
<string name="revanced_sb_skipped_preview_middle">Բաց թողնված նախադիտումը</string>
<string name="revanced_sb_skipped_preview_end">Բաց թողնված համառոտ վերանայումը</string>
<string name="revanced_sb_skipped_filler">Բաց թողնված լցոնիչը</string>
<string name="revanced_sb_skipped_filler">Շեղումը բաց է թողնված</string>
<string name="revanced_sb_skipped_nomusic">Բաց թողնված ոչ-երաժշտական մասը</string>
<string name="revanced_sb_skipped_unsubmitted">Բաց թողնված չհաստատված հատվածը</string>
<string name="revanced_sb_skipped_multiple_segments">Բաց թողնված մի քանի հատվածներ</string>

View File

@@ -1074,10 +1074,12 @@ Id pengguna Anda seperti kata sandi dan jangan pernah dibagikan."</string>
<string name="revanced_sb_segments_intro_sum">Interval tanpa konten yang sebenarnya. Bisa berupa jeda, bingkai statis, atau animasi berulang. Tidak termasuk transisi yang berisi informasi</string>
<string name="revanced_sb_segments_outro">Kartu Akhir / Kredit</string>
<string name="revanced_sb_segments_outro_sum">Kredit atau ketika layar akhir YouTube muncul. Bukan kesimpulan dengan informasi</string>
<string name="revanced_sb_segments_preview">Pratinjau/Rekap/Pengait</string>
<string name="revanced_sb_segments_hook">Pengantar / Sapaan</string>
<string name="revanced_sb_segments_hook_sum">Trailer yang dinarasikan untuk video mendatang, sapaan, dan perpisahan. Tidak termasuk bagian yang menambahkan konten tambahan</string>
<string name="revanced_sb_segments_preview">Pratinjau / Rekap</string>
<string name="revanced_sb_segments_preview_sum">Kumpulan klip yang menunjukkan apa yang akan datang atau apa yang terjadi di video atau di video lain dari sebuah seri, di mana semua informasi diulang di tempat lain</string>
<string name="revanced_sb_segments_filler">Pengisi Tidak Relevan/Lelucon</string>
<string name="revanced_sb_segments_filler_sum">Adegan berbelit-belit yang ditambahkan hanya sebagai filler atau candaan yang tidak diperlukan untuk memahami isi utama video. Tidak termasuk bagian yang mengandung konteks atau detail latar belakang</string>
<string name="revanced_sb_segments_filler">Singgungan / Lelucon</string>
<string name="revanced_sb_segments_filler_sum">Adegan atau lelucon sampingan yang tidak diperlukan untuk memahami konten utama video. Tidak termasuk bagian yang memberikan konteks atau detail latar belakang</string>
<string name="revanced_sb_segments_nomusic">Musik: Bagian Non-Musik</string>
<string name="revanced_sb_segments_nomusic_sum">Hanya untuk digunakan pada video musik. Bagian video musik tanpa musiknya, yang belum tercakup dalam kategori lain</string>
<string name="revanced_sb_skip_button_compact">Lewati</string>
@@ -1090,10 +1092,11 @@ Id pengguna Anda seperti kata sandi dan jangan pernah dibagikan."</string>
<string name="revanced_sb_skip_button_intro_middle">Lewati jeda</string>
<string name="revanced_sb_skip_button_intro_end">Lewati jeda</string>
<string name="revanced_sb_skip_button_outro">Lewati outro</string>
<string name="revanced_sb_skip_button_hook">Lewati pengantar</string>
<string name="revanced_sb_skip_button_preview_beginning">Lewati pratinjau</string>
<string name="revanced_sb_skip_button_preview_middle">Lewati pratinjau</string>
<string name="revanced_sb_skip_button_preview_end">Lewati rekap</string>
<string name="revanced_sb_skip_button_filler">Lewati filler</string>
<string name="revanced_sb_skip_button_filler">Lewati singgungan</string>
<string name="revanced_sb_skip_button_nomusic">Lewati non-musik</string>
<string name="revanced_sb_skip_button_unsubmitted">Lewati segmen</string>
<string name="revanced_sb_skipped_sponsor">Sponsor dilewati</string>
@@ -1104,10 +1107,11 @@ Id pengguna Anda seperti kata sandi dan jangan pernah dibagikan."</string>
<string name="revanced_sb_skipped_intro_middle">Jeda dilewati</string>
<string name="revanced_sb_skipped_intro_end">Jeda dilewati</string>
<string name="revanced_sb_skipped_outro">Outro dilewati</string>
<string name="revanced_sb_skipped_hook">Sapaan dilewati</string>
<string name="revanced_sb_skipped_preview_beginning">Pratinjau dilewati</string>
<string name="revanced_sb_skipped_preview_middle">Pratinjau dilewati</string>
<string name="revanced_sb_skipped_preview_end">Rekap dilewati</string>
<string name="revanced_sb_skipped_filler">Pengisi dilewati</string>
<string name="revanced_sb_skipped_filler">Singgungan dilewati</string>
<string name="revanced_sb_skipped_nomusic">Melewati bagian non-musik</string>
<string name="revanced_sb_skipped_unsubmitted">Melewati segmen yang belum dikirim</string>
<string name="revanced_sb_skipped_multiple_segments">Beberapa segmen dilewati</string>

View File

@@ -1074,10 +1074,12 @@ Il tuo ID utente è come una password e non dovrebbe mai essere condiviso."</str
<string name="revanced_sb_segments_intro_sum">Un intervallo senza contenuto effettivo. Potrebbe essere una pausa, un quadro statico o un\'animazione ripetitiva. Non include transizioni contenenti informazioni</string>
<string name="revanced_sb_segments_outro">Conclusioni / Titoli di coda</string>
<string name="revanced_sb_segments_outro_sum">Riconoscimenti o quando appaiono le carte finali di YouTube. Non per conclusioni con informazioni</string>
<string name="revanced_sb_segments_preview">Anteprima/Recap/Hook</string>
<string name="revanced_sb_segments_hook">Introduzione / Saluti</string>
<string name="revanced_sb_segments_hook_sum">Trailer narrati per il video in arrivo, saluti e addii. Non include sezioni che aggiungono contenuti aggiuntivi</string>
<string name="revanced_sb_segments_preview">Anteprima / Riepilogo</string>
<string name="revanced_sb_segments_preview_sum">Raccolta di clip che mostrano ciò che è in arrivo o ciò che è successo nel video o in altri video di una serie, dove tutte le informazioni sono ripetute altrove</string>
<string name="revanced_sb_segments_filler">Riempitivi irrilevanti/Battute</string>
<string name="revanced_sb_segments_filler_sum">Scene tangenziali aggiunte solo per riempitivo o umorismo che non sono tenuti a capire il contenuto principale del video. Non comprende i segmenti che forniscono dettagli sul contesto o sullo sfondo</string>
<string name="revanced_sb_segments_filler">Divagazione / Battute</string>
<string name="revanced_sb_segments_filler_sum">Scene o battute tangenziali che non sono necessarie per comprendere il contenuto principale del video. Non include sezioni che forniscono contesto o dettagli di sfondo</string>
<string name="revanced_sb_segments_nomusic">Musica: Sezione Non-Musicale</string>
<string name="revanced_sb_segments_nomusic_sum">Solo per l\'uso in video musicali. Sezioni di video musicali senza musica, che non sono già coperti da un\'altra categoria</string>
<string name="revanced_sb_skip_button_compact">Salta</string>
@@ -1090,10 +1092,11 @@ Il tuo ID utente è come una password e non dovrebbe mai essere condiviso."</str
<string name="revanced_sb_skip_button_intro_middle">Salta intermezzo</string>
<string name="revanced_sb_skip_button_intro_end">Salta intermezzo</string>
<string name="revanced_sb_skip_button_outro">Salta conclusione</string>
<string name="revanced_sb_skip_button_hook">Salta aggancio</string>
<string name="revanced_sb_skip_button_preview_beginning">Salta anteprima</string>
<string name="revanced_sb_skip_button_preview_middle">Salta anteprima</string>
<string name="revanced_sb_skip_button_preview_end">Salta riepilogo</string>
<string name="revanced_sb_skip_button_filler">Salta riempimento</string>
<string name="revanced_sb_skip_button_filler">Salta tangenziale</string>
<string name="revanced_sb_skip_button_nomusic">Salta sezione non-musicale</string>
<string name="revanced_sb_skip_button_unsubmitted">Salta segmento</string>
<string name="revanced_sb_skipped_sponsor">Sponsorizzazione saltata</string>
@@ -1104,10 +1107,11 @@ Il tuo ID utente è come una password e non dovrebbe mai essere condiviso."</str
<string name="revanced_sb_skipped_intro_middle">Intermezzo saltato</string>
<string name="revanced_sb_skipped_intro_end">Intermezzo saltato</string>
<string name="revanced_sb_skipped_outro">Conclusione saltata</string>
<string name="revanced_sb_skipped_hook">Aggancio saltato</string>
<string name="revanced_sb_skipped_preview_beginning">Anteprima saltata</string>
<string name="revanced_sb_skipped_preview_middle">Anteprima saltata</string>
<string name="revanced_sb_skipped_preview_end">Riepilogo saltato</string>
<string name="revanced_sb_skipped_filler">Riempitivo saltato</string>
<string name="revanced_sb_skipped_filler">Tangenziale saltata</string>
<string name="revanced_sb_skipped_nomusic">Sezione non-musicale saltata</string>
<string name="revanced_sb_skipped_unsubmitted">Segmento non inviato saltato</string>
<string name="revanced_sb_skipped_multiple_segments">Segmenti multipli saltati</string>

View File

@@ -1077,10 +1077,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">מרווח זמן ללא תוכן ממשי. יכול להיות הפסקה, מסגרת סטטית, או הנפשה חוזרת. אינו כולל מעברים המכילים מידע</string>
<string name="revanced_sb_segments_outro">כרטיסי סיום / קרדיטים</string>
<string name="revanced_sb_segments_outro_sum">קרדיטים או כאשר כרטיסי הסיום של YouTube מופיעים. לא בשביל מסקנות עם מידע</string>
<string name="revanced_sb_segments_preview">קדימון/סיכום/מלכודת</string>
<string name="revanced_sb_segments_hook">פתיח / ברכות</string>
<string name="revanced_sb_segments_hook_sum">קדימונים מקריינים לסרטון הקרוב, ברכות ופרידות. אינו כולל קטעים המוסיפים תוכן נוסף</string>
<string name="revanced_sb_segments_preview">תצוגה מקדימה / סיכום</string>
<string name="revanced_sb_segments_preview_sum">אוסף של קליפים שמראים מה עומד לקרות בקרוב או מה קרה בסרטון או בסרטונים אחרים של סדרה, כאשר כל המידע חוזר על עצמו במקום אחר</string>
<string name="revanced_sb_segments_filler">פילר משיק/בדיחות</string>
<string name="revanced_sb_segments_filler_sum">סצנות משיקות שנוספו רק עבור פילר או הומור שאינן נדרשות כדי להבין את התוכן העיקרי של הסרטון. לא כולל מקטעים המספקים הקשר או פרטי רקע</string>
<string name="revanced_sb_segments_filler">סטייה / בדיחות</string>
<string name="revanced_sb_segments_filler_sum">סצנות או בדיחות צדדיות שאינן נדרשות להבנת התוכן העיקרי של הסרטון. אינו כולל קטעים המספקים הקשר או פרטי רקע</string>
<string name="revanced_sb_segments_nomusic">מוזיקה: קטע שאינו מוזיקה</string>
<string name="revanced_sb_segments_nomusic_sum">לשימוש בסרטוני מוזיקה בלבד. קטעים של סרטוני מוזיקה ללא מוזיקה, שאינם מכוסים כבר על ידי קטגוריה אחרת</string>
<string name="revanced_sb_skip_button_compact">דילוג</string>
@@ -1093,10 +1095,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_intro_middle">דלג על הפסקה</string>
<string name="revanced_sb_skip_button_intro_end">דלג על הפסקה</string>
<string name="revanced_sb_skip_button_outro">דלג על סיום</string>
<string name="revanced_sb_skip_button_hook">דלג על פתיח</string>
<string name="revanced_sb_skip_button_preview_beginning">דלג על קדימון</string>
<string name="revanced_sb_skip_button_preview_middle">דלג על קדימון</string>
<string name="revanced_sb_skip_button_preview_end">דלג על סיכום</string>
<string name="revanced_sb_skip_button_filler">דלג על פילר</string>
<string name="revanced_sb_skip_button_filler">דלג על קטע טנגנציאלי</string>
<string name="revanced_sb_skip_button_nomusic">דלג על שאינו מוזיקה</string>
<string name="revanced_sb_skip_button_unsubmitted">דלג על מקטע</string>
<string name="revanced_sb_skipped_sponsor">דילג על נותן חסות</string>
@@ -1107,10 +1110,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_intro_middle">דילג על הפסקה</string>
<string name="revanced_sb_skipped_intro_end">דילג על הפסקה</string>
<string name="revanced_sb_skipped_outro">דילג על סיום</string>
<string name="revanced_sb_skipped_hook">פתיח דולג</string>
<string name="revanced_sb_skipped_preview_beginning">דילג על קדימון</string>
<string name="revanced_sb_skipped_preview_middle">דילג על קדימון</string>
<string name="revanced_sb_skipped_preview_end">דילג על סיכום</string>
<string name="revanced_sb_skipped_filler">דלג על פילר</string>
<string name="revanced_sb_skipped_filler">קטע טנגנציאלי דולג</string>
<string name="revanced_sb_skipped_nomusic">דילג על קטע שאינו מוזיקה</string>
<string name="revanced_sb_skipped_unsubmitted">דילג על מקטעים שלא נשלחו</string>
<string name="revanced_sb_skipped_multiple_segments">דילג על מקטעים מרובים</string>

View File

@@ -1078,10 +1078,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_sb_segments_intro_sum">実際のコンテンツを含まない区間。一時停止、静止画、繰り返しアニメーションなど。情報を含むトランジッション (場面転換) は、このカテゴリーではありません</string>
<string name="revanced_sb_segments_outro">終了画面 / クレジット</string>
<string name="revanced_sb_segments_outro_sum">クレジット、または YouTube の終了画面が表示される場面。情報を含む結論、まとめ部分は、このカテゴリーには含まれません</string>
<string name="revanced_sb_segments_preview">予告編 / 総集編 / フック</string>
<string name="revanced_sb_segments_hook">フック / あいさつ</string>
<string name="revanced_sb_segments_hook_sum">今後の動画のナレーション付きの予告編、および開幕と別れのあいさつ。重複しない内容や情報を追加する場面は含まれません</string>
<string name="revanced_sb_segments_preview">予告編 / 総集編</string>
<string name="revanced_sb_segments_preview_sum">その動画またはシリーズ内の他の動画で過去に起きたこと、または今後起こることを示すクリップのコレクション。このクリップ群に含まれるすべての情報は、同じ動画の他の部分や他の動画で繰り返されます</string>
<string name="revanced_sb_segments_filler">尺稼ぎの余談 / 冗談</string>
<string name="revanced_sb_segments_filler_sum">動画の本筋を理解するために必要のない、尺稼ぎやユーモアのみを目的として追加された脱線的な場面。コンテキストや背景情報を提供する場面は、このカテゴリーに含まれません</string>
<string name="revanced_sb_segments_filler">余談 / 冗談</string>
<string name="revanced_sb_segments_filler_sum">動画の本筋を理解するために必要のない脱線的な場面または冗談。コンテキストや背景情報を提供する場面は含まれません</string>
<string name="revanced_sb_segments_nomusic">音楽: 楽曲以外の区間</string>
<string name="revanced_sb_segments_nomusic_sum">ミュージック ビデオ専用。ミュージック ビデオの中で楽曲が流れていない区間であり、公式や他のメディアの音源に存在しない区間</string>
<string name="revanced_sb_skip_button_compact">スキップ</string>
@@ -1094,6 +1096,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_sb_skip_button_intro_middle">幕間をスキップ</string>
<string name="revanced_sb_skip_button_intro_end">幕間をスキップ</string>
<string name="revanced_sb_skip_button_outro">エンディングをスキップ</string>
<string name="revanced_sb_skip_button_hook">フックをスキップ</string>
<string name="revanced_sb_skip_button_preview_beginning">予告編をスキップ</string>
<string name="revanced_sb_skip_button_preview_middle">予告編をスキップ</string>
<string name="revanced_sb_skip_button_preview_end">総集編をスキップ</string>
@@ -1108,6 +1111,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_sb_skipped_intro_middle">幕間をスキップしました</string>
<string name="revanced_sb_skipped_intro_end">幕間をスキップしました</string>
<string name="revanced_sb_skipped_outro">エンディングをスキップしました</string>
<string name="revanced_sb_skipped_hook">フックをスキップしました</string>
<string name="revanced_sb_skipped_preview_beginning">予告編をスキップしました</string>
<string name="revanced_sb_skipped_preview_middle">予告編をスキップしました</string>
<string name="revanced_sb_skipped_preview_end">総集編をスキップしました</string>
@@ -1162,7 +1166,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
送信しますか?"</string>
<string name="revanced_sb_new_segment_start_is_before_end">開始位置を終了位置よりも前にしてください</string>
<string name="revanced_sb_new_segment_mark_locations_first">先に開始位置と終了位置を設定してください</string>
<string name="revanced_sb_new_segment_preview_segment_first">セグメントをプレビューしてスムーズにスキップすることを確認してください</string>
<string name="revanced_sb_new_segment_preview_segment_first">セグメントをテストしてスムーズにスキップすることを確認してください</string>
<string name="revanced_sb_new_segment_edit_by_hand_title">セグメントの範囲を手動で編集</string>
<string name="revanced_sb_new_segment_edit_by_hand_content">セグメントの開始位置または終了位置を編集しますか?</string>
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">時間 (位置) の値が無効です</string>

View File

@@ -450,8 +450,8 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
</patch>
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
<string name="revanced_remove_viewer_discretion_dialog_title">시청 경고 다이얼로그 삭제하기</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_on">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 삭제합니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_off">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 삭제하지 않습니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_on">일부 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 삭제합니다</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_off">일부 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 삭제하지 않습니다</string>
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다.</string>
</patch>
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
@@ -1076,10 +1076,12 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_sb_segments_intro_sum">아무 내용도 없는 구간입니다. 애니메이션이나 정적 프레임과 같은 내용을 포함하고 있습니다</string>
<string name="revanced_sb_segments_outro">최종 화면 / 크레딧</string>
<string name="revanced_sb_segments_outro_sum">엔딩 크레딧이나 최종 화면이 나타나는 구간입니다</string>
<string name="revanced_sb_segments_preview">미리 보기 / 요약 / 흥미 유발</string>
<string name="revanced_sb_segments_hook">흥미 유발 / 인사말</string>
<string name="revanced_sb_segments_hook_sum">예정 동영상, 인사말 그리고 마무리 인사말에 대한 내레이션 트레일러 구간입니다. 추가 콘텐츠를 포함하는 부분은 제외됩니다</string>
<string name="revanced_sb_segments_preview">미리 보기 / 요약</string>
<string name="revanced_sb_segments_preview_sum">이전 에피소드를 간략히 요약하거나 현재 동영상의 하이라이트를 미리 보여줍니다</string>
<string name="revanced_sb_segments_filler">주제와 관련 없는 구간</string>
<string name="revanced_sb_segments_filler_sum">전반적인 동영상의 주제를 이해하는 데 필요 없는 내용을 포함하고 있습니다</string>
<string name="revanced_sb_segments_filler_sum">전반적인 동영상의 주제를 이해하는데 필요 없는 내용을 포함하고 있습니다</string>
<string name="revanced_sb_segments_nomusic">음악이 아닌 구간</string>
<string name="revanced_sb_segments_nomusic_sum">음악 동영상에서 음악이 아닌 구간이 해당됩니다</string>
<string name="revanced_sb_skip_button_compact">건너뛰기</string>
@@ -1092,6 +1094,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_sb_skip_button_intro_middle">무음 구간 건너뛰기</string>
<string name="revanced_sb_skip_button_intro_end">무음 구간 건너뛰기</string>
<string name="revanced_sb_skip_button_outro">최종 화면 건너뛰기</string>
<string name="revanced_sb_skip_button_hook">흥미 유발 건너뛰기</string>
<string name="revanced_sb_skip_button_preview_beginning">미리 보기 건너뛰기</string>
<string name="revanced_sb_skip_button_preview_middle">미리 보기 건너뛰기</string>
<string name="revanced_sb_skip_button_preview_end">요약 건너뛰기</string>
@@ -1106,6 +1109,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_sb_skipped_intro_middle">무음 구간을 건너뛰었습니다</string>
<string name="revanced_sb_skipped_intro_end">무음 구간을 건너뛰었습니다</string>
<string name="revanced_sb_skipped_outro">최종 화면을 건너뛰었습니다</string>
<string name="revanced_sb_skipped_hook">흥미 유발 구간을 건너뛰었습니다</string>
<string name="revanced_sb_skipped_preview_beginning">미리 보기를 건너뛰었습니다</string>
<string name="revanced_sb_skipped_preview_middle">미리 보기를 건너뛰었습니다</string>
<string name="revanced_sb_skipped_preview_end">요약을 건너뛰었습니다</string>

View File

@@ -1074,10 +1074,12 @@ Jūsų vartotojo ID yra kaip slaptažodis ir jo niekada nereikėtų dalintis.
<string name="revanced_sb_segments_intro_sum">Intervalas be tikrojo turinio. Gali būti pauzė, statinis kadras arba kartojama animacija. Neįtraukiami perėjimai su informacija</string>
<string name="revanced_sb_segments_outro">Pabaigos intarpai / Titrai</string>
<string name="revanced_sb_segments_outro_sum">Titrai arba kai rodomos „YouTube“ pabaigos kortelės. Netinka išvadoms su informacija</string>
<string name="revanced_sb_segments_preview">Peržiūra / Apžvalga / Kabliukas</string>
<string name="revanced_sb_segments_hook">Įžanga / Pasveikinimai</string>
<string name="revanced_sb_segments_hook_sum">Įgarsinti būsimo vaizdo įrašo anonsai, pasveikinimai ir atsisveikinimai. Neįtraukiamos sekcijos, kurios prideda papildomo turinio</string>
<string name="revanced_sb_segments_preview">Peržiūra / Santrauka</string>
<string name="revanced_sb_segments_preview_sum">Ištraukų rinkinys, rodantis, kas bus toliau arba kas įvyko vaizdo įraše ar kituose serijos vaizdo įrašuose, kur visa informacija kartojama kitur</string>
<string name="revanced_sb_segments_filler">Užpildas / Atsišakojimas / Anekdotai</string>
<string name="revanced_sb_segments_filler_sum">Atsišakojančios scenos, įtrauktos tik kaip užpildas ar humoras, kurios nėra būtinos, kad suprastumėte pagrindinį vaizdo įrašo turinį. Neįtraukiami segmentai, teikiantys kontekstą ar foninę informaciją</string>
<string name="revanced_sb_segments_filler">Nukrypimas / Juokeliai</string>
<string name="revanced_sb_segments_filler_sum">Į šalį nukrypstančios scenos ar anekdotai, kurie nėra būtini pagrindiniam vaizdo įrašo turiniui suprasti. Neįtraukiamos sekcijos, pateikiančios kontekstą ar foninę informaciją</string>
<string name="revanced_sb_segments_nomusic">Muzika: Ne muzikos dalis</string>
<string name="revanced_sb_segments_nomusic_sum">Tinka tik muzikos vaizdo įrašams. Muzikos vaizdo įrašų dalys be muzikos, kurios dar nėra apimtos kita kategorija</string>
<string name="revanced_sb_skip_button_compact">Praleisti</string>
@@ -1090,10 +1092,11 @@ Jūsų vartotojo ID yra kaip slaptažodis ir jo niekada nereikėtų dalintis.
<string name="revanced_sb_skip_button_intro_middle">Praleisti pertrauką</string>
<string name="revanced_sb_skip_button_intro_end">Praleisti pertrauką</string>
<string name="revanced_sb_skip_button_outro">Praleisti pabaigą</string>
<string name="revanced_sb_skip_button_hook">Praleisti įžangą</string>
<string name="revanced_sb_skip_button_preview_beginning">Praleisti peržiūrą</string>
<string name="revanced_sb_skip_button_preview_middle">Praleisti peržiūrą</string>
<string name="revanced_sb_skip_button_preview_end">Praleisti apžvalgą</string>
<string name="revanced_sb_skip_button_filler">Praleisti užpildą</string>
<string name="revanced_sb_skip_button_filler">Praleisti tangentą</string>
<string name="revanced_sb_skip_button_nomusic">Praleisti ne muzikos dalį</string>
<string name="revanced_sb_skip_button_unsubmitted">Praleisti segmentą</string>
<string name="revanced_sb_skipped_sponsor">Praleistas rėmėjas</string>
@@ -1104,10 +1107,11 @@ Jūsų vartotojo ID yra kaip slaptažodis ir jo niekada nereikėtų dalintis.
<string name="revanced_sb_skipped_intro_middle">Praleista pertrauka</string>
<string name="revanced_sb_skipped_intro_end">Praleista pertrauka</string>
<string name="revanced_sb_skipped_outro">Praleista pabaiga</string>
<string name="revanced_sb_skipped_hook">Įžanga praleista</string>
<string name="revanced_sb_skipped_preview_beginning">Praleista peržiūra</string>
<string name="revanced_sb_skipped_preview_middle">Praleista peržiūra</string>
<string name="revanced_sb_skipped_preview_end">Praleista apžvalga</string>
<string name="revanced_sb_skipped_filler">Praleistas užpildas</string>
<string name="revanced_sb_skipped_filler">Tangentas praleistas</string>
<string name="revanced_sb_skipped_nomusic">Praleista ne muzikos dalis</string>
<string name="revanced_sb_skipped_unsubmitted">Praleistas nepateiktas segmentas</string>
<string name="revanced_sb_skipped_multiple_segments">Praleista keli segmentai</string>

View File

@@ -1076,10 +1076,12 @@ Jūsu lietotāja ID ir kā parole, un to nekad nedrīkst dalīties."</string>
<string name="revanced_sb_segments_intro_sum">Intervāls bez faktiska satura. Var būt pauze, statisks kadrs vai atkārtota animācija. Neietver pārejas, kas satur informāciju</string>
<string name="revanced_sb_segments_outro">Noslēguma kartītes / Titri</string>
<string name="revanced_sb_segments_outro_sum">Titri vai tad, kad parādās YouTube noslēguma ekrāni. Neietver secinājumus ar informāciju</string>
<string name="revanced_sb_segments_preview">Priekšskatījums/Atgriezeniskā saite/Āķis</string>
<string name="revanced_sb_segments_hook">Ievads / Sveicieni</string>
<string name="revanced_sb_segments_hook_sum">Stāstīti reklāmas rullīši gaidāmajam video, sveicieni un atvadas. Neietver sadaļas, kas pievieno papildu saturu</string>
<string name="revanced_sb_segments_preview">Priekšskatījums / Kopsavilkums</string>
<string name="revanced_sb_segments_preview_sum">Klipu kolekcija, kas parāda, kas notiks tālāk vai kas notika video vai citās sērijas video, kur visa informācija ir atkārtota citur</string>
<string name="revanced_sb_segments_filler">Aizpildītājs/Anekdotes</string>
<string name="revanced_sb_segments_filler_sum">Tangenciālas ainas, kas pievienotas tikai kā aizpildītājs vai humors, kas nav nepieciešami, lai saprastu video galveno saturu. Neietver segmentus, kas sniedz kontekstu vai pamata informāciju</string>
<string name="revanced_sb_segments_filler">Atkāpes / Joki</string>
<string name="revanced_sb_segments_filler_sum">Sānu ainas vai joki, kas nav nepieciešami, lai saprastu video galveno saturu. Neietver sadaļas, kas sniedz kontekstu vai fona informāciju</string>
<string name="revanced_sb_segments_nomusic">Mūzika: Ne-mūzikas sadaļa</string>
<string name="revanced_sb_segments_nomusic_sum">Lietojams tikai mūzikas video. Mūzikas video sadaļas bez mūzikas, kas jau nav aptvertas citā kategorijā</string>
<string name="revanced_sb_skip_button_compact">Izlaist</string>
@@ -1092,10 +1094,11 @@ Jūsu lietotāja ID ir kā parole, un to nekad nedrīkst dalīties."</string>
<string name="revanced_sb_skip_button_intro_middle">Izlaist pārtraukumu</string>
<string name="revanced_sb_skip_button_intro_end">Izlaist pārtraukumu</string>
<string name="revanced_sb_skip_button_outro">Izlaist noslēgumu</string>
<string name="revanced_sb_skip_button_hook">Izlaist ievadu</string>
<string name="revanced_sb_skip_button_preview_beginning">Izlaist priekšskatījumu</string>
<string name="revanced_sb_skip_button_preview_middle">Izlaist priekšskatījumu</string>
<string name="revanced_sb_skip_button_preview_end">Izlaist atgriezenisko saiti</string>
<string name="revanced_sb_skip_button_filler">Izlaist aizpildītāju</string>
<string name="revanced_sb_skip_button_filler">Izlaist sānu</string>
<string name="revanced_sb_skip_button_nomusic">Izlaist ne-mūzikas sadaļu</string>
<string name="revanced_sb_skip_button_unsubmitted">Izlaist segmentu</string>
<string name="revanced_sb_skipped_sponsor">Izlaista sponsorēšana</string>
@@ -1106,10 +1109,11 @@ Jūsu lietotāja ID ir kā parole, un to nekad nedrīkst dalīties."</string>
<string name="revanced_sb_skipped_intro_middle">Izlaists pārtraukums</string>
<string name="revanced_sb_skipped_intro_end">Izlaists pārtraukums</string>
<string name="revanced_sb_skipped_outro">Izlaists noslēgums</string>
<string name="revanced_sb_skipped_hook">Izlaists ievads</string>
<string name="revanced_sb_skipped_preview_beginning">Izlaists priekšskatījums</string>
<string name="revanced_sb_skipped_preview_middle">Izlaists priekšskatījums</string>
<string name="revanced_sb_skipped_preview_end">Izlaista atgriezeniskā saite</string>
<string name="revanced_sb_skipped_filler">Izlaists aizpildītājs</string>
<string name="revanced_sb_skipped_filler">Izlaists sānu</string>
<string name="revanced_sb_skipped_nomusic">Izlaista ne-mūzikas sadaļa</string>
<string name="revanced_sb_skipped_unsubmitted">Izlaists neiesniegts segments</string>
<string name="revanced_sb_skipped_multiple_segments">Izlaisti vairāki segmenti</string>

View File

@@ -1075,10 +1075,12 @@ Uw gebruikers-ID is als een wachtwoord en mag nooit worden gedeeld.
<string name="revanced_sb_segments_intro_sum">Een interval zonder daadwerkelijke inhoud. Kan een pauze, statisch frame of een herhalende animatie zijn. Bevat geen overgangen met informatie</string>
<string name="revanced_sb_segments_outro">Eindkaarten / Credits</string>
<string name="revanced_sb_segments_outro_sum">Credits of wanneer de YouTube-eindkaarten verschijnen. Niet voor conclusies met informatie</string>
<string name="revanced_sb_segments_preview">Voorbeeld/Terugblik/Haak</string>
<string name="revanced_sb_segments_hook">Intro / Groeten</string>
<string name="revanced_sb_segments_hook_sum">Vertelde trailers voor de aanstaande video, groeten en afscheid. Exclusief secties die extra inhoud toevoegen</string>
<string name="revanced_sb_segments_preview">Voorbeeld / Samenvatting</string>
<string name="revanced_sb_segments_preview_sum">Collectie van clips die laten zien wat er gaat komen of wat er in de video of in andere video\'s van een serie is gebeurd, waar alle informatie elders wordt herhaald</string>
<string name="revanced_sb_segments_filler">Vuller/Grappen</string>
<string name="revanced_sb_segments_filler_sum">Tangentiële scènes die alleen voor vulling of humor zijn toegevoegd en niet nodig zijn om de hoofdinhoud van de video te begrijpen. Bevat geen segmenten die context of achtergronddetails geven</string>
<string name="revanced_sb_segments_filler">Terzijde / Grappen</string>
<string name="revanced_sb_segments_filler_sum">Tangentiaële scènes of grappen die niet nodig zijn om de hoofdinhoud van de video te begrijpen. Exclusief secties die context of achtergronddetails bieden</string>
<string name="revanced_sb_segments_nomusic">Muziek: Niet-muziekgedeelte</string>
<string name="revanced_sb_segments_nomusic_sum">Alleen voor gebruik in muziekvideo\'s. Secties van muziekvideo\'s zonder muziek, die niet al onder een andere categorie vallen</string>
<string name="revanced_sb_skip_button_compact">Overslaan</string>
@@ -1091,10 +1093,11 @@ Uw gebruikers-ID is als een wachtwoord en mag nooit worden gedeeld.
<string name="revanced_sb_skip_button_intro_middle">Pauze overslaan</string>
<string name="revanced_sb_skip_button_intro_end">Pauze overslaan</string>
<string name="revanced_sb_skip_button_outro">Outro overslaan</string>
<string name="revanced_sb_skip_button_hook">Haakje overslaan</string>
<string name="revanced_sb_skip_button_preview_beginning">Voorbeeld overslaan</string>
<string name="revanced_sb_skip_button_preview_middle">Voorbeeld overslaan</string>
<string name="revanced_sb_skip_button_preview_end">Samenvatting overslaan</string>
<string name="revanced_sb_skip_button_filler">Filler overslaan</string>
<string name="revanced_sb_skip_button_filler">Tangent overslaan</string>
<string name="revanced_sb_skip_button_nomusic">Niet-muziek overslaan</string>
<string name="revanced_sb_skip_button_unsubmitted">Segment overslaan</string>
<string name="revanced_sb_skipped_sponsor">Sponsor overgeslagen</string>
@@ -1105,10 +1108,11 @@ Uw gebruikers-ID is als een wachtwoord en mag nooit worden gedeeld.
<string name="revanced_sb_skipped_intro_middle">Pauze overgeslagen</string>
<string name="revanced_sb_skipped_intro_end">Pauze overgeslagen</string>
<string name="revanced_sb_skipped_outro">Outro overgeslagen</string>
<string name="revanced_sb_skipped_hook">Haakje overgeslagen</string>
<string name="revanced_sb_skipped_preview_beginning">Voorbeeld overgeslagen</string>
<string name="revanced_sb_skipped_preview_middle">Voorbeeld overgeslagen</string>
<string name="revanced_sb_skipped_preview_end">Samenvatting overgeslagen</string>
<string name="revanced_sb_skipped_filler">Opvuller overgeslagen</string>
<string name="revanced_sb_skipped_filler">Tangent overgeslagen</string>
<string name="revanced_sb_skipped_nomusic">Een niet-muzieksectie overgeslagen</string>
<string name="revanced_sb_skipped_unsubmitted">Niet-ingediend segment overgeslagen</string>
<string name="revanced_sb_skipped_multiple_segments">Meerdere segmenten overgeslagen</string>

View File

@@ -1071,10 +1071,12 @@ Twój identyfikator użytkownika jest jak hasło i nigdy nie powinno być udost
<string name="revanced_sb_segments_intro_sum">Fragment bez aktualnej zawartości. Może to być pauza, statyczna klatka lub powtarzająca się animacja. Nie dotyczy przejść zawierających informacje</string>
<string name="revanced_sb_segments_outro">Ekran końcowy / Napisy</string>
<string name="revanced_sb_segments_outro_sum">Napisy końcowe lub gdy pojawia się ekran końcowy. Nie dotyczy zakończeń zawierających informacje</string>
<string name="revanced_sb_segments_preview">Zapowiedź/Podsumowanie/Haczyk</string>
<string name="revanced_sb_segments_hook">Wprowadzenie / Pozdrowienia</string>
<string name="revanced_sb_segments_hook_sum">Zwiastuny nadchodzącego wideo z narracją, pozdrowienia i pożegnania. Nie obejmuje sekcji, które dodają dodatkową treść</string>
<string name="revanced_sb_segments_preview">Zapowiedź / Podsumowanie</string>
<string name="revanced_sb_segments_preview_sum">Zbiór klipów pokazujących to, co pojawi się lub co pojawiło się w tym filmie, oraz innych fiilmach z tej serii, w którym wszystkie informacje są gdzieś powielane</string>
<string name="revanced_sb_segments_filler">Nietematyczny Wypełniacz/Żart</string>
<string name="revanced_sb_segments_filler_sum">Sceny nietematyczne dodawane tylko dla wypełniacza lub humoru, które nie są wymagane do zrozumienia głównej treści wideo. Nie obejmuje segmentów zawierających szczegóły kontekstu lub tła</string>
<string name="revanced_sb_segments_filler">Dygresja / Żarty</string>
<string name="revanced_sb_segments_filler_sum">Sceny poboczne lub żarty, które nie są wymagane do zrozumienia głównej treści filmu. Nie obejmuje sekcji dostarczających kontekstu lub szczegółów tła</string>
<string name="revanced_sb_segments_nomusic">Muzyka: Sekcja bez muzyki</string>
<string name="revanced_sb_segments_nomusic_sum">Tylko do użytku w teledyskach. Sekcje teledysków, które nie są uwzględnione w innej kategorii</string>
<string name="revanced_sb_skip_button_compact">Pomiń</string>
@@ -1087,10 +1089,11 @@ Twój identyfikator użytkownika jest jak hasło i nigdy nie powinno być udost
<string name="revanced_sb_skip_button_intro_middle">Pomiń przerywnik</string>
<string name="revanced_sb_skip_button_intro_end">Pomiń przerywnik</string>
<string name="revanced_sb_skip_button_outro">Pomiń zakończenie</string>
<string name="revanced_sb_skip_button_hook">Pomiń haczyk</string>
<string name="revanced_sb_skip_button_preview_beginning">Pomiń podgląd</string>
<string name="revanced_sb_skip_button_preview_middle">Pomiń podgląd</string>
<string name="revanced_sb_skip_button_preview_end">Pomiń podsumowanie</string>
<string name="revanced_sb_skip_button_filler">Pomiń wypełniacz</string>
<string name="revanced_sb_skip_button_filler">Pomiń wątek poboczny</string>
<string name="revanced_sb_skip_button_nomusic">Pomiń fragment bez muzyki</string>
<string name="revanced_sb_skip_button_unsubmitted">Pomiń segment</string>
<string name="revanced_sb_skipped_sponsor">Pominięto treści sponsorowane</string>
@@ -1101,10 +1104,11 @@ Twój identyfikator użytkownika jest jak hasło i nigdy nie powinno być udost
<string name="revanced_sb_skipped_intro_middle">Pominięto przerywnik</string>
<string name="revanced_sb_skipped_intro_end">Pominięto przerywnik</string>
<string name="revanced_sb_skipped_outro">Pominięto zakończenie</string>
<string name="revanced_sb_skipped_hook">Pominięto haczyk</string>
<string name="revanced_sb_skipped_preview_beginning">Pominięto podgląd</string>
<string name="revanced_sb_skipped_preview_middle">Pominięto podgląd</string>
<string name="revanced_sb_skipped_preview_end">Pominięto podsumowanie</string>
<string name="revanced_sb_skipped_filler">Pominięto wypełniacz</string>
<string name="revanced_sb_skipped_filler">Pominięto wątek poboczny</string>
<string name="revanced_sb_skipped_nomusic">Pominięto fragment bez muzyki</string>
<string name="revanced_sb_skipped_unsubmitted">Pominięto niezgłoszony segment</string>
<string name="revanced_sb_skipped_multiple_segments">Pominięto wiele segmentów</string>

View File

@@ -1074,10 +1074,12 @@ Seu ID de usuário é como uma senha e nunca deve ser compartilhado. "</string>
<string name="revanced_sb_segments_intro_sum">Um intervalo sem conteúdo real. Pode ser uma pausa, moldura estática ou uma animação repetida. Não inclui transições que contenham informações</string>
<string name="revanced_sb_segments_outro">Cartões / Créditos</string>
<string name="revanced_sb_segments_outro_sum">Créditos ou quando os cartões finais do YouTube aparecem. Não é para conclusões com informações</string>
<string name="revanced_sb_segments_preview">Prévia/Recapitulação/Gancho Narrativo</string>
<string name="revanced_sb_segments_hook">Gancho / Saudações</string>
<string name="revanced_sb_segments_hook_sum">Trailers narrados para o próximo vídeo, saudações e despedidas. Não inclui seções que adicionam conteúdo adicional</string>
<string name="revanced_sb_segments_preview">Prévia / Resumo</string>
<string name="revanced_sb_segments_preview_sum">Coleção de clipes que mostram o que está chegando ou o que aconteceu no vídeo ou em outras séries, onde todas as informações se repetem em outro lugar</string>
<string name="revanced_sb_segments_filler">Enrolação/Piadas</string>
<string name="revanced_sb_segments_filler_sum">Cenas de enrolação/piadas são inseridas apenas para enrolar 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</string>
<string name="revanced_sb_segments_filler">Divagação / Piadas</string>
<string name="revanced_sb_segments_filler_sum">Cenas tangenciais ou piadas que não são necessárias para entender o conteúdo principal do vídeo. Não inclui seções que fornecem contexto ou detalhes de fundo</string>
<string name="revanced_sb_segments_nomusic">Música: Seção Sem Música</string>
<string name="revanced_sb_segments_nomusic_sum">Somente para uso em vídeos de música. Seções de vídeos de música sem música, que já não estão cobertas por outra categoria</string>
<string name="revanced_sb_skip_button_compact">Pular</string>
@@ -1090,10 +1092,11 @@ Seu ID de usuário é como uma senha e nunca deve ser compartilhado. "</string>
<string name="revanced_sb_skip_button_intro_middle">Pular intervalo</string>
<string name="revanced_sb_skip_button_intro_end">Pular intervalo</string>
<string name="revanced_sb_skip_button_outro">Pular encerramento</string>
<string name="revanced_sb_skip_button_hook">Pular introdução</string>
<string name="revanced_sb_skip_button_preview_beginning">Pular prévia</string>
<string name="revanced_sb_skip_button_preview_middle">Pular prévia</string>
<string name="revanced_sb_skip_button_preview_end">Pular recapitulação</string>
<string name="revanced_sb_skip_button_filler">Pular enrolação</string>
<string name="revanced_sb_skip_button_filler">Pular tangente</string>
<string name="revanced_sb_skip_button_nomusic">Pular sem música</string>
<string name="revanced_sb_skip_button_unsubmitted">Pular segmento</string>
<string name="revanced_sb_skipped_sponsor">Patrocinador pulado</string>
@@ -1104,10 +1107,11 @@ Seu ID de usuário é como uma senha e nunca deve ser compartilhado. "</string>
<string name="revanced_sb_skipped_intro_middle">Intervalo pulada</string>
<string name="revanced_sb_skipped_intro_end">Intervalo pulada</string>
<string name="revanced_sb_skipped_outro">Encerramento pulado</string>
<string name="revanced_sb_skipped_hook">Introdução pulada</string>
<string name="revanced_sb_skipped_preview_beginning">Prévia pulada</string>
<string name="revanced_sb_skipped_preview_middle">Prévia pulada</string>
<string name="revanced_sb_skipped_preview_end">Recapitulação pulado</string>
<string name="revanced_sb_skipped_filler">Filtro pulado</string>
<string name="revanced_sb_skipped_filler">Tangente pulada</string>
<string name="revanced_sb_skipped_nomusic">Seção sem música pulado</string>
<string name="revanced_sb_skipped_unsubmitted">Segmento não enviado pulado</string>
<string name="revanced_sb_skipped_multiple_segments">Vários segmentos pulado</string>

View File

@@ -1075,10 +1075,12 @@ Seu ID de usuário é como uma senha e nunca deve ser compartilhado.
<string name="revanced_sb_segments_intro_sum">Um intervalo sem conteúdo real. Pode ser uma pausa, moldura estática ou uma animação repetida. Não inclui transições que contenham informações</string>
<string name="revanced_sb_segments_outro">Cartões / Créditos</string>
<string name="revanced_sb_segments_outro_sum">Créditos ou quando os cartões de extremidade do YouTube aparecem. Não para conclusões com informações</string>
<string name="revanced_sb_segments_preview">Pré-visualização/Recap/Hook</string>
<string name="revanced_sb_segments_hook">Gancho / Saudações</string>
<string name="revanced_sb_segments_hook_sum">Trailers narrados para o próximo vídeo, saudações e despedidas. Não inclui seções que adicionam conteúdo adicional</string>
<string name="revanced_sb_segments_preview">Prévia / Resumo</string>
<string name="revanced_sb_segments_preview_sum">Coleção de clips que mostram o que está para vir ou o que aconteceu no vídeo ou noutros vídeos de uma série, em que todas as informações são repetidas noutro local</string>
<string name="revanced_sb_segments_filler">Filtros Tangent/Piadas</string>
<string name="revanced_sb_segments_filler_sum">Cenas tangenciais adicionadas apenas para fins de preenchimento ou humor que não são necessários para compreender o conteúdo principal do vídeo. Não inclui segmentos que fornecem contexto ou pormenores de fundo</string>
<string name="revanced_sb_segments_filler">Divagação / Piadas</string>
<string name="revanced_sb_segments_filler_sum">Cenas tangenciais ou piadas que não são necessárias para entender o conteúdo principal do vídeo. Não inclui seções que fornecem contexto ou detalhes de fundo</string>
<string name="revanced_sb_segments_nomusic">Música: Seção de Não Música</string>
<string name="revanced_sb_segments_nomusic_sum">Somente para uso em vídeos de música. Seções de vídeos de música sem música, que já não estão cobertas por outra categoria</string>
<string name="revanced_sb_skip_button_compact">Pular</string>
@@ -1091,10 +1093,11 @@ Seu ID de usuário é como uma senha e nunca deve ser compartilhado.
<string name="revanced_sb_skip_button_intro_middle">Pular intermissão</string>
<string name="revanced_sb_skip_button_intro_end">Pular intermissão</string>
<string name="revanced_sb_skip_button_outro">Pular encerramento</string>
<string name="revanced_sb_skip_button_hook">Pular gancho</string>
<string name="revanced_sb_skip_button_preview_beginning">Pular visualização</string>
<string name="revanced_sb_skip_button_preview_middle">Pular visualização</string>
<string name="revanced_sb_skip_button_preview_end">Ignorar recapitulação</string>
<string name="revanced_sb_skip_button_filler">Ignorar o encher</string>
<string name="revanced_sb_skip_button_filler">Pular tangencial</string>
<string name="revanced_sb_skip_button_nomusic">Pular não-música</string>
<string name="revanced_sb_skip_button_unsubmitted">Pular segmento</string>
<string name="revanced_sb_skipped_sponsor">Patrocinador ignorado</string>
@@ -1105,10 +1108,11 @@ Seu ID de usuário é como uma senha e nunca deve ser compartilhado.
<string name="revanced_sb_skipped_intro_middle">Intermissão ignorada</string>
<string name="revanced_sb_skipped_intro_end">Intermissão ignorada</string>
<string name="revanced_sb_skipped_outro">Outro Ignorado</string>
<string name="revanced_sb_skipped_hook">Gancho pulado</string>
<string name="revanced_sb_skipped_preview_beginning">Pré-visualização ignorada</string>
<string name="revanced_sb_skipped_preview_middle">Pré-visualização ignorada</string>
<string name="revanced_sb_skipped_preview_end">Resumo ignorado</string>
<string name="revanced_sb_skipped_filler">Filtro ignorado</string>
<string name="revanced_sb_skipped_filler">Tangencial pulado</string>
<string name="revanced_sb_skipped_nomusic">Pulou uma seção que não foi musica</string>
<string name="revanced_sb_skipped_unsubmitted">Segmento não submetido ignorado</string>
<string name="revanced_sb_skipped_multiple_segments">Ignorado vários segmentos</string>

View File

@@ -1074,10 +1074,12 @@ ID-ul tău de utilizator este ca o parolă și nu ar trebui niciodată partajat.
<string name="revanced_sb_segments_intro_sum">Un interval fără conținut real. Poate fi o pauză, un cadru static sau o repetare a animației. Nu include tranziții care conțin informații</string>
<string name="revanced_sb_segments_outro">Carduri finale / Credite</string>
<string name="revanced_sb_segments_outro_sum">Credite sau atunci când apar cardurile Youtube . Nu sunt concluzii cu informaţii</string>
<string name="revanced_sb_segments_preview">Previzualizare/Recuperează/Cârlig</string>
<string name="revanced_sb_segments_hook">Introducere / Salutări</string>
<string name="revanced_sb_segments_hook_sum">Trailere narate pentru videoclipul următor, salutări și despărțiri. Nu include secțiuni care adaugă conținut suplimentar</string>
<string name="revanced_sb_segments_preview">Prezentare generală / Rezumat</string>
<string name="revanced_sb_segments_preview_sum">Colecția de clipuri care arată ce se apropie sau ce s-a întâmplat în videoclip sau în alte videoclipuri dintr-o serie, unde toate informațiile sunt repetate în altă parte</string>
<string name="revanced_sb_segments_filler">Flor Tangent/Glumă</string>
<string name="revanced_sb_segments_filler_sum">Scenele tactil adăugate numai pentru umplutură sau umor care nu sunt necesare pentru a înțelege conținutul principal al videoclipului. Nu include segmente care furnizează date de context sau de fundal</string>
<string name="revanced_sb_segments_filler">Digresiune / Glume</string>
<string name="revanced_sb_segments_filler_sum">Scene tangențiale sau glume care nu sunt necesare pentru a înțelege conținutul principal al videoclipului. Nu include secțiuni care oferă context sau detalii de fundal</string>
<string name="revanced_sb_segments_nomusic">Muzică: Secţiunea Non-Muzică</string>
<string name="revanced_sb_segments_nomusic_sum">Doar pentru utilizare în videoclipuri. Secțiuni de videoclipuri fără muzică, care nu sunt deja acoperite de o altă categorie</string>
<string name="revanced_sb_skip_button_compact">Omitere</string>
@@ -1090,10 +1092,11 @@ ID-ul tău de utilizator este ca o parolă și nu ar trebui niciodată partajat.
<string name="revanced_sb_skip_button_intro_middle">Omitere intermisiune</string>
<string name="revanced_sb_skip_button_intro_end">Omitere intermisiune</string>
<string name="revanced_sb_skip_button_outro">Sari peste final</string>
<string name="revanced_sb_skip_button_hook">Omite introducerea</string>
<string name="revanced_sb_skip_button_preview_beginning">Sari peste previzualizare</string>
<string name="revanced_sb_skip_button_preview_middle">Sari peste previzualizare</string>
<string name="revanced_sb_skip_button_preview_end">Sari peste recap</string>
<string name="revanced_sb_skip_button_filler">Sari peste umplutură</string>
<string name="revanced_sb_skip_button_filler">Omite tangenta</string>
<string name="revanced_sb_skip_button_nomusic">Omite non-muzica</string>
<string name="revanced_sb_skip_button_unsubmitted">Sari peste segment</string>
<string name="revanced_sb_skipped_sponsor">Sponsor sărit</string>
@@ -1104,10 +1107,11 @@ ID-ul tău de utilizator este ca o parolă și nu ar trebui niciodată partajat.
<string name="revanced_sb_skipped_intro_middle">Intermisiune sărită</string>
<string name="revanced_sb_skipped_intro_end">Intermisiune sărită</string>
<string name="revanced_sb_skipped_outro">Sutro sărit</string>
<string name="revanced_sb_skipped_hook">Introducerea omisă</string>
<string name="revanced_sb_skipped_preview_beginning">Previzualizare sărită</string>
<string name="revanced_sb_skipped_preview_middle">Previzualizare sărită</string>
<string name="revanced_sb_skipped_preview_end">Amplasare sărită</string>
<string name="revanced_sb_skipped_filler">Umplutură sărită</string>
<string name="revanced_sb_skipped_filler">Tangenta omisă</string>
<string name="revanced_sb_skipped_nomusic">S-a sărit o secţiune non-muzică</string>
<string name="revanced_sb_skipped_unsubmitted">Salt netrimis</string>
<string name="revanced_sb_skipped_multiple_segments">Sărit mai multe segmente</string>

View File

@@ -1077,10 +1077,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">Интервал без фактического содержания. Может быть паузой, статическим кадром или повторяющейся анимацией. Не включает переходы, содержащие информацию</string>
<string name="revanced_sb_segments_outro">Конечные заставки / Титры</string>
<string name="revanced_sb_segments_outro_sum">Титры или время появления конечных заставок YouTube. Не для выводов с информацией</string>
<string name="revanced_sb_segments_preview">Предпросмотр/пересказ/завязка</string>
<string name="revanced_sb_segments_hook">Вступление / Приветствие</string>
<string name="revanced_sb_segments_hook_sum">Трейлеры с закадровым голосом для предстоящего видео, приветствия и прощания. Не включает разделы, добавляющие дополнительный контент</string>
<string name="revanced_sb_segments_preview">Предпросмотр / Пересказ</string>
<string name="revanced_sb_segments_preview_sum">Фрагменты, повторяющие текущее видео или предыдущие серии</string>
<string name="revanced_sb_segments_filler">Отвлеченные темыутки</string>
<string name="revanced_sb_segments_filler_sum">Сегменты, которые увеличивают длительность видео за счет отвлеченных тем или шуток, но не требуются для понимания основного содержания. Не включает сегменты, объясняющие контекст или предысторию</string>
<string name="revanced_sb_segments_filler">Отвлеченные темы / Шутки</string>
<string name="revanced_sb_segments_filler_sum">Отвлеченные сцены или шутки, которые не требуются для понимания основного содержания видео. Не включает разделы, предоставляющие контекст или фоновые детали</string>
<string name="revanced_sb_segments_nomusic">Музыка: сегмент без музыки</string>
<string name="revanced_sb_segments_nomusic_sum">Только для использования в музыкальных видеороликах. Разделы музыкальных видео без музыки, которые еще не охвачены другой категорией</string>
<string name="revanced_sb_skip_button_compact">Пропустить</string>
@@ -1093,10 +1095,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_intro_middle">Пропустить паузу</string>
<string name="revanced_sb_skip_button_intro_end">Пропустить паузу</string>
<string name="revanced_sb_skip_button_outro">Пропустить концовку</string>
<string name="revanced_sb_skip_button_hook">Пропустить вступление</string>
<string name="revanced_sb_skip_button_preview_beginning">Пропустить предпросмотр</string>
<string name="revanced_sb_skip_button_preview_middle">Пропустить предпросмотр</string>
<string name="revanced_sb_skip_button_preview_end">Пропустить пересказ</string>
<string name="revanced_sb_skip_button_filler">Пропустить вставку</string>
<string name="revanced_sb_skip_button_filler">Пропустить отвлеченные темы</string>
<string name="revanced_sb_skip_button_nomusic">Пропустить сегмент без музыки</string>
<string name="revanced_sb_skip_button_unsubmitted">Пропустить сегмент</string>
<string name="revanced_sb_skipped_sponsor">Спонсорская реклама пропущена</string>
@@ -1107,10 +1110,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_intro_middle">Пауза пропущена</string>
<string name="revanced_sb_skipped_intro_end">Пауза пропущена</string>
<string name="revanced_sb_skipped_outro">Концовка пропущена</string>
<string name="revanced_sb_skipped_hook">Вступление пропущено</string>
<string name="revanced_sb_skipped_preview_beginning">Предпросмотр пропущен</string>
<string name="revanced_sb_skipped_preview_middle">Предпросмотр пропущен</string>
<string name="revanced_sb_skipped_preview_end">Пересказ пропущен</string>
<string name="revanced_sb_skipped_filler">Вставка пропущена</string>
<string name="revanced_sb_skipped_filler">Отвлеченные темы пропущены</string>
<string name="revanced_sb_skipped_nomusic">Сегмент без музыки пропущен</string>
<string name="revanced_sb_skipped_unsubmitted">Неподтвержденный сегмент пропущен</string>
<string name="revanced_sb_skipped_multiple_segments">Несколько сегментов пропущены</string>

View File

@@ -1070,10 +1070,12 @@ Táto funkcia najlepšie funguje s kvalitou videa 720p alebo nižšou a pri pou
<string name="revanced_sb_segments_intro_sum">Interval bez skutočného obsahu. Môže to byť pauza, statická snímka alebo opakujúca sa animácia. Nezahŕňa prechody obsahujúce informácie</string>
<string name="revanced_sb_segments_outro">Záverečné karty / Kredity</string>
<string name="revanced_sb_segments_outro_sum">Kredity alebo keď sa zobrazia koncové karty YouTube. Nie na závery s informáciami</string>
<string name="revanced_sb_segments_preview">Náhľad/Rekapitulácia/Háčik</string>
<string name="revanced_sb_segments_hook">Úvod / Pozdravy</string>
<string name="revanced_sb_segments_hook_sum">Rozprávané upútavky na nadchádzajúce video, pozdravy a rozlúčky. Nezahŕňa sekcie, ktoré pridávajú dodatočný obsah</string>
<string name="revanced_sb_segments_preview">Náhľad / Zhrnutie</string>
<string name="revanced_sb_segments_preview_sum">Zbierka klipov, ktoré ukazujú, čo sa chystá alebo čo sa stalo vo videu alebo v iných videách série, kde sa všetky informácie opakujú inde</string>
<string name="revanced_sb_segments_filler">Odbočka/Vtipy</string>
<string name="revanced_sb_segments_filler_sum">Tangenciálne scény pridané len ako výplň alebo humor, ktoré nie sú potrebné na pochopenie hlavného obsahu videa. Nezahŕňa segmenty poskytujúce kontext alebo podrobnosti o pozadí</string>
<string name="revanced_sb_segments_filler">Odbočka / Vtipy</string>
<string name="revanced_sb_segments_filler_sum">Tangenciálne scény alebo vtipy, ktoré nie sú potrebné na pochopenie hlavného obsahu videa. Nezahŕňa sekcie poskytujúce kontext alebo podrobnosti o pozadí</string>
<string name="revanced_sb_segments_nomusic">Hudba: Nehudobná sekcia</string>
<string name="revanced_sb_segments_nomusic_sum">Len na použitie v hudobných videách. Časti hudobných videí bez hudby, ktoré už nie sú zahrnuté v inej kategórii</string>
<string name="revanced_sb_skip_button_compact">Preskočiť</string>
@@ -1086,10 +1088,11 @@ Táto funkcia najlepšie funguje s kvalitou videa 720p alebo nižšou a pri pou
<string name="revanced_sb_skip_button_intro_middle">Preskočiť prestávku</string>
<string name="revanced_sb_skip_button_intro_end">Preskočiť prestávku</string>
<string name="revanced_sb_skip_button_outro">Preskočte ďalšiu</string>
<string name="revanced_sb_skip_button_hook">Preskočiť úvod</string>
<string name="revanced_sb_skip_button_preview_beginning">Preskočiť ukážku</string>
<string name="revanced_sb_skip_button_preview_middle">Preskočiť ukážku</string>
<string name="revanced_sb_skip_button_preview_end">Preskočiť rekapituláciu</string>
<string name="revanced_sb_skip_button_filler">Preskočte výplň</string>
<string name="revanced_sb_skip_button_filler">Preskočiť odbočku</string>
<string name="revanced_sb_skip_button_nomusic">Preskočte nehudbu</string>
<string name="revanced_sb_skip_button_unsubmitted">Preskočiť segment</string>
<string name="revanced_sb_skipped_sponsor">Preskočil sa sponzor</string>
@@ -1100,10 +1103,11 @@ Táto funkcia najlepšie funguje s kvalitou videa 720p alebo nižšou a pri pou
<string name="revanced_sb_skipped_intro_middle">Vynechaná prestávka</string>
<string name="revanced_sb_skipped_intro_end">Vynechaná prestávka</string>
<string name="revanced_sb_skipped_outro">Preskočil sa záver</string>
<string name="revanced_sb_skipped_hook">Úvod preskočený</string>
<string name="revanced_sb_skipped_preview_beginning">Preskočila sa ukážka/rekapitulácia</string>
<string name="revanced_sb_skipped_preview_middle">Preskočila sa ukážka/rekapitulácia</string>
<string name="revanced_sb_skipped_preview_end">Preskočená rekapitulácia</string>
<string name="revanced_sb_skipped_filler">Preskočená odbočka</string>
<string name="revanced_sb_skipped_filler">Odbočka preskočená</string>
<string name="revanced_sb_skipped_nomusic">Preskočená nehudobná sekcia</string>
<string name="revanced_sb_skipped_unsubmitted">Preskočený neodoslaný segment</string>
<string name="revanced_sb_skipped_multiple_segments">Preskočené viaceré segmenty</string>

View File

@@ -1074,10 +1074,12 @@ Uporabniški ID je, kot je geslo, zato ga nikoli ne delite."</string>
<string name="revanced_sb_segments_intro_sum">Interval brez dejanske vsebine. Lahko je pavza, statični okvir ali ponavljajoča se animacija. Ne vključuje prehodov, ki vsebujejo informacije</string>
<string name="revanced_sb_segments_outro">Zaključne kartice / Dobropisi</string>
<string name="revanced_sb_segments_outro_sum">Zasluge ali prikaz zaključnih kartic YouTuba. Ni namenjeno zaključkom z informacijami</string>
<string name="revanced_sb_segments_preview">Predogled/Povzetek/Uvod</string>
<string name="revanced_sb_segments_hook">Uvod / Pozdravi</string>
<string name="revanced_sb_segments_hook_sum">Pripovedani napovedniki za prihajajoči video, pozdravi in poslavljanja. Ne vključuje odsekov, ki dodajajo dodatno vsebino</string>
<string name="revanced_sb_segments_preview">Predogled / Povzetek</string>
<string name="revanced_sb_segments_preview_sum">Zbirka odsekov, ki prikazujejo, kaj prihaja ali kaj se je zgodilo v videoposnetku ali v drugih videoposnetkih serije, kjer so vse informacije ponovljene drugje</string>
<string name="revanced_sb_segments_filler">Polnilo/Tangent/Šale</string>
<string name="revanced_sb_segments_filler_sum">Tangentni prizori, dodani samo kot polnilo ali humor, ki niso potrebni za razumevanje glavne vsebine videoposnetka. Ne vključuje segmentov, ki zagotavljajo kontekst ali ozadje</string>
<string name="revanced_sb_segments_filler">Digresija / Šale</string>
<string name="revanced_sb_segments_filler_sum">Povezane scene ali šale, ki niso potrebne za razumevanje glavne vsebine videa. Ne vključuje odsekov, ki zagotavljajo kontekst ali podrobnosti ozadja</string>
<string name="revanced_sb_segments_nomusic">Glasba: Odsek brez glasbe</string>
<string name="revanced_sb_segments_nomusic_sum">Samo za uporabo v glasbenih videoposnetkih. Odseki glasbenih videoposnetkov brez glasbe, ki jih še niso zajeli drugi kategoriji</string>
<string name="revanced_sb_skip_button_compact">Preskoči</string>
@@ -1090,10 +1092,11 @@ Uporabniški ID je, kot je geslo, zato ga nikoli ne delite."</string>
<string name="revanced_sb_skip_button_intro_middle">Preskoči premor</string>
<string name="revanced_sb_skip_button_intro_end">Preskoči premor</string>
<string name="revanced_sb_skip_button_outro">Preskoči zaključek</string>
<string name="revanced_sb_skip_button_hook">Preskoči uvod</string>
<string name="revanced_sb_skip_button_preview_beginning">Preskoči predogled</string>
<string name="revanced_sb_skip_button_preview_middle">Preskoči predogled</string>
<string name="revanced_sb_skip_button_preview_end">Preskoči povzetek</string>
<string name="revanced_sb_skip_button_filler">Preskoči polnilo</string>
<string name="revanced_sb_skip_button_filler">Preskoči tangento</string>
<string name="revanced_sb_skip_button_nomusic">Preskoči brez glasbe</string>
<string name="revanced_sb_skip_button_unsubmitted">Preskoči segment</string>
<string name="revanced_sb_skipped_sponsor">Preskočen sponzor</string>
@@ -1104,10 +1107,11 @@ Uporabniški ID je, kot je geslo, zato ga nikoli ne delite."</string>
<string name="revanced_sb_skipped_intro_middle">Preskočen premor</string>
<string name="revanced_sb_skipped_intro_end">Preskočen premor</string>
<string name="revanced_sb_skipped_outro">Preskočen zaključek</string>
<string name="revanced_sb_skipped_hook">Uvod preskočen</string>
<string name="revanced_sb_skipped_preview_beginning">Preskočen predogled</string>
<string name="revanced_sb_skipped_preview_middle">Preskočen predogled</string>
<string name="revanced_sb_skipped_preview_end">Preskočen povzetek</string>
<string name="revanced_sb_skipped_filler">Preskočeno polnilo</string>
<string name="revanced_sb_skipped_filler">Tangenta preskočena</string>
<string name="revanced_sb_skipped_nomusic">Preskočen odsek brez glasbe</string>
<string name="revanced_sb_skipped_unsubmitted">Preskočen neoddani segment</string>
<string name="revanced_sb_skipped_multiple_segments">Preskočenih več segmentov</string>

View File

@@ -1074,10 +1074,12 @@ User id juaj është si një fjalëkalim dhe nuk duhet të ndahet kurrë."</stri
<string name="revanced_sb_segments_intro_sum">Një interval pa përmbajtje aktuale. Mund të jetë një pauzë, kornizë statike ose animacion që përsëritet. Nuk përfshin tranzicionet që përmbajnë informacion</string>
<string name="revanced_sb_segments_outro">Kartëmonedha të fundit / Kredite</string>
<string name="revanced_sb_segments_outro_sum">Kreditet ose kur shfaqen ekranet e fundit të YouTube. Jo për përfundime me informacion</string>
<string name="revanced_sb_segments_preview">Parashikimi/Përmbledhja/Haki</string>
<string name="revanced_sb_segments_hook">Hyrje / Përshëndetje</string>
<string name="revanced_sb_segments_hook_sum">Trailer të treguar për videon e ardhshme, përshëndetje dhe lamtumira. Nuk përfshin seksione që shtojnë përmbajtje shtesë</string>
<string name="revanced_sb_segments_preview">Parashikim / Përmbledhje</string>
<string name="revanced_sb_segments_preview_sum">Koleksion i klipeve që tregojnë çfarë po vjen ose çfarë ndodhi në video ose në video të tjera të një serie, ku i gjithë informacioni përsëritet diku tjetër</string>
<string name="revanced_sb_segments_filler">Mbushësi i tangjencës/Shaka</string>
<string name="revanced_sb_segments_filler_sum">Skena tangjenciale të shtuar vetëm për mbushës ose humor që nuk janë të nevojshme për të kuptuar përmbajtjen kryesore të videos. Nuk përfshin segmente që ofrojnë kontekst ose detaje sfondit</string>
<string name="revanced_sb_segments_filler">Devijim / Shaka</string>
<string name="revanced_sb_segments_filler_sum">Skena anësore ose shaka që nuk janë të nevojshme për të kuptuar përmbajtjen kryesore të videos. Nuk përfshin seksione që ofrojnë kontekst ose detaje sfondore</string>
<string name="revanced_sb_segments_nomusic">Muzika: Seksioni jo-muzikor</string>
<string name="revanced_sb_segments_nomusic_sum">Vetëm për përdorim në videot muzikore. Seksione të videove muzikore pa muzikë, që nuk janë mbuluar tashmë nga një kategori tjetër</string>
<string name="revanced_sb_skip_button_compact">Kapërci</string>
@@ -1090,10 +1092,11 @@ User id juaj është si një fjalëkalim dhe nuk duhet të ndahet kurrë."</stri
<string name="revanced_sb_skip_button_intro_middle">Kapërci ndërprerjen</string>
<string name="revanced_sb_skip_button_intro_end">Kapërci ndërprerjen</string>
<string name="revanced_sb_skip_button_outro">Kapërci daljen</string>
<string name="revanced_sb_skip_button_hook">Kapërceje hapjen</string>
<string name="revanced_sb_skip_button_preview_beginning">Kapërci parashikimin</string>
<string name="revanced_sb_skip_button_preview_middle">Kapërci parashikimin</string>
<string name="revanced_sb_skip_button_preview_end">Kapërci përmbledhjen</string>
<string name="revanced_sb_skip_button_filler">Kapërci mbushësin</string>
<string name="revanced_sb_skip_button_filler">Kapërceje tangjenten</string>
<string name="revanced_sb_skip_button_nomusic">Kapërci jo-muzikën</string>
<string name="revanced_sb_skip_button_unsubmitted">Kapërci segmentin</string>
<string name="revanced_sb_skipped_sponsor">Kapërcyer sponsorin</string>
@@ -1104,10 +1107,11 @@ User id juaj është si një fjalëkalim dhe nuk duhet të ndahet kurrë."</stri
<string name="revanced_sb_skipped_intro_middle">Kapërcyer ndërprerjen</string>
<string name="revanced_sb_skipped_intro_end">Kapërcyer ndërprerjen</string>
<string name="revanced_sb_skipped_outro">Kapërcyer daljen</string>
<string name="revanced_sb_skipped_hook">Hapja u kapërcye</string>
<string name="revanced_sb_skipped_preview_beginning">Kapërcyer parashikimin</string>
<string name="revanced_sb_skipped_preview_middle">Kapërcyer parashikimin</string>
<string name="revanced_sb_skipped_preview_end">Kapërcyer përmbledhjen</string>
<string name="revanced_sb_skipped_filler">Kapërcyer mbushësin</string>
<string name="revanced_sb_skipped_filler">Tangjentja u kapërcye</string>
<string name="revanced_sb_skipped_nomusic">Kapërcyer një seksion jo-muzikor</string>
<string name="revanced_sb_skipped_unsubmitted">Kapërcyer segmentin e papërpunuar</string>
<string name="revanced_sb_skipped_multiple_segments">Kapërcyer segmente të shumta</string>

View File

@@ -1074,10 +1074,12 @@ Vaš korisnički ID je kao lozinka i nikada ga ne treba deliti."</string>
<string name="revanced_sb_segments_intro_sum">Interval bez stvarnog sadržaja. Može biti pauza, statični kadar ili ponavljajuća animacija. Ne uključuje prelaze koji sadrže informacije</string>
<string name="revanced_sb_segments_outro">Završne kartice / Zasluge</string>
<string name="revanced_sb_segments_outro_sum">Zasluge ili kada se pojave YouTube završne kartice. Nije za zaključke sa informacijama</string>
<string name="revanced_sb_segments_preview">Pregled/Rekapitulacija/Najava</string>
<string name="revanced_sb_segments_hook">Mamac / Pozdravi</string>
<string name="revanced_sb_segments_hook_sum">Narativni trejleri za predstojeći video, pozdravi i oproštaji. Ne uključuje segmente koji dodaju dodatni sadržaj</string>
<string name="revanced_sb_segments_preview">Pregled / Rekapitulacija</string>
<string name="revanced_sb_segments_preview_sum">Kolekcija klipova koji pokazuju šta sledi ili šta se desilo u videu ili u drugim videima serijе, gde se sve informacije ponavljaju na drugom mestu</string>
<string name="revanced_sb_segments_filler">Popunjavanje/Šale</string>
<string name="revanced_sb_segments_filler_sum">Nepovezane scene su dodate samo za popunjavanje ili humor i takve scene nisu potrebne za razumevanje glavnog sadržaja videa. Ne uključuje segmente koji pružaju detalje o kontekstu ili pozadini</string>
<string name="revanced_sb_segments_filler">Digresija / Šale</string>
<string name="revanced_sb_segments_filler_sum">Digresivne scene ili šale, koje nisu potrebne za razumevanje glavnog sadržaja videa. Ovo ne uključuje segmente koji pružaju detalje o kontekstu ili pozadini</string>
<string name="revanced_sb_segments_nomusic">Muzika: Segment bez muzike</string>
<string name="revanced_sb_segments_nomusic_sum">Samo za upotrebu u muzičkim spotovima. Delovi muzičkih spotova bez muzike, koji nisu obuhvaćeni drugom kategorijom</string>
<string name="revanced_sb_skip_button_compact">Preskoči</string>
@@ -1090,10 +1092,11 @@ Vaš korisnički ID je kao lozinka i nikada ga ne treba deliti."</string>
<string name="revanced_sb_skip_button_intro_middle">Preskoči pauzu</string>
<string name="revanced_sb_skip_button_intro_end">Preskoči pauzu</string>
<string name="revanced_sb_skip_button_outro">Preskoči završnu animaciju</string>
<string name="revanced_sb_skip_button_hook">Preskoči mamac</string>
<string name="revanced_sb_skip_button_preview_beginning">Preskoči pregled</string>
<string name="revanced_sb_skip_button_preview_middle">Preskoči pregled</string>
<string name="revanced_sb_skip_button_preview_end">Preskoči rekapitulaciju</string>
<string name="revanced_sb_skip_button_filler">Preskoči popunjavanje</string>
<string name="revanced_sb_skip_button_filler">Preskoči digresiju</string>
<string name="revanced_sb_skip_button_nomusic">Preskoči segment bez muzike</string>
<string name="revanced_sb_skip_button_unsubmitted">Preskoči segment</string>
<string name="revanced_sb_skipped_sponsor">Preskočen sponzor</string>
@@ -1104,10 +1107,11 @@ Vaš korisnički ID je kao lozinka i nikada ga ne treba deliti."</string>
<string name="revanced_sb_skipped_intro_middle">Preskočena pauza</string>
<string name="revanced_sb_skipped_intro_end">Preskočena pauza</string>
<string name="revanced_sb_skipped_outro">Preskočena završna animacija</string>
<string name="revanced_sb_skipped_hook">Preskočen mamac</string>
<string name="revanced_sb_skipped_preview_beginning">Preskočen pregled</string>
<string name="revanced_sb_skipped_preview_middle">Preskočen pregled</string>
<string name="revanced_sb_skipped_preview_end">Preskočena rekapitulacija</string>
<string name="revanced_sb_skipped_filler">Preskočeno popunjavanje</string>
<string name="revanced_sb_skipped_filler">Preskočeno nepovezano</string>
<string name="revanced_sb_skipped_nomusic">Preskočen segment bez muzike</string>
<string name="revanced_sb_skipped_unsubmitted">Preskočen nepodneseni segment</string>
<string name="revanced_sb_skipped_multiple_segments">Preskočeno više segmenata</string>

View File

@@ -1074,10 +1074,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">Интервал без стварног садржаја. Може бити пауза, статични кадар или понављајућа анимација. Не укључује прелазе који садрже информације</string>
<string name="revanced_sb_segments_outro">Завршне картице / Заслуге</string>
<string name="revanced_sb_segments_outro_sum">Заслуге или када се појаве YouTube завршне картице. Није за закључке са информацијама</string>
<string name="revanced_sb_segments_preview">Преглед/Рекапитулација/Најава</string>
<string name="revanced_sb_segments_hook">Мамац / Поздрави</string>
<string name="revanced_sb_segments_hook_sum">Наративни трејлери за предстојећи видео, поздрави и опраштаји. Не укључује сегменте који додају додатни садржај</string>
<string name="revanced_sb_segments_preview">Преглед / Рекапитулација</string>
<string name="revanced_sb_segments_preview_sum">Колекција клипова који показују шта следи или шта се десило у видеу или у другим видеима серије, где се све информације понављају на другом месту</string>
<string name="revanced_sb_segments_filler">Попуњавање/Шале</string>
<string name="revanced_sb_segments_filler_sum">Неповезане сцене су додате само за попуњавање или хумор и такве сцене нису потребне за разумевање главног садржаја видеа. Не укључује сегменте који пружају детаље о контексту или позадини</string>
<string name="revanced_sb_segments_filler">Дигресија / Шале</string>
<string name="revanced_sb_segments_filler_sum">Дигресивне сцене или шале, које нису потребне за разумевање главног садржаја видеа. Ово не укључује сегменте који пружају детаље о контексту или позадини</string>
<string name="revanced_sb_segments_nomusic">Музика: Сегмент без музике</string>
<string name="revanced_sb_segments_nomusic_sum">Само за употребу у музичким спотовима. Делови музичких спотова без музике, који нису обухваћени другом категоријом</string>
<string name="revanced_sb_skip_button_compact">Прескочи</string>
@@ -1090,10 +1092,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_intro_middle">Прескочи паузу</string>
<string name="revanced_sb_skip_button_intro_end">Прескочи паузу</string>
<string name="revanced_sb_skip_button_outro">Прескочи завршну анимацију</string>
<string name="revanced_sb_skip_button_hook">Прескочи мамац</string>
<string name="revanced_sb_skip_button_preview_beginning">Прескочи преглед</string>
<string name="revanced_sb_skip_button_preview_middle">Прескочи преглед</string>
<string name="revanced_sb_skip_button_preview_end">Прескочи рекапитулацију</string>
<string name="revanced_sb_skip_button_filler">Прескочи попуњавање</string>
<string name="revanced_sb_skip_button_filler">Прескочи дигресију</string>
<string name="revanced_sb_skip_button_nomusic">Прескочи сегмент без музике</string>
<string name="revanced_sb_skip_button_unsubmitted">Прескочи сегмент</string>
<string name="revanced_sb_skipped_sponsor">Прескочен спонзор</string>
@@ -1104,10 +1107,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_intro_middle">Прескочена пауза</string>
<string name="revanced_sb_skipped_intro_end">Прескочена пауза</string>
<string name="revanced_sb_skipped_outro">Прескочена завршна анимација</string>
<string name="revanced_sb_skipped_hook">Прескочен мамац</string>
<string name="revanced_sb_skipped_preview_beginning">Прескочен преглед</string>
<string name="revanced_sb_skipped_preview_middle">Прескочен преглед</string>
<string name="revanced_sb_skipped_preview_end">Прескочена рекапитулација</string>
<string name="revanced_sb_skipped_filler">Прескочено попуњавање</string>
<string name="revanced_sb_skipped_filler">Прескочено неповезано</string>
<string name="revanced_sb_skipped_nomusic">Прескочен сегмент без музике</string>
<string name="revanced_sb_skipped_unsubmitted">Прескочен неподнесени сегмент</string>
<string name="revanced_sb_skipped_multiple_segments">Прескочено више сегмената</string>

View File

@@ -1074,10 +1074,12 @@ Ditt användar-id är som ett lösenord och det bör aldrig delas."</string>
<string name="revanced_sb_segments_intro_sum">Ett intervall utan faktiskt innehåll. Kan vara en paus, statisk ram eller upprepande animation. Inkluderar inte övergångar som innehåller information</string>
<string name="revanced_sb_segments_outro">Slutkort/eftertexter</string>
<string name="revanced_sb_segments_outro_sum">Eftertexter eller när YouTube-slutkort visas. Inte för slut med information</string>
<string name="revanced_sb_segments_preview">Förhandstitt/sammanfattning/hook</string>
<string name="revanced_sb_segments_hook">Inledning / Hälsningar</string>
<string name="revanced_sb_segments_hook_sum">Berättade trailers för kommande video, hälsningar och avsked. Inkluderar inte avsnitt som lägger till extra innehåll</string>
<string name="revanced_sb_segments_preview">Förhandstitt/Sammanfattning</string>
<string name="revanced_sb_segments_preview_sum">Samling av klipp som visar vad som kommer eller vad som hände i videon eller i andra videor i en serie, där all information upprepas någon annanstans</string>
<string name="revanced_sb_segments_filler">Ämnesavvikelse/skämt</string>
<string name="revanced_sb_segments_filler_sum">Ämnesavvikande scener som endast läggs till som utfyllnad eller för humor som inte krävs för att förstå det huvudsakliga innehållet i videon. Inkluderar inte segment som tillhandahåller kontext eller bakgrundsinformation</string>
<string name="revanced_sb_segments_filler">Ämnesavvikelse/Skämt</string>
<string name="revanced_sb_segments_filler_sum">Ämnesavvikande scener eller skämt som inte krävs för att förstå videons huvudsakliga innehåll. Inkluderar inte avsnitt som tillhandahåller kontext eller bakgrundsinformation</string>
<string name="revanced_sb_segments_nomusic">Musik: Icke-musiksektion</string>
<string name="revanced_sb_segments_nomusic_sum">Endast för användning i musikvideor. Sektioner av musikvideor utan musik, som inte redan omfattas av en annan kategori</string>
<string name="revanced_sb_skip_button_compact">Hoppa över</string>
@@ -1090,6 +1092,7 @@ Ditt användar-id är som ett lösenord och det bör aldrig delas."</string>
<string name="revanced_sb_skip_button_intro_middle">Hoppa över uppehåll</string>
<string name="revanced_sb_skip_button_intro_end">Hoppa över uppehåll</string>
<string name="revanced_sb_skip_button_outro">Hoppa över outro</string>
<string name="revanced_sb_skip_button_hook">Hoppa över inledningen</string>
<string name="revanced_sb_skip_button_preview_beginning">Hoppa över förhandstitt</string>
<string name="revanced_sb_skip_button_preview_middle">Hoppa över förhandstitt</string>
<string name="revanced_sb_skip_button_preview_end">Hoppa över sammanfattning</string>
@@ -1104,6 +1107,7 @@ Ditt användar-id är som ett lösenord och det bör aldrig delas."</string>
<string name="revanced_sb_skipped_intro_middle">Hoppade över uppehåll</string>
<string name="revanced_sb_skipped_intro_end">Hoppade över uppehåll</string>
<string name="revanced_sb_skipped_outro">Hoppade över outro</string>
<string name="revanced_sb_skipped_hook">Hoppade över inledningen</string>
<string name="revanced_sb_skipped_preview_beginning">Hoppade över förhandstitt</string>
<string name="revanced_sb_skipped_preview_middle">Hoppade över förhandstitt</string>
<string name="revanced_sb_skipped_preview_end">Hoppade över sammanfattning</string>

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