From cb5b302b03acd6063a8b02ccae2d35d84eba4051 Mon Sep 17 00:00:00 2001
From: ILoveOpenSourceApplications
<117499019+ILoveOpenSourceApplications@users.noreply.github.com>
Date: Wed, 5 Mar 2025 12:25:44 +0530
Subject: [PATCH 01/30] refactor(YouTube): Use more consistent strings (#4526)
---
.../extension/youtube/settings/Settings.java | 2 +-
.../all/misc/versioncode/ChangeVersionCodePatch.kt | 8 ++++----
.../shared/misc/spoof/SpoofVideoStreamsPatch.kt | 2 +-
.../interaction/seekbar/EnableSeekbarTappingPatch.kt | 4 ++--
.../buttons/overlay/HidePlayerOverlayButtonsPatch.kt | 2 +-
.../hide/endscreencards/HideEndscreenCardsPatch.kt | 2 +-
.../HideEndScreenSuggestedVideoPatch.kt | 2 +-
.../layout/hide/general/HideLayoutComponentsPatch.kt | 2 +-
.../layout/hide/shorts/HideShortsComponentsPatch.kt | 2 +-
.../youtube/layout/miniplayer/MiniplayerPatch.kt | 2 +-
.../youtube/misc/links/OpenLinksExternallyPatch.kt | 2 +-
.../privacy/RemoveTrackingQueryParameterPatch.kt | 2 +-
.../main/resources/addresources/values/strings.xml | 12 ++++++------
13 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
index afa15706fd..3b6b247596 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
@@ -171,10 +171,10 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_COMMENTS_CHAT_SUMMARY = new BooleanSetting("revanced_hide_comments_chat_summary", FALSE);
public static final BooleanSetting HIDE_COMMENTS_BY_MEMBERS_HEADER = new BooleanSetting("revanced_hide_comments_by_members_header", FALSE);
public static final BooleanSetting HIDE_COMMENTS_CREATE_A_SHORT_BUTTON = new BooleanSetting("revanced_hide_comments_create_a_short_button", TRUE);
+ public static final BooleanSetting HIDE_COMMENTS_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comments_timestamp_and_emoji_buttons", TRUE);
public static final BooleanSetting HIDE_COMMENTS_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_comments_preview_comment", FALSE);
public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE);
public static final BooleanSetting HIDE_COMMENTS_THANKS_BUTTON = new BooleanSetting("revanced_hide_comments_thanks_button", TRUE);
- public static final BooleanSetting HIDE_COMMENTS_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comments_timestamp_and_emoji_buttons", TRUE);
// Description
public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE);
public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE);
diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/versioncode/ChangeVersionCodePatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/versioncode/ChangeVersionCodePatch.kt
index 617f18a421..a50fe58da3 100644
--- a/patches/src/main/kotlin/app/revanced/patches/all/misc/versioncode/ChangeVersionCodePatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/versioncode/ChangeVersionCodePatch.kt
@@ -8,9 +8,8 @@ import org.w3c.dom.Element
@Suppress("unused")
val changeVersionCodePatch = resourcePatch(
name = "Change version code",
- description = "Changes the version code of the app. By default the highest version code is set. " +
- "This allows older versions of an app to be installed " +
- "if their version code is set to the same or a higher value and can stop app stores to update the app.",
+ description = "Changes the version code of the app. This will turn off app store updates " +
+ "and allows downgrading an existing app install to an older app version.",
use = false,
) {
val versionCode by intOption(
@@ -21,7 +20,8 @@ val changeVersionCodePatch = resourcePatch(
"Highest" to Int.MAX_VALUE,
),
title = "Version code",
- description = "The version code to use",
+ description = "The version code to use. Using the highest value turns off app store " +
+ "updates and allows downgrading an existing app install to an older app version.",
required = true,
) { versionCode -> versionCode!! >= 1 }
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt
index 4b51c50ec3..55f72a9381 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt
@@ -35,7 +35,7 @@ fun spoofVideoStreamsPatch(
executeBlock: BytecodePatchContext.() -> Unit = {},
) = bytecodePatch(
name = "Spoof video streams",
- description = "Spoofs the client video streams to fix playback.",
+ description = "Adds options to spoof the client video streams to fix playback.",
) {
block()
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt
index 48c4b74685..d4d6e84cd4 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt
@@ -15,8 +15,8 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
val enableSeekbarTappingPatch = bytecodePatch(
- name = "Seekbar tapping",
- description = "Adds an option to enable tap-to-seek on the seekbar of the video player.",
+ name = "Enable tap to seek",
+ description = "Adds an option to enable tap to seek on the seekbar of the video player.",
) {
dependsOn(
sharedExtensionPatch,
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt
index 76cd99d15f..d02407c710 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt
@@ -43,7 +43,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
val hidePlayerOverlayButtonsPatch = bytecodePatch(
name = "Hide player overlay buttons",
- description = "Adds options to hide the player cast, autoplay, caption button and next/ previous buttons.",
+ description = "Adds options to hide the player Cast, Autoplay, Captions, and Previous & Next buttons.",
) {
dependsOn(
sharedExtensionPatch,
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt
index effb9caee9..55a70aa1a7 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt
@@ -49,7 +49,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
@Suppress("unused")
val hideEndscreenCardsPatch = bytecodePatch(
- name = "Hide endscreen cards",
+ name = "Hide end screen cards",
description = "Adds an option to hide suggested video cards at the end of videos.",
) {
dependsOn(
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt
index 76811b175f..569214ee5b 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt
@@ -22,7 +22,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
@Suppress("unused")
val hideEndScreenSuggestedVideoPatch = bytecodePatch(
name = "Hide end screen suggested video",
- description = "Adds an option to hide the recommended video at the end of each video.",
+ description = "Adds an option to hide the suggested video at the end of videos.",
) {
dependsOn(
sharedExtensionPatch,
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
index 9354115c5c..53375549ff 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
@@ -158,9 +158,9 @@ val hideLayoutComponentsPatch = bytecodePatch(
SwitchPreference("revanced_hide_comments_by_members_header"),
SwitchPreference("revanced_hide_comments_section"),
SwitchPreference("revanced_hide_comments_create_a_short_button"),
+ SwitchPreference("revanced_hide_comments_timestamp_and_emoji_buttons"),
SwitchPreference("revanced_hide_comments_preview_comment"),
SwitchPreference("revanced_hide_comments_thanks_button"),
- SwitchPreference("revanced_hide_comments_timestamp_and_emoji_buttons"),
),
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
),
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt
index e41cc727cc..c1153586e2 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt
@@ -159,7 +159,7 @@ private const val FILTER_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/pat
@Suppress("unused")
val hideShortsComponentsPatch = bytecodePatch(
name = "Hide Shorts components",
- description = "Adds options to hide components related to YouTube Shorts.",
+ description = "Adds options to hide components related to Shorts.",
) {
dependsOn(
sharedExtensionPatch,
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt
index 086c2c8bf0..f367a1ae21 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt
@@ -134,7 +134,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/
@Suppress("unused")
val miniplayerPatch = bytecodePatch(
name = "Miniplayer",
- description = "Adds options to change the in app minimized player."
+ description = "Adds options to change the in-app minimized player."
) {
dependsOn(
sharedExtensionPatch,
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt
index 4a971e058b..7acddae542 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt
@@ -12,7 +12,7 @@ import com.android.tools.smali.dexlib2.iface.reference.StringReference
val openLinksExternallyPatch = bytecodePatch(
name = "Open links externally",
- description = "Adds an option to always open links in your browser instead of in the in-app-browser.",
+ description = "Adds an option to always open links in your browser instead of the in-app browser.",
) {
dependsOn(
transformInstructionsPatch(
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt
index 9de31f30c5..32c53ae4d8 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt
@@ -20,7 +20,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
val removeTrackingQueryParameterPatch = bytecodePatch(
name = "Remove tracking query parameter",
- description = "Adds an option to remove the tracking info from links you share.",
+ description = "Adds an option to remove the tracking parameter from links you share.",
) {
dependsOn(
sharedExtensionPatch,
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index 5a763a3f24..7dd13faa8f 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -409,7 +409,7 @@ This feature is only available for older devices"
Hide self sponsored cards
Self sponsored cards are hidden
Self sponsored cards are shown
- Hide banner to view products
+ Hide \'View products\' banner
Banner is hidden
Banner is shown
Hide end screen store banner
@@ -668,7 +668,7 @@ If changing this setting does not take effect, try switching to Incognito mode."
Video quality menu footer is shown
- Hide previous & next video buttons
+ Hide Previous & Next buttons
Buttons are hidden
Buttons are shown
Hide Cast button
@@ -1042,7 +1042,7 @@ Your user id is like a password and it should never be shared.
Skip automatically
Skip automatically once
Show a Skip button
- Show in seek bar
+ Show in seekbar
Disable
Unable to submit segment: %s
SponsorBlock is temporarily down
@@ -1206,7 +1206,7 @@ If later turned off, it is recommended to clear the app data to prevent UI bugs.
Miniplayer
- Change the style of the in app minimized player
+ Change the style of the in-app minimized player
Miniplayer type
Disabled
Default
@@ -1353,8 +1353,8 @@ Enabling this can unlock higher video qualities"
Open links in browser
- Opening links externally
- Opening links in app
+ Opening links in external browser
+ Opening links in in-app browser
Remove tracking query parameter
From 5bd2e86afefa8ca15a47daab1aa684698a637ffd Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Mar 2025 08:25:49 +0200
Subject: [PATCH 02/30] chore: Sync translations (#4550)
---
.../addresources/values-ar-rSA/strings.xml | 8 +-
.../addresources/values-az-rAZ/strings.xml | 5 -
.../addresources/values-be-rBY/strings.xml | 10 +-
.../addresources/values-bg-rBG/strings.xml | 10 +-
.../addresources/values-bn-rBD/strings.xml | 10 +-
.../addresources/values-ca-rES/strings.xml | 8 +-
.../addresources/values-cs-rCZ/strings.xml | 8 +-
.../addresources/values-da-rDK/strings.xml | 10 +-
.../addresources/values-de-rDE/strings.xml | 10 +-
.../addresources/values-el-rGR/strings.xml | 8 +-
.../addresources/values-es-rES/strings.xml | 10 +-
.../addresources/values-et-rEE/strings.xml | 10 +-
.../addresources/values-fi-rFI/strings.xml | 5 -
.../addresources/values-fil-rPH/strings.xml | 11 +-
.../addresources/values-fr-rFR/strings.xml | 20 +--
.../addresources/values-ga-rIE/strings.xml | 8 +-
.../addresources/values-hu-rHU/strings.xml | 10 +-
.../addresources/values-hy-rAM/strings.xml | 8 +-
.../addresources/values-in-rID/strings.xml | 10 +-
.../addresources/values-it-rIT/strings.xml | 10 +-
.../addresources/values-iw-rIL/strings.xml | 145 +++++++++---------
.../addresources/values-ja-rJP/strings.xml | 16 +-
.../addresources/values-ko-rKR/strings.xml | 2 +-
.../addresources/values-lt-rLT/strings.xml | 10 +-
.../addresources/values-lv-rLV/strings.xml | 10 +-
.../addresources/values-nl-rNL/strings.xml | 10 +-
.../addresources/values-pl-rPL/strings.xml | 8 +-
.../addresources/values-pt-rBR/strings.xml | 10 +-
.../addresources/values-pt-rPT/strings.xml | 10 +-
.../addresources/values-ro-rRO/strings.xml | 10 +-
.../addresources/values-ru-rRU/strings.xml | 26 ++--
.../addresources/values-sk-rSK/strings.xml | 10 +-
.../addresources/values-sl-rSI/strings.xml | 10 +-
.../addresources/values-sq-rAL/strings.xml | 10 +-
.../addresources/values-sr-rCS/strings.xml | 8 +-
.../addresources/values-sr-rSP/strings.xml | 10 +-
.../addresources/values-sv-rSE/strings.xml | 10 +-
.../addresources/values-th-rTH/strings.xml | 10 +-
.../addresources/values-tr-rTR/strings.xml | 8 +-
.../addresources/values-uk-rUA/strings.xml | 14 +-
.../addresources/values-vi-rVN/strings.xml | 8 +-
.../addresources/values-zh-rCN/strings.xml | 21 ++-
.../addresources/values-zh-rTW/strings.xml | 5 -
43 files changed, 275 insertions(+), 295 deletions(-)
diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
index 398600d6aa..852c88b513 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -404,7 +404,7 @@ Second \"item\" text"
إخفاء بطاقات الرعاية الذاتية
تم إخفاء بطاقات الرعاية الذاتية
يتم عرض بطاقات الرعاية الذاتية
- إخفاء لافتة لعرض المنتجات
+ إخفاء لافتة \"عرض المنتجات\"
تم إخفاء البانر
يتم عرض البانر
إخفاء لافتة شاشة المتجر النهائية
@@ -663,7 +663,7 @@ Second \"item\" text"
يتم عرض تذييل قائمة جودة الفيديو
- إخفاء أزرار الفيديو السابق & التالي
+ إخفاء زري \"السابق\" و \"التالي\"
تم إخفاء الأزرار
يتم عرض الأزرار
إخفاء زر البث
@@ -1341,8 +1341,8 @@ Second \"item\" text"
فتح الروابط في المتصفح
- فتح الروابط خارجيًا
- فتح الروابط في التطبيق
+ فتح الروابط في متصفح خارجي
+ فتح الروابط في متصفح داخل التطبيق
إزالة معلمة تتبع الاستعلام
diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
index b586281299..bc594ef580 100644
--- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
@@ -404,7 +404,6 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"
Öz-sponsorlu kartları gizlət
Özünə sponsorluq edilən kartlar gizlidir
Özünə sponsorluq edilən kartlar göstərilir
- Məhsullara baxma etiketin gizlət
Etiket gizlədilib
Etiket göstərilir
Son ekran mağaza etiketini gizlət
@@ -663,7 +662,6 @@ Bu seçimi dəyişdirmə işə düşmürsə, Gizli rejimə keçməyə çalışı
Video keyfiyyət menyusu alt məlumatı göstərilir
- Əvvəlki/növbəti video düymələrin gizlət
Düymələr gizlidir
Düymələr göstərilir
Yayımla düyməsini gizlət
@@ -1194,7 +1192,6 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
Kiçik oynadıcı
- Tətbiqdə kiçildilən oynadıcı üslubunu dəyişdir
Kiçik oynadıcı növü
Qeyri-aktivdir
İlkin
@@ -1340,8 +1337,6 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
Bağlantıları brauzerdə aç
- Bağlantılar xarici yolla açılır
- Bağlantılar tətbiqdə açılır
İzləmə sorğusu faktorun sil
diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
index e818c610f9..77d7df477c 100644
--- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml
+++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
@@ -404,7 +404,7 @@ Second \"item\" text"
Схаваць самі спансаваныя карты
Спонсарскія карткі схаваныя
Паказваюцца ўласныя карты
- Схаваць банер для прагляду прадуктаў
+ Схаваць банер «Паглядзець прадукты»
Банэр схаваны
Паказваецца банэр
Схаваць банер крамы на канчатковым экране
@@ -663,7 +663,7 @@ Second \"item\" text"
Паказваецца ніжні калонтытул меню якасці відэа
- Схаваць папярэдні & кнопкі наступнага відэа
+ Схаваць папярэднія & кнопкі «Далей»
Кнопкі схаваныя
Паказваюцца кнопкі
Схаваць кнопку «Трансляцыя»
@@ -1196,7 +1196,7 @@ Second \"item\" text"
Міні-плэер
- Змяніце стыль мінімізаванага плэера ў праграме
+ Змяніць стыль згорнутага прайгравальніка ў праграме
Тып мініплэера
Інваліды
Па змаўчанні
@@ -1342,8 +1342,8 @@ Second \"item\" text"
Адкрываць спасылкі ў браўзеры
- Адкрыццё спасылак звонку
- Адкрыццё спасылак у праграме
+ Адкрыццё спасылак у знешнім браўзеры
+ Адкрыццё спасылак ва ўбудаваным браўзеры
Выдаліць параметр запыту адсочвання
diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
index 9a05a8ddf5..ee366c5500 100644
--- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
+++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
@@ -404,7 +404,7 @@ Second \"item\" text"
Скриване на самоспонсорирани карти
Самоспонсорираните карти са скрити
Самоспонсорираните карти са показани
- Скриване на банера за показване на продукти
+ Скриване на банера \"Преглед на продукти\"
Банерът е скрит
Банерът е показан
Скрий банера за реклама в края на екрана
@@ -663,7 +663,7 @@ Second \"item\" text"
Долният колонтитул на менюто за качество на видеото се показва
- Бутони за Предишно & Следващо видео
+ Скриване на бутоните \"Предишен и Следващ\"
Бутоните са скрити
Бутоните се показват
Скриване на бутона Cast
@@ -1195,7 +1195,7 @@ Second \"item\" text"
Минимизиран екран за възпроизвеждане
- Променете стила на минимизирания екран за възпроизвеждане
+ Промяна на стила на минимизиран плейър в приложението
Минимизиран тип екран за гледане
Деактивирано
По подразбиране
@@ -1341,8 +1341,8 @@ Second \"item\" text"
Отваряне на връзки в браузъра
- Отваряне на външни връзки
- Отваряне на връзки в приложението
+ Отваряне на връзки във външен браузър
+ Отваряне на връзки във вграден браузър
Премахнете параметъра на заявката за проследяване
diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
index 0e5c1f6034..8c50f51463 100644
--- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
+++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
@@ -403,7 +403,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
স্ব-স্পন্সর কার্ড লুকান
স্ব-স্পন্সর কার্ড লুকিয়ে রয়েছে
স্ব-স্পন্সর কার্ড প্রদর্শিত হয়েছে
- প্রোডাক্ট দেখার ব্যানার লুকান
+ \'পণ্য দেখুন\' ব্যানার লুকান
ব্যানার লুকিয়ে রয়েছে
ব্যানার প্রদর্শিত হয়েছে
শেষ পর্দার স্টোর ব্যানার লুকান
@@ -659,7 +659,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
ভিডিও গুণমান মেনু ফুটার দেখানো হচ্ছে
- পূর্ববর্তী লুকান & পরবর্তী ভিডিও বোতাম
+ পূর্ববর্তী লুকান & পরবর্তী বোতাম
বোতাম লুকানো হয়
বোতাম দেখানো হয়
কাস্ট বোতামটি লুকান
@@ -1191,7 +1191,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
মিনিপ্লেয়ার
- অ্যাপের মধ্যকার মিনিমাইজড প্লেয়ার এর ধরণ পরিবর্তন করুন
+ ইন-অ্যাপ মিনিমাইজড প্লেয়ারের শৈলী পরিবর্তন করুন
মিনিপ্লেয়ার ধরণ
নিষ্ক্রিয় হয়েছে
পূর্ব-নির্ধারিত
@@ -1337,8 +1337,8 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
লিংক ব্রাউজারে খুলুন
- লিংক বাহিরে খুলুন
- অ্যাপের মধ্যে লিংক খুলছে
+ বাহ্যিক ব্রাউজারে লিঙ্ক খোলা হচ্ছে
+ ইন-অ্যাপ ব্রাউজারে লিঙ্ক খোলা হচ্ছে
ট্র্যাকিং করার প্যারামিটার মুছুন
diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
index 060db81e06..a6d7e1777a 100644
--- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
@@ -404,7 +404,7 @@ Aquesta funció només està disponible per a dispositius antics"
Amaga les targetes d\'auto patrocini
Les targetes d\'autopatrocini estan magades
Es mostren les targetes d\'autopatrocini
- Amaga el bàner per veure productes
+ Amaga el bàner «Mostra els productes»
La pancarta s\'amaga
La pancarta es mostra
Amaga el banner de la botiga a la pantalla final
@@ -663,7 +663,7 @@ Si canviar aquesta opció no té cap efecte, prova a canviar al mode d'incògnit
La part inferior del menú de qualitat del vídeo es mostra
- Amaga els botons de vídeo anteriors i següents
+ Amaga els botons Anterior i següent
Els botons estan amagats
Els botons es mostren
Amaga el botó Emet
@@ -1340,8 +1340,8 @@ Si actives aquesta opció, es poden desbloquejar qualitats de vídeo més altes"
Obri els enllaços al navegador
- Obrir els enllaços externament
- Obrir els enllaços a l\'aplicació
+ Obrint enllaços en un navegador extern
+ Obrint enllaços en un navegador integrat a l\'aplicació
Elimina el paràmetre de consulta de seguiment
diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
index 71a9d225c7..806739f16e 100644
--- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
@@ -404,7 +404,7 @@ Tato funkce je dostupná pouze pro starší zařízení"
Skrýt karty se sponzorovanými produkty
Karty se sponzorovanými produkty jsou skryty
Karty se sponzorovanými produkty jsou zobrazeny
- Skrýt banner pro prohlížení produktů
+ Skrýt banner „Zobrazit produkty“
Banner je skryt
Banner je zobrazen
Skrýt koncový banner obchodu
@@ -663,7 +663,7 @@ Pokud změna tohoto nastavení nemá žádný účinek, zkuste přepnout do rež
Zápatí menu kvality videa je zobrazeno
- Skrýt tlačítka pro předchozí a další video
+ Skrýt tlačítka Předchozí a Další
Tlačítka jsou skryta
Tlačítka jsou zobrazena
Skrýt tlačítko Odeslat
@@ -1340,8 +1340,8 @@ Povolením této funkce lze odemknout vyšší kvality videa"
Otevírat odkazy v prohlížeči
- Otevírání odkazů externě
- Otevírání odkazů v aplikaci
+ Otevírání odkazů v externím prohlížeči
+ Otevírání odkazů v prohlížeči v aplikaci
Odstranit sledovací parametr dotazu
diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
index e4ce50dbaf..c726e5226c 100644
--- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml
+++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
@@ -372,7 +372,7 @@ Denne funktion er kun tilgængelig for ældre enheder"
Skjul selvsponsorerede kort
Selvsponsorerede kort er skjult
Selvsponsorerede kort vises
- Skjul banner for at se produkter
+ Skjul banneret \"Se produkter\"
Banner er skjult
Banner er vist
Skjul banner fra butikken på slutskærmen
@@ -624,7 +624,7 @@ Hvis ændring af denne indstilling ikke træder i kraft, kan du prøve at skifte
Videokvalitet menu footer er vist
- Skjul forrige & næste video knapper
+ Skjul Forrige & Næste knapper
Knapper er skjult
Knapper vises
Skjul Cast-knappen
@@ -1138,7 +1138,7 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
Mini-afspiller
- Ændre stilen for den i app minimeret afspiller
+ Skift stilen på den minimerede afspiller i appen
Type af miniplayer
Deaktiveret
Standard
@@ -1280,8 +1280,8 @@ Aktivering af dette kan låse op for højere videokvalitet"
Åbn links i browser
- Åbning af links eksternt
- Åbner links i appen
+ Åbner links i ekstern browser
+ Åbner links i browser i appen
Fjern sporingsforespørgselsparameter
diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
index a1c679cfee..bce104cd07 100644
--- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml
+++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
@@ -399,7 +399,7 @@ Diese Funktion ist nur für ältere Geräte verfügbar"
Selbst gesponserte Karten ausblenden
Selbst gesponserte Karten sind ausgeblendet
Selbstgesponserte Karten werden angezeigt
- Banner ausblenden, um Produkte anzuzeigen
+ Banner \"Produkte ansehen\" ausblenden
Banner ist ausgeblendet
Banner wird angezeigt
Endbild-Banner ausblenden
@@ -656,7 +656,7 @@ Wenn diese Änderung nicht wirksam wird, versuchen Sie, in den Inkognito-Modus z
Video-Qualität Menü-Fußzeile wird angezeigt
- Vorherige & Nächste Video-Tasten ausblenden
+ Vorherige & Nächste Tasten ausblenden
Buttons sind ausgeblendet
Tasten werden angezeigt
Cast-Button ausblenden
@@ -1188,7 +1188,7 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
Minispieler
- Ändere den Stil des in App minimierten Players
+ Das Aussehen des minimierten In-App-Players ändern
Minispielertyp
Deaktiviert
Standard
@@ -1334,8 +1334,8 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
Links im Browser öffnen
- Links extern öffnen
- Öffne Links in der App
+ Links im externen Browser öffnen
+ Links im In-App-Browser öffnen
Tracking-Abfrageparameter entfernen
diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
index 9a727ee5bd..acf62683ef 100644
--- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml
+++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
@@ -406,7 +406,7 @@ Second \"item\" text"
Κάρτες αυτοπροώθησης
Κρυμμένες
Εμφανίζονται
- Διαφημίσεις προβολής προϊόντων
+ Ετικέτα «Προβολή προϊόντων»
Κρυμμένες
Εμφανίζονται
Ετικέτα καταστήματος στην τελική οθόνη
@@ -1196,7 +1196,7 @@ Second \"item\" text"
Ελαχιστοποιημένη οθόνη αναπαραγωγής
- Αλλάξτε το στυλ της ελαχιστοποιημένης οθόνης αναπαραγωγής
+ Αλλαγή του στυλ της ελαχιστοποιημένης οθόνης αναπαραγωγής της εφαρμογής
Τύπος ελαχιστοποιημένης οθόνης αναπαραγωγής
Απενεργοποιημένη
Προεπιλογή
@@ -1340,8 +1340,8 @@ Second \"item\" text"
Άνοιγμα συνδέσμων σε πρόγραμμα περιήγησης
- Οι σύνδεσμοι ανοίγουν εξωτερικά
- Οι σύνδεσμοι ανοίγουν εντός της εφαρμογής
+ Οι σύνδεσμοι ανοίγουν σε εξωτερικό πρόγραμμα περιήγησης
+ Οι σύνδεσμοι ανοίγουν στο εσωτερικό πρόγραμμα περιήγησης της εφαρμογής
Καθαρισμός συνδέσμων κοινοποίησης
diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml
index 7d580a4f3c..150985056d 100644
--- a/patches/src/main/resources/addresources/values-es-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml
@@ -394,7 +394,7 @@ Esta función solo está disponible para dispositivos antiguos"
Ocultar tarjetas autopatrocinadas
Las tarjetas autopatrocinadas están ocultas
Se muestran las tarjetas autopatrocinadas
- Ocultar banner para ver los productos
+ Ocultar el banner \"Ver productos\"
Banner oculto
Banner mostrado
Ocultar banner de la tienda en la pantalla final
@@ -653,7 +653,7 @@ Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito."El pie del menú de calidad de vídeo se muestra
- Ocultar botones de vídeo anteriores & siguiente
+ Ocultar botones Anterior & Siguiente
Los botones están ocultos
Los botones se muestran
Ocultar el botón Transmitir
@@ -1176,7 +1176,7 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
Minireproductor
- Cambiar el estilo del reproductor minimizado de la aplicación
+ Cambiar el estilo del reproductor minimizado en la aplicación
Tipo de minreproductor
Desactivado
Predeterminado
@@ -1322,8 +1322,8 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"
Abrir enlaces en el navegador
- Abriendo enlaces externamente
- Abrir enlaces en la aplicación
+ Abrir enlaces en el navegador externo
+ Abrir enlaces en el navegador integrado en la aplicación
Quitar parámetro de consulta de rastreo
diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
index 2dd2ba9cdc..e45e1fcfc1 100644
--- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml
+++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
@@ -404,7 +404,7 @@ See funktsioon on saadaval ainult vanemates seadmetes"
Peida ise-sponsoritud kaardid
Ise-sponsoritud kaardid on peidus
Ise-sponsoritud kaardid on näidatud
- Peida bänner näha tooteid
+ Peida bänner „Vaata tooteid“
Bänner on peidetud
Bänner on nähtav
Peida lõpuekraani poe bänner
@@ -663,7 +663,7 @@ Kui selle sätte muutmine ei avalda mõju, proovige lülituda Inkognito režiimi
Video kvaliteedi menüü jalg on nähtav
- Peida eelmine & järgmine video nupp
+ Peida eelmine & järgmine nupp
Nupud on peidetud
Nupud on nähtavad
Peida Saada kätte nupp
@@ -1195,7 +1195,7 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
Minimängija
- Muuda rakenduses minimeeritud esitaja stiili
+ Muuda rakendusesisese minipleieri stiili
Miniplayeri tüüp
Väljas
Vaikimisi
@@ -1341,8 +1341,8 @@ Selle lubamine võib avada kõrgema video kvaliteedi"
Ava lingid brauseris
- Lingid avatakse välistel
- Lingid avatakse rakenduses
+ Linkide avamine välises brauseris
+ Linkide avamine rakendusesiseses brauseris
Eemalda jälgimise päringuparameeter
diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
index 4939432f39..bc03664903 100644
--- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
+++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
@@ -402,7 +402,6 @@ Tämä ominaisuus on käytettävissä vain vanhemmilla laitteilla"
Piilota itse-sponsoroidut kortit
Itse-sponsoroidut kortit ovat piilotettu
Itse-sponsoroidut kortit näytetään
- Piilota tuotebanneri
Banneri on piilotettu
Banneri näytetään
Piilota loppunäytön kauppabanneri
@@ -661,7 +660,6 @@ Jos tämän asetuksen muuttaminen ei tule voimaan, kokeile vaihtaa Incognito-til
Videolaatuvalikon alatunniste näytetään
- Piilota edellinen- ja seuraava video -painikkeet
Painikkeet on piilotettu
Painikkeet näytetään
Piilota Cast-painike
@@ -1193,7 +1191,6 @@ Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovel
Minisoitin
- Muuta sovelluksen sisäisen pienennetyn soittimen tyyliä
Minisoittimen tyyppi
Pois käytöstä
Oletus
@@ -1339,8 +1336,6 @@ Tämä voi avata korkealaatuisemmat videot"
Avaa linkit selaimessa
- Linkit avataan ulkoisesti
- Linkit avataan sovelluksessa
Poista seurantakyselyparametrit
diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
index 722d2876bb..7701af0211 100644
--- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
+++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
@@ -404,7 +404,7 @@ Ang tampok na ito ay magagamit lamang para sa mga mas lumang device"
Itago ang mga self sponsored card
Nakatago ang mga self sponsored card
Ipinapakita ang mga self sponsored card
- Itago ang banner para tingnan ang mga produkto
+ Itago ang banner na \'Tingnan ang mga produkto\'
Nakatago ang banner
Ipinakita ang banner
Itago ang banner ng tindahan ng end screen
@@ -661,7 +661,7 @@ Tandaan: Ang pagpapagana nito ay nagtatago rin ng mga ad ng video"
Ang footer ng menu ng kalidad ng video ay ipinapakita
- Itago ang nakaraang & susunod na mga pindutan ng video
+ Itago ang Nakaraan at Susunod na mga pindutan
Nakatago ang mga pindutan
Ang mga pindutan ay ipinapakita
Itago ang Cast button
@@ -1031,7 +1031,7 @@ Ang iyong user id ay parang isang password at hindi dapat ibahagi.
Awtomatikong lumaktaw
Awtomatikong lumaktaw nang isang beses
Magpakita ng button na Laktawan
- Ipakita sa seek bar
+ Ipakita sa seekbar
Huwag paganahin
Hindi maisumite ang segment: %s
Pansamantalang hindi gumagana ang SponsorBlock
@@ -1193,7 +1193,6 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
Miniplayer
- Baguhin ang istilo ng in app minimized na player
Uri ng miniplayer
Hindi
Regular
@@ -1339,8 +1338,8 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"
Buksan ang mga link sa browser
- Pagbubukas ng mga link sa labas
- Pagbubukas ng mga link sa app
+ Binubuksan ang mga link sa panlabas na browser
+ Binubuksan ang mga link sa in-app na browser
Alisin ang parameter ng query sa pagsubaybay
diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
index aebec582d1..d2ea850110 100644
--- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
@@ -174,9 +174,9 @@ Vous ne serez pas informé des événements inattendus."
Masquer la boîte de financement participatif
La boîte de financement participatif est masquée
La boîte de financement participatif est affichée
- Masquer le bouton de microphone flottant
- Le bouton du microphone est masqué
- Le bouton du microphone est affiché
+ Masquer le bouton micro flottant
+ Le bouton micro est masqué
+ Le bouton micro est affiché
Masquer le filigrane de la chaîne
Le filigrane est masqué
Le filigrane est affiché
@@ -199,7 +199,7 @@ Vous ne serez pas informé des événements inattendus."
L\'étagère est affichée sur la page de chaîne
- Masquer le bouton \"M\'avertir\"
+ Masquer le bouton M\'avertir
Le bouton est masqué
Le bouton est affiché
@@ -208,7 +208,7 @@ Vous ne serez pas informé des événements inattendus."
Le libellé est affiché
- Masquer le bouton \"Afficher plus\"
+ Masquer le bouton Afficher plus
Le bouton est masqué
Le bouton est affiché
Masquer les réactions minutées
@@ -417,7 +417,7 @@ Cette fonctionnalité est disponible uniquement pour les appareils anciens"Les liens de shopping dans la description des vidéos sont masqués
Les liens de shopping dans la description des vidéos sont affichés
- Masquer le bouton \"Visiter la boutique\"
+ Masquer le bouton Visiter la boutique
Le bouton est masqué sur la page de chaîne
Le bouton est affiché sur la page de chaîne
Masquer les résultats Web
@@ -663,7 +663,7 @@ Si la modification de ce paramètre ne prend pas effet, essayez de passer en mod
Le pied de page du menu de qualité vidéo est affiché
- Masquer les boutons de vidéo précédente et suivante
+ Masquer les boutons Précédent et Suivant
Les boutons sont masqués
Les boutons sont affichés
Masquer le bouton Caster
@@ -1194,7 +1194,7 @@ Si désactivé ultérieurement, il est recommandé d'effacer les données de l'a
Lecteur réduit
- Changer le style du lecteur réduit dans l\'application
+ Modifier le style du lecteur réduit à l\'intérieur de l\'application
Type de lecteur réduit
Désactivé
Par défaut
@@ -1340,8 +1340,8 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"
Ouvrir les liens dans le navigateur
- Les liens sont ouverts dans une appli externe
- Les liens sont ouverts dans l\'application
+ Les liens sont ouverts dans le navigateur externe
+ Les liens sont ouverts dans le navigateur intégré à l\'application
Supprimer le paramètre de suivi
diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
index 35293e432b..5730bf9e8a 100644
--- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
@@ -404,7 +404,6 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine"
Folaigh cártaí féin-urraithe
Tá cártaí féin-urraithe i bhfolach
Taispeántar cártaí féin-urraithe
- Folaigh meirge chun táirgí a fheiceáil
Tá bratach i bhfolach
Taispeántar an bhratach
Folaigh brat bhranda siopa scáileáin deiridh
@@ -653,7 +652,7 @@ Mura dtagann aon athrú ar an socrú seo, bain triail as mód Incognito a chur a
Taispeántar buntásc roghchlár cáilíochta físeáin
- Folaigh & cnaipí físeáin seo chugainn
+ Folaigh Cnaipí Roimhe & Ar Aghaidh
Tá cnaipí i bhfolach
Taispeántar cnaipí
Folaigh cnaipe an Chasta
@@ -1180,7 +1179,6 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
Minipléir
- Athraigh stíl an imreora íoslaghdaithe san aip
Cineál Miniplayer
Díchumasaithe
Réamhshocraithe
@@ -1326,8 +1324,8 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"
Oscail naisc sa bhrabhsála
- Naisc a oscailt go seachtrach
- Naisc a oscailt san aip
+ Ag oscailt naisc sa bhrabhsálaí seachtrach
+ Ag oscailt naisc sa bhrabhsálaí in-aip
Bain paraiméadar ceist rianaithe
diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
index a6f04aa2e9..df9520fa5f 100644
--- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
+++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
@@ -404,7 +404,7 @@ Ez a funkció csak régebbi eszközökön érhető el"
Önpromóciós kártyák elrejtése
Az önpromóciós kártyák rejtve vannak
Az önpromóciós kártyák megjelennek
- Szalagkép elrejtése a termékek megtekintéséhez
+ \"View products\" szalagcím elrejtése
A szalagkép rejtett
A szalagkép megjelenik
A befejező képernyőn lévő üzletbanner elrejtése
@@ -663,7 +663,7 @@ Ha a beállítás módosítása nem lép életbe, próbáljon meg Inkognitó mó
Megjelenik a videóminőség menü lábléce
- Az előző és következő videó gombok elrejtése
+ Az Előző és a Következő gombok elrejtése
A gombok elrejtve
A gombok megjelennek
Küldés gomb elrejtése
@@ -1194,7 +1194,7 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
Minilejátszó
- Módosítsa az alkalmazáson belüli kisméretű lejátszó stílusát
+ Az alkalmazáson belüli minimalizált lejátszó stílusának módosítása
Minilejátszó típus
Kikapcsolva
Alapértelmezett
@@ -1340,8 +1340,8 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"
Hivatkozások megnyitása a böngészőben
- Hivatkozások külső megnyitása
- Hivatkozások megnyitása az alkalmazásban
+ Hivatkozások megnyitása külső böngészőben
+ Hivatkozások megnyitása az alkalmazáson belüli böngészőben
Nyomkövetési lekérdezési paraméter eltávolítása
diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
index f2db3f74b2..079739bf4d 100644
--- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
+++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
@@ -404,7 +404,6 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
Թաքցնել ինքնահովանավորված քարտերը
Ինքնահովանավորված քարտերը թաքցված են
Ինքնահովանավորված քարտերը երևում են
- Թաքցնել ապրանքների դիտման բաները
Բաները թաքցված են
Բաները երևում են
Թաքցնել վերջնական էկրանի խանութի բաները
@@ -663,7 +662,7 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
Տեսանյութի որակի մենյուի ստորագրությունը երևում է
- Թաքցնել \"Նախորդ\" և \"Հաջորդ\" տեսանյութի կոճակները
+ Թաքցնել \"Նախորդ\" և \"Հաջորդ\" կոճակները
Կոճակները թաքցված են
Կոճակները երևում են
Թաքցնել Cast կոճակը
@@ -1195,7 +1194,6 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
Մինի նվագարկիչ
- Փոխել կիրառության մեջ փոքրացված պլեյերի ոճը
Miniplayer-ի տեսակ
Անջատված է
Ըստ լռելյայնի
@@ -1341,8 +1339,8 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
Բրաուզերում հղումներ բացել
- Հղումները բացվում են արտաքին
- Հղումները բացվում են ծրագրում
+ Բացել հղումները արտաքին բրաուզերում
+ Բացել հղումները ներծրագրային բրաուզերում
Հետևողականության հարցումի պարամետրը հեռացնել
diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml
index b8e0880bd2..b30282ca02 100644
--- a/patches/src/main/resources/addresources/values-in-rID/strings.xml
+++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml
@@ -404,7 +404,7 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama"
Sembunyikan kartu bersponsor pribadi
Kartu bersponsor pribadi disembunyikan
Kartu bersponsor pribadi ditampilkan
- Sembunyikan banner untuk melihat produk
+ Sembunyikan banner \'Lihat produk\'
Banner disembunyikan
Banner ditampilkan
Sembunyikan spanduk toko di layar akhir
@@ -663,7 +663,7 @@ Jika mengubah setelan ini tidak berpengaruh, coba beralih ke mode Penyamaran."
Footer menu kualitas video ditampilkan
- Sembunyikan tombol video sebelumnya & berikutnya
+ Sembunyikan tombol Sebelumnya & Berikutnya
Tombol disembunyikan
Tombol ditampilkan
Sembunyikan tombol Transmisi
@@ -1194,7 +1194,7 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
Pemutar Mini
- Mengubah gaya pemutar aplikasi saat diciuitkan
+ Ubah gaya pemutar mini dalam aplikasi
Jenis pemutar mini
Nonaktif
Bawaan
@@ -1340,8 +1340,8 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"
Buka tautan di peramban
- Membuka tautan di eksternal
- Membuka tautan di aplikasi
+ Membuka tautan di peramban eksternal
+ Membuka tautan di peramban dalam aplikasi
Hapus parameter kueri pelacakan
diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
index 2c7cc7806a..6e0acf1cf0 100644
--- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml
+++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
@@ -404,7 +404,7 @@ Questa funzione è disponibile solo per i dispositivi più vecchi"
Nascondi le schede autopromozionali
Le schede autopromozionali sono nascoste
Le schede autopromozionali sono visibili
- Nascondi banner per visualizzare i prodotti
+ Nascondi il banner \"Visualizza prodotti\"
Il banner è nascosto
Il banner è visibile
Nascondi banner del negozio della schermata finale
@@ -663,7 +663,7 @@ Se la modifica di questa impostazione non ha effetto, prova a passare alla modal
Il piè di pagina del menu di qualità video è visibile
- Nascondi i pulsanti video precedenti & successivi
+ Nascondi i pulsanti Precedente e Successivo
I pulsanti sono nascosti
I pulsanti sono visibili
Nascondi il pulsante Trasmetti
@@ -1194,7 +1194,7 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
Miniplayer
- Cambia lo stile del miniplayer nell\'app
+ Modifica lo stile del player minimizzato in-app
Tipo di Miniplayer
Disattivato
Predefinito
@@ -1340,8 +1340,8 @@ Abilitare questa opzione può sbloccare qualità video più elevate"
Apri link nel browser
- Apertura dei link esternamente
- Apertura dei link nell\'app
+ Apertura dei link nel browser esterno
+ Apertura dei link nel browser in-app
Rimuovi il parametro di tracciamento della query
diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
index fca183aeae..40242dff5d 100644
--- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
+++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
@@ -48,57 +48,57 @@ Second \"item\" text"
כדי לתרגם שפות חדשות בקר ב-translate.revanced.app"
שפת היישום
- ערבית
- אזרבייג\'נית
- בולגרית
- בנגלית
- קטלאנית
- צ\'כית
- דנית
- גרמנית
- יוונית
+ العربية
+ Azərbaycanca
+ български
+ বাংলা
+ Català
+ Čeština
+ Dansk
+ Deutsch
+ Ελληνικά
אנגלית
- ספרדית
- אסטונית
- פַּרסִית
- פינית
- צרפתית
- גוג\'ראטית
- הינדי
- קרואטית
- הונגרית
- אינדונזית
- איטלקית
- יפנית
- קזחית
- קוריאנית
- ליטאית
- לטבית
- מקדונית
- מונגולית
- מראטהית
- מלאית
- בורמזית
- הולנדית
- אודיה
- פנג\'אבי
- פולנית
- פורטוגזית
- רומנית
- רוסית
- סלובקית
- סלובנית
- סרבית
- שוודית
- סוואהילי
- טמילית
- טלוגו
- תאית
- טורקית
- אוקראינית
- אורדו
- וייטנאמית
- סינית
+ Español
+ Eesti
+ فارسی
+ Suomi
+ Français
+ ગુજરાતી
+ हिन्दी
+ Hrvatski
+ Magyar
+ Indonesia
+ Italiano
+ 日本語
+ Қазақ
+ 한국어
+ Lietuvių
+ Latviešu
+ Македонски
+ Монгол
+ Marāṭhī
+ Melayu
+ မြန်မာအက္ခရာ
+ Nederlands
+ Oṛiā
+ ਪੰਜਾਬੀ
+ Polski
+ Português
+ Română
+ Русский
+ Slovenčina
+ Slovenščina
+ Srpski
+ Svenska
+ Kiswahili
+ தமிழ்
+ తెలుగు
+ ไทย
+ Türkçe
+ Українська
+ اُردُو
+ Tiếng Việt
+ 中文
ייבוא / ייצוא
ייבוא / ייצוא הגדרות ReVanced
@@ -111,7 +111,7 @@ Second \"item\" text"
- MicroG GmsCore אינו מותקן. התקן אותו.
+ היישום MicroG GmsCore אינו מותקן. התקן אותו.
דרושה פעולה
"ל-MicroG GmsCore אין הרשאה לרוץ ברקע.
@@ -336,9 +336,9 @@ Second \"item\" text"
לחצן תודה מוצג
הסתר YouTube Doodles
- Doodles של סרגל חיפוש מוסתרים
- Doodles של סרגל חיפוש מוצגים
- "YouTube Doodles מוצגים למשך כמה ימים בכל שנה.
+ שרבוטים (Doodles) של סרגל חיפוש מוסתרים
+ שרבוטים (Doodles) של סרגל חיפוש מוצגים
+ "שרבוטים (Doodles) של YouTube מוצגים למשך כמה ימים בכל שנה.
אם Doodle מוצג כרגע באזור שלך והגדרת ההסתרה הזו מופעלת, אז גם סרגל הסינון שמתחת לסרגל החיפוש יוסתר."
מסנן מותאם אישית
@@ -373,7 +373,7 @@ Second \"item\" text"
"תוצאות דף הבית/מינויים/חיפוש מסוננות כדי להסתיר תוכן שתואם ביטויי מילות מפתח
מגבלות
-• Shorts אינם ניתנים להסתרה לפי שם ערוץ
+• סרטוני Shorts אינם ניתנים להסתרה לפי שם ערוץ
• ייתכן שחלק מרכיבי ממשק המשתמש לא יוסתרו
• חיפוש אחר מילת מפתח עשוי שלא להציג תוצאות"
התאם מילים שלמות
@@ -404,7 +404,6 @@ Second \"item\" text"
הסתר כרטיסים בחסות עצמית
כרטיסים בחסות עצמית מוסתרים
כרטיסים בחסות עצמית מוצגים
- הסתר כרזה להצגת מוצרים
כרזה מוסתרת
כרזה מוצגת
הסתר כרזת חנות של מסך סיום
@@ -663,7 +662,6 @@ Second \"item\" text"
כותרת תחתונה של תפריט איכות סרטון מוצגת
- הסתר לחצני הסרטון הקודם & הבא
הלחצנים מוסתרים
הלחצנים מוצגים
הסתר לחצן העברה
@@ -884,10 +882,10 @@ Second \"item\" text"
זמן תגובת API, מקסימום
זמן תגובת API, סרטון אחרון
דיסלייקים אינם זמינים באופן זמני - מגבלת קצב של לקוח API בתוקף
- API להבאת הצבעות, מספר קריאות
+ ממשק API להבאת הצבעות, מספר קריאות
לא נעשו קריאות רשת
נעשו %d קריאות רשת
- API להבאת הצבעות, מספר פסקי זמן
+ ממשק API להבאת הצבעות, מספר פסקי זמן
לא תם פסק הזמן של אף קריאת רשת
תם פסק הזמן של %d קריאות רשת
מגבלות קצב של לקוח API
@@ -917,7 +915,7 @@ Second \"item\" text"
@@ -1187,15 +1185,14 @@ Second \"item\" text"
הפעלה אוטומטית של Shorts
- Shorts יפעילו אוטומטית
- Shorts יחזרו על עצמם
+ סרטוני Shorts יפעילו אוטומטית
+ סרטוני Shorts יחזרו על עצמם
הפעלה אוטומטית בעת הפעלה ברקע של Shorts
הפעלה ברקע של Shorts תפעיל אוטומטית
הפעלה ברקע של Shorts תחזור על עצמה
מיני-נגן
- שנה את הסגנון של הנגן הממוזער בתוך היישום
סוג מיני-נגן
מושבת
ברירת מחדל
@@ -1276,10 +1273,10 @@ Second \"item\" text"
נגן פלייליסטים, המלצות
תוצאות חיפוש
תמונות ממוזערות מקוריות
- DeArrow & תמונות ממוזערות מקוריות
- DeArrow & לכידות דוממות
+ תמונות ממוזערות מקוריות & DeArrow
+ לכידות דוממות & DeArrow
לכידות דוממות
- "DeArrow מספק תמונות ממוזערות של מיקור המונים עבור סרטוני YouTube. תמונות ממוזערות אלה הן לעתים קרובות רלוונטיות יותר מאלה שסופקו על ידי YouTube
+ "השירות DeArrow מספק תמונות ממוזערות של מיקור המונים עבור סרטוני YouTube. תמונות ממוזערות אלה הן לעתים קרובות רלוונטיות יותר מאלה שסופקו על ידי YouTube
אם מופעל, כתובות URL של סרטונים יישלחו לשרת ה-API ושום נתונים אחרים לא יישלחו. אם לסרטון אין תמונות ממוזערות של DeArrow, אז מוצגות התמונות המקוריות או לכידות דוממות
@@ -1299,8 +1296,8 @@ Second \"item\" text"
אמצע הסרטון
סוף הסרטון
- DeArrow אינו זמין באופן זמני (קוד מצב: %s)
- DeArrow אינו זמין באופן זמני
+ השירות DeArrow אינו זמין באופן זמני (קוד מצב: %s)
+ השירות DeArrow אינו זמין באופן זמני
הצג הכרזות של ReVanced
@@ -1341,8 +1338,6 @@ Second \"item\" text"
פתח קישורים בדפדפן
- פותח קישורים באופן חיצוני
- פותח קישורים בתוך היישום
הסר פרמטר מעקב של שאילתה
diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
index 616548f05d..be1124d372 100644
--- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
+++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
@@ -327,7 +327,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
「ショートを作成」ボタンを非表示
「ショートを作成」ボタンは表示されません
「ショートを作成」ボタンは表示されます
- 絵文字 / タイムスタンプ ボタンを非表示
+ 絵文字ボタンとタイムスタンプ ボタンを非表示
絵文字ボタンとタイムスタンプ ボタンは表示されません
絵文字ボタンとタイムスタンプ ボタンは表示されます
コメントのプレビューを非表示
@@ -406,7 +406,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
自己スポンサーカードを非表示
自己スポンサーカードは表示されません
自己スポンサーカードは表示されます
- 動画上の「商品を表示」ボタンを非表示
+ 「商品を表示」ボタンを非表示
動画上に「商品を表示」ボタンや商品ボタンは表示されません
動画上に「商品を表示」ボタンや商品ボタンが表示されます
終了画面のストア バナーを非表示
@@ -529,12 +529,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
アクション ボタン
プレーヤー画面下のボタンを編集します
- 高評価 / チャンネル登録ボタンのエフェクトを無効にする
+ 高評価とチャンネル登録のエフェクトを無効にする
高評価ボタンとチャンネル登録ボタンのエフェクトは無効です
高評価ボタンとチャンネル登録ボタンのエフェクトは有効です
- 高評価 / 低評価ボタンを非表示
- 高評価 / 低評価ボタンは表示されません
- 高評価 / 低評価ボタンは表示されます
+ 高評価ボタンと低評価ボタンを非表示
+ 高評価ボタンと低評価ボタンは表示されません
+ 高評価ボタンと低評価ボタンは表示されます
共有ボタンを非表示
共有ボタンは表示されません
@@ -1343,8 +1343,8 @@ DeArrow の詳細については、ここをタップしてください"
リンクをブラウザで開く
- リンクをブラウザで開きます
- リンクをアプリ内で開きます
+ 外部ブラウザでリンクを開きます
+ アプリ内ブラウザでリンクを開きます
追跡パラメータをリンクから削除する
diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
index e2e971ee2d..7fca8dcf6d 100644
--- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
+++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
@@ -667,7 +667,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
화질 설정 메뉴에서 하단 설명이 표시됩니다
- 이전 & 다음 동영상 버튼 숨기기
+ 이전 & 다음 버튼 숨기기
이전 & 다음 동영상 버튼이 숨겨집니다
이전 & 다음 동영상 버튼이 표시됩니다
크롬캐스트 버튼 숨기기
diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
index 0bf2f806b9..efc7a2553c 100644
--- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
+++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
@@ -404,7 +404,7 @@ Apribojimai
Slėpti savarankiškus rėmėjų kortelės
Savarankiški rėmėjų kortelės yra paslėpti
Savarankiški rėmėjų kortelės yra rodomi
- Slėpti banerį, kad būtų galima peržiūrėti produktus
+ Slėpti „Peržiūrėti produktus“ reklamjuostę
Baneris yra paslėptas
Baneris yra rodomas
PaslĖpti pabaigos ekrano parduotuvÄ—s reklaminį juostelÄ™
@@ -663,7 +663,7 @@ Jei pakeitus šį nustatymą neįsigalioja, pabandykite perjungti į inkognito r
Vaizdo kokybės meniu apatinė juosta yra rodoma
- Slėpti ankstesnius & kitus vaizdo įrašų mygtukus
+ Slėpti ankstesnius ir kitus mygtukus
Mygtukai yra paslėpti
Mygtukai yra rodomi
Paslėpti mygtuką \"Transliuoti\"
@@ -1196,7 +1196,7 @@ Jei vėliau išjungta, rekomenduojama išvalyti programos duomenis, kad būtų i
Mažas grotuvas
- Pakeisti programėlės sumažinto grotuvo stilių
+ Pakeisti programėlėje sumažinto grotuvo stilių
Minigrotuvo tipas
Išjungtas
Numatytasis
@@ -1342,8 +1342,8 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v
Atidaryti nuorodas naršyklėje
- Atidarant nuorodas iš išorės
- Atidarant nuorodas programoje
+ Nuorodos atidaromos išorinėje naršyklėje
+ Nuorodos atidaromos programėlės naršyklėje
Pašalinti stebėjimo užklausų parametrą
diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
index 7040ff4d96..be6cc68f61 100644
--- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
+++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
@@ -404,7 +404,7 @@ Ierobežojumi
Paslēpt pašreklāmas kartītes
Pašreklāmas kartītes ir paslēptas
Pašreklāmas kartītes ir redzamas
- Paslēpt reklāmas joslu, lai skatītu produktus
+ Paslēpt reklāmjoslu \"Skatīt produktus\"
Reklāmas josla ir paslēpta
Reklāmas josla ir redzama
Paslēpt veikala reklāmkarogu ekrāna beigās
@@ -663,7 +663,7 @@ Ja šī iestatījuma maiņa nestājas spēkā, mēģiniet pārslēgties uz inkog
Video kvalitātes izvēlnes apakšējā daļa ir redzama
- Paslēpt iepriekšējo un nākamo video pogas
+ Paslēpt iepriekšējo un nākamo pogas
Pogas ir paslēptas
Pogas ir redzamas
Paslēpt pogu \"Sūtīt\"
@@ -1194,7 +1194,7 @@ Ja vēlāk tiks izslēgts, ieteicams notīrīt lietotnes datus, lai novērstu li
Minispēlētājs
- Mainīt samazināta spēlētāja stilu lietotnē
+ Mainīt lietotnē minimizētā atskaņotāja stilu
Miniplayer tips
Atspējots
Noklusētais
@@ -1340,8 +1340,8 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk
Atvērt saites pārlūkprogrammā
- Atverot saites ārēji
- Atverot saites lietotnē
+ Saišu atvēršana ārējā pārlūkprogrammā
+ Saišu atvēršana lietotnes pārlūkprogrammā
Noņemt izsekošanas vaicājuma parametru
diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
index 4f7fb7edf4..8836f8f81a 100644
--- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
+++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
@@ -404,7 +404,7 @@ Deze functie is alleen beschikbaar voor oudere apparaten"
Zelf gesponsorde kaarten verbergen
Zelf gesponsorde kaarten zijn verborgen
Zelf gesponsorde kaarten worden getoond
- Banner om producten te bekijken verbergen
+ Verberg de banner \'Producten bekijken\'
Banner is verborgen
Banner wordt getoond
Verberg de Store-banner op het eindscherm
@@ -663,7 +663,7 @@ Als het wijzigen van deze instelling geen effect heeft, probeer dan over te scha
Voettekst van video-kwaliteitsmenu wordt weergegeven
- Verberg vorige & volgende videoknoppen
+ Verberg Vorige & Volgende knoppen
Knoppen zijn verborgen
Knoppen worden weergegeven
Verberg Cast-knop
@@ -1195,7 +1195,7 @@ Als het later wordt uitgeschakeld, wordt aanbevolen om de app-gegevens te wissen
Minispeler
- Wijzig de stijl van de geminimaliseerde speler in de app
+ De stijl van de geminimaliseerde speler in de app wijzigen
\"miniplayer\"-type
Uitgeschakeld
Standaard
@@ -1341,8 +1341,8 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen"
Koppelingen openen in browser
- Koppelingen extern openen
- Koppelingen openen in app
+ Koppelingen openen in externe browser
+ Koppelingen openen in in-app browser
Verwijder tracking-queryparameter
diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
index 601499a8cd..a2eb2999d4 100644
--- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
+++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
@@ -404,7 +404,7 @@ Ta funkcja jest dostępna tylko dla starszych urządzeń"
Karty z autopromocją
Karty z autopromocją są ukryte
Karty z autopromocją są widoczne
- Banery z produktami
+ Ukryj baner „Zobacz produkty”
Banery są ukryte
Banery są widoczne
Ukryj baner sklepu na ekranie końcowym
@@ -663,7 +663,7 @@ Jeśli zmiana tego ustawienia nie przyniesie efektu, spróbuj przełączyć się
Opis menu jakości filmu jest widoczny
- Przyciski od poprzedniego i następnego filmu
+ Ukryj przyciski Poprzedni i Następny
Przyciski są ukryte
Przyciski są widoczne
Ukryj przycisk transmisji
@@ -1341,8 +1341,8 @@ Włączenie tego może odblokować wyższe jakości wideo"
Otwieranie linków
- Przez przeglądarke
- Przez aplikacje
+ Otwieranie linków w zewnętrznej przeglądarce
+ Otwieranie linków w przeglądarce w aplikacji
Parametr zapytania śledzenia
diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
index 3cb0f14ad8..aaab7c9594 100644
--- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
@@ -402,7 +402,7 @@ Este recurso está disponível apenas para dispositivos mais antigos"
Ocultar cartões auto-patrocinados
Cartões autopatrocinados estão ocultos
Cartões autopatrocinados não estão ocultos
- Ocultar banner \"ver os produtos\"
+ Ocultar banner \"Ver produtos\"
Banner está oculto
O banner é mostrado
Ocultar banners da loja na tela final
@@ -661,7 +661,7 @@ Se alterar esta configuração não fizer efeito, tente mudar para o modo anôni
Rodapé do menu de qualidade de vídeo não está ocultos
- Ocultar botões anterior & próximo vídeo
+ Ocultar botões Anterior e Próximo
Os botões estão ocultos
Os botões serão exibidos
Ocultar botão Transmitir
@@ -1192,7 +1192,7 @@ Se posteriormente desativado, é recomendável limpar os dados do aplicativo par
Minireprodutor
- Alterar o estilo do player minimizado no aplicativo
+ Alterar o estilo do player minimizado no app
Tipo de miniplayer
Desativado
Padrão
@@ -1338,8 +1338,8 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas"
Abrir links no navegador
- Abrir links externamente
- Abrir links no aplicativo
+ Abrindo links no navegador externo
+ Abrindo links no navegador interno do app
Remover parâmetro de consulta de rastreamento
diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
index 2c2558fd44..171aed5ecc 100644
--- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
@@ -404,7 +404,7 @@ Tính năng này chỉ khả dụng cho các thiết bị cũ"
Esconder cartões autopatrocinados
Cartões auto-patrocinados estão escondidos
Cartões auto-patrocinados são visíveis
- Esconder banner para ver os produtos
+ Ocultar banner \"Ver produtos\"
Banner está escondido
Banner é visível
Ocultar banner da loja na tela final
@@ -663,7 +663,7 @@ Se alterar esta configuração não fizer efeito, tente alternar para o modo an
Cabeçalho do menu de qualidade de vídeo mostrado
- Esconder botões anteriores & próxima vídeo
+ Ocultar botões Anterior & Próximo
Botões estão ocultos
Botões são exibidos
Ocultar botão Transmitir
@@ -1195,7 +1195,7 @@ Nếu sau này tắt, bạn nên xóa dữ liệu ứng dụng để tránh lỗ
Minijogador
- Alterar o estilo do player minimizado no aplicativo
+ Altere o estilo do player minimizado no aplicativo
Tipo de minijogador
Desativado
Padrão
@@ -1341,8 +1341,8 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"
Abrir links no navegador
- Abrir links externamente
- Abrir links no aplicativo
+ Abrindo links no navegador externo
+ Abrindo links no navegador no aplicativo
Remover parâmetro de consulta de rastreamento
diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
index 2be88d42fc..67312b89ec 100644
--- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
+++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
@@ -404,7 +404,7 @@ Această funcție este disponibilă numai pentru dispozitivele mai vechi"Ascunde cardurile auto-sponsorizate
Cardurile sponsorizate automat sunt ascunse
Cardurile sponsorizate automat sunt afișate
- Ascunde banner-ul pentru a vizualiza produsele
+ Ascunde bannerul \"Vezi produse\"
Banner-ul este ascuns
Banner-ul este afișat
Ascunde bannerul magazinului de la finalul ecranului
@@ -663,7 +663,7 @@ Dacă modificarea acestei setări nu are efect, încercați să comutați la mod
Subsolul meniului calității video este afișat
- Ascunde butoanele anterioare & următorul video
+ Ascunde butoanele Anterior & Următorul
Butoanele sunt ascunse
Butoanele sunt afișate
Ascunde butonul Distribuție
@@ -1194,7 +1194,7 @@ Dacă este dezactivat ulterior, se recomandă să ștergeți datele aplicației
Minijucător
- Schimbă stilul aplicaţiei minimizat jucătorul
+ Schimbă stilul playerului minimizat în aplicație
Tip minijucător
Dezactivat
Implicit
@@ -1340,8 +1340,8 @@ Activarea acestei opțiuni poate debloca calități video mai mari"
Deschide link-uri în browser
- Se deschid link-uri extern
- Se deschid link-uri în aplicație
+ Deschiderea linkurilor în browserul extern
+ Deschiderea linkurilor în browserul din aplicație
Elimină parametrul de urmărire interogare
diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
index ddb836c519..001572cee9 100644
--- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
+++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
@@ -305,9 +305,9 @@ Second \"item\" text"
Скрыть панель фильтров в ленте
Панель фильтров в ленте скрыта
Панель фильтров в ленте показана
- Скрыть в результатах поиска
- Shorts в результатах поиска скрыты
- Shorts в результатах поиска показаны
+ Скрыть панель фильтров в поиске
+ Панель фильтров в поиске скрыта
+ Панель фильтров в поиске показана
Скрыть панель фильтров в похожих видео
Панель фильтров в похожих видео скрыта
Панель фильтров в похожих видео показана
@@ -809,12 +809,12 @@ Second \"item\" text"
Панель навигации в Shorts показана
- Скрыть предложенное видео на экране завершения
- "Предложенное видео на экране завершения скрыто, когда автовоспроизведение выключено.
+ Скрыть предлагаемые видео в конце просмотра
+ "Предлагаемые видео в конце просмотра скрыты при выключенном автовоспроизведении
Автовоспроизведение можно изменить в настройках YouTube:
-Настройки → Воспроизведение → Автовоспроизведение следующего видео"
- Предложенное видео на экране завершения отображается
+Настройки → Фоновое воспроизведение → Следующее видео"
+ Предлагаемые видео в конце просмотра показаны
Скрыть метку времени видео
@@ -1195,7 +1195,7 @@ Second \"item\" text"
Миниплеер
- Изменить стиль свернутого миниплеера
+ Изменить стиль свернутого миниплеера
Тип миниплеера
Отключено
Стандартный
@@ -1341,8 +1341,8 @@ Second \"item\" text"
Открыть ссылки в браузере
- Ссылки открываются в браузере
- Ссылки открываются в приложении
+ Ссылки открываются во внешнем браузере
+ Ссылки открываются во встроенном браузере
Удалить параметр отслеживания запросов
@@ -1355,11 +1355,11 @@ Second \"item\" text"
Виброотклик при масштабировании включен
- Принудительно выбирать язык оригинала аудиодорожки
- Используется оригинальный язык звуковой дорожки
+ Принудительно оригинальная звуковая дорожка
+ Используется оригинальная звуковая дорожка
Используется звуковая дорожка по умолчанию
- Чтобы использовать эту функцию, измените параметр \"Подмена видеопотоков\" на iOS TV
+ Для использования данной опции измените подмену видеопотока на тип клиента iOS TV
diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
index 087261b9b4..eedcc10a7d 100644
--- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
+++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
@@ -397,7 +397,7 @@ Táto funkcia je dostupná len pre staršie zariadenia"
Skryť vlastné sponzorované karty
Vlastné sponzorované karty sú skryté
Zobrazujú sa vlastné sponzorované karty
- Skryť banner pre zobrazenie produktov
+ Skryť banner „Zobraziť produkty“
Banner je skrytý
Zobrazuje sa banner
Skryť banner obchodu na konci obrazovky
@@ -656,7 +656,7 @@ Ak zmena tohto nastavenia nemá žiadny účinok, skúste prepnúť do režimu i
Zobrazí sa päta ponuky kvality videa
- Skryť predchádzajúce & tlačidlá ďalšieho videa
+ Skryť tlačidlá Predchádzajúce & Nasledujúce
Tlačidlá sú skryté
Zobrazia sa tlačidlá
Skryť tlačidlo Cast
@@ -1185,7 +1185,7 @@ Ak sa neskôr vypne, odporúča sa vymazať údaje aplikácie, aby sa zabránilo
Miniprehrávač
- Zmeňte štýl minimalizovaného prehrávača v aplikácii
+ Zmeniť štýl minimalizovaného prehrávača v aplikácii
Typ miniprehrávača
Vypnuté
Predvolené
@@ -1329,8 +1329,8 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa"
Otvoriť odkazy v prehliadači
- Otváranie odkazov externe
- Otváranie odkazov v aplikácii
+ Otváranie odkazov v externom prehliadači
+ Otváranie odkazov v prehliadači v aplikácii
Odstráňte parameter dopytu sledovania
diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
index de2ea06767..c1d9dfb790 100644
--- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
+++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
@@ -404,7 +404,7 @@ Ta funkcija je na voljo samo za starejše naprave"
Skrij samoproizvedene oglase
Samoproizvedeni oglasi so skriti
Samoproizvedeni oglasi so prikazani
- Skrij pasico za ogled izdelkov
+ Skrij pasico »Ogled izdelkov«
Pasica je skrita
Pasica je prikazana
Skrij pasico trgovine na koncu zaslona
@@ -663,7 +663,7 @@ Opomba: Omogočanje tega tudi prisilno skrije video oglase"
Noga menija s kakovostjo videa je prikazana
- Skrij gumbe \"Prejšnji\" & \"Naslednji\" video
+ Skrij gumbe »Prejšnji« & »Naslednji«
Gumbi so skriti
Gumbi so prikazani
Skrij gumb \'Predvajaj\'
@@ -1194,7 +1194,7 @@ To bo spremenilo videz in funkcije aplikacije, vendar se lahko pojavijo neznani
\"Miniplayer\"
- Spremeni slog zmanjšanega predvajalnika v aplikaciji
+ Spremenite slog minimiziranega predvajalnika v aplikaciji
Vrsta mini predvajalnika
Onemogočeno
Privzeto
@@ -1340,8 +1340,8 @@ Omogočanje tega lahko odklene višje kakovosti videa"
Odpri povezave v brskalniku
- Odpiranje povezav zunaj aplikacije
- Odpiranje povezav v aplikaciji
+ Odpiranje povezav v zunanjem brskalniku
+ Odpiranje povezav v brskalniku v aplikaciji
Odstrani parameter poizvedbe za sledenje
diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
index fc51e893eb..740cd7bd07 100644
--- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
+++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
@@ -404,7 +404,7 @@ Kjo veçori është e disponueshme vetëm për pajisje më të vjetra"
Fsheh kartat e sponsorizuara vetë
Kartat e sponsorizuara vetë janë të fshehur
Kartat e sponsorizuara vetë janë të dukshme
- Fsheh bannerin për të parë produktet
+ Fshih banerin \'Shiko produktet\'
Banneri është i fshehur
Banneri është i dukshëm
Fsheh bannerin e dyqanit të ekranit përfundimtar
@@ -663,7 +663,7 @@ Nëse ndryshimi i këtij konfigurimi nuk ka efekt, provoni të kaloni në modali
Funda e menusë së cilësisë së videos është e dukshme
- Fsheh butonat \"e mëparshme\" & \"e mëvonshme\"
+ Fsheh Butonat e Mëparshme & Tjetër
Butonat janë të fshehur
Butonat janë të dukshme
Fsheh butonin Transmeto
@@ -1193,7 +1193,7 @@ Nëse më vonë është çaktivizuar, është e rekomanduar të fshiheni të dh
Miniplayer
- Ndrysho stilin e lojtarit të minimizuar në aplikacion
+ Ndrysho stilin e luajtësit të minimizuar brenda aplikacionit
Lloji i \"miniplayer\"
I çaktivizuar
Paragjykja
@@ -1339,8 +1339,8 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video"
Hap linket në shfletues
- Hapja e linkeve nga jashtë
- Hapja e linkeve në aplikacion
+ Hapja e linkeve në shfletuesin e jashtëm
+ Hapja e linkeve në shfletuesin brenda aplikacionit
Hiq parametrin e gjurmimit të kërkesës
diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
index c85c780f9f..e0bec50c4d 100644
--- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
@@ -404,7 +404,7 @@ Ova funkcija je dostupna samo za starije uređaje"
Sakrij kartice samosponzorstva
Kartice samosponzorstva su skrivene
Kartice samosponzorstva su prikazane
- Sakrij baner za gledanje proizvoda
+ Sakrij baner „Pogledajte proizvode”
Baner za gledanje proizvoda je skriven
Baner za gledanje proizvoda je prikazan
Sakrij baner prodavnice na završnom ekranu
@@ -1340,8 +1340,8 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"
Otvori linkove u pregledaču
- Otvaranje linkova van aplikacije
- Otvaranje linkova u aplikaciji
+ Otvaranje linkova u spoljnom pregledaču
+ Otvaranje linkova u pregledaču u aplikaciji
Ukloni parametar upita za praćenje
@@ -1434,7 +1434,7 @@ AVC ima maksimalnu rezoluciju od 1080p, audio kodek Opus nije dostupan, a reprod
Neželjeni efekti lažiranja na Android
"• Meni „Audio snimak” nedostaje
• Ujednačena jačina zvuka nije dostupna
-• Opcija „Prisili originalan zvuk” nije dostupna"
+• Opcija „Prisili originalni zvuk” nije dostupna"
• Nema video kodeka AV1
• Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja
Prikaži u „Statistici za znalce”
diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
index 3b2d0872c5..e3096f2605 100644
--- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
@@ -404,7 +404,7 @@ Second \"item\" text"
Сакриј картице самоспонзорства
Картице самоспонзорства су скривене
Картице самоспонзорства су приказане
- Сакриј банер за гледање производа
+ Сакриј банер „Погледајте производе”
Банер за гледање производа је скривен
Банер за гледање производа је приказан
Сакриј банер продавнице на завршном екрану
@@ -1340,8 +1340,8 @@ Second \"item\" text"
Отвори линкове у прегледачу
- Отварање линкова ван апликације
- Отварање линкова у апликацији
+ Отварање линкова у спољном прегледачу
+ Отварање линкова у прегледачу у апликацији
Уклони параметар упита за праћење
@@ -1354,7 +1354,7 @@ Second \"item\" text"
Вибрација при увеличавању је омогућена
- Присили оригинални аудио језик
+ Присили оригинални језик звука
Коришћење оригиналног језика звука
Коришћење подразумеваног звука
@@ -1434,7 +1434,7 @@ AVC има максималну резолуцију од 1080p, аудио ко
Нежељени ефекти лажирања на Android
"• Мени „Аудио снимак” недостаје
• Уједначена јачина звука није доступна
-• Опција „Присили оригиналан звук” није доступна"
+• Опција „Присили оригинални звук” није доступна"
• Нема видео кодека AV1
• Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања
Прикажи у „Статистици за зналце”
diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
index 68ba3022ff..c348520e4d 100644
--- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
@@ -404,7 +404,7 @@ Den här funktionen är endast tillgänglig för äldre enheter"
Dölj självsponsrade kort
Självsponsrade kort är dolda
Självsponsrade kort är synliga
- Dölj banner för att visa produkter
+ Dölj \"Visa produkter\"-banner
Banner är dold
Banner är synlig
Dölj bannern för butik på slutskärmen
@@ -663,7 +663,7 @@ Om du ändrar den här inställningen och det inte får effekt kan du försöka
Videokvalitets sidfot visas
- Dölj tidigare & nästa videoknappar
+ Dölj Föregående & Nästa knappar
Knappar är dolda
Knappar är synliga
Dölj cast-knappen
@@ -1194,7 +1194,7 @@ Om det senare stängs av rekommenderas det att rensa appens data för att förhi
Minispelare
- Ändra stilen på appen minimerad spelare
+ Ändra stilen på den minimerade spelaren i appen
Miniplayer typ
Inaktiverad
Standard
@@ -1340,8 +1340,8 @@ Att aktivera detta kan låsa upp högre videokvalitet"
Öppna länkar i webbläsaren
- Öppna länkar externt
- Öppna länkar i appen
+ Öppna länkar i extern webbläsare
+ Öppna länkar i webbläsaren i appen
Ta bort spårningsfrågeparameter
diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
index 2a63023f68..b3d81dedb5 100644
--- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml
+++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
@@ -404,7 +404,7 @@ Second \"item\" text"
ซ่อนการ์ดที่สนับสนุนตัวเอง
การ์ดที่สนับสนุนตัวเองถูกซ่อน
การ์ดที่สนับสนุนตัวเองจะแสดง
- ซ่อนแบนเนอร์เพื่อดูผลิตภัณฑ์
+ ซ่อนแบนเนอร์ \'ดูผลิตภัณฑ์\'
แบนเนอร์ถูกซ่อน
แบนเนอร์จะแสดง
ซ่อนแบนเนอร์ร้านค้าท้ายจอ
@@ -661,7 +661,7 @@ Second \"item\" text"
ส่วนท้ายเมนูคุณภาพวิดีโอแสดงอยู่
- ซ่อนปุ่มวิดีโอก่อนหน้าและถัดไป
+ ซ่อนปุ่มก่อนหน้า & ถัดไป
ปุ่มซ่อนอยู่
ปุ่มแสดงอยู่
ซ่อนปุ่มส่ง
@@ -1193,7 +1193,7 @@ User id ของคุณเหมือนกับรหัสผ่าน
มินิเพลเยอร์
- เปลี่ยนสไตล์ของเครื่องเล่นย่อขนาดในแอป
+ เปลี่ยนรูปแบบของเครื่องเล่นขนาดเล็กในแอป
ประเภทของเครื่องเล่นย่อขนาด
ปิดการใช้งานอยู่
ค่าเริ่มต้น
@@ -1339,8 +1339,8 @@ User id ของคุณเหมือนกับรหัสผ่าน
เปิดลิงก์ในเบราว์เซอร์
- เปิดลิงก์ภายนอก
- เปิดลิงก์ในแอป
+ เปิดลิงก์ในเบราว์เซอร์ภายนอก
+ เปิดลิงก์ในเบราว์เซอร์ในแอป
ลบพารามิเตอร์การติดตามแบบสอบถาม
diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
index efd935d02d..58d1db742e 100644
--- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
+++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
@@ -404,7 +404,7 @@ Bu özellik yalnızca eski cihazlarda kullanılabilir"
Kendine sponsor kartları gizle
Kendine sponsor kartlar gizli
Kendine sponsor kartlar görünür
- Ürünleri görme afişini gizle
+ \'Ürünleri görüntüle\' başlığını gizle
Afiş gizli
Afiş görünür
Bitiş ekranındaki mağaza afişini gizle
@@ -663,7 +663,7 @@ Bu ayarı değiştirmek etkili olmazsa, Gizli moda geçmeyi deneyin."
Video kalite menüsü alt bilgisi görünür
- Önceki & Sonraki video düğmelerini gizle
+ Önceki & Sonraki düğmelerini gizle
Düğmeler gizli
Düğmeler görünür
Yayınla düğmesini gizle
@@ -1341,8 +1341,8 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir"
Bağlantıları tarayıcıda aç
- Bağlantılar harici olarak açılıyor
- Bağlantılar uygulamada açılıyor
+ Bağlantılar harici tarayıcıda açılıyor
+ Uygulama içi tarayıcıda bağlantılar açılıyor
İzleyici sorgu parametresini kaldır
diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
index b67f355b0d..8fef8bc490 100644
--- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
+++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
@@ -404,9 +404,9 @@ Second \"item\" text"
Приховати картки само спонсорства
Картки само спонсорства приховано
Картки само спонсорства показуються
- Приховати банер для перегляду товарів
- Банер для перегляду товарів приховано
- Банер для перегляду товарів показується
+ Приховати банер \"Перегляд товарів\"
+ Банер перегляду товарів приховано
+ Банер перегляду товарів показується
Приховати банер магазину на кінцевому екрані
Рекламний банер магазину на кінцевому екрані приховано
Рекламний банер магазину на кінцевому екрані показується
@@ -663,7 +663,7 @@ Second \"item\" text"
Нижній колонтитул меню якості відео показується
- Приховати кнопки попереднє та наступне
+ Приховати кнопки Попереднє та Наступне
Кнопки попереднього та наступного відео приховано
Кнопки попереднього та наступного відео показуються
Приховати кнопку \"Трансляція\"
@@ -1194,7 +1194,7 @@ Second \"item\" text"
Мініплеєр
- Змінити стиль згорнутого мініплеєра
+ Змінити стиль згорнутого мініплеєра у застосунку
Тип мініплеєра
Вимкнено
Стандартний
@@ -1340,8 +1340,8 @@ Second \"item\" text"
Відкривати посилання у браузері
- Посилання відкриваються зовні
- Посилання відкриваються у додатку
+ Посилання відкриваються у зовнішньому браузері
+ Посилання відкриваються у вбудованому браузері
Вилучити параметр відстеження
diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
index 2d5dc065ef..6a09af4123 100644
--- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
+++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
@@ -404,7 +404,7 @@ Tính năng này chỉ khả dụng cho các thiết bị cũ hơn"
Ẩn thẻ tự tài trợ
Thẻ được tài trợ được ẩn
Thẻ được tài trợ được hiện
- Ẩn biểu ngữ để xem sản phẩm
+ Ẩn biểu ngữ \'Xem sản phẩm\'
Biểu ngữ được ẩn
Biểu ngữ được hiện
Ẩn biểu ngữ cửa hàng ở cuối màn hình
@@ -663,7 +663,7 @@ Nếu việc thay đổi cài đặt này không có hiệu lực, hãy thử ch
Trình đơn chất lượng video bên dưới được hiện
- Ẩn các nút video trước đó & tiếp theo
+ Ẩn các nút Trước & Tiếp theo
Các nút được ẩn
Các nút được hiện
Ẩn nút Phát sóng
@@ -1340,8 +1340,8 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"
Mở liên kết trong trình duyệt
- Đang mở liên kết bên ngoài
- Đang mở liên kết trong ứng dụng
+ Đang mở liên kết trong trình duyệt bên ngoài
+ Đang mở liên kết trình duyệt trong ứng dụng
Loại bỏ tham số truy vấn theo dõi
diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
index 7450905166..50fd8ff9e5 100644
--- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
@@ -404,7 +404,7 @@ Second \"item\" text"
隐藏自我推广卡片
自我推广卡片已隐藏
自我推广卡片已显示
- 隐藏产品横幅
+ 隐藏“查看商品”横幅
横幅已隐藏
横幅已显示
隐藏片尾画面商店横幅
@@ -663,7 +663,7 @@ Second \"item\" text"
画质选单页脚已显示
- 隐藏上一个 &下一个视频按钮
+ 隐藏上一个和下一个按钮
按钮已隐藏
按钮已显示
隐藏「投屏」按钮
@@ -1154,8 +1154,11 @@ Second \"item\" text"
设置起始页
默认
+ 所有订阅频道
浏览频道
+ 学习
探索
+ 时尚和美容
游戏
历史记录
库
@@ -1165,11 +1168,13 @@ Second \"item\" text"
音乐
新闻
通知
+ 播放列表
搜索
购物
体育
订阅
趋势
+ 虚拟实境
稍后观看
你的剪辑
@@ -1194,7 +1199,7 @@ Second \"item\" text"
小型播放器
- 更改应用内小型播放器的样式
+ 更改应用内最小化播放器的样式
小型播放器类型
已禁用
默认
@@ -1315,9 +1320,9 @@ Second \"item\" text"
不再显示
- 启用自动重复
- 自动重复已启用
- 自动重复已禁用
+ 启用自动重复播放
+ 自动重复播放已启用
+ 自动重复播放已禁用
伪装设备尺寸
@@ -1340,8 +1345,8 @@ Second \"item\" text"
在浏览器中打开链接
- 在外部打开链接
- 在应用中打开链接
+ 在外部浏览器中打开链接
+ 在应用内浏览器中打开链接
删除跟踪查询参数
diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
index 1510ebade6..abf60e11fd 100644
--- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
@@ -400,7 +400,6 @@ Second \"item\" text"
隱藏自我贊助資訊卡
已隱藏自我贊助資訊卡
已顯示自我贊助資訊卡
- 隱藏檢視產品橫幅
已隱藏橫幅
已顯示橫幅
隱藏片尾商店橫幅
@@ -659,7 +658,6 @@ Second \"item\" text"
已顯示影片畫質選單頁尾
- 隱藏上一部和下一部影片按紐
已隱藏按鈕
已顯示按鈕
隱藏「投影」按鈕
@@ -1191,7 +1189,6 @@ Second \"item\" text"
迷你播放器
- 變更應用程式中迷你播放器的樣式
迷你播放器類型
停用
預設
@@ -1341,8 +1338,6 @@ Second \"item\" text"
在瀏覽器中開啟連結
- 在外部開啟連結
- 在應用程式中開啟連結
移除追蹤查詢參數
From aa5c001968446e5270c756256724e917009612cd Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Thu, 6 Mar 2025 08:26:09 +0200
Subject: [PATCH 03/30] fix(YouTube - Change form factor): Restore Automotive
form factor watch history menu, channel pages, and community posts (#4541)
---
.../patches/ChangeFormFactorPatch.java | 59 ++++++++++++++++--
.../youtube/shared/NavigationBar.java | 37 ++++++++++-
.../formfactor/ChangeFormFactorPatch.kt | 7 ++-
.../youtube/misc/navigation/Fingerprints.kt | 17 ++++++
.../misc/navigation/NavigationBarHookPatch.kt | 61 ++++++++++++++++++-
.../resources/addresources/values/strings.xml | 4 +-
6 files changed, 173 insertions(+), 12 deletions(-)
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ChangeFormFactorPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ChangeFormFactorPatch.java
index a974f322bc..706b135aff 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ChangeFormFactorPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ChangeFormFactorPatch.java
@@ -1,9 +1,17 @@
package app.revanced.extension.youtube.patches;
+import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton;
+
+import android.view.View;
+
import androidx.annotation.Nullable;
-import app.revanced.extension.shared.Utils;
+import java.util.Objects;
+
+import app.revanced.extension.shared.Logger;
import app.revanced.extension.youtube.settings.Settings;
+import app.revanced.extension.youtube.shared.NavigationBar;
+import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused")
public class ChangeFormFactorPatch {
@@ -41,14 +49,57 @@ public enum FormFactor {
@Nullable
private static final Integer FORM_FACTOR_TYPE = Settings.CHANGE_FORM_FACTOR.get().formFactorType;
+ private static final boolean USING_AUTOMOTIVE_TYPE = Objects.requireNonNull(
+ FormFactor.AUTOMOTIVE.formFactorType).equals(FORM_FACTOR_TYPE);
/**
* Injection point.
*/
public static int getFormFactor(int original) {
- return FORM_FACTOR_TYPE == null
- ? original
- : FORM_FACTOR_TYPE;
+ if (FORM_FACTOR_TYPE == null) return original;
+
+ if (USING_AUTOMOTIVE_TYPE) {
+ // Do not change if the player is opening or is opened,
+ // otherwise the video description cannot be opened.
+ PlayerType current = PlayerType.getCurrent();
+ if (current.isMaximizedOrFullscreen() || current == PlayerType.WATCH_WHILE_SLIDING_MINIMIZED_MAXIMIZED) {
+ Logger.printDebug(() -> "Using original form factor for player");
+ return original;
+ }
+
+ if (!NavigationBar.isSearchBarActive()) {
+ // Automotive type shows error 400 when opening a channel page and using some explore tab.
+ // This is a bug in unpatched YouTube that occurs on actual Android Automotive devices.
+ // Work around the issue by using the original form factor if not in search and the
+ // navigation back button is present.
+ if (NavigationBar.isBackButtonVisible()) {
+ Logger.printDebug(() -> "Using original form factor, as back button is visible without search present");
+ return original;
+ }
+
+ // Do not change library tab otherwise watch history is hidden.
+ // Do this check last since the current navigation button is required.
+ if (NavigationButton.getSelectedNavigationButton() == NavigationButton.LIBRARY) {
+ return original;
+ }
+ }
+ }
+
+ return FORM_FACTOR_TYPE;
}
+ /**
+ * Injection point.
+ */
+ public static void navigationTabCreated(NavigationButton button, View tabView) {
+ // On first startup of the app the navigation buttons are fetched and updated.
+ // If the user immediately opens the 'You' or opens a video, then the call to
+ // update the navigtation buttons will use the non automotive form factor
+ // and the explore tab is missing.
+ // Fixing this is not so simple because of the concurrent calls for the player and You tab.
+ // For now, always hide the explore tab.
+ if (USING_AUTOMOTIVE_TYPE && button == NavigationButton.EXPLORE) {
+ tabView.setVisibility(View.GONE);
+ }
+ }
}
\ No newline at end of file
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java
index 6f2deca16a..17a509f00e 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java
@@ -3,7 +3,9 @@
import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton.CREATE;
import android.app.Activity;
+import android.graphics.drawable.Drawable;
import android.view.View;
+import android.widget.FrameLayout;
import androidx.annotation.Nullable;
@@ -24,12 +26,22 @@
@SuppressWarnings("unused")
public final class NavigationBar {
+ /**
+ * Interface to call obfuscated methods in AppCompat Toolbar class.
+ */
+ public interface AppCompatToolbarPatchInterface {
+ Drawable patch_getNavigationIcon();
+ }
+
//
- // Search bar
+ // Search and toolbar.
//
private static volatile WeakReference searchBarResultsRef = new WeakReference<>(null);
+ private static volatile WeakReference toolbarResultsRef
+ = new WeakReference<>(null);
+
/**
* Injection point.
*/
@@ -37,6 +49,22 @@ public static void searchBarResultsViewLoaded(View searchbarResults) {
searchBarResultsRef = new WeakReference<>(searchbarResults);
}
+ /**
+ * Injection point.
+ */
+ public static void setToolbar(FrameLayout layout) {
+ AppCompatToolbarPatchInterface toolbar = Utils.getChildView(layout, false, (view) ->
+ view instanceof AppCompatToolbarPatchInterface
+ );
+
+ if (toolbar == null) {
+ Logger.printException(() -> "Could not find navigation toolbar");
+ return;
+ }
+
+ toolbarResultsRef = new WeakReference<>(toolbar);
+ }
+
/**
* @return If the search bar is on screen. This includes if the player
* is on screen and the search results are behind the player (and not visible).
@@ -47,8 +75,13 @@ public static boolean isSearchBarActive() {
return searchbarResults != null && searchbarResults.getParent() != null;
}
+ public static boolean isBackButtonVisible() {
+ AppCompatToolbarPatchInterface toolbar = toolbarResultsRef.get();
+ return toolbar != null && toolbar.patch_getNavigationIcon() != null;
+ }
+
//
- // Navigation bar buttons
+ // Navigation bar buttons.
//
/**
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt
index bf800b6432..b516e90b55 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt
@@ -6,7 +6,9 @@ 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.layout.buttons.navigation.navigationButtonsPatch
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
+import app.revanced.patches.youtube.misc.navigation.hookNavigationButtonCreated
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.util.getReference
@@ -15,7 +17,7 @@ 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;"
+private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/ChangeFormFactorPatch;"
@Suppress("unused")
val changeFormFactorPatch = bytecodePatch(
@@ -26,6 +28,7 @@ val changeFormFactorPatch = bytecodePatch(
sharedExtensionPatch,
settingsPatch,
addResourcesPatch,
+ navigationButtonsPatch
)
compatibleWith(
@@ -50,6 +53,8 @@ val changeFormFactorPatch = bytecodePatch(
)
)
+ hookNavigationButtonCreated(EXTENSION_CLASS_DESCRIPTOR)
+
createPlayerRequestBodyWithModelFingerprint.method.apply {
val formFactorEnumClass = formFactorEnumConstructorFingerprint.originalClassDef.type
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/Fingerprints.kt
index c64cf75940..9df0cda0c0 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/Fingerprints.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/Fingerprints.kt
@@ -16,6 +16,23 @@ internal val actionBarSearchResultsFingerprint = fingerprint {
literal { actionBarSearchResultsViewMicId }
}
+internal val toolbarLayoutFingerprint = fingerprint {
+ accessFlags(AccessFlags.PROTECTED, AccessFlags.CONSTRUCTOR)
+ literal { toolbarContainerId }
+}
+
+/**
+ * Matches to https://android.googlesource.com/platform/frameworks/support/+/9eee6ba/v7/appcompat/src/android/support/v7/widget/Toolbar.java#963
+ */
+internal val appCompatToolbarBackButtonFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("Landroid/graphics/drawable/Drawable;")
+ parameters()
+ custom { methodDef, classDef ->
+ classDef.type == "Landroid/support/v7/widget/Toolbar;"
+ }
+}
+
/**
* Matches to the class found in [pivotBarConstructorFingerprint].
*/
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt
index 902567eb89..d9d7c6db49 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt
@@ -8,6 +8,7 @@ import app.revanced.patcher.patch.PatchException
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.patch.resourcePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
+import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
import app.revanced.patches.shared.misc.mapping.get
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.shared.misc.mapping.resourceMappings
@@ -18,12 +19,16 @@ 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.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
+import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.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.iface.reference.TypeReference
+import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
import com.android.tools.smali.dexlib2.util.MethodUtil
internal var imageOnlyTabResourceId = -1L
@@ -32,6 +37,8 @@ internal var actionBarSearchResultsViewMicId = -1L
private set
internal var ytFillBellId = -1L
private set
+internal var toolbarContainerId = -1L
+ private set
private val navigationBarHookResourcePatch = resourcePatch {
dependsOn(resourceMappingPatch)
@@ -40,6 +47,7 @@ private val navigationBarHookResourcePatch = resourcePatch {
imageOnlyTabResourceId = resourceMappings["layout", "image_only_tab"]
actionBarSearchResultsViewMicId = resourceMappings["layout", "action_bar_search_results_view_mic"]
ytFillBellId = resourceMappings["drawable", "yt_fill_bell_black_24"]
+ toolbarContainerId = resourceMappings["id", "toolbar_container"]
}
}
@@ -47,6 +55,8 @@ internal const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/shared/NavigationBar;"
internal const val EXTENSION_NAVIGATION_BUTTON_DESCRIPTOR =
"Lapp/revanced/extension/youtube/shared/NavigationBar\$NavigationButton;"
+private const val EXTENSION_TOOLBAR_INTERFACE =
+ "Lapp/revanced/extension/youtube/shared/NavigationBar${'$'}AppCompatToolbarPatchInterface;"
lateinit var hookNavigationButtonCreated: (String) -> Unit
@@ -143,11 +153,58 @@ val navigationBarHookPatch = bytecodePatch(description = "Hooks the active navig
)
}
+ // Hook the back button visibility.
+
+ toolbarLayoutFingerprint.method.apply {
+ val index = indexOfFirstInstructionOrThrow {
+ opcode == Opcode.CHECK_CAST && getReference()?.type ==
+ "Lcom/google/android/apps/youtube/app/ui/actionbar/MainCollapsingToolbarLayout;"
+ }
+ val register = getInstruction(index).registerA
+
+ addInstruction(
+ index + 1,
+ "invoke-static { v$register }, ${EXTENSION_CLASS_DESCRIPTOR}->setToolbar(Landroid/widget/FrameLayout;)V"
+ )
+ }
+
+ // Add interface for extensions code to call obfuscated methods.
+ appCompatToolbarBackButtonFingerprint.let {
+ it.classDef.apply {
+ interfaces.add(EXTENSION_TOOLBAR_INTERFACE)
+
+ val definingClass = type
+ val obfuscatedMethodName = it.originalMethod.name
+ val returnType = "Landroid/graphics/drawable/Drawable;"
+
+ methods.add(
+ ImmutableMethod(
+ definingClass,
+ "patch_getNavigationIcon",
+ listOf(),
+ returnType,
+ AccessFlags.PUBLIC.value or AccessFlags.FINAL.value,
+ null,
+ null,
+ MutableMethodImplementation(2),
+ ).toMutable().apply {
+ addInstructions(
+ 0,
+ """
+ invoke-virtual { p0 }, $definingClass->$obfuscatedMethodName()$returnType
+ move-result-object v0
+ return-object v0
+ """
+ )
+ }
+ )
+ }
+ }
+
hookNavigationButtonCreated = { extensionClassDescriptor ->
navigationBarHookCallbackFingerprint.method.addInstruction(
0,
- "invoke-static { p0, p1 }, " +
- "$extensionClassDescriptor->navigationTabCreated" +
+ "invoke-static { p0, p1 }, $extensionClassDescriptor->navigationTabCreated" +
"(${EXTENSION_NAVIGATION_BUTTON_DESCRIPTOR}Landroid/view/View;)V",
)
}
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index 7dd13faa8f..08e3b475c1 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -1132,10 +1132,8 @@ Tablet layout
• Community posts are hidden
Automotive layout
-• Watch history menu is hidden
-• Explore tab is restored
• Shorts open in the regular player
-• Feed is organized by topics and channel"
+• Feed is organized by topics and channels"
Spoof app version
From 74ec83f964b1890311b37ccc218b54ad551feddc Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Thu, 6 Mar 2025 06:28:57 +0000
Subject: [PATCH 04/30] chore: Release v5.13.1-dev.1 [skip ci]
## [5.13.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.13.0...v5.13.1-dev.1) (2025-03-06)
### Bug Fixes
* **YouTube - Change form factor:** Restore Automotive form factor watch history menu, channel pages, and community posts ([#4541](https://github.com/ReVanced/revanced-patches/issues/4541)) ([aa5c001](https://github.com/ReVanced/revanced-patches/commit/aa5c001968446e5270c756256724e917009612cd))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d40058344d..59e250e39d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## [5.13.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.13.0...v5.13.1-dev.1) (2025-03-06)
+
+
+### Bug Fixes
+
+* **YouTube - Change form factor:** Restore Automotive form factor watch history menu, channel pages, and community posts ([#4541](https://github.com/ReVanced/revanced-patches/issues/4541)) ([aa5c001](https://github.com/ReVanced/revanced-patches/commit/aa5c001968446e5270c756256724e917009612cd))
+
# [5.13.0](https://github.com/ReVanced/revanced-patches/compare/v5.12.0...v5.13.0) (2025-03-03)
diff --git a/gradle.properties b/gradle.properties
index e1e82689a4..8fcae74f7a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.13.0
+version = 5.13.1-dev.1
From 88142ab464192b564b1b8d56a6b45663f77f5e00 Mon Sep 17 00:00:00 2001
From: alieRN <45766489+aliernfrog@users.noreply.github.com>
Date: Thu, 6 Mar 2025 09:46:33 +0300
Subject: [PATCH 05/30] feat(YouTube - Remember video quality): Add separate
Shorts default quality settings (#4543)
---
.../AbstractPreferenceFragment.java | 10 ++--
.../preference/NoTitlePreferenceCategory.java | 34 ++++++++++++
.../patches/BackgroundPlaybackPatch.java | 13 +----
.../patches/DisableAutoCaptionsPatch.java | 4 +-
.../youtube/patches/PlayerTypeHookPatch.java | 25 +++++++++
.../quality/RememberVideoQualityPatch.java | 43 ++++++++++-----
.../extension/youtube/settings/Settings.java | 7 ++-
.../extension/youtube/shared/PlayerType.kt | 14 +++--
.../youtube/shared/ShortsPlayerState.kt | 38 +++++++++++++
.../settings/preference/BasePreference.kt | 4 +-
.../settings/preference/PreferenceCategory.kt | 2 +-
.../spoofappversion/SpoofAppVersionPatch.kt | 39 +++++++++-----
.../youtube/misc/playertype/Fingerprints.kt | 7 +++
.../misc/playertype/PlayerTypeHookPatch.kt | 38 +++++++++++--
.../youtube/misc/settings/SettingsPatch.kt | 1 +
.../quality/RememberVideoQualityPatch.kt | 53 ++++++++++++++-----
.../youtube/video/speed/PlaybackSpeedPatch.kt | 23 +++++++-
.../speed/custom/CustomPlaybackSpeedPatch.kt | 15 ++++--
.../remember/RememberPlaybackSpeedPatch.kt | 22 ++++----
.../resources/addresources/values/strings.xml | 7 +++
20 files changed, 312 insertions(+), 87 deletions(-)
create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/NoTitlePreferenceCategory.java
create mode 100644 extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/ShortsPlayerState.kt
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java
index c7b570a855..2aeab61341 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java
@@ -158,16 +158,16 @@ protected boolean prefIsSetToDefault(Preference pref, Setting> setting) {
/**
* Syncs all UI Preferences to any {@link Setting} they represent.
*/
- private void updatePreferenceScreen(@NonNull PreferenceScreen screen,
+ private void updatePreferenceScreen(@NonNull PreferenceGroup group,
boolean syncSettingValue,
boolean applySettingToPreference) {
// Alternatively this could iterate thru all Settings and check for any matching Preferences,
// but there are many more Settings than UI preferences so it's more efficient to only check
// the Preferences.
- for (int i = 0, prefCount = screen.getPreferenceCount(); i < prefCount; i++) {
- Preference pref = screen.getPreference(i);
- if (pref instanceof PreferenceScreen) {
- updatePreferenceScreen((PreferenceScreen) pref, syncSettingValue, applySettingToPreference);
+ for (int i = 0, prefCount = group.getPreferenceCount(); i < prefCount; i++) {
+ Preference pref = group.getPreference(i);
+ if (pref instanceof PreferenceGroup subGroup) {
+ updatePreferenceScreen(subGroup, syncSettingValue, applySettingToPreference);
} else if (pref.hasKey()) {
String key = pref.getKey();
Setting> setting = Setting.getSettingFromPath(key);
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/NoTitlePreferenceCategory.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/NoTitlePreferenceCategory.java
new file mode 100644
index 0000000000..2c94c54a39
--- /dev/null
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/NoTitlePreferenceCategory.java
@@ -0,0 +1,34 @@
+package app.revanced.extension.shared.settings.preference;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.preference.PreferenceCategory;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * Empty preference category with no title, used to organize and group related preferences together.
+ */
+@SuppressWarnings({"unused", "deprecation"})
+public class NoTitlePreferenceCategory extends PreferenceCategory {
+ public NoTitlePreferenceCategory(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public NoTitlePreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ public NoTitlePreferenceCategory(Context context) {
+ super(context);
+ }
+
+ @Override
+ @SuppressLint("MissingSuperCall")
+ protected View onCreateView(ViewGroup parent) {
+ // Return an empty, zero-height view to eliminate spacing
+ return new View(getContext());
+ }
+}
+
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java
index 7e5f59a6e1..1ab3374d7d 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java
@@ -1,7 +1,7 @@
package app.revanced.extension.youtube.patches;
import app.revanced.extension.youtube.settings.Settings;
-import app.revanced.extension.youtube.shared.PlayerType;
+import app.revanced.extension.youtube.shared.ShortsPlayerState;
@SuppressWarnings("unused")
public class BackgroundPlaybackPatch {
@@ -23,16 +23,7 @@ public static boolean isBackgroundPlaybackAllowed(boolean original) {
// 7. Close the Short
// 8. Resume playing the regular video
// 9. Minimize the app (PIP should appear)
- if (!VideoInformation.lastVideoIdIsShort()) {
- return true; // Definitely is not a Short.
- }
-
- // TODO: Add better hook.
- // Might be a Shorts, or might be a prior regular video on screen again after a Shorts was closed.
- // This incorrectly prevents PIP if player is in WATCH_WHILE_MINIMIZED after closing a Shorts,
- // But there's no way around this unless an additional hook is added to definitively detect
- // the Shorts player is on screen. This use case is unusual anyways so it's not a huge concern.
- return !PlayerType.getCurrent().isNoneHiddenOrMinimized();
+ return !ShortsPlayerState.isOpen();
}
/**
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java
index 9d43159a5f..38cbf00a08 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java
@@ -1,7 +1,7 @@
package app.revanced.extension.youtube.patches;
import app.revanced.extension.youtube.settings.Settings;
-import app.revanced.extension.youtube.shared.PlayerType;
+import app.revanced.extension.youtube.shared.ShortsPlayerState;
@SuppressWarnings("unused")
public class DisableAutoCaptionsPatch {
@@ -14,7 +14,7 @@ public class DisableAutoCaptionsPatch {
public static boolean autoCaptionsEnabled() {
return Settings.AUTO_CAPTIONS.get()
// Do not use auto captions for Shorts.
- && !PlayerType.getCurrent().isNoneHiddenOrSlidingMinimized();
+ && ShortsPlayerState.isOpen();
}
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java
index 3f15919505..79ffd72576 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java
@@ -1,8 +1,11 @@
package app.revanced.extension.youtube.patches;
+import android.view.View;
+
import androidx.annotation.Nullable;
import app.revanced.extension.youtube.shared.PlayerType;
+import app.revanced.extension.youtube.shared.ShortsPlayerState;
import app.revanced.extension.youtube.shared.VideoState;
@SuppressWarnings("unused")
@@ -24,4 +27,26 @@ public static void setVideoState(@Nullable Enum> youTubeVideoState) {
VideoState.setFromString(youTubeVideoState.name());
}
+
+ /**
+ * Injection point.
+ *
+ * Add a listener to the shorts player overlay View.
+ * Triggered when a shorts player is attached or detached to Windows.
+ *
+ * @param view shorts player overlay (R.id.reel_watch_player).
+ */
+ public static void onShortsCreate(View view) {
+ view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
+ @Override
+ public void onViewAttachedToWindow(@Nullable View v) {
+ ShortsPlayerState.setOpen(true);
+ }
+
+ @Override
+ public void onViewDetachedFromWindow(@Nullable View v) {
+ ShortsPlayerState.setOpen(false);
+ }
+ });
+ }
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java
index f55b36d617..706c7c0d1c 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java
@@ -12,15 +12,19 @@
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.settings.BooleanSetting;
import app.revanced.extension.shared.settings.IntegerSetting;
import app.revanced.extension.youtube.patches.VideoInformation;
import app.revanced.extension.youtube.settings.Settings;
+import app.revanced.extension.youtube.shared.ShortsPlayerState;
@SuppressWarnings("unused")
public class RememberVideoQualityPatch {
private static final int AUTOMATIC_VIDEO_QUALITY_VALUE = -2;
- private static final IntegerSetting wifiQualitySetting = Settings.VIDEO_QUALITY_DEFAULT_WIFI;
- private static final IntegerSetting mobileQualitySetting = Settings.VIDEO_QUALITY_DEFAULT_MOBILE;
+ private static final IntegerSetting videoQualityWifi = Settings.VIDEO_QUALITY_DEFAULT_WIFI;
+ private static final IntegerSetting videoQualityMobile = Settings.VIDEO_QUALITY_DEFAULT_MOBILE;
+ private static final IntegerSetting shortsQualityWifi = Settings.SHORTS_QUALITY_DEFAULT_WIFI;
+ private static final IntegerSetting shortsQualityMobile = Settings.SHORTS_QUALITY_DEFAULT_MOBILE;
private static boolean qualityNeedsUpdating;
@@ -41,17 +45,29 @@ public class RememberVideoQualityPatch {
@Nullable
private static List videoQualities;
+ private static boolean shouldRememberVideoQuality() {
+ BooleanSetting preference = ShortsPlayerState.isOpen() ?
+ Settings.REMEMBER_SHORTS_QUALITY_LAST_SELECTED
+ : Settings.REMEMBER_VIDEO_QUALITY_LAST_SELECTED;
+ return preference.get();
+ }
+
private static void changeDefaultQuality(int defaultQuality) {
String networkTypeMessage;
+ boolean useShortsPreference = ShortsPlayerState.isOpen();
if (Utils.getNetworkType() == NetworkType.MOBILE) {
- mobileQualitySetting.save(defaultQuality);
+ if (useShortsPreference) shortsQualityMobile.save(defaultQuality);
+ else videoQualityMobile.save(defaultQuality);
networkTypeMessage = str("revanced_remember_video_quality_mobile");
} else {
- wifiQualitySetting.save(defaultQuality);
+ if (useShortsPreference) shortsQualityWifi.save(defaultQuality);
+ else videoQualityWifi.save(defaultQuality);
networkTypeMessage = str("revanced_remember_video_quality_wifi");
}
- Utils.showToastShort(
- str("revanced_remember_video_quality_toast", networkTypeMessage, (defaultQuality + "p")));
+ Utils.showToastShort(str(
+ useShortsPreference ? "revanced_remember_video_quality_toast_shorts" : "revanced_remember_video_quality_toast",
+ networkTypeMessage, (defaultQuality + "p")
+ ));
}
/**
@@ -62,9 +78,10 @@ private static void changeDefaultQuality(int defaultQuality) {
*/
public static int setVideoQuality(Object[] qualities, final int originalQualityIndex, Object qInterface, String qIndexMethod) {
try {
+ boolean useShortsPreference = ShortsPlayerState.isOpen();
final int preferredQuality = Utils.getNetworkType() == NetworkType.MOBILE
- ? mobileQualitySetting.get()
- : wifiQualitySetting.get();
+ ? (useShortsPreference ? shortsQualityMobile : videoQualityMobile).get()
+ : (useShortsPreference ? shortsQualityWifi : videoQualityWifi).get();
if (!userChangedDefaultQuality && preferredQuality == AUTOMATIC_VIDEO_QUALITY_VALUE) {
return originalQualityIndex; // Nothing to do.
@@ -141,17 +158,17 @@ public static int setVideoQuality(Object[] qualities, final int originalQualityI
* Injection point. Old quality menu.
*/
public static void userChangedQuality(int selectedQualityIndex) {
- if (!Settings.REMEMBER_VIDEO_QUALITY_LAST_SELECTED.get()) return;
-
- userSelectedQualityIndex = selectedQualityIndex;
- userChangedDefaultQuality = true;
+ if (shouldRememberVideoQuality()) {
+ userSelectedQualityIndex = selectedQualityIndex;
+ userChangedDefaultQuality = true;
+ }
}
/**
* Injection point. New quality menu.
*/
public static void userChangedQualityInNewFlyout(int selectedQuality) {
- if (!Settings.REMEMBER_VIDEO_QUALITY_LAST_SELECTED.get()) return;
+ if (!shouldRememberVideoQuality()) return;
changeDefaultQuality(selectedQuality); // Quality is human readable resolution (ie: 1080).
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
index 3b6b247596..b8263829d3 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
@@ -48,10 +48,13 @@
public class Settings extends BaseSettings {
// Video
public static final BooleanSetting DISABLE_HDR_VIDEO = new BooleanSetting("revanced_disable_hdr_video", FALSE);
- public static final BooleanSetting RESTORE_OLD_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_restore_old_video_quality_menu", TRUE);
- public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_video_quality_last_selected", FALSE);
public static final IntegerSetting VIDEO_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_video_quality_default_wifi", -2);
public static final IntegerSetting VIDEO_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_video_quality_default_mobile", -2);
+ public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_video_quality_last_selected", FALSE);
+ public static final IntegerSetting SHORTS_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_shorts_quality_default_wifi", -2, true);
+ public static final IntegerSetting SHORTS_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_shorts_quality_default_mobile", -2, true);
+ public static final BooleanSetting REMEMBER_SHORTS_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_shorts_quality_last_selected", FALSE);
+ public static final BooleanSetting RESTORE_OLD_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_restore_old_video_quality_menu", TRUE);
// Speed
public static final FloatSetting SPEED_TAP_AND_HOLD = new FloatSetting("revanced_speed_tap_and_hold", 2.0f, true);
public static final BooleanSetting REMEMBER_PLAYBACK_SPEED_LAST_SELECTED = new BooleanSetting("revanced_remember_playback_speed_last_selected", FALSE);
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt
index a08a197309..147abc13f0 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt
@@ -5,7 +5,7 @@ import app.revanced.extension.youtube.Event
import app.revanced.extension.youtube.patches.VideoInformation
/**
- * Main player type.
+ * Regular player type.
*/
enum class PlayerType {
/**
@@ -90,8 +90,6 @@ enum class PlayerType {
* Does not include the first moment after a short is opened when a regular video is minimized on screen,
* or while watching a short with a regular video present on a spoofed 16.x version of YouTube.
* To include those situations instead use [isNoneHiddenOrMinimized].
- *
- * @see VideoInformation
*/
fun isNoneOrHidden(): Boolean {
return this == NONE || this == HIDDEN
@@ -107,8 +105,11 @@ enum class PlayerType {
* when spoofing to an old version this will return false even
* though a Short is being opened or is on screen (see [isNoneHiddenOrMinimized]).
*
+ * Instead of this method, consider using {@link ShortsPlayerState}
+ * which may work better for some situations.
+ *
* @return If nothing, a Short, or a regular video is sliding off screen to a dismissed or hidden state.
- * @see VideoInformation
+ * @see ShortsPlayerState
*/
fun isNoneHiddenOrSlidingMinimized(): Boolean {
return isNoneOrHidden() || this == WATCH_WHILE_SLIDING_MINIMIZED_DISMISSED
@@ -125,9 +126,12 @@ enum class PlayerType {
* Typically used to detect if a Short is playing when the player cannot be in a minimized state,
* such as the user interacting with a button or element of the player.
*
+ * Instead of this method, consider using {@link ShortsPlayerState}
+ * which may work better for some situations.
+ *
* @return If nothing, a Short, a regular video is sliding off screen to a dismissed or hidden state,
* a regular video is minimized (and a new video is not being opened).
- * @see VideoInformation
+ * @see ShortsPlayerState
*/
fun isNoneHiddenOrMinimized(): Boolean {
return isNoneHiddenOrSlidingMinimized() || this == WATCH_WHILE_MINIMIZED
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/ShortsPlayerState.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/ShortsPlayerState.kt
new file mode 100644
index 0000000000..48927d88aa
--- /dev/null
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/ShortsPlayerState.kt
@@ -0,0 +1,38 @@
+package app.revanced.extension.youtube.shared
+
+import app.revanced.extension.shared.Logger
+import app.revanced.extension.youtube.Event
+
+/**
+ * Shorts player state.
+ */
+class ShortsPlayerState {
+ companion object {
+
+ @JvmStatic
+ fun setOpen(open: Boolean) {
+ if (isOpen != open) {
+ Logger.printDebug { "ShortsPlayerState open changed to: $isOpen" }
+ isOpen = open
+ onChange(open)
+ }
+ }
+
+ @Volatile
+ private var isOpen = false
+
+ /**
+ * Shorts player state change listener.
+ */
+ @JvmStatic
+ val onChange = Event()
+
+ /**
+ * If the Shorts player is currently open.
+ */
+ @JvmStatic
+ fun isOpen(): Boolean {
+ return isOpen
+ }
+ }
+}
\ No newline at end of file
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/BasePreference.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/BasePreference.kt
index 7c5cbf2cd2..a07bdc4fe1 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/BasePreference.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/BasePreference.kt
@@ -17,7 +17,7 @@ import org.w3c.dom.Element
@Suppress("MemberVisibilityCanBePrivate")
abstract class BasePreference(
val key: String? = null,
- val titleKey: String = "${key}_title",
+ val titleKey: String? = "${key}_title",
val summaryKey: String? = "${key}_summary",
val icon: String? = null,
val layout: String? = null,
@@ -35,7 +35,7 @@ abstract class BasePreference(
open fun serialize(ownerDocument: Document, resourceCallback: (BaseResource) -> Unit): Element =
ownerDocument.createElement(tag).apply {
key?.let { setAttribute("android:key", it) }
- setAttribute("android:title", "@string/${titleKey}")
+ titleKey?.let { setAttribute("android:title", "@string/${titleKey}") }
summaryKey?.let { addSummary(it) }
icon?.let {
setAttribute("android:icon", it)
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/PreferenceCategory.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/PreferenceCategory.kt
index 8b2deb96e2..ef51eca8cf 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/PreferenceCategory.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/preference/PreferenceCategory.kt
@@ -17,7 +17,7 @@ import org.w3c.dom.Document
@Suppress("MemberVisibilityCanBePrivate")
open class PreferenceCategory(
key: String? = null,
- titleKey: String = "${key}_title",
+ titleKey: String? = "${key}_title",
icon: String? = null,
layout: String? = null,
sorting: Sorting = Sorting.BY_TITLE,
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt
index 48caf9c1b7..6ce2982a14 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt
@@ -12,6 +12,8 @@ import app.revanced.patches.shared.misc.mapping.get
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.shared.misc.mapping.resourceMappings
import app.revanced.patches.shared.misc.settings.preference.ListPreference
+import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
+import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.playservice.is_19_17_or_greater
@@ -71,20 +73,31 @@ val spoofAppVersionPatch = bytecodePatch(
addResources("youtube", "layout.spoofappversion.spoofAppVersionPatch")
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
- SwitchPreference("revanced_spoof_app_version"),
- if (is_19_17_or_greater) {
- ListPreference(
- key = "revanced_spoof_app_version_target",
- summaryKey = null,
+ // Group the switch and list preference together, since General menu is sorted by name
+ // and the preferences can be scattered apart with non English langauges.
+ PreferenceCategory(
+ key = null,
+ // The title does not show, but is used for sorting the group.
+ titleKey = "revanced_spoof_app_version_title",
+ sorting = Sorting.UNSORTED,
+ tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
+ preferences = setOf(
+ SwitchPreference("revanced_spoof_app_version"),
+ if (is_19_17_or_greater) {
+ ListPreference(
+ key = "revanced_spoof_app_version_target",
+ summaryKey = null,
+ )
+ } else {
+ ListPreference(
+ key = "revanced_spoof_app_version_target",
+ summaryKey = null,
+ entriesKey = "revanced_spoof_app_version_target_legacy_entries",
+ entryValuesKey = "revanced_spoof_app_version_target_legacy_entry_values"
+ )
+ }
)
- } else {
- ListPreference(
- key = "revanced_spoof_app_version_target",
- summaryKey = null,
- entriesKey = "revanced_spoof_app_version_target_legacy_entries",
- entryValuesKey = "revanced_spoof_app_version_target_legacy_entry_values"
- )
- }
+ )
)
/**
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/Fingerprints.kt
index 2faae3acc4..522d06b204 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/Fingerprints.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/Fingerprints.kt
@@ -1,6 +1,7 @@
package app.revanced.patches.youtube.misc.playertype
import app.revanced.patcher.fingerprint
+import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
@@ -15,6 +16,12 @@ internal val playerTypeFingerprint = fingerprint {
custom { _, classDef -> classDef.endsWith("/YouTubePlayerOverlaysLayout;") }
}
+internal val reelWatchPagerFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("Landroid/view/View;")
+ literal { reelWatchPlayerId }
+}
+
internal val videoStateFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt
index e021928a8b..f8dcf8b7e4 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt
@@ -4,15 +4,34 @@ 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.patch.bytecodePatch
+import app.revanced.patcher.patch.resourcePatch
+import app.revanced.patches.shared.misc.mapping.get
+import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
+import app.revanced.patches.shared.misc.mapping.resourceMappings
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
+import app.revanced.util.indexOfFirstInstructionOrThrow
+import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
+import com.android.tools.smali.dexlib2.Opcode
+import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/PlayerTypeHookPatch;"
+internal var reelWatchPlayerId = -1L
+ private set
+
+private val playerTypeHookResourcePatch = resourcePatch {
+ dependsOn(resourceMappingPatch)
+
+ execute {
+ reelWatchPlayerId = resourceMappings["id", "reel_watch_player"]
+ }
+}
+
val playerTypeHookPatch = bytecodePatch(
description = "Hook to get the current player type and video playback state.",
) {
- dependsOn(sharedExtensionPatch)
+ dependsOn(sharedExtensionPatch, playerTypeHookResourcePatch)
execute {
playerTypeFingerprint.method.addInstruction(
@@ -20,6 +39,17 @@ val playerTypeHookPatch = bytecodePatch(
"invoke-static {p1}, $EXTENSION_CLASS_DESCRIPTOR->setPlayerType(Ljava/lang/Enum;)V",
)
+ reelWatchPagerFingerprint.method.apply {
+ val literalIndex = indexOfFirstLiteralInstructionOrThrow(reelWatchPlayerId)
+ val registerIndex = indexOfFirstInstructionOrThrow(literalIndex, Opcode.MOVE_RESULT_OBJECT)
+ val viewRegister = getInstruction(registerIndex).registerA
+
+ addInstruction(
+ registerIndex + 1,
+ "invoke-static { v$viewRegister }, $EXTENSION_CLASS_DESCRIPTOR->onShortsCreate(Landroid/view/View;)V"
+ )
+ }
+
videoStateFingerprint.method.apply {
val endIndex = videoStateFingerprint.patternMatch!!.endIndex
val videoStateFieldName = getInstruction(endIndex).reference
@@ -27,9 +57,9 @@ val playerTypeHookPatch = bytecodePatch(
addInstructions(
0,
"""
- iget-object v0, p1, $videoStateFieldName # copy VideoState parameter field
- invoke-static {v0}, $EXTENSION_CLASS_DESCRIPTOR->setVideoState(Ljava/lang/Enum;)V
- """,
+ iget-object v0, p1, $videoStateFieldName # copy VideoState parameter field
+ invoke-static {v0}, $EXTENSION_CLASS_DESCRIPTOR->setVideoState(Ljava/lang/Enum;)V
+ """
)
}
}
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt
index 6830628635..47eee24eea 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt
@@ -323,6 +323,7 @@ object PreferenceScreen : BasePreferenceScreen() {
val VIDEO = Screen(
key = "revanced_settings_screen_12_video",
summaryKey = null,
+ sorting = Sorting.BY_KEY,
)
override fun commit(screen: PreferenceScreenPreference) {
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt
index f4299dc657..d7c5a354a3 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt
@@ -8,8 +8,11 @@ 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.shared.misc.settings.preference.PreferenceCategory
+import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
+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.newVideoQualityChangedFingerprint
@@ -29,6 +32,7 @@ val rememberVideoQualityPatch = bytecodePatch(
dependsOn(
sharedExtensionPatch,
videoInformationPatch,
+ playerTypeHookPatch,
settingsPatch,
addResourcesPatch,
)
@@ -49,19 +53,42 @@ val rememberVideoQualityPatch = bytecodePatch(
addResources("youtube", "video.quality.rememberVideoQualityPatch")
PreferenceScreen.VIDEO.addPreferences(
- SwitchPreference("revanced_remember_video_quality_last_selected"),
- ListPreference(
- key = "revanced_video_quality_default_wifi",
- summaryKey = null,
- entriesKey = "revanced_video_quality_default_entries",
- entryValuesKey = "revanced_video_quality_default_entry_values",
- ),
- ListPreference(
- key = "revanced_video_quality_default_mobile",
- summaryKey = null,
- entriesKey = "revanced_video_quality_default_entries",
- entryValuesKey = "revanced_video_quality_default_entry_values",
- ),
+ // Keep the preferences organized together.
+ PreferenceCategory(
+ key = "revanced_01_video_key", // Dummy key to force the quality preferences first.
+ titleKey = null,
+ sorting = Sorting.UNSORTED,
+ tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
+ preferences = setOf(
+ ListPreference(
+ key = "revanced_video_quality_default_mobile",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ ListPreference(
+ key = "revanced_video_quality_default_wifi",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ SwitchPreference("revanced_remember_video_quality_last_selected"),
+
+ ListPreference(
+ key = "revanced_shorts_quality_default_mobile",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ ListPreference(
+ key = "revanced_shorts_quality_default_wifi",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ SwitchPreference("revanced_remember_shorts_quality_last_selected")
+ )
+ )
)
/*
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt
index 476d431579..a5868887ea 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt
@@ -1,10 +1,19 @@
package app.revanced.patches.youtube.video.speed
import app.revanced.patcher.patch.bytecodePatch
+import app.revanced.patches.shared.misc.settings.preference.BasePreference
+import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
+import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
+import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.video.speed.button.playbackSpeedButtonPatch
import app.revanced.patches.youtube.video.speed.custom.customPlaybackSpeedPatch
import app.revanced.patches.youtube.video.speed.remember.rememberPlaybackSpeedPatch
+/**
+ * Speed menu settings. Used to organize all speed related settings together.
+ */
+internal val settingsMenuVideoSpeedGroup = mutableSetOf()
+
@Suppress("unused")
val playbackSpeedPatch = bytecodePatch(
name = "Playback speed",
@@ -26,6 +35,18 @@ val playbackSpeedPatch = bytecodePatch(
"19.45.38",
"19.46.42",
"19.47.53",
- ),
+ )
)
+
+ finalize {
+ PreferenceScreen.VIDEO.addPreferences(
+ PreferenceCategory(
+ key = "revanced_zz_key", // Dummy key to force the speed settings last.
+ titleKey = null,
+ sorting = Sorting.UNSORTED,
+ tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
+ preferences = settingsMenuVideoSpeedGroup
+ )
+ )
+ }
}
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt
index 695642c5af..84a560894e 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt
@@ -25,8 +25,8 @@ import app.revanced.patches.youtube.misc.playservice.is_19_25_or_greater
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
import app.revanced.patches.youtube.misc.recyclerviewtree.hook.addRecyclerViewTreeHook
import app.revanced.patches.youtube.misc.recyclerviewtree.hook.recyclerViewTreeHookPatch
-import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
+import app.revanced.patches.youtube.video.speed.settingsMenuVideoSpeedGroup
import app.revanced.util.*
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.iface.instruction.NarrowLiteralInstruction
@@ -71,13 +71,18 @@ internal val customPlaybackSpeedPatch = bytecodePatch(
execute {
addResources("youtube", "video.speed.custom.customPlaybackSpeedPatch")
- PreferenceScreen.VIDEO.addPreferences(
- SwitchPreference("revanced_custom_speed_menu"),
- TextPreference("revanced_custom_playback_speeds", inputType = InputType.TEXT_MULTI_LINE),
+ settingsMenuVideoSpeedGroup.addAll(
+ listOf(
+ SwitchPreference("revanced_custom_speed_menu"),
+ TextPreference(
+ "revanced_custom_playback_speeds",
+ inputType = InputType.TEXT_MULTI_LINE
+ ),
+ )
)
if (is_19_25_or_greater) {
- PreferenceScreen.VIDEO.addPreferences(
+ settingsMenuVideoSpeedGroup.add(
TextPreference("revanced_speed_tap_and_hold", inputType = InputType.NUMBER_DECIMAL),
)
}
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt
index 75fcf392ae..94c69dd69b 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt
@@ -9,10 +9,10 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.misc.settings.preference.ListPreference
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.video.information.*
import app.revanced.patches.youtube.video.speed.custom.customPlaybackSpeedPatch
+import app.revanced.patches.youtube.video.speed.settingsMenuVideoSpeedGroup
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
private const val EXTENSION_CLASS_DESCRIPTOR =
@@ -30,15 +30,17 @@ internal val rememberPlaybackSpeedPatch = bytecodePatch {
execute {
addResources("youtube", "video.speed.remember.rememberPlaybackSpeedPatch")
- PreferenceScreen.VIDEO.addPreferences(
- SwitchPreference("revanced_remember_playback_speed_last_selected"),
- ListPreference(
- key = "revanced_playback_speed_default",
- summaryKey = null,
- // Entries and values are set by the extension code based on the actual speeds available.
- entriesKey = null,
- entryValuesKey = null,
- ),
+ settingsMenuVideoSpeedGroup.addAll(
+ listOf(
+ ListPreference(
+ key = "revanced_playback_speed_default",
+ summaryKey = null,
+ // Entries and values are set by the extension code based on the actual speeds available.
+ entriesKey = null,
+ entryValuesKey = null,
+ ),
+ SwitchPreference("revanced_remember_playback_speed_last_selected")
+ )
)
onCreateHook(EXTENSION_CLASS_DESCRIPTOR, "newVideoStarted")
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index 08e3b475c1..5fa38af85c 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -1373,15 +1373,22 @@ Enabling this can unlock higher video qualities"
+ Video quality
Auto
Remember video quality changes
Quality changes apply to all videos
Quality changes only apply to the current video
Default video quality on Wi-Fi network
Default video quality on mobile network
+ Remember Shorts quality changes
+ Quality changes apply to all Shorts videos
+ Quality changes only apply to the current Shorts video
+ Default Shorts quality on Wi-Fi network
+ Default Shorts quality on mobile network
mobile
wifi
Changed default %1$s quality to: %2$s
+ Changed Shorts %1$s quality to: %2$s
Show speed dialog button
From 8e50cc70fb69de4d6ff16b2be19e6f0e1e3f6401 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Thu, 6 Mar 2025 06:49:39 +0000
Subject: [PATCH 06/30] chore: Release v5.14.0-dev.1 [skip ci]
# [5.14.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.13.1-dev.1...v5.14.0-dev.1) (2025-03-06)
### Features
* **YouTube - Remember video quality:** Add separate Shorts default quality settings ([#4543](https://github.com/ReVanced/revanced-patches/issues/4543)) ([88142ab](https://github.com/ReVanced/revanced-patches/commit/88142ab464192b564b1b8d56a6b45663f77f5e00))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 59e250e39d..5d85bfb502 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.14.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.13.1-dev.1...v5.14.0-dev.1) (2025-03-06)
+
+
+### Features
+
+* **YouTube - Remember video quality:** Add separate Shorts default quality settings ([#4543](https://github.com/ReVanced/revanced-patches/issues/4543)) ([88142ab](https://github.com/ReVanced/revanced-patches/commit/88142ab464192b564b1b8d56a6b45663f77f5e00))
+
## [5.13.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.13.0...v5.13.1-dev.1) (2025-03-06)
diff --git a/gradle.properties b/gradle.properties
index 8fcae74f7a..513f50d9f3 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.13.1-dev.1
+version = 5.14.0-dev.1
From 523723588865fb30c7082f37dd4f74dbbfcb3350 Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Thu, 6 Mar 2025 11:25:22 +0200
Subject: [PATCH 07/30] ci: Pull Crowdin strings less often
Crowdin is starting to give errors and pulling less often may help.
---
.github/workflows/pull_strings.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/pull_strings.yml b/.github/workflows/pull_strings.yml
index ace03dbc05..ab40435fdf 100644
--- a/.github/workflows/pull_strings.yml
+++ b/.github/workflows/pull_strings.yml
@@ -2,7 +2,7 @@ name: Pull strings
on:
schedule:
- - cron: "0 */6 * * *"
+ - cron: "0 */8 * * *"
workflow_dispatch:
jobs:
From f1b57e84e74ea3c68677e95eefd042dc15f946f5 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Mar 2025 11:26:20 +0200
Subject: [PATCH 08/30] chore: Sync translations (#4553)
---
.../addresources/values-ar-rSA/strings.xml | 21 ++++++++++------
.../addresources/values-az-rAZ/strings.xml | 10 --------
.../addresources/values-be-rBY/strings.xml | 17 ++++++++-----
.../addresources/values-bg-rBG/strings.xml | 13 +++++++---
.../addresources/values-bn-rBD/strings.xml | 19 ++++++++------
.../addresources/values-ca-rES/strings.xml | 19 ++++++++------
.../addresources/values-cs-rCZ/strings.xml | 11 +++++---
.../addresources/values-da-rDK/strings.xml | 15 +++++++----
.../addresources/values-de-rDE/strings.xml | 19 ++++++++------
.../addresources/values-el-rGR/strings.xml | 19 ++++++++------
.../addresources/values-es-rES/strings.xml | 13 +++++++---
.../addresources/values-et-rEE/strings.xml | 15 +++++++----
.../addresources/values-fi-rFI/strings.xml | 10 --------
.../addresources/values-fil-rPH/strings.xml | 17 ++++++++-----
.../addresources/values-fr-rFR/strings.xml | 11 +++++---
.../addresources/values-ga-rIE/strings.xml | 21 ++++++++++------
.../addresources/values-hu-rHU/strings.xml | 17 ++++++++-----
.../addresources/values-hy-rAM/strings.xml | 20 +++++++++------
.../addresources/values-in-rID/strings.xml | 25 +++++++++++--------
.../addresources/values-it-rIT/strings.xml | 15 +++++++----
.../addresources/values-iw-rIL/strings.xml | 10 --------
.../addresources/values-ja-rJP/strings.xml | 19 ++++++++------
.../addresources/values-ko-rKR/strings.xml | 21 ++++++++++------
.../addresources/values-lt-rLT/strings.xml | 21 ++++++++++------
.../addresources/values-lv-rLV/strings.xml | 13 +++++++---
.../addresources/values-nl-rNL/strings.xml | 21 ++++++++++------
.../addresources/values-pl-rPL/strings.xml | 17 ++++++++-----
.../addresources/values-pt-rBR/strings.xml | 21 ++++++++++------
.../addresources/values-pt-rPT/strings.xml | 13 +++++++---
.../addresources/values-ro-rRO/strings.xml | 13 +++++++---
.../addresources/values-ru-rRU/strings.xml | 9 +++++--
.../addresources/values-sk-rSK/strings.xml | 15 +++++++----
.../addresources/values-sl-rSI/strings.xml | 15 +++++++----
.../addresources/values-sq-rAL/strings.xml | 21 ++++++++++------
.../addresources/values-sr-rCS/strings.xml | 19 ++++++++------
.../addresources/values-sr-rSP/strings.xml | 19 ++++++++------
.../addresources/values-sv-rSE/strings.xml | 17 ++++++++-----
.../addresources/values-th-rTH/strings.xml | 19 ++++++++------
.../addresources/values-tr-rTR/strings.xml | 15 +++++++----
.../addresources/values-uk-rUA/strings.xml | 13 +++++++---
.../addresources/values-vi-rVN/strings.xml | 11 +++++---
.../addresources/values-zh-rCN/strings.xml | 15 +++++++----
.../addresources/values-zh-rTW/strings.xml | 10 --------
43 files changed, 424 insertions(+), 270 deletions(-)
diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
index 852c88b513..e19115da39 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -1116,16 +1116,14 @@ Second \"item\" text"
الجوّال
الجهاز اللوحي
Automotive
- "تتضمن التغييرات:
+ "التغييرات تشمل:
-تخطيط الجهاز اللوحي
-• إخفاء منشورات المجتمع
+تصميم الجهاز اللوحي
+• مشاركات المجتمع مخفية
-تخطيط Automotive
-• إخفاء قائمة سجل المشاهدة
-• استعادة علامة التبويب \"استكشاف\"
-• فتح فيديوهات Shorts في المشغل العادي
-• تنظيم الخلاصة حسب الموضوعات والقناة"
+تصميم السيارة
+• يتم فتح Shorts في المشغل العادي
+• يتم تنظيم الخلاصة حسب المواضيع والقنوات"
خِداع إصدار التطبيق
@@ -1362,15 +1360,22 @@ Second \"item\" text"
+ جودة الفيديو
تلقائي
تذكر تغييرات جودة الفيديو
تنطبق تغييرات الجودة على جميع الفيديوهات
تنطبق تغييرات الجودة على الفيديو الحالي فقط
جودة الفيديو الافتراضية على شبكة Wi-Fi
جودة الفيديو الافتراضية على شبكة الجوَّال
+ تذكر تغييرات جودة Shorts
+ تطبق تغييرات الجودة على جميع فيديوهات Shorts
+ تطبق تغييرات الجودة على فيديو Shorts الحالي فقط
+ جودة Shorts الافتراضية على شبكة Wi-Fi
+ جودة Shorts الافتراضية على شبكة الجوال
الجوّال
Wi-Fi
تم تغيير جودة %1$s الافتراضية إلى: %2$s
+ تم تغيير جودة Shorts %1$s إلى: %2$s
عرض زر مربع حوار السرعة
diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
index bc594ef580..1131053944 100644
--- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
@@ -1113,16 +1113,6 @@ Təqdim etməyə hazırdır?"
Telefon
Planşet
Avtomobil
- "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"
Tətbiq versiyasını saxtalaşdır
diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
index 77d7df477c..6668b62f43 100644
--- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml
+++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
@@ -1119,13 +1119,11 @@ Second \"item\" text"
Аўтамабільны
"Змены ўключаюць:
-Раскладка планшэта
-• Паведамленні супольнасці схаваны
+Макет для планшэта
+• Паведамленні супольнасці схаваныя
-Раскладка аўтамабіля
-• Меню гісторыі праглядаў схавана
-• Адноўлена ўкладка «Даследаваць»
-• Ролікі Shorts адкрываюцца ў звычайным прайгравальніку
+Аўтамабільны макет
+• Shorts адкрываюцца ў звычайным плэеры
• Стужка арганізавана па тэмах і каналах"
@@ -1364,15 +1362,22 @@ Second \"item\" text"
+ Якасць відэа
Аўто
Запомніце змены якасці відэа
Змены якасці распаўсюджваюцца на ўсе відэа
Змены якасці прымяняюцца толькі да бягучага відэа
Стандартная якасць відэа ў сетцы Wi-Fi
Стандартная якасць відэа ў мабільнай сетцы
+ Запомніць змены якасці Shorts
+ Змены якасці прымяняюцца да ўсіх відэа Shorts
+ Змены якасці прымяняюцца толькі да бягучага відэа Shorts
+ Якасць Shorts па змаўчанні ў сетцы Wi-Fi
+ Якасць Shorts па змаўчанні ў мабільнай сетцы
мабільны
wi-fi
Стандартная якасць %1$s зменена на: %2$s
+ Якасць Shorts %1$s зменена на: %2$s
Паказаць дыялогавую кнопку хуткасці
diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
index ee366c5500..0d5871dfa9 100644
--- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
+++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
@@ -1121,11 +1121,9 @@ Second \"item\" text"
Оформление за таблет
• Публикациите на общността са скрити
-Оформление за автомобил
-• Менюто „История на гледане“ е скрито
-• Разделът „Разгледай“ е възстановен
+Автомобилно оформление
• Shorts се отварят в обикновения плейър
-• Лентата е организирана по теми и канал"
+• Каналът е организиран по теми и канали"
Подлъгване за версията на приложението
@@ -1363,15 +1361,22 @@ Second \"item\" text"
+ Качество на видеоклипа
Авто
Запомни промените в качеството на видеото
Промените в качеството се отнасят за всички видеоклипове
Промените в качеството се отнасят само за текущия видеоклип
Предпочитано качество при Wi-Fi
Предпочитано качество при мобилни данни
+ Запомняне на промените в качеството на Shorts
+ Промените в качеството се прилагат към всички Shorts видеа
+ Промените в качеството се прилагат само към текущото Shorts видео
+ Качество по подразбиране на Shorts във Wi-Fi мрежа
+ Качество по подразбиране на Shorts в мобилна мрежа
мобилни данни
wi-fi
Променено стандартно %1$s качество на: %2$s
+ Променено качество на Shorts %1$s на: %2$s
Показване бутон за скорост
diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
index 8c50f51463..96ea7fa74a 100644
--- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
+++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
@@ -1112,16 +1112,14 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
ফোন
ট্যাবলেট
স্বয়ংচালিত
- "পরিবর্তনগুলো হল:
+ "পরিবর্তনগুলির মধ্যে রয়েছে:
ট্যাবলেট লেআউট
-• কমিউনিটি পোস্ট গোপন
+• কমিউনিটির পোস্টগুলি লুকানো আছে
-স্বয়ংচালিত লেআউট
-• ঘড়ির ইতিহাস মেনু গোপন
-• এক্সপ্লোর ট্যাব পুনরুদ্ধার করা হয়েছে
-• শর্টস নিয়মিত প্লেয়ারে খোলে
-• ফিড বিষয় এবং চ্যানেল দ্বারা সংগঠিত হয়"
+অটোমোটিভ লেআউট
+• Shorts নিয়মিত প্লেয়ারে খোলে
+• ফিড বিষয় এবং চ্যানেল দ্বারা সংগঠিত"
অ্যাপ সংস্করণ স্পুফ করুন
@@ -1359,15 +1357,22 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
+ ভিডিওর গুণমান
স্বতস্ফূর্তভাবে
ভিডিও গুণমান পরিবর্তন মনে রাখুন
গুণমান পরিবর্তন সব ভিডিওতে প্রয়োগ করা হয়েছে
গুণমান পরিবর্তন বর্তমান ভিডিওতে প্রয়োগ করা হয়েছে
ওয়াই-ফাই নেটওয়ার্কে ডিফল্ট ভিডিও গুণমান
মোবাইল নেটওয়ার্কে ডিফল্ট ভিডিও গুণমান
+ Shorts গুণমান পরিবর্তনের কথা মনে রাখুন
+ গুণমানের পরিবর্তন সমস্ত Shorts ভিডিওগুলিতে প্রযোজ্য
+ গুণমানের পরিবর্তনগুলি কেবল বর্তমান Shorts ভিডিওটিতে প্রযোজ্য
+ Wi-Fi নেটওয়ার্কে ডিফল্ট Shorts গুণমান
+ মোবাইল নেটওয়ার্কে ডিফল্ট Shorts গুণমান
মোবাইল
ওয়াই-ফাই
ডিফল্ট %1$s গুণমান পরিবর্তন হচ্ছে: %2$s
+ Shorts %1$s এর গুণমান পরিবর্তন করে: %2$s
স্পিড ডায়ালগ বোতাম দেখান
diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
index a6d7e1777a..f8d10ae551 100644
--- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
@@ -1117,14 +1117,12 @@ Preparat per enviar?"
Automoció
"Els canvis inclouen:
-Presentació de la tauleta
-• Les publicacions de la comunitat estan amagades
+Disposició de tauleta
+• Les publicacions de la comunitat s'han ocultat
-Presentació de l'automòbil
-• El menú d'historial del rellotge està ocult
-• La pestanya Explora s'ha restaurat
-• Els Shorts s'obren al reproductor normal
-• La font d'informació s'organitza per temes i canals"
+Disposició per a automoció
+• Els \"Shorts\" s'obren al reproductor normal
+• La font està organitzada per temes i canals"
Falsa la versió de l\'aplicació
@@ -1362,15 +1360,22 @@ Si actives aquesta opció, es poden desbloquejar qualitats de vídeo més altes"
+ Qualitat de vídeo
Automàtic
Recorda els canvis de qualitat de vídeo
Els canvis de qualitat s\'apliquen a tots els vídeos
Els canvis de qualitat només s\'apliquen al vídeo actual
Qualitat de vídeo predeterminada a la xarxa Wi-Fi
Qualitat de vídeo predeterminada a la xarxa mòbil
+ Recorda els canvis de qualitat de Shorts
+ Els canvis de qualitat s\'apliquen a tots els vídeos de Shorts
+ Els canvis de qualitat només s\'apliquen al vídeo actual de Shorts
+ Qualitat predeterminada de Shorts a la xarxa Wi-Fi
+ Qualitat predeterminada de Shorts a la xarxa mòbil
mòbil
wifi
S\'ha canviat la qualitat predeterminada de %1$s a: %2$s
+ S\'ha canviat la qualitat de Shorts %1$s a: %2$s
Mostra el botó del diàleg de velocitat
diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
index 806739f16e..52f2b4a114 100644
--- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
@@ -1121,10 +1121,8 @@ 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"
+• Kanál je uspořádán podle témat a kanálů"
Napodobit verzi aplikace
@@ -1362,15 +1360,22 @@ Povolením této funkce lze odemknout vyšší kvality videa"
+ Kvalita videa
Automaticky
Pamatovat si změny kvality videa
Změny kvality se vztahují na všechna videa
Změny kvality se vztahují pouze na aktuální video
Výchozí kvalita videa v síti Wi-Fi
Výchozí kvalita videa v mobilní síti
+ Zapamatovat si změny kvality u položky Shorts
+ Změny kvality se použijí u všech videí Shorts
+ Změny kvality se vztahují pouze na aktuální video Shorts
+ Výchozí kvalita Shorts v síti Wi-Fi
+ Výchozí kvalita Shorts v mobilní síti
mobilní
Wi-Fi
Výchozí kvalita %1$s změněna na: %2$s
+ Změněna kvalita Shorts %1$s na: %2$s
Zobrazit tlačítko dialogu rychlosti
diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
index c726e5226c..fe0c764666 100644
--- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml
+++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
@@ -1062,13 +1062,11 @@ Er du klar til at indsende?"
"Ændringer omfatter:
Tabletlayout
-• Fællesindlæg er skjult
+• Fællesskabsopslag er skjulte
-Bil layout
-• Se historik-menuen er skjult
-• Udforsk-fanen er gendannet
+Automotive-layout
• Shorts åbnes i den almindelige afspiller
-• Feedet er organiseret efter emner og kanal"
+• Feed er organiseret efter emner og kanaler"
Spoof app-version
@@ -1302,15 +1300,22 @@ Aktivering af dette kan låse op for højere videokvalitet"
+ Videokvalitet
Automatisk
Husk ændringer i videokvalitet
Kvalitetsændringer gælder for alle videoer
Kvalitetsændringer gælder kun for den aktuelle video
Standard videokvalitet på Wi-Fi-netværk
Standard videokvalitet på mobilnetværk
+ Husk kvalitetsændringer for Shorts
+ Kvalitetsændringer gælder for alle Shorts-videoer
+ Kvalitetsændringer gælder kun for den aktuelle Shorts-video
+ Standard Shorts-kvalitet på Wi-Fi-netværk
+ Standard Shorts-kvalitet på mobilnetværk
mobil
Wi-Fi
Ændrede standard %1$s kvalitet til: %2$s
+ Ændrede Shorts %1$s kvalitet til: %2$s
Vis hastigheds dialogknap
diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
index bce104cd07..0d42f91676 100644
--- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml
+++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
@@ -1109,16 +1109,14 @@ Bereit zum Einreichen?"
Telefon
Tablets
Automobil
- "Änderungen umfassen:
+ "Zu den Änderungen gehören:
Tablet-Layout
-• Community-Beiträge werden ausgeblendet
+• Community-Beiträge sind 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"
+Automotive-Layout
+• Shorts werden im normalen Player geöffnet
+• Feed ist nach Themen und Kanälen geordnet"
Spoof-App-Version
@@ -1356,15 +1354,22 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
+ Videoqualität
Autom
Änderungen der Videoqualität merken
Qualitätsänderungen gelten für alle Videos
Qualitätsänderungen gelten nur für das aktuelle Video
Standard-Videoqualität im Wi-Fi-Netzwerk
Standard-Videoqualität im Mobilfunknetz
+ Änderungen der Shorts-Qualität speichern
+ Qualitätsänderungen gelten für alle Shorts-Videos
+ Qualitätsänderungen gelten nur für das aktuelle Shorts-Video
+ Standardmäßige Shorts-Qualität im WLAN
+ Standard-Shorts-Qualität im Mobilfunknetz
Mobile
WLAN
Standard %1$s Qualität geändert zu: %2$s
+ Shorts-Qualität von %1$s geändert in: %2$s
Zeige Geschwindigkeitsdialog Taste
diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
index acf62683ef..84702d3496 100644
--- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml
+++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
@@ -1117,16 +1117,14 @@ Second \"item\" text"
Τηλέφωνο
Ταμπλετ
Αυτοκίνητο
- "Οι αλλαγές στη διάταξη περιλαμβάνουν τα παρακάτω:
+ "Οι αλλαγές περιλαμβάνουν:
-Διάταξη ταμπλετ
-• Οι δημοσιεύσεις κοινότητας είναι κρυμμένες
+Διάταξη tablet
+• Οι αναρτήσεις κοινότητας είναι κρυφές
Διάταξη αυτοκινήτου
-• Το μενού ιστορικού παρακολούθησης είναι κρυμμένο
-• Η καρτέλα «Εξερεύνηση» επαναφέρεται
-• Τα Shorts ανοίγουν στην κανονική οθόνη αναπαραγωγής
-• Η ροή οργανώνεται ανά θέματα και κανάλι"
+• Τα Shorts ανοίγουν στην κανονική συσκευή αναπαραγωγής
+• Η ροή οργανώνεται ανά θέματα και κανάλια"
Τροποποίηση έκδοσης εφαρμογής
@@ -1362,15 +1360,22 @@ Second \"item\" text"
+ Ποιότητα βίντεο
Αυτόματη
Απομνημόνευση αλλαγών ποιότητας βίντεο
Οι αλλαγές ποιότητας ισχύουν για όλα τα βίντεο
Οι αλλαγές ποιότητας ισχύουν μόνο για το τρέχον βίντεο
Προεπιλεγμένη ποιότητα βίντεο με Wi-Fi
Προεπιλεγμένη ποιότητα βίντεο με δεδομένα κινητής τηλεφωνίας
+ Απομνημόνευση αλλαγών ποιότητας στα Shorts
+ Οι αλλαγές ποιότητας ισχύουν για όλα τα βίντεο Shorts
+ Οι αλλαγές ποιότητας ισχύουν μόνο για το τρέχον βίντεο Shorts
+ Προεπιλεγμένη ποιότητα Shorts σε δίκτυο Wi-Fi
+ Προεπιλεγμένη ποιότητα Shorts σε δίκτυο κινητής τηλεφωνίας
δεδομένων
Wi-Fi
Η προεπιλεγμένη ποιότητα %1$s άλλαξε σε: %2$s
+ Άλλαξε η ποιότητα των Shorts %1$s σε: %2$s
Εμφάνιση κουμπιού αλλαγής ταχύτητας
diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml
index 150985056d..957fb0df2f 100644
--- a/patches/src/main/resources/addresources/values-es-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml
@@ -1103,10 +1103,8 @@ 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"
+• Los Shorts se abren en el reproductor normal
+• El feed está organizado por temas y canales"
Versión de la aplicación Spoof
@@ -1344,15 +1342,22 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"
+ Calidad de video
Automático
Recordar cambios de calidad de vídeo
Los cambios de calidad se aplican a todos los vídeos
Los cambios de calidad sólo se aplican al vídeo actual
Calidad de vídeo predeterminada en la red Wi-Fi
Calidad de vídeo predeterminada en la red móvil
+ Recordar cambios en la calidad de Shorts
+ Los cambios de calidad se aplican a todos los videos de Shorts
+ Los cambios de calidad solo se aplican al video de Shorts actual
+ Calidad predeterminada de Shorts en la red Wi-Fi
+ Calidad predeterminada de Shorts en la red móvil
móvil
wifi
Cambió la calidad predeterminada %1$s a: %2$s
+ Calidad de Shorts %1$s cambiada a: %2$s
Mostrar botón de diálogo de velocidad
diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
index e45e1fcfc1..aaaee51eec 100644
--- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml
+++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
@@ -1119,13 +1119,11 @@ Kas olete esitamiseks valmis?"
"Muudatused hõlmavad:
Tahvelarvuti paigutus
-• Ühenduse postitused on peidetud
+• Kogukonna postitused on peidetud
-Automotiivi paigutus
-• Vaatamisloendi menüü on peidetud
-• Uudista vaheleht on taastatud
+Autode paigutus
• Shorts avanevad tavalises pleieris
-• Sööt on korraldatud teemade ja kanalite kaupa"
+• Voog on korraldatud teemade ja kanalite järgi"
Võltsitud rakenduse versioon
@@ -1363,15 +1361,22 @@ Selle lubamine võib avada kõrgema video kvaliteedi"
+ Video kvaliteet
Automaatne
Määle video kvaliteedi muudatused meelde
Kvaliteedi muudatused kehtivad kõigile videotele
Kvaliteedi muudatused kehtivad ainult praegusele videole
Vaikimisi video kvaliteet Wi-Fi võrgus
Vaikimisi video kvaliteet mobiilsidevõrgus
+ Jäta meelde Shorts\'i kvaliteedimuudatused
+ Kvaliteedi muudatused kehtivad kõikidele [Shorts] videotele
+ Kvaliteedi muudatused kehtivad ainult praegusele [Shorts] videole
+ Vaikimisi [Shorts] kvaliteet WiFi võrgus
+ Vaikimisi [Shorts] kvaliteet mobiilivõrgus
mobiil
wifi
Vaikimisi %1$s kvaliteet muudeti: %2$s
+ Muudetud Shorts %1$s kvaliteet: %2$s
Kuva kiiruse dialoogi nupp
diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
index bc03664903..d5866fb40b 100644
--- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
+++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
@@ -1112,16 +1112,6 @@ Oletko valmis lähettämään?"
Puhelin
Tabletti
Ajoneuvo
- "Muutokset sisältävät:
-
-Tabletti-asettelu
-• Yhteisöpostaukset on piilotettu
-
-Ajoneuvo-asettelu
-• Katseluhistoriavalikko on piilotettu
-• Tutustu-välilehti on palautettu
-• Shortsit avautuvat tavallisessa soittimessa
-• Syöte on järjestetty aiheiden ja kanavien mukaan"
Naamioi sovellusversio
diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
index 7701af0211..0008a5900c 100644
--- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
+++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
@@ -1117,13 +1117,11 @@ Isumite na ba?"
"Kasama sa mga pagbabago:
Layout ng tablet
-• Nakatago ang mga post ng komunidad
+• Nakatago ang mga post sa Community
-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"
+Layout ng automotive
+• Nagbubukas ang Shorts sa regular na player
+• Inorganisa ang feed ayon sa mga paksa at channel"
Spoof na bersyon ng app
@@ -1360,15 +1358,22 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"
+ Kalidad ng Video
Awtomatik
Tandaan ang mga pagbabago sa kalidad ng video
Nalalapat ang mga pagbabago sa kalidad sa lahat ng video
Nalalapat lang ang mga pagbabago sa kalidad sa kasalukuyang video
Default na kalidad ng video sa Wi-Fi network
Default na kalidad ng video sa mobile network
+ Tandaan ang mga pagbabago sa kalidad ng Shorts
+ Nalalapat ang mga pagbabago sa kalidad sa lahat ng mga video ng Shorts
+ Nalalapat lang ang mga pagbabago sa kalidad sa kasalukuyang video ng Shorts
+ Default na kalidad ng Shorts sa Wi-Fi network
+ Default na kalidad ng Shorts sa mobile network
Mobile
Wifi
Binago ang default na kalidad ng %1$s sa: %2$s
+ Binago ang kalidad ng Shorts %1$s sa: %2$s
Ipakita ang pindutan ng dialog ng bilis
diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
index d2ea850110..8d0272c692 100644
--- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
@@ -1110,7 +1110,7 @@ Prêt à soumettre ?"
Les données sont fournies par l\'API SponsorBlock. Appuyez ici pour en savoir plus et pour voir les téléchargements pour les autres plateformes.
- Facteur de forme de la mise en page
+ Format de mise en page
Par défaut
Téléphone
Tablette
@@ -1121,8 +1121,6 @@ Disposition pour tablette
• Les publications de la communauté sont masquées
Disposition Automotive
-• Le menu de l'historique des vidéos regardées est masqué
-• L'onglet Explorer est restauré
• Les Shorts s'ouvrent dans le lecteur classique
• Le flux est organisé par sujets et par chaînes"
@@ -1362,15 +1360,22 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"
+ Qualité vidéo
Automatique
Se souvenir des modifications de la qualité vidéo
Les modifications de qualité s\'appliquent à toutes les vidéos
Les modifications de qualité s\'appliquent uniquement à la vidéo en cours
Qualité vidéo par défaut sur un réseau Wi-Fi
Qualité vidéo par défaut sur le réseau mobile
+ Se souvenir des modifications de la qualité des Shorts
+ Les modifications de qualité s\'appliquent à toutes les vidéos Shorts
+ Les modifications de qualité s\'appliquent uniquement à la vidéo Shorts en cours
+ Qualité Shorts par défaut sur un réseau Wi-Fi
+ Qualité Shorts par défaut sur le réseau mobile
mobile
Wi-Fi
Nouvelle qualité %1$s par défaut : %2$s
+ Nouvelle qualité Shorts %1$s par défaut : %2$s
Afficher un bouton Vitesse
diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
index 5730bf9e8a..547ad8203d 100644
--- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
@@ -1100,16 +1100,14 @@ Maithe chun cur isteach?"
Fón
Táibhléad
Gluaisrothar
- "Áirítear na hathruithe seo a leanas:
+ "Áirítear ar na hathruithe:
-Leagan amach na táibléad
-• Tá poist an phobail curtha i bhfolach
+Leagan amach an táibléid
+• Tá postálacha pobail 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"
+Leagan amach feithicleach
+• Osclaítear Shorts sa ghnáthsheinnteoir
+• Eagraítear an fotha de réir topaicí agus bealaí"
Leagan aip spoof
@@ -1346,15 +1344,22 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"
+ Cáilíocht físe
Uathoibríoch
Cuimhnigh athruithe ar cháilíocht
Baineann athruithe cáilíochta le gach físeán
Ní bhaineann athruithe cáilíochta ach leis an bhfíseán reatha
Cáilíocht físe réamhshocraithe ar líonra
Cáilíocht físe réamhshocraithe ar líonra
+ Cuimhnigh ar athruithe cáilíochta Shorts
+ Baineann athruithe cáilíochta le gach físeán Shorts
+ Ní bhaineann athruithe cáilíochta ach leis an bhfíseán reatha Shorts
+ Cáilíocht réamhshocraithe Shorts ar líonra Wi-Fi
+ Cáilíocht réamhshocraithe Shorts ar líonra soghluaiste
soghluaiste
Wi-Fi
Athraigh cáilíocht réamhshocraithe %1$s go dtí: %2$s
+ Athraíodh cáilíocht Shorts %1$s go: %2$s
Taispeáin cnaipe dialóg luais
diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
index df9520fa5f..68b30d914d 100644
--- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
+++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
@@ -1115,16 +1115,14 @@ Készen állsz a beküldésre?"
Telefon
Táblagép
Autóipari
- "Módosítások:
+ "A változások a következők:
Tablet elrendezés
-• A közösségi bejegyzések el vannak rejtve
+• A közösségi bejegyzések rejtve vannak
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"
+• A \"Shorts\" a szokásos lejátszóban nyílik meg
+• A hírcsatorna témák és csatornák szerint van rendezve"
Alkalmazásverzió hamisítása
@@ -1362,15 +1360,22 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"
+ Videóminőség
Automatikus
Felbontás változtatások mentése
Felbontás változtatások alkalmazása az összes videóra
Felbontás változtatások alkalmazása a jelenlegi videóra
Alapértelmezett videó minőség Wi-Fi hálózaton
Alapértelmezett videó minőség mobilhálózaton
+ A Shorts minőség módosításainak megjegyzése
+ A minőségváltozások az összes Shorts-videóra érvényesek
+ A minőségváltozások csak az aktuális Shorts-videóra érvényesek
+ Alapértelmezett Shorts minőség Wi-Fi hálózaton
+ Alapértelmezett Shorts minőség mobilhálózaton
mobil
wi-fi
A(z) %1$s alapértelmezett felbontása erre módosult: %2$s
+ A Shorts %1$s minősége megváltozott: %2$s
Sebesség párbeszédpanel megjelenítése
diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
index 079739bf4d..231e9a6fdb 100644
--- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
+++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
@@ -1115,16 +1115,14 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
Հեռախոս
Պլանշետ
Ավտոմոբիլային
- "Փոփոխությունները ներառում են.
+ "Փոփոխությունները ներառում են.
-Պլանշետի ինտերֆեյս
-• Թաքցված են համայնքի հրապարակումները
+Պլանշետի դասավորություն
+• Համայնքային գրառումները թաքնված են
-Ավտոմոբիլային ինտերֆեյս
-• Թաքցված է դիտումների պատմության ընտրանին
-• Վերականգնված է ուսումնասիրել էջը
-• Հոլովակները բացվում են ստանդարտ նվագարկչում
-• Նորությունները կազմակերպված են ըստ թեմաների և ալիքների"
+Ավտոմեքենայի դասավորություն
+• Shorts-ը բացվում է սովորական նվագարկչում
+• Ֆիդը կազմակերպվում է ըստ թեմաների և ալիքների"
Կեղծել հավելվածի տարբերակը
@@ -1367,9 +1365,15 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
Որակի փոփոխությունները կիրառվում են միայն ներկայիս տեսանյութի համար
Wi-Fi ցանցի դեֆոլտ տեսանյութի որակը
Մೊբայլ ցանցի դեֆոլտ տեսանյութի որակը
+ Հիշել Shorts-ի որակի փոփոխությունները
+ Որակի փոփոխություններն ազդում են բոլոր Shorts տեսանյութերի վրա
+ Որակի փոփոխություններն ազդում են միայն ընթացիկ Shorts տեսանյութի վրա
+ Shorts-ի լռելյայն որակը Wi-Fi ցանցում
+ Shorts-ի լռելյայն որակը բջջային ցանցում
վարկանիշ
ուայ-ֆայ
Փոփոխվել է դեֆոլտ %1$s որակը: %2$s
+ Փոխվել է Shorts %1$s-ի որակը հետևյալի վրա. %2$s
Ցուցադրել արագության դիալոգի պատուհանի կոճակը
diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml
index b30282ca02..c8eab5393a 100644
--- a/patches/src/main/resources/addresources/values-in-rID/strings.xml
+++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml
@@ -404,9 +404,9 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama"
Sembunyikan kartu bersponsor pribadi
Kartu bersponsor pribadi disembunyikan
Kartu bersponsor pribadi ditampilkan
- Sembunyikan banner \'Lihat produk\'
- Banner disembunyikan
- Banner ditampilkan
+ Sembunyikan spanduk \'Lihat produk\'
+ Spanduk disembunyikan
+ Spanduk ditampilkan
Sembunyikan spanduk toko di layar akhir
Spanduk toko disembunyikan
Spanduk toko ditampilkan
@@ -1117,14 +1117,12 @@ Siap mengirim?"
Otomotif
"Perubahan meliputi:
-Tata letak Tablet
-• Postingan Komunitas disembunyikan
+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"
+Tata letak otomotif
+• Shorts dibuka di pemutar biasa
+• Umpan diatur berdasarkan topik dan channel"
Palsukan versi app
@@ -1362,15 +1360,22 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"
+ Kualitas video
Otomatis
Ingat perubahan kualitas video
Perubahan kualitas diatur ke semua video
Perubahan kualitas hanya diatur di video saat ini
Kualitas video bawaan di jaringan Wi-Fi
Kualitas video bawaan di jaringan selular
+ Ingat perubahan kualitas Shorts
+ Perubahan kualitas berlaku untuk semua video Shorts
+ Perubahan kualitas hanya diatur di video Shorts saat ini
+ Kualitas Shorts bawaan di jaringan Wi-Fi
+ Kualitas Shorts bawaan di jaringan seluler
seluler
wifi
Kualitas bawaan %1$s diubah ke: %2$s
+ Kualitas Shorts %1$s diubah menjadi: %2$s
Tampilkan tombol dialog kecepatan
diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
index 6e0acf1cf0..c5fde19944 100644
--- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml
+++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
@@ -1117,13 +1117,11 @@ Pronto per l'invio?"
Automotive
"Le modifiche includono:
-Layout tablet
+Layout per 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
+Layout per auto
+• Gli Shorts si aprono nel normale player
• Il feed è organizzato per argomenti e canali"
@@ -1362,15 +1360,22 @@ Abilitare questa opzione può sbloccare qualità video più elevate"
+ Qualità video
Automatico
Ricorda le modifiche della qualità del video
Le modifiche della qualità si applicano a tutti i video
Le modifiche della qualità si applicano solo al video corrente
Qualità video predefinita sulla rete Wi-Fi
Qualità video predefinita sulla rete mobile
+ Ricorda le modifiche alla qualità di Shorts
+ Le modifiche della qualità si applicano a tutti i video di Shorts
+ Le modifiche alla qualità si applicano solo al video Shorts corrente
+ Qualità predefinita di Shorts sulla rete Wi-Fi
+ Qualità predefinita di Shorts sulla rete mobile
cellulare
wifi
Modificato la qualità predefinita %1$s in: %2$s
+ Modificata la qualità Shorts %1$s in: %2$s
Mostra il pulsante Velocità Video
diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
index 40242dff5d..17f8672939 100644
--- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
+++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
@@ -1114,16 +1114,6 @@ Second \"item\" text"
טלפון
טאבלט
רכב
- "השינויים כוללים:
-
-פריסת טאבלט
-• פוסטים קהילתיים מוסתרים
-
-פריסת רכב
-• תפריט היסטוריית הצפייה מוסתר
-• כרטיסיית 'מה חדש' משוחזרת
-• סרטוני Shorts נפתחים בנגן הרגיל
-• פיד מאורגן לפי נושאים וערוץ"
זייף גרסת יישום
diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
index be1124d372..ad68ffb6ce 100644
--- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
+++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
@@ -1119,16 +1119,14 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
スマートフォン
タブレット
Automotive
- "変更内容:
+ "変更点は次のとおりです。
タブレット レイアウト
-• コミュニティ投稿が表示されません
+• コミュニティ投稿は非表示になります
-Automotive レイアウト
-• マイページに再生履歴が表示されません
-• 探索タブが復元されます
-• ショート動画を通常のプレーヤーで開きます
-• フィードはトピックとチャンネル別に整理されます"
+自動車レイアウト
+• Shorts が通常のプレーヤーで開きます
+• フィードはトピックとチャンネルで整理されています"
アプリのバージョンを偽装する
@@ -1365,15 +1363,22 @@ DeArrow の詳細については、ここをタップしてください"
+ 動画品質
自動
画質の変更を保存する
画質の変更はすべての動画に適用されます
画質の変更は現在の動画にのみ適用されます
デフォルトの画質(Wi-Fi)
デフォルトの画質(モバイル ネットワーク)
+ Shortsの品質変更を記憶する
+ 品質の変更はすべてのShorts動画に適用されます
+ 品質の変更は現在のShorts動画にのみ適用されます
+ Wi-FiネットワークでのデフォルトのShortsの品質
+ モバイルネットワークでのデフォルトのShortsの品質
モバイル ネットワーク
Wi-Fi
デフォルトの画質(%1$s)を %2$s に変更しました
+ Shortsの品質を%1$sから%2$sに変更しました
再生速度設定ボタンを非表示
diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
index 7fca8dcf6d..d5231170db 100644
--- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
+++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
@@ -1126,8 +1126,6 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
• 커뮤니티 게시물이 숨겨집니다
오토모티브 레이아웃
-• 시청 기록 메뉴가 숨겨집니다
-• 탐색 탭이 복원됩니다
• Shorts가 일반 플레이어에서 재생됩니다
• 피드가 주제와 채널별로 구성됩니다"
@@ -1191,11 +1189,11 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
Shorts 자동재생
- Shorts 동영상이 자동넘김됩니다
- Shorts 동영상이 반복재생됩니다
+ Shorts가 자동넘김됩니다
+ Shorts가 반복재생됩니다
Shorts 자동 백그라운드 재생
- Shorts 동영상 백그라운드 재생이 자동넘김됩니다
- Shorts 동영상 백그라운드 재생이 반복재생됩니다
+ Shorts 백그라운드 재생이 자동넘김됩니다
+ Shorts 백그라운드 재생이 반복재생됩니다
미니 플레이어
@@ -1369,15 +1367,22 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"
+ 동영상 화질
자동
동영상 화질 저장 활성화하기
동영상 화질 값을 변경할 때마다 저장합니다
동영상 화질 값을 변경할 때마다 저장하지 않습니다
Wi-Fi 이용 시 기본 동영상 화질
모바일 네트워크 이용 시 기본 동영상 화질
+ Shorts 화질 저장 활성화하기
+ Shorts 화질 값을 변경할 때마다 저장합니다
+ Shorts 화질 값을 변경할 때마다 저장하지 않습니다
+ Wi-Fi 이용 시 기본 Shorts 화질
+ 모바일 네트워크 이용 시 기본 Shorts 화질
모바일 네트워크
Wi-Fi
- 기본 동영상 화질을 %1$s 에서 %2$s 로 변경합니다
+ %1$s 이용 시 기본 동영상 화질을 %2$s 로 변경합니다
+ %1$s 이용 시 기본 Shorts 화질을 %2$s 로 변경합니다
동영상 재생 속도 다이얼로그 버튼 표시하기
@@ -1401,7 +1406,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"
동영상 재생 속도 값을 변경할 때마다 저장합니다
동영상 재생 속도 값을 변경할 때마다 저장하지 않습니다
기본 동영상 재생 속도
- 기본 동영상 재생 속도 값을 %s으로 변경합니다
+ 기본 동영상 재생 속도 값을 %s 로 변경합니다
HDR 동영상 비활성화하기
diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
index efc7a2553c..fa272f8c0e 100644
--- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
+++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
@@ -1117,16 +1117,14 @@ Ar paruošta pateikti?"
Telefonas
Planšetė
Automobilių
- "Pakeitimai apima:
+ "Pakeitimai:
-Planšetinio kompiuterio išdėstymas
-• Bendruomenės įrašai paslėpti
+Planšetės išdėstymas
+• Bendruomenės įrašai yra paslėpti
-Automobilių išdėstymas
-• Paslėptas žiūrėjimo istorijos meniu
-• Atkurtas skirtukas \"Naršyti\"
-• Trumpieji filmai atidaromi įprastame grotuve
-• Kanalas organizuotas pagal temas ir kanalą"
+Automobilinis išdėstymas
+• „Shorts“ atidaromi įprastame grotuve
+• Sklaida suskirstyta pagal temas ir kanalus"
Programėlės versijos apsimetinėjimas
@@ -1364,15 +1362,22 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v
+ Vaizdo įrašo kokybė
Automatinis
Atsiminti vaizdo įrašų kokybės pakeitimus
Kokybės pakeitimai taikomi visiems vaizdo įrašams
Kokybės pakeitimai taikomi tik dabartiniam vaizdo įrašui
Numatytoji vaizdo įrašų kokybė „Wi-Fi“ tinkle
Numatytoji vaizdo įrašų kokybė mobiliojo ryšio tinkle
+ Atsiminti „Shorts“ kokybės pakeitimus
+ Kokybės pakeitimai taikomi visiems „Shorts“ vaizdo įrašams
+ Kokybės pakeitimai taikomi tik dabartiniam „Shorts“ vaizdo įrašui
+ Numatytoji „Shorts“ kokybė naudojant „Wi-Fi“ tinklą
+ Numatytoji „Shorts“ kokybė mobiliųjų tinklų atveju
mobilusis
wifi
Pakeista numatytoji %1$s kokybė į: %2$s
+ Pakeista \"Shorts\" %1$s kokybė į: %2$s
Rodyti greičio dialogo mygtuką
diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
index be6cc68f61..e3a1e63413 100644
--- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
+++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
@@ -1121,10 +1121,8 @@ Planšetdatora izkārtojums
• Kopienas ieraksti ir paslēpti
Automobiļu izkārtojums
-• Skatīšanās vēstures izvēlne ir paslēpta
-• Izpētes cilne ir atjaunota
-• Īsie videoklipi tiek atvērti parastajā atskaņotājā
-• Lentē ir organizēta pēc tēmām un kanāliem"
+• Shorts tiek atvērti parastajā atskaņotājā
+• Plūsma ir sakārtota pēc tēmām un kanāliem"
Vilto lietotnes versiju
@@ -1362,15 +1360,22 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk
+ Video kvalitāte
Automātiski
Atcerēties video kvalitātes izmaiņas
Kvalitātes izmaiņas attiecas uz visiem videoklipiem
Kvalitātes izmaiņas attiecas tikai uz pašreizējo videoklipu
Noklusējuma video kvalitāte Wi-Fi tīklā
Noklusējuma video kvalitāte mobilajā tīklā
+ Atcerēties Shorts kvalitātes izmaiņas
+ Kvalitātes izmaiņas attiecas uz visiem Shorts video
+ Kvalitātes izmaiņas attiecas tikai uz pašreizējo Shorts video
+ Noklusējuma Shorts kvalitāte Wi-Fi tīklā
+ Noklusējuma Shorts kvalitāte mobilajā tīklā
mobilais
bezvadu tīkls
Izmainīta noklusējuma %1$s kvalitāte uz: %2$s
+ Mainīta Shorts %1$s kvalitāte uz: %2$s
Rādīt ātruma dialoga pogu
diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
index 8836f8f81a..c244ef39ad 100644
--- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
+++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
@@ -1116,16 +1116,14 @@ Klaar om in te dienen?"
Telefoon
Tablet
Automobiel
- "De wijzigingen omvatten:
+ "Wijzigingen omvatten:
-Tablet-indeling
-• Community-berichten zijn verborgen
+Tablet lay-out
+• Community posts zijn verborgen
-Automobielindeling
-• Het menu \"Wachthistorie\" is verborgen
-• Het tabblad \"Verkennen\" is hersteld
-• Shorts openen in de gewone speler
-• De feed is georganiseerd op onderwerpen en kanaal"
+Automotive lay-out
+• Shorts worden geopend in de normale speler
+• Feed is georganiseerd op onderwerp en kanalen"
App-versie vervalsen
@@ -1363,15 +1361,22 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen"
+ Videokwaliteit
Automatisch
Onthoud wijzigingen in videokwaliteit
Kwaliteitswijzigingen worden op alle video\'s toegepast
Kwaliteitswijzigingen worden alleen op de huidige video toegepast
Standaard videokwaliteit op Wi-Fi-netwerk
Standaard videokwaliteit op mobiel netwerk
+ Onthoud kwaliteitswijzigingen voor Shorts
+ Kwaliteitswijzigingen gelden voor alle Shorts video\'s
+ Kwaliteitswijzigingen gelden alleen voor de huidige Shorts-video
+ Standaardkwaliteit voor Shorts op wifi-netwerk
+ Standaardkwaliteit voor Shorts op mobiel netwerk
mobiel
wifi
Standaard %1$s-kwaliteit gewijzigd naar: %2$s
+ De kwaliteit van Shorts %1$s is gewijzigd in: %2$s
Snelheidsdialoogknop weergeven
diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
index a2eb2999d4..3f8559d3aa 100644
--- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
+++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
@@ -1116,16 +1116,14 @@ Gotowy do przesłania?"
Telefon
Tabletowy
Motoryzacja
- "Zmianami są:
+ "Zmiany obejmują:
Układ tabletu
-• Wspólne posty są ukryte
+• Posty społeczności są ukryte
Układ samochodowy
-• Menu historii oglądania jest ukryte
-• Karta Eksploruj zostaje przywrócona
-• Shortsy otwierają się w standardowym odtwarzaczu
-• Kanał jest zorganizowany wg tematów i kanałów"
+• Shorts otwierają się w zwykłym odtwarzaczu
+• Kanał jest uporządkowany według tematów i kanałów"
Oszukiwanie wersji aplikacji
@@ -1363,15 +1361,22 @@ Włączenie tego może odblokować wyższe jakości wideo"
+ Jakość wideo
Automatycznie
Zapamiętaj zmiany jakości filmu
Zmiany jakości dotyczą wszystkich filmów
Zmiany jakości dotyczą tylko bieżącego filmu
Domyślna jakość filmu w sieci Wi-Fi
Domyślna jakość filmu w sieci komórkowej
+ Zapamiętaj zmiany jakości w Shorts
+ Zmiany jakości dotyczą wszystkich filmów w Shorts
+ Zmiany jakości dotyczą tylko bieżącego filmu w Shorts
+ Domyślna jakość Shorts w sieci Wi-Fi
+ Domyślna jakość Shorts w sieci komórkowej
telefonu
Wi-Fi
Zmieniono domyślną jakość %1$s na: %2$s
+ Zmieniono jakość Shorts %1$s na: %2$s
Przycisk od prędkości
diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
index aaab7c9594..84864940cf 100644
--- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
@@ -1113,16 +1113,14 @@ Pronto para enviar?"
Telefone
Tablet
Automóveis
- "Mudanças incluem:
+ "As alterações incluem:
-Layout para tablets
-• As postagens da comunidade estão ocultas
+Layout para tablet
+• Publicações da comunidade estão ocultas
-Layout para veículos
-• O menu do histórico de exibições fica oculto
-• A guia Explorar está restaurada
-• Os Shorts abrem no player normal
-• O feed é organizado por tópicos e canal"
+Layout automotivo
+• Shorts são abertos no reprodutor normal
+• O feed é organizado por tópicos e canais"
Spoofing da versão do aplicativo
@@ -1360,15 +1358,22 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas"
+ Qualidade do vídeo
Automático
Lembrar mudanças na qualidade do vídeo
Mudança na qualidade se aplicam a todos os vídeos
Mudança na qualidade só se aplicam ao vídeo atual
Qualidade padrão do vídeo no Wi-Fi
Qualidade padrão do vídeo nos dados móveis
+ Lembrar alterações na qualidade dos Shorts
+ As alterações de qualidade se aplicam a todos os vídeos do Shorts
+ As alterações de qualidade se aplicam apenas ao vídeo atual do Shorts
+ Qualidade padrão dos Shorts na rede Wi-Fi
+ Qualidade padrão dos Shorts na rede móvel
dados móveis
Wi-Fi
Qualidade padrão %1$s alterada para: %2$s
+ Qualidade dos Shorts %1$s alterada para: %2$s
Mostrar botão de velocidade
diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
index 171aed5ecc..90b6602174 100644
--- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
@@ -1122,10 +1122,8 @@ Layout do tablet
• As postagens da comunidade estão ocultas
Layout automotivo
-• O menu do histórico de exibição está oculto
-• A guia Explorar foi restaurada
-• Shorts abrem no reprodutor normal
-• O feed é organizado por tópicos e canal"
+• Os Shorts são abertos no reprodutor normal
+• O feed é organizado por tópicos e canais"
Versão do Spoof app
@@ -1363,15 +1361,22 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"
+ Qualidade do vídeo
Automático
Lembrar mudanças na qualidade do vídeo
Alterações de qualidade se aplicam a todos os vídeos
As alterações de qualidade só se aplicam ao vídeo atual
Qualidade de vídeo padrão na rede Wi-Fi
Qualidade de vídeo padrão na rede móvel
+ Lembrar alterações na qualidade dos Shorts
+ As alterações de qualidade se aplicam a todos os vídeos do tipo Shorts
+ As alterações de qualidade se aplicam apenas ao vídeo atual do tipo Shorts
+ Qualidade padrão de Shorts na rede Wi-Fi
+ Qualidade padrão de Shorts na rede móvel
telemóvel
Wi-Fi
Qualidade padrão %1$s alterada para: %2$s
+ Qualidade do Shorts %1$s alterada para: %2$s
Mostrar botão de diálogo de velocidade
diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
index 67312b89ec..1e9e3a28f4 100644
--- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
+++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
@@ -1121,10 +1121,8 @@ Aspect tabletă
• Postările comunității sunt ascunse
Aspect auto
-• Meniul Istoric vizionări este ascuns
-• Fila Explore este restaurată
-• Shorts-urile se deschid în playerul obișnuit
-• Feed-ul este organizat pe subiecte și canal"
+• Shorts se deschid în playerul obișnuit
+• Fluxul este organizat pe teme și canale"
Falsifică versiunea aplicației
@@ -1362,15 +1360,22 @@ Activarea acestei opțiuni poate debloca calități video mai mari"
+ Calitatea video
Automat
Memorează modificările calității video
Modificările de calitate se aplică tuturor videoclipurilor
Modificările de calitate se aplică numai video-ului curent
Calitate video implicită în rețeaua Wi-Fi
Calitatea video implicită în rețeaua mobilă
+ Reține modificările calității pentru Shorts
+ Modificările de calitate se aplică tuturor videoclipurilor Shorts
+ Modificările de calitate se aplică doar videoclipului curent Shorts
+ Calitatea implicită a Shorts în rețeaua Wi-Fi
+ Calitatea implicită a Shorts în rețeaua mobilă
mobil
wifi
Calitate %1$s modificată implicit: %2$s
+ Calitatea Shorts %1$s a fost modificată la: %2$s
Arată butonul de dialog de viteză
diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
index 001572cee9..fc51af5ad3 100644
--- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
+++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
@@ -1122,8 +1122,6 @@ Second \"item\" text"
• Посты сообщества скрыты
Автомобильный макет
-• Меню истории просмотров скрыто
-• Вкладка \"Навигатор\" восстановлена
• Shorts открываются в стандартном плеере
• Лента организована по темам и каналам"
@@ -1363,15 +1361,22 @@ Second \"item\" text"
+ Качество видео
Авто
Запоминать изменения качества видео
Изменения качества воспроизведения применяются ко всем видео
Изменения качества воспроизведения применяются только к текущему видео
Качество видео по умолчанию в Wi-Fi сети
Качество видео по умолчанию в мобильной сети
+ Запоминать изменения качества Shorts
+ Изменения качества воспроизведения применяются ко всем видео Shorts
+ Изменения качества воспроизведения применяются только к текущему видео Shorts
+ Качество Shorts по умолчанию в Wi-Fi сети
+ Качество Shorts по умолчанию в мобильной сети
мобильной сети
Wi-Fi
Качество в %1$s изменено на: %2$s
+ Качество Shorts в %1$s изменено на: %2$s
Показать кнопку скорости воспроизведения
diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
index eedcc10a7d..65d1c56f55 100644
--- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
+++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
@@ -1108,14 +1108,12 @@ Pripravené na odoslanie?"
Automobily
"Zmeny zahŕňajú:
-Rozloženie tabletu
+Rozloženie pre tablety
• Príspevky komunity sú skryté
-Rozloženie automobilu
-• Menu histórie pozerania je skryté
-• Karta preskúmať je obnovená
+Rozloženie pre automobily
• Shorts sa otvárajú v bežnom prehrávači
-• Feed je organizovaný podľa tém a kanálov"
+• Kanál je usporiadaný podľa tém a kanálov"
Verzia aplikácie Spoof
@@ -1351,15 +1349,22 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa"
+ Kvalita videa
Automaticky
Pamätajte na zmeny kvality videa
Zmeny kvality sa vzťahujú na všetky videá
Zmeny kvality sa vzťahujú iba na aktuálne video
Predvolená kvalita videa v sieti Wi-Fi
Predvolená kvalita videa v mobilnej sieti
+ Zapamätať si zmeny kvality pre Shorts
+ Zmeny kvality sa použijú na všetky videá Shorts
+ Zmeny kvality sa použijú iba na aktuálne video Shorts
+ Predvolená kvalita pre Shorts v sieti Wi-Fi
+ Predvolená kvalita pre Shorts v mobilnej sieti
mobilné
Wi-Fi
Predvolená kvalita %1$s bola zmenená na: %2$s
+ Zmenená kvalita Shorts %1$s na: %2$s
Zobraziť dialógové tlačidlo rýchlosti
diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
index c1d9dfb790..0f77722df9 100644
--- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
+++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
@@ -1117,13 +1117,11 @@ Ali ste pripravljeni na oddajo?"
Avtomobilska
"Spremembe vključujejo:
-Postavitev tabličnega računalnika
+Postavitev za tablične računalnike
• Objave skupnosti so skrite
-Postavitev za vozila
-• Meni zgodovine ogledov je skrit
-• Zavihek Raziskovanje je obnovljen
-• Posnetki Shorts se odprejo v običajnem predvajalniku
+Avtomobilska postavitev
+• Shorts se odprejo v običajnem predvajalniku
• Vir je organiziran po temah in kanalih"
@@ -1362,15 +1360,22 @@ Omogočanje tega lahko odklene višje kakovosti videa"
+ Kakovost videoposnetka
Samodejno
Zapomni si spremembe kakovosti videoposnetka
Spremembe kakovosti se uporabijo za vse videoposnetke
Spremembe kakovosti se uporabijo le za trenutni videoposnetek
Privzeta kakovost videoposnetka v omrežju Wi-Fi
Privzeta kakovost videoposnetka v mobilnem omrežju
+ Zapomni si spremembe kakovosti za Shorts
+ Spremembe kakovosti se uporabljajo za vse videoposnetke Shorts
+ Spremembe kakovosti se uporabljajo samo za trenutni videoposnetek Shorts
+ Privzeta kakovost za Shorts v omrežju Wi-Fi
+ Privzeta kakovost za Shorts v mobilnem omrežju
mobilni
Wi-Fi
Spremenjena privzeta kakovost %1$s na: %2$s
+ Spremenjena kakovost Shorts %1$s v: %2$s
Pokaži gumb za pogovor o hitrosti
diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
index 740cd7bd07..61f64694f9 100644
--- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
+++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
@@ -1114,16 +1114,14 @@ Gati per te dhene?"
Telefon
Tabletë
Automjet
- "Ndryshimet përfshijnë:
+ "Ndryshimet përfshijnë:
-Pamje në format tabletë
-• Postimet e komunitetit janë të fshehura
+Paraqitja e tabletit
+• Postimet e komunitetit janë të fshehura
-Pamje automotive
-• Menua e historisë së shikimit është e fshehur
-• Seksioni Shfleto është rikthyer
-• Shorts hapen në oynën e zakonshme
-• Ushtrimi është i organizuar sipas temave dhe kanaleve"
+Paraqitja e makinës
+• Shorts hapen në luajtësin e rregullt
+• Feed organizohet sipas temave dhe kanaleve"
Mashtro versionin e aplikacionit
@@ -1361,15 +1359,22 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video"
+ Cilësia e videos
Automatik
Mbani mend ndryshimet e cilësisë së videos
Ndryshimet e cilësisë zbatohen për të gjitha videot
Ndryshimet e cilësisë zbatohen vetëm për videon aktuale
Cilësia e videos parazgjedhëse në rrjetin Wi-Fi
Cilësia e videos parazgjedhëse në rrjetin celular
+ Mbani mend ndryshimet e cilësisë së Shorts
+ Ndryshimet e cilësisë zbatohen për të gjitha videot e Shorts
+ Ndryshimet e cilësisë zbatohen vetëm për videon aktuale të Shorts
+ Cilësia e parazgjedhur e Shorts në rrjetin Wi-Fi
+ Cilësia e parazgjedhur e Shorts në rrjetin celular
celular
wifi
Ndryshuar cilësia parazgjedhëse %1$s në: %2$s
+ Cilësia e Shorts u ndryshua nga %1$s në: %2$s
Shfaq butonin e dialogut të shpejtësisë
diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
index e0bec50c4d..303ab7491c 100644
--- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
@@ -1117,14 +1117,12 @@ Spreman za podnošenje?"
Automobilski
"Promene uključuju:
-Izgled „Tablet”
-• Objave zajednice su skrivene
+Izgled za tablet
+• Objava zajednice su sakrivene
-Izgled „Automobilski”
-• Meni „Istorija gledanja” je skriven
-• Kartica „Istražite” je vraćena
-• Shorts videi se otvaraju u običnom plejeru
-• Fid je organizovan po temama i kanalima"
+Automotive izgled
+• Shorts se otvaraju u regularnom plejeru
+• Feed je organizovan po temama i kanalima"
Lažirana verzija aplikacije
@@ -1362,15 +1360,22 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"
+ Kvalitet video snimka
Automatski
Zapamti promene kvaliteta videa
Promene kvaliteta se primenjuju na sve videe
Promene kvaliteta se primenjuju samo na trenutni video
Podrazumevani kvalitet videa na Wi-Fi mreži
Podrazumevani kvalitet videa na mobilnoj mreži
+ Zapamti promene kvaliteta za Shorts
+ Promene kvaliteta se primenjuju na sve Shorts video snimke
+ Promene kvaliteta se primenjuju samo na trenutni Shorts video snimak
+ Podrazumevani kvalitet za Shorts na Wi-Fi mreži
+ Podrazumevani kvalitet za Shorts na mobilnoj mreži
mobilnoj mreži
Wi-Fi mreži
Kvalitet na %1$s promenjen na: %2$s
+ Promenjen je kvalitet Shorts %1$s na: %2$s
Prikaži dugme dijaloga za brzinu
diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
index e3096f2605..9abb3c11c3 100644
--- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
@@ -1117,14 +1117,12 @@ Second \"item\" text"
Аутомобилски
"Промене укључују:
-Изглед „Таблет”
-• Објаве заједнице су скривене
+Изглед таблета
+• Објаве заједнице су сакривене
-Изглед „Аутомобилски”
-• Мени „Историја гледања” је скривен
-• Картица „Истражите” је враћена
-• Shorts видеи се отварају у обичном плејеру
-• Фид је организован по темама и каналима"
+Аутомотивни изглед
+• Shorts се отварају у регуларном плејеру
+• Feed је организован по темама и каналима"
Лажирана верзија апликације
@@ -1362,15 +1360,22 @@ Second \"item\" text"
+ Kvalitet video snimka
Аутоматски
Запамти промене квалитета видеа
Промене квалитета се примењују на све видее
Промене квалитета се примењују само на тренутни видео
Подразумевани квалитет видеа на Wi-Fi мрежи
Подразумевани квалитет видеа на мобилној мрежи
+ Zapamti promene kvaliteta za Shorts
+ Promene kvaliteta se primenjuju na sve Shorts video snimke
+ Promene kvaliteta se primenjuju samo na trenutni Shorts video snimak
+ Podrazumevani kvalitet za Shorts na Wi-Fi mreži
+ Podrazumevani kvalitet za Shorts na mobilnoj mreži
мобилној мрежи
Wi-Fi мрежи
Квалитет на %1$s промењен на: %2$s
+ Промењен квалитет Shorts %1$s на: %2$s
Прикажи дугме дијалога за брзину
diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
index c348520e4d..a5349d5417 100644
--- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
@@ -1117,14 +1117,12 @@ Redo att skicka in?"
Bil
"Ändringar inkluderar:
-Surfplatta-layout
-• Community-inlägg är dolda
+Tabletlayout
+• Communityinlägg är dolda
-Billautomation
-• Tittningshistorikmenyn är dold
-• Utforska-fliken är återställd
+Automotive-layout
• Shorts öppnas i den vanliga spelaren
-• Flödet är organiserat efter ämnen och kanal"
+• Flödet är organiserat efter ämnen och kanaler"
Spoof app-version
@@ -1362,15 +1360,22 @@ Att aktivera detta kan låsa upp högre videokvalitet"
+ Videokvalitet
Automatiskt
Kom ihåg förändringar i videokvaliteten
Kvalitetsändringar gäller för alla videor
Kvalitetsförändringar gäller endast för den aktuella videon
Standard videokvalitet på Wi-Fi-nätverk
Standard videokvalitet på mobilt nätverk
+ Kom ihåg kvalitetsändringar för Shorts
+ Kvalitetsändringar gäller alla Shorts-videor
+ Kvalitetsändringar gäller endast den aktuella Shorts-videon
+ Standardkvalitet för Shorts på Wi-Fi-nätverk
+ Standardkvalitet för Shorts på mobilnätverk
mobil
wifi
Ändrade standardkvalitet %1$s till: %2$s
+ Ändrade Shorts %1$s-kvalitet till: %2$s
Visa hastighetsdialogruta knapp
diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
index b3d81dedb5..729b65f2a0 100644
--- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml
+++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
@@ -1114,16 +1114,14 @@ User id ของคุณเหมือนกับรหัสผ่าน
โทรศัพท์
แท็บเล็ต
ยานยนต์
- "การเปลี่ยนแปลงรวม:
+ "การเปลี่ยนแปลงรวมถึง:
-เค้าโครงแท็บเล็ต
+รูปแบบแท็บเล็ต
• โพสต์ชุมชนถูกซ่อน
-เค้าโครงยานยนต์
-• เมนูดูประวัติถูกลบ
-• แท็บสำรวจได้รับการกู้คืน
-• ช็อตเปิดในเครื่องเล่นปกติ
-• ฟีดถูกจัดระเบียบตามหัวข้อและช่อง"
+รูปแบบยานยนต์
+• Shorts เปิดในเครื่องเล่นปกติ
+• ฟีดจัดระเบียบตามหัวข้อและช่อง"
ปลอมแปลงเวอร์ชันแอป
@@ -1361,15 +1359,22 @@ User id ของคุณเหมือนกับรหัสผ่าน
+ คุณภาพวิดีโอ
อัตโนมัติ
จำการเปลี่ยนแปลงคุณภาพวิดีโอ
การเปลี่ยนแปลงคุณภาพใช้กับวิดีโอทั้งหมด
การเปลี่ยนแปลงคุณภาพใช้กับวิดีโอปัจจุบันเท่านั้น
คุณภาพวิดีโอเริ่มต้นบนเครือข่าย Wi-Fi
คุณภาพวิดีโอเริ่มต้นบนเครือข่ายมือถือ
+ จดจำการเปลี่ยนแปลงคุณภาพของ Shorts
+ การเปลี่ยนแปลงคุณภาพมีผลกับวิดีโอ Shorts ทั้งหมด
+ การเปลี่ยนแปลงคุณภาพมีผลกับวิดีโอ Shorts ปัจจุบันเท่านั้น
+ คุณภาพ Shorts เริ่มต้นบนเครือข่าย Wi-Fi
+ คุณภาพ Shorts เริ่มต้นบนเครือข่ายมือถือ
มือถือ
wifi
เปลี่ยนคุณภาพ %1$s เริ่มต้นเป็น: %2$s
+ เปลี่ยนคุณภาพ Shorts %1$s เป็น: %2$s
แสดงปุ่มกล่องโต้ตอบความเร็ว
diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
index 58d1db742e..10980687df 100644
--- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
+++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
@@ -1122,10 +1122,8 @@ Tablet düzeni
• Topluluk yayınları gizlenir
Otomotiv düzeni
-• İzleme geçmişi menüsü gizlenir
-• Keşfet sekmesi geri getirilir
-• Shorts normal oynatıcıda açılır
-• Akış, konulara ve kanala göre düzenlenir"
+• Shorts, normal oynatıcıda açılır
+• Akış, konulara ve kanallara göre düzenlenir"
Uygulama sürümünü taklit et
@@ -1342,7 +1340,7 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir"
Bağlantıları tarayıcıda aç
Bağlantılar harici tarayıcıda açılıyor
- Uygulama içi tarayıcıda bağlantılar açılıyor
+ Bağlantılar uygulama içi tarayıcıda açılıyor
İzleyici sorgu parametresini kaldır
@@ -1363,15 +1361,22 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir"
+ Video kalitesi
Oto
Video kalitesi değişikliklerini hatırla
Kalite değişiklikleri tüm videolara uygulanır
Kalite değişiklikleri sadece oynatılan videoya uygulanır
Wi-Fi ağındaki varsayılan video kalitesi
Mobil ağdaki varsayılan video kalitesi
+ Shorts kalitesi değişikliklerini hatırla
+ Kalite değişiklikleri tüm Shorts videolarına uygulanır
+ Kalite değişiklikleri sadece oynatılan Shorts videosuna uygulanır
+ Wi-Fi ağındaki varsayılan Shorts kalitesi
+ Mobil ağdaki varsayılan Shorts kalitesi
mobil ağ
wifi
Varsayılan %1$s kalitesi, %2$s olarak ayarlandı
+ Shorts %1$s kalitesi, %2$s olarak ayarlandı
Hız diyaloğu düğmesini göster
diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
index 8fef8bc490..31dd6587d9 100644
--- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
+++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
@@ -1121,8 +1121,6 @@ Second \"item\" text"
• Публікації спільноти приховані
Автомобільний макет
-• Меню історії переглядів приховано
-• Відновлено вкладку \"Навігатор\"
• Shorts відкриваються у звичайному плеєрі
• Стрічка впорядкована за темами та каналами"
@@ -1362,15 +1360,22 @@ Second \"item\" text"
+ Якість відео
Авто
Запам\'ятовувати зміни якості відео
Зміни якості застосовуються до всіх відео
Зміни якості застосовуються лише до поточного відео
- Стандартна якість відео в Wi-Fi мережі
+ Стандартна якість відео у Wi-Fi мережі
Стандартна якість відео в мобільній мережі
- в моб. мережі
+ Запам\'ятовувати зміни якості Shorts
+ Зміни якості застосовуються до всіх відео Shorts
+ Зміни якості застосовуються лише до поточного відео Shorts
+ Стандартна якість Shorts у Wi-Fi мережі
+ Стандартна якість Shorts у мобільній мережі
+ в мобільній мережі
в Wi-Fi мережі
Якість %1$s змінено на %2$s
+ Якість Shorts %1$s змінено на %2$s
Кнопка швидкості відтворення
diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
index 6a09af4123..b01ef16ac3 100644
--- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
+++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
@@ -1121,9 +1121,7 @@ Bố cục máy tính bảng
• Bài đăng trên cộng đồng bị ẩn
Bố cục ô tô
-• Menu lịch sử xem bị ẩn
-• Tab khám phá đã được khôi phục
-• Kệ Shorts mở trong trình phát thông thường
+• Shorts mở trong trình phát thông thường
• Bảng Feed được sắp xếp theo chủ đề và kênh"
@@ -1362,15 +1360,22 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"
+ Chất lượng Video
Tự động
Nhớ các thay đổi chất lượng video
Thay đổi chất lượng áp dụng cho tất cả video
Thay đổi chất lượng chỉ áp dụng cho video hiện tại
Chất lượng mặc định trên mạng Wi-Fi
Chất lượng mặc định trên mạng di động
+ Ghi nhớ các thay đổi chất lượng Shorts
+ Thay đổi chất lượng áp dụng cho tất cả video Shorts
+ Thay đổi chất lượng chỉ áp dụng cho video Shorts hiện tại
+ Chất lượng Shorts mặc định trên mạng Wi-Fi
+ Chất lượng Shorts mặc định trên mạng di động
di động
wifi
Đã thay đổi chất lượng %1$s mặc định: %2$s
+ Đã thay đổi chất lượng Shorts %1$s: %2$s
Hiện nút hộp thoại tốc độ phát
diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
index 50fd8ff9e5..4d4c3acb83 100644
--- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
@@ -1123,13 +1123,11 @@ Second \"item\" text"
"更改包括:
平板电脑布局
-• 社区帖子隐藏
+• 社区帖子已隐藏
汽车布局
-• 观看历史菜单隐藏
-• 探索选项卡已恢复
-• 在常规播放器中打开 Shorts
-• 时间轴按主题和频道排序"
+• Shorts 在常规播放器中打开
+• Feed 按主题和频道组织"
伪装应用程序版本
@@ -1367,15 +1365,22 @@ Second \"item\" text"
+ 视频画质
自动
记住视频质量更改
质量更改适用于所有视频
质量更改仅适用于当前视频
Wi-Fi 网络上的默认视频质量
移动网络上的默认视频质量
+ 记住 Shorts 画质更改
+ 画质更改将应用于所有 Shorts 视频
+ 画质更改仅应用于当前的 Shorts 视频
+ Wi-Fi 网络上的默认 Shorts 画质
+ 移动网络上的默认 Shorts 画质
移动网络
无线网络
已将默认 %1$s 质量更改为:%2$s
+ 已将 Shorts %1$s 的画质更改为:%2$s
显示播放速度对话框按钮
diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
index abf60e11fd..ea8e47b191 100644
--- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
@@ -1110,16 +1110,6 @@ Second \"item\" text"
手機
平板電腦
車用
- "變更包括:
-
-平板電腦版面配置
-• 隱藏社群貼文
-
-車用版面配置
-• 隱藏觀看記錄選單
-• 還原「探索」分頁
-• Shorts 以一般播放器開啟
-• 推薦內容依主題和頻道整理"
偽裝應用程式版本
From 4387a7b131f49729e902e008bb4cec073635c040 Mon Sep 17 00:00:00 2001
From: ILoveOpenSourceApplications
<117499019+ILoveOpenSourceApplications@users.noreply.github.com>
Date: Thu, 6 Mar 2025 14:57:37 +0530
Subject: [PATCH 09/30] fix(YouTube - Hide ads): Hide new type of buttoned ad
(#4528)
---
.../revanced/extension/youtube/patches/components/AdsFilter.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java
index 14a98b17b8..5f47290e9f 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java
@@ -74,6 +74,7 @@ public AdsFilter() {
"video_display_button_group_layout",
"landscape_image_wide_button_layout",
"video_display_carousel_button_group_layout",
+ "video_display_full_buttoned_short_dr_layout",
"compact_landscape_image_layout", // Tablet layout search results.
"text_image_no_button_layout" // Tablet layout search results.
);
From 1ed6933224c2472cbb380e1ce295060857e7d9d9 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Thu, 6 Mar 2025 09:30:51 +0000
Subject: [PATCH 10/30] chore: Release v5.14.0-dev.2 [skip ci]
# [5.14.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.14.0-dev.1...v5.14.0-dev.2) (2025-03-06)
### Bug Fixes
* **YouTube - Hide ads:** Hide new type of buttoned ad ([#4528](https://github.com/ReVanced/revanced-patches/issues/4528)) ([4387a7b](https://github.com/ReVanced/revanced-patches/commit/4387a7b131f49729e902e008bb4cec073635c040))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5d85bfb502..7e923fc8c4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.14.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.14.0-dev.1...v5.14.0-dev.2) (2025-03-06)
+
+
+### Bug Fixes
+
+* **YouTube - Hide ads:** Hide new type of buttoned ad ([#4528](https://github.com/ReVanced/revanced-patches/issues/4528)) ([4387a7b](https://github.com/ReVanced/revanced-patches/commit/4387a7b131f49729e902e008bb4cec073635c040))
+
# [5.14.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.13.1-dev.1...v5.14.0-dev.1) (2025-03-06)
diff --git a/gradle.properties b/gradle.properties
index 513f50d9f3..37ab31bfff 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.14.0-dev.1
+version = 5.14.0-dev.2
From 5d3c8175b34a3f6ae2732b25db0851773a8c000d Mon Sep 17 00:00:00 2001
From: oSumAtrIX
Date: Thu, 6 Mar 2025 11:33:06 +0100
Subject: [PATCH 11/30] fix(Boost for reddit - Client spoof): Use a different
user agent to combat Reddit's API issues
---
.../boostforreddit/api/SpoofClientPatch.kt | 20 +++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/api/SpoofClientPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/api/SpoofClientPatch.kt
index 389facb950..a8abe92569 100644
--- a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/api/SpoofClientPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/api/SpoofClientPatch.kt
@@ -1,7 +1,10 @@
package app.revanced.patches.reddit.customclients.boostforreddit.api
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
+import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
+import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import app.revanced.patches.reddit.customclients.spoofClientPatch
+import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
val spoofClientPatch = spoofClientPatch(redirectUri = "http://rubenmayayo.com") { clientIdOption ->
compatibleWith("com.rubenmayayo.reddit")
@@ -23,14 +26,15 @@ val spoofClientPatch = spoofClientPatch(redirectUri = "http://rubenmayayo.com")
// region Patch user agent.
- // Use a random number as the platform in the user agent string.
- val platformName = (0..100000).random()
- val platformParameter = 0
-
- buildUserAgentFingerprint.method.addInstructions(
- 0,
- "const-string p$platformParameter, \"$platformName\"",
- )
+ // Use a random user agent.
+ val randomName = (0..100000).random()
+ val userAgent = "$randomName:app.revanced.$randomName:v1.0.0 (by /u/revanced)"
+ buildUserAgentFingerprint.let {
+ val userAgentTemplateIndex = it.stringMatches!!.first().index
+ val register = it.method.getInstruction(userAgentTemplateIndex).registerA
+
+ it.method.replaceInstruction(userAgentTemplateIndex, "const-string v$register, \"$userAgent\"")
+ }
// endregion
}
From 49bf81125295af05bea3b68af848efb010ef35df Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Thu, 6 Mar 2025 10:36:52 +0000
Subject: [PATCH 12/30] chore: Release v5.14.0-dev.3 [skip ci]
# [5.14.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.14.0-dev.2...v5.14.0-dev.3) (2025-03-06)
### Bug Fixes
* **Boost for reddit - Client spoof:** Use a different user agent to combat Reddit's API issues ([5d3c817](https://github.com/ReVanced/revanced-patches/commit/5d3c8175b34a3f6ae2732b25db0851773a8c000d))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7e923fc8c4..b7948c80e3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.14.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.14.0-dev.2...v5.14.0-dev.3) (2025-03-06)
+
+
+### Bug Fixes
+
+* **Boost for reddit - Client spoof:** Use a different user agent to combat Reddit's API issues ([5d3c817](https://github.com/ReVanced/revanced-patches/commit/5d3c8175b34a3f6ae2732b25db0851773a8c000d))
+
# [5.14.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.14.0-dev.1...v5.14.0-dev.2) (2025-03-06)
diff --git a/gradle.properties b/gradle.properties
index 37ab31bfff..54fedf7cde 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.14.0-dev.2
+version = 5.14.0-dev.3
From ee67b763d5c5947a5b1ef4420b1efa820ed6af83 Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Thu, 6 Mar 2025 14:56:32 +0200
Subject: [PATCH 13/30] fix(YouTube): Combine `Restore old video quality menu`
and `Remember video quality` into `Video quality` patch (#4552)
---
...va => AdvancedVideoQualityMenuFilter.java} | 10 +-
...ava => AdvancedVideoQualityMenuPatch.java} | 25 ++--
.../extension/youtube/settings/Settings.java | 7 +-
patches/api/patches.api | 4 +
.../connectivity/wifi/spoof/SpoofWifiPatch.kt | 4 +-
.../music/misc/spoof/SpoofClientPatch.kt | 2 +-
.../tiktok/misc/settings/SettingsPatch.kt | 2 +-
.../lockscreen/ShowOnLockscreenPatch.kt | 2 +-
.../ad/getpremium/HideGetPremiumPatch.kt | 2 +-
.../interaction/downloads/DownloadsPatch.kt | 2 +-
.../navigation/NavigationButtonsPatch.kt | 2 +-
.../DisableFullscreenAmbientModePatch.kt | 2 +-
.../youtube/layout/theme/ThemePatch.kt | 43 +++---
.../misc/litho/filter/LithoFilterPatch.kt | 2 +-
.../misc/playertype/PlayerTypeHookPatch.kt | 2 +-
.../youtube/misc/settings/SettingsPatch.kt | 2 -
.../quality/AdvancedVideoQualityMenuPatch.kt | 118 +++++++++++++++
.../youtube/video/quality/Fingerprints.kt | 39 +++++
.../quality/RememberVideoQualityPatch.kt | 87 ++++-------
.../video/quality/VideoQualityPatch.kt | 48 +++++++
.../youtube/video/speed/PlaybackSpeedPatch.kt | 8 +-
.../speed/button/PlaybackSpeedButtonPatch.kt | 8 +-
.../speed/custom/CustomPlaybackSpeedPatch.kt | 8 +-
.../remember/RememberPlaybackSpeedPatch.kt | 5 +-
.../video/videoqualitymenu/Fingerprints.kt | 43 ------
.../RestoreOldVideoQualityMenuPatch.kt | 135 +-----------------
.../resources/addresources/values/strings.xml | 15 +-
27 files changed, 325 insertions(+), 302 deletions(-)
rename extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/{VideoQualityMenuFilterPatch.java => AdvancedVideoQualityMenuFilter.java} (70%)
rename extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/{RestoreOldVideoQualityMenuPatch.java => AdvancedVideoQualityMenuPatch.java} (76%)
create mode 100644 patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/AdvancedVideoQualityMenuPatch.kt
create mode 100644 patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt
delete mode 100644 patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/Fingerprints.kt
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter.java
similarity index 70%
rename from extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java
rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter.java
index 7ee3cab777..66d78328d7 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter.java
@@ -2,20 +2,20 @@
import androidx.annotation.Nullable;
-import app.revanced.extension.youtube.patches.playback.quality.RestoreOldVideoQualityMenuPatch;
+import app.revanced.extension.youtube.patches.playback.quality.AdvancedVideoQualityMenuPatch;
import app.revanced.extension.youtube.settings.Settings;
/**
- * Abuse LithoFilter for {@link RestoreOldVideoQualityMenuPatch}.
+ * Abuse LithoFilter for {@link AdvancedVideoQualityMenuPatch}.
*/
-public final class VideoQualityMenuFilterPatch extends Filter {
+public final class AdvancedVideoQualityMenuFilter extends Filter {
// Must be volatile or synchronized, as litho filtering runs off main thread
// and this field is then access from the main thread.
public static volatile boolean isVideoQualityMenuVisible;
- public VideoQualityMenuFilterPatch() {
+ public AdvancedVideoQualityMenuFilter() {
addPathCallbacks(new StringFilterGroup(
- Settings.RESTORE_OLD_VIDEO_QUALITY_MENU,
+ Settings.ADVANCED_VIDEO_QUALITY_MENU,
"quick_quality_sheet_content.eml-js"
));
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/AdvancedVideoQualityMenuPatch.java
similarity index 76%
rename from extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java
rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/AdvancedVideoQualityMenuPatch.java
index 11874006ee..e65b13f135 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/AdvancedVideoQualityMenuPatch.java
@@ -8,30 +8,30 @@
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
-import app.revanced.extension.youtube.patches.components.VideoQualityMenuFilterPatch;
+import app.revanced.extension.youtube.patches.components.AdvancedVideoQualityMenuFilter;
import app.revanced.extension.youtube.settings.Settings;
/**
- * This patch contains the logic to show the old video quality menu.
+ * This patch contains the logic to always open the advanced video quality menu.
* Two methods are required, because the quality menu is a RecyclerView in the new YouTube version
* and a ListView in the old one.
*/
@SuppressWarnings("unused")
-public final class RestoreOldVideoQualityMenuPatch {
+public final class AdvancedVideoQualityMenuPatch {
/**
* Injection point.
*/
public static void onFlyoutMenuCreate(RecyclerView recyclerView) {
- if (!Settings.RESTORE_OLD_VIDEO_QUALITY_MENU.get()) return;
+ if (!Settings.ADVANCED_VIDEO_QUALITY_MENU.get()) return;
recyclerView.getViewTreeObserver().addOnDrawListener(() -> {
try {
// Check if the current view is the quality menu.
- if (!VideoQualityMenuFilterPatch.isVideoQualityMenuVisible || recyclerView.getChildCount() == 0) {
+ if (!AdvancedVideoQualityMenuFilter.isVideoQualityMenuVisible || recyclerView.getChildCount() == 0) {
return;
}
- VideoQualityMenuFilterPatch.isVideoQualityMenuVisible = false;
+ AdvancedVideoQualityMenuFilter.isVideoQualityMenuVisible = false;
ViewParent quickQualityViewParent = Utils.getParentView(recyclerView, 3);
if (!(quickQualityViewParent instanceof ViewGroup)) {
@@ -39,16 +39,15 @@ public static void onFlyoutMenuCreate(RecyclerView recyclerView) {
}
View firstChild = recyclerView.getChildAt(0);
- if (!(firstChild instanceof ViewGroup)) {
+ if (!(firstChild instanceof ViewGroup firstChildGroup)) {
return;
}
- ViewGroup advancedQualityParentView = (ViewGroup) firstChild;
- if (advancedQualityParentView.getChildCount() < 4) {
+ if (firstChildGroup.getChildCount() < 4) {
return;
}
- View advancedQualityView = advancedQualityParentView.getChildAt(3);
+ View advancedQualityView = firstChildGroup.getChildAt(3);
if (advancedQualityView == null) {
return;
}
@@ -71,7 +70,7 @@ public static void onFlyoutMenuCreate(RecyclerView recyclerView) {
* Used to force the creation of the advanced menu item for the Shorts quality flyout.
*/
public static boolean forceAdvancedVideoQualityMenuCreation(boolean original) {
- return Settings.RESTORE_OLD_VIDEO_QUALITY_MENU.get() || original;
+ return Settings.ADVANCED_VIDEO_QUALITY_MENU.get() || original;
}
/**
@@ -79,8 +78,8 @@ public static boolean forceAdvancedVideoQualityMenuCreation(boolean original) {
*
* Used if spoofing to an old app version, and also used for the Shorts video quality flyout.
*/
- public static void showOldVideoQualityMenu(final ListView listView) {
- if (!Settings.RESTORE_OLD_VIDEO_QUALITY_MENU.get()) return;
+ public static void showAdvancedVideoQualityMenu(ListView listView) {
+ if (!Settings.ADVANCED_VIDEO_QUALITY_MENU.get()) return;
listView.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() {
@Override
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
index b8263829d3..954d75bb61 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
@@ -47,14 +47,14 @@
public class Settings extends BaseSettings {
// Video
- public static final BooleanSetting DISABLE_HDR_VIDEO = new BooleanSetting("revanced_disable_hdr_video", FALSE);
public static final IntegerSetting VIDEO_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_video_quality_default_wifi", -2);
public static final IntegerSetting VIDEO_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_video_quality_default_mobile", -2);
public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_video_quality_last_selected", FALSE);
public static final IntegerSetting SHORTS_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_shorts_quality_default_wifi", -2, true);
public static final IntegerSetting SHORTS_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_shorts_quality_default_mobile", -2, true);
public static final BooleanSetting REMEMBER_SHORTS_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_shorts_quality_last_selected", FALSE);
- public static final BooleanSetting RESTORE_OLD_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_restore_old_video_quality_menu", TRUE);
+ public static final BooleanSetting ADVANCED_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_advanced_video_quality_menu", TRUE);
+ public static final BooleanSetting DISABLE_HDR_VIDEO = new BooleanSetting("revanced_disable_hdr_video", FALSE);
// Speed
public static final FloatSetting SPEED_TAP_AND_HOLD = new FloatSetting("revanced_speed_tap_and_hold", 2.0f, true);
public static final BooleanSetting REMEMBER_PLAYBACK_SPEED_LAST_SELECTED = new BooleanSetting("revanced_remember_playback_speed_last_selected", FALSE);
@@ -391,6 +391,7 @@ public class Settings extends BaseSettings {
private static final IntegerSetting DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA = new IntegerSetting("revanced_swipe_overlay_background_alpha", 127);
private static final StringSetting DEPRECATED_SEEKBAR_CUSTOM_COLOR_PRIMARY = new StringSetting("revanced_seekbar_custom_color_value", "#FF0033");
private static final BooleanSetting DEPRECATED_DISABLE_SUGGESTED_VIDEO_END_SCREEN = new BooleanSetting("revanced_disable_suggested_video_end_screen", FALSE);
+ private static final BooleanSetting DEPRECATED_RESTORE_OLD_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_restore_old_video_quality_menu", TRUE);
static {
// region Migration
@@ -411,6 +412,8 @@ public class Settings extends BaseSettings {
migrateOldSettingToNew(DEPRECATED_DISABLE_SUGGESTED_VIDEO_END_SCREEN, HIDE_END_SCREEN_SUGGESTED_VIDEO);
+ migrateOldSettingToNew(DEPRECATED_RESTORE_OLD_VIDEO_QUALITY_MENU, ADVANCED_VIDEO_QUALITY_MENU);
+
// Migrate renamed enum.
//noinspection deprecation
if (MINIPLAYER_TYPE.get() == MiniplayerType.PHONE) {
diff --git a/patches/api/patches.api b/patches/api/patches.api
index 94aee7801e..71401bc893 100644
--- a/patches/api/patches.api
+++ b/patches/api/patches.api
@@ -1463,6 +1463,10 @@ public final class app/revanced/patches/youtube/video/quality/RememberVideoQuali
public static final fun getRememberVideoQualityPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
+public final class app/revanced/patches/youtube/video/quality/VideoQualityPatchKt {
+ public static final fun getVideoQualityPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
+}
+
public final class app/revanced/patches/youtube/video/speed/PlaybackSpeedPatchKt {
public static final fun getPlaybackSpeedPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt
index ede9eb1dc3..f6b01cda21 100644
--- a/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt
@@ -5,10 +5,10 @@ import app.revanced.patches.all.misc.transformation.IMethodCall
import app.revanced.patches.all.misc.transformation.filterMapInstruction35c
import app.revanced.patches.all.misc.transformation.transformInstructionsPatch
-internal const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
+private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
"Lapp/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch"
-internal const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
+private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
@Suppress("unused")
val spoofWifiPatch = bytecodePatch(
diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofClientPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofClientPatch.kt
index 88ab2ceb8e..e6fb8e3fe3 100644
--- a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofClientPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofClientPatch.kt
@@ -17,7 +17,7 @@ import com.android.tools.smali.dexlib2.iface.reference.TypeReference
import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter
-internal const val EXTENSION_CLASS_DESCRIPTOR =
+private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/music/spoof/SpoofClientPatch;"
// TODO: Replace this patch with spoofVideoStreamsPatch once possible.
diff --git a/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/settings/SettingsPatch.kt
index a48305177a..5e19646e54 100644
--- a/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/settings/SettingsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/settings/SettingsPatch.kt
@@ -11,7 +11,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction22c
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
-internal const val EXTENSION_CLASS_DESCRIPTOR =
+private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/tiktok/settings/AdPersonalizationActivityHook;"
val settingsPatch = bytecodePatch(
diff --git a/patches/src/main/kotlin/app/revanced/patches/tudortmund/lockscreen/ShowOnLockscreenPatch.kt b/patches/src/main/kotlin/app/revanced/patches/tudortmund/lockscreen/ShowOnLockscreenPatch.kt
index 2d33251901..c4ab245ff6 100644
--- a/patches/src/main/kotlin/app/revanced/patches/tudortmund/lockscreen/ShowOnLockscreenPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/tudortmund/lockscreen/ShowOnLockscreenPatch.kt
@@ -12,7 +12,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
-internal const val EXTENSION_CLASS_DESCRIPTOR =
+private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch;"
@Suppress("unused")
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt
index c4fb21b15c..49d7a460d3 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt
@@ -11,7 +11,7 @@ import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
-internal const val EXTENSION_CLASS_DESCRIPTOR =
+private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/HideGetPremiumPatch;"
val hideGetPremiumPatch = bytecodePatch(
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt
index 8e5c95f244..22f971e429 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt
@@ -50,7 +50,7 @@ private val downloadsResourcePatch = resourcePatch {
}
}
-internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/DownloadsPatch;"
+private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/DownloadsPatch;"
internal const val BUTTON_DESCRIPTOR = "Lapp/revanced/extension/youtube/videoplayer/ExternalDownloadButton;"
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt
index 6e560cf3f3..dd6666bcf7 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt
@@ -23,7 +23,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
-internal const val EXTENSION_CLASS_DESCRIPTOR =
+private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/NavigationButtonsPatch;"
val navigationButtonsPatch = bytecodePatch(
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt
index 816dad7b55..0b9badbe86 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt
@@ -14,7 +14,7 @@ import app.revanced.util.indexOfFirstInstructionReversedOrThrow
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
-internal const val EXTENSION_CLASS_DESCRIPTOR =
+private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/DisableFullscreenAmbientModePatch;"
val disableFullscreenAmbientModePatch = bytecodePatch(
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt
index 587e56c123..f99053c808 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt
@@ -8,7 +8,10 @@ import app.revanced.patcher.patch.stringOption
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
+import app.revanced.patches.shared.misc.settings.preference.BasePreference
import app.revanced.patches.shared.misc.settings.preference.InputType
+import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
+import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.shared.misc.settings.preference.TextPreference
import app.revanced.patches.youtube.layout.seekbar.seekbarColorPatch
@@ -71,6 +74,9 @@ val themePatch = bytecodePatch(
)
dependsOn(
+ sharedExtensionPatch,
+ settingsPatch,
+ addResourcesPatch,
lithoColorHookPatch,
seekbarColorPatch,
versionCheckPatch,
@@ -78,23 +84,31 @@ val themePatch = bytecodePatch(
dependsOn(
settingsPatch,
resourceMappingPatch,
- addResourcesPatch,
)
execute {
- addResources("youtube", "layout.theme.themeResourcePatch")
-
- PreferenceScreen.SEEKBAR.addPreferences(
+ val preferences = mutableSetOf(
SwitchPreference("revanced_seekbar_custom_color"),
TextPreference("revanced_seekbar_custom_color_primary", inputType = InputType.TEXT_CAP_CHARACTERS),
)
if (is_19_25_or_greater) {
- PreferenceScreen.SEEKBAR.addPreferences(
- TextPreference("revanced_seekbar_custom_color_accent", inputType = InputType.TEXT_CAP_CHARACTERS),
+ preferences += TextPreference(
+ "revanced_seekbar_custom_color_accent",
+ inputType = InputType.TEXT_CAP_CHARACTERS
)
}
+ PreferenceScreen.SEEKBAR.addPreferences(
+ PreferenceCategory(
+ // Title is hidden, but is used for sorting the group.
+ titleKey = "revanced_seekbar_custom_color_title",
+ sorting = Sorting.UNSORTED,
+ tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
+ preferences = preferences
+ )
+ )
+
// Edit theme colors via resources.
document("res/values/colors.xml").use { document ->
@@ -125,7 +139,6 @@ val themePatch = bytecodePatch(
colorValue: String,
) {
document(resourceFile).use { document ->
-
val resourcesNode = document.getElementsByTagName("resources").item(0) as Element
resourcesNode.appendChild(
@@ -133,7 +146,7 @@ val themePatch = bytecodePatch(
setAttribute("name", colorName)
setAttribute("category", "color")
textContent = colorValue
- },
+ }
)
}
}
@@ -152,11 +165,10 @@ val themePatch = bytecodePatch(
// Edit splash screen files and change the background color,
// if the background colors are set.
if (darkThemeBackgroundColor != null && lightThemeBackgroundColor != null) {
- val splashScreenResourceFiles =
- listOf(
- "res/drawable/quantum_launchscreen_youtube.xml",
- "res/drawable-sw600dp/quantum_launchscreen_youtube.xml",
- )
+ val splashScreenResourceFiles = listOf(
+ "res/drawable/quantum_launchscreen_youtube.xml",
+ "res/drawable-sw600dp/quantum_launchscreen_youtube.xml",
+ )
splashScreenResourceFiles.forEach editSplashScreen@{ resourceFile ->
document(resourceFile).use { document ->
@@ -200,10 +212,7 @@ val themePatch = bytecodePatch(
}
}
}
- },
- sharedExtensionPatch,
- settingsPatch,
- addResourcesPatch,
+ }
)
compatibleWith(
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/litho/filter/LithoFilterPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/litho/filter/LithoFilterPatch.kt
index 16a8340830..d40ab3aa4b 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/litho/filter/LithoFilterPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/litho/filter/LithoFilterPatch.kt
@@ -27,7 +27,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
lateinit var addLithoFilter: (String) -> Unit
private set
-internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/components/LithoFilterPatch;"
+private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/components/LithoFilterPatch;"
val lithoFilterPatch = bytecodePatch(
description = "Hooks the method which parses the bytes into a ComponentContext to filter components.",
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt
index f8dcf8b7e4..b14de0cbea 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPatch.kt
@@ -15,7 +15,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
-internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/PlayerTypeHookPatch;"
+private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/PlayerTypeHookPatch;"
internal var reelWatchPlayerId = -1L
private set
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt
index 47eee24eea..3a84ca69db 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt
@@ -301,11 +301,9 @@ object PreferenceScreen : BasePreferenceScreen() {
summaryKey = null,
)
- // Don't sort, because title sorting scatters the custom color preferences.
val SEEKBAR = Screen(
key = "revanced_settings_screen_07_seekbar",
summaryKey = null,
- sorting = Sorting.UNSORTED,
)
val SWIPE_CONTROLS = Screen(
key = "revanced_settings_screen_08_swipe_controls",
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/AdvancedVideoQualityMenuPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/AdvancedVideoQualityMenuPatch.kt
new file mode 100644
index 0000000000..55285a56e3
--- /dev/null
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/AdvancedVideoQualityMenuPatch.kt
@@ -0,0 +1,118 @@
+package app.revanced.patches.youtube.video.quality
+
+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.patch.PatchException
+import app.revanced.patcher.patch.bytecodePatch
+import app.revanced.patcher.patch.resourcePatch
+import app.revanced.patches.all.misc.resources.addResources
+import app.revanced.patches.all.misc.resources.addResourcesPatch
+import app.revanced.patches.shared.misc.mapping.get
+import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
+import app.revanced.patches.shared.misc.mapping.resourceMappings
+import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
+import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
+import app.revanced.patches.youtube.misc.litho.filter.addLithoFilter
+import app.revanced.patches.youtube.misc.litho.filter.lithoFilterPatch
+import app.revanced.patches.youtube.misc.recyclerviewtree.hook.addRecyclerViewTreeHook
+import app.revanced.patches.youtube.misc.recyclerviewtree.hook.recyclerViewTreeHookPatch
+import app.revanced.patches.youtube.misc.settings.settingsPatch
+import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
+
+internal var videoQualityBottomSheetListFragmentTitle = -1L
+ private set
+internal var videoQualityQuickMenuAdvancedMenuDescription = -1L
+ private set
+
+private val advancedVideoQualityMenuResourcePatch = resourcePatch {
+ dependsOn(resourceMappingPatch)
+
+ execute {
+ // Used for the old type of the video quality menu.
+ videoQualityBottomSheetListFragmentTitle = resourceMappings[
+ "layout",
+ "video_quality_bottom_sheet_list_fragment_title",
+ ]
+
+ videoQualityQuickMenuAdvancedMenuDescription = resourceMappings[
+ "string",
+ "video_quality_quick_menu_advanced_menu_description",
+ ]
+ }
+}
+
+private const val EXTENSION_CLASS_DESCRIPTOR =
+ "Lapp/revanced/extension/youtube/patches/playback/quality/AdvancedVideoQualityMenuPatch;"
+
+private const val FILTER_CLASS_DESCRIPTOR =
+ "Lapp/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter;"
+
+internal val advancedVideoQualityMenuPatch = bytecodePatch {
+ dependsOn(
+ advancedVideoQualityMenuResourcePatch,
+ sharedExtensionPatch,
+ settingsPatch,
+ addResourcesPatch,
+ lithoFilterPatch,
+ recyclerViewTreeHookPatch,
+ )
+
+ execute {
+ addResources("youtube", "video.quality.advancedVideoQualityMenuPatch")
+
+ settingsMenuVideoQualityGroup.add(
+ SwitchPreference("revanced_advanced_video_quality_menu")
+ )
+
+ // region Patch for the old type of the video quality menu.
+ // Used for regular videos when spoofing to old app version,
+ // and for the Shorts quality flyout on newer app versions.
+
+ videoQualityMenuViewInflateFingerprint.let {
+ it.method.apply {
+ val checkCastIndex = it.patternMatch!!.endIndex
+ val listViewRegister = getInstruction(checkCastIndex).registerA
+
+ addInstruction(
+ checkCastIndex + 1,
+ "invoke-static { v$listViewRegister }, $EXTENSION_CLASS_DESCRIPTOR->" +
+ "showAdvancedVideoQualityMenu(Landroid/widget/ListView;)V",
+ )
+ }
+ }
+
+ // Force YT to add the 'advanced' quality menu for Shorts.
+ videoQualityMenuOptionsFingerprint.let {
+ val patternMatch = it.patternMatch!!
+ val startIndex = patternMatch.startIndex
+ val insertIndex = patternMatch.endIndex
+ if (startIndex != 0) throw PatchException("Unexpected opcode start index: $startIndex")
+
+ it.method.apply {
+ val register = getInstruction(insertIndex).registerA
+
+ // A condition controls whether to show the three or four items quality menu.
+ // Force the four items quality menu to make the "Advanced" item visible, necessary for the patch.
+ addInstructions(
+ insertIndex,
+ """
+ invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->forceAdvancedVideoQualityMenuCreation(Z)Z
+ move-result v$register
+ """
+ )
+ }
+ }
+
+ // endregion
+
+ // region Patch for the new type of the video quality menu.
+
+ addRecyclerViewTreeHook(EXTENSION_CLASS_DESCRIPTOR)
+
+ // Required to check if the video quality menu is currently shown in order to click on the "Advanced" item.
+ addLithoFilter(FILTER_CLASS_DESCRIPTOR)
+
+ // endregion
+ }
+}
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt
index e33674a389..5ce6da9c11 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt
@@ -1,6 +1,7 @@
package app.revanced.patches.youtube.video.quality
import app.revanced.patcher.fingerprint
+import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
@@ -35,3 +36,41 @@ internal val videoQualitySetterFingerprint = fingerprint {
)
strings("menu_item_video_quality")
}
+
+
+internal val videoQualityMenuOptionsFingerprint = fingerprint {
+ accessFlags(AccessFlags.STATIC)
+ returns("[L")
+ parameters("Landroid/content/Context", "L", "L")
+ opcodes(
+ Opcode.CONST_4, // First instruction of method.
+ Opcode.CONST_4,
+ Opcode.IF_EQZ,
+ Opcode.IGET_BOOLEAN, // Use the quality menu, that contains the advanced menu.
+ Opcode.IF_NEZ,
+ )
+ literal { videoQualityQuickMenuAdvancedMenuDescription }
+}
+
+internal val videoQualityMenuViewInflateFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("L")
+ parameters("L", "L", "L")
+ opcodes(
+ Opcode.INVOKE_SUPER,
+ Opcode.CONST,
+ Opcode.CONST_4,
+ Opcode.INVOKE_VIRTUAL,
+ Opcode.MOVE_RESULT_OBJECT,
+ Opcode.CONST,
+ Opcode.INVOKE_VIRTUAL,
+ Opcode.MOVE_RESULT_OBJECT,
+ Opcode.CONST_16,
+ Opcode.INVOKE_VIRTUAL,
+ Opcode.CONST,
+ Opcode.INVOKE_VIRTUAL,
+ Opcode.MOVE_RESULT_OBJECT,
+ Opcode.CHECK_CAST,
+ )
+ literal { videoQualityBottomSheetListFragmentTitle }
+}
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt
index d7c5a354a3..65036fc27a 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt
@@ -8,12 +8,9 @@ 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.shared.misc.settings.preference.PreferenceCategory
-import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
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.newVideoQualityChangedFingerprint
import app.revanced.patches.youtube.video.information.onCreateHook
@@ -25,10 +22,7 @@ import com.android.tools.smali.dexlib2.iface.reference.FieldReference
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch;"
-val rememberVideoQualityPatch = bytecodePatch(
- name = "Remember video quality",
- description = "Adds an option to remember the last video quality selected.",
-) {
+val rememberVideoQualityPatch = bytecodePatch {
dependsOn(
sharedExtensionPatch,
videoInformationPatch,
@@ -37,59 +31,38 @@ val rememberVideoQualityPatch = bytecodePatch(
addResourcesPatch,
)
- compatibleWith(
- "com.google.android.youtube"(
- "19.16.39",
- "19.25.37",
- "19.34.42",
- "19.43.41",
- "19.45.38",
- "19.46.42",
- "19.47.53",
- ),
- )
-
execute {
addResources("youtube", "video.quality.rememberVideoQualityPatch")
- PreferenceScreen.VIDEO.addPreferences(
- // Keep the preferences organized together.
- PreferenceCategory(
- key = "revanced_01_video_key", // Dummy key to force the quality preferences first.
- titleKey = null,
- sorting = Sorting.UNSORTED,
- tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
- preferences = setOf(
- ListPreference(
- key = "revanced_video_quality_default_mobile",
- summaryKey = null,
- entriesKey = "revanced_video_quality_default_entries",
- entryValuesKey = "revanced_video_quality_default_entry_values",
- ),
- ListPreference(
- key = "revanced_video_quality_default_wifi",
- summaryKey = null,
- entriesKey = "revanced_video_quality_default_entries",
- entryValuesKey = "revanced_video_quality_default_entry_values",
- ),
- SwitchPreference("revanced_remember_video_quality_last_selected"),
-
- ListPreference(
- key = "revanced_shorts_quality_default_mobile",
- summaryKey = null,
- entriesKey = "revanced_video_quality_default_entries",
- entryValuesKey = "revanced_video_quality_default_entry_values",
- ),
- ListPreference(
- key = "revanced_shorts_quality_default_wifi",
- summaryKey = null,
- entriesKey = "revanced_video_quality_default_entries",
- entryValuesKey = "revanced_video_quality_default_entry_values",
- ),
- SwitchPreference("revanced_remember_shorts_quality_last_selected")
- )
- )
- )
+ settingsMenuVideoQualityGroup.addAll(listOf(
+ ListPreference(
+ key = "revanced_video_quality_default_mobile",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ ListPreference(
+ key = "revanced_video_quality_default_wifi",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ SwitchPreference("revanced_remember_video_quality_last_selected"),
+
+ ListPreference(
+ key = "revanced_shorts_quality_default_mobile",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ ListPreference(
+ key = "revanced_shorts_quality_default_wifi",
+ summaryKey = null,
+ entriesKey = "revanced_video_quality_default_entries",
+ entryValuesKey = "revanced_video_quality_default_entry_values",
+ ),
+ SwitchPreference("revanced_remember_shorts_quality_last_selected")
+ ))
/*
* The following code works by hooking the method which is called when the user selects a video quality
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt
new file mode 100644
index 0000000000..a01cf6f565
--- /dev/null
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt
@@ -0,0 +1,48 @@
+package app.revanced.patches.youtube.video.quality
+
+import app.revanced.patcher.patch.bytecodePatch
+import app.revanced.patches.shared.misc.settings.preference.BasePreference
+import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
+import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
+import app.revanced.patches.youtube.misc.settings.PreferenceScreen
+
+/**
+ * Video quality settings. Used to organize all speed related settings together.
+ */
+internal val settingsMenuVideoQualityGroup = mutableSetOf()
+
+@Suppress("unused")
+val videoQualityPatch = bytecodePatch(
+ name = "Video quality",
+ description = "Adds options to use the advanced video quality menu and set default video qualities."
+) {
+ dependsOn(
+ rememberVideoQualityPatch,
+ advancedVideoQualityMenuPatch,
+ )
+
+ compatibleWith(
+ "com.google.android.youtube"(
+ "19.16.39",
+ "19.25.37",
+ "19.34.42",
+ "19.43.41",
+ "19.45.38",
+ "19.46.42",
+ "19.47.53",
+ )
+ )
+
+ execute {
+ PreferenceScreen.VIDEO.addPreferences(
+ // Keep the preferences organized together.
+ PreferenceCategory(
+ key = "revanced_01_video_key", // Dummy key to force the quality preferences first.
+ titleKey = null,
+ sorting = Sorting.UNSORTED,
+ tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
+ preferences = settingsMenuVideoQualityGroup
+ )
+ )
+ }
+}
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt
index a5868887ea..ef83ccb64b 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt
@@ -17,13 +17,13 @@ internal val settingsMenuVideoSpeedGroup = mutableSetOf()
@Suppress("unused")
val playbackSpeedPatch = bytecodePatch(
name = "Playback speed",
- description = "Adds options to customize available playback speeds, remember the last playback speed selected " +
+ description = "Adds options to customize available playback speeds, set default a playback speed, " +
"and show a speed dialog button in the video player.",
) {
dependsOn(
- playbackSpeedButtonPatch,
customPlaybackSpeedPatch,
rememberPlaybackSpeedPatch,
+ playbackSpeedButtonPatch,
)
compatibleWith(
@@ -38,10 +38,10 @@ val playbackSpeedPatch = bytecodePatch(
)
)
- finalize {
+ execute {
PreferenceScreen.VIDEO.addPreferences(
PreferenceCategory(
- key = "revanced_zz_key", // Dummy key to force the speed settings last.
+ key = "revanced_zz_video_key", // Dummy key to force the speed settings last.
titleKey = null,
sorting = Sorting.UNSORTED,
tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt
index 1acc3ca74c..0ac9b0769e 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt
@@ -5,6 +5,7 @@ import app.revanced.patcher.patch.resourcePatch
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.playercontrols.*
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
@@ -35,11 +36,12 @@ val playbackSpeedButtonPatch = bytecodePatch(
description = "Adds the option to display playback speed dialog button in the video player.",
) {
dependsOn(
- playbackSpeedButtonResourcePatch,
- customPlaybackSpeedPatch,
- playerControlsPatch,
+ sharedExtensionPatch,
settingsPatch,
addResourcesPatch,
+ customPlaybackSpeedPatch,
+ playbackSpeedButtonResourcePatch,
+ playerControlsPatch,
)
execute {
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt
index 84a560894e..53151489bf 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/custom/CustomPlaybackSpeedPatch.kt
@@ -60,12 +60,12 @@ internal val customPlaybackSpeedPatch = bytecodePatch(
) {
dependsOn(
sharedExtensionPatch,
- lithoFilterPatch,
settingsPatch,
- recyclerViewTreeHookPatch,
- customPlaybackSpeedResourcePatch,
addResourcesPatch,
- versionCheckPatch
+ lithoFilterPatch,
+ versionCheckPatch,
+ recyclerViewTreeHookPatch,
+ customPlaybackSpeedResourcePatch
)
execute {
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt
index 94c69dd69b..ad6ee4a6cf 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/remember/RememberPlaybackSpeedPatch.kt
@@ -22,9 +22,9 @@ internal val rememberPlaybackSpeedPatch = bytecodePatch {
dependsOn(
sharedExtensionPatch,
settingsPatch,
- videoInformationPatch,
- customPlaybackSpeedPatch,
addResourcesPatch,
+ videoInformationPatch,
+ customPlaybackSpeedPatch
)
execute {
@@ -44,6 +44,7 @@ internal val rememberPlaybackSpeedPatch = bytecodePatch {
)
onCreateHook(EXTENSION_CLASS_DESCRIPTOR, "newVideoStarted")
+
userSelectedPlaybackSpeedHook(
EXTENSION_CLASS_DESCRIPTOR,
"userSelectedPlaybackSpeed",
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/Fingerprints.kt
deleted file mode 100644
index 7f5469da33..0000000000
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/Fingerprints.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package app.revanced.patches.youtube.video.videoqualitymenu
-
-import app.revanced.patcher.fingerprint
-import app.revanced.util.literal
-import com.android.tools.smali.dexlib2.AccessFlags
-import com.android.tools.smali.dexlib2.Opcode
-
-internal val videoQualityMenuOptionsFingerprint = fingerprint {
- accessFlags(AccessFlags.STATIC)
- returns("[L")
- parameters("Landroid/content/Context", "L", "L")
- opcodes(
- Opcode.CONST_4, // First instruction of method.
- Opcode.CONST_4,
- Opcode.IF_EQZ,
- Opcode.IGET_BOOLEAN, // Use the quality menu, that contains the advanced menu.
- Opcode.IF_NEZ,
- )
- literal { videoQualityQuickMenuAdvancedMenuDescription }
-}
-
-internal val videoQualityMenuViewInflateFingerprint = fingerprint {
- accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
- returns("L")
- parameters("L", "L", "L")
- opcodes(
- Opcode.INVOKE_SUPER,
- Opcode.CONST,
- Opcode.CONST_4,
- Opcode.INVOKE_VIRTUAL,
- Opcode.MOVE_RESULT_OBJECT,
- Opcode.CONST,
- Opcode.INVOKE_VIRTUAL,
- Opcode.MOVE_RESULT_OBJECT,
- Opcode.CONST_16,
- Opcode.INVOKE_VIRTUAL,
- Opcode.CONST,
- Opcode.INVOKE_VIRTUAL,
- Opcode.MOVE_RESULT_OBJECT,
- Opcode.CHECK_CAST,
- )
- literal { videoQualityBottomSheetListFragmentTitle }
-}
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/RestoreOldVideoQualityMenuPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/RestoreOldVideoQualityMenuPatch.kt
index a10e916f73..537a2b68c4 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/RestoreOldVideoQualityMenuPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoqualitymenu/RestoreOldVideoQualityMenuPatch.kt
@@ -1,135 +1,10 @@
package app.revanced.patches.youtube.video.videoqualitymenu
-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.patch.PatchException
import app.revanced.patcher.patch.bytecodePatch
-import app.revanced.patcher.patch.resourcePatch
-import app.revanced.patches.all.misc.resources.addResources
-import app.revanced.patches.all.misc.resources.addResourcesPatch
-import app.revanced.patches.shared.misc.mapping.get
-import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
-import app.revanced.patches.shared.misc.mapping.resourceMappings
-import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
-import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
-import app.revanced.patches.youtube.misc.litho.filter.addLithoFilter
-import app.revanced.patches.youtube.misc.litho.filter.lithoFilterPatch
-import app.revanced.patches.youtube.misc.recyclerviewtree.hook.addRecyclerViewTreeHook
-import app.revanced.patches.youtube.misc.recyclerviewtree.hook.recyclerViewTreeHookPatch
-import app.revanced.patches.youtube.misc.settings.PreferenceScreen
-import app.revanced.patches.youtube.misc.settings.settingsPatch
-import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
-
-internal var videoQualityBottomSheetListFragmentTitle = -1L
- private set
-internal var videoQualityQuickMenuAdvancedMenuDescription = -1L
- private set
-
-private val restoreOldVideoQualityMenuResourcePatch = resourcePatch {
- dependsOn(
- settingsPatch,
- resourceMappingPatch,
- addResourcesPatch,
- )
-
- execute {
- addResources("youtube", "video.videoqualitymenu.restoreOldVideoQualityMenuResourcePatch")
-
- PreferenceScreen.VIDEO.addPreferences(
- SwitchPreference("revanced_restore_old_video_quality_menu"),
- )
-
- // Used for the old type of the video quality menu.
- videoQualityBottomSheetListFragmentTitle = resourceMappings[
- "layout",
- "video_quality_bottom_sheet_list_fragment_title",
- ]
-
- videoQualityQuickMenuAdvancedMenuDescription = resourceMappings[
- "string",
- "video_quality_quick_menu_advanced_menu_description",
- ]
- }
-}
-
-private const val FILTER_CLASS_DESCRIPTOR =
- "Lapp/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch;"
-
-private const val EXTENSION_CLASS_DESCRIPTOR =
- "Lapp/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch;"
+import app.revanced.patches.youtube.video.quality.videoQualityPatch
@Suppress("unused")
-val restoreOldVideoQualityMenuPatch = bytecodePatch(
- name = "Restore old video quality menu",
- description = "Adds an option to restore the old video quality menu with specific video resolution options.",
-
-) {
- dependsOn(
- sharedExtensionPatch,
- restoreOldVideoQualityMenuResourcePatch,
- lithoFilterPatch,
- recyclerViewTreeHookPatch,
- )
-
- compatibleWith(
- "com.google.android.youtube"(
- "19.16.39",
- "19.25.37",
- "19.34.42",
- "19.43.41",
- "19.45.38",
- "19.46.42",
- "19.47.53",
- ),
- )
-
- execute {
- // region Patch for the old type of the video quality menu.
- // Used for regular videos when spoofing to old app version,
- // and for the Shorts quality flyout on newer app versions.
-
- videoQualityMenuViewInflateFingerprint.method.apply {
- val checkCastIndex = videoQualityMenuViewInflateFingerprint.patternMatch!!.endIndex
- val listViewRegister = getInstruction(checkCastIndex).registerA
-
- addInstruction(
- checkCastIndex + 1,
- "invoke-static { v$listViewRegister }, " +
- "$EXTENSION_CLASS_DESCRIPTOR->" +
- "showOldVideoQualityMenu(Landroid/widget/ListView;)V",
- )
- }
-
- // Force YT to add the 'advanced' quality menu for Shorts.
- val patternMatch = videoQualityMenuOptionsFingerprint.patternMatch!!
- val startIndex = patternMatch.startIndex
- if (startIndex != 0) throw PatchException("Unexpected opcode start index: $startIndex")
- val insertIndex = patternMatch.endIndex
-
- videoQualityMenuOptionsFingerprint.method.apply {
- val register = getInstruction(insertIndex).registerA
-
- // A condition controls whether to show the three or four items quality menu.
- // Force the four items quality menu to make the "Advanced" item visible, necessary for the patch.
- addInstructions(
- insertIndex,
- """
- invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->forceAdvancedVideoQualityMenuCreation(Z)Z
- move-result v$register
- """,
- )
- }
-
- // endregion
-
- // region Patch for the new type of the video quality menu.
-
- addRecyclerViewTreeHook(EXTENSION_CLASS_DESCRIPTOR)
-
- // Required to check if the video quality menu is currently shown in order to click on the "Advanced" item.
- addLithoFilter(FILTER_CLASS_DESCRIPTOR)
-
- // endregion
- }
-}
+@Deprecated("Use 'Video Quality' instead.")
+val restoreOldVideoQualityMenuPatch = bytecodePatch {
+ dependsOn(videoQualityPatch)
+}
\ No newline at end of file
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index 5fa38af85c..5b6df6e562 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -1257,8 +1257,6 @@ Swipe to expand or close"
Enable gradient loading screen
Loading screen will have a gradient background
Loading screen will have a solid background
-
-
Enable custom seekbar color
Custom seekbar color is shown
Original seekbar color is shown
@@ -1373,7 +1371,6 @@ Enabling this can unlock higher video qualities"
- Video quality
Auto
Remember video quality changes
Quality changes apply to all videos
@@ -1381,8 +1378,8 @@ Enabling this can unlock higher video qualities"
Default video quality on Wi-Fi network
Default video quality on mobile network
Remember Shorts quality changes
- Quality changes apply to all Shorts videos
- Quality changes only apply to the current Shorts video
+ Quality changes apply to all Shorts
+ Quality changes only apply to the current Short
Default Shorts quality on Wi-Fi network
Default Shorts quality on mobile network
mobile
@@ -1419,10 +1416,10 @@ Enabling this can unlock higher video qualities"
HDR video is disabled
HDR video is enabled
-