Compare commits

...

47 Commits

Author SHA1 Message Date
semantic-release-bot
f30a49f1cb chore: Release v5.12.0-dev.4 [skip ci]
# [5.12.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.12.0-dev.3...v5.12.0-dev.4) (2025-02-11)

### Features

* **YouTube Music:** Support version `8.05.50` ([#4439](https://github.com/ReVanced/revanced-patches/issues/4439)) ([bcd157d](bcd157dd2b))
2025-02-11 18:40:51 +00:00
Alberto Ponces
bcd157dd2b feat(YouTube Music): Support version 8.05.50 (#4439) 2025-02-11 20:37:58 +02:00
LisoUseInAIKyrios
d299ea5973 chore(deps): Remove unused dependency 2025-02-11 17:41:40 +02:00
dependabot[bot]
a20021e290 chore(deps): bump com.google.code.gson:gson from 2.11.0 to 2.12.1 (#4398)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-11 17:19:52 +02:00
dependabot[bot]
373ca966f3 chore(deps): Bump com.google.guava:guava from 33.2.1-jre to 33.4.0-jre (#4252) 2025-02-11 17:17:35 +02:00
semantic-release-bot
12de922afa chore: Release v5.12.0-dev.3 [skip ci]
# [5.12.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.12.0-dev.2...v5.12.0-dev.3) (2025-02-11)

### Bug Fixes

* **Windy.app:** Remove obsolete `Unlock pro` patch ([#4428](https://github.com/ReVanced/revanced-patches/issues/4428)) ([421af92](421af92f4c))
2025-02-11 15:11:34 +00:00
dependabot[bot]
580bb3cf6c chore(deps-dev): bump semantic-release from 24.1.2 to 24.2.1 (#4397) 2025-02-11 17:07:28 +02:00
LisoUseInAIKyrios
421af92f4c fix(Windy.app): Remove obsolete Unlock pro patch (#4428) 2025-02-11 17:05:46 +02:00
github-actions[bot]
4d03e1b5a1 chore: Sync translations (#4446) 2025-02-11 17:05:17 +02:00
LisoUseInAIKyrios
24d68df6cd refactor: Improve XML performance 2025-02-11 15:24:29 +02:00
semantic-release-bot
e9aee17746 chore: Release v5.12.0-dev.2 [skip ci]
# [5.12.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.12.0-dev.1...v5.12.0-dev.2) (2025-02-11)

### Features

* **Return YouTube Dislike:** add `Show estimated likes` setting ([#4443](https://github.com/ReVanced/revanced-patches/issues/4443)) ([7c4285e](7c4285e3e6))
2025-02-11 10:15:24 +00:00
LisoUseInAIKyrios
7c4285e3e6 feat(Return YouTube Dislike): add Show estimated likes setting (#4443) 2025-02-11 12:12:24 +02:00
semantic-release-bot
e3110271a7 chore: Release v5.12.0-dev.1 [skip ci]
# [5.12.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.11.0...v5.12.0-dev.1) (2025-02-10)

### Features

* **YouTube - SponsorBlock:** Redesign skip buttons ([#4427](https://github.com/ReVanced/revanced-patches/issues/4427)) ([0079ece](0079eceb87))
2025-02-10 18:33:12 +00:00
MarcaD
0079eceb87 feat(YouTube - SponsorBlock): Redesign skip buttons (#4427)
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
2025-02-10 20:30:06 +02:00
github-actions[bot]
af2a97cb16 chore: Sync translations (#4436) 2025-02-10 20:29:28 +02:00
semantic-release-bot
aeb552e8f2 chore: Release v5.11.0 [skip ci]
# [5.11.0](https://github.com/ReVanced/revanced-patches/compare/v5.10.0...v5.11.0) (2025-02-07)

### Bug Fixes

* Fix broken `Remove screen capture restriction`,  `Remove screenshot restriction`, `Spoof Wi-Fi connection`, and `Export internal data documents provider` patch ([#4405](https://github.com/ReVanced/revanced-patches/issues/4405)) ([399889c](399889c6fa))
* **YouTube - Enable slide to seek:** Change patch to default include ([76fd33c](76fd33ca54))
* **YouTube - Hide layout components:** Hide new type of community post ([#4404](https://github.com/ReVanced/revanced-patches/issues/4404)) ([a06c031](a06c0318bf))
* **YouTube - Theme:** Use custom seekbar color for cairo startup animation ([#4399](https://github.com/ReVanced/revanced-patches/issues/4399)) ([f81b658](f81b658fb7))

### Features

* **YouTube - Change start page:** Add additional start pages ([#4413](https://github.com/ReVanced/revanced-patches/issues/4413)) ([b7ebfdd](b7ebfddf65))
2025-02-07 07:05:36 +00:00
LisoUseInAIKyrios
6e936fea42 chore: Merge branch dev to main (#4388) 2025-02-07 09:02:22 +02:00
github-actions[bot]
f63769f39f chore: Sync translations (#4421) 2025-02-07 08:58:04 +02:00
semantic-release-bot
1c9ab20a63 chore: Release v5.11.0-dev.2 [skip ci]
# [5.11.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.11.0-dev.1...v5.11.0-dev.2) (2025-02-06)

### Bug Fixes

* Fix broken `Remove screen capture restriction`,  `Remove screenshot restriction`, `Spoof Wi-Fi connection`, and `Export internal data documents provider` patch ([#4405](https://github.com/ReVanced/revanced-patches/issues/4405)) ([399889c](399889c6fa))
2025-02-06 12:29:29 +00:00
github-actions[bot]
cdeccad908 chore: Sync translations (#4417) 2025-02-06 14:25:50 +02:00
LisoUseInAIKyrios
399889c6fa fix: Fix broken Remove screen capture restriction, Remove screenshot restriction, Spoof Wi-Fi connection, and Export internal data documents provider patch (#4405) 2025-02-06 14:24:40 +02:00
github-actions[bot]
ec77861410 chore: Sync translations (#4415) 2025-02-05 20:42:07 +02:00
semantic-release-bot
b5afc6d827 chore: Release v5.11.0-dev.1 [skip ci]
# [5.11.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.10.1-dev.3...v5.11.0-dev.1) (2025-02-05)

### Features

* **YouTube - Change start page:** Add additional start pages ([#4413](https://github.com/ReVanced/revanced-patches/issues/4413)) ([b7ebfdd](b7ebfddf65))
2025-02-05 18:36:04 +00:00
LisoUseInAIKyrios
b7ebfddf65 feat(YouTube - Change start page): Add additional start pages (#4413) 2025-02-05 20:32:42 +02:00
github-actions[bot]
2742aca48b chore: Sync translations (#4414) 2025-02-05 20:32:21 +02:00
semantic-release-bot
14ca4d3288 chore: Release v5.10.1-dev.3 [skip ci]
## [5.10.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.10.1-dev.2...v5.10.1-dev.3) (2025-02-03)

### Bug Fixes

* **YouTube - Hide layout components:** Hide new type of community post ([#4404](https://github.com/ReVanced/revanced-patches/issues/4404)) ([a06c031](a06c0318bf))
2025-02-03 10:15:53 +00:00
ILoveOpenSourceApplications
a06c0318bf fix(YouTube - Hide layout components): Hide new type of community post (#4404) 2025-02-03 12:13:15 +02:00
semantic-release-bot
7f9f668435 chore: Release v5.10.1-dev.2 [skip ci]
## [5.10.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.10.1-dev.1...v5.10.1-dev.2) (2025-02-03)

### Bug Fixes

* **YouTube - Enable slide to seek:** Change patch to default include ([76fd33c](76fd33ca54))
2025-02-03 10:11:28 +00:00
LisoUseInAIKyrios
76fd33ca54 fix(YouTube - Enable slide to seek): Change patch to default include 2025-02-03 12:08:28 +02:00
semantic-release-bot
9a653e9c5a chore: Release v5.10.1-dev.1 [skip ci]
## [5.10.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.10.0...v5.10.1-dev.1) (2025-02-02)

### Bug Fixes

* **YouTube - Theme:** Use custom seekbar color for cairo startup animation ([#4399](https://github.com/ReVanced/revanced-patches/issues/4399)) ([f81b658](f81b658fb7))
2025-02-02 09:14:21 +00:00
LisoUseInAIKyrios
f81b658fb7 fix(YouTube - Theme): Use custom seekbar color for cairo startup animation (#4399) 2025-02-02 11:10:57 +02:00
LisoUseInAIKyrios
7ff39d89d6 refactor(YouTube - Spoof app version): Use more concise description of 19.26.42 2025-01-31 12:51:49 +02:00
LisoUseInAIKyrios
78ab0ec2bd refactor(YouTube - Swipe controls): Use more consistent settings language of 'opacity' and 0-100 scale 2025-01-31 12:40:45 +02:00
semantic-release-bot
3ab67f1539 chore: Release v5.10.0 [skip ci]
# [5.10.0](https://github.com/ReVanced/revanced-patches/compare/v5.9.0...v5.10.0) (2025-01-31)

### Bug Fixes

* **SwissId - Play integrity Removal:** Add recommended app version ([#4370](https://github.com/ReVanced/revanced-patches/issues/4370)) ([6fa2dee](6fa2deea69))
* Use correct path to fix invalid file paths ([043ebbb](043ebbb6d4))
* **YouTube - Hide ads:** fix 'Hide the Visit store button on channel pages' not working ([#4364](https://github.com/ReVanced/revanced-patches/issues/4364)) ([a73db03](a73db03671))
* **YouTube - Hide Ads:** Hide end screen store banner without leaving empty space ([#4367](https://github.com/ReVanced/revanced-patches/issues/4367)) ([aaeee4a](aaeee4a895))
* **YouTube - Hide ads:** Hide new types of tablet ads ([f844a1c](f844a1cd76))
* **YouTube - Hide layout components:** Hide new kind of community post ([#4341](https://github.com/ReVanced/revanced-patches/issues/4341)) ([6721a28](6721a284cd))
* **YouTube - Hide seekbar:** Do not hide player seekbar if hide feed seekbar is enabled ([#4333](https://github.com/ReVanced/revanced-patches/issues/4333)) ([7c8efca](7c8efcaf41))
* **YouTube - Hide video description components:** Use correct string key names ([64cdce2](64cdce28a6))
* **YouTube - Spoof video streams:** Update settings side effects summary text ([#4369](https://github.com/ReVanced/revanced-patches/issues/4369)) ([6802529](680252967e))
* **YouTube - Theme:** Fix 19.25 - 19.45 patch error ([df2d070](df2d070a43))
* **YouTube - Theme:** Replace custom seekbar gradient colors instead of disabling ([#4329](https://github.com/ReVanced/revanced-patches/issues/4329)) ([f4989ed](f4989ed0a5))

### Features

* **YouTube - Hide ads:** Add `Hide end screen store banner` ([#4351](https://github.com/ReVanced/revanced-patches/issues/4351)) ([76bbd7e](76bbd7ed2f))
* **YouTube - Hide video description components:** Add `Hide How this content was made section` ([#4355](https://github.com/ReVanced/revanced-patches/issues/4355)) ([a72404e](a72404eeab))
* **YouTube - Theme:** Add option to use custom seekbar accent color ([#4337](https://github.com/ReVanced/revanced-patches/issues/4337)) ([8104bbd](8104bbd7d7))
* **YouTube:** Add patch `Disable HDR video` ([#4347](https://github.com/ReVanced/revanced-patches/issues/4347)) ([1d12c41](1d12c4156d))
2025-01-31 09:18:31 +00:00
LisoUseInAIKyrios
8652cd613f chore: Merge branch dev to main (#4330) 2025-01-31 11:15:01 +02:00
github-actions[bot]
bc8388713c chore: Sync translations (#4386) 2025-01-31 11:14:34 +02:00
github-actions[bot]
d4b2e3be3e chore: Sync translations (#4385) 2025-01-31 10:55:59 +02:00
LisoUseInAIKyrios
57c48b7829 ci: Fix Crowdin pull 2025-01-31 10:51:42 +02:00
LisoUseInAIKyrios
aaa7523ee4 chore: Add translatable string tags 2025-01-31 10:03:31 +02:00
LisoUseInAIKyrios
785df4fe69 ci: Preprocess strings before pushing to Crowdin (#4383) 2025-01-31 09:58:26 +02:00
github-actions[bot]
83208eb50d chore: Sync translations (#4382) 2025-01-30 09:36:37 +02:00
github-actions[bot]
9437db11eb chore: Sync translations (#4381) 2025-01-30 09:32:21 +02:00
github-actions[bot]
1843c8bf70 chore: Sync translations (#4380) 2025-01-30 09:27:20 +02:00
LisoUseInAIKyrios
778b51fbff ci: Fix Crowdin cron pull strings? 2025-01-30 09:25:20 +02:00
github-actions[bot]
ee0fdcdf86 chore: Sync translations (#4379) 2025-01-30 09:18:15 +02:00
semantic-release-bot
57cc73d9c4 chore: Release v5.10.0-dev.11 [skip ci]
# [5.10.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.10.0-dev.10...v5.10.0-dev.11) (2025-01-30)

### Bug Fixes

* Use correct path to fix invalid file paths ([043ebbb](043ebbb6d4))
2025-01-30 00:58:00 +00:00
oSumAtrIX
043ebbb6d4 fix: Use correct path to fix invalid file paths 2025-01-30 01:53:44 +01:00
152 changed files with 3851 additions and 2330 deletions

View File

@@ -2,7 +2,7 @@ name: Pull strings
on:
schedule:
- cron: "0 */8 * * *"
- cron: "0 */6 * * *"
workflow_dispatch:
jobs:
@@ -26,6 +26,7 @@ jobs:
config: crowdin.yml
upload_sources: false
download_translations: true
skip_ref_checkout: true
localization_branch_name: feat/translations
create_pull_request: false
env:

View File

@@ -18,6 +18,11 @@ jobs:
with:
fetch-depth: 0
- name: Preprocess strings
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew clean preprocessCrowdinStrings
- name: Push strings
uses: crowdin/github-action@v2
with:

View File

@@ -1,3 +1,113 @@
# [5.12.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.12.0-dev.3...v5.12.0-dev.4) (2025-02-11)
### Features
* **YouTube Music:** Support version `8.05.50` ([#4439](https://github.com/ReVanced/revanced-patches/issues/4439)) ([b31fed9](https://github.com/ReVanced/revanced-patches/commit/b31fed98901fcda1bce6f05eb0de63280c689fa0))
# [5.12.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.12.0-dev.2...v5.12.0-dev.3) (2025-02-11)
### Bug Fixes
* **Windy.app:** Remove obsolete `Unlock pro` patch ([#4428](https://github.com/ReVanced/revanced-patches/issues/4428)) ([83d116e](https://github.com/ReVanced/revanced-patches/commit/83d116e8fd3935ee431cfdf0b8e095d04ee77259))
# [5.12.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.12.0-dev.1...v5.12.0-dev.2) (2025-02-11)
### Features
* **Return YouTube Dislike:** add `Show estimated likes` setting ([#4443](https://github.com/ReVanced/revanced-patches/issues/4443)) ([9a88b42](https://github.com/ReVanced/revanced-patches/commit/9a88b4239fd63d5f91105fec8e7d59d318a5d09a))
# [5.12.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.11.0...v5.12.0-dev.1) (2025-02-10)
### Features
* **YouTube - SponsorBlock:** Redesign skip buttons ([#4427](https://github.com/ReVanced/revanced-patches/issues/4427)) ([8f4883f](https://github.com/ReVanced/revanced-patches/commit/8f4883fc002420bfb4056401e23445c99e1d3fce))
# [5.11.0](https://github.com/ReVanced/revanced-patches/compare/v5.10.0...v5.11.0) (2025-02-07)
### Bug Fixes
* Fix broken `Remove screen capture restriction`, `Remove screenshot restriction`, `Spoof Wi-Fi connection`, and `Export internal data documents provider` patch ([#4405](https://github.com/ReVanced/revanced-patches/issues/4405)) ([1d52b74](https://github.com/ReVanced/revanced-patches/commit/1d52b7478d34e699d8c629eeaa9fdbb470b7d5c8))
* **YouTube - Enable slide to seek:** Change patch to default include ([50358cd](https://github.com/ReVanced/revanced-patches/commit/50358cddea3eef4051d248040d23f774521dce00))
* **YouTube - Hide layout components:** Hide new type of community post ([#4404](https://github.com/ReVanced/revanced-patches/issues/4404)) ([f67ab2b](https://github.com/ReVanced/revanced-patches/commit/f67ab2baf25d543ceb55fcec48bda441ebf2b998))
* **YouTube - Theme:** Use custom seekbar color for cairo startup animation ([#4399](https://github.com/ReVanced/revanced-patches/issues/4399)) ([1cba294](https://github.com/ReVanced/revanced-patches/commit/1cba2948a6787118eb380ffcec35ee4fb99447ea))
### Features
* **YouTube - Change start page:** Add additional start pages ([#4413](https://github.com/ReVanced/revanced-patches/issues/4413)) ([b434182](https://github.com/ReVanced/revanced-patches/commit/b434182df69313c4eb5f0dfd98101cb80e46ead2))
# [5.11.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.11.0-dev.1...v5.11.0-dev.2) (2025-02-06)
### Bug Fixes
* Fix broken `Remove screen capture restriction`, `Remove screenshot restriction`, `Spoof Wi-Fi connection`, and `Export internal data documents provider` patch ([#4405](https://github.com/ReVanced/revanced-patches/issues/4405)) ([1d52b74](https://github.com/ReVanced/revanced-patches/commit/1d52b7478d34e699d8c629eeaa9fdbb470b7d5c8))
# [5.11.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.10.1-dev.3...v5.11.0-dev.1) (2025-02-05)
### Features
* **YouTube - Change start page:** Add additional start pages ([#4413](https://github.com/ReVanced/revanced-patches/issues/4413)) ([b434182](https://github.com/ReVanced/revanced-patches/commit/b434182df69313c4eb5f0dfd98101cb80e46ead2))
## [5.10.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.10.1-dev.2...v5.10.1-dev.3) (2025-02-03)
### Bug Fixes
* **YouTube - Hide layout components:** Hide new type of community post ([#4404](https://github.com/ReVanced/revanced-patches/issues/4404)) ([f67ab2b](https://github.com/ReVanced/revanced-patches/commit/f67ab2baf25d543ceb55fcec48bda441ebf2b998))
## [5.10.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.10.1-dev.1...v5.10.1-dev.2) (2025-02-03)
### Bug Fixes
* **YouTube - Enable slide to seek:** Change patch to default include ([50358cd](https://github.com/ReVanced/revanced-patches/commit/50358cddea3eef4051d248040d23f774521dce00))
## [5.10.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.10.0...v5.10.1-dev.1) (2025-02-02)
### Bug Fixes
* **YouTube - Theme:** Use custom seekbar color for cairo startup animation ([#4399](https://github.com/ReVanced/revanced-patches/issues/4399)) ([1cba294](https://github.com/ReVanced/revanced-patches/commit/1cba2948a6787118eb380ffcec35ee4fb99447ea))
# [5.10.0](https://github.com/ReVanced/revanced-patches/compare/v5.9.0...v5.10.0) (2025-01-31)
### Bug Fixes
* **SwissId - Play integrity Removal:** Add recommended app version ([#4370](https://github.com/ReVanced/revanced-patches/issues/4370)) ([d8ed474](https://github.com/ReVanced/revanced-patches/commit/d8ed474b165f094fdedc32caaae1f82ebc99eb3d))
* Use correct path to fix invalid file paths ([5ff4ee8](https://github.com/ReVanced/revanced-patches/commit/5ff4ee823da55c7b135eab8b62e07be465612b55))
* **YouTube - Hide ads:** fix 'Hide the Visit store button on channel pages' not working ([#4364](https://github.com/ReVanced/revanced-patches/issues/4364)) ([9d63ea9](https://github.com/ReVanced/revanced-patches/commit/9d63ea9a10ab5128ce18a1f53a946e84550da258))
* **YouTube - Hide Ads:** Hide end screen store banner without leaving empty space ([#4367](https://github.com/ReVanced/revanced-patches/issues/4367)) ([7e68390](https://github.com/ReVanced/revanced-patches/commit/7e683906418434dd4e2104337d73a2292415c615))
* **YouTube - Hide ads:** Hide new types of tablet ads ([574bcc8](https://github.com/ReVanced/revanced-patches/commit/574bcc844746b7445ec3e93b47daceafefad85e7))
* **YouTube - Hide layout components:** Hide new kind of community post ([#4341](https://github.com/ReVanced/revanced-patches/issues/4341)) ([02685c4](https://github.com/ReVanced/revanced-patches/commit/02685c4567aca55f22d45dc238a7d1f0ea264143))
* **YouTube - Hide seekbar:** Do not hide player seekbar if hide feed seekbar is enabled ([#4333](https://github.com/ReVanced/revanced-patches/issues/4333)) ([f5cf6f2](https://github.com/ReVanced/revanced-patches/commit/f5cf6f2a445492d33815a9772f49deac2d70eba9))
* **YouTube - Hide video description components:** Use correct string key names ([0f28c2b](https://github.com/ReVanced/revanced-patches/commit/0f28c2b44c0051ea7ab3136433b84c73321cf5bd))
* **YouTube - Spoof video streams:** Update settings side effects summary text ([#4369](https://github.com/ReVanced/revanced-patches/issues/4369)) ([e5b3aa1](https://github.com/ReVanced/revanced-patches/commit/e5b3aa1cc6a2465cb006487d528de888bc7cd430))
* **YouTube - Theme:** Fix 19.25 - 19.45 patch error ([5b47a5f](https://github.com/ReVanced/revanced-patches/commit/5b47a5f0f6299daaae209341064fd85f16ca18a6))
* **YouTube - Theme:** Replace custom seekbar gradient colors instead of disabling ([#4329](https://github.com/ReVanced/revanced-patches/issues/4329)) ([f03da98](https://github.com/ReVanced/revanced-patches/commit/f03da983051021e0c372557a5354d5d967409564))
### Features
* **YouTube - Hide ads:** Add `Hide end screen store banner` ([#4351](https://github.com/ReVanced/revanced-patches/issues/4351)) ([5505087](https://github.com/ReVanced/revanced-patches/commit/55050878028fed82b0f583a9f7ba06b8f267f8ec))
* **YouTube - Hide video description components:** Add `Hide How this content was made section` ([#4355](https://github.com/ReVanced/revanced-patches/issues/4355)) ([68ec54e](https://github.com/ReVanced/revanced-patches/commit/68ec54ef850ae8d6461dd0ef2846e6efbb59e482))
* **YouTube - Theme:** Add option to use custom seekbar accent color ([#4337](https://github.com/ReVanced/revanced-patches/issues/4337)) ([952b4fc](https://github.com/ReVanced/revanced-patches/commit/952b4fc4c9291e1a3e71437b503857763c973dd4))
* **YouTube:** Add patch `Disable HDR video` ([#4347](https://github.com/ReVanced/revanced-patches/issues/4347)) ([0528f7c](https://github.com/ReVanced/revanced-patches/commit/0528f7cad856a2b1347e41944167b0583fc4a3d9))
# [5.10.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.10.0-dev.10...v5.10.0-dev.11) (2025-01-30)
### Bug Fixes
* Use correct path to fix invalid file paths ([5ff4ee8](https://github.com/ReVanced/revanced-patches/commit/5ff4ee823da55c7b135eab8b62e07be465612b55))
# [5.10.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.10.0-dev.9...v5.10.0-dev.10) (2025-01-29)

View File

@@ -1,4 +1,11 @@
android.namespace = "app.revanced.extension"
android {
namespace = "app.revanced.extension"
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
dependencies {
compileOnly(libs.annotation)

View File

@@ -12,7 +12,7 @@ import android.os.Handler;
import androidx.annotation.RequiresApi;
/** @noinspection deprecation, unused */
@SuppressWarnings({"deprecation", "unused"})
public class SpoofWifiPatch {
// Used to check what the (real or fake) active network is (take a look at `hasTransport`).

View File

@@ -1,3 +1,16 @@
android {
namespace = "app.revanced.extension"
defaultConfig {
minSdk = 21
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
dependencies {
compileOnly(libs.annotation)
}

View File

@@ -1,5 +1,6 @@
package app.revanced.extension.all.misc.directory.documentsprovider;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.ProviderInfo;
@@ -23,6 +24,7 @@ import java.util.Objects;
/**
* A DocumentsProvider that allows access to the app's internal data directory.
*/
@SuppressLint("LongLogTag")
public class InternalDataDocumentsProvider extends DocumentsProvider {
private static final String[] rootColumns =
{"root_id", "mime_types", "flags", "icon", "title", "summary", "document_id"};

View File

@@ -1,4 +1,15 @@
android.namespace = "app.revanced.extension"
android {
namespace = "app.revanced.extension"
defaultConfig {
minSdk = 21
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
dependencies {
compileOnly(libs.annotation)

View File

@@ -5,7 +5,8 @@ import android.os.Build;
import androidx.annotation.RequiresApi;
public final class RemoveScreencaptureRestrictionPatch {
@SuppressWarnings("unused")
public final class RemoveScreenCaptureRestrictionPatch {
// Member of AudioAttributes.Builder
@RequiresApi(api = Build.VERSION_CODES.Q)
public static AudioAttributes.Builder setAllowedCapturePolicy(final AudioAttributes.Builder builder, final int capturePolicy) {

View File

@@ -1 +1,16 @@
android.namespace = "app.revanced.extension"
android {
namespace = "app.revanced.extension"
defaultConfig {
minSdk = 21
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
dependencies {
compileOnly(libs.annotation)
}

View File

@@ -3,6 +3,7 @@ package app.revanced.extension.all.screenshot.removerestriction;
import android.view.Window;
import android.view.WindowManager;
@SuppressWarnings("unused")
public class RemoveScreenshotRestrictionPatch {
public static void addFlags(Window window, int flags) {

View File

@@ -4,7 +4,7 @@ plugins {
android {
namespace = "app.revanced.extension"
compileSdk = 33
compileSdk = 34
defaultConfig {
minSdk = 24

View File

@@ -1 +1,5 @@
// Do not remove. Necessary for the extension plugin to be applied to the project.
android {
defaultConfig {
minSdk = 26
}
}

View File

@@ -4,7 +4,7 @@ plugins {
android {
namespace = "app.revanced.extension"
compileSdk = 33
compileSdk = 34
defaultConfig {
minSdk = 24

View File

@@ -4,7 +4,7 @@ plugins {
android {
namespace = "app.revanced.extension"
compileSdk = 33
compileSdk = 34
defaultConfig {
minSdk = 24

View File

@@ -3,3 +3,14 @@ dependencies {
compileOnly(project(":extensions:tiktok:stub"))
compileOnly(libs.annotation)
}
android {
defaultConfig {
minSdk = 22
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}

View File

@@ -21,9 +21,11 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
protected void syncSettingWithPreference(@NonNull Preference pref,
@NonNull Setting<?> setting,
boolean applySettingToPreference) {
if (pref instanceof RangeValuePreference rangeValuePref) {
if (pref instanceof RangeValuePreference) {
RangeValuePreference rangeValuePref = (RangeValuePreference) pref;
Setting.privateSetValueFromString(setting, rangeValuePref.getValue());
} else if (pref instanceof DownloadPathPreference downloadPathPref) {
} else if (pref instanceof DownloadPathPreference) {
DownloadPathPreference downloadPathPref = (DownloadPathPreference) pref;
Setting.privateSetValueFromString(setting, downloadPathPref.getValue());
} else {
super.syncSettingWithPreference(pref, setting, applySettingToPreference);
@@ -32,7 +34,7 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
@Override
protected void initialize() {
final var context = getContext();
final var context = getActivity();
// Currently no resources can be compiled for TikTok (fails with aapt error).
// So all TikTok Strings are hard coded in the extension.

View File

@@ -4,14 +4,9 @@ plugins {
android {
namespace = "app.revanced.extension"
compileSdk = 33
compileSdk = 34
defaultConfig {
minSdk = 24
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
minSdk = 22
}
}

View File

@@ -1,3 +1,9 @@
dependencies {
compileOnly(project(":extensions:tumblr:stub"))
}
android {
defaultConfig {
minSdk = 26
}
}

View File

@@ -1,17 +1,14 @@
android.namespace = "app.revanced.extension"
plugins {
id(libs.plugins.android.library.get().pluginId)
}
android {
namespace = "app.revanced.extension"
compileSdk = 33
compileSdk = 34
defaultConfig {
minSdk = 24
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
minSdk = 26
}
}

View File

@@ -6,3 +6,14 @@ dependencies {
compileOnly(libs.annotation)
compileOnly(libs.appcompat)
}
android {
defaultConfig {
minSdk = 21
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}

View File

@@ -4,14 +4,9 @@ plugins {
android {
namespace = "app.revanced.extension"
compileSdk = 33
compileSdk = 34
defaultConfig {
minSdk = 24
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
minSdk = 21
}
}

View File

@@ -1,8 +1,13 @@
//noinspection GradleDependency
android.compileSdk = 33
dependencies {
compileOnly(project(":extensions:shared:library"))
compileOnly(project(":extensions:youtube:stub"))
compileOnly(libs.annotation)
}
android {
compileSdk = 33 // TODO: Update Swipe controls code to allow updating this to the latest sdk.
defaultConfig {
minSdk = 26
}
}

View File

@@ -23,21 +23,30 @@ public final class ChangeStartPagePatch {
/**
* Browse id.
*/
ALL_SUBSCRIPTIONS("FEchannels", TRUE),
BROWSE("FEguide_builder", TRUE),
EXPLORE("FEexplore", TRUE),
HISTORY("FEhistory", TRUE),
LIBRARY("FElibrary", TRUE),
MOVIE("FEstorefront", TRUE),
NOTIFICATIONS("FEactivity", TRUE),
PLAYLISTS("FEplaylist_aggregation", TRUE),
SUBSCRIPTIONS("FEsubscriptions", TRUE),
TRENDING("FEtrending", TRUE),
YOUR_CLIPS("FEclips", TRUE),
/**
* Channel id, this can be used as a browseId.
*/
COURSES("UCtFRv9O2AHqOZjjynzrv-xg", TRUE),
FASHION("UCrpQ4p1Ql_hG8rKXIKM1MOQ", TRUE),
GAMING("UCOpNcN46UbXVtpKMrmU4Abg", TRUE),
LIVE("UC4R8DWoMoI7CAwX8_LjQHig", TRUE),
MUSIC("UC-9-kyTW8ZkZNDHQJ6FgpwQ", TRUE),
NEWS("UCYfdidRxbB8Qhf0Nx7ioOYw", TRUE),
SHOPPING("UCkYQyvc_i9hXEo4xic9Hh2g", TRUE),
SPORTS("UCEgdi0XIXXZ-qJOFPf4JSKw", TRUE),
VIRTUAL_REALITY("UCzuqhhs6NWbgTzMuM09WKDQ", TRUE),
/**
* Playlist id, this can be used as a browseId.
@@ -51,12 +60,12 @@ public final class ChangeStartPagePatch {
SEARCH("com.google.android.youtube.action.open.search", FALSE),
SHORTS("com.google.android.youtube.action.open.shorts", FALSE);
@Nullable
final Boolean isBrowseId;
@NonNull
final String id;
@Nullable
final Boolean isBrowseId;
StartPage(@NonNull String id, @Nullable Boolean isBrowseId) {
this.id = id;
this.isBrowseId = isBrowseId;
@@ -122,7 +131,7 @@ public final class ChangeStartPagePatch {
}
appLaunched = true;
final String intentAction = START_PAGE.id;
String intentAction = START_PAGE.id;
Logger.printDebug(() -> "Changing intent action to " + intentAction);
intent.setAction(intentAction);
}

View File

@@ -4,7 +4,6 @@ import static app.revanced.extension.youtube.returnyoutubedislike.ReturnYouTubeD
import android.graphics.Rect;
import android.graphics.drawable.ShapeDrawable;
import android.os.Build;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.Spanned;
@@ -366,9 +365,7 @@ public class ReturnYouTubeDislikePatch {
private static final List<WeakReference<TextView>> shortsTextViewRefs = new ArrayList<>();
private static void clearRemovedShortsTextViews() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // YouTube requires Android N or greater
shortsTextViewRefs.removeIf(ref -> ref.get() == null);
}
shortsTextViewRefs.removeIf(ref -> ref.get() == null);
}
/**

View File

@@ -81,7 +81,8 @@ public final class LayoutComponentsFilter extends Filter {
"text_post_root_slim.eml",
"post_base_wrapper_slim.eml",
"poll_post_root.eml",
"videos_post_root.eml"
"videos_post_root.eml",
"post_shelf_slim.eml"
);
final var communityGuidelines = new StringFilterGroup(

View File

@@ -6,11 +6,19 @@ import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.AnimatedVectorDrawable;
import com.airbnb.lottie.LottieAnimationView;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Locale;
import java.util.Scanner;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
@@ -93,17 +101,6 @@ public final class SeekbarColorPatch {
return customSeekbarColor;
}
/**
* Injection point
*/
public static boolean useLotteLaunchSplashScreen(boolean original) {
Logger.printDebug(() -> "useLotteLaunchSplashScreen original: " + original);
if (SEEKBAR_CUSTOM_COLOR_ENABLED) return false;
return original;
}
private static int colorChannelTo3Bits(int channel8Bits) {
final float channel3Bits = channel8Bits * 7 / 255f;
@@ -127,6 +124,17 @@ public final class SeekbarColorPatch {
/**
* Injection point
*/
public static boolean useLotteLaunchSplashScreen(boolean original) {
// This method is only used for development purposes to force the old style launch screen.
// Forcing this off on some devices can cause unexplained startup crashes,
// where the lottie animation is still used even though this condition appears to bypass it.
return original; // false = drawable style, true = lottie style.
}
/**
* Injection point.
* Old drawable style launch screen.
*/
public static void setSplashAnimationDrawableTheme(AnimatedVectorDrawable vectorDrawable) {
// Alternatively a ColorMatrixColorFilter can be used to change the color of the drawable
// without using any styles, but a color filter cannot selectively change the seekbar
@@ -134,6 +142,8 @@ public final class SeekbarColorPatch {
// Even if the seekbar color xml value is changed to a completely different color (such as green),
// a color filter still cannot be selectively applied when the drawable has more than 1 color.
try {
// Must set the color even if custom seekbar is off,
// because the xml color was replaced with a themed value.
String seekbarStyle = get9BitStyleIdentifier(customSeekbarColor);
Logger.printDebug(() -> "Using splash seekbar style: " + seekbarStyle);
@@ -154,6 +164,77 @@ public final class SeekbarColorPatch {
}
}
/**
* Injection point.
* Modern Lottie style animation.
*/
public static void setSplashAnimationLottie(LottieAnimationView view, int resourceId) {
try {
if (!SEEKBAR_CUSTOM_COLOR_ENABLED) {
view.patch_setAnimation(resourceId);
return;
}
//noinspection ConstantConditions
if (false) { // Set true to force slow animation for development.
final int longAnimation = Utils.getResourceIdentifier(
Utils.isDarkModeEnabled(Utils.getContext())
? "startup_animation_5s_30fps_dark"
: "startup_animation_5s_30fps_light",
"raw");
if (longAnimation != 0) {
resourceId = longAnimation;
}
}
// Must specify primary key name otherwise the morphing YT logo color is also changed.
String originalKey = "\"k\":";
String originalPrimary = originalKey + "[1,0,0.2,1]";
String originalAccent = originalKey + "[1,0.152941176471,0.56862745098,1]";
String replacementPrimary = originalKey + getColorStringArray(customSeekbarColor);
String replacementAccent = originalKey + getColorStringArray(customSeekbarColorGradient[1]);
String json = loadRawResourceAsString(resourceId);
if (json == null) {
return; // Should never happen.
}
if (BaseSettings.DEBUG.get() && (!json.contains(originalPrimary) || !json.contains(originalAccent))) {
String jsonFinal = json;
Logger.printException(() -> "Could not replace launch animation colors: " + jsonFinal);
}
Logger.printDebug(() -> "Replacing Lottie animation JSON");
json = json.replace(originalPrimary, replacementPrimary);
json = json.replace(originalAccent, replacementAccent);
// cacheKey is not needed since the animation will not be reused.
view.patch_setAnimation(new ByteArrayInputStream(json.getBytes()), null);
} catch (Exception ex) {
Logger.printException(() -> "setSplashAnimationLottie failure", ex);
}
}
private static String getColorStringArray(int color) {
return Arrays.toString(new double[]{
Color.red(color) / 255.0,
Color.green(color) / 255.0,
Color.blue(color) / 255.0,
Color.alpha(color) / 255.0
});
}
private static String loadRawResourceAsString(int resourceId) {
try (InputStream inputStream = Utils.getContext().getResources().openRawResource(resourceId);
Scanner scanner = new Scanner(inputStream, StandardCharsets.UTF_8.name()).useDelimiter("\\A")) {
return scanner.next();
} catch (IOException e) {
Logger.printException(() -> "Could not load resource: " + resourceId);
return null;
}
}
/**
* Injection point.
*/

View File

@@ -234,6 +234,12 @@ public class ReturnYouTubeDislike {
// example video: https://www.youtube.com/watch?v=UnrU5vxCHxw
// RYD data: https://returnyoutubedislikeapi.com/votes?videoId=UnrU5vxCHxw
//
if (!Settings.RYD_ESTIMATED_LIKE.get()) {
// Change the "Likes" string to show that likes and dislikes are hidden.
String hiddenMessageString = str("revanced_ryd_video_likes_hidden_by_video_owner");
return newSpanUsingStylingOfAnotherSpan(oldSpannable, hiddenMessageString);
}
Logger.printDebug(() -> "Using estimated likes");
oldLikes = formatDislikeCount(voteData.getLikeCount());
}
@@ -346,56 +352,49 @@ public class ReturnYouTubeDislike {
}
private static String formatDislikeCount(long dislikeCount) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
synchronized (ReturnYouTubeDislike.class) { // number formatter is not thread safe, must synchronize
if (dislikeCountFormatter == null) {
Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale;
dislikeCountFormatter = CompactDecimalFormat.getInstance(locale, CompactDecimalFormat.CompactStyle.SHORT);
synchronized (ReturnYouTubeDislike.class) { // number formatter is not thread safe, must synchronize
if (dislikeCountFormatter == null) {
Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale;
dislikeCountFormatter = CompactDecimalFormat.getInstance(locale, CompactDecimalFormat.CompactStyle.SHORT);
// YouTube disregards locale specific number characters
// and instead shows english number characters everywhere.
// To use the same behavior, override the digit characters to use English
// so languages such as Arabic will show "1.234" instead of the native "۱,۲۳٤"
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale);
symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings());
dislikeCountFormatter.setDecimalFormatSymbols(symbols);
}
// YouTube disregards locale specific number characters
// and instead shows english number characters everywhere.
// To use the same behavior, override the digit characters to use English
// so languages such as Arabic will show "1.234" instead of the native "۱,۲۳٤"
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale);
symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings());
dislikeCountFormatter.setDecimalFormatSymbols(symbols);
}
return dislikeCountFormatter.format(dislikeCount);
}
}
// Will never be reached, as the oldest supported YouTube app requires Android N or greater.
return String.valueOf(dislikeCount);
return dislikeCountFormatter.format(dislikeCount);
}
}
private static String formatDislikePercentage(float dislikePercentage) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
synchronized (ReturnYouTubeDislike.class) { // number formatter is not thread safe, must synchronize
if (dislikePercentageFormatter == null) {
Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale;
dislikePercentageFormatter = NumberFormat.getPercentInstance(locale);
synchronized (ReturnYouTubeDislike.class) { // Number formatter is not thread safe, must synchronize.
if (dislikePercentageFormatter == null) {
Locale locale = Objects.requireNonNull(Utils.getContext()).getResources().getConfiguration().locale;
dislikePercentageFormatter = NumberFormat.getPercentInstance(locale);
// Want to set the digit strings, and the simplest way is to cast to the implementation NumberFormat returns.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P
&& dislikePercentageFormatter instanceof DecimalFormat) {
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale);
symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings());
((DecimalFormat) dislikePercentageFormatter).setDecimalFormatSymbols(symbols);
}
// Want to set the digit strings, and the simplest way is to cast to the implementation NumberFormat returns.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P
&& dislikePercentageFormatter instanceof DecimalFormat) {
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale);
symbols.setDigitStrings(DecimalFormatSymbols.getInstance(Locale.ENGLISH).getDigitStrings());
((DecimalFormat) dislikePercentageFormatter).setDecimalFormatSymbols(symbols);
}
if (dislikePercentage >= 0.01) { // at least 1%
dislikePercentageFormatter.setMaximumFractionDigits(0); // show only whole percentage points
} else {
dislikePercentageFormatter.setMaximumFractionDigits(1); // show up to 1 digit precision
}
return dislikePercentageFormatter.format(dislikePercentage);
}
}
// Will never be reached, as the oldest supported YouTube app requires Android N or greater.
return String.valueOf((int) (dislikePercentage * 100));
if (dislikePercentage >= 0.01) { // at least 1%
dislikePercentageFormatter.setMaximumFractionDigits(0); // show only whole percentage points
} else {
dislikePercentageFormatter.setMaximumFractionDigits(1); // show up to 1 digit precision
}
return dislikePercentageFormatter.format(dislikePercentage);
}
}
@NonNull
@@ -403,15 +402,13 @@ public class ReturnYouTubeDislike {
Objects.requireNonNull(videoId);
synchronized (fetchCache) {
// Remove any expired entries.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
final long now = System.currentTimeMillis();
fetchCache.values().removeIf(value -> {
final boolean expired = value.isExpired(now);
if (expired)
Logger.printDebug(() -> "Removing expired fetch: " + value.videoId);
return expired;
});
}
final long now = System.currentTimeMillis();
fetchCache.values().removeIf(value -> {
final boolean expired = value.isExpired(now);
if (expired)
Logger.printDebug(() -> "Removing expired fetch: " + value.videoId);
return expired;
});
ReturnYouTubeDislike fetch = fetchCache.get(videoId);
if (fetch == null) {
@@ -551,6 +548,15 @@ public class ReturnYouTubeDislike {
}
if (spanIsForLikes) {
if (!Utils.containsNumber(original)) {
if (!Settings.RYD_ESTIMATED_LIKE.get()) {
Logger.printDebug(() -> "Likes are hidden");
return original;
} else {
Logger.printDebug(() -> "Using estimated likes");
}
}
// Scrolling Shorts does not cause the Spans to be reloaded,
// so there is no need to cache the likes for this situations.
Logger.printDebug(() -> "Creating likes span for: " + votingData.videoId);

View File

@@ -314,8 +314,9 @@ public class Settings extends BaseSettings {
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final IntegerSetting SWIPE_MAGNITUDE_THRESHOLD = new IntegerSetting("revanced_swipe_threshold", 30, true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final IntegerSetting SWIPE_OVERLAY_BACKGROUND_ALPHA = new IntegerSetting("revanced_swipe_overlay_background_alpha", 127, true,
public static final IntegerSetting SWIPE_OVERLAY_OPACITY = new IntegerSetting("revanced_swipe_overlay_background_opacity", 50, true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
private static final IntegerSetting DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA = new IntegerSetting("revanced_swipe_overlay_background_alpha", 127);
// Debugging
public static final IntegerSetting SWIPE_OVERLAY_TEXT_SIZE = new IntegerSetting("revanced_swipe_text_overlay_size", 22, true,
@@ -332,6 +333,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting RYD_SHORTS = new BooleanSetting("ryd_shorts", TRUE, parent(RYD_ENABLED));
public static final BooleanSetting RYD_DISLIKE_PERCENTAGE = new BooleanSetting("ryd_dislike_percentage", FALSE, parent(RYD_ENABLED));
public static final BooleanSetting RYD_COMPACT_LAYOUT = new BooleanSetting("ryd_compact_layout", FALSE, parent(RYD_ENABLED));
public static final BooleanSetting RYD_ESTIMATED_LIKE = new BooleanSetting("ryd_estimated_like", TRUE, parent(RYD_ENABLED));
public static final BooleanSetting RYD_TOAST_ON_CONNECTION_ERROR = new BooleanSetting("ryd_toast_on_connection_error", TRUE, parent(RYD_ENABLED));
// SponsorBlock
@@ -343,13 +345,14 @@ public class Settings extends BaseSettings {
public static final IntegerSetting SB_CREATE_NEW_SEGMENT_STEP = new IntegerSetting("sb_create_new_segment_step", 150, parent(SB_ENABLED));
public static final BooleanSetting SB_VOTING_BUTTON = new BooleanSetting("sb_voting_button", FALSE, parent(SB_ENABLED));
public static final BooleanSetting SB_CREATE_NEW_SEGMENT = new BooleanSetting("sb_create_new_segment", FALSE, parent(SB_ENABLED));
public static final BooleanSetting SB_SQUARE_LAYOUT = new BooleanSetting("sb_square_layout", FALSE, parent(SB_ENABLED));
public static final BooleanSetting SB_COMPACT_SKIP_BUTTON = new BooleanSetting("sb_compact_skip_button", FALSE, parent(SB_ENABLED));
public static final BooleanSetting SB_AUTO_HIDE_SKIP_BUTTON = new BooleanSetting("sb_auto_hide_skip_button", TRUE, parent(SB_ENABLED));
public static final BooleanSetting SB_TOAST_ON_SKIP = new BooleanSetting("sb_toast_on_skip", TRUE, parent(SB_ENABLED));
public static final BooleanSetting SB_TOAST_ON_CONNECTION_ERROR = new BooleanSetting("sb_toast_on_connection_error", TRUE, parent(SB_ENABLED));
public static final BooleanSetting SB_TRACK_SKIP_COUNT = new BooleanSetting("sb_track_skip_count", TRUE, parent(SB_ENABLED));
public static final FloatSetting SB_SEGMENT_MIN_DURATION = new FloatSetting("sb_min_segment_duration", 0F, parent(SB_ENABLED));
public static final BooleanSetting SB_VIDEO_LENGTH_WITHOUT_SEGMENTS = new BooleanSetting("sb_video_length_without_segments", TRUE, parent(SB_ENABLED));
public static final BooleanSetting SB_VIDEO_LENGTH_WITHOUT_SEGMENTS = new BooleanSetting("sb_video_length_without_segments", FALSE, parent(SB_ENABLED));
public static final StringSetting SB_API_URL = new StringSetting("sb_api_url", "https://sponsor.ajay.app");
public static final BooleanSetting SB_USER_IS_VIP = new BooleanSetting("sb_user_is_vip", FALSE);
public static final IntegerSetting SB_LOCAL_TIME_SAVED_NUMBER_SEGMENTS = new IntegerSetting("sb_local_time_saved_number_segments", 0);
@@ -436,6 +439,11 @@ public class Settings extends BaseSettings {
DEPRECATED_SEEKBAR_CUSTOM_COLOR_PRIMARY.resetToDefault();
}
if (!DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.isSetToDefault()) {
SWIPE_OVERLAY_OPACITY.save(DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.get() / 255);
DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.resetToDefault();
}
// endregion
// region SB import/export callbacks

View File

@@ -153,13 +153,10 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
toolbar.setTitle(childScreen.getTitle());
toolbar.setNavigationIcon(getBackButtonDrawable());
toolbar.setNavigationOnClickListener(view -> preferenceScreenDialog.dismiss());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
final int margin = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics()
);
toolbar.setTitleMargin(margin, 0, margin, 0);
}
final int margin = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics()
);
toolbar.setTitleMargin(margin, 0, margin, 0);
TextView toolbarTextView = Utils.getChildView(toolbar,
true, TextView.class::isInstance);

View File

@@ -39,6 +39,11 @@ public class ReturnYouTubeDislikePreferenceFragment extends PreferenceFragment {
*/
private SwitchPreference compactLayoutPreference;
/**
* If hidden likes are replaced with an estimated value.
*/
private SwitchPreference estimatedLikesPreference;
/**
* If segmented like/dislike button uses smaller compact layout.
*/
@@ -48,6 +53,7 @@ public class ReturnYouTubeDislikePreferenceFragment extends PreferenceFragment {
shortsPreference.setEnabled(Settings.RYD_SHORTS.isAvailable());
percentagePreference.setEnabled(Settings.RYD_DISLIKE_PERCENTAGE.isAvailable());
compactLayoutPreference.setEnabled(Settings.RYD_COMPACT_LAYOUT.isAvailable());
estimatedLikesPreference.setEnabled(Settings.RYD_ESTIMATED_LIKE.isAvailable());
toastOnRYDNotAvailable.setEnabled(Settings.RYD_TOAST_ON_CONNECTION_ERROR.isAvailable());
}
@@ -117,6 +123,19 @@ public class ReturnYouTubeDislikePreferenceFragment extends PreferenceFragment {
});
preferenceScreen.addPreference(compactLayoutPreference);
estimatedLikesPreference = new SwitchPreference(context);
estimatedLikesPreference.setChecked(Settings.RYD_ESTIMATED_LIKE.get());
estimatedLikesPreference.setTitle(str("revanced_ryd_estimated_like_title"));
estimatedLikesPreference.setSummaryOn(str("revanced_ryd_estimated_like_summary_on"));
estimatedLikesPreference.setSummaryOff(str("revanced_ryd_estimated_like_summary_off"));
estimatedLikesPreference.setOnPreferenceChangeListener((pref, newValue) -> {
Settings.RYD_ESTIMATED_LIKE.save((Boolean) newValue);
ReturnYouTubeDislike.clearAllUICaches();
updateUIState();
return true;
});
preferenceScreen.addPreference(estimatedLikesPreference);
toastOnRYDNotAvailable = new SwitchPreference(context);
toastOnRYDNotAvailable.setChecked(Settings.RYD_TOAST_ON_CONNECTION_ERROR.get());
toastOnRYDNotAvailable.setTitle(str("revanced_ryd_toast_on_connection_error_title"));

View File

@@ -6,7 +6,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.*;
import android.text.Html;
@@ -37,8 +36,9 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment {
private SwitchPreference sbEnabled;
private SwitchPreference addNewSegment;
private SwitchPreference votingEnabled;
private SwitchPreference compactSkipButton;
private SwitchPreference autoHideSkipSegmentButton;
private SwitchPreference compactSkipButton;
private SwitchPreference squareLayout;
private SwitchPreference showSkipToast;
private SwitchPreference trackSkips;
private SwitchPreference showTimeWithoutSegments;
@@ -62,7 +62,9 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment {
} else if (!Settings.SB_CREATE_NEW_SEGMENT.get()) {
SponsorBlockViewController.hideNewSegmentLayout();
}
// Voting and add new segment buttons automatically shows/hide themselves.
// Voting and add new segment buttons automatically show/hide themselves.
SponsorBlockViewController.updateLayout();
sbEnabled.setChecked(enabled);
@@ -72,11 +74,14 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment {
votingEnabled.setChecked(Settings.SB_VOTING_BUTTON.get());
votingEnabled.setEnabled(enabled);
autoHideSkipSegmentButton.setEnabled(enabled);
autoHideSkipSegmentButton.setChecked(Settings.SB_AUTO_HIDE_SKIP_BUTTON.get());
compactSkipButton.setChecked(Settings.SB_COMPACT_SKIP_BUTTON.get());
compactSkipButton.setEnabled(enabled);
autoHideSkipSegmentButton.setChecked(Settings.SB_AUTO_HIDE_SKIP_BUTTON.get());
autoHideSkipSegmentButton.setEnabled(enabled);
squareLayout.setChecked(Settings.SB_SQUARE_LAYOUT.get());
squareLayout.setEnabled(enabled);
showSkipToast.setChecked(Settings.SB_TOAST_ON_SKIP.get());
showSkipToast.setEnabled(enabled);
@@ -176,6 +181,17 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment {
return true;
});
autoHideSkipSegmentButton = new SwitchPreference(context);
autoHideSkipSegmentButton.setTitle(str("revanced_sb_enable_auto_hide_skip_segment_button"));
autoHideSkipSegmentButton.setSummaryOn(str("revanced_sb_enable_auto_hide_skip_segment_button_sum_on"));
autoHideSkipSegmentButton.setSummaryOff(str("revanced_sb_enable_auto_hide_skip_segment_button_sum_off"));
category.addPreference(autoHideSkipSegmentButton);
autoHideSkipSegmentButton.setOnPreferenceChangeListener((preference1, newValue) -> {
Settings.SB_AUTO_HIDE_SKIP_BUTTON.save((Boolean) newValue);
updateUI();
return true;
});
compactSkipButton = new SwitchPreference(context);
compactSkipButton.setTitle(str("revanced_sb_enable_compact_skip_button"));
compactSkipButton.setSummaryOn(str("revanced_sb_enable_compact_skip_button_sum_on"));
@@ -187,13 +203,13 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment {
return true;
});
autoHideSkipSegmentButton = new SwitchPreference(context);
autoHideSkipSegmentButton.setTitle(str("revanced_sb_enable_auto_hide_skip_segment_button"));
autoHideSkipSegmentButton.setSummaryOn(str("revanced_sb_enable_auto_hide_skip_segment_button_sum_on"));
autoHideSkipSegmentButton.setSummaryOff(str("revanced_sb_enable_auto_hide_skip_segment_button_sum_off"));
category.addPreference(autoHideSkipSegmentButton);
autoHideSkipSegmentButton.setOnPreferenceChangeListener((preference1, newValue) -> {
Settings.SB_AUTO_HIDE_SKIP_BUTTON.save((Boolean) newValue);
squareLayout = new SwitchPreference(context);
squareLayout.setTitle(str("revanced_sb_square_layout"));
squareLayout.setSummaryOn(str("revanced_sb_square_layout_sum_on"));
squareLayout.setSummaryOff(str("revanced_sb_square_layout_sum_off"));
category.addPreference(squareLayout);
squareLayout.setOnPreferenceChangeListener((preference1, newValue) -> {
Settings.SB_SQUARE_LAYOUT.save((Boolean) newValue);
updateUI();
return true;
});
@@ -393,9 +409,7 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment {
importExport.getEditText().setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_FLAG_MULTI_LINE
| InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
importExport.getEditText().setAutofillHints((String) null);
}
importExport.getEditText().setAutofillHints((String) null);
importExport.getEditText().setTextSize(TypedValue.COMPLEX_UNIT_PT, 8);
importExport.setOnPreferenceClickListener(preference1 -> {
importExport.getEditText().setText(SponsorBlockSettings.exportDesktopSettings());

View File

@@ -2,10 +2,11 @@ package app.revanced.extension.youtube.sponsorblock.ui;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.RippleDrawable;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageButton;
@@ -14,15 +15,15 @@ import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.sponsorblock.SponsorBlockUtils;
import app.revanced.extension.shared.Logger;
import static app.revanced.extension.shared.Utils.getResourceColor;
import static app.revanced.extension.shared.Utils.getResourceDimensionPixelSize;
import static app.revanced.extension.shared.Utils.getResourceIdentifier;
public final class NewSegmentLayout extends FrameLayout {
private static final ColorStateList rippleColorStateList = new ColorStateList(
new int[][]{new int[]{android.R.attr.state_enabled}},
new int[]{0x33ffffff} // sets the ripple color to white
new int[]{0x33ffffff} // Ripple effect color (semi-transparent white)
);
private final int rippleEffectId;
final int defaultBottomMargin;
final int ctaBottomMargin;
@@ -47,10 +48,6 @@ public final class NewSegmentLayout extends FrameLayout {
getResourceIdentifier(context, "revanced_sb_new_segment", "layout"), this, true
);
TypedValue rippleEffect = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.selectableItemBackground, rippleEffect, true);
rippleEffectId = rippleEffect.resourceId;
initializeButton(
context,
"revanced_sb_new_segment_rewind",
@@ -120,6 +117,28 @@ public final class NewSegmentLayout extends FrameLayout {
});
}
/**
* Update the layout of this UI control.
*/
public void updateLayout() {
final boolean squareLayout = Settings.SB_SQUARE_LAYOUT.get();
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) getLayoutParams();
final int margin = squareLayout
? 0
: SponsorBlockViewController.ROUNDED_LAYOUT_MARGIN;
params.setMarginStart(margin);
setLayoutParams(params);
GradientDrawable backgroundDrawable = new GradientDrawable();
backgroundDrawable.setColor(getResourceColor("skip_ad_button_background_color"));
final float cornerRadius = squareLayout
? 0
: 16 * getResources().getDisplayMetrics().density;
backgroundDrawable.setCornerRadius(cornerRadius);
setBackground(backgroundDrawable);
}
@FunctionalInterface
private interface ButtonOnClickHandlerFunction {
void apply();

View File

@@ -8,6 +8,7 @@ import static app.revanced.extension.shared.Utils.getResourceIdentifier;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
@@ -19,11 +20,19 @@ import androidx.annotation.NonNull;
import java.util.Objects;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController;
import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment;
public class SkipSponsorButton extends FrameLayout {
private static final boolean highContrast = true;
/**
* Adds a high contrast border around the skip button.
*
* This feature is not currently used.
* If this is added, it needs an additional button width change because
* as-is the skip button text is clipped when this is on.
*/
private static final boolean highContrast = false;
private final LinearLayout skipSponsorBtnContainer;
private final TextView skipSponsorTextView;
private final Paint background;
@@ -49,18 +58,23 @@ public class SkipSponsorButton extends FrameLayout {
LayoutInflater.from(context).inflate(getResourceIdentifier(context, "revanced_sb_skip_sponsor_button", "layout"), this, true); // layout:skip_ad_button
setMinimumHeight(getResourceDimensionPixelSize("ad_skip_ad_button_min_height")); // dimen:ad_skip_ad_button_min_height
skipSponsorBtnContainer = Objects.requireNonNull((LinearLayout) findViewById(getResourceIdentifier(context, "revanced_sb_skip_sponsor_button_container", "id"))); // id:skip_ad_button_container
skipSponsorBtnContainer = Objects.requireNonNull(findViewById(getResourceIdentifier(context, "revanced_sb_skip_sponsor_button_container", "id"))); // id:skip_ad_button_container
background = new Paint();
background.setColor(getResourceColor("skip_ad_button_background_color")); // color:skip_ad_button_background_color);
background.setStyle(Paint.Style.FILL);
border = new Paint();
border.setColor(getResourceColor("skip_ad_button_border_color")); // color:skip_ad_button_border_color);
border.setStrokeWidth(getResourceDimension("ad_skip_ad_button_border_width")); // dimen:ad_skip_ad_button_border_width);
border.setStyle(Paint.Style.STROKE);
skipSponsorTextView = Objects.requireNonNull((TextView) findViewById(getResourceIdentifier(context, "revanced_sb_skip_sponsor_button_text", "id"))); // id:skip_ad_button_text;
skipSponsorTextView = Objects.requireNonNull(findViewById(getResourceIdentifier(context, "revanced_sb_skip_sponsor_button_text", "id"))); // id:skip_ad_button_text;
defaultBottomMargin = getResourceDimensionPixelSize("skip_button_default_bottom_margin"); // dimen:skip_button_default_bottom_margin
ctaBottomMargin = getResourceDimensionPixelSize("skip_button_cta_bottom_margin"); // dimen:skip_button_cta_bottom_margin
updateLayout();
skipSponsorBtnContainer.setOnClickListener(v -> {
// The view controller handles hiding this button, but hide it here as well just in case something goofs.
setVisibility(View.GONE);
@@ -72,30 +86,56 @@ public class SkipSponsorButton extends FrameLayout {
protected final void dispatchDraw(Canvas canvas) {
final int left = skipSponsorBtnContainer.getLeft();
final int top = skipSponsorBtnContainer.getTop();
final int leftPlusWidth = (left + skipSponsorBtnContainer.getWidth());
final int topPlusHeight = (top + skipSponsorBtnContainer.getHeight());
canvas.drawRect(left, top, leftPlusWidth, topPlusHeight, background);
if (!highContrast) {
canvas.drawLines(new float[]{
leftPlusWidth, top, left, top,
left, top, left, topPlusHeight,
left, topPlusHeight, leftPlusWidth, topPlusHeight},
border);
final int right = left + skipSponsorBtnContainer.getWidth();
final int bottom = top + skipSponsorBtnContainer.getHeight();
// Determine corner radius for rounded button
float cornerRadius = skipSponsorBtnContainer.getHeight() / 2f;
if (Settings.SB_SQUARE_LAYOUT.get()) {
// Square button.
canvas.drawRect(left, top, right, bottom, background);
if (highContrast) {
canvas.drawLines(new float[]{
right, top, left, top,
left, top, left, bottom,
left, bottom, right, bottom},
border); // Draw square border.
}
} else {
// Rounded button.
RectF rect = new RectF(left, top, right, bottom);
canvas.drawRoundRect(rect, cornerRadius, cornerRadius, background); // Draw rounded background.
if (highContrast) {
canvas.drawRoundRect(rect, cornerRadius, cornerRadius, border); // Draw rounded border.
}
}
super.dispatchDraw(canvas);
}
/**
* @return true, if this button state was changed
* Update the layout of this button.
*/
public boolean updateSkipButtonText(@NonNull SponsorSegment segment) {
public void updateLayout() {
if (Settings.SB_SQUARE_LAYOUT.get()) {
// No padding for square corners.
setPadding(0, 0, 0, 0);
} else {
// Apply padding for rounded corners.
final int padding = SponsorBlockViewController.ROUNDED_LAYOUT_MARGIN;
setPadding(padding, 0, padding, 0);
}
}
public void updateSkipButtonText(@NonNull SponsorSegment segment) {
this.segment = segment;
CharSequence newText = segment.getSkipButtonText();
//noinspection StringEqualsCharSequence
if (newText.equals(skipSponsorTextView.getText())) {
return false;
return;
}
skipSponsorTextView.setText(newText);
return true;
}
}

View File

@@ -19,8 +19,11 @@ import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.shared.PlayerType;
import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment;
import kotlin.Unit;
public class SponsorBlockViewController {
public static final int ROUNDED_LAYOUT_MARGIN = 12;
private static WeakReference<RelativeLayout> inlineSponsorOverlayRef = new WeakReference<>(null);
private static WeakReference<ViewGroup> youtubeOverlaysLayoutRef = new WeakReference<>(null);
private static WeakReference<SkipSponsorButton> skipHighlightButtonRef = new WeakReference<>(null);
@@ -36,7 +39,7 @@ public class SponsorBlockViewController {
static {
PlayerType.getOnChange().addObserver((PlayerType type) -> {
playerTypeChanged(type);
return null;
return Unit.INSTANCE;
});
}
@@ -80,12 +83,16 @@ public class SponsorBlockViewController {
});
youtubeOverlaysLayoutRef = new WeakReference<>(viewGroup);
skipHighlightButtonRef = new WeakReference<>(
Objects.requireNonNull(layout.findViewById(getResourceIdentifier("revanced_sb_skip_highlight_button", "id"))));
skipSponsorButtonRef = new WeakReference<>(
Objects.requireNonNull(layout.findViewById(getResourceIdentifier("revanced_sb_skip_sponsor_button", "id"))));
newSegmentLayoutRef = new WeakReference<>(
Objects.requireNonNull(layout.findViewById(getResourceIdentifier("revanced_sb_new_segment_view", "id"))));
skipHighlightButtonRef = new WeakReference<>(Objects.requireNonNull(
layout.findViewById(getResourceIdentifier("revanced_sb_skip_highlight_button", "id"))));
skipSponsorButtonRef = new WeakReference<>(Objects.requireNonNull(
layout.findViewById(getResourceIdentifier("revanced_sb_skip_sponsor_button", "id"))));
NewSegmentLayout newSegmentLayout = Objects.requireNonNull(
layout.findViewById(getResourceIdentifier("revanced_sb_new_segment_view", "id")));
newSegmentLayoutRef = new WeakReference<>(newSegmentLayout);
newSegmentLayout.updateLayout();
newSegmentLayoutVisible = false;
skipHighlight = null;
@@ -101,6 +108,23 @@ public class SponsorBlockViewController {
hideNewSegmentLayout();
}
public static void updateLayout() {
SkipSponsorButton button = skipSponsorButtonRef.get();
if (button != null) {
button.updateLayout();
}
button = skipHighlightButtonRef.get();
if (button != null) {
button.updateLayout();
}
NewSegmentLayout newSegmentLayout = newSegmentLayoutRef.get();
if (newSegmentLayout != null) {
newSegmentLayout.updateLayout();
}
}
public static void showSkipHighlightButton(@NonNull SponsorSegment segment) {
skipHighlight = Objects.requireNonNull(segment);
NewSegmentLayout newSegmentLayout = newSegmentLayoutRef.get();

View File

@@ -2,6 +2,8 @@ package app.revanced.extension.youtube.swipecontrols
import android.content.Context
import android.graphics.Color
import app.revanced.extension.shared.StringRef.str
import app.revanced.extension.shared.Utils
import app.revanced.extension.youtube.settings.Settings
import app.revanced.extension.youtube.shared.PlayerType
@@ -86,7 +88,18 @@ class SwipeControlsConfigurationProvider(
* get the background color for text on the overlay, as a color int
*/
val overlayTextBackgroundColor: Int
get() = Color.argb(Settings.SWIPE_OVERLAY_BACKGROUND_ALPHA.get(), 0, 0, 0)
get() {
var opacity = Settings.SWIPE_OVERLAY_OPACITY.get()
if (opacity < 0 || opacity > 100) {
Utils.showToastLong(str("revanced_swipe_overlay_background_opacity_invalid_toast"))
Settings.SWIPE_OVERLAY_OPACITY.resetToDefault()
opacity = Settings.SWIPE_OVERLAY_OPACITY.get()
}
opacity = opacity * 255 / 100
return Color.argb(opacity, 0, 0, 0)
}
/**
* get the foreground color for text on the overlay, as a color int

View File

@@ -4,14 +4,9 @@ plugins {
android {
namespace = "app.revanced.extension"
compileSdk = 33
compileSdk = 34
defaultConfig {
minSdk = 24
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}

View File

@@ -0,0 +1,15 @@
package com.airbnb.lottie;
import java.io.InputStream;
@SuppressWarnings("unused")
public class LottieAnimationView {
public void patch_setAnimation(InputStream stream, String cacheKey) {
throw new RuntimeException("stub");
}
public final void patch_setAnimation(int rawResInt) {
throw new RuntimeException("stub");
}
}

View File

@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
version = 5.10.0-dev.10
version = 5.12.0-dev.4

View File

@@ -3,7 +3,6 @@ revanced-patcher = "21.0.0"
# Tracking https://github.com/google/smali/issues/64.
#noinspection GradleDependency
smali = "3.0.5"
gson = "2.11.0"
# 8.3.0 causes java verifier error: https://github.com/ReVanced/revanced-patches/issues/2818.
#noinspection GradleDependency
agp = "8.2.2"
@@ -11,10 +10,9 @@ annotation = "1.9.1"
appcompat = "1.7.0"
okhttp = "5.0.0-alpha.14"
retrofit = "2.11.0"
guava = "33.2.1-jre"
guava = "33.4.0-jre"
[libraries]
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
annotation = { module = "androidx.annotation:annotation", version.ref = "annotation" }
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }

24
package-lock.json generated
View File

@@ -9,7 +9,7 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"gradle-semantic-release-plugin": "^1.10.1",
"semantic-release": "^24.1.2"
"semantic-release": "^24.2.1"
}
},
"node_modules/@babel/code-frame": {
@@ -6760,9 +6760,9 @@
"license": "MIT"
},
"node_modules/semantic-release": {
"version": "24.1.2",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.2.tgz",
"integrity": "sha512-hvEJ7yI97pzJuLsDZCYzJgmRxF8kiEJvNZhf0oiZQcexw+Ycjy4wbdsn/sVMURgNCu8rwbAXJdBRyIxM4pe32g==",
"version": "24.2.1",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.1.tgz",
"integrity": "sha512-z0/3cutKNkLQ4Oy0HTi3lubnjTsdjjgOqmxdPjeYWe6lhFqUPfwslZxRHv3HDZlN4MhnZitb9SLihDkZNxOXfQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6782,7 +6782,7 @@
"git-log-parser": "^1.2.0",
"hook-std": "^3.0.0",
"hosted-git-info": "^8.0.0",
"import-from-esm": "^1.3.1",
"import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
"marked": "^12.0.0",
"marked-terminal": "^7.0.0",
@@ -6926,6 +6926,20 @@
"node": ">=18.18.0"
}
},
"node_modules/semantic-release/node_modules/import-from-esm": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz",
"integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "^4.3.4",
"import-meta-resolve": "^4.0.0"
},
"engines": {
"node": ">=18.20"
}
},
"node_modules/semantic-release/node_modules/indent-string": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",

View File

@@ -4,6 +4,6 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"gradle-semantic-release-plugin": "^1.10.1",
"semantic-release": "^24.1.2"
"semantic-release": "^24.2.1"
}
}

View File

@@ -13,14 +13,31 @@ patches {
}
dependencies {
// Used by JsonGenerator.
implementation(libs.gson)
// Required due to smali, or build fails. Can be removed once smali is bumped.
implementation(libs.guava)
// Android API stubs defined here.
compileOnly(project(":patches:stub"))
}
tasks {
register<JavaExec>("preprocessCrowdinStrings") {
description = "Preprocess strings for Crowdin push"
dependsOn(compileKotlin)
classpath = sourceSets["main"].runtimeClasspath
mainClass.set("app.revanced.util.CrowdinPreprocessorKt")
args = listOf(
"src/main/resources/addresources/values/strings.xml",
// Ideally this would use build/tmp/crowdin/strings.xml
// But using that does not work with Crowdin pull because
// it does not recognize the strings.xml file belongs to this project.
"src/main/resources/addresources/values/strings.xml"
)
}
}
kotlin {
compilerOptions {
freeCompilerArgs = listOf("-Xcontext-receivers")
@@ -38,4 +55,4 @@ publishing {
}
}
}
}
}

View File

@@ -14,7 +14,7 @@ val exportInternalDataDocumentsProviderPatch = resourcePatch(
) {
dependsOn(
bytecodePatch {
extendWith("extensions/all/misc/directory/export-internal-data-documents-provider.rve")
extendWith("extensions/all/misc/directory/documentsprovider/export-internal-data-documents-provider.rve")
},
)

View File

@@ -359,15 +359,15 @@ val addResourcesPatch = resourcePatch(
}
getOrPut(resourceFileName) {
val targetFile = this@finalize["res/$value/$resourceFileName.xml"].also {
this@finalize["res/$value/$resourceFileName.xml"].also {
it.parentFile?.mkdirs()
if (it.createNewFile()) {
it.writeText("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n</resources>")
}
}
document(targetFile.path).let { document ->
document("res/$value/$resourceFileName.xml").let { document ->
// Save the target node here as well
// in order to avoid having to call document.getNode("resources")

View File

@@ -25,7 +25,7 @@ private val removeCaptureRestrictionResourcePatch = resourcePatch(
}
private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
"Lapp/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch"
"Lapp/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch"
private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
@Suppress("unused")

View File

@@ -8,7 +8,12 @@ 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.16.53",
"8.05.50"
)
)
execute {
navigate(showVideoAdsParentFingerprint.originalMethod)

View File

@@ -1,24 +1,21 @@
package app.revanced.patches.music.audio.exclusiveaudio
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.util.returnEarly
@Suppress("unused")
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.16.53",
"8.05.50"
)
)
execute {
allowExclusiveAudioPlaybackFingerprint.method.apply {
addInstructions(
0,
"""
const/4 v0, 0x1
return v0
""",
)
}
allowExclusiveAudioPlaybackFingerprint.method.returnEarly(true)
}
}

View File

@@ -9,16 +9,15 @@ internal val allowExclusiveAudioPlaybackFingerprint = fingerprint {
returns("Z")
parameters()
opcodes(
Opcode.INVOKE_INTERFACE,
Opcode.MOVE_RESULT_OBJECT,
Opcode.IGET_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT_OBJECT,
Opcode.CHECK_CAST,
Opcode.IF_NEZ,
Opcode.IGET_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT,
Opcode.GOTO,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT,
Opcode.RETURN
Opcode.MOVE_RESULT
)
}

View File

@@ -11,10 +11,14 @@ 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.16.53",
"8.05.50"
)
)
execute {
val startIndex = repeatTrackFingerprint.patternMatch!!.endIndex
val repeatIndex = startIndex + 1

View File

@@ -11,7 +11,12 @@ 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.16.53",
"8.05.50"
)
)
execute {
constructCategoryBarFingerprint.method.apply {

View File

@@ -11,7 +11,12 @@ 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.16.53",
"8.05.50"
)
)
execute {
hideGetPremiumFingerprint.method.apply {

View File

@@ -18,7 +18,12 @@ 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.16.53",
"8.05.50"
)
)
execute {
pivotBarConstructorFingerprint.method.apply {

View File

@@ -8,7 +8,12 @@ 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"("7.29.52"))
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.16.53",
"8.05.50"
)
)
execute {
checkCertificateFingerprint.method.returnEarly(true)

View File

@@ -4,8 +4,10 @@ import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val checkCertificateFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Z")
parameters("Ljava/lang/String;")
strings("X509", "Failed to get certificate.")
strings(
"X509",
"Failed to get certificate" // Partial String match.
)
}

View File

@@ -8,7 +8,12 @@ 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.16.53",
"8.05.50"
)
)
execute {
kidsBackgroundPlaybackPolicyControllerFingerprint.method.addInstruction(

View File

@@ -25,7 +25,12 @@ val spoofClientPatch = bytecodePatch(
name = "Spoof client",
description = "Spoofs the client to fix playback.",
) {
compatibleWith("com.google.android.apps.youtube.music")
compatibleWith(
"com.google.android.apps.youtube.music"(
"7.16.53",
"8.05.50"
)
)
dependsOn(
sharedExtensionPatch,

View File

@@ -56,8 +56,9 @@ val customThemePatch = resourcePatch(
document("res/values/colors.xml").use { document ->
val resourcesNode = document.getElementsByTagName("resources").item(0) as Element
for (i in 0 until resourcesNode.childNodes.length) {
val node = resourcesNode.childNodes.item(i) as? Element ?: continue
val childNodes = resourcesNode.childNodes
for (i in 0 until childNodes.length) {
val node = childNodes.item(i) as? Element ?: continue
node.textContent =
when (node.getAttribute("name")) {

View File

@@ -3,9 +3,9 @@ package app.revanced.patches.windyapp.misc.unlockpro
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
@Deprecated("This patch no longer works and will be removed in the future.")
@Suppress("unused")
val unlockProPatch = bytecodePatch(
name = "Unlock pro",
description = "Unlocks all pro features.",
) {
compatibleWith("co.windyapp.android")

View File

@@ -24,9 +24,7 @@ internal const val EXTENSION_METHOD_DESCRIPTOR =
val enableSlideToSeekPatch = bytecodePatch(
name = "Enable slide to seek",
description = "Adds an option to enable slide to seek " +
"instead of playing at 2x speed when pressing and holding in the video player. " +
"Including this patch may cause issues with tapping or double tapping the video player overlay.",
use = false,
"instead of playing at 2x speed when pressing and holding in the video player."
) {
dependsOn(
sharedExtensionPatch,

View File

@@ -44,7 +44,7 @@ private val swipeControlsResourcePatch = resourcePatch {
SwitchPreference("revanced_swipe_lowest_value_enable_auto_brightness"),
TextPreference("revanced_swipe_overlay_timeout", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_text_overlay_size", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_overlay_background_alpha", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_overlay_background_opacity", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_threshold", inputType = InputType.NUMBER),
)

View File

@@ -172,14 +172,16 @@ val changeHeaderPatch = resourcePatch(
// Instead change styles.xml to use the old drawable resources.
if (is_19_25_or_greater) {
document("res/values/styles.xml").use { document ->
val documentChildNodes = document.childNodes
arrayOf(
"CairoLightThemeRingo2Updates" to variants[0],
"CairoDarkThemeRingo2Updates" to variants[1]
).forEach { (styleName, theme) ->
val style = document.childNodes.findElementByAttributeValueOrThrow(
val styleNodes = documentChildNodes.findElementByAttributeValueOrThrow(
"name",
styleName,
)
).childNodes
val drawable = "@drawable/${HEADER_FILE_NAME}_${theme}"
@@ -187,7 +189,7 @@ val changeHeaderPatch = resourcePatch(
"ytWordmarkHeader",
"ytPremiumWordmarkHeader"
).forEach { itemName ->
style.childNodes.findElementByAttributeValueOrThrow(
styleNodes.findElementByAttributeValueOrThrow(
"name",
itemName,
).textContent = drawable

View File

@@ -2,9 +2,12 @@ package app.revanced.patches.youtube.layout.seekbar
import app.revanced.patcher.fingerprint
import app.revanced.util.containsLiteralInstruction
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 fullscreenSeekbarThumbnailsFingerprint = fingerprint {
returns("Z")
@@ -109,3 +112,52 @@ internal val launchScreenLayoutTypeFingerprint = fingerprint {
&& method.containsLiteralInstruction(launchScreenLayoutTypeLotteFeatureFlag)
}
}
internal const val LOTTIE_ANIMATION_VIEW_CLASS_TYPE = "Lcom/airbnb/lottie/LottieAnimationView;"
internal val lottieAnimationViewSetAnimationIntFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters("I")
returns("V")
custom { methodDef, classDef ->
classDef.type == LOTTIE_ANIMATION_VIEW_CLASS_TYPE && methodDef.indexOfFirstInstruction {
val reference = getReference<MethodReference>()
reference?.definingClass == "Lcom/airbnb/lottie/LottieAnimationView;"
&& reference.name == "isInEditMode"
} >= 0
}
}
internal val lottieAnimationViewSetAnimationStreamFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters("L")
returns("V")
custom { methodDef, classDef ->
classDef.type == LOTTIE_ANIMATION_VIEW_CLASS_TYPE && methodDef.indexOfFirstInstruction {
val reference = getReference<MethodReference>()
reference?.definingClass == "Ljava/util/Set;"
&& reference.name == "add"
} >= 0 && methodDef.containsLiteralInstruction(0)
}
}
internal val lottieCompositionFactoryZipFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
parameters("Landroid/content/Context;", "Ljava/lang/String;", "Ljava/lang/String;")
returns("L")
strings(".zip", ".lottie")
}
/**
* Resolves using class found in [lottieCompositionFactoryZipFingerprint].
*
* [Original method](https://github.com/airbnb/lottie-android/blob/26ad8bab274eac3f93dccccfa0cafc39f7408d13/lottie/src/main/java/com/airbnb/lottie/LottieCompositionFactory.java#L386)
*/
internal val lottieCompositionFactoryFromJsonInputStreamFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
parameters("Ljava/io/InputStream;", "Ljava/lang/String;")
returns("L")
literal { 2 }
}

View File

@@ -3,10 +3,12 @@ package app.revanced.patches.youtube.layout.seekbar
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.replaceInstruction
import app.revanced.patcher.patch.PatchException
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.patch.resourcePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
import app.revanced.patches.shared.misc.mapping.get
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.shared.misc.mapping.resourceMappings
@@ -22,15 +24,21 @@ import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
import app.revanced.util.copyXmlNode
import app.revanced.util.findElementByAttributeValueOrThrow
import app.revanced.util.findInstructionIndicesReversedOrThrow
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionOrThrow
import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
import app.revanced.util.inputStreamFromBundledResource
import app.revanced.util.insertFeatureFlagBooleanOverride
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.FiveRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter
import org.w3c.dom.Element
import java.io.ByteArrayInputStream
import kotlin.use
@@ -117,8 +125,10 @@ private val seekbarColorResourcePatch = resourcePatch {
fun setSplashDrawablePathFillColor(xmlFileNames: Iterable<String>, vararg resourceNames: String) {
xmlFileNames.forEach { xmlFileName ->
document(xmlFileName).use { document ->
val childNodes = document.childNodes
resourceNames.forEach { elementId ->
val element = document.childNodes.findElementByAttributeValueOrThrow(
val element = childNodes.findElementByAttributeValueOrThrow(
"android:name",
elementId
)
@@ -307,7 +317,11 @@ val seekbarColorPatch = bytecodePatch(
// region apply seekbar custom color to splash screen animation.
// Don't use the lotte splash screen layout if using custom seekbar.
if (!is_19_34_or_greater) {
return@execute // 19.25 does not have a cairo launch animation.
}
// Add development hook to force old drawable splash animation.
arrayOf(
launchScreenLayoutTypeFingerprint,
mainActivityOnCreateFingerprint
@@ -318,7 +332,7 @@ val seekbarColorPatch = bytecodePatch(
)
}
// Hook the splash animation drawable to set the a seekbar color theme.
// Hook the splash animation to set the a seekbar color.
mainActivityOnCreateFingerprint.method.apply {
val drawableIndex = indexOfFirstInstructionOrThrow {
val reference = getReference<MethodReference>()
@@ -333,6 +347,87 @@ val seekbarColorPatch = bytecodePatch(
"invoke-static { v$drawableRegister }, $EXTENSION_CLASS_DESCRIPTOR->" +
"setSplashAnimationDrawableTheme(Landroid/graphics/drawable/AnimatedVectorDrawable;)V"
)
// Replace the Lottie animation view setAnimation(int) call.
val setAnimationIntMethodName = lottieAnimationViewSetAnimationIntFingerprint.originalMethod.name
findInstructionIndicesReversedOrThrow {
val reference = getReference<MethodReference>()
reference?.definingClass == "Lcom/airbnb/lottie/LottieAnimationView;"
&& reference.name == setAnimationIntMethodName
}.forEach { index ->
val instruction = getInstruction<FiveRegisterInstruction>(index)
replaceInstruction(
index,
"invoke-static { v${instruction.registerC}, v${instruction.registerD} }, " +
"$EXTENSION_CLASS_DESCRIPTOR->setSplashAnimationLottie" +
"(Lcom/airbnb/lottie/LottieAnimationView;I)V"
)
}
}
// Add non obfuscated method aliases for `setAnimation(int)`
// and `setAnimation(InputStream, String)` so extension code can call them.
lottieAnimationViewSetAnimationIntFingerprint.classDef.methods.apply {
val addedMethodName = "patch_setAnimation"
val setAnimationIntName = lottieAnimationViewSetAnimationIntFingerprint.originalMethod.name
add(ImmutableMethod(
LOTTIE_ANIMATION_VIEW_CLASS_TYPE,
addedMethodName,
listOf(ImmutableMethodParameter("I", null, null)),
"V",
AccessFlags.PUBLIC.value,
null,
null,
MutableMethodImplementation(2),
).toMutable().apply {
addInstructions(
"""
invoke-virtual { p0, p1 }, Lcom/airbnb/lottie/LottieAnimationView;->$setAnimationIntName(I)V
return-void
"""
)
})
val factoryStreamClass : CharSequence
val factoryStreamName : CharSequence
val factoryStreamReturnType : CharSequence
lottieCompositionFactoryFromJsonInputStreamFingerprint.match(
lottieCompositionFactoryZipFingerprint.originalClassDef
).originalMethod.apply {
factoryStreamClass = definingClass
factoryStreamName = name
factoryStreamReturnType = returnType
}
val setAnimationStreamName = lottieAnimationViewSetAnimationStreamFingerprint
.originalMethod.name
add(ImmutableMethod(
LOTTIE_ANIMATION_VIEW_CLASS_TYPE,
addedMethodName,
listOf(
ImmutableMethodParameter("Ljava/io/InputStream;", null, null),
ImmutableMethodParameter("Ljava/lang/String;", null, null)
),
"V",
AccessFlags.PUBLIC.value,
null,
null,
MutableMethodImplementation(4),
).toMutable().apply {
addInstructions(
"""
invoke-static { p1, p2 }, $factoryStreamClass->$factoryStreamName(Ljava/io/InputStream;Ljava/lang/String;)$factoryStreamReturnType
move-result-object v0
invoke-virtual { p0, v0}, Lcom/airbnb/lottie/LottieAnimationView;->$setAnimationStreamName($factoryStreamReturnType)V
return-void
"""
)
})
}
// endregion

View File

@@ -70,12 +70,7 @@ private val sponsorBlockResourcePatch = resourcePatch {
"revanced_sb_logo.xml",
"revanced_sb_publish.xml",
"revanced_sb_voting.xml",
),
ResourceGroup(
// required resource for back button, because when the base APK is used, this resource will not exist
"drawable-xxxhdpi",
"quantum_ic_skip_next_white_24.png",
),
)
).forEach { resourceGroup ->
copyResources("sponsorblock", resourceGroup)
}

View File

@@ -76,10 +76,11 @@ val playerControlsResourcePatch = resourcePatch {
"android.support.constraint.ConstraintLayout",
).item(0)
var bottomInsertBeforeNode: Node = bottomTargetDocument.childNodes.findElementByAttributeValue(
val bottomTargetDocumentChildNodes = bottomTargetDocument.childNodes
var bottomInsertBeforeNode: Node = bottomTargetDocumentChildNodes.findElementByAttributeValue(
"android:inflatedId",
bottomLastLeftOf,
) ?: bottomTargetDocument.childNodes.findElementByAttributeValueOrThrow(
) ?: bottomTargetDocumentChildNodes.findElementByAttributeValueOrThrow(
"android:id", // Older targets use non-inflated id.
bottomLastLeftOf,
)
@@ -143,11 +144,13 @@ val playerControlsResourcePatch = resourcePatch {
}
finalize {
val childNodes = bottomTargetDocument.childNodes
arrayOf(
"@id/bottom_end_container",
"@id/multiview_button",
).forEach {
bottomTargetDocument.childNodes.findElementByAttributeValue(
childNodes.findElementByAttributeValue(
"android:id",
it,
)?.setAttribute("yt:layout_constraintRight_toLeftOf", bottomLastLeftOf)

View File

@@ -97,6 +97,8 @@ private val settingsResourcePatch = resourcePatch {
// Remove horizontal divider from the settings Preferences
// To better match the appearance of the stock YouTube settings.
document("res/values/styles.xml").use { document ->
val childNodes = document.childNodes
arrayOf(
"Theme.YouTube.Settings",
"Theme.YouTube.Settings.Dark",
@@ -105,7 +107,7 @@ private val settingsResourcePatch = resourcePatch {
listDividerNode.setAttribute("name", "android:listDivider")
listDividerNode.appendChild(document.createTextNode("@null"))
document.childNodes.findElementByAttributeValueOrThrow(
childNodes.findElementByAttributeValueOrThrow(
"name",
value,
).appendChild(listDividerNode)

View File

@@ -0,0 +1,40 @@
package app.revanced.util
import java.io.File
/**
* Comments out the non-standard <app> and <patch> tags.
*
* Previously this was done on Crowdin after pushing.
* But Crowdin preprocessing has randomly failed but still used the unmodified
* strings.xml file, which effectively deletes all patch strings from Crowdin.
*/
internal fun main(args: Array<String>) {
if (args.size != 2) {
throw RuntimeException("Exactly two arguments are required: <input_file> <output_file>")
}
val inputFilePath = args[0]
val inputFile = File(inputFilePath)
if (!inputFile.exists()) {
throw RuntimeException(
"Input file not found: $inputFilePath currentDirectory: " + File(".").canonicalPath
)
}
// Comment out the non-standard tags. Otherwise Crowdin interprets the file
// not as Android but instead a generic xml file where strings are
// identified by xml position and not key.
val content = inputFile.readText()
val tagRegex = """((<app\s+.*>)|(</app>)|(<patch\s+.*>)|(</patch>))""".toRegex()
val modifiedContent = content.replace(tagRegex, """<!-- $1 -->""")
// Write modified content to the output file (creates file if it doesn't exist).
val outputFilePath = args[1]
val outputFile = File(outputFilePath)
outputFile.parentFile?.mkdirs()
outputFile.writeText(modifiedContent)
println("Preprocessed strings.xml to: $outputFilePath")
}

View File

@@ -41,7 +41,10 @@ inline fun Node.forEachChildElement(action: (Element) -> Unit) =
*/
fun Node.doRecursively(action: (Node) -> Unit) {
action(this)
for (i in 0 until this.childNodes.length) this.childNodes.item(i).doRecursively(action)
val childNodes = this.childNodes
for (i in 0 until childNodes.length) {
childNodes.item(i).doRecursively(action)
}
}
fun Node.insertFirst(node: Node) {

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -506,8 +506,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_timeout_summary">مقدار الوقت الذي تظهر فيه واجهة التمرير بعد التغيير بجزء الثانية</string>
<string name="revanced_swipe_text_overlay_size_title">حجم نص واجهة التمرير</string>
<string name="revanced_swipe_text_overlay_size_summary">حجم النص على واجهة التمرير</string>
<string name="revanced_swipe_overlay_background_alpha_title">شفافية خلفية واجهة التمرير</string>
<string name="revanced_swipe_overlay_background_alpha_summary">قيمة شفافية خلفية واجهة التمرير</string>
<string name="revanced_swipe_overlay_background_opacity_title">تعتيم خلفية واجهة التمرير السريع</string>
<string name="revanced_swipe_overlay_background_opacity_summary">قيمة التعتيم بين 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">يجب أن يكون تعتيم التمرير السريع بين 0-100</string>
<string name="revanced_swipe_threshold_title">مقدار حد التمرير</string>
<string name="revanced_swipe_threshold_summary">الحد الأدنى من التمرير قبل اكتشاف الإيماءة</string>
<string name="revanced_swipe_change_video_title">تمكين إيماءة التمرير لتغيير الفيديو</string>
@@ -834,6 +835,8 @@ Second \"item\" text"</string>
<string name="revanced_ryd_failure_generic">لم يعجبني غير متاح (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">أعد تحميل الفيديو للتصويت بـ Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">مخفي بواسطة المالك</string>
<string name="revanced_ryd_enable_summary_on">يتم عرض لم يعجبني</string>
<string name="revanced_ryd_enable_summary_off">لا يتم عرض لم يعجبني</string>
<string name="revanced_ryd_shorts_title">عرض لم يعجني في فيديوهات Shorts</string>
@@ -849,6 +852,9 @@ Second \"item\" text"</string>
<string name="revanced_ryd_compact_layout_title">مقاس زر أعجبني</string>
<string name="revanced_ryd_compact_layout_summary_on">زر أعجبني مصمم لأدنى عرض</string>
<string name="revanced_ryd_compact_layout_summary_off">زر أعجبني مصمم لأفضل مظهر</string>
<string name="revanced_ryd_estimated_like_title">إظهار الإعجابات المقدرة</string>
<string name="revanced_ryd_estimated_like_summary_on">يتم عرض الإعجابات المقدرة</string>
<string name="revanced_ryd_estimated_like_summary_off">الإعجابات المقدرة مخفية</string>
<string name="revanced_ryd_toast_on_connection_error_title">عرض ملاحظة إذا كان API غير متاح</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">لا يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike</string>
@@ -899,6 +905,9 @@ Second \"item\" text"</string>
<string name="revanced_sb_enable_voting">عرض زر التصويت</string>
<string name="revanced_sb_enable_voting_sum_on">يتم عرض زر التصويت على المقطع</string>
<string name="revanced_sb_enable_voting_sum_off">لا يتم عرض زر التصويت على المقطع</string>
<string name="revanced_sb_square_layout">استخدام تصميم مربع</string>
<string name="revanced_sb_square_layout_sum_on">الأزرار وعناصر التحكم مربعة</string>
<string name="revanced_sb_square_layout_sum_off">الأزرار وعناصر التحكم مستديرة</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">استخدام زر التخطي المُصَغَّر</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">زر التخطي مصمم لأدنى عرض</string>
@@ -1115,7 +1124,7 @@ Second \"item\" text"</string>
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">الهدف من تغيير إصدار التطبيق</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - استعادة أيقونات مشغل Shorts القديمة</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - استعادة أيقونات التنقل وشريط الأدوات القديمة</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - استعادة أيقونات التنقل القديمة</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - استعادة RYD على Shorts بوضع التخفي</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - استعادة قائمة سرعة الفيديو العريضة &amp; الجودة</string>
@@ -1125,8 +1134,11 @@ Second \"item\" text"</string>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">تعيين صفحة البداية</string>
<string name="revanced_change_start_page_entry_default">الافتراضي</string>
<string name="revanced_change_start_page_entry_all_subscriptions">الاشتراكات كلها</string>
<string name="revanced_change_start_page_entry_browse">تصفح القنوات</string>
<string name="revanced_change_start_page_entry_courses">الدورات / التعلم</string>
<string name="revanced_change_start_page_entry_explore">استكشف</string>
<string name="revanced_change_start_page_entry_fashion">Fashion &amp; Beauty</string>
<string name="revanced_change_start_page_entry_gaming">ألعاب</string>
<string name="revanced_change_start_page_entry_history">السّجل</string>
<string name="revanced_change_start_page_entry_library">المكتبة</string>
@@ -1134,11 +1146,17 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_live">مباشر</string>
<string name="revanced_change_start_page_entry_movies">أفلام</string>
<string name="revanced_change_start_page_entry_music">الموسيقى</string>
<string name="revanced_change_start_page_entry_news">الأخبار</string>
<string name="revanced_change_start_page_entry_notifications">الإشعارات</string>
<string name="revanced_change_start_page_entry_playlists">قائمة التشغيل</string>
<string name="revanced_change_start_page_entry_search">البحث</string>
<string name="revanced_change_start_page_entry_shopping">تسوق</string>
<string name="revanced_change_start_page_entry_sports">الرياضة</string>
<string name="revanced_change_start_page_entry_subscriptions">الاشتراكات</string>
<string name="revanced_change_start_page_entry_trending">المحتوى الرائج</string>
<string name="revanced_change_start_page_entry_virtual_reality">الوقاع الاتراضي</string>
<string name="revanced_change_start_page_entry_watch_later">شاهد لاحقًا</string>
<string name="revanced_change_start_page_entry_your_clips">كليباتك</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">تعطيل استئناف مشغل Shorts</string>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -138,6 +138,7 @@ Davam et düyməsinə toxun və optimallaşdırma dəyişikliklərin qəbul et."
<string name="revanced_settings_screen_07_seekbar_title">İrəliləyiş cizgisi</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Sürüşdürmə nəzarətçiləri</string>
<string name="revanced_settings_screen_11_misc_title">Çoxvariantlı</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
<string name="revanced_restore_old_settings_menus_title">Köhnə tənzimləmələr bölmələrin bərpa et</string>
<string name="revanced_restore_old_settings_menus_summary_on">Köhnə tənzimləmələr bölmələri göstərilir</string>
<string name="revanced_restore_old_settings_menus_summary_off">Köhnə tənzimləmələr bölmələri göstərilmir</string>
@@ -491,9 +492,9 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_swipe_press_to_engage_title">Basıb sürüşdürmə jestini aktivləşdir</string>
<string name="revanced_swipe_press_to_engage_summary_on">Sürüşdürmək üçün basma aktivdir</string>
<string name="revanced_swipe_press_to_engage_summary_off">Sürüşdürmək üçün basma qeyri-aktivdir</string>
<string name="revanced_swipe_haptic_feedback_title">Toxunuşlu əks-əlaqəni aktivləşdir</string>
<string name="revanced_swipe_haptic_feedback_summary_on">Toxunuşlu əks-əlaqə aktivləşdirilib</string>
<string name="revanced_swipe_haptic_feedback_summary_off">Toxunuşlu əks-əlaqə qeyri-aktivdir</string>
<string name="revanced_swipe_haptic_feedback_title">Əks-əlaqə reaksiyasını aktivləşdir</string>
<string name="revanced_swipe_haptic_feedback_summary_on">Əks-əlaqə reaksiyası aktivləşdirilib</string>
<string name="revanced_swipe_haptic_feedback_summary_off">Əks-əlaqə reaksiyası qeyri-aktivdir</string>
<string name="revanced_swipe_save_and_restore_brightness_title">Parlaqlığı saxla və bərpa et</string>
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Tam ekrana keçərkən və ya çıxarkən parlaqlığı saxla və bərpa et</string>
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Tam ekrana keçərkən və ya çıxarkən parlaqlığı saxlama və bərpa etmə</string>
@@ -505,8 +506,9 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_swipe_overlay_timeout_summary">Örtüyün göründüyü millisaniyələrin sayı</string>
<string name="revanced_swipe_text_overlay_size_title">Örtük mətn ölçüsü dəyişdirmə</string>
<string name="revanced_swipe_text_overlay_size_summary">Sürüşdürmə örtüyü üçün mətn ölçüsü</string>
<string name="revanced_swipe_overlay_background_alpha_title">Sürüşdürmə arxa plan görünməsi</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Sürüşdürmə örtüyü arxa fonunun görünməsi</string>
<string name="revanced_swipe_overlay_background_opacity_title">Sürüşdürmə cildi arxa plan qeyri-şəffaflığı</string>
<string name="revanced_swipe_overlay_background_opacity_summary">0-100 arası qeyri-şəffaflıq dəyəri</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Sürüşmə qeyri-şəffaflığı 0-100 arası olmalıdır</string>
<string name="revanced_swipe_threshold_title">Sürüşdürmə böyüklük həddi</string>
<string name="revanced_swipe_threshold_summary">Sürüşdürmənin icra edilməsi üçün son dəyər</string>
<string name="revanced_swipe_change_video_title">Videoları ötürmək üçün sürüşdürməni aktiv et</string>
@@ -620,8 +622,8 @@ Qeyd: Bunu aktivləşdirmə video reklamları da məcburi olaraq gizlədir"</str
<string name="revanced_hide_player_flyout_stable_volume_summary_on">Stabil səs menyusu gizlidir</string>
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_help_title">Kömək və əks əlaqəni gizlət</string>
<string name="revanced_hide_player_flyout_help_summary_on">Kömək və əks əlaqə, gizlidir</string>
<string name="revanced_hide_player_flyout_help_summary_off">Kömək və əks əlaqə göstərilir</string>
<string name="revanced_hide_player_flyout_help_summary_on">Kömək və əks əlaqə menyusu gizlidir</string>
<string name="revanced_hide_player_flyout_help_summary_off">Kömək və əks əlaqə menyusu göstərilir</string>
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_speed_title">\"Oynatma sürəti\"ni gizlət</string>
<string name="revanced_hide_player_flyout_speed_summary_on">Oynatma sürəti menyusu gizlidir</string>
@@ -833,6 +835,7 @@ Qeyd: Bunu aktivləşdirmə video reklamları da məcburi olaraq gizlədir"</str
<string name="revanced_ryd_failure_generic">Bəyənməmə əlçatmazdır (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Ryd ilə səsvermə üçün videonu yenidən yüklə</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_enable_summary_on">Bəyənməmələr göstərilir</string>
<string name="revanced_ryd_enable_summary_off">Bəyənməmələr göstərilmir</string>
<string name="revanced_ryd_shorts_title">\"Shorts\"da bəyənməmə sayını göstər</string>
@@ -955,6 +958,7 @@ Sizin istifadəçi Id-niz parol kimidir və heç vaxt paylaşmaq olmaz.
"</string>
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">Təkrar göstərmə</string>
<string name="revanced_sb_diff_segments">Bölüm davranışını dəyişdir</string>
<string name="revanced_sb_segments_sponsor">Sponsor</string>
<string name="revanced_sb_segments_sponsor_sum">Ödənişli tanıtım, ödənişli yönləndirmələr və birbaşa reklamlar. Öz reklamı və ya bəyəndikləri səbəblərə/yaradıcılara/veb saytlara/məhsullara ödənişsiz çağırışlar etmək üçün deyil</string>
<string name="revanced_sb_segments_selfpromo">Ödənişsiz/Öz reklamı</string>
<string name="revanced_sb_segments_selfpromo_sum">Ödənişsiz və ya öz reklamı istisna olmaqla, Sponsor-a bənzər. Mallar, ianələr və ya onların kiminlə əməkdaşlıq etdiyi məzmunda məlumatlar haqqında bölmələr daxildir</string>
@@ -1048,7 +1052,7 @@ ilə
Təqdim etməyə hazırdır?"</string>
<string name="revanced_sb_new_segment_start_is_before_end">Başlanğıc sondan əvvəl olmalıdır</string>
<string name="revanced_sb_new_segment_mark_locations_first">Əvvəlcə vaxt cizgisində iki yeri doldur</string>
<string name="revanced_sb_new_segment_preview_segment_first">Bölümü izləyin, rahatlıqla ötürdüyünə əmin olun</string>
<string name="revanced_sb_new_segment_preview_segment_first">Bölümü izləyin, düzgün ötürüldüyünə əmin olun</string>
<string name="revanced_sb_new_segment_edit_by_hand_title">Bölüm vaxtına əl ilə düzəliş et</string>
<string name="revanced_sb_new_segment_edit_by_hand_content">Bölümün başlanğıc və ya bitiş vaxtlarına düzəliş etmək istəyirsiniz?</string>
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">Yanlış vaxt verilmişdir</string>
@@ -1113,7 +1117,7 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Saxta tətbiq versiyası hədəfi</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Köhnə Shorts oynadıcı işarələrin bərpa et</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Köhnə fəaliyyət və cihaz cizgisi işarələrin bərpa et</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Köhnə fəaliyyət simvolların bərpa et</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Shorts gizli rejimində RYD-ni bərpa et</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Geniş video sürəti &amp; keyfiyyət menyusunu bərpa et</string>
@@ -1123,8 +1127,11 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Başlanğıc səhifəsini təyin et</string>
<string name="revanced_change_start_page_entry_default">İlkin</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Bütün abunəliklər</string>
<string name="revanced_change_start_page_entry_browse">Kanallara nəzər yetir</string>
<string name="revanced_change_start_page_entry_courses">Kurslar / Öyrənmə</string>
<string name="revanced_change_start_page_entry_explore">Kəşf et</string>
<string name="revanced_change_start_page_entry_fashion">Dəb və Gözəllik</string>
<string name="revanced_change_start_page_entry_gaming">Oyun</string>
<string name="revanced_change_start_page_entry_history">Tarixçə</string>
<string name="revanced_change_start_page_entry_library">Kitabxana</string>
@@ -1132,11 +1139,17 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
<string name="revanced_change_start_page_entry_live">Canlı</string>
<string name="revanced_change_start_page_entry_movies">Filmlər</string>
<string name="revanced_change_start_page_entry_music">Musiqi</string>
<string name="revanced_change_start_page_entry_news">Xəbərlər</string>
<string name="revanced_change_start_page_entry_notifications">Bildirişlər</string>
<string name="revanced_change_start_page_entry_playlists">Pleylistlər</string>
<string name="revanced_change_start_page_entry_search">Axtarış</string>
<string name="revanced_change_start_page_entry_shopping">Alış-Veriş</string>
<string name="revanced_change_start_page_entry_sports">İdman</string>
<string name="revanced_change_start_page_entry_subscriptions">Abunəliklər</string>
<string name="revanced_change_start_page_entry_trending">Trendlər</string>
<string name="revanced_change_start_page_entry_virtual_reality">Faktiki Həyat</string>
<string name="revanced_change_start_page_entry_watch_later">Sonra izlə</string>
<string name="revanced_change_start_page_entry_your_clips">Klipləriniz</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Shorts oynadıcı başladıcını qapat</string>
@@ -1314,9 +1327,9 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
<string name="revanced_remove_tracking_query_parameter_summary_off">İzləmə sorğusu faktoru bağlantılardan silinmir</string>
</patch>
<patch id="misc.zoomhaptics.zoomHapticsPatch">
<string name="revanced_disable_zoom_haptics_title">Yaxınlaşdırma əks-əlaqəsini bağla</string>
<string name="revanced_disable_zoom_haptics_summary_on">Əks-əlaqə bağlandı</string>
<string name="revanced_disable_zoom_haptics_summary_off">Əks-əlaqə aktivdir</string>
<string name="revanced_disable_zoom_haptics_title">Yaxınlaşdırma reaksiyasın qapat</string>
<string name="revanced_disable_zoom_haptics_summary_on">Reaksiya qapalıdır</string>
<string name="revanced_disable_zoom_haptics_summary_off">Reaksiya aktivdir</string>
</patch>
<patch id="video.audio.forceOriginalAudioPatch">
<string name="revanced_force_original_audio_title">Orijinal səsi tələb et</string>
@@ -1402,6 +1415,7 @@ AVC maksimum 1080p görüntü imkanına malikdir, Opus audio kodlama olmur və v
• Sabit səs səviyyəsi yoxdur
• İlkin səsi məcbur etmə mümkün deyil"</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 video kodlayıcı yoxdur</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">İstək üçün Statistikada göstər</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Qəbuledici növü İstək üçün statistikada göstərilir</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Qəbuledici nerd üçün Statistikada gizlidir</string>
@@ -1410,9 +1424,9 @@ AVC maksimum 1080p görüntü imkanına malikdir, Opus audio kodlama olmur və v
</app>
<app id="twitch">
<patch id="ad.audio.audioAdsPatch">
<string name="revanced_block_audio_ads_title">Səsli reklamları əngəllə</string>
<string name="revanced_block_audio_ads_summary_on">Səsli reklamlar bloklanıb</string>
<string name="revanced_block_audio_ads_summary_off">Səsli reklamlar bloklanmayıb</string>
<string name="revanced_block_audio_ads_title">Səs reklamların əngəllə</string>
<string name="revanced_block_audio_ads_summary_on">Səs reklamları bloklanıb</string>
<string name="revanced_block_audio_ads_summary_off">Səs reklamları bloklanmayıb</string>
</patch>
<patch id="ad.embedded.embeddedAdsPatch">
<string name="revanced_embedded_ads_service_unavailable">%s əlçatmazdır, reklamlar göstərilə bilər. Tənzimləmədə reklam əngəlləmə xidmətin dəyişməyə çalışın.</string>

View File

@@ -506,8 +506,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_timeout_summary">Працягласць бачнага накладання ў мілісекундах</string>
<string name="revanced_swipe_text_overlay_size_title">Памер накладанага тэксту</string>
<string name="revanced_swipe_text_overlay_size_summary">Памер тэксту для накладання пальцам</string>
<string name="revanced_swipe_overlay_background_alpha_title">Бачнасць фону пальцам</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Бачнасць фону накладання пальцам</string>
<string name="revanced_swipe_overlay_background_opacity_title">Непразрыстасць фону накладкі пракруткі</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Значэнне непразрыстасці паміж 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Непразрыстасць пракруткі павінна быць паміж 0-100</string>
<string name="revanced_swipe_threshold_title">Парог велічыні пальцам</string>
<string name="revanced_swipe_threshold_summary">Велічыня парогавага значэння для правядзення пальцам</string>
<string name="revanced_swipe_change_video_title">Уключыць зьмену відэа праз правядзенне пальцам</string>
@@ -834,6 +835,8 @@ Second \"item\" text"</string>
<string name="revanced_ryd_failure_generic">Не падабаецца (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Перазагрузіце відэа, каб прагаласаваць з дапамогай функцыі \"Вярнуць не падабаецца YouTube\"</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Схавана ўладальнікам</string>
<string name="revanced_ryd_enable_summary_on">Дызлайкі паказаны</string>
<string name="revanced_ryd_enable_summary_off">Дызлайкі не паказваюцца</string>
<string name="revanced_ryd_shorts_title">Паказвайце \"не падабаецца\" на Shorts</string>
@@ -849,6 +852,9 @@ Second \"item\" text"</string>
<string name="revanced_ryd_compact_layout_title">Кампактны дызайн кнопак «Падабаецца» і «Не падабаецца»</string>
<string name="revanced_ryd_compact_layout_summary_on">Кнопка \"Падабаецца\" ў стылі мінімальнай шырыні</string>
<string name="revanced_ryd_compact_layout_summary_off">Кнопка \"Падабаецца\", аформленая для лепшага выгляду</string>
<string name="revanced_ryd_estimated_like_title">Паказваць прыблізную колькасць падабаек</string>
<string name="revanced_ryd_estimated_like_summary_on">Паказана прыблізная колькасць падабаек</string>
<string name="revanced_ryd_estimated_like_summary_off">Прыблізная колькасць падабаек схавана</string>
<string name="revanced_ryd_toast_on_connection_error_title">Паказаць тост, калі API недаступны</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Тост паказваецца, калі функцыя \"Вярнуць не падабаецца YouTube\" недаступная</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Тост не паказваецца, калі функцыя \"Вярнуць не падабаецца YouTube\" недаступная</string>
@@ -899,6 +905,9 @@ Second \"item\" text"</string>
<string name="revanced_sb_enable_voting">Паказаць кнопку галасавання</string>
<string name="revanced_sb_enable_voting_sum_on">Паказана кнопка сегментнага галасавання</string>
<string name="revanced_sb_enable_voting_sum_off">Кнопка сегментнага галасавання не паказваецца</string>
<string name="revanced_sb_square_layout">Выкарыстоўваць квадратную схему</string>
<string name="revanced_sb_square_layout_sum_on">Кнопкі і элементы кіравання квадратныя</string>
<string name="revanced_sb_square_layout_sum_off">Кнопкі і элементы кіравання закруглены</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Выкарыстоўвайце кнопку кампактнага пропуску</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Кнопка \"Прапусціць\" у стылі мінімальнай шырыні</string>
@@ -1126,8 +1135,11 @@ Second \"item\" text"</string>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Усталяваць стартавую старонку</string>
<string name="revanced_change_start_page_entry_default">Па змаўчанні</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Усе падпіскі</string>
<string name="revanced_change_start_page_entry_browse">Обзор каналов</string>
<string name="revanced_change_start_page_entry_courses">Курсы / Адукацыя</string>
<string name="revanced_change_start_page_entry_explore">Дасьледуйце</string>
<string name="revanced_change_start_page_entry_fashion">Мода і прыгажосць</string>
<string name="revanced_change_start_page_entry_gaming">Игры</string>
<string name="revanced_change_start_page_entry_history">Гісторыя</string>
<string name="revanced_change_start_page_entry_library">Библиотека</string>
@@ -1135,11 +1147,17 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_live">В прямом эфире</string>
<string name="revanced_change_start_page_entry_movies">Фильмы</string>
<string name="revanced_change_start_page_entry_music">Музыка</string>
<string name="revanced_change_start_page_entry_news">Навіны</string>
<string name="revanced_change_start_page_entry_notifications">Апавяшчэнні</string>
<string name="revanced_change_start_page_entry_playlists">Спісы прайгравання</string>
<string name="revanced_change_start_page_entry_search">Пошук</string>
<string name="revanced_change_start_page_entry_shopping">Пакупкі</string>
<string name="revanced_change_start_page_entry_sports">Спорт</string>
<string name="revanced_change_start_page_entry_subscriptions">Падпіскі</string>
<string name="revanced_change_start_page_entry_trending">У трэндзе</string>
<string name="revanced_change_start_page_entry_virtual_reality">Віртуальная рэальнасць</string>
<string name="revanced_change_start_page_entry_watch_later">Посмотреть позже</string>
<string name="revanced_change_start_page_entry_your_clips">Вашыя кліпы</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Адключыць аднаўленне прайгравання Shorts</string>

View File

@@ -506,8 +506,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_timeout_summary">Време за което плъзгащата контрола е видима.</string>
<string name="revanced_swipe_text_overlay_size_title">Размер на текста при плъзгане</string>
<string name="revanced_swipe_text_overlay_size_summary">Размера на текста на плъзгащите контроли</string>
<string name="revanced_swipe_overlay_background_alpha_title">Видимост на фона на плъзгащите контроли</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Видимостта на фона на плъзгащите контроли.</string>
<string name="revanced_swipe_overlay_background_opacity_title">Плъзгане на фона на наслагването непрозрачност</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Стойност на непрозрачността между 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Непрозрачността на плъзгането трябва да е между 0-100</string>
<string name="revanced_swipe_threshold_title">Праг на величината на плъзгане</string>
<string name="revanced_swipe_threshold_summary">Праг преди да се осъществи плъзгането</string>
<string name="revanced_swipe_change_video_title">Включване на превключване на видеото чрез плъзване</string>
@@ -834,6 +835,8 @@ Second \"item\" text"</string>
<string name="revanced_ryd_failure_generic">Нехаресванията не са налични (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Презареди видеото за гласуване с ReturnYouTubeDislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Скрито от собственика</string>
<string name="revanced_ryd_enable_summary_on">Нехаресванията се показват</string>
<string name="revanced_ryd_enable_summary_off">Нехаресванията не се показват</string>
<string name="revanced_ryd_shorts_title">Пок. нехаресвания в кратките клипове</string>
@@ -849,6 +852,9 @@ Second \"item\" text"</string>
<string name="revanced_ryd_compact_layout_title">Компактен Like бутон</string>
<string name="revanced_ryd_compact_layout_summary_on">Включен компактен бутон \"Харесва ми\"</string>
<string name="revanced_ryd_compact_layout_summary_off">Най-добър изглед на бутона за харесване</string>
<string name="revanced_ryd_estimated_like_title">Показване на прогнозни харесвания</string>
<string name="revanced_ryd_estimated_like_summary_on">Показват се прогнозни харесвания</string>
<string name="revanced_ryd_estimated_like_summary_off">Прогнозните харесвания са скрити</string>
<string name="revanced_ryd_toast_on_connection_error_title">Показване на известие, ако API не е наличен</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Показва известие, ако Return YouTube Dislike не е наличен</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Не се показва известие, ако ReturnYouTube Dislike не е наличен</string>
@@ -899,6 +905,9 @@ Second \"item\" text"</string>
<string name="revanced_sb_enable_voting">Бутона за гласуване</string>
<string name="revanced_sb_enable_voting_sum_on">Бутона за гласуване на част се показва</string>
<string name="revanced_sb_enable_voting_sum_off">Бутона за гласуване на част е скрит</string>
<string name="revanced_sb_square_layout">Използване на квадратно оформление</string>
<string name="revanced_sb_square_layout_sum_on">Бутоните и контролите са квадратни</string>
<string name="revanced_sb_square_layout_sum_off">Бутоните и контролите са заоблени</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Компактен бутон за пропускане</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Мин. ширина на бутона за пропускане</string>
@@ -1115,7 +1124,7 @@ Second \"item\" text"</string>
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Подлъгване за версията на</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Възстановете старите икони на Shorts в плейъра</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Възстановяване на стари икони на навигацията и лентата с инструменти</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Възстановяване на старите икони за навигация</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Възстановете RYD в режим „инкогнито“ на Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Възстановяване на видео скорост &amp; в менюто за качество</string>
@@ -1125,8 +1134,11 @@ Second \"item\" text"</string>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Задай начална страница</string>
<string name="revanced_change_start_page_entry_default">По подразбиране</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Всички абонаменти</string>
<string name="revanced_change_start_page_entry_browse">Разглеждане на канала</string>
<string name="revanced_change_start_page_entry_courses">Курсове / Учене</string>
<string name="revanced_change_start_page_entry_explore">Разгледайте</string>
<string name="revanced_change_start_page_entry_fashion">Мода и Красота</string>
<string name="revanced_change_start_page_entry_gaming">Игри</string>
<string name="revanced_change_start_page_entry_history">История</string>
<string name="revanced_change_start_page_entry_library">Библиотека</string>
@@ -1134,11 +1146,17 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_live">На Живо</string>
<string name="revanced_change_start_page_entry_movies">Филми</string>
<string name="revanced_change_start_page_entry_music">Музика</string>
<string name="revanced_change_start_page_entry_news">Новини</string>
<string name="revanced_change_start_page_entry_notifications">Известия</string>
<string name="revanced_change_start_page_entry_playlists">Списъци за възпроизвеждане</string>
<string name="revanced_change_start_page_entry_search">Търсене</string>
<string name="revanced_change_start_page_entry_shopping">Пазаруване</string>
<string name="revanced_change_start_page_entry_sports">Спорт</string>
<string name="revanced_change_start_page_entry_subscriptions">Абонаменти</string>
<string name="revanced_change_start_page_entry_trending">Популярни</string>
<string name="revanced_change_start_page_entry_virtual_reality">Виртуална реалност</string>
<string name="revanced_change_start_page_entry_watch_later">Гледай по-късно</string>
<string name="revanced_change_start_page_entry_your_clips">Вашите клипове</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Скриване на Shorts плейъра при стартиране</string>

View File

@@ -506,8 +506,9 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_swipe_overlay_timeout_summary">কত মিলিসেকেন্ডের জন্য ওভারলে দৃশ্যমান হবে</string>
<string name="revanced_swipe_text_overlay_size_title">সোয়াইপ ওভারলে টেক্সট সাইজ</string>
<string name="revanced_swipe_text_overlay_size_summary">সোয়াইপ ওভারলে এর টেক্সট সাইজ</string>
<string name="revanced_swipe_overlay_background_alpha_title">সোয়াইপ ব্যাকগ্রাউন্ডের দৃশ্যমানতা</string>
<string name="revanced_swipe_overlay_background_alpha_summary">সোয়াইপ ওভারলে ব্যাকগ্রাউন্ডের দৃশ্যমানতা</string>
<string name="revanced_swipe_overlay_background_opacity_title">অস্বচ্ছতা</string>
<string name="revanced_swipe_overlay_background_opacity_summary">0-100 এর মধ্যে অস্বচ্ছতার মান</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">সোয়াইপের অস্বচ্ছতা অবশ্যই 0-100 এর মধ্যে হতে হবে</string>
<string name="revanced_swipe_threshold_title">সোয়াইপ থ্রেশহোল্ড এর মাত্রা</string>
<string name="revanced_swipe_threshold_summary">সোয়াইপ করার থ্রেশহোল্ডের পরিমাণ</string>
<string name="revanced_swipe_change_video_title">ভিডিও পরিবর্তন করতে সোয়াইপ করে সক্ষম করুন</string>
@@ -834,6 +835,8 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_ryd_failure_generic">অপছন্দ উপলভ্য নয় (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">ReturnYouTubeDislike দিয়ে ভোট দিতে ভিডিও আবার লোড করুন</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">মালিক কর্তৃক লুকানো</string>
<string name="revanced_ryd_enable_summary_on">অপছন্দগুলো প্রদর্শিত হয়েছে</string>
<string name="revanced_ryd_enable_summary_off">অপছন্দগুলো প্রদর্শিত হয়নি</string>
<string name="revanced_ryd_shorts_title">Shorts এ অপছন্দ দেখান</string>
@@ -849,6 +852,9 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_ryd_compact_layout_title">কম্প্যাক্ট লাইক বোতাম</string>
<string name="revanced_ryd_compact_layout_summary_on">পছন্দ বোতামটি ন্যূনতম প্রস্থের জন্য সাজানো হয়েছে</string>
<string name="revanced_ryd_compact_layout_summary_off">পছন্দ বোতামটি সেরা চেহারার জন্য সাজানো হয়েছে</string>
<string name="revanced_ryd_estimated_like_title">অনুমানিত লাইক দেখান</string>
<string name="revanced_ryd_estimated_like_summary_on">অনুমানিত লাইক দেখানো হয়েছে</string>
<string name="revanced_ryd_estimated_like_summary_off">অনুমানিত লাইক লুকানো হয়েছে</string>
<string name="revanced_ryd_toast_on_connection_error_title">API উপলভ্য না থাকলে একটি টোস্ট দেখান</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike উপলভ্য না থাকলে টোস্ট দেখানো হবে</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike উপলভ্য না থাকলে টোস্ট দেখানো হবে না</string>
@@ -899,6 +905,9 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_sb_enable_voting">ভোটিং বাটন দেখান</string>
<string name="revanced_sb_enable_voting_sum_on">সেগমেন্ট ভোটিং বাটন প্রদর্শিত রয়েছে</string>
<string name="revanced_sb_enable_voting_sum_off">সেগমেন্ট ভোটিং বাটন প্রদর্শিত হয়নি</string>
<string name="revanced_sb_square_layout">বর্গাকার লেআউট ব্যবহার করুন</string>
<string name="revanced_sb_square_layout_sum_on">বোতাম এবং নিয়ন্ত্রণগুলি বর্গক্ষেত্র</string>
<string name="revanced_sb_square_layout_sum_off">বোতাম এবং নিয়ন্ত্রণগুলি গোলাকার</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">সংক্ষিপ্ত স্কিপ বাটন ব্যবহার করুন</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">স্কিপ বোতামটি ন্যূনতম প্রস্থের জন্য সাজানো হয়েছে</string>
@@ -1115,7 +1124,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">স্পুফ অ্যাপ সংস্করণ লক্ষ্য</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - পুরনো Shorts প্লেয়ার আইকন পুনরুদ্ধার করুন</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - পুরনো নেভিগেশন এবং টুলবার আইকন পুনরুদ্ধার করুন</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - পুরনো নেভিগেশন আইকন পুনরুদ্ধার করুন</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - ছদ্মবেশি মোডে RYD পুনরুদ্ধার করে</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - প্রশ্বস্ত ভিডিও স্পিড এবং গুণমান মেনু পুনরুদ্ধার করে</string>
@@ -1125,8 +1134,11 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">শুরুর পৃষ্ঠা সেট করুন</string>
<string name="revanced_change_start_page_entry_default">পূর্ব-নির্ধারিত</string>
<string name="revanced_change_start_page_entry_all_subscriptions">অন্য়াসব রভর্বাশার চিয়ুট</string>
<string name="revanced_change_start_page_entry_browse">চ্যানেল ব্রাউজ করুন</string>
<string name="revanced_change_start_page_entry_courses">কোর্সু চবুভায় চা চেরারুকে</string>
<string name="revanced_change_start_page_entry_explore">ঘুরে দেখুন</string>
<string name="revanced_change_start_page_entry_fashion">แฟชั่น &amp; ความงาม</string>
<string name="revanced_change_start_page_entry_gaming">গেমিং</string>
<string name="revanced_change_start_page_entry_history">ইতিহাস</string>
<string name="revanced_change_start_page_entry_library">লাইব্রেরি</string>
@@ -1134,11 +1146,17 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_change_start_page_entry_live">লাইভ</string>
<string name="revanced_change_start_page_entry_movies">মুভি</string>
<string name="revanced_change_start_page_entry_music">সঙ্গীত</string>
<string name="revanced_change_start_page_entry_news">প্রাষুগ</string>
<string name="revanced_change_start_page_entry_notifications">নোটিস্য়াসেগ</string>
<string name="revanced_change_start_page_entry_playlists">চ্লাস ন৊টিস্য়াসেগ</string>
<string name="revanced_change_start_page_entry_search">অনুসন্ধান</string>
<string name="revanced_change_start_page_entry_shopping">শোপিংগ</string>
<string name="revanced_change_start_page_entry_sports">খেলাধুলা</string>
<string name="revanced_change_start_page_entry_subscriptions">সদস্যতা</string>
<string name="revanced_change_start_page_entry_trending">এখন জনপ্রিয়</string>
<string name="revanced_change_start_page_entry_virtual_reality">বির্চুভ্য়াল টিএলিটি</string>
<string name="revanced_change_start_page_entry_watch_later">পরে দেখুন</string>
<string name="revanced_change_start_page_entry_your_clips">আপ্নার কলিপ</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Shorts প্লেয়ার আবার চালানো নিষ্ক্রিয় করুন</string>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -381,7 +381,7 @@ Limitacions
• Si cerques una paraula clau, és possible que no es mostrin resultats"</string>
<string name="revanced_hide_keyword_content_about_whole_words_title">Coincideix amb les paraules senceres</string>
<!-- Translations _must_ use a localized example. For languages that do not use spaces between words (Chinese, Japanese, etc) the English AI example should be used since no localized examples exist. Or if using machine translations, or if nobody wants to think of a localized example, then the English 'ai' example should be left as-is. -->
<string name="revanced_hide_keyword_content_about_whole_words_summary">Envoltar una paraula clau o frase amb cometes dobles impedirà que es trobin coincidències parcials en els títols dels vídeos i els noms dels canals&lt;br&gt;&lt;br&gt;Per exemple,&lt;br&gt;&lt;b&gt;\"ai\"&lt;/b&gt; amagarà el vídeo: &lt;b&gt;Com funciona la IA?&lt;/b&gt;&lt;br&gt;però no amagarà: &lt;b&gt;What does fair use mean?&lt;/b&gt;</string>
<string name="revanced_hide_keyword_content_about_whole_words_summary">Envoltar una paraula clau o frase amb cometes dobles impedirà que es trobin coincidències parcials en els títols dels vídeos i els noms dels canals&lt;br&gt;&lt;br&gt;Per exemple,&lt;br&gt;&lt;b&gt;\"ai\"&lt;/b&gt; amagarà el vídeo: &lt;b&gt;How does AI work?&lt;/b&gt;&lt;br&gt;però no amagarà: &lt;b&gt;What does fair use mean?&lt;/b&gt;</string>
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="revanced_hide_keyword_toast_invalid_common">No es pot utilitzar la paraula clau: %s</string>
<string name="revanced_hide_keyword_toast_invalid_common_whole_word_required">Afegiu cometes per utilitzar la paraula clau: %s</string>
@@ -506,8 +506,9 @@ Aquesta funció només està disponible per a dispositius antics"</string>
<string name="revanced_swipe_overlay_timeout_summary">La quantitat de mil·lisegons que la superposició és visible</string>
<string name="revanced_swipe_text_overlay_size_title">Mida del text de la superposició lliscant</string>
<string name="revanced_swipe_text_overlay_size_summary">La mida del text per a la superposició lliscant</string>
<string name="revanced_swipe_overlay_background_alpha_title">Visibilitat del fons de la superposició lliscant</string>
<string name="revanced_swipe_overlay_background_alpha_summary">La visibilitat del fons de la superposició lliscant</string>
<string name="revanced_swipe_overlay_background_opacity_title">Opacitat del fons de la superposició de lliscament</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Valor d\'opacitat entre 0 i 100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacitat de lliscament ha d\'estar entre 0 i 100</string>
<string name="revanced_swipe_threshold_title">Llindar de magnitud de lliscament</string>
<string name="revanced_swipe_threshold_summary">La quantitat de llindar per a què es produeixi el desplaçament</string>
<string name="revanced_swipe_change_video_title">Activa la funció de lliscament per canviar vídeos</string>
@@ -834,6 +835,8 @@ Nota: si actives aquesta opció, també s'amaguen els anuncis de vídeo per for
<string name="revanced_ryd_failure_generic">Els \"no m\'agrada\" no estan disponibles (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Recarrega el vídeo per votar utilitzant Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Amagat per l\'amo</string>
<string name="revanced_ryd_enable_summary_on">Els \"no m\'agrada\" es mostren</string>
<string name="revanced_ryd_enable_summary_off">Els \"no m\'agrada\" no es mostren</string>
<string name="revanced_ryd_shorts_title">Mostrar \"no m\'agrada\" a Shorts</string>
@@ -849,6 +852,9 @@ Limitació: és possible que els No m'agrades no apareguin en mode d'incògnit"<
<string name="revanced_ryd_compact_layout_title">Botó Compact Like</string>
<string name="revanced_ryd_compact_layout_summary_on">Botó \"m\'agrada\" estilitzat per a l\'amplada mínima</string>
<string name="revanced_ryd_compact_layout_summary_off">Botó \"m\'agrada\" estilitzat per a la millor aparença</string>
<string name="revanced_ryd_estimated_like_title">Mostra els \"m\'agrada\" estimats</string>
<string name="revanced_ryd_estimated_like_summary_on">Es mostren els \"m\'agrada\" estimats</string>
<string name="revanced_ryd_estimated_like_summary_off">S\'han amagat els \"m\'agrada\" estimats</string>
<string name="revanced_ryd_toast_on_connection_error_title">Mostrar una \"toast\" si l\'API no està disponible</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">La \"toast\" es mostra si Return YouTube Dislike no està disponible</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">La \"toast\" no es mostra si Return YouTube Dislike no està disponible</string>
@@ -899,6 +905,9 @@ Aquesta funció funciona millor amb una qualitat de vídeo de 720p o inferior i
<string name="revanced_sb_enable_voting">Mostrar el botó de votació</string>
<string name="revanced_sb_enable_voting_sum_on">El botó de votació del segment es mostra</string>
<string name="revanced_sb_enable_voting_sum_off">El botó de votació del segment no es mostra</string>
<string name="revanced_sb_square_layout">Utilitza el disseny quadrat</string>
<string name="revanced_sb_square_layout_sum_on">Els botons i controls són quadrats</string>
<string name="revanced_sb_square_layout_sum_off">Els botons i els controls són arrodonits</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Utilitzar el botó de salt compacte</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">El botó de salt té un estil per a una amplada mínima</string>
@@ -1114,7 +1123,7 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Objectiu de la versió falsa de l\'aplicació</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Restaura els icones vells del reproductor de Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">26.19.42 - restaura les icones de navegació antigues</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Restaura les icones de navegació antigues</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaura RYD al mode d\'incògnit de Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaura la velocitat àmplia del vídeo &amp; menú de qualitat</string>
@@ -1124,8 +1133,11 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Defineix la pàgina d\'inici</string>
<string name="revanced_change_start_page_entry_default">Per defecte</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Totes les subscripcions</string>
<string name="revanced_change_start_page_entry_browse">Explora canals</string>
<string name="revanced_change_start_page_entry_courses">Cursos / Aprenentatge</string>
<string name="revanced_change_start_page_entry_explore">Explora</string>
<string name="revanced_change_start_page_entry_fashion">Moda i Bellesa</string>
<string name="revanced_change_start_page_entry_gaming">Jocs</string>
<string name="revanced_change_start_page_entry_history">Historial</string>
<string name="revanced_change_start_page_entry_library">Biblioteca</string>
@@ -1133,11 +1145,17 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
<string name="revanced_change_start_page_entry_live">En directe</string>
<string name="revanced_change_start_page_entry_movies">Pel·lícules</string>
<string name="revanced_change_start_page_entry_music">Música</string>
<string name="revanced_change_start_page_entry_news">Notícies</string>
<string name="revanced_change_start_page_entry_notifications">Notificacions</string>
<string name="revanced_change_start_page_entry_playlists">Llistes de reproducció</string>
<string name="revanced_change_start_page_entry_search">Cerca</string>
<string name="revanced_change_start_page_entry_shopping">Esmorzar</string>
<string name="revanced_change_start_page_entry_sports">Esports</string>
<string name="revanced_change_start_page_entry_subscriptions">Subscripcions</string>
<string name="revanced_change_start_page_entry_trending">Tendències</string>
<string name="revanced_change_start_page_entry_virtual_reality">Realitat virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Veure més tard</string>
<string name="revanced_change_start_page_entry_your_clips">Els teus clips</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Desactiva la represa del reproductor de Shorts</string>

View File

@@ -506,8 +506,9 @@ Tato funkce je dostupná pouze pro starší zařízení"</string>
<string name="revanced_swipe_overlay_timeout_summary">Doba v milisekundách, po kterou je překrytí viditelné</string>
<string name="revanced_swipe_text_overlay_size_title">Velikost textu překrytí gesta</string>
<string name="revanced_swipe_text_overlay_size_summary">Velikost textu pro překrytí gesta</string>
<string name="revanced_swipe_overlay_background_alpha_title">Viditelnost pozadí překrytí gesta</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Viditelnost pozadí překrytí gesta</string>
<string name="revanced_swipe_overlay_background_opacity_title">Průsvitnost pozadí překrytí tažením</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Hodnota průsvitnosti mezi 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Průsvitnost tažení musí být mezi 0-100</string>
<string name="revanced_swipe_threshold_title">Práh vynucení gesta</string>
<string name="revanced_swipe_threshold_summary">Velikost prahu pro provedení gesta</string>
<string name="revanced_swipe_change_video_title">Povolit přejetí prstem pro změnu videa</string>
@@ -834,6 +835,8 @@ Poznámka: Povolení této funkce také vynuceně skryje video reklamy"</string>
<string name="revanced_ryd_failure_generic">Nelíbí se se nedají použít (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Načtěte video znovu, abyste hlasovali pomocí Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Skryto vlastníkem</string>
<string name="revanced_ryd_enable_summary_on">Nelíbí se se zobrazují</string>
<string name="revanced_ryd_enable_summary_off">Nelíbí se se nezobrazují</string>
<string name="revanced_ryd_shorts_title">Zobrazit nelíbí se v Shorts</string>
@@ -849,6 +852,9 @@ Omezení: Nelíbí se se nemusí zobrazit v režimu inkognito"</string>
<string name="revanced_ryd_compact_layout_title">Kompaktní tlačítko To se mi líbí</string>
<string name="revanced_ryd_compact_layout_summary_on">Tlačítko lajku stylizované pro minimální šířku</string>
<string name="revanced_ryd_compact_layout_summary_off">Tlačítko lajku stylizované pro nejlepší vzhled</string>
<string name="revanced_ryd_estimated_like_title">Zobrazit odhadované počty To se mi líbí</string>
<string name="revanced_ryd_estimated_like_summary_on">Zobrazují se odhadované počty To se mi líbí</string>
<string name="revanced_ryd_estimated_like_summary_off">Odhadované počty To se mi líbí jsou skryté</string>
<string name="revanced_ryd_toast_on_connection_error_title">Zobrazit toast, pokud API není dostupné</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast se zobrazí, pokud Return YouTube Dislike není dostupný</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast se nezobrazí, pokud Return YouTube Dislike není dostupný</string>
@@ -899,6 +905,9 @@ Tato funkce funguje nejlépe s kvalitou videa 720p nebo nižší a při použit
<string name="revanced_sb_enable_voting">Zobrazit tlačítko pro hlasování</string>
<string name="revanced_sb_enable_voting_sum_on">Tlačítko pro hlasování segmentu je zobrazeno</string>
<string name="revanced_sb_enable_voting_sum_off">Tlačítko pro hlasování segmentu není zobrazeno</string>
<string name="revanced_sb_square_layout">Použít čtvercové rozvržení</string>
<string name="revanced_sb_square_layout_sum_on">Tlačítka a ovládací prvky jsou čtvercové</string>
<string name="revanced_sb_square_layout_sum_off">Tlačítka a ovládací prvky jsou zaoblené</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Použít kompaktní tlačítko pro přeskočení</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Tlačítko pro přeskočení je stylizováno pro minimální šířku</string>
@@ -1114,7 +1123,7 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Cíl napodobení verze aplikace</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Obnovuje staré ikony Shorts přehrávače</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Obnovit ikony staré navigace a panelu nástrojů</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Navrátit staré ikony pro navigaci</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Obnovení RYD v režimu inkognito Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Obnovení široké nabídky rychlosti a kvality videa</string>
@@ -1124,8 +1133,11 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Nastavit úvodní stránku</string>
<string name="revanced_change_start_page_entry_default">Výchozí</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Všechna předplatná</string>
<string name="revanced_change_start_page_entry_browse">Procházet kanály</string>
<string name="revanced_change_start_page_entry_courses">Kurzy / Vzdělávání</string>
<string name="revanced_change_start_page_entry_explore">Prozkoumat</string>
<string name="revanced_change_start_page_entry_fashion">Móda a krása</string>
<string name="revanced_change_start_page_entry_gaming">Hraní</string>
<string name="revanced_change_start_page_entry_history">Historie</string>
<string name="revanced_change_start_page_entry_library">Knihovna</string>
@@ -1133,11 +1145,17 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
<string name="revanced_change_start_page_entry_live">Živě</string>
<string name="revanced_change_start_page_entry_movies">Filmy</string>
<string name="revanced_change_start_page_entry_music">Hudba</string>
<string name="revanced_change_start_page_entry_news">Zprávy</string>
<string name="revanced_change_start_page_entry_notifications">Oznámení</string>
<string name="revanced_change_start_page_entry_playlists">Playlisty</string>
<string name="revanced_change_start_page_entry_search">Hledat</string>
<string name="revanced_change_start_page_entry_shopping">Nakupování</string>
<string name="revanced_change_start_page_entry_sports">Sport</string>
<string name="revanced_change_start_page_entry_subscriptions">Odběry</string>
<string name="revanced_change_start_page_entry_trending">Trendy</string>
<string name="revanced_change_start_page_entry_virtual_reality">Virtuální realita</string>
<string name="revanced_change_start_page_entry_watch_later">Sledovat později</string>
<string name="revanced_change_start_page_entry_your_clips">Vaše klipy</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Zakázat obnovení přehrávače Shorts</string>

View File

@@ -506,8 +506,9 @@ Denne funktion er kun tilgængelig for ældre enheder"</string>
<string name="revanced_swipe_overlay_timeout_summary">Mængden af millisekunder, overlayet er synlig</string>
<string name="revanced_swipe_text_overlay_size_title">Stryg overlay tekststørrelse</string>
<string name="revanced_swipe_text_overlay_size_summary">Tekststørrelsen for strygeoverlay</string>
<string name="revanced_swipe_overlay_background_alpha_title">Stryg baggrundssynlighed</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Synligheden af swipe overlay baggrund</string>
<string name="revanced_swipe_overlay_background_opacity_title">Baggrundsgennemsigtighed for swipe-overlay</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Gennemsigtighedsværdi mellem 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Gennemsigtighed for swipe skal være mellem 0-100</string>
<string name="revanced_swipe_threshold_title">Stryg størrelse tærskel</string>
<string name="revanced_swipe_threshold_summary">Beløbet for tærskelværdi for stryg der skal ske</string>
<string name="revanced_swipe_change_video_title">Aktivér swipe for at skifte videoer</string>
@@ -834,6 +835,8 @@ Bemærk: Aktivering af dette skjuler også videoannoncer"</string>
<string name="revanced_ryd_failure_generic">Dislikationer ikke tilgængelige (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Genindlæs video for at stemme ved hjælp af Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Skjult af ejer</string>
<string name="revanced_ryd_enable_summary_on">Dislikationer vises</string>
<string name="revanced_ryd_enable_summary_off">Dislikationer vises ikke</string>
<string name="revanced_ryd_shorts_title">Vis ikke på Shorts</string>
@@ -849,6 +852,9 @@ Begrænsning: Dislikes vises muligvis ikke i inkognitotilstand"</string>
<string name="revanced_ryd_compact_layout_title">Kompakt like-knap</string>
<string name="revanced_ryd_compact_layout_summary_on">Lideknap stylet for mindste bredde</string>
<string name="revanced_ryd_compact_layout_summary_off">Ligesom knap stylet for bedste udseende</string>
<string name="revanced_ryd_estimated_like_title">Vis anslåede Synes godt om</string>
<string name="revanced_ryd_estimated_like_summary_on">Anslåede Synes godt om vises</string>
<string name="revanced_ryd_estimated_like_summary_off">Anslåede Synes godt om er skjult</string>
<string name="revanced_ryd_toast_on_connection_error_title">Vis en toast hvis API ikke er tilgængelig</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast vises, hvis Return YouTube Dislike ikke er tilgængelig</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast vises ikke, hvis Return YouTube Dislike ikke er tilgængelig</string>
@@ -899,6 +905,9 @@ Denne funktion fungerer bedst med en videokvalitet på 720p eller lavere og ved
<string name="revanced_sb_enable_voting">Vis afstemningsknap</string>
<string name="revanced_sb_enable_voting_sum_on">Segmentafstemningsknap vises</string>
<string name="revanced_sb_enable_voting_sum_off">Segmentafstemningsknappen vises ikke</string>
<string name="revanced_sb_square_layout">Brug firkantet layout</string>
<string name="revanced_sb_square_layout_sum_on">Knapper og kontrolelementer er firkantede</string>
<string name="revanced_sb_square_layout_sum_off">Knapper og kontrolelementer er afrundede</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Brug kompakt spring knap</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Skip knap stylet for mindste bredde</string>
@@ -1115,7 +1124,7 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app version mål</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Gendan gamle Shorts player ikoner</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Gendan gamle navigations- og værktøjslinjeikoner</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Gendan gamle navigationsikoner</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Gendan RYD på Shorts inkognitotilstand</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Gendan bred video hastighed &amp; kvalitet menu</string>
@@ -1125,8 +1134,11 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Indstil startside</string>
<string name="revanced_change_start_page_entry_default">Standard</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Alle abonnementer</string>
<string name="revanced_change_start_page_entry_browse">Gennemse kanaler</string>
<string name="revanced_change_start_page_entry_courses">Kurser \/ Læring</string>
<string name="revanced_change_start_page_entry_explore">Udforsk</string>
<string name="revanced_change_start_page_entry_fashion">Mode \&amp; Skønhed</string>
<string name="revanced_change_start_page_entry_gaming">Spil</string>
<string name="revanced_change_start_page_entry_history">Historik</string>
<string name="revanced_change_start_page_entry_library">Bibliotek</string>
@@ -1134,11 +1146,17 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
<string name="revanced_change_start_page_entry_live">Levende</string>
<string name="revanced_change_start_page_entry_movies">Film</string>
<string name="revanced_change_start_page_entry_music">Musik</string>
<string name="revanced_change_start_page_entry_news">Nyheder</string>
<string name="revanced_change_start_page_entry_notifications">Notifikationer</string>
<string name="revanced_change_start_page_entry_playlists">Playlister</string>
<string name="revanced_change_start_page_entry_search">Søg</string>
<string name="revanced_change_start_page_entry_shopping">Køb ind</string>
<string name="revanced_change_start_page_entry_sports">Sport</string>
<string name="revanced_change_start_page_entry_subscriptions">Abonnementer</string>
<string name="revanced_change_start_page_entry_trending">Populære</string>
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
<string name="revanced_change_start_page_entry_watch_later">Se senere</string>
<string name="revanced_change_start_page_entry_your_clips">Dine klip</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Deaktivér genoptagelse af Shorts spiller</string>

View File

@@ -23,9 +23,9 @@ Second \"item\" text"</string>
<app id="shared">
<patch id="misc.checks.checkEnvironmentPatch">
<string name="revanced_check_environment_failed_title">Überprüfung fehlgeschlagen</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Offizielle Webseite &ouml;_ffnen</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Offizielle Webseite öffnen</string>
<string name="revanced_check_environment_dialog_ignore_button">Ignorieren</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Diese App scheint nicht durch Sie gepatcht worden zu sein.&lt;/h5&gt;&lt;br&gt;Diese App funktioniert m&ouml;glicherweise nicht korrekt, &lt;b&gt;k&ouml;nnte sch&auml;dlich oder sogar gef&auml;hrlich sein.&lt;/b&gt;&lt;br&gt;&lt;br&gt;Diese Pr&uuml;fungen weisen darauf hin, dass diese App bereits gepatcht ist oder von jemand anderem bezogen wurde:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Es wird dringend empfohlen, diese App zu &lt;b&gt;deinstallieren und selbst zu patchen&lt;/b&gt;, um sicherzustellen, dass Sie eine gepr&uuml;fte und sichere App verwenden.&lt;p&gt;&lt;br&gt;Wenn Sie es ignorieren, wird diese Warnung nur noch zweimal angezeigt.</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Diese App wurde offenbar nicht von Ihnen gepatcht.&lt;/h5&gt;&lt;br&gt;Diese App funktioniert möglicherweise nicht richtig, &lt;b&gt;könnte schädlich oder sogar gefährlich in der Verwendung sein&lt;/b&gt;.&lt; br&gt;&lt;br&gt;Diese Prüfungen deuten darauf hin, dass diese App vorab gepatcht wurde oder von jemandem bezogen wurde sonst:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Es wird dringend empfohlen, &lt;b&gt;diese App zu deinstallieren und selbst zu patchen&lt;/b&gt; um sicherzustellen, dass Sie eine validierte und sichere App verwenden.&lt;p&gt;&lt;br&gt;Wenn Sie diese Warnung ignorieren, wird sie nur zweimal angezeigt.</string>
<string name="revanced_check_environment_not_same_patching_device">Auf einem anderen Gerät gepatcht</string>
<string name="revanced_check_environment_manager_not_expected_installer">Nicht durch ReVanced Manager installiert</string>
<string name="revanced_check_environment_not_near_patch_time">Vor mehr als 10 Minuten gepatcht</string>
@@ -34,7 +34,7 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Einstellungen</string>
<string name="revanced_settings_confirm_user_dialog_title">M&ouml;chten Sie fortfahren?</string>
<string name="revanced_settings_confirm_user_dialog_title">Möchtest du fortfahren?</string>
<string name="revanced_settings_reset">Zurücksetzen</string>
<string name="revanced_settings_restart_title">Aktualisieren und Neustart</string>
<string name="revanced_settings_restart">Neustart</string>
@@ -44,9 +44,9 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_success">%d Einstellungen importiert</string>
<string name="revanced_settings_import_failure_parse">Import fehlgeschlagen: %s</string>
<string name="revanced_language_title">ReVanced-Sprache</string>
<string name="revanced_language_user_dialog_message">"&Uuml;bersetzungen f&uuml;r einige Sprachen fehlen m&ouml;glicherweise oder sind unvollst&auml;ndig.
<string name="revanced_language_user_dialog_message">"Übersetzungen für einige Sprachen fehlen möglicherweise oder sind unvollständig.
Um neue Sprachen zu &uuml;bersetzen, besuchen Sie translate.revanced.app"</string>
Um neue Sprachen zu übersetzen, besuchen Sie translate.revanced.app"</string>
<string name="revanced_language_DEFAULT">App-Sprache</string>
<string name="revanced_language_AR">Arabisch</string>
<string name="revanced_language_AZ">Aserbaidschanisch</string>
@@ -54,7 +54,7 @@ Um neue Sprachen zu &uuml;bersetzen, besuchen Sie translate.revanced.app"</strin
<string name="revanced_language_BN">Bengali</string>
<string name="revanced_language_CA">Katalanisch</string>
<string name="revanced_language_CS">Tschechisch</string>
<string name="revanced_language_DA">D&auml;nisch</string>
<string name="revanced_language_DA">Dänisch</string>
<string name="revanced_language_DE">Deutsch</string>
<string name="revanced_language_EL">Griechisch</string>
<string name="revanced_language_EN">Englisch</string>
@@ -62,7 +62,7 @@ Um neue Sprachen zu &uuml;bersetzen, besuchen Sie translate.revanced.app"</strin
<string name="revanced_language_ET">Estnisch</string>
<string name="revanced_language_FA">Persisch</string>
<string name="revanced_language_FI">Finnisch</string>
<string name="revanced_language_FR">Franz&ouml;sisch</string>
<string name="revanced_language_FR">Französisch</string>
<string name="revanced_language_GU">Gujarati</string>
<string name="revanced_language_HI">Hindi</string>
<string name="revanced_language_HR">Kroatisch</string>
@@ -79,12 +79,12 @@ Um neue Sprachen zu &uuml;bersetzen, besuchen Sie translate.revanced.app"</strin
<string name="revanced_language_MR">Marathi</string>
<string name="revanced_language_MS">Malaiisch</string>
<string name="revanced_language_MY">Burmesisch</string>
<string name="revanced_language_NL">Niederl&auml;ndisch</string>
<string name="revanced_language_NL">Niederländisch</string>
<string name="revanced_language_OR">Odia</string>
<string name="revanced_language_PA">Pandschabi</string>
<string name="revanced_language_PL">Polnisch</string>
<string name="revanced_language_PT">Portugiesisch</string>
<string name="revanced_language_RO">Rum&auml;nisch</string>
<string name="revanced_language_RO">Rumänisch</string>
<string name="revanced_language_RU">Russisch</string>
<string name="revanced_language_SK">Slovakisch</string>
<string name="revanced_language_SL">Slowenisch</string>
@@ -94,7 +94,7 @@ Um neue Sprachen zu &uuml;bersetzen, besuchen Sie translate.revanced.app"</strin
<string name="revanced_language_TA">Tamilisch</string>
<string name="revanced_language_TE">Telugu</string>
<string name="revanced_language_TH">Thai</string>
<string name="revanced_language_TR">T&uuml;rkisch</string>
<string name="revanced_language_TR">Türkisch</string>
<string name="revanced_language_UK">Ukrainisch</string>
<string name="revanced_language_UR">Urdu</string>
<string name="revanced_language_VI">Vietnamesisch</string>
@@ -104,7 +104,7 @@ Um neue Sprachen zu &uuml;bersetzen, besuchen Sie translate.revanced.app"</strin
<!-- Settings about dialog. -->
<string name="revanced_settings_about_links_body">Sie verwenden ReVanced-Patches Version &lt;i&gt;%s&lt;/i&gt;</string>
<string name="revanced_settings_about_links_dev_header">Anmerkung</string>
<string name="revanced_settings_about_links_dev_body">Diese Version ist eine Vorabversion und Sie k&ouml;nnen auf unerwartete Probleme sto&szlig;en</string>
<string name="revanced_settings_about_links_dev_body">Diese Version ist eine Vorabversion und du könntest unerwartete Probleme haben</string>
<string name="revanced_settings_about_links_header">Offizielle Links</string>
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
and changes made here must also be made there. -->
@@ -112,24 +112,20 @@ Um neue Sprachen zu &uuml;bersetzen, besuchen Sie translate.revanced.app"</strin
<patch id="misc.gms.gmsCoreSupportResourcePatch">
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="gms_core_toast_not_installed_message">MicroG GmsCore ist nicht installiert. Installieren Sie es.</string>
<string name="gms_core_dialog_title">Aktion ben&ouml;tigt</string>
<string name="gms_core_dialog_title">Aktion notwendig</string>
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore hat keine Berechtigung, im Hintergrund zu laufen.
Befolgen Sie die Anleitung \"Keine App-T&ouml;tung\" f&uuml;r Ihr Telefon und wenden Sie die Anweisungen auf Ihre MicroG-Installation an.
Folgen Sie der Anleitung \"Meine App nicht beenden\" für Ihr Telefon und wenden Sie die Anweisungen auf Ihre MicroG-Installation an.
Dies ist erforderlich, damit die App funktioniert."</string>
<string name="gms_core_dialog_open_website_text">Website &amp;ouml_ffnen</string>
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"Die Akkuoptimierung f&uuml;r MicroG GmsCore muss deaktiviert werden, um Probleme zu vermeiden.
Das Deaktivieren der Akkuoptimierung f&uuml;r MicroG wirkt sich nicht negativ auf die Akkunutzung aus.
Tippen Sie auf die Schaltfl&auml;che Weiter und erlauben Sie Optimierungs&auml;nderungen."</string>
<string name="gms_core_dialog_open_website_text">Webseite öffnen</string>
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"Die Batterieoptimierung von MicroG GmsCore muss deaktiviert werden, um Probleme zu vermeiden.
Die Deaktivierung der Batterieoptimierung für MicroG hat keinen negativen Einfluss auf den Batterieverbrauch.
Tippen Sie auf die Schaltfläche \"Fortfahren\" und erlauben Sie die Optimierungsänderungen."</string>
<string name="gms_core_dialog_continue_text">Weiter</string>
</patch>
</app>
<app id="youtube">
<patch id="misc.settings.settingsPatch">
<string name="revanced_settings_screen_00_about_title">&Uuml;ber</string>
<string name="revanced_settings_screen_00_about_title">Über</string>
<string name="revanced_settings_screen_01_ads_title">Werbung</string>
<string name="revanced_settings_screen_02_alt_thumbnails_title">Alternative Miniaturbilder</string>
<string name="revanced_settings_screen_03_feed_title">Feed</string>
@@ -139,9 +135,9 @@ Tippen Sie auf die Schaltfl&auml;che Weiter und erlauben Sie Optimierungs&auml;n
<string name="revanced_settings_screen_08_swipe_controls_title">Wischsteuerung</string>
<string name="revanced_settings_screen_11_misc_title">Verschiedenes</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
<string name="revanced_restore_old_settings_menus_title">Alte Einstellungsmen&uuml;s wiederherstellen</string>
<string name="revanced_restore_old_settings_menus_summary_on">Alte Einstellungsmen&uuml;s werden angezeigt</string>
<string name="revanced_restore_old_settings_menus_summary_off">Alte Einstellungsmen&uuml;s werden nicht angezeigt</string>
<string name="revanced_restore_old_settings_menus_title">Alte Einstellungsmenüs wiederherstellen</string>
<string name="revanced_restore_old_settings_menus_summary_on">Alte Einstellungsmenüs werden angezeigt</string>
<string name="revanced_restore_old_settings_menus_summary_off">Alte Einstellungsmenüs werden nicht angezeigt</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Shorts-Hintergrundwiedergabe deaktivieren</string>
@@ -505,8 +501,9 @@ Diese Funktion ist nur für ältere Geräte verfügbar"</string>
<string name="revanced_swipe_overlay_timeout_summary">Die Anzahl der Millisekunden, die das Overlay sichtbar ist</string>
<string name="revanced_swipe_text_overlay_size_title">Wischüberlagerung Textgröße</string>
<string name="revanced_swipe_text_overlay_size_summary">Die Textgröße für Wische-Overlay</string>
<string name="revanced_swipe_overlay_background_alpha_title">Wische Hintergrund Sichtbarkeit</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Die Sichtbarkeit des Wischüberlagerhintergrunds</string>
<string name="revanced_swipe_overlay_background_opacity_title">Bildschirmüberlagerung Deckkraft Swipe</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Deckkraftwert zwischen 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Die Wischdeckkraft muss zwischen 0 und 100 liegen</string>
<string name="revanced_swipe_threshold_title">Wischgrößenschwelle</string>
<string name="revanced_swipe_threshold_summary">Der Schwellenwert für Wischen</string>
<string name="revanced_swipe_change_video_title">Mit Wischen wechseln Sie zu den Videos</string>
@@ -833,6 +830,8 @@ Hinweis: Durch Aktivieren dieser Option wird auch die Videowerbung zwangsweise a
<string name="revanced_ryd_failure_generic">Dislikes nicht verfügbar (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Video neu laden, um mit Return YouTube Dislike abzustimmen</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Vom Eigentümer verborgen</string>
<string name="revanced_ryd_enable_summary_on">Dislikes werden angezeigt</string>
<string name="revanced_ryd_enable_summary_off">Dislikes werden nicht angezeigt</string>
<string name="revanced_ryd_shorts_title">Dislikes auf Shorts anzeigen</string>
@@ -848,6 +847,9 @@ Einschränkung: Dislikes werden möglicherweise nicht im Inkognito-Modus angezei
<string name="revanced_ryd_compact_layout_title">Kompakter Like-Button</string>
<string name="revanced_ryd_compact_layout_summary_on">\"Gefällt mir\" Button für minimale Breite</string>
<string name="revanced_ryd_compact_layout_summary_off">\"Gefällt mir\" Button für das beste Aussehen</string>
<string name="revanced_ryd_estimated_like_title">Geschätzte \"Gefällt mir\"-Angaben anzeigen</string>
<string name="revanced_ryd_estimated_like_summary_on">Geschätzte \"Gefällt mir\"-Angaben werden angezeigt</string>
<string name="revanced_ryd_estimated_like_summary_off">Geschätzte \"Gefällt mir\"-Angaben sind verborgen</string>
<string name="revanced_ryd_toast_on_connection_error_title">Einen Toast anzeigen, wenn die API nicht verfügbar ist</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast wird angezeigt, wenn YouTube-Ablehnung nicht verfügbar ist</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast wird nicht angezeigt, wenn YouTube-Dislike nicht verfügbar ist</string>
@@ -898,6 +900,9 @@ Diese Funktion funktioniert am besten mit einer Videoqualität von 720p oder nie
<string name="revanced_sb_enable_voting">Stimmen-Button anzeigen</string>
<string name="revanced_sb_enable_voting_sum_on">Segmentstimmen Button wird angezeigt</string>
<string name="revanced_sb_enable_voting_sum_off">Segmentstimmen Button wird nicht angezeigt</string>
<string name="revanced_sb_square_layout">Quadratisches Layout verwenden</string>
<string name="revanced_sb_square_layout_sum_on">Schaltflächen und Steuerelemente sind quadratisch</string>
<string name="revanced_sb_square_layout_sum_off">Schaltflächen und Bedienelemente sind abgerundet</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Kompakte Sprung-Taste verwenden</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Überspringe Taste für minimale Breite</string>
@@ -1114,7 +1119,7 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof-App-Versionsziel</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Alte Shorts Spielersymbole wiederherstellen</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Alte Navigations- und Toolbar-Symbole wiederherstellen</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Alte Navigations-Symbole wiederherstellen</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD auf Shorts Inkognito-Modus wiederherstellen</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Wiederherstellen der breiten Videogeschwindigkeit &amp; Qualitätsmenü</string>
@@ -1124,8 +1129,11 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Startseite festlegen</string>
<string name="revanced_change_start_page_entry_default">Standard</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Alle Abonnements</string>
<string name="revanced_change_start_page_entry_browse">Kanäle durchsuchen</string>
<string name="revanced_change_start_page_entry_courses">Kurse / Lernen</string>
<string name="revanced_change_start_page_entry_explore">Erforschen</string>
<string name="revanced_change_start_page_entry_fashion">Mode &amp; Schönheit</string>
<string name="revanced_change_start_page_entry_gaming">Spielen</string>
<string name="revanced_change_start_page_entry_history">Verlauf</string>
<string name="revanced_change_start_page_entry_library">Bibliothek</string>
@@ -1133,11 +1141,17 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
<string name="revanced_change_start_page_entry_live">Live</string>
<string name="revanced_change_start_page_entry_movies">Filme</string>
<string name="revanced_change_start_page_entry_music">Musik</string>
<string name="revanced_change_start_page_entry_news">Nachrichten</string>
<string name="revanced_change_start_page_entry_notifications">Benachrichtigungen</string>
<string name="revanced_change_start_page_entry_playlists">Playlisten</string>
<string name="revanced_change_start_page_entry_search">Suchen</string>
<string name="revanced_change_start_page_entry_shopping">Einkaufen</string>
<string name="revanced_change_start_page_entry_sports">Sport</string>
<string name="revanced_change_start_page_entry_subscriptions">Abonnements</string>
<string name="revanced_change_start_page_entry_trending">Beliebt</string>
<string name="revanced_change_start_page_entry_virtual_reality">Virtuelle Realität</string>
<string name="revanced_change_start_page_entry_watch_later">Später ansehen</string>
<string name="revanced_change_start_page_entry_your_clips">Deine Clips</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Fortsetzen des Shorts Players deaktivieren</string>

View File

@@ -508,8 +508,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_timeout_summary">Το χρονικό διάστημα χιλιοστών του δευτερολέπτου που είναι ορατό το πλαίσιο σάρωσης</string>
<string name="revanced_swipe_text_overlay_size_title">Μέγεθος κειμένου πλαισίου σάρωσης</string>
<string name="revanced_swipe_text_overlay_size_summary">Το μέγεθος κειμένου του πλαισίου σάρωσης</string>
<string name="revanced_swipe_overlay_background_alpha_title">Ορατότητα πλαισίου σάρωσης</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Η ορατότητα του πλαισίου σάρωσης στο παρασκήνιο</string>
<string name="revanced_swipe_overlay_background_opacity_title">Αδιαφάνεια φόντου σάρωσης</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Τιμή αδιαφάνειας μεταξύ 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Η αδιαφάνεια σάρωσης πρέπει να είναι μεταξύ 0-100</string>
<string name="revanced_swipe_threshold_title">Κατώτατο όριο μεγέθους σάρωσης</string>
<string name="revanced_swipe_threshold_summary">Η ελάχιστη απόσταση που θα διανύσετε με το δάκτυλο σας για να είναι αναγνωρίσιμη η χειρονομία σάρωσης</string>
<string name="revanced_swipe_change_video_title">Χειρονομία εναλλαγής βίντεο στην πλήρη οθόνη</string>
@@ -836,6 +837,8 @@ Second \"item\" text"</string>
<string name="revanced_ryd_failure_generic">Δεδομένα dislike μη διαθέσιμα (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Επαναφορτώστε το βίντεο για να ψηφίσετε χρησιμοποιώντας το Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Κρυμμένα από τον κάτοχο</string>
<string name="revanced_ryd_enable_summary_on">Τα «Δεν μου αρέσει» εμφανίζονται</string>
<string name="revanced_ryd_enable_summary_off">Τα «Δεν μου αρέσει» δεν εμφανίζονται</string>
<string name="revanced_ryd_shorts_title">Εμφάνιση στα Shorts</string>
@@ -851,6 +854,9 @@ Second \"item\" text"</string>
<string name="revanced_ryd_compact_layout_title">Κουμπί «Μου αρέσει» μικρότερου στυλ</string>
<string name="revanced_ryd_compact_layout_summary_on">Το κουμπί «Μου αρέσει» είναι διαμορφωμένο για ελάχιστο μέγεθος</string>
<string name="revanced_ryd_compact_layout_summary_off">Το κουμπί «Μου αρέσει» είναι διαμορφωμένο για καλύτερη εμφάνιση</string>
<string name="revanced_ryd_estimated_like_title">Εμφάνιση εκτιμώμενων επιδοκιμασιών</string>
<string name="revanced_ryd_estimated_like_summary_on">Εμφανίζονται οι εκτιμώμενες επιδοκιμασίες</string>
<string name="revanced_ryd_estimated_like_summary_off">Οι εκτιμώμενες επιδοκιμασίες είναι κρυμμένες</string>
<string name="revanced_ryd_toast_on_connection_error_title">Εμφάνιση μηνύματος αν το API δεν είναι διαθέσιμο</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Να εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν το Return YouTube Dislike δεν είναι διαθέσιμο</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Να μην εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν το Return YouTube Dislike δεν είναι διαθέσιμο</string>
@@ -901,6 +907,9 @@ Second \"item\" text"</string>
<string name="revanced_sb_enable_voting">Κουμπί ψηφοφορίας τμημάτων</string>
<string name="revanced_sb_enable_voting_sum_on">Το κουμπί ψηφοφορίας τμημάτων εμφανίζεται</string>
<string name="revanced_sb_enable_voting_sum_off">Το κουμπί ψηφοφορίας τμημάτων δεν εμφανίζεται</string>
<string name="revanced_sb_square_layout">Χρήση τετράγωνης διάταξης</string>
<string name="revanced_sb_square_layout_sum_on">Τα κουμπιά και τα στοιχεία ελέγχου είναι τετράγωνα</string>
<string name="revanced_sb_square_layout_sum_off">Τα κουμπιά και τα στοιχεία ελέγχου είναι στρογγυλεμένα</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Κουμπί παράλειψης μικρότερου στυλ</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Το κουμπί παράλειψης είναι διαμορφωμένο για ελάχιστο μέγεθος</string>
@@ -1116,7 +1125,7 @@ Second \"item\" text"</string>
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Έκδοση τροποποίησης της εφαρμογής</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Επαναφορά των παλιών εικονιδίων της οθόνης αναπαραγωγής Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Επαναφορά παλιών εικονιδίων πλοήγησης και γραμμής εργαλείων</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Επαναφορά παλιών εικονιδίων γραμμής πλοήγησης</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Επαναφορά λειτουργικότητας του RYD στα Shorts σε λειτουργία ανώνυμης περιήγησης</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Επαναφορά ευρύτερου μενού ταχύτητας &amp; ποιότητας βίντεο</string>
@@ -1126,8 +1135,11 @@ Second \"item\" text"</string>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Αλλαγή της αρχικής σελίδας</string>
<string name="revanced_change_start_page_entry_default">Προεπιλογή</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Όλες οι εγγραφές</string>
<string name="revanced_change_start_page_entry_browse">Περιήγηση καναλιών</string>
<string name="revanced_change_start_page_entry_courses">Μαθήματα / Εκμάθηση</string>
<string name="revanced_change_start_page_entry_explore">Εξερεύνηση</string>
<string name="revanced_change_start_page_entry_fashion">Μόδα &amp; ομορφιά</string>
<string name="revanced_change_start_page_entry_gaming">Παιχνίδια</string>
<string name="revanced_change_start_page_entry_history">Ιστορικό</string>
<string name="revanced_change_start_page_entry_library">Βιβλιοθήκη</string>
@@ -1135,11 +1147,17 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_live">Live</string>
<string name="revanced_change_start_page_entry_movies">Ταινίες</string>
<string name="revanced_change_start_page_entry_music">Μουσική</string>
<string name="revanced_change_start_page_entry_news">Ειδήσεις</string>
<string name="revanced_change_start_page_entry_notifications">Ειδοποιήσεις</string>
<string name="revanced_change_start_page_entry_playlists">Λίστες αναπαραγωγής</string>
<string name="revanced_change_start_page_entry_search">Αναζήτηση</string>
<string name="revanced_change_start_page_entry_shopping">Shopping</string>
<string name="revanced_change_start_page_entry_sports">Αθλητικά</string>
<string name="revanced_change_start_page_entry_subscriptions">Εγγραφές</string>
<string name="revanced_change_start_page_entry_trending">Τάσεις</string>
<string name="revanced_change_start_page_entry_virtual_reality">Εικονική Πραγματικότητα</string>
<string name="revanced_change_start_page_entry_watch_later">Παρακολούθηση αργότερα</string>
<string name="revanced_change_start_page_entry_your_clips">Τα κλιπ σας</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Απενεργοποίηση συνέχισης των Shorts</string>

View File

@@ -496,8 +496,9 @@ Esta función solo está disponible para dispositivos antiguos"</string>
<string name="revanced_swipe_overlay_timeout_summary">La cantidad de milisegundos que la superposición es visible</string>
<string name="revanced_swipe_text_overlay_size_title">Deslizar tamaño de texto superpuesto</string>
<string name="revanced_swipe_text_overlay_size_summary">El tamaño del texto para la capa de deslizamiento</string>
<string name="revanced_swipe_overlay_background_alpha_title">Deslizar visibilidad de fondo</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Visibilidad del fondo del deslizamiento</string>
<string name="revanced_swipe_overlay_background_opacity_title">Opacidad del fondo de la superposición de deslizamiento</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Valor de opacidad entre 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">La opacidad de la superposición de deslizamiento debe estar entre 0 y 100</string>
<string name="revanced_swipe_threshold_title">Umbral de magnitud del deslizamiento</string>
<string name="revanced_swipe_threshold_summary">La cantidad de umbral para que se desliza</string>
<string name="revanced_swipe_change_video_title">Habilita el deslizamiento para cambiar videos</string>
@@ -824,6 +825,8 @@ Nota: Habilitar esto también oculta a la fuerza los anuncios de vídeo"</string
<string name="revanced_ryd_failure_generic">Dislikes no disponibles (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Recargar vídeo para votar usando Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Oculto por el propietario</string>
<string name="revanced_ryd_enable_summary_on">Dislikes son mostrados</string>
<string name="revanced_ryd_enable_summary_off">No se muestran Dislikes</string>
<string name="revanced_ryd_shorts_title">Mostrar no me gusta en Shorts</string>
@@ -839,6 +842,9 @@ Limitación: Es posible que los No me gustas no aparezcan en el modo de incógni
<string name="revanced_ryd_compact_layout_title">Botón Me gusta compacto</string>
<string name="revanced_ryd_compact_layout_summary_on">Botón \"Me gusta\" para el ancho mínimo</string>
<string name="revanced_ryd_compact_layout_summary_off">Botón \"Me gusta\" para una mejor apariencia</string>
<string name="revanced_ryd_estimated_like_title">Mostrar estimación de \"me gusta\"</string>
<string name="revanced_ryd_estimated_like_summary_on">Se muestra la estimación de \"me gusta\"</string>
<string name="revanced_ryd_estimated_like_summary_off">Se oculta la estimación de \"me gusta\"</string>
<string name="revanced_ryd_toast_on_connection_error_title">Mostrar un brindis si la API no está disponible</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast se muestra si Devolución de YouTube Dislike no está disponible</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast no se muestra si Devolución de YouTube Dislike no está disponible</string>
@@ -889,6 +895,9 @@ Esta función funciona mejor con una calidad de vídeo de 720p o inferior y cuan
<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>
<string name="revanced_sb_enable_voting_sum_off">El botón de voto del segmento no se muestra</string>
<string name="revanced_sb_square_layout">Usar diseño cuadrado</string>
<string name="revanced_sb_square_layout_sum_on">Los botones y los controles son cuadrados</string>
<string name="revanced_sb_square_layout_sum_off">Los botones y controles están redondeados</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Usar botón compacto de saltar</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Omitir botón con estilo para el ancho mínimo</string>
@@ -1096,7 +1105,7 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Versión de aplicación falsa de destino</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Restaurar iconos antiguos del reproductor de Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Restaurar los iconos antiguos de navegación y barra de herramientas</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Restaurar iconos de navegación antiguos</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurar RYD en Shorts de modo incógnito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurar la velocidad de vídeo ancha &amp; menú de calidad</string>
@@ -1106,8 +1115,11 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Establecer página de inicio</string>
<string name="revanced_change_start_page_entry_default">Predeterminado</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Todas las suscripciones</string>
<string name="revanced_change_start_page_entry_browse">Navegar canales</string>
<string name="revanced_change_start_page_entry_courses">Cursos / Aprendizaje</string>
<string name="revanced_change_start_page_entry_explore">Explorar</string>
<string name="revanced_change_start_page_entry_fashion">Moda y Belleza</string>
<string name="revanced_change_start_page_entry_gaming">Juego</string>
<string name="revanced_change_start_page_entry_history">Historial</string>
<string name="revanced_change_start_page_entry_library">Biblioteca</string>
@@ -1115,11 +1127,17 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
<string name="revanced_change_start_page_entry_live">Vivo</string>
<string name="revanced_change_start_page_entry_movies">Películas</string>
<string name="revanced_change_start_page_entry_music">Música</string>
<string name="revanced_change_start_page_entry_news">Noticias</string>
<string name="revanced_change_start_page_entry_notifications">Notificaciones</string>
<string name="revanced_change_start_page_entry_playlists">Listas de reproducción</string>
<string name="revanced_change_start_page_entry_search">Buscar</string>
<string name="revanced_change_start_page_entry_shopping">Compras</string>
<string name="revanced_change_start_page_entry_sports">Deportes</string>
<string name="revanced_change_start_page_entry_subscriptions">Suscripciones</string>
<string name="revanced_change_start_page_entry_trending">Tendencias</string>
<string name="revanced_change_start_page_entry_virtual_reality">Realidad virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Ver más tarde</string>
<string name="revanced_change_start_page_entry_your_clips">Tus clips</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Desactivar reanudación del reproductor de Shorts</string>

View File

@@ -505,8 +505,9 @@ See funktsioon on saadaval ainult vanemates seadmetes"</string>
<string name="revanced_swipe_overlay_timeout_summary">Katte näitamise millisekundite arv</string>
<string name="revanced_swipe_text_overlay_size_title">Pühkimise katte teksti suurus</string>
<string name="revanced_swipe_text_overlay_size_summary">Pühkimise katte teksti suurus</string>
<string name="revanced_swipe_overlay_background_alpha_title">Pühkimise katte tausta nähtavus</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Pühkimise katte tausta nähtavus</string>
<string name="revanced_swipe_overlay_background_opacity_title">Pühkiva katte tausta läbipaistvus</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Läbipaistvuse väärtus vahemikus 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Pühkiva katte läbipaistvus peab olema vahemikus 0-100</string>
<string name="revanced_swipe_threshold_title">Pühkimise suuruse lävi</string>
<string name="revanced_swipe_threshold_summary">Lävi väärtus pühkimise toimimiseks</string>
<string name="revanced_swipe_change_video_title">Luba pühkimine videote vahetamiseks</string>
@@ -833,6 +834,8 @@ Märkus: selle lubamine peidab ka sunniviisiliselt video reklaamid"</string>
<string name="revanced_ryd_failure_generic">Mittemeeldimised pole saadaval (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Laadi video uuesti, et hääletada Return YouTube Dislike\'i abil</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Peidetud omaniku poolt</string>
<string name="revanced_ryd_enable_summary_on">Mittemeeldimised on nähtavad</string>
<string name="revanced_ryd_enable_summary_off">Mittemeeldimised pole nähtavad</string>
<string name="revanced_ryd_shorts_title">Näita mittemeeldimisi Shorts\'il</string>
@@ -848,6 +851,9 @@ Piirang: mittemeeldimised ei pruugi ilmneda inkognito režiimis"</string>
<string name="revanced_ryd_compact_layout_title">Kompaktne Meeldi nupp</string>
<string name="revanced_ryd_compact_layout_summary_on">Meeldimise nupp on stiilitud minimaalse laiusena</string>
<string name="revanced_ryd_compact_layout_summary_off">Meeldimise nupp on stiilitud parima välimusega</string>
<string name="revanced_ryd_estimated_like_title">Näita hinnangulisi meeldimisi</string>
<string name="revanced_ryd_estimated_like_summary_on">Hinnangulised meeldimised on näidatud</string>
<string name="revanced_ryd_estimated_like_summary_off">Hinnangulised meeldimised on peidetud</string>
<string name="revanced_ryd_toast_on_connection_error_title">Näita teadet, kui API pole saadaval</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Teade näidatakse, kui Return YouTube Dislike pole saadaval</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Teadet ei näidata, kui Return YouTube Dislike pole saadaval</string>
@@ -898,6 +904,9 @@ See funktsioon toimib kõige paremini 720p või madalama video kvaliteedi ja vä
<string name="revanced_sb_enable_voting">Näita hääletamisnuppu</string>
<string name="revanced_sb_enable_voting_sum_on">Segmendi hääletamisnupp on näidatud</string>
<string name="revanced_sb_enable_voting_sum_off">Segmendi hääletamisnupp ei ole näidatud</string>
<string name="revanced_sb_square_layout">Kasuta ruudukujulist paigutust</string>
<string name="revanced_sb_square_layout_sum_on">Nupud ja juhtnupud on kandilised</string>
<string name="revanced_sb_square_layout_sum_off">Nupud ja juhtnupud on ümardatud</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Kasuta kompaktset vahelejätmisnuppu</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Vahelejätmisnupp on kujundatud minimaalse laiusena</string>
@@ -1114,7 +1123,7 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Võltsitud rakenduse versiooni siht</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Taastage vanad Shortsi esitajaikoonid</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Taastage vanad navigeerimis- ja tööriistariba ikoonid</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Taasta vanad navigeerimise ikoonid</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Taastage RYD Shortsi incognito režiimis</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Taasta lai video kiiruse ja kvaliteedi menüü</string>
@@ -1124,8 +1133,11 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Määra algusleht</string>
<string name="revanced_change_start_page_entry_default">Vaikimisi</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Kõik tellimused</string>
<string name="revanced_change_start_page_entry_browse">Sirvi kanaleid</string>
<string name="revanced_change_start_page_entry_courses">Kursused / Õppimine</string>
<string name="revanced_change_start_page_entry_explore">Avasta</string>
<string name="revanced_change_start_page_entry_fashion">Mood ja Ilu</string>
<string name="revanced_change_start_page_entry_gaming">Mängud</string>
<string name="revanced_change_start_page_entry_history">Ajalugu</string>
<string name="revanced_change_start_page_entry_library">Raamatukogu</string>
@@ -1133,11 +1145,17 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
<string name="revanced_change_start_page_entry_live">Otseülekanne</string>
<string name="revanced_change_start_page_entry_movies">Filmid</string>
<string name="revanced_change_start_page_entry_music">Muusika</string>
<string name="revanced_change_start_page_entry_news">Uudised</string>
<string name="revanced_change_start_page_entry_notifications">Teatised</string>
<string name="revanced_change_start_page_entry_playlists">Esitusloendid</string>
<string name="revanced_change_start_page_entry_search">Otsi</string>
<string name="revanced_change_start_page_entry_shopping">Shopping</string>
<string name="revanced_change_start_page_entry_sports">Sport</string>
<string name="revanced_change_start_page_entry_subscriptions">Tellimused</string>
<string name="revanced_change_start_page_entry_trending">Trendikas</string>
<string name="revanced_change_start_page_entry_virtual_reality">Virtuaalne Reaalsus</string>
<string name="revanced_change_start_page_entry_watch_later">Vaata hiljem</string>
<string name="revanced_change_start_page_entry_your_clips">Teie klipid</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Keela Shortsi esitaja jätkamine</string>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -506,8 +506,9 @@ Ang tampok na ito ay magagamit lamang para sa mga mas lumang device"</string>
<string name="revanced_swipe_overlay_timeout_summary">Ang dami ng millisecond na nakikita ang overlay</string>
<string name="revanced_swipe_text_overlay_size_title">I-swipe ang laki ng teksto ng overlay</string>
<string name="revanced_swipe_text_overlay_size_summary">Ang laki ng text para sa swipe overlay</string>
<string name="revanced_swipe_overlay_background_alpha_title">I-swipe ang visibility sa background</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Ang visibility ng swipe overlay na background</string>
<string name="revanced_swipe_overlay_background_opacity_title">Transparency ng background ng swipe overlay</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Halaga ng opacity sa pagitan ng 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Ang opacity ng swipe ay dapat nasa pagitan ng 0-100</string>
<string name="revanced_swipe_threshold_title">I-swipe ang magnitude threshold</string>
<string name="revanced_swipe_threshold_summary">Ang halaga ng threshold para sa pag-swipe na magaganap</string>
<string name="revanced_swipe_change_video_title">I-enable ang swipe para magpalit ng mga video</string>
@@ -834,6 +835,8 @@ Tandaan: Ang pagpapagana nito ay nagtatago rin ng mga ad ng video"</string>
<string name="revanced_ryd_failure_generic">Hindi available ang mga hindi gusto (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">I-reload ang video para bumoto gamit ang Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Nakatago ng may-ari</string>
<string name="revanced_ryd_enable_summary_on">Ang mga hindi gusto ay ipinapakita</string>
<string name="revanced_ryd_enable_summary_off">Hindi ipinapakita ang mga hindi gusto</string>
<string name="revanced_ryd_shorts_title">Ipakita ang mga hindi gusto sa Shorts</string>
@@ -849,6 +852,9 @@ Limitasyon: Ang mga Dislike ay maaaring hindi lumitaw sa incognito mode"</string
<string name="revanced_ryd_compact_layout_title">Compact Like button</string>
<string name="revanced_ryd_compact_layout_summary_on">Like button na naka-istilong para sa minimum na lapad</string>
<string name="revanced_ryd_compact_layout_summary_off">I-style na button para sa pinakamahusay na hitsura</string>
<string name="revanced_ryd_estimated_like_title">Ipakita ang tinantyang mga gusto</string>
<string name="revanced_ryd_estimated_like_summary_on">Ipinapakita ang tinantyang mga gusto</string>
<string name="revanced_ryd_estimated_like_summary_off">Nakatago ang tinantyang mga gusto</string>
<string name="revanced_ryd_toast_on_connection_error_title">Magpakita ng toast kung hindi available ang API</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Ipapakita ang toast kung hindi available ang Return YouTube Dislike</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Hindi ipinapakita ang toast kung hindi available ang Return YouTube Dislike</string>
@@ -899,6 +905,9 @@ Ang tampok na ito ay pinakamahusay na gumagana sa kalidad ng video na 720p o mas
<string name="revanced_sb_enable_voting">Ipakita ang pindutan ng pagboto</string>
<string name="revanced_sb_enable_voting_sum_on">Ang pindutan ng pagboto ng segment ay ipinapakita</string>
<string name="revanced_sb_enable_voting_sum_off">Hindi ipinapakita ang pindutan ng pagboto ng segment</string>
<string name="revanced_sb_square_layout">Gumamit ng layout na parisukat</string>
<string name="revanced_sb_square_layout_sum_on">Ang mga button at kontrol ay parisukat</string>
<string name="revanced_sb_square_layout_sum_off">Bilog ang mga button at control</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Gumamit ng compact skip button</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Laktawan ang button na naka-istilo para sa minimum na lapad</string>
@@ -1115,7 +1124,7 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Target na bersyon ng Spoof app</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Ibalik ang mga lumang icon ng Shorts player</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Ibalik ang mga lumang icon ng navigation at toolbar</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Ibalik ang mga lumang icon ng pag-navigate</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Ibalik ang RYD sa incognito mode ng Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Ibalik ang malawak na bilis ng video &amp; kalidad na menu</string>
@@ -1125,8 +1134,11 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Itakda ang panimulang pahina</string>
<string name="revanced_change_start_page_entry_default">Regular</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Lahat ng mga subscription</string>
<string name="revanced_change_start_page_entry_browse">Mag-browse ng mga channel</string>
<string name="revanced_change_start_page_entry_courses">Mga Kurso/Pag-aaral</string>
<string name="revanced_change_start_page_entry_explore">Galugarin</string>
<string name="revanced_change_start_page_entry_fashion">Fashion at&amp; Kagandahan</string>
<string name="revanced_change_start_page_entry_gaming">Paglalaro</string>
<string name="revanced_change_start_page_entry_history">Kasaysayan</string>
<string name="revanced_change_start_page_entry_library">Aklatan</string>
@@ -1134,11 +1146,17 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
<string name="revanced_change_start_page_entry_live">Live</string>
<string name="revanced_change_start_page_entry_movies">Mga Pelikula</string>
<string name="revanced_change_start_page_entry_music">Musika</string>
<string name="revanced_change_start_page_entry_news">Mga Balita</string>
<string name="revanced_change_start_page_entry_notifications">Mga Abiso</string>
<string name="revanced_change_start_page_entry_playlists">Mga Playlist</string>
<string name="revanced_change_start_page_entry_search">Maghanap</string>
<string name="revanced_change_start_page_entry_shopping">Pamimili</string>
<string name="revanced_change_start_page_entry_sports">Isports</string>
<string name="revanced_change_start_page_entry_subscriptions">Mga subscription</string>
<string name="revanced_change_start_page_entry_trending">Trending</string>
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
<string name="revanced_change_start_page_entry_watch_later">Panoorin mamaya</string>
<string name="revanced_change_start_page_entry_your_clips">Mga clip mo</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Huwag paganahin ang pagpapatuloy na manlalaro ng Shorts</string>

View File

@@ -140,7 +140,7 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta."</string>
<string name="revanced_settings_screen_11_misc_title">Éagsúla</string>
<string name="revanced_settings_screen_12_video_title">Físeán</string>
<string name="revanced_restore_old_settings_menus_title">Athshocraigh roghanna seanghléasanna</string>
<string name="revanced_restore_old_settings_menus_summary_on">Féachann roghanna seanmhéid</string>
<string name="revanced_restore_old_settings_menus_summary_on">Taispeántar sean-roghchláir socruithe</string>
<string name="revanced_restore_old_settings_menus_summary_off">Ní féachann roghanna seanmhéid</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
@@ -506,8 +506,9 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine"</string>
<string name="revanced_swipe_overlay_timeout_summary">Tá méid na milleasoicind an forleagan le feiceáil</string>
<string name="revanced_swipe_text_overlay_size_title">Méid téacs forleagtha Swipe</string>
<string name="revanced_swipe_text_overlay_size_summary">Méid an téacs le haghaidh forleagan swipe</string>
<string name="revanced_swipe_overlay_background_alpha_title">Swipe infheictheacht chúlra</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Infheictheacht an chúlra forleagan swipe</string>
<string name="revanced_swipe_overlay_background_opacity_title">Réabhlóid thrasláiteachta na gcúlra léaráidí</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Luach léaráidí idir 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Caithfidh léaráidí traslaithe a bheith idir 0-100</string>
<string name="revanced_swipe_threshold_title">Tairseach méid swipe</string>
<string name="revanced_swipe_threshold_summary">Méid an tairseach le haghaidh sruthú tarlú</string>
<string name="revanced_swipe_change_video_title">Cumasaigh swipe chun físeáin a athrú</string>
@@ -834,6 +835,7 @@ Nóta: Trí é seo a chumasú, cuirtear fógraí físeáin i bhfolach freisin"</
<string name="revanced_ryd_failure_generic">Ní dtaitníonn sé ar fáil (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Athlódáil físeán chun vótáil ag baint úsáide as Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_enable_summary_on">Taispeántar rudaí nach dtaitníonn leo</string>
<string name="revanced_ryd_enable_summary_off">Ní thaispeántar nach dtaitníonn leat</string>
<string name="revanced_ryd_shorts_title">Taispeáin neamhthaitníonn ar Shorts</string>
@@ -899,6 +901,8 @@ Oibríonn an ghné seo is fearr le caighdeán físeáin 720p nó níos ísle agu
<string name="revanced_sb_enable_voting">Taispeáin cnaipe vótá</string>
<string name="revanced_sb_enable_voting_sum_on">Taispeántar cnaipe vótála deigh</string>
<string name="revanced_sb_enable_voting_sum_off">Ní thaispeántar cnaipe vótála deireadh</string>
<string name="revanced_sb_square_layout">Úsáid leagan amach cearnógach</string>
<string name="revanced_sb_square_layout_sum_off">Tá cnaipí agus rialuithe cruinn</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Úsáid cnaipe scipeála dlúth</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Sceip cnaipe stíleáilte don leithead íosta</string>
@@ -1115,7 +1119,7 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Sprioc leagan aip spoof</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Athchóirigh sean-deilbhíní imreoir Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Seanghreannacha loingseoireachta agus greille is sine a athchóirigh</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Athchóiriú Sean Icóin Treorach</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Athchóirigh RYD ar mhodh incognito Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Athchóirigh luas leathan físe &amp; roghchlár cáilíochta</string>
@@ -1125,8 +1129,11 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Socraigh leathanach tosaigh</string>
<string name="revanced_change_start_page_entry_default">Réamhshocraithe</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Uile shuibhscríbhinní</string>
<string name="revanced_change_start_page_entry_browse">Brabhsáil cainéil</string>
<string name="revanced_change_start_page_entry_courses">Cúrsaí / Foghlaim</string>
<string name="revanced_change_start_page_entry_explore">Déan iniúchadh</string>
<string name="revanced_change_start_page_entry_fashion">Faisean &amp; Áilleacht</string>
<string name="revanced_change_start_page_entry_gaming">Cluichíocht</string>
<string name="revanced_change_start_page_entry_history">Stair</string>
<string name="revanced_change_start_page_entry_library">Leabharlann</string>
@@ -1134,11 +1141,17 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
<string name="revanced_change_start_page_entry_live">Beo</string>
<string name="revanced_change_start_page_entry_movies">Scannáin</string>
<string name="revanced_change_start_page_entry_music">Ceol</string>
<string name="revanced_change_start_page_entry_news">Nuacht</string>
<string name="revanced_change_start_page_entry_notifications">Fógraí</string>
<string name="revanced_change_start_page_entry_playlists">Liostaí seinnte</string>
<string name="revanced_change_start_page_entry_search">Cuardaigh</string>
<string name="revanced_change_start_page_entry_shopping">Siopadóireacht</string>
<string name="revanced_change_start_page_entry_sports">Spóirt</string>
<string name="revanced_change_start_page_entry_subscriptions">Síntiúis</string>
<string name="revanced_change_start_page_entry_trending">Ag treocht</string>
<string name="revanced_change_start_page_entry_virtual_reality">Fíor-Rialtas</string>
<string name="revanced_change_start_page_entry_watch_later">Féach ar níos déanaí</string>
<string name="revanced_change_start_page_entry_your_clips">Do chlipbhoirt</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Díchumasaigh an t-imreoir Shorts atá ag tosú arís</string>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -506,8 +506,9 @@ Ez a funkció csak régebbi eszközökön érhető el"</string>
<string name="revanced_swipe_overlay_timeout_summary">Az átfedés láthatóságának időtartama ezredmásodpercben</string>
<string name="revanced_swipe_text_overlay_size_title">Csúsztatási átfedés szövegmérete</string>
<string name="revanced_swipe_text_overlay_size_summary">A csúsztatási átfedés szövegmérete</string>
<string name="revanced_swipe_overlay_background_alpha_title">A csúsztatás hátterének láthatósága</string>
<string name="revanced_swipe_overlay_background_alpha_summary">A csúsztatási átfedés hátterének láthatósága</string>
<string name="revanced_swipe_overlay_background_opacity_title">Az áthúzás átfedésének átlátszósága</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Az átlátszóság értéke 0-100 között legyen</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">A csúsztatás átlátszóságának 0 és 100 között kell lennie</string>
<string name="revanced_swipe_threshold_title">A csúsztatás küszöbértéke</string>
<string name="revanced_swipe_threshold_summary">A csúsztatáshoz szükséges küszöbérték</string>
<string name="revanced_swipe_change_video_title">Engedélyezze az ujjbegyújtással történő videóváltást</string>
@@ -834,6 +835,8 @@ Megjegyzés: Ez a beállítás a videóhirdetések kényszerű elrejtését is m
<string name="revanced_ryd_failure_generic">A nem tetszik funkció nem elérhető (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Töltse újra a videót a Return YouTube Dislike-hoz</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">A tulajdonos elrejtette</string>
<string name="revanced_ryd_enable_summary_on">A nem tetszések megjelennek</string>
<string name="revanced_ryd_enable_summary_off">A nem tetszések nem jelennek meg</string>
<string name="revanced_ryd_shorts_title">A nem tetszések megjelenítése a Shorts videóknál</string>
@@ -849,6 +852,9 @@ Korlátozás: A Nem tetszik jelzések nem jelennek meg inkognitó módban"</stri
<string name="revanced_ryd_compact_layout_title">Tömör Tetszik gomb</string>
<string name="revanced_ryd_compact_layout_summary_on">A tetszik gomb minimális szélességre formázva</string>
<string name="revanced_ryd_compact_layout_summary_off">A tetszik gomb a legjobb megjelenésre formázva</string>
<string name="revanced_ryd_estimated_like_title">Becsült kedvelések mutatása</string>
<string name="revanced_ryd_estimated_like_summary_on">A becsült kedvelések láthatók</string>
<string name="revanced_ryd_estimated_like_summary_off">A becsült kedvelések rejtve vannak</string>
<string name="revanced_ryd_toast_on_connection_error_title">Üzenet megjelenítése, ha az API nem elérhető</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Üzenet megjelenítése, ha a Return YouTube Dislike nem elérhető</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nem jelenik meg üzenet, ha a Return YouTube Dislike nem elérhető</string>
@@ -899,6 +905,9 @@ Ez a funkció a legjobban 720p vagy annál alacsonyabb videóminőség mellett
<string name="revanced_sb_enable_voting">Szavazás gomb megjelenítése</string>
<string name="revanced_sb_enable_voting_sum_on">Szegmens szavazás gomb megjelenítve</string>
<string name="revanced_sb_enable_voting_sum_off">Szegmens szavazás gomb elrejtve</string>
<string name="revanced_sb_square_layout">Négyzetes elrendezés használata</string>
<string name="revanced_sb_square_layout_sum_on">A gombok és vezérlők négyszögletesek</string>
<string name="revanced_sb_square_layout_sum_off">A gombok és vezérlők lekerekítettek</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Kompakt kihagyás gomb használata</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">A kihagyás gomb minimális szélességre formázva</string>
@@ -1114,7 +1123,7 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Hamisított alkalmazásverzió célja</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - A régi Shorts lejátszó ikonok visszaállítása</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - A régi navigációs és eszköztári ikonok visszaállítása</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Állítsa vissza a régi navigációs ikonokat</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD visszaállítása Shorts inkognitó módban</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Széles videósebesség és minőség menü visszaállítása</string>
@@ -1124,8 +1133,11 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Kezdőlap beállítása</string>
<string name="revanced_change_start_page_entry_default">Alapértelmezett</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Összes feliratkozás</string>
<string name="revanced_change_start_page_entry_browse">Csatornák böngészése</string>
<string name="revanced_change_start_page_entry_courses">Tanfolyamok / Tanulás</string>
<string name="revanced_change_start_page_entry_explore">Felfedezés</string>
<string name="revanced_change_start_page_entry_fashion">Divat és szépség</string>
<string name="revanced_change_start_page_entry_gaming">Játék</string>
<string name="revanced_change_start_page_entry_history">Előzmények</string>
<string name="revanced_change_start_page_entry_library">Könyvtár</string>
@@ -1133,11 +1145,17 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
<string name="revanced_change_start_page_entry_live">Élő</string>
<string name="revanced_change_start_page_entry_movies">Filmek</string>
<string name="revanced_change_start_page_entry_music">Zene</string>
<string name="revanced_change_start_page_entry_news">Hírek</string>
<string name="revanced_change_start_page_entry_notifications">Értesítések</string>
<string name="revanced_change_start_page_entry_playlists">Lejátszási listák</string>
<string name="revanced_change_start_page_entry_search">Keresés</string>
<string name="revanced_change_start_page_entry_shopping">Bevásárlás</string>
<string name="revanced_change_start_page_entry_sports">Sportok</string>
<string name="revanced_change_start_page_entry_subscriptions">Feliratkozások</string>
<string name="revanced_change_start_page_entry_trending">Felkapott</string>
<string name="revanced_change_start_page_entry_virtual_reality">Virtuális valóság</string>
<string name="revanced_change_start_page_entry_watch_later">Megnézem később</string>
<string name="revanced_change_start_page_entry_your_clips">A saját klipjeid</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">A Shorts lejátszás folytatásának kikapcsolása</string>

View File

@@ -26,20 +26,20 @@ Second \"item\" text"</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Բացել պաշտոնական կայքը</string>
<string name="revanced_check_environment_dialog_ignore_button">Մերժել</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Այս հավելվածը, ըստ երևույթին, չի մշակվել ձեզ կողմից։&lt;/h5&gt;&lt;br&gt;Այս հավելվածը կարող է անսպասելիորեն աշխատել կամ &lt;b&gt;վտանգավոր լինել կամ նույնիսկ վտանգավոր լինել օգտագործման համար&lt;/b&gt;։&lt;br&gt;&lt;br&gt;Այս վերահսկումները ենթադրում են, որ այս հավելվածը նախապես մշակված է կամ ստացվել է մեկ այլ անձից։&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Հ強くРекомендуется &lt;b&gt;թվոտացնել այս հավելվածը և ինքնուրույն մշակել այն&lt;/b&gt;՝ ապահովելու համար, որ դուք օգտագործում եք վավերացված և անվտանգ հավելված։&lt;p&gt;&lt;br&gt;Եթե ​​չեք ուշադրություն դարձնում, այս նախազգուշացումը կցուցադրվի միայն երկու անգամ։</string>
<string name="revanced_check_environment_not_same_patching_device">Մշակվել է մեկ այլ սարքի վրա</string>
<string name="revanced_check_environment_not_same_patching_device">Պատչված է տարբեր սարքի վրա</string>
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager-ով չի տեղադրվել</string>
<string name="revanced_check_environment_not_near_patch_time">Մշակվել է ավելի քան 10 րոպե առաջ</string>
<string name="revanced_check_environment_not_near_patch_time">Պատչված է ավելի քան 10 րոպե առաջ</string>
<string name="revanced_check_environment_not_near_patch_time_days">Մշակվել է %s օր առաջ</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">APK-ի ստեղծման ամսաթիվը հնացած է</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">APK-ի կառուցման ամսաթիվը վնասված է</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Կարգավորումներ</string>
<string name="revanced_settings_confirm_user_dialog_title">Դուք ցանկանում եք շարունակել?</string>
<string name="revanced_settings_reset">Վերականգնել</string>
<string name="revanced_settings_restart_title">Թարմացնել և վերագործարկել</string>
<string name="revanced_settings_restart">Վերագործարկում</string>
<string name="revanced_settings_restart">Վերսկսել</string>
<string name="revanced_settings_import">Ներմուծել</string>
<string name="revanced_settings_import_copy">Պատճենել</string>
<string name="revanced_settings_import_copy">Պատճեն</string>
<string name="revanced_settings_import_reset">ReVanced կարգավորումները վերադրվել են դեֆոլտային</string>
<string name="revanced_settings_import_success">Import %d կարգավորում</string>
<string name="revanced_settings_import_failure_parse">Import-ը ձախողվել է։ %s</string>
@@ -506,8 +506,9 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<string name="revanced_swipe_overlay_timeout_summary">Վերածման ցուցադրման տևողությունը միլիվայրկյաններով</string>
<string name="revanced_swipe_text_overlay_size_title">Սահմանման վերածման տեքստի չափը</string>
<string name="revanced_swipe_text_overlay_size_summary">Սահմանման վերածման տեքստի չափը</string>
<string name="revanced_swipe_overlay_background_alpha_title">Սահմանման վերածման ֆոնի տեսանելիությունը</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Սահմանման վերածման ֆոնի տեսանելիությունը</string>
<string name="revanced_swipe_overlay_background_opacity_title">Սողացման ծածկույթի ֆոնի անթափանցություն</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Անթափանցության արժեք 0-100 միջակայքում</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Սողալու անթափանցությունը պետք է լինի 0-100 միջակայքում</string>
<string name="revanced_swipe_threshold_title">Սահմանման վերածման չափը</string>
<string name="revanced_swipe_threshold_summary">Սահմանման վերածման չափը</string>
<string name="revanced_swipe_change_video_title">Վայրէջքով տեսանյութերը փոխելու ակտիվացում</string>
@@ -834,6 +835,8 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<string name="revanced_ryd_failure_generic">\"Dislike\"-երը հասանելի չեն (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Վերբեռնել տեսանյութը՝ քվեարկելու համար Return YouTube Dislike-ի միջոցով</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Թաքցված է սեփականատիրոջ կողմից</string>
<string name="revanced_ryd_enable_summary_on">\"Dislike\"-երը ցուցադրվում են</string>
<string name="revanced_ryd_enable_summary_off">\"Dislike\"-երը չեն ցուցադրվում</string>
<string name="revanced_ryd_shorts_title">Ցուցադրել \"Dislike\"-երը Shorts-ում</string>
@@ -849,6 +852,9 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<string name="revanced_ryd_compact_layout_title">Միարժեք «Like» կոճակ</string>
<string name="revanced_ryd_compact_layout_summary_on">\"Like\" կոճակը ոճավորված է մինիմալ մեծության համար</string>
<string name="revanced_ryd_compact_layout_summary_off">\"Like\" կոճակը ոճավորված է լավագույն հայացքի համար</string>
<string name="revanced_ryd_estimated_like_title">Ցույց տալ մոտավոր հավանումները</string>
<string name="revanced_ryd_estimated_like_summary_on">Ցուցադրվում են մոտավոր հավանումները</string>
<string name="revanced_ryd_estimated_like_summary_off">Մոտավոր հավանումները թաքցված են</string>
<string name="revanced_ryd_toast_on_connection_error_title">Ցուցադրել \"toast\", եթե API-ն հասանելի չէ</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">\"Toast\"-ը ցուցադրվում է, եթե Return YouTube Dislike-ը հասանելի չէ</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">\"Toast\"-ը չի ցուցադրվում, եթե Return YouTube Dislike-ը հասանելի չէ</string>
@@ -899,6 +905,8 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_sb_enable_voting">Ցույց տալ ձայնի մասին տեղեկությունները</string>
<string name="revanced_sb_enable_voting_sum_on">Segment-ի ձայնի մասին տեղեկությունները ցույց են տրվում</string>
<string name="revanced_sb_enable_voting_sum_off">Segment-ի ձայնի մասին տեղեկությունները չեն ցույց տրվում</string>
<string name="revanced_sb_square_layout">Օգտագործե՛ք քառակուսի դասավորություն</string>
<string name="revanced_sb_square_layout_sum_off">Կոճակները և կառավարման վահանակները կլորացված են</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Օգտագործել կոմպակտ բաց թողնել կոճակը</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Բաց թողնել կոճակը ոճավորվել է նվազագույն լայնության համար</string>
@@ -1115,7 +1123,7 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof-ի կիրառության տարբերակի նպատակ</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Վերականգնել հին Shorts պլեյերի պատկերակները</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Հին նավիգացիայի և գործիքների պատկերներ վերականգնել</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Վերականգնել հին նավիգացիոն պատկերակները</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Վերականգնել RYD-ը Shorts անանուն ռեժիմում</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Վերականգնել լայն տեսանյութի արագության &amp; որակի ընտրացանկը</string>
@@ -1125,8 +1133,11 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Սահմանել մեկնարկային էջ</string>
<string name="revanced_change_start_page_entry_default">Ըստ լռելյայնի</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Բոլոր բաժանորդագրությունները</string>
<string name="revanced_change_start_page_entry_browse">Դիտել ալիքները</string>
<string name="revanced_change_start_page_entry_courses">Դասընթացներ / Ուսուցում</string>
<string name="revanced_change_start_page_entry_explore">Հետազոտել</string>
<string name="revanced_change_start_page_entry_fashion">Mόδα և գեղեցկություն</string>
<string name="revanced_change_start_page_entry_gaming">Խաղեր</string>
<string name="revanced_change_start_page_entry_history">Պատմություն</string>
<string name="revanced_change_start_page_entry_library">Գրադարան</string>
@@ -1134,11 +1145,17 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_change_start_page_entry_live">Անհապաղ</string>
<string name="revanced_change_start_page_entry_movies">Ֆիլմեր</string>
<string name="revanced_change_start_page_entry_music">Երաժշտություն</string>
<string name="revanced_change_start_page_entry_news">Նորություններ</string>
<string name="revanced_change_start_page_entry_notifications">Ծանուցումներ</string>
<string name="revanced_change_start_page_entry_playlists">Երգացանկեր</string>
<string name="revanced_change_start_page_entry_search">Որոնում</string>
<string name="revanced_change_start_page_entry_shopping">Shopping</string>
<string name="revanced_change_start_page_entry_sports">Սպորտ</string>
<string name="revanced_change_start_page_entry_subscriptions">Գրանցագրություններ</string>
<string name="revanced_change_start_page_entry_trending">Trend-ի մեջ</string>
<string name="revanced_change_start_page_entry_virtual_reality">Վիրտուալ իրականություն</string>
<string name="revanced_change_start_page_entry_watch_later">Դիտել հետո</string>
<string name="revanced_change_start_page_entry_your_clips">Your clips</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Անջատել Shorts պլեյերի վերսկսումը</string>

View File

@@ -341,9 +341,9 @@ Anda tidak akan diberi tahu tentang kejadian yang tidak terduga."</string>
<string name="revanced_hide_doodles_title">Sembunyikan YouTube Doodles</string>
<string name="revanced_hide_doodles_summary_on">Bilah pencarian Doodle disembunyikan</string>
<string name="revanced_hide_doodles_summary_off">Bilah pencarian Doodle ditampilkan</string>
<string name="revanced_hide_doodles_user_dialog_message">"Gambar kecil YouTube muncul beberapa hari setiap tahun.
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodle muncul beberapa hari setiap tahun.
Jika Gambar kecil saat ini ditampilkan di wilayah Anda dan pengaturan sembunyi ini aktif, bilah filter di bawah bilah pencarian juga akan disembunyikan."</string>
Jika Doodle saat ini ditampilkan di wilayah Anda dan pengaturan penyembunyi ini aktif, bilah filter di bawah bilah pencarian juga akan disembunyikan."</string>
<string name="revanced_custom_filter_screen_title">Penyaring khusus</string>
<string name="revanced_custom_filter_screen_summary">Sembunyikan komponen menggunakan penyaring khusus</string>
<string name="revanced_custom_filter_title">Aktifkan penyaring khusus</string>
@@ -416,13 +416,13 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama"</string>
<string name="revanced_hide_player_store_shelf_title">Sembunyikan rak belanja pemutar</string>
<string name="revanced_hide_player_store_shelf_summary_on">Rak belanja disembunyikan</string>
<string name="revanced_hide_player_store_shelf_summary_off">Rak belanja ditampilkan</string>
<string name="revanced_hide_shopping_links_title">Sembunyikan tautan belanja dalam keterangan video</string>
<string name="revanced_hide_shopping_links_summary_on">Tautan belanja disembunyikan</string>
<string name="revanced_hide_shopping_links_summary_off">Tautan belanja ditampilkan</string>
<string name="revanced_hide_shopping_links_title">Sembunyikan tautan belanja</string>
<string name="revanced_hide_shopping_links_summary_on">Tautan belanja deskripsi video disembunyikan</string>
<string name="revanced_hide_shopping_links_summary_off">Tautan belanja deskripsi video ditampilkan</string>
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_store_button_title">Sembunyikan tombol \'Kunjungi toko\' di laman saluran</string>
<string name="revanced_hide_visit_store_button_summary_on">Tombol disembunyikan</string>
<string name="revanced_hide_visit_store_button_summary_off">Tombol ditampilkan</string>
<string name="revanced_hide_visit_store_button_title">Sembunyikan tombol \'Kunjungi toko\'</string>
<string name="revanced_hide_visit_store_button_summary_on">Tombol disembunyikan pada laman saluran</string>
<string name="revanced_hide_visit_store_button_summary_off">Tombol ditampilkan pada laman saluran</string>
<string name="revanced_hide_web_search_results_title">Sembunyikan hasil pencarian web</string>
<string name="revanced_hide_web_search_results_summary_on">Hasil pencarian web disembunyikan</string>
<string name="revanced_hide_web_search_results_summary_off">Hasil pencarian web ditampilkan</string>
@@ -506,8 +506,9 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama"</string>
<string name="revanced_swipe_overlay_timeout_summary">Jumlah milidetik hamparan terlihat</string>
<string name="revanced_swipe_text_overlay_size_title">Ukuran teks hamparan usap</string>
<string name="revanced_swipe_text_overlay_size_summary">Ukuran teks untuk hamparan usap</string>
<string name="revanced_swipe_overlay_background_alpha_title">Visibilitas latar belakang usap</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Visibilitas latar belakang hamparan usap</string>
<string name="revanced_swipe_overlay_background_opacity_title">Opasitas latar belakang hamparan geser</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Nilai opasitas antara 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Opasitas geser harus antara 0-100</string>
<string name="revanced_swipe_threshold_title">Ambang batas magnitudo usap</string>
<string name="revanced_swipe_threshold_summary">Jumlah ambang batas untuk terjadinya usapan</string>
<string name="revanced_swipe_change_video_title">Aktifkan usapan untuk beralih video</string>
@@ -834,6 +835,8 @@ Catatan: Mengaktifkan ini juga akan memaksa menyembunyikan iklan video"</string>
<string name="revanced_ryd_failure_generic">Dislike tidak tersedia (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Muat ulang video untuk memilih Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Disembunyikan oleh pemilik</string>
<string name="revanced_ryd_enable_summary_on">Dislike ditampilkan</string>
<string name="revanced_ryd_enable_summary_off">Dislike tidak ditampilkan</string>
<string name="revanced_ryd_shorts_title">Tampilkan dislike di Shorts</string>
@@ -849,6 +852,9 @@ Keterbatasan: Dislike mungkin tidak muncul dalam mode penyamaran"</string>
<string name="revanced_ryd_compact_layout_title">Tombol Suka Ringkas</string>
<string name="revanced_ryd_compact_layout_summary_on">Tombol suka ditata untuk lebar minimum</string>
<string name="revanced_ryd_compact_layout_summary_off">Tombol suka ditata untuk tampilan terbaik</string>
<string name="revanced_ryd_estimated_like_title">Tampilkan perkiraan suka</string>
<string name="revanced_ryd_estimated_like_summary_on">Perkiraan suka ditampilkan</string>
<string name="revanced_ryd_estimated_like_summary_off">Perkiraan suka disembunyikan</string>
<string name="revanced_ryd_toast_on_connection_error_title">Tampilkan pesan timbul jika API tidak tersedia</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Pesan timbul tidak ditampilkan jika Return YouTube Dislike tidak tersedia</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Pesan timbul tidak ditampilkan jika Return YouTube Dislike tidak tersedia</string>
@@ -899,6 +905,9 @@ Fitur ini bekerja paling baik dengan kualitas video 720p atau lebih rendah dan s
<string name="revanced_sb_enable_voting">Tampilkan tombol voting</string>
<string name="revanced_sb_enable_voting_sum_on">Tombol segmen voting ditampilkan</string>
<string name="revanced_sb_enable_voting_sum_off">Tombol segmen voting tidak ditampilkan</string>
<string name="revanced_sb_square_layout">Gunakan tata letak persegi</string>
<string name="revanced_sb_square_layout_sum_on">Tombol dan kontrol berbentuk persegi</string>
<string name="revanced_sb_square_layout_sum_off">Tombol dan kontrol berbentuk bulat</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Gunakan tombol lewati ringkas</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Tombol lewati ditata untuk lebar minimum</string>
@@ -960,11 +969,11 @@ Id pengguna Anda seperti kata sandi dan jangan pernah dibagikan."</string>
<string name="revanced_sb_segments_selfpromo">Tidak Dibayar/Promosi Diri Sendiri</string>
<string name="revanced_sb_segments_selfpromo_sum">Serupa dengan Sponsor kecuali tidak dibayar atau promosi diri sendiri. Termasuk bagian merchandise, donasi, atau informasi tentang siapa yang berkolaborasi dengan mereka</string>
<string name="revanced_sb_segments_interaction">Pengingat Interaksi (Berlangganan)</string>
<string name="revanced_sb_segments_interaction_sum">Pengingat singkat untuk suka, berlangganan, atau ikuti di tengah konten. Jika berdurasi panjang atau mengenai sesuatu yang spesifik, sebaiknya termasuk kategori promosi diri sendiri</string>
<string name="revanced_sb_segments_interaction_sum">Pengingat singkat untuk menyukai, berlangganan, atau mengikuti mereka di tengah-tengah konten. Jika berdurasi panjang atau tentang sesuatu yang spesifik, sebaiknya berada di bawah promosi diri sendiri</string>
<string name="revanced_sb_segments_highlight">Sorotan</string>
<string name="revanced_sb_segments_highlight_sum">Bagian video yang paling dilihat oleh orang</string>
<string name="revanced_sb_segments_intro">Jeda/Animasi Intro</string>
<string name="revanced_sb_segments_intro_sum">Bagian video yang bukan konten. Bisa saja pause, frame statis, atau animasi yang diulang-ulang. Tidak termasuk transisi yang mengandung informasi</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>
@@ -1114,7 +1123,7 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Target versi app yang dipalsukan</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Pulihkan ikon pemutar Shorts lama</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Pulihkan ikon navigasi dan bilah alat lama</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Pulihkan ikon navigasi lama</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Pulihkan RYD pada mode penyamaran Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Pulihkan menu kecepatan &amp; kualitas video lebar</string>
@@ -1124,8 +1133,11 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Tetapkan halaman awal</string>
<string name="revanced_change_start_page_entry_default">Bawaan</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Semua langganan</string>
<string name="revanced_change_start_page_entry_browse">Jelajahi saluran</string>
<string name="revanced_change_start_page_entry_courses">Kursus / Pembelajaran</string>
<string name="revanced_change_start_page_entry_explore">Jelajahi</string>
<string name="revanced_change_start_page_entry_fashion">Fashion &amp; Kecantikan</string>
<string name="revanced_change_start_page_entry_gaming">Permainan</string>
<string name="revanced_change_start_page_entry_history">Riwayat</string>
<string name="revanced_change_start_page_entry_library">Pustaka</string>
@@ -1133,11 +1145,17 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
<string name="revanced_change_start_page_entry_live">Siaran langsunng</string>
<string name="revanced_change_start_page_entry_movies">Film</string>
<string name="revanced_change_start_page_entry_music">Musik</string>
<string name="revanced_change_start_page_entry_news">Berita</string>
<string name="revanced_change_start_page_entry_notifications">Pemberitahuan</string>
<string name="revanced_change_start_page_entry_playlists">Daftar Putar</string>
<string name="revanced_change_start_page_entry_search">Pencarian</string>
<string name="revanced_change_start_page_entry_shopping">Belanja</string>
<string name="revanced_change_start_page_entry_sports">Olahraga</string>
<string name="revanced_change_start_page_entry_subscriptions">Langganan</string>
<string name="revanced_change_start_page_entry_trending">Sedang tren</string>
<string name="revanced_change_start_page_entry_virtual_reality">Realitas Virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Tonton nanti</string>
<string name="revanced_change_start_page_entry_your_clips">Klip Anda</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Matikan melanjutkan pemutar video Shorts</string>
@@ -1403,7 +1421,7 @@ AVC memiliki resolusi maksimum 1080p, codec audio Opus tidak tersedia, dan pemut
• Volume stabil tidak tersedia
• Paksa audio asli tidak tersedia"</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Tidak ada codec video AV1</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Video anak-anak mungkin tidak diputar saat keluar atau dalam mode penyamaran</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Tampilkan di Statistik untuk nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Jenis klien ditampilkan di Statistik untuk nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Klien disembunyikan di Statistik untuk nerds</string>

View File

@@ -145,6 +145,7 @@ Second \"item\" text"</string>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Video likes have been set to hidden by the video uploader. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch>

View File

@@ -506,8 +506,9 @@ Questa funzione è disponibile solo per i dispositivi più vecchi"</string>
<string name="revanced_swipe_overlay_timeout_summary">La visibilità in millisecondi della sovrapposizione</string>
<string name="revanced_swipe_text_overlay_size_title">Dimensione del testo sovrapposto dello scorrimento</string>
<string name="revanced_swipe_text_overlay_size_summary">La dimensione del testo per la sovrapposizione dello scorrimento</string>
<string name="revanced_swipe_overlay_background_alpha_title">Visibilità sfondo durante lo scorrimento</string>
<string name="revanced_swipe_overlay_background_alpha_summary">La visibilità dello sfondo in sovrapposizione durante lo scorrimento</string>
<string name="revanced_swipe_overlay_background_opacity_title">Opacità di sfondo della sovrapposizione di scorrimento</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Valore di opacità tra 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacità di scorrimento deve essere tra 0-100</string>
<string name="revanced_swipe_threshold_title">Ampiezza limite della soglia di scorrimento</string>
<string name="revanced_swipe_threshold_summary">Il limite di ampiezza entro cui deve avvenire lo scorrimento</string>
<string name="revanced_swipe_change_video_title">Attiva il gesto per cambiare video</string>
@@ -834,6 +835,8 @@ Nota: Abilitare questa opzione nasconde anche le pubblicità video"</string>
<string name="revanced_ryd_failure_generic">Non Mi Piace non disponibili (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Ricarica il video per votare usando Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Nascosto dal proprietario</string>
<string name="revanced_ryd_enable_summary_on">I Non Mi Piace sono visibili</string>
<string name="revanced_ryd_enable_summary_off">I Non Mi Piace non sono visibili</string>
<string name="revanced_ryd_shorts_title">Mostra i Non Mi Piace degli Shorts</string>
@@ -849,6 +852,9 @@ Limitazione: i Non mi piace potrebbero non apparire in modalità di navigazione
<string name="revanced_ryd_compact_layout_title">Attiva il pulsante Mi piace compatto</string>
<string name="revanced_ryd_compact_layout_summary_on">Pulsante Mi Piace riadattato per una larghezza minima</string>
<string name="revanced_ryd_compact_layout_summary_off">Pulsante Mi Piace riadattato per la migliore visualizzazione</string>
<string name="revanced_ryd_estimated_like_title">Mostra \"Mi piace\" stimati</string>
<string name="revanced_ryd_estimated_like_summary_on">Vengono mostrati i \"Mi piace\" stimati</string>
<string name="revanced_ryd_estimated_like_summary_off">I \"Mi piace\" stimati sono nascosti</string>
<string name="revanced_ryd_toast_on_connection_error_title">Mostra un toast se l\'API non è disponibile</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Una notifica è mostrata se Return YouTube Dislike non è disponibile</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nessuna notifica viene mostrata se Return YouTube Dislike non è disponibile</string>
@@ -899,6 +905,9 @@ Questa funzione funziona meglio con una qualità video di 720p o inferiore e qua
<string name="revanced_sb_enable_voting">Mostra il pulsante di voto</string>
<string name="revanced_sb_enable_voting_sum_on">Il pulsante di voto del segmento è visibile</string>
<string name="revanced_sb_enable_voting_sum_off">Il pulsante di voto del segmento è nascosto</string>
<string name="revanced_sb_square_layout">Usa layout quadrato</string>
<string name="revanced_sb_square_layout_sum_on">Pulsanti e controlli sono quadrati</string>
<string name="revanced_sb_square_layout_sum_off">Pulsanti e controlli sono arrotondati</string>
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
<string name="revanced_sb_enable_compact_skip_button">Utilizza il pulsante Salta compatto</string>
<string name="revanced_sb_enable_compact_skip_button_sum_on">Pulsante Salta riadattato per una larghezza minima</string>
@@ -1114,7 +1123,7 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Target della versione dell\'app desiderata</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Ripristinare le vecchie icone del player Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Ripristina le vecchie icone di navigazione e barra degli strumenti</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Ripristina le vecchie icone di navigazione</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Ripristina RYD negli Shorts in modalità incognito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Ripristina velocità video larga &amp; menu qualità</string>
@@ -1124,8 +1133,11 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Imposta pagina iniziale</string>
<string name="revanced_change_start_page_entry_default">Predefinito</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Tutte le iscrizioni</string>
<string name="revanced_change_start_page_entry_browse">Sfoglia canali</string>
<string name="revanced_change_start_page_entry_courses">Corsi / Formazione</string>
<string name="revanced_change_start_page_entry_explore">Esplora</string>
<string name="revanced_change_start_page_entry_fashion">Moda e bellezza</string>
<string name="revanced_change_start_page_entry_gaming">Giochi</string>
<string name="revanced_change_start_page_entry_history">Cronologia</string>
<string name="revanced_change_start_page_entry_library">Libreria</string>
@@ -1133,11 +1145,17 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
<string name="revanced_change_start_page_entry_live">In diretta</string>
<string name="revanced_change_start_page_entry_movies">Film</string>
<string name="revanced_change_start_page_entry_music">Musica</string>
<string name="revanced_change_start_page_entry_news">Notizie</string>
<string name="revanced_change_start_page_entry_notifications">Notifiche</string>
<string name="revanced_change_start_page_entry_playlists">Playlist</string>
<string name="revanced_change_start_page_entry_search">Cerca</string>
<string name="revanced_change_start_page_entry_shopping">Shopping</string>
<string name="revanced_change_start_page_entry_sports">Sport</string>
<string name="revanced_change_start_page_entry_subscriptions">Iscrizioni</string>
<string name="revanced_change_start_page_entry_trending">Tendenze</string>
<string name="revanced_change_start_page_entry_virtual_reality">Realtà Virtuale</string>
<string name="revanced_change_start_page_entry_watch_later">Guarda più tardi</string>
<string name="revanced_change_start_page_entry_your_clips">Le tue clip</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Disabilita la ripresa del player Shorts</string>

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