mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-12 06:06:18 +00:00
Compare commits
83 Commits
v5.30.0-de
...
v5.31.2-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb57a2697b | ||
|
|
19bc5b63c5 | ||
|
|
2b93ff6cfc | ||
|
|
cc6984e919 | ||
|
|
8bf575e778 | ||
|
|
2e625ee1a2 | ||
|
|
6bcba48ee7 | ||
|
|
c3034edc43 | ||
|
|
82255a09d3 | ||
|
|
594dce13cd | ||
|
|
479e205808 | ||
|
|
3d1b7e8101 | ||
|
|
e951184b7a | ||
|
|
d088b1e7ed | ||
|
|
a38f635514 | ||
|
|
b3e6c215cc | ||
|
|
c9cc3d5c41 | ||
|
|
536e64565c | ||
|
|
65cbf3c1eb | ||
|
|
61c1a7a75a | ||
|
|
1e39db06b8 | ||
|
|
e019f83232 | ||
|
|
3b57a5f8c0 | ||
|
|
eafe3dfc45 | ||
|
|
d56d8d990c | ||
|
|
37a8682901 | ||
|
|
11ba7d4e3e | ||
|
|
6833d37c26 | ||
|
|
e6f72bcb7d | ||
|
|
e8a227c082 | ||
|
|
0472ec2830 | ||
|
|
6412a5cb1a | ||
|
|
cc548689ac | ||
|
|
a3d47e72e3 | ||
|
|
f37482443a | ||
|
|
cc4aef89d3 | ||
|
|
1c0a0eb4b5 | ||
|
|
b1d6c46763 | ||
|
|
42195b9f63 | ||
|
|
a4e08ea13d | ||
|
|
bd2a939a72 | ||
|
|
a89179ab79 | ||
|
|
b0129d383a | ||
|
|
23b6c42630 | ||
|
|
10f4464735 | ||
|
|
4e5addbba5 | ||
|
|
8d11ede927 | ||
|
|
83a3f4da00 | ||
|
|
caf3b69731 | ||
|
|
3135203b55 | ||
|
|
8d113a7c67 | ||
|
|
4e742075f3 | ||
|
|
04caa66662 | ||
|
|
dacc85f5e7 | ||
|
|
f9abec358a | ||
|
|
7e11514cc1 | ||
|
|
2e9c8df8f6 | ||
|
|
4c8cfc8800 | ||
|
|
0ba6fad33f | ||
|
|
3eac215e13 | ||
|
|
90a3262f68 | ||
|
|
f7f49b834e | ||
|
|
89ec5d5bc6 | ||
|
|
e3bc8be936 | ||
|
|
6c5c3f5a4d | ||
|
|
629bd0644b | ||
|
|
b4005079e3 | ||
|
|
a354c443ad | ||
|
|
d1313e3ea1 | ||
|
|
11338008c6 | ||
|
|
8b9e04475d | ||
|
|
d3c9dc6ed7 | ||
|
|
d7ed32571f | ||
|
|
d3935f03c0 | ||
|
|
b2e601f0f0 | ||
|
|
d3ec219a29 | ||
|
|
5ed07d4aaa | ||
|
|
209a3a3626 | ||
|
|
2b3419571f | ||
|
|
bbe504e616 | ||
|
|
6c32591f62 | ||
|
|
ad6da67281 | ||
|
|
14dc593eba |
28
.github/dependabot.yml
vendored
28
.github/dependabot.yml
vendored
@@ -1,22 +1,26 @@
|
||||
version: 2
|
||||
multi-ecosystem-groups:
|
||||
dependency:
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
target-branch: dev
|
||||
labels: [ ]
|
||||
|
||||
updates:
|
||||
- package-ecosystem: github-actions
|
||||
labels: []
|
||||
multi-ecosystem-group: "dependency"
|
||||
directory: /
|
||||
target-branch: dev
|
||||
schedule:
|
||||
interval: monthly
|
||||
patterns:
|
||||
- "*"
|
||||
|
||||
- package-ecosystem: npm
|
||||
labels: []
|
||||
multi-ecosystem-group: "dependency"
|
||||
directory: /
|
||||
target-branch: dev
|
||||
schedule:
|
||||
interval: monthly
|
||||
patterns:
|
||||
- "*"
|
||||
|
||||
- package-ecosystem: gradle
|
||||
labels: []
|
||||
multi-ecosystem-group: "dependency"
|
||||
directory: /
|
||||
target-branch: dev
|
||||
schedule:
|
||||
interval: monthly
|
||||
patterns:
|
||||
- "*"
|
||||
|
||||
2
.github/workflows/build_pull_request.yml
vendored
2
.github/workflows/build_pull_request.yml
vendored
@@ -13,8 +13,6 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
|
||||
1
.github/workflows/pull_strings.yml
vendored
1
.github/workflows/pull_strings.yml
vendored
@@ -17,7 +17,6 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: dev
|
||||
fetch-depth: 0
|
||||
clean: true
|
||||
|
||||
- name: Pull strings
|
||||
|
||||
2
.github/workflows/push_strings.yml
vendored
2
.github/workflows/push_strings.yml
vendored
@@ -15,8 +15,6 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Preprocess strings
|
||||
env:
|
||||
|
||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -19,8 +19,6 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
|
||||
255
CHANGELOG.md
255
CHANGELOG.md
@@ -1,3 +1,258 @@
|
||||
## [5.31.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.31.2-dev.1...v5.31.2-dev.2) (2025-07-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Hide layout components:** Show correct custom header logo if 'Hide YouTube Doodles' is enabled ([#5431](https://github.com/ReVanced/revanced-patches/issues/5431)) ([20cc141](https://github.com/ReVanced/revanced-patches/commit/20cc141e61f75de1a1749247c4f4aed167dee8ea))
|
||||
|
||||
## [5.31.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.31.1...v5.31.2-dev.1) (2025-07-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Hide layout components:** Hide quick actions does not work ([#5423](https://github.com/ReVanced/revanced-patches/issues/5423)) ([9c66729](https://github.com/ReVanced/revanced-patches/commit/9c6672946d44001e106bdac9041e2d79ef3f6ab2))
|
||||
|
||||
## [5.31.1](https://github.com/ReVanced/revanced-patches/compare/v5.31.0...v5.31.1) (2025-07-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Unlock Premium:** Fix hiding context menu ads for latest version ([#5415](https://github.com/ReVanced/revanced-patches/issues/5415)) ([dcde393](https://github.com/ReVanced/revanced-patches/commit/dcde3935bde3172576d0f9f5ff9eb62ecfff7dfe))
|
||||
|
||||
## [5.31.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.31.0...v5.31.1-dev.1) (2025-07-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Unlock Premium:** Fix hiding context menu ads for latest version ([#5415](https://github.com/ReVanced/revanced-patches/issues/5415)) ([dcde393](https://github.com/ReVanced/revanced-patches/commit/dcde3935bde3172576d0f9f5ff9eb62ecfff7dfe))
|
||||
|
||||
# [5.31.0](https://github.com/ReVanced/revanced-patches/compare/v5.30.0...v5.31.0) (2025-07-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Bacon Reader - Spoof client:** Use www instead of ssl API to fix auth related issues ([#5402](https://github.com/ReVanced/revanced-patches/issues/5402)) ([72459bb](https://github.com/ReVanced/revanced-patches/commit/72459bb2eaf4691e32822dfdd1db3240e2fe98dd))
|
||||
* Correctly name `Enable ROM signature spoofing` patch ([d85881a](https://github.com/ReVanced/revanced-patches/commit/d85881a6768232a999534677bebb248e640fe5ab))
|
||||
* Fix accidental changes ([e2ac841](https://github.com/ReVanced/revanced-patches/commit/e2ac8419756e3c7d62e2c0430a2918a3c1c63666))
|
||||
* Fix refactoring typo ([ec0ae42](https://github.com/ReVanced/revanced-patches/commit/ec0ae42496628cdeb2a639020fce94316b41b751))
|
||||
* Handle empty list of announcements ([de9d720](https://github.com/ReVanced/revanced-patches/commit/de9d7209f4e818a618a7fd9000013ae8ebd728f2))
|
||||
* **SoundCloud:** Constrain patches to last working app target ([e8ea89f](https://github.com/ReVanced/revanced-patches/commit/e8ea89fc1a3f0531a0af7529663f13328aca4fe7))
|
||||
* **Spotify - Unlock Premium:** Remove wrongfully hidden non ad browse sections ([#5403](https://github.com/ReVanced/revanced-patches/issues/5403)) ([8633544](https://github.com/ReVanced/revanced-patches/commit/8633544decc0814d7a548fbc5576b4bdd1d7eee0))
|
||||
* **Spotify:** Remove other ads type from the browse screen ([#5333](https://github.com/ReVanced/revanced-patches/issues/5333)) ([c68533a](https://github.com/ReVanced/revanced-patches/commit/c68533a33a399ca813380b5c9ccddce434ceadf8))
|
||||
* **Sync for Reddit - Spoof client:** Use www instead of ssl API to fix auth related issues ([#5392](https://github.com/ReVanced/revanced-patches/issues/5392)) ([47e6b62](https://github.com/ReVanced/revanced-patches/commit/47e6b62f3d8b07960cfb2963f441222d3e67df92))
|
||||
* **YouTube - Hide ads:** Hide new type of general ad ([#5345](https://github.com/ReVanced/revanced-patches/issues/5345)) ([f23716b](https://github.com/ReVanced/revanced-patches/commit/f23716bc52c03d8d0271bfe38b19247e6de7021d))
|
||||
* **YouTube - Hide layout components:** Do not hide playlist sort button if 'Hide AI comments summary' is on ([5f3e48e](https://github.com/ReVanced/revanced-patches/commit/5f3e48ec5853f6439800ef58239291c34bcab5f6))
|
||||
* **YouTube - Playback speed:** Allow custom speeds with 0.01x precision ([#5360](https://github.com/ReVanced/revanced-patches/issues/5360)) ([0eecef0](https://github.com/ReVanced/revanced-patches/commit/0eecef00fc93d2a217944978e29dce82e3134e35))
|
||||
* **YouTube - Slide to seek:** Show tap and hold 2x speed overlay when active ([#5398](https://github.com/ReVanced/revanced-patches/issues/5398)) ([dbc9c5f](https://github.com/ReVanced/revanced-patches/commit/dbc9c5f00c1f5bbb95f8822667cc1ac3c613fa00))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Cricbuzz - Hide ads:** Hide Cricbuzz11 UI elements ([#5381](https://github.com/ReVanced/revanced-patches/issues/5381)) ([a42c98f](https://github.com/ReVanced/revanced-patches/commit/a42c98f8b51fd37d815fd38b75a2b7ccc4fb049b))
|
||||
* **Lightroom:** Constrain patches to last working version ([#5335](https://github.com/ReVanced/revanced-patches/issues/5335)) ([32ce70e](https://github.com/ReVanced/revanced-patches/commit/32ce70e994f354b9a569376bb89eb38b3190e6f9))
|
||||
* **Spotify - Spoof client:** Fix issues like songs skipping by spoofing to iOS ([#5388](https://github.com/ReVanced/revanced-patches/issues/5388)) ([e36d4c1](https://github.com/ReVanced/revanced-patches/commit/e36d4c1986b58815c7659e6ef44011166873f9c8))
|
||||
* **Spotify:** Remove support for old versions ([#5404](https://github.com/ReVanced/revanced-patches/issues/5404)) ([9d31238](https://github.com/ReVanced/revanced-patches/commit/9d31238803a45e957472760fc40c3862da2cf3f0))
|
||||
* **YouTube - Change header:** Add in-app setting to change the app header ([#5346](https://github.com/ReVanced/revanced-patches/issues/5346)) ([9ba45b6](https://github.com/ReVanced/revanced-patches/commit/9ba45b6680595d732b47e8fa54bee98b7c7af179))
|
||||
* **YouTube - Hide layout components:** Add `Hide channel links preview` and `Hide 'Visit Community' button` in channel page ([#5320](https://github.com/ReVanced/revanced-patches/issues/5320)) ([9d9cce3](https://github.com/ReVanced/revanced-patches/commit/9d9cce3ec5550b2fea88df745f1700bb2f17eb9e))
|
||||
* **YouTube:** Disable two-finger tap gesture for skipping chapters ([#5374](https://github.com/ReVanced/revanced-patches/issues/5374)) ([71db0a2](https://github.com/ReVanced/revanced-patches/commit/71db0a2661b5f76eb5048cdeed83f26fbfdf4fee))
|
||||
|
||||
# [5.31.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.16...v5.31.0-dev.17) (2025-07-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Unlock Premium:** Remove wrongfully hidden non ad browse sections ([#5403](https://github.com/ReVanced/revanced-patches/issues/5403)) ([8633544](https://github.com/ReVanced/revanced-patches/commit/8633544decc0814d7a548fbc5576b4bdd1d7eee0))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Spotify:** Remove support for old versions ([#5404](https://github.com/ReVanced/revanced-patches/issues/5404)) ([9d31238](https://github.com/ReVanced/revanced-patches/commit/9d31238803a45e957472760fc40c3862da2cf3f0))
|
||||
|
||||
# [5.31.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.15...v5.31.0-dev.16) (2025-07-11)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Spotify - Spoof client:** Fix issues like songs skipping by spoofing to iOS ([#5388](https://github.com/ReVanced/revanced-patches/issues/5388)) ([e36d4c1](https://github.com/ReVanced/revanced-patches/commit/e36d4c1986b58815c7659e6ef44011166873f9c8))
|
||||
* **YouTube:** Disable two-finger tap gesture for skipping chapters ([#5374](https://github.com/ReVanced/revanced-patches/issues/5374)) ([71db0a2](https://github.com/ReVanced/revanced-patches/commit/71db0a2661b5f76eb5048cdeed83f26fbfdf4fee))
|
||||
|
||||
# [5.31.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.14...v5.31.0-dev.15) (2025-07-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Handle empty list of announcements ([de9d720](https://github.com/ReVanced/revanced-patches/commit/de9d7209f4e818a618a7fd9000013ae8ebd728f2))
|
||||
|
||||
# [5.31.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.13...v5.31.0-dev.14) (2025-07-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Bacon Reader - Spoof client:** Use www instead of ssl API to fix auth related issues ([#5402](https://github.com/ReVanced/revanced-patches/issues/5402)) ([72459bb](https://github.com/ReVanced/revanced-patches/commit/72459bb2eaf4691e32822dfdd1db3240e2fe98dd))
|
||||
|
||||
# [5.31.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.12...v5.31.0-dev.13) (2025-07-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Slide to seek:** Show tap and hold 2x speed overlay when active ([#5398](https://github.com/ReVanced/revanced-patches/issues/5398)) ([dbc9c5f](https://github.com/ReVanced/revanced-patches/commit/dbc9c5f00c1f5bbb95f8822667cc1ac3c613fa00))
|
||||
|
||||
# [5.31.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.11...v5.31.0-dev.12) (2025-07-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Sync for Reddit - Spoof client:** Use www instead of ssl API to fix auth related issues ([#5392](https://github.com/ReVanced/revanced-patches/issues/5392)) ([47e6b62](https://github.com/ReVanced/revanced-patches/commit/47e6b62f3d8b07960cfb2963f441222d3e67df92))
|
||||
|
||||
# [5.31.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.10...v5.31.0-dev.11) (2025-07-09)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Cricbuzz - Hide ads:** Hide Cricbuzz11 UI elements ([#5381](https://github.com/ReVanced/revanced-patches/issues/5381)) ([a42c98f](https://github.com/ReVanced/revanced-patches/commit/a42c98f8b51fd37d815fd38b75a2b7ccc4fb049b))
|
||||
|
||||
# [5.31.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.9...v5.31.0-dev.10) (2025-07-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Hide layout components:** Do not hide playlist sort button if 'Hide AI comments summary' is on ([5f3e48e](https://github.com/ReVanced/revanced-patches/commit/5f3e48ec5853f6439800ef58239291c34bcab5f6))
|
||||
|
||||
# [5.31.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.8...v5.31.0-dev.9) (2025-07-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fix accidental changes ([e2ac841](https://github.com/ReVanced/revanced-patches/commit/e2ac8419756e3c7d62e2c0430a2918a3c1c63666))
|
||||
|
||||
# [5.31.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.7...v5.31.0-dev.8) (2025-07-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Correctly name `Enable ROM signature spoofing` patch ([d85881a](https://github.com/ReVanced/revanced-patches/commit/d85881a6768232a999534677bebb248e640fe5ab))
|
||||
|
||||
# [5.31.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.6...v5.31.0-dev.7) (2025-07-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fix refactoring typo ([ec0ae42](https://github.com/ReVanced/revanced-patches/commit/ec0ae42496628cdeb2a639020fce94316b41b751))
|
||||
|
||||
# [5.31.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.5...v5.31.0-dev.6) (2025-07-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Playback speed:** Allow custom speeds with 0.01x precision ([#5360](https://github.com/ReVanced/revanced-patches/issues/5360)) ([0eecef0](https://github.com/ReVanced/revanced-patches/commit/0eecef00fc93d2a217944978e29dce82e3134e35))
|
||||
|
||||
# [5.31.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.4...v5.31.0-dev.5) (2025-07-05)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Change header:** Add in-app setting to change the app header ([#5346](https://github.com/ReVanced/revanced-patches/issues/5346)) ([9ba45b6](https://github.com/ReVanced/revanced-patches/commit/9ba45b6680595d732b47e8fa54bee98b7c7af179))
|
||||
|
||||
# [5.31.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.3...v5.31.0-dev.4) (2025-07-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Hide ads:** Hide new type of general ad ([#5345](https://github.com/ReVanced/revanced-patches/issues/5345)) ([f23716b](https://github.com/ReVanced/revanced-patches/commit/f23716bc52c03d8d0271bfe38b19247e6de7021d))
|
||||
|
||||
# [5.31.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.2...v5.31.0-dev.3) (2025-07-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify:** Remove other ads type from the browse screen ([#5333](https://github.com/ReVanced/revanced-patches/issues/5333)) ([c68533a](https://github.com/ReVanced/revanced-patches/commit/c68533a33a399ca813380b5c9ccddce434ceadf8))
|
||||
|
||||
# [5.31.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.31.0-dev.1...v5.31.0-dev.2) (2025-07-04)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Hide layout components:** Add `Hide channel links preview` and `Hide 'Visit Community' button` in channel page ([#5320](https://github.com/ReVanced/revanced-patches/issues/5320)) ([9d9cce3](https://github.com/ReVanced/revanced-patches/commit/9d9cce3ec5550b2fea88df745f1700bb2f17eb9e))
|
||||
|
||||
# [5.31.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.30.0...v5.31.0-dev.1) (2025-07-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **SoundCloud:** Constrain patches to last working app target ([e8ea89f](https://github.com/ReVanced/revanced-patches/commit/e8ea89fc1a3f0531a0af7529663f13328aca4fe7))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Lightroom:** Constrain patches to last working version ([#5335](https://github.com/ReVanced/revanced-patches/issues/5335)) ([32ce70e](https://github.com/ReVanced/revanced-patches/commit/32ce70e994f354b9a569376bb89eb38b3190e6f9))
|
||||
|
||||
# [5.30.0](https://github.com/ReVanced/revanced-patches/compare/v5.29.0...v5.30.0) (2025-07-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Spoof client patch:** Block sending bad integrity verdicts to potentially fix account suspensions ([#5274](https://github.com/ReVanced/revanced-patches/issues/5274)) ([f7b574c](https://github.com/ReVanced/revanced-patches/commit/f7b574ca79c5a616cfe33a3fc75bd8cf68571f7d))
|
||||
* **Spotify - Spoof client:** Handle remaining edge cases to obtain a session ([#5285](https://github.com/ReVanced/revanced-patches/issues/5285)) ([2bb2d59](https://github.com/ReVanced/revanced-patches/commit/2bb2d594936093774e232ad8b274c81e805c5bf6))
|
||||
* **Spotify - Spoof client:** Skip native login screens ([#5228](https://github.com/ReVanced/revanced-patches/issues/5228)) ([c5ebc63](https://github.com/ReVanced/revanced-patches/commit/c5ebc6336ed17cc9cc7f1348282a2aa3c173fb95))
|
||||
* **Spotify - Unlock Premium:** Fix hiding context menu ads on newest versions ([#5318](https://github.com/ReVanced/revanced-patches/issues/5318)) ([73fd832](https://github.com/ReVanced/revanced-patches/commit/73fd83222e089a5fd6e1526e5c12f5a1e9893a35))
|
||||
* **Spotify - Unlock Premium:** Fix hiding context menu ads on newest versions by simplifying fingerprint ([#5318](https://github.com/ReVanced/revanced-patches/issues/5318)) ([dad0ff4](https://github.com/ReVanced/revanced-patches/commit/dad0ff4fba74c2b020fbde6c6d5eb66e10e6f1f7))
|
||||
* **Spotify:** Add `Spoof client` patch to fix various issues by using a web platform access token ([#5173](https://github.com/ReVanced/revanced-patches/issues/5173)) ([b7b75bb](https://github.com/ReVanced/revanced-patches/commit/b7b75bb9d8d5fd505121e752b8a20e61ff28d1b2))
|
||||
* **YouTube - Hide ads:** Fix "Hide shopping links" ([#5267](https://github.com/ReVanced/revanced-patches/issues/5267)) ([2fe4607](https://github.com/ReVanced/revanced-patches/commit/2fe46079d78ab98076d3a4cdf01c8bfdbdea45c0))
|
||||
* **YouTube - Hide layout components:** Fix "Hide AI Comments summary" in Comments ([#5284](https://github.com/ReVanced/revanced-patches/issues/5284)) ([d42370e](https://github.com/ReVanced/revanced-patches/commit/d42370ef71f4608abc64b6ef4a3fb0c5bd5e3eb6))
|
||||
* **YouTube - Hide layout components:** Fix "Hide AI-generated video summary" in video description ([#5269](https://github.com/ReVanced/revanced-patches/issues/5269)) ([5203da0](https://github.com/ReVanced/revanced-patches/commit/5203da0ae58e467657bc915ab0af5b9904c4f492))
|
||||
* **YouTube - Hide layout components:** Fix "Hide ticket shelf" hiding unwanted components ([#5292](https://github.com/ReVanced/revanced-patches/issues/5292)) ([d6b1f7a](https://github.com/ReVanced/revanced-patches/commit/d6b1f7a6e18b1c0eb4374c5e22a1c746dcb3a522))
|
||||
* **YouTube - Hide Shorts components:** Fix hiding of untoggled components ([#5266](https://github.com/ReVanced/revanced-patches/issues/5266)) ([008e192](https://github.com/ReVanced/revanced-patches/commit/008e192779a8658e894d5718baa732717bf96e40))
|
||||
* **YouTube - SponsorBlock:** Do not show undo skip if PiP is active ([#5314](https://github.com/ReVanced/revanced-patches/issues/5314)) ([18af8de](https://github.com/ReVanced/revanced-patches/commit/18af8dead2c6c7f0d99cd75b69948240e0bcd12c))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Spotify:** Remove ads section from browse ([#5193](https://github.com/ReVanced/revanced-patches/issues/5193)) ([ebd4dcc](https://github.com/ReVanced/revanced-patches/commit/ebd4dccf12a5fbd31d2d53c19a792c389a4641d7))
|
||||
* **YouTube - Hide layout components:** Add `Hide in history` option to filter bar ([#5271](https://github.com/ReVanced/revanced-patches/issues/5271)) ([ba242a3](https://github.com/ReVanced/revanced-patches/commit/ba242a36b040b82e84870e5e240734637125a472))
|
||||
* **YouTube - SponsorBlock:** Add "Undo automatic skip toast" ([#5277](https://github.com/ReVanced/revanced-patches/issues/5277)) ([7fa169a](https://github.com/ReVanced/revanced-patches/commit/7fa169ae262c880019c5a069a2d6bdc7f94885f1))
|
||||
|
||||
# [5.30.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.30.0-dev.9...v5.30.0-dev.10) (2025-07-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Unlock Premium:** Fix hiding context menu ads on newest versions by simplifying fingerprint ([#5318](https://github.com/ReVanced/revanced-patches/issues/5318)) ([dad0ff4](https://github.com/ReVanced/revanced-patches/commit/dad0ff4fba74c2b020fbde6c6d5eb66e10e6f1f7))
|
||||
|
||||
# [5.30.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.30.0-dev.8...v5.30.0-dev.9) (2025-07-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Unlock Premium:** Fix hiding context menu ads on newest versions ([#5318](https://github.com/ReVanced/revanced-patches/issues/5318)) ([73fd832](https://github.com/ReVanced/revanced-patches/commit/73fd83222e089a5fd6e1526e5c12f5a1e9893a35))
|
||||
|
||||
# [5.30.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.30.0-dev.7...v5.30.0-dev.8) (2025-07-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Spoof client:** Skip native login screens ([#5228](https://github.com/ReVanced/revanced-patches/issues/5228)) ([c5ebc63](https://github.com/ReVanced/revanced-patches/commit/c5ebc6336ed17cc9cc7f1348282a2aa3c173fb95))
|
||||
|
||||
# [5.30.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.30.0-dev.6...v5.30.0-dev.7) (2025-07-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Spoof client:** Handle remaining edge cases to obtain a session ([#5285](https://github.com/ReVanced/revanced-patches/issues/5285)) ([2bb2d59](https://github.com/ReVanced/revanced-patches/commit/2bb2d594936093774e232ad8b274c81e805c5bf6))
|
||||
|
||||
# [5.30.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.30.0-dev.5...v5.30.0-dev.6) (2025-07-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - SponsorBlock:** Do not show undo skip if PiP is active ([#5314](https://github.com/ReVanced/revanced-patches/issues/5314)) ([18af8de](https://github.com/ReVanced/revanced-patches/commit/18af8dead2c6c7f0d99cd75b69948240e0bcd12c))
|
||||
|
||||
# [5.30.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.30.0-dev.4...v5.30.0-dev.5) (2025-06-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Hide layout components:** Fix "Hide ticket shelf" hiding unwanted components ([#5292](https://github.com/ReVanced/revanced-patches/issues/5292)) ([d6b1f7a](https://github.com/ReVanced/revanced-patches/commit/d6b1f7a6e18b1c0eb4374c5e22a1c746dcb3a522))
|
||||
|
||||
# [5.30.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.30.0-dev.3...v5.30.0-dev.4) (2025-06-30)
|
||||
|
||||
|
||||
|
||||
4
extensions/cricbuzz/build.gradle.kts
Normal file
4
extensions/cricbuzz/build.gradle.kts
Normal file
@@ -0,0 +1,4 @@
|
||||
dependencies {
|
||||
compileOnly(project(":extensions:shared:library"))
|
||||
compileOnly(project(":extensions:cricbuzz:stub"))
|
||||
}
|
||||
1
extensions/cricbuzz/src/main/AndroidManifest.xml
Normal file
1
extensions/cricbuzz/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1 @@
|
||||
<manifest/>
|
||||
@@ -0,0 +1,28 @@
|
||||
package app.revanced.extension.cricbuzz.ads;
|
||||
|
||||
import com.cricbuzz.android.data.rest.model.BottomBar;
|
||||
import java.util.List;
|
||||
import java.util.Iterator;
|
||||
import app.revanced.extension.shared.Logger;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class HideAdsPatch {
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static void filterCb11(List<BottomBar> list) {
|
||||
try {
|
||||
Iterator<BottomBar> iterator = list.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
BottomBar bar = iterator.next();
|
||||
if (bar.getName().equals("Cricbuzz11")) {
|
||||
Logger.printInfo(() -> "Removing Cricbuzz11 bar: " + bar);
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "filterCb11 failure", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
17
extensions/cricbuzz/stub/build.gradle.kts
Normal file
17
extensions/cricbuzz/stub/build.gradle.kts
Normal file
@@ -0,0 +1,17 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.library)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "app.revanced.extension"
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 21
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
}
|
||||
}
|
||||
1
extensions/cricbuzz/stub/src/main/AndroidManifest.xml
Normal file
1
extensions/cricbuzz/stub/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1 @@
|
||||
<manifest/>
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.cricbuzz.android.data.rest.model;
|
||||
|
||||
public final class BottomBar {
|
||||
public final String getName() { throw new UnsupportedOperationException(); }
|
||||
}
|
||||
@@ -7,7 +7,6 @@ dependencies {
|
||||
compileOnly(project(":extensions:spotify:stub"))
|
||||
compileOnly(libs.annotation)
|
||||
|
||||
implementation(project(":extensions:spotify:utils"))
|
||||
implementation(libs.nanohttpd)
|
||||
implementation(libs.protobuf.javalite)
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package app.revanced.extension.spotify.layout.hide.createbutton;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.spotify.shared.ComponentFilters.*;
|
||||
import app.revanced.extension.spotify.shared.ComponentFilters.ComponentFilter;
|
||||
import app.revanced.extension.spotify.shared.ComponentFilters.ResourceIdComponentFilter;
|
||||
import app.revanced.extension.spotify.shared.ComponentFilters.StringComponentFilter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class HideCreateButtonPatch {
|
||||
@@ -53,7 +55,9 @@ public final class HideCreateButtonPatch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
} catch (Throwable ex) {
|
||||
// Catch Throwable as calling toString can cause crashes with wrongfully generated code that throws
|
||||
// NoSuchMethod errors.
|
||||
Logger.printException(() -> "returnNullIfIsCreateButton failure", ex);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
package app.revanced.extension.spotify.misc.fix;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.spotify.misc.fix.clienttoken.data.v0.ClienttokenHttp.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
import static app.revanced.extension.spotify.misc.fix.Constants.*;
|
||||
|
||||
class ClientTokenService {
|
||||
private static final String IOS_CLIENT_ID = "58bd3c95768941ea9eb4350aaa033eb3";
|
||||
private static final String IOS_USER_AGENT;
|
||||
|
||||
static {
|
||||
String clientVersion = getClientVersion();
|
||||
int commitHashIndex = clientVersion.lastIndexOf(".");
|
||||
String version = clientVersion.substring(
|
||||
clientVersion.indexOf("-") + 1,
|
||||
clientVersion.lastIndexOf(".", commitHashIndex - 1)
|
||||
);
|
||||
|
||||
IOS_USER_AGENT = "Spotify/" + version + " iOS/" + getSystemVersion() + " (" + getHardwareMachine() + ")";
|
||||
}
|
||||
|
||||
private static final ConnectivitySdkData.Builder IOS_CONNECTIVITY_SDK_DATA =
|
||||
ConnectivitySdkData.newBuilder()
|
||||
.setPlatformSpecificData(PlatformSpecificData.newBuilder()
|
||||
.setIos(NativeIOSData.newBuilder()
|
||||
.setHwMachine(getHardwareMachine())
|
||||
.setSystemVersion(getSystemVersion())
|
||||
)
|
||||
);
|
||||
|
||||
private static final ClientDataRequest.Builder IOS_CLIENT_DATA_REQUEST =
|
||||
ClientDataRequest.newBuilder()
|
||||
.setClientVersion(getClientVersion())
|
||||
.setClientId(IOS_CLIENT_ID);
|
||||
|
||||
private static final ClientTokenRequest.Builder IOS_CLIENT_TOKEN_REQUEST =
|
||||
ClientTokenRequest.newBuilder()
|
||||
.setRequestType(ClientTokenRequestType.REQUEST_CLIENT_DATA_REQUEST);
|
||||
|
||||
|
||||
@NonNull
|
||||
static ClientTokenRequest newIOSClientTokenRequest(String deviceId) {
|
||||
Logger.printInfo(() -> "Creating new iOS client token request with device ID: " + deviceId);
|
||||
|
||||
return IOS_CLIENT_TOKEN_REQUEST
|
||||
.setClientData(IOS_CLIENT_DATA_REQUEST
|
||||
.setConnectivitySdkData(IOS_CONNECTIVITY_SDK_DATA
|
||||
.setDeviceId(deviceId)
|
||||
)
|
||||
)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static ClientTokenResponse getClientTokenResponse(@NonNull ClientTokenRequest request) {
|
||||
if (request.getRequestType() == ClientTokenRequestType.REQUEST_CLIENT_DATA_REQUEST) {
|
||||
Logger.printInfo(() -> "Requesting iOS client token");
|
||||
String deviceId = request.getClientData().getConnectivitySdkData().getDeviceId();
|
||||
request = newIOSClientTokenRequest(deviceId);
|
||||
}
|
||||
|
||||
ClientTokenResponse response;
|
||||
try {
|
||||
response = requestClientToken(request);
|
||||
} catch (IOException ex) {
|
||||
Logger.printException(() -> "Failed to handle request", ex);
|
||||
return null;
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static ClientTokenResponse requestClientToken(@NonNull ClientTokenRequest request) throws IOException {
|
||||
HttpURLConnection urlConnection = (HttpURLConnection) new URL(CLIENT_TOKEN_API_URL).openConnection();
|
||||
urlConnection.setRequestMethod("POST");
|
||||
urlConnection.setDoOutput(true);
|
||||
urlConnection.setRequestProperty("Content-Type", "application/x-protobuf");
|
||||
urlConnection.setRequestProperty("Accept", "application/x-protobuf");
|
||||
urlConnection.setRequestProperty("User-Agent", IOS_USER_AGENT);
|
||||
|
||||
byte[] requestArray = request.toByteArray();
|
||||
urlConnection.setFixedLengthStreamingMode(requestArray.length);
|
||||
urlConnection.getOutputStream().write(requestArray);
|
||||
|
||||
try (InputStream inputStream = urlConnection.getInputStream()) {
|
||||
return ClientTokenResponse.parseFrom(inputStream);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static ClientTokenResponse serveClientTokenRequest(@NonNull InputStream inputStream) {
|
||||
ClientTokenRequest request;
|
||||
try {
|
||||
request = ClientTokenRequest.parseFrom(inputStream);
|
||||
} catch (IOException ex) {
|
||||
Logger.printException(() -> "Failed to parse request from input stream", ex);
|
||||
return null;
|
||||
}
|
||||
Logger.printInfo(() -> "Request of type: " + request.getRequestType());
|
||||
|
||||
ClientTokenResponse response = getClientTokenResponse(request);
|
||||
if (response != null) Logger.printInfo(() -> "Response of type: " + response.getResponseType());
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package app.revanced.extension.spotify.misc.fix;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
class Constants {
|
||||
static final String CLIENT_TOKEN_API_PATH = "/v1/clienttoken";
|
||||
static final String CLIENT_TOKEN_API_URL = "https://clienttoken.spotify.com" + CLIENT_TOKEN_API_PATH;
|
||||
|
||||
// Modified by a patch. Do not touch.
|
||||
@NonNull
|
||||
static String getClientVersion() {
|
||||
return "";
|
||||
}
|
||||
|
||||
// Modified by a patch. Do not touch.
|
||||
@NonNull
|
||||
static String getSystemVersion() {
|
||||
return "";
|
||||
}
|
||||
|
||||
// Modified by a patch. Do not touch.
|
||||
@NonNull
|
||||
static String getHardwareMachine() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -1,153 +0,0 @@
|
||||
package app.revanced.extension.spotify.misc.fix;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.spotify.login5.v4.proto.Login5.*;
|
||||
import com.google.protobuf.ByteString;
|
||||
import com.google.protobuf.MessageLite;
|
||||
import fi.iki.elonen.NanoHTTPD;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.FilterInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Objects;
|
||||
|
||||
import static fi.iki.elonen.NanoHTTPD.Response.Status.INTERNAL_ERROR;
|
||||
|
||||
class LoginRequestListener extends NanoHTTPD {
|
||||
LoginRequestListener(int port) {
|
||||
super(port);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Response serve(IHTTPSession request) {
|
||||
Logger.printInfo(() -> "Serving request for URI: " + request.getUri());
|
||||
|
||||
InputStream requestBodyInputStream = getRequestBodyInputStream(request);
|
||||
|
||||
LoginRequest loginRequest;
|
||||
try {
|
||||
loginRequest = LoginRequest.parseFrom(requestBodyInputStream);
|
||||
} catch (IOException e) {
|
||||
Logger.printException(() -> "Failed to parse LoginRequest", e);
|
||||
return newResponse(INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
MessageLite loginResponse;
|
||||
|
||||
// A request may be made concurrently by Spotify,
|
||||
// however a webview can only handle one request at a time due to singleton cookie manager.
|
||||
// Therefore, synchronize to ensure that only one webview handles the request at a time.
|
||||
synchronized (this) {
|
||||
loginResponse = getLoginResponse(loginRequest);
|
||||
}
|
||||
|
||||
if (loginResponse != null) {
|
||||
return newResponse(Response.Status.OK, loginResponse);
|
||||
}
|
||||
|
||||
return newResponse(INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
private static LoginResponse getLoginResponse(@NonNull LoginRequest loginRequest) {
|
||||
Session session;
|
||||
|
||||
boolean isInitialLogin = !loginRequest.hasStoredCredential();
|
||||
if (isInitialLogin) {
|
||||
Logger.printInfo(() -> "Received request for initial login");
|
||||
session = WebApp.currentSession; // Session obtained from WebApp.login.
|
||||
} else {
|
||||
Logger.printInfo(() -> "Received request to restore saved session");
|
||||
session = Session.read(loginRequest.getStoredCredential().getUsername());
|
||||
}
|
||||
|
||||
return toLoginResponse(session, isInitialLogin);
|
||||
}
|
||||
|
||||
|
||||
private static LoginResponse toLoginResponse(Session session, boolean isInitialLogin) {
|
||||
LoginResponse.Builder builder = LoginResponse.newBuilder();
|
||||
|
||||
if (session == null) {
|
||||
if (isInitialLogin) {
|
||||
Logger.printInfo(() -> "Session is null, returning try again later error for initial login");
|
||||
builder.setError(LoginError.TRY_AGAIN_LATER);
|
||||
} else {
|
||||
Logger.printInfo(() -> "Session is null, returning invalid credentials error for stored credential login");
|
||||
builder.setError(LoginError.INVALID_CREDENTIALS);
|
||||
}
|
||||
} else if (session.username == null) {
|
||||
Logger.printInfo(() -> "Session username is null, returning invalid credentials error");
|
||||
builder.setError(LoginError.INVALID_CREDENTIALS);
|
||||
} else if (session.accessTokenExpired()) {
|
||||
Logger.printInfo(() -> "Access token has expired, renewing session");
|
||||
WebApp.renewSession(session.cookies);
|
||||
return toLoginResponse(WebApp.currentSession, isInitialLogin);
|
||||
} else {
|
||||
session.save();
|
||||
Logger.printInfo(() -> "Returning session for username: " + session.username);
|
||||
builder.setOk(LoginOk.newBuilder()
|
||||
.setUsername(session.username)
|
||||
.setAccessToken(session.accessToken)
|
||||
.setStoredCredential(ByteString.fromHex("00")) // Placeholder, as it cannot be null or empty.
|
||||
.setAccessTokenExpiresIn(session.accessTokenExpiresInSeconds())
|
||||
.build());
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static InputStream limitedInputStream(InputStream inputStream, long contentLength) {
|
||||
return new FilterInputStream(inputStream) {
|
||||
private long remaining = contentLength;
|
||||
|
||||
@Override
|
||||
public int read() throws IOException {
|
||||
if (remaining <= 0) return -1;
|
||||
int result = super.read();
|
||||
if (result != -1) remaining--;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read(byte[] b, int off, int len) throws IOException {
|
||||
if (remaining <= 0) return -1;
|
||||
len = (int) Math.min(len, remaining);
|
||||
int result = super.read(b, off, len);
|
||||
if (result != -1) remaining -= result;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static InputStream getRequestBodyInputStream(@NonNull IHTTPSession request) {
|
||||
long requestContentLength =
|
||||
Long.parseLong(Objects.requireNonNull(request.getHeaders().get("content-length")));
|
||||
return limitedInputStream(request.getInputStream(), requestContentLength);
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("SameParameterValue")
|
||||
@NonNull
|
||||
private static Response newResponse(Response.Status status) {
|
||||
return newResponse(status, null);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static Response newResponse(Response.IStatus status, MessageLite messageLite) {
|
||||
if (messageLite == null) {
|
||||
return newFixedLengthResponse(status, "application/x-protobuf", null);
|
||||
}
|
||||
|
||||
byte[] messageBytes = messageLite.toByteArray();
|
||||
InputStream stream = new ByteArrayInputStream(messageBytes);
|
||||
return newFixedLengthResponse(status, "application/x-protobuf", stream, messageBytes.length);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package app.revanced.extension.spotify.misc.fix;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.spotify.misc.fix.clienttoken.data.v0.ClienttokenHttp.ClientTokenResponse;
|
||||
import com.google.protobuf.MessageLite;
|
||||
import fi.iki.elonen.NanoHTTPD;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.FilterInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Objects;
|
||||
|
||||
import static app.revanced.extension.spotify.misc.fix.ClientTokenService.serveClientTokenRequest;
|
||||
import static app.revanced.extension.spotify.misc.fix.Constants.CLIENT_TOKEN_API_PATH;
|
||||
import static fi.iki.elonen.NanoHTTPD.Response.Status.INTERNAL_ERROR;
|
||||
|
||||
class RequestListener extends NanoHTTPD {
|
||||
RequestListener(int port) {
|
||||
super(port);
|
||||
|
||||
try {
|
||||
start();
|
||||
} catch (IOException ex) {
|
||||
Logger.printException(() -> "Failed to start request listener on port " + port, ex);
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Response serve(@NonNull IHTTPSession session) {
|
||||
String uri = session.getUri();
|
||||
if (!uri.equals(CLIENT_TOKEN_API_PATH)) return INTERNAL_ERROR_RESPONSE;
|
||||
|
||||
Logger.printInfo(() -> "Serving request for URI: " + uri);
|
||||
|
||||
ClientTokenResponse response = serveClientTokenRequest(getInputStream(session));
|
||||
if (response != null) return newResponse(Response.Status.OK, response);
|
||||
|
||||
Logger.printException(() -> "Failed to serve client token request");
|
||||
return INTERNAL_ERROR_RESPONSE;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static InputStream newLimitedInputStream(InputStream inputStream, long contentLength) {
|
||||
return new FilterInputStream(inputStream) {
|
||||
private long remaining = contentLength;
|
||||
|
||||
@Override
|
||||
public int read() throws IOException {
|
||||
if (remaining <= 0) return -1;
|
||||
int result = super.read();
|
||||
if (result != -1) remaining--;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read(byte[] b, int off, int len) throws IOException {
|
||||
if (remaining <= 0) return -1;
|
||||
len = (int) Math.min(len, remaining);
|
||||
int result = super.read(b, off, len);
|
||||
if (result != -1) remaining -= result;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static InputStream getInputStream(@NonNull IHTTPSession session) {
|
||||
long requestContentLength = Long.parseLong(Objects.requireNonNull(session.getHeaders().get("content-length")));
|
||||
return newLimitedInputStream(session.getInputStream(), requestContentLength);
|
||||
}
|
||||
|
||||
private static final Response INTERNAL_ERROR_RESPONSE = newResponse(INTERNAL_ERROR);
|
||||
|
||||
@SuppressWarnings("SameParameterValue")
|
||||
@NonNull
|
||||
private static Response newResponse(Response.Status status) {
|
||||
return newResponse(status, null);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static Response newResponse(Response.IStatus status, MessageLite messageLite) {
|
||||
if (messageLite == null) {
|
||||
return newFixedLengthResponse(status, "application/x-protobuf", null);
|
||||
}
|
||||
|
||||
byte[] messageBytes = messageLite.toByteArray();
|
||||
InputStream stream = new ByteArrayInputStream(messageBytes);
|
||||
return newFixedLengthResponse(status, "application/x-protobuf", stream, messageBytes.length);
|
||||
}
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
package app.revanced.extension.spotify.misc.fix;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import static android.content.Context.MODE_PRIVATE;
|
||||
|
||||
class Session {
|
||||
/**
|
||||
* Username of the account. Null if this session does not have an authenticated user.
|
||||
*/
|
||||
@Nullable
|
||||
final String username;
|
||||
/**
|
||||
* Access token for this session.
|
||||
*/
|
||||
final String accessToken;
|
||||
/**
|
||||
* Session expiration timestamp in milliseconds.
|
||||
*/
|
||||
final Long expirationTime;
|
||||
/**
|
||||
* Authentication cookies for this session.
|
||||
*/
|
||||
final String cookies;
|
||||
|
||||
/**
|
||||
* @param username Username of the account. Empty if this session does not have an authenticated user.
|
||||
* @param accessToken Access token for this session.
|
||||
* @param cookies Authentication cookies for this session.
|
||||
*/
|
||||
Session(@Nullable String username, String accessToken, String cookies) {
|
||||
this(username, accessToken, System.currentTimeMillis() + 60 * 60 * 1000, cookies);
|
||||
}
|
||||
|
||||
private Session(@Nullable String username, String accessToken, long expirationTime, String cookies) {
|
||||
this.username = username;
|
||||
this.accessToken = accessToken;
|
||||
this.expirationTime = expirationTime;
|
||||
this.cookies = cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The number of milliseconds until the access token expires.
|
||||
*/
|
||||
long accessTokenExpiresInMillis() {
|
||||
long currentTime = System.currentTimeMillis();
|
||||
return expirationTime - currentTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The number of seconds until the access token expires.
|
||||
*/
|
||||
int accessTokenExpiresInSeconds() {
|
||||
return (int) accessTokenExpiresInMillis() / 1000;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return True if the access token has expired, false otherwise.
|
||||
*/
|
||||
boolean accessTokenExpired() {
|
||||
return accessTokenExpiresInMillis() <= 0;
|
||||
}
|
||||
|
||||
void save() {
|
||||
Logger.printInfo(() -> "Saving session: " + this);
|
||||
|
||||
SharedPreferences.Editor editor = Utils.getContext().getSharedPreferences("revanced", MODE_PRIVATE).edit();
|
||||
|
||||
String json;
|
||||
try {
|
||||
json = new JSONObject()
|
||||
.put("accessToken", accessToken)
|
||||
.put("expirationTime", expirationTime)
|
||||
.put("cookies", cookies).toString();
|
||||
} catch (JSONException ex) {
|
||||
Logger.printException(() -> "Failed to convert session to stored credential", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
editor.putString("session_" + username, json);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static Session read(String username) {
|
||||
Logger.printInfo(() -> "Reading saved session for username: " + username);
|
||||
|
||||
SharedPreferences sharedPreferences = Utils.getContext().getSharedPreferences("revanced", MODE_PRIVATE);
|
||||
String savedJson = sharedPreferences.getString("session_" + username, null);
|
||||
if (savedJson == null) {
|
||||
Logger.printInfo(() -> "No session found in shared preferences");
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
JSONObject json = new JSONObject(savedJson);
|
||||
String accessToken = json.getString("accessToken");
|
||||
long expirationTime = json.getLong("expirationTime");
|
||||
String cookies = json.getString("cookies");
|
||||
|
||||
return new Session(username, accessToken, expirationTime, cookies);
|
||||
} catch (JSONException ex) {
|
||||
Logger.printException(() -> "Failed to read session from shared preferences", ex);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Session(" +
|
||||
"username=" + username +
|
||||
", accessToken=" + accessToken +
|
||||
", expirationTime=" + expirationTime +
|
||||
", cookies=" + cookies +
|
||||
')';
|
||||
}
|
||||
}
|
||||
@@ -1,42 +1,25 @@
|
||||
package app.revanced.extension.spotify.misc.fix;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import app.revanced.extension.shared.Logger;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class SpoofClientPatch {
|
||||
private static LoginRequestListener listener;
|
||||
private static RequestListener listener;
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
* <br>
|
||||
* Start login server.
|
||||
* Injection point. Launch requests listener server.
|
||||
*/
|
||||
public static void listen(int port) {
|
||||
public synchronized static void launchListener(int port) {
|
||||
if (listener != null) {
|
||||
Logger.printInfo(() -> "Listener already running on port " + port);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
listener = new LoginRequestListener(port);
|
||||
listener.start();
|
||||
Logger.printInfo(() -> "Listener running on port " + port);
|
||||
Logger.printInfo(() -> "Launching listener on port " + port);
|
||||
listener = new RequestListener(port);
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "listen failure", ex);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
* <br>
|
||||
* Launch login web view.
|
||||
*/
|
||||
public static void login(LayoutInflater inflater) {
|
||||
try {
|
||||
WebApp.login(inflater.getContext());
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "login failure", ex);
|
||||
Logger.printException(() -> "launchListener failure", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,267 +0,0 @@
|
||||
package app.revanced.extension.spotify.misc.fix;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Build;
|
||||
import android.view.*;
|
||||
import android.webkit.*;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.spotify.UserAgent;
|
||||
|
||||
class WebApp {
|
||||
private static final String OPEN_SPOTIFY_COM = "open.spotify.com";
|
||||
private static final String OPEN_SPOTIFY_COM_URL = "https://" + OPEN_SPOTIFY_COM;
|
||||
private static final String OPEN_SPOTIFY_COM_PREFERENCES_URL = OPEN_SPOTIFY_COM_URL + "/preferences";
|
||||
private static final String ACCOUNTS_SPOTIFY_COM_LOGIN_URL = "https://accounts.spotify.com/login?continue=" +
|
||||
"https%3A%2F%2Fopen.spotify.com%2Fpreferences";
|
||||
|
||||
private static final int GET_SESSION_TIMEOUT_SECONDS = 10;
|
||||
private static final String JAVASCRIPT_INTERFACE_NAME = "androidInterface";
|
||||
private static final String USER_AGENT = getWebUserAgent();
|
||||
|
||||
/**
|
||||
* Current webview in use. Any use of the object must be done on the main thread.
|
||||
*/
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private static volatile WebView currentWebView;
|
||||
|
||||
/**
|
||||
* A session obtained from the webview after logging in or renewing the session.
|
||||
*/
|
||||
@Nullable
|
||||
static volatile Session currentSession;
|
||||
|
||||
static void login(Context context) {
|
||||
Logger.printInfo(() -> "Starting login");
|
||||
|
||||
Dialog dialog = new Dialog(context, android.R.style.Theme_Black_NoTitleBar_Fullscreen);
|
||||
|
||||
// Ensure that the keyboard does not cover the webview content.
|
||||
Window window = dialog.getWindow();
|
||||
//noinspection StatementWithEmptyBody
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
window.getDecorView().setOnApplyWindowInsetsListener((v, insets) -> {
|
||||
v.setPadding(0, 0, 0, insets.getInsets(WindowInsets.Type.ime()).bottom);
|
||||
|
||||
return WindowInsets.CONSUMED;
|
||||
});
|
||||
} else {
|
||||
// TODO: Implement for lower Android versions.
|
||||
}
|
||||
|
||||
newWebView(
|
||||
// Can't use Utils.getContext() here, because autofill won't work.
|
||||
// See https://stackoverflow.com/a/79182053/11213244.
|
||||
context,
|
||||
new WebViewCallback() {
|
||||
@Override
|
||||
void onInitialized(WebView webView) {
|
||||
// Ensure that cookies are cleared before loading the login page.
|
||||
CookieManager.getInstance().removeAllCookies((anyRemoved) -> {
|
||||
Logger.printInfo(() -> "Loading URL: " + ACCOUNTS_SPOTIFY_COM_LOGIN_URL);
|
||||
webView.loadUrl(ACCOUNTS_SPOTIFY_COM_LOGIN_URL);
|
||||
});
|
||||
|
||||
dialog.setCancelable(false);
|
||||
dialog.setContentView(webView);
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
void onLoggedIn(String cookies) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
void onReceivedSession(WebView webView, Session session) {
|
||||
Logger.printInfo(() -> "Received session from login: " + session);
|
||||
currentSession = session;
|
||||
currentWebView = null;
|
||||
webView.stopLoading();
|
||||
webView.destroy();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
static void renewSession(String cookies) {
|
||||
Logger.printInfo(() -> "Renewing session with cookies: " + cookies);
|
||||
|
||||
CountDownLatch getSessionLatch = new CountDownLatch(1);
|
||||
|
||||
newWebView(
|
||||
Utils.getContext(),
|
||||
new WebViewCallback() {
|
||||
@Override
|
||||
public void onInitialized(WebView webView) {
|
||||
Logger.printInfo(() -> "Loading URL: " + OPEN_SPOTIFY_COM_PREFERENCES_URL +
|
||||
" with cookies: " + cookies);
|
||||
setCookies(cookies);
|
||||
webView.loadUrl(OPEN_SPOTIFY_COM_PREFERENCES_URL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReceivedSession(WebView webView, Session session) {
|
||||
Logger.printInfo(() -> "Received session: " + session);
|
||||
currentSession = session;
|
||||
getSessionLatch.countDown();
|
||||
currentWebView = null;
|
||||
webView.stopLoading();
|
||||
webView.destroy();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
try {
|
||||
final boolean isAcquired = getSessionLatch.await(GET_SESSION_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||
if (!isAcquired) {
|
||||
Logger.printException(() -> "Failed to retrieve session within " + GET_SESSION_TIMEOUT_SECONDS + " seconds");
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
Logger.printException(() -> "Interrupted while waiting to retrieve session", e);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
|
||||
// Cleanup.
|
||||
currentWebView = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* All methods are called on the main thread.
|
||||
*/
|
||||
abstract static class WebViewCallback {
|
||||
void onInitialized(WebView webView) {
|
||||
}
|
||||
|
||||
void onLoggedIn(String cookies) {
|
||||
}
|
||||
|
||||
void onReceivedSession(WebView webView, Session session) {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
private static void newWebView(
|
||||
Context context,
|
||||
WebViewCallback webViewCallback
|
||||
) {
|
||||
Utils.runOnMainThreadNowOrLater(() -> {
|
||||
WebView webView = currentWebView;
|
||||
if (webView != null) {
|
||||
// Old webview is still hanging around.
|
||||
// Could happen if the network request failed and thus no callback is made.
|
||||
// But in practice this never happens.
|
||||
Logger.printException(() -> "Cleaning up prior webview");
|
||||
webView.stopLoading();
|
||||
webView.destroy();
|
||||
}
|
||||
|
||||
webView = new WebView(context);
|
||||
WebSettings settings = webView.getSettings();
|
||||
settings.setDomStorageEnabled(true);
|
||||
settings.setJavaScriptEnabled(true);
|
||||
settings.setUserAgentString(USER_AGENT);
|
||||
// WebViewClient is always called off the main thread,
|
||||
// but callback interface methods are called on the main thread.
|
||||
webView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
|
||||
if (OPEN_SPOTIFY_COM.equals(request.getUrl().getHost())) {
|
||||
Utils.runOnMainThread(() -> webViewCallback.onLoggedIn(getCurrentCookies()));
|
||||
}
|
||||
|
||||
return super.shouldInterceptRequest(view, request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
||||
Logger.printInfo(() -> "Page started loading: " + url);
|
||||
|
||||
if (!url.startsWith(OPEN_SPOTIFY_COM_URL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Logger.printInfo(() -> "Evaluating script to get session on url: " + url);
|
||||
String getSessionScript = "Object.defineProperty(Object.prototype, \"_username\", {" +
|
||||
" configurable: true," +
|
||||
" set(username) {" +
|
||||
" accessToken = this._builder?.accessToken;" +
|
||||
" if (accessToken) {" +
|
||||
" " + JAVASCRIPT_INTERFACE_NAME + ".getSession(username, accessToken);" +
|
||||
" delete Object.prototype._username;" +
|
||||
" }" +
|
||||
" " +
|
||||
" Object.defineProperty(this, \"_username\", {" +
|
||||
" configurable: true," +
|
||||
" enumerable: true," +
|
||||
" writable: true," +
|
||||
" value: username" +
|
||||
" })" +
|
||||
" " +
|
||||
" }" +
|
||||
"});";
|
||||
|
||||
view.evaluateJavascript(getSessionScript, null);
|
||||
}
|
||||
});
|
||||
|
||||
final WebView callbackWebView = webView;
|
||||
webView.addJavascriptInterface(new Object() {
|
||||
@SuppressWarnings("unused")
|
||||
@JavascriptInterface
|
||||
public void getSession(String username, String accessToken) {
|
||||
Session session = new Session(username, accessToken, getCurrentCookies());
|
||||
Utils.runOnMainThread(() -> webViewCallback.onReceivedSession(callbackWebView, session));
|
||||
}
|
||||
}, JAVASCRIPT_INTERFACE_NAME);
|
||||
|
||||
currentWebView = webView;
|
||||
|
||||
CookieManager.getInstance().removeAllCookies((anyRemoved) -> {
|
||||
Logger.printInfo(() -> "WebView initialized with user agent: " + USER_AGENT);
|
||||
webViewCallback.onInitialized(currentWebView);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private static String getWebUserAgent() {
|
||||
String userAgentString = WebSettings.getDefaultUserAgent(Utils.getContext());
|
||||
try {
|
||||
return new UserAgent(userAgentString)
|
||||
.withCommentReplaced("Android", "Windows NT 10.0; Win64; x64")
|
||||
.withoutProduct("Mobile")
|
||||
.toString();
|
||||
} catch (IllegalArgumentException e) {
|
||||
userAgentString = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " +
|
||||
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edge/137.0.0.0";
|
||||
String fallback = userAgentString;
|
||||
Logger.printException(() -> "Failed to get user agent, falling back to " + fallback, e);
|
||||
}
|
||||
|
||||
return userAgentString;
|
||||
}
|
||||
|
||||
private static String getCurrentCookies() {
|
||||
CookieManager cookieManager = CookieManager.getInstance();
|
||||
return cookieManager.getCookie(OPEN_SPOTIFY_COM_URL);
|
||||
}
|
||||
|
||||
private static void setCookies(@NonNull String cookies) {
|
||||
CookieManager cookieManager = CookieManager.getInstance();
|
||||
|
||||
String[] cookiesList = cookies.split(";");
|
||||
for (String cookie : cookiesList) {
|
||||
cookieManager.setCookie(OPEN_SPOTIFY_COM_URL, cookie);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package spotify.clienttoken.data.v0;
|
||||
|
||||
option optimize_for = LITE_RUNTIME;
|
||||
option java_package = "app.revanced.extension.spotify.misc.fix.clienttoken.data.v0";
|
||||
|
||||
message ClientTokenRequest {
|
||||
ClientTokenRequestType request_type = 1;
|
||||
|
||||
oneof request {
|
||||
ClientDataRequest client_data = 2;
|
||||
}
|
||||
}
|
||||
|
||||
enum ClientTokenRequestType {
|
||||
REQUEST_UNKNOWN = 0;
|
||||
REQUEST_CLIENT_DATA_REQUEST = 1;
|
||||
REQUEST_CHALLENGE_ANSWERS_REQUEST = 2;
|
||||
}
|
||||
|
||||
message ClientDataRequest {
|
||||
string client_version = 1;
|
||||
string client_id = 2;
|
||||
|
||||
oneof data {
|
||||
ConnectivitySdkData connectivity_sdk_data = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message ConnectivitySdkData {
|
||||
PlatformSpecificData platform_specific_data = 1;
|
||||
string device_id = 2;
|
||||
}
|
||||
|
||||
message PlatformSpecificData {
|
||||
oneof data {
|
||||
NativeIOSData ios = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message NativeIOSData {
|
||||
int32 user_interface_idiom = 1;
|
||||
bool target_iphone_simulator = 2;
|
||||
string hw_machine = 3;
|
||||
string system_version = 4;
|
||||
string simulator_model_identifier = 5;
|
||||
}
|
||||
|
||||
message ClientTokenResponse {
|
||||
ClientTokenResponseType response_type = 1;
|
||||
|
||||
oneof response {
|
||||
GrantedTokenResponse granted_token = 2;
|
||||
}
|
||||
}
|
||||
|
||||
enum ClientTokenResponseType {
|
||||
RESPONSE_UNKNOWN = 0;
|
||||
RESPONSE_GRANTED_TOKEN_RESPONSE = 1;
|
||||
RESPONSE_CHALLENGES_RESPONSE = 2;
|
||||
}
|
||||
|
||||
message GrantedTokenResponse {
|
||||
string token = 1;
|
||||
int32 expires_after_seconds = 2;
|
||||
int32 refresh_after_seconds = 3;
|
||||
repeated TokenDomain domains = 4;
|
||||
}
|
||||
|
||||
message TokenDomain {
|
||||
string domain = 1;
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package spotify.login5.v4;
|
||||
|
||||
option optimize_for = LITE_RUNTIME;
|
||||
option java_package = "app.revanced.extension.spotify.login5.v4.proto";
|
||||
|
||||
message StoredCredential {
|
||||
string username = 1;
|
||||
bytes data = 2;
|
||||
}
|
||||
|
||||
message LoginRequest {
|
||||
oneof login_method {
|
||||
StoredCredential stored_credential = 100;
|
||||
}
|
||||
}
|
||||
|
||||
message LoginOk {
|
||||
string username = 1;
|
||||
string access_token = 2;
|
||||
bytes stored_credential = 3;
|
||||
int32 access_token_expires_in = 4;
|
||||
}
|
||||
|
||||
message LoginResponse {
|
||||
oneof response {
|
||||
LoginOk ok = 1;
|
||||
LoginError error = 2;
|
||||
}
|
||||
}
|
||||
|
||||
enum LoginError {
|
||||
UNKNOWN_ERROR = 0;
|
||||
INVALID_CREDENTIALS = 1;
|
||||
BAD_REQUEST = 2;
|
||||
UNSUPPORTED_LOGIN_PROTOCOL = 3;
|
||||
TIMEOUT = 4;
|
||||
UNKNOWN_IDENTIFIER = 5;
|
||||
TOO_MANY_ATTEMPTS = 6;
|
||||
INVALID_PHONENUMBER = 7;
|
||||
TRY_AGAIN_LATER = 8;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package app.revanced;
|
||||
|
||||
public interface ContextMenuItemPlaceholder {
|
||||
Object getViewModel();
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
package com.spotify.useraccount.v1;
|
||||
|
||||
/**
|
||||
* Used for target 8.6.98.900. Class is still present in newer app targets.
|
||||
*/
|
||||
public class AccountAttribute {
|
||||
public Object value_;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
plugins {
|
||||
java
|
||||
antlr
|
||||
}
|
||||
|
||||
dependencies {
|
||||
antlr(libs.antlr4)
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
tasks {
|
||||
generateGrammarSource {
|
||||
arguments = listOf("-visitor")
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
grammar UserAgent;
|
||||
|
||||
@header { package app.revanced.extension.spotify; }
|
||||
|
||||
userAgent
|
||||
: product (WS product)* EOF
|
||||
;
|
||||
|
||||
product
|
||||
: name ('/' version)? (WS comment)?
|
||||
;
|
||||
|
||||
name
|
||||
: STRING
|
||||
;
|
||||
|
||||
version
|
||||
: STRING ('.' STRING)*
|
||||
;
|
||||
|
||||
comment
|
||||
: COMMENT
|
||||
;
|
||||
|
||||
COMMENT
|
||||
: '(' ~ ')'* ')'
|
||||
;
|
||||
|
||||
STRING
|
||||
: [a-zA-Z0-9]+
|
||||
;
|
||||
|
||||
WS
|
||||
: [ \r\n]+
|
||||
;
|
||||
@@ -1,60 +0,0 @@
|
||||
package app.revanced.extension.spotify;
|
||||
|
||||
import org.antlr.v4.runtime.CharStream;
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.CommonTokenStream;
|
||||
import org.antlr.v4.runtime.TokenStreamRewriter;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeWalker;
|
||||
|
||||
public class UserAgent {
|
||||
private final UserAgentParser.UserAgentContext tree;
|
||||
private final TokenStreamRewriter rewriter;
|
||||
private final ParseTreeWalker walker;
|
||||
|
||||
public UserAgent(String userAgentString) {
|
||||
CharStream input = CharStreams.fromString(userAgentString);
|
||||
UserAgentLexer lexer = new UserAgentLexer(input);
|
||||
CommonTokenStream tokens = new CommonTokenStream(lexer);
|
||||
|
||||
tree = new UserAgentParser(tokens).userAgent();
|
||||
walker = new ParseTreeWalker();
|
||||
rewriter = new TokenStreamRewriter(tokens);
|
||||
}
|
||||
|
||||
public UserAgent withoutProduct(String name) {
|
||||
walker.walk(new UserAgentBaseListener() {
|
||||
@Override
|
||||
public void exitProduct(UserAgentParser.ProductContext ctx) {
|
||||
if (!ctx.name().getText().contains(name)) return;
|
||||
|
||||
int startIndex = ctx.getStart().getTokenIndex();
|
||||
if (startIndex != 0) startIndex -= 1; // Also remove the preceding whitespace.
|
||||
|
||||
int stopIndex = ctx.getStop().getTokenIndex();
|
||||
|
||||
|
||||
rewriter.delete(startIndex, stopIndex);
|
||||
}
|
||||
}, tree);
|
||||
|
||||
return new UserAgent(rewriter.getText().trim());
|
||||
}
|
||||
|
||||
public UserAgent withCommentReplaced(String containing, String replacement) {
|
||||
walker.walk(new UserAgentBaseListener() {
|
||||
@Override
|
||||
public void exitComment(UserAgentParser.CommentContext ctx) {
|
||||
if (ctx.getText().contains(containing)) {
|
||||
rewriter.replace(ctx.getStart(), ctx.getStop(), "(" + replacement + ")");
|
||||
}
|
||||
}
|
||||
}, tree);
|
||||
|
||||
return new UserAgent(rewriter.getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return rewriter.getText();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package app.revanced.extension.youtube.patches;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class ChangeHeaderPatch {
|
||||
|
||||
public enum HeaderLogo {
|
||||
DEFAULT(null, null),
|
||||
REGULAR("ytWordmarkHeader", "yt_ringo2_wordmark_header"),
|
||||
PREMIUM("ytPremiumWordmarkHeader", "yt_ringo2_premium_wordmark_header"),
|
||||
REVANCED("revanced_header_logo", "revanced_header_logo"),
|
||||
REVANCED_MINIMAL("revanced_header_logo_minimal", "revanced_header_logo_minimal"),
|
||||
CUSTOM("custom_header", "custom_header");
|
||||
|
||||
@Nullable
|
||||
private final String attributeName;
|
||||
@Nullable
|
||||
private final String drawableName;
|
||||
|
||||
HeaderLogo(@Nullable String attributeName, @Nullable String drawableName) {
|
||||
this.attributeName = attributeName;
|
||||
this.drawableName = drawableName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The attribute id of this header logo, or NULL if the logo should not be replaced.
|
||||
*/
|
||||
@Nullable
|
||||
private Integer getAttributeId() {
|
||||
if (attributeName == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final int identifier = Utils.getResourceIdentifier(attributeName, "attr");
|
||||
if (identifier == 0) {
|
||||
// Identifier is zero if custom header setting was included in imported settings
|
||||
// and a custom image was not included during patching.
|
||||
Logger.printDebug(() -> "Could not find attribute: " + drawableName);
|
||||
Settings.HEADER_LOGO.resetToDefault();
|
||||
return null;
|
||||
}
|
||||
|
||||
return identifier;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Drawable getDrawable() {
|
||||
if (drawableName == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String drawableFullName = drawableName + (Utils.isDarkModeEnabled()
|
||||
? "_dark"
|
||||
: "_light");
|
||||
|
||||
final int identifier = Utils.getResourceIdentifier(drawableFullName, "drawable");
|
||||
if (identifier == 0) {
|
||||
Logger.printDebug(() -> "Could not find drawable: " + drawableFullName);
|
||||
Settings.HEADER_LOGO.resetToDefault();
|
||||
return null;
|
||||
}
|
||||
return Utils.getContext().getDrawable(identifier);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static int getHeaderAttributeId(int original) {
|
||||
return Objects.requireNonNullElse(Settings.HEADER_LOGO.get().getAttributeId(), original);
|
||||
}
|
||||
|
||||
public static Drawable getDrawable(Drawable original) {
|
||||
Drawable logo = Settings.HEADER_LOGO.get().getDrawable();
|
||||
if (logo != null) {
|
||||
return logo;
|
||||
}
|
||||
|
||||
// TODO: If 'Hide Doodles' is enabled, this will force the regular logo regardless
|
||||
// what account the user has. This can be improved the next time a Doodle is
|
||||
// active and the attribute id is passed to this method so the correct
|
||||
// regular/premium logo is returned.
|
||||
logo = HeaderLogo.REGULAR.getDrawable();
|
||||
if (logo != null) {
|
||||
return logo;
|
||||
}
|
||||
|
||||
// Should never happen.
|
||||
Logger.printException(() -> "Could not find regular header logo resource");
|
||||
return original;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package app.revanced.extension.youtube.patches;
|
||||
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class DisableChapterSkipDoubleTapPatch {
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*
|
||||
* @return If "should skip to chapter start" flag is set.
|
||||
*/
|
||||
public static boolean disableDoubleTapChapters(boolean original) {
|
||||
return original && !Settings.DISABLE_CHAPTER_SKIP_DOUBLE_TAP.get();
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,6 @@ public final class HideRelatedVideoOverlayPatch {
|
||||
* Injection point.
|
||||
*/
|
||||
public static boolean hideRelatedVideoOverlay() {
|
||||
return Settings.HIDE_RELATED_VIDEO_OVERLAY.get();
|
||||
return Settings.HIDE_RELATED_VIDEOS_OVERLAY.get();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,10 +59,11 @@ public final class AnnouncementsPatch {
|
||||
int id = Settings.ANNOUNCEMENT_LAST_ID.defaultValue;
|
||||
try {
|
||||
final var announcementIds = new JSONArray(jsonString);
|
||||
if (announcementIds.length() == 0) return true;
|
||||
|
||||
id = announcementIds.getJSONObject(0).getInt("id");
|
||||
|
||||
} catch (Throwable ex) {
|
||||
Logger.printException(() -> "Failed to parse announcement IDs", ex);
|
||||
Logger.printException(() -> "Failed to parse announcement ID", ex);
|
||||
}
|
||||
|
||||
// Do not show the announcement, if the last announcement id is the same as the current one.
|
||||
|
||||
@@ -10,8 +10,8 @@ import static app.revanced.extension.shared.requests.Route.Method.GET;
|
||||
|
||||
public class AnnouncementsRoutes {
|
||||
private static final String ANNOUNCEMENTS_PROVIDER = "https://api.revanced.app/v4";
|
||||
public static final Route GET_LATEST_ANNOUNCEMENT_IDS = new Route(GET, "/announcements/latest/id?tag=youtube");
|
||||
public static final Route GET_LATEST_ANNOUNCEMENTS = new Route(GET, "/announcements/latest?tag=youtube");
|
||||
public static final Route GET_LATEST_ANNOUNCEMENT_IDS = new Route(GET, "/announcements/latest/id?tag=\uD83C\uDF9E\uFE0F%20YouTube");
|
||||
public static final Route GET_LATEST_ANNOUNCEMENTS = new Route(GET, "/announcements/latest?tag=\uD83C\uDF9E\uFE0F%20YouTube");
|
||||
|
||||
private AnnouncementsRoutes() {
|
||||
}
|
||||
|
||||
@@ -34,10 +34,6 @@ public final class AdsFilter extends Filter {
|
||||
private final StringFilterGroup playerShoppingShelf;
|
||||
private final ByteArrayFilterGroup playerShoppingShelfBuffer;
|
||||
|
||||
private final StringFilterGroup channelProfile;
|
||||
private final ByteArrayFilterGroup visitStoreButton;
|
||||
|
||||
private final StringFilterGroup shoppingLinks;
|
||||
|
||||
public AdsFilter() {
|
||||
exceptions.addPatterns(
|
||||
@@ -91,6 +87,7 @@ public final class AdsFilter extends Filter {
|
||||
"text_image_no_button_layout", // Tablet layout search results.
|
||||
"video_display_button_group_layout",
|
||||
"video_display_carousel_button_group_layout",
|
||||
"video_display_carousel_buttoned_short_dr_layout",
|
||||
"video_display_full_buttoned_short_dr_layout",
|
||||
"video_display_full_layout",
|
||||
"watch_metadata_app_promo"
|
||||
@@ -107,21 +104,19 @@ public final class AdsFilter extends Filter {
|
||||
);
|
||||
|
||||
final var viewProducts = new StringFilterGroup(
|
||||
Settings.HIDE_PRODUCTS_BANNER,
|
||||
Settings.HIDE_VIEW_PRODUCTS_BANNER,
|
||||
"product_item",
|
||||
"products_in_video",
|
||||
"shopping_overlay.eml", // Video player overlay shopping links.
|
||||
"shopping_carousel.eml" // Channel profile shopping shelf.
|
||||
"shopping_overlay.eml" // Video player overlay shopping links.
|
||||
);
|
||||
|
||||
shoppingLinks = new StringFilterGroup(
|
||||
final var shoppingLinks = new StringFilterGroup(
|
||||
Settings.HIDE_SHOPPING_LINKS,
|
||||
"expandable_list",
|
||||
"shopping_description_shelf.eml"
|
||||
);
|
||||
|
||||
playerShoppingShelf = new StringFilterGroup(
|
||||
Settings.HIDE_PLAYER_STORE_SHELF,
|
||||
Settings.HIDE_CREATOR_STORE_SHELF,
|
||||
"horizontal_shelf.eml"
|
||||
);
|
||||
|
||||
@@ -130,17 +125,6 @@ public final class AdsFilter extends Filter {
|
||||
"shopping_item_card_list"
|
||||
);
|
||||
|
||||
channelProfile = new StringFilterGroup(
|
||||
Settings.HIDE_VISIT_STORE_BUTTON,
|
||||
"channel_profile.eml",
|
||||
"page_header.eml"
|
||||
);
|
||||
|
||||
visitStoreButton = new ByteArrayFilterGroup(
|
||||
null,
|
||||
"header_store_button"
|
||||
);
|
||||
|
||||
final var webLinkPanel = new StringFilterGroup(
|
||||
Settings.HIDE_WEB_SEARCH_RESULTS,
|
||||
"web_link_panel"
|
||||
@@ -148,7 +132,8 @@ public final class AdsFilter extends Filter {
|
||||
|
||||
final var merchandise = new StringFilterGroup(
|
||||
Settings.HIDE_MERCHANDISE_BANNERS,
|
||||
"product_carousel"
|
||||
"product_carousel",
|
||||
"shopping_carousel.eml" // Channel profile shopping shelf.
|
||||
);
|
||||
|
||||
final var selfSponsor = new StringFilterGroup(
|
||||
@@ -157,16 +142,15 @@ public final class AdsFilter extends Filter {
|
||||
);
|
||||
|
||||
addPathCallbacks(
|
||||
fullscreenAd,
|
||||
generalAds,
|
||||
merchandise,
|
||||
viewProducts,
|
||||
selfSponsor,
|
||||
fullscreenAd,
|
||||
channelProfile,
|
||||
webLinkPanel,
|
||||
shoppingLinks,
|
||||
movieAds,
|
||||
playerShoppingShelf,
|
||||
movieAds
|
||||
selfSponsor,
|
||||
shoppingLinks,
|
||||
viewProducts,
|
||||
webLinkPanel
|
||||
);
|
||||
}
|
||||
|
||||
@@ -177,11 +161,6 @@ public final class AdsFilter extends Filter {
|
||||
return contentIndex == 0 && playerShoppingShelfBuffer.check(protobufBufferArray).isFiltered();
|
||||
}
|
||||
|
||||
// Check for the index because of likelihood of false positives.
|
||||
if (contentIndex != 0 && matchedGroup == shoppingLinks) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (exceptions.matches(path)) {
|
||||
return false;
|
||||
}
|
||||
@@ -193,10 +172,6 @@ public final class AdsFilter extends Filter {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (matchedGroup == channelProfile) {
|
||||
return visitStoreButton.check(protobufBufferArray).isFiltered();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,12 @@ package app.revanced.extension.youtube.patches.components;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
final class CommentsFilter extends Filter {
|
||||
|
||||
private final StringFilterGroup filterChipBar;
|
||||
private final StringFilterGroup chipBar;
|
||||
private final ByteArrayFilterGroup aiCommentsSummary;
|
||||
|
||||
public CommentsFilter() {
|
||||
@@ -16,6 +17,21 @@ final class CommentsFilter extends Filter {
|
||||
"live_chat_summary_banner.eml"
|
||||
);
|
||||
|
||||
chipBar = new StringFilterGroup(
|
||||
Settings.HIDE_COMMENTS_AI_SUMMARY,
|
||||
"chip_bar.eml"
|
||||
);
|
||||
|
||||
aiCommentsSummary = new ByteArrayFilterGroup(
|
||||
null,
|
||||
"yt_fill_spark_"
|
||||
);
|
||||
|
||||
var channelGuidelines = new StringFilterGroup(
|
||||
Settings.HIDE_COMMENTS_CHANNEL_GUIDELINES,
|
||||
"channel_guidelines_entry_banner"
|
||||
);
|
||||
|
||||
var commentsByMembers = new StringFilterGroup(
|
||||
Settings.HIDE_COMMENTS_BY_MEMBERS_HEADER,
|
||||
"sponsorships_comments_header.eml",
|
||||
@@ -28,6 +44,11 @@ final class CommentsFilter extends Filter {
|
||||
"_comments"
|
||||
);
|
||||
|
||||
var communityGuidelines = new StringFilterGroup(
|
||||
Settings.HIDE_COMMENTS_COMMUNITY_GUIDELINES,
|
||||
"community_guidelines"
|
||||
);
|
||||
|
||||
var createAShort = new StringFilterGroup(
|
||||
Settings.HIDE_COMMENTS_CREATE_A_SHORT_BUTTON,
|
||||
"composer_short_creation_button.eml"
|
||||
@@ -50,33 +71,28 @@ final class CommentsFilter extends Filter {
|
||||
"composer_timestamp_button.eml"
|
||||
);
|
||||
|
||||
filterChipBar = new StringFilterGroup(
|
||||
Settings.HIDE_COMMENTS_AI_SUMMARY,
|
||||
"chip_bar.eml"
|
||||
);
|
||||
|
||||
aiCommentsSummary = new ByteArrayFilterGroup(
|
||||
null,
|
||||
"yt_fill_spark_"
|
||||
);
|
||||
|
||||
addPathCallbacks(
|
||||
channelGuidelines,
|
||||
chatSummary,
|
||||
chipBar,
|
||||
commentsByMembers,
|
||||
comments,
|
||||
communityGuidelines,
|
||||
createAShort,
|
||||
previewComment,
|
||||
thanksButton,
|
||||
timestampButton,
|
||||
filterChipBar
|
||||
timestampButton
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (matchedGroup == filterChipBar) {
|
||||
return aiCommentsSummary.check(protobufBufferArray).isFiltered();
|
||||
if (matchedGroup == chipBar) {
|
||||
// Playlist sort button uses same components and must only filter if the player is opened.
|
||||
return PlayerType.getCurrent().isMaximizedOrFullscreen()
|
||||
&& aiCommentsSummary.check(protobufBufferArray).isFiltered();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -4,12 +4,14 @@ import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButt
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.youtube.StringTrieSearch;
|
||||
import app.revanced.extension.youtube.patches.ChangeHeaderPatch;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.NavigationBar;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
@@ -40,6 +42,8 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
private final StringFilterGroup horizontalShelves;
|
||||
private final ByteArrayFilterGroup ticketShelf;
|
||||
private final StringFilterGroup chipBar;
|
||||
private final StringFilterGroup channelProfile;
|
||||
private final ByteArrayFilterGroupList channelProfileBuffer;
|
||||
|
||||
public LayoutComponentsFilter() {
|
||||
exceptions.addPatterns(
|
||||
@@ -81,18 +85,13 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
"poll_post_responsive_root.eml"
|
||||
);
|
||||
|
||||
final var communityGuidelines = new StringFilterGroup(
|
||||
Settings.HIDE_COMMUNITY_GUIDELINES,
|
||||
"community_guidelines"
|
||||
);
|
||||
|
||||
final var subscribersCommunityGuidelines = new StringFilterGroup(
|
||||
Settings.HIDE_SUBSCRIBERS_COMMUNITY_GUIDELINES,
|
||||
"sponsorships_comments_upsell"
|
||||
);
|
||||
|
||||
final var channelMemberShelf = new StringFilterGroup(
|
||||
Settings.HIDE_CHANNEL_MEMBER_SHELF,
|
||||
final var channelMembersShelf = new StringFilterGroup(
|
||||
Settings.HIDE_MEMBERS_SHELF,
|
||||
"member_recognition_shelf"
|
||||
);
|
||||
|
||||
@@ -139,13 +138,13 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
);
|
||||
|
||||
final var latestPosts = new StringFilterGroup(
|
||||
Settings.HIDE_HIDE_LATEST_POSTS,
|
||||
Settings.HIDE_LATEST_POSTS,
|
||||
"post_shelf"
|
||||
);
|
||||
|
||||
final var channelGuidelines = new StringFilterGroup(
|
||||
Settings.HIDE_HIDE_CHANNEL_GUIDELINES,
|
||||
"channel_guidelines_entry_banner"
|
||||
final var channelLinksPreview = new StringFilterGroup(
|
||||
Settings.HIDE_LINKS_PREVIEW,
|
||||
"attribution.eml"
|
||||
);
|
||||
|
||||
final var emergencyBox = new StringFilterGroup(
|
||||
@@ -170,7 +169,7 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
);
|
||||
|
||||
expandableMetadata = new StringFilterGroup(
|
||||
Settings.HIDE_EXPANDABLE_CHIP,
|
||||
Settings.HIDE_EXPANDABLE_CARD,
|
||||
"inline_expander"
|
||||
);
|
||||
|
||||
@@ -200,7 +199,6 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
"image_shelf"
|
||||
);
|
||||
|
||||
|
||||
final var timedReactions = new StringFilterGroup(
|
||||
Settings.HIDE_TIMED_REACTIONS,
|
||||
"emoji_control_panel",
|
||||
@@ -227,7 +225,6 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
"sponsorships"
|
||||
);
|
||||
|
||||
|
||||
final var channelWatermark = new StringFilterGroup(
|
||||
Settings.HIDE_VIDEO_CHANNEL_WATERMARK,
|
||||
"featured_channel_watermark_overlay"
|
||||
@@ -238,11 +235,27 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
"mixed_content_shelf"
|
||||
);
|
||||
|
||||
final var searchResultRecommendationLabels = new StringFilterGroup(
|
||||
Settings.HIDE_SEARCH_RESULT_RECOMMENDATION_LABELS,
|
||||
final var videoRecommendationLabels = new StringFilterGroup(
|
||||
Settings.HIDE_VIDEO_RECOMMENDATION_LABELS,
|
||||
"endorsement_header_footer.eml"
|
||||
);
|
||||
|
||||
channelProfile = new StringFilterGroup(
|
||||
null,
|
||||
"channel_profile.eml",
|
||||
"page_header.eml"
|
||||
);
|
||||
channelProfileBuffer = new ByteArrayFilterGroupList();
|
||||
channelProfileBuffer.addAll(new ByteArrayFilterGroup(
|
||||
Settings.HIDE_VISIT_STORE_BUTTON,
|
||||
"header_store_button"
|
||||
),
|
||||
new ByteArrayFilterGroup(
|
||||
Settings.HIDE_VISIT_COMMUNITY_BUTTON,
|
||||
"community_button"
|
||||
)
|
||||
);
|
||||
|
||||
horizontalShelves = new StringFilterGroup(
|
||||
Settings.HIDE_HORIZONTAL_SHELVES,
|
||||
"horizontal_video_shelf.eml",
|
||||
@@ -253,40 +266,40 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
|
||||
ticketShelf = new ByteArrayFilterGroup(
|
||||
Settings.HIDE_TICKET_SHELF,
|
||||
"ticket"
|
||||
"ticket.eml"
|
||||
);
|
||||
|
||||
addPathCallbacks(
|
||||
expandableMetadata,
|
||||
inFeedSurvey,
|
||||
notifyMe,
|
||||
compactChannelBar,
|
||||
communityPosts,
|
||||
paidPromotion,
|
||||
searchResultRecommendationLabels,
|
||||
latestPosts,
|
||||
artistCard,
|
||||
audioTrackButton,
|
||||
channelLinksPreview,
|
||||
channelMembersShelf,
|
||||
channelProfile,
|
||||
channelWatermark,
|
||||
communityGuidelines,
|
||||
chipBar,
|
||||
compactBanner,
|
||||
compactChannelBar,
|
||||
compactChannelBarInner,
|
||||
communityPosts,
|
||||
emergencyBox,
|
||||
expandableMetadata,
|
||||
forYouShelf,
|
||||
horizontalShelves,
|
||||
imageShelf,
|
||||
inFeedSurvey,
|
||||
infoPanel,
|
||||
latestPosts,
|
||||
medicalPanel,
|
||||
notifyMe,
|
||||
paidPromotion,
|
||||
playables,
|
||||
quickActions,
|
||||
relatedVideos,
|
||||
compactBanner,
|
||||
compactChannelBarInner,
|
||||
medicalPanel,
|
||||
infoPanel,
|
||||
singleItemInformationPanel,
|
||||
emergencyBox,
|
||||
subscribersCommunityGuidelines,
|
||||
subscriptionsChipBar,
|
||||
chipBar,
|
||||
channelGuidelines,
|
||||
audioTrackButton,
|
||||
artistCard,
|
||||
timedReactions,
|
||||
imageShelf,
|
||||
channelMemberShelf,
|
||||
forYouShelf,
|
||||
horizontalShelves
|
||||
videoRecommendationLabels
|
||||
);
|
||||
}
|
||||
|
||||
@@ -308,6 +321,10 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (matchedGroup == channelProfile) {
|
||||
return channelProfileBuffer.check(protobufBufferArray).isFiltered();
|
||||
}
|
||||
|
||||
if (exceptions.matches(path)) return false; // Exceptions are not filtered.
|
||||
|
||||
if (matchedGroup == compactChannelBarInner) {
|
||||
@@ -332,7 +349,7 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
* Injection point.
|
||||
* Called from a different place then the other filters.
|
||||
*/
|
||||
public static boolean filterMixPlaylists(final Object conversionContext, @Nullable final byte[] bytes) {
|
||||
public static boolean filterMixPlaylists(Object conversionContext, @Nullable final byte[] bytes) {
|
||||
try {
|
||||
if (!Settings.HIDE_MIX_PLAYLISTS.get()) {
|
||||
return false;
|
||||
@@ -422,13 +439,11 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
@Nullable
|
||||
public static Drawable hideYoodles(Drawable animatedYoodle) {
|
||||
if (HIDE_DOODLES_ENABLED) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return animatedYoodle;
|
||||
public static void setDoodleDrawable(ImageView imageView, Drawable original) {
|
||||
Drawable replacement = HIDE_DOODLES_ENABLED
|
||||
? ChangeHeaderPatch.getDrawable(original)
|
||||
: original;
|
||||
imageView.setImageDrawable(replacement);
|
||||
}
|
||||
|
||||
private static final boolean HIDE_SHOW_MORE_BUTTON_ENABLED = Settings.HIDE_SHOW_MORE_BUTTON.get();
|
||||
|
||||
@@ -60,6 +60,11 @@ public class CustomPlaybackSpeedPatch {
|
||||
*/
|
||||
public static final float PLAYBACK_SPEED_MAXIMUM = 8;
|
||||
|
||||
/**
|
||||
* How much +/- speed adjustment buttons change the current speed.
|
||||
*/
|
||||
private static final double SPEED_ADJUSTMENT_CHANGE = 0.05;
|
||||
|
||||
/**
|
||||
* Scale used to convert user speed to {@link android.widget.ProgressBar#setProgress(int)}.
|
||||
*/
|
||||
@@ -390,9 +395,9 @@ public class CustomPlaybackSpeedPatch {
|
||||
});
|
||||
|
||||
minusButton.setOnClickListener(v -> userSelectedSpeed.apply(
|
||||
VideoInformation.getPlaybackSpeed() - 0.05f));
|
||||
(float) (VideoInformation.getPlaybackSpeed() - SPEED_ADJUSTMENT_CHANGE)));
|
||||
plusButton.setOnClickListener(v -> userSelectedSpeed.apply(
|
||||
VideoInformation.getPlaybackSpeed() + 0.05f));
|
||||
(float) (VideoInformation.getPlaybackSpeed() + SPEED_ADJUSTMENT_CHANGE)));
|
||||
|
||||
// Create GridLayout for preset speed buttons.
|
||||
GridLayout gridLayout = new GridLayout(context);
|
||||
@@ -611,15 +616,21 @@ public class CustomPlaybackSpeedPatch {
|
||||
}
|
||||
|
||||
/**
|
||||
* Rounds the given playback speed to the nearest 0.05 increment and ensures it is within valid bounds.
|
||||
* Rounds the given playback speed to the nearest 0.05 increment,
|
||||
* unless the speed exactly matches a preset custom speed.
|
||||
*
|
||||
* @param speed The playback speed to round.
|
||||
* @return The rounded speed, constrained to the specified bounds.
|
||||
*/
|
||||
private static float roundSpeedToNearestIncrement(float speed) {
|
||||
// Allow speed as-is if it exactly matches a speed preset such as 1.03x.
|
||||
if (arrayContains(customPlaybackSpeeds, speed)) {
|
||||
return speed;
|
||||
}
|
||||
|
||||
// Round to nearest 0.05 speed. Must use double precision otherwise rounding error can occur.
|
||||
final double roundedSpeed = Math.round(speed / 0.05) * 0.05;
|
||||
return Utils.clamp((float) roundedSpeed, 0.05f, PLAYBACK_SPEED_MAXIMUM);
|
||||
final double roundedSpeed = Math.round(speed / SPEED_ADJUSTMENT_CHANGE) * SPEED_ADJUSTMENT_CHANGE;
|
||||
return Utils.clamp((float) roundedSpeed, (float) SPEED_ADJUSTMENT_CHANGE, PLAYBACK_SPEED_MAXIMUM);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,6 +8,7 @@ import static app.revanced.extension.shared.settings.Setting.parent;
|
||||
import static app.revanced.extension.shared.settings.Setting.parentsAll;
|
||||
import static app.revanced.extension.shared.settings.Setting.parentsAny;
|
||||
import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor;
|
||||
import static app.revanced.extension.youtube.patches.ChangeHeaderPatch.HeaderLogo;
|
||||
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.ChangeStartPageTypeAvailability;
|
||||
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
|
||||
import static app.revanced.extension.youtube.patches.ExitFullscreenPatch.FullscreenMode;
|
||||
@@ -54,13 +55,14 @@ public class Settings extends BaseSettings {
|
||||
public static final IntegerSetting VIDEO_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_video_quality_default_wifi", -2);
|
||||
public static final IntegerSetting VIDEO_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_video_quality_default_mobile", -2);
|
||||
public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_video_quality_last_selected", FALSE);
|
||||
public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED_TOAST = new BooleanSetting("revanced_remember_video_quality_last_selected_toast", TRUE, false,
|
||||
parent(REMEMBER_VIDEO_QUALITY_LAST_SELECTED));
|
||||
public static final IntegerSetting SHORTS_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_shorts_quality_default_wifi", -2, true);
|
||||
public static final IntegerSetting SHORTS_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_shorts_quality_default_mobile", -2, true);
|
||||
public static final BooleanSetting REMEMBER_SHORTS_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_shorts_quality_last_selected", FALSE);
|
||||
public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED_TOAST = new BooleanSetting("revanced_remember_video_quality_last_selected_toast", TRUE, false,
|
||||
parentsAny(REMEMBER_VIDEO_QUALITY_LAST_SELECTED, REMEMBER_SHORTS_QUALITY_LAST_SELECTED));
|
||||
public static final BooleanSetting ADVANCED_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_advanced_video_quality_menu", TRUE);
|
||||
public static final BooleanSetting DISABLE_HDR_VIDEO = new BooleanSetting("revanced_disable_hdr_video", FALSE);
|
||||
|
||||
// Speed
|
||||
public static final FloatSetting SPEED_TAP_AND_HOLD = new FloatSetting("revanced_speed_tap_and_hold", 2.0f, true);
|
||||
public static final BooleanSetting REMEMBER_PLAYBACK_SPEED_LAST_SELECTED = new BooleanSetting("revanced_remember_playback_speed_last_selected", FALSE);
|
||||
@@ -70,23 +72,23 @@ public class Settings extends BaseSettings {
|
||||
public static final FloatSetting PLAYBACK_SPEED_DEFAULT = new FloatSetting("revanced_playback_speed_default", -2.0f);
|
||||
public static final StringSetting CUSTOM_PLAYBACK_SPEEDS = new StringSetting("revanced_custom_playback_speeds",
|
||||
"0.25\n0.5\n0.75\n1.0\n1.25\n1.5\n1.75\n2.0\n2.5\n3.0\n4.0\n5.0\n6.0\n7.0\n8.0", true);
|
||||
|
||||
// Audio
|
||||
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new ForceOriginalAudioAvailability());
|
||||
|
||||
// Ads
|
||||
public static final BooleanSetting HIDE_CREATOR_STORE_SHELF = new BooleanSetting("revanced_hide_creator_store_shelf", TRUE);
|
||||
public static final BooleanSetting HIDE_END_SCREEN_STORE_BANNER = new BooleanSetting("revanced_hide_end_screen_store_banner", TRUE, true);
|
||||
public static final BooleanSetting HIDE_FULLSCREEN_ADS = new BooleanSetting("revanced_hide_fullscreen_ads", TRUE);
|
||||
public static final BooleanSetting HIDE_GENERAL_ADS = new BooleanSetting("revanced_hide_general_ads", TRUE);
|
||||
public static final BooleanSetting HIDE_GET_PREMIUM = new BooleanSetting("revanced_hide_get_premium", TRUE);
|
||||
public static final BooleanSetting HIDE_HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts_ads", TRUE);
|
||||
public static final BooleanSetting HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts", TRUE);
|
||||
public static final BooleanSetting HIDE_MERCHANDISE_BANNERS = new BooleanSetting("revanced_hide_merchandise_banners", TRUE);
|
||||
public static final BooleanSetting HIDE_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_paid_promotion_label", TRUE);
|
||||
public static final BooleanSetting HIDE_PLAYER_STORE_SHELF = new BooleanSetting("revanced_hide_player_store_shelf", TRUE);
|
||||
public static final BooleanSetting HIDE_PRODUCTS_BANNER = new BooleanSetting("revanced_hide_products_banner", TRUE);
|
||||
public static final BooleanSetting HIDE_SELF_SPONSOR = new BooleanSetting("revanced_hide_self_sponsor_ads", TRUE);
|
||||
public static final BooleanSetting HIDE_SHOPPING_LINKS = new BooleanSetting("revanced_hide_shopping_links", TRUE);
|
||||
public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_hide_video_ads", TRUE, true);
|
||||
public static final BooleanSetting HIDE_VISIT_STORE_BUTTON = new BooleanSetting("revanced_hide_visit_store_button", TRUE);
|
||||
public static final BooleanSetting HIDE_VIEW_PRODUCTS_BANNER = new BooleanSetting("revanced_hide_view_products_banner", TRUE);
|
||||
public static final BooleanSetting HIDE_WEB_SEARCH_RESULTS = new BooleanSetting("revanced_hide_web_search_results", TRUE);
|
||||
|
||||
// Feed
|
||||
@@ -97,23 +99,23 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting HIDE_COMPACT_BANNER = new BooleanSetting("revanced_hide_compact_banner", TRUE);
|
||||
public static final BooleanSetting HIDE_CROWDFUNDING_BOX = new BooleanSetting("revanced_hide_crowdfunding_box", FALSE, true);
|
||||
public static final BooleanSetting HIDE_DOODLES = new BooleanSetting("revanced_hide_doodles", FALSE, true, "revanced_hide_doodles_user_dialog_message");
|
||||
public static final BooleanSetting HIDE_EXPANDABLE_CHIP = new BooleanSetting("revanced_hide_expandable_chip", TRUE);
|
||||
public static final BooleanSetting HIDE_EXPANDABLE_CARD = new BooleanSetting("revanced_hide_expandable_card", TRUE);
|
||||
public static final BooleanSetting HIDE_FEED_SURVEY = new BooleanSetting("revanced_hide_feed_survey", TRUE);
|
||||
public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_FEED = new BooleanSetting("revanced_hide_filter_bar_feed_in_feed", FALSE, true);
|
||||
public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_HISTORY = new BooleanSetting("revanced_hide_filter_bar_feed_in_history", FALSE);
|
||||
public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_RELATED_VIDEOS = new BooleanSetting("revanced_hide_filter_bar_feed_in_related_videos", FALSE, true);
|
||||
public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_SEARCH = new BooleanSetting("revanced_hide_filter_bar_feed_in_search", FALSE, true);
|
||||
public static final BooleanSetting HIDE_FLOATING_MICROPHONE_BUTTON = new BooleanSetting("revanced_hide_floating_microphone_button", TRUE, true);
|
||||
public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", TRUE);
|
||||
public static final BooleanSetting HIDE_HORIZONTAL_SHELVES = new BooleanSetting("revanced_hide_horizontal_shelves", TRUE);
|
||||
public static final BooleanSetting HIDE_IMAGE_SHELF = new BooleanSetting("revanced_hide_image_shelf", TRUE);
|
||||
public static final BooleanSetting HIDE_MIX_PLAYLISTS = new BooleanSetting("revanced_hide_mix_playlists", TRUE);
|
||||
public static final BooleanSetting HIDE_MOVIES_SECTION = new BooleanSetting("revanced_hide_movies_section", TRUE);
|
||||
public static final BooleanSetting HIDE_NOTIFY_ME_BUTTON = new BooleanSetting("revanced_hide_notify_me_button", TRUE);
|
||||
public static final BooleanSetting HIDE_PLAYABLES = new BooleanSetting("revanced_hide_playables", TRUE);
|
||||
public static final BooleanSetting HIDE_SEARCH_RESULT_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_search_result_recommendation_labels", TRUE);
|
||||
public static final BooleanSetting HIDE_SHOW_MORE_BUTTON = new BooleanSetting("revanced_hide_show_more_button", TRUE, true);
|
||||
public static final BooleanSetting HIDE_TICKET_SHELF = new BooleanSetting("revanced_hide_ticket_shelf", FALSE);
|
||||
public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE);
|
||||
|
||||
// Alternative thumbnails
|
||||
public static final EnumSetting<ThumbnailOption> ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL);
|
||||
public static final EnumSetting<ThumbnailOption> ALT_THUMBNAIL_SUBSCRIPTIONS = new EnumSetting<>("revanced_alt_thumbnail_subscription", ThumbnailOption.ORIGINAL);
|
||||
@@ -125,6 +127,7 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting ALT_THUMBNAIL_DEARROW_CONNECTION_TOAST = new BooleanSetting("revanced_alt_thumbnail_dearrow_connection_toast", TRUE, new DeArrowAvailability());
|
||||
public static final EnumSetting<ThumbnailStillTime> ALT_THUMBNAIL_STILLS_TIME = new EnumSetting<>("revanced_alt_thumbnail_stills_time", ThumbnailStillTime.MIDDLE, new StillImagesAvailability());
|
||||
public static final BooleanSetting ALT_THUMBNAIL_STILLS_FAST = new BooleanSetting("revanced_alt_thumbnail_stills_fast", FALSE, new StillImagesAvailability());
|
||||
|
||||
// Hide keyword content
|
||||
public static final BooleanSetting HIDE_KEYWORD_CONTENT_HOME = new BooleanSetting("revanced_hide_keyword_content_home", FALSE);
|
||||
public static final BooleanSetting HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS = new BooleanSetting("revanced_hide_keyword_content_subscriptions", FALSE);
|
||||
@@ -132,31 +135,36 @@ public class Settings extends BaseSettings {
|
||||
public static final StringSetting HIDE_KEYWORD_CONTENT_PHRASES = new StringSetting("revanced_hide_keyword_content_phrases", "",
|
||||
parentsAny(HIDE_KEYWORD_CONTENT_HOME, HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS, HIDE_KEYWORD_CONTENT_SEARCH));
|
||||
|
||||
// Channel page
|
||||
public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", FALSE);
|
||||
public static final BooleanSetting HIDE_LINKS_PREVIEW = new BooleanSetting("revanced_hide_links_preview", TRUE);
|
||||
public static final BooleanSetting HIDE_MEMBERS_SHELF = new BooleanSetting("revanced_hide_members_shelf", TRUE);
|
||||
public static final BooleanSetting HIDE_VISIT_COMMUNITY_BUTTON = new BooleanSetting("revanced_hide_visit_community_button", TRUE);
|
||||
public static final BooleanSetting HIDE_VISIT_STORE_BUTTON = new BooleanSetting("revanced_hide_visit_store_button", TRUE);
|
||||
|
||||
// Player
|
||||
public static final BooleanSetting COPY_VIDEO_URL = new BooleanSetting("revanced_copy_video_url", FALSE);
|
||||
public static final BooleanSetting COPY_VIDEO_URL_TIMESTAMP = new BooleanSetting("revanced_copy_video_url_timestamp", TRUE);
|
||||
public static final BooleanSetting DISABLE_AUTO_CAPTIONS = new BooleanSetting("revanced_disable_auto_captions", FALSE, true);
|
||||
public static final BooleanSetting DISABLE_CHAPTER_SKIP_DOUBLE_TAP = new BooleanSetting("revanced_disable_chapter_skip_double_tap", FALSE);
|
||||
public static final BooleanSetting DISABLE_FULLSCREEN_AMBIENT_MODE = new BooleanSetting("revanced_disable_fullscreen_ambient_mode", TRUE, true);
|
||||
public static final BooleanSetting DISABLE_ROLLING_NUMBER_ANIMATIONS = new BooleanSetting("revanced_disable_rolling_number_animations", FALSE);
|
||||
public static final EnumSetting<FullscreenMode> EXIT_FULLSCREEN = new EnumSetting<>("revanced_exit_fullscreen", FullscreenMode.DISABLED);
|
||||
public static final BooleanSetting HIDE_AUTOPLAY_BUTTON = new BooleanSetting("revanced_hide_autoplay_button", TRUE, true);
|
||||
public static final BooleanSetting HIDE_CAPTIONS_BUTTON = new BooleanSetting("revanced_hide_captions_button", FALSE);
|
||||
public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_hide_cast_button", TRUE, true);
|
||||
public static final BooleanSetting HIDE_PLAYER_CONTROL_BUTTONS_BACKGROUND = new BooleanSetting("revanced_hide_player_control_buttons_background", FALSE, true);
|
||||
public static final BooleanSetting HIDE_CHANNEL_BAR = new BooleanSetting("revanced_hide_channel_bar", FALSE);
|
||||
public static final BooleanSetting HIDE_CHANNEL_MEMBER_SHELF = new BooleanSetting("revanced_hide_channel_member_shelf", TRUE);
|
||||
public static final BooleanSetting HIDE_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_community_guidelines", TRUE);
|
||||
public static final BooleanSetting HIDE_EMERGENCY_BOX = new BooleanSetting("revanced_hide_emergency_box", TRUE);
|
||||
public static final BooleanSetting HIDE_ENDSCREEN_CARDS = new BooleanSetting("revanced_hide_endscreen_cards", FALSE);
|
||||
public static final BooleanSetting HIDE_END_SCREEN_SUGGESTED_VIDEO = new BooleanSetting("revanced_end_screen_suggested_video", FALSE, true);
|
||||
public static final BooleanSetting HIDE_RELATED_VIDEO_OVERLAY = new BooleanSetting("revanced_hide_related_video_overlay", FALSE, true);
|
||||
public static final BooleanSetting HIDE_HIDE_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_channel_guidelines", TRUE);
|
||||
public static final BooleanSetting HIDE_INFO_PANELS = new BooleanSetting("revanced_hide_info_panels", TRUE);
|
||||
public static final BooleanSetting HIDE_INFO_CARDS = new BooleanSetting("revanced_hide_info_cards", FALSE);
|
||||
public static final BooleanSetting HIDE_INFO_PANELS = new BooleanSetting("revanced_hide_info_panels", TRUE);
|
||||
public static final BooleanSetting HIDE_JOIN_MEMBERSHIP_BUTTON = new BooleanSetting("revanced_hide_join_membership_button", TRUE);
|
||||
public static final BooleanSetting HIDE_MEDICAL_PANELS = new BooleanSetting("revanced_hide_medical_panels", TRUE);
|
||||
public static final BooleanSetting HIDE_PLAYER_CONTROL_BUTTONS_BACKGROUND = new BooleanSetting("revanced_hide_player_control_buttons_background", FALSE, true);
|
||||
public static final BooleanSetting HIDE_PLAYER_PREVIOUS_NEXT_BUTTONS = new BooleanSetting("revanced_hide_player_previous_next_buttons", FALSE, true);
|
||||
public static final BooleanSetting HIDE_QUICK_ACTIONS = new BooleanSetting("revanced_hide_quick_actions", FALSE);
|
||||
public static final BooleanSetting HIDE_RELATED_VIDEOS_OVERLAY = new BooleanSetting("revanced_hide_related_videos_overlay", FALSE, true);
|
||||
public static final BooleanSetting HIDE_RELATED_VIDEOS = new BooleanSetting("revanced_hide_related_videos", FALSE);
|
||||
public static final BooleanSetting HIDE_SUBSCRIBERS_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_subscribers_community_guidelines", TRUE);
|
||||
public static final BooleanSetting HIDE_TIMED_REACTIONS = new BooleanSetting("revanced_hide_timed_reactions", TRUE);
|
||||
@@ -165,6 +173,7 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting PLAYBACK_SPEED_DIALOG_BUTTON = new BooleanSetting("revanced_playback_speed_dialog_button", FALSE);
|
||||
public static final IntegerSetting PLAYER_OVERLAY_OPACITY = new IntegerSetting("revanced_player_overlay_opacity", 100, true);
|
||||
public static final BooleanSetting PLAYER_POPUP_PANELS = new BooleanSetting("revanced_hide_player_popup_panels", FALSE);
|
||||
|
||||
// Miniplayer
|
||||
public static final EnumSetting<MiniplayerType> MINIPLAYER_TYPE = new EnumSetting<>("revanced_miniplayer_type", MiniplayerType.DEFAULT, true);
|
||||
private static final Availability MINIPLAYER_ANY_MODERN = MINIPLAYER_TYPE.availability(MODERN_1, MODERN_2, MODERN_3, MODERN_4);
|
||||
@@ -177,20 +186,25 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting MINIPLAYER_ROUNDED_CORNERS = new BooleanSetting("revanced_miniplayer_rounded_corners", TRUE, true, MINIPLAYER_ANY_MODERN);
|
||||
public static final IntegerSetting MINIPLAYER_WIDTH_DIP = new IntegerSetting("revanced_miniplayer_width_dip", 192, true, MINIPLAYER_ANY_MODERN);
|
||||
public static final IntegerSetting MINIPLAYER_OPACITY = new IntegerSetting("revanced_miniplayer_opacity", 100, true, MINIPLAYER_TYPE.availability(MODERN_1));
|
||||
|
||||
// External downloader
|
||||
public static final BooleanSetting EXTERNAL_DOWNLOADER = new BooleanSetting("revanced_external_downloader", FALSE);
|
||||
public static final BooleanSetting EXTERNAL_DOWNLOADER_ACTION_BUTTON = new BooleanSetting("revanced_external_downloader_action_button", FALSE);
|
||||
public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME = new StringSetting("revanced_external_downloader_name",
|
||||
"org.schabi.newpipe" /* NewPipe */, parentsAny(EXTERNAL_DOWNLOADER, EXTERNAL_DOWNLOADER_ACTION_BUTTON));
|
||||
|
||||
// Comments
|
||||
public static final BooleanSetting HIDE_COMMENTS_AI_CHAT_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_chat_summary", FALSE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_AI_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_summary", FALSE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_BY_MEMBERS_HEADER = new BooleanSetting("revanced_hide_comments_by_members_header", FALSE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_comments_channel_guidelines", TRUE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_comments_community_guidelines", TRUE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_CREATE_A_SHORT_BUTTON = new BooleanSetting("revanced_hide_comments_create_a_short_button", TRUE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_TIMESTAMP_BUTTON = new BooleanSetting("revanced_hide_comments_timestamp_button", FALSE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_comments_preview_comment", FALSE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_THANKS_BUTTON = new BooleanSetting("revanced_hide_comments_thanks_button", TRUE);
|
||||
public static final BooleanSetting HIDE_COMMENTS_TIMESTAMP_BUTTON = new BooleanSetting("revanced_hide_comments_timestamp_button", FALSE);
|
||||
|
||||
// Description
|
||||
public static final BooleanSetting HIDE_AI_GENERATED_VIDEO_SUMMARY_SECTION = new BooleanSetting("revanced_hide_ai_generated_video_summary_section", FALSE);
|
||||
public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE);
|
||||
@@ -201,6 +215,7 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE);
|
||||
public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE);
|
||||
public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE);
|
||||
|
||||
// Action buttons
|
||||
public static final BooleanSetting DISABLE_LIKE_SUBSCRIBE_GLOW = new BooleanSetting("revanced_disable_like_subscribe_glow", FALSE);
|
||||
public static final BooleanSetting HIDE_ASK_BUTTON = new BooleanSetting("revanced_hide_ask_button", FALSE);
|
||||
@@ -213,6 +228,7 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting HIDE_SHARE_BUTTON = new BooleanSetting("revanced_hide_share_button", FALSE);
|
||||
public static final BooleanSetting HIDE_STOP_ADS_BUTTON = new BooleanSetting("revanced_hide_stop_ads_button", TRUE);
|
||||
public static final BooleanSetting HIDE_THANKS_BUTTON = new BooleanSetting("revanced_hide_thanks_button", TRUE);
|
||||
|
||||
// Player flyout menu items
|
||||
public static final BooleanSetting HIDE_PLAYER_FLYOUT_ADDITIONAL_SETTINGS = new BooleanSetting("revanced_hide_player_flyout_additional_settings", FALSE);
|
||||
public static final BooleanSetting HIDE_PLAYER_FLYOUT_AMBIENT_MODE = new BooleanSetting("revanced_hide_player_flyout_ambient_mode", FALSE);
|
||||
@@ -235,7 +251,8 @@ public class Settings extends BaseSettings {
|
||||
public static final EnumSetting<FormFactor> CHANGE_FORM_FACTOR = new EnumSetting<>("revanced_change_form_factor", FormFactor.DEFAULT, true, "revanced_change_form_factor_user_dialog_message");
|
||||
public static final BooleanSetting BYPASS_IMAGE_REGION_RESTRICTIONS = new BooleanSetting("revanced_bypass_image_region_restrictions", FALSE, true);
|
||||
public static final BooleanSetting GRADIENT_LOADING_SCREEN = new BooleanSetting("revanced_gradient_loading_screen", FALSE, true);
|
||||
public static final EnumSetting<SplashScreenAnimationStyle> SPLASH_SCREEN_ANIMATION_STYLE = new EnumSetting<>("splash_screen_animation_style", SplashScreenAnimationStyle.FPS_60_ONE_SECOND, true);
|
||||
public static final EnumSetting<SplashScreenAnimationStyle> SPLASH_SCREEN_ANIMATION_STYLE = new EnumSetting<>("revanced_splash_screen_animation_style", SplashScreenAnimationStyle.FPS_60_ONE_SECOND, true);
|
||||
public static final EnumSetting<HeaderLogo> HEADER_LOGO = new EnumSetting<>("revanced_header_logo", HeaderLogo.DEFAULT, true);
|
||||
|
||||
public static final BooleanSetting REMOVE_VIEWER_DISCRETION_DIALOG = new BooleanSetting("revanced_remove_viewer_discretion_dialog", FALSE,
|
||||
"revanced_remove_viewer_discretion_dialog_user_dialog_message");
|
||||
@@ -245,9 +262,11 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting CHANGE_START_PAGE_ALWAYS = new BooleanSetting("revanced_change_start_page_always", FALSE, true,
|
||||
new ChangeStartPageTypeAvailability());
|
||||
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", "19.01.34", true, parent(SPOOF_APP_VERSION));
|
||||
|
||||
// Custom filter
|
||||
public static final BooleanSetting CUSTOM_FILTER = new BooleanSetting("revanced_custom_filter", FALSE);
|
||||
public static final StringSetting CUSTOM_FILTER_STRINGS = new StringSetting("revanced_custom_filter_strings", "", true, parent(CUSTOM_FILTER));
|
||||
|
||||
// Navigation buttons
|
||||
public static final BooleanSetting HIDE_HOME_BUTTON = new BooleanSetting("revanced_hide_home_button", FALSE, true);
|
||||
public static final BooleanSetting HIDE_CREATE_BUTTON = new BooleanSetting("revanced_hide_create_button", TRUE, true);
|
||||
@@ -283,12 +302,12 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting HIDE_SHORTS_LOCATION_LABEL = new BooleanSetting("revanced_hide_shorts_location_label", FALSE);
|
||||
public static final BooleanSetting HIDE_SHORTS_NAVIGATION_BAR = new BooleanSetting("revanced_hide_shorts_navigation_bar", FALSE, true);
|
||||
public static final BooleanSetting HIDE_SHORTS_PAUSED_OVERLAY_BUTTONS = new BooleanSetting("revanced_hide_shorts_paused_overlay_buttons", FALSE);
|
||||
public static final BooleanSetting HIDE_SHORTS_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_shorts_preview_comment", TRUE);
|
||||
public static final BooleanSetting HIDE_SHORTS_REMIX_BUTTON = new BooleanSetting("revanced_hide_shorts_remix_button", TRUE);
|
||||
public static final BooleanSetting HIDE_SHORTS_SAVE_SOUND_BUTTON = new BooleanSetting("revanced_hide_shorts_save_sound_button", TRUE);
|
||||
public static final BooleanSetting HIDE_SHORTS_SEARCH = new BooleanSetting("revanced_hide_shorts_search", FALSE);
|
||||
public static final BooleanSetting HIDE_SHORTS_SEARCH_SUGGESTIONS = new BooleanSetting("revanced_hide_shorts_search_suggestions", TRUE);
|
||||
public static final BooleanSetting HIDE_SHORTS_SHARE_BUTTON = new BooleanSetting("revanced_hide_shorts_share_button", FALSE);
|
||||
public static final BooleanSetting HIDE_SHORTS_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_shorts_preview_comment", TRUE);
|
||||
public static final BooleanSetting HIDE_SHORTS_SHOP_BUTTON = new BooleanSetting("revanced_hide_shorts_shop_button", TRUE);
|
||||
public static final BooleanSetting HIDE_SHORTS_SOUND_BUTTON = new BooleanSetting("revanced_hide_shorts_sound_button", FALSE);
|
||||
public static final BooleanSetting HIDE_SHORTS_SOUND_METADATA_LABEL = new BooleanSetting("revanced_hide_shorts_sound_metadata_label", FALSE);
|
||||
@@ -318,7 +337,7 @@ public class Settings extends BaseSettings {
|
||||
public static final StringSetting SEEKBAR_CUSTOM_COLOR_PRIMARY = new StringSetting("revanced_seekbar_custom_color_primary", "#FF0033", true, parent(SEEKBAR_CUSTOM_COLOR));
|
||||
public static final StringSetting SEEKBAR_CUSTOM_COLOR_ACCENT = new StringSetting("revanced_seekbar_custom_color_accent", "#FF2791", true, parent(SEEKBAR_CUSTOM_COLOR));
|
||||
|
||||
// Misc
|
||||
// Miscellaneous
|
||||
public static final BooleanSetting ANNOUNCEMENTS = new BooleanSetting("revanced_announcements", TRUE);
|
||||
public static final IntegerSetting ANNOUNCEMENT_LAST_ID = new IntegerSetting("revanced_announcement_last_id", -1, false, false);
|
||||
public static final BooleanSetting AUTO_REPEAT = new BooleanSetting("revanced_auto_repeat", FALSE);
|
||||
|
||||
@@ -44,6 +44,7 @@ import app.revanced.extension.youtube.sponsorblock.objects.SegmentCategory;
|
||||
import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment;
|
||||
import app.revanced.extension.youtube.sponsorblock.requests.SBRequester;
|
||||
import app.revanced.extension.youtube.sponsorblock.ui.SponsorBlockViewController;
|
||||
import kotlin.Unit;
|
||||
|
||||
/**
|
||||
* Handles showing, scheduling, and skipping of all {@link SponsorSegment} for the current video.
|
||||
@@ -167,6 +168,30 @@ public class SegmentPlaybackController {
|
||||
*/
|
||||
private static WeakReference<Dialog> toastDialogRef = new WeakReference<>(null);
|
||||
|
||||
static {
|
||||
// Dismiss toast if app changes to PiP while undo skip is shown.
|
||||
PlayerType.getOnChange().addObserver((PlayerType type) -> {
|
||||
if (type == PlayerType.WATCH_WHILE_PICTURE_IN_PICTURE && dismissUndoToast()) {
|
||||
Logger.printDebug(() -> "Dismissed undo toast as playback is PiP");
|
||||
}
|
||||
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @return If the toast was on screen and is now dismissed.
|
||||
*/
|
||||
private static boolean dismissUndoToast() {
|
||||
Dialog toastDialog = toastDialogRef.get();
|
||||
if (toastDialog != null && toastDialog.isShowing()) {
|
||||
toastDialog.dismiss();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The adjusted duration to show the skip button, in milliseconds.
|
||||
*/
|
||||
@@ -700,6 +725,11 @@ public class SegmentPlaybackController {
|
||||
return;
|
||||
}
|
||||
|
||||
if (PlayerType.getCurrent() == PlayerType.WATCH_WHILE_PICTURE_IN_PICTURE) {
|
||||
Logger.printDebug(() -> "Not showing autoskip toast as playback is PiP");
|
||||
return;
|
||||
}
|
||||
|
||||
if (toastSegmentSkipped == null || undoAutoSkipRangeToast == null) {
|
||||
// Video was changed immediately after skipping segment.
|
||||
Logger.printDebug(() -> "Ignoring old scheduled show toast");
|
||||
@@ -709,9 +739,7 @@ public class SegmentPlaybackController {
|
||||
? toastSegmentSkipped.getSkippedToastText()
|
||||
: str("revanced_sb_skipped_multiple_segments");
|
||||
|
||||
showToastShortWithTapAction(message, undoAutoSkipRangeToast);
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "showSkippedSegmentToast failure", ex);
|
||||
showAutoSkipToast(message, undoAutoSkipRangeToast);
|
||||
} finally {
|
||||
toastNumberOfSegmentsSkipped = 0;
|
||||
toastSegmentSkipped = null;
|
||||
@@ -719,7 +747,7 @@ public class SegmentPlaybackController {
|
||||
}, delayToToastMilliseconds);
|
||||
}
|
||||
|
||||
private static void showToastShortWithTapAction(String messageToToast, Range<Long> rangeToUndo) {
|
||||
private static void showAutoSkipToast(String messageToToast, Range<Long> rangeToUndo) {
|
||||
Objects.requireNonNull(messageToToast);
|
||||
Utils.verifyOnMainThread();
|
||||
|
||||
@@ -816,10 +844,8 @@ public class SegmentPlaybackController {
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
|
||||
}
|
||||
|
||||
Dialog priorDialog = toastDialogRef.get();
|
||||
if (priorDialog != null && priorDialog.isShowing()) {
|
||||
Logger.printDebug(() -> "Removing previous skip toast that is still on screen: " + priorDialog);
|
||||
priorDialog.dismiss();
|
||||
if (dismissUndoToast()) {
|
||||
Logger.printDebug(() -> "Dismissed previous skip toast that was still on screen");
|
||||
}
|
||||
toastDialogRef = new WeakReference<>(dialog);
|
||||
|
||||
|
||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
||||
org.gradle.parallel = true
|
||||
android.useAndroidX = true
|
||||
kotlin.code.style = official
|
||||
version = 5.30.0-dev.4
|
||||
version = 5.31.2-dev.2
|
||||
|
||||
1318
package-lock.json
generated
1318
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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.2.5"
|
||||
"semantic-release": "^24.2.6"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,8 +116,8 @@ public final class app/revanced/patches/all/misc/shortcut/sharetargets/RemoveSha
|
||||
public static final fun getRemoveShareTargetsPatch ()Lapp/revanced/patcher/patch/ResourcePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/all/misc/spoof/SignatureSpoofPatchKt {
|
||||
public static final fun getSignatureSpoofPatch ()Lapp/revanced/patcher/patch/ResourcePatch;
|
||||
public final class app/revanced/patches/all/misc/spoof/EnableRomSignatureSpoofingKt {
|
||||
public static final fun getEnableRomSignatureSpoofing ()Lapp/revanced/patcher/patch/ResourcePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/all/misc/targetSdk/SetTargetSdkVersion34Kt {
|
||||
@@ -168,6 +168,10 @@ public final class app/revanced/patches/cricbuzz/ads/DisableAdsPatchKt {
|
||||
public static final fun getDisableAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/cricbuzz/misc/extension/ExtensionPatchKt {
|
||||
public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/crunchyroll/ads/HideAdsPatchKt {
|
||||
public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
@@ -645,10 +649,10 @@ public final class app/revanced/patches/shared/misc/extension/ExtensionHook {
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/shared/misc/extension/SharedExtensionPatchKt {
|
||||
public static final fun extensionHook (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lapp/revanced/patcher/Fingerprint;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static final fun extensionHook (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lapp/revanced/patcher/Fingerprint;ILjava/lang/Object;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static final fun extensionHook (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lapp/revanced/patcher/Fingerprint;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static final fun extensionHook (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lapp/revanced/patcher/Fingerprint;ILjava/lang/Object;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook;
|
||||
public static final fun sharedExtensionPatch (Ljava/lang/String;[Lapp/revanced/patches/shared/misc/extension/ExtensionHook;)Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
public static final fun sharedExtensionPatch ([Lapp/revanced/patches/shared/misc/extension/ExtensionHook;)Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
@@ -900,6 +904,10 @@ public final class app/revanced/patches/shared/misc/spoof/UserAgentClientSpoofPa
|
||||
public static final fun userAgentClientSpoofPatch (Ljava/lang/String;)Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/shared/misc/string/ReplaceStringPatchKt {
|
||||
public static final fun replaceStringPatch (Ljava/lang/String;Ljava/lang/String;)Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/solidexplorer2/functionality/filesize/RemoveFileSizeLimitPatchKt {
|
||||
public static final fun getRemoveFileSizeLimitPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
@@ -1228,6 +1236,10 @@ public final class app/revanced/patches/youtube/interaction/dialog/RemoveViewerD
|
||||
public static final fun getRemoveViewerDiscretionDialogPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatchKt {
|
||||
public static final fun getDisableChapterSkipDoubleTapPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/interaction/downloads/DownloadsPatchKt {
|
||||
public static final fun getDownloadsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
package app.revanced.patches.all.misc.spoof
|
||||
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import app.revanced.util.getNode
|
||||
import com.android.apksig.ApkVerifier
|
||||
import com.android.apksig.apk.ApkFormatException
|
||||
import org.w3c.dom.Element
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import java.nio.file.InvalidPathException
|
||||
import java.security.NoSuchAlgorithmException
|
||||
import java.security.cert.CertificateException
|
||||
import java.security.cert.CertificateFactory
|
||||
import java.util.*
|
||||
|
||||
@Suppress("unused")
|
||||
val enableRomSignatureSpoofing = resourcePatch(
|
||||
name = "Enable ROM signature spoofing",
|
||||
description = "Spoofs the signature via the manifest meta-data \"fake-signature\". " +
|
||||
"This patch only works with ROMs that support signature spoofing.",
|
||||
use = false,
|
||||
) {
|
||||
val signatureOrPath by stringOption(
|
||||
key = "signatureOrApkFilePath",
|
||||
title = "Signature or APK file path",
|
||||
validator = validator@{ signature ->
|
||||
signature ?: return@validator false
|
||||
|
||||
parseSignature(signature) != null
|
||||
},
|
||||
description = "The hex-encoded signature or path to an APK file with the desired signature.",
|
||||
required = true,
|
||||
)
|
||||
execute {
|
||||
document("AndroidManifest.xml").use { document ->
|
||||
val permission = document.createElement("uses-permission").apply {
|
||||
setAttribute("android:name", "android.permission.FAKE_PACKAGE_SIGNATURE")
|
||||
}
|
||||
val manifest = document.getNode("manifest").appendChild(permission)
|
||||
|
||||
|
||||
val fakeSignatureMetadata = document.createElement("meta-data").apply {
|
||||
setAttribute("android:name", "fake-signature")
|
||||
setAttribute("android:value", parseSignature(signatureOrPath!!))
|
||||
}
|
||||
document.getNode("application").appendChild(fakeSignatureMetadata)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseSignature(optionValue: String): String? {
|
||||
// Parse as a hex-encoded signature.
|
||||
try {
|
||||
// TODO: Replace with signature.hexToByteArray when stable in kotlin
|
||||
val signatureBytes = HexFormat.of().parseHex(optionValue)
|
||||
CertificateFactory.getInstance("X.509").generateCertificate(signatureBytes.inputStream())
|
||||
|
||||
return optionValue
|
||||
} catch (_: IllegalArgumentException) {
|
||||
} catch (_: CertificateException) {
|
||||
}
|
||||
|
||||
// Parse as a path to an APK file.
|
||||
try {
|
||||
val apkFile = File(optionValue)
|
||||
if (!apkFile.isFile) return null
|
||||
|
||||
val result = ApkVerifier.Builder(apkFile).build().verify()
|
||||
|
||||
val hexFormat = HexFormat.of()
|
||||
|
||||
val signature = (if (result.isVerifiedUsingV3Scheme) {
|
||||
result.v3SchemeSigners[0].certificate
|
||||
} else if (result.isVerifiedUsingV2Scheme) {
|
||||
result.v2SchemeSigners[0].certificate
|
||||
} else if (result.isVerifiedUsingV1Scheme) {
|
||||
result.v1SchemeSigners[0].certificate
|
||||
} else {
|
||||
return null
|
||||
}).encoded
|
||||
|
||||
return hexFormat.formatHex(signature)
|
||||
} catch (_: IOException) {
|
||||
} catch (_: InvalidPathException) {
|
||||
} catch (_: ApkFormatException) {
|
||||
} catch (_: NoSuchAlgorithmException) {
|
||||
} catch (_: IllegalArgumentException) {
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
@@ -1,95 +0,0 @@
|
||||
package app.revanced.patches.all.misc.spoof
|
||||
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import app.revanced.util.getNode
|
||||
import com.android.apksig.ApkVerifier
|
||||
import com.android.apksig.apk.ApkFormatException
|
||||
import org.w3c.dom.Element
|
||||
import java.io.ByteArrayInputStream
|
||||
import java.io.IOException
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.InvalidPathException
|
||||
import java.nio.file.attribute.BasicFileAttributes
|
||||
import java.security.NoSuchAlgorithmException
|
||||
import java.security.cert.CertificateException
|
||||
import java.security.cert.CertificateFactory
|
||||
import java.util.*
|
||||
import kotlin.io.path.Path
|
||||
|
||||
val signatureSpoofPatch = resourcePatch(
|
||||
name = "Spoof app signature",
|
||||
description = "Spoofs the app signature via the \"fake-signature\" meta key. " +
|
||||
"This patch only works with patched device roms.",
|
||||
use = false,
|
||||
) {
|
||||
val signature by stringOption(
|
||||
key = "spoofedAppSignature",
|
||||
title = "Signature",
|
||||
validator = { signature ->
|
||||
optionToSignature(signature) != null
|
||||
},
|
||||
description = "The hex-encoded signature or path to an apk file with the desired signature",
|
||||
required = true,
|
||||
)
|
||||
execute {
|
||||
document("AndroidManifest.xml").use { document ->
|
||||
val manifest = document.getNode("manifest") as Element
|
||||
|
||||
val fakeSignaturePermission = document.createElement("uses-permission")
|
||||
fakeSignaturePermission.setAttribute("android:name", "android.permission.FAKE_PACKAGE_SIGNATURE")
|
||||
manifest.appendChild(fakeSignaturePermission)
|
||||
|
||||
val application = document.getNode("application") ?: {
|
||||
val child = document.createElement("application")
|
||||
manifest.appendChild(child)
|
||||
child
|
||||
} as Element;
|
||||
|
||||
val fakeSignatureMetadata = document.createElement("meta-data")
|
||||
fakeSignatureMetadata.setAttribute("android:name", "fake-signature")
|
||||
fakeSignatureMetadata.setAttribute("android:value", optionToSignature(signature))
|
||||
application.appendChild(fakeSignatureMetadata)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal fun optionToSignature(signature: String?): String? {
|
||||
if (signature == null) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
// TODO: Replace with signature.hexToByteArray when stable in kotlin
|
||||
val signatureBytes = HexFormat.of()
|
||||
.parseHex(signature)
|
||||
val factory = CertificateFactory.getInstance("X.509")
|
||||
factory.generateCertificate(ByteArrayInputStream(signatureBytes))
|
||||
return signature;
|
||||
} catch (_: IllegalArgumentException) {
|
||||
} catch (_: CertificateException) {
|
||||
}
|
||||
try {
|
||||
val signaturePath = Path(signature)
|
||||
if (!Files.readAttributes(signaturePath, BasicFileAttributes::class.java).isRegularFile) {
|
||||
return null;
|
||||
}
|
||||
val verifier = ApkVerifier.Builder(signaturePath.toFile())
|
||||
.build()
|
||||
|
||||
val result = verifier.verify()
|
||||
if (result.isVerifiedUsingV3Scheme) {
|
||||
return HexFormat.of().formatHex(result.v3SchemeSigners[0].certificate.encoded)
|
||||
} else if (result.isVerifiedUsingV2Scheme) {
|
||||
return HexFormat.of().formatHex(result.v2SchemeSigners[0].certificate.encoded)
|
||||
} else if (result.isVerifiedUsingV1Scheme) {
|
||||
return HexFormat.of().formatHex(result.v1SchemeSigners[0].certificate.encoded)
|
||||
}
|
||||
|
||||
return null;
|
||||
} catch (_: IOException) {
|
||||
} catch (_: InvalidPathException) {
|
||||
} catch (_: ApkFormatException) {
|
||||
} catch (_: NoSuchAlgorithmException) {
|
||||
} catch (_: IllegalArgumentException) {}
|
||||
return null;
|
||||
}
|
||||
@@ -3,24 +3,38 @@ package app.revanced.patches.cricbuzz.ads
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.cricbuzz.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import app.revanced.util.returnEarly
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
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.FieldReference
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/cricbuzz/ads/HideAdsPatch;"
|
||||
|
||||
@Suppress("unused")
|
||||
val disableAdsPatch = bytecodePatch (
|
||||
name = "Hide ads",
|
||||
) {
|
||||
compatibleWith("com.cricbuzz.android"("6.23.02"))
|
||||
compatibleWith("com.cricbuzz.android"("6.24.01"))
|
||||
|
||||
dependsOn(sharedExtensionPatch)
|
||||
|
||||
execute {
|
||||
userStateSwitchFingerprint.method.apply {
|
||||
val opcodeIndex = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_OBJECT)
|
||||
val register = getInstruction<OneRegisterInstruction>(opcodeIndex).registerA
|
||||
userStateSwitchFingerprint.method.returnEarly(true)
|
||||
|
||||
addInstruction(
|
||||
opcodeIndex + 1,
|
||||
"const-string v$register, \"ACTIVE\""
|
||||
// Remove region-specific Cricbuzz11 elements.
|
||||
cb11ConstructorFingerprint.method.addInstruction(0, "const/4 p7, 0x0")
|
||||
getBottomBarFingerprint.method.apply {
|
||||
val getIndex = indexOfFirstInstructionOrThrow() {
|
||||
opcode == Opcode.IGET_OBJECT && getReference<FieldReference>()?.name == "bottomBar"
|
||||
}
|
||||
val getRegister = getInstruction<TwoRegisterInstruction>(getIndex).registerA
|
||||
|
||||
addInstruction(getIndex + 1,
|
||||
"invoke-static { v$getRegister }, $EXTENSION_CLASS_DESCRIPTOR->filterCb11(Ljava/util/List;)V"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,30 @@ import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal val userStateSwitchFingerprint = fingerprint {
|
||||
strings("key.user.state", "NA")
|
||||
opcodes(Opcode.SPARSE_SWITCH)
|
||||
strings("key.user.state", "NA")
|
||||
}
|
||||
|
||||
internal val cb11ConstructorFingerprint = fingerprint {
|
||||
parameters(
|
||||
"Ljava/lang/String;",
|
||||
"Ljava/lang/String;",
|
||||
"Ljava/lang/String;",
|
||||
"I",
|
||||
"Ljava/lang/String;",
|
||||
"Ljava/lang/String;",
|
||||
"Z",
|
||||
"Ljava/lang/String;",
|
||||
"Ljava/lang/String;",
|
||||
"L"
|
||||
)
|
||||
custom { _, classDef ->
|
||||
classDef.endsWith("CB11Details;")
|
||||
}
|
||||
}
|
||||
|
||||
internal val getBottomBarFingerprint = fingerprint {
|
||||
custom { method, classDef ->
|
||||
method.name == "getBottomBar" && classDef.endsWith("HomeMenu;")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package app.revanced.patches.cricbuzz.misc.extension
|
||||
|
||||
import app.revanced.patches.shared.misc.extension.sharedExtensionPatch
|
||||
|
||||
val sharedExtensionPatch = sharedExtensionPatch("cricbuzz", applicationInitHook)
|
||||
@@ -0,0 +1,9 @@
|
||||
package app.revanced.patches.cricbuzz.misc.extension
|
||||
|
||||
import app.revanced.patches.shared.misc.extension.extensionHook
|
||||
|
||||
internal val applicationInitHook = extensionHook {
|
||||
custom { method, classDef ->
|
||||
method.name == "onCreate" && classDef.endsWith("/NyitoActivity;")
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||
|
||||
@Suppress("unused")
|
||||
val hideAdsPatch = bytecodePatch(
|
||||
name = "Hide Ads"
|
||||
name = "Hide ads"
|
||||
) {
|
||||
compatibleWith("com.crunchyroll.crunchyroid")
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import app.revanced.patcher.patch.bytecodePatch
|
||||
val disableMandatoryLoginPatch = bytecodePatch(
|
||||
name = "Disable mandatory login",
|
||||
) {
|
||||
compatibleWith("com.adobe.lrmobile"("10.0.2"))
|
||||
compatibleWith("com.adobe.lrmobile"("9.3.0"))
|
||||
|
||||
execute {
|
||||
isLoggedInFingerprint.method.apply {
|
||||
|
||||
@@ -7,7 +7,7 @@ import app.revanced.patcher.patch.bytecodePatch
|
||||
val unlockPremiumPatch = bytecodePatch(
|
||||
name = "Unlock Premium",
|
||||
) {
|
||||
compatibleWith("com.adobe.lrmobile"("10.0.2"))
|
||||
compatibleWith("com.adobe.lrmobile"("9.3.0"))
|
||||
|
||||
execute {
|
||||
// Set hasPremium = true.
|
||||
|
||||
@@ -4,9 +4,16 @@ import app.revanced.patcher.Fingerprint
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patches.reddit.customclients.spoofClientPatch
|
||||
import app.revanced.patches.shared.misc.string.replaceStringPatch
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
|
||||
val spoofClientPatch = spoofClientPatch(redirectUri = "http://baconreader.com/auth") { clientIdOption ->
|
||||
dependsOn(
|
||||
// Redirects from SSL to WWW domain are bugged causing auth problems.
|
||||
// Manually rewrite the URLs to fix this.
|
||||
replaceStringPatch("ssl.reddit.com", "www.reddit.com")
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.onelouder.baconreader",
|
||||
"com.onelouder.baconreader.premium",
|
||||
|
||||
@@ -61,7 +61,7 @@ val spoofClientPatch = spoofClientPatch(redirectUri = "redditisfun://auth") { cl
|
||||
// region Patch miscellaneous.
|
||||
|
||||
// Reddit messed up and does not append a redirect uri to the authorization url to old.reddit.com/login.
|
||||
// Replace old.reddit.com with ssl.reddit.com to fix this.
|
||||
// Replace old.reddit.com with www.reddit.com to fix this.
|
||||
buildAuthorizationStringFingerprint.method.apply {
|
||||
val index = indexOfFirstInstructionOrThrow {
|
||||
getReference<StringReference>()?.contains("old.reddit.com") == true
|
||||
@@ -70,7 +70,7 @@ val spoofClientPatch = spoofClientPatch(redirectUri = "redditisfun://auth") { cl
|
||||
val targetRegister = getInstruction<OneRegisterInstruction>(index).registerA
|
||||
replaceInstruction(
|
||||
index,
|
||||
"const-string v$targetRegister, \"https://ssl.reddit.com/api/v1/authorize.compact\"",
|
||||
"const-string v$targetRegister, \"https://www.reddit.com/api/v1/authorize.compact\"",
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patches.reddit.customclients.spoofClientPatch
|
||||
import app.revanced.patches.reddit.customclients.sync.detection.piracy.disablePiracyDetectionPatch
|
||||
import app.revanced.patches.shared.misc.string.replaceStringPatch
|
||||
import app.revanced.util.returnEarly
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
@@ -13,7 +14,12 @@ import java.util.Base64
|
||||
val spoofClientPatch = spoofClientPatch(
|
||||
redirectUri = "http://redditsync/auth",
|
||||
) { clientIdOption ->
|
||||
dependsOn(disablePiracyDetectionPatch)
|
||||
dependsOn(
|
||||
disablePiracyDetectionPatch,
|
||||
// Redirects from SSL to WWW domain are bugged causing auth problems.
|
||||
// Manually rewrite the URLs to fix this.
|
||||
replaceStringPatch("ssl.reddit.com", "www.reddit.com")
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.laurencedawson.reddit_sync",
|
||||
|
||||
@@ -87,8 +87,8 @@ fun sharedExtensionPatch(
|
||||
|
||||
class ExtensionHook internal constructor(
|
||||
internal val fingerprint: Fingerprint,
|
||||
private val insertIndexResolver: ((Method) -> Int),
|
||||
private val contextRegisterResolver: (Method) -> String,
|
||||
private val insertIndexResolver: BytecodePatchContext.(Method) -> Int,
|
||||
private val contextRegisterResolver: BytecodePatchContext.(Method) -> String,
|
||||
) {
|
||||
context(BytecodePatchContext)
|
||||
operator fun invoke(extensionClassDescriptor: String) {
|
||||
@@ -98,19 +98,19 @@ class ExtensionHook internal constructor(
|
||||
fingerprint.method.addInstruction(
|
||||
insertIndex,
|
||||
"invoke-static/range { $contextRegister .. $contextRegister }, " +
|
||||
"$extensionClassDescriptor->setContext(Landroid/content/Context;)V",
|
||||
"$extensionClassDescriptor->setContext(Landroid/content/Context;)V",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun extensionHook(
|
||||
insertIndexResolver: ((Method) -> Int) = { 0 },
|
||||
contextRegisterResolver: (Method) -> String = { "p0" },
|
||||
insertIndexResolver: BytecodePatchContext.(Method) -> Int = { 0 },
|
||||
contextRegisterResolver: BytecodePatchContext.(Method) -> String = { "p0" },
|
||||
fingerprint: Fingerprint,
|
||||
) = ExtensionHook(fingerprint, insertIndexResolver, contextRegisterResolver)
|
||||
|
||||
fun extensionHook(
|
||||
insertIndexResolver: ((Method) -> Int) = { 0 },
|
||||
contextRegisterResolver: (Method) -> String = { "p0" },
|
||||
insertIndexResolver: BytecodePatchContext.(Method) -> Int = { 0 },
|
||||
contextRegisterResolver: BytecodePatchContext.(Method) -> String = { "p0" },
|
||||
fingerprintBuilderBlock: FingerprintBuilder.() -> Unit,
|
||||
) = extensionHook(insertIndexResolver, contextRegisterResolver, fingerprint(block = fingerprintBuilderBlock))
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package app.revanced.patches.shared.misc.string
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.all.misc.transformation.transformInstructionsPatch
|
||||
import app.revanced.util.getReference
|
||||
import com.android.tools.smali.dexlib2.ReferenceType
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.StringReference
|
||||
import kotlin.text.contains
|
||||
|
||||
fun replaceStringPatch(
|
||||
from: String,
|
||||
to: String
|
||||
) = bytecodePatch(
|
||||
description = "Replaces occurrences of '$from' with '$to' in string references.",
|
||||
) {
|
||||
dependsOn(
|
||||
transformInstructionsPatch(
|
||||
filterMap = filterMap@{ _, _, instruction, instructionIndex ->
|
||||
if (instruction.opcode.referenceType != ReferenceType.STRING) return@filterMap null
|
||||
|
||||
val stringReference = instruction.getReference<StringReference>()!!.string
|
||||
if (from !in stringReference) return@filterMap null
|
||||
|
||||
Triple(instructionIndex, instruction as OneRegisterInstruction, stringReference)
|
||||
},
|
||||
transform = transform@{ mutableMethod, entry ->
|
||||
val (instructionIndex, instruction, stringReference) = entry
|
||||
|
||||
val newString = stringReference.replace(from, to)
|
||||
mutableMethod.replaceInstruction(
|
||||
instructionIndex,
|
||||
"${instruction.opcode.name} v${instruction.registerA}, \"$newString\"",
|
||||
)
|
||||
},
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -12,7 +12,7 @@ import app.revanced.patches.soundcloud.shared.featureConstructorFingerprint
|
||||
val hideAdsPatch = bytecodePatch(
|
||||
name = "Hide ads",
|
||||
) {
|
||||
compatibleWith("com.soundcloud.android")
|
||||
compatibleWith("com.soundcloud.android"("2025.05.27-release"))
|
||||
|
||||
execute {
|
||||
// Enable a preset feature to disable audio ads by modifying the JSON server response.
|
||||
|
||||
@@ -8,7 +8,7 @@ val disableTelemetryPatch = bytecodePatch(
|
||||
name = "Disable telemetry",
|
||||
description = "Disables SoundCloud's telemetry system.",
|
||||
) {
|
||||
compatibleWith("com.soundcloud.android")
|
||||
compatibleWith("com.soundcloud.android"("2025.05.27-release"))
|
||||
|
||||
execute {
|
||||
// Empty the "backend" argument to abort the initializer.
|
||||
|
||||
@@ -17,7 +17,7 @@ import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||
val enableOfflineSync = bytecodePatch(
|
||||
name = "Enable offline sync",
|
||||
) {
|
||||
compatibleWith("com.soundcloud.android")
|
||||
compatibleWith("com.soundcloud.android"("2025.05.27-release"))
|
||||
|
||||
execute {
|
||||
// Enable the feature to allow offline track syncing by modifying the JSON server response.
|
||||
|
||||
@@ -6,12 +6,10 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.spotify.shared.IS_SPOTIFY_LEGACY_APP_TARGET
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
import java.util.logging.Logger
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/spotify/layout/hide/createbutton/HideCreateButtonPatch;"
|
||||
@@ -26,13 +24,6 @@ val hideCreateButtonPatch = bytecodePatch(
|
||||
dependsOn(sharedExtensionPatch)
|
||||
|
||||
execute {
|
||||
if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
Logger.getLogger(this::class.java.name).warning(
|
||||
"Create button does not exist in legacy app target. No changes applied."
|
||||
)
|
||||
return@execute
|
||||
}
|
||||
|
||||
val oldNavigationBarAddItemMethod = oldNavigationBarAddItemFingerprint.originalMethodOrNull
|
||||
// Only throw the fingerprint error when oldNavigationBarAddItemMethod does not exist.
|
||||
val navigationBarItemSetClassDef = if (oldNavigationBarAddItemMethod == null) {
|
||||
|
||||
@@ -7,8 +7,8 @@ import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.spotify.shared.IS_SPOTIFY_LEGACY_APP_TARGET
|
||||
import app.revanced.util.*
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
import org.w3c.dom.Element
|
||||
@@ -19,12 +19,6 @@ private val customThemeBytecodePatch = bytecodePatch {
|
||||
dependsOn(sharedExtensionPatch)
|
||||
|
||||
execute {
|
||||
if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
// Bytecode changes are not needed for legacy app target.
|
||||
// Player background color is changed with existing resource patch.
|
||||
return@execute
|
||||
}
|
||||
|
||||
val colorSpaceUtilsClassDef = colorSpaceUtilsClassFingerprint.originalClassDef
|
||||
|
||||
// Hook a util method that converts ARGB to RGBA in the sRGB color space to replace hardcoded accent colors.
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
package app.revanced.patches.spotify.lite.ondemand
|
||||
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import app.revanced.patcher.fingerprint
|
||||
|
||||
internal val onDemandFingerprint = fingerprint(fuzzyPatternScanThreshold = 2) {
|
||||
returns("L")
|
||||
parameters()
|
||||
opcodes(
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.GOTO,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.IPUT,
|
||||
Opcode.RETURN_OBJECT,
|
||||
)
|
||||
}
|
||||
@@ -1,21 +1,9 @@
|
||||
package app.revanced.patches.spotify.lite.ondemand
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
|
||||
@Deprecated("Patch no longer works and will be deleted soon")
|
||||
@Suppress("unused")
|
||||
val onDemandPatch = bytecodePatch(
|
||||
description = "Enables listening to songs on-demand, allowing to play any song from playlists, albums or artists without limitations. This does not remove ads.",
|
||||
) {
|
||||
compatibleWith("com.spotify.lite")
|
||||
|
||||
execute {
|
||||
// Spoof a premium account
|
||||
|
||||
onDemandFingerprint.method.addInstruction(
|
||||
onDemandFingerprint.patternMatch!!.endIndex - 1,
|
||||
"const/4 v0, 0x2",
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@@ -2,7 +2,6 @@ package app.revanced.patches.spotify.misc
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.patcher.patch.BytecodePatchContext
|
||||
import app.revanced.patches.spotify.shared.IS_SPOTIFY_LEGACY_APP_TARGET
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstruction
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
@@ -13,25 +12,13 @@ import com.android.tools.smali.dexlib2.iface.reference.TypeReference
|
||||
|
||||
context(BytecodePatchContext)
|
||||
internal val accountAttributeFingerprint get() = fingerprint {
|
||||
custom { _, classDef ->
|
||||
classDef.type == if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
"Lcom/spotify/useraccount/v1/AccountAttribute;"
|
||||
} else {
|
||||
"Lcom/spotify/remoteconfig/internal/AccountAttribute;"
|
||||
}
|
||||
}
|
||||
custom { _, classDef -> classDef.type == "Lcom/spotify/remoteconfig/internal/AccountAttribute;" }
|
||||
}
|
||||
|
||||
context(BytecodePatchContext)
|
||||
internal val productStateProtoGetMapFingerprint get() = fingerprint {
|
||||
returns("Ljava/util/Map;")
|
||||
custom { _, classDef ->
|
||||
classDef.type == if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
"Lcom/spotify/ucs/proto/v0/UcsResponseWrapper${'$'}AccountAttributesResponse;"
|
||||
} else {
|
||||
"Lcom/spotify/remoteconfig/internal/ProductStateProto;"
|
||||
}
|
||||
}
|
||||
custom { _, classDef -> classDef.type == "Lcom/spotify/remoteconfig/internal/ProductStateProto;" }
|
||||
}
|
||||
|
||||
internal val buildQueryParametersFingerprint = fingerprint {
|
||||
@@ -42,7 +29,10 @@ internal val contextMenuViewModelClassFingerprint = fingerprint {
|
||||
strings("ContextMenuViewModel(header=")
|
||||
}
|
||||
|
||||
internal val contextMenuViewModelAddItemFingerprint = fingerprint {
|
||||
/**
|
||||
* Used in versions older than "9.0.60.128".
|
||||
*/
|
||||
internal val oldContextMenuViewModelAddItemFingerprint = fingerprint {
|
||||
parameters("L")
|
||||
returns("V")
|
||||
custom { method, _ ->
|
||||
@@ -52,6 +42,27 @@ internal val contextMenuViewModelAddItemFingerprint = fingerprint {
|
||||
}
|
||||
}
|
||||
|
||||
internal val contextMenuViewModelConstructorFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to find the interface name of a context menu item.
|
||||
*/
|
||||
internal val removeAdsContextMenuItemClassFingerprint = fingerprint {
|
||||
strings("remove_ads_item", "ui_navigate")
|
||||
}
|
||||
|
||||
internal const val CONTEXT_MENU_ITEM_CLASS_DESCRIPTOR_PLACEHOLDER = "Lapp/revanced/ContextMenuItemPlaceholder;"
|
||||
internal val extensionFilterContextMenuItemsFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
|
||||
returns("Ljava/util/List;")
|
||||
parameters("Ljava/util/List;")
|
||||
custom { method, classDef ->
|
||||
method.name == "filterContextMenuItems" && classDef.type == EXTENSION_CLASS_DESCRIPTOR
|
||||
}
|
||||
}
|
||||
|
||||
internal val getViewModelFingerprint = fingerprint {
|
||||
custom { method, _ -> method.name == "getViewModel" }
|
||||
}
|
||||
@@ -66,14 +77,14 @@ internal val contextFromJsonFingerprint = fingerprint {
|
||||
)
|
||||
custom { method, classDef ->
|
||||
method.name == "fromJson" &&
|
||||
classDef.endsWith("voiceassistants/playermodels/ContextJsonAdapter;")
|
||||
classDef.type.endsWith("voiceassistants/playermodels/ContextJsonAdapter;")
|
||||
}
|
||||
}
|
||||
|
||||
internal val readPlayerOptionOverridesFingerprint = fingerprint {
|
||||
custom { method, classDef ->
|
||||
method.name == "readPlayerOptionOverrides" &&
|
||||
classDef.endsWith("voiceassistants/playermodels/PreparePlayOptionsJsonAdapter;")
|
||||
classDef.type.endsWith("voiceassistants/playermodels/PreparePlayOptionsJsonAdapter;")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,23 +104,23 @@ internal val abstractProtobufListEnsureIsMutableFingerprint = fingerprint {
|
||||
}
|
||||
}
|
||||
|
||||
private fun structureGetSectionsFingerprint(className: String) = fingerprint {
|
||||
internal fun structureGetSectionsFingerprint(className: String) = fingerprint {
|
||||
custom { method, classDef ->
|
||||
classDef.endsWith(className) && method.indexOfFirstInstruction {
|
||||
classDef.type.endsWith(className) && method.indexOfFirstInstruction {
|
||||
opcode == Opcode.IGET_OBJECT && getReference<FieldReference>()?.name == "sections_"
|
||||
} >= 0
|
||||
}
|
||||
}
|
||||
|
||||
internal val homeSectionFingerprint = fingerprint {
|
||||
custom { _, classDef -> classDef.endsWith("homeapi/proto/Section;") }
|
||||
custom { _, classDef -> classDef.type.endsWith("homeapi/proto/Section;") }
|
||||
}
|
||||
|
||||
internal val homeStructureGetSectionsFingerprint =
|
||||
structureGetSectionsFingerprint("homeapi/proto/HomeStructure;")
|
||||
|
||||
internal val browseSectionFingerprint = fingerprint {
|
||||
custom { _, classDef -> classDef.endsWith("browsita/v1/resolved/Section;") }
|
||||
custom { _, classDef-> classDef.type.endsWith("browsita/v1/resolved/Section;") }
|
||||
}
|
||||
|
||||
internal val browseStructureGetSectionsFingerprint =
|
||||
|
||||
@@ -2,4 +2,8 @@ package app.revanced.patches.spotify.misc.extension
|
||||
|
||||
import app.revanced.patches.shared.misc.extension.sharedExtensionPatch
|
||||
|
||||
val sharedExtensionPatch = sharedExtensionPatch("spotify", mainActivityOnCreateHook)
|
||||
val sharedExtensionPatch = sharedExtensionPatch(
|
||||
"spotify",
|
||||
mainActivityOnCreateHook,
|
||||
loadOrbitLibraryHook
|
||||
)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package app.revanced.patches.spotify.misc.extension
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
|
||||
internal val loadOrbitLibraryFingerprint = fingerprint {
|
||||
strings("OrbitLibraryLoader", "cst")
|
||||
}
|
||||
@@ -1,6 +1,26 @@
|
||||
package app.revanced.patches.spotify.misc.extension
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patches.shared.misc.extension.extensionHook
|
||||
import app.revanced.patches.spotify.shared.mainActivityOnCreateFingerprint
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||
|
||||
internal val mainActivityOnCreateHook = extensionHook(fingerprint = mainActivityOnCreateFingerprint)
|
||||
|
||||
internal val loadOrbitLibraryHook = extensionHook(
|
||||
insertIndexResolver = {
|
||||
loadOrbitLibraryFingerprint.stringMatches!!.last().index
|
||||
},
|
||||
contextRegisterResolver = { method ->
|
||||
val contextReferenceIndex = method.indexOfFirstInstruction {
|
||||
getReference<FieldReference>()?.type == "Landroid/content/Context;"
|
||||
}
|
||||
val contextRegister = method.getInstruction<TwoRegisterInstruction>(contextReferenceIndex).registerA
|
||||
|
||||
"v$contextRegister"
|
||||
},
|
||||
fingerprint = loadOrbitLibraryFingerprint,
|
||||
)
|
||||
|
||||
@@ -1,29 +1,36 @@
|
||||
package app.revanced.patches.spotify.misc.fix
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstruction
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
internal val getPackageInfoFingerprint = fingerprint {
|
||||
strings(
|
||||
"Failed to get the application signatures"
|
||||
)
|
||||
}
|
||||
|
||||
internal val startLiborbitFingerprint = fingerprint {
|
||||
internal val loadOrbitLibraryFingerprint = fingerprint {
|
||||
strings("/liborbit-jni-spotify.so")
|
||||
}
|
||||
|
||||
internal val startupPageLayoutInflateFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("Landroid/view/View;")
|
||||
parameters("Landroid/view/LayoutInflater;", "Landroid/view/ViewGroup;", "Landroid/os/Bundle;")
|
||||
strings("blueprintContainer", "gradient", "valuePropositionTextView")
|
||||
internal val extensionFixConstantsFingerprint = fingerprint {
|
||||
custom { _, classDef -> classDef.type == "Lapp/revanced/extension/spotify/misc/fix/Constants;" }
|
||||
}
|
||||
|
||||
internal val standardIntegrityTokenProviderBuilderFingerprint = fingerprint {
|
||||
strings(
|
||||
"standard_pi_init",
|
||||
"outcome",
|
||||
"success"
|
||||
internal val runIntegrityVerificationFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("V")
|
||||
opcodes(
|
||||
Opcode.CHECK_CAST,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.INVOKE_STATIC, // Calendar.getInstance()
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL, // instance.get(6)
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.IF_EQ, // if (x == instance.get(6)) return
|
||||
)
|
||||
custom { method, _ ->
|
||||
method.indexOfFirstInstruction {
|
||||
val reference = getReference<MethodReference>()
|
||||
reference?.definingClass == "Ljava/util/Calendar;" && reference.name == "get"
|
||||
} >= 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,13 @@
|
||||
package app.revanced.patches.spotify.misc.fix
|
||||
|
||||
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.bytecodePatch
|
||||
import app.revanced.patcher.patch.intOption
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import app.revanced.patches.shared.misc.hex.HexPatchBuilder
|
||||
import app.revanced.patches.shared.misc.hex.hexPatch
|
||||
import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.util.findInstructionIndicesReversedOrThrow
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionReversedOrThrow
|
||||
import app.revanced.util.returnEarly
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/spotify/misc/fix/SpoofClientPatch;"
|
||||
|
||||
@@ -24,19 +16,43 @@ val spoofClientPatch = bytecodePatch(
|
||||
name = "Spoof client",
|
||||
description = "Spoofs the client to fix various functions of the app.",
|
||||
) {
|
||||
val port by intOption(
|
||||
key = "port",
|
||||
val requestListenerPort by intOption(
|
||||
key = "requestListenerPort",
|
||||
default = 4345,
|
||||
title = " Login request listener port",
|
||||
description = "The port to use for the listener that intercepts and handles login requests. " +
|
||||
"Port must be between 0 and 65535.",
|
||||
required = true,
|
||||
title = "Request listener port",
|
||||
description = "The port to use for the listener that intercepts and handles spoofed requests. " +
|
||||
"Port must be between 0 and 65535. " +
|
||||
"Do not change this option, if you do not know what you are doing.",
|
||||
validator = {
|
||||
it!!
|
||||
!(it < 0 || it > 65535)
|
||||
}
|
||||
)
|
||||
|
||||
val clientVersion by stringOption(
|
||||
key = "clientVersion",
|
||||
default = "iphone-9.0.58.558.g200011c",
|
||||
title = "Client version",
|
||||
description = "The client version used for spoofing the client token. " +
|
||||
"Do not change this option, if you do not know what you are doing."
|
||||
)
|
||||
|
||||
val hardwareMachine by stringOption(
|
||||
key = "hardwareMachine",
|
||||
default = "iPhone16,1",
|
||||
title = "Hardware machine",
|
||||
description = "The hardware machine used for spoofing the client token. " +
|
||||
"Do not change this option, if you do not know what you are doing."
|
||||
)
|
||||
|
||||
val systemVersion by stringOption(
|
||||
key = "systemVersion",
|
||||
default = "17.7.2",
|
||||
title = "System version",
|
||||
description = "The system version used for spoofing the client token. " +
|
||||
"Do not change this option, if you do not know what you are doing."
|
||||
)
|
||||
|
||||
dependsOn(
|
||||
sharedExtensionPatch,
|
||||
hexPatch(ignoreMissingTargetFiles = true, block = fun HexPatchBuilder.() {
|
||||
@@ -46,10 +62,8 @@ val spoofClientPatch = bytecodePatch(
|
||||
"x86",
|
||||
"x86_64"
|
||||
).forEach { architecture ->
|
||||
"https://login5.spotify.com/v3/login" to "http://127.0.0.1:$port/v3/login" inFile
|
||||
"lib/$architecture/liborbit-jni-spotify.so"
|
||||
|
||||
"https://login5.spotify.com/v4/login" to "http://127.0.0.1:$port/v4/login" inFile
|
||||
"https://clienttoken.spotify.com/v1/clienttoken" to
|
||||
"http://127.0.0.1:$requestListenerPort/v1/clienttoken" inFile
|
||||
"lib/$architecture/liborbit-jni-spotify.so"
|
||||
}
|
||||
})
|
||||
@@ -58,69 +72,31 @@ val spoofClientPatch = bytecodePatch(
|
||||
compatibleWith("com.spotify.music")
|
||||
|
||||
execute {
|
||||
getPackageInfoFingerprint.method.apply {
|
||||
// region Spoof signature.
|
||||
// region Spoof client.
|
||||
|
||||
val failedToGetSignaturesStringIndex =
|
||||
getPackageInfoFingerprint.stringMatches!!.first().index
|
||||
|
||||
val concatSignaturesIndex = indexOfFirstInstructionReversedOrThrow(
|
||||
failedToGetSignaturesStringIndex,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
)
|
||||
|
||||
val signatureRegister = getInstruction<OneRegisterInstruction>(concatSignaturesIndex).registerA
|
||||
val expectedSignature = "d6a6dced4a85f24204bf9505ccc1fce114cadb32"
|
||||
|
||||
replaceInstruction(concatSignaturesIndex, "const-string v$signatureRegister, \"$expectedSignature\"")
|
||||
|
||||
// endregion
|
||||
|
||||
// region Spoof installer name.
|
||||
|
||||
val expectedInstallerName = "com.android.vending"
|
||||
|
||||
findInstructionIndicesReversedOrThrow {
|
||||
val reference = getReference<MethodReference>()
|
||||
reference?.name == "getInstallerPackageName" || reference?.name == "getInstallingPackageName"
|
||||
}.forEach { index ->
|
||||
val returnObjectIndex = index + 1
|
||||
|
||||
val installerPackageNameRegister = getInstruction<OneRegisterInstruction>(
|
||||
returnObjectIndex
|
||||
).registerA
|
||||
|
||||
addInstruction(
|
||||
returnObjectIndex + 1,
|
||||
"const-string v$installerPackageNameRegister, \"$expectedInstallerName\""
|
||||
)
|
||||
}
|
||||
|
||||
// endregion
|
||||
}
|
||||
|
||||
startLiborbitFingerprint.method.addInstructions(
|
||||
loadOrbitLibraryFingerprint.method.addInstructions(
|
||||
0,
|
||||
"""
|
||||
const/16 v0, $port
|
||||
invoke-static { v0 }, $EXTENSION_CLASS_DESCRIPTOR->listen(I)V
|
||||
const/16 v0, $requestListenerPort
|
||||
invoke-static { v0 }, $EXTENSION_CLASS_DESCRIPTOR->launchListener(I)V
|
||||
"""
|
||||
)
|
||||
|
||||
startupPageLayoutInflateFingerprint.method.apply {
|
||||
val openLoginWebViewDescriptor =
|
||||
"$EXTENSION_CLASS_DESCRIPTOR->login(Landroid/view/LayoutInflater;)V"
|
||||
|
||||
addInstructions(
|
||||
0,
|
||||
"""
|
||||
move-object/from16 v3, p1
|
||||
invoke-static { v3 }, $openLoginWebViewDescriptor
|
||||
"""
|
||||
)
|
||||
mapOf(
|
||||
"getClientVersion" to clientVersion!!,
|
||||
"getSystemVersion" to systemVersion!!,
|
||||
"getHardwareMachine" to hardwareMachine!!
|
||||
).forEach { (methodName, value) ->
|
||||
extensionFixConstantsFingerprint.classDef.methods.single { it.name == methodName }.returnEarly(value)
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region Disable verdicts.
|
||||
|
||||
// Early return to block sending bad verdicts to the API.
|
||||
standardIntegrityTokenProviderBuilderFingerprint.method.returnEarly()
|
||||
runIntegrityVerificationFingerprint.method.returnEarly()
|
||||
|
||||
// endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.spotify.shared.IS_SPOTIFY_LEGACY_APP_TARGET
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import app.revanced.util.indexOfFirstInstructionReversedOrThrow
|
||||
@@ -57,16 +56,10 @@ val changeLyricsProviderPatch = bytecodePatch(
|
||||
}
|
||||
|
||||
execute {
|
||||
if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
Logger.getLogger(this::class.java.name).severe(
|
||||
"Change lyrics provider patch is not supported for this target version."
|
||||
)
|
||||
return@execute
|
||||
}
|
||||
|
||||
val httpClientBuilderMethod = httpClientBuilderFingerprint.originalMethod
|
||||
|
||||
// region Create a modified copy of the HTTP client builder method with the custom lyrics provider host.
|
||||
|
||||
val patchedHttpClientBuilderMethod = with(httpClientBuilderMethod) {
|
||||
val invokeBuildUrlIndex = indexOfFirstInstructionOrThrow {
|
||||
getReference<MethodReference>()?.returnType == "Lokhttp3/HttpUrl;"
|
||||
@@ -89,9 +82,11 @@ val changeLyricsProviderPatch = bytecodePatch(
|
||||
httpClientBuilderFingerprint.classDef.methods.add(this)
|
||||
}
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
// region Replace the call to the HTTP client builder method used exclusively for lyrics by the modified one.
|
||||
|
||||
getLyricsHttpClientFingerprint(httpClientBuilderMethod).method.apply {
|
||||
val getLyricsHttpClientIndex = indexOfFirstInstructionOrThrow {
|
||||
getReference<MethodReference>() == httpClientBuilderMethod
|
||||
@@ -118,6 +113,7 @@ val changeLyricsProviderPatch = bytecodePatch(
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
//endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ internal val shareCopyUrlFingerprint = fingerprint {
|
||||
}
|
||||
}
|
||||
|
||||
internal val shareCopyUrlLegacyFingerprint = fingerprint {
|
||||
internal val oldShareCopyUrlFingerprint = fingerprint {
|
||||
returns("Ljava/lang/Object;")
|
||||
parameters("Ljava/lang/Object;")
|
||||
strings("clipboard", "createNewSession failed")
|
||||
@@ -38,7 +38,7 @@ internal val formatAndroidShareSheetUrlFingerprint = fingerprint {
|
||||
}
|
||||
}
|
||||
|
||||
internal val formatAndroidShareSheetUrlLegacyFingerprint = fingerprint {
|
||||
internal val oldFormatAndroidShareSheetUrlFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC)
|
||||
returns("Ljava/lang/String;")
|
||||
parameters("Lcom/spotify/share/social/sharedata/ShareData;", "Ljava/lang/String;")
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package app.revanced.patches.spotify.misc.privacy
|
||||
|
||||
import app.revanced.patcher.Fingerprint
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.spotify.shared.IS_SPOTIFY_LEGACY_APP_TARGET
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
@@ -28,10 +26,10 @@ val sanitizeSharingLinksPatch = bytecodePatch(
|
||||
val extensionMethodDescriptor = "$EXTENSION_CLASS_DESCRIPTOR->" +
|
||||
"sanitizeUrl(Ljava/lang/String;)Ljava/lang/String;"
|
||||
|
||||
val copyFingerprint = if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
shareCopyUrlLegacyFingerprint
|
||||
} else {
|
||||
val copyFingerprint = if (shareCopyUrlFingerprint.originalMethodOrNull != null) {
|
||||
shareCopyUrlFingerprint
|
||||
} else {
|
||||
oldShareCopyUrlFingerprint
|
||||
}
|
||||
|
||||
copyFingerprint.method.apply {
|
||||
@@ -50,15 +48,10 @@ val sanitizeSharingLinksPatch = bytecodePatch(
|
||||
}
|
||||
|
||||
// Android native share sheet is used for all other quick share types (X, WhatsApp, etc).
|
||||
val shareUrlParameter : String
|
||||
val shareSheetFingerprint : Fingerprint
|
||||
if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
shareSheetFingerprint = formatAndroidShareSheetUrlLegacyFingerprint
|
||||
shareUrlParameter = "p2"
|
||||
} else {
|
||||
shareSheetFingerprint = formatAndroidShareSheetUrlFingerprint
|
||||
val methodAccessFlags = formatAndroidShareSheetUrlFingerprint.originalMethod.accessFlags
|
||||
shareUrlParameter = if (AccessFlags.STATIC.isSet(methodAccessFlags)) {
|
||||
val shareUrlParameter: String
|
||||
val shareSheetFingerprint = if (formatAndroidShareSheetUrlFingerprint.originalMethodOrNull != null) {
|
||||
val methodAccessFlags = formatAndroidShareSheetUrlFingerprint.originalMethod
|
||||
shareUrlParameter = if (AccessFlags.STATIC.isSet(methodAccessFlags.accessFlags)) {
|
||||
// In newer implementations the method is static, so p0 is not `this`.
|
||||
"p1"
|
||||
} else {
|
||||
@@ -66,6 +59,11 @@ val sanitizeSharingLinksPatch = bytecodePatch(
|
||||
// For that reason, add one to the parameter register.
|
||||
"p2"
|
||||
}
|
||||
|
||||
formatAndroidShareSheetUrlFingerprint
|
||||
} else {
|
||||
shareUrlParameter = "p2"
|
||||
oldFormatAndroidShareSheetUrlFingerprint
|
||||
}
|
||||
|
||||
shareSheetFingerprint.method.addInstructions(
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
package app.revanced.patches.spotify.misc.widgets
|
||||
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.spotify.shared.IS_SPOTIFY_LEGACY_APP_TARGET
|
||||
import app.revanced.util.returnEarly
|
||||
import java.util.logging.Logger
|
||||
|
||||
@Suppress("unused")
|
||||
val fixThirdPartyLaunchersWidgets = bytecodePatch(
|
||||
@@ -13,14 +11,6 @@ val fixThirdPartyLaunchersWidgets = bytecodePatch(
|
||||
compatibleWith("com.spotify.music")
|
||||
|
||||
execute {
|
||||
if (IS_SPOTIFY_LEGACY_APP_TARGET) {
|
||||
// The permission check does not exist in legacy versions.
|
||||
Logger.getLogger(this::class.java.name).warning(
|
||||
"Legacy app target does not have any third party launcher restrictions. No changes applied."
|
||||
)
|
||||
return@execute
|
||||
}
|
||||
|
||||
// Only system app launchers are granted the BIND_APPWIDGET permission.
|
||||
// Override the method that checks for it to always return true, as this permission is not actually required
|
||||
// for the widgets to work.
|
||||
|
||||
@@ -1,34 +1,15 @@
|
||||
package app.revanced.patches.spotify.shared
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.patcher.patch.BytecodePatchContext
|
||||
import app.revanced.patches.spotify.misc.extension.mainActivityOnCreateHook
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
private const val SPOTIFY_MAIN_ACTIVITY = "Lcom/spotify/music/SpotifyMainActivity;"
|
||||
|
||||
/**
|
||||
* Main activity of target 8.6.98.900.
|
||||
*/
|
||||
internal const val SPOTIFY_MAIN_ACTIVITY_LEGACY = "Lcom/spotify/music/MainActivity;"
|
||||
|
||||
internal val mainActivityOnCreateFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("V")
|
||||
parameters("Landroid/os/Bundle;")
|
||||
custom { method, classDef ->
|
||||
method.name == "onCreate" && (classDef.type == SPOTIFY_MAIN_ACTIVITY
|
||||
|| classDef.type == SPOTIFY_MAIN_ACTIVITY_LEGACY)
|
||||
method.name == "onCreate" && classDef.type == SPOTIFY_MAIN_ACTIVITY
|
||||
}
|
||||
}
|
||||
|
||||
private var isLegacyAppTarget: Boolean? = null
|
||||
|
||||
/**
|
||||
* If patching a legacy 8.x target. This may also be set if patching slightly older/newer app targets,
|
||||
* but the only legacy target of interest is 8.6.98.900 as it's the last version that
|
||||
* supports Spotify integration on Kenwood/Pioneer car stereos.
|
||||
*/
|
||||
context(BytecodePatchContext)
|
||||
internal val IS_SPOTIFY_LEGACY_APP_TARGET get(): Boolean {
|
||||
if (isLegacyAppTarget == null) {
|
||||
isLegacyAppTarget = mainActivityOnCreateHook.fingerprint.originalClassDef.type == SPOTIFY_MAIN_ACTIVITY_LEGACY
|
||||
}
|
||||
return isLegacyAppTarget!!
|
||||
}
|
||||
|
||||
@@ -43,17 +43,16 @@ private val hideAdsResourcePatch = resourcePatch {
|
||||
addResources("youtube", "ad.general.hideAdsResourcePatch")
|
||||
|
||||
PreferenceScreen.ADS.addPreferences(
|
||||
SwitchPreference("revanced_hide_general_ads"),
|
||||
SwitchPreference("revanced_hide_creator_store_shelf"),
|
||||
SwitchPreference("revanced_hide_end_screen_store_banner"),
|
||||
SwitchPreference("revanced_hide_fullscreen_ads"),
|
||||
SwitchPreference("revanced_hide_paid_promotion_label"),
|
||||
SwitchPreference("revanced_hide_player_store_shelf"),
|
||||
SwitchPreference("revanced_hide_self_sponsor_ads"),
|
||||
SwitchPreference("revanced_hide_products_banner"),
|
||||
SwitchPreference("revanced_hide_shopping_links"),
|
||||
SwitchPreference("revanced_hide_visit_store_button"),
|
||||
SwitchPreference("revanced_hide_web_search_results"),
|
||||
SwitchPreference("revanced_hide_general_ads"),
|
||||
SwitchPreference("revanced_hide_merchandise_banners"),
|
||||
SwitchPreference("revanced_hide_paid_promotion_label"),
|
||||
SwitchPreference("revanced_hide_self_sponsor_ads"),
|
||||
SwitchPreference("revanced_hide_shopping_links"),
|
||||
SwitchPreference("revanced_hide_view_products_banner"),
|
||||
SwitchPreference("revanced_hide_web_search_results"),
|
||||
)
|
||||
|
||||
addLithoFilter("Lapp/revanced/extension/youtube/patches/components/AdsFilter;")
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package app.revanced.patches.youtube.interaction.doubletap
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/DisableChapterSkipDoubleTapPatch;"
|
||||
|
||||
@Suppress("unused")
|
||||
val disableChapterSkipDoubleTapPatch = bytecodePatch(
|
||||
name = "Disable double tap actions",
|
||||
description = "Adds an option to disable player double tap gestures.",
|
||||
) {
|
||||
dependsOn(
|
||||
sharedExtensionPatch,
|
||||
settingsPatch,
|
||||
addResourcesPatch,
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
"20.12.46",
|
||||
"20.13.41",
|
||||
)
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "interaction.doubletap.disableChapterSkipDoubleTapPatch")
|
||||
|
||||
PreferenceScreen.PLAYER.addPreferences(
|
||||
SwitchPreference("revanced_disable_chapter_skip_double_tap"),
|
||||
)
|
||||
|
||||
// Force isChapterSeek flag to false.
|
||||
doubleTapInfoGetSeekSourceFingerprint.method.addInstructions(
|
||||
0,
|
||||
"""
|
||||
invoke-static { p1 }, $EXTENSION_CLASS_DESCRIPTOR->disableDoubleTapChapters(Z)Z
|
||||
move-result p1
|
||||
"""
|
||||
)
|
||||
|
||||
doubleTapInfoCtorFingerprint.match(
|
||||
doubleTapInfoGetSeekSourceFingerprint.classDef
|
||||
).method.addInstructions(
|
||||
0,
|
||||
"""
|
||||
invoke-static { p3 }, $EXTENSION_CLASS_DESCRIPTOR->disableDoubleTapChapters(Z)Z
|
||||
move-result p3
|
||||
"""
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package app.revanced.patches.youtube.interaction.doubletap
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal val doubleTapInfoGetSeekSourceFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
parameters("Z")
|
||||
returns("L") // Enum SeekSource, but name obfuscated.
|
||||
opcodes(
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.RETURN_OBJECT,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.RETURN_OBJECT,
|
||||
)
|
||||
custom { _, classDef ->
|
||||
classDef.fields.count() == 4
|
||||
}
|
||||
}
|
||||
|
||||
internal val doubleTapInfoCtorFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
|
||||
parameters(
|
||||
"Landroid/view/MotionEvent;",
|
||||
"I",
|
||||
"Z",
|
||||
"Lj\$/time/Duration;"
|
||||
)
|
||||
}
|
||||
@@ -73,12 +73,9 @@ val enableSlideToSeekPatch = bytecodePatch(
|
||||
|
||||
// Disable the double speed seek gesture.
|
||||
if (is_19_17_or_greater) {
|
||||
arrayOf(
|
||||
disableFastForwardGestureFingerprint,
|
||||
disableFastForwardNoticeFingerprint,
|
||||
).forEach { fingerprint ->
|
||||
fingerprint.method.apply {
|
||||
val targetIndex = fingerprint.patternMatch!!.endIndex
|
||||
disableFastForwardGestureFingerprint.let {
|
||||
it.method.apply {
|
||||
val targetIndex = it.patternMatch!!.endIndex
|
||||
val targetRegister = getInstruction<OneRegisterInstruction>(targetIndex).registerA
|
||||
|
||||
addInstructions(
|
||||
|
||||
@@ -3,14 +3,12 @@ package app.revanced.patches.youtube.interaction.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.indexOfFirstInstructionReversed
|
||||
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.Method
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
import com.android.tools.smali.dexlib2.iface.reference.StringReference
|
||||
|
||||
internal val swipingUpGestureParentFingerprint = fingerprint {
|
||||
returns("Z")
|
||||
@@ -59,25 +57,6 @@ internal val disableFastForwardGestureFingerprint = fingerprint {
|
||||
}
|
||||
}
|
||||
|
||||
internal val disableFastForwardNoticeFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("V")
|
||||
parameters()
|
||||
opcodes(
|
||||
Opcode.CHECK_CAST,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
)
|
||||
custom { method, _ ->
|
||||
method.name == "run" && method.indexOfFirstInstruction {
|
||||
// In later targets the code is found in different methods with different strings.
|
||||
val string = getReference<StringReference>()?.string
|
||||
string == "Failed to easy seek haptics vibrate." || string == "search_landing_cache_key"
|
||||
} >= 0
|
||||
}
|
||||
}
|
||||
|
||||
internal val onTouchEventHandlerFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.PUBLIC)
|
||||
returns("Z")
|
||||
|
||||
@@ -1,43 +1,95 @@
|
||||
package app.revanced.patches.youtube.layout.branding.header
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.PatchException
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import app.revanced.patches.youtube.misc.playservice.is_19_25_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||
import app.revanced.patcher.util.Document
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.mapping.get
|
||||
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
|
||||
import app.revanced.patches.shared.misc.mapping.resourceMappings
|
||||
import app.revanced.patches.shared.misc.settings.preference.ListPreference
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.util.ResourceGroup
|
||||
import app.revanced.util.Utils.trimIndentMultiline
|
||||
import app.revanced.util.copyResources
|
||||
import app.revanced.util.findElementByAttributeValueOrThrow
|
||||
import app.revanced.util.forEachLiteralValueInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import java.io.File
|
||||
|
||||
private const val HEADER_FILE_NAME = "yt_wordmark_header"
|
||||
private const val PREMIUM_HEADER_FILE_NAME = "yt_premium_wordmark_header"
|
||||
private val variants = arrayOf("light", "dark")
|
||||
|
||||
private const val HEADER_OPTION = "header*"
|
||||
private const val PREMIUM_HEADER_OPTION = "premium*header"
|
||||
private const val REVANCED_HEADER_OPTION = "revanced*"
|
||||
private const val REVANCED_BORDERLESS_HEADER_OPTION = "revanced*borderless"
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/ChangeHeaderPatch;"
|
||||
|
||||
private val changeHeaderBytecodePatch = bytecodePatch {
|
||||
dependsOn(resourceMappingPatch)
|
||||
|
||||
execute {
|
||||
// Resources are not used during patching, but extension code uses these
|
||||
// images so verify they exist.
|
||||
arrayOf(
|
||||
"yt_ringo2_wordmark_header",
|
||||
"yt_ringo2_premium_wordmark_header"
|
||||
).forEach { resource ->
|
||||
variants.forEach { theme ->
|
||||
resourceMappings["drawable", resource + "_" + theme]
|
||||
}
|
||||
}
|
||||
|
||||
arrayOf(
|
||||
"ytWordmarkHeader",
|
||||
"ytPremiumWordmarkHeader"
|
||||
).forEach { resourceName ->
|
||||
val resourceId = resourceMappings["attr", resourceName]
|
||||
|
||||
forEachLiteralValueInstruction(resourceId) { literalIndex ->
|
||||
val register = getInstruction<OneRegisterInstruction>(literalIndex).registerA
|
||||
addInstructions(
|
||||
literalIndex + 1,
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getHeaderAttributeId(I)I
|
||||
move-result v$register
|
||||
"""
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private val targetResourceDirectoryNames = mapOf(
|
||||
"xxxhdpi" to "512px x 192px",
|
||||
"xxhdpi" to "387px x 144px",
|
||||
"xhdpi" to "258px x 96px",
|
||||
"hdpi" to "194px x 72px",
|
||||
"mdpi" to "129px x 48px",
|
||||
).map { (dpi, dim) ->
|
||||
"drawable-$dpi" to dim
|
||||
}.toMap()
|
||||
"mdpi" to "129px x 48px"
|
||||
).mapKeys { (dpi, _) -> "drawable-$dpi" }
|
||||
|
||||
private val variants = arrayOf("light", "dark")
|
||||
|
||||
/**
|
||||
* Header logos built into this patch.
|
||||
*/
|
||||
private val logoResourceNames = arrayOf(
|
||||
"revanced_header_logo_minimal",
|
||||
"revanced_header_logo",
|
||||
)
|
||||
|
||||
/**
|
||||
* Custom header resource/file name.
|
||||
*/
|
||||
private const val CUSTOM_HEADER_RESOURCE_NAME = "custom_header"
|
||||
|
||||
@Suppress("unused")
|
||||
val changeHeaderPatch = resourcePatch(
|
||||
name = "Change header",
|
||||
description = "Applies a custom header in the top left corner within the app. Defaults to the ReVanced header.",
|
||||
use = false,
|
||||
description = "Adds an option to change the header logo in the top left corner of the app.",
|
||||
) {
|
||||
dependsOn(versionCheckPatch)
|
||||
dependsOn(addResourcesPatch, changeHeaderBytecodePatch)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
@@ -50,85 +102,46 @@ val changeHeaderPatch = resourcePatch(
|
||||
)
|
||||
)
|
||||
|
||||
val header by stringOption(
|
||||
key = "header",
|
||||
default = REVANCED_BORDERLESS_HEADER_OPTION,
|
||||
values = mapOf(
|
||||
"YouTube" to HEADER_OPTION,
|
||||
"YouTube Premium" to PREMIUM_HEADER_OPTION,
|
||||
"ReVanced" to REVANCED_HEADER_OPTION,
|
||||
"ReVanced (borderless logo)" to REVANCED_BORDERLESS_HEADER_OPTION,
|
||||
),
|
||||
title = "Header",
|
||||
val custom by stringOption(
|
||||
key = "custom",
|
||||
title = "Custom header logo",
|
||||
description = """
|
||||
The header to apply to the app.
|
||||
|
||||
If a path to a folder is provided, the folder must contain one or more of the following folders, depending on the DPI of the device:
|
||||
Folder with images to use as a custom header logo.
|
||||
|
||||
The folder must contain one or more of the following folders, depending on the DPI of the device:
|
||||
${targetResourceDirectoryNames.keys.joinToString("\n") { "- $it" }}
|
||||
|
||||
Each of the folders must contain all of the following files:
|
||||
|
||||
${variants.joinToString("\n") { variant -> "- ${HEADER_FILE_NAME}_$variant.png" }}
|
||||
${variants.joinToString("\n") { variant -> "- ${CUSTOM_HEADER_RESOURCE_NAME}_$variant.png" }}
|
||||
|
||||
The image dimensions must be as follows:
|
||||
${targetResourceDirectoryNames.map { (dpi, dim) -> "- $dpi: $dim" }.joinToString("\n")}
|
||||
""".trimIndentMultiline(),
|
||||
required = true,
|
||||
""".trimIndentMultiline()
|
||||
)
|
||||
|
||||
execute {
|
||||
// The directories to copy the header to.
|
||||
val targetResourceDirectories = targetResourceDirectoryNames.keys.mapNotNull {
|
||||
get("res").resolve(it).takeIf(File::exists)
|
||||
}
|
||||
// The files to replace in the target directories.
|
||||
val targetResourceFiles = targetResourceDirectoryNames.keys.map { directoryName ->
|
||||
ResourceGroup(
|
||||
directoryName,
|
||||
*variants.map { variant -> "${HEADER_FILE_NAME}_$variant.png" }.toTypedArray(),
|
||||
)
|
||||
}
|
||||
addResources("youtube", "layout.branding.changeHeaderPatch")
|
||||
|
||||
/**
|
||||
* A function that overwrites both header variants in the target resource directories.
|
||||
*/
|
||||
fun overwriteFromTo(from: String, to: String) {
|
||||
targetResourceDirectories.forEach { directory ->
|
||||
variants.forEach { variant ->
|
||||
val fromPath = directory.resolve("${from}_$variant.png")
|
||||
val toPath = directory.resolve("${to}_$variant.png")
|
||||
fun getLightDarkFileNames(vararg resourceNames: String): Array<String> =
|
||||
variants.flatMap { variant ->
|
||||
resourceNames.map { resource -> "${resource}_$variant.png" }
|
||||
}.toTypedArray()
|
||||
|
||||
fromPath.copyTo(toPath, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
val logoResourceFileNames = getLightDarkFileNames(*logoResourceNames)
|
||||
copyResources(
|
||||
"change-header",
|
||||
ResourceGroup("drawable-hdpi", *logoResourceFileNames),
|
||||
ResourceGroup("drawable-mdpi", *logoResourceFileNames),
|
||||
ResourceGroup("drawable-xhdpi", *logoResourceFileNames),
|
||||
ResourceGroup("drawable-xxhdpi", *logoResourceFileNames),
|
||||
ResourceGroup("drawable-xxxhdpi", *logoResourceFileNames),
|
||||
)
|
||||
|
||||
// Functions to overwrite the header to the different variants.
|
||||
fun toPremium() { overwriteFromTo(PREMIUM_HEADER_FILE_NAME, HEADER_FILE_NAME) }
|
||||
fun toHeader() { overwriteFromTo(HEADER_FILE_NAME, PREMIUM_HEADER_FILE_NAME) }
|
||||
fun toReVanced() {
|
||||
// Copy the ReVanced header to the resource directories.
|
||||
targetResourceFiles.forEach { copyResources("change-header/revanced", it) }
|
||||
if (custom != null) {
|
||||
val sourceFolders = File(custom!!).listFiles { file -> file.isDirectory }
|
||||
?: throw PatchException("The provided path is not a directory: $custom")
|
||||
|
||||
// Overwrite the premium with the custom header as well.
|
||||
toHeader()
|
||||
}
|
||||
fun toReVancedBorderless() {
|
||||
// Copy the ReVanced borderless header to the resource directories.
|
||||
targetResourceFiles.forEach {
|
||||
copyResources(
|
||||
"change-header/revanced-borderless",
|
||||
it
|
||||
)
|
||||
}
|
||||
|
||||
// Overwrite the premium with the custom header as well.
|
||||
toHeader()
|
||||
}
|
||||
fun toCustom() {
|
||||
val sourceFolders = File(header!!).listFiles { file -> file.isDirectory }
|
||||
?: throw PatchException("The provided path is not a directory: $header")
|
||||
val customResourceFileNames = getLightDarkFileNames(CUSTOM_HEADER_RESOURCE_NAME)
|
||||
|
||||
var copiedFiles = false
|
||||
|
||||
@@ -137,62 +150,87 @@ val changeHeaderPatch = resourcePatch(
|
||||
val targetDpiFolder = get("res").resolve(dpiSourceFolder.name)
|
||||
if (!targetDpiFolder.exists()) return@forEach
|
||||
|
||||
val imgSourceFiles = dpiSourceFolder.listFiles { file -> file.isFile }!!
|
||||
imgSourceFiles.forEach { imgSourceFile ->
|
||||
val customFiles = dpiSourceFolder.listFiles { file ->
|
||||
file.isFile && file.name in customResourceFileNames
|
||||
}!!
|
||||
|
||||
if (customFiles.size > 0 && customFiles.size != variants.size) {
|
||||
throw PatchException("Both light/dark mode images " +
|
||||
"must be specified but only found: " + customFiles.map { it.name })
|
||||
}
|
||||
|
||||
customFiles.forEach { imgSourceFile ->
|
||||
val imgTargetFile = targetDpiFolder.resolve(imgSourceFile.name)
|
||||
imgSourceFile.copyTo(imgTargetFile, true)
|
||||
imgSourceFile.copyTo(imgTargetFile)
|
||||
|
||||
copiedFiles = true
|
||||
}
|
||||
}
|
||||
|
||||
if (!copiedFiles) {
|
||||
throw PatchException("No header files were copied from the provided path: $header.")
|
||||
throw PatchException("No custom header images found in the provided path: $custom")
|
||||
}
|
||||
}
|
||||
|
||||
// Logo is replaced using an attribute reference.
|
||||
document("res/values/attrs.xml").use { document ->
|
||||
val resources = document.childNodes.item(0)
|
||||
|
||||
fun addAttributeReference(logoName: String) {
|
||||
val item = document.createElement("attr")
|
||||
item.setAttribute("format", "reference")
|
||||
item.setAttribute("name", logoName)
|
||||
resources.appendChild(item)
|
||||
}
|
||||
|
||||
// Overwrite the premium with the custom header as well.
|
||||
toHeader()
|
||||
logoResourceNames.forEach { logoName ->
|
||||
addAttributeReference(logoName)
|
||||
}
|
||||
|
||||
if (custom != null) {
|
||||
addAttributeReference(CUSTOM_HEADER_RESOURCE_NAME)
|
||||
}
|
||||
}
|
||||
|
||||
when (header) {
|
||||
HEADER_OPTION -> toHeader()
|
||||
PREMIUM_HEADER_OPTION -> toPremium()
|
||||
REVANCED_HEADER_OPTION -> toReVanced()
|
||||
REVANCED_BORDERLESS_HEADER_OPTION -> toReVancedBorderless()
|
||||
else -> toCustom()
|
||||
}
|
||||
// Add custom drawables to all styles that use the regular and premium logo.
|
||||
document("res/values/styles.xml").use { document ->
|
||||
arrayOf(
|
||||
"Base.Theme.YouTube.Light" to "light",
|
||||
"Base.Theme.YouTube.Dark" to "dark",
|
||||
"CairoLightThemeRingo2Updates" to "light",
|
||||
"CairoDarkThemeRingo2Updates" to "dark"
|
||||
).forEach { (style, mode) ->
|
||||
val styleElement = document.childNodes.findElementByAttributeValueOrThrow(
|
||||
"name", style
|
||||
)
|
||||
|
||||
// Fix 19.25+ A/B layout with different header icons:
|
||||
// yt_ringo2_wordmark_header, yt_ringo2_premium_wordmark_header
|
||||
//
|
||||
// These images are webp and not png, so overwriting them is not so simple.
|
||||
// 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
|
||||
fun addDrawableElement(document: Document, logoName: String, mode: String) {
|
||||
val item = document.createElement("item")
|
||||
item.setAttribute("name", logoName)
|
||||
item.textContent = "@drawable/${logoName}_$mode"
|
||||
styleElement.appendChild(item)
|
||||
}
|
||||
|
||||
arrayOf(
|
||||
"CairoLightThemeRingo2Updates" to variants[0],
|
||||
"CairoDarkThemeRingo2Updates" to variants[1]
|
||||
).forEach { (styleName, theme) ->
|
||||
val styleNodes = documentChildNodes.findElementByAttributeValueOrThrow(
|
||||
"name",
|
||||
styleName,
|
||||
).childNodes
|
||||
logoResourceNames.forEach { logoName ->
|
||||
addDrawableElement(document, logoName, mode)
|
||||
}
|
||||
|
||||
val drawable = "@drawable/${HEADER_FILE_NAME}_${theme}"
|
||||
|
||||
arrayOf(
|
||||
"ytWordmarkHeader",
|
||||
"ytPremiumWordmarkHeader"
|
||||
).forEach { itemName ->
|
||||
styleNodes.findElementByAttributeValueOrThrow(
|
||||
"name",
|
||||
itemName,
|
||||
).textContent = drawable
|
||||
}
|
||||
if (custom != null) {
|
||||
addDrawableElement(document, CUSTOM_HEADER_RESOURCE_NAME, mode)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||
if (custom == null) {
|
||||
ListPreference("revanced_header_logo")
|
||||
} else {
|
||||
ListPreference(
|
||||
key = "revanced_header_logo",
|
||||
entriesKey = "revanced_header_logo_custom_entries",
|
||||
entryValuesKey = "revanced_header_logo_custom_entry_values"
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.instructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
@@ -157,20 +158,19 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
preferences = setOf(
|
||||
SwitchPreference("revanced_hide_comments_ai_chat_summary"),
|
||||
SwitchPreference("revanced_hide_comments_ai_summary"),
|
||||
SwitchPreference("revanced_hide_comments_channel_guidelines"),
|
||||
SwitchPreference("revanced_hide_comments_by_members_header"),
|
||||
SwitchPreference("revanced_hide_comments_section"),
|
||||
SwitchPreference("revanced_hide_comments_community_guidelines"),
|
||||
SwitchPreference("revanced_hide_comments_create_a_short_button"),
|
||||
SwitchPreference("revanced_hide_comments_timestamp_button"),
|
||||
SwitchPreference("revanced_hide_comments_preview_comment"),
|
||||
SwitchPreference("revanced_hide_comments_thanks_button"),
|
||||
SwitchPreference("revanced_hide_comments_timestamp_button"),
|
||||
),
|
||||
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
|
||||
),
|
||||
SwitchPreference("revanced_hide_channel_bar"),
|
||||
SwitchPreference("revanced_hide_channel_guidelines"),
|
||||
SwitchPreference("revanced_hide_channel_member_shelf"),
|
||||
SwitchPreference("revanced_hide_channel_watermark"),
|
||||
SwitchPreference("revanced_hide_community_guidelines"),
|
||||
SwitchPreference("revanced_hide_emergency_box"),
|
||||
SwitchPreference("revanced_hide_info_panels"),
|
||||
SwitchPreference("revanced_hide_join_membership_button"),
|
||||
@@ -206,26 +206,35 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
SwitchPreference("revanced_hide_filter_bar_feed_in_related_videos"),
|
||||
),
|
||||
),
|
||||
PreferenceScreenPreference(
|
||||
key = "revanced_channel_screen",
|
||||
preferences = setOf(
|
||||
SwitchPreference("revanced_hide_for_you_shelf"),
|
||||
SwitchPreference("revanced_hide_links_preview"),
|
||||
SwitchPreference("revanced_hide_members_shelf"),
|
||||
SwitchPreference("revanced_hide_visit_community_button"),
|
||||
SwitchPreference("revanced_hide_visit_store_button"),
|
||||
),
|
||||
),
|
||||
SwitchPreference("revanced_hide_album_cards"),
|
||||
SwitchPreference("revanced_hide_artist_cards"),
|
||||
SwitchPreference("revanced_hide_community_posts"),
|
||||
SwitchPreference("revanced_hide_compact_banner"),
|
||||
SwitchPreference("revanced_hide_crowdfunding_box"),
|
||||
SwitchPreference("revanced_hide_chips_shelf"),
|
||||
SwitchPreference("revanced_hide_expandable_chip"),
|
||||
SwitchPreference("revanced_hide_expandable_card"),
|
||||
SwitchPreference("revanced_hide_feed_survey"),
|
||||
SwitchPreference("revanced_hide_floating_microphone_button"),
|
||||
SwitchPreference("revanced_hide_for_you_shelf"),
|
||||
SwitchPreference("revanced_hide_horizontal_shelves"),
|
||||
SwitchPreference("revanced_hide_image_shelf"),
|
||||
SwitchPreference("revanced_hide_latest_posts_ads"),
|
||||
SwitchPreference("revanced_hide_latest_posts"),
|
||||
SwitchPreference("revanced_hide_mix_playlists"),
|
||||
SwitchPreference("revanced_hide_movies_section"),
|
||||
SwitchPreference("revanced_hide_notify_me_button"),
|
||||
SwitchPreference("revanced_hide_playables"),
|
||||
SwitchPreference("revanced_hide_search_result_recommendation_labels"),
|
||||
SwitchPreference("revanced_hide_show_more_button"),
|
||||
SwitchPreference("revanced_hide_ticket_shelf"),
|
||||
SwitchPreference("revanced_hide_video_recommendation_labels"),
|
||||
SwitchPreference("revanced_hide_doodles"),
|
||||
)
|
||||
|
||||
@@ -235,7 +244,6 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
|
||||
preferences = setOf(
|
||||
SwitchPreference("revanced_custom_filter"),
|
||||
// TODO: This should be a dynamic ListPreference, which does not exist yet
|
||||
TextPreference("revanced_custom_filter_strings", inputType = InputType.TEXT_MULTI_LINE),
|
||||
),
|
||||
),
|
||||
@@ -372,16 +380,13 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
findInstructionIndicesReversedOrThrow {
|
||||
getReference<MethodReference>()?.name == "setImageDrawable"
|
||||
}.forEach { insertIndex ->
|
||||
val register = getInstruction<FiveRegisterInstruction>(insertIndex).registerD
|
||||
val drawableRegister = getInstruction<FiveRegisterInstruction>(insertIndex).registerD
|
||||
val imageViewRegister = getInstruction<FiveRegisterInstruction>(insertIndex).registerC
|
||||
|
||||
addInstructionsWithLabels(
|
||||
replaceInstruction(
|
||||
insertIndex,
|
||||
"""
|
||||
invoke-static { v$register }, $LAYOUT_COMPONENTS_FILTER_CLASS_DESCRIPTOR->hideYoodles(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
|
||||
move-result-object v$register
|
||||
if-eqz v$register, :hide
|
||||
""",
|
||||
ExternalLabel("hide", getInstruction(insertIndex + 1)),
|
||||
"invoke-static { v$imageViewRegister, v$drawableRegister }, $LAYOUT_COMPONENTS_FILTER_CLASS_DESCRIPTOR->" +
|
||||
"setDoodleDrawable(Landroid/widget/ImageView;Landroid/graphics/drawable/Drawable;)V"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ val hideRelatedVideoOverlayPatch = bytecodePatch(
|
||||
addResources("youtube", "layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch")
|
||||
|
||||
PreferenceScreen.PLAYER.addPreferences(
|
||||
SwitchPreference("revanced_hide_related_video_overlay")
|
||||
SwitchPreference("revanced_hide_related_videos_overlay")
|
||||
)
|
||||
|
||||
relatedEndScreenResultsFingerprint.match(
|
||||
|
||||
@@ -222,7 +222,7 @@ val themePatch = bytecodePatch(
|
||||
|
||||
if (is_19_47_or_greater) {
|
||||
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||
ListPreference("splash_screen_animation_style")
|
||||
ListPreference("revanced_splash_screen_animation_style")
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.InputType
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.shared.misc.settings.preference.TextPreference
|
||||
import app.revanced.patches.youtube.interaction.seekbar.disableFastForwardNoticeFingerprint
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.litho.filter.addLithoFilter
|
||||
import app.revanced.patches.youtube.misc.litho.filter.lithoFilterPatch
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package app.revanced.patches.youtube.video.speed.custom
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstruction
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.reference.StringReference
|
||||
|
||||
internal val speedLimiterFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
@@ -19,3 +22,16 @@ internal val speedLimiterFingerprint = fingerprint {
|
||||
Opcode.INVOKE_STATIC,
|
||||
)
|
||||
}
|
||||
|
||||
internal val disableFastForwardNoticeFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("V")
|
||||
parameters()
|
||||
custom { method, _ ->
|
||||
method.name == "run" && method.indexOfFirstInstruction {
|
||||
// In later targets the code is found in different methods with different strings.
|
||||
val string = getReference<StringReference>()?.string
|
||||
string == "Failed to easy seek haptics vibrate." || string == "search_landing_cache_key"
|
||||
} >= 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,7 +355,7 @@ fun Method.indexOfFirstLiteralInstructionOrThrow(literal: Float): Int {
|
||||
* @see indexOfFirstLiteralInstructionOrThrow
|
||||
*/
|
||||
fun Method.indexOfFirstLiteralInstruction(literal: Double) =
|
||||
indexOfFirstLiteralInstruction(literal.toRawBits().toLong())
|
||||
indexOfFirstLiteralInstruction(literal.toRawBits())
|
||||
|
||||
/**
|
||||
* Find the index of the first literal instruction with the given double value,
|
||||
@@ -421,7 +421,7 @@ fun Method.indexOfFirstLiteralInstructionReversedOrThrow(literal: Float): Int {
|
||||
* @see indexOfFirstLiteralInstructionOrThrow
|
||||
*/
|
||||
fun Method.indexOfFirstLiteralInstructionReversed(literal: Double) =
|
||||
indexOfFirstLiteralInstructionReversed(literal.toRawBits().toLong())
|
||||
indexOfFirstLiteralInstructionReversed(literal.toRawBits())
|
||||
|
||||
/**
|
||||
* Find the index of the last wide literal instruction with the given double value,
|
||||
@@ -715,24 +715,50 @@ internal fun MutableMethod.insertLiteralOverride(literal: Long, override: Boolea
|
||||
}
|
||||
|
||||
/**
|
||||
* Called for _all_ instructions with the given literal value.
|
||||
* Called for _all_ methods with the given literal value.
|
||||
* Method indices are iterated from last to first.
|
||||
*/
|
||||
fun BytecodePatchContext.forEachLiteralValueInstruction(
|
||||
literal: Long,
|
||||
block: MutableMethod.(literalInstructionIndex: Int) -> Unit,
|
||||
block: MutableMethod.(matchingIndex: Int) -> Unit,
|
||||
) {
|
||||
val matchingIndexes = ArrayList<Int>()
|
||||
|
||||
classes.forEach { classDef ->
|
||||
classDef.methods.forEach { method ->
|
||||
method.implementation?.instructions?.forEachIndexed { index, instruction ->
|
||||
if (instruction.opcode == CONST &&
|
||||
(instruction as WideLiteralInstruction).wideLiteral == literal
|
||||
) {
|
||||
method.implementation?.instructions?.let { instructions ->
|
||||
matchingIndexes.clear()
|
||||
|
||||
instructions.forEachIndexed { index, instruction ->
|
||||
if ((instruction as? WideLiteralInstruction)?.wideLiteral == literal) {
|
||||
matchingIndexes.add(index)
|
||||
}
|
||||
}
|
||||
|
||||
if (matchingIndexes.isNotEmpty()) {
|
||||
val mutableMethod = proxy(classDef).mutableClass.findMutableMethodOf(method)
|
||||
block.invoke(mutableMethod, index)
|
||||
|
||||
// FIXME: Until patcher V22 is merged, this workaround is needed
|
||||
// because if multiple patches modify the same class
|
||||
// then after modifying the method indexes of immutable classes
|
||||
// are no longer correct.
|
||||
matchingIndexes.clear()
|
||||
mutableMethod.instructions.forEachIndexed { index, instruction ->
|
||||
if ((instruction as? WideLiteralInstruction)?.wideLiteral == literal) {
|
||||
matchingIndexes.add(index)
|
||||
}
|
||||
}
|
||||
if (matchingIndexes.isEmpty()) return@forEach
|
||||
// FIXME Remove code above after V22 merge.
|
||||
|
||||
matchingIndexes.asReversed().forEach { index ->
|
||||
block.invoke(mutableMethod, index)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private const val RETURN_TYPE_MISMATCH = "Mismatch between override type and Method return type"
|
||||
|
||||
@@ -144,7 +144,7 @@ internal fun Node.addResource(
|
||||
appendChild(resource.serialize(ownerDocument, resourceCallback))
|
||||
}
|
||||
|
||||
internal fun org.w3c.dom.Document.getNode(tagName: String) = this.getElementsByTagName(tagName).item(0)
|
||||
internal fun Document.getNode(tagName: String) = getElementsByTagName(tagName).item(0)
|
||||
|
||||
internal fun NodeList.findElementByAttributeValue(attributeName: String, value: String): Element? {
|
||||
for (i in 0 until length) {
|
||||
|
||||
@@ -39,15 +39,17 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.debugging.enableDebuggingPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.general.hideLayoutComponentsPatch">
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<!-- For localization, it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
|
||||
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
|
||||
@@ -55,8 +57,8 @@ Second \"item\" text"</string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
</patch>
|
||||
@@ -66,8 +68,10 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
|
||||
</patch>
|
||||
@@ -81,19 +85,19 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.navigationButtonsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
</patch>
|
||||
@@ -106,14 +110,14 @@ Second \"item\" text"</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<!-- 'Lock screen' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
</patch>
|
||||
@@ -126,12 +130,11 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
</patch>
|
||||
@@ -151,7 +154,7 @@ Second \"item\" text"</string>
|
||||
<!-- 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' -->
|
||||
<!-- 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>
|
||||
<patch id="layout.searchbar.wideSearchbarPatch">
|
||||
@@ -159,16 +162,16 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.seekbar.seekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<!-- 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. -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
</patch>
|
||||
<patch id="layout.formfactor.changeFormFactorPatch">
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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. -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
</patch>
|
||||
@@ -182,12 +185,15 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.theme.themePatch">
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="misc.announcements.announcementsPatch">
|
||||
@@ -211,10 +217,10 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.privacy.removeTrackingQueryParameterPatch">
|
||||
</patch>
|
||||
<patch id="video.audio.forceOriginalAudioPatch">
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
</patch>
|
||||
<patch id="video.speed.button.playbackSpeedButtonPatch">
|
||||
</patch>
|
||||
@@ -243,7 +249,7 @@ Second \"item\" text"</string>
|
||||
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -39,15 +39,17 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.debugging.enableDebuggingPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.general.hideLayoutComponentsPatch">
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<!-- For localization, it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
|
||||
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
|
||||
@@ -55,8 +57,8 @@ Second \"item\" text"</string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
</patch>
|
||||
@@ -66,8 +68,10 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
|
||||
</patch>
|
||||
@@ -81,19 +85,19 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.navigationButtonsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
</patch>
|
||||
@@ -106,14 +110,14 @@ Second \"item\" text"</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<!-- 'Lock screen' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
</patch>
|
||||
@@ -126,12 +130,11 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
</patch>
|
||||
@@ -151,7 +154,7 @@ Second \"item\" text"</string>
|
||||
<!-- 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' -->
|
||||
<!-- 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>
|
||||
<patch id="layout.searchbar.wideSearchbarPatch">
|
||||
@@ -159,16 +162,16 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.seekbar.seekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<!-- 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. -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
</patch>
|
||||
<patch id="layout.formfactor.changeFormFactorPatch">
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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. -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
</patch>
|
||||
@@ -182,12 +185,15 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.theme.themePatch">
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="misc.announcements.announcementsPatch">
|
||||
@@ -211,10 +217,10 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.privacy.removeTrackingQueryParameterPatch">
|
||||
</patch>
|
||||
<patch id="video.audio.forceOriginalAudioPatch">
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
</patch>
|
||||
<patch id="video.speed.button.playbackSpeedButtonPatch">
|
||||
</patch>
|
||||
@@ -243,7 +249,7 @@ Second \"item\" text"</string>
|
||||
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -146,115 +146,110 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_album_cards_title">إخفاء بطاقات الألبوم</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">تم إخفاء بطاقات الألبوم</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">يتم عرض بطاقات الألبوم</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">إخفاء مربع التمويل الجماعي</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">تم إخفاء مربع التمويل الجماعي</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">يتم عرض مربع التمويل الجماعي</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">إخفاء زر الميكروفون العائم</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">تم إخفاء زر الميكروفون</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">يتم عرض زر الميكروفون</string>
|
||||
<string name="revanced_hide_channel_watermark_title">إخفاء العلامة المائية للقناة</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">تم إخفاء علامة الفيديو المائية</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">يتم عرض علامة الفيديو المائية</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">إخفاء الرفوف الأفقية</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"تكون الرفوف مخفية مثل:
|
||||
• الأخبار العاجلة
|
||||
• متابعة المشاهدة
|
||||
• استكشاف المزيد من القنوات
|
||||
• التسوق
|
||||
• مشاهدة مرة أخرى"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">يتم عرض الرفوف</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">إخفاء زر الانضمام</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">تم إخفاء الزر</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">يتم عرض الزر</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">إخفاء رف \'مقترحات لك\'</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">تم إخفاء الرف في صفحة القناة</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">يتم عرض الرف في صفحة القناة</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">إخفاء زر \'تنبيهي\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">تم إخفاء الزر</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">يتم عرض الزر</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendation_labels_title">إخفاء علامات اقتراحات الفيديو</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_on">تم إخفاء علامات \'اقتراحات للمشاهدة\' و\'قد يعجبك أيضًا\'</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_off">يتم عرض علامات \'اقتراحات للمشاهدة\' و\'قد يعجبك أيضًا\'</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">إخفاء زر \'عرض المزيد\'</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">تم إخفاء الزر</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">يتم عرض الزر</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">إخفاء رف التذاكر</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">تم إخفاء رف التذاكر</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">يتم عرض رف التذاكر</string>
|
||||
<string name="revanced_hide_timed_reactions_title">إخفاء ردود الفعل المؤقتة</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">تم إخفاء ردود الفعل المؤقتة</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">يتم عرض ردود الفعل المؤقتة</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">إخفاء إرشادات القناة</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">تم إخفاء إرشادات القناة</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">يتم عرض إرشادات القناة</string>
|
||||
<string name="revanced_hide_artist_cards_title">إخفاء بطاقات الفنان</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">تم إخفاء بطاقات الفنان</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">يتم عرض بطاقات الفنان</string>
|
||||
<string name="revanced_hide_chips_shelf_title">إخفاء رف الشرائح</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">تم إخفاء رف الشرائح</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">يتم عرض رف الشرائح</string>
|
||||
<string name="revanced_hide_expandable_chip_title">إخفاء الشريحة القابلة للتوسيع تحت الفيديوهات</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">تم إخفاء البطاقة القابلة للتوسيع</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">يتم عرض البطاقة القابلة للتوسيع</string>
|
||||
<string name="revanced_hide_community_posts_title">إخفاء مشاركات المجتمع</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">تم إخفاء مشاركات المجتمع</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">يتم عرض مشاركات المجتمع</string>
|
||||
<string name="revanced_hide_compact_banner_title">إخفاء شريط الإعلانات</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">تم إخفاء شريط الإعلانات</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">يتم عرض شريط الإعلانات</string>
|
||||
<string name="revanced_hide_movies_section_title">إخفاء قسم الأفلام</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">تم إخفاء قسم الأفلام</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">يتم عرض قسم الأفلام</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">إخفاء مربع التمويل الجماعي</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">تم إخفاء مربع التمويل الجماعي</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">يتم عرض مربع التمويل الجماعي</string>
|
||||
<string name="revanced_hide_expandable_card_title">إخفاء البطاقة القابلة للتوسيع</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">البطاقة القابلة للتوسيع أسفل مقاطع الفيديو مخفية</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">البطاقة القابلة للتوسيع أسفل مقاطع الفيديو معروضة</string>
|
||||
<string name="revanced_hide_feed_survey_title">إخفاء الاستبيانات</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">تم إخفاء الاستبيانات</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">يتم عرض الاستبيانات</string>
|
||||
<string name="revanced_hide_community_guidelines_title">إخفاء إرشادات المجتمع</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">تم إخفاء إرشادات المجتمع</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">يتم عرض إرشادات المجتمع</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">إخفاء إرشادات المشتركين</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">تم إخفاء إرشادات مجتمع المشتركين</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">يتم عرض إرشادات مجتمع المشتركين</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">إخفاء رف أعضاء القناة</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">تم إخفاء رف أعضاء القناة</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">يتم عرض رف أعضاء القناة</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">إخفاء زر الميكروفون العائم</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">زر الميكروفون العائم في البحث مخفي</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">يظهر زر الميكروفون العائم في البحث</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">إخفاء الرفوف الأفقية</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"الأرفف الأفقية مخفية، مثل:
|
||||
• الأخبار العاجلة
|
||||
• متابعة المشاهدة
|
||||
• استكشاف المزيد من القنوات
|
||||
• الأكثر صلة
|
||||
• التسوق
|
||||
• شاهدها مرة أخرى"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">الأرفف الأفقية معروضة</string>
|
||||
<string name="revanced_hide_image_shelf_title">إخفاء رف الصور</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">رف الصور في نتائج البحث مخفي</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">رف الصور في نتائج البحث معروض</string>
|
||||
<string name="revanced_hide_latest_posts_title">إخفاء آخر المشاركات</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">تم إخفاء أحدث المشاركات</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">يتم عرض أحدث المشاركات</string>
|
||||
<string name="revanced_hide_mix_playlists_title">إخفاء قوائم تشغيل التشكيلة</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">تم إخفاء قوائم تشغيل التشكيلة</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">يتم عرض قوائم تشغيل التشكيلة</string>
|
||||
<string name="revanced_hide_movies_section_title">إخفاء قسم الأفلام</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">تم إخفاء قسم الأفلام</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">يتم عرض قسم الأفلام</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">إخفاء زر \'تنبيهي\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">زر إشعاري مخفي</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">زر إشعاري معروض</string>
|
||||
<string name="revanced_hide_playables_title">إخفاء هيّا نلعب</string>
|
||||
<string name="revanced_hide_playables_summary_on">تم إخفاء هيّا نلعب</string>
|
||||
<string name="revanced_hide_playables_summary_off">يتم عرض هيّا نلعب</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">إخفاء زر \'عرض المزيد\'</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">زر إظهار المزيد في نتائج البحث مخفي</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">زر إظهار المزيد في نتائج البحث معروض</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">إخفاء رف التذاكر</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">تم إخفاء رف التذاكر</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">يتم عرض رف التذاكر</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">إخفاء تسميات توصيات الفيديو</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">تسميات \'شاهد المستخدمون أيضاً\' و\'قد يعجبك أيضاً\' في نتائج البحث مخفية</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">تسميات \'شاهد المستخدمون أيضاً\' و\'قد يعجبك أيضاً\' في نتائج البحث معروضة</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">إخفاء رسومات YouTube</string>
|
||||
<string name="revanced_hide_doodles_summary_on">رسوم Doodles المتحركة في شعار YouTube مخفية</string>
|
||||
<string name="revanced_hide_doodles_summary_off">يتم عرض رسوم متحركة Doodles من YouTube على الشعار</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"تظهر \"\"Doodles\"\" على YouTube بضعة أيام كل عام.
|
||||
|
||||
إذا كان يتم عرض \"Doodle\" حاليًا في منطقتك وإذا كان إعداد الإخفاء هذا قيد التشغيل، فسيتم أيضًا إخفاء شريط التصفية أسفل شريط البحث."</string>
|
||||
<string name="revanced_hide_channel_bar_title">إخفاء شريط القناة</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">تم إخفاء شريط القناة</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">يتم عرض شريط القناة</string>
|
||||
<string name="revanced_hide_channel_watermark_title">إخفاء العلامة المائية للقناة</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">تم إخفاء علامة الفيديو المائية</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">يتم عرض علامة الفيديو المائية</string>
|
||||
<string name="revanced_hide_emergency_box_title">إخفاء صناديق الطوارئ</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">تم إخفاء صناديق الطوارئ</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">يتم عرض صناديق الطوارئ</string>
|
||||
<string name="revanced_hide_info_panels_title">إخفاء لوحات المعلومات</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">تم إخفاء لوحات المعلومات</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">يتم عرض لوحات المعلومات</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">إخفاء زر الانضمام</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">زر الانضمام مخفي</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">زر الانضمام معروض</string>
|
||||
<string name="revanced_hide_medical_panels_title">إخفاء اللوحات الطبية</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">تم إخفاء اللوحات الطبية</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">يتم عرض اللوحات الطبية</string>
|
||||
<string name="revanced_hide_channel_bar_title">إخفاء شريط القناة</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">تم إخفاء شريط القناة</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">يتم عرض شريط القناة</string>
|
||||
<string name="revanced_hide_playables_title">إخفاء هيّا نلعب</string>
|
||||
<string name="revanced_hide_playables_summary_on">تم إخفاء هيّا نلعب</string>
|
||||
<string name="revanced_hide_playables_summary_off">يتم عرض هيّا نلعب</string>
|
||||
<string name="revanced_hide_quick_actions_title">إخفاء الإجراءات السريعة في ملء الشاشة</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">تم إخفاء الإجراءات السريعة</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">يتم عرض الإجراءات السريعة</string>
|
||||
<string name="revanced_hide_related_videos_title">إخفاء الفيديوهات ذات الصلة في الإجراءات السريعة</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">تم إخفاء الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">يتم عرض الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_image_shelf_title">إخفاء رف الصورة في نتائج البحث</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">تم إخفاء رف الصورة</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">يتم عرض رف الصورة</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">إخفاء آخر المشاركات</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">تم إخفاء أحدث المشاركات</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">يتم عرض أحدث المشاركات</string>
|
||||
<string name="revanced_hide_mix_playlists_title">إخفاء قوائم تشغيل التشكيلة</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">تم إخفاء قوائم تشغيل التشكيلة</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">يتم عرض قوائم تشغيل التشكيلة</string>
|
||||
<string name="revanced_hide_artist_cards_title">إخفاء بطاقات الفنان</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">تم إخفاء بطاقات الفنان</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">يتم عرض بطاقات الفنان</string>
|
||||
<string name="revanced_hide_quick_actions_title">إخفاء الإجراءات السريعة</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">الإجراءات السريعة في وضع ملء الشاشة مخفية</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">الإجراءات السريعة في وضع ملء الشاشة معروضة</string>
|
||||
<string name="revanced_hide_related_videos_title">إخفاء مقاطع الفيديو ذات الصلة</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">مقاطع الفيديو ذات الصلة في الإجراءات السريعة مخفية</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">مقاطع الفيديو ذات الصلة في الإجراءات السريعة معروضة</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">إخفاء إرشادات المشتركين</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">تم إخفاء إرشادات مجتمع المشتركين</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">يتم عرض إرشادات مجتمع المشتركين</string>
|
||||
<string name="revanced_hide_timed_reactions_title">إخفاء ردود الفعل المؤقتة</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">تم إخفاء ردود الفعل المؤقتة</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">يتم عرض ردود الفعل المؤقتة</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">إخفاء \'ملخص الفيديو الذي تم إنشاؤه بواسطة الذكاء الاصطناعي\'</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">تم إخفاء قسم ملخص الفيديو</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">يتم عرض قسم ملخص الفيديو</string>
|
||||
@@ -285,16 +280,39 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_description_components_screen_title">وصف الفيديو</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">إخفاء أو عرض مكونات وصف الفيديو</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">شريط التصفية</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">إخفاء أو عرض شريط الفلتر في الموجز ونتائج البحث والفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">إخفاء أو إظهار شريط الفلترة في الخلاصات، السجل، نتائج البحث، والفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">إخفاء في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">مخفي في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">يُعرض في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">معروض في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">إخفاء في السجل</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">مخفي في السجل</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">معروض في السجل</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">إخفاء في نتائج البحث</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">مخفي في نتائج البحث</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">يُعرض في نتائج البحث</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">إخفاء في الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">مخفي في الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">يُعرض في الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_channel_screen_title">صفحة القناة</string>
|
||||
<string name="revanced_channel_screen_summary">إخفاء أو إظهار مكونات صفحة القناة</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">إخفاء رف \'مقترحات لك\'</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">رف \"لك\" مخفي</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">رف \"لك\" معروض</string>
|
||||
<string name="revanced_hide_links_preview_title">إخفاء معاينة الروابط</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">معاينة الروابط مخفية</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">معاينة الروابط معروضة</string>
|
||||
<string name="revanced_hide_members_shelf_title">إخفاء رف الأعضاء</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">رف الأعضاء مخفي</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">يتم عرض رف الأعضاء</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">إخفاء زر \"زيارة المنتدى\"</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">زر \"زيارة المنتدى\" مخفي</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">زر زيارة المجتمع معروض</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">إخفاء زر \'زيارة المتجر\' على صفحات القناة</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">زر زيارة المتجر مخفي</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">زر زيارة المتجر معروض</string>
|
||||
<string name="revanced_comments_screen_title">التعليقات</string>
|
||||
<string name="revanced_comments_screen_summary">إخفاء أو عرض مكونات قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">إخفاء ملخص محادثات الذكاء الاصطناعي</string>
|
||||
@@ -303,31 +321,30 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">إخفاء ملخص تعليقات الذكاء الاصطناعي</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">تم إخفاء ملخص التعليقات</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">يتم عرض ملخص التعليقات</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">إخفاء إرشادات القناة</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">إرشادات القناة مخفية</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">إرشادات القناة معروضة</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">إخفاء رأس \'تعليقات الأعضاء\'</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">تم إخفاء علامة تعليقات من الأعضاء</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">يتم عرض علامة تعليقات من الأعضاء</string>
|
||||
<string name="revanced_hide_comments_section_title">إخفاء قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">تم إخفاء قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">يتم عرض قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">إخفاء إرشادات المنتدى</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">إرشادات المجتمع مخفية</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">إرشادات المجتمع معروضة</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">إخفاء زر \'إنشاء Short\'</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">تم إخفاء زر إنشاء Short</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">يتم عرض زر إنشاء Short</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">زر إخفاء الطابع الزمني</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">زر الطابع الزمني مخفي</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">زر الطابع الزمني معروض</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">إخفاء تعليق المعاينة</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">تم إخفاء تعليق المعاينة</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">يتم عرض تعليق المعاينة</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">إخفاء زر شكرًا</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">تم إخفاء زر شكرًا</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">يتم عرض زر شكرًا</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">إخفاء رسومات YouTube</string>
|
||||
<string name="revanced_hide_doodles_summary_on">تم إخفاء رسومات شريط البحث</string>
|
||||
<string name="revanced_hide_doodles_summary_off">يتم عرض رسومات شريط البحث</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"تظهر \"\"Doodles\"\" على YouTube بضعة أيام كل عام.
|
||||
|
||||
إذا كان يتم عرض \"Doodle\" حاليًا في منطقتك وإذا كان إعداد الإخفاء هذا قيد التشغيل، فسيتم أيضًا إخفاء شريط التصفية أسفل شريط البحث."</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">إخفاء زر الطابع الزمني</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">زر الطابع الزمني مخفي</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">زر الطابع الزمني معروض</string>
|
||||
<string name="revanced_custom_filter_screen_title">فلتر مخصص</string>
|
||||
<string name="revanced_custom_filter_screen_summary">إخفاء المكونات باستخدام فلاتر مخصصة</string>
|
||||
<string name="revanced_custom_filter_title">تمكين الفلتر المخصص</string>
|
||||
@@ -374,44 +391,41 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">الكلمة المفتاحية سوف تخفي جميع الفيديوهات: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">إخفاء الإعلانات العامة</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">تم إخفاء الإعلانات بشكل عام</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">يتم عرض الإعلانات العامة</string>
|
||||
<string name="revanced_hide_creator_store_shelf_title">إخفاء رف متجر المبدع</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">رف متجر المنشئ أسفل مشغل الفيديو مخفي</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">يتم عرض رف متجر المنشئ تحت مشغل الفيديو</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">إخفاء لافتة شاشة المتجر النهائية</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">لافتة متجر الشاشة النهائية مخفية</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">لافتة متجر الشاشة النهائية معروضة</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">إخفاء إعلانات ملء الشاشة</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"يتم إخفاء إعلانات ملء الشاشة
|
||||
|
||||
هذه الميزة متاحة فقط للأجهزة القديمة"</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">يتم عرض إعلانات ملء الشاشة</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_fullscreen_ads_feature_not_available_toast">إخفاء إعلانات ملء الشاشة يعمل فقط مع الأجهزة القديمة</string>
|
||||
<string name="revanced_hide_general_ads_title">إخفاء الإعلانات العامة</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">تم إخفاء الإعلانات بشكل عام</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">يتم عرض الإعلانات العامة</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">إخفاء لافتات البضائع</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">تم إخفاء لافتات البضائع</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">يتم عرض لافتات البضائع</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">إخفاء تسمية الترقية المدفوعة</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">تم إخفاء تسمية الترقية المدفوعة</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">يتم عرض تسمية الترقية المدفوعة</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">إخفاء بطاقات الرعاية الذاتية</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">تم إخفاء بطاقات الرعاية الذاتية</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">يتم عرض بطاقات الرعاية الذاتية</string>
|
||||
<string name="revanced_hide_products_banner_title">إخفاء لافتة \'عرض المنتجات\'</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">تم إخفاء البانر</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">يتم عرض البانر</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">إخفاء لافتة شاشة المتجر النهائية</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">تم إخفاء لافتة المتجر</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">يتم عرض لافتة المتجر</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">إخفاء رف مشغل التسوق</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">تم إخفاء رف التسوق</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">يتم عرض رف التسوق</string>
|
||||
<string name="revanced_hide_shopping_links_title">إخفاء روابط التسوق في وصف الفيديو</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">تم إخفاء روابط التسوق في وصف الفيديو</string>
|
||||
<string name="revanced_hide_shopping_links_title">إخفاء روابط التسوق</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">روابط التسوق في وصف الفيديو مخفية</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">يتم عرض روابط التسوق في وصف الفيديو</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">إخفاء زر \'زيارة المتجر\' على صفحات القناة</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">تم إخفاء الزر في صفحة القناة</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">يتم عرض الزر في صفحة القناة</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">إخفاء لافتة \'عرض المنتجات\'</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">لافتة عرض المنتجات في تراكب الفيديو مخفية</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">لافتة عرض المنتجات في تراكب الفيديو معروضة</string>
|
||||
<string name="revanced_hide_web_search_results_title">إخفاء نتائج بحث الويب</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">تم إخفاء نتائج البحث على الويب</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">يتم عرض نتائج البحث على الويب</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">إخفاء لافتات البضائع</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">تم إخفاء لافتات البضائع</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">يتم عرض لافتات البضائع</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_fullscreen_ads_feature_not_available_toast">إخفاء إعلانات ملء الشاشة يعمل فقط مع الأجهزة القديمة</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">إخفاء ترقية YouTube Premium</string>
|
||||
@@ -439,13 +453,18 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">سيتم عرض مربع الحوار</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">وهذا لا يتجاوز قيود السن. بل يقبلها تلقائيًا.</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">تعطيل تخطي الفصل بالنقر المزدوج</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">لا يمكن للنقر المزدوج مطلقًا أن يؤدي إلى تخطي الفصل التالي/السابق</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">يمكن للنقر المزدوج أن يؤدي أحيانًا إلى تخطي الفصل التالي/السابق</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">التنزيلات الخارجية</string>
|
||||
<string name="revanced_external_downloader_screen_summary">إعدادات لاستخدام أداة التنزيل الخارجية</string>
|
||||
<string name="revanced_external_downloader_title">عرض زر التنزيل الخارجي</string>
|
||||
<string name="revanced_external_downloader_summary_on">يتم عرض زر التنزيل في المشغل</string>
|
||||
<string name="revanced_external_downloader_summary_off">لا يتم عرض زر التنزيل في المشغل</string>
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">تجاوز زر إجراء التنزيل</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">يفتح زر التنزيل أداة التنزيل الخارجية</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">يفتح زر التنزيل أداة التنزيل الأصلية داخل التطبيق</string>
|
||||
@@ -538,7 +557,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">زر إيقاف الإعلانات مخفي</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">زر إيقاف الإعلانات معروض</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">إخفاء الإبلاغ</string>
|
||||
<string name="revanced_hide_report_button_summary_on">تم إخفاء زر الإبلاغ</string>
|
||||
<string name="revanced_hide_report_button_summary_off">يتم عرض زر الإبلاغ</string>
|
||||
@@ -555,7 +574,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">تم إخفاء زر شكرًا</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">يتم عرض زر شكرًا</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">إخفاء \"Ask\"</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">تم إخفاء زر \"Ask\"</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">يتم عرض زر \"Ask\"</string>
|
||||
@@ -579,7 +598,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_button_title">إخفاء Shorts</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">تم إخفاء زر Shorts</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">يتم عرض زر Shorts</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">إخفاء الإنشاء</string>
|
||||
<string name="revanced_hide_create_button_summary_on">تم إخفاء زر الإنشاء</string>
|
||||
<string name="revanced_hide_create_button_summary_off">يتم عرض زر الإنشاء</string>
|
||||
@@ -648,7 +667,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">تم إخفاء قائمة سرعة التشغيل</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">يتم عرض قائمة سرعة التشغيل</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">إخفاء المزيد من المعلومات</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">تم إخفاء قائمة المزيد من المعلومات</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">يتم عرض قائمة المزيد من المعلومات</string>
|
||||
@@ -660,7 +679,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">إخفاء المقطع الصوتي</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">تم إخفاء قائمة المقطع الصوتي</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">يتم عرض قائمة المقطع الصوتي</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_not_available">"تم إخفاء قائمة المقطع الصوتي
|
||||
|
||||
لعرض قائمة المقطع الصوتي، غيّر 'Spoof Video Streams' إلى iOS TV"</string>
|
||||
@@ -673,22 +692,22 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">يتم عرض تذييل قائمة جودة الفيديو</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">إخفاء زري \"السابق\" و \"التالي\"</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">تم إخفاء الأزرار</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">يتم عرض الأزرار</string>
|
||||
<string name="revanced_hide_cast_button_title">إخفاء زر البث</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">تم إخفاء زر البث</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">يتم عرض زر البث</string>
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<string name="revanced_hide_captions_button_title">إخفاء زر التَرْجَمَة</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">تم إخفاء زر التَرْجَمَة</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">يتم عرض زر التَرْجَمَة</string>
|
||||
<string name="revanced_hide_autoplay_button_title">إخفاء زر التشغيل التلقائي</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">تم إخفاء زر التشغيل التلقائي</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">يتم عرض زر التشغيل التلقائي</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">إخفاء خلفية أزرار التحكم في المشغل</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">تم إخفاء خلفية أزرار التحكم في المشغل</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">تم إظهار خلفية أزرار التحكم في المشغل</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">إخفاء زر التَرْجَمَة</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">تم إخفاء زر التَرْجَمَة</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">يتم عرض زر التَرْجَمَة</string>
|
||||
<string name="revanced_hide_cast_button_title">إخفاء زر البث</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">تم إخفاء زر البث</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">يتم عرض زر البث</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">إخفاء خلفية عناصر التحكم بالمشغل</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">خلفية عناصر تحكم المشغل مخفية</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">يتم عرض خلفية عناصر التحكم بالمشغل</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">إخفاء زري \"السابق\" و \"التالي\"</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">تم إخفاء الأزرار</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">يتم عرض الأزرار</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">إخفاء بطاقات شاشة النهاية</string>
|
||||
@@ -721,76 +740,75 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">مشغل Shorts</string>
|
||||
<string name="revanced_shorts_player_screen_summary">إخفاء أو عرض المكونات في مشغل Shorts</string>
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">إخفاء Shorts في موجز الصفحة الرئيسية</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">مخفية في الصفحة الرئيسية والفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">تُعرض في الصفحة الرئيسية والفيديوهات ذات الصلة</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">إخفاء Shorts في موجز الاشتراكات</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">مخفية في موجز الاشتراكات</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">تُعرض في موجز الاشتراكات</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">إخفاء Shorts في الصفحة الرئيسية</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">مخفية في الصفحة الرئيسية ومقاطع الفيديو ذات الصلة</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">معروضة في الصفحة الرئيسية ومقاطع الفيديو ذات الصلة</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">إخفاء Shorts في خلاصة الاشتراكات</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">مخفية في خلاصة الاشتراكات</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">معروضة في خلاصة الاشتراكات</string>
|
||||
<string name="revanced_hide_shorts_search_title">إخفاء Shorts في نتائج البحث</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">مخفية في نتائج البحث</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">تُعرض في نتائج البحث</string>
|
||||
<string name="revanced_hide_shorts_history_title">إخفاء Shorts في سجل المشاهدة</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">مخفية في سجل المشاهدة</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">تُعرض في سجل المشاهدة</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">إخفاء زر الانضمام</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">تم إخفاء زر الانضمام</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">يتم عرض زر الانضمام</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">إخفاء زر الاشتراك</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">تم إخفاء زر الاشتراك</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">يتم عرض زر الاشتراك</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">إخفاء أزرار واجهة التوقف</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">تم إخفاء أزرار واجهة التوقف</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">يتم عرض أزرار واجهة التوقف</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">إخفاء زر المتجر</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">تم إخفاء زر المتجر</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">يتم عرض زر المتجر</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">إخفاء زر Super Thanks</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">تم إخفاء زر Super Thanks</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">يتم عرض زر Super Thanks</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">إخفاء المنتجات الموسومة</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">تم إخفاء المنتجات الموسومة</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">يتم عرض المنتجات الموسومة</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">إخفاء تسمية الموقع</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">تم إخفاء تسمية الموقع</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">يتم عرض تسمية الموقع</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">إخفاء تعليق المعاينة</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">تم إخفاء تعليق المعاينة</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">يتم عرض تعليق المعاينة</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">إخفاء زر حفظ الموسيقى</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">تم إخفاء زر حفظ الموسيقى</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">يتم عرض زر حفظ الموسيقى</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">إخفاء زر استخدام هذا الصوت</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">زر استخدام هذا الصوت مخفي</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">زر استخدام هذا الصوت معروض</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">إخفاء زر استخدام هذا القالب</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">زر استخدام هذا القالب مخفي</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">زر استخدام هذا القالب ظاهر</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">إخفاء زر القادم</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">تم إخفاء زر القادم</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">يتم عرض زر القادم</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">زر شراء Super Thanks مخفي</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">زر شراء Super Thanks معروض</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">إخفاء زر التأثير</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">زر التأثير مخفي</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">زر التأثير معروض</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">إخفاء زر الشاشة الخضراء</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">تم إخفاء زر الشاشة الخضراء</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">يتم عرض زر الشاشة الخضراء</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">إخفاء زر \"مشاركات جديدة\"</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">يتم عرض زر \"مشاركات جديدة\"</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">تم إخفاء زر \"مشاركات جديدة\"</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">إخفاء زر الهاشتاج</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">تم إخفاء زر الهاشتاج</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">يتم عرض زر الهاشتاج</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">إخفاء زر الانضمام</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">تم إخفاء زر الانضمام</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">يتم عرض زر الانضمام</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">إخفاء تسمية الموقع</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">تم إخفاء تسمية الموقع</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">يتم عرض تسمية الموقع</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">إخفاء زر \"مشاركات جديدة\"</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">تم إخفاء زر \"مشاركات جديدة\"</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">يتم عرض زر \"مشاركات جديدة\"</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">إخفاء أزرار واجهة التوقف</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">تم إخفاء أزرار واجهة التوقف</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">يتم عرض أزرار واجهة التوقف</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">إخفاء تعليق المعاينة</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">تم إخفاء تعليق المعاينة</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">يتم عرض تعليق المعاينة</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">إخفاء زر حفظ الموسيقى</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">تم إخفاء زر حفظ الموسيقى</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">يتم عرض زر حفظ الموسيقى</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">إخفاء اقتراحات البحث</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">تم إخفاء اقتراحات البحث</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">يتم عرض اقتراحات البحث</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">إخفاء زر المتجر</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">تم إخفاء زر المتجر</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">يتم عرض زر المتجر</string>
|
||||
<string name="revanced_hide_shorts_stickers_title">إخفاء الملصقات</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_on">تم إخفاء الملصقات</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_off">يتم عرض الملصقات</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">إخفاء زر الاشتراك</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">تم إخفاء زر الاشتراك</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">يتم عرض زر الاشتراك</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">إخفاء المنتجات الموسومة</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">تم إخفاء المنتجات الموسومة</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">يتم عرض المنتجات الموسومة</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">إخفاء زر القادم</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">تم إخفاء زر القادم</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">يتم عرض زر القادم</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">إخفاء زر استخدام هذا الصوت</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">زر استخدام هذا الصوت مخفي</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">زر استخدام هذا الصوت معروض</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">إخفاء زر استخدام هذا القالب</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">زر استخدام هذا القالب مخفي</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">زر استخدام هذا القالب ظاهر</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">إخفاء التأثير الفوّار لـزر أعجبني</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">تم إخفاء التأثير الفوّار لـزر أعجبني</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">يتم عرض التأثير الفوّار لـزر أعجبني</string>
|
||||
@@ -803,14 +821,17 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_comments_button_title">إخفاء زر التعليقات</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">تم إخفاء زر التعليقات</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">يتم عرض زر التعليقات</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">إخفاء زر ريمكس</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">تم إخفاء زر ريمكس</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">يتم عرض زر ريمكس</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_share_button_title">إخفاء زر مشاركة</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_on">تم إخفاء زر مشاركة</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_off">يتم عرض زر مشاركة</string>
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">إخفاء زر ريمكس</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">تم إخفاء زر ريمكس</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">يتم عرض زر ريمكس</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">إخفاء زر الصوت</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">تم إخفاء زر الصوت</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">يتم عرض زر الصوت</string>
|
||||
<string name="revanced_hide_shorts_info_panel_title">إخفاء لوحة المعلومات</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_on">تم إخفاء لوحة المعلومات</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_off">يتم عرض لوحة المعلومات</string>
|
||||
@@ -818,17 +839,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">تم إخفاء شريط القناة</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">يتم عرض شريط القناة</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">إخفاء عنوان الفيديو</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">تم إخفاء العنوان</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">يتم عرض العنوان</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">عنوان الفيديو مخفي</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">عنوان الفيديو معروض</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">إخفاء تسمية بيانات التعريف الصوتية</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">تم إخفاء تسمية بيانات التعريف</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">يتم عرض تسمية بيانات التعريف</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">إخفاء تسمية رابط الفيديو الكامل</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">تسمية بيانات تعريف الصوت مخفية</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">تسمية بيانات تعريف الصوت معروضة</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">إخفاء تسمية رابط الفيديو</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">تم إخفاء تسمية رابط الفيديو</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">يتم عرض تسمية رابط الفيديو</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">إخفاء زر الصوت</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">تم إخفاء زر الصوت</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">يتم عرض زر الصوت</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_title">إخفاء شريط التنقل</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_on">تم إخفاء شريط التنقل</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">يتم عرض شريط التنقل</string>
|
||||
@@ -842,9 +860,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">يتم عرض الفيديو المقترح في شاشة النهاية</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_video_overlay_title">إخفاء واجهة الفيديوهات ذات الصلة في وضع ملء الشاشة</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_on">تم إخفاء واجهة الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_off">يتم عرض واجهة الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">إخفاء تراكب مقاطع الفيديو ذات الصلة</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة مخفي</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة معروض</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">إخفاء الطابع الزمني للفيديو</string>
|
||||
@@ -893,7 +911,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">لم يعجبني كــ نسبة مئوية</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">يتم عرض مرات عدم الإعجاب كنسبة مئوية</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">يتم عرض مرات عدم الإعجاب كرقم</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<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>
|
||||
@@ -950,18 +968,32 @@ Second \"item\" text"</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' -->
|
||||
<!-- 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>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">زر التخطي مصمم لأفضل مظهر</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">إخفاء زر التخطي تلقائيًا</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">إخفاء زر التخطي بعد بضع ثوانٍ</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">يتم عرض زر التخطي للمقطع بأكمله</string>
|
||||
<string name="revanced_sb_general_skiptoast">عرض ملاحظة عند التخطي</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">يتم عرض ملاحظة عندما يتم تخطي مقطع تلقائيًا. انقر هنا لمشاهدة مثال</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">لن يتم عرض الملاحظة. انقر هنا لمشاهدة مثال</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">مدة زر التخطي</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">كم المدة لعرض أزرار التخطي والتخطي إلى التمييز قبل الإخفاء التلقائي</string>
|
||||
<string name="revanced_sb_general_skiptoast">إظهار إشعار التراجع عن التخطي</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">يظهر إشعار عند تخطي مقطع تلقائيًا. انقر على الإشعار للتراجع عن التخطي</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">لا يتم عرض التوست</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">مدة توست التخطي</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">كم المدة لعرض رسالة التراجع عن التخطي المنبثقة</string>
|
||||
<string name="revanced_sb_duration_1s">ثانية واحدة</string>
|
||||
<string name="revanced_sb_duration_2s">ثانيتان</string>
|
||||
<string name="revanced_sb_duration_3s">3 ثوانٍ</string>
|
||||
<string name="revanced_sb_duration_4s">4 ثوانٍ</string>
|
||||
<string name="revanced_sb_duration_5s">5 ثوانٍ</string>
|
||||
<string name="revanced_sb_duration_6s">6 ثوانٍ</string>
|
||||
<string name="revanced_sb_duration_7s">7 ثوانٍ</string>
|
||||
<string name="revanced_sb_duration_8s">8 ثوانٍ</string>
|
||||
<string name="revanced_sb_duration_9s">9 ثوانٍ</string>
|
||||
<string name="revanced_sb_duration_10s">10 ثوانٍ</string>
|
||||
<string name="revanced_sb_general_time_without">عرض مدة الفيديو بدون المقاطع</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">يعرض مدة الفيديو ناقصًا منه جميع المقاطع بين قوسين بجوار مدة الفيديو الكاملة</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">يتم عرض طول الفيديو مطروحًا منه جميع المقاطع على شريط التقدم</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">يتم عرض مدة الفيديو كاملةً</string>
|
||||
<string name="revanced_sb_create_segment_category">إنشاء مقاطع جديدة</string>
|
||||
<string name="revanced_sb_enable_create_segment">عرض زر إنشاء مقطع جديد</string>
|
||||
@@ -1080,7 +1112,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_vote_downvote">اعتراض</string>
|
||||
<string name="revanced_sb_vote_category">تغيير الفئة</string>
|
||||
<string name="revanced_sb_vote_no_segments">لا توجد مقاطع للتصويت عليها</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s إلى %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">اختيار فئة المقطع</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">الفئة معطلة في الإعدادات. تمكين الفئة للإرسال.</string>
|
||||
@@ -1139,6 +1171,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_change_form_factor_entry_1">الافتراضي</string>
|
||||
<string name="revanced_change_form_factor_entry_2">الجوّال</string>
|
||||
<string name="revanced_change_form_factor_entry_3">الجهاز اللوحي</string>
|
||||
<string name="revanced_change_form_factor_entry_4">السيارات</string>
|
||||
<string name="revanced_change_form_factor_user_dialog_message">"التغييرات تشمل:
|
||||
|
||||
تصميم الجهاز اللوحي
|
||||
@@ -1158,7 +1191,7 @@ Second \"item\" text"</string>
|
||||
|
||||
إذا تم إيقاف تشغيله لاحقًا، من المستحسن مسح بيانات التطبيق لمنع حدوث أخطاء في واجهة المستخدم."</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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.01.34 - استعادة أيقونات التنقل القديمة</string>
|
||||
@@ -1265,9 +1298,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_gradient_loading_screen_title">تمكين شاشة التحميل المتدرجة</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_on">ستحتوي شاشة التحميل على خلفية متدرجة</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_off">ستحتوي شاشة التحميل على خلفية ثابتة</string>
|
||||
<string name="splash_screen_animation_style_title">نمط الشاشة الترحيبية</string>
|
||||
<string name="splash_screen_animation_style_entry_1">اللون</string>
|
||||
<string name="splash_screen_animation_style_entry_2">أبيض وأسود</string>
|
||||
<string name="revanced_splash_screen_animation_style_title">نمط الشاشة الترحيبية</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">اللون</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">أبيض وأسود</string>
|
||||
<string name="revanced_seekbar_custom_color_title">تمكين لون شريط تقدم الفيديو المخصص</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">يتم عرض لون شريط تقدم الفيديو المخصص</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">يتم عرض لون شريط تقدم الفيديو الاصلي</string>
|
||||
@@ -1277,6 +1310,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">اللون المميز لشريط التقدم</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">لون شريط التقدم غير صالح</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">شعار الرأس</string>
|
||||
<string name="revanced_header_logo_entry_1">افتراضي</string>
|
||||
<string name="revanced_header_logo_entry_2">عادي</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
<string name="revanced_header_logo_entry_5">ريـفانسد بسيط</string>
|
||||
<string name="revanced_header_logo_entry_6">مخصص</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">تجاوز قيود منطقة الصورة</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">استخدام مضيف الصورة yt4.ggpht.com</string>
|
||||
@@ -1285,13 +1326,13 @@ Second \"item\" text"</string>
|
||||
تمكين هذا يمكن إصلاح الصور المفقودة التي يتم حظرها في بعض المناطق"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">علامة التبويب الصفحة الرئيسية</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">علامة التبويب الاشتراكات</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">علامة تبويب الاشتراكات</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">علامة التبويب أنت</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">قوائم تشغيل المشغل، التوصيات</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">قوائم تشغيل المشغل والتوصيات</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">نتائج البحث</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">المصّغرات الأصلية</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & المصّغرات الأصلية</string>
|
||||
@@ -1390,11 +1431,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_force_original_audio_title">فرض لغة الصوت الأصلية</string>
|
||||
<string name="revanced_force_original_audio_summary_on">استخدام لغة الصوت الأصلية</string>
|
||||
<string name="revanced_force_original_audio_summary_off">استخدام الصوت الافتراضي</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">لاستخدام هذه الميزة، غيّر \'Spoof Video Streams\' إلى iOS TV</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
<string name="revanced_video_quality_default_entry_1">تلقائي</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">تذكر تغييرات جودة الفيديو</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">تنطبق تغييرات الجودة على جميع الفيديوهات</string>
|
||||
@@ -1520,7 +1561,7 @@ AVC لديه حد أقصى للدقة 1080p، لا يتوفر ترميز الص
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">لا تتم المطالبة بنقاط القناة تلقائيًا</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
<string name="revanced_twitch_debug_mode_title">تمكين وضع تصحيح أخطاء Twitch</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">تم تمكين وضع تصحيح أخطاء Twitch (غير مستحسن)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">تم تعطيل وضع تصحيح أخطاء Twitch</string>
|
||||
@@ -1529,11 +1570,11 @@ AVC لديه حد أقصى للدقة 1080p، لا يتوفر ترميز الص
|
||||
<string name="revanced_settings">إعدادات ReVanced</string>
|
||||
<string name="revanced_about_title">لمحة</string>
|
||||
<string name="revanced_about_summary">لمحة عن ReVanced</string>
|
||||
<string name="revanced_ads_screen_title">الإعلانات</string>
|
||||
<string name="revanced_ads_screen_summary">إعدادات حجب الإعلانات</string>
|
||||
<string name="revanced_ads_screen_title">حظر الإعلانات</string>
|
||||
<string name="revanced_ads_screen_summary">إعدادات حظر الإعلانات</string>
|
||||
<string name="revanced_chat_screen_title">الدردشة</string>
|
||||
<string name="revanced_chat_screen_summary">إعدادات الدردشة</string>
|
||||
<string name="revanced_misc_screen_title">الخصائص المختلفة</string>
|
||||
<string name="revanced_misc_screen_title">متنوعة</string>
|
||||
<string name="revanced_misc_screen_summary">إعدادات متنوعة</string>
|
||||
<string name="revanced_general_category_title">الإعدادات العامة</string>
|
||||
<string name="revanced_other_category_title">إعدادات أخرى</string>
|
||||
|
||||
@@ -39,15 +39,17 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.debugging.enableDebuggingPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.general.hideLayoutComponentsPatch">
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<!-- For localization, it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
|
||||
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
|
||||
@@ -55,8 +57,8 @@ Second \"item\" text"</string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
</patch>
|
||||
@@ -66,8 +68,10 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
|
||||
</patch>
|
||||
@@ -81,19 +85,19 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.navigationButtonsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
</patch>
|
||||
@@ -106,14 +110,14 @@ Second \"item\" text"</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<!-- 'Lock screen' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
</patch>
|
||||
@@ -126,12 +130,11 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
</patch>
|
||||
@@ -151,7 +154,7 @@ Second \"item\" text"</string>
|
||||
<!-- 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' -->
|
||||
<!-- 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>
|
||||
<patch id="layout.searchbar.wideSearchbarPatch">
|
||||
@@ -159,16 +162,16 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.seekbar.seekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<!-- 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. -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
</patch>
|
||||
<patch id="layout.formfactor.changeFormFactorPatch">
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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. -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
</patch>
|
||||
@@ -182,12 +185,15 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.theme.themePatch">
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="misc.announcements.announcementsPatch">
|
||||
@@ -213,10 +219,10 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.privacy.removeTrackingQueryParameterPatch">
|
||||
</patch>
|
||||
<patch id="video.audio.forceOriginalAudioPatch">
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
</patch>
|
||||
<patch id="video.speed.button.playbackSpeedButtonPatch">
|
||||
</patch>
|
||||
@@ -245,7 +251,7 @@ Second \"item\" text"</string>
|
||||
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -146,115 +146,110 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
|
||||
<string name="revanced_hide_album_cards_title">Albom kartlarını gizlət</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Albom kartları gizlidir</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">Albom kartları göstərilir</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">İanə qutusunu gizlət</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">İanə qutusu gizlidir</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">İanə qutusu göstərilir</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Üzən mikrofon düyməsini gizlət</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Mikrofon düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Mikrofon düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Kanal filiqranını gizlət</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Su nişanı gizlidir</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Su nişanı göstərilir</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Üfüqi hissələri gizlət</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Hissələr gizlidir, nümunə:
|
||||
• Son xəbərlər
|
||||
• İzləməyə davam et
|
||||
• Daha çox kanallar kəşf et
|
||||
• Mağaza
|
||||
• Təkrar izlə"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Hissələr göstərilir</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Qoşul düyməsin gizlət</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Düymə gizlidir</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Düymə göstərilir</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">\"Sizin üçün\" bölməsin gizlət</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Kanal səhifəsində bölmə gizlidir</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Kanal səhifəsində bölmə görünür</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">\"Mənə bildir\" düyməsini gizlət</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Düymə gizlidir</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Düymə göstərilir</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendation_labels_title">Video tövsiyə etiketlərini gizlət</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_on">\"İnsanlar həmçinin izləyiblər\" və \"Bunu da bəyənə bilərsiniz\" etiketləri gizlədilib</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_off">\"İnsanlar həmçinin izləyiblər\" və \"Bunu da bəyənə bilərsiniz\" etiketləri görünür</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">\'Daha çox göstər\' düyməsini gizlət</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Düymə gizlidir</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Düymə göstərilir</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Bilet bölməsin gizlət</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Bilet bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Bilet bölməsi görünür</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Vaxtlı reaksiyaları gizlət</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Zamanlanmış reaksiyalar gizlədilir</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Zamanlanmış reaksiyalar göstərilir</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Kanal təlimatlarını gizlət</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Kanal təlimatları gizlidir</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">Kanal təlimatları göstərilir</string>
|
||||
<string name="revanced_hide_artist_cards_title">Sənətçi kartlarını gizlət</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Sənətçi kartları gizlidir</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Sənətçi kartları göstərilir</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Çip bölməsin gizlət</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Çip bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Çip bölməsi göstərilir</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Videoların aşağısında açılan kartı gizlət</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Genişləndirilən kart gizlidir</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">Genişləndirilən kart görünür</string>
|
||||
<string name="revanced_hide_community_posts_title">İcma elanların gizlət</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">İcma elanları gizlədilib</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">İcma elanları göstərilir</string>
|
||||
<string name="revanced_hide_compact_banner_title">Yığcam etiketləri gizlət</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Yığcam etiketlər gizlidir</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">Yığcam etiketlər göstərilir</string>
|
||||
<string name="revanced_hide_movies_section_title">Filmlər bölməsini gizlət</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Filmlər bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Filmlər bölməsi göstərilir</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">İanə qutusunu gizlət</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">İanə qutusu gizlidir</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">İanə qutusu göstərilir</string>
|
||||
<string name="revanced_hide_expandable_card_title">Genişlənən kartı gizlət</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">Videoların aşağısında genişlənən kart gizlidir</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">Videoların altında genişlənən kart görünür</string>
|
||||
<string name="revanced_hide_feed_survey_title">Axın sorğuların gizlət</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Axın sorğuları gizlidir</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">Axın sorğuları göstərilir</string>
|
||||
<string name="revanced_hide_community_guidelines_title">İcma təlimatlarını gizlət</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">İcma təlimatları gizlidir</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">İcma təlimatları göstərilir</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Abunəçi təlimatlarını gizlət</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Abunəliklərin icma təlimatları gizlidir</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Abunəliklərin icma təlimatları göstərilir</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Kanal üzvü bölməsin gizlət</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Kanal üzvü bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">Kanal üzvü bölməsi göstərilir</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Üzən mikrofon düyməsini gizlət</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Axtarışda üzən mikrofon düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Üzən mikrofon düyməsi axtarışda göstərilir</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Üfüqi hissələri gizlət</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Üfüqi cərgələr gizlidir, məsələn:
|
||||
• Son xəbərlər
|
||||
• İzləməyə davam et
|
||||
• Daha çox kanal kəşf et
|
||||
• Ən uyğun
|
||||
• Alış-veriş
|
||||
• Yenidən izləyin"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Üfüqi cərgələr görünür</string>
|
||||
<string name="revanced_hide_image_shelf_title">Şəkil cərgəsin gizlət</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Şəkil cərgəsi axtarış nəticələrində gizlidir</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Şəkil cərgəsi axtarış nəticələrində görünür</string>
|
||||
<string name="revanced_hide_latest_posts_title">Son elanları gizlət</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">Ən son elanlar gizlədilib</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">Ən son elanlar göstərilir</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Qarışıq pleylistləri gizlət</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Qarışıq oynatma siyahıları gizlədilir</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Qarışıq oynatma siyahıları göstərilir</string>
|
||||
<string name="revanced_hide_movies_section_title">Filmlər bölməsini gizlət</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Filmlər bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Filmlər bölməsi göstərilir</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">\"Mənə bildir\" düyməsini gizlət</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Mənə bildir düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Mənə bildir düyməsi görünür</string>
|
||||
<string name="revanced_hide_playables_title">Oynadılan elementləri gizlət</string>
|
||||
<string name="revanced_hide_playables_summary_on">Oynadılanlar gizlidir</string>
|
||||
<string name="revanced_hide_playables_summary_off">Oynadılanlar göstərilir</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">\'Daha çox göstər\' düyməsini gizlət</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Daha çox göstər düyməsi axtarış nəticələrində gizlidir</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Daha çox göstər düyməsi axtarış nəticələrində görünür</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Bilet bölməsin gizlət</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Bilet bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Bilet bölməsi görünür</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">Video tövsiyə etiketlərini gizlət</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">\'İnsanlar həmçinin izləyiblər\' və \'Bunu da bəyənə bilərsiniz\' etiketləri axtarış nəticələrində gizlədilib</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">\'İnsanlar həmçinin izləyiblər\' və \'Bunu da bəyənə bilərsiniz\' etiketləri axtarış nəticələrində görünür</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">YouTube Doodle-ları gizlət</string>
|
||||
<string name="revanced_hide_doodles_summary_on">YouTube Doodles animasiyası simvolda gizlidir</string>
|
||||
<string name="revanced_hide_doodles_summary_off">YouTube Doodles animasiyası simvolda görünür</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodle-ları hər il bir neçə gün görünür.
|
||||
|
||||
Əgər hazırda bölgənizdə Doodle göstərilirsə və bu gizlətmə seçimi aktivdirsə, axtarış cizgisi aşağısındakı filtr sahəsi də gizlədiləcək."</string>
|
||||
<string name="revanced_hide_channel_bar_title">Kanal çubuğunu gizlət</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Kanal çubuğu gizlidir</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Kanal çubuğu göstərilir</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Kanal filiqranını gizlət</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Su nişanı gizlidir</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Su nişanı göstərilir</string>
|
||||
<string name="revanced_hide_emergency_box_title">Ciddi vəziyyət qutularını gizlət</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Ciddi vəziyyət qutuları gizlidir</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">Ciddi vəziyyət qutuları göstərilir</string>
|
||||
<string name="revanced_hide_info_panels_title">Məlumat lövhələrini gizlət</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Məlumat lövhələri gizlidir</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">Məlumat lövhələri göstərilir</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Qoşul düyməsin gizlət</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Qoşul düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Qoşul düyməsi görünür</string>
|
||||
<string name="revanced_hide_medical_panels_title">Tibbi lövhələri gizlət</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Tibbi lövhələr gizlidir</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">Tibbi lövhələr göstərilir</string>
|
||||
<string name="revanced_hide_channel_bar_title">Kanal çubuğunu gizlət</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Kanal çubuğu gizlidir</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Kanal çubuğu göstərilir</string>
|
||||
<string name="revanced_hide_playables_title">Oynadılan elementləri gizlət</string>
|
||||
<string name="revanced_hide_playables_summary_on">Oynadılanlar gizlidir</string>
|
||||
<string name="revanced_hide_playables_summary_off">Oynadılanlar göstərilir</string>
|
||||
<string name="revanced_hide_quick_actions_title">Tam ekranda cəld fəaliyyətləri gizlət</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Cəld fəaliyyətlər gizlədilir</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Cəld fəaliyyətlər göstərilir</string>
|
||||
<string name="revanced_hide_related_videos_title">Cəld fəaliyyətlərdə əlaqəli videoları gizlə</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Əlaqədar videolar gizlədilib</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Əlaqədar videolar göstərilir</string>
|
||||
<string name="revanced_hide_image_shelf_title">Axtarış nəticəsində şəkil bölməsin gizlə</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Şəkil bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Şəkil bölməsi göstərilir</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Son elanları gizlət</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Ən son elanlar gizlədilib</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Ən son elanlar göstərilir</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Qarışıq pleylistləri gizlət</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Qarışıq oynatma siyahıları gizlədilir</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Qarışıq oynatma siyahıları göstərilir</string>
|
||||
<string name="revanced_hide_artist_cards_title">Sənətçi kartlarını gizlət</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Sənətçi kartları gizlidir</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Sənətçi kartları göstərilir</string>
|
||||
<string name="revanced_hide_quick_actions_title">Cəld fəaliyyətləri gizlət</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Tam ekranda cəld fəaliyyətlər gizlədilib</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Tam ekranda cəld fəaliyyətlər görünür</string>
|
||||
<string name="revanced_hide_related_videos_title">Əlaqəli videoları gizlət</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Əlaqəli videolar cəld fəaliyyətlərdə gizlədilib</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Əlaqəli videolar cəld fəaliyyətlərdə görünür</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Abunəçi təlimatlarını gizlət</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Abunəliklərin icma təlimatları gizlidir</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Abunəliklərin icma təlimatları göstərilir</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Vaxtlı reaksiyaları gizlət</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Zamanlanmış reaksiyalar gizlədilir</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Zamanlanmış reaksiyalar göstərilir</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">\"AI ilə yaradılan video xülasəsini\" gizlət</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Video xülasə bölməsi gizlədilib</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Video xülasə bölməsi göstərilir</string>
|
||||
@@ -285,16 +280,39 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Video təsviri</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Video təsviri elementlərini gizlət və ya göstər</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Filtr çubuğu</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Axında, axtarış nəticələrində və əlaqəli videolarda filtr cərgəsin gizlət və ya göstər</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Axında gizlət</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Axında gizlidir</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Axında göstərilir</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Axınlar, tarixçə, axtarış nəticələri və əlaqəli videolarda filtr panelini gizlət və ya göstər</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Axınlarda gizlət</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Axınlarda gizlidir</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Axınlarda göstər</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Tarixçədə gizlət</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">Tarixçədə gizlədilib</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Tarixçədə göstərilib</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Axtarış nəticələrində gizlət</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Axtarış nəticələrində gizlədilib</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Axtarış nəticələrində göstərilir</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Əlaqəli videolarda gizlət</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Əlaqəli videolarda gizlidir</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Əlaqəli videolarda görünür</string>
|
||||
<string name="revanced_channel_screen_title">Kanal səhifəsi</string>
|
||||
<string name="revanced_channel_screen_summary">Kanal səhifə elementlərini gizlət və ya göstər</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">\"Sizin üçün\" bölməsin gizlət</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Sizin üçün cərgəsi gizlidir</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Sizin üçün cərgəsi görünür</string>
|
||||
<string name="revanced_hide_links_preview_title">Keçidlərin önizləməsini gizlət</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">Keçidlər önizləməsi gizlədilib</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">Keçidlər önizləməsi görünür</string>
|
||||
<string name="revanced_hide_members_shelf_title">Üzvlər cərgəsini gizlət</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">Üzvlər cərgəsi gizlidir</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">Üzvlər cərgəsi görünür</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">\'İcmaya daxil olun\' düyməsini gizlət</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">İcmaya daxil ol düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">İcmaya daxil ol düyməsi görünür</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağazaya baxın\" düyməsin gizlə</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Mağazaya baxın düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Mağazaya baxın düyməsi görünür</string>
|
||||
<string name="revanced_comments_screen_title">Şərhlər</string>
|
||||
<string name="revanced_comments_screen_summary">Şərhlər bölməsi elementlərin gizlət və ya göstər</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">AI Söhbət Xülasəsini Gizlət</string>
|
||||
@@ -303,31 +321,30 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">AI Ṣərhlər Xülasəsini Gizlət</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Ṣərh yekunu gizlidir </string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Şərh yekunu görünür</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">Kanal təlimatlarını gizlət</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">Kanal təlimatları gizlidir</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">Kanal təlimatları görünür</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">\'Üzvlərin şərhləri\' başlığını gizlət</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Üzvlərin şərhləri başlığı gizlidir</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Üzvlərin şərhləri başlığı görünür</string>
|
||||
<string name="revanced_hide_comments_section_title">Şərhlər bölməsini gizlət</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">Şərhlər bölməsi gizlidir</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">Şərhlər bölməsi göstərilir</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">İcma təlimatlarını gizlət</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">İcma təlimatları gizlidir</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">İcma təlimatları görünür</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">\"Shorts Yarat\" düyməsini gizlət</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Short yarat düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Short yarat düyməsi görünür</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Vaxt möhürü düyməsini gizlət</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Vaxt damğası düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Vaxt möhürü düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Önbaxış şərhin gizlət</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Önbaxış şərhi gizlədilib</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Önbaxış şərhi göstərilir</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Təşəkkür Düyməsini Gizlət</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Təşəkkür düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Təşəkkür düyməsi göstərilir</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">YouTube Doodle-ları gizlət</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Axtarış çubuğu Doodle-ları gizlidir</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Axtarış çubuğu Doodle-ları göstərilir</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodle-ları hər il bir neçə gün görünür.
|
||||
|
||||
Əgər hazırda bölgənizdə Doodle göstərilirsə və bu gizlətmə seçimi aktivdirsə, axtarış cizgisi aşağısındakı filtr sahəsi də gizlədiləcək."</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Vaxt damğası düyməsin gizlət</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Vaxt damğası düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Vaxt möhürü düyməsi göstərilir</string>
|
||||
<string name="revanced_custom_filter_screen_title">Şəxsi filtr</string>
|
||||
<string name="revanced_custom_filter_screen_summary">Fərdi filtrlər işlədərək elementləri gizlət</string>
|
||||
<string name="revanced_custom_filter_title">Fərdi filtri aktivləşdir</string>
|
||||
@@ -374,44 +391,41 @@ Məhdudiyyətlər
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Açar söz, bütün videoları gizlədəcək: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Ümumi reklamları gizlət</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Ümumi reklamlar gizlidir</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Ümumi reklamlar göstərilir</string>
|
||||
<string name="revanced_hide_creator_store_shelf_title">Yaradıcı mağaza bölümün gizlət</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">Yaradıcı alış-veriş cərgəsi video oynadıcı altında gizlidir</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">Yaradıcı alış-veriş cərgəsi video oynadıcı altında görünür</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Son ekran mağaza etiketini gizlət</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Son ekran alış-veriş etiketi gizlədilib</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Son ekran alış-veriş etiketi görünür</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">Tam ekran reklamlarını gizlət</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"Tam ekran reklamları gizlidir
|
||||
|
||||
Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">Tam ekran reklamları göstərilir</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_fullscreen_ads_feature_not_available_toast">Tam ekran reklamları gizlətmə yalnız köhnə cihazlarda işləyir</string>
|
||||
<string name="revanced_hide_general_ads_title">Ümumi reklamları gizlət</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Ümumi reklamlar gizlidir</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Ümumi reklamlar göstərilir</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Məhsul etiketlərini gizlət</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Məhsul etiketləri gizlədilir</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Məhsul etiketləri göstərilir</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Ödənişli tanıtım etiketini gizlət</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Ödənişli reklam etiketi gizlədilib</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">Ödənişli reklam etiketi göstərilir</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Öz-sponsorlu kartları gizlət</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Özünə sponsorluq edilən kartlar gizlidir</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Özünə sponsorluq edilən kartlar göstərilir</string>
|
||||
<string name="revanced_hide_products_banner_title">\"Məhsullara baxın\" etiketin gizlət</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Etiket gizlədilib</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">Etiket göstərilir</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Son ekran mağaza etiketini gizlət</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Mağaza etiketi gizlidir</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Mağaza etiketi görünür</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">Oynadıcı mağaza bölməsin gizlət</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">Alış-veriş rəfi gizlidir</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">Alış-veriş rəfi göstərilir</string>
|
||||
<string name="revanced_hide_shopping_links_title">Video təsvirdə mağaza linklərin gizlə</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Video təsvirində alış-veriş linkləri gizlədilib</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Video təsvirində alış-veriş linkləri görünür</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağazaya baxın\" düyməsin gizlə</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Kanal səhifəsindəki düymə gizlidir</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Kanal səhifəsindəki düymə görünür</string>
|
||||
<string name="revanced_hide_shopping_links_title">Alış-veriş linklərini gizlət</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Alış-veriş linkləri video təsvirdə gizlidir</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Alış-veriş linkləri video təsvirdə görünür</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">“Məhsullara baxın” panelin gizlət</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">Məhsullara baxış etiketi video örtüyündə gizlidir</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">Məhsullara baxış etiketi video örtüyündə görünür</string>
|
||||
<string name="revanced_hide_web_search_results_title">Veb axtarış nəticələrini gizlət</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Veb axtarış nəticələri gizlədilir</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Veb axtarış nəticələri göstərilir</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Məhsul etiketlərini gizlət</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Məhsul etiketləri gizlədilir</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Məhsul etiketləri göstərilir</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_fullscreen_ads_feature_not_available_toast">Tam ekran reklamları gizlətmə yalnız köhnə cihazlarda işləyir</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">YouTube Premium reklamlarını gizlət</string>
|
||||
@@ -439,13 +453,18 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialoq göstərilir</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Bu, yaş məhdudiyyətini ötürmür. Sadəcə birbaşa qəbul edir.</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Cüt toxunuşla fəsil ötürməsini qapat</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Cüt toxunma heç vaxt növbəti/əvvəlki fəsilə keçidi zorlaya bilməz</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Cüt toxunma bəzən növbəti/əvvəlki fəsilə keçidi zorlaya bilər</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">Xarici yükləmələr</string>
|
||||
<string name="revanced_external_downloader_screen_summary">Xarici yükləyici istifadəsi üçün tənzimləmələr</string>
|
||||
<string name="revanced_external_downloader_title">Xarici yükləmə düyməsini göstər</string>
|
||||
<string name="revanced_external_downloader_summary_on">Endirin düyməsi oynadıcıda göstərilir</string>
|
||||
<string name="revanced_external_downloader_summary_off">Endirin düyməsi oynadıcıda göstərilmir</string>
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">Yükləmə fəaliyyət düyməsin qəbul etmə</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">Yükləmə düyməsi, xarici yükləyicinizi açır</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">Yükləmə düyməsi tətbiqə xas yükləyicini açır</string>
|
||||
@@ -538,7 +557,7 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Reklamları dayandır düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Reklamları dayandır düyməsi görünür</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">\"Xəbər verin\"i gizlət</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Xəbər ver/düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Xəbər ver/düyməsi göstərilir</string>
|
||||
@@ -555,7 +574,7 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
|
||||
<string name="revanced_hide_thanks_button_summary_on">Təşəkkür düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Təşəkkür düyməsi göstərilir</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Soruş\'u Gizlət</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Soruş düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">\"Soruş\" düyməsi göstərilir</string>
|
||||
@@ -579,7 +598,7 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
|
||||
<string name="revanced_hide_shorts_button_title">\"Shorts\"u gizlət</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Shorts düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Shorts düyməsi göstərilir</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">\"Yarat\"ı gizlət</string>
|
||||
<string name="revanced_hide_create_button_summary_on">Yarat düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_create_button_summary_off">Yarat düyməsi göstərilir</string>
|
||||
@@ -648,7 +667,7 @@ Bu seçimi dəyişdirmə işə düşmürsə, Gizli rejimə keçməyə çalışı
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">Oynatma sürəti menyusu gizlidir</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">Oynatma sürəti menyusu göstərilir</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">\"Daha çox məlumat\"ı gizlət</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">Ətraflı məlumat menyusu gizlidir</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">Ətraflı məlumat menyusu göstərilir</string>
|
||||
@@ -660,7 +679,7 @@ Bu seçimi dəyişdirmə işə düşmürsə, Gizli rejimə keçməyə çalışı
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">Səs trekini gizlət</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">Səs axını menyusu gizlidir</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">Səs axını menyusu göstərilir</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_not_available">"Audio trek seçimi gizlədilib
|
||||
|
||||
Audio trek seçimin göstərmək üçün \"Video axınları saxtalaşdır\"ı iOS TV-yə dəyiş"</string>
|
||||
@@ -673,22 +692,22 @@ Audio trek seçimin göstərmək üçün \"Video axınları saxtalaşdır\"ı iO
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">Video keyfiyyət menyusu alt məlumatı göstərilir</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Əvvəlki və Növbəti düymələrin gizlət</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Düymələr gizlidir</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Düymələr göstərilir</string>
|
||||
<string name="revanced_hide_cast_button_title">Yayımla düyməsini gizlət</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Yayım düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Yayım düyməsi göstərilir</string>
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<string name="revanced_hide_captions_button_title">Titrlər Düyməsin Gizlət</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Titrlər düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Titrlər düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_autoplay_button_title">Avtomatik oynatma düyməsini gizlət</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">Avtomatik oynatma düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">Avtomatik oynatma düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Oynadıcı idarəetmə düymələri fonunu gizlət</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Oynadıcı idarəetmə düymələri fonu gizlidir</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Oynadıcı idarəetmə düymələri fonu görünür</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">Titrlər Düyməsin Gizlət</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Titrlər düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Titrlər düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_cast_button_title">Yayımla düyməsini gizlət</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Yayım düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Yayım düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Oynadıcı idarəetmələri fonunu gizlət</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Oynadıcı idarəetmə fonu gizlədilib</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Oynadıcı idarəetmə fonu görünür</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Əvvəlki və Növbəti düymələrin gizlət</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Düymələr gizlidir</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Düymələr göstərilir</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">Son ekran kartlarını gizlət</string>
|
||||
@@ -721,76 +740,75 @@ Audio trek seçimin göstərmək üçün \"Video axınları saxtalaşdır\"ı iO
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">Shorts oynadıcı</string>
|
||||
<string name="revanced_shorts_player_screen_summary">Shorts oynadıcıda hissəcikləri gizlət və ya göstər</string>
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Ev axınında \"Shorts\"u gizlət</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Ev axınında və əlaqəli videolarda gizlədilib</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Ev axınında və əlaqəli videolarda göstərilir</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Abunəlik axınında \"Shorts\"u gizlət</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Abunəlik axınında gizlidir</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Abunəlik axınında göstərilir</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Shorts-u Ev axınında gizlət</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Ev axını və əlaqəli videolarda gizlidir</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Ev axını və əlaqəli videolarda görünür</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Shorts-u Abunəliklər axınında gizlət</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Abunəliklər axınında gizlidir</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Abunəliklər axınında görünür</string>
|
||||
<string name="revanced_hide_shorts_search_title">Axtarış nəticələrindəki \"Shorts\"u gizlət</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Axtarış nəticələrində gizlidir</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Axtarış nəticələrində görünür</string>
|
||||
<string name="revanced_hide_shorts_history_title">Baxış tarixçəsində Shorts-u gizlət</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">Baxış tarixçəsində gizlidir</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">Baxış tarixçəsində göstərilib</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Qoşul düyməsin gizlə</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Qoşulma düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Qoşulma düyməsi göstərilir</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Abunə ol düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Abunə ol düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Abunə ol düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Dayandırma örtük düymələrini gizlət</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Dayandırma örtük düymələri gizlədilir</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Dayandırma örtük düymələri göstərilir</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Mağaza düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Mağaza düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Mağaza düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">Super Təşəkkür Al düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Super Təşəkkür düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Super Təşəkkür düyməsi görünəndir</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Etiketlənmiş məhsulları gizlət</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Etiketlənmiş məhsullar gizlədilir</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Etiketlənmiş məhsullar göstərilir</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Məkan etiketini gizlət</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Məkan etiketi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Məkan etiketi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Öncül baxış şərhini gizlət</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Öncül baxış şərhi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Öncül baxış şərhi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Musiqini saxla düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">\"Musiqini saxla\" düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">\"Musiqini saxla\" düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Bu səsi işlət düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Bu səsi işlət düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Bu səsi işlət düyməsi görünür</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Bu şablonu işlət düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Bu şablonu işlət düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Bu şablonu işlət düyməsi görünür</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Yaxınlaşan düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">\"Yaxınlaşan\" düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">\"Yaxınlaşan\" düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Super Təşəkkürlər Al düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Super Təşəkkürlər Al düyməsi görünür</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">Effekt düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">Effekt düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">Effekt düyməsi görünür</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">Yaşıl ekran düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">\"Yaşıl ekran\" düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">\"Yaşıl ekran\" düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Yeni elanları gizlət düyməsi</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Yeni elanlar düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Yeni elanlar düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">Mövzu etiketi düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">Mövzu etiketi düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">Mövzu etiketi düyməsi göstərilir</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Qoşul düyməsin gizlə</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Qoşulma düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Qoşulma düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Məkan etiketini gizlət</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Məkan etiketi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Məkan etiketi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Yeni elanları gizlət düyməsi</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Yeni elanlar düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Yeni elanlar düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Dayandırma örtük düymələrini gizlət</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Dayandırma örtük düymələri gizlədilir</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Dayandırma örtük düymələri göstərilir</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Öncül baxış şərhini gizlət</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Öncül baxış şərhi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Öncül baxış şərhi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Musiqini saxla düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">\"Musiqini saxla\" düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">\"Musiqini saxla\" düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Axtarış təkliflərini gizlət</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Axtarış təklifləri gizlədilib</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Axtarış təklifləri göstərilir</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Mağaza düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Mağaza düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Mağaza düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_stickers_title">Stikerləri gizlət</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_on">Stikerlər gizlidir</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_off">Stikerlər göstərilir</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Abunə ol düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Abunə ol düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Abunə ol düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Etiketlənmiş məhsulları gizlət</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Etiketlənmiş məhsullar gizlədilir</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Etiketlənmiş məhsullar göstərilir</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Yaxınlaşan düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">\"Yaxınlaşan\" düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">\"Yaxınlaşan\" düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Bu səsi işlət düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Bu səsi işlət düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Bu səsi işlət düyməsi görünür</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Bu şablonu işlət düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Bu şablonu işlət düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Bu şablonu işlət düyməsi görünür</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">Bəyənmə düyməsi fontan animasiyasın gizlət</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">\"Bəyən\" fontan animasiyası gizlidir</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">\"Bəyən\" fontan animasiyası göstərilir</string>
|
||||
@@ -803,14 +821,17 @@ Audio trek seçimin göstərmək üçün \"Video axınları saxtalaşdır\"ı iO
|
||||
<string name="revanced_hide_shorts_comments_button_title">Şərhlər düyməsin gizlət</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">Şərhlər düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">Şərhlər düyməsi göstərilir</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Remix düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Remix düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Remix düyməsi göstərilir</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_share_button_title">Paylaş düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_on">Paylaş düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_off">Paylaş düyməsi göstərilir</string>
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Remix düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Remix düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Remix düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Səs düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Səs düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Səs düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_info_panel_title">Məlumat panelini gizlət</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_on">Məlumat paneli gizlidir</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_off">Məlumat paneli göstərilir</string>
|
||||
@@ -818,17 +839,14 @@ Audio trek seçimin göstərmək üçün \"Video axınları saxtalaşdır\"ı iO
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">Kanal çubuğu gizlidir</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">Kanal çubuğu göstərilir</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">Video başlığını gizlət</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Başlıq gizlədilir</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Başlıq göstərilir</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Video başlığı gizlidir</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Video başlığı görünür</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">Səs üst məlumat etiketini gizlət</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Üst məlumat etiketi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Üst məlumat etiketi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Tam video bağlantısı etiketini gizlət</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Səs üst məlumat etiketi gizlədilib</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Səs üst məlumat etiketi görünür</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Video keçidi etiketini gizlət</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">Video linki etiketi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">Video link etiketi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Səs düyməsini gizlət</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Səs düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Səs düyməsi göstərilir</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_title">Fəaliyyət çubuğunu gizlət</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_on">Fəaliyyət çubuğu gizlidir</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">Fəaliyyət çubuğu göstərilir</string>
|
||||
@@ -841,9 +859,9 @@ Avtomatik oynatma YouTube ayarlarında dəyişdirilə bilər: Ayarlar → Oxunu
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">Son ekranda bildirilən video göstərilir</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_video_overlay_title">Əlaqəli video örtüyünü tam ekranda gizlət</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_on">Əlaqəli video örtüyü gizlədilib</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_off">Əlaqəli video örtüyü göstərilir</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">Əlaqəli videolar örtüyünü gizlət</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">Əlaqəli videolar yerləşməsi tam ekranda gizlidir</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">Əlaqəli videolar yerləşməsi tam ekranda görünür</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">Video vaxt möhürünü gizlət</string>
|
||||
@@ -892,7 +910,7 @@ Məhdudiyyət: Bəyənməmələr gizli rejimdə görünməyə bilər"</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">\"Bəyənməmə\"lər faiz olaraq</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">Bəyənməmələr faiz kimi göstərilir</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">Bəyənməmələr nömrə kimi göstərilir</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<string name="revanced_ryd_compact_layout_title">Yığcam Bəyən Düyməsi</string>
|
||||
<string name="revanced_ryd_compact_layout_summary_on">Daha kiçik en üçün hazırlanmış Bəyən düyməsi</string>
|
||||
<string name="revanced_ryd_compact_layout_summary_off">Ən yaxşı görünüş üçün tərtib edilmiş Bəyən düyməsi</string>
|
||||
@@ -949,18 +967,32 @@ Bu funksiya 720p və ya daha aşağı video keyfiyyəti ilə və çox sürətli
|
||||
<string name="revanced_sb_square_layout">Kvadrat düzümü istifadə et</string>
|
||||
<string name="revanced_sb_square_layout_sum_on">Düymələr və idarəedicilər kvadratdır </string>
|
||||
<string name="revanced_sb_square_layout_sum_off">Düymələr və idarəedicilər dairəvidir</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">Yığcam Ötürmə düyməsini istifadə et</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">Ən kiçik en üçün hazırlanmış ötürmə düyməsi</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">Ən yaxşı görünüş üçün hazırlanan ötürmə düyməsi</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">Ötürmə düyməsini avtomatik gizlət</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">Ötürmə düyməsi bir neçə saniyə sonra gizlənir</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Ötürmə düyməsi bütün bölüm ərzində göstərilir</string>
|
||||
<string name="revanced_sb_general_skiptoast">Ötürüləndə ani bildiriş göstər</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Bölüm avto-ötürüləndə bildiriş göstərilir. Nümunə görmək üçün bura toxun</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Bildiriş göstərilmir. Nümunə görmək üçün bura toxun</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">Ötür düyməsi müddəti</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">Avtomatik gizlənmədən əvvəl ötür və vurğulamaya keç düymələri nə qədər görünür</string>
|
||||
<string name="revanced_sb_general_skiptoast">Ötürməni geri al bildirişin göstər</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Ani bildiriş bölüm birbaşa ötürüldükdə görünür. Ötürməni geri qaytarmaq üçün bildirişə toxun</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Ani bildiriş görünmür</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">Ötür ani bildiriş müddəti</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">Ötür ani bildirişin ləğv etmə göstərilməsi müddəti</string>
|
||||
<string name="revanced_sb_duration_1s">1 saniyə</string>
|
||||
<string name="revanced_sb_duration_2s">2 saniyə</string>
|
||||
<string name="revanced_sb_duration_3s">3 saniyə</string>
|
||||
<string name="revanced_sb_duration_4s">4 saniyə</string>
|
||||
<string name="revanced_sb_duration_5s">5 saniyə</string>
|
||||
<string name="revanced_sb_duration_6s">6 saniyə</string>
|
||||
<string name="revanced_sb_duration_7s">7 saniyə</string>
|
||||
<string name="revanced_sb_duration_8s">8 saniyə</string>
|
||||
<string name="revanced_sb_duration_9s">9 saniyə</string>
|
||||
<string name="revanced_sb_duration_10s">10 saniyə</string>
|
||||
<string name="revanced_sb_general_time_without">Bölümsüz video uzunluğun göstər</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Video uzunluğu bütün bölümləri silir, tam video uzunluğu yanaşı mötərizədə göstərilir</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Video uzunluğu bütün bölümləri çıxarır, irəliləyiş cizgisində göstərir</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">Tam video uzunluğu göstərilir</string>
|
||||
<string name="revanced_sb_create_segment_category">Yeni bölümlər yaradılır</string>
|
||||
<string name="revanced_sb_enable_create_segment">Yeni Bölüm Yarat Düyməsini Göstər</string>
|
||||
@@ -1079,7 +1111,7 @@ Artıq mövcuddur"</string>
|
||||
<string name="revanced_sb_vote_downvote">Mənfi səs</string>
|
||||
<string name="revanced_sb_vote_category">Kateqoriyanı dəyişdir</string>
|
||||
<string name="revanced_sb_vote_no_segments">Səsvermə üçün bölüm yoxdur</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s - %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Bölüm kateqoriyasını seçin</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Seçimlərdə kateqoriya qeyri-aktivdir. Göndərmək üçün kateqoriyanı aktiv et.</string>
|
||||
@@ -1158,7 +1190,7 @@ Bu tətbiqin görünüşün və xüsusiyyətlərin dəyişdirəcək, lakin bilin
|
||||
|
||||
Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların silmək tövsiyə olunur."</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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.01.34 - Köhnə fəaliyyət simvolların bərpa et</string>
|
||||
@@ -1265,9 +1297,9 @@ Kiçik oynadıcı ekrandan sola və ya sağa sürüklənə bilər"</string>
|
||||
<string name="revanced_gradient_loading_screen_title">Dəyişkən yükləmə ekranını aktivləşdir</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_on">Yükləmə ekranı, dəyişkən arxa plana malik olacaq</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_off">Yükləmə ekranı, vahid arxa plana malik olacaq</string>
|
||||
<string name="splash_screen_animation_style_title">Sıçrama ekran üslubu</string>
|
||||
<string name="splash_screen_animation_style_entry_1">Rəng</string>
|
||||
<string name="splash_screen_animation_style_entry_2">Qara və ağ</string>
|
||||
<string name="revanced_splash_screen_animation_style_title">Sıçrama ekran üslubu</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">Rəng</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">Qara və ağ</string>
|
||||
<string name="revanced_seekbar_custom_color_title">Fərdi irəliləmə cizgisi rəngini aktivləşdir</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">Fərdi irəliləmə cizgisi rəngi göstərilir</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">Orijinal irəliləmə cizgisi rəngi göstərilir</string>
|
||||
@@ -1277,6 +1309,14 @@ Kiçik oynadıcı ekrandan sola və ya sağa sürüklənə bilər"</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">İrəliləyiş cizgisi vurğu rəngi</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Etibarsız irəliləmə cizgisi rəng dəyəri</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">Başlıq simvolu</string>
|
||||
<string name="revanced_header_logo_entry_1">İlkin</string>
|
||||
<string name="revanced_header_logo_entry_2">Müntəzəm</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
<string name="revanced_header_logo_entry_5">Ən kiçik ReVanced</string>
|
||||
<string name="revanced_header_logo_entry_6">Fərdi</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Təsvir bölgə məhdudiyyətlərini ötür</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Yt4.ggpht.com təsvir serveri istifadə edilir</string>
|
||||
@@ -1285,13 +1325,13 @@ Kiçik oynadıcı ekrandan sola və ya sağa sürüklənə bilər"</string>
|
||||
Bunu aktivləşdirmə, bəzi regionlarda əngəllənib silinən şəkilləri düzəldə bilər"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Ev paneli</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Abunəliklər paneli</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Abunəliklər bölməsi</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">\"Siz\" paneli</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Oynadıcı pleylistləri, tövsiyələr</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Oynadıcı pleylistləri & tövsiyələri</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">Axtarış nəticələri</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">Orijinal miniatürlər</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & Orijinal miniatürlər</string>
|
||||
@@ -1390,11 +1430,11 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
|
||||
<string name="revanced_force_original_audio_title">Orijinal səs dilini zorla</string>
|
||||
<string name="revanced_force_original_audio_summary_on">Orijinal səs dilini istifadə</string>
|
||||
<string name="revanced_force_original_audio_summary_off">İlkin səs istifadəsi</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">Bu xüsusiyyəti istifadə etmək üçün \"Saxta video yayımların\" iOS TV-yə dəyiş</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
<string name="revanced_video_quality_default_entry_1">Avtomatik</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">Video keyfiyyəti dəyişikliklərini xatırla</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">Keyfiyyət dəyişiklikləri bütün videolara tətbiq edilir</string>
|
||||
@@ -1507,7 +1547,7 @@ AVC maksimum 1080p görüntü imkanına malikdir, Opus audio kodlama olmur və v
|
||||
<string name="revanced_block_video_ads_summary_off">Video reklamlar bloklanmır</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">mesaj silindi</string>
|
||||
<string name="revanced_deleted_msg">Məlumat silindi</string>
|
||||
<string name="revanced_show_deleted_messages_title">Silinən mesajları göstər</string>
|
||||
<string name="revanced_show_deleted_messages_entry_1">Silinən mesajlar göstərilməsin</string>
|
||||
<string name="revanced_show_deleted_messages_entry_2">Silinmiş mesajları boz panel arxasında gizlət</string>
|
||||
@@ -1519,7 +1559,7 @@ AVC maksimum 1080p görüntü imkanına malikdir, Opus audio kodlama olmur və v
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">Kanal Xalları avtomatik olaraq təsdiqlənmir</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
<string name="revanced_twitch_debug_mode_title">Twitch sazlama rejimini aktivləşdir</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">Twitch sazlama rejimi aktivdir (tövsiyə edilmir)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">Twitch sazlama rejimi qeyri-aktiv edilib</string>
|
||||
@@ -1528,11 +1568,11 @@ AVC maksimum 1080p görüntü imkanına malikdir, Opus audio kodlama olmur və v
|
||||
<string name="revanced_settings">ReVanced Tənzimləmələri</string>
|
||||
<string name="revanced_about_title">Haqqında</string>
|
||||
<string name="revanced_about_summary">ReVanced Haqqında</string>
|
||||
<string name="revanced_ads_screen_title">Reklamlar</string>
|
||||
<string name="revanced_ads_screen_summary">Reklam əngəlləmə tənzimləmələri</string>
|
||||
<string name="revanced_ads_screen_title">Reklam Əngəlləmə</string>
|
||||
<string name="revanced_ads_screen_summary">Reklam Əngəlləmə tənzimləmələri</string>
|
||||
<string name="revanced_chat_screen_title">Söhbət</string>
|
||||
<string name="revanced_chat_screen_summary">Söhbət tənzimləmələri</string>
|
||||
<string name="revanced_misc_screen_title">Müxtəlif</string>
|
||||
<string name="revanced_misc_screen_title">Çoxvariantlı</string>
|
||||
<string name="revanced_misc_screen_summary">Müxtəlif tənzimləmələr</string>
|
||||
<string name="revanced_general_category_title">Ümumi tənzimləmələr</string>
|
||||
<string name="revanced_other_category_title">Digər tənzimləmələr</string>
|
||||
|
||||
@@ -146,115 +146,110 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_album_cards_title">Схаваць карты альбома</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Карткі альбомаў схаваныя</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">Паказваюцца альбомныя карткі</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Схаваць скрыню краўдфандынгу</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Краўдфандынгавая скрыня схавана</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Паказана скрыня краўдфандынгу</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Схаваць плаваючую кнопку мікрафона</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Кнопка мікрафона схавана</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Паказана кнопка мікрафона</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Схаваць вадзяны знак канала</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Вадзяны знак схаваны</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Паказаны вадзяны знак</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Схавайце гарызантальныя паліцы</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Схаваны паліцы, такія як:
|
||||
• Навіны
|
||||
• Працяг прагляду
|
||||
• Даведайцеся больш пра каналы
|
||||
• Пакупкі
|
||||
• Паглядзець яшчэ раз"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Паказаны паліцы</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Схаваць кнопку «Далучыцца»</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Кнопка схавана</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Паказана кнопка</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Схаваць паліцу «Для вас»</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Паліца на старонцы канала схаваная</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Паліца на старонцы канала паказаная</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Схаваць кнопку \"Паведаміць мне\"</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Кнопка схавана</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Паказана кнопка</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendation_labels_title">Схаваць надпісы з рэкамендацыямі відэа</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_on">Надпісы \"Людзі таксама глядзелі\" і \"Вам таксама можа спадабацца\" схаваныя</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Надпісы \"Людзі таксама глядзелі\" і \"Вам таксама можа спадабацца\" паказаныя</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Схаваць кнопку \"Паказаць больш\"</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Кнопка схавана</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Паказана кнопка</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Схаваць паліцу білетаў</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Паліца білетаў схавана</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Паліца білетаў паказана</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Схаваць рэакцыі па часе</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Часовыя рэакцыі схаваныя</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Паказваюцца рэакцыі па часе</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Схаваць рэкамендацыі канала</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Правілы канала схаваны</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">Паказваюцца інструкцыі па каналах</string>
|
||||
<string name="revanced_hide_artist_cards_title">Схаваць карткі выканаўцаў</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Карткі выканаўцаў схаваныя</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Паказваюцца карткі выканаўцаў</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Схавайце паліцу для чыпсаў</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Паліца для чыпсаў схаваная</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Паказана паліца для чыпсаў</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Схаваць пашыраную картку пад відэа</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Разгортваемая картка схаваная</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">Разгортваемая картка паказаная</string>
|
||||
<string name="revanced_hide_community_posts_title">Схаваць паведамленні ў супольнасці</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Паведамленні ў супольнасці схаваны</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">Паказваюцца паведамленні ў супольнасці</string>
|
||||
<string name="revanced_hide_compact_banner_title">Схаваць кампактныя банеры</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Кампактныя банеры схаваныя</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">Паказваюцца кампактныя банеры</string>
|
||||
<string name="revanced_hide_movies_section_title">Схаваць раздзел фільмаў</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Раздзел фільмаў схаваны</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Паказваецца раздзел фільмаў</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Схаваць скрыню краўдфандынгу</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Краўдфандынгавая скрыня схавана</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Паказана скрыня краўдфандынгу</string>
|
||||
<string name="revanced_hide_expandable_card_title">Схаваць раскладвальную картку</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">Раскладвальная картка пад відэа схаваная</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">Раскладвальная картка пад відэа паказаная</string>
|
||||
<string name="revanced_hide_feed_survey_title">Схаваць апытанні стужкі</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Апытанні каналаў схаваныя</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">Паказваюцца даследаванні кармоў</string>
|
||||
<string name="revanced_hide_community_guidelines_title">Схаваць правілы супольнасці</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">Правілы супольнасці схаваныя</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">Паказаны правілы супольнасці</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Схаваць рэкамендацыі для падпісчыкаў</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Правілы супольнасці падпісчыкаў схаваны</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Паказаны правілы супольнасці падпісчыкаў</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Схаваць паліцу ўдзельніка канала</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Паліца ўдзельніка канала схавана</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">Паказана паліца члена канала</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Схаваць плаваючую кнопку мікрафона</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Плаваючая кнопка мікрафона ў пошуку схаваная</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Плаваючая кнопка мікрафона ў пошуку паказана</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Схавайце гарызантальныя паліцы</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Гарызантальныя паліцы схаваны, такія як:
|
||||
• Апошнія навіны
|
||||
• Працягнуць прагляд
|
||||
• Даследаваць больш каналаў
|
||||
• Самыя адпаведныя
|
||||
• Пакупкі
|
||||
• Паглядзець яшчэ раз"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Гарызантальныя паліцы паказаныя</string>
|
||||
<string name="revanced_hide_image_shelf_title">Схаваць паліцу малюнкаў</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Паліца малюнкаў у выніках пошуку схаваная</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Паліца малюнкаў у выніках пошуку паказаная</string>
|
||||
<string name="revanced_hide_latest_posts_title">Схаваць апошнія паведамленні</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">Апошнія паведамленні схаваны</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">Паказваюцца апошнія паведамленні</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Схаваць міксавыя плэйлісты</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Спісы міксаў схаваны</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Паказваюцца міксавыя плэйлісты</string>
|
||||
<string name="revanced_hide_movies_section_title">Схаваць раздзел фільмаў</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Раздзел фільмаў схаваны</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Паказваецца раздзел фільмаў</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Схаваць кнопку \"Паведаміць мне\"</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Кнопка «Паведаміць мне» схаваная</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Кнопка «Паведаміць мне» паказаная</string>
|
||||
<string name="revanced_hide_playables_title">Схаваць гульнявыя элементы</string>
|
||||
<string name="revanced_hide_playables_summary_on">Ігравыя элементы схаваны</string>
|
||||
<string name="revanced_hide_playables_summary_off">Паказваюцца гульнявыя магчымасці</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Схаваць кнопку \"Паказаць больш\"</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Кнопка «Паказаць больш» у выніках пошуку схаваная</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Кнопка «Паказаць больш» у выніках пошуку паказаная</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Схаваць паліцу білетаў</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Паліца білетаў схавана</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Паліца білетаў паказана</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">Схаваць меткі рэкамендацый відэа</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">Меткі «Людзі таксама глядзелі» і «Вам таксама можа спадабацца» ў выніках пошуку схаваныя</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">Меткі «Людзі таксама глядзелі» і «Вам таксама можа спадабацца» ў выніках пошуку паказаныя</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">Схаваць YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Анімацыя YouTube Doodles на лагатыпе схаваная</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Анімацыя YouTube Doodles на лагатыпе паказана</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"Doodles па YouTube паказваюцца некалькі дзён у год.
|
||||
|
||||
Калі Doodle зараз паказваецца ў вашым рэгіёне і гэты параметр схаваны, панэль фільтраў ніжэй радка пошуку таксама будзе схавана."</string>
|
||||
<string name="revanced_hide_channel_bar_title">Схаваць панэль канала</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Панэль канала схавана</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Паказана панэль канала</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Схаваць вадзяны знак канала</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Вадзяны знак схаваны</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Паказаны вадзяны знак</string>
|
||||
<string name="revanced_hide_emergency_box_title">Схаваць экстранныя скрыні</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Аварыйныя скрыні схаваныя</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">Паказваюцца скрыні экстранай дапамогі</string>
|
||||
<string name="revanced_hide_info_panels_title">Схаваць інфармацыйныя панэлі</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Інфармацыйныя панэлі схаваныя</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">Паказваюцца інфармацыйныя панэлі</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Схаваць кнопку «Далучыцца»</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Кнопка «Далучыцца» схаваная</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Кнопка «Далучыцца» паказаная</string>
|
||||
<string name="revanced_hide_medical_panels_title">Схаваць медыцынскія панэлі</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Медпанэлі схаваныя</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">Паказваюцца медыцынскія панэлі</string>
|
||||
<string name="revanced_hide_channel_bar_title">Схаваць панэль канала</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Панэль канала схавана</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Паказана панэль канала</string>
|
||||
<string name="revanced_hide_playables_title">Схаваць гульнявыя элементы</string>
|
||||
<string name="revanced_hide_playables_summary_on">Ігравыя элементы схаваны</string>
|
||||
<string name="revanced_hide_playables_summary_off">Паказваюцца гульнявыя магчымасці</string>
|
||||
<string name="revanced_hide_quick_actions_title">Схаваць хуткія дзеянні ў поўнаэкранным рэжыме</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Хуткія дзеянні схаваныя</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Паказваюцца хуткія дзеянні</string>
|
||||
<string name="revanced_hide_related_videos_title">Схавайце звязаныя відэа ў хуткіх дзеяннях</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Звязаныя відэа схаваны</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Паказваюцца звязаныя відэа</string>
|
||||
<string name="revanced_hide_image_shelf_title">Схаваць паліцу з выявамі ў выніках пошуку</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Паліца з малюнкамі схавана</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Паказана паліца з малюнкамі</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Схаваць апошнія паведамленні</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Апошнія паведамленні схаваны</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Паказваюцца апошнія паведамленні</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Схаваць міксавыя плэйлісты</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Спісы міксаў схаваны</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Паказваюцца міксавыя плэйлісты</string>
|
||||
<string name="revanced_hide_artist_cards_title">Схаваць карткі выканаўцаў</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Карткі выканаўцаў схаваныя</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Паказваюцца карткі выканаўцаў</string>
|
||||
<string name="revanced_hide_quick_actions_title">Схаваць хуткія дзеянні</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Хуткія дзеянні ў поўнаэкранным рэжыме схаваныя</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Хуткія дзеянні ў поўнаэкранным рэжыме паказаныя</string>
|
||||
<string name="revanced_hide_related_videos_title">Схаваць звязаныя відэа</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Звязаныя відэа ў хуткіх дзеяннях схаваныя</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Звязаныя відэа ў хуткіх дзеяннях паказаныя</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Схаваць рэкамендацыі для падпісчыкаў</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Правілы супольнасці падпісчыкаў схаваны</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Паказаны правілы супольнасці падпісчыкаў</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Схаваць рэакцыі па часе</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Часовыя рэакцыі схаваныя</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Паказваюцца рэакцыі па часе</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Схаваць «Зводку відэа, згенэраваную штучным інтэлектам»</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Раздзел зводкі відэа схаваны</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Раздзел зводкі відэа паказаны</string>
|
||||
@@ -285,16 +280,39 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Апісанне відэа</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Схаваць або паказаць кампаненты апісання відэа</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Панэль фільтраў</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Схаваць ці паказаць панэль фільтраў у стужцы, выніках пошуку і звязаных відэа</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Схаваць у карме</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Схаваны ў стужцы</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Паказваецца ў стужцы</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Схаваць ці паказаць панэль фільтраў у стужках, гісторыі, выніках пошуку і звязаных відэа</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Схаваць у стужках</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Схавана ў стужках</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Паказана ў стужках</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Схаваць у гісторыі</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">Схавана ў гісторыі</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Паказана ў гісторыі</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Схаваць у выніках пошуку</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Схавана ў выніках пошуку</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Паказана ў выніках пошуку</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Схаваць у звязаных відэа</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Схавана ў звязаных відэа</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Паказана ў звязаных відэа</string>
|
||||
<string name="revanced_channel_screen_title">Старонка канала</string>
|
||||
<string name="revanced_channel_screen_summary">Схаваць або паказаць кампаненты старонкі канала</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Схаваць паліцу «Для вас»</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Паліца \"Для вас\" схаваная</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Паліца \"Для вас\" паказаная</string>
|
||||
<string name="revanced_hide_links_preview_title">Схаваць папярэдні прагляд спасылак</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">Папярэдні прагляд спасылак схаваны</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">Папярэдні прагляд спасылак паказаны</string>
|
||||
<string name="revanced_hide_members_shelf_title">Схаваць паліцу ўдзельнікаў</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">Паліца ўдзельнікаў схаваная</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">Паліца ўдзельнікаў паказана</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">Схаваць кнопку \"Наведаць супольнасць\"</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Кнопка \"Наведаць супольнасць\" схавана</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Кнопка \"Наведаць супольнасць\" паказаная</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Схавайце кнопку \"Наведайце краму\" на старонках канала</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Кнопка \"Наведаць краму\" схаваная</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Кнопка \"Наведаць краму\" паказаная</string>
|
||||
<string name="revanced_comments_screen_title">Каментарыі</string>
|
||||
<string name="revanced_comments_screen_summary">Схаваць або паказаць кампаненты раздзела каментарыяў</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Схаваць зводку чата са штучным інтэлектам</string>
|
||||
@@ -303,31 +321,30 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Схаваць зводку каментарыяў са штучным інтэлектам</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Зводка каментарыяў схаваная</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Зводка каментарыяў паказаная</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">Схаваць правілы канала</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">Рэкамендацыі канала схаваны</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">Рэкамендацыі канала паказаны</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">Схаваць загаловак \"Каментарыі ўдзельнікаў\"</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Загаловак «Каментары ўдзельнікаў» схаваны</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Загаловак «Каментары ўдзельнікаў» паказаны</string>
|
||||
<string name="revanced_hide_comments_section_title">Схаваць раздзел каментарыяў</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">Раздзел каментарыяў схаваны</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">Паказваецца раздзел каментарыяў</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">Схаваць рэкамендацыі супольнасці</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">Правілы супольнасці схаваныя</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">Правілы супольнасці паказаныя</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">Схаваць кнопку \"Створиць Short\"</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Кнопка «Стварыць Shorts» схаваная</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Кнопка «Стварыць Shorts» паказаная</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Схаваць кнопку часу</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Кнопка часу схаваная</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Кнопка часу паказаная</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Схаваць каментарый для папярэдняга прагляду</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Каментарый перад праглядам схаваны</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Паказваецца папярэдні прагляд каментарыя</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Схаваць кнопку \"Дзякуй\"\"</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Кнопка падзякі схавана</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Паказана кнопка падзякі</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">Схаваць YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Doodles у панэлі пошуку схаваны</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Doodles у панэлі пошуку паказаны</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"Doodles па YouTube паказваюцца некалькі дзён у год.
|
||||
|
||||
Калі Doodle зараз паказваецца ў вашым рэгіёне і гэты параметр схаваны, панэль фільтраў ніжэй радка пошуку таксама будзе схавана."</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Схаваць кнопку \"Пазнака часу\"</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Кнопка часу схаваная</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Кнопка часу паказаная</string>
|
||||
<string name="revanced_custom_filter_screen_title">Карыстальніцкі фільтр</string>
|
||||
<string name="revanced_custom_filter_screen_summary">Схавайце кампаненты з дапамогай карыстацкіх фільтраў</string>
|
||||
<string name="revanced_custom_filter_title">Уключыць карыстальніцкі фільтр</string>
|
||||
@@ -374,44 +391,41 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Ключавое слова схавае ўсе відэа: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Схаваць агульную рэкламу</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Агульныя аб\"явы схаваныя</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Паказваюцца агульныя аб\"явы</string>
|
||||
<string name="revanced_hide_creator_store_shelf_title">Схаваць паліцу крамы стваральнікаў</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">Паліца крамы стваральніка пад відэапрайгравальнікам схаваная</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">Паліца крамы стваральніка пад відэапрайгравальнікам паказана</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Схаваць банер крамы на канчатковым экране</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Банер крамы на канцавым экране схаваны</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Банер крамы на канцавым экране паказаны</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">Схаваць поўнаэкранную рэкламу</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"Схаваны поўнаэкранныя рэкламныя ролікі
|
||||
|
||||
Гэтая функцыя даступная толькі для старых прылад"</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">Адлюстроўваецца поўнаэкранная рэклама</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_fullscreen_ads_feature_not_available_toast">Схаваць поўнаэкранную рэкламу працуе толькі са старымі прыладамі</string>
|
||||
<string name="revanced_hide_general_ads_title">Схаваць агульную рэкламу</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Агульныя аб\"явы схаваныя</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Паказваюцца агульныя аб\"явы</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Схаваць банеры з таварамі</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Таварныя банеры схаваныя</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Паказваюцца таварныя банеры</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Схаваць метку аплачанай акцыі</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Пазнака платнай акцыі схавана</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">Адлюстроўваецца ярлык платнай акцыі</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Схаваць самі спансаваныя карты</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Спонсарскія карткі схаваныя</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Паказваюцца ўласныя карты</string>
|
||||
<string name="revanced_hide_products_banner_title">Схаваць банер «Паглядзець прадукты»</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Банэр схаваны</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">Паказваецца банэр</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Схаваць банер крамы на канчатковым экране</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Банэр крамы схаваны</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Банэр крамы паказаны</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">Схаваць полку крамы прайгравальніка</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">Паліца крамы схавана</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">Паліца крамы паказана</string>
|
||||
<string name="revanced_hide_shopping_links_title">Схаваць спасылкі на пакупкі ў апісанні відэа</string>
|
||||
<string name="revanced_hide_shopping_links_title">Схаваць спасылкі для пакупак</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Спасылкі на пакупкі ў апісанні відэа схаваныя</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Спасылкі на пакупкі ў апісанні відэа паказаныя</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Схавайце кнопку \"Наведайце краму\" на старонках канала</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Кнопка на старонцы канала схаваная</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Кнопка на старонцы канала паказаная</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Спасылкі на пакупкі ў апісанні відэа паказаны</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">Схаваць банэр \"Прагледзець тавары\"</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">Банер «Паглядзець тавары» ў накладцы відэа схаваны</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">Банер «Паглядзець тавары» ў накладцы відэа паказаны</string>
|
||||
<string name="revanced_hide_web_search_results_title">Схаваць вынікі вэб-пошуку</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Вынікі вэб-пошуку схаваныя</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Паказваюцца вынікі вэб-пошуку</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Схаваць банеры з таварамі</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Таварныя банеры схаваныя</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Паказваюцца таварныя банеры</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_fullscreen_ads_feature_not_available_toast">Схаваць поўнаэкранную рэкламу працуе толькі са старымі прыладамі</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">Схаваць акцыі YouTube Premium</string>
|
||||
@@ -439,13 +453,18 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Будзе паказана дыялогавае акно</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Гэта не абыходзіць узроставае абмежаванне. Ён проста прымае гэта аўтаматычна.</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Адключыць прапуск раздзела па двайным націску</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Двайны націск ніколі не можа выклікаць прапуск да наступнага/папярэдняга раздзела</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Двайны націск можа час ад часу выклікаць прапуск да наступнага/папярэдняга раздзела</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">Знешнія загрузкі</string>
|
||||
<string name="revanced_external_downloader_screen_summary">Налады для выкарыстання вонкавага загрузніка</string>
|
||||
<string name="revanced_external_downloader_title">Паказаць знешнюю кнопку загрузкі</string>
|
||||
<string name="revanced_external_downloader_summary_on">Кнопка загрузкі ў прайгравальніку паказаная</string>
|
||||
<string name="revanced_external_downloader_summary_off">Кнопка загрузкі ў прайгравальніку не паказаная</string>
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">Перавызначыць кнопку дзеянні спампоўкі</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">Кнопка \"Спампаваць\" адкрывае ваш знешні загрузнік</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">Кнопка \"Спампаваць\" адкрывае ўласную праграму загрузкі ў праграме</string>
|
||||
@@ -538,7 +557,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Кнопка \"Спыніць рэкламу\" схавана</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Кнопка \"Спыніць рэкламу\" паказана</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Схаваць справаздачу</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Кнопка \"Паведаміць\" схавана</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Паказана кнопка \"Паведаміць\"</string>
|
||||
@@ -555,7 +574,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Кнопка падзякі схавана</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Паказана кнопка падзякі</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Схаваць кнопку «Запытацца»</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Кнопка «Запытацца» схаваная</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Кнопка «Запытацца» паказаная</string>
|
||||
@@ -579,7 +598,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_button_title">Схаваць Shorts</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Кнопка Shorts схавана</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Кнопка shorts паказваецца</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">Схаваць Стварыць</string>
|
||||
<string name="revanced_hide_create_button_summary_on">Кнопка \"Стварыць\" схавана</string>
|
||||
<string name="revanced_hide_create_button_summary_off">Паказана кнопка \"Стварыць\"</string>
|
||||
@@ -648,7 +667,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">Меню хуткасці прайгравання схавана</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">Адлюструецца меню хуткасці прайгравання</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">Схаваць Дадатковая інфармацыя</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">Меню дадатковай інфармацыі схавана</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">Паказана меню дадатковай інфармацыі</string>
|
||||
@@ -660,7 +679,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">Схаваць гукавую дарожку</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">Меню гукавой дарожкі схавана</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">Адлюструецца меню гукавой дарожкі</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_not_available">"Меню аўдыядарожкі схавана
|
||||
|
||||
Каб паказаць меню аўдыядарожкі, змяніце \"Падробка відэаструменяў\" на iOS TV"</string>
|
||||
@@ -673,22 +692,22 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">Паказваецца ніжні калонтытул меню якасці відэа</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Схаваць папярэднія & кнопкі «Далей»</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Кнопкі схаваныя</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Паказваюцца кнопкі</string>
|
||||
<string name="revanced_hide_cast_button_title">Схаваць кнопку «Трансляцыя»</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Кнопка Cast схавана</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Паказана кнопка Cast</string>
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<string name="revanced_hide_captions_button_title">Схаваць кнопку «Субцітры»</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Кнопка субцітраў схавана</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Паказана кнопка субцітраў</string>
|
||||
<string name="revanced_hide_autoplay_button_title">Схаваць кнопку «Аўтапрайграванне»</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">Кнопка аўтазапуску схавана</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">Паказана кнопка аўтазапуску</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Схаваць фон кнопак кіравання прайгравальнікам</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Фон кнопак кіравання прайгравальнікам схаваны</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Фон кнопак кіравання прайгравальнікам паказаны</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">Схаваць кнопку «Субцітры»</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Кнопка субцітраў схавана</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Паказана кнопка субцітраў</string>
|
||||
<string name="revanced_hide_cast_button_title">Схаваць кнопку «Трансляцыя»</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Кнопка Cast схавана</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Паказана кнопка Cast</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Схаваць фон элементаў кіравання прайгравальнікам</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Фон элементаў кіравання плэерам схаваны</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Фон элементаў кіравання паказаны</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Схаваць папярэднія & кнопкі «Далей»</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Кнопкі схаваныя</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Паказваюцца кнопкі</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">Схаваць карткі канцавога экрана</string>
|
||||
@@ -721,76 +740,75 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">Прайгравальнік Shorts</string>
|
||||
<string name="revanced_shorts_player_screen_summary">Схаваць або паказаць кампаненты ў прайгравальніку Shorts</string>
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Схаваць шорты ў хатняй стужцы</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Схаваны ў стужцы і звязаных відэа</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Паказаны ў стужцы і звязаных відэа</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Схаваць Shorts у стужцы падпіскі</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Схавана ў стужцы падпісак</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Паказана ў стужцы падпісак</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Схаваць Shorts у стужцы «Галоўная»</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Схавана ў стужцы «Галоўная» і звязаных відэа</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Паказана ў стужцы «Галоўная» і звязаных відэа</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Схаваць Shorts у стужцы «Падпіскі»</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Схавана ў стужцы «Падпіскі»</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Паказана ў стужцы «Падпіскі»</string>
|
||||
<string name="revanced_hide_shorts_search_title">Схаваць Shorts у выніках пошуку</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Схаваны ў выніках пошуку</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Паказана ў выніках пошуку</string>
|
||||
<string name="revanced_hide_shorts_history_title">Схаваць Shorts з гісторыі праглядаў</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">Схавана ў гісторыі праглядаў</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">Паказаны ў гісторыі праглядаў</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Схаваць кнопку «Далучыцца»</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Кнопка «Далучыцца» схавана</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Паказана кнопка «Далучыцца»</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Схаваць кнопку «Падпісацца»</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Кнопка \"Падпісацца\" схавана</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Паказана кнопка «Падпісацца»</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Схаваць прыпыненыя кнопкі накладання</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Прыпыненыя кнопкі накладання схаваны</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Паказваюцца прыпыненыя кнопкі накладання</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Схаваць кнопку «Крама»</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Кнопка крамы схавана</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Паказваецца кнопка крамы</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">Схаваць кнопку «Купіць Super Thanks»</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Кнопка Super Thanks схавана</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Кнопка Super Thanks паказана</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Схаваць пазначаныя прадукты</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Пазначаныя прадукты схаваны</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Прадукты з тэгамі паказаны</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Схаваць метку месцазнаходжання</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Метка месцазнаходжання схавана</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Паказана метка месцазнаходжання</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Схаваць папярэдні прагляд каментарыя</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Папярэдні прагляд каментарыя схаваны</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Паказваецца папярэдні прагляд каментарыя</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Схаваць кнопку «Захаваць музыку»</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Кнопка захавання музыкі схавана</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Кнопка захавання музыкі паказана</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Схаваць кнопку \"Выкарыстаць гэты гук\"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Кнопка \"Выкарыстаць гэты гук\" схавана</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Кнопка \"Выкарыстаць гэты гук\" паказана</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Схаваць кнопку \"Выкарыстаць гэты шаблон\"</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Кнопка \"Выкарыстаць гэты шаблон\" схавана</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Кнопка \"Выкарыстаць гэты шаблон\" паказана</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Схаваць кнопку «Наступныя»</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Кнопка Будущие ролики скрыта</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Кнопка Будущие ролики отображается</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Кнопка «Набыць Super Thanks» схавана</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Кнопка «Набыць Super Thanks» паказана</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">Схаваць кнопку эфекту</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">Кнопка эфекту схавана</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">Кнопка эфекту паказана</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">Схаваць кнопку «Зялёны экран»</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">Кнопка с зелёным экраном Shorts скрыта</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">Кнопка с зелёным экраном Shorts отображается</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Схаваць кнопку «Новыя паведамленні»</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Кнопка «Новыя паведамленні» паказана</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Кнопка «Новыя паведамленні» схавана</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">Скрыть хештег-кнопку Shorts</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">Хештег-кнопка Shorts скрыта</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">Хештег-кнопка Shorts отображается</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Схаваць кнопку «Далучыцца»</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Кнопка «Далучыцца» схавана</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Паказана кнопка «Далучыцца»</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Схаваць метку месцазнаходжання</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Метка месцазнаходжання схавана</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Паказана метка месцазнаходжання</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Схаваць кнопку «Новыя паведамленні»</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Кнопка «Новыя паведамленні» схавана</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Кнопка «Новыя паведамленні» паказана</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Схаваць прыпыненыя кнопкі накладання</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Прыпыненыя кнопкі накладання схаваны</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Паказваюцца прыпыненыя кнопкі накладання</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Схаваць папярэдні прагляд каментарыя</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Папярэдні прагляд каментарыя схаваны</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Паказваецца папярэдні прагляд каментарыя</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Схаваць кнопку «Захаваць музыку»</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Кнопка захавання музыкі схавана</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Кнопка захавання музыкі паказана</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Схаваць прапановы пошуку</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Пошукавыя прапановы схаваны</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Паказваюцца прапановы пошуку</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Схаваць кнопку «Крама»</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Кнопка крамы схавана</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Паказваецца кнопка крамы</string>
|
||||
<string name="revanced_hide_shorts_stickers_title">Скрыть стикеры</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_on">Стикеры Shorts скрыты</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_off">Стикеры Shorts отображаются</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Схаваць кнопку «Падпісацца»</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Кнопка \"Падпісацца\" схавана</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Паказана кнопка «Падпісацца»</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Схаваць пазначаныя прадукты</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Пазначаныя прадукты схаваны</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Прадукты з тэгамі паказаны</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Схаваць кнопку «Наступныя»</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Кнопка Будущие ролики скрыта</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Кнопка Будущие ролики отображается</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Схаваць кнопку \"Выкарыстаць гэты гук\"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Кнопка \"Выкарыстаць гэты гук\" схавана</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Кнопка \"Выкарыстаць гэты гук\" паказана</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Схаваць кнопку \"Выкарыстаць гэты шаблон\"</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Кнопка \"Выкарыстаць гэты шаблон\" схавана</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Кнопка \"Выкарыстаць гэты шаблон\" паказана</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">Схаваць анімацыю кнопкі «Падабаецца»</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">Анимация всплывающего окна с лайками Shorts скрыта</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">Анимация всплывающего окна с лайками Shorts отображается</string>
|
||||
@@ -803,14 +821,17 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_comments_button_title">Схаваць кнопку «Каментарыі»</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">Кнопка каментарыяў схавана</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">Паказана кнопка каментарыяў</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Схаваць кнопку «Рэмікс»</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Кнопка \"Рэмікс\" схавана</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Паказана кнопка \"Рэмікс\"</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_share_button_title">Схаваць кнопку «Падзяліцца»</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_on">Кнопка \"Падзяліцца\" схавана</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_off">Паказана кнопка \"Падзяліцца\"</string>
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Схаваць кнопку «Рэмікс»</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Кнопка \"Рэмікс\" схавана</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Паказана кнопка \"Рэмікс\"</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Кнопка \"Схаваць гук\"</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Кнопка гуку схавана</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Паказана кнопка гуку</string>
|
||||
<string name="revanced_hide_shorts_info_panel_title">Схаваць інфармацыйную панэль</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_on">Інфармацыйная панэль схавана</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_off">Паказана інфармацыйная панэль</string>
|
||||
@@ -818,17 +839,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">Панэль канала схавана</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">Паказана панэль канала</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">Схаваць назву відэа</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Назва схавана</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Паказана назва</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Назва відэа схавана</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Назва відэа паказана</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">Схаваць метку метаданых гуку</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Метка метаданых схавана</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Паказана метка метаданых</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Схаваць поўную метку спасылкі на відэа</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Метка метададзеных гуку схавана</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Метка метададзеных гуку паказана</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Схаваць надпіс са спасылкай на відэа</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">Метка спасылкі на відэа схавана</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">Адлюструецца метка спасылкі на відэа</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Кнопка \"Схаваць гук\"</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Кнопка гуку схавана</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Паказана кнопка гуку</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_title">Схаваць панэль навігацыі</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_on">Панэль навігацыі схавана</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">Паказана панэль навігацыі</string>
|
||||
@@ -842,9 +860,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">Паказваць прапанаванае відэа на канчатковым экране</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_video_overlay_title">Схаваць накладку звязанага відэа ў поўнаэкранным рэжыме</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_on">Накладка звязанага відэа схавана</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_off">Накладка звязанага відэа паказана</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">Схаваць накладку звязаных відэа</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">Накладка звязаных відэа ў поўнаэкранным рэжыме схавана</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">Накладка звязаных відэа ў поўнаэкранным рэжыме паказана</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">Схаваць метку часу відэа</string>
|
||||
@@ -893,7 +911,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">Дызлайкі ў працэнтах</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">Дызлайкі паказаны ў працэнтах</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">Дызлайкі паказаны лічбай</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<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>
|
||||
@@ -950,18 +968,32 @@ Second \"item\" text"</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' -->
|
||||
<!-- 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>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">Кнопка \"Прапусціць\" аформлена для лепшага выгляду</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">Аўтаматычна хаваць кнопку «Прапусціць»</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">Кнопка \"Прапусціць\" скрываецца праз некалькі секунд</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Кнопка «Прапусціць» паказана для ўсяго сегмента</string>
|
||||
<string name="revanced_sb_general_skiptoast">Паказваць toast пры пропуску</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Тост паказваецца, калі сегмент аўтаматычна прапускаецца. Націсніце тут, каб убачыць прыклад</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Тост не паказваецца. Націсніце тут, каб убачыць прыклад</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">Працягласць кнопкі пропуску</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">Як доўга паказваць кнопкі прапусціць і прапусціць да асноўнага моманту перад аўтаматычным схаваннем</string>
|
||||
<string name="revanced_sb_general_skiptoast">Паказаць усплываючае паведамленне для адмены прапуску</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Усплываючае паведамленне паказваецца, калі сегмент аўтаматычна прапускаецца. Націсніце на ўсплываючае паведамленне, каб адмяніць прапуск</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Усплывальнае апавяшчэнне не паказваецца</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">Працягласць усплывальнага апавяшчэння пра пропуск</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">Як доўга паказваць паведамленне пра адмену пропуску</string>
|
||||
<string name="revanced_sb_duration_1s">1 секунда</string>
|
||||
<string name="revanced_sb_duration_2s">2 секунды</string>
|
||||
<string name="revanced_sb_duration_3s">3 секунды</string>
|
||||
<string name="revanced_sb_duration_4s">4 секунды</string>
|
||||
<string name="revanced_sb_duration_5s">5 секунд</string>
|
||||
<string name="revanced_sb_duration_6s">6 секунд</string>
|
||||
<string name="revanced_sb_duration_7s">7 секунд</string>
|
||||
<string name="revanced_sb_duration_8s">8 секунд</string>
|
||||
<string name="revanced_sb_duration_9s">9 секунд</string>
|
||||
<string name="revanced_sb_duration_10s">10 секунд</string>
|
||||
<string name="revanced_sb_general_time_without">Паказаць працягласць відэа без сегментаў</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Працягласць відэа мінус усе сегменты, паказана ў дужках побач з поўнай працягласцю відэа</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Даўжыня відэа без усіх сегментаў паказваецца на шкале пракруткі</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">Паказана поўная даўжыня відэа</string>
|
||||
<string name="revanced_sb_create_segment_category">Стварэнне новых сегментаў</string>
|
||||
<string name="revanced_sb_enable_create_segment">Паказваць кнопку «Стварыць новы сегмент»</string>
|
||||
@@ -1081,7 +1113,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_vote_downvote">Галасаваць супраць</string>
|
||||
<string name="revanced_sb_vote_category">Змяніць катэгорыю</string>
|
||||
<string name="revanced_sb_vote_no_segments">Няма сегментаў для галасавання</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s да %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Выберыце катэгорыю сегмента</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Катэгорыя адключана ў наладах. Уключыце катэгорыю для адпраўкі.</string>
|
||||
@@ -1160,7 +1192,7 @@ Second \"item\" text"</string>
|
||||
|
||||
Калі пазней будзе адключана, рэкамендуецца ачысціць даныя прыкладання, каб пазбегнуць памылак у інтэрфейсе."</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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.01.34 - Аднаўленне старых значкоў навігацыі</string>
|
||||
@@ -1267,9 +1299,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_gradient_loading_screen_title">Уключыць градыентны экран загрузкі</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_on">Экран загрузкі будзе мець градыентны фон</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_off">Экран загрузкі будзе мець суцэльны фон</string>
|
||||
<string name="splash_screen_animation_style_title">Стыль застаўкі</string>
|
||||
<string name="splash_screen_animation_style_entry_1">Колер</string>
|
||||
<string name="splash_screen_animation_style_entry_2">Чорна-белы</string>
|
||||
<string name="revanced_splash_screen_animation_style_title">Стыль застаўкі</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">Колер</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">Чорна-белы</string>
|
||||
<string name="revanced_seekbar_custom_color_title">Уключыць уласны колер панэлі пошуку</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">Паказваецца карыстальніцкі колер панэлі пошуку</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">Паказаны зыходны колер панэлі пошуку</string>
|
||||
@@ -1279,6 +1311,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">Акцэнтны колер пошуку</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Неверное значение цвета ползунка прогресса</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">Лагатып загалоўка</string>
|
||||
<string name="revanced_header_logo_entry_1">Па змаўчанні</string>
|
||||
<string name="revanced_header_logo_entry_2">Звычайны</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
<string name="revanced_header_logo_entry_5">ReVanced мінімальны</string>
|
||||
<string name="revanced_header_logo_entry_6">Карыстальніцкі</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Абыход абмежаванняў рэгіёну</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Выкарыстанне хаста відарысаў yt4.ggpht.com</string>
|
||||
@@ -1287,13 +1327,13 @@ Second \"item\" text"</string>
|
||||
Уключэнне гэтага можа выправіць праблему з адсутнасцю малюнкаў, якія заблакаваны ў некаторых рэгіёнах"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Галоўная ўкладка</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Укладка падпіскі</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Укладка «Падпіскі»</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">Вы ўкладка</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Плэйлісты прайгравальнікаў, рэкамендацыі</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Плэйлісты прайгравальніка & рэкамендацыі</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">Вынікі пошуку</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">Арыгінальныя мініяцюры</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & Арыгінальныя мініяцюры</string>
|
||||
@@ -1392,11 +1432,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_force_original_audio_title">Вымушаная арыгінальная мова аўдыё</string>
|
||||
<string name="revanced_force_original_audio_summary_on">Выкарыстоўваць арыгінальную мову аўдыя</string>
|
||||
<string name="revanced_force_original_audio_summary_off">Выкарыстанне аўдыё па змаўчанні</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">Каб выкарыстоўваць гэту функцыю, змяніце параметр \"Падрабляць відэаструмені\" на iOS TV</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
<string name="revanced_video_quality_default_entry_1">Аўто</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">Запомніце змены якасці відэа</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">Змены якасці распаўсюджваюцца на ўсе відэа</string>
|
||||
@@ -1510,7 +1550,7 @@ AVC мае максімальнае дазвол 1080p, аўдыёкадэк Opu
|
||||
<string name="revanced_block_video_ads_summary_off">Відэарэклама разблакіравана</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">паведамленне выдалена</string>
|
||||
<string name="revanced_deleted_msg">Паведамленне выдалена</string>
|
||||
<string name="revanced_show_deleted_messages_title">Паказаць выдаленыя паведамленні</string>
|
||||
<string name="revanced_show_deleted_messages_entry_1">Не паказваць выдаленыя паведамленні</string>
|
||||
<string name="revanced_show_deleted_messages_entry_2">Схаваць выдаленыя паведамленні за спойлерам</string>
|
||||
@@ -1522,7 +1562,7 @@ AVC мае максімальнае дазвол 1080p, аўдыёкадэк Opu
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">Ачкі канала не запытваюцца аўтаматычна</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
<string name="revanced_twitch_debug_mode_title">Уключыце рэжым адладкі Twitch</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">Рэжым адладкі Twitch уключаны (не рэкамендуецца)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">Рэжым адладкі Twitch адключаны</string>
|
||||
@@ -1531,7 +1571,7 @@ AVC мае максімальнае дазвол 1080p, аўдыёкадэк Opu
|
||||
<string name="revanced_settings">Налады ReVanced</string>
|
||||
<string name="revanced_about_title">Пра нас</string>
|
||||
<string name="revanced_about_summary">Раскажыць “ReVanced”</string>
|
||||
<string name="revanced_ads_screen_title">Аб\"явы</string>
|
||||
<string name="revanced_ads_screen_title">Блакіроўка рэкламы</string>
|
||||
<string name="revanced_ads_screen_summary">Налады блакіроўкі рэкламы</string>
|
||||
<string name="revanced_chat_screen_title">Чат</string>
|
||||
<string name="revanced_chat_screen_summary">Налады чата</string>
|
||||
|
||||
@@ -146,115 +146,110 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_album_cards_title">\"Карти на албумите\"</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Албумните карти са скрити</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">Албумните карти се показват</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Дарителска кутия</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Кутията за дарения е скрита</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Кутията за дарения се показва</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Плаващ бутон за микрофона</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Бутонът на микрофона е скрит</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Показан е бутон на микрофона</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Воден знак на канала</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Водният знак на канала е скрит</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Водният знак на канала се показва</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Хоризонтални секции</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Рафтовете са скрити, такива като:
|
||||
• Актуални новини
|
||||
• Продължавай да гледаш
|
||||
• Разгледай още канали
|
||||
• Пазаруване
|
||||
• Гледай отново"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Хоризонтални секции се показват</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Скриване на бутона \"Присъединяване\"</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Бутона Покажи още е скрит</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Бутона \"Уведоми ме\" се показва</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Скриване на рафта \"За вас\"</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Рафтът в страницата на канала е скрит</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Рафтът в страницата на канала е показан</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Скриване на бутона \"Уведоми ме\"</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Бутона \"Уведоми ме\" е скрит</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Бутона \"Уведоми ме\" се показва</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendation_labels_title">Скриване на етикетите с видео препоръки</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_on">Етикетите „Други потребители също гледаха“ и „Може също да харесате“ са скрити</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Етикетите „Други потребители също гледаха“ и „Може също да харесате“ са показани</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Скриване на бутона \"Покажи още\"</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Бутона Покажи още е скрит</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Бутона Покажи още се показва</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Скриване на рафта за билети</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Рафтът за билети е скрит</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Рафтът за билети е показан</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Скриване на времевите реакции</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Времевите реакции са скрити</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Времевите реакции се показват</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Скриване на насоките на канала</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Насоките на канала са скрити</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">Насоките на канала се показват</string>
|
||||
<string name="revanced_hide_artist_cards_title">Скриване на картите на артистите</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Картите на изпълнителите са скрити</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Показват се карти на артисти</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Скриване на филмовите рафтове</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Рафтът \"Chip\" е скрит</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Рафтовете със снимки се показват</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Скрий разширяемата карта под видеоклиповете</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Разгъваемата карта е скрита</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">Разгъваемата карта е показана</string>
|
||||
<string name="revanced_hide_community_posts_title">Скриване на публикациите от общността</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Насоките на общността са скрити</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">Последните публикации са показани</string>
|
||||
<string name="revanced_hide_compact_banner_title">Скриване на компактните банери</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Информационните панели са скрити</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">Информационните панели се показват</string>
|
||||
<string name="revanced_hide_movies_section_title">Скриване на раздела за филми</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Секцията с коментари е скрита</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Разделът за филми е показан</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Дарителска кутия</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Кутията за дарения е скрита</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Кутията за дарения се показва</string>
|
||||
<string name="revanced_hide_expandable_card_title">Скриване на разгъваемата карта</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">Разгъваемата карта под видеоклиповете е скрита</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">Разгъваемата карта под видеоклиповете е показана</string>
|
||||
<string name="revanced_hide_feed_survey_title">Скриване на анкети в емисиите</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Анкетите за емисии са скрити</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">Анкетите за емисии се показват</string>
|
||||
<string name="revanced_hide_community_guidelines_title">Скриване на насоките на общността</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">Насоките на общността са скрити</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">Скриване на насоките за общността на абонатите</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Скриване на указанията за абонатори</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Насоките за общността са скрити</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Насоките за общността са показани</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Скриване на секцията с членуващи</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Рафта с членуващи е скрит</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">Рафта с членуващи се показва</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Плаващ бутон за микрофона</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Плаващ бутон за микрофон при търсене е скрит</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Плаващият бутон за микрофон в търсенето е показан</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Хоризонтални секции</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Хоризонтални рафтове са скрити, като:
|
||||
• Извънредни новини
|
||||
• Продължи гледането
|
||||
• Разгледайте още канали
|
||||
• Най-подходящи
|
||||
• Пазаруване
|
||||
• Гледайте отново"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Хоризонталните рафтове са показани</string>
|
||||
<string name="revanced_hide_image_shelf_title">Скриване на рафта с изображения</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Рафтът с изображения в резултатите от търсенето е скрит</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Рафтът с изображения в резултатите от търсенето е показан</string>
|
||||
<string name="revanced_hide_latest_posts_title">Скриване на последните публикации</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">Най-новите публикации са скрити</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">Последните публикации са показани</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Скриване на микс плейлист</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Плейлист микса е скрит</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Плейлист микса се показва</string>
|
||||
<string name="revanced_hide_movies_section_title">Скриване на раздела за филми</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Секцията с коментари е скрита</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Разделът за филми е показан</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Скриване на бутона \"Уведоми ме\"</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Бутонът за уведомяване е скрит</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Бутонът за уведомяване е показан</string>
|
||||
<string name="revanced_hide_playables_title">Игри в YouTube</string>
|
||||
<string name="revanced_hide_playables_summary_on">Игри в YouTube са скрити</string>
|
||||
<string name="revanced_hide_playables_summary_off">Игрите в YouTube се показват</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Скриване на бутона \"Покажи още\"</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Бутонът за показване на още в резултатите от търсене е скрит</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Бутонът за показване на още в резултатите от търсене е показан</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Скриване на рафта за билети</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Рафтът за билети е скрит</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Рафтът за билети е показан</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">Скриване на етикетите за препоръчани видеоклипове</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">\'Хората също така гледаха\' и \'Може също да харесате\' етикетите в резултатите от търсене са скрити</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">\'Хората също така гледаха\' и \'Може също да харесате\' етикетите в резултатите от търсене са показани</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Анимацията на YouTube Doodles върху логото е скрита</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Анимацията на YouTube Doodles върху логото е показана</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"Doodles в YouTube се показват няколко дни в годината.
|
||||
|
||||
Ако в момента се показва Doodle във вашия регион и тази настройка за скриване е включена, тогава лентата за филтриране под лентата за търсене също ще бъде скрита."</string>
|
||||
<string name="revanced_hide_channel_bar_title">Скриване на лентата на канала</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Лентата на канала е скрита</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Лентата на канала е показана</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Воден знак на канала</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Водният знак на канала е скрит</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Водният знак на канала се показва</string>
|
||||
<string name="revanced_hide_emergency_box_title">Скриване аварийните кутии</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Спешни кутии са скрити</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">Спешни кутии са показани</string>
|
||||
<string name="revanced_hide_info_panels_title">Скриване на информационните панели</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Информационните панели са скрити</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">Информационните панели са показани</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Скриване на бутона \"Присъединяване\"</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Бутонът за присъединяване е скрит</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Бутонът за присъединяване е показан</string>
|
||||
<string name="revanced_hide_medical_panels_title">Скриване на медицинските панели</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Медицинските панели са скрити</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">Медицинските панели са показани</string>
|
||||
<string name="revanced_hide_channel_bar_title">Скриване на лентата на канала</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Лентата на канала е скрита</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Лентата на канала е показана</string>
|
||||
<string name="revanced_hide_playables_title">Игри в YouTube</string>
|
||||
<string name="revanced_hide_playables_summary_on">Игри в YouTube са скрити</string>
|
||||
<string name="revanced_hide_playables_summary_off">Игрите в YouTube се показват</string>
|
||||
<string name="revanced_hide_quick_actions_title">Скриване на меню с Бързи действия</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Бързи действия са скрити</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Бързи действия се показват</string>
|
||||
<string name="revanced_hide_related_videos_title">Скриване на свързаните видеоклипове в бързите действия</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Сродни видео са скрити</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Сродни видео са показани</string>
|
||||
<string name="revanced_hide_image_shelf_title">Скриване на рафтовете със снимки</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Рафтовете със снимки са скрити</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Рафтовете със снимки се показват</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Скриване на последните публикации</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Най-новите публикации са скрити</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Последните публикации са показани</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Скриване на микс плейлист</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Плейлист микса е скрит</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Плейлист микса се показва</string>
|
||||
<string name="revanced_hide_artist_cards_title">Скриване на картите на артистите</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Картите на изпълнителите са скрити</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Показват се карти на артисти</string>
|
||||
<string name="revanced_hide_quick_actions_title">Скриване на бързите действия</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Бързите действия на цял екран са скрити</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Бързите действия на цял екран са показани</string>
|
||||
<string name="revanced_hide_related_videos_title">Скриване на свързани видеоклипове</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Свързаните видеоклипове в бързите действия са скрити</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Свързаните видеоклипове в бързите действия са показани</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Скриване на указанията за абонатори</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Насоките за общността са скрити</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Насоките за общността са показани</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Скриване на времевите реакции</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Времевите реакции са скрити</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Времевите реакции се показват</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Скриване на \"AI-генерирано видео резюме\"</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Скрит е разделът с видео резюме</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Показва се разделът с видео резюме</string>
|
||||
@@ -285,16 +280,39 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Описание на видеото</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Скриване или показване на компонентите за описание на видеоклиповете</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Лента с филтри</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Скриване или показване на лентата за филтриране в емисията, резултатите от търсенето и свързаните видеоклипове</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Скриване на горната лента с категории в емисията</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Скрита</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Показва се</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Скриване или показване на лентата с филтри в емисиите, историята, резултатите от търсенето и свързаните видеоклипове</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Скриване в емисии</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Скрити в емисии</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Показани в емисии</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Скриване в историята</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">Скрити в историята</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Показани в историята</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Скриване в резултатите от търсенето</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Скрито в резултатите от търсенето</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Показано в резултатите от търсенето</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Скриване в сродни видеоклипове</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Скриване в сродни видеоклипове</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Показано в сродни видеоклипове</string>
|
||||
<string name="revanced_channel_screen_title">Страница на канала</string>
|
||||
<string name="revanced_channel_screen_summary">Скриване или показване на компоненти на страницата на канала</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Скриване на рафта \"За вас\"</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Рафтът „За Вас“ е скрит</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Рафтът „За Вас“ е показан</string>
|
||||
<string name="revanced_hide_links_preview_title">Скриване на преглед на връзки</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">Прегледът на връзки е скрит</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">Прегледът на връзки е показан</string>
|
||||
<string name="revanced_hide_members_shelf_title">Скриване на рафта за членове</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">Рафтът за членове е скрит</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">Рафтът за членове е показан</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">Скриване на бутона \"Посетете общността\"</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Бутонът \"Посетете общността\" е скрит</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Бутонът „Посетете общността“ е показан</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Скрийте бутона „Посетете магазина“ на страниците на каналите</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Бутонът „Посетете магазина“ е скрит</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Бутонът „Посетете магазина“ е показан</string>
|
||||
<string name="revanced_comments_screen_title">Коментари</string>
|
||||
<string name="revanced_comments_screen_summary">Скриване или показване на секцията за коментари</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Скриване на резюмето на AI Chat</string>
|
||||
@@ -303,31 +321,30 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Скриване на резюмето на AI коментарите</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Резюмето на коментарите е скрито</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Резюмето на коментарите е показано</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">Скриване на насоките на канала</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">Указанията за канала са скрити</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">Указанията за канала са показани</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">Скриване на „Коментари, направени от членове“</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Заглавието на коментарите от членове е скрито</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Заглавието на коментарите от членове е показано</string>
|
||||
<string name="revanced_hide_comments_section_title">Скриване на секцията с коментари</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">Секцията с коментари е скрита</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">Секцията с коментари се показва</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">Скриване на указанията за общността</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">Насоките на общността са скрити</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">Насоките на общността са показани</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">Бутон за създаване на Shorts</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Бутонът \"Създаване на Short\" е скрит</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Бутонът \"Създаване на Short\" е показан</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Скриване на бутона за времеви печат</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Бутонът за времеви печат е скрит</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Бутонът за времеви печат е показан</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Преглед на коментари</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Прегледа на коментари е скрит</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Прегледа на коментари се показва</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Скрий бутона за харесване</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Бутона за благодарност е скрит</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Бутона за благодарност се показва</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Doodles в лентата за търсене са скрити</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Doodles в лентата за търсене се показват</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"Doodles в YouTube се показват няколко дни в годината.
|
||||
|
||||
Ако в момента се показва Doodle във вашия регион и тази настройка за скриване е включена, тогава лентата за филтриране под лентата за търсене също ще бъде скрита."</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Скриване на бутона за клеймо за време</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Бутонът за времеви печат е скрит</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Бутонът за времеви печат е показан</string>
|
||||
<string name="revanced_custom_filter_screen_title">Потребителски филтър</string>
|
||||
<string name="revanced_custom_filter_screen_summary">Скриване на компоненти с помощта на потребителски филтри</string>
|
||||
<string name="revanced_custom_filter_title">Активиране на потребителските филтри</string>
|
||||
@@ -374,44 +391,41 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Всички видеа с ключовата дума ще бъдат скрити: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Скриване на общите реклами</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Общите реклами са скрити</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Общите реклами се показват</string>
|
||||
<string name="revanced_hide_creator_store_shelf_title">Скриване на рафта на магазина на създателя</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">Рафтът на магазина на създателя под видео плейъра е скрит</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">Рафтът на магазина на създателя под видеоплейъра е показан</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Скрий банера за реклама в края на екрана</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Банерът на магазина на крайния екран е скрит</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Банерът на магазина на крайния екран е показан</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">Скриване на рекламите в режим на цял екран</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"Всички реклами на цял екран са скрити
|
||||
|
||||
Тази функция е налична само за по-стари устройства"</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">Рекламите в режим на цял екран са показани</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_fullscreen_ads_feature_not_available_toast">Скр. на реклами на цял екран, за по-стари устройства</string>
|
||||
<string name="revanced_hide_general_ads_title">Скриване на общите реклами</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Общите реклами са скрити</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Общите реклами се показват</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Скриване на банерите за стоки</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Рекламните банери за стоки са скрити</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Банерите за стоки се показват</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Скриване на платените промоции</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Промоционалните етикети са скрити</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">Промоционалните етикети се показват</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Скриване на самоспонсорирани карти</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Самоспонсорираните карти са скрити</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Самоспонсорираните карти са показани</string>
|
||||
<string name="revanced_hide_products_banner_title">Скриване на банера \"Преглед на продукти\"</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Банерът е скрит</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">Банерът е показан</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Скрий банера за реклама в края на екрана</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Банерът на магазина е скрит</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Банерът на магазина се показва</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">Скриване на рафта за пазаруване</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">Рафта за пазаруване е скрит</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">Рафта за пазаруване се показва</string>
|
||||
<string name="revanced_hide_shopping_links_title">Скриване на връзки за пазаруване</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Връзките за пазаруване в описанието на видеоклипа са скрити</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Връзките за пазаруване в описанието на видеоклипа са показани</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Скрийте бутона „Посетете магазина“ на страниците на каналите</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Бутонът в страницата на канала е скрит</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Бутонът в страницата на канала е показан</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Линковете за пазаруване във видео описанието са скрити</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Линковете за пазаруване в описанието на видеоклипа са показани</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">Скриване на банера „Преглед на продукти“</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">Банерът за преглед на продукти във видео наслагването е скрит</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">Банерът за преглед на продукти във видео наслагването е показан</string>
|
||||
<string name="revanced_hide_web_search_results_title">Скриване на резултатите от уеб търсенето</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Резултатите от уеб търсенето са скрити</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Резултатите от уеб търсенето са показани.</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Скриване на банерите за стоки</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Рекламните банери за стоки са скрити</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Банерите за стоки се показват</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_fullscreen_ads_feature_not_available_toast">Скр. на реклами на цял екран, за по-стари устройства</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">Скриване на YouTube Premium промоциите</string>
|
||||
@@ -439,13 +453,18 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Диалоговият прозорец ще бъде показан</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Тази функция не заобикаля възрастовото ограничение. Тя просто приема възрастовата граница автоматично.</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Деактивиране на пропускане на глава с двойно докосване</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Двойното докосване никога не може да предизвика пропускане до следваща/предишна глава</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Двойното докосване може понякога да предизвика пропускане до следваща/предишна глава</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">Външни изтегляния</string>
|
||||
<string name="revanced_external_downloader_screen_summary">Настройки за използване на външно приложение за изтегляне</string>
|
||||
<string name="revanced_external_downloader_title">Показване на бутона за изтегляне чрез външно приложение</string>
|
||||
<string name="revanced_external_downloader_summary_on">Бутонът за изтегляне в плейъра е показан</string>
|
||||
<string name="revanced_external_downloader_summary_off">Бутонът за изтегляне в плейъра не е показан</string>
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">Заместване на бутона Download</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">Бутонът за изтегляне отваря избраното от Вас външно приложение за изтегляне</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">Бутонът за изтегляне отваря вграденото приложение за изтегляне</string>
|
||||
@@ -538,7 +557,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Бутонът за спиране на реклами е скрит</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Бутонът за спиране на реклами е показан</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Бутон за доклади</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Бутона за докладване е скрит</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Бутона за докладване се показва</string>
|
||||
@@ -555,7 +574,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Бутона за благодарност е скрит</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Бутона за благодарност се показва</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Скриване на \"Попитай\"</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Бутонът \"Попитай\" е скрит</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Бутонът \"Попитай\" е показан</string>
|
||||
@@ -579,7 +598,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_button_title">Скриване на Shorts</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Бутонът Shorts е скрит</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Показан е бутон Shorts</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">Бутон за създаване на клип</string>
|
||||
<string name="revanced_hide_create_button_summary_on">Бутонът за създаване е скрит</string>
|
||||
<string name="revanced_hide_create_button_summary_off">Бутона за създаване се показва</string>
|
||||
@@ -648,7 +667,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">Менюто за скорост на видеото е скрито</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">Менюто за скорост на видеото се показва</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">\"Допълнителна информация\"</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">\"Допълнителна информация\" е скрита</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">\"Допълнителна информация\" се показва</string>
|
||||
@@ -660,7 +679,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">Избор на Аудио</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">Менюто за избор на Аудио е скрито</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">Менюто за избор на Аудио се показва</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_not_available">"Менюто за аудио тракове е скрито
|
||||
|
||||
За да покажете менюто за аудио тракове, променете \"Подмяна на видео потоци\" на iOS TV"</string>
|
||||
@@ -673,22 +692,22 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">Долният колонтитул на менюто за качество на видеото се показва</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Скриване на бутоните \"Предишен и Следващ\"</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Бутоните са скрити</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Бутоните се показват</string>
|
||||
<string name="revanced_hide_cast_button_title">Скриване на бутона Cast</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Бутонът за предаване е скрит</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Бутонът за предаване се показва</string>
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<string name="revanced_hide_captions_button_title">Скриване на бутона Captions</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Бутона за субтити е скрит</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Бутона за субтити се показва</string>
|
||||
<string name="revanced_hide_autoplay_button_title">Скриване на бутона Autoplay</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">Бутона за авт. изпълнение е скрит</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">Бутона за авт. изпълнение се показва</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Скриване на фона на бутоните за управление на плейъра</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Фонът на бутоните за управление на плейъра е скрит</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Фонът на бутоните за управление на плейъра е показан</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">Скриване на бутона Captions</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Бутона за субтити е скрит</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Бутона за субтити се показва</string>
|
||||
<string name="revanced_hide_cast_button_title">Скриване на бутона Cast</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Бутонът за предаване е скрит</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Бутонът за предаване се показва</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Скриване на фона на контролите на плейъра</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Фонът на контролите на плейъра е скрит</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Фонът на контролите на плейъра е показан</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Скриване на бутоните \"Предишен и Следващ\"</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Бутоните са скрити</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Бутоните се показват</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">Скриване на препоръките в края</string>
|
||||
@@ -721,76 +740,75 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">Играч на Shorts</string>
|
||||
<string name="revanced_shorts_player_screen_summary">Скриване или показване на компоненти в Shorts плейъра</string>
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Скриване на Shorts в началната лента</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Скрит в началния канал и свързани видеоклипове</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Показан в началния канал и свързани видеоклипове</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Shorts в раздел „Абонаменти“</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Скрито в абонаментната емисия</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Показано в абонаментната емисия</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Скриване на Shorts в емисията Начало</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Скрито в емисията Начало и свързани видеоклипове</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Показано в емисията Начало и свързани видеоклипове</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Скриване на Shorts в емисията Абонаменти</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Скрито в емисията Абонаменти</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Показано в емисията Абонаменти</string>
|
||||
<string name="revanced_hide_shorts_search_title">Shorts в резултатите от търсенето</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Скрити в резултатите от търсенето</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Показано в резултатите от търсенето</string>
|
||||
<string name="revanced_hide_shorts_history_title">Скриване на шортите в историята на гледане</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">Скрито в историята на гледане</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">Показва се в историята на гледане</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Скриване на бутона Join</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Бутона за присъединяване е скрит</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Бутона за присъединяване се показва</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Скриване на бутона Subscribe</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Бутонът „Абониране“ е скрит</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Бутонът „Абониране“ се показва</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Показване на бутони при пауза</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Бутоните при пауза се скриват</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Бутоните при пауза се показват</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Скриване на бутона Shop</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Бутона за пазаруване е скрит</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Бутона за пазаруване се показва</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">Скриване на бутона Buy Super Thanks</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Бутон Buy Super Thanks е скрит</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Бутон Buy Super Thanks се показва</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Скриване на маркираните продукти</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Скрити</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Показват се</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Етикет за местоположение</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Етикет за местоположение е скрит</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Етикет за местоположение се показва</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Скриване на коментара за визуализация</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Коментарът за визуализация е скрит</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Показва се визуализация на коментара</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Скриване на бутона Save music</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Бутонът за запазване на музика е скрит</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Показан е бутонът за запазване на музика</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Скриване на бутона \"Използвайте този звук\"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Бутонът \"Използвайте този звук\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Бутонът \"Използвайте този звук\" е показан</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Скриване на бутона „Използване на този шаблон“</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Бутонът \"Използвайте този шаблон\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Бутонът „Използване на този шаблон“ е видим</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Скриване на бутона Upcoming</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Бутон \"Предстоящи събития\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Бутон \"Предстоящи събития\" се показва</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Бутонът за Купи Super Thanks е скрит</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Бутонът за Купи Super Thanks е показан</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">Скрий бутона за ефект</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">Бутонът за ефекти е скрит</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">Бутонът за ефекти е видим</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">Скриване на бутона Green screen</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">Бутон \"Зелен екран\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">Бутон \"Зелен екран\" се показва</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Скриване на бутона \"Нови публикации\"</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Бутонът \"Нови публикации\" се показва</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Бутонът \"Нови публикации\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">Скриване на бутона за хаштаг</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">Бутона за хаштаг е скрит</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">Бутона за хаштаг се показва</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Скриване на бутона Join</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Бутона за присъединяване е скрит</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Бутона за присъединяване се показва</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Етикет за местоположение</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Етикет за местоположение е скрит</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Етикет за местоположение се показва</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Скриване на бутона \"Нови публикации\"</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Бутонът \"Нови публикации\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Бутонът \"Нови публикации\" се показва</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Показване на бутони при пауза</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Бутоните при пауза се скриват</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Бутоните при пауза се показват</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Скриване на коментара за визуализация</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Коментарът за визуализация е скрит</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Показва се визуализация на коментара</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Скриване на бутона Save music</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Бутонът за запазване на музика е скрит</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Показан е бутонът за запазване на музика</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Скриване на предложенията за търсене</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Предложенията за търсене са скрити</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Предложенията за търсене се показват</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Скриване на бутона Shop</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Бутона за пазаруване е скрит</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Бутона за пазаруване се показва</string>
|
||||
<string name="revanced_hide_shorts_stickers_title">Скриване на стикери</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_on">Стикерите са скрити</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_off">Стикери са показани</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Скриване на бутона Subscribe</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Бутонът „Абониране“ е скрит</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Бутонът „Абониране“ се показва</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Скриване на маркираните продукти</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Скрити</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Показват се</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Скриване на бутона Upcoming</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Бутон \"Предстоящи събития\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Бутон \"Предстоящи събития\" се показва</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Скриване на бутона \"Използвайте този звук\"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Бутонът \"Използвайте този звук\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Бутонът \"Използвайте този звук\" е показан</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Скриване на бутона „Използване на този шаблон“</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Бутонът \"Използвайте този шаблон\" е скрит</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Бутонът „Използване на този шаблон“ е видим</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">Скриване на анимацията на Like бутона</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">Анимацията на бутона „Харесва ми“ е скрита</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">Анимацията на бутона „Харесва ми“ се показва</string>
|
||||
@@ -803,14 +821,17 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_comments_button_title">Скриване на бутона Comments</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">Бутон за коментари е скрит</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">Бутон за коментари се показва</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Скриване на бутона Remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Бутона за ремикс е скрит</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Бутона за ремикс се показва</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_share_button_title">Скриване на бутона Share</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_on">Бутона за споделяне е скрит</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_off">Бутона за споделяне се показва</string>
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Скриване на бутона Remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Бутона за ремикс е скрит</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Бутона за ремикс се показва</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Скрийте бутона „Звук“</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Бутона за Звук е скрит</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Бутона за Звук се показва</string>
|
||||
<string name="revanced_hide_shorts_info_panel_title">Информационни панели</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_on">Информационните панели са скрити</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_off">Информационните панели се показват</string>
|
||||
@@ -818,17 +839,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">Лентата на канала е скрита.</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">Лентата на канала е показана.</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">Заглавие на видеото</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Заглавието е скрито</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Заглавието се показва</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Заглавието на видеоклипа е скрито</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Заглавието на видеоклипа е показано</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">Скриване на музикални метаданни</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Метаданни са скрити</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Метаданни се показват</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Скриване на етикет за връзка към видеоклипа</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Етикетът за метаданни за звук е скрит</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Етикетът за метаданни за звук е показан</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Скриване на етикета на видеовръзката</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">Етикетът за видео връзка е скрит</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">Етикетът за видео връзка се показва</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Скрийте бутона „Звук“</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Бутона за Звук е скрит</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Бутона за Звук се показва</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_title">Скриване лентата за навигация</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_on">Навигационната лента е скрита</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">Навигационната лента се показва</string>
|
||||
@@ -842,9 +860,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">Предложеното видео в края на екрана е показано</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_video_overlay_title">Скриване на наслагването на свързани видеоклипове в цял екран</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_on">Наслагването на свързани видеоклипове е скрито</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_off">Наслагването на свързани видеоклипове е показано</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">Скриване на наслагването със свързани видеоклипове</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">Наслагването със свързани видеоклипове на цял екран е скрито</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">Наслагването със свързани видеоклипове на цял екран е показано</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">Скриване на клеймото за време на видеоклипа</string>
|
||||
@@ -893,7 +911,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">Нехаресвания като процент</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">Нехаресванията са показани като процент</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">Нехаресванията са показани като число</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<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>
|
||||
@@ -950,18 +968,32 @@ Second \"item\" text"</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' -->
|
||||
<!-- 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>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">Най-добър изглед на бутона за пропускане</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">Автоматично скриване на бутона \"Пропускане\"</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">Бутона за пропускане се скрива след няколко секунди</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Бутонът \"Пропускане\" е показан за целия сегмент</string>
|
||||
<string name="revanced_sb_general_skiptoast">Показване на toast при пропускане</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Показване на известие при автоматично пропусната част. Докоснете тук за пример</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Известието не се показва. Докоснете тук за пример</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">Продължителност на бутона за пропускане</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">Колко дълго да се показват бутоните за пропускане и преминаване към акцент, преди да се скрият автоматично</string>
|
||||
<string name="revanced_sb_general_skiptoast">Показване на известие за отмяна на пропускането</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Показва се известие, когато сегмент е автоматично пропуснат. Докоснете известието, за да отмените пропускането</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Изскачащо съобщение не се показва</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">Продължителност на изскачащото съобщение за пропускане</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">Колко дълго да се показва известието за отмяна на пропускането</string>
|
||||
<string name="revanced_sb_duration_1s">1 секунда</string>
|
||||
<string name="revanced_sb_duration_2s">2 секунди</string>
|
||||
<string name="revanced_sb_duration_3s">3 секунди</string>
|
||||
<string name="revanced_sb_duration_4s">4 секунди</string>
|
||||
<string name="revanced_sb_duration_5s">5 секунди</string>
|
||||
<string name="revanced_sb_duration_6s">6 секунди</string>
|
||||
<string name="revanced_sb_duration_7s">7 секунди</string>
|
||||
<string name="revanced_sb_duration_8s">8 секунди</string>
|
||||
<string name="revanced_sb_duration_9s">9 секунди</string>
|
||||
<string name="revanced_sb_duration_10s">10 секунди</string>
|
||||
<string name="revanced_sb_general_time_without">Показване на дължината на видеото без сигментите</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Дължината на видеото без всички части показана в скоби до цялата дължина</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Дължината на видеото без всички сегменти се показва на лентата за напредък</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">Цялата дължина на видето се показва</string>
|
||||
<string name="revanced_sb_create_segment_category">Създаване на нови части</string>
|
||||
<string name="revanced_sb_enable_create_segment">Показване на бутон \"Създаване на нов сегмент\"</string>
|
||||
@@ -1080,7 +1112,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_vote_downvote">Отрицателен вот</string>
|
||||
<string name="revanced_sb_vote_category">Промяна на категорията</string>
|
||||
<string name="revanced_sb_vote_no_segments">Няма сегменти, за които да гласувате</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s до %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Изберете категория сегмент</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Категорията е изкл. в настройките. Вкл. я за да можете да изпратите.</string>
|
||||
@@ -1159,7 +1191,7 @@ Second \"item\" text"</string>
|
||||
|
||||
Ако по-късно бъде изключено, препоръчително е да изчистите данните на приложението, за да предотвратите грешки в потребителския интерфейс."</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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.01.34 - Възстановяване на стари икони за навигация</string>
|
||||
@@ -1266,9 +1298,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_gradient_loading_screen_title">Фон на екрана при зареждане на видео</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_on">Екранът за зареждане ще има градиентен фон</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_off">Екранът за зареждане ще има плътен фон</string>
|
||||
<string name="splash_screen_animation_style_title">Стил на началния екран</string>
|
||||
<string name="splash_screen_animation_style_entry_1">Цвят</string>
|
||||
<string name="splash_screen_animation_style_entry_2">Черно и бяло</string>
|
||||
<string name="revanced_splash_screen_animation_style_title">Стил на началния екран</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">Цвят</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">Черно и бяло</string>
|
||||
<string name="revanced_seekbar_custom_color_title">Промяна на цвета на индикатора за време</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">Показва се персонализиран цвят на лентата за напредък</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">Показва се оригиналния цвят на лентата за напредък</string>
|
||||
@@ -1278,6 +1310,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">Цветът на лентата за търсене</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Невалидна стойност за цвят на лентата на прогреса</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">Лого в заглавката</string>
|
||||
<string name="revanced_header_logo_entry_1">По подразбиране</string>
|
||||
<string name="revanced_header_logo_entry_2">Обикновено</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
<string name="revanced_header_logo_entry_5">ReVanced минимално</string>
|
||||
<string name="revanced_header_logo_entry_6">По избор</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Прескочете забраната за зареждане на изображение</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Домейнът yt4.ggpht.com се използва за зареждане на изображения</string>
|
||||
@@ -1286,13 +1326,13 @@ Second \"item\" text"</string>
|
||||
Активирането на това може да поправи липсващите изображения, които са блокирани в някои региони"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Раздел Начало</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Раздел Абонаменти</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">Раздел \"Вие\"</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Плейлисти, предложения</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Плейлисти на плейъра & препоръки</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">Резултати от търсенето</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">Оригинални миниатюри</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & оригинални миниатюри</string>
|
||||
@@ -1391,11 +1431,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_force_original_audio_title">Принудително оригинално аудио език</string>
|
||||
<string name="revanced_force_original_audio_summary_on">Използване на оригиналния език на аудиото</string>
|
||||
<string name="revanced_force_original_audio_summary_off">Използване на аудио по подразбиране</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">За да използвате тази функция, сменете „Фалшифициране на видео потоци“ на iOS TV</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
<string name="revanced_video_quality_default_entry_1">Авто</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">Запомни промените в качеството на видеото</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">Промените в качеството се отнасят за всички видеоклипове</string>
|
||||
@@ -1509,7 +1549,7 @@ AVC има максимална резолюция от 1080p, Opus аудио
|
||||
<string name="revanced_block_video_ads_summary_off">Видео рекламата е разблокирана</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">съобщението е изтрито</string>
|
||||
<string name="revanced_deleted_msg">Съобщението е изтрито</string>
|
||||
<string name="revanced_show_deleted_messages_title">Покажи изтритите съобщения</string>
|
||||
<string name="revanced_show_deleted_messages_entry_1">Не показвай изтритите съобщения</string>
|
||||
<string name="revanced_show_deleted_messages_entry_2">Скрийте изтритите съобщения зад спойлер</string>
|
||||
@@ -1521,7 +1561,7 @@ AVC има максимална резолюция от 1080p, Opus аудио
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">Channel Points в канала не се изискват автоматично</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
<string name="revanced_twitch_debug_mode_title">Активирайте режима за отстраняване на грешки в Twitch</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">Режимът за отстраняване на грешки в Twitch е активиран (не се препоръчва)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">Режимът за отстраняване на грешки в Twitch е деактивиран</string>
|
||||
@@ -1530,7 +1570,7 @@ AVC има максимална резолюция от 1080p, Opus аудио
|
||||
<string name="revanced_settings">Настройки на ReVanced</string>
|
||||
<string name="revanced_about_title">Относно</string>
|
||||
<string name="revanced_about_summary">За ReVanced</string>
|
||||
<string name="revanced_ads_screen_title">Реклами</string>
|
||||
<string name="revanced_ads_screen_title">Блокиране на реклами</string>
|
||||
<string name="revanced_ads_screen_summary">Настройки за блокиране на реклами</string>
|
||||
<string name="revanced_chat_screen_title">Чатове</string>
|
||||
<string name="revanced_chat_screen_summary">Настройки на чата</string>
|
||||
|
||||
@@ -142,115 +142,110 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_album_cards_title">অ্যালবাম কার্ড লুকান</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">অ্যালবাম কার্ড লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">অ্যালবাম কার্ড প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">গণ-অর্থায়ন বাক্স লুকান</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">গণ-অর্থায়ন বাক্স লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">গণ-অর্থায়ন বাক্স প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">ভাসমান মাইক্রোফোন বোতাম লুকান</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">মাইক্রোফোন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">মাইক্রোফোন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_channel_watermark_title">চ্যানেল জলছাপ লুকান</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">জলছাপ লুকানো আছে</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">জলছাপ দেখানো আছে</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">আনুভূমিক শেলফ লুকান</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"শেল্ফগুলি লুকানো হয় যেমন:
|
||||
• তাজা সংবাদ
|
||||
• দেখা চালিয়ে যান
|
||||
• আরও চ্যানেল অন্বেষণ করুন
|
||||
• কেনাকাটা
|
||||
• আবার দেখুন"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">শেলফ প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">যোগদান বোতাম লুকান</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">বোতাম দেখানো আছে</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">\'আপনার জন্য\' শেল্ফ লুকান</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">চ্যানেল পৃষ্ঠায় শেল্ফ লুকানো আছে</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">চ্যানেল পৃষ্ঠায় শেল্ফ দেখানো হয়েছে</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">\'আমাকে জানান\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">বোতাম দেখানো আছে</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendation_labels_title">ভিডিও প্রস্তাবনা লেবেল লুকান</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_on">\"\'লোকেরা আরও দেখেছে\' এবং \'আপনি সম্ভবত পছন্দ করতে পারেন\' লেবেলগুলি লুকানো আছে\"</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_off">\"\'লোকেরা আরও দেখেছে\' এবং \'আপনি সম্ভবত পছন্দ করতে পারেন\' লেবেলগুলি দেখানো হয়েছে\"</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">\'আরও দেখান\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">বোতাম দেখানো আছে</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">টিকিট তাক লুকান</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">টিকিট তাক লুকানো আছে</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">টিকিট তাক দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_timed_reactions_title">সময় অনুযায়ী প্রতিক্রিয়া লুকান</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">সময় অনুযায়ী প্রতিক্রিয়া লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">সময় অনুযায়ী প্রতিক্রিয়া প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">চ্যানেল নির্দেশিকা লুকান</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">চ্যানেল নির্দেশিকা লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">চ্যানেল নির্দেশিকা প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_artist_cards_title">আর্টিস্ট কার্ড লুকান</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">আর্টিস্ট কার্ড লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">আর্টিস্ট কার্ড প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_chips_shelf_title">চিপ শেলপ লুকান</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">চিপ শেলপ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">চিপ শেলপ প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_expandable_chip_title">ভিডিওর নীচে সম্প্রসারণযোগ্য কার্ড লুকান</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">প্রসারণযোগ্য কার্ড লুকানো আছে</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">প্রসারণযোগ্য কার্ড দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_community_posts_title">সম্প্রদায় পোস্ট লুকান</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">সম্প্রদায় পোস্ট লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">সম্প্রদায় পোস্ট প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_compact_banner_title">সংক্ষিপ্ত ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">সংক্ষিপ্ত ব্যানার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">সংক্ষিপ্ত ব্যানার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_movies_section_title">চলচ্চিত্র বিভাগ লুকান</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">চলচ্চিত্র বিভাগ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">চলচ্চিত্র বিভাগ প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">গণ-অর্থায়ন বাক্স লুকান</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">গণ-অর্থায়ন বাক্স লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">গণ-অর্থায়ন বাক্স প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_expandable_card_title">প্রসারিত কার্ড লুকান</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">ভিডিওর নিচে প্রসারিত কার্ড লুকানো আছে</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">ভিডিওর নিচে প্রসারিত কার্ড দেখানো আছে</string>
|
||||
<string name="revanced_hide_feed_survey_title">ফিড জরিপ লুকান</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">ফিড জরিপ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">ফিড জরিপ প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_community_guidelines_title">সম্প্রদায় নির্দেশিকা লুকান</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">সম্প্রদায় নির্দেশিকা লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">সম্প্রদায় নির্দেশিকা প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">সাবস্ক্রাইবার নির্দেশিকা লুকান</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">সাবস্ক্রাইবারদের সম্পদ্রায় নির্দেশিকা লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">সাবস্ক্রাইবারদের সম্পদ্রায় নির্দেশিকা প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">চ্যানেল মেম্বার শেলফ লুকান</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">চ্যানেল মেম্বার শেলফ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">চ্যানেল মেম্বার শেলফ প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">ভাসমান মাইক্রোফোন বোতাম লুকান</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">অনুসন্ধানে ফ্লোটিং মাইক্রোফোন বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">অনুসন্ধানে ভাসমান মাইক্রোফোন বোতাম দেখানো হয়</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">আনুভূমিক শেলফ লুকান</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"অনুভূমিক তাকগুলি লুকানো আছে, যেমন:
|
||||
• ব্রেকিং নিউজ
|
||||
• দেখা চালিয়ে যান
|
||||
• আরও চ্যানেল এক্সপ্লোর করুন
|
||||
• সবচেয়ে প্রাসঙ্গিক
|
||||
• কেনাকাটা
|
||||
• আবার দেখুন"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">অনুভূমিক শেলফগুলি দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_image_shelf_title">ছবি শেল্ফ লুকান</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">সার্চ ফলাফলে ছবি শেল্ফ লুকানো আছে</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">সার্চ ফলাফলে ছবি শেল্ফ দেখানো আছে</string>
|
||||
<string name="revanced_hide_latest_posts_title">সর্বশেষ পোস্ট লুকান</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">সর্বশেষ পোস্ট লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">সর্বশেষ পোস্ট প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_mix_playlists_title">মিক্স প্লেলিস্ট লুকান</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">মিক্স প্লেলিস্ট লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">মিক্স প্লেলিস্ট প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_movies_section_title">চলচ্চিত্র বিভাগ লুকান</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">চলচ্চিত্র বিভাগ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">চলচ্চিত্র বিভাগ প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">\'আমাকে জানান\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">আমাকে জানান বোতামটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">আমাকে জানান বোতামটি দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_playables_title">খেলার উপযুক্ত লুকান</string>
|
||||
<string name="revanced_hide_playables_summary_on">খেলার উপযুক্ত লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_playables_summary_off">খেলার উপযুক্ত প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">\'আরও দেখান\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">অনুসন্ধান ফলাফলে \"আরও দেখান\" বোতামটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">অনুসন্ধান ফলাফলে \"আরও দেখান\" বোতামটি দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">টিকিট তাক লুকান</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">টিকিট তাক লুকানো আছে</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">টিকিট তাক দেখানো হয়েছে</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">ভিডিও সুপারিশ লেবেল লুকান</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">\"অন্যান্য দর্শক দেখেছেন\" এবং \"আপনার পছন্দ হতে পারে\" লেবেলগুলি অনুসন্ধান ফলাফলে লুকানো আছে</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">\"অন্যান্য দর্শক দেখেছেন\" এবং \"আপনার পছন্দ হতে পারে\" লেবেলগুলি অনুসন্ধান ফলাফলে দেখানো হয়েছে</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">YouTube Doodles छिपाएँ</string>
|
||||
<string name="revanced_hide_doodles_summary_on">লোগোতে YouTube Doodles অ্যানিমেশন লুকানো আছে</string>
|
||||
<string name="revanced_hide_doodles_summary_off">লোগোতে YouTube Doodles অ্যানিমেশন দেখানো হয়</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodles প্রতি বছর কয়েক দিনের জন্য দেখানো হয়।
|
||||
|
||||
আপনার অঞ্চলে যদি কোনও Doodle বর্তমানে দেখানো হচ্ছে এবং এই লুকানো সেটিং চালু থাকে, তাহলে সার্চ বারের নীচে ফিল্টার বারটিও লুকানো থাকবে।"</string>
|
||||
<string name="revanced_hide_channel_bar_title">চ্যানেল বার লুকান</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">চ্যানেল বার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">চ্যানেল বার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_channel_watermark_title">চ্যানেল জলছাপ লুকান</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">জলছাপ লুকানো আছে</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">জলছাপ দেখানো আছে</string>
|
||||
<string name="revanced_hide_emergency_box_title">জরুরী বাক্সগুলো লুকান</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">জরুরী বাক্সগুলো লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">জরুরী বাক্সগুলো প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_info_panels_title">তথ্য প্যানেল লুকান</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">তথ্য প্যানেল লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">তথ্য প্যানেল প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">যোগদান বোতাম লুকান</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">যোগদান বোতামটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">যোগদান বোতামটি দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_medical_panels_title">মেডিকেল প্যানেল লুকান</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">মেডিকেল প্যানেল লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">মেডিকেল প্যানেল প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_channel_bar_title">চ্যানেল বার লুকান</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">চ্যানেল বার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">চ্যানেল বার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_playables_title">খেলার উপযুক্ত লুকান</string>
|
||||
<string name="revanced_hide_playables_summary_on">খেলার উপযুক্ত লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_playables_summary_off">খেলার উপযুক্ত প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_quick_actions_title">পূর্ণস্ক্রীণে দ্রুত ক্রিয়াকলাপগুলি লুকান</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">দ্রুত ক্রিয়াকলাপগুলি লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">দ্রুত ক্রিয়াকলাপগুলি প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_related_videos_title">দ্রুত ক্রিয়াকলাপগুলিতে সম্পর্কিত ভিডিওগুলি লুকান</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">সম্পর্কিত ভিডিও লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">সম্পর্কিত ভিডিও প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_image_shelf_title">অনুসন্ধান ফলাফলে ছবির শেলফ লুকান</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">ছবির শেলফ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">ছবির শেলফ প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">সর্বশেষ পোস্ট লুকান</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">সর্বশেষ পোস্ট লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">সর্বশেষ পোস্ট প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_mix_playlists_title">মিক্স প্লেলিস্ট লুকান</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">মিক্স প্লেলিস্ট লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">মিক্স প্লেলিস্ট প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_artist_cards_title">আর্টিস্ট কার্ড লুকান</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">আর্টিস্ট কার্ড লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">আর্টিস্ট কার্ড প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_quick_actions_title">দ্রুত অ্যাকশন লুকান</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">ফুলস্ক্রিনে দ্রুত অ্যাকশন লুকানো আছে</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">ফুলস্ক্রিনে দ্রুত অ্যাকশন দেখানো আছে</string>
|
||||
<string name="revanced_hide_related_videos_title">সম্পর্কিত ভিডিও লুকান</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">দ্রুত অ্যাকশনে সম্পর্কিত ভিডিও লুকানো আছে</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">দ্রুত অ্যাকশনে সম্পর্কিত ভিডিও দেখানো আছে</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">সাবস্ক্রাইবার নির্দেশিকা লুকান</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">সাবস্ক্রাইবারদের সম্পদ্রায় নির্দেশিকা লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">সাবস্ক্রাইবারদের সম্পদ্রায় নির্দেশিকা প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_timed_reactions_title">সময় অনুযায়ী প্রতিক্রিয়া লুকান</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">সময় অনুযায়ী প্রতিক্রিয়া লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">সময় অনুযায়ী প্রতিক্রিয়া প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">\'AI-জেনারেটেড ভিডিও সারসংক্ষেপ\' লুকান</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">ভিডিও সারসংক্ষেপ বিভাগ লুকানো আছে</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">ভিডিও সারসংক্ষেপ বিভাগ দেখানো হয়েছে</string>
|
||||
@@ -281,16 +276,39 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_description_components_screen_title">ভিডিওর বিবরণ</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">ভিডিও বিবরণ এর উপাদান লুকান বা প্রদর্শন করুন</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">ফিল্টার বার</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">ফিড, অনুসন্ধানের ফলাফল এবং সম্পর্কিত ভিডিওগুলোতে ফিল্টার বার লুকান অথবা দেখান</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">ফিড, ইতিহাস, অনুসন্ধান ফলাফল এবং সম্পর্কিত ভিডিওগুলিতে ফিল্টার বার লুকান বা দেখান</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">ফিডে লুকান</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">ফিডে লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">ফিডে প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">ফিডে লুকানো</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">ফিডে দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">ইতিহাসে লুকান</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">ইতিহাসে লুকানো</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">ইতিহাসে দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">অনুসন্ধান ফলাফলে লুকান</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">অনুসন্ধান ফলাফলে লুকানো আছে</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">অনুসন্ধান ফলাফলে দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">সম্পর্কিত ভিডিওতে লুকান</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">সম্পর্কিত ভিডিওতে লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">সম্পর্কিত ভিডিওতে প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_channel_screen_title">চ্যানেল পৃষ্ঠা</string>
|
||||
<string name="revanced_channel_screen_summary">চ্যানেল পৃষ্ঠার উপাদানগুলি লুকান বা দেখান</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">\'আপনার জন্য\' শেল্ফ লুকান</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">আপনার জন্য শেল্ফ লুকানো আছে</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">আপনার জন্য শেল্ফ দেখানো আছে</string>
|
||||
<string name="revanced_hide_links_preview_title">লিঙ্ক পূর্বরূপ লুকান</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">লিঙ্ক পূর্বরূপ লুকানো আছে</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">লিঙ্ক পূর্বরূপ দেখানো আছে</string>
|
||||
<string name="revanced_hide_members_shelf_title">সদস্য শেল্ফ লুকান</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">সদস্য শেল্ফ লুকানো আছে</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">সদস্যদের শেল্ফ দেখানো হয়েছে</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">\'কমিউনিটি দেখুন\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">\'কমিউনিটি দেখুন\' বোতাম লুকানো হয়েছে</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">কমিউনিটি ভিজিট বাটন দেখানো আছে</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">চ্যানেল পাতায় \'স্টোরে যান\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">স্টোর ভিজিট বাটন লুকানো আছে</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">স্টোর ভিজিট বাটন দেখানো আছে</string>
|
||||
<string name="revanced_comments_screen_title">মন্তব্য</string>
|
||||
<string name="revanced_comments_screen_summary">মন্তব্য বিভাগের উপাদানগুলি লুকান বা দেখান৷</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">এআই চ্যাট সংক্ষিপ্তসার লুকান</string>
|
||||
@@ -299,31 +317,30 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_comments_ai_summary_title">এআই মন্তব্য সংক্ষিপ্তসার লুকান</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">মন্তব্য সংক্ষিপ্তসার লুকানো আছে</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">মন্তব্য সংক্ষিপ্তসার দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">চ্যানেল নির্দেশিকা লুকান</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">চ্যানেল নির্দেশিকা লুকানো হয়েছে</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">চ্যানেল নির্দেশিকা দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">\'মেম্বারদের মন্তব্য\' হেডার লুকান</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">সদস্যদের দ্বারা মন্তব্য হেডার লুকানো আছে</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">সদস্যদের দ্বারা মন্তব্য হেডার দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_comments_section_title">মন্তব্য বিভাগ লুকান</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">মন্তব্য বিভাগ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">মন্তব্য বিভাগ প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">কমিউনিটি নির্দেশিকা লুকান</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">কমিউনিটি নির্দেশিকা লুকানো আছে</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">কমিউনিটি নির্দেশিকা দেখানো আছে</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">\'Short তৈরি করুন\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">একটি Shorts বোতাম তৈরি করুন লুকানো আছে</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">একটি Shorts বোতাম তৈরি করুন দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">সময় চিহ্নিত করার বোতাম লুকান</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">সময় চিহ্নিত করার বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">সময় চিহ্নিত করার বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">মন্তব্যের পূর্বরূপ লুকান</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">মন্তব্যের পূর্বরূপ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">মন্তব্যের পূর্বরূপ প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">ধন্যবাদ বাটন লুকান</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">ধন্যবাদ বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">ধন্যবাদ বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">YouTube Doodles छिपाएँ</string>
|
||||
<string name="revanced_hide_doodles_summary_on">सर्च बार Doodles छिपे हुए हैं</string>
|
||||
<string name="revanced_hide_doodles_summary_off">সার্চ বারে Doodles প্রদর্শিত হয়</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodles প্রতি বছর কয়েক দিনের জন্য দেখানো হয়।
|
||||
|
||||
আপনার অঞ্চলে যদি কোনও Doodle বর্তমানে দেখানো হচ্ছে এবং এই লুকানো সেটিং চালু থাকে, তাহলে সার্চ বারের নীচে ফিল্টার বারটিও লুকানো থাকবে।"</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">টাইমস্ট্যাম্প বোতাম লুকান</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">সময় চিহ্নিত করার বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">সময় চিহ্নিত করার বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_custom_filter_screen_title">কাস্টম ফিল্টার</string>
|
||||
<string name="revanced_custom_filter_screen_summary">কাস্টম ফিল্টার ব্যবহার করে বিভিন্ন উপাদান লুকান</string>
|
||||
<string name="revanced_custom_filter_title">কাস্টম ফিল্টার সক্রিয় করুন</string>
|
||||
@@ -370,44 +387,41 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">কিওয়ার্ড সমস্ত ভিডিও লুকিয়ে রাখবে: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">সাধারণ বিজ্ঞাপন লুকান</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">সাধারণ বিজ্ঞাপন লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">সাধারণ বিজ্ঞাপন প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_creator_store_shelf_title">ক্রিয়েটর স্টোর শেল্ফ লুকান</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">ভিডিও প্লেয়ারের নিচে ক্রিয়েটর স্টোর শেলফ লুকানো আছে</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">ভিডিও প্লেয়ারের নিচে ক্রিয়েটর স্টোর শেল্ফ দেখানো হয়</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">শেষ পর্দার স্টোর ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">এন্ড স্ক্রিন স্টোর ব্যানার লুকানো আছে</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">এন্ড স্ক্রিন স্টোর ব্যানার দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">পূর্ণ স্ক্রীন প্যানেল লুকান</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"পূর্ণ পর্দার বিজ্ঞাপন লুকানো হয়
|
||||
|
||||
এই বৈশিষ্ট্যটি কেবল পুরনো ডিভাইসের জন্য উপলব্ধ"</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">পূর্ণ স্ক্রীন বিজ্ঞাপন প্রদর্শিত হয়েছে</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_fullscreen_ads_feature_not_available_toast">পূর্ণস্ক্রীন বিজ্ঞাপন লুকানো পুরোনো ডিভাইসে কাজ করে</string>
|
||||
<string name="revanced_hide_general_ads_title">সাধারণ বিজ্ঞাপন লুকান</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">সাধারণ বিজ্ঞাপন লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">সাধারণ বিজ্ঞাপন প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">পণ্যদ্রব্য ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">পণ্যদ্রব্যের ব্যানার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">পণ্যদ্রব্যের ব্যানার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">অর্থের বিনিময়ে প্রচার অন্তর্ভুক্ত রয়েছে ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">অর্থের বিনিময়ে প্রচার অন্তর্ভুক্ত রয়েছে ব্যানার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">অর্থের বিনিময়ে প্রচার অন্তর্ভুক্ত রয়েছে ব্যানার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">স্ব-স্পন্সর কার্ড লুকান</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">স্ব-স্পন্সর কার্ড লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">স্ব-স্পন্সর কার্ড প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_products_banner_title">\'পণ্য দেখুন\' ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">ব্যানার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">ব্যানার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">শেষ পর্দার স্টোর ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">স্টোর ব্যানারটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">স্টোর ব্যানারটি প্রদর্শন করা হবে</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">প্লেয়ার শপিং শেলফ লুকান</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">শপিং শেলফ লুকানো আছে</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">শপিং শেলফ দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_shopping_links_title">ভিডিওর বিবরণে কেনাকাটার লিঙ্ক লুকান</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">ভিডিও বিবরণে শপিং লিঙ্ক লুকানো আছে</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">ভিডিও বিবরণে শপিং লিঙ্ক দেখানো হয়েছে</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">চ্যানেল পাতায় \'স্টোরে যান\' বোতাম লুকান</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">চ্যানেল পৃষ্ঠায় বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">চ্যানেল পৃষ্ঠায় বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shopping_links_title">কেনাকাটার লিঙ্ক লুকান</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">ভিডিও বিবরণে কেনাকাটার লিঙ্ক লুকানো আছে</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">ভিডিও বর্ণনায় কেনাকাটার লিঙ্ক দেখানো হয়</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">\'পণ্য দেখুন\' ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">ভিডিও ওভারলেতে \"পণ্য দেখুন\" ব্যানার লুকানো আছে</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">ভিডিও ওভারলেতে \"পণ্য দেখুন\" ব্যানার দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_web_search_results_title">লোকেরা এইগুলিও সার্চ করছে লুকান</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">লোকেরা এইগুলিও সার্চ করছে লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">লোকেরা এইগুলিও সার্চ করছে প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">পণ্যদ্রব্য ব্যানার লুকান</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">পণ্যদ্রব্যের ব্যানার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">পণ্যদ্রব্যের ব্যানার প্রদর্শিত হয়েছে</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_fullscreen_ads_feature_not_available_toast">পূর্ণস্ক্রীন বিজ্ঞাপন লুকানো পুরোনো ডিভাইসে কাজ করে</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">YouTube প্রিমিয়াম প্রচারণা লুকান</string>
|
||||
@@ -435,13 +449,18 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">ডায়ালগ প্রদর্শিত হবে</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">এটি বয়সের সীমাবদ্ধতাকে বাইপাস করে না। এটা শুধু স্বয়ংক্রিয়ভাবে গ্রহণ করে।</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">ডাবল ট্যাপ অধ্যায় স্কিপ অক্ষম করুন</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">ডাবল ট্যাপ কখনও পরবর্তী/পূর্ববর্তী অধ্যায়ে স্কিপ ট্রিগার করতে পারে না</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">ডাবল ট্যাপ মাঝে মাঝে পরবর্তী/পূর্ববর্তী অধ্যায়ে স্কিপ ট্রিগার করতে পারে</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">বাহিরে ডাউনলোড</string>
|
||||
<string name="revanced_external_downloader_screen_summary">বাহিরের ডাউনলোডার ব্যবহার করার সেটিং</string>
|
||||
<string name="revanced_external_downloader_title">বাহিরের ডাউনলোডার বাটন দেখান</string>
|
||||
<string name="revanced_external_downloader_summary_on">প্লেয়ারে ডাউনলোড বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_external_downloader_summary_off">প্লেয়ারে ডাউনলোড বোতাম দেখানো হয়নি</string>
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">ডাউনলোড অ্যাকশন বোতামটি ওভাররাইড করুন</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">ডাউনলোড বোতামটি আপনার বাহিরের ডাউনলোডার খুলবে</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">ডাউনলোড বোতামটি নেটিভ ইন-অ্যাপ ডাউনলোডার খুলবে</string>
|
||||
@@ -534,7 +553,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">বিজ্ঞাপন বন্ধ করুন বোতামটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">বিজ্ঞাপন বন্ধ করুন বোতামটি দেখানো হচ্ছে</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Report লুকান</string>
|
||||
<string name="revanced_hide_report_button_summary_on">রিপোর্ট বাটন লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_report_button_summary_off">রিপোর্ট বাটন প্রদর্শিত</string>
|
||||
@@ -551,7 +570,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_thanks_button_summary_on">ধন্যবাদ বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">ধন্যবাদ বোতাম দেখানো হয়</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">জিজ্ঞাসা লুকান</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">জিজ্ঞাসা বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">জিজ্ঞাসা বোতাম দেখানো হয়েছে</string>
|
||||
@@ -575,7 +594,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_shorts_button_title">Shorts লুকান</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Shorts বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Shorts বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">লুকান তৈরি করুন</string>
|
||||
<string name="revanced_hide_create_button_summary_on">তৈরি বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_create_button_summary_off">ক্রিয়েট বাটন প্রদর্শিত হয়েছে</string>
|
||||
@@ -644,7 +663,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">প্লেব্যাকের স্পিড মেনু লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">প্লেব্যাকের স্পিড মেনু প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">আরো তথ্য লুকান</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">আরও তথ্য মেনু লুকানো আছে</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">আরও তথ্য মেনু দেখানো হয়</string>
|
||||
@@ -656,7 +675,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">অডিও ট্র্যাক লুকান</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">অডিও ট্র্যাক মেনু লুকানো আছে</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">অডিও ট্র্যাক মেনু দেখানো হয়</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_not_available">"অডিও ট্র্যাক মেনু লুকানো আছে
|
||||
|
||||
অডিও ট্র্যাক মেনু দেখাতে, 'স্পুফ ভিডিও স্ট্রিম' পরিবর্তন করে iOS TV করুন"</string>
|
||||
@@ -669,22 +688,22 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">ভিডিও গুণমান মেনু ফুটার দেখানো হচ্ছে</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">পূর্ববর্তী লুকান & পরবর্তী বোতাম</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">বোতাম লুকানো হয়</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">বোতাম দেখানো হয়</string>
|
||||
<string name="revanced_hide_cast_button_title">কাস্ট বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">কাস্ট বাটন লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">কাস্ট বাটন প্রদর্শিত হয়েছে</string>
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<string name="revanced_hide_captions_button_title">ক্যাপশন বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">ক্যাপশন বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">ক্যাপশন বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_autoplay_button_title">অটোপ্লে বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">autoplay বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">autoplay বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">প্লেয়ার কন্ট্রোল বোতামগুলির পটভূমি লুকান</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">প্লেয়ার কন্ট্রোল বোতামগুলির পটভূমি লুকানো আছে</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">প্লেয়ার কন্ট্রোল বোতামগুলির পটভূমি দেখানো হয়েছে</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">ক্যাপশন বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">ক্যাপশন বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">ক্যাপশন বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_cast_button_title">কাস্ট বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">কাস্ট বাটন লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">কাস্ট বাটন প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">প্লেয়ার কন্ট্রোল ব্যাকগ্রাউন্ড লুকান</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">প্লেয়ার নিয়ন্ত্রণের পটভূমি লুকানো আছে</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">প্লেয়ার কন্ট্রোল ব্যাকগ্রাউন্ড দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">পূর্ববর্তী লুকান & পরবর্তী বোতাম</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">বোতাম লুকানো হয়</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">বোতাম দেখানো হয়</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">শেষ স্ক্রীন কার্ড লুকান</string>
|
||||
@@ -717,76 +736,75 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">Shorts প্লেয়ার</string>
|
||||
<string name="revanced_shorts_player_screen_summary">Shorts প্লেয়ারে উপাদান লুকানো বা দেখানো</string>
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">প্রধান ফিডে Shorts লুকান</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">বাড়ির ফিড এবং সম্পর্কিত ভিডিওতে লুকানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">বাড়ির ফিড এবং সম্পর্কিত ভিডিওতে দেখানো হয়েছে</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">সদস্যতা ফিডে Shorts লুকান</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">সাবস্ক্রিপশন ফিডে লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">সাবস্ক্রিপশন ফিডে দেখানো হয়েছে</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">হোম ফিডে Shorts লুকান</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">হোম ফিড এবং সম্পর্কিত ভিডিওতে লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">হোম ফিড এবং সম্পর্কিত ভিডিওতে দেখানো হয়েছে</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">সাবস্ক্রিপশনস ফিডে Shorts লুকান</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">সাবস্ক্রিপশনস ফিডে লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">সাবস্ক্রিপশনস ফিডে দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_search_title">অনুসন্ধান ফলাফলে Shorts লুকান</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">অনুসন্ধান ফলাফলে লুকানো</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">সার্চ রেজাল্টে দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_history_title">Shortsগুলিকে ওয়াচ ইতিহাসে লুকান</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">ওয়াচ হিস্ট্রিতে লুকানো</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">ওয়াচ ইতিহাসে দেখানো</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">সামিল হও বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">জয়েন করুন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">জয়েন করুন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">সাবস্ক্রাইব বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">সদস্যতা নিন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">সদস্যতা নিন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">থেমে থাকা ওভারলে বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">থেমে থাকা ওভারলে বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">থেমে থাকা ওভারলে বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">শপ বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">কেনাকাটা বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">কেনাকাটা বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">সুপার থ্যাঙ্কস বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">বোতামটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">সুপার থ্যাঙ্কস বোতামটি প্রদর্শিত হচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">ট্যাগ করা প্রোডাক্টগুলি লুকান</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">ট্যাগ করা প্রোডাক্টগুলি লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">ট্যাগ করা প্রোডাক্টগুলি প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">অবস্থান লেবেল লুকান</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">অবস্থান লেবেল লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">অবস্থান লেবেল প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Preview comment লুকান</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Preview comment লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Preview comment দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">সেভ মিউজিক বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Save music বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Save music বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">এই সাউন্ড বাটনটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">এই সাউন্ড বাটনটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">এই সাউন্ড বাটনটি দেখা যাচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">\"এই টেমপ্লেট ব্যবহার করুন\" বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">এই টেমপ্লেট বাটনটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">\"এই টেমপ্লেট ব্যবহার করুন\" বোতামটি দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">আসন্ন বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">আগামী বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">আগামী বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">সুপার থ্যাঙ্কস কিনুন বোতামটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">সুপার থ্যাঙ্কস কিনুন বোতামটি দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">ইফেক্ট বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">ইফেক্ট বাটন লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">ইফেক্ট বাটন দেখানো আছে</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">গ্রিন স্ক্রিন বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">সবুজ পর্দা বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">সবুজ পর্দা বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">নতুন পোস্ট বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">নতুন পোস্ট বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">নতুন পোস্ট বোতাম লুকানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">হ্যাশট্যাগ বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">হ্যাশট্যাগ বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">হ্যাশট্যাগ বোতাম দেখানো হচ্ছে</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">সামিল হও বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">জয়েন করুন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">জয়েন করুন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">অবস্থান লেবেল লুকান</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">অবস্থান লেবেল লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">অবস্থান লেবেল প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">নতুন পোস্ট বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">নতুন পোস্ট বোতাম লুকানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">নতুন পোস্ট বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">থেমে থাকা ওভারলে বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">থেমে থাকা ওভারলে বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">থেমে থাকা ওভারলে বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Preview comment লুকান</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Preview comment লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Preview comment দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">সেভ মিউজিক বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Save music বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Save music বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">অনুসন্ধান পরামর্শগুলি লুকান</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">অনুসন্ধান পরামর্শগুলি লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">অনুসন্ধান পরামর্শগুলি প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">শপ বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">কেনাকাটা বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">কেনাকাটা বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_stickers_title">স্টিকার লুকান</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_on">স্টিকার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_off">স্টিকার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">সাবস্ক্রাইব বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">সদস্যতা নিন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">সদস্যতা নিন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">ট্যাগ করা প্রোডাক্টগুলি লুকান</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">ট্যাগ করা প্রোডাক্টগুলি লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">ট্যাগ করা প্রোডাক্টগুলি প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">আসন্ন বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">আগামী বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">আগামী বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">এই সাউন্ড বাটনটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">এই সাউন্ড বাটনটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">এই সাউন্ড বাটনটি দেখা যাচ্ছে</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">\"এই টেমপ্লেট ব্যবহার করুন\" বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">এই টেমপ্লেট বাটনটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">\"এই টেমপ্লেট ব্যবহার করুন\" বোতামটি দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">লাইক বোতাম ফাউন্টেন অ্যানিমেশনটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">পছন্দ বোতাম ঝর্ণা অ্যানিমেশন লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">পছন্দ বোতাম ঝর্ণা অ্যানিমেশন প্রদর্শিত হয়েছে</string>
|
||||
@@ -799,14 +817,17 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_shorts_comments_button_title">কমেন্টস বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">মন্তব্য বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">মন্তব্য বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">রিমিক্স বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">রিমিক্স করুন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">রিমিক্স করুন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_share_button_title">শেয়ার বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_on">শেয়ার করুন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_off">শেয়ার করুন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">রিমিক্স বোতামটি লুকান</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">রিমিক্স করুন বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">রিমিক্স করুন বোতাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">সাউন্ড বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">সাউন্ড বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">সাউন্ড বোতাম লুকান প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_info_panel_title">তথ্য প্যানেল লুকান</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_on">তথ্য প্যানেল লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_off">তথ্য প্যানেল প্রদর্শিত হয়েছে</string>
|
||||
@@ -814,17 +835,14 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">চ্যানেল বার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">চ্যানেল বার প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">ভিডিওর শিরোনাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">শিরোনাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">শিরোনাম প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">ভিডিও শিরোনাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">ভিডিও শিরোনাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">সাউন্ড মেটাডাটা লেবেল লুকান</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">সাউন্ড মেটাডাটা লেবেল লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">সাউন্ড মেটাডাটা লেবেল প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">সম্পূর্ণ ভিডিও লিঙ্ক লেবেল লুকান</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">সাউন্ড মেটাডেটা লেবেল লুকানো আছে</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">সাউন্ড মেটাডেটা লেবেল দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">ভিডিও লিঙ্ক লেবেল লুকান</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">ভিডিও লিঙ্ক লেবেল লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">ভিডিও লিঙ্ক লেবেল প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">সাউন্ড বোতাম লুকান</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">সাউন্ড বোতাম লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">সাউন্ড বোতাম লুকান প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_title">নেভিগেশন বার লুকান</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_on">নেভিগেশন বার লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">পনেভিগেশন বার প্রদর্শিত হয়েছে</string>
|
||||
@@ -838,9 +856,9 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">শেষ স্ক্রীনে প্রস্তাবিত ভিডিও দেখানো হয়েছে</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_video_overlay_title">পূর্ণ-স্ক্রীনে সম্পর্কিত ভিডিও ওভারলে লুকান</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_on">সম্পর্কিত ভিডিও ওভারলে লুকানো আছে</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_off">সম্পর্কিত ভিডিও ওভারলে দেখানো হয়েছে</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">সম্পর্কিত ভিডিও ওভারলে লুকান</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">ফুলস্ক্রিনে সম্পর্কিত ভিডিও ওভারলে লুকানো আছে</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">ফুলস্ক্রিনে সম্পর্কিত ভিডিও ওভারলে দেখানো হয়েছে</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">ভিডিওর সময়স্ট্যাম্প লুকান</string>
|
||||
@@ -889,7 +907,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
||||
<string name="revanced_ryd_dislike_percentage_title">অপছন্দগুলো শতাংশ অনুযায়ী</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">অপছন্দগুলি শতাংশ হিসাবে দেখানো হয়েছে</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">অপছন্দগুলি একটি সংখ্যা হিসাবে দেখানো হয়েছে</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<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>
|
||||
@@ -946,18 +964,32 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
||||
<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' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">সংক্ষিপ্ত Skip বোতাম ব্যবহার করুন</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">স্কিপ বোতামটি ন্যূনতম প্রস্থের জন্য সাজানো হয়েছে</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">স্কিপ বোতামটি সেরা চেহারার জন্য সাজানো হয়েছে</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">Skip বোতামটি স্বয়ংক্রিয়ভাবে লুকান</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">কয়েক সেকেন্ড পরে স্কিপ বোতাম লুকিয়ে যায়</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">পুরো অংশের জন্য Skip বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_sb_general_skiptoast">বাদ দেওয়ার সময় একটি toast দেখান</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">সেগমেন্ট স্বয়ংক্রিয়ভাবে এড়িয়ে যেতে একটি টোস্ট দেখানো হয়। উদাহরণ দেখতে এখানে ট্যাপ করুন</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">টোস্ট দেখানো হচ্ছে না। উদাহরণ দেখতে এখানে ট্যাপ করুন</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">স্কিপ বোতামের সময়কাল</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">স্বয়ংক্রিয়ভাবে লুকানোর আগে এড়িয়ে যাওয়া এবং হাইলাইট করা বোতামগুলি কতক্ষণ দেখানো হবে</string>
|
||||
<string name="revanced_sb_general_skiptoast">স্কিপ পূর্বাবস্থায় ফিরিয়ে আনার টোস্ট দেখান</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">যখন একটি সেগমেন্ট স্বয়ংক্রিয়ভাবে এড়িয়ে যাওয়া হয় তখন টোস্ট দেখানো হয়। স্কিপ পূর্বাবস্থায় ফিরিয়ে আনতে টোস্ট বিজ্ঞপ্তিতে ট্যাপ করুন</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">টোস্ট দেখানো হয়নি</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">টোস্ট এড়িয়ে যাওয়ার সময়কাল</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">এড়িয়ে যাওয়া বাতিল করার টোস্ট কতক্ষণ দেখানো হবে</string>
|
||||
<string name="revanced_sb_duration_1s">১ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_2s">২ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_3s">৩ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_4s">৪ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_5s">৫ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_6s">৬ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_7s">৭ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_8s">৮ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_9s">৯ সেকেন্ড</string>
|
||||
<string name="revanced_sb_duration_10s">১০ সেকেন্ড</string>
|
||||
<string name="revanced_sb_general_time_without">সেগমেন্ট ছাড়া ভিডিওর দৈর্ঘ্য দেখান</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">সমস্ত সেগমেন্ট ছাড়াই ভিডিওর দৈর্ঘ্য, পূর্ণ ভিডিওর দৈর্ঘ্যের পাশে বন্ধনীতে উল্লেখ করা হয়</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">ভিডিওর দৈর্ঘ্য থেকে সব অংশ বাদ দিয়ে সিকারবারে দেখানো হবে</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">সম্পূর্ণ ভিডিও দৈর্ঘ্য প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_sb_create_segment_category">নতুন সেগমন্ট তৈরি হচ্ছে</string>
|
||||
<string name="revanced_sb_enable_create_segment">নতুন বিভাগ তৈরি করুন বোতামটি দেখান</string>
|
||||
@@ -1075,7 +1107,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
||||
<string name="revanced_sb_vote_downvote">ডাউন ভোট</string>
|
||||
<string name="revanced_sb_vote_category">বিভাগ পরিবর্তন করুন</string>
|
||||
<string name="revanced_sb_vote_no_segments">ভোট দেয়ার জন্য আর কোন সেগমেন্ট নেই</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s থেকে %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">সেগমেন্টের বিভাগ নির্বাচন করুন</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">সেটিং থেকে বিভাগ নিস্ক্রিয় করা হয়েছে। জমা দিতে বিভাগ সক্রিয় করুন।</string>
|
||||
@@ -1155,7 +1187,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
||||
|
||||
পরে যদি বন্ধ করা হয়, UI বাগ এড়াতে অ্যাপ্লিকেশন ডেটা পরিষ্কার করার পরামর্শ দেওয়া হয়।"</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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.01.34 - পুরনো নেভিগেশন আইকন পুনরুদ্ধার করুন</string>
|
||||
@@ -1262,9 +1294,9 @@ Miniplayer স্ক্রিন থেকে বামে বা ডানে
|
||||
<string name="revanced_gradient_loading_screen_title">গ্রেডিয়েন্ট লোডিং স্ক্রিণ সক্রিয় করুন</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_on">লোডিং স্ক্রিণে একটি গ্রেডিয়েন্ড ব্যাকগ্রাউন্ড থাকবে</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_off">লোডিং স্ক্রিণে একটি সলিড ব্যাকগ্রাউন্ড থাকবে</string>
|
||||
<string name="splash_screen_animation_style_title">স্প্ল্যাশ স্ক্রিন শৈলী</string>
|
||||
<string name="splash_screen_animation_style_entry_1">রং</string>
|
||||
<string name="splash_screen_animation_style_entry_2">কালো এবং সাদা</string>
|
||||
<string name="revanced_splash_screen_animation_style_title">স্প্ল্যাশ স্ক্রিন শৈলী</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">রং</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">কালো এবং সাদা</string>
|
||||
<string name="revanced_seekbar_custom_color_title">সিকবারে নিজস্ব রং সক্রিয় করুন</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">সিকবারে নিজস্ব রং প্রদর্শিত হয়েছে</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">সিকবারে মূল রং প্রদর্শিত হয়েছে</string>
|
||||
@@ -1274,6 +1306,14 @@ Miniplayer স্ক্রিন থেকে বামে বা ডানে
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">সিকবারের এক্সেন্ট রঙ</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">অবৈধ সিকবার রঙ মান</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">হেডার লোগো</string>
|
||||
<string name="revanced_header_logo_entry_1">ডিফল্ট</string>
|
||||
<string name="revanced_header_logo_entry_2">সাধারণ</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
<string name="revanced_header_logo_entry_5">রিভ্যান্সড মিনিমাল</string>
|
||||
<string name="revanced_header_logo_entry_6">কাস্টম</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">ছবি অঞ্চল সীমাবদ্ধতা বাইপাস করুন</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">yt4.ggpht.com ছবি হোস্ট ব্যবহার করে</string>
|
||||
@@ -1282,13 +1322,13 @@ Miniplayer স্ক্রিন থেকে বামে বা ডানে
|
||||
এটি সক্ষম করলে কিছু অঞ্চলে ব্লক করা থাকা অনুপস্থিত ছবিগুলি সংশোধন করতে পারে"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">হোম ট্যাব</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">সদস্যতা ট্যাব</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">সাবস্ক্রিপশনস ট্যাব</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">আপনি ট্যাব</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">প্লেয়ার প্লেলিস্ট, প্রস্তাবনাগুলো</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">প্লেয়ার প্লেলিস্ট & সুপারিশ</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">অনুসন্ধানের ফলাফল</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">মূল থাম্বনেইল</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow এবং মূল থাম্বনেইল</string>
|
||||
@@ -1387,11 +1427,11 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
|
||||
<string name="revanced_force_original_audio_title">মূল অডিও ভাষা বলপূর্বক চালু করুন</string>
|
||||
<string name="revanced_force_original_audio_summary_on">মূল অডিও ভাষা ব্যবহার করা হচ্ছে</string>
|
||||
<string name="revanced_force_original_audio_summary_off">ডিফল্ট অডিও ব্যবহার করছে</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">এই বৈশিষ্ট্যটি ব্যবহার করতে, \'স্পুফ ভিডিও স্ট্রীম\' কে iOS TV-তে পরিবর্তন করুন</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
<string name="revanced_video_quality_default_entry_1">স্বতস্ফূর্তভাবে</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">ভিডিও গুণমান পরিবর্তন মনে রাখুন</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">গুণমান পরিবর্তন সব ভিডিওতে প্রয়োগ করা হয়েছে</string>
|
||||
@@ -1505,7 +1545,7 @@ AVC-এর সর্বোচ্চ রেজোলিউশন হল 1080p, Op
|
||||
<string name="revanced_block_video_ads_summary_off">ভিডিও বিজ্ঞাপন আটকানো হয়নি</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">মুছে ফেলা বার্তা</string>
|
||||
<string name="revanced_deleted_msg">বার্তা মুছে ফেলা হয়েছে</string>
|
||||
<string name="revanced_show_deleted_messages_title">মুছে ফেলা বার্তা দেখান</string>
|
||||
<string name="revanced_show_deleted_messages_entry_1">মুছে ফেলা বার্তা দেখাবেন না</string>
|
||||
<string name="revanced_show_deleted_messages_entry_2">স্পয়লার এর পেছনে থাকা মুছে ফেলা বার্তা লুকান</string>
|
||||
@@ -1517,7 +1557,7 @@ AVC-এর সর্বোচ্চ রেজোলিউশন হল 1080p, Op
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">চ্যানেল পয়েন্ট স্বয়ংক্রিয়ভাবে নেওয়া হয়নি</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
<string name="revanced_twitch_debug_mode_title">Twitch ডিবাগ মোড সক্রিয় করুন</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">Twitch ডিবাগ মোড সক্রিয় করুন (প্রস্তাবিত নয়)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">Twitch ডিবাগ মোড নিষ্ক্রিয় করা হয়েছে</string>
|
||||
@@ -1526,11 +1566,11 @@ AVC-এর সর্বোচ্চ রেজোলিউশন হল 1080p, Op
|
||||
<string name="revanced_settings">ReVanced সেটিং</string>
|
||||
<string name="revanced_about_title">সম্পর্কিত</string>
|
||||
<string name="revanced_about_summary">ReVanced সম্পর্কে</string>
|
||||
<string name="revanced_ads_screen_title">বিজ্ঞাপন</string>
|
||||
<string name="revanced_ads_screen_summary">বিজ্ঞাপন বন্ধ করার সেটিং</string>
|
||||
<string name="revanced_ads_screen_title">বিজ্ঞাপন ব্লক করা</string>
|
||||
<string name="revanced_ads_screen_summary">বিজ্ঞাপন ব্লক করার সেটিংস</string>
|
||||
<string name="revanced_chat_screen_title">আলাপচারি</string>
|
||||
<string name="revanced_chat_screen_summary">চ্যাট সেটিং</string>
|
||||
<string name="revanced_misc_screen_title">বিবিধ</string>
|
||||
<string name="revanced_misc_screen_title">অন্যান্য</string>
|
||||
<string name="revanced_misc_screen_summary">বিবিধ সেটিং</string>
|
||||
<string name="revanced_general_category_title">সাধারণ সেটিংস</string>
|
||||
<string name="revanced_other_category_title">অন্যান্য সেটিংস</string>
|
||||
|
||||
@@ -39,15 +39,17 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.debugging.enableDebuggingPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.general.hideLayoutComponentsPatch">
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<!-- For localization, it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
|
||||
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
|
||||
@@ -55,8 +57,8 @@ Second \"item\" text"</string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
</patch>
|
||||
@@ -66,8 +68,10 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
|
||||
</patch>
|
||||
@@ -81,19 +85,19 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.navigationButtonsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
</patch>
|
||||
@@ -106,14 +110,14 @@ Second \"item\" text"</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<!-- 'Lock screen' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
</patch>
|
||||
@@ -126,12 +130,11 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
</patch>
|
||||
@@ -151,7 +154,7 @@ Second \"item\" text"</string>
|
||||
<!-- 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' -->
|
||||
<!-- 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>
|
||||
<patch id="layout.searchbar.wideSearchbarPatch">
|
||||
@@ -159,16 +162,16 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.seekbar.seekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<!-- 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. -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
</patch>
|
||||
<patch id="layout.formfactor.changeFormFactorPatch">
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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. -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
</patch>
|
||||
@@ -182,12 +185,15 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.theme.themePatch">
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="misc.announcements.announcementsPatch">
|
||||
@@ -211,10 +217,10 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.privacy.removeTrackingQueryParameterPatch">
|
||||
</patch>
|
||||
<patch id="video.audio.forceOriginalAudioPatch">
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
</patch>
|
||||
<patch id="video.speed.button.playbackSpeedButtonPatch">
|
||||
</patch>
|
||||
@@ -243,7 +249,7 @@ Second \"item\" text"</string>
|
||||
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -39,15 +39,17 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.debugging.enableDebuggingPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.general.hideLayoutComponentsPatch">
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<!-- For localization, it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
|
||||
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
|
||||
@@ -55,8 +57,8 @@ Second \"item\" text"</string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
</patch>
|
||||
@@ -66,8 +68,10 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
|
||||
</patch>
|
||||
@@ -81,19 +85,19 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.navigationButtonsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
</patch>
|
||||
@@ -106,14 +110,14 @@ Second \"item\" text"</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<!-- 'Lock screen' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
</patch>
|
||||
@@ -126,12 +130,11 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
</patch>
|
||||
@@ -151,7 +154,7 @@ Second \"item\" text"</string>
|
||||
<!-- 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' -->
|
||||
<!-- 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>
|
||||
<patch id="layout.searchbar.wideSearchbarPatch">
|
||||
@@ -159,16 +162,16 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.seekbar.seekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<!-- 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. -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
</patch>
|
||||
<patch id="layout.formfactor.changeFormFactorPatch">
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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. -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
</patch>
|
||||
@@ -182,12 +185,15 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.theme.themePatch">
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="misc.announcements.announcementsPatch">
|
||||
@@ -211,10 +217,10 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.privacy.removeTrackingQueryParameterPatch">
|
||||
</patch>
|
||||
<patch id="video.audio.forceOriginalAudioPatch">
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
</patch>
|
||||
<patch id="video.speed.button.playbackSpeedButtonPatch">
|
||||
</patch>
|
||||
@@ -243,7 +249,7 @@ Second \"item\" text"</string>
|
||||
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -146,115 +146,110 @@ Nebudete informováni o žádné neočekávané události."</string>
|
||||
<string name="revanced_hide_album_cards_title">Skrýt karty alb</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Karty alb jsou skryté</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">Karty alb jsou zobrazeny</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Skrýt pole krátkých videí</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Pole krátkých videí je skryté</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Pole krátkých videí se zobrazuje</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Skrýt plovoucí tlačítko mikrofonu</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Tlačítko mikrofonu je skryté</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Tlačítko mikrofonu se zobrazuje</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Skrýt vodoznak kanálu</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Vodoznak kanálu je skrytý</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Vodoznak je zobrazen</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Skrýt horizontální police</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Police jsou skryté, například:
|
||||
• Novinky
|
||||
• Pokračovat v sledování
|
||||
• Prozkoumat další kanály
|
||||
• Nákupy
|
||||
• Podívat se znovu"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Police jsou zobrazené</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Skrýt tlačítko Připojit se</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Tlačitko je skryté</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Tlačítko je zobrazeno</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Skrýt panel „Pro vás“</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Panel polic ve stránce kanálu je skrytý</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Panel polic ve stránce kanálu je zobrazen</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Skrýt tlačitko \'Upozorněte mě\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Tlačítko je skryté</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Tlačítko je zobrazeno</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendation_labels_title">Skrýt popisky doporučení videí</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_on">Popisky „Lidé také sledovali“ a „Mohlo by se vám také líbit“ jsou skryté</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Popisky „Lidé také sledovali“ a „Mohlo by se vám také líbit“ jsou zobrazené</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Skrýt tlačítko „Zobrazit více“</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Tlačítko je skryto</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Tlačítko je zobrazeno</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Skrýt panel Vstupenek</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Panel Vstupenek je skrytý</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Panel Vstupenek je zobrazen</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Skrýt reakce zobrazené po čase</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Reakce zobrazené po čase jsou skryty</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Reakce se zobrazují po čase</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Skrýt pravidla kanálu</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Pokyny kanálu sa nezobrazujú</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">Zobrazují se pokyny kanálu</string>
|
||||
<string name="revanced_hide_artist_cards_title">Skrýt karty umělců</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Karty umělců jsou skryty</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Karty umělců se zobrazují</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Skryť police \"Ďalsej videá\"</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Police \"Další videá\" sa nezobrazuje</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Zobrazuje sa polícia \"Další videá\"</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Skrýt rozbalovací kartu pod videy</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Rozbalitelná karta je skrytá</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">Rozbalitelná karta je zobrazena</string>
|
||||
<string name="revanced_hide_community_posts_title">Skrýt příspěvky komunity</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Příspěvky komunity jsou skryté</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">Příspěvky komunity jsou zobrazeny</string>
|
||||
<string name="revanced_hide_compact_banner_title">Skrýt kompaktní bannery</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Kompaktní bannery jsou skryté</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">Kompaktní bannery jsou zobrazeny</string>
|
||||
<string name="revanced_hide_movies_section_title">Skrýt sekci Filmy</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Sekce Filmy je skrytá</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Sekce Filmy je viditelná</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Skrýt pole krátkých videí</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Pole krátkých videí je skryté</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Pole krátkých videí se zobrazuje</string>
|
||||
<string name="revanced_hide_expandable_card_title">Skrýt rozbalitelnou kartu</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">Rozbalitelná karta pod videi je skryta</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">Rozbalitelná karta pod videi je zobrazena</string>
|
||||
<string name="revanced_hide_feed_survey_title">Skrýt průzkumy feedu</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Průzkumy feedu jsou skryty</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">Průzkumy feedu jsou zobrazeny</string>
|
||||
<string name="revanced_hide_community_guidelines_title">Skrýt pokyny pro komunitu</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">Pokyny pro komunitu jsou skryty</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">Pokyny pro komunitu se zobrazují</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Skrýt pokyny pro odběratele</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Pokyny pro komunitu předplatitelů jsou skryté</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Pokyny pro komunitu odběratelů se zobrazují</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Skryj polici členů kanálu</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Polici členů kanálu je skrytá</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">Police na kanálu jsou zobrazeny</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Skrýt plovoucí tlačítko mikrofonu</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Plovoucí tlačítko mikrofonu ve vyhledávání je skryto</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Plovoucí tlačítko mikrofonu ve vyhledávání je zobrazeno</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Skrýt horizontální police</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Vodorovné police jsou skryté, například:
|
||||
• Nejnovější zprávy
|
||||
• Pokračovat ve sledování
|
||||
• Prozkoumat další kanály
|
||||
• Nejdůležitější
|
||||
• Nakupování
|
||||
• Znovu zhlédnout"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Horizontální police jsou zobrazeny</string>
|
||||
<string name="revanced_hide_image_shelf_title">Skrýt obrázkovou poličku</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Obrázková polička ve výsledcích vyhledávání je skryta</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Obrázková polička ve výsledcích vyhledávání je zobrazena</string>
|
||||
<string name="revanced_hide_latest_posts_title">Skrýt nejnovější příspěvky</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">Nejnovější příspěvky jsou skryty</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">Nejnovější příspěvky jsou zobrazeny</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Skrýt seznamy přehrávání Mix</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Mix seznamy skladeb jsou skryty</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Mix seznamy skladeb se zobrazují</string>
|
||||
<string name="revanced_hide_movies_section_title">Skrýt sekci Filmy</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Sekce Filmy je skrytá</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Sekce Filmy je viditelná</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Skrýt tlačitko \'Upozorněte mě\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Tlačítko \"Upozornit mě\" je skryto</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Tlačítko \"Upozornit mě\" je zobrazeno</string>
|
||||
<string name="revanced_hide_playables_title">Skrýt Playables</string>
|
||||
<string name="revanced_hide_playables_summary_on">Playables jsou skryté</string>
|
||||
<string name="revanced_hide_playables_summary_off">Přehrávání se zobrazuje</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Skrýt tlačítko „Zobrazit více“</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Tlačítko \"Zobrazit více\" ve výsledcích vyhledávání je skryto</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Tlačítko \"Zobrazit více\" ve výsledcích vyhledávání je zobrazeno</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Skrýt panel Vstupenek</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Panel Vstupenek je skrytý</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Panel Vstupenek je zobrazen</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">Skrýt štítky doporučení videí</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">Štítky „Lidé také sledovali“ a „Mohlo by se vám také líbit“ ve výsledcích vyhledávání jsou skryty</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">Štítky „Lidé také sledovali“ a „Mohlo by se vám také líbit“ ve výsledcích vyhledávání jsou zobrazeny</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">Skrýt YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Animace \"Doodles\" YouTube na logu je skryta</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Animace YouTube Doodles na logu je zobrazena</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodles se zobrazují několik dní v roce.
|
||||
|
||||
Pokud se Doodle v současné době zobrazuje ve vaší oblasti a toto nastavení skrytí je zapnuto, bude také skrytý panel s filtry pod vyhledávacím panelem."</string>
|
||||
<string name="revanced_hide_channel_bar_title">Skrýt lištu kanálu</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Lišta kanálu je skrytá</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Lišta kanálu je zobrazena</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Skrýt vodoznak kanálu</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Vodoznak kanálu je skrytý</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Vodoznak je zobrazen</string>
|
||||
<string name="revanced_hide_emergency_box_title">Skrýt nouzová pole</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Nouzová pole jsou skrytá</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">Nouzová pole jsou zobrazena</string>
|
||||
<string name="revanced_hide_info_panels_title">Skrýt informační panely</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Informační panely jsou skryté</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">Informační panely jsou zobrazeny</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Skrýt tlačítko Připojit se</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Tlačítko \"Připojit se\" je skryto</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Tlačítko \"Připojit se\" je zobrazeno</string>
|
||||
<string name="revanced_hide_medical_panels_title">Skrýt informační panely o zdravotnictví</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Informační panely o zdravotnictví jsou skryty</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">Informační panely o zdravotnictví jsou zobrazeny</string>
|
||||
<string name="revanced_hide_channel_bar_title">Skrýt lištu kanálu</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Lišta kanálu je skrytá</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Lišta kanálu je zobrazena</string>
|
||||
<string name="revanced_hide_playables_title">Skrýt Playables</string>
|
||||
<string name="revanced_hide_playables_summary_on">Playables jsou skryté</string>
|
||||
<string name="revanced_hide_playables_summary_off">Přehrávání se zobrazuje</string>
|
||||
<string name="revanced_hide_quick_actions_title">Skrýt rychlé akce v režimu celé obrazovky</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Rychlé akce jsou skryty</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Rychlé akce se zobrazují</string>
|
||||
<string name="revanced_hide_related_videos_title">Skrýt související videa v rychlých akcích</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Související videa jsou skryta</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Související videa se zobrazují</string>
|
||||
<string name="revanced_hide_image_shelf_title">Skrýt polici s obrázky ve výsledcích vyhledávání</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Police s obrázky je skryta</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Police s obrázky je zobrazena</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Skrýt nejnovější příspěvky</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Nejnovější příspěvky jsou skryty</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Nejnovější příspěvky jsou zobrazeny</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Skrýt seznamy přehrávání Mix</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Mix seznamy skladeb jsou skryty</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Mix seznamy skladeb se zobrazují</string>
|
||||
<string name="revanced_hide_artist_cards_title">Skrýt karty umělců</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Karty umělců jsou skryty</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Karty umělců se zobrazují</string>
|
||||
<string name="revanced_hide_quick_actions_title">Skrýt rychlé akce</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Rychlé akce na celé obrazovce jsou skryty</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Rychlé akce na celé obrazovce jsou zobrazeny</string>
|
||||
<string name="revanced_hide_related_videos_title">Skrýt související videa</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Související videa v rychlých akcích jsou skryta</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Související videa v rychlých akcích jsou zobrazena</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Skrýt pokyny pro odběratele</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Pokyny pro komunitu předplatitelů jsou skryté</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Pokyny pro komunitu odběratelů se zobrazují</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Skrýt reakce zobrazené po čase</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Reakce zobrazené po čase jsou skryty</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Reakce se zobrazují po čase</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Skrýt „Souhrn videa generovaný pomocí AI“</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Sekce se souhrnem videa je skrytá</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Sekce se souhrnem videa je zobrazena</string>
|
||||
@@ -285,16 +280,39 @@ Nebudete informováni o žádné neočekávané události."</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Popis videa</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Skrýt nebo zobrazit komponenty popisu videa</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Lišta filtrů</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Skrýt nebo zobrazit lištu filtrů v kanálu, výsledcích hledání a souvisejících videích</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Skrýt ve feedu</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Ve feedu skryto</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Ve feedu zobrazeno</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Skrýt nebo zobrazit panel filtru v kanálech, historii, výsledcích vyhledávání a souvisejících videích</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Skrýt v kanálech</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Skryto v kanálech</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Zobrazeno v kanálech</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Skrýt v historii</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">Skryto v historii</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Zobrazeno v historii</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Skrýt ve výsledcích vyhledávání</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Skryto ve výsledcích vyhledávání</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Zobrazeno ve výsledcích vyhledávání</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Skrýt v souvisejících videích</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">V souvisejících videích skryto</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">V souvisejících videích zobrazeno</string>
|
||||
<string name="revanced_channel_screen_title">Stránka kanálu</string>
|
||||
<string name="revanced_channel_screen_summary">Skrýt nebo zobrazit komponenty stránky kanálu</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Skrýt panel „Pro vás“</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Polička Pro vás je skryta</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Polička Pro vás je zobrazena</string>
|
||||
<string name="revanced_hide_links_preview_title">Skrýt náhled odkazů</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">Náhled odkazů je skryt</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">Náhled odkazů je zobrazen</string>
|
||||
<string name="revanced_hide_members_shelf_title">Skrýt poličku členů</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">Polička členů je skryta</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">Police pro členy je zobrazena</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">Skrýt tlačítko „Navštívit komunitu“</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Tlačítko Navštívit komunitu je skryto</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Tlačítko Navštívit komunitu je zobrazeno</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Skrýt tlačítko \'Navštívit obchod\' na stránkách kanálů</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Tlačítko Navštívit obchod je skryto</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Tlačítko Navštívit obchod je zobrazeno</string>
|
||||
<string name="revanced_comments_screen_title">Komentáře</string>
|
||||
<string name="revanced_comments_screen_summary">Skrýt nebo zobrazit komponenty sekce komentářů</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Skrýt souhrn chatu AI</string>
|
||||
@@ -303,31 +321,30 @@ Nebudete informováni o žádné neočekávané události."</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Skrýt souhrn komentářů AI</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Souhrn komentářů je skrytý</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Souhrn komentářů je zobrazen</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">Skrýt pravidla kanálu</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">Pokyny ke kanálu jsou skryty</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">Pokyny ke kanálu jsou zobrazeny</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">Skrýt záhlaví \"Komentáře od členů\"</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Záhlaví Komentáře od členů je skryto</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Záhlaví Komentáře od členů je zobrazeno</string>
|
||||
<string name="revanced_hide_comments_section_title">Skrýt sekci komentářů</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">Sekce komentářů je skrytá</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">Sekce komentářů je zobrazena</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">Skrýt pokyny pro komunitu</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">Pravidla komunity jsou skryta</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">Pravidla komunity jsou zobrazena</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">Skrýt tlačítko \"Vytvořit Short\"</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Tlačítko Vytvořit Short je skryté</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Tlačítko Vytvořit Short je zobrazeno</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Skrýt tlačítko časové osy</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Tlačítko časové osy je skryté</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Tlačítko časové osy je zobrazeno</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Skrýt náhled komentáře</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Náhled komentáře je skryt</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Náhled komentáře je zobrazen</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Skrýt tlačítko děk」、「</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Tlačítko poděkování je skryto</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Tlačítko poděkování je zobrazeno</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">Skrýt YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Doodles na liště vyhledávání jsou skryty</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Doodles na liště vyhledávání jsou zobrazeny</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodles se zobrazují několik dní v roce.
|
||||
|
||||
Pokud se Doodle v současné době zobrazuje ve vaší oblasti a toto nastavení skrytí je zapnuto, bude také skrytý panel s filtry pod vyhledávacím panelem."</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Skrýt tlačítko časové značky</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Tlačítko časové osy je skryté</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Tlačítko časové osy je zobrazeno</string>
|
||||
<string name="revanced_custom_filter_screen_title">Vlastní filtr</string>
|
||||
<string name="revanced_custom_filter_screen_summary">Skrýt komponenty pomocí vlastních filtrů</string>
|
||||
<string name="revanced_custom_filter_title">Povolit vlastní filtr</string>
|
||||
@@ -374,44 +391,41 @@ Omezení:
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Klíčové slovo skryje všechna videa: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Skrýt běžné reklamy</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Běžné reklamy jsou skryty</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Běžné reklamy jsou zobrazeny</string>
|
||||
<string name="revanced_hide_creator_store_shelf_title">Skrýt poličku obchodu tvůrce</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">Police s obchodem tvůrce pod přehrávačem videa je skryta</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">Police obchodu pro tvůrce pod přehrávačem videa je zobrazena</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Skrýt koncový banner obchodu</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Banner obchodu na závěrečné obrazovce je skryt</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Banner obchodu na závěrečné obrazovce je zobrazen</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">Skrýt celostránkové reklamy</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"Celoobrazovkové reklamy jsou skryty
|
||||
|
||||
Tato funkce je dostupná pouze pro starší zařízení"</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">Celostránkové reklamy jsou zobrazeny</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_fullscreen_ads_feature_not_available_toast">Blokování reklam na celou obrazovku je funkční pouze na starších zařízeních</string>
|
||||
<string name="revanced_hide_general_ads_title">Skrýt běžné reklamy</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Běžné reklamy jsou skryty</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Běžné reklamy jsou zobrazeny</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Skrýt reklamní bannery</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Merchandise bannery jsou skryty</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Merchandise bannery jsou zobrazeny</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Skrýt štítek placené propagace</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Štítek placené propagace je skryt</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">Štítek placené propagace je zobrazen</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Skrýt karty se sponzorovanými produkty</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Karty se sponzorovanými produkty jsou skryty</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Karty se sponzorovanými produkty jsou zobrazeny</string>
|
||||
<string name="revanced_hide_products_banner_title">Skrýt banner „Zobrazit produkty“</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Banner je skryt</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">Banner je zobrazen</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Skrýt koncový banner obchodu</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Banner obchodu je skrytý</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Banner obchodu je zobrazen</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">Skrýt nákupní polici přehrávače</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">Nákupní police je skryta</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">Nákupní police je zobrazena</string>
|
||||
<string name="revanced_hide_shopping_links_title">Skrýt odkazy na nakupování v popisu videa</string>
|
||||
<string name="revanced_hide_shopping_links_title">Skrýt nákupní odkazy</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Nákupní odkazy v popisu videa jsou skryty</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Nákupní odkazy v popisu videa jsou zobrazeny</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Skrýt tlačítko \'Navštívit obchod\' na stránkách kanálů</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Tlačítko na stránce kanálu je skryto</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Tlačítko na stránce kanálu je zobrazeno</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">Skrýt banner „Zobrazit produkty“</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">Banner \"Zobrazit produkty\" v překrytí videa je skryt</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">Banner \"Zobrazit produkty\" v překrytí videa je zobrazen</string>
|
||||
<string name="revanced_hide_web_search_results_title">Skryté webové výsledky vyhledávání</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Webové výsledky vyhledávání jsou skryté</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Webové výsledky vyhledávání jsou zobrazeny</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Skrýt reklamní bannery</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Merchandise bannery jsou skryty</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Merchandise bannery jsou zobrazeny</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_fullscreen_ads_feature_not_available_toast">Blokování reklam na celou obrazovku je funkční pouze na starších zařízeních</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">Skrýt nabídky YouTube Premium</string>
|
||||
@@ -439,13 +453,18 @@ Tato funkce je dostupná pouze pro starší zařízení"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog bude zobrazen</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Tímto krokem neobcházíte věkové omezení. Pouze jej automaticky akceptujete.</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Zakázat přeskočení kapitoly dvojitým klepnutím</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Dvojité klepnutí nikdy nespustí přeskočení na další/předchozí kapitolu</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Dvojité klepnutí může občas spustit přeskočení na další/předchozí kapitolu</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">Externí stahování</string>
|
||||
<string name="revanced_external_downloader_screen_summary">Nastavení pro použití externího stahování</string>
|
||||
<string name="revanced_external_downloader_title">Zobrazit tlačítko pro externí stahování</string>
|
||||
<string name="revanced_external_downloader_summary_on">Tlačítko stahování v přehrávači je zobrazeno</string>
|
||||
<string name="revanced_external_downloader_summary_off">Tlačítko stahování v přehrávači není zobrazeno</string>
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">Přepsat tlačítko akce Stahování</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">Tlačítko pro stahování otevře váš externí stahovač</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">Tlačítko pro stahování otevře nativní stahovač v aplikaci</string>
|
||||
@@ -538,7 +557,7 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Tlačítko pro zastavení reklam je skryté</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Tlačítko pro zastavení reklam je zobrazeno</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Skrýt Nahlásit</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Tlačítko Nahlásit je skryto</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Tlačítko Nahlásit je zobrazeno</string>
|
||||
@@ -555,7 +574,7 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Tlačítko Poděkování je skryto</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Tlačítko Poděkování je zobrazeno</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Skrýt Zeptat se</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Tlačítko Zeptat se je skryté</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Tlačítko Zeptat se je zobrazeno</string>
|
||||
@@ -579,7 +598,7 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
|
||||
<string name="revanced_hide_shorts_button_title">Skrýt Shorts</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Tlačítko \"Shorts\" je skryté</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Tlačítko \"Shorts\" je viditelné</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">Skrýt Vytvořit</string>
|
||||
<string name="revanced_hide_create_button_summary_on">Tlačítko Vytvořit je skryto</string>
|
||||
<string name="revanced_hide_create_button_summary_off">Tlačítko Vytvořit je zobrazeno</string>
|
||||
@@ -648,7 +667,7 @@ Pokud změna tohoto nastavení nemá žádný účinek, zkuste přepnout do rež
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">Menu Rychlost přehrávání je skryto</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">Menu Rychlost přehrávání je zobrazeno</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">Skrýt Více informací</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">Menu Více informací je skryto</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">Menu Více informací je zobrazeno</string>
|
||||
@@ -660,7 +679,7 @@ Pokud změna tohoto nastavení nemá žádný účinek, zkuste přepnout do rež
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">Skrýt Zvuková stopa</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">Menu Zvuková stopa je skryto</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">Menu Zvuková stopa je zobrazeno</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_not_available">"Nabídka zvukové stopy je skrytá.
|
||||
|
||||
Chcete-li zobrazit nabídku zvukové stopy, změňte možnost „Zfalšovat streamy videa“ na iOS TV"</string>
|
||||
@@ -673,22 +692,22 @@ Chcete-li zobrazit nabídku zvukové stopy, změňte možnost „Zfalšovat stre
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">Zápatí menu kvality videa je zobrazeno</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Skrýt tlačítka Předchozí a Další</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Tlačítka jsou skryta</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Tlačítka jsou zobrazena</string>
|
||||
<string name="revanced_hide_cast_button_title">Skrýt tlačítko Odeslat</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Tlačítko pro odesílání je skryto</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Tlačítko vysílání je viditelné</string>
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<string name="revanced_hide_captions_button_title">Skrýt tlačítko Titulky</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Tlačítko titulků je skryto</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Tlačítko titulků je zobrazeno</string>
|
||||
<string name="revanced_hide_autoplay_button_title">Skrýt tlačítko Automatické přehrávání</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">Tlačítko automatického přehrávání je skryto</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">Tlačítko automatického přehrávání je zobrazeno</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Skrýt pozadí ovládacích tlačítek přehrávače</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Pozadí ovládacích tlačítek přehrávače je skryté</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Zobrazuje se pozadí ovládacích tlačítek přehrávače</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">Skrýt tlačítko Titulky</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Tlačítko titulků je skryto</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Tlačítko titulků je zobrazeno</string>
|
||||
<string name="revanced_hide_cast_button_title">Skrýt tlačítko Odeslat</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Tlačítko pro odesílání je skryto</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Tlačítko vysílání je viditelné</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Skrýt pozadí ovládacích prvků přehrávače</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Pozadí ovládacích prvků přehrávače je skryto</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Pozadí ovládacích prvků přehrávače je zobrazeno</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Skrýt tlačítka Předchozí a Další</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Tlačítka jsou skryta</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Tlačítka jsou zobrazena</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">Skrýt karty s informacemi o videu</string>
|
||||
@@ -721,76 +740,75 @@ Chcete-li zobrazit nabídku zvukové stopy, změňte možnost „Zfalšovat stre
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">Přehrávač Shorts</string>
|
||||
<string name="revanced_shorts_player_screen_summary">Skrýt nebo zobrazit komponenty v přehrávači Shorts</string>
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Skrýt Shorts v Domů</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Skryto v domovskom kanáli a súvisiacich videách</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Zobrazené v domovskom kanáli a súvisiacich videách</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Schovat Shorts v odběrovém feedu</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Skryté v odběrech</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Zobrazeno v odběrech</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Skrýt Shorts v kanálu Domů</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Skryto v kanálu Domů a souvisejících videích</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Zobrazeno v kanálu Domů a souvisejících videích</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Skrýt Shorts v kanálu Odběry</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Skryto v kanálu Odběry</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Zobrazeno v kanálu Odběry</string>
|
||||
<string name="revanced_hide_shorts_search_title">Skrýt Shorts ve výsledcích vyhledávání</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Skryté ve výsledcích vyhledávání</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Zobrazeno ve výsledcích vyhledávání</string>
|
||||
<string name="revanced_hide_shorts_history_title">Skrýt Shorts z historie sledování</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">Skryté v historii sledování</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">Zobrazené v historii sledování</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Skrýt tlačítko Připojit se</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Tlačítko Připojit se je skryto</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Tlačítko Připojit se je zobrazeno</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Skrýt tlačítko Odebírat</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Tlačítko Odebírat je skryto</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Tlačítko Odebírat je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Skrýt tlačítka pozastaveného překrytí</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Tlačítka pozastaveného překrytí jsou skrytá</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Tlačítka pozastaveného překrytí jsou zobrazena</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Skrýt tlačítko Obchod</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Tlačítko obchodu je skryté</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Tlačítko obchodu je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">Skrýt tlačítko Koupit Super Thanks</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Tlačítko Super Thanks je skryté</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Tlačítko Super Thanks je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Skrýt označené produkty</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Označené produkty jsou skryté</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Označené produkty jsou zobrazeny</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Skrýt štítek umístění</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Štítek umístění je skrytý</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Štítek umístění je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Skrýt náhled komentáře</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Náhled komentáře je skrytý</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Zobrazuje se náhled komentáře</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Skrýt tlačítko Uložit hudbu</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Tlačítko Uložit hudbu je skryté</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Tlačítko Uložit hudbu je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Skrýt tlačítko Použít tento zvuk</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Tlačítko Použít tento zvuk je skryté</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Tlačítko Použít tento zvuk je zobrazené</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Skrýt tlačítko Použít tuto šablonu</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Tlačítko Použít tuto šablonu je skryté</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Tlačítko Použít tuto šablonu je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Skrýt tlačítko Nadcházející</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Tlačítko \"Další\" je skryté</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Tlačítko \"Další\" je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Tlačítko \"Koupit Super Thanks\" je skryto</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Tlačítko \"Koupit Super Thanks\" je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">Skrýt tlačítko efektu</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">Tlačítko Efekt je skryté</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">Tlačítko Efekt je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">Skrýt tlačítko Zelená obrazovka</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">Tlačítko zelené obrazovky je skryté</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">Tlačítko zelené obrazovky je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Skrýt tlačítko Nové příspěvky</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Tlačítko Nové příspěvky je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Tlačítko Nové příspěvky je skryto</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">Skrýt tlačítko hashtagů</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">Tlačítko hashtagů je skryté</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">Tlačítko hashtagů je zobrazeno</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Skrýt tlačítko Připojit se</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Tlačítko Připojit se je skryto</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Tlačítko Připojit se je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Skrýt štítek umístění</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Štítek umístění je skrytý</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Štítek umístění je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Skrýt tlačítko Nové příspěvky</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Tlačítko Nové příspěvky je skryto</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Tlačítko Nové příspěvky je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Skrýt tlačítka pozastaveného překrytí</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Tlačítka pozastaveného překrytí jsou skrytá</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Tlačítka pozastaveného překrytí jsou zobrazena</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Skrýt náhled komentáře</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Náhled komentáře je skrytý</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Zobrazuje se náhled komentáře</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Skrýt tlačítko Uložit hudbu</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Tlačítko Uložit hudbu je skryté</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Tlačítko Uložit hudbu je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Skrýt návrhy vyhledávání</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Návrhy vyhledávání jsou skryté</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Návrhy vyhledávání jsou zobrazeny</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Skrýt tlačítko Obchod</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Tlačítko obchodu je skryté</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Tlačítko obchodu je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_stickers_title">Skrýt nálepky</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_on">Nálepky jsou skryté</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_off">Nálepky jsou zobrazeny</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Skrýt tlačítko Odebírat</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Tlačítko Odebírat je skryto</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Tlačítko Odebírat je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Skrýt označené produkty</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Označené produkty jsou skryté</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Označené produkty jsou zobrazeny</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Skrýt tlačítko Nadcházející</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Tlačítko \"Další\" je skryté</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Tlačítko \"Další\" je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Skrýt tlačítko Použít tento zvuk</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Tlačítko Použít tento zvuk je skryté</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Tlačítko Použít tento zvuk je zobrazené</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Skrýt tlačítko Použít tuto šablonu</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Tlačítko Použít tuto šablonu je skryté</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Tlačítko Použít tuto šablonu je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">Skrýt animaci s fontánou u tlačítka To se mi líbí</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">Animace fontány tlačítka lajku je skrytá</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">Animace fontány tlačítka lajku je zobrazena</string>
|
||||
@@ -803,14 +821,17 @@ Chcete-li zobrazit nabídku zvukové stopy, změňte možnost „Zfalšovat stre
|
||||
<string name="revanced_hide_shorts_comments_button_title">Skrýt tlačítko Komentáře</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">Tlačítko komentářů je skryté</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">Tlačítko komentářů je zobrazeno</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Skrýt tlačítko Remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Tlačítko remixu je skryté</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Tlačítko remixu je zobrazeno</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_share_button_title">Skrýt tlačítko Sdílet</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_on">Tlačítko sdílení je skryté</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_off">Tlačítko sdílení je zobrazeno</string>
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Skrýt tlačítko Remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Tlačítko remixu je skryté</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Tlačítko remixu je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Skrýt tlačítko zvuku</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Tlačítko zvuku je skryté</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Tlačítko zvuku je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_info_panel_title">Skrýt informační panel</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_on">Informační panel je skrytý</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_off">Informační panel je zobrazen</string>
|
||||
@@ -818,17 +839,14 @@ Chcete-li zobrazit nabídku zvukové stopy, změňte možnost „Zfalšovat stre
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">Kanálový panel je skrytý</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">Kanálový panel je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">Skrýt název videa</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Název je skrytý</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Název je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Název videa je skryt</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Název videa je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">Skrýt štítek zvukového metadata</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Štítek metadata je skrytý</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Štítek metadata je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Skrýt štítek odkazu na celé video</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Štítek metadat zvuku je skryt</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Štítek metadat zvuku je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Skrýt popisek odkazu na video</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">Štítek odkazu na video je skrytý</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">Štítek odkazu na video je zobrazen</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Skrýt tlačítko zvuku</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Tlačítko zvuku je skryté</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Tlačítko zvuku je zobrazeno</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_title">Skrýt navigační panel</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_on">Navigační panel je skrytý</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">Navigační panel je zobrazen</string>
|
||||
@@ -842,9 +860,9 @@ Nastavení → Přehrávání → Automatické přehrávání dalšího videa"</
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">Navrhované video na konci obrazovky se zobrazuje</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_video_overlay_title">Skrýt překryv souvisejícího videa v režimu celé obrazovky</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_on">Překryv souvisejícího videa je skrytý</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_off">Překryv souvisejícího videa je zobrazen</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">Skrýt překrytí souvisejících videí</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">Překrytí souvisejících videí v režimu celé obrazovky je skryto</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">Překrytí souvisejících videí v režimu celé obrazovky je zobrazeno</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">Skrýt čas videa</string>
|
||||
@@ -893,7 +911,7 @@ Omezení: Počty „Nelíbí se mi“ se nemusí zobrazit v anonymním režimu"<
|
||||
<string name="revanced_ryd_dislike_percentage_title">Nelíbí se v procentech</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">Počty „Nelíbí se mi“ se zobrazují jako procento</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">Počty „Nelíbí se mi“ se zobrazují jako číslo</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<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>
|
||||
@@ -951,18 +969,32 @@ Tato funkce funguje nejlépe s kvalitou videa 720p nebo nižší a při použit
|
||||
<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' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">Použít kompaktní tlačítko Přeskočit</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>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">Tlačítko pro přeskočení je stylizováno pro nejlepší vzhled</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">Automaticky skrýt tlačítko Přeskočit</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">Tlačítko pro přeskočení se skrývá po několika sekundách</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Tlačítko Přeskočit se zobrazuje pro celý segment</string>
|
||||
<string name="revanced_sb_general_skiptoast">Zobrazit toast při přeskakování</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">\"Toast\" se zobrazí, když se segment automaticky přeskočí. Klepněte zde, abyste se podívali na příklad</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">\"Toast\" se nezobrazí. Klepněte zde, abyste se podívali na příklad</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">Doba trvání tlačítka přeskočení</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">Jak dlouho zobrazovat tlačítka přeskočit a přeskočit na zvýraznění před automatickým skrytím</string>
|
||||
<string name="revanced_sb_general_skiptoast">Zobrazit hlásku pro zrušení přeskočení</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Hláska se zobrazí, když je segment automaticky přeskočen. Klepněte na hlásku pro zrušení přeskočení</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Toast se nezobrazuje</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">Doba trvání toastu přeskočení</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">Jak dlouho zobrazovat hlášení o zrušení přeskočení</string>
|
||||
<string name="revanced_sb_duration_1s">1 sekunda</string>
|
||||
<string name="revanced_sb_duration_2s">2 sekundy</string>
|
||||
<string name="revanced_sb_duration_3s">3 sekundy</string>
|
||||
<string name="revanced_sb_duration_4s">4 sekundy</string>
|
||||
<string name="revanced_sb_duration_5s">5 sekund</string>
|
||||
<string name="revanced_sb_duration_6s">6 sekund</string>
|
||||
<string name="revanced_sb_duration_7s">7 sekund</string>
|
||||
<string name="revanced_sb_duration_8s">8 sekund</string>
|
||||
<string name="revanced_sb_duration_9s">9 sekund</string>
|
||||
<string name="revanced_sb_duration_10s">10 sekund</string>
|
||||
<string name="revanced_sb_general_time_without">Zobrazit délku videa bez segmentů</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Délka videa minus všechny segmenty, zobrazená v závorkách vedle úplné délky videa</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Na posuvníku je zobrazena délka videa minus všechny segmenty</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">Zobrazena úplná délka videa</string>
|
||||
<string name="revanced_sb_create_segment_category">Vytváření nových segmentů</string>
|
||||
<string name="revanced_sb_enable_create_segment">Zobrazit tlačítko Vytvořit nový segment</string>
|
||||
@@ -1080,7 +1112,7 @@ Již existuje"</string>
|
||||
<string name="revanced_sb_vote_downvote">Hlasovat dolů</string>
|
||||
<string name="revanced_sb_vote_category">Změnit kategorii</string>
|
||||
<string name="revanced_sb_vote_no_segments">Nejsou žádné segmenty, pro které by se dalo hlasovat</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s až %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Zvolte kategorii segmentu</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Kategorie je v nastavení zakázána. Povolte kategorii, abyste ji mohli odeslat.</string>
|
||||
@@ -1159,7 +1191,7 @@ To změní vzhled a funkce aplikace, ale mohou se objevit neznámé vedlejší e
|
||||
|
||||
Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabránilo chybám uživatelského rozhraní."</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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.01.34 – Obnovit staré ikony navigace</string>
|
||||
@@ -1266,9 +1298,9 @@ Omezení: Použití tlačítka zpět na panelu nástrojů nemusí fungovat"</str
|
||||
<string name="revanced_gradient_loading_screen_title">Povolit přechodovou obrazovku načítání</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_on">Obrazovka načítání bude mít přechodové pozadí</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_off">Obrazovka načítání bude mít pevné pozadí</string>
|
||||
<string name="splash_screen_animation_style_title">Styl úvodní obrazovky</string>
|
||||
<string name="splash_screen_animation_style_entry_1">Barva</string>
|
||||
<string name="splash_screen_animation_style_entry_2">Černobílá</string>
|
||||
<string name="revanced_splash_screen_animation_style_title">Styl úvodní obrazovky</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">Barva</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">Černobílá</string>
|
||||
<string name="revanced_seekbar_custom_color_title">Povolit vlastní barvu posuvníku</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">Vlasní barva posuvníku je zobrazena</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">Původní barva posuvníku je zobrazena</string>
|
||||
@@ -1278,6 +1310,14 @@ Omezení: Použití tlačítka zpět na panelu nástrojů nemusí fungovat"</str
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">Zvýrazněná barva posuvníku</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Neplatná hodnota barvy posuvníku</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">Logo záhlaví</string>
|
||||
<string name="revanced_header_logo_entry_1">Výchozí</string>
|
||||
<string name="revanced_header_logo_entry_2">Běžné</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
<string name="revanced_header_logo_entry_5">ReVanced minimální</string>
|
||||
<string name="revanced_header_logo_entry_6">Vlastní</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Obcházet omezení oblasti obrázků</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Používá se hostitel obrázků yt4.ggpht.com</string>
|
||||
@@ -1286,13 +1326,13 @@ Omezení: Použití tlačítka zpět na panelu nástrojů nemusí fungovat"</str
|
||||
Povolení této funkce může opravit chybějící obrázky, které jsou v některých oblastech blokovány"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Karta Domů</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Karta Odběry</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">Karta Vy</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Seznamy skladeb přehrávače, doporučení</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Seznamy skladeb přehrávače & doporučení</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">Výsledky hledání</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">Původní náhledy</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & Původní náhledy</string>
|
||||
@@ -1391,11 +1431,11 @@ Povolením této funkce lze odemknout vyšší kvality videa"</string>
|
||||
<string name="revanced_force_original_audio_title">Vynutit původní jazyk zvuku</string>
|
||||
<string name="revanced_force_original_audio_summary_on">Použít původní jazyk zvuku</string>
|
||||
<string name="revanced_force_original_audio_summary_off">Používání výchozího zvuku</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">Chcete-li používat tuto funkci, změňte možnost „Zfalšovat datové proudy videa“ na iOS TV</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
<string name="revanced_video_quality_default_entry_1">Automaticky</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">Pamatovat si změny kvality videa</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">Změny kvality se vztahují na všechna videa</string>
|
||||
@@ -1509,7 +1549,7 @@ AVC má maximální rozlišení 1080p, zvukový kodek Opus není dostupný a př
|
||||
<string name="revanced_block_video_ads_summary_off">Video reklamy jsou neblokované</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">zpráva smazána</string>
|
||||
<string name="revanced_deleted_msg">Zpráva smazána</string>
|
||||
<string name="revanced_show_deleted_messages_title">Zobrazit smazané zprávy</string>
|
||||
<string name="revanced_show_deleted_messages_entry_1">Nezobrazovat smazané zprávy</string>
|
||||
<string name="revanced_show_deleted_messages_entry_2">Skrýt smazané zprávy za spoiler</string>
|
||||
@@ -1521,7 +1561,7 @@ AVC má maximální rozlišení 1080p, zvukový kodek Opus není dostupný a př
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">Channel Points se nezískávají automaticky</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
<string name="revanced_twitch_debug_mode_title">Povolit režim ladění Twitch</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">Režim ladění Twitch je povolen (nedoporučeno)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">Režim ladění Twitch je zakázán</string>
|
||||
@@ -1530,11 +1570,11 @@ AVC má maximální rozlišení 1080p, zvukový kodek Opus není dostupný a př
|
||||
<string name="revanced_settings">Nastavení ReVanced</string>
|
||||
<string name="revanced_about_title">O aplikaci</string>
|
||||
<string name="revanced_about_summary">O ReVanced</string>
|
||||
<string name="revanced_ads_screen_title">Reklamy</string>
|
||||
<string name="revanced_ads_screen_title">Blokování reklam</string>
|
||||
<string name="revanced_ads_screen_summary">Nastavení blokování reklam</string>
|
||||
<string name="revanced_chat_screen_title">Chat</string>
|
||||
<string name="revanced_chat_screen_summary">Nastavení chatu</string>
|
||||
<string name="revanced_misc_screen_title">Ostatní</string>
|
||||
<string name="revanced_misc_screen_title">Různé</string>
|
||||
<string name="revanced_misc_screen_summary">Různé nastavení</string>
|
||||
<string name="revanced_general_category_title">Obecné nastavení</string>
|
||||
<string name="revanced_other_category_title">Další nastavení</string>
|
||||
|
||||
@@ -146,115 +146,110 @@ Du modtager ikke notifikationer om uventede hændelser."</string>
|
||||
<string name="revanced_hide_album_cards_title">Skjul albumkort</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Albumkort er skjult</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">Albumkort vises</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Skjul crowdfunding-boks</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Crowdfunding-boks er skjult</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Crowdfunding-boks er vist</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Skjul flydende mikrofonknap</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Mikrofonknap er skjult</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Mikrofonknap er vist</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Skjul kanalvandmærke</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Vandmærke er skjult</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Vandmærke er vist</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Skjul vandrette hylder</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Hylder er skjult, f.eks.:
|
||||
• Seneste nyheder
|
||||
• Fortsæt med at se
|
||||
• Udforsk flere kanaler
|
||||
• Shopping
|
||||
• Se igen"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Hylder er vist</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Skjul knappen \"Deltag\"</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Knappen er skjult</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Knappen er vist</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Skjul hylden \"Til dig\"</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Hylde på kanalsiden er skjult</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Hylde på kanalsiden vises</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Skjul knappen \'Underret mig\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Knappen er skjult</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Knappen er vist</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendation_labels_title">Skjul etiketter for videoanbefalinger</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_on">Etiketterne \"Folk så også\" og \"Du kan måske også lide\" er skjulte</string>
|
||||
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Etiketterne \"Folk så også\" og \"Du kan måske også lide\" vises</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Skjul knappen \'Vis mere\'</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Knappen er skjult</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Knappen er vist</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Skjul billetreolen</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Billetreolen er skjult</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Billetreolen vises</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Skjul tidsreaktioner</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Tidsreaktioner skjules</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Tidsreaktioner vises</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Skjul kanalretningslinjer</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Kanalretningslinjer er skjult</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">Kanalretningslinjer er vist</string>
|
||||
<string name="revanced_hide_artist_cards_title">Skjul kunstnerkort</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Kunstnerkort er skjult</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Kunstnerkort vises</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Skjul chips hylde</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Chips hylde er skjult</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Chips hylde er vist</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Skjul udvidelige kort under videoer</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Udvidelseskort er skjult</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">Udvidelseskort vises</string>
|
||||
<string name="revanced_hide_community_posts_title">Skjul fællesskabs indlæg</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Fællesskabs indlæg er skjult</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">Fællesskabs indlæg er vist</string>
|
||||
<string name="revanced_hide_compact_banner_title">Skjul kompakte bannere</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Kompakte bannere er skjult</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">Kompakte bannere vises</string>
|
||||
<string name="revanced_hide_movies_section_title">Skjul filmsektion</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Afsnittet Film er skjult</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Afsnittet Film vises</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Skjul crowdfunding-boks</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Crowdfunding-boks er skjult</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Crowdfunding-boks er vist</string>
|
||||
<string name="revanced_hide_expandable_card_title">Skjul udvideligt kort</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">Udvideligt kort under videoer er skjult</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">Udvideligt kort under videoer er vist</string>
|
||||
<string name="revanced_hide_feed_survey_title">Skjul feed-undersøgelser</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Foderundersøgelser er skjult</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">Foderundersøgelser er vist</string>
|
||||
<string name="revanced_hide_community_guidelines_title">Skjul fællesskabs retningslinjer</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">Fællesskabets retningslinjer er skjult</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">Der er opstillet EF-retningslinjer</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Skjul retningslinjer for abonnenter</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Abonnenter community retningslinjer er skjult</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Abonnenter community retningslinjer er vist</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Skjul kanalmedlems hylde</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Kanalmedlems hylde er skjult</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">Kanal medlem hylde er vist</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Skjul flydende mikrofonknap</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Svævende mikrofonknap i søgning er skjult</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Flydende mikrofonknap i søgning vises</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Skjul vandrette hylder</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Horisontale hylder er skjult, såsom:
|
||||
• Seneste nyheder
|
||||
• Fortsæt med at se
|
||||
• Udforsk flere kanaler
|
||||
• Mest relevante
|
||||
• Shopping
|
||||
• Se igen"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Vandrette hylder vises</string>
|
||||
<string name="revanced_hide_image_shelf_title">Skjul billedhylde</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Billedhylde i søgeresultater er skjult</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Billedhylde i søgeresultater er vist</string>
|
||||
<string name="revanced_hide_latest_posts_title">Skjul seneste indlæg</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">Seneste indlæg er skjult</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">Seneste indlæg vises</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Skjul miks afspilningslister</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Mix afspilningslister er skjult</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Mix afspilningslister vises</string>
|
||||
<string name="revanced_hide_movies_section_title">Skjul filmsektion</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Afsnittet Film er skjult</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Afsnittet Film vises</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Skjul knappen \'Underret mig\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Giv mig besked-knap er skjult</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Giv mig besked-knap vises</string>
|
||||
<string name="revanced_hide_playables_title">Skjul Spilleobjekter</string>
|
||||
<string name="revanced_hide_playables_summary_on">Spilleobjekter er skjult</string>
|
||||
<string name="revanced_hide_playables_summary_off">Afspilningstabeller vises</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">Skjul knappen \'Vis mere\'</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Vis mere-knap i søgeresultater er skjult</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Vis mere-knap i søgeresultater vises</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Skjul billetreolen</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Billetreolen er skjult</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Billetreolen vises</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">Skjul etiketter for videoanbefalinger</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">\'Folk har også set\'- og \'Du vil måske også synes om\'-etiketter i søgeresultater er skjult</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">\'Folk har også set\'- og \'Du vil måske også synes om\'-etiketter i søgeresultater vises</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">Skjul YouTube-Doudler</string>
|
||||
<string name="revanced_hide_doodles_summary_on">YouTube Doodles-animation på logoet er skjult</string>
|
||||
<string name="revanced_hide_doodles_summary_off">YouTube Doodles-animation på logoet vises</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube-doodles vises et par dage om året.
|
||||
|
||||
Hvis et Doodle vises i øjeblikket i din region, og denne skjuleindstilling er aktiveret, skjules filterfeltet under søgefeltet også."</string>
|
||||
<string name="revanced_hide_channel_bar_title">Skjul kanallinje</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Kanalbjælken er skjult</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Kanalbjælken vises</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Skjul kanalvandmærke</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Vandmærke er skjult</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Vandmærke er vist</string>
|
||||
<string name="revanced_hide_emergency_box_title">Skjul nødbokse</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Nødbokse er skjult</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">Nødbokse vises</string>
|
||||
<string name="revanced_hide_info_panels_title">Skjul infopaneler</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Infopaneler er skjult</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">Infopaneler vises</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Skjul knappen \"Deltag\"</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Tilmeld-knap er skjult</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Tilmeld-knap vises</string>
|
||||
<string name="revanced_hide_medical_panels_title">Skjul medicinske paneler</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Medicinske paneler er skjult</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">Medicinske paneler er vist</string>
|
||||
<string name="revanced_hide_channel_bar_title">Skjul kanallinje</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Kanalbjælken er skjult</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Kanalbjælken vises</string>
|
||||
<string name="revanced_hide_playables_title">Skjul Spilleobjekter</string>
|
||||
<string name="revanced_hide_playables_summary_on">Spilleobjekter er skjult</string>
|
||||
<string name="revanced_hide_playables_summary_off">Afspilningstabeller vises</string>
|
||||
<string name="revanced_hide_quick_actions_title">Skjul hurtige handlinger i fuldskærm</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Hurtige handlinger er skjult</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Hurtige handlinger vises</string>
|
||||
<string name="revanced_hide_related_videos_title">Skjul relaterede videoer i hurtige handlinger</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Relaterede videoer er skjult</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Relaterede videoer vises</string>
|
||||
<string name="revanced_hide_image_shelf_title">Skjul billedhylde i søgeresultater</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Billede hylde er skjult</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Billede hylde er vist</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Skjul seneste indlæg</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Seneste indlæg er skjult</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Seneste indlæg vises</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Skjul miks afspilningslister</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Mix afspilningslister er skjult</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Mix afspilningslister vises</string>
|
||||
<string name="revanced_hide_artist_cards_title">Skjul kunstnerkort</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Kunstnerkort er skjult</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Kunstnerkort vises</string>
|
||||
<string name="revanced_hide_quick_actions_title">Skjul hurtige handlinger</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Hurtige handlinger i fuldskærm er skjult</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Hurtige handlinger i fuldskærm er vist</string>
|
||||
<string name="revanced_hide_related_videos_title">Skjul relaterede videoer</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Relaterede videoer i hurtige handlinger er skjult</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Relaterede videoer i hurtige handlinger er vist</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Skjul retningslinjer for abonnenter</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Abonnenter community retningslinjer er skjult</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Abonnenter community retningslinjer er vist</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Skjul tidsreaktioner</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Tidsreaktioner skjules</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Tidsreaktioner vises</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Skjul \"AI-genereret videooversigt\"</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Videooversigtssektionen er skjult</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Videooversigtssektionen vises</string>
|
||||
@@ -285,16 +280,39 @@ Du modtager ikke notifikationer om uventede hændelser."</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Video beskrivelse</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Skjul eller vis komponenter til videobeskrivelse</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Filtrer bjælke</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Skjul eller vis filterlinjen i feedet, søgeresultaterne og relaterede videoer</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Skjul i feed</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Skjult i feed</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Vist i feed</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Skjul eller vis filterlinjen i feeds, historik, søgeresultater og relaterede videoer</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Skjul i feeds</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Skjult i feeds</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Vist i feeds</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Skjul i historik</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">Skjult i historik</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Vist i historik</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Skjul i søgeresultater</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Skjult i søgeresultater</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Vises i søgeresultater</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Skjul i relaterede videoer</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Skjult i relaterede videoer</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Vist i relaterede videoer</string>
|
||||
<string name="revanced_channel_screen_title">Kanalside</string>
|
||||
<string name="revanced_channel_screen_summary">Skjul eller vis kanalsidekomponenter</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Skjul hylden \"Til dig\"</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Til dig-hylden er skjult</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Til dig-hylden er vist</string>
|
||||
<string name="revanced_hide_links_preview_title">Skjul forhåndsvisning af links</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">Forhåndsvisning af links er skjult</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">Forhåndsvisning af links er vist</string>
|
||||
<string name="revanced_hide_members_shelf_title">Skjul medlemshylden</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">Medlemshylden er skjult</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">Medlemsvisning er vist</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">Skjul knappen \"Besøg fællesskab\"</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Knappen \"Besøg fællesskab\" er skjult</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Besøg fællesskab-knap er vist</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Skjul knappen \'Besøg butik\' på kanalsider</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Besøg butik-knap er skjult</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Besøg butik-knap er vist</string>
|
||||
<string name="revanced_comments_screen_title">Kommentarer</string>
|
||||
<string name="revanced_comments_screen_summary">Skjul eller vis kommentarer sektion komponenter</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Skjul AI Chat-oversigt</string>
|
||||
@@ -303,31 +321,30 @@ Du modtager ikke notifikationer om uventede hændelser."</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Skjul AI Kommentar-oversigt</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Kommentar-oversigt er skjult</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Kommentar-oversigt er vist</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">Skjul kanalretningslinjer</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">Kanalretningslinjer er skjult</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">Kanalretningslinjer er vist</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">Skjul \'Kommentarer fra medlemmer\' header</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Kommentarer fra medlemmers overskrift er skjult</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Kommentarer fra medlemmers overskrift vises</string>
|
||||
<string name="revanced_hide_comments_section_title">Skjul kommentarsektion</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">Kommentarer sektion er skjult</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">Kommentarer sektion er vist</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">Skjul fællesskabsretningslinjer</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">Fællesskabsretningslinjer er skjult</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">Fællesskabsretningslinjer er vist</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">Skjul knappen \"Opret en Short\"</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Opret en Short knap er skjult</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Opret en Short knap vises</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Skjul tidsstempelknap</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Tidsstempelknappen er skjult</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Tidsstempelknappen vises</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Skjul forhåndsvisning kommentar</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Forhåndsvisning kommentar er skjult</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Forhåndsvis kommentar er vist</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Skjul \"Tak\"-knap</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Tak knappen er skjult</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Tak knappen er vist</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">Skjul YouTube-Doudler</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Søgebjælke Doudler er skjult</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Søgebjælke Doudler vises</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube-doodles vises et par dage om året.
|
||||
|
||||
Hvis et Doodle vises i øjeblikket i din region, og denne skjuleindstilling er aktiveret, skjules filterfeltet under søgefeltet også."</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_title">Skjul Tidsstempel-knap</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_on">Tidsstempelknappen er skjult</string>
|
||||
<string name="revanced_hide_comments_timestamp_button_summary_off">Tidsstempelknappen vises</string>
|
||||
<string name="revanced_custom_filter_screen_title">Tilpasset filter</string>
|
||||
<string name="revanced_custom_filter_screen_summary">Skjul komponenter ved hjælp af brugerdefinerede filtre</string>
|
||||
<string name="revanced_custom_filter_title">Aktiver brugerdefineret filter</string>
|
||||
@@ -374,44 +391,41 @@ Begrænsninger
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Nøgleord vil skjule alle videoer: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Skjul generelle annoncer</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Generelle annoncer er skjult</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Generelle annoncer vises</string>
|
||||
<string name="revanced_hide_creator_store_shelf_title">Skjul butikshylde for skabere</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">Opretterbutikshylde under videoafspiller er skjult</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">Butikshylde for skaber under videoafspiller vises</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Skjul banner fra butikken på slutskærmen</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Slutskærmsbutiksbanner er skjult</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Slutskærmsbutiksbanner vises</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">Skjul fuldskærmsannoncer</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"Fuldsskærmsannoncer er skjult
|
||||
|
||||
Denne funktion er kun tilgængelig for ældre enheder"</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">Fuldskærms annoncer vises</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_fullscreen_ads_feature_not_available_toast">Skjul reklamer på fuld skærm virker kun med ældre enheder</string>
|
||||
<string name="revanced_hide_general_ads_title">Skjul generelle annoncer</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Generelle annoncer er skjult</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Generelle annoncer vises</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Skjul merchandise bannere</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Varer bannere er skjult</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Varer bannere er vist</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Skjul betalt kampagneetiket</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Betalt reklamemærke er skjult</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">Betalt salgsfremmende mærke er vist</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Skjul selvsponsorerede kort</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Selvsponsorerede kort er skjult</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Selvsponsorerede kort vises</string>
|
||||
<string name="revanced_hide_products_banner_title">Skjul banneret \"Se produkter\"</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Banner er skjult</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">Banner er vist</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">Skjul banner fra butikken på slutskærmen</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Gem banner skjult</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Gem banner vises</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">Skjul spillerens indkøbshylde</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">Shopping hylde er skjult</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">Shopping hylde er vist</string>
|
||||
<string name="revanced_hide_shopping_links_title">Skjul shopping links i video beskrivelse</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Shopping links i videobeskrivelsen er skjult</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Shopping links i videobeskrivelsen vises</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Skjul knappen \'Besøg butik\' på kanalsider</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Knap på kanalsiden er skjult</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Knap på kanalsiden vises</string>
|
||||
<string name="revanced_hide_shopping_links_title">Skjul shopping-links</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Shoppinglinks i videobeskrivelse er skjult</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Shoppinglinks i videobeskrivelsen vises</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">Skjul banneret \"Se produkter\"</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">Se produkter-banner i videooverlay er skjult</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">Se produkter-banner i videooverlay vises</string>
|
||||
<string name="revanced_hide_web_search_results_title">Skjul søgeresultater</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Websøgeresultater er skjult</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Websøgeresultater vises</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Skjul merchandise bannere</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Varer bannere er skjult</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Varer bannere er vist</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_fullscreen_ads_feature_not_available_toast">Skjul reklamer på fuld skærm virker kun med ældre enheder</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">Skjul YouTube Premium kampagner</string>
|
||||
@@ -439,13 +453,18 @@ Denne funktion er kun tilgængelig for ældre enheder"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog vil blive vist</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Dette går ikke uden om aldersbegrænsningen. Det accepterer bare det automatisk.</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Deaktiver dobbeltklik kapitelspring</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Dobbeltklik kan aldrig udløse et spring til næste/forrige kapitel</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Dobbeltklik kan lejlighedsvis udløse et spring til næste/forrige kapitel</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">Eksterne downloads</string>
|
||||
<string name="revanced_external_downloader_screen_summary">Indstillinger for brug af en ekstern downloader</string>
|
||||
<string name="revanced_external_downloader_title">Vis ekstern download-knap</string>
|
||||
<string name="revanced_external_downloader_summary_on">Download-knappen i afspilleren vises</string>
|
||||
<string name="revanced_external_downloader_summary_off">Download-knappen i afspilleren vises ikke</string>
|
||||
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">Overskriv knappen Download-handling</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">Download-knappen åbner din eksterne downloader</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">Download-knappen åbner den indfødte in-app downloader</string>
|
||||
@@ -538,7 +557,7 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Knappen \"Stop annoncer\" er skjult</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Knappen \"Stop annoncer\" vises</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually appears only on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Skjul Rapport</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Rapport-knappen er skjult</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Rapport-knappen er vist</string>
|
||||
@@ -555,7 +574,7 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Tak knappen er skjult</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Tak knappen er vist</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Skjul Spørg</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Spørg-knappen er skjult</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Spørg-knappen vises</string>
|
||||
@@ -579,7 +598,7 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
|
||||
<string name="revanced_hide_shorts_button_title">Skjul Shorts</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Shorts knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Shorts knap vises</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<!-- 'Create' has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">Skjul Opret</string>
|
||||
<string name="revanced_hide_create_button_summary_on">Opret knap er skjult</string>
|
||||
<string name="revanced_hide_create_button_summary_off">Opret knap vises</string>
|
||||
@@ -648,7 +667,7 @@ Hvis ændring af denne indstilling ikke træder i kraft, kan du prøve at skifte
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">Afspilningshastighedsmenu er skjult</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">Afspilningshastighed menuen vises</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">Skjul Mere info</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">Mere info menu er skjult</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">Mere info menu er vist</string>
|
||||
@@ -660,7 +679,7 @@ Hvis ændring af denne indstilling ikke træder i kraft, kan du prøve at skifte
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">Skjul lydspor</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">Menuen for lydspor er skjult</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">Menuen Lydspor vises</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_not_available">"Lydspormenuen er skjult
|
||||
|
||||
For at vise lydspormenuen skal du ændre \"Spoof videostream\" til iOS TV"</string>
|
||||
@@ -673,22 +692,22 @@ For at vise lydspormenuen skal du ændre \"Spoof videostream\" til iOS TV"</stri
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">Videokvalitet menu footer er vist</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Skjul Forrige & Næste knapper</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Knapper er skjult</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Knapper vises</string>
|
||||
<string name="revanced_hide_cast_button_title">Skjul Cast-knappen</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Cast-knappen er skjult</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Cast knap er vist</string>
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
<string name="revanced_hide_captions_button_title">Skjul undertekstknappen</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Undertekster knappen er skjult</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Underskriftsknappen vises</string>
|
||||
<string name="revanced_hide_autoplay_button_title">Skjul knappen Automatisk afspilning</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">Automatisk spil-knap er skjult</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">Automatisk afspilningsknap vises</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Skjul baggrunden for afspillerens kontrolknapper</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Baggrunden for afspillerens kontrolknapper er skjult</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Baggrunden for afspillerens kontrolknapper vises</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">Skjul undertekstknappen</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">Undertekster knappen er skjult</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">Underskriftsknappen vises</string>
|
||||
<string name="revanced_hide_cast_button_title">Skjul Cast-knappen</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Cast-knappen er skjult</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Cast knap er vist</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Skjul baggrund for afspillerkontroller</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Baggrund for afspilningskontroller er skjult</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Baggrund for afspillerkontroller vises</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Skjul Forrige & Næste knapper</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Knapper er skjult</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Knapper vises</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">Skjul slutskærmkort</string>
|
||||
@@ -721,76 +740,75 @@ For at vise lydspormenuen skal du ændre \"Spoof videostream\" til iOS TV"</stri
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">Shorts-afspiller</string>
|
||||
<string name="revanced_shorts_player_screen_summary">Skjul eller vis komponenter i Shorts-afspilleren</string>
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Skjul Shorts i hjemmefeed</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Skjult i startsiden og relaterede videoer</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Vises i startsiden og relaterede videoer</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Skjul Shorts i abonnementsfeed</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Skjult i abonnementsfeedet</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Vises i abonnementsfeedet</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Skjul Shorts i \'Hjem\'-feed</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Skjult i \'Hjem\'-feed og relaterede videoer</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Vises i \'Hjem\'-feed og relaterede videoer</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Skjul Shorts i \'Abonnementer\'-feed</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Skjult i \'Abonnementer\'-feed</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Vises i \'Abonnementer\'-feed</string>
|
||||
<string name="revanced_hide_shorts_search_title">Skjul Shorts i søgeresultater</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Skjult i søgeresultater</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Vises i søgeresultater</string>
|
||||
<string name="revanced_hide_shorts_history_title">Skjul shorts i historik</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">Skjult i historikken</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">Vises i historik</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Skjul knappen Deltag</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Deltag-knappen er skjult</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Tilmeldingsknappen vises</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Skjul knappen Abonner</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Abonnement knappen er skjult</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Knappen Abonnér vises</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Skjul overlay knapper på pause</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Overlay-knapper på pause er skjult</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Overlay-knapper på pause vises</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Skjul knappen Shop</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Butiksknap er skjult</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Butiksknappen er vist</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">Skjul knappen Køb Super Thanks</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Knappen Super Thanks er skjult</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Knappen Super Thanks vises</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Skjul taggede varer</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Tagged produkter er skjult</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Tagged produkter er vist</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Skjul placeringsetiket</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Placeringsetiket er skjult</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Placeringsetiket er vist</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Skjul forhåndsvisning af kommentar</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Forhåndsvisning af kommentar er skjult</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Forhåndsvisningskommentar vises</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Skjul knappen Gem musik</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Gem musik knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Gem musik knap er vist</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Skjul knappen \"Brug denne lyd\"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Knappen \"Brug denne lyd\" er skjult</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Knappen \"Brug denne lyd\" vises</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Skjul knappen Brug denne skabelon</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Knappen \"Brug denne skabelon\" er skjult</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Knappen Brug denne skabelon vises</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Skjul knappen Kommende</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Kommende knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Kommende knap vises</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Køb Super Thanks-knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Køb Super Thanks-knap vises</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">Skjul effektknap</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">Effektknap er skjult</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">Effektknap er vist</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">Skjul knappen Grøn skærm</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">Grøn skærmknap er skjult</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">Grøn skærmknap vises</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Skjul knappen Nye indlæg</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Knappen Nye indlæg vises</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Knappen Nye indlæg er skjult</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">Skjul hashtag knap</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">Hashtag knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">Hashtag knappen er vist</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Skjul knappen Deltag</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Deltag-knappen er skjult</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Tilmeldingsknappen vises</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Skjul placeringsetiket</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Placeringsetiket er skjult</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Placeringsetiket er vist</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Skjul knappen Nye indlæg</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Knappen Nye indlæg er skjult</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Knappen Nye indlæg vises</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Skjul overlay knapper på pause</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Overlay-knapper på pause er skjult</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Overlay-knapper på pause vises</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_title">Skjul forhåndsvisning af kommentar</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_on">Forhåndsvisning af kommentar er skjult</string>
|
||||
<string name="revanced_hide_shorts_preview_comment_summary_off">Forhåndsvisningskommentar vises</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Skjul knappen Gem musik</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Gem musik knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Gem musik knap er vist</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Skjul søgeforslag</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Søgeforslag er skjult</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Søgeforslag er vist</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Skjul knappen Shop</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Butiksknap er skjult</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Butiksknappen er vist</string>
|
||||
<string name="revanced_hide_shorts_stickers_title">Skjul klistermærker</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_on">Klistermærker er skjult</string>
|
||||
<string name="revanced_hide_shorts_stickers_summary_off">Klistermærker vises</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Skjul knappen Abonner</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_on">Abonnement knappen er skjult</string>
|
||||
<string name="revanced_hide_shorts_subscribe_button_summary_off">Knappen Abonnér vises</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Skjul taggede varer</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Tagged produkter er skjult</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Tagged produkter er vist</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Skjul knappen Kommende</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Kommende knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Kommende knap vises</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Skjul knappen \"Brug denne lyd\"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Knappen \"Brug denne lyd\" er skjult</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Knappen \"Brug denne lyd\" vises</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Skjul knappen Brug denne skabelon</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Knappen \"Brug denne skabelon\" er skjult</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Knappen Brug denne skabelon vises</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">Skjul knap for springvand-animation af like-knap</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">Ligesom knap springvand animation er skjult</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">Animation af springvand vises som knap</string>
|
||||
@@ -803,14 +821,17 @@ For at vise lydspormenuen skal du ændre \"Spoof videostream\" til iOS TV"</stri
|
||||
<string name="revanced_hide_shorts_comments_button_title">Skjul knappen Kommentarer</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">Knappen Kommentarer er skjult</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">Knappen Kommentarer vises</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Skjul knappen Remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Remix knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Remix knap vises</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<!-- 'Share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_share_button_title">Skjul knappen Del</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_on">Deleknappen er skjult</string>
|
||||
<string name="revanced_hide_shorts_share_button_summary_off">Deleknappen vises</string>
|
||||
<!-- 'Remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Skjul knappen Remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Remix knap er skjult</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Remix knap vises</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Skjul lydknap</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Lydknappen er skjult</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Lydknappen er vist</string>
|
||||
<string name="revanced_hide_shorts_info_panel_title">Skjul infopanel</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_on">Infopanelet er skjult</string>
|
||||
<string name="revanced_hide_shorts_info_panel_summary_off">Info panel er vist</string>
|
||||
@@ -818,17 +839,14 @@ For at vise lydspormenuen skal du ændre \"Spoof videostream\" til iOS TV"</stri
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">Kanalbjælken er skjult</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">Kanalbjælken vises</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">Skjul videotitel</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Titel er skjult</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Titlen er vist</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Videotitel er skjult</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Videotitel vises</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">Skjul lyd metadata etiket</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Metadata etiket er skjult</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Metadata etiket er vist</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Skjul fuld video link etiket</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">Lydmetadataetiket er skjult</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">Lydmetadataetiket vises</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">Skjul videolinketiket</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">Videolink etiket er skjult</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">Videolink etiket er vist</string>
|
||||
<string name="revanced_hide_shorts_sound_button_title">Skjul lydknap</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_on">Lydknappen er skjult</string>
|
||||
<string name="revanced_hide_shorts_sound_button_summary_off">Lydknappen er vist</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_title">Skjul navigationslinje</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_on">Navigationsbjælken er skjult</string>
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">Navigationsbjælken vises</string>
|
||||
@@ -842,9 +860,9 @@ Indstillinger → Afspilning → Afspil næste video automatisk"</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">Foreslået video på slutskærmen vises</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_video_overlay_title">Skjul relateret video-overlay i fuldskærm</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_on">Relateret video-overlay er skjult</string>
|
||||
<string name="revanced_hide_related_video_overlay_summary_off">Relateret video-overlay vises</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">Skjul overlay for relaterede videoer</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">Overlay for relaterede videoer i fuldskærm er skjult</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">Overlay for relaterede videoer i fuldskærm vises</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">Skjul tidsstempel på video</string>
|
||||
@@ -893,7 +911,7 @@ Begrænsning: Synes ikke godt om vises muligvis ikke i inkognitotilstand"</strin
|
||||
<string name="revanced_ryd_dislike_percentage_title">Synes ikke som procent</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">Synes ikke godt om vises som en procentdel</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">Synes ikke godt om vises som et tal</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<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>
|
||||
@@ -952,18 +970,32 @@ Denne funktion fungerer bedst med en videokvalitet på 720p eller lavere og ved
|
||||
<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' -->
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">Brug kompakt Spring over-knap</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">Skip knap stylet for mindste bredde</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">Skip knap stylet for bedste udseende</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">Skjul automatisk Spring over-knap</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">Skip knap skjuler efter et par sekunder</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Spring over-knappen vises for hele segmentet</string>
|
||||
<string name="revanced_sb_general_skiptoast">Vis en toast ved spring</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Toast vises, når et segment automatisk springes over. Tryk her for at se et eksempel</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Toast er ikke vist. Tryk her for at se et eksempel</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">Spring over-knap varighed</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">Hvor længe skal knapperne til at springe over og springe til højdepunkt vises, før de automatisk skjules</string>
|
||||
<string name="revanced_sb_general_skiptoast">Vis fortryd oversprings-toast</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Toast vises, når et segment automatisk springes over. Tryk på toast-meddelelsen for at fortryde overspringelsen</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Toast vises ikke</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">Spring over-toast varighed</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">Hvor længe skal fortryd spring over-meddelelsen vises</string>
|
||||
<string name="revanced_sb_duration_1s">1 sekund</string>
|
||||
<string name="revanced_sb_duration_2s">2 sekunder</string>
|
||||
<string name="revanced_sb_duration_3s">3 sekunder</string>
|
||||
<string name="revanced_sb_duration_4s">4 sekunder</string>
|
||||
<string name="revanced_sb_duration_5s">5 sekunder</string>
|
||||
<string name="revanced_sb_duration_6s">6 sekunder</string>
|
||||
<string name="revanced_sb_duration_7s">7 sekunder</string>
|
||||
<string name="revanced_sb_duration_8s">8 sekunder</string>
|
||||
<string name="revanced_sb_duration_9s">9 sekunder</string>
|
||||
<string name="revanced_sb_duration_10s">10 sekunder</string>
|
||||
<string name="revanced_sb_general_time_without">Vis videolængde uden segmenter</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Videolængde minus alle segmenter, vist i parentes ved siden af den fulde videolængde</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Videolængde minus alle segmenter vises på tidslinjen</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">Fuld videolængde vist</string>
|
||||
<string name="revanced_sb_create_segment_category">Opretter nye segmenter</string>
|
||||
<string name="revanced_sb_enable_create_segment">Vis Opret nyt segment-knap</string>
|
||||
@@ -1082,7 +1114,7 @@ Eksisterer allerede"</string>
|
||||
<string name="revanced_sb_vote_downvote">Ned</string>
|
||||
<string name="revanced_sb_vote_category">Skift kategori</string>
|
||||
<string name="revanced_sb_vote_no_segments">Der er ingen segmenter at stemme for</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s til %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Vælg segmentkategori</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Kategori er deaktiveret i indstillinger. Aktivér kategori for at indsende.</string>
|
||||
@@ -1161,7 +1193,7 @@ Dette ændrer appens udseende og funktioner, men ukendte bivirkninger kan foreko
|
||||
|
||||
Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre UI-fejl."</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 -->
|
||||
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.01.34 - Gendan gamle navigationsikoner</string>
|
||||
@@ -1268,9 +1300,9 @@ Miniafspiller kan trækkes ud over skærmen til venstre eller højre"</string>
|
||||
<string name="revanced_gradient_loading_screen_title">Aktiver gradient indlæsning af skærmen</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_on">Indlæser skærmen vil have en gradient baggrund</string>
|
||||
<string name="revanced_gradient_loading_screen_summary_off">Indlæser skærmen vil have en solid baggrund</string>
|
||||
<string name="splash_screen_animation_style_title">Splash screens udseende</string>
|
||||
<string name="splash_screen_animation_style_entry_1">Farve</string>
|
||||
<string name="splash_screen_animation_style_entry_2">Sort og hvid</string>
|
||||
<string name="revanced_splash_screen_animation_style_title">Splash screens udseende</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">Farve</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">Sort og hvid</string>
|
||||
<string name="revanced_seekbar_custom_color_title">Aktivér brugerdefineret søgelinjefarve</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">Brugerdefineret søgelinje farve vises</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">Original søgelinje farve vises</string>
|
||||
@@ -1280,6 +1312,14 @@ Miniafspiller kan trækkes ud over skærmen til venstre eller højre"</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">Søgelinjens accentfarve</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Ugyldig søgelinje farveværdi</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">Sidehovedlogo</string>
|
||||
<string name="revanced_header_logo_entry_1">Standard</string>
|
||||
<string name="revanced_header_logo_entry_2">Normal</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
<string name="revanced_header_logo_entry_5">ReVanced minimal</string>
|
||||
<string name="revanced_header_logo_entry_6">Brugerdefineret</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Bypass billede region restriktioner</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Bruger billedvært yt4.ggpht.com</string>
|
||||
@@ -1288,13 +1328,13 @@ Miniafspiller kan trækkes ud over skærmen til venstre eller højre"</string>
|
||||
Aktivering af dette kan løse manglende billeder, der er blokeret i nogle regioner"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Hjem fane</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Abonnement fane</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">\'Abonnementer\'-fane</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">Dig fane</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Afspiller afspilningslister, anbefalinger</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Afspiller-afspilningslister & anbefalinger</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">Søgeresultater</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">Originale miniaturebilleder</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & Originale miniaturer</string>
|
||||
@@ -1393,11 +1433,11 @@ Aktivering af dette kan låse op for højere videokvalitet"</string>
|
||||
<string name="revanced_force_original_audio_title">Tving originalt lydsprog</string>
|
||||
<string name="revanced_force_original_audio_summary_on">Bruger originalt lydsprog</string>
|
||||
<string name="revanced_force_original_audio_summary_off">Brug standard lyd</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">For at bruge denne funktion skal du ændre \"Spoof videostreams\" til iOS TV</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
|
||||
<string name="revanced_video_quality_default_entry_1">Automatisk</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">Husk ændringer i videokvalitet</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">Kvalitetsændringer gælder for alle videoer</string>
|
||||
@@ -1509,7 +1549,7 @@ Videoafspilning virker muligvis ikke"</string>
|
||||
<string name="revanced_block_video_ads_summary_off">Videoannoncer er ublokerede</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">besked slettet</string>
|
||||
<string name="revanced_deleted_msg">Meddelelse slettet</string>
|
||||
<string name="revanced_show_deleted_messages_title">Vis slettede beskeder</string>
|
||||
<string name="revanced_show_deleted_messages_entry_1">Vis ikke slettede beskeder</string>
|
||||
<string name="revanced_show_deleted_messages_entry_2">Skjul slettede beskeder bag en spoiler</string>
|
||||
@@ -1521,7 +1561,7 @@ Videoafspilning virker muligvis ikke"</string>
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">Kanalpunkter afhentes ikke automatisk</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title'. -->
|
||||
<string name="revanced_twitch_debug_mode_title">Aktiver Twitch-fejlfindingstilstand</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">Twitch-fejlfindingstilstand er aktiveret (ikke anbefalet)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">Twitch-fejlfindingstilstand er deaktiveret</string>
|
||||
@@ -1530,8 +1570,8 @@ Videoafspilning virker muligvis ikke"</string>
|
||||
<string name="revanced_settings">Vigtigste Indstillinger</string>
|
||||
<string name="revanced_about_title">Om</string>
|
||||
<string name="revanced_about_summary">Om ReVanced</string>
|
||||
<string name="revanced_ads_screen_title">Annoncer</string>
|
||||
<string name="revanced_ads_screen_summary">Reklame blokeringsindstillinger</string>
|
||||
<string name="revanced_ads_screen_title">Annonceblokering</string>
|
||||
<string name="revanced_ads_screen_summary">Indstillinger for annonceblokering</string>
|
||||
<string name="revanced_chat_screen_title">Chat</string>
|
||||
<string name="revanced_chat_screen_summary">Chat indstillinger</string>
|
||||
<string name="revanced_misc_screen_title">Diverse</string>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user