diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofAudioSelectorListPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofAudioSelectorListPreference.java
new file mode 100644
index 000000000..d27230421
--- /dev/null
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofAudioSelectorListPreference.java
@@ -0,0 +1,57 @@
+package app.revanced.extension.youtube.settings.preference;
+
+import static app.revanced.extension.shared.StringRef.str;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import app.revanced.extension.shared.settings.preference.SortedListPreference;
+import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch;
+
+@SuppressWarnings({"deprecation", "unused"})
+public class SpoofAudioSelectorListPreference extends SortedListPreference {
+
+ private final boolean available;
+
+ {
+ if (SpoofVideoStreamsPatch.getLanguageOverride() != null) {
+ available = false;
+ super.setEnabled(false);
+ super.setSummary(str("revanced_spoof_video_streams_language_not_available"));
+ } else {
+ available = true;
+ }
+ }
+
+ public SpoofAudioSelectorListPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+ public SpoofAudioSelectorListPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+ public SpoofAudioSelectorListPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+ public SpoofAudioSelectorListPreference(Context context) {
+ super(context);
+ }
+
+ @Override
+ public void setEnabled(boolean enabled) {
+ if (!available) {
+ return;
+ }
+
+ super.setEnabled(enabled);
+ }
+
+ @Override
+ public void setSummary(CharSequence summary) {
+ if (!available) {
+ return;
+ }
+
+ super.setSummary(summary);
+ }
+}
+
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt
index 4a971e079..3981e7db1 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt
@@ -67,7 +67,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch(
// Language strings are declared in Setting patch.
entriesKey = "revanced_language_entries",
entryValuesKey = "revanced_language_entry_values",
- tag = "app.revanced.extension.shared.settings.preference.SortedListPreference"
+ tag = "app.revanced.extension.youtube.settings.preference.SpoofAudioSelectorListPreference"
),
SwitchPreference("revanced_spoof_streaming_data_stats_for_nerds"),
)
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index c4d072888..6a9c1c06b 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -1637,6 +1637,8 @@ Enabling this can unlock higher video qualities"
Client type is shown in Stats for nerds
Client is hidden in Stats for nerds
Audio stream language
+
+ To select a specific audio language, turn off \'Force original audio language\'