Compare commits

..

49 Commits

Author SHA1 Message Date
semantic-release-bot
b1e5b99b44 chore: Release v5.8.0-dev.8 [skip ci]
# [5.8.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.7...v5.8.0-dev.8) (2024-12-28)

### Features

* **YouTube:** Add in app option to select a preferred language for ReVanced specific text ([#4231](https://github.com/ReVanced/revanced-patches/issues/4231)) ([7b90baa](7b90baadb5))
2024-12-28 08:33:56 +00:00
LisoUseInAIKyrios
7b90baadb5 feat(YouTube): Add in app option to select a preferred language for ReVanced specific text (#4231) 2024-12-28 12:30:57 +04:00
semantic-release-bot
4a6f3c8555 chore: Release v5.8.0-dev.7 [skip ci]
# [5.8.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.6...v5.8.0-dev.7) (2024-12-27)

### Bug Fixes

* **YouTube - Spoof video streams:** Ignore harmless error toast if hide ads is disabled ([e7c6943](e7c6943ca7))
2024-12-27 21:13:07 +00:00
LisoUseInAIKyrios
e7c6943ca7 fix(YouTube - Spoof video streams): Ignore harmless error toast if hide ads is disabled 2024-12-28 01:10:01 +04:00
semantic-release-bot
ae1b987c0d chore: Release v5.8.0-dev.6 [skip ci]
# [5.8.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.5...v5.8.0-dev.6) (2024-12-27)

### Bug Fixes

* **YouTube - Exit fullscreen mode:** Exit fullscreen mode of first video opened after cold start ([9496438](9496438da1))
2024-12-27 15:34:52 +00:00
LisoUseInAIKyrios
9496438da1 fix(YouTube - Exit fullscreen mode): Exit fullscreen mode of first video opened after cold start 2024-12-27 19:31:39 +04:00
github-actions[bot]
fa51631ea6 chore: Sync translations (#4232) 2024-12-27 19:30:03 +04:00
LisoUseInAIKyrios
8bf7108001 ci: Not fixing Crowdin cron task 2024-12-27 19:27:52 +04:00
LisoUseInAIKyrios
030eece04a refactor(YouTube - Exit fullscreen mode): Improve logging 2024-12-27 18:19:43 +04:00
LisoUseInAIKyrios
30009b723d refactor: Change context field to volatile
Field is set from main thread, but can be immediately accessed by non main threads.
2024-12-27 11:15:35 +04:00
semantic-release-bot
53b25ea7e9 chore: Release v5.8.0-dev.5 [skip ci]
# [5.8.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.4...v5.8.0-dev.5) (2024-12-27)

### Features

* **YouTube:** Add `Change form factor` patch ([#4217](https://github.com/ReVanced/revanced-patches/issues/4217)) ([189e1c9](189e1c90c4))
2024-12-27 06:51:57 +00:00
LisoUseInAIKyrios
189e1c90c4 feat(YouTube): Add Change form factor patch (#4217) 2024-12-27 10:48:14 +04:00
github-actions[bot]
f01603b3f3 chore: Sync translations (#4229) 2024-12-27 10:46:32 +04:00
semantic-release-bot
3db5651e5c chore: Release v5.8.0-dev.4 [skip ci]
# [5.8.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.3...v5.8.0-dev.4) (2024-12-27)

### Bug Fixes

* **GmsCore support:** Do not show battery optimization error on Android Automotive devices (Google built-in) ([#4218](https://github.com/ReVanced/revanced-patches/issues/4218)) ([fa4aa54](fa4aa54f0c))

### Features

* **Swipe controls:** Add option to enable/disable fullscreen swipe to next video ([#4222](https://github.com/ReVanced/revanced-patches/issues/4222)) ([29dbc9f](29dbc9ffbf))
* **YouTube:** Add `Exit fullscreen mode` patch ([#4223](https://github.com/ReVanced/revanced-patches/issues/4223)) ([f3c4d6f](f3c4d6fd64))
2024-12-27 06:28:58 +00:00
LisoUseInAIKyrios
f3c4d6fd64 feat(YouTube): Add Exit fullscreen mode patch (#4223) 2024-12-27 10:25:17 +04:00
LisoUseInAIKyrios
29dbc9ffbf feat(Swipe controls): Add option to enable/disable fullscreen swipe to next video (#4222) 2024-12-27 10:23:30 +04:00
LisoUseInAIKyrios
fa4aa54f0c fix(GmsCore support): Do not show battery optimization error on Android Automotive devices (Google built-in) (#4218) 2024-12-27 10:22:50 +04:00
github-actions[bot]
1d89ada07f chore: Sync translations (#4228) 2024-12-27 10:22:25 +04:00
LisoUseInAIKyrios
8c529abad5 ci: Fix Crowdin cron task? 2024-12-27 10:17:28 +04:00
LisoUseInAIKyrios
4ade7c7329 ci: Fix Crowdin cron task? 2024-12-26 14:08:46 +04:00
semantic-release-bot
f35247a872 chore: Release v5.8.0-dev.3 [skip ci]
# [5.8.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.2...v5.8.0-dev.3) (2024-12-26)

### Bug Fixes

* **YouTube - Force original audio:** If stream spoofing to Android then show a summary text why force audio is not available ([#4220](https://github.com/ReVanced/revanced-patches/issues/4220)) ([4de768f](4de768febf))
2024-12-26 10:02:26 +00:00
LisoUseInAIKyrios
4de768febf fix(YouTube - Force original audio): If stream spoofing to Android then show a summary text why force audio is not available (#4220) 2024-12-26 13:58:29 +04:00
github-actions[bot]
1a5c86db93 chore: Sync translations (#4216) 2024-12-26 13:58:13 +04:00
LisoUseInAIKyrios
dbba795468 chore(YouTube): Fix inconsistent strings 2024-12-25 04:59:12 +04:00
semantic-release-bot
0a9320551d chore: Release v5.8.0-dev.2 [skip ci]
# [5.8.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.1...v5.8.0-dev.2) (2024-12-24)

### Features

* **YouTube - Spoof app version:** Add 'Restore old navigation and toolbar icons' ([9fac161](9fac1614e7))
2024-12-24 22:11:57 +00:00
LisoUseInAIKyrios
9fac1614e7 feat(YouTube - Spoof app version): Add 'Restore old navigation and toolbar icons' 2024-12-25 02:09:10 +04:00
semantic-release-bot
2de3523c59 chore: Release v5.8.0-dev.1 [skip ci]
# [5.8.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.2...v5.8.0-dev.1) (2024-12-24)

### Features

* **YouTube - Hide Shorts components:** Add option to hide Shorts in watch history ([#4214](https://github.com/ReVanced/revanced-patches/issues/4214)) ([094a6aa](094a6aa6de))
2024-12-24 21:37:46 +00:00
github-actions[bot]
ad1e40b130 chore: Sync translations (#4215) 2024-12-25 01:34:11 +04:00
LisoUseInAIKyrios
094a6aa6de feat(YouTube - Hide Shorts components): Add option to hide Shorts in watch history (#4214) 2024-12-25 01:32:42 +04:00
LisoUseInAIKyrios
a14e03e4bb chore(YouTube - Spoof video streams): Update iOS side effects text 2024-12-24 18:40:55 +04:00
semantic-release-bot
6f40b6d30f chore: Release v5.7.2 [skip ci]
## [5.7.2](https://github.com/ReVanced/revanced-patches/compare/v5.7.1...v5.7.2) (2024-12-24)

### Bug Fixes

* **YouTube - Hide layout components:** Don't hide Shorts channel bar when toggling for video player ([87e1c7f](87e1c7f4c8))
* **YouTube - Spoof video streams:** Add iOS TV client, restore iOS 'force AVC', show client type in stats for nerds ([#4202](https://github.com/ReVanced/revanced-patches/issues/4202)) ([ca21a69](ca21a69550))
2024-12-24 06:55:57 +00:00
LisoUseInAIKyrios
1711e1c39d chore: Merge branch dev to main (#4205) 2024-12-24 10:52:54 +04:00
github-actions[bot]
25372828d1 chore: Sync translations (#4210) 2024-12-24 10:52:18 +04:00
semantic-release-bot
f58245c6cd chore: Release v5.7.2-dev.2 [skip ci]
## [5.7.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.7.2-dev.1...v5.7.2-dev.2) (2024-12-23)

### Bug Fixes

* **YouTube - Hide layout components:** Don't hide Shorts channel bar when toggling for video player ([87e1c7f](87e1c7f4c8))
2024-12-23 23:00:32 +00:00
oSumAtrIX
87e1c7f4c8 fix(YouTube - Hide layout components): Don't hide Shorts channel bar when toggling for video player 2024-12-23 23:57:53 +01:00
semantic-release-bot
55d01c92d1 chore: Release v5.7.2-dev.1 [skip ci]
## [5.7.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.1...v5.7.2-dev.1) (2024-12-23)

### Bug Fixes

* **YouTube - Spoof video streams:** Add iOS TV client, restore iOS 'force AVC', show client type in stats for nerds ([#4202](https://github.com/ReVanced/revanced-patches/issues/4202)) ([ca21a69](ca21a69550))
2024-12-23 18:42:40 +00:00
LisoUseInAIKyrios
ca21a69550 fix(YouTube - Spoof video streams): Add iOS TV client, restore iOS 'force AVC', show client type in stats for nerds (#4202) 2024-12-23 22:39:27 +04:00
semantic-release-bot
634d0b4058 chore: Release v5.7.1 [skip ci]
## [5.7.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.0...v5.7.1) (2024-12-23)

### Bug Fixes

* **YouTube - SponsorBlock:** Show a toast and not a dialog if segment submitted successfully ([838edb4](838edb48e7))
* **YouTube - Spoof video streams:** Use 2 letter device language code ([e174113](e1741130af))
* **YouTube - Spoof video streams:** Use Android VR authentication if using default audio language ([#4191](https://github.com/ReVanced/revanced-patches/issues/4191)) ([99334d1](99334d1e53))
* **YouTube - Theme:** Use dark theme color for status and navigation bar ([4b81f70](4b81f7009b))
* **YouTube:** Do not reset playback speed to 1.0x after closing comment thread (Fixes stock YouTube bug) ([#4195](https://github.com/ReVanced/revanced-patches/issues/4195)) ([0ae756b](0ae756b0fc))
2024-12-23 01:16:40 +00:00
LisoUseInAIKyrios
47ea8d5ec8 chore: Merge branch dev to main (#4192) 2024-12-23 05:13:45 +04:00
github-actions[bot]
9509ed53f3 chore: Sync translations (#4198) 2024-12-23 04:53:27 +04:00
semantic-release-bot
39542ddf55 chore: Release v5.7.1-dev.5 [skip ci]
## [5.7.1-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.4...v5.7.1-dev.5) (2024-12-22)

### Bug Fixes

* **YouTube - Spoof video streams:** Use 2 letter device language code ([e174113](e1741130af))
2024-12-22 23:40:44 +00:00
LisoUseInAIKyrios
e1741130af fix(YouTube - Spoof video streams): Use 2 letter device language code 2024-12-23 03:37:21 +04:00
semantic-release-bot
e54eb3ce87 chore: Release v5.7.1-dev.4 [skip ci]
## [5.7.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.3...v5.7.1-dev.4) (2024-12-22)

### Bug Fixes

* **YouTube:** Do not reset playback speed to 1.0x after closing comment thread (Fixes stock YouTube bug) ([#4195](https://github.com/ReVanced/revanced-patches/issues/4195)) ([0ae756b](0ae756b0fc))
2024-12-22 17:45:50 +00:00
LisoUseInAIKyrios
0ae756b0fc fix(YouTube): Do not reset playback speed to 1.0x after closing comment thread (Fixes stock YouTube bug) (#4195) 2024-12-22 21:42:41 +04:00
github-actions[bot]
77a0ac5c9c chore: Sync translations (#4196) 2024-12-22 21:42:29 +04:00
semantic-release-bot
899121b9de chore: Release v5.7.1-dev.3 [skip ci]
## [5.7.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.2...v5.7.1-dev.3) (2024-12-22)

### Bug Fixes

* **YouTube - SponsorBlock:** Show a toast and not a dialog if segment submitted successfully ([838edb4](838edb48e7))
2024-12-22 17:34:19 +00:00
LisoUseInAIKyrios
838edb48e7 fix(YouTube - SponsorBlock): Show a toast and not a dialog if segment submitted successfully 2024-12-22 21:31:41 +04:00
semantic-release-bot
b2665c916a chore: Release v5.7.1-dev.2 [skip ci]
## [5.7.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.1...v5.7.1-dev.2) (2024-12-22)

### Bug Fixes

* **YouTube - Theme:** Use dark theme color for status and navigation bar ([4b81f70](4b81f7009b))
2024-12-22 11:29:57 +00:00
LisoUseInAIKyrios
4b81f7009b fix(YouTube - Theme): Use dark theme color for status and navigation bar 2024-12-22 15:27:02 +04:00
140 changed files with 4958 additions and 2090 deletions

View File

@@ -16,8 +16,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: dev
fetch-depth: 0
- name: Pull strings
uses: crowdin/github-action@v2

View File

@@ -1,3 +1,126 @@
# [5.8.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.7...v5.8.0-dev.8) (2024-12-28)
### Features
* **YouTube:** Add in app option to select a preferred language for ReVanced specific text ([#4231](https://github.com/ReVanced/revanced-patches/issues/4231)) ([3932af3](https://github.com/ReVanced/revanced-patches/commit/3932af397ae89a0b30191cd870bd6cddb7a078db))
# [5.8.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.6...v5.8.0-dev.7) (2024-12-27)
### Bug Fixes
* **YouTube - Spoof video streams:** Ignore harmless error toast if hide ads is disabled ([c3423bb](https://github.com/ReVanced/revanced-patches/commit/c3423bb9e531cfa52f6d28e0b98bbe8ab8684c30))
# [5.8.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.5...v5.8.0-dev.6) (2024-12-27)
### Bug Fixes
* **YouTube - Exit fullscreen mode:** Exit fullscreen mode of first video opened after cold start ([be5cf2e](https://github.com/ReVanced/revanced-patches/commit/be5cf2e834d87d51b5d3061d46bd7154d6306787))
# [5.8.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.4...v5.8.0-dev.5) (2024-12-27)
### Features
* **YouTube:** Add `Change form factor` patch ([#4217](https://github.com/ReVanced/revanced-patches/issues/4217)) ([644ac5b](https://github.com/ReVanced/revanced-patches/commit/644ac5baa68b209a32300149a2efa009b776f9a7))
# [5.8.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.3...v5.8.0-dev.4) (2024-12-27)
### Bug Fixes
* **GmsCore support:** Do not show battery optimization error on Android Automotive devices (Google built-in) ([#4218](https://github.com/ReVanced/revanced-patches/issues/4218)) ([d6e389c](https://github.com/ReVanced/revanced-patches/commit/d6e389cc43bc40724f032b230f70048276349a19))
### Features
* **Swipe controls:** Add option to enable/disable fullscreen swipe to next video ([#4222](https://github.com/ReVanced/revanced-patches/issues/4222)) ([119092f](https://github.com/ReVanced/revanced-patches/commit/119092fafa4129849246df15fe8076ed3b491b85))
* **YouTube:** Add `Exit fullscreen mode` patch ([#4223](https://github.com/ReVanced/revanced-patches/issues/4223)) ([bb5d03b](https://github.com/ReVanced/revanced-patches/commit/bb5d03bd89a3f932c77e4e9de90174c374933688))
# [5.8.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.2...v5.8.0-dev.3) (2024-12-26)
### Bug Fixes
* **YouTube - Force original audio:** If stream spoofing to Android then show a summary text why force audio is not available ([#4220](https://github.com/ReVanced/revanced-patches/issues/4220)) ([029aee8](https://github.com/ReVanced/revanced-patches/commit/029aee8023f096413fc80a2c583b4fe55ecb10ac))
# [5.8.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.8.0-dev.1...v5.8.0-dev.2) (2024-12-24)
### Features
* **YouTube - Spoof app version:** Add 'Restore old navigation and toolbar icons' ([f84e459](https://github.com/ReVanced/revanced-patches/commit/f84e459d3d54b3001586796ab4e114ebadf09043))
# [5.8.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.2...v5.8.0-dev.1) (2024-12-24)
### Features
* **YouTube - Hide Shorts components:** Add option to hide Shorts in watch history ([#4214](https://github.com/ReVanced/revanced-patches/issues/4214)) ([19c2742](https://github.com/ReVanced/revanced-patches/commit/19c2742aa367367c77bb50ddad6f8a20fef8ea0a))
## [5.7.2](https://github.com/ReVanced/revanced-patches/compare/v5.7.1...v5.7.2) (2024-12-24)
### Bug Fixes
* **YouTube - Hide layout components:** Don't hide Shorts channel bar when toggling for video player ([9af6412](https://github.com/ReVanced/revanced-patches/commit/9af6412d92ec31e612eaabba6578453da0fc61d6))
* **YouTube - Spoof video streams:** Add iOS TV client, restore iOS 'force AVC', show client type in stats for nerds ([#4202](https://github.com/ReVanced/revanced-patches/issues/4202)) ([ab29f80](https://github.com/ReVanced/revanced-patches/commit/ab29f808a9f55b5ab0055533c1a6de549b0631a6))
## [5.7.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.7.2-dev.1...v5.7.2-dev.2) (2024-12-23)
### Bug Fixes
* **YouTube - Hide layout components:** Don't hide Shorts channel bar when toggling for video player ([9af6412](https://github.com/ReVanced/revanced-patches/commit/9af6412d92ec31e612eaabba6578453da0fc61d6))
## [5.7.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.1...v5.7.2-dev.1) (2024-12-23)
### Bug Fixes
* **YouTube - Spoof video streams:** Add iOS TV client, restore iOS 'force AVC', show client type in stats for nerds ([#4202](https://github.com/ReVanced/revanced-patches/issues/4202)) ([ab29f80](https://github.com/ReVanced/revanced-patches/commit/ab29f808a9f55b5ab0055533c1a6de549b0631a6))
## [5.7.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.0...v5.7.1) (2024-12-23)
### Bug Fixes
* **YouTube - SponsorBlock:** Show a toast and not a dialog if segment submitted successfully ([134b189](https://github.com/ReVanced/revanced-patches/commit/134b189791113dcf1a1cb7c87b8a0954f432730c))
* **YouTube - Spoof video streams:** Use 2 letter device language code ([33ff997](https://github.com/ReVanced/revanced-patches/commit/33ff9972000581aca92262f984efb114eeeb9537))
* **YouTube - Spoof video streams:** Use Android VR authentication if using default audio language ([#4191](https://github.com/ReVanced/revanced-patches/issues/4191)) ([98773cc](https://github.com/ReVanced/revanced-patches/commit/98773cc7d46e5c9c7715b82c8006f1ccbcc5443c))
* **YouTube - Theme:** Use dark theme color for status and navigation bar ([0240efe](https://github.com/ReVanced/revanced-patches/commit/0240efe33e5444625ca2b760c861c9046d3dc836))
* **YouTube:** Do not reset playback speed to 1.0x after closing comment thread (Fixes stock YouTube bug) ([#4195](https://github.com/ReVanced/revanced-patches/issues/4195)) ([dda788c](https://github.com/ReVanced/revanced-patches/commit/dda788c58c789d4f91646ea8e8a8077f590ab6b3))
## [5.7.1-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.4...v5.7.1-dev.5) (2024-12-22)
### Bug Fixes
* **YouTube - Spoof video streams:** Use 2 letter device language code ([33ff997](https://github.com/ReVanced/revanced-patches/commit/33ff9972000581aca92262f984efb114eeeb9537))
## [5.7.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.3...v5.7.1-dev.4) (2024-12-22)
### Bug Fixes
* **YouTube:** Do not reset playback speed to 1.0x after closing comment thread (Fixes stock YouTube bug) ([#4195](https://github.com/ReVanced/revanced-patches/issues/4195)) ([dda788c](https://github.com/ReVanced/revanced-patches/commit/dda788c58c789d4f91646ea8e8a8077f590ab6b3))
## [5.7.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.2...v5.7.1-dev.3) (2024-12-22)
### Bug Fixes
* **YouTube - SponsorBlock:** Show a toast and not a dialog if segment submitted successfully ([134b189](https://github.com/ReVanced/revanced-patches/commit/134b189791113dcf1a1cb7c87b8a0954f432730c))
## [5.7.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.7.1-dev.1...v5.7.1-dev.2) (2024-12-22)
### Bug Fixes
* **YouTube - Theme:** Use dark theme color for status and navigation bar ([0240efe](https://github.com/ReVanced/revanced-patches/commit/0240efe33e5444625ca2b760c861c9046d3dc836))
## [5.7.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.0...v5.7.1-dev.1) (2024-12-22)

View File

@@ -106,7 +106,11 @@ public class GmsCoreSupport {
}
// Check if GmsCore is whitelisted from battery optimizations.
if (batteryOptimizationsEnabled(context)) {
if (isAndroidAutomotive(context)) {
// Ignore Android Automotive devices (Google built-in),
// as there is no way to disable battery optimizations.
Logger.printDebug(() -> "Device is Android Automotive");
} else if (batteryOptimizationsEnabled(context)) {
Logger.printInfo(() -> "GmsCore is not whitelisted from battery optimizations");
showBatteryOptimizationDialog(context,
@@ -147,6 +151,10 @@ public class GmsCoreSupport {
return !powerManager.isIgnoringBatteryOptimizations(GMS_CORE_PACKAGE_NAME);
}
private static boolean isAndroidAutomotive(Context context) {
return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE);
}
private static String getGmsCoreDownload() {
final var vendorGroupId = getGmsCoreVendorGroupId();
//noinspection SwitchStatementWithTooFewBranches

View File

@@ -40,13 +40,15 @@ import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import app.revanced.extension.shared.settings.AppLanguage;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.BooleanSetting;
import app.revanced.extension.shared.settings.preference.ReVancedAboutPreference;
public class Utils {
@SuppressLint("StaticFieldLeak")
private static Context context;
private static volatile Context context;
private static String versionName;
private static String applicationLabel;
@@ -360,7 +362,17 @@ public class Utils {
}
public static void setContext(Context appContext) {
// Must initially set context as the language settings needs it.
context = appContext;
AppLanguage language = BaseSettings.REVANCED_LANGUAGE.get();
if (language != AppLanguage.DEFAULT) {
// Create a new context with the desired language.
Configuration config = appContext.getResources().getConfiguration();
config.setLocale(language.getLocale());
context = appContext.createConfigurationContext(config);
}
// In some apps like TikTok, the Setting classes can load in weird orders due to cyclic class dependencies.
// Calling the regular printDebug method here can cause a Settings context null pointer exception,
// even though the context is already set before the call.
@@ -523,6 +535,11 @@ public class Utils {
return currentNightMode == Configuration.UI_MODE_NIGHT_YES;
}
public static boolean isLandscapeOrientation() {
final int orientation = context.getResources().getConfiguration().orientation;
return orientation == Configuration.ORIENTATION_LANDSCAPE;
}
/**
* Automatically logs any exceptions the runnable throws.
*
@@ -595,7 +612,7 @@ public class Utils {
|| networkType == NetworkType.OTHER;
}
@SuppressLint("MissingPermission") // permission already included in YouTube
@SuppressLint({"MissingPermission", "deprecation"}) // Permission already included in YouTube.
public static NetworkType getNetworkType() {
Context networkContext = getContext();
if (networkContext == null) {
@@ -760,8 +777,8 @@ public class Utils {
return;
}
String deviceLanguage = Utils.getContext().getResources().getConfiguration().locale.getLanguage();
if (deviceLanguage.equals("en")) {
String revancedLocale = Utils.getContext().getResources().getConfiguration().locale.getLanguage();
if (revancedLocale.equals(Locale.ENGLISH.getLanguage())) {
return;
}
@@ -769,8 +786,8 @@ public class Utils {
Preference pref = group.getPreference(i);
pref.setSingleLineTitle(false);
if (pref instanceof PreferenceGroup) {
setPreferenceTitlesToMultiLineIfNeeded((PreferenceGroup) pref);
if (pref instanceof PreferenceGroup subGroup) {
setPreferenceTitlesToMultiLineIfNeeded(subGroup);
}
}
}

View File

@@ -0,0 +1,114 @@
package app.revanced.extension.shared.settings;
import java.util.Locale;
public enum AppLanguage {
/**
* The current app language.
*/
DEFAULT,
// Language codes found in locale_config.xml
// All region specific variants have been removed.
AF,
AM,
AR,
AS,
AZ,
BE,
BG,
BN,
BS,
CA,
CS,
DA,
DE,
EL,
EN,
ES,
ET,
EU,
FA,
FI,
FR,
GL,
GU,
HI,
HE, // App uses obsolete 'IW' and not the modern 'HE' ISO code.
HR,
HU,
HY,
ID,
IS,
IT,
JA,
KA,
KK,
KM,
KN,
KO,
KY,
LO,
LT,
LV,
MK,
ML,
MN,
MR,
MS,
MY,
NE,
NL,
NB,
OR,
PA,
PL,
PT,
RO,
RU,
SI,
SK,
SL,
SQ,
SR,
SV,
SW,
TA,
TE,
TH,
TL,
TR,
UK,
UR,
UZ,
VI,
ZH,
ZU;
private final String language;
AppLanguage() {
language = name().toLowerCase(Locale.US);
}
/**
* @return The 2 letter ISO 639_1 language code.
*/
public String getLanguage() {
// Changing the app language does not force the app to completely restart,
// so the default needs to be the current language and not a static field.
if (this == DEFAULT) {
return Locale.getDefault().getLanguage();
}
return language;
}
public Locale getLocale() {
if (this == DEFAULT) {
return Locale.getDefault();
}
return Locale.forLanguageTag(language);
}
}

View File

@@ -3,8 +3,10 @@ package app.revanced.extension.shared.settings;
import static java.lang.Boolean.FALSE;
import static java.lang.Boolean.TRUE;
import static app.revanced.extension.shared.settings.Setting.parent;
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.AudioStreamLanguageOverrideAvailability;
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.SpoofiOSAvailability;
import app.revanced.extension.shared.spoof.AudioStreamLanguage;
import app.revanced.extension.shared.spoof.ClientType;
/**
* Settings shared across multiple apps.
@@ -19,6 +21,14 @@ public class BaseSettings {
public static final IntegerSetting CHECK_ENVIRONMENT_WARNINGS_ISSUED = new IntegerSetting("revanced_check_environment_warnings_issued", 0, true, false);
public static final EnumSetting<AppLanguage> REVANCED_LANGUAGE = new EnumSetting<>("revanced_language", AppLanguage.DEFAULT, true, "revanced_language_user_dialog_message");
public static final BooleanSetting SPOOF_VIDEO_STREAMS = new BooleanSetting("revanced_spoof_video_streams", TRUE, true, "revanced_spoof_video_streams_user_dialog_message");
public static final EnumSetting<AudioStreamLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AudioStreamLanguage.DEFAULT, parent(SPOOF_VIDEO_STREAMS));
public static final EnumSetting<AppLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AppLanguage.DEFAULT, new AudioStreamLanguageOverrideAvailability());
public static final BooleanSetting SPOOF_STREAMING_DATA_STATS_FOR_NERDS = new BooleanSetting("revanced_spoof_streaming_data_stats_for_nerds", TRUE, parent(SPOOF_VIDEO_STREAMS));
public static final BooleanSetting SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC = new BooleanSetting("revanced_spoof_video_streams_ios_force_avc", FALSE, true,
"revanced_spoof_video_streams_ios_force_avc_user_dialog_message", new SpoofiOSAvailability());
// Client type must be last spoof setting due to cyclic references.
public static final EnumSetting<ClientType> SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR, true, parent(SPOOF_VIDEO_STREAMS));
}

View File

@@ -153,7 +153,6 @@ public abstract class Setting<T> {
/**
* Confirmation message to display, if the user tries to change the setting from the default value.
* Currently this works only for Boolean setting types.
*/
@Nullable
public final StringRef userDialogMessage;
@@ -244,6 +243,7 @@ public abstract class Setting<T> {
*
* This method will be deleted in the future.
*/
@SuppressWarnings("rawtypes")
public static void migrateFromOldPreferences(@NonNull SharedPrefCategory oldPrefs, @NonNull Setting setting, String settingKey) {
if (!oldPrefs.preferences.contains(settingKey)) {
return; // Nothing to do.
@@ -419,6 +419,7 @@ public abstract class Setting<T> {
boolean rebootSettingChanged = false;
int numberOfSettingsImported = 0;
//noinspection rawtypes
for (Setting setting : SETTINGS) {
String key = setting.getImportExportKey();
if (json.has(key)) {

View File

@@ -42,7 +42,7 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
private final SharedPreferences.OnSharedPreferenceChangeListener listener = (sharedPreferences, str) -> {
try {
Setting<?> setting = Setting.getSettingFromPath(str);
Setting<?> setting = Setting.getSettingFromPath(Objects.requireNonNull(str));
if (setting == null) {
return;
}
@@ -52,23 +52,21 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
}
Logger.printDebug(() -> "Preference changed: " + setting.key);
// Apply 'Setting <- Preference', unless during importing when it needs to be 'Setting -> Preference'.
updatePreference(pref, setting, true, settingImportInProgress);
// Update any other preference availability that may now be different.
updateUIAvailability();
if (settingImportInProgress) {
return;
}
if (!showingUserDialogMessage) {
if (setting.userDialogMessage != null && ((SwitchPreference) pref).isChecked() != (Boolean) setting.defaultValue) {
showSettingUserDialogConfirmation((SwitchPreference) pref, (BooleanSetting) setting);
if (!settingImportInProgress && !showingUserDialogMessage) {
if (setting.userDialogMessage != null && !prefIsSetToDefault(pref, setting)) {
// Do not change the setting yet, to allow preserving whatever
// list/text value was previously set if it needs to be reverted.
showSettingUserDialogConfirmation(pref, setting);
return;
} else if (setting.rebootApp) {
showRestartDialog(getContext());
}
}
// Apply 'Setting <- Preference', unless during importing when it needs to be 'Setting -> Preference'.
updatePreference(pref, setting, true, settingImportInProgress);
// Update any other preference availability that may now be different.
updateUIAvailability();
} catch (Exception ex) {
Logger.printException(() -> "OnSharedPreferenceChangeListener failure", ex);
}
@@ -92,7 +90,7 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
Utils.setPreferenceTitlesToMultiLineIfNeeded(screen);
}
private void showSettingUserDialogConfirmation(SwitchPreference switchPref, BooleanSetting setting) {
private void showSettingUserDialogConfirmation(Preference pref, Setting<?> setting) {
Utils.verifyOnMainThread();
final var context = getContext();
@@ -104,12 +102,19 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
.setTitle(confirmDialogTitle)
.setMessage(Objects.requireNonNull(setting.userDialogMessage).toString())
.setPositiveButton(android.R.string.ok, (dialog, id) -> {
// User confirmed, save to the Setting.
updatePreference(pref, setting, true, false);
// Update availability of other preferences that may be changed.
updateUIAvailability();
if (setting.rebootApp) {
showRestartDialog(context);
}
})
.setNegativeButton(android.R.string.cancel, (dialog, id) -> {
switchPref.setChecked(setting.defaultValue); // Recursive call that resets the Setting value.
// Restore whatever the setting was before the change.
updatePreference(pref, setting, true, true);
})
.setOnDismissListener(dialog -> {
showingUserDialogMessage = false;
@@ -132,6 +137,24 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
updatePreferenceScreen(getPreferenceScreen(), false, false);
}
/**
* @return If the preference is currently set to the default value of the Setting.
*/
protected boolean prefIsSetToDefault(Preference pref, Setting<?> setting) {
if (pref instanceof SwitchPreference switchPref) {
return switchPref.isChecked() == (Boolean) setting.defaultValue;
}
if (pref instanceof EditTextPreference editPreference) {
return editPreference.getText().equals(setting.defaultValue.toString());
}
if (pref instanceof ListPreference listPref) {
return listPref.getValue().equals(setting.defaultValue.toString());
}
throw new IllegalStateException("Must override method to handle "
+ "preference type: " + pref.getClass());
}
/**
* Syncs all UI Preferences to any {@link Setting} they represent.
*/
@@ -170,23 +193,20 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
protected void syncSettingWithPreference(@NonNull Preference pref,
@NonNull Setting<?> setting,
boolean applySettingToPreference) {
if (pref instanceof SwitchPreference) {
SwitchPreference switchPref = (SwitchPreference) pref;
if (pref instanceof SwitchPreference switchPref) {
BooleanSetting boolSetting = (BooleanSetting) setting;
if (applySettingToPreference) {
switchPref.setChecked(boolSetting.get());
} else {
BooleanSetting.privateSetValue(boolSetting, switchPref.isChecked());
}
} else if (pref instanceof EditTextPreference) {
EditTextPreference editPreference = (EditTextPreference) pref;
} else if (pref instanceof EditTextPreference editPreference) {
if (applySettingToPreference) {
editPreference.setText(setting.get().toString());
} else {
Setting.privateSetValueFromString(setting, editPreference.getText());
}
} else if (pref instanceof ListPreference) {
ListPreference listPref = (ListPreference) pref;
} else if (pref instanceof ListPreference listPref) {
if (applySettingToPreference) {
listPref.setValue(setting.get().toString());
} else {

View File

@@ -1,113 +0,0 @@
package app.revanced.extension.shared.spoof;
import java.util.Locale;
public enum AudioStreamLanguage {
/**
* YouTube default.
* Can be the original language or can be app language,
* depending on what YouTube decides to pick as the default.
*/
DEFAULT,
// Language codes found in locale_config.xml
// Region specific variants of Chinese/English/Spanish/French have been removed.
AF,
AM,
AR,
AS,
AZ,
BE,
BG,
BN,
BS,
CA,
CS,
DA,
DE,
EL,
EN,
ES,
ET,
EU,
FA,
FI,
FR,
GL,
GU,
HI,
HE, // App uses obsolete 'IW' and 'HE' is modern ISO code.
HR,
HU,
HY,
ID,
IS,
IT,
JA,
KA,
KK,
KM,
KN,
KO,
KY,
LO,
LT,
LV,
MK,
ML,
MN,
MR,
MS,
MY,
NE,
NL,
NB,
OR,
PA,
PL,
PT_BR,
PT_PT,
RO,
RU,
SI,
SK,
SL,
SQ,
SR,
SV,
SW,
TA,
TE,
TH,
TL,
TR,
UK,
UR,
UZ,
VI,
ZH,
ZU;
private final String iso639_1;
AudioStreamLanguage() {
String name = name();
final int regionSeparatorIndex = name.indexOf('_');
if (regionSeparatorIndex >= 0) {
iso639_1 = name.substring(0, regionSeparatorIndex).toLowerCase(Locale.US)
+ name.substring(regionSeparatorIndex);
} else {
iso639_1 = name().toLowerCase(Locale.US);
}
}
public String getIso639_1() {
// Changing the app language does not force the app to completely restart,
// so the default needs to be the current language and not a static field.
if (this == DEFAULT) {
return Locale.getDefault().toLanguageTag();
}
return iso639_1;
}
}

View File

@@ -4,9 +4,11 @@ import android.os.Build;
import androidx.annotation.Nullable;
import app.revanced.extension.shared.settings.BaseSettings;
public enum ClientType {
// https://dumps.tadiphone.dev/dumps/oculus/eureka
ANDROID_VR_NO_AUTH( // Must be first so a default audio language can be set.
ANDROID_VR_NO_AUTH(
28,
"ANDROID_VR",
"Quest 3",
@@ -14,17 +16,9 @@ public enum ClientType {
"com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip",
"32", // Android 12.1
"1.56.21",
false),
// Fall over to authenticated ('hl' is ignored and audio is same as language set in users Google account).
ANDROID_VR(
ANDROID_VR_NO_AUTH.id,
ANDROID_VR_NO_AUTH.clientName,
ANDROID_VR_NO_AUTH.deviceModel,
ANDROID_VR_NO_AUTH.osVersion,
ANDROID_VR_NO_AUTH.userAgent,
ANDROID_VR_NO_AUTH.androidSdkVersion,
ANDROID_VR_NO_AUTH.clientVersion,
true),
false,
"Android VR No auth"
),
ANDROID_UNPLUGGED(
29,
"ANDROID_UNPLUGGED",
@@ -33,7 +27,49 @@ public enum ClientType {
"com.google.android.apps.youtube.unplugged/8.49.0 (Linux; U; Android 14; GB) gzip",
"34",
"8.49.0",
true); // Requires login.
true,
"Android TV"
),
ANDROID_VR(
ANDROID_VR_NO_AUTH.id,
ANDROID_VR_NO_AUTH.clientName,
ANDROID_VR_NO_AUTH.deviceModel,
ANDROID_VR_NO_AUTH.osVersion,
ANDROID_VR_NO_AUTH.userAgent,
ANDROID_VR_NO_AUTH.androidSdkVersion,
ANDROID_VR_NO_AUTH.clientVersion,
true,
"Android VR"
),
IOS_UNPLUGGED(33,
"IOS_UNPLUGGED",
forceAVC()
? "iPhone12,5" // 11 Pro Max (last device with iOS 13)
: "iPhone16,2", // 15 Pro Max
// iOS 13 and earlier uses only AVC. 14+ adds VP9 and AV1.
forceAVC()
? "13.7.17H35" // Last release of iOS 13.
: "18.1.1.22B91",
forceAVC()
? "com.google.ios.youtubeunplugged/6.45 (iPhone; U; CPU iOS 13_7 like Mac OS X)"
: "com.google.ios.youtubeunplugged/8.33 (iPhone; U; CPU iOS 18_1_1 like Mac OS X)",
null,
// Version number should be a valid iOS release.
// https://www.ipa4fun.com/history/152043/
// Some newer versions can also force AVC,
// but 6.45 is the last version that supports iOS 13.
forceAVC()
? "6.45"
: "8.33",
true,
forceAVC()
? "iOS TV Force AVC"
: "iOS TV"
);
private static boolean forceAVC() {
return BaseSettings.SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC.get();
}
/**
* YouTube
@@ -75,6 +111,11 @@ public enum ClientType {
*/
public final boolean canLogin;
/**
* Friendly name displayed in stats for nerds.
*/
public final String friendlyName;
ClientType(int id,
String clientName,
String deviceModel,
@@ -82,7 +123,8 @@ public enum ClientType {
String userAgent,
@Nullable String androidSdkVersion,
String clientVersion,
boolean canLogin) {
boolean canLogin,
String friendlyName) {
this.id = id;
this.clientName = clientName;
this.deviceModel = deviceModel;
@@ -91,5 +133,7 @@ public enum ClientType {
this.androidSdkVersion = androidSdkVersion;
this.clientVersion = clientVersion;
this.canLogin = canLogin;
this.friendlyName = friendlyName;
}
}

View File

@@ -1,6 +1,7 @@
package app.revanced.extension.shared.spoof;
import android.net.Uri;
import android.text.TextUtils;
import androidx.annotation.Nullable;
@@ -17,6 +18,9 @@ import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
public class SpoofVideoStreamsPatch {
private static final boolean SPOOF_STREAMING_DATA = BaseSettings.SPOOF_VIDEO_STREAMS.get();
private static final boolean FIX_HLS_CURRENT_TIME = SPOOF_STREAMING_DATA
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS_UNPLUGGED;
/**
* Any unreachable ip address. Used to intentionally fail requests.
*/
@@ -30,15 +34,10 @@ public class SpoofVideoStreamsPatch {
return false; // Modified during patching.
}
public static final class NotSpoofingAndroidAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
if (SpoofVideoStreamsPatch.isPatchIncluded()) {
return !BaseSettings.SPOOF_VIDEO_STREAMS.get();
}
return true;
}
public static boolean notSpoofingToAndroid() {
return !isPatchIncluded()
|| !BaseSettings.SPOOF_VIDEO_STREAMS.get()
|| BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS_UNPLUGGED;
}
/**
@@ -97,6 +96,17 @@ public class SpoofVideoStreamsPatch {
return SPOOF_STREAMING_DATA;
}
/**
* Injection point.
* Only invoked when playing a livestream on an iOS client.
*/
public static boolean fixHLSCurrentTime(boolean original) {
if (!SPOOF_STREAMING_DATA) {
return original;
}
return false;
}
/**
* Injection point.
*/
@@ -105,20 +115,25 @@ public class SpoofVideoStreamsPatch {
try {
Uri uri = Uri.parse(url);
String path = uri.getPath();
if (path == null || !path.contains("player")) {
return;
}
// 'heartbeat' has no video id and appears to be only after playback has started.
// 'refresh' has no video id and appears to happen when waiting for a livestream to start.
if (path != null && path.contains("player") && !path.contains("heartbeat")
&& !path.contains("refresh")) {
String id = uri.getQueryParameter("id");
if (id == null) {
Logger.printException(() -> "Ignoring request that has no video id." +
" Url: " + url + " headers: " + requestHeaders);
return;
}
StreamingDataRequest.fetchRequest(id, requestHeaders);
// 'ad_break' has no video id.
if (path.contains("heartbeat") || path.contains("refresh") || path.contains("ad_break")) {
Logger.printDebug(() -> "Ignoring path: " + path);
return;
}
String id = uri.getQueryParameter("id");
if (id == null) {
Logger.printException(() -> "Ignoring request with no id. Url: " + url);
return;
}
StreamingDataRequest.fetchRequest(id, requestHeaders);
} catch (Exception ex) {
Logger.printException(() -> "buildRequest failure", ex);
}
@@ -183,4 +198,38 @@ public class SpoofVideoStreamsPatch {
return postData;
}
/**
* Injection point.
*/
public static String appendSpoofedClient(String videoFormat) {
try {
if (SPOOF_STREAMING_DATA && BaseSettings.SPOOF_STREAMING_DATA_STATS_FOR_NERDS.get()
&& !TextUtils.isEmpty(videoFormat)) {
// Force LTR layout, to match the same LTR video time/length layout YouTube uses for all languages.
return "\u202D" + videoFormat + "\u2009(" // u202D = left to right override
+ StreamingDataRequest.getLastSpoofedClientName() + ")";
}
} catch (Exception ex) {
Logger.printException(() -> "appendSpoofedClient failure", ex);
}
return videoFormat;
}
public static final class AudioStreamLanguageOverrideAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
return !BaseSettings.SPOOF_VIDEO_STREAMS.get()
|| BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_VR_NO_AUTH;
}
}
public static final class SpoofiOSAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
return BaseSettings.SPOOF_VIDEO_STREAMS.get()
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS_UNPLUGGED;
}
}
}

View File

@@ -10,6 +10,7 @@ import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.requests.Requester;
import app.revanced.extension.shared.requests.Route;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.AppLanguage;
import app.revanced.extension.shared.spoof.ClientType;
final class PlayerRoutes {
@@ -36,8 +37,17 @@ final class PlayerRoutes {
try {
JSONObject context = new JSONObject();
// Can override default language only if no login is used.
// Could use preferred audio for all clients that do not login,
// but if this is a fall over client it will set the language even though
// the audio language is not selectable in the UI.
ClientType userSelectedClient = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
AppLanguage language = userSelectedClient == ClientType.ANDROID_VR_NO_AUTH
? BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get()
: AppLanguage.DEFAULT;
JSONObject client = new JSONObject();
client.put("hl", BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getIso639_1());
client.put("hl", language.getLanguage());
client.put("clientName", clientType.clientName);
client.put("clientVersion", clientType.clientVersion);
client.put("deviceModel", clientType.deviceModel);

View File

@@ -22,7 +22,6 @@ import java.util.concurrent.TimeoutException;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.spoof.AudioStreamLanguage;
import app.revanced.extension.shared.spoof.ClientType;
/**
@@ -36,7 +35,22 @@ import app.revanced.extension.shared.spoof.ClientType;
*/
public class StreamingDataRequest {
private static final ClientType[] CLIENT_ORDER_TO_USE = ClientType.values();
private static final ClientType[] CLIENT_ORDER_TO_USE;
static {
ClientType[] allClientTypes = ClientType.values();
ClientType preferredClient = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
CLIENT_ORDER_TO_USE = new ClientType[allClientTypes.length];
CLIENT_ORDER_TO_USE[0] = preferredClient;
int i = 1;
for (ClientType c : allClientTypes) {
if (c != preferredClient) {
CLIENT_ORDER_TO_USE[i++] = c;
}
}
}
private static final String AUTHORIZATION_HEADER = "Authorization";
@@ -73,6 +87,13 @@ public class StreamingDataRequest {
}
});
private static volatile ClientType lastSpoofedClientType;
public static String getLastSpoofedClientName() {
ClientType client = lastSpoofedClientType;
return client == null ? "Unknown" : client.friendlyName;
}
private final String videoId;
private final Future<ByteBuffer> future;
@@ -161,15 +182,9 @@ public class StreamingDataRequest {
// Retry with different client if empty response body is received.
int i = 0;
for (ClientType clientType : CLIENT_ORDER_TO_USE) {
// Show an error if the last client type fails, or if the debug is enabled then show for all attempts.
// Show an error if the last client type fails, or if debug is enabled then show for all attempts.
final boolean showErrorToast = (++i == CLIENT_ORDER_TO_USE.length) || debugEnabled;
if (clientType == ClientType.ANDROID_VR_NO_AUTH
&& BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get() == AudioStreamLanguage.DEFAULT) {
// Only use no auth Android VR if a non default audio language is selected.
continue;
}
HttpURLConnection connection = send(clientType, videoId, playerHeaders, showErrorToast);
if (connection != null) {
try {
@@ -177,7 +192,7 @@ public class StreamingDataRequest {
// but empty response body does.
if (connection.getContentLength() == 0) {
if (BaseSettings.DEBUG.get()) {
Logger.printException(() -> "Ignoring empty client response: " + clientType);
Logger.printException(() -> "Ignoring empty client: " + clientType);
}
} else {
try (InputStream inputStream = new BufferedInputStream(connection.getInputStream());
@@ -188,6 +203,7 @@ public class StreamingDataRequest {
while ((bytesRead = inputStream.read(buffer)) >= 0) {
baos.write(buffer, 0, bytesRead);
}
lastSpoofedClientType = clientType;
return ByteBuffer.wrap(baos.toByteArray());
}
@@ -198,7 +214,8 @@ public class StreamingDataRequest {
}
}
handleConnectionError("Could not fetch any client streams", null, debugEnabled);
lastSpoofedClientType = null;
handleConnectionError("Could not fetch any client streams", null, true);
return null;
}

View File

@@ -176,14 +176,13 @@ public final class AlternativeThumbnailsPatch {
// Unknown tab, treat as the home tab;
return homeOption;
}
if (selectedNavButton == NavigationButton.HOME) {
return homeOption;
}
if (selectedNavButton == NavigationButton.SUBSCRIPTIONS || selectedNavButton == NavigationButton.NOTIFICATIONS) {
return subscriptionsOption;
}
// A library tab variant is active.
return libraryOption;
return switch (selectedNavButton) {
case SUBSCRIPTIONS, NOTIFICATIONS -> subscriptionsOption;
case LIBRARY -> libraryOption;
// Home or explore tab.
default -> homeOption;
};
}
/**

View File

@@ -0,0 +1,54 @@
package app.revanced.extension.youtube.patches;
import androidx.annotation.Nullable;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
public class ChangeFormFactorPatch {
public enum FormFactor {
/**
* Unmodified, and same as un-patched.
*/
DEFAULT(null),
/**
* <pre>
* Some changes include:
* - Explore tab is present.
* - watch history is missing.
* - feed thumbnails fade in.
*/
UNKNOWN(0),
SMALL(1),
LARGE(2),
/**
* Cars with 'Google built-in'.
* Layout seems identical to {@link #UNKNOWN}
* even when using an Android Automotive device.
*/
AUTOMOTIVE(3),
WEARABLE(4);
@Nullable
final Integer formFactorType;
FormFactor(@Nullable Integer formFactorType) {
this.formFactorType = formFactorType;
}
}
@Nullable
private static final Integer FORM_FACTOR_TYPE = Settings.CHANGE_FORM_FACTOR.get().formFactorType;
/**
* Injection point.
*/
public static int getFormFactor(int original) {
return FORM_FACTOR_TYPE == null
? original
: FORM_FACTOR_TYPE;
}
}

View File

@@ -0,0 +1,63 @@
package app.revanced.extension.youtube.patches;
import android.widget.ImageView;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused")
public class ExitFullscreenPatch {
public enum FullscreenMode {
DISABLED,
PORTRAIT,
LANDSCAPE,
PORTRAIT_LANDSCAPE,
}
/**
* Injection point.
*/
public static void endOfVideoReached() {
try {
FullscreenMode mode = Settings.EXIT_FULLSCREEN.get();
if (mode == FullscreenMode.DISABLED) {
return;
}
if (PlayerType.getCurrent() == PlayerType.WATCH_WHILE_FULLSCREEN) {
if (mode != FullscreenMode.PORTRAIT_LANDSCAPE) {
if (Utils.isLandscapeOrientation()) {
if (mode == FullscreenMode.PORTRAIT) {
return;
}
} else if (mode == FullscreenMode.LANDSCAPE) {
return;
}
}
// If the user cold launches the app and plays a video but does not
// tap to show the overlay controls, the fullscreen button is not
// set because the overlay controls are not attached.
// To fix this, push the perform click to the back fo the main thread,
// and by then the overlay controls will be visible since the video is now finished.
Utils.runOnMainThread(() -> {
ImageView button = PlayerControlsPatch.fullscreenButtonRef.get();
if (button == null) {
Logger.printDebug(() -> "Fullscreen button is null, cannot click");
} else {
Logger.printDebug(() -> "Clicking fullscreen button");
final boolean soundEffectsEnabled = button.isSoundEffectsEnabled();
button.setSoundEffectsEnabled(false);
button.performClick();
button.setSoundEffectsEnabled(soundEffectsEnabled);
}
});
}
} catch (Exception ex) {
Logger.printException(() -> "endOfVideoReached failure", ex);
}
}
}

View File

@@ -0,0 +1,24 @@
package app.revanced.extension.youtube.patches;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused")
public class FixPlaybackSpeedWhilePlayingPatch {
private static final float DEFAULT_YOUTUBE_PLAYBACK_SPEED = 1.0f;
public static boolean playbackSpeedChanged(float playbackSpeed) {
if (playbackSpeed == DEFAULT_YOUTUBE_PLAYBACK_SPEED &&
PlayerType.getCurrent().isMaximizedOrFullscreen()) {
Logger.printDebug(() -> "Blocking call to change playback speed to 1.0x");
return true;
}
return false;
}
}

View File

@@ -1,6 +1,8 @@
package app.revanced.extension.youtube.patches;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
@@ -8,6 +10,20 @@ public class ForceOriginalAudioPatch {
private static final String DEFAULT_AUDIO_TRACKS_SUFFIX = ".4";
/**
* If the conditions to use this patch were present when the app launched.
*/
public static boolean PATCH_AVAILABLE = SpoofVideoStreamsPatch.notSpoofingToAndroid();
public static final class ForceOriginalAudioAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
// Check conditions of launch and now. Otherwise if spoofing is changed
// without a restart the setting will show as available when it's not.
return PATCH_AVAILABLE && SpoofVideoStreamsPatch.notSpoofingToAndroid();
}
}
/**
* Injection point.
*/

View File

@@ -4,15 +4,30 @@ import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import java.lang.ref.WeakReference;
import app.revanced.extension.shared.Logger;
@SuppressWarnings("unused")
public class PlayerControlsPatch {
public static WeakReference<ImageView> fullscreenButtonRef = new WeakReference<>(null);
private static boolean fullscreenButtonVisibilityCallbacksExist() {
return false; // Modified during patching if needed.
}
/**
* Injection point.
*/
public static void setFullscreenCloseButton(ImageView imageButton) {
fullscreenButtonRef = new WeakReference<>(imageButton);
Logger.printDebug(() -> "Fullscreen button set");
if (!fullscreenButtonVisibilityCallbacksExist()) {
return;
}
// Add a global listener, since the protected method
// View#onVisibilityChanged() does not have any call backs.
imageButton.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@@ -39,7 +54,7 @@ public class PlayerControlsPatch {
}
// noinspection EmptyMethod
public static void fullscreenButtonVisibilityChanged(boolean isVisible) {
private static void fullscreenButtonVisibilityChanged(boolean isVisible) {
// Code added during patching.
}

View File

@@ -1,16 +0,0 @@
package app.revanced.extension.youtube.patches;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
public final class TabletLayoutPatch {
private static final boolean TABLET_LAYOUT_ENABLED = Settings.TABLET_LAYOUT.get();
/**
* Injection point.
*/
public static boolean getTabletLayoutEnabled() {
return TABLET_LAYOUT_ENABLED;
}
}

View File

@@ -528,14 +528,13 @@ final class KeywordContentFilter extends Filter {
if (selectedNavButton == null) {
return hideHome; // Unknown tab, treat the same as home.
}
if (selectedNavButton == NavigationButton.HOME) {
return hideHome;
}
if (selectedNavButton == NavigationButton.SUBSCRIPTIONS) {
return hideSubscriptions;
}
// User is in the Library or Notifications tab.
return false;
return switch (selectedNavButton) {
case HOME, EXPLORE -> hideHome;
case SUBSCRIPTIONS -> hideSubscriptions;
// User is in the Library or notifications.
default -> false;
};
}
private void updateStats(boolean videoWasHidden, @Nullable String keyword) {

View File

@@ -161,9 +161,9 @@ public final class LayoutComponentsFilter extends Filter {
"inline_expander"
);
final var channelBar = new StringFilterGroup(
final var compactChannelBar = new StringFilterGroup(
Settings.HIDE_CHANNEL_BAR,
"channel_bar"
"compact_channel_bar"
);
final var relatedVideos = new StringFilterGroup(
@@ -252,7 +252,7 @@ public final class LayoutComponentsFilter extends Filter {
inFeedSurvey,
notifyMe,
likeSubscribeGlow,
channelBar,
compactChannelBar,
communityPosts,
paidPromotion,
searchResultVideo,

View File

@@ -297,7 +297,7 @@ public final class ShortsFilter extends Filter {
if (matchedGroup == suggestedAction) {
// Skip searching the buffer if all suggested actions are set to hidden.
// This has a secondary effect of hiding all new un-identified actions
// under the assumption that the user wants all actions hidden.
// under the assumption that the user wants all suggestions hidden.
if (isEverySuggestedActionFilterEnabled()) {
return super.isFiltered(path, identifier, protobufBufferArray, matchedGroup, contentType, contentIndex);
}
@@ -324,19 +324,22 @@ public final class ShortsFilter extends Filter {
}
private static boolean shouldHideShortsFeedItems() {
// Known issue if hide home is on but at least one other hide is off:
//
// Shorts suggestions will load in the background if a video is opened and
// immediately minimized before any suggestions are loaded.
// In this state the player type will show minimized, which cannot
// distinguish between Shorts suggestions loading in the player and between
// scrolling thru search/home/subscription tabs while a player is minimized.
final boolean hideHome = Settings.HIDE_SHORTS_HOME.get();
final boolean hideSubscriptions = Settings.HIDE_SHORTS_SUBSCRIPTIONS.get();
final boolean hideSearch = Settings.HIDE_SHORTS_SEARCH.get();
final boolean hideHistory = Settings.HIDE_SHORTS_HISTORY.get();
if (hideHome && hideSubscriptions && hideSearch) {
// Shorts suggestions can load in the background if a video is opened and
// then immediately minimized before any suggestions are loaded.
// In this state the player type will show minimized, which makes it not possible to
// distinguish between Shorts suggestions loading in the player and between
// scrolling thru search/home/subscription tabs while a player is minimized.
//
// To avoid this situation for users that never want to show Shorts (all hide Shorts options are enabled)
// then hide all Shorts everywhere including the Library history and Library playlists.
if (!hideHome && !hideSubscriptions && !hideSearch && !hideHistory) {
return false;
}
if (hideHome && hideSubscriptions && hideSearch && hideHistory) {
return true;
}
@@ -352,24 +355,29 @@ public final class ShortsFilter extends Filter {
}
// Avoid checking navigation button status if all other Shorts should show.
if (!hideHome && !hideSubscriptions) {
if (!hideHome && !hideSubscriptions && !hideHistory) {
return false;
}
// Check navigation absolutely last since the check may block this thread.
NavigationButton selectedNavButton = NavigationButton.getSelectedNavigationButton();
if (selectedNavButton == null) {
return hideHome; // Unknown tab, treat the same as home.
}
if (selectedNavButton == NavigationButton.HOME) {
return hideHome;
}
if (selectedNavButton == NavigationButton.SUBSCRIPTIONS) {
return hideSubscriptions;
}
// User must be in the library tab. Don't hide the history or any playlists here.
return false;
return switch (selectedNavButton) {
case HOME, EXPLORE -> hideHome;
case SUBSCRIPTIONS -> hideSubscriptions;
case LIBRARY -> hideHistory;
default -> false;
};
}
/**
* Injection point. Only used if patching older than 19.03.
* This hook may be obsolete even for old versions
* as they now use a litho layout like newer versions.
*/
public static void hideShortsShelf(final View shortsShelfView) {
if (shouldHideShortsFeedItems()) {
Utils.hideViewByLayoutParams(shortsShelfView);

View File

@@ -2,11 +2,15 @@ package app.revanced.extension.youtube.settings;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.preference.PreferenceFragment;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.TextView;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.AppLanguage;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.youtube.ThemeHelper;
import app.revanced.extension.youtube.settings.preference.ReVancedPreferenceFragment;
import app.revanced.extension.youtube.settings.preference.ReturnYouTubeDislikePreferenceFragment;
@@ -25,6 +29,19 @@ import static app.revanced.extension.shared.Utils.getResourceIdentifier;
@SuppressWarnings("unused")
public class LicenseActivityHook {
/**
* Injection point.
* Overrides the ReVanced settings language.
*/
public static Context getAttachBaseContext(Context original) {
AppLanguage language = BaseSettings.REVANCED_LANGUAGE.get();
if (language == AppLanguage.DEFAULT) {
return original;
}
return Utils.getContext();
}
/**
* Injection point.
* <p>

View File

@@ -7,8 +7,10 @@ import static app.revanced.extension.shared.settings.Setting.migrateFromOldPrefe
import static app.revanced.extension.shared.settings.Setting.migrateOldSettingToNew;
import static app.revanced.extension.shared.settings.Setting.parent;
import static app.revanced.extension.shared.settings.Setting.parentsAny;
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.NotSpoofingAndroidAvailability;
import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor;
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
import static app.revanced.extension.youtube.patches.ExitFullscreenPatch.FullscreenMode;
import static app.revanced.extension.youtube.patches.ForceOriginalAudioPatch.ForceOriginalAudioAvailability;
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHideExpandCloseAvailability;
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHorizontalDragAvailability;
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType;
@@ -54,7 +56,7 @@ public class Settings extends BaseSettings {
public static final StringSetting CUSTOM_PLAYBACK_SPEEDS = new StringSetting("revanced_custom_playback_speeds",
"0.25\n0.5\n0.75\n0.9\n0.95\n1.0\n1.05\n1.1\n1.25\n1.5\n1.75\n2.0\n3.0\n4.0\n5.0", true);
// Audio
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new NotSpoofingAndroidAvailability());
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new ForceOriginalAudioAvailability());
// Ads
public static final BooleanSetting HIDE_BUTTONED_ADS = new BooleanSetting("revanced_hide_buttoned_ads", TRUE);
@@ -120,6 +122,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting DISABLE_LIKE_SUBSCRIBE_GLOW = new BooleanSetting("revanced_disable_like_subscribe_glow", FALSE);
public static final BooleanSetting DISABLE_ROLLING_NUMBER_ANIMATIONS = new BooleanSetting("revanced_disable_rolling_number_animations", FALSE);
public static final BooleanSetting DISABLE_SUGGESTED_VIDEO_END_SCREEN = new BooleanSetting("revanced_disable_suggested_video_end_screen", FALSE, true);
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);
@@ -139,10 +142,10 @@ public class Settings extends BaseSettings {
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);
public static final BooleanSetting HIDE_VIDEO_CHANNEL_WATERMARK = new BooleanSetting("revanced_hide_channel_watermark", TRUE);
public static final BooleanSetting PLAYBACK_SPEED_DIALOG_BUTTON = new BooleanSetting("revanced_playback_speed_dialog_button", FALSE);
public static final BooleanSetting PLAYER_POPUP_PANELS = new BooleanSetting("revanced_hide_player_popup_panels", FALSE);
public static final IntegerSetting PLAYER_OVERLAY_OPACITY = new IntegerSetting("revanced_player_overlay_opacity", 100, true);
public static final BooleanSetting OPEN_VIDEOS_FULLSCREEN_PORTRAIT = new BooleanSetting("revanced_open_videos_fullscreen_portrait", FALSE);
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);
@@ -200,15 +203,15 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_PLAYER_FLYOUT_WATCH_IN_VR = new BooleanSetting("revanced_hide_player_flyout_watch_in_vr", TRUE);
// General layout
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 BooleanSetting REMOVE_VIEWER_DISCRETION_DIALOG = new BooleanSetting("revanced_remove_viewer_discretion_dialog", FALSE,
"revanced_remove_viewer_discretion_dialog_user_dialog_message");
public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message");
public static final BooleanSetting TABLET_LAYOUT = new BooleanSetting("revanced_tablet_layout", FALSE, true, "revanced_tablet_layout_user_dialog_message");
public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true);
public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.DEFAULT, true);
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "19.35.36" : "17.33.42", true, parent(SPOOF_APP_VERSION));
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "19.26.42" : "17.33.42", 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));
@@ -233,6 +236,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE);
public static final BooleanSetting HIDE_SHORTS_GREEN_SCREEN_BUTTON = new BooleanSetting("revanced_hide_shorts_green_screen_button", TRUE);
public static final BooleanSetting HIDE_SHORTS_HASHTAG_BUTTON = new BooleanSetting("revanced_hide_shorts_hashtag_button", TRUE);
public static final BooleanSetting HIDE_SHORTS_HISTORY = new BooleanSetting("revanced_hide_shorts_history", FALSE);
public static final BooleanSetting HIDE_SHORTS_HOME = new BooleanSetting("revanced_hide_shorts_home", FALSE);
public static final BooleanSetting HIDE_SHORTS_INFO_PANEL = new BooleanSetting("revanced_hide_shorts_info_panel", TRUE);
public static final BooleanSetting HIDE_SHORTS_JOIN_BUTTON = new BooleanSetting("revanced_hide_shorts_join_button", TRUE);
@@ -293,8 +297,9 @@ public class Settings extends BaseSettings {
public static final BooleanSetting DEBUG_PROTOBUFFER = new BooleanSetting("revanced_debug_protobuffer", FALSE, parent(BaseSettings.DEBUG));
// Swipe controls
public static final BooleanSetting SWIPE_BRIGHTNESS = new BooleanSetting("revanced_swipe_brightness", TRUE);
public static final BooleanSetting SWIPE_VOLUME = new BooleanSetting("revanced_swipe_volume", TRUE);
public static final BooleanSetting SWIPE_CHANGE_VIDEO = new BooleanSetting("revanced_swipe_change_video", FALSE, true);
public static final BooleanSetting SWIPE_BRIGHTNESS = new BooleanSetting("revanced_swipe_brightness", FALSE);
public static final BooleanSetting SWIPE_VOLUME = new BooleanSetting("revanced_swipe_volume", FALSE);
public static final BooleanSetting SWIPE_PRESS_TO_ENGAGE = new BooleanSetting("revanced_swipe_press_to_engage", FALSE, true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final BooleanSetting SWIPE_HAPTIC_FEEDBACK = new BooleanSetting("revanced_swipe_haptic_feedback", TRUE, true,

View File

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

View File

@@ -25,6 +25,8 @@ import java.util.List;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.EnumSetting;
import app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment;
import app.revanced.extension.youtube.ThemeHelper;
import app.revanced.extension.youtube.patches.playback.speed.CustomPlaybackSpeedPatch;
@@ -109,15 +111,20 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
CustomPlaybackSpeedPatch.initializeListPreference(playbackPreference);
}
preference = findPreference(Settings.SPOOF_VIDEO_STREAMS_LANGUAGE.key);
if (preference instanceof ListPreference languagePreference) {
sortListPreferenceByValues(languagePreference, 1);
}
sortPreferenceListMenu(Settings.SPOOF_VIDEO_STREAMS_LANGUAGE);
sortPreferenceListMenu(BaseSettings.REVANCED_LANGUAGE);
} catch (Exception ex) {
Logger.printException(() -> "initialize failure", ex);
}
}
private void sortPreferenceListMenu(EnumSetting<?> setting) {
Preference preference = findPreference(setting.key);
if (preference instanceof ListPreference languagePreference) {
sortListPreferenceByValues(languagePreference, 1);
}
}
private void setPreferenceScreenToolbar(PreferenceScreen parentScreen) {
for (int i = 0, preferenceCount = parentScreen.getPreferenceCount(); i < preferenceCount; i++) {
Preference childPreference = parentScreen.getPreference(i);

View File

@@ -0,0 +1,87 @@
package app.revanced.extension.youtube.settings.preference;
import static app.revanced.extension.shared.StringRef.str;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.Preference;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
import androidx.annotation.Nullable;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.spoof.ClientType;
@SuppressWarnings({"deprecation", "unused"})
public class SpoofStreamingDataSideEffectsPreference extends Preference {
@Nullable
private ClientType currentClientType;
private final SharedPreferences.OnSharedPreferenceChangeListener listener = (sharedPreferences, str) -> {
// Because this listener may run before the ReVanced settings fragment updates Settings,
// this could show the prior config and not the current.
//
// Push this call to the end of the main run queue,
// so all other listeners are done and Settings is up to date.
Utils.runOnMainThread(this::updateUI);
};
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SpoofStreamingDataSideEffectsPreference(Context context) {
super(context);
}
private void addChangeListener() {
Setting.preferences.preferences.registerOnSharedPreferenceChangeListener(listener);
}
private void removeChangeListener() {
Setting.preferences.preferences.unregisterOnSharedPreferenceChangeListener(listener);
}
@Override
protected void onAttachedToHierarchy(PreferenceManager preferenceManager) {
super.onAttachedToHierarchy(preferenceManager);
updateUI();
addChangeListener();
}
@Override
protected void onPrepareForRemoval() {
super.onPrepareForRemoval();
removeChangeListener();
}
private void updateUI() {
ClientType clientType = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
if (currentClientType == clientType) {
return;
}
Logger.printDebug(() -> "Updating spoof stream side effects preference");
setEnabled(BaseSettings.SPOOF_VIDEO_STREAMS.get());
String key = "revanced_spoof_video_streams_about_" +
(clientType == ClientType.IOS_UNPLUGGED
? "ios_tv"
: "android");
setTitle(str(key + "_title"));
setSummary(str(key + "_summary"));
}
}

View File

@@ -3,12 +3,15 @@ package app.revanced.extension.youtube.shared;
import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton.CREATE;
import android.app.Activity;
import android.os.Build;
import android.view.View;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import java.lang.ref.WeakReference;
import java.util.Arrays;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;
@@ -54,20 +57,21 @@ public final class NavigationBar {
* How long to wait for the set nav button latch to be released. Maximum wait time must
* be as small as possible while still allowing enough time for the nav bar to update.
*
* YT calls it's back button handlers out of order,
* and litho starts filtering before the navigation bar is updated.
* YT calls it's back button handlers out of order, and litho starts filtering before the
* navigation bar is updated. Fixing this situation and not needlessly waiting requires
* somehow detecting if a back button key/gesture will not change the active tab.
*
* Fixing this situation and not needlessly waiting requires somehow
* detecting if a back button key-press will cause a tab change.
* On average the time between pressing the back button and the first litho event is
* about 10-20ms. Waiting up to 75-150ms should be enough time to handle normal use cases
* and not be noticeable, since YT typically takes 100-200ms (or more) to update the view.
*
* Typically after pressing the back button, the time between the first litho event and
* when the nav button is updated is about 10-20ms. Using 50-100ms here should be enough time
* and not noticeable, since YT typically takes 100-200ms (or more) to update the view anyways.
* This delay is only noticeable when the device back button/gesture will not
* change the current navigation tab, such as backing out of the watch history.
*
* This issue can also be avoided on a patch by patch basis, by avoiding calls to
* {@link NavigationButton#getSelectedNavigationButton()} unless absolutely necessary.
*/
private static final long LATCH_AWAIT_TIMEOUT_MILLISECONDS = 75;
private static final long LATCH_AWAIT_TIMEOUT_MILLISECONDS = 120;
/**
* Used as a workaround to fix the issue of YT calling back button handlers out of order.
@@ -113,7 +117,8 @@ public final class NavigationBar {
// The latch is released from the main thread, and waiting from the main thread will always timeout.
// This situation has only been observed when navigating out of a submenu and not changing tabs.
// and for that use case the nav bar does not change so it's safe to return here.
Logger.printDebug(() -> "Cannot block main thread waiting for nav button. Using last known navbar button status.");
Logger.printDebug(() -> "Cannot block main thread waiting for nav button. " +
"Using last known navbar button status.");
return;
}
@@ -131,7 +136,9 @@ public final class NavigationBar {
Logger.printDebug(() -> "Latch wait timed out");
} catch (InterruptedException ex) {
Logger.printException(() -> "Latch wait interrupted failure", ex); // Will never happen.
// Calling YouTube thread was interrupted.
Logger.printException(() -> "Latch wait interrupted", ex);
Thread.currentThread().interrupt(); // Restore interrupt status flag.
}
}
@@ -238,6 +245,30 @@ public final class NavigationBar {
// Code is added during patching.
}
/**
* Use the bundled non cairo filled icon instead of a custom icon.
* Use the old non cairo filled icon, which is almost identical to
* the what would be the filled cairo icon.
*/
private static final int fillBellCairoBlack = Utils.getResourceIdentifier(
"yt_fill_bell_black_24", "drawable");
/**
* Injection point.
* Fixes missing drawable.
*/
@RequiresApi(api = Build.VERSION_CODES.N)
@SuppressWarnings({"unchecked", "rawtypes"})
public static void setCairoNotificationFilledIcon(EnumMap enumMap, Enum tabActivityCairo) {
if (fillBellCairoBlack != 0) {
// Show a popup informing this fix is no longer needed to those who might care.
if (BaseSettings.DEBUG.get() && enumMap.containsKey(tabActivityCairo)) {
Logger.printException(() -> "YouTube fixed the cairo notification icons");
}
enumMap.putIfAbsent(tabActivityCairo, fillBellCairoBlack);
}
}
public enum NavigationButton {
HOME("PIVOT_HOME", "TAB_HOME_CAIRO"),
SHORTS("TAB_SHORTS", "TAB_SHORTS_CAIRO"),
@@ -246,6 +277,10 @@ public final class NavigationBar {
* This tab will never be in a selected state, even if the create video UI is on screen.
*/
CREATE("CREATION_TAB_LARGE", "CREATION_TAB_LARGE_CAIRO"),
/**
* Only shown to automotive layout.
*/
EXPLORE("TAB_EXPLORE"),
SUBSCRIPTIONS("PIVOT_SUBSCRIPTIONS", "TAB_SUBSCRIPTIONS_CAIRO"),
/**
* Notifications tab. Only present when
@@ -283,8 +318,8 @@ public final class NavigationBar {
*
* All code calling this method should handle a null return value.
*
* <b>Due to issues with how YT processes physical back button events,
* this patch uses workarounds that can cause this method to take up to 75ms
* <b>Due to issues with how YT processes physical back button/gesture events,
* this patch uses workarounds that can cause this method to take up to 120ms
* if the device back button was recently pressed.</b>
*
* @return The active navigation tab.

View File

@@ -73,7 +73,7 @@ enum class PlayerType {
onChange(currentPlayerType)
}
@Volatile // value is read/write from different threads
@Volatile // Read/write from different threads.
private var currentPlayerType = NONE
/**

View File

@@ -46,6 +46,7 @@ enum class VideoState {
currentVideoState = value
}
@Volatile // Read/write from different threads.
private var currentVideoState: VideoState? = null
}
}

View File

@@ -150,11 +150,16 @@ public class SBRequester {
String end = String.format(Locale.US, TIME_TEMPLATE, endTime / 1000f);
String duration = String.format(Locale.US, TIME_TEMPLATE, videoLength / 1000f);
HttpURLConnection connection = getConnectionFromRoute(SBRoutes.SUBMIT_SEGMENTS, privateUserId, videoId, category, start, end, duration);
HttpURLConnection connection = getConnectionFromRoute(SBRoutes.SUBMIT_SEGMENTS,
privateUserId, videoId, category, start, end, duration);
final int responseCode = connection.getResponseCode();
String userMessage = switch (responseCode) {
case HTTP_STATUS_CODE_SUCCESS -> str("revanced_sb_submit_succeeded");
if (responseCode == HTTP_STATUS_CODE_SUCCESS) {
Utils.showToastLong(str("revanced_sb_submit_succeeded"));
return;
}
String userErrorMessage = switch (responseCode) {
case 409 -> str("revanced_sb_submit_failed_duplicate");
case 403 -> str("revanced_sb_submit_failed_forbidden",
Requester.parseErrorStringAndDisconnect(connection));
@@ -167,7 +172,7 @@ public class SBRequester {
// Message might be about the users account or an error too large to show in a toast.
// Use a dialog instead.
SponsorBlockUtils.showErrorDialog(userMessage);
SponsorBlockUtils.showErrorDialog(userErrorMessage);
} catch (SocketTimeoutException ex) {
Logger.printDebug(() -> "Timeout", ex);
Utils.showToastLong(str("revanced_sb_submit_failed_timeout"));

View File

@@ -8,6 +8,7 @@ import android.view.MotionEvent
import android.view.ViewGroup
import app.revanced.extension.shared.Logger.printDebug
import app.revanced.extension.shared.Logger.printException
import app.revanced.extension.youtube.settings.Settings
import app.revanced.extension.youtube.shared.PlayerType
import app.revanced.extension.youtube.swipecontrols.controller.AudioVolumeController
import app.revanced.extension.youtube.swipecontrols.controller.ScreenBrightnessController
@@ -232,5 +233,12 @@ class SwipeControlsHostActivity : Activity() {
@JvmStatic
var currentHost: WeakReference<SwipeControlsHostActivity> = WeakReference(null)
private set
/**
* Injection point.
*/
@Suppress("unused")
@JvmStatic
fun allowSwipeChangeVideo(original: Boolean): Boolean = Settings.SWIPE_CHANGE_VIDEO.get()
}
}

View File

@@ -1,5 +0,0 @@
package com.google.protos.youtube.api.innertube;
public class InnertubeContext$ClientInfo {
public int r;
}

View File

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

View File

@@ -461,10 +461,6 @@ public final class app/revanced/patches/reddit/customclients/joeyforreddit/detec
public static final fun getDisablePiracyDetectionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/reddit/customclients/redditisfun/api/FingerprintsKt {
public static final fun baseClientIdFingerprint (Ljava/lang/String;)Lapp/revanced/patcher/Fingerprint;
}
public final class app/revanced/patches/reddit/customclients/redditisfun/api/SpoofClientPatchKt {
public static final fun getSpoofClientPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -548,7 +544,6 @@ public final class app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentP
}
public final class app/revanced/patches/shared/misc/extension/ExtensionHook {
public final fun getFingerprint ()Lapp/revanced/patcher/Fingerprint;
public final fun invoke (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;)V
}
@@ -1106,6 +1101,10 @@ public final class app/revanced/patches/youtube/layout/buttons/overlay/HidePlaye
public static final fun getHidePlayerOverlayButtonsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatchKt {
public static final fun getChangeFormFactorPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatchKt {
public static final fun getHideEndscreenCardsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -1235,7 +1234,6 @@ public final class app/revanced/patches/youtube/layout/startupshortsreset/Disabl
}
public final class app/revanced/patches/youtube/layout/tablet/EnableTabletLayoutPatchKt {
public static final field EXTENSION_CLASS_DESCRIPTOR Ljava/lang/String;
public static final fun getEnableTabletLayoutPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -1268,10 +1266,6 @@ public final class app/revanced/patches/youtube/misc/backgroundplayback/Backgrou
public static final fun getBackgroundPlaybackPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/youtube/misc/check/CheckEnvironmentPatchKt {
public static final fun getCheckEnvironmentPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatchKt {
public static final fun getEnableDebuggingPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -1296,6 +1290,10 @@ public final class app/revanced/patches/youtube/misc/fix/playback/UserAgentClien
public static final fun getUserAgentClientSpoofPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/youtube/misc/fix/playbackspeed/FIxPlaybackSpeedWhilePlayingPatchKt {
public static final fun getFixPlaybackSpeedWhilePlayingPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatchKt {
public static final fun getGmsCoreSupportPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -1404,10 +1402,6 @@ public final class app/revanced/patches/youtube/misc/zoomhaptics/ZoomHapticsPatc
public static final fun getZoomHapticsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/youtube/shared/FingerprintsKt {
public static final fun getRollingNumberTextViewAnimationUpdateFingerprint ()Lapp/revanced/patcher/Fingerprint;
}
public final class app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatchKt {
public static final fun getForceOriginalAudioPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
fun baseClientIdFingerprint(string: String) = fingerprint {
internal fun baseClientIdFingerprint(string: String) = fingerprint {
strings("yyOCBp.RHJhDKd", string)
}

View File

@@ -92,7 +92,7 @@ fun sharedExtensionPatch(
}
class ExtensionHook internal constructor(
val fingerprint: Fingerprint,
private val fingerprint: Fingerprint,
private val insertIndexResolver: ((Method) -> Int),
private val contextRegisterResolver: (Method) -> String,
) {

View File

@@ -1,6 +1,7 @@
package app.revanced.patches.shared.misc.spoof
import app.revanced.patcher.fingerprint
import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
@@ -111,6 +112,23 @@ internal val buildMediaDataSourceFingerprint = fingerprint {
)
}
internal const val HLS_CURRENT_TIME_FEATURE_FLAG = 45355374L
internal val hlsCurrentTimeFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters("Z", "L")
literal {
HLS_CURRENT_TIME_FEATURE_FLAG
}
}
internal val nerdsStatsVideoFormatBuilderFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Ljava/lang/String;")
parameters("L")
strings("codecs=\"")
}
internal val patchIncludedExtensionMethodFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
returns("Z")

View File

@@ -10,8 +10,10 @@ import app.revanced.patcher.patch.BytecodePatchContext
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.util.findInstructionIndicesReversedOrThrow
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionOrThrow
import app.revanced.util.insertFeatureFlagBooleanOverride
import app.revanced.util.returnEarly
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
@@ -206,6 +208,34 @@ fun spoofVideoStreamsPatch(
""",
)
}
// endregion
// region Append spoof info.
nerdsStatsVideoFormatBuilderFingerprint.method.apply {
findInstructionIndicesReversedOrThrow(Opcode.RETURN_OBJECT).forEach { index ->
val register = getInstruction<OneRegisterInstruction>(index).registerA
addInstructions(
index,
"""
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->appendSpoofedClient(Ljava/lang/String;)Ljava/lang/String;
move-result-object v$register
"""
)
}
}
// endregion
// region Fix iOS livestream current time.
hlsCurrentTimeFingerprint.method.insertFeatureFlagBooleanOverride(
HLS_CURRENT_TIME_FEATURE_FLAG,
"$EXTENSION_CLASS_DESCRIPTOR->fixHLSCurrentTime(Z)Z"
)
// endregion
executeBlock()

View File

@@ -1,12 +1,23 @@
package app.revanced.patches.youtube.interaction.swipecontrols
import app.revanced.patcher.fingerprint
import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
internal val swipeControlsHostActivityFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
parameters()
custom { method, _ ->
method.definingClass == "Lapp/revanced/extension/youtube/swipecontrols/SwipeControlsHostActivity;"
method.definingClass == EXTENSION_CLASS_DESCRIPTOR
}
}
internal const val SWIPE_CHANGE_VIDEO_FEATURE_FLAG = 45631116L
internal val swipeChangeVideoFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
parameters("L")
literal {
SWIPE_CHANGE_VIDEO_FEATURE_FLAG
}
}

View File

@@ -10,6 +10,8 @@ import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.shared.misc.settings.preference.TextPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.playertype.playerTypeHookPatch
import app.revanced.patches.youtube.misc.playservice.is_19_23_or_greater
import app.revanced.patches.youtube.misc.playservice.is_19_25_or_greater
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.patches.youtube.shared.mainActivityFingerprint
@@ -17,6 +19,8 @@ import app.revanced.util.*
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/swipecontrols/SwipeControlsHostActivity;"
private val swipeControlsResourcePatch = resourcePatch {
dependsOn(
settingsPatch,
@@ -26,6 +30,12 @@ private val swipeControlsResourcePatch = resourcePatch {
execute {
addResources("youtube", "interaction.swipecontrols.swipeControlsResourcePatch")
if (is_19_25_or_greater) {
PreferenceScreen.SWIPE_CONTROLS.addPreferences(
SwitchPreference("revanced_swipe_change_video")
)
}
PreferenceScreen.SWIPE_CONTROLS.addPreferences(
SwitchPreference("revanced_swipe_brightness"),
SwitchPreference("revanced_swipe_volume"),
@@ -101,5 +111,16 @@ val swipeControlsPatch = bytecodePatch(
).toMutable()
}
}
// region patch to enable/disable swipe to change video.
if (is_19_23_or_greater) {
swipeChangeVideoFingerprint.method.insertFeatureFlagBooleanOverride(
SWIPE_CHANGE_VIDEO_FEATURE_FLAG,
"$EXTENSION_CLASS_DESCRIPTOR->allowSwipeChangeVideo(Z)Z"
)
}
// endregion
}
}

View File

@@ -0,0 +1,75 @@
package app.revanced.patches.youtube.layout.formfactor
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
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.ListPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionOrThrow
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/ChangeFormFactorPatch;"
@Suppress("unused")
val changeFormFactorPatch = bytecodePatch(
name = "Change form factor",
description = "Adds an option to change the UI appearance to a phone, tablet, or automotive device.",
) {
dependsOn(
sharedExtensionPatch,
settingsPatch,
addResourcesPatch,
)
compatibleWith(
"com.google.android.youtube"(
"18.38.44",
"18.49.37",
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.45.38",
"19.46.42",
"19.47.53",
),
)
execute {
addResources("youtube", "layout.formfactor.changeFormFactorPatch")
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
ListPreference(
"revanced_change_form_factor",
summaryKey = null,
)
)
createPlayerRequestBodyWithModelFingerprint.method.apply {
val formFactorEnumClass = formFactorEnumConstructorFingerprint.originalClassDef.type
val index = indexOfFirstInstructionOrThrow {
val reference = getReference<FieldReference>()
opcode == Opcode.IGET &&
reference?.definingClass == formFactorEnumClass &&
reference.type == "I"
}
val register = getInstruction<TwoRegisterInstruction>(index).registerA
addInstructions(
index + 1,
"""
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getFormFactor(I)I
move-result v$register
"""
)
}
}
}

View File

@@ -0,0 +1,49 @@
package app.revanced.patches.youtube.layout.formfactor
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.Method
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
internal val formFactorEnumConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
strings(
"UNKNOWN_FORM_FACTOR",
"SMALL_FORM_FACTOR",
"LARGE_FORM_FACTOR",
"AUTOMOTIVE_FORM_FACTOR"
)
}
internal val createPlayerRequestBodyWithModelFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("L")
parameters()
opcodes(Opcode.OR_INT_LIT16)
custom { method, _ ->
method.indexOfModelInstruction() >= 0 &&
method.indexOfReleaseInstruction() >= 0
}
}
private fun Method.indexOfModelInstruction() =
indexOfFirstInstruction {
val reference = getReference<FieldReference>()
reference?.definingClass == "Landroid/os/Build;" &&
reference.name == "MODEL" &&
reference.type == "Ljava/lang/String;"
}
internal fun Method.indexOfReleaseInstruction(): Int =
indexOfFirstInstruction {
val reference = getReference<FieldReference>()
reference?.definingClass == "Landroid/os/Build${'$'}VERSION;" &&
reference.name == "RELEASE" &&
reference.type == "Ljava/lang/String;"
}

View File

@@ -71,6 +71,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch {
SwitchPreference("revanced_hide_shorts_home"),
SwitchPreference("revanced_hide_shorts_subscriptions"),
SwitchPreference("revanced_hide_shorts_search"),
SwitchPreference("revanced_hide_shorts_history"),
PreferenceScreenPreference(
key = "revanced_shorts_player_screen",

View File

@@ -0,0 +1,67 @@
package app.revanced.patches.youtube.layout.player.fullscreen
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.ListPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.playercontrols.playerControlsPatch
import app.revanced.patches.youtube.misc.playertype.playerTypeHookPatch
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.patches.youtube.shared.autoRepeatFingerprint
import app.revanced.patches.youtube.shared.autoRepeatParentFingerprint
import app.revanced.util.addInstructionsAtControlFlowLabel
@Suppress("unused")
internal val exitFullscreenPatch = bytecodePatch(
name = "Exit fullscreen mode",
description = "Adds options to automatically exit fullscreen mode when a video reaches the end."
) {
compatibleWith(
"com.google.android.youtube"(
"18.38.44",
"18.49.37",
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.45.38",
"19.46.42",
"19.47.53",
)
)
dependsOn(
sharedExtensionPatch,
settingsPatch,
addResourcesPatch,
playerTypeHookPatch,
playerControlsPatch
)
// Cannot declare as top level since this patch is in the same package as
// other patches that declare same constant name with internal visibility.
@Suppress("LocalVariableName")
val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/ExitFullscreenPatch;"
execute {
addResources("youtube", "layout.player.fullscreen.exitFullscreenPatch")
PreferenceScreen.PLAYER.addPreferences(
ListPreference(
"revanced_exit_fullscreen",
summaryKey = null,
)
)
autoRepeatFingerprint.match(autoRepeatParentFingerprint.originalClassDef).method.apply {
addInstructionsAtControlFlowLabel(
implementation!!.instructions.lastIndex,
"invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->endOfVideoReached()V",
)
}
}
}

View File

@@ -1,66 +1,9 @@
package app.revanced.patches.youtube.layout.tablet
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.instructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.smali.ExternalLabel
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
import app.revanced.patches.youtube.layout.formfactor.changeFormFactorPatch
const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/TabletLayoutPatch;"
val enableTabletLayoutPatch = bytecodePatch(
name = "Enable tablet layout",
description = "Adds an option to enable tablet layout.",
) {
dependsOn(
sharedExtensionPatch,
settingsPatch,
addResourcesPatch,
)
compatibleWith(
"com.google.android.youtube"(
"18.38.44",
"18.49.37",
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.45.38",
"19.46.42",
"19.47.53",
),
)
execute {
addResources("youtube", "layout.tablet.enableTabletLayoutPatch")
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
SwitchPreference("revanced_tablet_layout"),
)
getFormFactorFingerprint.method.apply {
val returnIsLargeFormFactorIndex = instructions.lastIndex - 4
val returnIsLargeFormFactorLabel = getInstruction(returnIsLargeFormFactorIndex)
addInstructionsWithLabels(
0,
"""
invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->getTabletLayoutEnabled()Z
move-result v0
if-nez v0, :is_large_form_factor
""",
ExternalLabel(
"is_large_form_factor",
returnIsLargeFormFactorLabel,
),
)
}
}
}
@Deprecated("Use 'Change form factor' instead.")
val enableTabletLayoutPatch = bytecodePatch {
dependsOn(changeFormFactorPatch)
}

View File

@@ -1,25 +0,0 @@
package app.revanced.patches.youtube.layout.tablet
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val getFormFactorFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("L")
parameters("Landroid/content/Context;", "Ljava/util/List;")
opcodes(
Opcode.SGET_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT,
Opcode.IF_EQZ,
Opcode.SGET_OBJECT,
Opcode.RETURN_OBJECT,
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT_OBJECT,
Opcode.RETURN_OBJECT,
)
strings("")
}

View File

@@ -163,22 +163,31 @@ val themePatch = bytecodePatch(
}
// Fix the splash screen dark mode background color.
// In earlier versions of the app this is white and makes no sense for dark mode.
// This is only required for 19.32 and greater, but is applied to all targets.
// Only dark mode needs this fix as light mode correctly uses the custom color.
// In 19.32+ the dark mode splash screen is white and fades to black.
// Maybe it's a bug in YT, or maybe it intentionally. Who knows.
document("res/values-night/styles.xml").use { document ->
// Create a night mode specific override for the splash screen background.
val style = document.createElement("style")
style.setAttribute("name", "Theme.YouTube.Home")
style.setAttribute("parent", "@style/Base.V23.Theme.YouTube.Home")
val windowItem = document.createElement("item")
windowItem.setAttribute("name", "android:windowBackground")
windowItem.textContent = "@color/$splashBackgroundColor"
style.appendChild(windowItem)
val resourcesNode = document.getElementsByTagName("resources").item(0) as Element
resourcesNode.appendChild(style)
val childNodes = resourcesNode.childNodes
for (i in 0 until childNodes.length) {
val node = childNodes.item(i) as? Element ?: continue
val nodeAttributeName = node.getAttribute("name")
if (nodeAttributeName.startsWith("Theme.YouTube.Launcher")) {
val nodeAttributeParent = node.getAttribute("parent")
val style = document.createElement("style")
style.setAttribute("name", "Theme.YouTube.Home")
style.setAttribute("parent", nodeAttributeParent)
val windowItem = document.createElement("item")
windowItem.setAttribute("name", "android:windowBackground")
windowItem.textContent = "@color/$splashBackgroundColor"
style.appendChild(windowItem)
resourcesNode.removeChild(node)
resourcesNode.appendChild(style)
}
}
}
}
}

View File

@@ -4,7 +4,7 @@ import app.revanced.patches.shared.misc.checks.checkEnvironmentPatch
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
val checkEnvironmentPatch = checkEnvironmentPatch(
internal val checkEnvironmentPatch = checkEnvironmentPatch(
mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint,
extensionPatch = sharedExtensionPatch,
"com.google.android.youtube",

View File

@@ -4,6 +4,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
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.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
private const val EXTENSION_CLASS_DESCRIPTOR =
@@ -13,7 +14,10 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch(
name = "Check watch history domain name resolution",
description = "Checks if the device DNS server is preventing user watch history from being saved.",
) {
dependsOn(addResourcesPatch)
dependsOn(
sharedExtensionPatch,
addResourcesPatch
)
compatibleWith(
"com.google.android.youtube"(

View File

@@ -0,0 +1,61 @@
package app.revanced.patches.youtube.misc.fix.playbackspeed
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.smali.ExternalLabel
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.playertype.playerTypeHookPatch
import app.revanced.patches.youtube.misc.playservice.is_19_34_or_greater
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
import app.revanced.util.indexOfFirstInstructionOrThrow
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/FixPlaybackSpeedWhilePlayingPatch;"
/**
* Fixes a bug in YouTube 19.34+ where the playback speed
* can incorrectly reset to 1.0x under certain conditions.
*
* Reproduction steps using 19.34+
* 1. Open a video and start playback
* 2. Change the speed to any value that is not 1.0x.
* 3. Open the comments panel.
* 4. Tap any "N more replies" link at the bottom of a comment, or tap on a timestamp of a comment.
* 5. Pause the video
* 6. Resume the video
* 7. Playback speed will incorrectly change to 1.0x.
*/
@Suppress("unused")
val fixPlaybackSpeedWhilePlayingPatch = bytecodePatch{
dependsOn(
sharedExtensionPatch,
playerTypeHookPatch,
versionCheckPatch,
)
execute {
if (!is_19_34_or_greater) {
return@execute
}
playbackSpeedInFeedsFingerprint.method.apply {
val freeRegister = implementation!!.registerCount - parameters.size - 2
val playbackSpeedIndex = indexOfGetPlaybackSpeedInstruction(this)
val playbackSpeedRegister = getInstruction<TwoRegisterInstruction>(playbackSpeedIndex).registerA
val returnIndex = indexOfFirstInstructionOrThrow(playbackSpeedIndex, Opcode.RETURN_VOID)
addInstructionsWithLabels(
playbackSpeedIndex + 1,
"""
invoke-static { v$playbackSpeedRegister }, $EXTENSION_CLASS_DESCRIPTOR->playbackSpeedChanged(F)Z
move-result v$freeRegister
if-nez v$freeRegister, :do_not_change
""",
ExternalLabel("do_not_change", getInstruction(returnIndex))
)
}
}
}

View File

@@ -0,0 +1,38 @@
package app.revanced.patches.youtube.misc.fix.playbackspeed
import app.revanced.patcher.fingerprint
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionReversed
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.Method
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
/**
* This method is usually used to set the initial speed (1.0x) when playback starts from the feed.
* For some reason, in the latest YouTube, it is invoked even after the video has already started.
*/
internal val playbackSpeedInFeedsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("L")
opcodes(
Opcode.IGET,
Opcode.MUL_INT_LIT16,
Opcode.IGET_WIDE,
Opcode.CONST_WIDE_16,
Opcode.CMP_LONG,
Opcode.IF_EQZ,
Opcode.IF_LEZ,
Opcode.SUB_LONG_2ADDR,
)
custom { method, _ ->
indexOfGetPlaybackSpeedInstruction(method) >= 0
}
}
internal fun indexOfGetPlaybackSpeedInstruction(method: Method) =
method.indexOfFirstInstructionReversed {
opcode == Opcode.IGET &&
getReference<FieldReference>()?.type == "F"
}

View File

@@ -105,3 +105,15 @@ internal val pivotBarConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
strings("com.google.android.apps.youtube.app.endpoint.flags")
}
internal val imageEnumConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
strings("TAB_ACTIVITY_CAIRO")
}
internal val setEnumMapFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
literal {
ytFillBellId
}
}

View File

@@ -1,6 +1,7 @@
package app.revanced.patches.youtube.misc.navigation
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.instructions
import app.revanced.patcher.patch.PatchException
@@ -12,13 +13,16 @@ import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.shared.misc.mapping.resourceMappings
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.playertype.playerTypeHookPatch
import app.revanced.patches.youtube.misc.playservice.is_19_35_or_greater
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionOrThrow
import app.revanced.util.indexOfFirstInstructionReversedOrThrow
import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.Instruction
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
import com.android.tools.smali.dexlib2.util.MethodUtil
@@ -26,6 +30,8 @@ internal var imageOnlyTabResourceId = -1L
private set
internal var actionBarSearchResultsViewMicId = -1L
private set
internal var ytFillBellId = -1L
private set
private val navigationBarHookResourcePatch = resourcePatch {
dependsOn(resourceMappingPatch)
@@ -33,6 +39,7 @@ private val navigationBarHookResourcePatch = resourcePatch {
execute {
imageOnlyTabResourceId = resourceMappings["layout", "image_only_tab"]
actionBarSearchResultsViewMicId = resourceMappings["layout", "action_bar_search_results_view_mic"]
ytFillBellId = resourceMappings["drawable", "yt_fill_bell_black_24"]
}
}
@@ -144,6 +151,36 @@ val navigationBarHookPatch = bytecodePatch(description = "Hooks the active navig
"(${EXTENSION_NAVIGATION_BUTTON_DESCRIPTOR}Landroid/view/View;)V",
)
}
// Fix YT bug of notification tab missing the filled icon.
if (is_19_35_or_greater) {
val cairoNotificationEnumReference = with(imageEnumConstructorFingerprint) {
val stringIndex = stringMatches!!.first().index
val cairoNotificationEnumIndex = method.indexOfFirstInstructionOrThrow(stringIndex) {
opcode == Opcode.SPUT_OBJECT
}
method.getInstruction<ReferenceInstruction>(cairoNotificationEnumIndex).reference
}
setEnumMapFingerprint.method.apply {
val enumMapIndex = indexOfFirstInstructionReversedOrThrow {
val reference = getReference<MethodReference>()
opcode == Opcode.INVOKE_VIRTUAL &&
reference?.definingClass == "Ljava/util/EnumMap;" &&
reference.name == "put" &&
reference.parameterTypes.firstOrNull() == "Ljava/lang/Enum;"
}
val instruction = getInstruction<FiveRegisterInstruction>(enumMapIndex)
addInstructions(
enumMapIndex + 1,
"""
sget-object v${instruction.registerD}, $cairoNotificationEnumReference
invoke-static { v${instruction.registerC}, v${instruction.registerD} }, $EXTENSION_CLASS_DESCRIPTOR->setCairoNotificationFilledIcon(Ljava/util/EnumMap;Ljava/lang/Enum;)V
"""
)
}
}
}
}

View File

@@ -12,13 +12,23 @@ internal val playerTopControlsInflateFingerprint = fingerprint {
literal { controlsLayoutStub }
}
internal val playerControlsExtensionHookListenersExistFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
returns("Z")
parameters()
custom { methodDef, classDef ->
methodDef.name == "fullscreenButtonVisibilityCallbacksExist" &&
classDef.type == EXTENSION_CLASS_DESCRIPTOR
}
}
internal val playerControlsExtensionHookFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
returns("V")
parameters("Z")
custom { methodDef, classDef ->
methodDef.name == "fullscreenButtonVisibilityChanged" &&
classDef.type == "Lapp/revanced/extension/youtube/patches/PlayerControlsPatch;"
classDef.type == EXTENSION_CLASS_DESCRIPTOR
}
}

View File

@@ -189,13 +189,18 @@ fun injectVisibilityCheckCall(descriptor: String) {
"invoke-static { p1 , p2 }, $descriptor->changeVisibility(ZZ)V",
)
if (!visibilityImmediateCallbacksExistModified) {
visibilityImmediateCallbacksExistModified = true
visibilityImmediateCallbacksExistMethod.returnEarly(true)
}
visibilityImmediateMethod.addInstruction(
visibilityImmediateInsertIndex++,
"invoke-static { p0 }, $descriptor->changeVisibilityImmediate(Z)V",
)
}
private const val EXTENSION_CLASS_DESCRIPTOR =
internal const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/PlayerControlsPatch;"
private lateinit var inflateTopControlMethod: MutableMethod
@@ -209,6 +214,9 @@ private var inflateBottomControlRegister: Int = -1
private lateinit var visibilityMethod: MutableMethod
private var visibilityInsertIndex: Int = 0
private var visibilityImmediateCallbacksExistModified = false
private lateinit var visibilityImmediateCallbacksExistMethod : MutableMethod
private lateinit var visibilityImmediateMethod: MutableMethod
private var visibilityImmediateInsertIndex: Int = 0
@@ -266,6 +274,7 @@ val playerControlsPatch = bytecodePatch(
)
}
visibilityImmediateCallbacksExistMethod = playerControlsExtensionHookListenersExistFingerprint.method
visibilityImmediateMethod = playerControlsExtensionHookFingerprint.method
// A/B test for a slightly different bottom overlay controls,

View File

@@ -6,6 +6,7 @@ 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.resourcePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
@@ -18,9 +19,14 @@ import app.revanced.patches.shared.misc.settings.settingsPatch
import app.revanced.patches.youtube.misc.check.checkEnvironmentPatch
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.fix.cairo.disableCairoSettingsPatch
import app.revanced.patches.youtube.misc.fix.playbackspeed.fixPlaybackSpeedWhilePlayingPatch
import app.revanced.util.*
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter
import com.android.tools.smali.dexlib2.util.MethodUtil
// Used by a fingerprint() from SettingsPatch.
@@ -118,6 +124,7 @@ val settingsPatch = bytecodePatch(
settingsResourcePatch,
addResourcesPatch,
disableCairoSettingsPatch,
fixPlaybackSpeedWhilePlayingPatch,
// Currently there is no easy way to make a mandatory patch,
// so for now this is a dependent of this patch.
checkEnvironmentPatch,
@@ -148,6 +155,10 @@ val settingsPatch = bytecodePatch(
inputType = InputType.TEXT_MULTI_LINE,
tag = "app.revanced.extension.shared.settings.preference.ImportExportPreference",
),
ListPreference(
key = "revanced_language",
summaryKey = null
)
)
setThemeFingerprint.method.let { setThemeMethod ->
@@ -187,6 +198,32 @@ val settingsPatch = bytecodePatch(
licenseActivityOnCreateFingerprint.classDef.apply {
methods.removeIf { it.name != "onCreate" && !MethodUtil.isConstructor(it) }
}
// Add context override to force a specific settings language.
licenseActivityOnCreateFingerprint.classDef.apply {
val attachBaseContext = ImmutableMethod(
type,
"attachBaseContext",
listOf(ImmutableMethodParameter("Landroid/content/Context;", null, null)),
"V",
AccessFlags.PROTECTED.value,
null,
null,
MutableMethodImplementation(3),
).toMutable().apply {
addInstructions(
"""
invoke-static { p1 }, $activityHookClassDescriptor->getAttachBaseContext(Landroid/content/Context;)Landroid/content/Context;
move-result-object p1
invoke-super { p0, p1 }, $superclass->attachBaseContext(Landroid/content/Context;)V
return-void
"""
)
}
methods.add(attachBaseContext)
}
}
finalize {

View File

@@ -38,10 +38,23 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch({
preferences = setOf(
SwitchPreference("revanced_spoof_video_streams"),
ListPreference(
"revanced_spoof_video_streams_language",
summaryKey = null
"revanced_spoof_video_streams_client_type",
summaryKey = null,
),
NonInteractivePreference("revanced_spoof_video_streams_about")
NonInteractivePreference(
// Requires a key and title but the actual text is chosen at runtime.
key = "revanced_spoof_video_streams_about_android",
tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference"
),
ListPreference(
key = "revanced_spoof_video_streams_language",
summaryKey = null,
// Language strings are declared in Setting patch.
entriesKey = "revanced_language_entries",
entryValuesKey = "revanced_language_entry_values"
),
SwitchPreference("revanced_spoof_video_streams_ios_force_avc"),
SwitchPreference("revanced_spoof_streaming_data_stats_for_nerds"),
),
),
)

View File

@@ -51,7 +51,7 @@ internal val mainActivityOnCreateFingerprint = fingerprint {
}
}
val rollingNumberTextViewAnimationUpdateFingerprint = fingerprint {
internal val rollingNumberTextViewAnimationUpdateFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("Landroid/graphics/Bitmap;")

View File

@@ -31,8 +31,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
@Suppress("unused")
val forceOriginalAudioPatch = bytecodePatch(
name = "Force original audio",
description = "Adds an option to always use the original audio track. " +
"This patch does nothing if 'Spoof video streams' is enabled.",
description = "Adds an option to always use the original audio track.",
) {
dependsOn(
sharedExtensionPatch,
@@ -58,7 +57,10 @@ val forceOriginalAudioPatch = bytecodePatch(
addResources("youtube", "video.audio.forceOriginalAudioPatch")
PreferenceScreen.VIDEO.addPreferences(
SwitchPreference("revanced_force_original_audio")
SwitchPreference(
key = "revanced_force_original_audio",
tag = "app.revanced.extension.youtube.settings.preference.ForceOriginalAudioSwitchPreference"
)
)
fun Method.firstFormatStreamingModelCall(

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -445,6 +445,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">قيمة شفافية خلفية واجهة التمرير</string>
<string name="revanced_swipe_threshold_title">مقدار حد التمرير</string>
<string name="revanced_swipe_threshold_summary">الحد الأدنى من التمرير قبل اكتشاف الإيماءة</string>
<string name="revanced_swipe_change_video_title">تفعيل السحب لتغيير مقاطع الفيديو</string>
<string name="revanced_swipe_change_video_summary_on">سيؤدي التمرير في وضع ملء الشاشة إلى التغيير إلى الفيديو التالي/السابق</string>
<string name="revanced_swipe_change_video_summary_off">لن يؤدي التمرير في وضع ملء الشاشة إلى التغيير إلى الفيديو التالي/السابق</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">تعطيل التَّرْجَمَة التلقائية</string>
@@ -628,15 +631,18 @@ Second \"item\" text"</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">تم إخفاء Shorts في موجز الصفحة الرئيسية</string>
<string name="revanced_hide_shorts_home_summary_off">يتم عرض 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">تم إخفاء Shorts في موجز الاشتراكات</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">يتم عرض 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">تم إخفاء Shorts في نتائج البحث</string>
<string name="revanced_hide_shorts_search_summary_off">يتم عرض 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>
@@ -738,6 +744,13 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_popup_panels_summary_on">تم إخفاء لوحات المشغل المنبثقة</string>
<string name="revanced_hide_player_popup_panels_summary_off">يتم عرض لوحات المشغل المنبثقة</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">الخروج من وضع ملء الشاشة عند نهاية الفيديو</string>
<string name="revanced_exit_fullscreen_entry_1">معطل</string>
<string name="revanced_exit_fullscreen_entry_2">عمودي</string>
<string name="revanced_exit_fullscreen_entry_3">أفقي</string>
<string name="revanced_exit_fullscreen_entry_4">عمودي وأفقي</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">فتح مقاطع الفيديو في ملء الشاشة</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">يتم فتح الفيديوهات في وضع ملء الشاشة</string>
@@ -1007,6 +1020,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_about">لمحة</string>
<string name="revanced_sb_about_api_sum">يتم توفير البيانات بواسطة SponsorBlock API. انقر هنا لمعرفة المزيد ومشاهدة التنزيلات لمنصات أخرى</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">شكل نموذج التخطيط</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>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">خِداع إصدار التطبيق</string>
<string name="revanced_spoof_app_version_summary_on">تم تغيير اصدار التطبيق</string>
@@ -1020,6 +1039,7 @@ Second \"item\" text"</string>
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">الهدف من تغيير إصدار التطبيق</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - استعادة أيقونات مشغل Shorts القديمة</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - \"إعادة الرموز القديمة للشريط والأدوات\"</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - استعادة RYD على Shorts بوضع التخفي</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - استعادة قائمة سرعة الفيديو العريضة &amp; الجودة</string>
@@ -1063,12 +1083,6 @@ Second \"item\" text"</string>
<string name="revanced_shorts_autoplay_background_summary_on">سيتم تشغيل فيديوهات Shorts تلقائيًا في الخلفية</string>
<string name="revanced_shorts_autoplay_background_summary_off">سيتم تكرار فيديوهات Shorts في الخلفية</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">تمكين تصميم الجهاز اللوحي</string>
<string name="revanced_tablet_layout_summary_on">تم تمكين تصميم الجهاز اللوحي</string>
<string name="revanced_tablet_layout_summary_off">تم تعطيل تصميم الجهاز اللوحي</string>
<string name="revanced_tablet_layout_user_dialog_message">لا تظهر منشورات المجتمع على تخطيطات الجهاز اللوحي</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">المشغل المصغر</string>
<string name="revanced_miniplayer_screen_summary">تغيير نمط المشغل المصغر داخل التطبيق</string>
@@ -1232,6 +1246,7 @@ 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>
<string name="revanced_force_original_audio_not_available">لاستخدام هذه الميزة، غيّر تقليد تدفقات البيانات إلى نوع عميل iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1287,12 +1302,26 @@ Second \"item\" text"</string>
قد لا يعمل تشغيل الفيديو"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو.</string>
<string name="revanced_spoof_video_streams_client_type_title">العميل الافتراضي</string>
<string name="revanced_spoof_video_streams_about_title">آثار جانبية وهمية</string>
<string name="revanced_spoof_video_streams_about_summary">"- قد لا يتم تشغيل مقاطع فيديو للأطفال
- القائمة صوت المسار مفقودة
- مستوى الصوت الثابت غير متاح
- خيار فرض الصوت الأصلي غير متاح"</string>
<string name="revanced_spoof_video_streams_language_title">لغة البث الصوتي الافتراضية</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (no auth)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">فرض iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">يتم إجبار ترميز فيديو على AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">يتم تحديد ترميز فيديو تلقائيًا</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"قد يؤدي تمكين هذا إلى تحسين عمر البطارية وإصلاح تقطيع التشغيل.
AVC لديه حد أقصى للدقة 1080 بكسل ، لا يتوفر ترميز الصوت Opus ، وسوف يستخدم تشغيل الفيديو بيانات إنترنت أكثر من VP9 أو AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">آثار جانبية لتزييف iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• قد لا يتم تشغيل الأفلام أو مقاطع الفيديو المدفوعة
• مستوى الصوت الثابت غير متوفر
• تنتهي مقاطع الفيديو قبل ثانية واحدة"</string>
<string name="revanced_spoof_video_streams_about_android_title">تأثيرات نظام الجهاز الأندرويد</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• قائمة قائمة الصوت مفقودة
• لا يتوفر بحجم الصوت متاح
• تثبيت الصوت الأصلي ليس غير متوافر"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">اطلاع في الإحصائيات للنردز</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">يظهر نوع العميل في الإحصائيات للنردز</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">يتم العميل مخفي في الإحصائيات للنردز</string>
<string name="revanced_spoof_video_streams_language_title">لغة البث الإفتراضي القياسي لافتراضي الاهتداري</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">لغة التطبيق</string>
<string name="revanced_spoof_video_streams_language_AR">العربية</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaijani</string>
@@ -1329,8 +1358,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polish</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portuguese (Brazil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portuguese (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">البرتغالية</string>
<string name="revanced_spoof_video_streams_language_RO">Romanian</string>
<string name="revanced_spoof_video_streams_language_RU">Russian</string>
<string name="revanced_spoof_video_streams_language_SK">Slovak</string>

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -220,6 +222,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -24,16 +24,15 @@ Second \"item\" text"</string>
<patch id="misc.checks.checkEnvironmentPatch">
<string name="revanced_check_environment_failed_title">Yoxlamalar uğursuz oldu</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Xidməti veb saytı</string>
<string name="revanced_check_environment_dialog_ignore_button">Yan keç</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Bu tətbiq sizin tərəfinizdən yamaqlanmayıb.&lt;/h5&gt;&lt;br&gt;Bu tətbiq düzgün işləməyə bilər, &lt;b&gt;istifadə etmək zərərli və ya hətta təhlükəli ola bilər&lt;/b&gt;.&lt;br&gt;&lt;br&gt;Bu yoxlamalar bu tətbiqin əvvəldən yamaqlandığını və ya başqasından əldə edildiyini göstərir:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt; &lt;br&gt;onu silməyiniz və özünüz yamaqlamağınız tövsiyə olunur. &lt;/b&gt;təsdiqlənmiş və təhlükəsiz tətbiq istifadə etdiyinizə əmin olmaq üçün. &lt;p&gt;&lt;br&gt; İnkar edilməzsə, bu xəbərdarlıq yalnız iki dəfə göstəriləcək.</string>
<string name="revanced_check_environment_dialog_ignore_button">Məhəl qoyma</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Bu tətbiq sizin tərəfinizdən yamaqlanmayıb.&lt;/h5&gt;&lt;br&gt;Bu tətbiq düzgün işləməyə bilər, &lt;b&gt;istifadə etmək zərərli və ya hətta təhlükəli ola bilər&lt;/b&gt;.&lt;br&gt;&lt;br&gt;Bu yoxlamalar bu tətbiqin əvvəl yamaqlandığını və ya başqasından əldə edildiyini bildirir:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt; &lt;br&gt;onu silməyiniz və özünüz yamaqlamağınız tövsiyə olunur. &lt;/b&gt;təsdiqlənmiş və təhlükəsiz tətbiq istifadə etdiyinizə əmin olmaq üçün. &lt;p&gt;&lt;br&gt; Ləğv edilməzsə, bu xəbərdarlıq yalnız iki dəfə göstəriləcək.</string>
<string name="revanced_check_environment_not_same_patching_device">Fərqli cihazda yamaqlanıb</string>
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager tərəfindən quraşdırılmayıb</string>
<string name="revanced_check_environment_not_near_patch_time">10 dəqiqədən çox əvvəl yamaqlanıb</string>
<string name="revanced_check_environment_not_near_patch_time_days">%s gün əvvəl yamaqlanıb</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">APK quruluş tarixi pozulub</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">APK qurulma vaxtı pozulub</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_title">\"ReVanced\"</string>
<string name="revanced_settings_confirm_user_dialog_title">Davam etmək istəyirsiniz?</string>
<string name="revanced_settings_reset">Sıfırla</string>
<string name="revanced_settings_restart_title">Yenilə və yenidən başlat</string>
@@ -57,17 +56,17 @@ 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. -->
<string name="gms_core_toast_not_installed_message">MicroG GmsCore quraşdırılmayıb. Bunu quraşdır.</string>
<string name="gms_core_dialog_title">Fəaliyyət lazımdır</string>
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore-un arxaplanda işləməsi üçün icazəsi yoxdur.
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore-un arxa planda işləməsi üçün icazəsi yoxdur.
Telefonunuz üçün \"Tətbiqimi öldürmə\" bələdçisinə əməl edin və təlimatları MicroG quraşdırmanıza tətbiq edin.
Telefonunuz üçün \"Tətbiqimi dayandırma\" bələdçisinə əməl edin və təlimatları MicroG quraşdırmanıza tətbiq edin.
Bu, tətbiqin işləməsi üçün tələb olunur."</string>
<string name="gms_core_dialog_open_website_text">Veb saytı</string>
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"Problemsiz işləməsi üçün MicroG GmsCore batareya optimallaşdırmaları sıradan çıxarılmalıdır.
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"Problemlərin olmaması üçün MicroG GmsCore batareya optimallaşması qapadılmalıdır.
MicroG üçün batareya optimallaşdırmasını sıradan çıxartmaq, batareya istifadəsinə mənfi təsir etməyəcək.
MicroG üçün batareya optimallaşmasın qapatma batareya istifadəsinə mənfi təsir etməyəcək.
Davam düyməsinə toxunun və optimallaşdırma dəyişikliklərinə icazə verin."</string>
Davam et düyməsinə toxun və optimallaşdırma dəyişikliklərin qəbul et."</string>
<string name="gms_core_dialog_continue_text">Davam et</string>
</patch>
</app>
@@ -82,10 +81,10 @@ Davam düyməsinə toxunun və optimallaşdırma dəyişikliklərinə icazə ver
<string name="revanced_settings_screen_07_seekbar_title">Axtarış çubuğu</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Sürüşdürmə nəzarətçiləri</string>
<string name="revanced_settings_screen_11_misc_title">Müxtəlif</string>
<string name="revanced_settings_screen_12_video_title">\"Video\"</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Shorts arxa plan oynatmasın bağla</string>
<string name="revanced_shorts_disable_background_playback_title">Shorts arxa plan oynatmasın qapat</string>
<string name="revanced_shorts_disable_background_playback_summary_on">Shorts arxa plan oynatma qapalıdır</string>
<string name="revanced_shorts_disable_background_playback_summary_off">Shorts arxa plan oynatma aktivdir</string>
</patch>
@@ -104,9 +103,9 @@ Davam düyməsinə toxunun və optimallaşdırma dəyişikliklərinə icazə ver
<string name="revanced_debug_toast_on_error_title">ReVanced xətasında ani bildiriş göstər</string>
<string name="revanced_debug_toast_on_error_summary_on">Xəta baş verərsə bildiriş göstər</string>
<string name="revanced_debug_toast_on_error_summary_off">Xəta baş verərsə bildiriş göstərmə</string>
<string name="revanced_debug_toast_on_error_user_dialog_message">"Xəta bildirişlərini söndürmək, bütün ReVanced xəta bildirişlərini gizlədir.
<string name="revanced_debug_toast_on_error_user_dialog_message">"Xəta ani bildirişlərin qapatmaq, bütün ReVanced xəta bildirişlərin gizlədir.
Gözlənilməz tədbirlər barədə bildiriş almayacaqsınız."</string>
Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
</patch>
<patch id="layout.hide.general.hideLayoutComponentsPatch">
<string name="revanced_disable_like_subscribe_glow_title">Bəyən/abunə ol düymə parıltısın söndür</string>
@@ -125,12 +124,12 @@ Gözlənilməz tədbirlər barədə bildiriş almayacaqsınız."</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">"Rəflər gizlidir, məsələn:
<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 edin
• Daha çox kanallar kəşf et
• Alış-veriş
Yenidən izlə"</string>
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. -->
@@ -204,8 +203,8 @@ Gözlənilməz tədbirlər barədə bildiriş almayacaqsınız."</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">Sürətli fəaliyyətlər gizlədilir</string>
<string name="revanced_hide_quick_actions_summary_off">Sürətli fəaliyyətlər göstərilir</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>
@@ -279,11 +278,11 @@ Gözlənilməz tədbirlər barədə bildiriş almayacaqsınız."</string>
<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 Doodles ilinin bir neçə günüstərilir.
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodle-ları hər il bir neçə gün görünür.
Əgər Doodle hazırda sizin bölgənizdə göstərilirsə və bu gizlətmə parametr açıqdırsa, axtarış çubuğunun altındakı filtr çubuğu da gizlənəcək."</string>
Ə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_custom_filter_screen_title">Şəxsi filtr</string>
<string name="revanced_custom_filter_screen_summary">Fərdi filtrlər ilə elementləri gizlət</string>
<string name="revanced_custom_filter_screen_summary">Fərdi filtrlər işdərək elementləri gizlət</string>
<string name="revanced_custom_filter_title">Fərdi filtri aktivləşdir</string>
<string name="revanced_custom_filter_summary_on">Fərdi filtr aktivdir</string>
<string name="revanced_custom_filter_summary_off">Fərdi filtr qeyri-aktivdir</string>
@@ -305,18 +304,18 @@ Gözlənilməz tədbirlər barədə bildiriş almayacaqsınız."</string>
<string name="revanced_hide_keyword_content_phrases_title">Gizlədiləcək açar sözlər</string>
<!-- For localization it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
<string name="revanced_hide_keyword_content_phrases_summary">"Kənarda qoyulacaq açar sözlər və cümlələr, yeni sətirlərlə ayrılmışdır
<string name="revanced_hide_keyword_content_phrases_summary">"Yeni sətirlərlə ayrılan, gizlədiləcək açar sözlər və ifadələr
Açar sözlər kanal adları və ya video başlıqlarında göstərilən hər hansı mətn ola bilər.
Açar sözlər kanal adları və ya video adlarında göstərilən istənilən mətn ola bilər.
Orta hərfləri böyük hərflərlə olan sözlər böyük hərflərlə yazılmalıdır (məsələn: iPhone, TikTok, LeBlanc)"</string>
Ortada böyük hərflli sözlər belə yerləşdirilməlidir (yəni: iPhone, TikTok, LeBlanc)"</string>
<string name="revanced_hide_keyword_content_about_title">Açar söz filtrləməsi haqqında</string>
<string name="revanced_hide_keyword_content_about_summary">"Ana səhifə/Abunəlik/Axtarış nəticələri açar söz ifadələrinə uyğun olan məzmunu gizlətmək üçün süzülür
<string name="revanced_hide_keyword_content_about_summary">"Ev/Abunəlik/Axtarış nəticələri açar söz ifadələrinə uyğun olan məzmunu gizlətmək üçün çeşidlənir
Məhdudiyyətlər
Şortlar kanal adı ilə gizlənə bilməz
• Bəzi UI komponentləri gizlənə bilməz
• Açar söz axtarmaq heç bir nəticə verməyə bilər"</string>
Shorts-lar kanal adı ilə gizlənə bilməz
• Bəzi UI hissəcikləri gizlənə bilməz
• Açar söz axtarma nəticə verməyə bilər"</string>
<string name="revanced_hide_keyword_content_about_whole_words_title">Bütün sözləri uyğunlaşdır</string>
<!-- Translations _must_ use a localized example. For languages that do not use spaces between words (Chinese, Japanese, etc) the English AI example should be used since no localized examples exist. Or if using machine translations, or if nobody wants to think of a localized example, then the English 'ai' example should be left as-is. -->
<string name="revanced_hide_keyword_content_about_whole_words_summary">Açar söz/frazanın qoşa dırnaqlarla əhatə olunması video adları və kanal adlarının qismən uyğunlaşmasına mane olacaq &lt;br&gt;&lt;br&gt;Məsələn,&lt;br&gt;&lt;b&gt;\"ai\"&lt;/b&gt; videonu gizlədəcək:&lt;b&gt;How does AI work?&lt;/b&gt;&lt;br&gt; lakin gizlətməyəcək: Düzgün;&lt;b&gt;What does fair use mean?&lt;/b&gt;</string>
@@ -332,7 +331,7 @@ Məhdudiyyətlər
<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_fullscreen_ads_title">Tam ekran reklamlarını gizlət</string>
<string name="revanced_hide_fullscreen_ads_summary_on">"Tam ekran reklam gizlidir
<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>
@@ -348,14 +347,14 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_hide_products_banner_title">Məhsullara baxma 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_player_store_shelf_title">Oynadıcı alış-veriş rəfini gizlət</string>
<string name="revanced_hide_player_store_shelf_title">Oynadıcı alış-veriş 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 açıqlama alış-veriş linklər gizlə</string>
<string name="revanced_hide_shopping_links_title">Video açıqlamada alış-veriş linklərin gizlə</string>
<string name="revanced_hide_shopping_links_summary_on">Alış-veriş bağlantıları gizlədilir</string>
<string name="revanced_hide_shopping_links_summary_off">Alış-veriş bağlantıları göstərilir</string>
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağaza ziyarət\" düymə gizlə</string>
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağazaya ziyarət\" düyməsin gizlə</string>
<string name="revanced_hide_visit_store_button_summary_on">Düymə gizlidir</string>
<string name="revanced_hide_visit_store_button_summary_off">Düymə göstərilir</string>
<string name="revanced_hide_web_search_results_title">Veb axtarış nəticələrini gizlət</string>
@@ -381,17 +380,17 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_share_copy_url_success">URL buferə köçürüldü</string>
<string name="revanced_share_copy_url_timestamp_success">Vaxt möhürlü URL köçürüldü</string>
<string name="revanced_copy_video_url_title">Video URL-i köçürmə düyməsin göstər</string>
<string name="revanced_copy_video_url_summary_on">Düymə göstərilir. Video URL-sini köçürtmək üçün toxunun. Vaxt möhürlü video URL-sini köçürtmək üçün basılı tutun</string>
<string name="revanced_copy_video_url_summary_on">Düymə göstərilir. Video URL-sini köçürmək üçün toxun. Vaxt möhürlü video URL-sini köçürmək üçün basılı saxla</string>
<string name="revanced_copy_video_url_summary_off">Düymə göstərilmir</string>
<string name="revanced_copy_video_url_timestamp_title">Vaxt möhürü URL köçür düyməsi göstər</string>
<string name="revanced_copy_video_url_timestamp_summary_on">Düymə göstərilir. Vaxt möhürlü video URL-sini köçürtmək üçün toxunun. Vaxt möhürü olmadan köçürtmək üçün basılı tutun</string>
<string name="revanced_copy_video_url_timestamp_summary_on">Düymə göstərilir. Vaxt möhürlü video URL-sini köçürmək üçün toxun. Vaxt möhürü olmadan köçürmək üçün basılı saxla</string>
<string name="revanced_copy_video_url_timestamp_summary_off">Düymə göstərilmir</string>
</patch>
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
<string name="revanced_remove_viewer_discretion_dialog_title">İzləyici mülahizə dialoqun sil</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_on">Dialoq silindi</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ə avtomatik qəbul edir.</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.downloads.downloadsResourcePatch">
<string name="revanced_external_downloader_screen_title">Xarici yükləmələr</string>
@@ -401,25 +400,25 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_external_downloader_summary_off">Yükləmə 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' -->
<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əyicini açır</string>
<string name="revanced_external_downloader_action_button_summary_off">Yükləmə düyməsi tətbiqdəki standart yükləyicini açır</string>
<string name="revanced_external_downloader_action_button_summary_on">Yükləmə düyməsi, xarici yükləyiciniziı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>
<string name="revanced_external_downloader_name_title">Yükləyici paketi adı</string>
<string name="revanced_external_downloader_name_summary">NewPipe və ya Seal kimi quraşdırılmış xarici yükləmə tətbiqinizin paket adı</string>
<string name="revanced_external_downloader_name_summary">NewPipe və ya Seal kimi quraşdırılan xarici yükləmə tətbiqinizin paket adı</string>
<string name="revanced_external_downloader_not_installed_warning">%s quraşdırılmayıb. Lütfən, bunu quraşdır.</string>
</patch>
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
<string name="revanced_disable_precise_seeking_gesture_title">Dəqiq axtarış jestini qeyri-aktiv edin</string>
<string name="revanced_disable_precise_seeking_gesture_title">Dəqiq axtarış jestini qapadın</string>
<string name="revanced_disable_precise_seeking_gesture_summary_on">Jest qeyri-aktiv edilib</string>
<string name="revanced_disable_precise_seeking_gesture_summary_off">Jest aktivləşdirilib</string>
</patch>
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
<string name="revanced_seekbar_tapping_title">Axtarış çubuğuna toxunmanı aktivləşdir</string>
<string name="revanced_seekbar_tapping_summary_on">Axtarış çubuğuna toxunma aktivdir</string>
<string name="revanced_seekbar_tapping_summary_off">Axtarış çubuğuna toxunma qeyri-aktiv edilib</string>
<string name="revanced_seekbar_tapping_title">Axtarış çubuğu toxunmasını aktivləşdir</string>
<string name="revanced_seekbar_tapping_summary_on">Axtarış çubuğu toxunması aktivdir</string>
<string name="revanced_seekbar_tapping_summary_off">Axtarış çubuğu toxunması qapalıdır</string>
</patch>
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
<string name="revanced_swipe_brightness_title">Parlaqlıq jestini aktivləşdir</string>
<string name="revanced_swipe_brightness_summary_on">Parlaqlıq sürüşdürməsi aktivləşdirilir</string>
<string name="revanced_swipe_brightness_summary_on">Parlaqlıq sürüşdürmə aktivdir</string>
<string name="revanced_swipe_brightness_summary_off">Parlaqlıq sürüşdürmə qeyri-aktivdir</string>
<string name="revanced_swipe_volume_title">Səs səviyyəsi jestini aktivləşdir</string>
<string name="revanced_swipe_volume_summary_on">Səs səviyyəsin sürüşdürmə aktivdir</string>
@@ -434,9 +433,9 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Tam ekrana keçərkən və ya çıxarkən parlaqlığı saxla və bərpa et</string>
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Tam ekrana keçərkən və ya çıxarkən parlaqlığı saxlama və bərpa etmə</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Avto-parlaqlıq jestini aktivləşdir</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Parlaqlığı ən aşağı dəyərə sürüşdürəndə avto-parlaqlıq aktivləşir</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Parlaqlıq ən aşağı dəyərinə sürüşdürüləndə avto-parlaqlıq aktivləşir</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Parlaqlığı ən aşağı dəyərə sürüşdürəndə avto-parlaqlıq aktivləşmir</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Avtomatik</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Birbaşa</string>
<string name="revanced_swipe_overlay_timeout_title">Sürüşdürmə örtüyü müddəti</string>
<string name="revanced_swipe_overlay_timeout_summary">Örtüyün göründüyü millisaniyələrin sayı</string>
<string name="revanced_swipe_text_overlay_size_title">Örtük mətn ölçüsü dəyişdirmə</string>
@@ -445,11 +444,14 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Sürüşdürmə örtüyü arxa fonunun görünməsi</string>
<string name="revanced_swipe_threshold_title">Sürüşdürmə böyüklük həddi</string>
<string name="revanced_swipe_threshold_summary">Sürüşdürmənin icra edilməsi üçün son dəyər</string>
<string name="revanced_swipe_change_video_title">Videoları ötürmək üçün sürüşdürməni aktiv et</string>
<string name="revanced_swipe_change_video_summary_on">Tam ekran rejimində sürüşdürmə növbəti/əvvəlki videoya ötürəcək</string>
<string name="revanced_swipe_change_video_summary_off">Tam ekran rejimində sürüşdürmə növbəti/əvvəlki videoya ötürməyəcək</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Avtomatik titrləri qeyri-aktiv et</string>
<string name="revanced_auto_captions_summary_on">Avtomatik titrlər qeyri-aktivdir</string>
<string name="revanced_auto_captions_summary_off">Avtomatik titrlər aktivləşdirilir</string>
<string name="revanced_auto_captions_summary_off">Avtomatik titrlər aktivdir</string>
</patch>
<patch id="layout.buttons.action.hideButtonsPatch">
<string name="revanced_hide_buttons_screen_title">Fəaliyyət düymələri</string>
@@ -489,7 +491,7 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">
<string name="revanced_navigation_buttons_screen_title">Fəaliyyət düymələri</string>
<string name="revanced_navigation_buttons_screen_summary">Fəaliyyət çubuğundakı düymələri gizlət və ya dəyiş</string>
<string name="revanced_navigation_buttons_screen_summary">Fəaliyyət cərgəsindəki düymələri gizlət və ya dəyiş</string>
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
<string name="revanced_hide_home_button_title">\"Ev\"i gizlət</string>
<string name="revanced_hide_home_button_summary_on">Əsas səhifə düyməsi gizlidir</string>
@@ -510,26 +512,26 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_switch_create_with_notifications_button_title">\"Yarat\"ı \"Bildirişlər\" ilə dəyişdir</string>
<string name="revanced_switch_create_with_notifications_button_summary_on">"Yarat düyməsi Bildirişlər düyməsi ilə dəyişdirilir
Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</string>
<string name="revanced_switch_create_with_notifications_button_summary_off">\"Yarat\" düyməsi, \"Bildirişlər\" düyməsi ilə dəyişdirilmir</string>
Qeyd: Bunu aktivləşdirmə video reklamları da məcburi olaraq gizlədir"</string>
<string name="revanced_switch_create_with_notifications_button_summary_off">\"Yarat\" düyməsi, \"Bildirişlər\" düyməsi ilə əvəzlənmir</string>
<string name="revanced_hide_navigation_button_labels_title">Fəaliyyət düymə etiketlərini gizlət</string>
<string name="revanced_hide_navigation_button_labels_summary_on">Etiketlər gizlidir</string>
<string name="revanced_hide_navigation_button_labels_summary_off">Etiketlər göstərilir</string>
<string name="revanced_disable_translucent_status_bar_title">Yarımşəffaf status barı deaktiv et</string>
<string name="revanced_disable_translucent_status_bar_summary_on">Status çubuğu şəffaf deyil</string>
<string name="revanced_disable_translucent_status_bar_summary_off">Status çubuğu şəffaf və ya yarı şəffaf</string>
<string name="revanced_disable_translucent_navigation_bar_light_title">ıq yarımşəffaf barı deaktiv et</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">ıq rejim navigasiya barı qeyri-şəffafdır</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">ıq rəngli naviqasiya çubuğu şəffaf və ya yarı şəffaf</string>
<string name="revanced_disable_translucent_navigation_bar_dark_title">Tünd şəffaf çubuğu deaktiv edin</string>
<string name="revanced_disable_translucent_navigation_bar_dark_summary_on">Tünd rejim navigasiya barı qeyri-şəffafdır</string>
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Tünd rəngli naviqasiya çubuğu şəffaf və ya yarı şəffaf</string>
<string name="revanced_disable_translucent_status_bar_title">Yarımşəffaf mövqe cizgisin qapat</string>
<string name="revanced_disable_translucent_status_bar_summary_on">Mövqe cizgisi qeyri-şəffafdır</string>
<string name="revanced_disable_translucent_status_bar_summary_off">Mövqe cizgisi qeyri-şəffaf və ya şəffafdır</string>
<string name="revanced_disable_translucent_navigation_bar_light_title">ıq temada şəffaf cizgini qapat</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">İşıqlı rejim fəaliyyət cərgəsi qeyri-şəffafdır</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">İşıqlı rejim fəaliyyət cərgəsi qeyri-şəffaf və ya şəffafdır</string>
<string name="revanced_disable_translucent_navigation_bar_dark_title">Qaranlıq rejimdə şəffaf cərgəni qapat</string>
<string name="revanced_disable_translucent_navigation_bar_dark_summary_on">Qaranlıq rejimdə fəaliyyət cərgəsi qeyri-şəffafdır</string>
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Qaranlıq rejim fəaliyyət cərgəsi qeyri-şəffaf və ya şəffafdır</string>
</patch>
<patch id="layout.hide.player.flyoutmenupanel.hidePlayerFlyoutMenuPatch">
<string name="revanced_hide_player_flyout_title">ılan menyu</string>
<string name="revanced_hide_player_flyout_summary">Oynadıcıılan menyu elementlərini gizlət və ya göstər</string>
<!-- 'Captions' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_captions_title">Titrləri gizlət</string>
<string name="revanced_hide_player_flyout_captions_title">Titrləri Gizlət</string>
<string name="revanced_hide_player_flyout_captions_summary_on">Titrlər menyusu gizlidir</string>
<string name="revanced_hide_player_flyout_captions_summary_off">Titrlər menyusu göstərilir</string>
<!-- 'Additional settings' should be translated using the same localized wording YouTube displays for the menu item. -->
@@ -537,11 +539,11 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<string name="revanced_hide_player_flyout_additional_settings_summary_on">Əlavə ayarlar menyusu gizlidir</string>
<string name="revanced_hide_player_flyout_additional_settings_summary_off">Əlavə ayarlar menyusu göstərilir</string>
<!-- 'Sleep timer' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_sleep_timer_title">Yuxu taymerini gizlət</string>
<string name="revanced_hide_player_flyout_sleep_timer_title">Yuxu Taymerini Gizlət</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_on">Yuxu taymeri menyusu gizlidir</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_off">Yuxu taymeri menyusu göstərilir</string>
<!-- 'Loop video' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_loop_video_title">Videonu təkrarlanı gizlət</string>
<string name="revanced_hide_player_flyout_loop_video_title">Videonu təkrarlanı, gizlət</string>
<string name="revanced_hide_player_flyout_loop_video_summary_on">Təkrarlama video menyusu gizlidir</string>
<string name="revanced_hide_player_flyout_loop_video_summary_off">Təkrarlama video menyusu göstərilir</string>
<!-- 'Ambient mode' should be translated using the same localized wording YouTube displays for the menu item. -->
@@ -553,8 +555,8 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<string name="revanced_hide_player_flyout_stable_volume_summary_on">Stabil səs menyusu gizlidir</string>
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_help_title">Kömək və əks əlaqəni gizlət</string>
<string name="revanced_hide_player_flyout_help_summary_on">Kömək &amp; rəy menyusu gizlidir</string>
<string name="revanced_hide_player_flyout_help_summary_off">Kömək &amp; rəy menyusu göstərilir</string>
<string name="revanced_hide_player_flyout_help_summary_on">Kömək və əks əlaqə, gizlidir</string>
<string name="revanced_hide_player_flyout_help_summary_off">Kömək və əks əlaqə göstərilir</string>
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_speed_title">\"Oynatma sürəti\"ni gizlət</string>
<string name="revanced_hide_player_flyout_speed_summary_on">Oynatma sürəti menyusu gizlidir</string>
@@ -601,7 +603,7 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<string name="revanced_hide_endscreen_cards_summary_off">Son ekran kartları göstərilir</string>
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
<string name="revanced_disable_fullscreen_ambient_mode_title">Tam ekranda ambient rejimin bağla</string>
<string name="revanced_disable_fullscreen_ambient_mode_title">Tam ekranda ambient rejimin qapat</string>
<string name="revanced_disable_fullscreen_ambient_mode_summary_on">Ambient rejimi qeyri-aktiv edilib</string>
<string name="revanced_disable_fullscreen_ambient_mode_summary_off">Ambient rejimi aktivləşdirildi</string>
</patch>
@@ -628,15 +630,18 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<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ındakı Shorts gizlidir</string>
<string name="revanced_hide_shorts_home_summary_off">Ev axınında Shorts göstərilir</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ındakı Shorts gizlidir</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Abunəlik axınında Shorts göstərilir</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>
<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ə Shorts gizlədilib</string>
<string name="revanced_hide_shorts_search_summary_off">Axtarış nəticələrində Shorts göstərilir</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əsini gizlət</string>
<string name="revanced_hide_shorts_join_button_summary_on">Qoşulma düyməsi gizlidir</string>
@@ -682,8 +687,8 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<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_like_fountain_title">Bəyən fəvvarəsini gizlət</string>
<string name="revanced_hide_shorts_like_fountain_summary_on">\"Bəyən\" fəvvarə animasiyası gizlidir</string>
<string name="revanced_hide_shorts_like_fountain_summary_off">\"Bəyən\" fəvvarə animasiyası göstərilir</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>
<string name="revanced_hide_shorts_like_button_title">\"Bəyən\" düyməsini gizlət</string>
<string name="revanced_hide_shorts_like_button_summary_on">Bəyənmə düyməsi gizlidir</string>
<string name="revanced_hide_shorts_like_button_summary_off">Bəyənmə düyməsi göstərilir</string>
@@ -713,7 +718,7 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<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 videonun bağlantısı etiketini gizlət</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_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>
@@ -724,7 +729,7 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<string name="revanced_hide_shorts_navigation_bar_summary_off">Fəaliyyət çubuğu göstərilir</string>
</patch>
<patch id="layout.hide.suggestedvideoendscreen.disableSuggestedVideoEndScreenResourcePatch">
<string name="revanced_disable_suggested_video_end_screen_title">Təklif edilən video bitiş ekranın ləğv et</string>
<string name="revanced_disable_suggested_video_end_screen_title">Təklif edilən video bitiş ekranın qapadın</string>
<string name="revanced_disable_suggested_video_end_screen_summary_on">Təklif olunan videolar qeyri-aktiv ediləcək</string>
<string name="revanced_disable_suggested_video_end_screen_summary_off">Təklif olunan videolar göstəriləcək</string>
</patch>
@@ -738,21 +743,28 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<string name="revanced_hide_player_popup_panels_summary_on">Oynadıcıılan pəncərə panelləri gizlidir</string>
<string name="revanced_hide_player_popup_panels_summary_off">Oynadıcıılan pəncərə panelləri göstərilir</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Video sonunda tam ekran rejimindən çıx</string>
<string name="revanced_exit_fullscreen_entry_1">Qapalı</string>
<string name="revanced_exit_fullscreen_entry_2">Şaquli</string>
<string name="revanced_exit_fullscreen_entry_3">Üfüqi</string>
<string name="revanced_exit_fullscreen_entry_4">Şaquli və üfüqi</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Videoları tam ekran təsvirində</string>
<string name="revanced_open_videos_fullscreen_portrait_title">Videoları şaquli tam ekranda</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videolar tam ekranda açılır</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Videolar tam ekranda açılmır</string>
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Oynadıcı örtüyünün qeyri-şəffaflığı</string>
<string name="revanced_player_overlay_opacity_summary">0-100 arasında qeyri-şəffaflıq dəyəri, burada 0 şəffafdır</string>
<string name="revanced_player_overlay_opacity_invalid_toast">Oynadıcı örtüyünün qeyri-şəffaflığı 0-100 arası olmalıdır</string>
<string name="revanced_player_overlay_opacity_summary">0-100 arası qeyri-şəffaflıq dəyəri, 0 şəffafdır</string>
<string name="revanced_player_overlay_opacity_invalid_toast">Oynadıcı örtüyü qeyri-şəffaflığı 0-100 arası olmalıdır</string>
</patch>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<string name="revanced_ryd_failure_connection_timeout">\"Bəyənməmə\" müvəqqəti əlçatmazdır(API vaxtı bitdi)</string>
<string name="revanced_ryd_failure_connection_timeout">\"Bəyənməmə\" müvəqqəti əlçatmazdır (API vaxtı bitdi)</string>
<string name="revanced_ryd_failure_connection_status_code">Bəyənməmə əlçatmazdır (status %d)</string>
<string name="revanced_ryd_failure_client_rate_limit_requested">Bəyənməmələr əlçatmazdır (qəbuledici API limitinə çatdı)</string>
<string name="revanced_ryd_failure_client_rate_limit_requested">Bəyənməmə əlçatmazdır (qəbuledici API limitinə çatdı)</string>
<string name="revanced_ryd_failure_generic">Bəyənməmə əlçatmazdır (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Ryd ilə səsvermə üçün videonu yenidən yüklə</string>
@@ -760,13 +772,13 @@ Qeyd: Bunu aktivləşdirmək video reklamları da məcburi olaraq gizlədir"</st
<string name="revanced_ryd_enable_summary_off">Bəyənməmələr göstərilmir</string>
<string name="revanced_ryd_shorts_title">\"Shorts\"da bəyənməmə sayını göstər</string>
<string name="revanced_ryd_shorts_summary_on">Bəyənməmə sayı \"Shorts\"da göstərilir</string>
<string name="revanced_ryd_shorts_summary_on_disclaimer">"Şortlarda görünən bəyənməmələr
<string name="revanced_ryd_shorts_summary_on_disclaimer">"Shorts-da görünən bəyənməmələr
Məhdudiyyət: Bəyənməmələr gizli rejimdə görünə bilməz"</string>
Məhdudiyyət: Bəyənməmələr gizli rejimdə görünmür"</string>
<string name="revanced_ryd_shorts_summary_off">\"Bəyənməmə\"lər \"Shorts\"da gizlidir</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 olaraq göstərilir</string>
<string name="revanced_ryd_dislike_percentage_summary_off">\"Bəyənməmə\"lər sayla göstərilir</string>
<string name="revanced_ryd_dislike_percentage_summary_off">\"Bəyənməmə\"lər nömrəylə göstərilir</string>
<!-- 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>
@@ -783,21 +795,21 @@ Məhdudiyyət: Bəyənməmələr gizli rejimdə görünə bilməz"</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMax_title">Ən yüksək API cavab müddəti</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_title">Son video üzrə API cavab müddəti</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_rate_limit_summary">Bəyənməmələr müvəqqəti olaraq əlçatmazdır - Qəbuledici API sürət limiti var</string>
<string name="revanced_ryd_statistics_getFetchCallCount_title">API qəbul edilən səsləri, oyanmaların sayı</string>
<string name="revanced_ryd_statistics_getFetchCallCount_title">API alınan səsvermədə zəng sayı</string>
<string name="revanced_ryd_statistics_getFetchCallCount_zero_summary">Heç bir şəbəkə istəyi olmadı</string>
<string name="revanced_ryd_statistics_getFetchCallCount_non_zero_summary">%d şəbəkə istəyi oldu</string>
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_title">API gələn səs, vaxt bitmə sayı</string>
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_title">API alınan səsvermədə bitən müddət</string>
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_zero_summary">Heç bir şəbəkə istəyi üçün vaxt bitmədi</string>
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_non_zero_summary">%d şəbəkə istəyi üçün vaxt bitdi</string>
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_title">API qəbuledici sürət məhdudiyyətləri</string>
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary">Heç bir sürət məhdudiyyəti olmadı</string>
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary">Qəbuledici sürət məhdudiyyəti olmadı</string>
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_non_zero_summary">Qəbuledici sürət limiti %d dəfə baş verdi</string>
<string name="revanced_ryd_statistics_millisecond_text">%d millisaniyə</string>
</patch>
<patch id="layout.searchbar.wideSearchbarPatch">
<string name="revanced_wide_searchbar_title">Geniş axtarış çubuğunu aktivləşdir</string>
<string name="revanced_wide_searchbar_summary_on">Geniş axtarış çubuğu aktivləşdirilir</string>
<string name="revanced_wide_searchbar_summary_off">Geniş axtarış çubuğu qeyri-aktivdir</string>
<string name="revanced_wide_searchbar_title">Geniş axtarış cizgisin aktivləşdir</string>
<string name="revanced_wide_searchbar_summary_on">Geniş axtarış cizgisi aktivdir</string>
<string name="revanced_wide_searchbar_summary_off">Geniş axtarış cizgisi qeyri-aktivdir</string>
</patch>
<patch id="layout.seekbar.seekbarThumbnailsPatch">
<string name="revanced_seekbar_thumbnails_high_quality_title">Yüksək keyfiyyətli miniatürləri aktivləşdir</string>
@@ -805,11 +817,11 @@ Məhdudiyyət: Bəyənməmələr gizli rejimdə görünə bilməz"</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Axtarış çubuğu miniatürləri orta keyfiyyətlidir</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Tam ekran axtarış çubuğu miniatürləri yüksək keyfiyyətlidir</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Tam ekran axtarış çubuğu miniatürləri orta keyfiyyətlidir</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Bu, həmçinin axtarış çubuğu kiçik görüntüləri olmayan canlı yayımlarda kiçik şəkilləri bərpa edəcək.
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Bu, həmçinin axtarış çubuğu miniarləri olmayan canlı yayımlarda miniatürləri bərpa edəcək.
Axtarış çubuğu kiçik şəkilləri cari videonun keyfiyyəti ilə eyni keyfiyyətdən istifadə edəcək.
Axtarış çubuğu miniatürləri cari video kimi eyni keyfiyyəti işlədəcək.
Bu xüsusiyyət ən yaxşı 720p və ya daha aşağı video keyfiyyəti və çox sürətli internet bağlantısından istifadə edərkən işləyir."</string>
Bu funksiya 720p və ya daha aşağı video keyfiyyəti ilə və çox sürətli internet bağlantısı işlədərkən yaxşı işləyir."</string>
<string name="revanced_restore_old_seekbar_thumbnails_title">Köhnə axtarış çubuğu miniatürlərin al</string>
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">Axtarış çubuğu miniatürləri axtarış çubuğu üstündə görünəcək</string>
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">Axtarış çubuğu miniatürləri tam ekranda görünəcək</string>
@@ -827,8 +839,8 @@ Bu xüsusiyyət ən yaxşı 720p və ya daha aşağı video keyfiyyəti və çox
<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">Bütöv bölüm üçün göstərilən ötürmə düyməsi</string>
<string name="revanced_sb_general_skiptoast">Avtomatik ötürüləndə ani bildiriş göstər</string>
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Tam bölüm üçün göstərilən ötürmə düyməsi</string>
<string name="revanced_sb_general_skiptoast">Birbaşa ö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_general_time_without">Bölümsüz video uzunluğun göstər</string>
@@ -839,7 +851,7 @@ Bu xüsusiyyət ən yaxşı 720p və ya daha aşağı video keyfiyyəti və çox
<string name="revanced_sb_enable_create_segment_sum_on">Yeni bölüm yarat düyməsi göstərilir</string>
<string name="revanced_sb_enable_create_segment_sum_off">Yeni bölüm yarat düyməsi göstərilmir</string>
<string name="revanced_sb_general_adjusting">Yeni bölüm irəliləyişini tənzimlə</string>
<string name="revanced_sb_general_adjusting_sum">Yeni bölüm yaradarkən vaxt tənzimləmə düymələrinin hərəkət etdiyi millisaniyə sayı</string>
<string name="revanced_sb_general_adjusting_sum">Yeni bölüm yaradarkən vaxt qurma düymələrinin sərf etdiyi millisaniyə sayı</string>
<string name="revanced_sb_general_adjusting_invalid">Dəyər, müsbət rəqəm olmalıdır</string>
<string name="revanced_sb_guidelines_preference_title">Təlimatlara bax</string>
<string name="revanced_sb_guidelines_preference_sum">Təlimatlar, yeni bölümlərin yaradılması üçün qaydalar və məsləhətlər ehtiva edir</string>
@@ -857,7 +869,7 @@ Bu xüsusiyyət ən yaxşı 720p və ya daha aşağı video keyfiyyəti və çox
<string name="revanced_sb_general_min_duration">Minimum bölüm müddəti</string>
<string name="revanced_sb_general_min_duration_sum">Bölümlər bu dəyərdən (saniyə olaraq) daha qısadırsa göstərilməyəcək və ya ötürülməyəcək</string>
<string name="revanced_sb_general_min_duration_invalid">Etibarsız vaxt müddəti</string>
<string name="revanced_sb_general_uuid">Şəxsi istifadəçi kimliyiniz</string>
<string name="revanced_sb_general_uuid">Şəxsi istifadəçi id</string>
<string name="revanced_sb_general_uuid_sum">Bu gizli saxlanılmalıdır. Bu, parol kimidir və heç kimlə paylaşılmamalıdır. Kimsə bunu bilsə, onlar sizi təqlid edə bilər</string>
<string name="revanced_sb_general_uuid_invalid">Şəxsi istifadəçi kimliyiniz ən az 30 simvol uzunluğunda olmalıdır</string>
<string name="revanced_sb_general_api_url">API URL-ni dəyişdirin</string>
@@ -867,39 +879,39 @@ Bu xüsusiyyət ən yaxşı 720p və ya daha aşağı video keyfiyyəti və çox
<string name="revanced_sb_api_url_changed">API URL dəyişdirildi</string>
<string name="revanced_sb_settings_ie">İdxal/İxrac etmə tənzimləmələri</string>
<string name="revanced_sb_settings_copy">Köçür</string>
<string name="revanced_sb_settings_ie_sum">ReVanced və digər SponsorBlock platformalarına idxal/ixrac edilə bilən SponsorBlock JSON konfiqurasiyanız</string>
<string name="revanced_sb_settings_ie_sum_warning">ReVanced və digər SponsorBlock platformalarına idxal/ixrac edilə bilən SponsorBlock JSON konfiqurasiyanız. Bura şəxsi istifadəçi kimliyiniz daxildir. Bunu düzgün şəkildə paylaşdığınıza əmin olun</string>
<string name="revanced_sb_settings_ie_sum">ReVanced və digər SponsorBlock platformalarına idxal/ixrac edilə bilən SponsorBlock JSON qurmanız</string>
<string name="revanced_sb_settings_ie_sum_warning">ReVanced və digər SponsorBlock platformalarına idxal/ixrac edilə bilən SponsorBlock JSON qurmanız. Bu şəxsi istifadəçi kimliyinizi saxlayır. Bunu düzgün şəkildə paylaşdığınıza əmin olun</string>
<string name="revanced_sb_settings_import_successful">Tənzimləmələr uğurla idxal edildi</string>
<string name="revanced_sb_settings_import_failed">%s idxal uğursuz</string>
<string name="revanced_sb_settings_export_failed">%s ixrac uğursuz</string>
<string name="revanced_sb_settings_revanced_export_user_id_warning">"Parametrlərdə özəl SponsorBlock istifadəçi IDniz var.
<string name="revanced_sb_settings_revanced_export_user_id_warning">"Tənzimləmələrdə şəxsi SponsorBlock istifadəçi Id-niz var.
Sizə istifadəçi IDniz parol kimidir və heç vaxt başqasına verilməməlidir.
Sizin istifadəçi Id-niz parol kimidir və heç vaxt paylaşmaq olmaz.
"</string>
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">Təkrar göstərmə</string>
<string name="revanced_sb_diff_segments">Bölüm davranışını dəyişdir</string>
<string name="revanced_sb_segments_sponsor">Sponsor</string>
<string name="revanced_sb_segments_sponsor_sum">Ödənişli tanıtım, ödənişli yönləndirmələr və birbaşa reklamlar. Öz-tanıtım və ya bəyəndikləri səbəblərə/yaradıcılara/veb saytlara/məhsullara ödənişsiz çağırışlar etmək üçün deyil</string>
<string name="revanced_sb_segments_sponsor_sum">Ödənişli tanıtım, ödənişli yönləndirmələr və birbaşa reklamlar. Öz reklamı və ya bəyəndikləri səbəblərə/yaradıcılara/veb saytlara/məhsullara ödənişsiz çağırışlar etmək üçün deyil</string>
<string name="revanced_sb_segments_selfpromo">Ödənişsiz/Öz reklamı</string>
<string name="revanced_sb_segments_selfpromo_sum">Ödənişsiz və ya özünü tanıtmaq istisna olmaqla, \"Sponsor\"a bənzəyir. Mallar, ianələr və ya onların kiminlə əməkdaşlıq etdiyi barədə məlumatlar haqqında bölmələr daxildir</string>
<string name="revanced_sb_segments_interaction">Qarşılıqlı əlaqə xatırlatma (Abunə ol)</string>
<string name="revanced_sb_segments_interaction_sum">Məzmunun ortasında onları bəyənməyiniz, izləməyiniz və ya abunə olmağınız üçün qısa xatırlatma. Əgər uzundursa və ya konkret bir şey haqqındadırsa, bu əvəzində öz reklamı olmalıdır</string>
<string name="revanced_sb_segments_selfpromo_sum">Ödənişsiz və ya öz reklamı istisna olmaqla, \"Sponsor\"a bənzəyir. Mallar, ianələr və ya onların kiminlə əməkdaşlıq etdiyi məzmunda məlumatlar haqqında bölmələr daxildir</string>
<string name="revanced_sb_segments_interaction">Qarşılıqlı Əlaqə Xatırlatma (Abunə ol)</string>
<string name="revanced_sb_segments_interaction_sum">Məzmun ortasında onları bəyənmək, izləmək və ya abunə olmaq üçün qısa xatırlatma. Əgər uzun və ya xüsusi bir şey haqqındadırsa, bu əvəzində öz reklamı olmalıdır</string>
<string name="revanced_sb_segments_highlight">Vurğulama</string>
<string name="revanced_sb_segments_highlight_sum">Videonun əksər insanlar tərəfindən axtarılan hissəsi</string>
<string name="revanced_sb_segments_highlight_sum">Əksər insanların axtardığı video bölümü</string>
<string name="revanced_sb_segments_intro">Fasilə/Giriş Animasiyası</string>
<string name="revanced_sb_segments_intro_sum">Həqiqi bir məzmunu olmayan bir aralıq. Fasilə, statik kadr və ya təkrarlanan animasiya ola bilər. Məlumat ehtiva edən keçidlər daxil deyil</string>
<string name="revanced_sb_segments_outro">Son kartlar/Kreditlər</string>
<string name="revanced_sb_segments_outro_sum">Kreditlər və ya YouTube bitiş kartları görünəndə. Məlumat daxil olan nəticələr üçün deyil</string>
<string name="revanced_sb_segments_intro_sum">Həqiqi məzmunu olmayan aralıq. Fasilə, statik kadr və ya təkrarlanan animasiya ola bilər. Məlumat ehtiva edən keçidlər daxil deyil</string>
<string name="revanced_sb_segments_outro">Son kartlar/Zaminlər</string>
<string name="revanced_sb_segments_outro_sum">Zaminlər və ya YouTube bitiş kartları görünəndə. Məlumat daxil olan nəticələr üçün deyil</string>
<string name="revanced_sb_segments_preview">Önizləmə/Anons/Qısa</string>
<string name="revanced_sb_segments_preview_sum">Videoda və ya seriyanın digər videolarında nə gözləndiyini və ya baş verdiyini göstərən, bütün məlumatların başqa yerdə təkrarlandığı bölüm toplusu</string>
<string name="revanced_sb_segments_preview_sum">Videoda və ya seriyanın digər videolarında nə gözlənildiyini və ya baş verdiyini göstərən, bütün məlumatların başqa yerdə təkrarlandığı bölüm toplusu</string>
<string name="revanced_sb_segments_filler">Əlaqəsiz/Zarafatlar</string>
<string name="revanced_sb_segments_filler_sum">Videonun əsas məzmununu başa düşmək tələb olunmayan yalnız əlaqəsiz və ya yumor üçün əlavə edilmiş tangensial səhnələr. Məzmun və ya arxa plan detallarını təqdim edən bölümlər daxil deyil</string>
<string name="revanced_sb_segments_filler_sum">Videonun əsas məzmununu başa düşmək tələb olunmayan yalnız əlaqəsiz və ya yumor üçün əlavə edilmiş təsiredici səhnələr. Məzmun və ya arxa plan detallarını təqdim edən bölümlər daxil deyil</string>
<string name="revanced_sb_segments_nomusic">Musiqi: Musiqi olmayan bölmə</string>
<string name="revanced_sb_segments_nomusic_sum">Yalnız musiqi videolarında istifadə üçün. Artıq başqa kateqoriyaya aid edilməyən musiqisiz musiqi videoları bölmələri</string>
<string name="revanced_sb_skip_button_compact">Ötür</string>
<string name="revanced_sb_skip_button_compact_highlight">Vurğulama</string>
<string name="revanced_sb_skip_button_sponsor">Sponsoru ötür</string>
<string name="revanced_sb_skip_button_selfpromo">Tanıtımı ötür</string>
<string name="revanced_sb_skip_button_selfpromo">Öz reklamın ötür</string>
<string name="revanced_sb_skip_button_interaction">Əlaqələndirməni ötür</string>
<string name="revanced_sb_skip_button_highlight">Vurğulanana keç</string>
<string name="revanced_sb_skip_button_intro_beginning">Girişi ötür</string>
@@ -910,12 +922,12 @@ Sizə istifadəçi IDniz parol kimidir və heç vaxt başqasına verilməməlidi
<string name="revanced_sb_skip_button_preview_middle">Önizləməni ötür</string>
<string name="revanced_sb_skip_button_preview_end">Anonsu ötür</string>
<string name="revanced_sb_skip_button_filler">Əlaqəsiz hissəni ötür</string>
<string name="revanced_sb_skip_button_nomusic">Musiqi olmayan hissəni ötür</string>
<string name="revanced_sb_skip_button_nomusic">Musiqisiz hissəni ötür</string>
<string name="revanced_sb_skip_button_unsubmitted">Bölümü ötür</string>
<string name="revanced_sb_skipped_sponsor">Sponsorlu hissə ötürüldü</string>
<string name="revanced_sb_skipped_selfpromo">Öz reklamı, ötürüldü</string>
<string name="revanced_sb_skipped_interaction">Cansıxıcı xatırlatma ötürüldü</string>
<string name="revanced_sb_skipped_highlight">Vurğulanan hissə ötürüldü</string>
<string name="revanced_sb_skipped_highlight">Vurğulanan hissəyə keçildi</string>
<string name="revanced_sb_skipped_intro_beginning">Giriş ötürüldü</string>
<string name="revanced_sb_skipped_intro_middle">Fasilə ötürüldü</string>
<string name="revanced_sb_skipped_intro_end">Fasilə ötürüldü</string>
@@ -927,24 +939,24 @@ Sizə istifadəçi IDniz parol kimidir və heç vaxt başqasına verilməməlidi
<string name="revanced_sb_skipped_nomusic">Musiqi olmayan bölmə ötürüldü</string>
<string name="revanced_sb_skipped_unsubmitted">Göndərilməmiş bölüm ötürüldü</string>
<string name="revanced_sb_skipped_multiple_segments">Çoxlu bölümlər ötürüldü</string>
<string name="revanced_sb_skip_automatically">Avtomatik ötür</string>
<string name="revanced_sb_skip_automatically">Birbaşa ötür</string>
<string name="revanced_sb_skip_automatically_once">Bir dəfə avtomatik ötür</string>
<string name="revanced_sb_skip_showbutton">Ötürmə düyməsini göstər</string>
<string name="revanced_sb_skip_seekbaronly">Axtarma çubuğunda göstər</string>
<string name="revanced_sb_skip_ignore">Qeyri-aktiv et</string>
<string name="revanced_sb_skip_ignore">Qapadın</string>
<string name="revanced_sb_submit_failed_invalid">Bölüm göndərilmir: %s</string>
<string name="revanced_sb_submit_failed_timeout">SponsorBlock müvəqqəti olaraq cavab vermir</string>
<string name="revanced_sb_submit_failed_timeout">SponsorBlock müvəqqəti olaraq zəifləyir</string>
<string name="revanced_sb_submit_failed_unknown_error">Bölüm göndərilmir (status: %1$d %2$s)</string>
<string name="revanced_sb_submit_failed_rate_limit">Segment təqdim edə bilmədiniz. Həddən artıq istifadə (eyni istifadəçi və ya IP ünvanından çox)</string>
<string name="revanced_sb_submit_failed_rate_limit">Bölüm təqdim etmək olmur. Sürət Məhduddur (eyni istifadəçi və ya IP-dən artıq)</string>
<string name="revanced_sb_submit_failed_forbidden">Bölüm göndərilmir: %s</string>
<string name="revanced_sb_submit_failed_duplicate">"Segment təqdim edə bilmirsiniz.
<string name="revanced_sb_submit_failed_duplicate">"Bölüm təqdim etmək olmur.
Artıq mövcuddur"</string>
<string name="revanced_sb_submit_succeeded">Bölüm uğurla göndərildi</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. -->
<string name="revanced_sb_sponsorblock_connection_failure_timeout">SponsorBlock müvəqqəti əlçatmazdır (API vaxtı bitdi)</string>
<string name="revanced_sb_sponsorblock_connection_failure_status">SponsorBlock müvəqqəti olaraq əlçatan deyil (status %d)</string>
<string name="revanced_sb_sponsorblock_connection_failure_generic">SponsorBlock müvəqqəti olaraq əlçatan deyil</string>
<string name="revanced_sb_vote_failed_timeout">Bölüm üçün səsvermə mümkün olmur (API vaxtı bitdi)</string>
<string name="revanced_sb_vote_failed_timeout">Bölüm üçün səsvermə alınmır (API vaxtı bitdi)</string>
<string name="revanced_sb_vote_failed_unknown_error">Bölüm üçün səsvermə alınmır (status: %1$d %2$s)</string>
<string name="revanced_sb_vote_failed_forbidden">Bölüm üçün səsvermə alınmır: %s</string>
<string name="revanced_sb_vote_upvote">Müsbət səs</string>
@@ -971,7 +983,7 @@ ilə
Təqdim etməyə hazırdır?"</string>
<string name="revanced_sb_new_segment_start_is_before_end">Başlanğıc sondan əvvəl olmalıdır</string>
<string name="revanced_sb_new_segment_mark_locations_first">Əvvəlcə vaxt çubuğunda iki yeri doldur</string>
<string name="revanced_sb_new_segment_mark_locations_first">Əvvəlcə vaxt cizgisində iki yeri doldur</string>
<string name="revanced_sb_new_segment_preview_segment_first">Bölümü izləyin, rahatlıqla ötürdüyünə əmin olun</string>
<string name="revanced_sb_new_segment_edit_by_hand_title">Bölüm vaxtına əl ilə düzəliş et</string>
<string name="revanced_sb_new_segment_edit_by_hand_content">Bölümün başlanğıc və ya bitiş vaxtlarına düzəliş etmək istəyirsiniz?</string>
@@ -980,18 +992,18 @@ Təqdim etməyə hazırdır?"</string>
<!-- Shown in the settings preferences, and translations can be any text length. -->
<string name="revanced_sb_stats_connection_failure">Statistikalar müvəqqəti olaraq əlçatmazdır (API zəifdir)</string>
<string name="revanced_sb_stats_loading">Yüklənir...</string>
<string name="revanced_sb_stats_sb_disabled">SponsorBlock qeyri-aktiv edildi</string>
<string name="revanced_sb_stats_sb_disabled">SponsorBlock qapadıldı</string>
<string name="revanced_sb_stats_username">İstifadəçi adınız: &lt;b&gt;%s&lt;/b&gt;</string>
<string name="revanced_sb_stats_username_change">İstifadəçi adınızı dəyişdirmək üçün bura toxunun</string>
<string name="revanced_sb_stats_username_change_unknown_error">İstifadəçi adı dəyişdirilə bilmir: Status: %1$d %2$s</string>
<string name="revanced_sb_stats_username_changed">İstifadəçi adı uğurla dəyişdirildi</string>
<string name="revanced_sb_stats_reputation">Nüfuzunuz &lt;b&gt;%.2f&lt;/b&gt;</string>
<string name="revanced_sb_stats_reputation">Nüfuzunuz: &lt;b&gt;%.2f&lt;/b&gt;</string>
<string name="revanced_sb_stats_submissions">&lt;b&gt;%s&lt;/b&gt; bölüm yaratdınız</string>
<string name="revanced_sb_stats_submissions_sum">Bölümlərinizə baxmaq üçün bura toxunun</string>
<string name="revanced_sb_stats_saved_zero">SponsorBlock liderlik lövhəsi</string>
<string name="revanced_sb_stats_saved">İnsanları &lt;b&gt;%s&lt;/b&gt; bölümdən xilas etdiniz</string>
<string name="revanced_sb_stats_saved">İnsanları &lt;b&gt;%s&lt;/b&gt; bölümdən azad etdiniz</string>
<string name="revanced_sb_stats_saved_sum_zero">Qlobal statistikaları və başlıca töhfəçiləri görmək üçün bura toxunun</string>
<string name="revanced_sb_stats_saved_sum">Bu, həyatlarının &lt;b&gt;%s&lt;/b&gt; qədəridir.&lt;br&gt;Liderlik lövhəsinə baxmaq üçün toxunun</string>
<string name="revanced_sb_stats_saved_sum">Bu, həyatlarının &lt;b&gt;%s&lt;/b&gt; qədəridir. &lt;br&gt;Liderlik lövhəsinə baxmaq üçün toxunun</string>
<string name="revanced_sb_stats_self_saved">&lt;b&gt;%s&lt;/b&gt; bölümü ötürdünüz</string>
<string name="revanced_sb_stats_self_saved_sum">Bu, &lt;b&gt;%s&lt;/b&gt; deməkdir</string>
<string name="revanced_sb_stats_self_saved_reset_title">Ötürülən bölüm hesablayıcı sıfırlansın?</string>
@@ -1006,20 +1018,38 @@ Təqdim etməyə hazırdır?"</string>
<string name="revanced_sb_reset">Sıfırlayın</string>
<string name="revanced_sb_about">Haqqında</string>
<string name="revanced_sb_about_api_sum">Məlumat SponsorBlock API tərəfindən təqdim edilir. Daha ətraflı öyrənmək və digər platformalar üzrə yükləmələrə baxmaq üçün bura toxunun</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Tərtibat forma göstəricisi</string>
<string name="revanced_change_form_factor_entry_1">İlkin</string>
<string name="revanced_change_form_factor_entry_2">Telefon</string>
<string name="revanced_change_form_factor_entry_3">Planşet</string>
<string name="revanced_change_form_factor_entry_4">Avtomobil</string>
<string name="revanced_change_form_factor_user_dialog_message">"Dəyişikliklərə daxildir:
Planşet tərtibatı
• İcma elanları gizlidir
Avtomobil tərtibatı
• Baxış tarixçəsi seçimi gizlidir
• \"Kəşf et\" bölməsi qaytarılıb
• Shorts daimi oynadıcıda açılır
• Axın mövzulara və kanala görə hazırlanıb"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Tətbiq versiyasını saxtalaşdır</string>
<string name="revanced_spoof_app_version_summary_on">Versiya saxtalaşdırıldı</string>
<string name="revanced_spoof_app_version_summary_off">Versiya saxtalaşdırılmadı</string>
<string name="revanced_spoof_app_version_user_dialog_message">"Tətbiq versiyası köhnə bir YouTube versiyasına oxşayacaq.
<string name="revanced_spoof_app_version_user_dialog_message">"Tətbiq versiyası köhnə YouTube versiyasına saxtalaşdırılacaq.
Bu tətbiqin görünüşünü və xüsusiyyətlərini dəyişdirəcək, lakin bilinməyən yan təsirlər yarana bilər.
Bu tətbiqin görünüşün və xüsusiyyətlərin dəyişdirəcək, lakin bilinməyən yan təsirlər ola bilər.
Sonradan söndürülərsə, UI səhvlərini qarşısını almaq üçün tətbiqin məlumatlarını silmək tövsiyə olunur."</string>
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 -->
<string name="revanced_spoof_app_version_target_title">Saxta tətbiq versiyası hədəfi</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Köhnə Shorts oynadıcı işarələrin bərpa et</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Köhnə fəaliyyət və cihaz cizgisi işarələrin bərpa et</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Shorts gizli rejimində RYD-ni bərpa et</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Geniş video sürəti &amp; keyfiyyət menyusunu bərpa et</string>
@@ -1027,7 +1057,7 @@ Sonradan söndürülərsə, UI səhvlərini qarşısını almaq üçün tətbiqi
<string name="revanced_spoof_app_version_target_legacy_entry_4">17.33.42 - Köhnə pleylist bölməsin bərpa et</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Başlanğıc səhifəsini tənzimlə</string>
<string name="revanced_change_start_page_title">Başlanğıc səhifəsini təyin et</string>
<string name="revanced_change_start_page_entry_default">İlkin</string>
<string name="revanced_change_start_page_entry_browse">Kanallara nəzər yetir</string>
<string name="revanced_change_start_page_entry_explore">Kəşf et</string>
@@ -1038,22 +1068,22 @@ Sonradan söndürülərsə, UI səhvlərini qarşısını almaq üçün tətbiqi
<string name="revanced_change_start_page_entry_live">Canlı</string>
<string name="revanced_change_start_page_entry_movies">Filmlər</string>
<string name="revanced_change_start_page_entry_music">Musiqi</string>
<string name="revanced_change_start_page_entry_search">Axtar</string>
<string name="revanced_change_start_page_entry_search">Axtarış</string>
<string name="revanced_change_start_page_entry_sports">İdman</string>
<string name="revanced_change_start_page_entry_subscriptions">Abunəliklər</string>
<string name="revanced_change_start_page_entry_trending">Trendlər</string>
<string name="revanced_change_start_page_entry_watch_later">Sonra izlə</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Shorts oynadıcı başladıcını bağla</string>
<string name="revanced_disable_resuming_shorts_player_title">Shorts oynadıcı başladıcını qapat</string>
<string name="revanced_disable_resuming_shorts_player_summary_on">Tətbiq açılanda Shorts oynadıcı davam etməyəcək</string>
<string name="revanced_disable_resuming_shorts_player_summary_off">Tətbiq açılanda Shorts oynadıcı davam edəcək</string>
</patch>
<patch id="layout.shortsplayer.shortsPlayerTypePatch">
<string name="revanced_shorts_player_type_title">Shorts ilə</string>
<string name="revanced_shorts_player_type_title">Shorts-u bununla aç</string>
<string name="revanced_shorts_player_type_shorts">Shorts oynadıcı</string>
<string name="revanced_shorts_player_type_regular_player">Adi oynatıcı</string>
<string name="revanced_shorts_player_type_regular_player_fullscreen">Adi oynatıcı tam ekran</string>
<string name="revanced_shorts_player_type_regular_player">Müntəzəm oynadıcı</string>
<string name="revanced_shorts_player_type_regular_player_fullscreen">Müntəzəm oynadıcı tam ekran</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
<string name="revanced_shorts_autoplay_title">Shorts-ları avto-oynatma</string>
@@ -1063,12 +1093,6 @@ Sonradan söndürülərsə, UI səhvlərini qarşısını almaq üçün tətbiqi
<string name="revanced_shorts_autoplay_background_summary_on">Shorts-lar arxa planda avto-oynadılacaq</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts-lar arxa planda təkrarlanacaq</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Planşet tərtibatını aktiv et</string>
<string name="revanced_tablet_layout_summary_on">Planşet tərtibatı aktiv edilib</string>
<string name="revanced_tablet_layout_summary_off">Planşet tərtibatı qeyri-aktivdir</string>
<string name="revanced_tablet_layout_user_dialog_message">İcma elanları planşet tərtibatında göstərilmir</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Kiçik oynadıcı</string>
<string name="revanced_miniplayer_screen_summary">Tətbiqdə kiçildilən oynadıcı üslubunu dəyişdir</string>
@@ -1083,21 +1107,21 @@ Sonradan söndürülərsə, UI səhvlərini qarşısını almaq üçün tətbiqi
<string name="revanced_miniplayer_rounded_corners_title">Dairəvi küncləri aktivləşdir</string>
<string name="revanced_miniplayer_rounded_corners_summary_on">Künclər dairəvidir</string>
<string name="revanced_miniplayer_rounded_corners_summary_off">Künclər kvadratdır</string>
<string name="revanced_miniplayer_double_tap_action_title">Ölçüsünü dəyişmək üçün cüt toxunmanı və çimdikləməni aktivləşdir</string>
<string name="revanced_miniplayer_double_tap_action_summary_on">"İkiqat vuruş hərəkəti və çimdikleyərək yenidən ölçmək aktivdir
<string name="revanced_miniplayer_double_tap_action_title">Ölçüsünü dəyişmək üçün cüt toxunmanı və çimdikləməni aktiv et</string>
<string name="revanced_miniplayer_double_tap_action_summary_on">"Ölçüsün dəyişmək üçün cüt kliklə və çimdiklə
Miniplayer ölçüsünü artırmaq üçün iki dəfə vurun
• Orijinal ölçüsünə qayıtmaq üçün yenidən iki dəfə vurun"</string>
Kiçik oynadıcı ölçüsün artırmaq üçün cüt toxun
• Orijinal ölçünü bərpa etmək üçün təkrar cüt toxun"</string>
<string name="revanced_miniplayer_double_tap_action_summary_off">Ölçüsünü dəyişdirmək üçün cüt toxunma fəaliyyəti və çimdikləmə yoxdur</string>
<string name="revanced_miniplayer_drag_and_drop_title">\"Sürüklə və burax\"ı aktivləşdir</string>
<string name="revanced_miniplayer_drag_and_drop_summary_on">"Sürüklə və burax aktivdir
Miniplayer ekranın istənilən küncünə sürüklənə bilər"</string>
Kiçik oynadıcı ekranın istənilən küncünə sürüklənə bilər"</string>
<string name="revanced_miniplayer_drag_and_drop_summary_off">\"Sürüklə və burax\" aktiv deyil</string>
<string name="revanced_miniplayer_horizontal_drag_title">Üfüqi sürükləmə jestini aktivləşdir</string>
<string name="revanced_miniplayer_horizontal_drag_summary_on">"Üfüqi sürükləmə jesti aktivdir
Miniplayer ekrandan sola və ya sağa sürüklənə bilər"</string>
Kiçik oynadıcı ekrandan sola və ya sağa sürüklənə bilər"</string>
<string name="revanced_miniplayer_horizontal_drag_summary_off">Üfüqi sürükləmə jesti qapatıldı</string>
<string name="revanced_miniplayer_hide_expand_close_title">\"Bağla\" düyməsini gizlət</string>
<string name="revanced_miniplayer_hide_expand_close_summary_on">\"Bağla\" düyməsi gizlidir</string>
@@ -1105,7 +1129,7 @@ Miniplayer ekrandan sola və ya sağa sürüklənə bilər"</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_title">Genişləndir və bağla düymələrini gizlət</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">"Düymələr gizlidir
Açmaq və ya bağlamaq barmaqla sürüşdürün"</string>
Genişləndirmək və ya bağlamaq üçün sürüşdür"</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">Genişləndir və bağla düymələri göstərilir</string>
<string name="revanced_miniplayer_hide_subtext_title">Alt mətnləri gizlət</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Alt mətnlər gizlədilir</string>
@@ -1117,12 +1141,12 @@ Açmaq və ya bağlamaq barmaqla sürüşdürün"</string>
<string name="revanced_miniplayer_width_dip_summary">Piksel olaraq ekranda ilkin ölçü</string>
<string name="revanced_miniplayer_width_dip_invalid_toast">Piksel ölçüsü, %1$s - %2$s arası olmalıdır</string>
<string name="revanced_miniplayer_opacity_title">Örtük qeyri-şəffaflığı</string>
<string name="revanced_miniplayer_opacity_summary">0-100 arasında qeyri-şəffaflıq dəyəri, burada 0 şəffafdır</string>
<string name="revanced_miniplayer_opacity_summary">0-100 arası qeyri-şəffaflıq dəyəri, 0 şəffafdır</string>
<string name="revanced_miniplayer_opacity_invalid_toast">Kiçik Oynadıcı örtük qeyri-şəffaflığı 0-100 arası olmalıdır</string>
</patch>
<patch id="layout.theme.themePatch">
<string name="revanced_gradient_loading_screen_title">Rəngbərəng yükləmə ekranını aktivləşdir</string>
<string name="revanced_gradient_loading_screen_summary_on">Yükləmə ekranı, rəngbərəng arxa plana malik olacaq</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>
</patch>
<patch id="layout.theme.themeResourcePatch">
@@ -1135,10 +1159,10 @@ Açmaq və ya bağlamaq barmaqla sürüşdürün"</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 host-u istifadə edilir</string>
<string name="revanced_bypass_image_region_restrictions_summary_off">"Orijinal şəkil hostundan istifadə
<string name="revanced_bypass_image_region_restrictions_summary_on">Yt4.ggpht.com təsvir serveri istifadə edilir</string>
<string name="revanced_bypass_image_region_restrictions_summary_off">"Orijinal şəkil təminatçısın işlətmə
Bunu aktivləşdirmək, bəzi regionlarda bloklanmışdırılmış itkin şəkilləri düzəldə 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. -->
@@ -1154,22 +1178,22 @@ Bunu aktivləşdirmək, bəzi regionlarda bloklanmışdırılmış itkin şəkil
<string name="revanced_alt_thumbnail_options_entry_3">DeArrow &amp; Kadr çəkilişlər</string>
<string name="revanced_alt_thumbnail_options_entry_4">Kadr çəkilişləri</string>
<string name="revanced_alt_thumbnail_dearrow_about_title">DeArrow</string>
<string name="revanced_alt_thumbnail_dearrow_about_summary">"DeArrow, YouTube videoları üçün kütlədən alınan kiçik görüntülər təqdim edir. Bu kiçik görüntülər YouTube tərəfindən təqdim edilənlərdən daha uyğun ola bilər
<string name="revanced_alt_thumbnail_dearrow_about_summary">"DeArrow YouTube videoları üçün izdiham mənbəli miniarlər təqdim edir. Bu miniarlər YouTube tərəfindən təqdim edilənlərdən dəfələrlə daha uyğundur.
Aktivləşdirilərsə, video URLləri API serverinə göndəriləcək və başqa heç bir məlumat göndərilməyəcək. Bir videoda DeArrow kiçik şəkilləri yoxdursa, onda orijinal və ya hərəkətsiz çəkilişlər göstərilir
Aktivləşdirilərsə, video URL-lər API alıcısına göndəriləcək və başqa məlumat göndərilməyəcək. Videonun DeArrow miniatürləri yoxdursa, orijinal və ya hələ də çəkilişlər göstərilir.
DeArrow haqqında ətraflı məlumat üçün buraya vurun"</string>
DeArrow haqqında ətraflı öyrənmək üçün bura toxun"</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">API əlçatan deyilsə ani bildiriş göstər</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">DeArrow əlçatan deyilsə bildiriş göstərilir</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">DeArrow əlçatan deyilsə bildiriş göstərilmir</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_title">DeArrow API\'nin sonuncu əlaqəsi</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">DeArrow miniatür keşinin son əlaqəsinin URL-si</string>
<string name="revanced_alt_thumbnail_stills_about_title">Durğun video kadrları</string>
<string name="revanced_alt_thumbnail_stills_about_summary">Durğun kadrlar, hər videonun əvvəlindən/ortasından/sonundan götürülür. Bu təsvirlər YouTube-da qurulu gəlir və heç bir xarici API istifadə edilmir</string>
<string name="revanced_alt_thumbnail_stills_about_title">Statik video kadrları</string>
<string name="revanced_alt_thumbnail_stills_about_summary">Durğun kadrlar, hər videonun əvvəlindən/ortasından/sonundan götürülür. Bu təsvirlər YouTube-da qurulu gəlir və xarici API istifadə edilmir</string>
<string name="revanced_alt_thumbnail_stills_fast_title">Sürətli kadr çəkilişləri istifadə et</string>
<string name="revanced_alt_thumbnail_stills_fast_summary_on">Orta keyfiyyətli durğun kadrlar istifadə edilir. Miniatürlər, daha sürətli yüklənəcək, ancaq canlı yayımlar, buraxılmayan və ya çox köhnə videolar boş miniatürləri göstərə bilər</string>
<string name="revanced_alt_thumbnail_stills_fast_summary_off">Yüksək keyfiyyətli durğun kadrlar istifadə edilir</string>
<string name="revanced_alt_thumbnail_stills_time_title">Durğun kadrın götürələcəyi video vaxtı</string>
<string name="revanced_alt_thumbnail_stills_time_title">Durğun kadrın götürüləcəyi video müddəti</string>
<string name="revanced_alt_thumbnail_stills_time_entry_1">Videonun başlanğıcı</string>
<string name="revanced_alt_thumbnail_stills_time_entry_2">Videonun ortası</string>
<string name="revanced_alt_thumbnail_stills_time_entry_3">Videonun sonu</string>
@@ -1199,7 +1223,7 @@ DeArrow haqqında ətraflı məlumat üçün buraya vurun"</string>
<string name="revanced_spoof_device_dimensions_title">Cihaz ölçülərini saxtalaşdır</string>
<string name="revanced_spoof_device_dimensions_summary_on">"Cihaz ölçüləri saxtalaşdırıldı
Yüksək video keyfiyyətlər görünə bilər, ancaq videonun oynadılmasında qırılma, daha pis batareya ömrü və bilinməyən yan təsirləri sezə bilərsiniz"</string>
Yüksək video keyfiyyətlər görünə bilər, ancaq video oynadılmasında qırılma, daha pis batareya ömrü və bilinməyən yan təsirləri sezə bilərsiniz"</string>
<string name="revanced_spoof_device_dimensions_summary_off">"Cihaz ölçüləri saxtalaşdırılmayıb
Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər"</string>
@@ -1216,7 +1240,7 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
</patch>
<patch id="misc.links.openLinksExternallyPatch">
<string name="revanced_external_browser_title">Bağlantıları brauzerdə aç</string>
<string name="revanced_external_browser_summary_on">Bağlantılar xarici brauzerdəılır</string>
<string name="revanced_external_browser_summary_on">Bağlantılar xarici yollaılır</string>
<string name="revanced_external_browser_summary_off">Bağlantılar tətbiqdə açılır</string>
</patch>
<patch id="misc.privacy.removeTrackingQueryParameterPatch">
@@ -1226,13 +1250,14 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
</patch>
<patch id="misc.zoomhaptics.zoomHapticsPatch">
<string name="revanced_disable_zoom_haptics_title">Yaxınlaşdırma əks-əlaqəsini bağla</string>
<string name="revanced_disable_zoom_haptics_summary_on">Toxunuş əks-əlaqəsi bağlandı</string>
<string name="revanced_disable_zoom_haptics_summary_off">Toxunuş əks-əlaqəsi aktivdir</string>
<string name="revanced_disable_zoom_haptics_summary_on">Əks-əlaqə bağlandı</string>
<string name="revanced_disable_zoom_haptics_summary_off">Əks-əlaqə aktivdir</string>
</patch>
<patch id="video.audio.forceOriginalAudioPatch">
<string name="revanced_force_original_audio_title">Orijinal səsi tələb et</string>
<string name="revanced_force_original_audio_summary_on">Orijinal səs istifadəsi</string>
<string name="revanced_force_original_audio_summary_off">İlkin səs istifadəsi</string>
<string name="revanced_force_original_audio_not_available">Bu xüsusiyyəti işlətmək üçün yayım saxtalaşdırmanı iOS ötürücü növünə dəyiş</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1288,12 +1313,26 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
Video oynatma işləməyə bilər"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Bu seçimi bağlamaq, video oynatma problemlərinə səbəb olar.</string>
<string name="revanced_spoof_video_streams_client_type_title">İlkin qəbuledici</string>
<string name="revanced_spoof_video_streams_about_title">Yan effektlərin spoof edilməsi</string>
<string name="revanced_spoof_video_streams_about_summary">"• Uşaq videoları işlənməyə bilər
• Səs izləri menyusunu itkindir
• Sabit səs mövcud deyil
• Orijinal səs məcburi olaraq mövcud deyil"</string>
<string name="revanced_spoof_video_streams_language_title">İlkin səs yayımı dili</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (təsdiqlənmə yoxdur)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">IOS-da AVC (H.264)-ni məcbur et</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodlama AVC (H.264)-yə məcbur edilir</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodlayıcı avtomatik müəyyən edilir</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Bunu aktivləşdirmə, batareya ömrün yaxşılaşdıra və oynatma qırılmasın düzəldə bilər.
AVC maksimum 1080p görüntü imkanına malikdir, Opus audio kodlama olmur və video oynatma VP9 və ya AV1-dən daha çox internet məlumatı sərf edəcək."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS saxtalaşdırma yan təsirləri</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Filmlər və ya ödənişli videolar oynadıla bilməz
• Stabil səs səviyyəsi mövcud deyil
• Videolar 1 saniyə tez bitir"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android saxtalaşdırma yan təsirləri</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Səs treki menyusu yoxdur
• Sabit səs səviyyəsi yoxdur
• İlkin səsi məcbur etmə mümkün deyil"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">İstək üçün Statistikada göstər</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Qəbuledici növü Nerdlər üçün statistikada göstərilir</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Qəbuledici nerd üçün Statistikada gizlidir</string>
<string name="revanced_spoof_video_streams_language_title">VR-da ilkin səs yayımı dili</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Tətbiq dili</string>
<string name="revanced_spoof_video_streams_language_AR">Ərəbcə</string>
<string name="revanced_spoof_video_streams_language_AZ">Azərbaycanca</string>
@@ -1330,8 +1369,7 @@ Video oynatma işləməyə bilər"</string>
<string name="revanced_spoof_video_streams_language_OR">Oriya dili</string>
<string name="revanced_spoof_video_streams_language_PA">Pəncabca</string>
<string name="revanced_spoof_video_streams_language_PL">Polyak dili</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portuqalca (Braziliya)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portuqalca (Portəgiz)</string>
<string name="revanced_spoof_video_streams_language_PT">Portuqal dili</string>
<string name="revanced_spoof_video_streams_language_RO">Rumınca</string>
<string name="revanced_spoof_video_streams_language_RU">Rusca</string>
<string name="revanced_spoof_video_streams_language_SK">Slovak dili</string>
@@ -1356,11 +1394,11 @@ Video oynatma işləməyə bilər"</string>
<string name="revanced_block_audio_ads_summary_off">Səsli reklamlar bloklanmayıb</string>
</patch>
<patch id="ad.embedded.embeddedAdsPatch">
<string name="revanced_embedded_ads_service_unavailable">%s əlçatmazdır, reklamlar göstərilə bilər. Ayarlarda reklam əngəlləmə xidmətini dəyişdirməyə çalışın.</string>
<string name="revanced_embedded_ads_service_failed">%s bir xəta qaytardı, reklamlar göstərilə bilər. Ayarlarda reklam əngəlləmə xidmətini dəyişdirməyə çalışın.</string>
<string name="revanced_embedded_ads_service_unavailable">%s əlçatmazdır, reklamlar göstərilə bilər. Tənzimləmədə reklam əngəlləmə xidmətin dəyişməyə çalışın.</string>
<string name="revanced_embedded_ads_service_failed">%s xəta qaytardı, reklamlar görünə bilər. Tənzimləmədə reklam əngəlləmə xidmətin dəyişməyə çalışın.</string>
<string name="revanced_block_embedded_ads_title">Yerləşdirilən video reklamlarını əngəllə</string>
<string name="revanced_block_embedded_ads_entry_1">Qeyri-aktiv edildi</string>
<string name="revanced_block_embedded_ads_entry_2">Dəqiq proksi</string>
<string name="revanced_block_embedded_ads_entry_2">Luminous proxy</string>
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock proksi</string>
</patch>
<patch id="ad.video.videoAdsPatch">
@@ -1373,7 +1411,7 @@ Video oynatma işləməyə bilər"</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>
<string name="revanced_show_deleted_messages_entry_3">Silinən mesajları qaralanmış mətn kimi göstər</string>
<string name="revanced_show_deleted_messages_entry_3">Silinən mesajları cızılmış mətn kimi göstər</string>
</patch>
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
<string name="revanced_auto_claim_channel_points_title">Kanal Xallarını avtomatik təsdiqlə</string>
@@ -1389,7 +1427,7 @@ Video oynatma işləməyə bilər"</string>
<patch id="misc.settings.settingsPatch">
<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_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_chat_screen_title">Söhbət</string>
@@ -1399,7 +1437,7 @@ Video oynatma işləməyə bilə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>
<string name="revanced_client_ads_category_title">Qəbuledici dəstəkli reklamlar</string>
<string name="revanced_surestream_ads_category_title">Server dəstəkli surestream reklamlar</string>
<string name="revanced_surestream_ads_category_title">Server dəstəkli dəqiq yayım reklamları</string>
<string name="revanced_twitch_debug_title">Sazlama jurnalı</string>
<string name="revanced_twitch_debug_summary_on">Sazlama jurnalları aktivləşdirilib</string>
<string name="revanced_twitch_debug_summary_off">Sazlama jurnalları qeyri-aktiv edilib</string>

View File

@@ -446,6 +446,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Бачнасць фону накладання пальцам</string>
<string name="revanced_swipe_threshold_title">Парог велічыні пальцам</string>
<string name="revanced_swipe_threshold_summary">Велічыня парогавага значэння для правядзення пальцам</string>
<string name="revanced_swipe_change_video_title">Уключыць зьмену відэа праз правядзенне пальцам</string>
<string name="revanced_swipe_change_video_summary_on">Правядзенне пальцам у рэжыме поўнага экрана зьменіць відэа на наступнае/папярэдняе</string>
<string name="revanced_swipe_change_video_summary_off">Правядзенне пальцам у рэжыме поўнага экрана не зьменіць відэа на наступнае/папярэдняе</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Адключыць аўтаматычныя цітры</string>
@@ -629,15 +632,18 @@ Second \"item\" text"</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">Shorts у стужцы хатняй старонкі схаваны</string>
<string name="revanced_hide_shorts_home_summary_off">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">Shorts у стужцы падпіскі схаваны</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">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">Shorts у выніках пошуку схаваны</string>
<string name="revanced_hide_shorts_search_summary_off">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>
@@ -739,6 +745,13 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Усплывальныя панэлі прайгравальніка схаваныя</string>
<string name="revanced_hide_player_popup_panels_summary_off">Паказваюцца ўсплывальныя панэлі прайгравальніка</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Выйсці з поўнаэкраннага рэжыму ў канцы відэа</string>
<string name="revanced_exit_fullscreen_entry_1">Адключана</string>
<string name="revanced_exit_fullscreen_entry_2">Партрэт</string>
<string name="revanced_exit_fullscreen_entry_3">Ландшафт</string>
<string name="revanced_exit_fullscreen_entry_4">Партрэт і ландшафт</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Открывать видео на весь экран в портретном режиме</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Видео открываются на весь экран</string>
@@ -1008,6 +1021,23 @@ Second \"item\" text"</string>
<string name="revanced_sb_reset">Скінуць</string>
<string name="revanced_sb_about">Пра праграму</string>
<string name="revanced_sb_about_api_sum">Дадзеныя прадастаўляюцца API SponsorBlock. Націсніце тут, каб даведацца больш і паглядзець спампоўкі для іншых платформаў</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Фармат экрана</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">"Змены ўключаюць:
Раскладка планшэта
• Паведамленні супольнасці схаваны
Раскладка аўтамабіля
• Меню гісторыі праглядаў схавана
• Адноўлена ўкладка «Даследаваць»
• Ролікі Shorts адкрываюцца ў звычайным прайгравальніку
• Стужка арганізавана па тэмах і каналах"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Версія праграмы Spoof</string>
@@ -1065,12 +1095,6 @@ Second \"item\" text"</string>
<string name="revanced_shorts_autoplay_background_summary_on">Shorts в фоновом режиме будут воспроизводиться автоматически</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts в фоновом режиме будут повторяться</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Уключыць макет планшэта</string>
<string name="revanced_tablet_layout_summary_on">Макет планшэта ўключаны</string>
<string name="revanced_tablet_layout_summary_off">Макет планшэта адключаны</string>
<string name="revanced_tablet_layout_user_dialog_message">Паведамленні ў супольнасці не адлюстроўваюцца на планшэце</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Міні-плэер</string>
<string name="revanced_miniplayer_screen_summary">Змяніце стыль мінімізаванага плэера ў праграме</string>
@@ -1234,6 +1258,7 @@ 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>
<string name="revanced_force_original_audio_not_available">Каб выкарыстоўваць гэтую функцыю, зменіце спафінг патоку на тып кліента iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1289,13 +1314,27 @@ Second \"item\" text"</string>
Прайграванне відэа можа не працаваць"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем відэа.</string>
<string name="revanced_spoof_video_streams_client_type_title">Клиент по умолчанию</string>
<string name="revanced_spoof_video_streams_about_title">Падробка пабочных эфектаў</string>
<string name="revanced_spoof_video_streams_about_summary">"• Дзіцячыя відэа могуць не прайгравацца
• Панэль гукавых дарожак адсутнічае
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (няма аўтэнтыфікацыі)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Вымусіць iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Відэакaдэк зафіксаваны ў AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Відэакaдэк вызначаецца аўтаматычна</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Уключэнне гэтага можа палепшыць час аўтаномнай працы і выправіць заіканне прайгравання.
AVC мае максімальнае дазвол 1080p, аўдыёкадэк Opus недаступны, а прайграванне відэа будзе выкарыстоўваць больш інтэрнэт-даных, чым VP9 або AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Пабочныя эфекты падробкі iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Фільмы або платныя відэа могуць не прайгравацца
• Стабільная гучнасць недаступная
Прымусова арыгінальная аўдыёдарожка недаступная"</string>
<string name="revanced_spoof_video_streams_language_title">Язык потока аудио по умолчанию</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Язык приложения</string>
Відэа заканчваюцца на 1 секунду раней"</string>
<string name="revanced_spoof_video_streams_about_android_title">Побічныя эфекты падробкі Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Меню гукавой дарожкі адсутнічае
• Стабільны гук недаступны
• Прымусовае арыгінальнае аўдыё недаступна"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Паказаць у статыстыцы для спецыялістаў</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Тып кліента адлюстроўваецца ў статыстыцы для спецыялістаў</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Кліент схаваны ў статыстыцы для спецыялістаў</string>
<string name="revanced_spoof_video_streams_language_title">Мова гукавой дарожкі па змаўчанні для VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Мова праграмы</string>
<string name="revanced_spoof_video_streams_language_AR">Арабский</string>
<string name="revanced_spoof_video_streams_language_AZ">Азербайджанский</string>
<string name="revanced_spoof_video_streams_language_BG">Болгарский</string>
@@ -1331,8 +1370,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_language_OR">Орія</string>
<string name="revanced_spoof_video_streams_language_PA">Панджабский</string>
<string name="revanced_spoof_video_streams_language_PL">Польская</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Партугальская (Бразілія)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Партугальская (Партугалія)</string>
<string name="revanced_spoof_video_streams_language_PT">Партугальская</string>
<string name="revanced_spoof_video_streams_language_RO">Румынская</string>
<string name="revanced_spoof_video_streams_language_RU">Русская</string>
<string name="revanced_spoof_video_streams_language_SK">Словацкия</string>

View File

@@ -445,6 +445,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Видимостта на фона на плъзгащите контроли.</string>
<string name="revanced_swipe_threshold_title">Праг на величината на плъзгане</string>
<string name="revanced_swipe_threshold_summary">Праг преди да се осъществи плъзгането</string>
<string name="revanced_swipe_change_video_title">Включване на превключване на видеото чрез плъзване</string>
<string name="revanced_swipe_change_video_summary_on">Плъзването в режим на цял екран ще превключи към следващото/предишно видео</string>
<string name="revanced_swipe_change_video_summary_off">Плъзването в режим на цял екран няма да превключи към следващото/предишно видео</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Автоматични Субтитри</string>
@@ -628,15 +631,18 @@ Second \"item\" text"</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">Shorts в началната лента са скрити</string>
<string name="revanced_hide_shorts_home_summary_off">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">Shorts в раздел „Абонаменти“ са скрити</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">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">Shorts в резултатите от търсенето са скрити</string>
<string name="revanced_hide_shorts_search_summary_off">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">Бутон за присъединяване</string>
<string name="revanced_hide_shorts_join_button_summary_on">Бутона за присъединяване е скрит</string>
@@ -738,6 +744,13 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Изскачащите панели на плейъра са скрити</string>
<string name="revanced_hide_player_popup_panels_summary_off">Изскачащите панели на плейъра се показват</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Изход от режим на цял екран в края на видеото</string>
<string name="revanced_exit_fullscreen_entry_1">Деактивирано</string>
<string name="revanced_exit_fullscreen_entry_2">Портрет</string>
<string name="revanced_exit_fullscreen_entry_3">Пейзаж</string>
<string name="revanced_exit_fullscreen_entry_4">Портрет и пейзаж</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Отваряне на видеоклипове в портретен режим на цял екран</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Видеоклиповете се отварят на цял екран</string>
@@ -1006,6 +1019,23 @@ Second \"item\" text"</string>
<string name="revanced_sb_reset">Възстанови</string>
<string name="revanced_sb_about">За програмата</string>
<string name="revanced_sb_about_api_sum">Данните са предоставени от SponsorBlock API. Докоснете тук за повече информация и изтеглияния</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Форм фактор на оформлението</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">"Промените включват:
Оформление за таблет
• Публикациите на общността са скрити
Оформление за автомобил
• Менюто „История на гледане“ е скрито
• Разделът „Разгледай“ е възстановен
• Shorts се отварят в обикновения плейър
• Лентата е организирана по теми и канал"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Подлъгване за версията на приложението</string>
@@ -1020,6 +1050,7 @@ Second \"item\" text"</string>
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Подлъгване за версията на</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Възстановете старите икони на Shorts в плейъра</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Възстановяване на стари икони на навигацията и лентата с инструменти</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Възстановете RYD в режим „инкогнито“ на Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Възстановяване на видео скорост &amp; в менюто за качество</string>
@@ -1063,12 +1094,6 @@ Second \"item\" text"</string>
<string name="revanced_shorts_autoplay_background_summary_on">Shorts ще се възпроизвеждат автоматично един след друг във фонов режим</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts ще се повтори във фонов режим</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Включи режим за таблет</string>
<string name="revanced_tablet_layout_summary_on">Режим за таблет е вкл.</string>
<string name="revanced_tablet_layout_summary_off">Режим за таблет е изкл.</string>
<string name="revanced_tablet_layout_user_dialog_message">Публикациите в общността не се показват на оформления за таблет</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Минимизиран екран за възпроизвеждане</string>
<string name="revanced_miniplayer_screen_summary">Променете стила на минимизирания екран за възпроизвеждане</string>
@@ -1232,6 +1257,7 @@ 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>
<string name="revanced_force_original_audio_not_available">За да използвате тази функция, променете имитацията на поточно предаване на тип клиент на iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1287,12 +1313,26 @@ Second \"item\" text"</string>
Възпроизвеждането на видеоклипове може да не работи"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Деактивирането на тази настройка ще доведе до проблеми с възпроизвеждането на видео.</string>
<string name="revanced_spoof_video_streams_client_type_title">Клиент по подразбиране</string>
<string name="revanced_spoof_video_streams_about_title">Фалшиви странични ефекти</string>
<string name="revanced_spoof_video_streams_about_summary">"• Детските видеоклипове може да не се възпроизвеждат
• Липсва менюто за аудио запис
Не е наличен стабилен звук
• Принудително оригинално аудио не е налично"</string>
<string name="revanced_spoof_video_streams_language_title">Език по подразбиране на аудио потока</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (bez avtorizaciq)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Принудително използване на AVC (H.264) на iOS</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Видео кодекът е принудително зададен на AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Видео кодекът се определя автоматично</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Включването на това може да подобри живота на батерията и да поправи заекването при възпроизвеждане.
AVC има максимална резолюция от 1080p, Opus аудио кодек не е наличен и възпроизвеждането на видео ще използва повече интернет данни от VP9 или AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Ефекти на измамата в iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Филми или платени видеоклипове може да не се възпроизвеждат
• Стабилен звук не е наличен
• Видеоклиповете завършват 1 секунда по-рано"</string>
<string name="revanced_spoof_video_streams_about_android_title">Strani4ni efekti na fal6ivoto predstavqne na Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Lipsva menju za audio pisti
• Ne e nali4na stabilna glasnost
• Ne e nali4na forsirana originalna audio pista"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Poka6i v Statistiki za nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Tipът na klienta se poka6va v Statistiki za nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Klientът e skriт v Statistiki za nerds</string>
<string name="revanced_spoof_video_streams_language_title">Ezik po подразбиране za audio potok v VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Език на приложението</string>
<string name="revanced_spoof_video_streams_language_AR">Арабски</string>
<string name="revanced_spoof_video_streams_language_AZ">Азербайджански</string>
@@ -1329,8 +1369,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_language_OR">Ория</string>
<string name="revanced_spoof_video_streams_language_PA">Пенджабски</string>
<string name="revanced_spoof_video_streams_language_PL">Полски</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Португалски (Бразилия)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Португалски (Португалия)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugalski</string>
<string name="revanced_spoof_video_streams_language_RO">Румънски</string>
<string name="revanced_spoof_video_streams_language_RU">Руски</string>
<string name="revanced_spoof_video_streams_language_SK">Словашки</string>

View File

@@ -446,6 +446,9 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_swipe_overlay_background_alpha_summary">সোয়াইপ ওভারলে ব্যাকগ্রাউন্ডের দৃশ্যমানতা</string>
<string name="revanced_swipe_threshold_title">সোয়াইপ থ্রেশহোল্ড এর মাত্রা</string>
<string name="revanced_swipe_threshold_summary">সোয়াইপ করার থ্রেশহোল্ডের পরিমাণ</string>
<string name="revanced_swipe_change_video_title">ভিডিও পরিবর্তন করতে সোয়াইপ করে সক্ষম করুন</string>
<string name="revanced_swipe_change_video_summary_on">ফুলস্ক্রিন মোডে সোয়াইপ করলে পরবর্তী/পূর্ববর্তী ভিডিওতে পরিবর্তন হবে</string>
<string name="revanced_swipe_change_video_summary_off">ফুলস্ক্রিন মোডে সোয়াইপ করলে পরবর্তী /পূর্ববর্তী ভিডিওতে পরিবর্তন হবে না</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">স্বয়ংক্রিয় ক্যাপশন বন্ধ করুন</string>
@@ -629,15 +632,18 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<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">প্রধান ফিডে Shorts লুকিয়ে রয়েছে</string>
<string name="revanced_hide_shorts_home_summary_off">প্রধান ফিডে 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">দস্যতা ফিডে Shorts লুকিয়ে রয়েছে</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">দস্যতা ফিডে 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">অনুসন্ধান ফলাফলে Shorts লুকিয়ে রয়েছে</string>
<string name="revanced_hide_shorts_search_summary_off">অনুসন্ধান ফলাফলে 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>
@@ -739,6 +745,13 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_hide_player_popup_panels_summary_on">প্লেয়ার পপআপ প্যানেলগুলো লুকিয়ে রয়েছে</string>
<string name="revanced_hide_player_popup_panels_summary_off">প্লেয়ার পপআপ প্যানেলগুলো প্রদর্শিত হয়েছে</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">ভিডিও শেষ হওয়ার সময় পূর্ণ পর্দা মোড থেকে বেরিয়ে যান</string>
<string name="revanced_exit_fullscreen_entry_1">নিষ্ক্রিয়</string>
<string name="revanced_exit_fullscreen_entry_2">আনুভূমিক</string>
<string name="revanced_exit_fullscreen_entry_3">ল্যান্ডস্কেপ</string>
<string name="revanced_exit_fullscreen_entry_4">আনুভূমিক এবং ল্যান্ডস্কেপ</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">পূর্ণ পর্দায় ভিডিও খুলুন</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">ভিডিও পূর্ণ পর্দায় খুলবে</string>
@@ -1007,6 +1020,23 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_sb_reset">পুনরায় সেট করুন</string>
<string name="revanced_sb_about">সম্পর্কিত</string>
<string name="revanced_sb_about_api_sum">ডেটা SponsorBlock API দ্বারা সরবরাহ করা হয়। আরও জানতে এবং অন্যান্য প্ল্যাটফর্মের ডাউনলোড দেখতে এখানে ট্যাপ করুন</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">লেআউট ফর্ম ফ্যাক্টর</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">"পরিবর্তনগুলো হল:
ট্যাবলেট লেআউট
• কমিউনিটি পোস্ট গোপন
স্বয়ংচালিত লেআউট
• ঘড়ির ইতিহাস মেনু গোপন
• এক্সপ্লোর ট্যাব পুনরুদ্ধার করা হয়েছে
• শর্টস নিয়মিত প্লেয়ারে খোলে
• ফিড বিষয় এবং চ্যানেল দ্বারা সংগঠিত হয়"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">অ্যাপ সংস্করণ স্পুফ করুন</string>
@@ -1021,6 +1051,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">স্পুফ অ্যাপ সংস্করণ লক্ষ্য</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - পুরনো Shorts প্লেয়ার আইকন পুনরুদ্ধার করুন</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - পুরোনো নেভিগেশন এবং টুলবার আইকন পুনরুদ্ধার করুন</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - ছদ্মবেশি মোডে RYD পুনরুদ্ধার করে</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - প্রশ্বস্ত ভিডিও স্পিড এবং গুণমান মেনু পুনরুদ্ধার করে</string>
@@ -1064,12 +1095,6 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_shorts_autoplay_background_summary_on">পটভূমিতে Shorts অটোপ্লে হবে</string>
<string name="revanced_shorts_autoplay_background_summary_off">পটভূমিতে Shorts পুনরাবৃত্তি হবে</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">ট্যাবলেট লেআউট সক্রিয় করুন</string>
<string name="revanced_tablet_layout_summary_on">ট্যাবলেট লেআউট সক্রিয় হয়েছে</string>
<string name="revanced_tablet_layout_summary_off">ট্যাবলেট লেআউট নিষ্ক্রিয় হয়েছে</string>
<string name="revanced_tablet_layout_user_dialog_message">ট্যাবলেট লেআউটে কমিউনিটি পোস্ট দেখাবে না</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">মিনিপ্লেয়ার</string>
<string name="revanced_miniplayer_screen_summary">অ্যাপের মধ্যকার মিনিমাইজড প্লেয়ার এর ধরণ পরিবর্তন করুন</string>
@@ -1234,6 +1259,7 @@ 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>
<string name="revanced_force_original_audio_not_available">এই বৈশিষ্ট্যটি ব্যবহার করার জন্য, iOS ক্লায়েন্ট প্রকারে স্ট্রিম স্পুফিং পরিবর্তন করুন</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1289,12 +1315,26 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
ভিডিও প্লেব্যাক কাজ নাও করতে পারে"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে।</string>
<string name="revanced_spoof_video_streams_client_type_title">ডিফল্ট ক্লায়েন্ট</string>
<string name="revanced_spoof_video_streams_about_title">স্পুফিং এর পার্শ্বপ্রতিক্রিয়া</string>
<string name="revanced_spoof_video_streams_about_summary">"• বাচ্চাদের ভিডিও প্লে নাও হতে পারে
• অডিও ট্র্যাক মেনু অনুপস্থিত
• স্থিতিশীল ভলিউম উপলব্ধ নয়
• জোর করে মূল অডিও উপলব্ধ নয়৷"</string>
<string name="revanced_spoof_video_streams_language_title">ডিফল্ট অডিও স্ট্রিম ভাষা</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (স্বীকৃতি ছাড়া)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">iOS AVC (H.264) বাধ্যতামূলক করুন</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">ভিডিও কোডেক AVC (H.264) এ বাধ্যতামূলক করা হয়েছে</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">ভিডিও কোডেক স্বয়ংক্রিয়ভাবে নির্ধারিত হয়</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"এটি সক্ষম করলে ব্যাটারি লাইফ উন্নত হতে পারে এবং প্লেব্যাক স্টাটারিং সমস্যা সমাধান হতে পারে।
AVC-এর সর্বোচ্চ রেজোলিউশন হল 1080p, Opus অডিও কোডেক পাওয়া যায় না এবং VP9 বা AV1-এর তুলনায় ভিডিও প্লেব্যাকে বেশি ইন্টারনেট ডেটা ব্যবহার করা হবে。"</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">আইওএস স্পুফিংয়ের পার্শ্ব প্রতিক্রিয়া</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• মুভি বা অর্থ প্রদানের ভিডিও চালু নাও হতে পারে
• স্থির ভলিউম পাওয়া যায় না
• ভিডিওগুলি 1 সেকেন্ড আগে শেষ হয়ে যায়"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android স্পুফিংয়ের পার্শ্বপ্রতিক্রিয়া</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• অডিও ট্র্যাক মেনু নেই
• স্থির ভলিউম পাওয়া যায় না
• মূল অডিও জোর করে চালু করা যায় না"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">স্ট্যাটস ফর নার্ডসে দেখান</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">স্ট্যাটস ফর নার্ডসে ক্লায়েন্ট প্রকার দেখানো হবে</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">স্ট্যাটস ফর নার্ডসে ক্লায়েন্ট লুকানো হবে</string>
<string name="revanced_spoof_video_streams_language_title">VR ডিফল্ট অডিও স্ট্রিম ভাষা</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">অ্যাপ ভাষা</string>
<string name="revanced_spoof_video_streams_language_AR">আরবি</string>
<string name="revanced_spoof_video_streams_language_AZ">আজারবাইজানি</string>
@@ -1331,8 +1371,7 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
<string name="revanced_spoof_video_streams_language_OR">ওড়িয়া</string>
<string name="revanced_spoof_video_streams_language_PA">পঞ্জাবি</string>
<string name="revanced_spoof_video_streams_language_PL">পোলিশ</string>
<string name="revanced_spoof_video_streams_language_PT_BR">পর্তুগিজ (ব্রাজিল)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">পর্তুগিজ (পর্তুগাল)</string>
<string name="revanced_spoof_video_streams_language_PT">পর্তুগিজ</string>
<string name="revanced_spoof_video_streams_language_RO">রোমানীয়</string>
<string name="revanced_spoof_video_streams_language_RU">রাশিয়ান</string>
<string name="revanced_spoof_video_streams_language_SK">স্লোভাক</string>

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -446,6 +446,9 @@ Aquesta funció només està disponible per a dispositius antics"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">La visibilitat del fons de la superposició lliscant</string>
<string name="revanced_swipe_threshold_title">Llindar de magnitud de lliscament</string>
<string name="revanced_swipe_threshold_summary">La quantitat de llindar per a què es produeixi el desplaçament</string>
<string name="revanced_swipe_change_video_title">Activa la funció de lliscament per canviar vídeos</string>
<string name="revanced_swipe_change_video_summary_on">Lliscar en mode de pantalla completa canviarà al vídeo següent/anterior</string>
<string name="revanced_swipe_change_video_summary_off">Lliscar en mode de pantalla completa no canviarà al vídeo següent/anterior</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Desactiva els subtítols automàtics</string>
@@ -629,15 +632,15 @@ Nota: si actives aquesta opció, també s'amaguen els anuncis de vídeo per for
<string name="revanced_shorts_player_screen_summary">Amaga o mostra components al reproductor de Shorts</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Amaga els Shorts al feed d\'inici</string>
<string name="revanced_hide_shorts_home_summary_on">Els Shorts al feed d\'inici estan ocults</string>
<string name="revanced_hide_shorts_home_summary_off">Els Shorts al feed d\'inici es mostren</string>
<string name="revanced_hide_shorts_home_summary_on">Amagat al feed d\'inici i als vídeos relacionats</string>
<string name="revanced_hide_shorts_home_summary_off">Es mostra al feed d\'inici i als vídeos relacionats</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Amaga Shorts al feed de subscripcions</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Els Shorts al feed de subscripcions estan ocults</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Els Shorts al feed de subscripcions es mostren</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Amagat al feed de subscripcions</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Es mostra al feed de subscripcions</string>
<string name="revanced_hide_shorts_search_title">Amaga Shorts als resultats de la cerca</string>
<string name="revanced_hide_shorts_search_summary_on">Els Shorts als resultats de la cerca estan ocults</string>
<string name="revanced_hide_shorts_search_summary_off">Els Shorts als resultats de la cerca es mostren</string>
<string name="revanced_hide_shorts_search_summary_off">Es mostra als resultats de la cerca</string>
<string name="revanced_hide_shorts_history_summary_on">Amagat a l\'historial de visualitzacions</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Amaga el botó d\'unió</string>
<string name="revanced_hide_shorts_join_button_summary_on">El botó d\'unió està ocult</string>
@@ -739,6 +742,13 @@ Nota: si actives aquesta opció, també s'amaguen els anuncis de vídeo per for
<string name="revanced_hide_player_popup_panels_summary_on">Els panells emergents del reproductor estan ocults</string>
<string name="revanced_hide_player_popup_panels_summary_off">Els panells emergents del reproductor estan visibles</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Surt del mode de pantalla completa al final del vídeo</string>
<string name="revanced_exit_fullscreen_entry_1">Desactivat</string>
<string name="revanced_exit_fullscreen_entry_2">Vertical</string>
<string name="revanced_exit_fullscreen_entry_3">Horitzontal</string>
<string name="revanced_exit_fullscreen_entry_4">Vertical i horitzontal</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Obrir vídeos en pantalla completa en format vertical</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Els vídeos s\'obren en pantalla completa</string>
@@ -1006,6 +1016,23 @@ Preparat per enviar?"</string>
<string name="revanced_sb_reset">Restablir</string>
<string name="revanced_sb_about">Quant a</string>
<string name="revanced_sb_about_api_sum">Les dades són proporcionades per l\'API de SponsorBlock. Toca aquí per a saber-ne més i veure les descàrregues per a altres plataformes</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Factor de forma del disseny</string>
<string name="revanced_change_form_factor_entry_1">Predeterminat</string>
<string name="revanced_change_form_factor_entry_2">Telèfon</string>
<string name="revanced_change_form_factor_entry_3">Tauleta</string>
<string name="revanced_change_form_factor_entry_4">Automoció</string>
<string name="revanced_change_form_factor_user_dialog_message">"Els canvis inclouen:
Presentació de la tauleta
• Les publicacions de la comunitat estan amagades
Presentació de l'automòbil
• El menú d'historial del rellotge està ocult
• La pestanya Explora s'ha restaurat
• Els curts s'obren al reproductor normal
• La font d'informació s'organitza per temes i canals"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Falsa la versió de l\'aplicació</string>
@@ -1063,12 +1090,6 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
<string name="revanced_shorts_autoplay_background_summary_on">La reproducció en segon pla dels Shorts es reproduirà automàticament</string>
<string name="revanced_shorts_autoplay_background_summary_off">La reproducció en segon pla dels Shorts es repetirà</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Habilita el disseny de tauleta</string>
<string name="revanced_tablet_layout_summary_on">El disseny de tauleta està habilitat</string>
<string name="revanced_tablet_layout_summary_off">El disseny de tauleta està deshabilitat</string>
<string name="revanced_tablet_layout_user_dialog_message">Les publicacions de la comunitat no apareixen en els dissenys de tauleta</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Minireproductor</string>
<string name="revanced_miniplayer_screen_summary">Canvia l\'estil del reproductor minimitzat a l\'aplicació</string>
@@ -1233,6 +1254,7 @@ Si actives aquesta opció, es poden desbloquejar qualitats de vídeo més altes"
<string name="revanced_force_original_audio_title">Forçar àudio original</string>
<string name="revanced_force_original_audio_summary_on">Utilitzant àudio original</string>
<string name="revanced_force_original_audio_summary_off">Utilitzant àudio predeterminat</string>
<string name="revanced_force_original_audio_not_available">Per utilitzar aquesta funció, canvia la suplantació de flux al tipus de client iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1288,13 +1310,27 @@ Si actives aquesta opció, es poden desbloquejar qualitats de vídeo més altes"
La reproducció de vídeo pot no funcionar"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Desactivar aquesta configuració pot causar problemes de reproducció de vídeo.</string>
<string name="revanced_spoof_video_streams_client_type_title">Client predeterminat</string>
<string name="revanced_spoof_video_streams_about_title">Efectes secundaris de suplantació</string>
<string name="revanced_spoof_video_streams_about_summary">"• És possible que els vídeos infantils no es reprodueixin
• Falta el menú de pista d'àudio
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (sense autorització)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forza iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">El còdec de vídeo es força a AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El còdec de vídeo es determina automàticament.</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"L'activació d'aquesta opció podria millorar la vida útil de la bateria i resoldre els problemes de reproducció irregular.
L'AVC té una resolució màxima de 1080p, el còdec d'àudio Opus no està disponible i la reproducció de vídeo utilitzarà més dades d'Internet que VP9 o AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Efectes secundaris de suplantació d\'iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Les pel·lícules o vídeos de pagament poden no reproduir-se
• El volum estable no està disponible
Força l'àudio original no està disponible"</string>
<string name="revanced_spoof_video_streams_language_title">Idioma de la transmissió d\'àudio per defecte</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de l\'aplicació</string>
Els vídeos s'aturen 1 segon abans"</string>
<string name="revanced_spoof_video_streams_about_android_title">Efectes secundaris de la suplantació d\'Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Menú de pistes d'àudio no disponible
• El volum estable no està disponible
• Forçar l'àudio original no està disponible"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Mostra a l\'apartat \'Dades per a experts\'</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">El tipus de client es mostra a l\'apartat \'Dades per a experts\'</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">El client s\'amaga a l\'apartat \'Dades per a experts\'</string>
<string name="revanced_spoof_video_streams_language_title">Idioma de l\'àudio per defecte a VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Llengua de l\'aplicació</string>
<string name="revanced_spoof_video_streams_language_AR">Àrab</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaidjanès</string>
<string name="revanced_spoof_video_streams_language_BG">Búlgar</string>
@@ -1330,8 +1366,7 @@ La reproducció de vídeo pot no funcionar"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polonès</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portuguès (Brasil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portuguès (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portuguès</string>
<string name="revanced_spoof_video_streams_language_RO">Romanès</string>
<string name="revanced_spoof_video_streams_language_RU">Rus</string>
<string name="revanced_spoof_video_streams_language_SK">Eslovac</string>

View File

@@ -446,6 +446,9 @@ Tato funkce je dostupná pouze pro starší zařízení"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Viditelnost pozadí překrytí gesta</string>
<string name="revanced_swipe_threshold_title">Práh vynucení gesta</string>
<string name="revanced_swipe_threshold_summary">Velikost prahu pro provedení gesta</string>
<string name="revanced_swipe_change_video_title">Povolit přejetí prstem pro změnu videa</string>
<string name="revanced_swipe_change_video_summary_on">Přejetí prstem v režimu celé obrazovky změní video na další/předchozí</string>
<string name="revanced_swipe_change_video_summary_off">Přejetí prstem v režimu celé obrazovky nebude video měnit na další/předchozí</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Zakázat automatické titulky</string>
@@ -629,15 +632,18 @@ Poznámka: Povolení této funkce také vynuceně skryje video reklamy"</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">Shorts jsou schovány v Domů</string>
<string name="revanced_hide_shorts_home_summary_off">Shorts jsou zobrazeny 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">Shorts jsou v odběrovém feedu schovány</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts jsou v odběrovém feedu zobazeny</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>
<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">Shorts jsou ve výsledcích vyhledávání skryté</string>
<string name="revanced_hide_shorts_search_summary_off">Shorts jsou ve výsledcích vyhledávání viditelné</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>
@@ -739,6 +745,13 @@ Poznámka: Povolení této funkce také vynuceně skryje video reklamy"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Vyskakovací panely přehrávače jsou skryté</string>
<string name="revanced_hide_player_popup_panels_summary_off">Vyskakovací panely přehrávače jsou zobrazeny</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Ukončete režim celé obrazovky na konci videa</string>
<string name="revanced_exit_fullscreen_entry_1">Zakázáno</string>
<string name="revanced_exit_fullscreen_entry_2">Na výšku</string>
<string name="revanced_exit_fullscreen_entry_3">Na šířku</string>
<string name="revanced_exit_fullscreen_entry_4">Na výšku i na šířku</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Otevřít videa v režimu na celou obrazovku na výšku</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videa se otevírají na celou obrazovku</string>
@@ -1006,6 +1019,23 @@ Jste připraveni k odeslání?"</string>
<string name="revanced_sb_reset">Výchozí</string>
<string name="revanced_sb_about">O aplikaci</string>
<string name="revanced_sb_about_api_sum">Data poskytuje rozhraní API SponsorBlock. Klepněte zde, abyste se dozvěděli více a zobrazili si soubory ke stažení pro další platformy</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Rozvržení formuláře</string>
<string name="revanced_change_form_factor_entry_1">Výchozí</string>
<string name="revanced_change_form_factor_entry_2">Telefon</string>
<string name="revanced_change_form_factor_entry_3">Tablet</string>
<string name="revanced_change_form_factor_entry_4">Automobilový</string>
<string name="revanced_change_form_factor_user_dialog_message">"Změny zahrnují:
Rozložení tabletu
• Příspěvky komunity jsou skryté
Rozložení automobilu
• Menu historie sledování je skryté
• Karta Prozkoumat je obnovena
• Shorts se otevírají v běžném přehrávači
• Kanál je organizován podle témat a kanálu"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Napodobit verzi aplikace</string>
@@ -1020,6 +1050,7 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Cíl napodobení verze aplikace</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Obnovuje staré ikony Shorts přehrávače</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Obnovit ikony staré navigace a panelu nástrojů</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Obnovení RYD v režimu inkognito Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Obnovení široké nabídky rychlosti a kvality videa</string>
@@ -1063,12 +1094,6 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
<string name="revanced_shorts_autoplay_background_summary_on">Přehrávání Shorts v pozadí se bude automaticky přehrávat</string>
<string name="revanced_shorts_autoplay_background_summary_off">Přehrávání Shorts v pozadí se bude opakovat</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Povolit rozvržení tabletu</string>
<string name="revanced_tablet_layout_summary_on">Rozvržení tabletu je povoleno</string>
<string name="revanced_tablet_layout_summary_off">Rozvržení tabletu je zakázáno</string>
<string name="revanced_tablet_layout_user_dialog_message">Příspěvky komunity se v rozvržení tabletu nezobrazují</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Mini přehrávač</string>
<string name="revanced_miniplayer_screen_summary">Změnit styl minimalizovaného přehrávače v aplikaci</string>
@@ -1232,6 +1257,7 @@ Povolením této funkce lze odemknout vyšší kvality videa"</string>
<string name="revanced_force_original_audio_title">Vynutit původní zvuk</string>
<string name="revanced_force_original_audio_summary_on">Používání původního zvuku</string>
<string name="revanced_force_original_audio_summary_off">Používání výchozího zvuku</string>
<string name="revanced_force_original_audio_not_available">Pro použití této funkce změňte typ klienta streamu na iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1287,13 +1313,27 @@ Povolením této funkce lze odemknout vyšší kvality videa"</string>
Přehrávání videa nemusí fungovat"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Vypnutí tohoto nastavení může způsobit problémy s přehráváním videa.</string>
<string name="revanced_spoof_video_streams_client_type_title">Výchozí klient</string>
<string name="revanced_spoof_video_streams_about_title">Napodobování vedlejších účinků</string>
<string name="revanced_spoof_video_streams_about_summary">"• Dětská videa se nemusí přehrávat
• Chybí nabídka zvukových stop
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (bez ověření)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Vynucení kodeku iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Kodek videa je vynucen na AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Kodek videa je určen automaticky</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Povolení této funkce může zlepšit výdrž baterie a opravit sekání videa.
AVC má maximální rozlišení 1080p, zvukový kodek Opus není dostupný a přehrávání videa bude používat více dat než VP9 nebo AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS spoofing vedlejší účinky</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Filmy nebo placená videa se nemusí přehrávat
• Stabilní hlasitost není k dispozici
• Vynucení původního zvuku není k dispozici"</string>
<string name="revanced_spoof_video_streams_language_title">Výchozí jazyk zvukového streamu</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Jazyk aplikace</string>
• Videa končí o 1 sekundu dříve"</string>
<string name="revanced_spoof_video_streams_about_android_title">Vedlejší účinky spoofingu Androidu</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Chybí nabídka zvukových stop
• Není k dispozici stabilní hlasitost
• Není k dispozici možnost vynucení originálního zvuku"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Zobrazit ve statistikách pro nadšence</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Typ klienta se zobrazuje ve statistikách pro nadšence</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Klient je skrytý ve statistikách pro nadšence</string>
<string name="revanced_spoof_video_streams_language_title">Výchozí jazyk zvukového streamu ve VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Jazyk aplikácie</string>
<string name="revanced_spoof_video_streams_language_AR">Arabsky</string>
<string name="revanced_spoof_video_streams_language_AZ">Ázerbájdžánsky</string>
<string name="revanced_spoof_video_streams_language_BG">Bulharsky</string>
@@ -1329,8 +1369,7 @@ Přehrávání videa nemusí fungovat"</string>
<string name="revanced_spoof_video_streams_language_OR">Odijština</string>
<string name="revanced_spoof_video_streams_language_PA">Paňdžábština</string>
<string name="revanced_spoof_video_streams_language_PL">Polština</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugalština (Brazílie)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugalština (Portugalsko)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugalština</string>
<string name="revanced_spoof_video_streams_language_RO">Rumunština</string>
<string name="revanced_spoof_video_streams_language_RU">Ruština</string>
<string name="revanced_spoof_video_streams_language_SK">Slovenština</string>

View File

@@ -446,6 +446,9 @@ Denne funktion er kun tilgængelig for ældre enheder"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Synligheden af swipe overlay baggrund</string>
<string name="revanced_swipe_threshold_title">Stryg størrelse tærskel</string>
<string name="revanced_swipe_threshold_summary">Beløbet for tærskelværdi for stryg der skal ske</string>
<string name="revanced_swipe_change_video_title">Aktivér swipe for at skifte videoer</string>
<string name="revanced_swipe_change_video_summary_on">Strygning i fuldskærmstilstand vil ændre til den næste/forrige video</string>
<string name="revanced_swipe_change_video_summary_off">Strygning i fuldskærmstilstand vil ikke ændre til den næste/forrige video</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Deaktivér auto-billedtekster</string>
@@ -629,15 +632,18 @@ Bemærk: Aktivering af dette skjuler også videoannoncer"</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">Shorts i hjemmet feed er skjult</string>
<string name="revanced_hide_shorts_home_summary_off">Shorts i hjemmet feed er vist</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">Shorts i abonnementsfeed er skjult</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts i abonnementsfeed vises</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>
<string name="revanced_hide_shorts_search_title">Skjul Shorts i søgeresultater</string>
<string name="revanced_hide_shorts_search_summary_on">Shorts i søgeresultater er skjult</string>
<string name="revanced_hide_shorts_search_summary_off">Korte i søgeresultater vises</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 tilmeldingsknap</string>
<string name="revanced_hide_shorts_join_button_summary_on">Deltag-knappen er skjult</string>
@@ -739,6 +745,13 @@ Bemærk: Aktivering af dette skjuler også videoannoncer"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Spiller popup paneler er skjult</string>
<string name="revanced_hide_player_popup_panels_summary_off">Spiller popup paneler vises</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Afslut fuldskærmstilstand ved videoens afslutning</string>
<string name="revanced_exit_fullscreen_entry_1">Deaktiveret</string>
<string name="revanced_exit_fullscreen_entry_2">Portræt</string>
<string name="revanced_exit_fullscreen_entry_3">Landskab</string>
<string name="revanced_exit_fullscreen_entry_4">Portræt og landskab</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Åbn videoer i fuldskærm portræt</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videoer åbne fuld skærm</string>
@@ -1007,6 +1020,23 @@ Er du klar til at indsende?"</string>
<string name="revanced_sb_reset">Nulstil</string>
<string name="revanced_sb_about">Om</string>
<string name="revanced_sb_about_api_sum">Data leveres af SponsorBlock API. Tryk her for at få flere oplysninger og se downloads til andre platforme</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Layout-formfaktor</string>
<string name="revanced_change_form_factor_entry_1">Standard</string>
<string name="revanced_change_form_factor_entry_2">Telefon</string>
<string name="revanced_change_form_factor_entry_3">Tablet</string>
<string name="revanced_change_form_factor_entry_4">Bil</string>
<string name="revanced_change_form_factor_user_dialog_message">"Ændringer omfatter:
Tabletlayout
• Fællesindlæg er skjult
Bil layout
• Se historik-menuen er skjult
• Udforsk-fanen er gendannet
• Shorts åbnes i den almindelige afspiller
• Feedet er organiseret efter emner og kanal"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Spoof app-version</string>
@@ -1021,6 +1051,7 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app version mål</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Gendan gamle Shorts player ikoner</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Gendan gamle navigations- og værktøjslinjeikoner</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Gendan RYD på Shorts inkognitotilstand</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Gendan bred video hastighed &amp; kvalitet menu</string>
@@ -1064,12 +1095,6 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
<string name="revanced_shorts_autoplay_background_summary_on">Shorts i baggrunden afspilles automatisk</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts i baggrunden gentages</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Aktivér tabletlayout</string>
<string name="revanced_tablet_layout_summary_on">Tablet layout er aktiveret</string>
<string name="revanced_tablet_layout_summary_off">Tablet layout er deaktiveret</string>
<string name="revanced_tablet_layout_user_dialog_message">Fællesskabsindlæg vises ikke på tabletlayouts</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Mini-afspiller</string>
<string name="revanced_miniplayer_screen_summary">Ændre stilen for den i app minimeret afspiller</string>
@@ -1233,6 +1258,7 @@ Aktivering af dette kan låse op for højere videokvalitet"</string>
<string name="revanced_force_original_audio_title">Tving original lyd</string>
<string name="revanced_force_original_audio_summary_on">Brug original lyd</string>
<string name="revanced_force_original_audio_summary_off">Brug standard lyd</string>
<string name="revanced_force_original_audio_not_available">Tilføj musik til denne historie</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1288,13 +1314,25 @@ Aktivering af dette kan låse op for højere videokvalitet"</string>
Videoafspilning virker muligvis ikke"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">At slå denne indstilling fra kan forårsage problemer med videoafspilning.</string>
<string name="revanced_spoof_video_streams_client_type_title">Standard klient</string>
<string name="revanced_spoof_video_streams_about_title">Overskrivning af bivirkninger</string>
<string name="revanced_spoof_video_streams_about_summary">"• Børnevideoer afspilles muligvis ikke
• Menuen for lydspor mangler
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (ingen godkendelse)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forceer iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Videokodec er tvunget til AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokodec bestemmes automatisk</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Aktivering af dette kan forbedre batterilevetiden og rette afspilningshakken.\n\nAVC har en maksimal opløsning på 1080p, Opus-lydkodec er ikke tilgængelig, og videoafspilning vil bruge mere internetdata end VP9 eller AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS-spoofing kan have følgende bivirkninger</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Film eller betalte videoer afspilles muligvis ikke
• Stabil lydstyrke er ikke tilgængelig
Force original lyd er ikke tilgængelig"</string>
<string name="revanced_spoof_video_streams_language_title">Standard lyd-stream sprog</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App sprog</string>
Videoer slutter 1 sekund for tidligt"</string>
<string name="revanced_spoof_video_streams_about_android_title">Bivirkninger ved Android-spoofing</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Lydspormenu mangler
• Stabil lydstyrke er ikke tilgængelig
• Gennemtving original lyd er ikke tilgængelig"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Vis i Statistik for nørder</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Klienttypen vises i Statistik for nørder</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Klienten er skjult i Statistik for nørder</string>
<string name="revanced_spoof_video_streams_language_title">VR-standardsprog for lydstrømme</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App-sprog</string>
<string name="revanced_spoof_video_streams_language_AR">Arabisk</string>
<string name="revanced_spoof_video_streams_language_AZ">Aserbajdsjansk</string>
<string name="revanced_spoof_video_streams_language_BG">Bulgarsk</string>
@@ -1330,8 +1368,7 @@ Videoafspilning virker muligvis ikke"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polsk</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugisisk (Brasilien)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugisisk (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugisisk</string>
<string name="revanced_spoof_video_streams_language_RO">Rumænsk</string>
<string name="revanced_spoof_video_streams_language_RU">Russisk</string>
<string name="revanced_spoof_video_streams_language_SK">Slovakisk</string>

View File

@@ -440,6 +440,9 @@ Diese Funktion ist nur für ältere Geräte verfügbar"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Die Sichtbarkeit des Wischüberlagerhintergrunds</string>
<string name="revanced_swipe_threshold_title">Wischgrößenschwelle</string>
<string name="revanced_swipe_threshold_summary">Der Schwellenwert für Wischen</string>
<string name="revanced_swipe_change_video_title">Mit Wischen wechseln Sie zu den Videos</string>
<string name="revanced_swipe_change_video_summary_on">Im Vollbildmodus wischen, um zum nächsten/vorherigen Video zu wechseln</string>
<string name="revanced_swipe_change_video_summary_off">Im Vollbildmodus wischen, um nicht zum nächsten/vorherigen Video zu wechseln</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Autounterschriften deaktivieren</string>
@@ -623,15 +626,18 @@ Hinweis: Durch Aktivieren dieser Option wird auch die Videowerbung zwangsweise a
<string name="revanced_shorts_player_screen_summary">Komponenten im Shorts Spieler ausblenden oder anzeigen</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Shorts im Home Feed ausblenden</string>
<string name="revanced_hide_shorts_home_summary_on">Shorts im Home Feed sind ausgeblendet</string>
<string name="revanced_hide_shorts_home_summary_off">Shorts im Home Feed werden angezeigt</string>
<string name="revanced_hide_shorts_home_summary_on">Im Startbild- und Info-Feed sowie in zugehörigen Videos ausgeblendet</string>
<string name="revanced_hide_shorts_home_summary_off">Im Startbild- und Info-Feed sowie in zugehörigen Videos eingeblendet</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Shorts im Abonnement-Feed ausblenden</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts im Abonnement-Feed sind ausgeblendet</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts im Abonnement-Feed werden angezeigt</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">In der Abo-Feed versteckt</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">In der Abo-Feed angezeigt</string>
<string name="revanced_hide_shorts_search_title">Shorts in den Suchergebnissen ausblenden</string>
<string name="revanced_hide_shorts_search_summary_on">Shorts in den Suchergebnissen sind ausgeblendet</string>
<string name="revanced_hide_shorts_search_summary_off">Shorts in den Suchergebnissen werden angezeigt</string>
<string name="revanced_hide_shorts_search_summary_on">In Suchergebnissen versteckt</string>
<string name="revanced_hide_shorts_search_summary_off">In den Suchergebnissen angezeigt</string>
<string name="revanced_hide_shorts_history_title">Shorts im Verlauf verstecken</string>
<string name="revanced_hide_shorts_history_summary_on">Im Verlauf versteckt</string>
<string name="revanced_hide_shorts_history_summary_off">Im Verlauf angezeigt</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Beitritts-Button ausblenden</string>
<string name="revanced_hide_shorts_join_button_summary_on">Join Button ist ausgeblendet</string>
@@ -733,6 +739,13 @@ Hinweis: Durch Aktivieren dieser Option wird auch die Videowerbung zwangsweise a
<string name="revanced_hide_player_popup_panels_summary_on">Player-Popup-Fenster sind ausgeblendet</string>
<string name="revanced_hide_player_popup_panels_summary_off">Player-Popup-Fenster werden angezeigt</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Beenden Sie den Vollbildmodus am Ende des Videos</string>
<string name="revanced_exit_fullscreen_entry_1">Deaktiviert</string>
<string name="revanced_exit_fullscreen_entry_2">Hochformat</string>
<string name="revanced_exit_fullscreen_entry_3">Querformat</string>
<string name="revanced_exit_fullscreen_entry_4">Hoch- und Querformat</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Videos im Vollbild-Hochformat öffnen</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videos im Vollbild öffnen</string>
@@ -1001,6 +1014,23 @@ Bereit zum Einreichen?"</string>
<string name="revanced_sb_reset">Zurücksetzen</string>
<string name="revanced_sb_about">Über</string>
<string name="revanced_sb_about_api_sum">Daten werden von der SponsorBlock API bereitgestellt. Tippe hier, um mehr zu erfahren und Downloads für andere Plattformen zu sehen</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Anordnungsformfactor</string>
<string name="revanced_change_form_factor_entry_1">Standard</string>
<string name="revanced_change_form_factor_entry_2">Telefon</string>
<string name="revanced_change_form_factor_entry_3">Tablet</string>
<string name="revanced_change_form_factor_entry_4">Automobil</string>
<string name="revanced_change_form_factor_user_dialog_message">"Änderungen umfassen:
Tablet-Layout
• Community-Beiträge werden ausgeblendet
Auto-Layout
• Der Verlaufsmenü ist ausgeblendet
• Der Explore-Tab wird wiederhergestellt
• Shorts werden im regulären Player geöffnet
• Der Feed ist nach Themen und Kanälen organisiert"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Spoof-App-Version</string>
@@ -1015,6 +1045,7 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof-App-Versionsziel</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Alte Shorts Spielersymbole wiederherstellen</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Alte Navigations- und Toolbar-Symbole wiederherstellen</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD auf Shorts Inkognito-Modus wiederherstellen</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Wiederherstellen der breiten Videogeschwindigkeit &amp; Qualitätsmenü</string>
@@ -1058,12 +1089,6 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
<string name="revanced_shorts_autoplay_background_summary_on">Shorts-Hintergrund spielen wird automatisch abgespielt</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts-Hintergrundwiedergabe wiederholt sich</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Tablet Layout aktivieren</string>
<string name="revanced_tablet_layout_summary_on">Tablet Layout ist aktiviert</string>
<string name="revanced_tablet_layout_summary_off">Tablet Layout ist deaktiviert</string>
<string name="revanced_tablet_layout_user_dialog_message">Community-Beiträge werden nicht auf Tablet Layouts angezeigt</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Miniplayer</string>
<string name="revanced_miniplayer_screen_summary">Ändere den Stil des in App minimierten Players</string>
@@ -1227,6 +1252,7 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
<string name="revanced_force_original_audio_title">Original Audio erzwingen</string>
<string name="revanced_force_original_audio_summary_on">Originales Audio verwenden</string>
<string name="revanced_force_original_audio_summary_off">Standardaudio verwenden</string>
<string name="revanced_force_original_audio_not_available">Um diese Funktion zu nutzen, ändern Sie das Stream-Spoofing auf den iOS-Clienttyp</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1282,13 +1308,27 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
Die Videowiedergabe funktioniert möglicherweise nicht"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen.</string>
<string name="revanced_spoof_video_streams_client_type_title">Standard-Client</string>
<string name="revanced_spoof_video_streams_about_title">Spoofing-Nebenwirkungen</string>
<string name="revanced_spoof_video_streams_about_summary">"• Kindervideos werden möglicherweise nicht abgespielt
• Audiospurmenü fehlt
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (ohne Authentifizierung)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">iOS AVC (H.264) erzwingen</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Der Videocodec ist auf AVC (H.264) erzwungen.</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Der Videocodec wird automatisch bestimmt.</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Aktivieren Sie dies, um die Akkulaufzeit zu verbessern und Ruckeln bei der Wiedergabe zu beheben.
AVC hat eine maximale Auflösung von 1080p, Opus-Audiocodec ist nicht verfügbar und die Videowiedergabe verbraucht mehr Internetdaten als VP9 oder AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS-Spoofing-Nebenwirkungen</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Filme oder kostenpflichtige Videos können möglicherweise nicht abgespielt werden
• Eine stabile Lautstärke ist nicht verfügbar
„Originalton erzwingen“ ist nicht verfügbar"</string>
<string name="revanced_spoof_video_streams_language_title">Standard Audio Streamsprache</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App-Sprache</string>
Videos enden 1 Sekunde zu früh"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android-Spoofing-Nebenwirkungen</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Audiospur-Menü fehlt
• Stabile Lautstärke ist nicht verfügbar
• Original-Audio erzwingen ist nicht verfügbar"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">In Statistiken für Nerds anzeigen</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Der Client-Typ wird in den Statistiken für Nerds angezeigt</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Der Client wird in den Statistiken für Nerds ausgeblendet</string>
<string name="revanced_spoof_video_streams_language_title">Standard-Audiostreamsprache für VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App Sprache</string>
<string name="revanced_spoof_video_streams_language_AR">Arabisch</string>
<string name="revanced_spoof_video_streams_language_AZ">Aserbaidschan</string>
<string name="revanced_spoof_video_streams_language_BG">Bulgarisch</string>
@@ -1324,8 +1364,7 @@ Die Videowiedergabe funktioniert möglicherweise nicht"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Pandschabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polnisch</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugiesisch (Brasilien)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugiesisch (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugiesisch</string>
<string name="revanced_spoof_video_streams_language_RO">Rumänisch</string>
<string name="revanced_spoof_video_streams_language_RU">Russisch</string>
<string name="revanced_spoof_video_streams_language_SK">Slowakisch</string>

View File

@@ -448,6 +448,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Η ορατότητα του πλαισίου σάρωσης στο παρασκήνιο</string>
<string name="revanced_swipe_threshold_title">Κατώτατο όριο μεγέθους σάρωσης</string>
<string name="revanced_swipe_threshold_summary">Η ελάχιστη απόσταση που θα διανύσετε με το δάκτυλο σας για να είναι αναγνωρίσιμη η χειρονομία σάρωσης</string>
<string name="revanced_swipe_change_video_title">Χειρονομία εναλλαγής βίντεο στην πλήρη οθόνη</string>
<string name="revanced_swipe_change_video_summary_on">Σάρωση αριστερά/δεξιά κατά τη λειτουργία πλήρους οθόνης για αλλαγή σε επόμενο/προηγούμενο βίντεο</string>
<string name="revanced_swipe_change_video_summary_off">Η χειρονομία αλλαγής βίντεο κατά τη λειτουργία πλήρους οθόνης είναι ανενεργή</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Απενεργοποίηση αυτόματων υπότιτλων</string>
@@ -631,15 +634,18 @@ Second \"item\" text"</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>
<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>
<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_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>
@@ -741,6 +747,13 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Κρυμμένα</string>
<string name="revanced_hide_player_popup_panels_summary_off">Εμφανίζονται</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Έξοδος από την λειτουργία πλήρους οθόνης στο τέλος του βίντεο</string>
<string name="revanced_exit_fullscreen_entry_1">Ανενεργή</string>
<string name="revanced_exit_fullscreen_entry_2">Κατακόρυφα</string>
<string name="revanced_exit_fullscreen_entry_3">Οριζόντια</string>
<string name="revanced_exit_fullscreen_entry_4">Κατακόρυφα και οριζόντια</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Άνοιγμα των βίντεο σε πλήρη οθόνη με κατακόρυφη προβολή</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Τα βίντεο ανοίγουν σε λειτουργία πλήρους οθόνης</string>
@@ -1008,6 +1021,23 @@ Second \"item\" text"</string>
<string name="revanced_sb_reset">Επαναφορά</string>
<string name="revanced_sb_about">Σχετικά με</string>
<string name="revanced_sb_about_api_sum">Τα δεδομένα παρέχονται από το SponsorBlock API. Πατήστε για να μάθετε περισσότερα και να δείτε λήψεις για άλλες πλατφόρμες</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Αλλαγή μορφής διάταξης</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">"Αλλαγές στη διάταξη περιλαμβάνουν τα παρακάτω:
Διάταξη ταμπλετ
Οι αναρτήσεις της κοινότητας είναι κρυφές
Διάταξη αυτοκινήτου
• Το μενού ιστορικού παρακολούθησης είναι κρυφό
• Η κάρτα Εξερεύνηση έχει επαναφερθεί
Τα Shorts ανοίγουν στο συνηθισμένο πρόγραμμα αναπαραγωγής
• Η τροφοδοσία οργανώνεται ανά θέματα και κανάλι"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Τροποποίηση έκδοσης εφαρμογής</string>
@@ -1022,6 +1052,7 @@ Second \"item\" text"</string>
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Έκδοση τροποποίησης της εφαρμογής</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Επαναφορά των παλιών εικονιδίων της οθόνης αναπαραγωγής Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Επαναφορά παλαιών εικονιδίων πλοήγησης και γραμμής εργαλείων</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Επαναφορά λειτουργικότητας του RYD στα Shorts σε λειτουργία ανώνυμης περιήγησης</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Επαναφορά ευρύτερου μενού ταχύτητας &amp; ποιότητας βίντεο</string>
@@ -1065,12 +1096,6 @@ Second \"item\" text"</string>
<string name="revanced_shorts_autoplay_background_summary_on">Τα επόμενα Shorts θα αναπαράγονται αυτόματα στο παρασκήνιο</string>
<string name="revanced_shorts_autoplay_background_summary_off">Τα Shorts στο παρασκήνιο θα επαναλαμβάνονται</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Λειτουργία διεπαφής τάμπλετ</string>
<string name="revanced_tablet_layout_summary_on">Η διεπαφή τάμπλετ είναι ενεργοποιημένη</string>
<string name="revanced_tablet_layout_summary_off">Η διεπαφή τάμπλετ είναι απενεργοποιημένη</string>
<string name="revanced_tablet_layout_user_dialog_message">Οι δημοσιεύσεις κοινότητας δεν εμφανίζονται στη διεπαφή τάμπλετ</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Ελαχιστοποιημένη οθόνη αναπαραγωγής</string>
<string name="revanced_miniplayer_screen_summary">Αλλάξτε το στυλ της ελαχιστοποιημένης οθόνης αναπαραγωγής</string>
@@ -1232,6 +1257,7 @@ 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>
<string name="revanced_force_original_audio_not_available">Για να χρησιμοποιήσετε αυτήν τη δυνατότητα, αλλάξτε την παραποίηση πελάτη σε iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1287,12 +1313,26 @@ Second \"item\" text"</string>
Η αναπαραγωγή βίντεο ενδέχεται να μην λειτουργεί"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο.</string>
<string name="revanced_spoof_video_streams_client_type_title">Προεπιλεγμένο πρόγραμμα πελάτη</string>
<string name="revanced_spoof_video_streams_about_title">Παρενέργειες παραποίησης</string>
<string name="revanced_spoof_video_streams_about_summary">"• Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται
Το μενού «Κομμάτι ήχου» λείπει
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (χωρίς auth)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Εξαναγκασμός iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Ο κωδικοποιητής βίντεο είναι αναγκαστικά AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Ο κωδικοποιητής βίντεο ορίζεται αυτόματα</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Η ενεργοποίηση αυτής της λειτουργίας ενδέχεται να βελτιώσει τη διάρκεια ζωής της μπαταρίας και να διορθώσει κολλήματα αναπαραγωγής.
Ο AVC έχει μέγιστη ανάλυση 1080p, ο κωδικοποιητής ήχου Opus δεν είναι διαθέσιμος και η αναπαραγωγή βίντεο θα χρησιμοποιεί περισσότερα δεδομένα ίντερνετ από τον VP9 ή τον AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Παρενέργειες παραποίησης σε iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Οι ταινίες ή τα επί πληρωμή βίντεο ενδέχεται να μην αναπαράγονται
Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη
Η λειτουργία εξαναγκασμού αρχικού ήχου δεν είναι διαθέσιμη"</string>
<string name="revanced_spoof_video_streams_language_title">Προεπιλεγμένη γλώσσα ροής ήχου</string>
Τα βίντεο τελειώνουν 1 δευτερόλεπτο νωρίτερα"</string>
<string name="revanced_spoof_video_streams_about_android_title">Παρενέργειες παραποίησης σε Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Το μενού «Κομμάτι ήχου» λείπει
Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη
Η λειτουργία «Εξαναγκασμός αρχικού ήχου» δεν είναι διαθέσιμη"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Εμφάνιση στο μενού «Στατιστικά για σπασίκλες»</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Το πρόγραμμα πελάτη εμφανίζεται στο μενού «Στατιστικά για σπασίκλες»</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Το πρόγραμμα πελάτη δεν εμφανίζεται στο μενού «Στατιστικά για σπασίκλες»</string>
<string name="revanced_spoof_video_streams_language_title">Προεπιλεγμένη γλώσσα ροής ήχου VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Γλώσσα εφαρμογής</string>
<string name="revanced_spoof_video_streams_language_AR">Αραβικά</string>
<string name="revanced_spoof_video_streams_language_AZ">Αζερμπαϊτζανικά</string>
@@ -1329,8 +1369,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_language_OR">Όντια</string>
<string name="revanced_spoof_video_streams_language_PA">Παντζάμπι</string>
<string name="revanced_spoof_video_streams_language_PL">Πολωνικά</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Πορτογαλικά (Βραζιλίας)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Πορτογαλικά (Πορτογαλίας)</string>
<string name="revanced_spoof_video_streams_language_PT">Πορτογαλικά</string>
<string name="revanced_spoof_video_streams_language_RO">Ρουμανικά</string>
<string name="revanced_spoof_video_streams_language_RU">Ρωσικά</string>
<string name="revanced_spoof_video_streams_language_SK">Σλοβακικά</string>

View File

@@ -436,6 +436,9 @@ Esta función solo está disponible para dispositivos antiguos"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Visibilidad del fondo del deslizamiento</string>
<string name="revanced_swipe_threshold_title">Umbral de magnitud del deslizamiento</string>
<string name="revanced_swipe_threshold_summary">La cantidad de umbral para que se desliza</string>
<string name="revanced_swipe_change_video_title">Habilita el deslizamiento para cambiar videos</string>
<string name="revanced_swipe_change_video_summary_on">Deslizar en modo de pantalla completa cambiará al video siguiente/anterior</string>
<string name="revanced_swipe_change_video_summary_off">Deslizar en modo de pantalla completa no cambiará al video siguiente/anterior</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Desactivar auto subtítulos</string>
@@ -619,15 +622,18 @@ Nota: Habilitar esto también oculta a la fuerza los anuncios de vídeo"</string
<string name="revanced_shorts_player_screen_summary">Oculta o muestra componentes en el reproductor de Shorts</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Ocultar Shorts en el Inicio</string>
<string name="revanced_hide_shorts_home_summary_on">Los Shorts en el Inicio están ocultos</string>
<string name="revanced_hide_shorts_home_summary_off">Se muestran los Shorts en el Inicio</string>
<string name="revanced_hide_shorts_home_summary_on">Oculto en el feed de inicio y videos relacionados</string>
<string name="revanced_hide_shorts_home_summary_off">Se muestra en el feed de inicio y videos relacionados</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Ocultar Shorts en las suscripciones</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Los Shorts en las suscripciones están ocultos</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Se muestran los Shorts en las suscripciones</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Ocultar</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Mostrar</string>
<string name="revanced_hide_shorts_search_title">Ocultar Shorts en los resultados de búsqueda</string>
<string name="revanced_hide_shorts_search_summary_on">Los Shorts en resultados de búsqueda están ocultos</string>
<string name="revanced_hide_shorts_search_summary_off">Se muestran Shorts en los resultados de búsqueda</string>
<string name="revanced_hide_shorts_search_summary_on">Ocultos en los resultados de búsqueda</string>
<string name="revanced_hide_shorts_search_summary_off">Mostrar en los resultados de búsqueda</string>
<string name="revanced_hide_shorts_history_title">Ocultar Shorts en el historial de visualización</string>
<string name="revanced_hide_shorts_history_summary_on">Oculto en el historial de visualización</string>
<string name="revanced_hide_shorts_history_summary_off">Mostrado en el historial de visualización</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Ocultar botón de unirse</string>
<string name="revanced_hide_shorts_join_button_summary_on">Botón de unión oculto</string>
@@ -729,6 +735,13 @@ Nota: Habilitar esto también oculta a la fuerza los anuncios de vídeo"</string
<string name="revanced_hide_player_popup_panels_summary_on">Los paneles emergentes del jugador están ocultos</string>
<string name="revanced_hide_player_popup_panels_summary_off">Se muestran paneles emergentes del jugador</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Salir del modo de pantalla completa al final del vídeo</string>
<string name="revanced_exit_fullscreen_entry_1">Desactivado</string>
<string name="revanced_exit_fullscreen_entry_2">Salir de pantalla completa</string>
<string name="revanced_exit_fullscreen_entry_3">Paisaje</string>
<string name="revanced_exit_fullscreen_entry_4">Retrato y paisaje</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Abrir vídeos en el retrato de pantalla completa</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videos abiertos a pantalla completa</string>
@@ -988,6 +1001,23 @@ Ya existe"</string>
<string name="revanced_sb_reset">Restablecer</string>
<string name="revanced_sb_about">Acerca de</string>
<string name="revanced_sb_about_api_sum">Los datos son proporcionados por la API de SponsorBlock. Pulsa aquí para aprender más y ver las descargas para otras plataformas</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Diseño del diseño factor</string>
<string name="revanced_change_form_factor_entry_1">Defecto</string>
<string name="revanced_change_form_factor_entry_2">Teléfono</string>
<string name="revanced_change_form_factor_entry_3">Tableta</string>
<string name="revanced_change_form_factor_entry_4">Automotriz</string>
<string name="revanced_change_form_factor_user_dialog_message">"Los cambios incluyen:
Diseño para tablets
• Las publicaciones de la comunidad están ocultas
Diseño para automóviles
• El menú del historial de reproducciones está oculto
• Se restauró la pestaña de Explorar
• Se abren los Shorts en el reproductor normal
• El feed está organizado por temas y canal"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Versión de la aplicación Spoof</string>
@@ -1002,6 +1032,7 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Destino de versión de la aplicación Spoof</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Restaurar iconos antiguos del reproductor de Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Restaurar los iconos antiguos de navegación y barra de herramientas</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurar RYD en Shorts de modo incógnito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurar la velocidad de vídeo ancha &amp; menú de calidad</string>
@@ -1045,12 +1076,6 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
<string name="revanced_shorts_autoplay_background_summary_on">Los Shorts se reproducirán automáticamente en segundo plano</string>
<string name="revanced_shorts_autoplay_background_summary_off">Los Shorts se repetirán en segundo plano</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Habilitar diseño de tablet</string>
<string name="revanced_tablet_layout_summary_on">Diseño de tablet habilitado</string>
<string name="revanced_tablet_layout_summary_off">Diseño de tablet deshabilitado</string>
<string name="revanced_tablet_layout_user_dialog_message">Los mensajes de la comunidad no se muestran en los diseños de tablet</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Minireproductor</string>
<string name="revanced_miniplayer_screen_summary">Cambiar el estilo del reproductor minimizado de la aplicación</string>
@@ -1214,6 +1239,7 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
<string name="revanced_force_original_audio_title">Forzar audio original</string>
<string name="revanced_force_original_audio_summary_on">Utilizando audio original</string>
<string name="revanced_force_original_audio_summary_off">Utilizando audio predeterminado</string>
<string name="revanced_force_original_audio_not_available">Para usar esta función, cambia la suplantación de stream al tipo de cliente iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1269,12 +1295,26 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
Es posible que la reproducción de vídeo no funcione"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Desactivar esta configuración puede causar problemas de reproducción de vídeo.</string>
<string name="revanced_spoof_video_streams_client_type_title">Cliente por defecto</string>
<string name="revanced_spoof_video_streams_about_title">Simulación de efectos secundarios</string>
<string name="revanced_spoof_video_streams_about_summary">"• Es posible que los vídeos para niños no se reproduzcan
• Falta el menú de pistas de audio
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (sin autenticación)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forzar iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">El códec de video se fuerza a AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El códec de video se determina automáticamente</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Habilitar esto puede mejorar la duración de la batería y solucionar el tartamudeo de la reproducción.
AVC tiene una resolución máxima de 1080p, el códec de audio Opus no está disponible y la reproducción de video utilizará más datos de Internet que VP9 o AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Efectos secundarios de la suplantación de iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Es posible que las películas o los videos pagos no se reproduzcan
• El volumen estable no está disponible
Forzar audio original no está disponible"</string>
<string name="revanced_spoof_video_streams_language_title">Idioma de flujo de audio por defecto</string>
Los videos terminan 1 segundo antes"</string>
<string name="revanced_spoof_video_streams_about_android_title">Efectos secundarios de la suplantación de Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Falta el menú de la pista de audio
• El volumen estable no está disponible
• Forzar el audio original no está disponible"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Mostrar en Estadísticas para nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">El tipo de cliente se muestra en Estadísticas para nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">El cliente está oculto en Estadísticas para nerds</string>
<string name="revanced_spoof_video_streams_language_title">Idioma de la transmisión de audio por defecto de VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de la aplicación</string>
<string name="revanced_spoof_video_streams_language_AR">Árabe</string>
<string name="revanced_spoof_video_streams_language_AZ">Бессия</string>
@@ -1311,8 +1351,7 @@ Es posible que la reproducción de vídeo no funcione"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polaco</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugués (Brasil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugués (R)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugués</string>
<string name="revanced_spoof_video_streams_language_RO">Rumano</string>
<string name="revanced_spoof_video_streams_language_RU">Ruso</string>
<string name="revanced_spoof_video_streams_language_SK">Eslovaco</string>

View File

@@ -446,6 +446,9 @@ See funktsioon on saadaval ainult vanemates seadmetes"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Pühkimise katte tausta nähtavus</string>
<string name="revanced_swipe_threshold_title">Pühkimise suuruse lävi</string>
<string name="revanced_swipe_threshold_summary">Lävi väärtus pühkimise toimimiseks</string>
<string name="revanced_swipe_change_video_title">Luba pühkimine videote vahetamiseks</string>
<string name="revanced_swipe_change_video_summary_on">Täisekraanrežiimis pühkimine vahetab järgmise/eelmise video</string>
<string name="revanced_swipe_change_video_summary_off">Täisekraanrežiimis pühkimine ei vaheta järgmise/eelmise video</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Keela automaatsed pealdised</string>
@@ -629,15 +632,18 @@ Märkus: selle lubamine peidab ka sunniviisiliselt video reklaamid"</string>
<string name="revanced_shorts_player_screen_summary">Peida või näita komponente Shorts esitusprogrammis</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Peida Shorts algmenüüs</string>
<string name="revanced_hide_shorts_home_summary_on">Shorts algmenüüs on peidetud</string>
<string name="revanced_hide_shorts_home_summary_off">Shorts algmenüüs on nähtavad</string>
<string name="revanced_hide_shorts_home_summary_on">Peidetud avalehe- ja seotud videotes</string>
<string name="revanced_hide_shorts_home_summary_off">Näidatud avalehe- ja seotud videotes</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Peida Shorts tellimuste voogus</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts on tellimuste voogus on peidetud</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts on tellimuste voogus on nähtavad</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Peidetud tellimuste voogudes</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Näidatud tellimuste voogudes</string>
<string name="revanced_hide_shorts_search_title">Peida Shorts otsingutulemustes</string>
<string name="revanced_hide_shorts_search_summary_on">Shorts on otsingutulemustes on peidetud</string>
<string name="revanced_hide_shorts_search_summary_off">Shorts on otsingutulemustes on nähtavad</string>
<string name="revanced_hide_shorts_search_summary_on">Peida otsingutulemustest</string>
<string name="revanced_hide_shorts_search_summary_off">Näidatud otsingutulemustes</string>
<string name="revanced_hide_shorts_history_title">Peida Shortsid vaatamisaegadust</string>
<string name="revanced_hide_shorts_history_summary_on">Peidetud vaatamise ajaloos</string>
<string name="revanced_hide_shorts_history_summary_off">Näidatud vaatamisaegadus</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Peida liitumisnupp</string>
<string name="revanced_hide_shorts_join_button_summary_on">Liitumisnupp on peidetud</string>
@@ -739,6 +745,13 @@ Märkus: selle lubamine peidab ka sunniviisiliselt video reklaamid"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Esitaja hüpikaknad on peidetud</string>
<string name="revanced_hide_player_popup_panels_summary_off">Esitaja hüpikaknad on nähtavad</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Video lõpus välju täisekraanirežiimist</string>
<string name="revanced_exit_fullscreen_entry_1">Keelatud</string>
<string name="revanced_exit_fullscreen_entry_2">Portree</string>
<string name="revanced_exit_fullscreen_entry_3">Maastiku</string>
<string name="revanced_exit_fullscreen_entry_4">Portree ja maastiku</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Ava videod täisekraani portreerežiimis</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videod avanevad täisekraani režiimis</string>
@@ -1007,6 +1020,23 @@ Kas olete esitamiseks valmis?"</string>
<string name="revanced_sb_reset">Lähtesta</string>
<string name="revanced_sb_about">Teave</string>
<string name="revanced_sb_about_api_sum">Andmed on pärit SponsorBlock API-st. Puudutage siia, et saada lisateavet ja vaadata allalaadimisi teistele platvormidele</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Paigutuse vormitegur</string>
<string name="revanced_change_form_factor_entry_1">Vaikimisi</string>
<string name="revanced_change_form_factor_entry_2">Telefon</string>
<string name="revanced_change_form_factor_entry_3">Tahvelarvuti</string>
<string name="revanced_change_form_factor_entry_4">Automotiiv</string>
<string name="revanced_change_form_factor_user_dialog_message">"Muudatused hõlmavad:
Tahvelarvuti paigutus
• Ühenduse postitused on peidetud
Automotiivi paigutus
• Vaatamisloendi menüü on peidetud
• Uudista vaheleht on taastatud
• Lühivideod avanevad tavalises pleieris
• Sööt on korraldatud teemade ja kanalite kaupa"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Võltsitud rakenduse versioon</string>
@@ -1021,6 +1051,7 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Võltsitud rakenduse versiooni siht</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Taastage vanad Shortsi esitajaikoonid</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Taastage vanad navigeerimis- ja tööriistariba ikoonid</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Taastage RYD Shortsi incognito režiimis</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Taasta lai video kiiruse ja kvaliteedi menüü</string>
@@ -1064,12 +1095,6 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
<string name="revanced_shorts_autoplay_background_summary_on">Shortsi taustal esitamine toimub automaatselt</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shortsi taustal esitamine korratakse</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Lülita tahvelarvuti paigutus sisse</string>
<string name="revanced_tablet_layout_summary_on">Tahvelarvuti paigutus on lubatud</string>
<string name="revanced_tablet_layout_summary_off">Tahvelarvuti paigutus on keelatud</string>
<string name="revanced_tablet_layout_user_dialog_message">Kogukonna postitused ei kuvata tahvelarvuti paigutustes</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Minimängija</string>
<string name="revanced_miniplayer_screen_summary">Muuda rakenduses minimeeritud esitaja stiili</string>
@@ -1234,6 +1259,7 @@ Selle lubamine võib avada kõrgema video kvaliteedi"</string>
<string name="revanced_force_original_audio_title">Sunni originaalheli</string>
<string name="revanced_force_original_audio_summary_on">Kasutatakse originaalheli</string>
<string name="revanced_force_original_audio_summary_off">Kasutan vaikeheli</string>
<string name="revanced_force_original_audio_not_available">Selle funktsiooni kasutamiseks muutke voo esindamine iOS-i kliendi tüübiks</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1289,12 +1315,26 @@ Selle lubamine võib avada kõrgema video kvaliteedi"</string>
Video taasesitus ei pruugi toimida"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Selle seade keelamine võib põhjustada videote taasesituse probleeme.</string>
<string name="revanced_spoof_video_streams_client_type_title">Vaikimisi klient</string>
<string name="revanced_spoof_video_streams_about_title">Võltsitud kõrvalmõjud</string>
<string name="revanced_spoof_video_streams_about_summary">"• Lastevideod ei pruugi esitada
• Heliriba menüü puudub
• Stabiilset helitugevust ei ole saadaval
• Sunnitud originaalheli ei ole saadaval"</string>
<string name="revanced_spoof_video_streams_language_title">Vaikimisi helivoolu keel</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (autentimata)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Sunnitud iOS AVC (H.264) kodek</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodek on sunnitud AVC (H.264) kodeki</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodek määratakse automaatselt</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Funktsiooni sisselülitamine võib parandada aku kestvust ja videotaasesituse katkemist.
AVC-l on maksimaalne eraldusvõime 1080p, Opus-i heli kodek pole saadaval ning video taasesitus kasutab rohkem internetiandmeid kui VP9 või AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS-i videovoogude võltsimine</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Filmid või tasulised videod ei pruugi taasesitada
• Stabiilne helitugevus pole saadaval
• Videod lõpevad 1 sekund varem"</string>
<string name="revanced_spoof_video_streams_about_android_title">Androidi pettuse kõrvalmõjud</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Heliraja menüü puudub
• Stabiilset helitugevust pole saadaval
• Sunnitud originaalheli pole saadaval"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Kuva statistikas \"Nerdide jaoks\"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Klienditüüp on statistikas \"Nerdide jaoks\" nähtav</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Klient on statistikas \"Nerdide jaoks\" peidetud</string>
<string name="revanced_spoof_video_streams_language_title">VR vaikeväärtus heli voo keelele</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Rakenduse keel</string>
<string name="revanced_spoof_video_streams_language_AR">Araabia keel</string>
<string name="revanced_spoof_video_streams_language_AZ">Aserbaidžaani keel</string>
@@ -1331,8 +1371,7 @@ Video taasesitus ei pruugi toimida"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Pandžabi</string>
<string name="revanced_spoof_video_streams_language_PL">Poola</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugali (Brasiilia)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugali (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugali</string>
<string name="revanced_spoof_video_streams_language_RO">Rumeenia</string>
<string name="revanced_spoof_video_streams_language_RU">Vene</string>
<string name="revanced_spoof_video_streams_language_SK">Slovakkia</string>

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -86,9 +86,9 @@ Napauta jatka-painiketta ja salli optimoinnin muutokset."</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Poista Shorts taustatoisto käytöstä</string>
<string name="revanced_shorts_disable_background_playback_summary_on">Shorts taustatoisto ei ole käytössä</string>
<string name="revanced_shorts_disable_background_playback_summary_off">Shorts taustatoisto on käytössä</string>
<string name="revanced_shorts_disable_background_playback_title">Poista Shortsien taustatoisto käytöstä</string>
<string name="revanced_shorts_disable_background_playback_summary_on">Shortsien taustatoisto ei ole käytössä</string>
<string name="revanced_shorts_disable_background_playback_summary_off">Shortsien taustatoisto on käytössä</string>
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
<string name="revanced_debug_screen_title">Vianetsintä</string>
@@ -349,7 +349,7 @@ Tämä ominaisuus on saatavilla vain vanhemmissa laitteissa"</string>
<string name="revanced_hide_products_banner_title">Piilota tuotebanneri</string>
<string name="revanced_hide_products_banner_summary_on">Banneri on piilotettu</string>
<string name="revanced_hide_products_banner_summary_off">Banneri näytetään</string>
<string name="revanced_hide_player_store_shelf_title">Piilota pelaajan ostoshylly</string>
<string name="revanced_hide_player_store_shelf_title">Piilota soittimen ostoshylly</string>
<string name="revanced_hide_player_store_shelf_summary_on">Ostoshylly on piilotettu</string>
<string name="revanced_hide_player_store_shelf_summary_off">Ostoshylly näytetään</string>
<string name="revanced_hide_shopping_links_title">Piilota ostoslinkit videon kuvauksessa</string>
@@ -433,7 +433,7 @@ Tämä ominaisuus on saatavilla vain vanhemmissa laitteissa"</string>
<string name="revanced_swipe_haptic_feedback_summary_off">Haptinen palaute ei ole käytössä</string>
<string name="revanced_swipe_save_and_restore_brightness_title">Tallenna ja palauta kirkkaus</string>
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Tallenna ja palauta kirkkaus kokoruututilasta poistuttaessa tai siihen siirryttäessä</string>
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Älä tallenna tai palauta kirkkautta kokoruututilasta poistuttaessa tai siihen siirryttäessä</string>
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Älä tallenna ja palauta kirkkautta kokoruututilasta poistuttaessa tai siihen siirryttäessä</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Ota automaattisen kirkkauden ele käyttöön</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Automaattinen kirkkaus otetaan käyttöön pyyhkäisemällä alhaisimpaan arvoon</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Pienimpään arvoon alas pyyhkäiseminen ei ota käyttöön automaattista kirkkautta</string>
@@ -496,7 +496,7 @@ Tämä ominaisuus on saatavilla vain vanhemmissa laitteissa"</string>
<string name="revanced_hide_home_button_summary_on">Koti-painike on piilotettu</string>
<string name="revanced_hide_home_button_summary_off">Koti-painike näytetään</string>
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
<string name="revanced_hide_shorts_button_title">Piilota Shorts</string>
<string name="revanced_hide_shorts_button_title">Piilota Shortsit</string>
<string name="revanced_hide_shorts_button_summary_on">Shorts-painike on piilotettu</string>
<string name="revanced_hide_shorts_button_summary_off">Shorts-painike näytetään</string>
<!-- The Create button has no display name. Translate normally. -->
@@ -518,13 +518,13 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_navigation_button_labels_summary_off">Tunnisteet näytetään</string>
<string name="revanced_disable_translucent_status_bar_title">Poista läpikuultava tilarivi</string>
<string name="revanced_disable_translucent_status_bar_summary_on">Tilapalkki on peittävä</string>
<string name="revanced_disable_translucent_status_bar_summary_off">Tilapalkki on peittävä tai läpikuultava</string>
<string name="revanced_disable_translucent_status_bar_summary_off">Tilapalkki on läpinäkymätön tai läpikuultava</string>
<string name="revanced_disable_translucent_navigation_bar_light_title">Poista vaalea läpikuultava palkki</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">Vaalea tilan navigaatiopalkki on läpinäkymätön</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Vaalean tilan navigaatiopalkki on peittävä tai läpikuultava</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Vaalean tilan navigaatiopalkki on läpinäkymätön tai läpikuultava</string>
<string name="revanced_disable_translucent_navigation_bar_dark_title">Poista tumma läpikuultava palkki</string>
<string name="revanced_disable_translucent_navigation_bar_dark_summary_on">Tumman tilan navigaatiopalkki on läpinäkymätön</string>
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Tumman tilan navigaatiopalkki on peittävä tai läpikuultava</string>
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Tumman tilan navigaatiopalkki on läpinäkymätön tai läpikuultava</string>
</patch>
<patch id="layout.hide.player.flyoutmenupanel.hidePlayerFlyoutMenuPatch">
<string name="revanced_hide_player_flyout_title">Flyout-valikko</string>
@@ -538,9 +538,9 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_player_flyout_additional_settings_summary_on">Lisäasetukset-valikko on piilotettu</string>
<string name="revanced_hide_player_flyout_additional_settings_summary_off">Lisäasetukset-valikko näytetään</string>
<!-- 'Sleep timer' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_sleep_timer_title">Piilota lepoajastin</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_on">Unen ajastin valikko on piilotettu</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_off">Nukkumisajastin valikko näytetään</string>
<string name="revanced_hide_player_flyout_sleep_timer_title">Piilota Nukahtamisajastin</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_on">Nukahtamisajastimen valikko on piilotettu</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_off">Nukahtamisajastimen valikko näytetään</string>
<!-- 'Loop video' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_loop_video_title">Piilota Toista videota jatkuvasti</string>
<string name="revanced_hide_player_flyout_loop_video_summary_on">Toista videota jatkuvasti -valinta on piilotettu</string>
@@ -549,9 +549,9 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_player_flyout_ambient_mode_title">Piilota Elokuvatila</string>
<string name="revanced_hide_player_flyout_ambient_mode_summary_on">Elokuvatila-valinta on piilotettu</string>
<string name="revanced_hide_player_flyout_ambient_mode_summary_off">Elokuvatila-valinta näytetään</string>
<string name="revanced_hide_player_flyout_stable_volume_title">Piilota vakaa äänenvoimakkuus</string>
<string name="revanced_hide_player_flyout_stable_volume_summary_off">Vakaan äänenvoimakkuuden valikko näytetään</string>
<string name="revanced_hide_player_flyout_stable_volume_summary_on">Vakaan taltion valikko on piilotettu</string>
<string name="revanced_hide_player_flyout_stable_volume_title">Piilota Tasainen äänenvoimakkuus</string>
<string name="revanced_hide_player_flyout_stable_volume_summary_off">Tasaisen äänenvoimakkuuden valikko näytetään</string>
<string name="revanced_hide_player_flyout_stable_volume_summary_on">Tasaisen äänenvoimakkuuden valikko on piilotettu</string>
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_help_title">Piilota Ohjeet ja palaute</string>
<string name="revanced_hide_player_flyout_help_summary_on">Ohjeet ja palaute -valinta on piilotettu</string>
@@ -571,8 +571,8 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_player_flyout_lock_screen_summary_off">Näytön lukitus -valinta näytetään</string>
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_audio_track_title">Piilota Ääniraita</string>
<string name="revanced_hide_player_flyout_audio_track_summary_on">Ääniraita-valikko on piilotettu</string>
<string name="revanced_hide_player_flyout_audio_track_summary_off">Ääniraita-valikko näytetään</string>
<string name="revanced_hide_player_flyout_audio_track_summary_on">Ääniraitavalikko on piilotettu</string>
<string name="revanced_hide_player_flyout_audio_track_summary_off">Ääniraitavalikko näytetään</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">Piilota Katso VR-tilassa</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">Katso VR-tilassa -valinta on piilotettu</string>
@@ -592,7 +592,7 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_captions_button_title">Piilota tekstitykset-painike</string>
<string name="revanced_hide_captions_button_summary_on">Tekstitykset-painike on piilotettu</string>
<string name="revanced_hide_captions_button_summary_off">Tekstitykset-painike näytetään</string>
<string name="revanced_hide_autoplay_button_title">Piilota automaattisen toiston -painike</string>
<string name="revanced_hide_autoplay_button_title">Piilota automaattinen toisto -painike</string>
<string name="revanced_hide_autoplay_button_summary_on">Automaattinen toisto -painike on piilotettu</string>
<string name="revanced_hide_autoplay_button_summary_off">Automaattinen toisto -painike näytetään</string>
</patch>
@@ -628,16 +628,19 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_shorts_player_screen_title">Shorts-soitin</string>
<string name="revanced_shorts_player_screen_summary">Piilota tai näytä Shorts-soittimen osia</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Piilota Shorts koti-syötteessä</string>
<string name="revanced_hide_shorts_home_summary_on">Shorts on piilotettu koti-syötteessä</string>
<string name="revanced_hide_shorts_home_summary_off">Shorts näytetään koti-syötteessä</string>
<string name="revanced_hide_shorts_home_title">Piilota Shortsit kotisyötteessä</string>
<string name="revanced_hide_shorts_home_summary_on">Piilotettu kotisyötteessä ja liittyvissä videoissa</string>
<string name="revanced_hide_shorts_home_summary_off">Näytetään kotisyötteessä ja liittyvissä videoissa</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Piilota Shorts tilaukset-syötteessä</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts on piilotettu tilaukset-syötteessä</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts näytetään tilaukset-syötteessä</string>
<string name="revanced_hide_shorts_subscriptions_title">Piilota Shortsit tilaussyötteessä</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Piilotettu tilaussyötteessä</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Näytetään tilaussyötteessä</string>
<string name="revanced_hide_shorts_search_title">Piilota Shortsit hakutuloksissa</string>
<string name="revanced_hide_shorts_search_summary_on">Shorts on piilotettu hakutuloksissa</string>
<string name="revanced_hide_shorts_search_summary_off">Shorts näytetään hakutuloksissa</string>
<string name="revanced_hide_shorts_search_summary_on">Piilotettu hakutuloksissa</string>
<string name="revanced_hide_shorts_search_summary_off">Näytetään hakutuloksissa</string>
<string name="revanced_hide_shorts_history_title">Piilota Shortsit katseluhistoriassa</string>
<string name="revanced_hide_shorts_history_summary_on">Piilotettu katseluhistoriassa</string>
<string name="revanced_hide_shorts_history_summary_off">Näytetään katseluhistoriassa</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Piilota liity-painike</string>
<string name="revanced_hide_shorts_join_button_summary_on">Liity-painike on piilotettu</string>
@@ -649,9 +652,9 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Piilota pysäytysruudun painikkeet</string>
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Pysäytysruudun painikkeet on piilotettu</string>
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Pysäytysruudun painikkeet näytetään</string>
<string name="revanced_hide_shorts_shop_button_title">Piilota kauppa-painike</string>
<string name="revanced_hide_shorts_shop_button_summary_on">Kauppa-painike on piilotettu</string>
<string name="revanced_hide_shorts_shop_button_summary_off">Kauppa-painike näytetään</string>
<string name="revanced_hide_shorts_shop_button_title">Piilota kauppapainike</string>
<string name="revanced_hide_shorts_shop_button_summary_on">Kauppapainike on piilotettu</string>
<string name="revanced_hide_shorts_shop_button_summary_off">Kauppapainike näytetään</string>
<string name="revanced_hide_shorts_super_thanks_button_title">Piilota \"superkiitos\" -painike</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_on">\"Superkiitos\" -painike on piilotettu</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_off">\"Superkiitos\" -painike näytetään</string>
@@ -667,12 +670,12 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_shorts_use_template_button_title">Piilota käytä mallinappia</string>
<string name="revanced_hide_shorts_use_template_button_summary_on">Käytä malli-painiketta on piilotettu</string>
<string name="revanced_hide_shorts_use_template_button_summary_off">Käytä malli-painiketta näytetään</string>
<string name="revanced_hide_shorts_upcoming_button_title">Piilota tuleva painike</string>
<string name="revanced_hide_shorts_upcoming_button_summary_on">Tuleva painike on piilotettu</string>
<string name="revanced_hide_shorts_upcoming_button_summary_off">Tuleva painike näytetään</string>
<string name="revanced_hide_shorts_green_screen_button_title">Piilota vihreän näytön painike</string>
<string name="revanced_hide_shorts_green_screen_button_summary_on">Vihreä näyttöpainike on piilotettu</string>
<string name="revanced_hide_shorts_green_screen_button_summary_off">Vihreä näyttöpainike näytetään</string>
<string name="revanced_hide_shorts_upcoming_button_title">Piilota tulossa-painike</string>
<string name="revanced_hide_shorts_upcoming_button_summary_on">Tulossa-painike on piilotettu</string>
<string name="revanced_hide_shorts_upcoming_button_summary_off">Tulossa-painike näytetään</string>
<string name="revanced_hide_shorts_green_screen_button_title">Piilota vihertausta-painike</string>
<string name="revanced_hide_shorts_green_screen_button_summary_on">Vihertausta-painike on piilotettu</string>
<string name="revanced_hide_shorts_green_screen_button_summary_off">Vihertausta-painike näytetään</string>
<string name="revanced_hide_shorts_hashtag_button_title">Piilota aihetunnistepainike</string>
<string name="revanced_hide_shorts_hashtag_button_summary_on">Hashtag painike on piilotettu</string>
<string name="revanced_hide_shorts_hashtag_button_summary_off">Hashtag painike näytetään</string>
@@ -682,7 +685,7 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_shorts_stickers_title">Piilota tarrat</string>
<string name="revanced_hide_shorts_stickers_summary_on">Tarrat on piilotettu</string>
<string name="revanced_hide_shorts_stickers_summary_off">Tarrat näytetään</string>
<string name="revanced_hide_shorts_like_fountain_title">Piilota kuin suihkulähde</string>
<string name="revanced_hide_shorts_like_fountain_title">Piilota tykkäyssuihkulähde</string>
<string name="revanced_hide_shorts_like_fountain_summary_on">Kuten painikkeen lähteen animaatio on piilotettu</string>
<string name="revanced_hide_shorts_like_fountain_summary_off">Kuten painikkeen lähteen animaatio näytetään</string>
<string name="revanced_hide_shorts_like_button_title">Piilota tykkää-painike</string>
@@ -739,10 +742,12 @@ Huomaa: Tämä ottaa pakolla pois myös videomainokset"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Soittimen ponnahdusikkunat on piilotettu</string>
<string name="revanced_hide_player_popup_panels_summary_off">Soittimen ponnahdusikkunat näytetään</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Avaa videot koko näytön muotokuvassa</string>
<string name="revanced_open_videos_fullscreen_portrait_title">Avaa videot koko näytöllä pystyasennossa</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videot avataan kokoruututilassa</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Videot eivät avaa kokoruututilaa</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Videoita ei avata kokoruututilassa</string>
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Soittimen peittoalueen läpinäkyvyys</string>
@@ -1008,6 +1013,8 @@ Haluatko lähettää?"</string>
<string name="revanced_sb_about">Tietoja</string>
<string name="revanced_sb_about_api_sum">Tiedot tarjoaa SponsorBlock API. Napauta tätä saadaksesi lisätietoja ja nähdäksesi lataukset muille alustoille</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Naamioi sovellusversio</string>
<string name="revanced_spoof_app_version_summary_on">Versio on naamioitu</string>
@@ -1020,7 +1027,8 @@ Jos tämä ominaisuus kytketään myöhemmin pois, on suositeltavaa tyhjentää
<!-- 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 -->
<string name="revanced_spoof_app_version_target_title">Naamioitava kohdeversio</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Palauta vanhat Shorts-pelaajan kuvakkeet</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Palauta vanhat Shorts-soittimen kuvakkeet</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Palauta vanhat navigointi- ja työkalupalkin kuvakkeet</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Palauita RYD Shorts-videoissa incognito-tilassa</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Palauta laaja videonopeus- ja laatuvalikko</string>
@@ -1051,10 +1059,10 @@ Jos tämä ominaisuus kytketään myöhemmin pois, on suositeltavaa tyhjentää
<string name="revanced_disable_resuming_shorts_player_summary_off">Shorts-soitin jatkuu sovelluksen käynnistyessä</string>
</patch>
<patch id="layout.shortsplayer.shortsPlayerTypePatch">
<string name="revanced_shorts_player_type_title">Avaa Shorts, kun</string>
<string name="revanced_shorts_player_type_title">Shortsien avaustapa</string>
<string name="revanced_shorts_player_type_shorts">Shorts-soitin</string>
<string name="revanced_shorts_player_type_regular_player">Tavallinen toistin</string>
<string name="revanced_shorts_player_type_regular_player_fullscreen">Tavallinen toistin, koko näyttö</string>
<string name="revanced_shorts_player_type_regular_player">Tavallinen soitin</string>
<string name="revanced_shorts_player_type_regular_player_fullscreen">Tavallinen soitin kokoruututilassa</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
<string name="revanced_shorts_autoplay_title">Shortsien automaattinen toisto</string>
@@ -1062,13 +1070,7 @@ Jos tämä ominaisuus kytketään myöhemmin pois, on suositeltavaa tyhjentää
<string name="revanced_shorts_autoplay_summary_off">Shortsit toistuvat uudelleen</string>
<string name="revanced_shorts_autoplay_background_title">Toista Shortsit automaattisesti taustalla</string>
<string name="revanced_shorts_autoplay_background_summary_on">Shortsit toistetaan automaattisesti myös taustalla</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorsit toistetaan uudelleen myös taustatoiston aikana</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Ota tablettiasettelu käyttöön</string>
<string name="revanced_tablet_layout_summary_on">Tablettiasettelu on käytössä</string>
<string name="revanced_tablet_layout_summary_off">Tablettiasettelu ei ole käytössä</string>
<string name="revanced_tablet_layout_user_dialog_message">Yhteisöpostaukset eivät näy tablettiasettelussa</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shortsit toistuvat uudelleen taustatoiston aikana</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Minisoitin</string>
@@ -1233,6 +1235,7 @@ Tämä voi avata korkealaatuisemmat videot"</string>
<string name="revanced_force_original_audio_title">Pakota alkuperäinen ääni</string>
<string name="revanced_force_original_audio_summary_on">Käytetään alkuperäistä ääntä</string>
<string name="revanced_force_original_audio_summary_off">Käytetään oletusääntä</string>
<string name="revanced_force_original_audio_not_available">Käyttääksesi tätä ominaisuutta, vaihda virtanaamiointi iOS-asiakastyyppiiin</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1247,7 +1250,7 @@ Tämä voi avata korkealaatuisemmat videot"</string>
<string name="revanced_remember_video_quality_toast">%1$s-oletuslaatu muutettiin: %2$s</string>
</patch>
<patch id="video.speed.button.playbackSpeedButtonPatch">
<string name="revanced_playback_speed_dialog_button_title">Näytä nopeusikkuna painike</string>
<string name="revanced_playback_speed_dialog_button_title">Näytä nopeuden valintapainike</string>
<string name="revanced_playback_speed_dialog_button_summary_on">Painike näytetään</string>
<string name="revanced_playback_speed_dialog_button_summary_off">Painiketta ei näytetä</string>
</patch>
@@ -1279,21 +1282,35 @@ Tämä voi avata korkealaatuisemmat videot"</string>
<string name="revanced_slide_to_seek_summary_off">Kelaus liu\'uttamalla ei ole käytössä</string>
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_screen_title">Naamioi videostriimit</string>
<string name="revanced_spoof_video_streams_screen_summary">Naamioi asiakasohjelman videostriimit toisto-ongelmien estämiseksi</string>
<string name="revanced_spoof_video_streams_title">Naamioi videostriimit</string>
<string name="revanced_spoof_video_streams_summary_on">Videostriimit naamioidaan</string>
<string name="revanced_spoof_video_streams_summary_off">"Videovirtoja ei väärennetä
<string name="revanced_spoof_video_streams_screen_title">Naamioi videovirrat</string>
<string name="revanced_spoof_video_streams_screen_summary">Naamioi asiakasohjelman videovirrat toisto-ongelmien estämiseksi</string>
<string name="revanced_spoof_video_streams_title">Naamioi videovirrat</string>
<string name="revanced_spoof_video_streams_summary_on">Videovirrat naamioidaan</string>
<string name="revanced_spoof_video_streams_summary_off">"Videovirtoja ei naamioida
Videon toisto ei välttämättä toimi"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Tämän asetuksen poistaminen käytöstä voi aiheuttaa ongelmia videotoistossa.</string>
<string name="revanced_spoof_video_streams_client_type_title">Oletusasiakasohjelma</string>
<string name="revanced_spoof_video_streams_about_title">Sivuvaikutusten huijaaminen</string>
<string name="revanced_spoof_video_streams_about_summary">"• Lapsille tarkoitetut videot eivät ehkä toistu
• Ääniraita-valikko puuttuu
• Vakioäänenvoimakkuus ei ole käytettävissä
• Pakota alkuperäinen ääni ei ole käytettävissä"</string>
<string name="revanced_spoof_video_streams_language_title">Äänivirran oletuskieli</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (ei todennusta)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Pakota iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Videokoodekiksi pakotetaan AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokoodekki määritetään automaattisesti</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Tämän käyttöönotto voi parantaa akun kestoa ja korjata toiston tökkimisen.
AVC:n maksimiresoluutio on 1080p, Opus-äänikoodekki ei ole käytettävissä, ja videon toisto käyttää enemmän Internet-dataa kuin VP9 tai AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS-naamioinnin haittavaikutukset</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Elokuvat tai maksulliset videot eivät välttämättä toistu
• Tasainen äänenvoimakkuus ei ole käytettävissä
• Videot päättyvät 1 sekuntia etuajassa"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android-naamioinnin haittavaikutukset</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Ääniraitavalikko puuttuu
• Tasainen äänenvoimakkuus ei ole käytettävissä
• Alkuperäisen äänen pakotus ei ole käytettävissä"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Näytä teknisissä tiedoissa</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Asiakastyyppi näytetään teknisissä tiedoissa</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Asiakastyyppi on piilotettu teknisissä tiedoissa</string>
<string name="revanced_spoof_video_streams_language_title">VR-äänivirran oletuskieli</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Sovelluksen kieli</string>
<string name="revanced_spoof_video_streams_language_AR">Arabia</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaidžan</string>
@@ -1330,8 +1347,7 @@ Videon toisto ei välttämättä toimi"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Puola</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugali (Brasilia)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugali (Portugali)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugali</string>
<string name="revanced_spoof_video_streams_language_RO">Romania</string>
<string name="revanced_spoof_video_streams_language_RU">Venäjä</string>
<string name="revanced_spoof_video_streams_language_SK">Slovakki</string>

View File

@@ -446,6 +446,9 @@ Ang tampok na ito ay magagamit lamang para sa mga mas lumang device"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Ang visibility ng swipe overlay na background</string>
<string name="revanced_swipe_threshold_title">I-swipe ang magnitude threshold</string>
<string name="revanced_swipe_threshold_summary">Ang halaga ng threshold para sa pag-swipe na magaganap</string>
<string name="revanced_swipe_change_video_title">I-enable ang swipe para magpalit ng mga video</string>
<string name="revanced_swipe_change_video_summary_on">Ang pag-swipe sa full screen mode ay magpapalit sa susunod/nakaraang video</string>
<string name="revanced_swipe_change_video_summary_off">Ang pag-swipe sa full screen ay hindi magpapalit sa susunod/nakaraang video</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Huwag paganahin ang mga auto caption</string>
@@ -629,15 +632,18 @@ Tandaan: Ang pagpapagana nito ay nagtatago rin ng mga ad ng video"</string>
<string name="revanced_shorts_player_screen_summary">Itago o ipakita ang mga sangkap sa Shorts player</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Itago ang Shorts sa home feed</string>
<string name="revanced_hide_shorts_home_summary_on">Nakatago ang Shorts sa home feed</string>
<string name="revanced_hide_shorts_home_summary_off">Ipinapakita ang Shorts sa home feed</string>
<string name="revanced_hide_shorts_home_summary_on">Nakatago sa home feed at mga kaugnay na video</string>
<string name="revanced_hide_shorts_home_summary_off">Ipinakita sa home feed at mga kaugnay na video</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Itago ang Shorts sa feed ng subscription</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Nakatago ang mga Shorts sa feed ng subscription</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Ipinapakita ang mga Shorts sa feed ng subscription</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Nakatago sa feed ng subscription</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Ipinakita sa feed ng subscription</string>
<string name="revanced_hide_shorts_search_title">Itago ang Shorts sa mga resulta ng paghahanap</string>
<string name="revanced_hide_shorts_search_summary_on">Nakatago ang mga Shorts sa mga resulta ng paghahanap</string>
<string name="revanced_hide_shorts_search_summary_off">Ang mga Shorts sa mga resulta ng paghahanap ay ipinapakita</string>
<string name="revanced_hide_shorts_search_summary_on">Nakatago sa mga resulta ng paghahanap</string>
<string name="revanced_hide_shorts_search_summary_off">Ipinakita sa mga resulta ng paghahanap</string>
<string name="revanced_hide_shorts_history_title">Itago ang Shorts sa watch history</string>
<string name="revanced_hide_shorts_history_summary_on">Nakatago sa kasaysayan ng panonood</string>
<string name="revanced_hide_shorts_history_summary_off">Ipinapakita sa watch history</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Itago ang button na sumali</string>
<string name="revanced_hide_shorts_join_button_summary_on">Nakatago ang button na sumali</string>
@@ -739,6 +745,13 @@ Tandaan: Ang pagpapagana nito ay nagtatago rin ng mga ad ng video"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Nakatago ang mga popup panel ng player</string>
<string name="revanced_hide_player_popup_panels_summary_off">Ipinapakita ang mga popup panel ng player</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Lumabas sa fullscreen mode sa katapusan ng video</string>
<string name="revanced_exit_fullscreen_entry_1">Na-disable</string>
<string name="revanced_exit_fullscreen_entry_2">Portrait</string>
<string name="revanced_exit_fullscreen_entry_3">Landscape</string>
<string name="revanced_exit_fullscreen_entry_4">Portrait at landscape</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Buksan ang mga video sa fullscreen portrait</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Binubuksan ang mga video sa fullscreen</string>
@@ -1007,6 +1020,24 @@ Isumite na ba?"</string>
<string name="revanced_sb_reset">I-reset</string>
<string name="revanced_sb_about">Tungkol</string>
<string name="revanced_sb_about_api_sum">Ang data ay ibinibigay ng SponsorBlock API. Mag-tap dito para matuto pa at makakita ng mga download para sa iba pang platform</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_entry_4">Awtomatiko</string>
<string name="revanced_change_form_factor_user_dialog_message">"Kasama sa mga pagbabago:
Layout ng tablet
Nakatago ang mga post ng komunidad
Layout ng Automotive
Nakatago ang menu ng history ng panonood
Ibinabalik ang tab ng pagtuklas
Bubukas ang Shorts sa regular na manlalaro
Inaayos ang feed ayon sa mga paksa at channel"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Spoof na bersyon ng app</string>
@@ -1021,6 +1052,7 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Target na bersyon ng Spoof app</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Ibalik ang mga lumang icon ng Shorts player</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Ibalik ang mga lumang icon ng navigation at toolbar</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Ibalik ang RYD sa incognito mode ng Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Ibalik ang malawak na bilis ng video &amp; kalidad na menu</string>
@@ -1064,12 +1096,6 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
<string name="revanced_shorts_autoplay_background_summary_on">Awtomatikong magpa-play ang mga Shorts sa background</string>
<string name="revanced_shorts_autoplay_background_summary_off">Uulitin ang mga Shorts sa background</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Paganahin ang layout ng tablet</string>
<string name="revanced_tablet_layout_summary_on">Naka-enable ang layout ng tablet</string>
<string name="revanced_tablet_layout_summary_off">Naka-disable ang layout ng tablet</string>
<string name="revanced_tablet_layout_user_dialog_message">Hindi lumalabas ang mga post sa komunidad sa mga layout ng tablet</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Miniplayer</string>
<string name="revanced_miniplayer_screen_summary">Baguhin ang istilo ng in app minimized na player</string>
@@ -1234,6 +1260,7 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"</st
<string name="revanced_force_original_audio_title">Pilitin ang original audio</string>
<string name="revanced_force_original_audio_summary_on">Gumagamit ng original audio</string>
<string name="revanced_force_original_audio_summary_off">Gumagamit ng default audio</string>
<string name="revanced_force_original_audio_not_available">Upang magamit ang tampok na ito, baguhin ang stream spoofing sa uri ng kliyente ng iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1289,12 +1316,26 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"</st
Ang paglalaro ng video ay maaaring hindi gumana"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback ng video.</string>
<string name="revanced_spoof_video_streams_client_type_title">Default na kliyente</string>
<string name="revanced_spoof_video_streams_about_title">**Spoofing** ng mga side effect</string>
<string name="revanced_spoof_video_streams_about_summary">"• Ang mga video sa Bata ay maaaring hindi magpatugtog
• Nawawala ang menu ng track ng audio
• Hindi magagamit ang matatag na volume
• Hindi magagamit ang pilitin ang orihinal na audio"</string>
<string name="revanced_spoof_video_streams_language_title">Default na wika ng audio stream</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (walang awtorisasyon)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Pilitin ang iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Ang codec ng video ay pinilit sa AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Ang codec ng video ay awtomatikong natutukoy</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Ang pagpapagana nito ay maaaring mapahaba ang buhay ng baterya at ayusin ang pagkautal ng playback.
Ang AVC ay may pinakamataas na resolusyon na 1080p, ang codec ng audio ng Opus ay hindi available, at ang playback ng video ay gagamit ng mas maraming data sa internet kaysa sa VP9 o AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Mga epekto ng iOS spoofing</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Maaaring hindi mai-play ang mga pelikula o binayarang video
• Hindi magagamit ang stable na volume
• Ang mga video ay magtatapos ng 1 segundo nang mas maaga"</string>
<string name="revanced_spoof_video_streams_about_android_title">Mga side effect ng Android spoofing</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Nawawala ang menu ng audio track
• Hindi magagamit ang stable na volume
• Hindi magagamit ang pagpilit sa orihinal na audio"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Ipakita sa Mga Istatistika para sa mga nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Ipinapakita ang uri ng kliyente sa Mga Istatistika para sa mga nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Nakatago ang kliyente sa Mga Istatistika para sa mga nerds</string>
<string name="revanced_spoof_video_streams_language_title">Wika ng default na audio stream ng VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Wika ng app</string>
<string name="revanced_spoof_video_streams_language_AR">Arabe</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaijani</string>
@@ -1331,8 +1372,7 @@ Ang paglalaro ng video ay maaaring hindi gumana"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polish</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portuges (Brazil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portuges (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portuges</string>
<string name="revanced_spoof_video_streams_language_RO">Romanian</string>
<string name="revanced_spoof_video_streams_language_RU">Ruso</string>
<string name="revanced_spoof_video_streams_language_SK">Slovak</string>

View File

@@ -55,7 +55,7 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.gms.gmsCoreSupportResourcePatch">
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="gms_core_toast_not_installed_message">MicroG GmsCore n\'est pas installé. Installer .</string>
<string name="gms_core_toast_not_installed_message">MicroG GmsCore n\'est pas installé. Veuillez linstaller.</string>
<string name="gms_core_dialog_title">Action requise</string>
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore n'a pas la permission de s'exécuter en arrière-plan.
@@ -446,6 +446,9 @@ Cette fonctionnalité est uniquement disponible pour les appareils plus anciens"
<string name="revanced_swipe_overlay_background_alpha_summary">La visibilité de l\'overlay en arrière-plan lors des gestes</string>
<string name="revanced_swipe_threshold_title">Intensité des gestes</string>
<string name="revanced_swipe_threshold_summary">L\'intensité du mouvement à effectuer pour que les gestes se produise</string>
<string name="revanced_swipe_change_video_title">Activer glisser pour changer de vidéo</string>
<string name="revanced_swipe_change_video_summary_on">En mode plein écran, le glissement permet de passer à la vidéo suivante/précédente</string>
<string name="revanced_swipe_change_video_summary_off">En mode plein écran, le glissement ne permet pas de passer à la vidéo suivante/précédente</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Désactiver les sous-titres automatiques</string>
@@ -629,15 +632,18 @@ Remarque : l'activation de cette option masque également de force les annonces
<string name="revanced_shorts_player_screen_summary">Cacher ou afficher les composants dans le joueur Shorts</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Cacher les Shorts dans la page d\'accueil</string>
<string name="revanced_hide_shorts_home_summary_on">Les courts dans le flux domestique sont cachés</string>
<string name="revanced_hide_shorts_home_summary_off">Les shorts dans le home feed sont affichés</string>
<string name="revanced_hide_shorts_home_summary_on">Masqué dans le flux d\'accueil et les vidéos associées</string>
<string name="revanced_hide_shorts_home_summary_off">Affiché dans le flux d\'accueil et les vidéos associées</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Cacher les Shorts dans le flux d\'abonnement</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Les courts dans le flux d\'abonnement sont masqués</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Les courts dans le flux d\'abonnement sont affichés</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Masqué dans le flux des abonnements</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Affiché dans le flux des abonnements</string>
<string name="revanced_hide_shorts_search_title">Cacher les Shorts dans les résultats de recherche</string>
<string name="revanced_hide_shorts_search_summary_on">Les courts dans les résultats de recherche sont masqués</string>
<string name="revanced_hide_shorts_search_summary_off">Les courts dans les résultats de recherche sont affichés</string>
<string name="revanced_hide_shorts_search_summary_on">Masqué dans les résultats de recherche</string>
<string name="revanced_hide_shorts_search_summary_off">Affiché dans les résultats de recherche</string>
<string name="revanced_hide_shorts_history_title">Masquer les Shorts dans l\'historique de visionnage</string>
<string name="revanced_hide_shorts_history_summary_on">Masqué dans l\'historique de visionnage</string>
<string name="revanced_hide_shorts_history_summary_off">Affichages dans l\'historique de visionnage</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Masquer le bouton de jointure</string>
<string name="revanced_hide_shorts_join_button_summary_on">Le bouton \"Rejoindre\" est masqué</string>
@@ -739,6 +745,13 @@ Remarque : l'activation de cette option masque également de force les annonces
<string name="revanced_hide_player_popup_panels_summary_on">Les panneaux contextuels du lecteur sont masqués</string>
<string name="revanced_hide_player_popup_panels_summary_off">Les panneaux contextuels du lecteur sont affichés</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Sortir du mode plein écran à la fin de la vidéo</string>
<string name="revanced_exit_fullscreen_entry_1">Désactivé</string>
<string name="revanced_exit_fullscreen_entry_2">Quitter le mode plein écran</string>
<string name="revanced_exit_fullscreen_entry_3">Paysage</string>
<string name="revanced_exit_fullscreen_entry_4">Portrait et paysage</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Ouvrir les vidéos en plein écran en mode portrait</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Les vidéos s\'ouvrent en plein écran</string>
@@ -1007,11 +1020,28 @@ Déjà existant"</string>
<string name="revanced_sb_reset">Réinitialiser</string>
<string name="revanced_sb_about">À propos</string>
<string name="revanced_sb_about_api_sum">Les données sont fournies par l\'API SponsorBlock. Appuyez ici pour en savoir plus et voir les téléchargements pour d\'autres plates-formes</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Facteur de forme de la mise en page</string>
<string name="revanced_change_form_factor_entry_1">Défaut</string>
<string name="revanced_change_form_factor_entry_2">Téléphone</string>
<string name="revanced_change_form_factor_entry_3">Tablette</string>
<string name="revanced_change_form_factor_entry_4">Automobile</string>
<string name="revanced_change_form_factor_user_dialog_message">"Les modifications incluent :
Disposition pour tablette
• Les publications de la communauté sont masquées
Disposition pour automobile
• Le menu de lhistorique de visionnement est masqué
• Longlet Explorer est restauré
• Les Shorts souvrent dans le lecteur habituel
• Le fil dactualité est organisé par sujet et par chaîne"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Spoof version de l\'application</string>
<string name="revanced_spoof_app_version_summary_on">Version falsifiée</string>
<string name="revanced_spoof_app_version_summary_off">Version non falsifiée</string>
<string name="revanced_spoof_app_version_title">Usurpation de la version de l\'appli</string>
<string name="revanced_spoof_app_version_summary_on">Version usurpée</string>
<string name="revanced_spoof_app_version_summary_off">Version non usurpée</string>
<string name="revanced_spoof_app_version_user_dialog_message">"La version de l'application sera usurpée vers une ancienne version de YouTube.
Cela modifiera l'apparence et les fonctionnalités de l'application, mais des effets secondaires inconnus peuvent se produire.
@@ -1019,13 +1049,14 @@ Cela modifiera l'apparence et les fonctionnalités de l'application, mais des ef
Si cette option est désactivée par la suite, il est recommandé de vider les données de l'application pour éviter les bogues de l'interface utilisateur."</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 -->
<string name="revanced_spoof_app_version_target_title">Falsifier la cible de version de l\'application</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Restauration des anciennes icônes du lecteur de Shorts </string>
<string name="revanced_spoof_app_version_target_title">Cible pour usurper la version de l\'application</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Restaure les anciennes icônes du lecteur de Shorts </string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Restaurer les anciennes icônes de navigation et de la barre d\'outils</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">Falsifier la cible de version de l\'application</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurer une grande vitesse vidéo &amp; menu qualité</string>
<string name="revanced_spoof_app_version_target_legacy_entry_3">Falsifier la cible de version de l\'application</string>
<string name="revanced_spoof_app_version_target_legacy_entry_4">17.33.42 - Retour à l\'ancienne étagère de liste de lecture</string>
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaure RYD en mode Shorts incognito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaure le menu de vitesse &amp; de qualité de la vidéo large</string>
<string name="revanced_spoof_app_version_target_legacy_entry_3">18.09.39 - Restaure l\'onglet bibliothèque</string>
<string name="revanced_spoof_app_version_target_legacy_entry_4">17.33.42 - Restaure l\'ancienne étagère de liste de lecture</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Définir la page de démarrage</string>
@@ -1064,12 +1095,6 @@ Si cette option est désactivée par la suite, il est recommandé de vider les d
<string name="revanced_shorts_autoplay_background_summary_on">La lecture en arrière-plan des Shorts sera automatique</string>
<string name="revanced_shorts_autoplay_background_summary_off">La lecture en arrière-plan des Shorts se répétera</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Activer la disposition de la tablette</string>
<string name="revanced_tablet_layout_summary_on">La mise en page tablette est activée</string>
<string name="revanced_tablet_layout_summary_off">La disposition de la tablette est désactivée</string>
<string name="revanced_tablet_layout_user_dialog_message">Les messages de la communauté n\'apparaissent pas sur la disposition de la tablette</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Lecteur réduit</string>
<string name="revanced_miniplayer_screen_summary">Changer le style du lecteur réduit dans l\'application</string>
@@ -1196,18 +1221,18 @@ Appuyez ici pour en savoir plus sur DeArrow"</string>
<string name="revanced_auto_repeat_summary_off">La répétition automatique est désactivée</string>
</patch>
<patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch">
<string name="revanced_spoof_device_dimensions_title">Falsifier les dimensions de l\'appareil</string>
<string name="revanced_spoof_device_dimensions_title">Usurper les dimensions de l\'appareil</string>
<string name="revanced_spoof_device_dimensions_summary_on">"Dimensions de l'appareil usurpées
Des qualités vidéo plus élevées peuvent être déverrouillées, mais vous risquez de rencontrer des saccades de lecture vidéo, une autonomie réduite et des effets secondaires inconnus"</string>
Des qualités vidéo plus élevées peuvent être déverrouillées, mais vous risquez de rencontrer des saccades durant la lecture de vidéos, une autonomie réduite et des effets secondaires inconnus"</string>
<string name="revanced_spoof_device_dimensions_summary_off">"Dimensions de l'appareil non usurpées
L'activation de cette option peut déverrouiller des qualités vidéo plus élevées"</string>
<string name="revanced_spoof_device_dimensions_user_dialog_message">Activer cette option peut causer des problèmes de lecture vidéo, une dégradation de la durée de vie de la batterie et des effets secondaires inconnus.</string>
<string name="revanced_spoof_device_dimensions_user_dialog_message">Activer cette option peut causer des saccades durant la lecture de vidéos, une dégradation de la durée de vie de la batterie et des effets secondaires inconnus.</string>
</patch>
<patch id="misc.gms.gmsCoreSupportResourcePatch">
<string name="microg_settings_title">GmsCore Seçenekleri</string>
<string name="microg_settings_summary">GmsCore İçin Ayarlar</string>
<string name="microg_settings_title">Paramètres GmsCore</string>
<string name="microg_settings_summary">Paramètres de GmsCore</string>
</patch>
<patch id="misc.links.bypassURLRedirectsPatch">
<string name="revanced_bypass_url_redirects_title">URL yönlendirmelerini atla</string>
@@ -1233,6 +1258,7 @@ L'activation de cette option peut déverrouiller des qualités vidéo plus élev
<string name="revanced_force_original_audio_title">Force audio dorigine</string>
<string name="revanced_force_original_audio_summary_on">Utilisation de la piste audio d\'origine</string>
<string name="revanced_force_original_audio_summary_off">Utilisation de l\'audio par défaut</string>
<string name="revanced_force_original_audio_not_available">Pour utiliser cette fonction, changez le type d\'usurpation du flux en type client iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1279,21 +1305,35 @@ L'activation de cette option peut déverrouiller des qualités vidéo plus élev
<string name="revanced_slide_to_seek_summary_off">Glisser à chercher n\'est pas activé</string>
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_screen_title">Spoof Video Streams</string>
<string name="revanced_spoof_video_streams_screen_summary">Falsifier les flux vidéo du client pour éviter les problèmes de lecture</string>
<string name="revanced_spoof_video_streams_title">Falsifier les flux vidéo</string>
<string name="revanced_spoof_video_streams_summary_on">Les flux vidéo sont falsifiés</string>
<string name="revanced_spoof_video_streams_screen_title">Usurpation des flux vidéos</string>
<string name="revanced_spoof_video_streams_screen_summary">Usurper les flux vidéo du client pour éviter les problèmes de lecture</string>
<string name="revanced_spoof_video_streams_title">Usurpation des flux vidéos</string>
<string name="revanced_spoof_video_streams_summary_on">Les flux vidéos sont usurpés</string>
<string name="revanced_spoof_video_streams_summary_off">"Les flux vidéo ne sont pas usurpés
La lecture vidéo peut ne pas fonctionner"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Désactiver ce paramètre peut causer des problèmes de lecture vidéo.</string>
<string name="revanced_spoof_video_streams_client_type_title">Client par défaut</string>
<string name="revanced_spoof_video_streams_about_title">Effets inconnus de la falsification</string>
<string name="revanced_spoof_video_streams_about_summary">"• Les vidéos pour enfants risquent de ne pas être lues
• Le menu de la piste audio est manquant
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (aucun auth)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forcer iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Le codec vidéo est forcé à AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Le codec vidéo est déterminé automatiquement</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"L'activation de cette option pourrait améliorer l'autonomie de la batterie et corriger le bégaiement de la lecture.
AVC a une résolution maximale de 1080p, le codec audio Opus n'est pas disponible et la lecture vidéo utilisera plus de données Internet que VP9 ou AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Effets secondaires de l\'usurpation d\'identité iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Les films ou les vidéos payantes risquent de ne pas être lus
• Le volume stable n'est pas disponible
 Forcer l'audio d'origine n'est pas disponible"</string>
<string name="revanced_spoof_video_streams_language_title">Langue du flux audio par défaut</string>
Les vidéos se terminent 1 seconde plus tôt"</string>
<string name="revanced_spoof_video_streams_about_android_title">Effets secondaires de l\'usurpation d\'identité Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Le menu des pistes audio est manquant
• Le volume stable n'est pas disponible
• Forcer l'audio d'origine n'est pas disponible"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Afficher les Stats pour les nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Le type de client est affiché dans les Stats pour les nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Le client est caché dans les Stats pour les nerds</string>
<string name="revanced_spoof_video_streams_language_title">Langue du flux audio par défaut VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Langue de l\'application</string>
<string name="revanced_spoof_video_streams_language_AR">Arabe</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaïdjanais</string>
@@ -1330,8 +1370,7 @@ La lecture vidéo peut ne pas fonctionner"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Pendjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polonais</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugais (Brésil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugais (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugais</string>
<string name="revanced_spoof_video_streams_language_RO">Roumain</string>
<string name="revanced_spoof_video_streams_language_RU">Russe</string>
<string name="revanced_spoof_video_streams_language_SK">Slovaque</string>

View File

@@ -28,8 +28,8 @@ Second \"item\" text"</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Is cosúil nach bhfuil an aip seo paiteanta agat.&lt;/h5&gt;&lt;br&gt;Seans nach bhfeidhmeoidh an aip seo i gceart, &lt;b&gt;d\'fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid&lt;/b&gt;&lt; br&gt;&lt;br&gt;Tugann na seiceálacha seo le tuiscint go bhfuil an aip seo réamhphatáilte nó faighte ó dhuine éigin eile:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt; &lt;b&gt;díshuiteáil an aip seo agus paiste tú féin&lt;/b&gt; chun a chinntiú go bhfuil tú ag úsáid aip atá bailíochtaithe agus slán.&lt;p&gt;&lt;br&gt;Má dhéantar neamhaird de, ní thaispeánfar an rabhadh seo ach faoi dhó.</string>
<string name="revanced_check_environment_not_same_patching_device">Paisteáilte ar ghléas eile</string>
<string name="revanced_check_environment_manager_not_expected_installer">Gan a bheith suiteáilte ag ReVanced Manager</string>
<string name="revanced_check_environment_not_near_patch_time">Patched níos mó ná 10 nóiméad ó shin</string>
<string name="revanced_check_environment_not_near_patch_time_days">Patáilte %s lá ó shin</string>
<string name="revanced_check_environment_not_near_patch_time">Paisteáilte níos mó ná 10 nóiméad ó shin</string>
<string name="revanced_check_environment_not_near_patch_time_days">Paisteáilte %s lá ó shin</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">Tá dáta tógála APK truaillithe</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
@@ -38,10 +38,10 @@ Second \"item\" text"</string>
<string name="revanced_settings_reset">Athshocraigh</string>
<string name="revanced_settings_restart_title">Athnuachan agus atosaigh</string>
<string name="revanced_settings_restart">Athosaigh</string>
<string name="revanced_settings_import">Allmhairiú</string>
<string name="revanced_settings_import">Iompórtáil</string>
<string name="revanced_settings_import_copy">Cóipeáil</string>
<string name="revanced_settings_import_reset">Athshocraigh socruithe ReVanced go réamhshocrú</string>
<string name="revanced_settings_import_success">Socruithe %d allmhairithe</string>
<string name="revanced_settings_import_success">Iompórtáladh %d socruithe</string>
<string name="revanced_settings_import_failure_parse">Theip ar allmhairiú: %s</string>
<string name="revanced_pref_import_export_title">Iompórtáil / Easpórtáil</string>
<string name="revanced_pref_import_export_summary">Iompórtáil / Easpórtáil socruithe ReVanced</string>
@@ -55,8 +55,8 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.gms.gmsCoreSupportResourcePatch">
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="gms_core_toast_not_installed_message">Níl microG GMScore suiteáilte. Suiteáil é.</string>
<string name="gms_core_dialog_title">Gníomhaíocht a theast</string>
<string name="gms_core_toast_not_installed_message">Níl MicroG GmsCore suiteáilte. Suiteáil é.</string>
<string name="gms_core_dialog_title">Gníomh riachtanach</string>
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"Níl cead ag MicroG GmsCore rith sa chúlra.
Lean an treoir \"Ná maraigh mo aip\" do do ghuthán, agus cuir na treoracha i bhfeidhm ar do shuiteáil MicroG.
@@ -77,16 +77,16 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta."</string>
<string name="revanced_settings_screen_01_ads_title">Fógraí</string>
<string name="revanced_settings_screen_02_alt_thumbnails_title">Mionsamhlacha malartacha</string>
<string name="revanced_settings_screen_03_feed_title">Fotha</string>
<string name="revanced_settings_screen_04_player_title">Imreoir</string>
<string name="revanced_settings_screen_04_player_title">Seinnteoir</string>
<string name="revanced_settings_screen_05_general_title">Leagan amach ginearálta</string>
<string name="revanced_settings_screen_06_shorts_title">Shorts</string>
<string name="revanced_settings_screen_07_seekbar_title">Barr Seardaigh</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Rialuithe Swipe</string>
<string name="revanced_settings_screen_11_misc_title">Ilghnóthach</string>
<string name="revanced_settings_screen_07_seekbar_title">Barra Cuardaigh</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Rialuithe Svaidhpeála</string>
<string name="revanced_settings_screen_11_misc_title">Ilchineálach</string>
<string name="revanced_settings_screen_12_video_title">Físeán</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Díchumasaigh súgradh cúlra Shorts</string>
<string name="revanced_shorts_disable_background_playback_title">Díchumasaigh seinnte Cúlra Shorts</string>
<string name="revanced_shorts_disable_background_playback_summary_on">Tá súgradh cúlra Shorts díchumasaithe</string>
<string name="revanced_shorts_disable_background_playback_summary_off">Tá súgradh cúlra Shorts cumasaithe</string>
</patch>
@@ -110,17 +110,17 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta."</string>
Ní bheidh a fhios agat faoi aon imeachtaí neamhghnácha."</string>
</patch>
<patch id="layout.hide.general.hideLayoutComponentsPatch">
<string name="revanced_disable_like_subscribe_glow_title">Díchumasaigh cosúil/liostáil chnaipe glow</string>
<string name="revanced_disable_like_subscribe_glow_summary_on">ghlacfaidh an cnaipe Like agus Liostáil nuair a luaitear</string>
<string name="revanced_disable_like_subscribe_glow_summary_off">Taispeánfaidh an cnaipe Like agus Liostáil nuair a luait</string>
<string name="revanced_disable_like_subscribe_glow_title">Díchumasaigh lonradh na cnaipí Cosúil / Liostáil</string>
<string name="revanced_disable_like_subscribe_glow_summary_on">lonróidh an cnaipe \'Cosúil\' agus \'Liostáil\' nuair a luafaí</string>
<string name="revanced_disable_like_subscribe_glow_summary_off">Lonróidh an cnaipe Cosúil agus Liostáil nuair a luaitear</string>
<string name="revanced_hide_album_cards_title">Folaigh cártaí albam</string>
<string name="revanced_hide_album_cards_summary_on">Tá cártaí albam i bhfolach</string>
<string name="revanced_hide_album_cards_summary_off">Taispeántar cártaí albam</string>
<string name="revanced_hide_crowdfunding_box_title">Folaigh bosca slua-mhaoiniú</string>
<string name="revanced_hide_crowdfunding_box_summary_on">Tá bosca crowdfunding i bhfolach</string>
<string name="revanced_hide_crowdfunding_box_summary_on">Tá bosca slua-mhaoiniú i bhfolach</string>
<string name="revanced_hide_crowdfunding_box_summary_off">Taispeántar bosca slua-mhaoiniú</string>
<string name="revanced_hide_floating_microphone_button_title">Cnaipe micreafón ar snámh</string>
<string name="revanced_hide_floating_microphone_button_summary_on">Cnaipe micreafón folach</string>
<string name="revanced_hide_floating_microphone_button_title">Folaigh an cnaipe micreafón ar snámh</string>
<string name="revanced_hide_floating_microphone_button_summary_on">Cnaipe micreafón i bhfolach</string>
<string name="revanced_hide_floating_microphone_button_summary_off">Taispeántar an cnaipe micreafón</string>
<string name="revanced_hide_channel_watermark_title">Folaigh comhartha uisce cainéal</string>
<string name="revanced_hide_channel_watermark_summary_on">Tá comhartha uisce i bhfolach</string>
@@ -148,7 +148,7 @@ Ní bheidh a fhios agat faoi aon imeachtaí neamhghnácha."</string>
<string name="revanced_hide_notify_me_button_summary_on">Tá an cnaipe i bhfolach</string>
<string name="revanced_hide_notify_me_button_summary_off">Taispeántar an cnaipe</string>
<!-- 'People also watch' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_search_result_recommendations_title">Folaigh moltaí \'D\'fhéach daoine freastalaí\'</string>
<string name="revanced_hide_search_result_recommendations_title">Folaigh moltaí \'Chonaic daoine eile freisin\'</string>
<string name="revanced_hide_search_result_recommendations_summary_on">Tá moltaí i bhfolach</string>
<string name="revanced_hide_search_result_recommendations_summary_off">Taispeántar moltaí</string>
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
@@ -177,12 +177,12 @@ Ní bheidh a fhios agat faoi aon imeachtaí neamhghnácha."</string>
<string name="revanced_hide_movies_section_title">Folaigh rannán scannáin</string>
<string name="revanced_hide_movies_section_summary_on">Tá an chuid Scannáin i bhfolach</string>
<string name="revanced_hide_movies_section_summary_off">Taispeántar an rannán scannáin</string>
<string name="revanced_hide_feed_survey_title">Folaigh suirbhéanna beatha</string>
<string name="revanced_hide_feed_survey_summary_on">Tá suirbhéanna beatha i bhfolach</string>
<string name="revanced_hide_feed_survey_summary_off">Taispeántar suirbhéanna beatha</string>
<string name="revanced_hide_feed_survey_title">Folaigh suirbhéanna na fotha</string>
<string name="revanced_hide_feed_survey_summary_on">Tá suirbhéanna fotha i bhfolach</string>
<string name="revanced_hide_feed_survey_summary_off">Taispeántar suirbhéanna fotha</string>
<string name="revanced_hide_community_guidelines_title">Folaigh treoirlínte pobail</string>
<string name="revanced_hide_community_guidelines_summary_on">Tá treoirlínte pobail i bhfolach</string>
<string name="revanced_hide_community_guidelines_summary_off">Léirítear treoirlínte pobail</string>
<string name="revanced_hide_community_guidelines_summary_off">Taispeántar treoirlínte pobail</string>
<string name="revanced_hide_subscribers_community_guidelines_title">Folaigh treoirlínte pobail do shíntiúsóirí</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Tá treoirlínte pobail síntiúsóirí i bhfolach</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Taispeántar treoirlínte pobail do shíntiúsóirí</string>
@@ -202,19 +202,19 @@ Ní bheidh a fhios agat faoi aon imeachtaí neamhghnácha."</string>
<string name="revanced_hide_channel_bar_summary_on">Tá barra cainéal i bhfolach</string>
<string name="revanced_hide_channel_bar_summary_off">Taispeántar barra cainéal</string>
<string name="revanced_hide_playables_title">Folaigh Rudaí Inimeartha</string>
<string name="revanced_hide_playables_summary_on">míreanna súgartha i bhfolach</string>
<string name="revanced_hide_playables_summary_off">Taispeántar míreanna inimeartha</string>
<string name="revanced_hide_playables_summary_on">rudaí inimeartha i bhfolach</string>
<string name="revanced_hide_playables_summary_off">Taispeántar rudaí inimeartha</string>
<string name="revanced_hide_quick_actions_title">Folaigh gníomhartha gasta i lánscáileán</string>
<string name="revanced_hide_quick_actions_summary_on">Tá gníomhartha gasta i bhfolach</string>
<string name="revanced_hide_quick_actions_summary_off">Taispeántar gníomhartha tapa</string>
<string name="revanced_hide_related_videos_title">Folaigh físeáin gaolmhara i ngníomhartha</string>
<string name="revanced_hide_related_videos_summary_on">Tá físeáin bhainteacha i bhfolach</string>
<string name="revanced_hide_related_videos_summary_on">Tá físeáin ghaolmhara i bhfolach</string>
<string name="revanced_hide_related_videos_summary_off">Taispeántar físeáin gaolmhara</string>
<string name="revanced_hide_image_shelf_title">Folaigh seilf íomhá sna torthaí cuardaigh</string>
<string name="revanced_hide_image_shelf_summary_on">Tá seilf íomhá i bhfolach</string>
<string name="revanced_hide_image_shelf_summary_off">Taispeántar seilf íomhá</string>
<string name="revanced_hide_latest_posts_ads_title">Folaigh na postanna is déanaí</string>
<string name="revanced_hide_latest_posts_ads_summary_on">Tá poist is déanaí i bhfolach</string>
<string name="revanced_hide_latest_posts_ads_summary_on">Tá postanna is déanaí i bhfolach</string>
<string name="revanced_hide_latest_posts_ads_summary_off">Taispeántar na poist is déanaí</string>
<string name="revanced_hide_mix_playlists_title">Folaigh seinmliostaí meascán</string>
<string name="revanced_hide_mix_playlists_summary_on">Tá seinmliostaí measctha i bhfolach</string>
@@ -446,6 +446,9 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Infheictheacht an chúlra forleagan swipe</string>
<string name="revanced_swipe_threshold_title">Tairseach méid swipe</string>
<string name="revanced_swipe_threshold_summary">Méid an tairseach le haghaidh sruthú tarlú</string>
<string name="revanced_swipe_change_video_title">Cumasaigh swipe chun físeáin a athrú</string>
<string name="revanced_swipe_change_video_summary_on">Achlaigh i mód lán-scáile chun athrú go dtí an físeán chéanna/arís</string>
<string name="revanced_swipe_change_video_summary_off">Ní athróidh achlaigh i mód lán-scáile go dtí an físeán chéanna/arís</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Díchumasaigh fotheidil uathoibríoch</string>
@@ -629,15 +632,18 @@ Nóta: Trí é seo a chumasú, cuirtear fógraí físeáin i bhfolach freisin"</
<string name="revanced_shorts_player_screen_summary">Folaigh nó taispeáin comhpháirteanna san seinnteoir Shorts</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Folaigh Shorts i mbeatha baile</string>
<string name="revanced_hide_shorts_home_summary_on">Tá Shorts i mbeatha baile i bhfolach</string>
<string name="revanced_hide_shorts_home_summary_off">Taispeántar Shorts sa bheathú baile</string>
<string name="revanced_hide_shorts_home_summary_on">Foluithe i bhforfheid na bhféachtraanna baile agus na bhífsclippianna gaolmhara</string>
<string name="revanced_hide_shorts_home_summary_off">Taispeántar i bhforfheid na bhféachtraanna baile agus na bhífsclippianna gaolmhara</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Folaigh Shorts i mbeatha síntiúis</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Tá Shorts i mbeatha síntiúis i bhfolach</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Taispeántar Shorts i mbeatha síntiúis</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Folaithe sa fheadán síscribhte</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Tá ar taispeáint sa fheadán síscribhte</string>
<string name="revanced_hide_shorts_search_title">Folaigh Shorts i dtorthaí cuardaigh</string>
<string name="revanced_hide_shorts_search_summary_on">Tá Shorts i dtorthaí cuardaigh i bhfolach</string>
<string name="revanced_hide_shorts_search_summary_off">Taispeántar Shorts i dtorthaí cuardaigh</string>
<string name="revanced_hide_shorts_search_summary_on">Folaithe i dtorthaí cuardaigh</string>
<string name="revanced_hide_shorts_search_summary_off">Tá ar taispeáint sna torthaí cuardaigh</string>
<string name="revanced_hide_shorts_history_title">Folaigh Shorts i stair féachana</string>
<string name="revanced_hide_shorts_history_summary_on">Faolithe sa stair féachana</string>
<string name="revanced_hide_shorts_history_summary_off">Taispeántar i stair féachana</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Folaigh cnaipe ceangail</string>
<string name="revanced_hide_shorts_join_button_summary_on">Tá an cnaipe Bí i bhfolach</string>
@@ -739,6 +745,13 @@ Nóta: Trí é seo a chumasú, cuirtear fógraí físeáin i bhfolach freisin"</
<string name="revanced_hide_player_popup_panels_summary_on">Tá painéil aníos imreoirí i bhfolach</string>
<string name="revanced_hide_player_popup_panels_summary_off">Taispeántar painéil aníos imreoirí</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Baint á âmód éadaéin iomlán lán iomlán ar deireadh na físe</string>
<string name="revanced_exit_fullscreen_entry_1">Déchumasaithe</string>
<string name="revanced_exit_fullscreen_entry_2">Portait</string>
<string name="revanced_exit_fullscreen_entry_3">Téacscaoileadh</string>
<string name="revanced_exit_fullscreen_entry_4">Portait agus téacscaoileadh</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Oscail físeáin i módh scáileáin iomláin portráit</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Osclaítear físeáin i scáileán iomlán</string>
@@ -1007,6 +1020,23 @@ Maithe chun cur isteach?"</string>
<string name="revanced_sb_reset">Athshocraigh</string>
<string name="revanced_sb_about">Maidir</string>
<string name="revanced_sb_about_api_sum">Soláthraíonn an API SponsorBlock sonraí. Tapáil anseo chun níos mó a fhoghlaim agus íoslódálacha a fheiceáil d\'ardáin eile</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Fábos fóirmeanna foirmiúin</string>
<string name="revanced_change_form_factor_entry_1">Réamhshocrúch</string>
<string name="revanced_change_form_factor_entry_2">Fón</string>
<string name="revanced_change_form_factor_entry_3">Táibhléad</string>
<string name="revanced_change_form_factor_entry_4">Gluaisrothar</string>
<string name="revanced_change_form_factor_user_dialog_message">"Áirítear na hathruithe seo a leanas:
Leagan amach na táibléad
• Tá poist an phobail curtha i bhfolach
Leagan amach na ngluaisteán
• Tá roghchlár stair féachana curtha i bhfolach
• Tá an táb eolais arís ann
• Osclóidh Shorts sa seinnteoir gnáth
• Tá an foraois eagraithe de réir ábhar agus cainéal"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Leagan aip spoof</string>
@@ -1021,6 +1051,7 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Sprioc leagan aip spoof</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Athchóirigh sean-deilbhíní imreoir Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Seanghreannacha loingseoireachta agus greille is sine a athchóirigh</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Athchóirigh RYD ar mhodh incognito Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Athchóirigh luas leathan físe &amp; roghchlár cáilíochta</string>
@@ -1064,12 +1095,6 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
<string name="revanced_shorts_autoplay_background_summary_on">Déanfar súgradh cúlra Shorts go huathoibríoch</string>
<string name="revanced_shorts_autoplay_background_summary_off">Athdhéanfar súgradh cúlra Shorts</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Cumasaigh leagan amach na táibléad</string>
<string name="revanced_tablet_layout_summary_on">Tá leagan amach an táibléad cumasaithe</string>
<string name="revanced_tablet_layout_summary_off">Tá leagan amach an táibléad díchumasaithe</string>
<string name="revanced_tablet_layout_user_dialog_message">Ní thaispeánann poist phobail ar leagan amach táibléad</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Minipléir</string>
<string name="revanced_miniplayer_screen_summary">Athraigh stíl an imreora íoslaghdaithe san aip</string>
@@ -1234,6 +1259,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
<string name="revanced_force_original_audio_title">Fórsaigh fuaim bunaidh</string>
<string name="revanced_force_original_audio_summary_on">Ag úsáid fuaim bunaidh</string>
<string name="revanced_force_original_audio_summary_off">Ag úsáid fuaim réamhshocraithe</string>
<string name="revanced_force_original_audio_not_available">Chun an ghné seo a úsáid, athraigh spoofing srutha chuig cineál cliant iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1289,13 +1315,27 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
D'fhéadfadh nach n-oibreoidh athsheinm físeáin"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Seans go mbeidh fadhbanna athsheinm físe ag baint leis an socrú seo a mhúchadh.</string>
<string name="revanced_spoof_video_streams_client_type_title">Cliant réamhshocraithe</string>
<string name="revanced_spoof_video_streams_about_title">Éifeachtaí taobheffects</string>
<string name="revanced_spoof_video_streams_about_summary">"• Is féidir nach imreoidh físeáin leanaí
• Tá roghchlár rian fuaime ar iarraidh
• Níl sraithfhuaim shocair ar fáil
• Níl éiteach an fhuaime bhunaidh ar fáil"</string>
<string name="revanced_spoof_video_streams_language_title">Teanga réamhshocraithe sruth fuaime</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Teanga na feidhmchláir</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (gun fháil údarás)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Féach iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Fórsaítear códú fhíseán chuig AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Chinntítear códú fhíseán go huathoibríoch</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"D'fhéadfadh a chumasú seo saol na ceallraí a fheabhsú agus stotálú athsaithe a shocrú.
Tá réiteach uasmhéideach 1080p ag AVC, níl códú fuaime Opus ar fáil, agus bainfear úsáid as tuilleadh sonraí Idirlín le haghaidh athsaithe físeán ná VP9 nó AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Éifeachtaí taobheacha sceimhlitheoireachta iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Dfhéadfadh sé nach imreodh scannáin nó físeáin íoctha
• Ní bheidh an toirt éagothroime ar fáil
• Críochnaíonn físeáin 1 soicind roimh am"</string>
<string name="revanced_spoof_video_streams_about_android_title">Éifeachtaí taobh Android a mhalartú</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Tá roghchlár na bhfuaimeanna ar iarraidh
• Níl imfhálú cobhsaí ar fáil
• Níl an fhuaim bhunúsach ar fáil"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Taispeáin i Staitisticí do nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Taispeántar cineál an chliaint i Staitisticí do nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Tá an cliant curtha i bhfolach i Staitisticí do nerds</string>
<string name="revanced_spoof_video_streams_language_title">Teanga an sreafa fuaime réamhshocraithe VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Teanga an aip</string>
<string name="revanced_spoof_video_streams_language_AR">Araibis</string>
<string name="revanced_spoof_video_streams_language_AZ">Asarbaiseáinis</string>
<string name="revanced_spoof_video_streams_language_BG">Bulgáiris</string>
@@ -1331,8 +1371,7 @@ D'fhéadfadh nach n-oibreoidh athsheinm físeáin"</string>
<string name="revanced_spoof_video_streams_language_OR">Odais</string>
<string name="revanced_spoof_video_streams_language_PA">Painseáibis</string>
<string name="revanced_spoof_video_streams_language_PL">Polainnis</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portaingéilis (Brasail)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portaingéilis (An Phortaingéal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portaingéilis</string>
<string name="revanced_spoof_video_streams_language_RO">Rúmáinis</string>
<string name="revanced_spoof_video_streams_language_RU">Rúisis</string>
<string name="revanced_spoof_video_streams_language_SK">Slovaicis</string>

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -445,6 +445,9 @@ Ez a funkció csak régebbi eszközökön érhető el"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">A csúsztatási átfedés hátterének láthatósága</string>
<string name="revanced_swipe_threshold_title">A csúsztatás küszöbértéke</string>
<string name="revanced_swipe_threshold_summary">A csúsztatáshoz szükséges küszöbérték</string>
<string name="revanced_swipe_change_video_title">Engedélyezze az ujjbegyújtással történő videóváltást</string>
<string name="revanced_swipe_change_video_summary_on">Teljes képernyős módban történő ujjbegyújtás megváltoztatja a következő/előző videóra</string>
<string name="revanced_swipe_change_video_summary_off">Teljes képernyős módban történő ujjbegyújtás nem változtatja meg a következő/előző videóra</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Automatikus feliratok letiltása</string>
@@ -628,15 +631,18 @@ Megjegyzés: Ez a beállítás a videóhirdetések kényszerű elrejtését is m
<string name="revanced_shorts_player_screen_summary">Összetevők elrejtése vagy megjelenítése a Shorts lejátszóban</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Shorts elrejtése a Kezdőlap feedben</string>
<string name="revanced_hide_shorts_home_summary_on">A Shortsok elrejtve a Kezdőlap feedben</string>
<string name="revanced_hide_shorts_home_summary_off">A Shortsok megjelennek a Kezdőlap feedben</string>
<string name="revanced_hide_shorts_home_summary_on">Elrejtve a főoldalon és a kapcsolódó videókban</string>
<string name="revanced_hide_shorts_home_summary_off">Megjelenítve a főoldalon és a kapcsolódó videókban</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Shortsok elrejtése a Feliratkozások feedben</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">A Shortsok megjelennek a Feliratkozások feedben</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">A Shortsok megjelennek a Feliratkozások feedben</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Elrejtve az előfizetési hírfolyamban</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Megjelenik az előfizetési hírfolyamban</string>
<string name="revanced_hide_shorts_search_title">Shortsok elrejtése a keresési eredményekben</string>
<string name="revanced_hide_shorts_search_summary_on">A Shortsok el vannak rejtve a keresési eredményekben</string>
<string name="revanced_hide_shorts_search_summary_off">A Shortsok megjelenek a keresési eredményekben</string>
<string name="revanced_hide_shorts_search_summary_on">A keresési eredmények között elrejtve</string>
<string name="revanced_hide_shorts_search_summary_off">Megjelenik a keresési eredmények között</string>
<string name="revanced_hide_shorts_history_title">Shorts elrejtése a megtekintési előzményekben</string>
<string name="revanced_hide_shorts_history_summary_on">Elrejtve a megtekintési előzményekben</string>
<string name="revanced_hide_shorts_history_summary_off">Megjelenik a megtekintési előzményekben</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Csatlakozás gomb elrejtése</string>
<string name="revanced_hide_shorts_join_button_summary_on">A csatlakozás gomb el van rejtve</string>
@@ -738,6 +744,13 @@ Megjegyzés: Ez a beállítás a videóhirdetések kényszerű elrejtését is m
<string name="revanced_hide_player_popup_panels_summary_on">A lejátszó előugró panelei el vannak rejtve</string>
<string name="revanced_hide_player_popup_panels_summary_off">A lejátszó előugró panelei megjelennek</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Kilépés a teljes képernyőből</string>
<string name="revanced_exit_fullscreen_entry_1">Letiltva</string>
<string name="revanced_exit_fullscreen_entry_2">Portré</string>
<string name="revanced_exit_fullscreen_entry_3">Tájkép</string>
<string name="revanced_exit_fullscreen_entry_4">Portré és tájkép</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Nyissa meg a videókat teljes képernyős portréban</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">A videók teljes képernyőn nyílnak meg</string>
@@ -1005,6 +1018,23 @@ Készen állsz a beküldésre?"</string>
<string name="revanced_sb_reset">Visszaállítás</string>
<string name="revanced_sb_about">Rólunk</string>
<string name="revanced_sb_about_api_sum">Az adatokat a SponsorBlock API biztosítja. Koppintson ide, ha többet szeretne megtudni és megtekintené a letöltéseket más platformokra</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Elrendezési űrlap faktor</string>
<string name="revanced_change_form_factor_entry_1">Alapértelmezett</string>
<string name="revanced_change_form_factor_entry_2">Telefon</string>
<string name="revanced_change_form_factor_entry_3">Tablet</string>
<string name="revanced_change_form_factor_entry_4">Autóipari</string>
<string name="revanced_change_form_factor_user_dialog_message">"Módosítások:
Tablet elrendezés
• A közösségi bejegyzések el vannak rejtve
Autóipari elrendezés
• Az előzmények menü el van rejtve
• A Felfedezés fül visszaáll
• A Shorts a szokásos lejátszóban nyílik meg
• A feed témák és csatornák szerint van rendezve"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Alkalmazásverzió hamisítása</string>
@@ -1019,6 +1049,7 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Hamisított alkalmazásverzió célja</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - A régi Shorts lejátszó ikonok visszaállítása</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - A régi navigációs és eszköztári ikonok visszaállítása</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD visszaállítása Shorts inkognitó módban</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Széles videósebesség és minőség menü visszaállítása</string>
@@ -1062,12 +1093,6 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
<string name="revanced_shorts_autoplay_background_summary_on">Shorts automatikusan elindul a háttérben</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts háttérben történő lejátszása megismétlődik</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Táblagépes elrendezés engedélyezése</string>
<string name="revanced_tablet_layout_summary_on">Táblagépes elrendezés engedélyezve</string>
<string name="revanced_tablet_layout_summary_off">Táblagépes elrendezés letiltva</string>
<string name="revanced_tablet_layout_user_dialog_message">A közösségi posztok nem jelennek meg táblagépes elrendezésben</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Minilejátszó</string>
<string name="revanced_miniplayer_screen_summary">Módosítsa az alkalmazáson belüli kisméretű lejátszó stílusát</string>
@@ -1231,6 +1256,7 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"</s
<string name="revanced_force_original_audio_title">Eredeti hang kikényszerítése</string>
<string name="revanced_force_original_audio_summary_on">Eredeti hang használata</string>
<string name="revanced_force_original_audio_summary_off">Alapértelmezett hang használata</string>
<string name="revanced_force_original_audio_not_available">Ezt a funkciót iOS klienstípusra állított adatfolyam-hamisítással használhatja</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1286,12 +1312,26 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"</s
A videólejátszás nem működhet"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">A beállítás kikapcsolása videolejátszási problémákat okozhat.</string>
<string name="revanced_spoof_video_streams_client_type_title">Alapértelmezett kliens</string>
<string name="revanced_spoof_video_streams_about_title">Hamisítás mellékhatásai</string>
<string name="revanced_spoof_video_streams_about_summary">"• Gyermekvideók előfordulhat, hogy nem játszódnak le
• Hiányzik a hangsáv menü
• A stabil hangerő nem elérhető
• Az eredeti hang kényszerítése nem elérhető"</string>
<string name="revanced_spoof_video_streams_language_title">Alapértelmezett hangfolyam nyelve</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (nincs hitelesítés)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Az iOS kényyszerített AVC (H.264) videokodeket használ</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">A videokodek AVC-re kényszerítve (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">A videokodek meghatározása automatikusan történik</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Ennek engedélyezése javíthatja az akkumulátor élettartamát és kijavíthatja a lejátszás akadozását.
Az AVC maximális felbontása 1080p, az Opus audiokodek nem érhető el, és a videolejátszás több internetes adatot használ, mint a VP9 vagy az AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS hamisítási mellékhatások</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Előfordulhat, hogy a filmeket és a fizetős videókat nem lehet lejátszani
• Nem áll rendelkezésre stabil hangerő
• A videók 1 másodperccel korábban érnek véget"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android hamisítási mellékhatások</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Hiányzik a hangsáv menü
• Nem áll rendelkezésre stabil hangerő
• Az eredeti hang kényszerítése nem érhető el"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Megjelenítés a Statisztikákban</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">A kliens típusa a Statisztikákban látható</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">A kliens el van rejtve a Statisztikákban</string>
<string name="revanced_spoof_video_streams_language_title">VR alapértelmezett audio adatfolyam nyelve</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Alkalmazás nyelve</string>
<string name="revanced_spoof_video_streams_language_AR">Arab</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbajdzsáni</string>
@@ -1328,8 +1368,7 @@ A videólejátszás nem működhet"</string>
<string name="revanced_spoof_video_streams_language_OR">odia</string>
<string name="revanced_spoof_video_streams_language_PA">Pandzsábi</string>
<string name="revanced_spoof_video_streams_language_PL">Lengyel</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugál (Brazil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugál (Portugália)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugál</string>
<string name="revanced_spoof_video_streams_language_RO">Román</string>
<string name="revanced_spoof_video_streams_language_RU">Orosz</string>
<string name="revanced_spoof_video_streams_language_SK">Szlovák</string>

View File

@@ -446,6 +446,9 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<string name="revanced_swipe_overlay_background_alpha_summary">Սահմանման վերածման ֆոնի տեսանելիությունը</string>
<string name="revanced_swipe_threshold_title">Սահմանման վերածման չափը</string>
<string name="revanced_swipe_threshold_summary">Սահմանման վերածման չափը</string>
<string name="revanced_swipe_change_video_title">Վայրէջքով տեսանյութերը փոխելու ակտիվացում</string>
<string name="revanced_swipe_change_video_summary_on">Լիարժեք ռեժիմով վայրէջքը կփոխվի հաջորդ / նախորդ տեսանյութին</string>
<string name="revanced_swipe_change_video_summary_off">Լիարժեք ռեժիմով վայրէջքը չի փոխվի հաջորդ / նախորդ տեսանյութին</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Անջատել ավտոմատ ենթագրերը</string>
@@ -629,15 +632,16 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<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">Shorts-ը գլխավոր էջում թաքցված են</string>
<string name="revanced_hide_shorts_home_summary_off">Shorts-ը գլխավոր էջում երևում են</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">Shorts-ը բաժանորդագրության էջում թաքցված են</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">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">Shorts-ը որոնման արդյունքներում թաքցված են</string>
<string name="revanced_hide_shorts_search_summary_off">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">Միանալու կոճակը թաքցնել</string>
<string name="revanced_hide_shorts_join_button_summary_on">Միանալու կոճակը թաքցված է</string>
@@ -739,6 +743,13 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<string name="revanced_hide_player_popup_panels_summary_on">Հաղորդակցման վահանակների ելնող պատուհանները թաքցված են</string>
<string name="revanced_hide_player_popup_panels_summary_off">Հաղորդակցման վահանակների ելնող պատուհանները երևում են</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Տեսանյութի ավարտին դուրս գալ լիաէկրան ռեժիմից</string>
<string name="revanced_exit_fullscreen_entry_1">Անջատված</string>
<string name="revanced_exit_fullscreen_entry_2">Դիմանկար</string>
<string name="revanced_exit_fullscreen_entry_3">Լանդշաֆտ</string>
<string name="revanced_exit_fullscreen_entry_4">Դիմանկար և լանդշաֆտ</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Բացել տեսանյութերը լի էկրանի պորտրետային ռեժիմով</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Տեսանյութերը բացվում են լի էկրանով</string>
@@ -1007,6 +1018,23 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_sb_reset">Վերագործարկել</string>
<string name="revanced_sb_about">Ծրագրի մասին</string>
<string name="revanced_sb_about_api_sum">Տվյալները մատուցվում են SponsorBlock API-ի կողմից։ Սեղմեք այստեղ՝ ավելի շատ իմանալու և այլ հարթակների համար ներբեռնումները տեսնելու</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Ձևաչափի փոփոխություն</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">"Փոփոխությունները ներառում են.
Պլանշետի ինտերֆեյս
• Թաքցված են համայնքի հրապարակումները
Ավտոմոբիլային ինտերֆեյս
• Թաքցված է դիտումների պատմության ընտրանին
• Վերականգնված է ուսումնասիրել էջը
• Հոլովակները բացվում են ստանդարտ նվագարկչում
• Նորությունները կազմակերպված են ըստ թեմաների և ալիքների"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Կեղծել հավելվածի տարբերակը</string>
@@ -1021,6 +1049,7 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof-ի կիրառության տարբերակի նպատակ</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Վերականգնել հին Shorts պլեյերի պատկերակները</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Հին նավիգացիայի և գործիքների պատկերներ վերականգնել</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Վերականգնել RYD-ը Shorts անանուն ռեժիմում</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Վերականգնել լայն տեսանյութի արագության &amp; որակի ընտրացանկը</string>
@@ -1064,12 +1093,6 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_shorts_autoplay_background_summary_on">Shorts-ի ֆոնային վերարտադրումը կվերարտադրվի ավտոմատ կերպով</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts-ի ֆոնային վերարտադրումը կկրկնվի</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Աктиվացնել планшетի կառուցվածքը</string>
<string name="revanced_tablet_layout_summary_on">Планшетի կառուցվածքը ակտիվացված է</string>
<string name="revanced_tablet_layout_summary_off">Планшетի կառուցվածքը անջատված է</string>
<string name="revanced_tablet_layout_user_dialog_message">Համայնքի հրապարակումները չեն ցուցադրվում планшетի կառուցվածքներում</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Մինի նվագարկիչ</string>
<string name="revanced_miniplayer_screen_summary">Փոխել կիրառության մեջ փոքրացված պլեյերի ոճը</string>
@@ -1233,6 +1256,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
<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>
<string name="revanced_force_original_audio_not_available">Անեի սյօւյր դա ժյրդեք ռասրունաքն ամ Java զեմե, սիուի կյադ եյ չոն մաiOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1288,13 +1312,27 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
Տեսանյութի վերարտադրումը կարող է չաշխատել։"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Այս կարգավորման անջատումը կարող է առաջացնել տեսանյութի վերարտադրման հետ կապված պրոբլեմներ</string>
<string name="revanced_spoof_video_streams_client_type_title">Դեֆոլտ կլիենտ</string>
<string name="revanced_spoof_video_streams_about_title">Խաբեության կողմնակի ազդեցություններ</string>
<string name="revanced_spoof_video_streams_about_summary">"• Մանկական տեսանյութերը կարող են չնվագարկվել
• Աուդիո ուղու ընտրացանկը բացակայում է
• Կայուն ծավալը հասանելի չէ
• Պարտադրել բնօրինակ ձայնը հասանելի չէ"</string>
<string name="revanced_spoof_video_streams_language_title">Ըստ նախապատվության, հնչյունային հոսքի լեզուն</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Ծրագրի լեզուն</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (առանց հաստատման)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">iOS-ի համար AVC (H.264) պարտադիր ակտիվացում</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Վիդեո կոդեկը պարտադիր կերպով AVC (H.264) է</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Վիդեո կոդեկը որոշվում է ավտոմատ կերպով</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Սա ակտիվացնելը կարող է բարելավել մարտկոցի աշխատանքի տևողությունը և վերացնել վերարտադրման խցկումները։
AVC-ի առավելագույն թույլտվությունը 1080p է, Opus աուդիո կոդեկը հասանելի չէ, իսկ վիդեոյի վերարտադրումը VP9-ից կամ AV1-ից ավելի շատ ինտերնետ տվյալներ կօգտագործի։"</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS խաբեության կողմնակի ազդեցություններ</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Ֆիլմերը կամ վճարովի տեսանյութերը չեն կարող աշխատել
• Հասանելի չէ կայուն ձայնի ծավալը
• Տեսանյութերը վերջանում են 1 վայրկյան վաղ"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android խաբեության կողմնակի ազդեցություններ</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Ձայնի գրառման ընտրացանկը բացակայում է
• Ստաբիլ ձայն չկա
• Իրական ձայնի ընտրությունը հասանելի չէ"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Ցուցադրել վիճակագրության ակնոցներում</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Հաճախորդի տեսակը ցուցադրվում է վիճակագրության ակնոցներում</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Հաճախորդը թաքնված է վիճակագրության ակնոցներում</string>
<string name="revanced_spoof_video_streams_language_title">VR-ի համար նախապես ընտրված ձայնի գրառման լեզու</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Առ մնալ մէջ</string>
<string name="revanced_spoof_video_streams_language_AR">Արաբերեն</string>
<string name="revanced_spoof_video_streams_language_AZ">Ադրբեջաներեն</string>
<string name="revanced_spoof_video_streams_language_BG">Բուլղարերեն</string>
@@ -1330,8 +1368,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
<string name="revanced_spoof_video_streams_language_OR">Օդիական</string>
<string name="revanced_spoof_video_streams_language_PA">Փենջաբերեն</string>
<string name="revanced_spoof_video_streams_language_PL">Լեհերեն</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Պորտուգալերեն (Բրազիլիա)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Պորտուգալերեն (Պորտուգալիա)</string>
<string name="revanced_spoof_video_streams_language_PT">Պորտուգալերեն</string>
<string name="revanced_spoof_video_streams_language_RO">Ռումիներեն</string>
<string name="revanced_spoof_video_streams_language_RU">Ռուսերեն</string>
<string name="revanced_spoof_video_streams_language_SK">Սլովակերեն</string>

View File

@@ -80,7 +80,7 @@ Ketuk tombol lanjutkan dan izinkan perubahan pengoptimalan."</string>
<string name="revanced_settings_screen_04_player_title">Pemutar</string>
<string name="revanced_settings_screen_05_general_title">Layout umum</string>
<string name="revanced_settings_screen_07_seekbar_title">Seekbar</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Kontrol geser</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Kontrol usap</string>
<string name="revanced_settings_screen_11_misc_title">Lain-lain</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
</patch>
@@ -424,9 +424,9 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama"</string>
<string name="revanced_swipe_volume_title">Aktifkan gerakan volume</string>
<string name="revanced_swipe_volume_summary_on">Sapuan volume diaktifkan</string>
<string name="revanced_swipe_volume_summary_off">Sapuan volume dinonaktifkan</string>
<string name="revanced_swipe_press_to_engage_title">Aktifkan gerakan tekan-untuk-menggeser</string>
<string name="revanced_swipe_press_to_engage_summary_on">Tekan-untuk-menggeser diaktifkan</string>
<string name="revanced_swipe_press_to_engage_summary_off">Tekan-untuk-menggeser dinonaktifkan</string>
<string name="revanced_swipe_press_to_engage_title">Aktifkan gerakan tekan-untuk-mengusap</string>
<string name="revanced_swipe_press_to_engage_summary_on">Tekan-untuk-mengusap diaktifkan</string>
<string name="revanced_swipe_press_to_engage_summary_off">Tekan-untuk-mengusap dinonaktifkan</string>
<string name="revanced_swipe_haptic_feedback_title">Aktifkan umpan balik sentuhan</string>
<string name="revanced_swipe_haptic_feedback_summary_on">Umpan balik sentuhan diaktifkan</string>
<string name="revanced_swipe_haptic_feedback_summary_off">Umpan balik sentuhan dinonaktifkan</string>
@@ -437,14 +437,17 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama"</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Mengusap ke bawah ke nilai terendah dari gerakan kecerahan akan menyalakan kecerahan otomatis</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Mengusap ke bawah ke nilai terendah tidak mengaktifkan kecerahan otomatis</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Otomatis</string>
<string name="revanced_swipe_overlay_timeout_title">Batas waktu hamparan geser</string>
<string name="revanced_swipe_overlay_timeout_title">Batas waktu hamparan usap</string>
<string name="revanced_swipe_overlay_timeout_summary">Jumlah milidetik hamparan terlihat</string>
<string name="revanced_swipe_text_overlay_size_title">Ukuran teks hamparan geser</string>
<string name="revanced_swipe_text_overlay_size_summary">Ukuran teks untuk hamparan geser</string>
<string name="revanced_swipe_overlay_background_alpha_title">Visibilitas latar belakang geser</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Visibilitas latar belakang hamparan geser</string>
<string name="revanced_swipe_text_overlay_size_title">Ukuran teks hamparan usap</string>
<string name="revanced_swipe_text_overlay_size_summary">Ukuran teks untuk hamparan usap</string>
<string name="revanced_swipe_overlay_background_alpha_title">Visibilitas latar belakang usap</string>
<string name="revanced_swipe_overlay_background_alpha_summary">Visibilitas latar belakang hamparan usap</string>
<string name="revanced_swipe_threshold_title">Ambang batas magnitudo geser</string>
<string name="revanced_swipe_threshold_summary">Jumlah ambang batas untuk terjadinya geser</string>
<string name="revanced_swipe_threshold_summary">Jumlah ambang batas untuk terjadinya usapan</string>
<string name="revanced_swipe_change_video_title">Aktifkan usapan untuk beralih video</string>
<string name="revanced_swipe_change_video_summary_on">Mengusap dalam mode layar penuh akan beralih ke video berikutnya/sebelumnya</string>
<string name="revanced_swipe_change_video_summary_off">Mengusap dalam mode layar penuh tidak akan beralih ke video berikutnya/sebelumnya</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Matikan teks otomatis</string>
@@ -628,15 +631,18 @@ Catatan: Mengaktifkan ini juga akan memaksa menyembunyikan iklan video"</string>
<string name="revanced_shorts_player_screen_summary">Sembunyikan atau tampilkan komponen di pemutar Shorts</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Sembunyikan Shorts di feed beranda</string>
<string name="revanced_hide_shorts_home_summary_on">Shorts di feed beranda disembunyikan</string>
<string name="revanced_hide_shorts_home_summary_off">Shorts di feed beranda ditampilkan</string>
<string name="revanced_hide_shorts_home_summary_on">Tersembunyi di beranda dan video terkait</string>
<string name="revanced_hide_shorts_home_summary_off">Ditampilkan di beranda dan video terkait</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Sembunyikan Shorts di feed langganan</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts di feed langganan disembunyikan</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts di feed langganan ditampilkan</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Disembunyikan dalam umpan langganan</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Ditampilkan dalam umpan langganan</string>
<string name="revanced_hide_shorts_search_title">Sembunyikan Shorts di hasil pencarian</string>
<string name="revanced_hide_shorts_search_summary_on">Shorts di hasil pencarian disembunyikan</string>
<string name="revanced_hide_shorts_search_summary_off">Shorts di hasil pencarian ditampilkan</string>
<string name="revanced_hide_shorts_search_summary_on">Disembunyikan dalam hasil penelusuran</string>
<string name="revanced_hide_shorts_search_summary_off">Ditampilkan dalam hasil penelusuran</string>
<string name="revanced_hide_shorts_history_title">Sembunyikan Shorts dalam riwayat tontonan</string>
<string name="revanced_hide_shorts_history_summary_on">Disembunyikan dalam riwayat tontonan</string>
<string name="revanced_hide_shorts_history_summary_off">Ditampilkan dalam riwayat tontonan</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Sembunyikan tombol gabung</string>
<string name="revanced_hide_shorts_join_button_summary_on">Tombol gabung disembunyikan</string>
@@ -738,6 +744,13 @@ Catatan: Mengaktifkan ini juga akan memaksa menyembunyikan iklan video"</string>
<string name="revanced_hide_player_popup_panels_summary_on">Panel popup pemutar disembunyikan</string>
<string name="revanced_hide_player_popup_panels_summary_off">Panel popup pemutar ditampilkan</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Keluar dari mode layar penuh di akhir video</string>
<string name="revanced_exit_fullscreen_entry_1">Nonaktif</string>
<string name="revanced_exit_fullscreen_entry_2">Potret</string>
<string name="revanced_exit_fullscreen_entry_3">Lanskap</string>
<string name="revanced_exit_fullscreen_entry_4">Potret dan lanskap</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Buka video dalam potret layar penuh</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Video terbuka dalam layar penuh</string>
@@ -810,7 +823,7 @@ Keterbatasan: Dislike mungkin tidak muncul dalam mode penyamaran"</string>
Thumbnail seekbar akan menggunakan kualitas yang sama dengan video saat ini.
Fitur ini bekerja paling baik dengan kualitas video 720p atau lebih rendah dan saat menggunakan sambungan internet yang sangat cepat."</string>
<string name="revanced_restore_old_seekbar_thumbnails_title">Kembalikan thumbnail seekbar yang lama</string>
<string name="revanced_restore_old_seekbar_thumbnails_title">Pulihkan thumbnail seekbar yang lama</string>
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">Thumbnail seekbar akan muncul di atas seekbar</string>
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">Thumbnail seekbar akan muncul di layar penuh</string>
</patch>
@@ -1005,6 +1018,23 @@ Siap mengirim?"</string>
<string name="revanced_sb_reset">Setel ulang</string>
<string name="revanced_sb_about">Tentang</string>
<string name="revanced_sb_about_api_sum">Data disediakan oleh API SponsorBlock. Tekan di sini untuk mempelajari lebih lanjut dan melihat hasil pengunduhan untuk platform lain</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Faktor bentuk tata letak</string>
<string name="revanced_change_form_factor_entry_1">Bawaan</string>
<string name="revanced_change_form_factor_entry_2">Ponsel</string>
<string name="revanced_change_form_factor_entry_3">Tablet</string>
<string name="revanced_change_form_factor_entry_4">Otomotif</string>
<string name="revanced_change_form_factor_user_dialog_message">"Perubahan meliputi:
Tata letak Tablet
• Postingan Komunitas disembunyikan
Tata letak Otomotif
• Menu riwayat tontonan disembunyikan
• Tab Jelajahi dipulihkan
• Shorts terbuka di pemutar reguler
• Umpan diatur menurut topik dan saluran"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Palsukan versi app</string>
@@ -1019,6 +1049,7 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Target versi app yang dipalsukan</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Pulihkan ikon pemutar Shorts lama</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Pulihkan ikon navigasi dan bilah alat lama</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Pulihkan RYD pada mode penyamaran Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Pulihkan menu kecepatan &amp; kualitas video lebar</string>
@@ -1062,12 +1093,6 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
<string name="revanced_shorts_autoplay_background_summary_on">Pemutaran latar belakang Shorts akan diputar otomatis</string>
<string name="revanced_shorts_autoplay_background_summary_off">Pemutaran latar belakang Shorts akan diulangi</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Aktifkan tata letak tablet</string>
<string name="revanced_tablet_layout_summary_on">Tata letak tablet diaktifkan</string>
<string name="revanced_tablet_layout_summary_off">Tata letak tablet dinonaktifkan</string>
<string name="revanced_tablet_layout_user_dialog_message">Postingan komunitas tidak muncul pada tata letak tablet</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Pemutar Mini</string>
<string name="revanced_miniplayer_screen_summary">Mengubah gaya pemutar aplikasi saat diciuitkan</string>
@@ -1104,7 +1129,7 @@ Miniplayer dapat diseret keluar layar ke kiri atau kanan"</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_title">Sembunyikan perbesar dan tutup</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">"Tombol disembunyikan
Geser untuk memperluas atau menutup"</string>
Usap untuk memperluas atau menutup"</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">Tombol bentang dan tutup ditampilkan</string>
<string name="revanced_miniplayer_hide_subtext_title">Sembunyikan subteks</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Subteks disembunyikan</string>
@@ -1197,7 +1222,7 @@ Ketuk di sini untuk mempelajari lebih lanjut tentang DeArrow"</string>
<string name="revanced_spoof_device_dimensions_title">Palsukan dimensi perangkat</string>
<string name="revanced_spoof_device_dimensions_summary_on">"Dimensi perangkat dipalsukan
Kualitas video yang lebih tinggi mungkin tidak terkunci, tetapi Anda mungkin mengalami masalah playback video, masa pakai baterai yang lebih buruk, dan efek samping yang tidak diketahui"</string>
Kualitas video yang lebih tinggi mungkin tidak terkunci, tetapi Anda mungkin mengalami masalah pemutaran video, masa pakai baterai yang lebih buruk, dan efek samping yang tidak diketahui"</string>
<string name="revanced_spoof_device_dimensions_summary_off">"Dimensi perangkat tidak dipalsukan
Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
@@ -1231,6 +1256,7 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
<string name="revanced_force_original_audio_title">Paksa audio asli</string>
<string name="revanced_force_original_audio_summary_on">Menggunakan audio asli</string>
<string name="revanced_force_original_audio_summary_off">Menggunakan audio bawaan</string>
<string name="revanced_force_original_audio_not_available">Untuk menggunakan fitur ini, ubah pemalsuan aliran ke jenis klien iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1253,10 +1279,10 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
<string name="revanced_custom_speed_menu_title">Menu kecepatan pemutaran khusus</string>
<string name="revanced_custom_speed_menu_summary_on">Menu kecepatan khusus ditampilkan</string>
<string name="revanced_custom_speed_menu_summary_off">Menu kecepatan khusus tidak ditampilkan</string>
<string name="revanced_custom_playback_speeds_title">Kecepatan putar khusus</string>
<string name="revanced_custom_playback_speeds_title">Kecepatan pemutaran khusus</string>
<string name="revanced_custom_playback_speeds_summary">Tambah atau ubah kecepatan pemutaran khusus</string>
<string name="revanced_custom_playback_speeds_invalid">Kecepatan kustom harus kurang dari %s</string>
<string name="revanced_custom_playback_speeds_parse_exception">Kecepatan playback kustom tidak valid</string>
<string name="revanced_custom_playback_speeds_invalid">Kecepatan khusus harus kurang dari %s</string>
<string name="revanced_custom_playback_speeds_parse_exception">Kecepatan pemutaran khusus tidak valid</string>
<string name="revanced_custom_playback_speeds_auto">Otomatis</string>
</patch>
<patch id="video.speed.remember.rememberPlaybackSpeedPatch">
@@ -1283,15 +1309,29 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
<string name="revanced_spoof_video_streams_summary_on">Aliran video dipalsukan</string>
<string name="revanced_spoof_video_streams_summary_off">"Streaming video tidak dipalsukan
Playback video mungkin tidak berfungsi"</string>
Pemutaran video mungkin tidak berfungsi"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Mematikan pengaturan ini dapat menyebabkan masalah pemutaran video.</string>
<string name="revanced_spoof_video_streams_client_type_title">Klien bawaan</string>
<string name="revanced_spoof_video_streams_about_title">Efek Samping Pemalsuan</string>
<string name="revanced_spoof_video_streams_about_summary">"• Video anak-anak mungkin tidak dapat diputar
• Menu trek audio tidak ada
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (tanpa otentikasi)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Paksa iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Codec video dipaksa menjadi AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Codec video ditentukan secara otomatis</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Mengaktifkan ini mungkin dapat meningkatkan daya tahan baterai dan memperbaiki masalah pemutaran.
AVC memiliki resolusi maksimum 1080p, codec audio Opus tidak tersedia, dan pemutaran video akan menggunakan lebih banyak data internet daripada VP9 atau AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Efek samping pemalsuan iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Film atau video berbayar mungkin tidak dapat diputar
• Volume stabil tidak tersedia
• Video berakhir 1 detik lebih awal"</string>
<string name="revanced_spoof_video_streams_about_android_title">Efek samping pemalsuan Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Menu trek audio tidak ada
• Volume stabil tidak tersedia
• Paksa audio asli tidak tersedia"</string>
<string name="revanced_spoof_video_streams_language_title">Bahasa aliran audio bawaan</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Tampilkan di Statistik untuk nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Jenis klien ditampilkan di Statistik untuk nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Klien disembunyikan di Statistik untuk nerds</string>
<string name="revanced_spoof_video_streams_language_title">Bahasa aliran audio bawaan VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Bahasa aplikasi</string>
<string name="revanced_spoof_video_streams_language_AR">Arab</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaijan</string>
@@ -1328,8 +1368,7 @@ Playback video mungkin tidak berfungsi"</string>
<string name="revanced_spoof_video_streams_language_OR">Oriya</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polandia</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugis (Brasil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugis (Portugal)</string>
<string name="revanced_spoof_video_streams_language_PT">Portugis</string>
<string name="revanced_spoof_video_streams_language_RO">Rumania</string>
<string name="revanced_spoof_video_streams_language_RU">Rusia</string>
<string name="revanced_spoof_video_streams_language_SK">Slovakia</string>

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -445,6 +445,9 @@ Questa funzione è disponibile solo per i dispositivi più vecchi"</string>
<string name="revanced_swipe_overlay_background_alpha_summary">La visibilità dello sfondo in sovrapposizione durante lo scorrimento</string>
<string name="revanced_swipe_threshold_title">Ampiezza limite della soglia di scorrimento</string>
<string name="revanced_swipe_threshold_summary">Il limite di ampiezza entro cui deve avvenire lo scorrimento</string>
<string name="revanced_swipe_change_video_title">Attiva il gesto per cambiare video</string>
<string name="revanced_swipe_change_video_summary_on">Lo scorrimento in modalità a schermo intero passerà al video successivo/precedente</string>
<string name="revanced_swipe_change_video_summary_off">Lo scorrimento in modalità schermo intero non cambierà al video successivo/precedente</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">Disabilita i sottotitoli automatici </string>
@@ -628,15 +631,18 @@ Nota: Abilitare questa opzione nasconde anche le pubblicità video"</string>
<string name="revanced_shorts_player_screen_summary">Mostra o nascondi i componenti nel player Shorts</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Nascondi Shorts nella scheda Home</string>
<string name="revanced_hide_shorts_home_summary_on">Gli Shorts nella schermata Home sono nascosti</string>
<string name="revanced_hide_shorts_home_summary_off">Gli Shorts nella schermata Home sono visibili</string>
<string name="revanced_hide_shorts_home_summary_on">Nascosto nella scheda Home e nei video correlati</string>
<string name="revanced_hide_shorts_home_summary_off">Visibile nella scheda Home e nei video correlati</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">Nascondi gli Shorts nella scheda Iscrizioni</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Gli Shorts della schermata Iscrizioni sono nascosti</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Gli Shorts nella schermata Iscrizioni sono visibili</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Nascosti nel feed delle mie iscrizioni</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">Mostrati nel feed delle mie iscrizioni</string>
<string name="revanced_hide_shorts_search_title">Nascondi gli Shorts dei risultati di ricerca</string>
<string name="revanced_hide_shorts_search_summary_on">Gli Shorts nei risultati di ricerca sono nascosti</string>
<string name="revanced_hide_shorts_search_summary_off">Vengono visualizzati gli Shorts nei risultati di ricerca</string>
<string name="revanced_hide_shorts_search_summary_on">Nascosti nei risultati di ricerca</string>
<string name="revanced_hide_shorts_search_summary_off">Mostrati nei risultati di ricerca</string>
<string name="revanced_hide_shorts_history_title">Nascondi Shorts nella cronologia</string>
<string name="revanced_hide_shorts_history_summary_on">Nascosti nella cronologia di visualizzazione</string>
<string name="revanced_hide_shorts_history_summary_off">Mostrato nella cronologia</string>
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
<string name="revanced_hide_shorts_join_button_title">Nascondi il pulsante Abbonati</string>
<string name="revanced_hide_shorts_join_button_summary_on">Il pulsante Abbonati è nascosto</string>
@@ -738,6 +744,13 @@ Nota: Abilitare questa opzione nasconde anche le pubblicità video"</string>
<string name="revanced_hide_player_popup_panels_summary_on">I pannelli popup del player sono nascosti</string>
<string name="revanced_hide_player_popup_panels_summary_off">I pannelli popup del player sono visibili</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Esci dalla modalità schermo intero al termine del video</string>
<string name="revanced_exit_fullscreen_entry_1">Disabilitato</string>
<string name="revanced_exit_fullscreen_entry_2">Verticale</string>
<string name="revanced_exit_fullscreen_entry_3">Orizzontale</string>
<string name="revanced_exit_fullscreen_entry_4">Verticale e orizzontale</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Apri i video in verticale a schermo intero</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">I video vengono aperti a schermo intero</string>
@@ -1005,6 +1018,23 @@ Pronto per l'invio?"</string>
<string name="revanced_sb_reset">Reimposta</string>
<string name="revanced_sb_about">Informazioni</string>
<string name="revanced_sb_about_api_sum">I dati sono forniti dall\'API di SponsorBlock. Tocca qui per saperne di più e vedere i download per altre piattaforme</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Fattore di forma del layout</string>
<string name="revanced_change_form_factor_entry_1">Predefinito</string>
<string name="revanced_change_form_factor_entry_2">Telefono</string>
<string name="revanced_change_form_factor_entry_3">Tablet</string>
<string name="revanced_change_form_factor_entry_4">Automotive</string>
<string name="revanced_change_form_factor_user_dialog_message">"Le modifiche includono:
Layout tablet
• I post della community sono nascosti
Layout automotive
• Il menu della cronologia è nascosto
• La scheda Esplora è ripristinata
• Gli Shorts si aprono nel lettore normale
• Il feed è organizzato per argomenti e canali"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">Simula la versione dell\'app</string>
@@ -1019,6 +1049,7 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Target della versione dell\'app desiderata</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Ripristinare le vecchie icone del player Shorts</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - Ripristina le vecchie icone di navigazione e barra degli strumenti</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Ripristina RYD negli Shorts in modalità incognito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Ripristina velocità video larga &amp; menu qualità</string>
@@ -1062,12 +1093,6 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
<string name="revanced_shorts_autoplay_background_summary_on">Gli Short in background verranno riprodotti automaticamente</string>
<string name="revanced_shorts_autoplay_background_summary_off">Gli Short in background si ripeteranno</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">Attiva l\'interfaccia da tablet</string>
<string name="revanced_tablet_layout_summary_on">Il layout da tablet è abilitato</string>
<string name="revanced_tablet_layout_summary_off">Il layout del tablet è disabilitato</string>
<string name="revanced_tablet_layout_user_dialog_message">I post della comunità non vengono visualizzati sui layout dei tablet</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Miniplayer</string>
<string name="revanced_miniplayer_screen_summary">Cambia lo stile del miniplayer nell\'app</string>
@@ -1231,6 +1256,7 @@ Abilitare questa opzione può sbloccare qualità video più elevate"</string>
<string name="revanced_force_original_audio_title">Forza l\'audio originale</string>
<string name="revanced_force_original_audio_summary_on">Utilizzo audio originale</string>
<string name="revanced_force_original_audio_summary_off">Utilizzo audio predefinito</string>
<string name="revanced_force_original_audio_not_available">Per utilizzare questa funzione, cambia la simulazione dello stream nel tipo di client iOS</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1286,13 +1312,27 @@ Abilitare questa opzione può sbloccare qualità video più elevate"</string>
La riproduzione video potrebbe non funzionare"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Disattivando questa impostazione potrebbe causare problemi di riproduzione video.</string>
<string name="revanced_spoof_video_streams_client_type_title">Client predefinito</string>
<string name="revanced_spoof_video_streams_about_title">Effetti collaterali della simulazione</string>
<string name="revanced_spoof_video_streams_about_summary">"• I video per bambini potrebbero non essere riprodotti
• Manca il menu della traccia audio
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (nessuna autenticazione)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forza iOS AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Il codec video è forzato ad AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Il codec video è determinato automaticamente</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"L'abilitazione di questa opzione potrebbe migliorare la durata della batteria e risolvere i problemi di stuttering durante la riproduzione.
AVC ha una risoluzione massima di 1080p, il codec audio Opus non è disponibile e la riproduzione video utilizzerà più dati Internet rispetto a VP9 o AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Effetti collaterali simulazione iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• I film o i video a pagamento potrebbero non riprodurre
• Il volume stabile non è disponibile
• I video terminano 1 secondo prima"</string>
<string name="revanced_spoof_video_streams_about_android_title">Effetti collaterali simulazione Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Il menu traccia audio è mancante
• Il volume stabile non è disponibile
• Forza l'audio originale non è disponibile"</string>
<string name="revanced_spoof_video_streams_language_title">Lingua predefinita del flusso audio</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Lingua app</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Mostra nelle statistiche per nerd</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Il tipo di client è mostrato nelle statistiche per nerd</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Il client è nascosto nelle statistiche per nerd</string>
<string name="revanced_spoof_video_streams_language_title">Lingua predefinita del flusso audio VR</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Lingua dell\'app</string>
<string name="revanced_spoof_video_streams_language_AR">Arabo</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaigiano</string>
<string name="revanced_spoof_video_streams_language_BG">Bulgaro</string>
@@ -1328,8 +1368,7 @@ La riproduzione video potrebbe non funzionare"</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polacco</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portoghese (Brasile)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portoghese (Portogallo)</string>
<string name="revanced_spoof_video_streams_language_PT">Portoghese</string>
<string name="revanced_spoof_video_streams_language_RO">Rumeno</string>
<string name="revanced_spoof_video_streams_language_RU">Russo</string>
<string name="revanced_spoof_video_streams_language_SK">Slovacco</string>

View File

@@ -279,6 +279,8 @@ Mלות עם אותיות גדולות באמצע צריכות להיכנס עם
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -384,6 +386,8 @@ Mלות עם אותיות גדולות באמצע צריכות להיכנס עם
<string name="revanced_sb_reset">איפוס</string>
<string name="revanced_sb_about">אודות</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_user_dialog_message">"גרסת האפליקציה תזויף לגרסה ישנה יותר של YouTube.
@@ -403,8 +407,6 @@ Mלות עם אותיות גדולות באמצע צריכות להיכנס עם
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">הושבת</string>
<string name="revanced_miniplayer_type_entry_1">ברירת מחדל</string>
@@ -491,6 +493,7 @@ Mלות עם אותיות גדולות באמצע צריכות להיכנס עם
<string name="revanced_spoof_video_streams_summary_off">"זרמי וידאו לא מזויפים
ייתכן שהשמעת וידאו לא תעבוד"</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_language_EN">אנגלית</string>
<string name="revanced_spoof_video_streams_language_FR">צרפתית</string>
</patch>

View File

@@ -444,6 +444,9 @@ MicroG のバッテリー最適化を無効にしても、バッテリーの使
<string name="revanced_swipe_overlay_background_alpha_summary">オーバーレイの背景をスワイプ表示する</string>
<string name="revanced_swipe_threshold_title">スワイプの大きさのしきい値</string>
<string name="revanced_swipe_threshold_summary">スワイプとして検出する量のしきい値</string>
<string name="revanced_swipe_change_video_title">スワイプして動画を変更する</string>
<string name="revanced_swipe_change_video_summary_on">全画面モードでスワイプすると、次の/前の動画に切り替わります</string>
<string name="revanced_swipe_change_video_summary_off">全画面モードでスワイプしても、次の/前の動画には切り替わりません</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">自動字幕を無効にする</string>
@@ -627,15 +630,18 @@ MicroG のバッテリー最適化を無効にしても、バッテリーの使
<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>
<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">ハリーバーを計算・フィードブラックスのミーティブラートに非表する</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts 在订阅源中隐藏</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">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">在搜索结果中隐藏 Shorts</string>
<string name="revanced_hide_shorts_search_summary_off">在搜索结果中显示 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">参加ボタンを隠す</string>
<string name="revanced_hide_shorts_join_button_summary_on">結合ボタンは非表示です</string>
@@ -737,6 +743,13 @@ MicroG のバッテリー最適化を無効にしても、バッテリーの使
<string name="revanced_hide_player_popup_panels_summary_on">プレーヤーのポップアップパネルが非表示になります</string>
<string name="revanced_hide_player_popup_panels_summary_off">プレーヤーのポップアップパネルが表示されます</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">ビデオの最後に全画面表示モードを終了する</string>
<string name="revanced_exit_fullscreen_entry_1">無効</string>
<string name="revanced_exit_fullscreen_entry_2">ポートレート</string>
<string name="revanced_exit_fullscreen_entry_3">風景</string>
<string name="revanced_exit_fullscreen_entry_4">ポートレートと風景</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">全画面表示で動画を開く</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">動画を全画面表示で開く</string>
@@ -1007,6 +1020,23 @@ MicroG のバッテリー最適化を無効にしても、バッテリーの使
<string name="revanced_sb_reset">リセット</string>
<string name="revanced_sb_about">このアプリについて</string>
<string name="revanced_sb_about_api_sum">SponsorBlock APIによって提供されるデータです。詳細はこちらをタップしてください。</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">レイアウトフォームファクター</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">"変更内容:
タブレットレイアウト
• コミュニティ投稿は非表示
自動車レイアウト
• 視聴履歴メニューを非表示
• 「閲覧」タブを復元
• Shorts は通常のプレーヤーで開きます
• フィードはトピックとチャンネル別に整理"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">アプリのバージョンを偽装する</string>
@@ -1021,6 +1051,7 @@ MicroG のバッテリー最適化を無効にしても、バッテリーの使
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">アプリバージョンのターゲットを偽装する</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - 旧バージョンの Shorts プレイヤーのアイコンを復元します</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - 古いナビゲーションとツールバーのアイコンを復元</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - シークレットモード使用時のShortsのRYDを復元</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - ワイドビデオスピード &amp; クオリティメニューを復元</string>
@@ -1064,12 +1095,6 @@ MicroG のバッテリー最適化を無効にしても、バッテリーの使
<string name="revanced_shorts_autoplay_background_summary_on">ショート動画の自動再生 (バックグラウンド) を有効にします</string>
<string name="revanced_shorts_autoplay_background_summary_off">ショート動画をバックグラウンド再生を繰り返しにします</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">タブレットのレイアウトを有効にする</string>
<string name="revanced_tablet_layout_summary_on">タブレットのレイアウトは有効です</string>
<string name="revanced_tablet_layout_summary_off">タブレットのレイアウトは無効です</string>
<string name="revanced_tablet_layout_user_dialog_message">タブレットのレイアウトではコミュニティ投稿は表示されません</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">ミニプレイヤー</string>
<string name="revanced_miniplayer_screen_summary">アプリの最小化プレイヤーのスタイルを変更する</string>
@@ -1233,6 +1258,7 @@ DeArrowの詳細については、ここをタップしてください。"</stri
<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>
<string name="revanced_force_original_audio_not_available">この機能を使用するには、ストリームスポーフィングをiOSクライアントタイプに変更してください</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
@@ -1288,12 +1314,24 @@ DeArrowの詳細については、ここをタップしてください。"</stri
動画再生が機能しない可能性があります"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">この設定をオフにすると、ビデオ再生の問題が発生する可能性があります。</string>
<string name="revanced_spoof_video_streams_client_type_title">デフォルトのクライアント</string>
<string name="revanced_spoof_video_streams_about_title">クライアントを偽装することによる副作用</string>
<string name="revanced_spoof_video_streams_about_summary">"• 子供向けビデオは再生できない場合があります
• オーディオトラックメニューがありません
• 安定したボリュームが利用できない
• 強制的にオリジナルのオーディオを使用することはできません"</string>
<string name="revanced_spoof_video_streams_language_title">デフォルトのオーディオストリーム言語</string>
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR認証なし</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">iOS AVC (H.264) を強制する</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">ビデオコーデックは AVC (H.264) に強制されています。</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">ビデオコーデックは自動的に決定されます。</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"有効にすると、バッテリー寿命が延び、再生の途切れが改善される可能性があります。
AVC の最大解像度は 1080p であり、Opus オーディオコーデックは使用できず、ビデオの再生は VP9 や AV1 より多くのインターネットデータを使用します。"</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS スプーフィングの副作用</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• 映画や有料動画が再生されない場合があります&lt;br&gt;• 安定した音量が利用できません&lt;br&gt;• 動画が1秒早く終了します"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android スプーフィングの副作用</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• オーディオトラックメニューがありません
• 安定した音量は使用できません
• 強制的なオリジナル音声は使用できません"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">統計情報(詳細)</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">クライアントの種類は統計情報(詳細)に表示されます</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">クライアントは統計情報(詳細)に表示されません</string>
<string name="revanced_spoof_video_streams_language_title">VRデフォルトオーディオストリーム言語</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">アプリの言語</string>
<string name="revanced_spoof_video_streams_language_AR">アラビア文字</string>
<string name="revanced_spoof_video_streams_language_AZ">アゼルバイジャン語</string>
@@ -1330,8 +1368,7 @@ DeArrowの詳細については、ここをタップしてください。"</stri
<string name="revanced_spoof_video_streams_language_OR">オリヤー語</string>
<string name="revanced_spoof_video_streams_language_PA">パンジャービー語</string>
<string name="revanced_spoof_video_streams_language_PL">ポーランド語</string>
<string name="revanced_spoof_video_streams_language_PT_BR">ポルトガル語 (ブラジル)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">ポルトガル語 (ポルトガル)</string>
<string name="revanced_spoof_video_streams_language_PT">ポルトガル語</string>
<string name="revanced_spoof_video_streams_language_RO">ルーマニア語</string>
<string name="revanced_spoof_video_streams_language_RU">ロシア語</string>
<string name="revanced_spoof_video_streams_language_SK">スロバキア語</string>

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

View File

@@ -63,11 +63,11 @@ Second \"item\" text"</string>
앱이 실행하려면 이 과정이 필요합니다"</string>
<string name="gms_core_dialog_open_website_text">웹사이트 열기</string>
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"MicroG GmsCore 배터리 최적화 목록에서 제외하여 앱 문제를 방지할 수 있습니다
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"MicroG GmsCore 배터리 최적화를 비활성화(제한 없음)하여 앱 문제를 방지할 수 있습니다.
MicroG 배터리 최적화 목록에서 제외하더라도, 배터리 사용량에 부정적인 영향을 미치지 않습니다
MicroG 배터리 최적화를 비활성화(제한 없음)하더라도, 배터리 사용량에 부정적인 영향을 미치지 않습니다.
배터리 최적화 목록에서 제외하려면 '계속하기' 버튼을 누르세요"</string>
배터리 최적화를 비활성화(제한 없음)하려면 '계속하기' 버튼을 누르세요."</string>
<string name="gms_core_dialog_continue_text">계속하기</string>
</patch>
</app>
@@ -449,6 +449,9 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
<string name="revanced_swipe_overlay_background_alpha_summary">오버레이 투명도 값을 지정할 수 있습니다 (0255)</string>
<string name="revanced_swipe_threshold_title">스와이프 한계치</string>
<string name="revanced_swipe_threshold_summary">제스처 인식을 위해 얼마나 스와이프를 해야 할지를 지정할 수 있으며, 원하지 않은 제스처 인식을 방지할 수 있습니다</string>
<string name="revanced_swipe_change_video_title">스와이프 제스처로 동영상 전환 활성화하기</string>
<string name="revanced_swipe_change_video_summary_on">스와이프 제스처로 다음/이전 동영상으로 전환합니다</string>
<string name="revanced_swipe_change_video_summary_off">스와이프 제스처로 다음/이전 동영상으로 전환하지 않습니다</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_auto_captions_title">자동 자막 비활성화하기</string>
@@ -632,9 +635,9 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
<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">홈 피드에서 Shorts 선반이 숨겨집니다</string>
<string name="revanced_hide_shorts_home_summary_off">홈 피드에서 Shorts 선반이 표시됩니다</string>
<string name="revanced_hide_shorts_home_title">홈 피드 및 관련 동영상에서 Shorts 선반 숨기기</string>
<string name="revanced_hide_shorts_home_summary_on">홈 피드 및 관련 동영상에서 Shorts 선반이 숨겨집니다</string>
<string name="revanced_hide_shorts_home_summary_off">홈 피드 및 관련 동영상에서 Shorts 선반이 표시됩니다</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">구독 피드에서 Shorts 선반이 숨겨집니다</string>
@@ -642,6 +645,9 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
<string name="revanced_hide_shorts_search_title">검색 결과에서 Shorts 선반 숨기기</string>
<string name="revanced_hide_shorts_search_summary_on">검색 결과에서 Shorts 선반이 숨겨집니다</string>
<string name="revanced_hide_shorts_search_summary_off">검색 결과에서 Shorts 선반이 표시됩니다</string>
<string name="revanced_hide_shorts_history_title">시청 기록에서 Shorts 숨기기</string>
<string name="revanced_hide_shorts_history_summary_on">시청 기록에서 Shorts가 숨겨집니다</string>
<string name="revanced_hide_shorts_history_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>
@@ -743,6 +749,13 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
<string name="revanced_hide_player_popup_panels_summary_on">플레이어 팝업 패널이 숨겨집니다\n• 재생목록, 실시간 채팅, etc.</string>
<string name="revanced_hide_player_popup_panels_summary_off">플레이어 팝업 패널이 표시됩니다\n• 재생목록, 실시간 채팅, etc.</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">동영상이 종료할 때, 전체 화면에서 나가기</string>
<string name="revanced_exit_fullscreen_entry_1">사용안함</string>
<string name="revanced_exit_fullscreen_entry_2">세로모드</string>
<string name="revanced_exit_fullscreen_entry_3">가로모드</string>
<string name="revanced_exit_fullscreen_entry_4">세로 및 가로모드</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">동영상을 전체 화면 세로 모드로 열기</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">동영상을 전체 화면으로 엽니다</string>
@@ -767,7 +780,8 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
<string name="revanced_ryd_shorts_summary_on">Shorts에서 싫어요 수를 표시합니다</string>
<string name="revanced_ryd_shorts_summary_on_disclaimer">"Shorts에서 싫어요 수를 표시합니다
알려진 문제점: 사용자가 로그인을 하지 않았거나 시크릿 모드에서는 싫어요 수가 표시되지 않을 수 있습니다"</string>
알려진 문제점:
• 사용자가 로그인을 하지 않았거나 시크릿 모드에서는 싫어요 수가 표시되지 않을 수 있습니다"</string>
<string name="revanced_ryd_shorts_summary_off">Shorts에서 싫어요 수를 표시하지 않습니다</string>
<string name="revanced_ryd_dislike_percentage_title">싫어요 수를 퍼센트로 표시하기</string>
<string name="revanced_ryd_dislike_percentage_summary_on">싫어요 수를 퍼센트로 표시합니다</string>
@@ -1010,6 +1024,23 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
<string name="revanced_sb_reset">초기화</string>
<string name="revanced_sb_about">정보</string>
<string name="revanced_sb_about_api_sum">건너뛸 구간의 데이터는 SponsorBlock API에 의해 제공됩니다. 자세한 내용을 보려면 여기를 누르세요</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">레이아웃 폼 팩터 변경하기</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">"변경 사항:
태블릿 레이아웃
• 커뮤니티 게시물이 숨겨집니다
자동차 레이아웃
• 시청 기록 메뉴가 숨겨집니다
• 탐색 탭이 복원됩니다
• Shorts가 일반 플레이어에서 재생됩니다
• 피드가 주제와 채널별로 구성됩니다"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">앱 버전 변경하기</string>
@@ -1024,6 +1055,7 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">변경할 앱 버전</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - 이전 Shorts 플레이어 아이콘을 복원합니다</string>
<string name="revanced_spoof_app_version_target_entry_2">19.26.42 - 이전 하단바 및 툴바를 복원합니다</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - 시크릿 모드에서 Shorts RYD를 복원합니다</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - 넓은 동영상 재생 속도 &amp; 화질 메뉴를 복원합니다</string>
@@ -1067,17 +1099,11 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
<string name="revanced_shorts_autoplay_background_summary_on">Shorts 동영상 백그라운드 재생이 자동넘김됩니다</string>
<string name="revanced_shorts_autoplay_background_summary_off">Shorts 동영상 백그라운드 재생이 반복재생됩니다</string>
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
<string name="revanced_tablet_layout_title">태블릿 레이아웃 활성화하기</string>
<string name="revanced_tablet_layout_summary_on">일부 레이아웃을 태블릿 레이아웃으로 활성화합니다</string>
<string name="revanced_tablet_layout_summary_off">일부 레이아웃을 태블릿 레이아웃으로 활성화하지 않습니다</string>
<string name="revanced_tablet_layout_user_dialog_message">태블릿 레이아웃에서는 커뮤니티 게시물을 표시되지 않습니다</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">미니 플레이어</string>
<string name="revanced_miniplayer_screen_summary">앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다</string>
<string name="revanced_miniplayer_type_title">미니 플레이어 유형</string>
<string name="revanced_miniplayer_type_entry_0">사용하지 않음</string>
<string name="revanced_miniplayer_type_entry_0">사용 안함</string>
<string name="revanced_miniplayer_type_entry_1">기본값</string>
<string name="revanced_miniplayer_type_entry_2">최소화</string>
<string name="revanced_miniplayer_type_entry_3">태블릿</string>
@@ -1104,13 +1130,15 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
• 미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다"</string>
<string name="revanced_miniplayer_horizontal_drag_summary_off">수평 드래그 제스처를 비활성화합니다</string>
<string name="revanced_miniplayer_hide_expand_close_title">\'닫기\' 버튼 숨기기</string>
<string name="revanced_miniplayer_hide_expand_close_summary_on">\'닫기\' 버튼이 숨겨집니다</string>
<string name="revanced_miniplayer_hide_expand_close_summary_off">\'닫기\' 버튼이 표시됩니다</string>
<string name="revanced_miniplayer_hide_expand_close_summary_on">\'닫기\' 버튼이 숨겨집니다\n\n• YouTube v19.24.xx까지 모던 스타일 1, 3에서 \'펼치기 &amp; 닫기 버튼 숨기기\' 기능이 작동됩니다\n• YouTube v19.34.xx부터 모던 스타일 3에서만 \'닫기 버튼 숨기기\' 기능이 작동됩니다</string>
<string name="revanced_miniplayer_hide_expand_close_summary_off">\'닫기\' 버튼이 표시됩니다\n\n• YouTube v19.24.xx까지 모던 스타일 1, 3에서 \'펼치기 &amp; 닫기 버튼 숨기기\' 기능이 작동됩니다\n• YouTube v19.34.xx부터 모던 스타일 3에서만 \'닫기 버튼 숨기기\' 기능이 작동됩니다</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_title">\'펼치기\' &amp; \'닫기\' 버튼 숨기기</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">"'펼치기' &amp; '닫기' 버튼이 숨겨집니다
• YouTube v19.24.xx까지 모던 스타일 1, 3에서 '펼치기 &amp; 닫기 버튼 숨기기' 기능이 작동됩니다
• YouTube v19.34.xx부터 모던 스타일 3에서만 '닫기 버튼 숨기기' 기능이 작동됩니다
• 미니 플레이어를 스와이프하여 펼치거나 닫을 수 있습니다"</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">\'펼치기\' &amp; \'닫기\' 버튼이 표시됩니다</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">\'펼치기\' &amp; \'닫기\' 버튼이 표시됩니다\n\n• YouTube v19.24.xx까지 모던 스타일 1, 3에서 \'펼치기 &amp; 닫기 버튼 숨기기\' 기능이 작동됩니다\n• YouTube v19.34.xx부터 모던 스타일 3에서만 \'닫기 버튼 숨기기\' 기능이 작동됩니다</string>
<string name="revanced_miniplayer_hide_subtext_title">서브텍스트 숨기기</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">서브텍스트가 숨겨집니다\n\n• 왼쪽 하단에서 표시되는 \'유료 광고 포함\'과 같은 라벨</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">서브텍스트가 표시됩니다\n\n• 왼쪽 하단에서 표시되는 \'유료 광고 포함\'과 같은 라벨</string>
@@ -1236,6 +1264,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</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>
<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 -->
@@ -1290,12 +1319,26 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
동영상 재생 문제가 발생할 수 있습니다"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다</string>
<string name="revanced_spoof_video_streams_client_type_title">기본 클라이언트</string>
<string name="revanced_spoof_video_streams_about_title">변경에 따른 알려진 문제점</string>
<string name="revanced_spoof_video_streams_about_summary">"• Kids 동영상이 재생되지 않을 수 있습니다
• 오디오 트랙 메뉴가 표시되지 않습니다
<!-- 'no auth' means no authentication -->
<string name="revanced_spoof_video_streams_client_type_android_vr_no_auth">Android VR (미인증)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">iOS AVC (H.264) 강제로 활성화하기</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">동영상 코덱을 AVC (H.264)로 강제로 활성화합니다\n\n• 일부 VP9 코덱 동영상에서 제거되었던 화질 값이 표시될 수 있습니다\n• 최대 화질 값이 1080p이므로, 초고화질 동영상을 재생할 수 없습니다\n• HDR 동영상을 재생할 수 없습니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">동영상 코덱을 자동으로 결정합니다\n\n• 예전에 업로드된 동영상을 재생했는데 VP9 코덱 응답을 받았을 경우, 일부 화질값이 제거되어 360p와 1080p(Premium 기능)만 선택가능할 수 있거나 화질 메뉴를 선택불가능할 수 있습니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"이 설정를 활성화하면 배터리 수명이 향상되고, 동영상 재생 끊김 문제가 해결될 수 있습니다
AVC의 최대 화질 값은 1080p이고, OPUS 코덱을 사용불가 및 HDR 동영상을 재생할 수 없으며, 동영상을 재생했을 경우에는 VP9 또는 AV1보다 더 많은 모바일 데이터를 사용되오니 주의하세요"</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS TV로 변경에 따른 문제점</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• 영화 또는 유료 동영상이 재생되지 않을 수 있습니다.
• 안정적인 볼륨을 사용할 수 없습니다
원본 오디오 트랙을 강제로 활성화할습니다"</string>
<string name="revanced_spoof_video_streams_language_title">기본 오디오 트랙 언어</string>
동영상이 1초 일찍 종료될습니다"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android 계열로 변경에 따른 문제점</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• 오디오 트랙 메뉴가 표시되지 않습니다
• 안정적인 볼륨을 사용할 수 없습니다
• 원본 오디오 트랙를 강제로 활성화할 수 없습니다."</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">통계에서 표시하기</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">전문 통계에서 기본 클라이언트가 표시됩니다</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">전문 통계에서 기본 클라이언트가 표시되지 않습니다</string>
<string name="revanced_spoof_video_streams_language_title">Android VR 기본 오디오 스트림 언어</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">앱 언어</string>
<string name="revanced_spoof_video_streams_language_AR">아랍어</string>
<string name="revanced_spoof_video_streams_language_AZ">아제르바니잔어</string>
@@ -1332,8 +1375,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
<string name="revanced_spoof_video_streams_language_OR">오리야어</string>
<string name="revanced_spoof_video_streams_language_PA">펀잡어</string>
<string name="revanced_spoof_video_streams_language_PL">폴란드어</string>
<string name="revanced_spoof_video_streams_language_PT_BR">포르투갈어 (브라질)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">포르투갈어 (포르트갈)</string>
<string name="revanced_spoof_video_streams_language_PT">포르투갈어</string>
<string name="revanced_spoof_video_streams_language_RO">루마니아어</string>
<string name="revanced_spoof_video_streams_language_RU">러시아어</string>
<string name="revanced_spoof_video_streams_language_SK">슬로바키아어</string>
@@ -1361,7 +1403,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
<string name="revanced_embedded_ads_service_unavailable">%s 를 차단할 수 없기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
<string name="revanced_embedded_ads_service_failed">%s 에서 오류가 발생했기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
<string name="revanced_block_embedded_ads_title">광고 차단 Proxy 서버 사용하기</string>
<string name="revanced_block_embedded_ads_entry_1">사용하지 않음</string>
<string name="revanced_block_embedded_ads_entry_1">사용 안함</string>
<string name="revanced_block_embedded_ads_entry_2">Luminous Proxy</string>
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock Proxy</string>
</patch>

View File

@@ -136,6 +136,8 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -155,6 +157,8 @@ 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. -->
<!-- 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 -->
@@ -168,8 +172,6 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
</patch>
<patch id="layout.tablet.enableTabletLayoutPatch">
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
</patch>
<patch id="layout.theme.themePatch">
@@ -218,6 +220,7 @@ Second \"item\" text"</string>
<patch id="interaction.seekbar.enableSlideToSeekPatch">
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<!-- 'no auth' means no authentication -->
</patch>
</app>
<app id="twitch">

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