Compare commits

..

8 Commits

Author SHA1 Message Date
semantic-release-bot
d3b3262a31 chore: Release v5.2.1-dev.4 [skip ci]
## [5.2.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.3...v5.2.1-dev.4) (2024-11-30)

### Bug Fixes

* **Twitch:** Resolve setting menu crashes ([#4025](https://github.com/ReVanced/revanced-patches/issues/4025)) ([78390a8](78390a8bca))
2024-11-30 08:56:25 +00:00
LisoUseInAIKyrios
78390a8bca fix(Twitch): Resolve setting menu crashes (#4025) 2024-11-30 12:53:08 +04:00
semantic-release-bot
85bfa4ca91 chore: Release v5.2.1-dev.3 [skip ci]
## [5.2.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.2...v5.2.1-dev.3) (2024-11-29)

### Bug Fixes

* **YouTube Music - Hide category bar:** Add support for latest release ([#3968](https://github.com/ReVanced/revanced-patches/issues/3968)) ([9bcde94](9bcde94724))
2024-11-29 06:38:16 +00:00
FullerBread2032
9bcde94724 fix(YouTube Music - Hide category bar): Add support for latest release (#3968) 2024-11-29 10:35:19 +04:00
LisoUseInAIKyrios
0cfd8e6760 chore: Remove 19.25 and 19.34 compatibility target since the lowest spoof target is 19.35 2024-11-28 20:16:28 +04:00
semantic-release-bot
3265372035 chore: Release v5.2.1-dev.2 [skip ci]
## [5.2.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.1...v5.2.1-dev.2) (2024-11-28)

### Bug Fixes

* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4019](https://github.com/ReVanced/revanced-patches/issues/4019)) ([57a8e47](57a8e47041))
2024-11-28 16:08:33 +00:00
LisoUseInAIKyrios
57a8e47041 fix(YouTube - Spoof app version): Update spoof target to resolve library tab crashes (#4019) 2024-11-28 20:05:10 +04:00
github-actions[bot]
cd476c1227 chore: Sync translations (#4017) 2024-11-28 14:51:16 +04:00
42 changed files with 146 additions and 109 deletions

View File

@@ -1,3 +1,24 @@
## [5.2.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.3...v5.2.1-dev.4) (2024-11-30)
### Bug Fixes
* **Twitch:** Resolve setting menu crashes ([#4025](https://github.com/ReVanced/revanced-patches/issues/4025)) ([62df596](https://github.com/ReVanced/revanced-patches/commit/62df5965d7331e47b3143425d169a79a19eac447))
## [5.2.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.2...v5.2.1-dev.3) (2024-11-29)
### Bug Fixes
* **YouTube Music - Hide category bar:** Add support for latest release ([#3968](https://github.com/ReVanced/revanced-patches/issues/3968)) ([b63fdeb](https://github.com/ReVanced/revanced-patches/commit/b63fdeb10b504468307a77bd5de69407906848bf))
## [5.2.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.1...v5.2.1-dev.2) (2024-11-28)
### Bug Fixes
* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4019](https://github.com/ReVanced/revanced-patches/issues/4019)) ([d89ad65](https://github.com/ReVanced/revanced-patches/commit/d89ad6501a7cdb3c074c6204dac7960ca3e252f1))
## [5.2.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.2.0...v5.2.1-dev.1) (2024-11-28)

View File

@@ -1,23 +1,13 @@
package app.revanced.extension.shared.settings.preference;
import static app.revanced.extension.shared.StringRef.str;
import static app.revanced.extension.shared.Utils.getResourceIdentifier;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Insets;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.preference.*;
import android.util.TypedValue;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.widget.TextView;
import android.widget.Toolbar;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -29,7 +19,6 @@ import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.BooleanSetting;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.youtube.ThemeHelper;
@SuppressWarnings("deprecation")
public abstract class AbstractPreferenceFragment extends PreferenceFragment {
@@ -85,14 +74,6 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
}
};
@SuppressLint("UseCompatLoadingForDrawables")
public static Drawable getBackButtonDrawable() {
final int backButtonResource = getResourceIdentifier(ThemeHelper.isDarkTheme()
? "yt_outline_arrow_left_white_24"
: "yt_outline_arrow_left_black_24",
"drawable");
return Utils.getContext().getResources().getDrawable(backButtonResource);
}
/**
* Initialize this instance, and do any custom behavior.
@@ -284,7 +265,6 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
// causes a callback to the listener even though nothing changed.
initialize();
updateUIToSettingValues();
setPreferenceScreenToolbar(getPreferenceScreen());
preferenceManager.getSharedPreferences().registerOnSharedPreferenceChangeListener(listener);
} catch (Exception ex) {
@@ -297,56 +277,4 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(listener);
super.onDestroy();
}
private void setPreferenceScreenToolbar(PreferenceScreen parentScreen) {
for (int i = 0, preferenceCount = parentScreen.getPreferenceCount(); i < preferenceCount; i++) {
Preference childPreference = parentScreen.getPreference(i);
if (childPreference instanceof PreferenceScreen) {
// Recursively set sub preferences.
setPreferenceScreenToolbar((PreferenceScreen) childPreference);
childPreference.setOnPreferenceClickListener(
childScreen -> {
Dialog preferenceScreenDialog = ((PreferenceScreen) childScreen).getDialog();
ViewGroup rootView = (ViewGroup) preferenceScreenDialog
.findViewById(android.R.id.content)
.getParent();
// Fix required for Android 15 and YT 19.45+
// FIXME:
// On Android 15 the text layout is not aligned the same as the parent
// screen and it looks a little off. Otherwise this works.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
rootView.setOnApplyWindowInsetsListener((v, insets) -> {
Insets statusInsets = insets.getInsets(WindowInsets.Type.statusBars());
v.setPadding(0, statusInsets.top, 0, 0);
return insets;
});
}
Toolbar toolbar = new Toolbar(childScreen.getContext());
toolbar.setTitle(childScreen.getTitle());
toolbar.setNavigationIcon(getBackButtonDrawable());
toolbar.setNavigationOnClickListener(view -> preferenceScreenDialog.dismiss());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
final int margin = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics()
);
toolbar.setTitleMargin(margin, 0, margin, 0);
}
TextView toolbarTextView = Utils.getChildView(toolbar,
true, TextView.class::isInstance);
if (toolbarTextView != null) {
toolbarTextView.setTextColor(ThemeHelper.getForegroundColor());
}
rootView.addView(toolbar, 0);
return false;
}
);
}
}
}
}

View File

@@ -7,7 +7,6 @@ import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.TextView;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment;
import app.revanced.extension.youtube.ThemeHelper;
import app.revanced.extension.youtube.settings.preference.ReVancedPreferenceFragment;
import app.revanced.extension.youtube.settings.preference.ReturnYouTubeDislikePreferenceFragment;
@@ -83,7 +82,7 @@ public class LicenseActivityHook {
ViewGroup toolbar = activity.findViewById(getToolbarResourceId());
ImageButton imageButton = Objects.requireNonNull(getChildView(toolbar, false,
view -> view instanceof ImageButton));
imageButton.setImageDrawable(AbstractPreferenceFragment.getBackButtonDrawable());
imageButton.setImageDrawable(ReVancedPreferenceFragment.getBackButtonDrawable());
imageButton.setOnClickListener(view -> activity.onBackPressed());
}

View File

@@ -196,7 +196,7 @@ public class Settings extends BaseSettings {
// General layout
public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.ORIGINAL, true);
public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message");
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "19.16.39" : "17.33.42", true, parent(SPOOF_APP_VERSION));
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "19.35.36" : "17.33.42", true, parent(SPOOF_APP_VERSION));
public static final BooleanSetting TABLET_LAYOUT = new BooleanSetting("revanced_tablet_layout", FALSE, true, "revanced_tablet_layout_user_dialog_message");
public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true);
public static final BooleanSetting BYPASS_IMAGE_REGION_RESTRICTIONS = new BooleanSetting("revanced_bypass_image_region_restrictions", FALSE, true);

View File

@@ -1,13 +1,27 @@
package app.revanced.extension.youtube.settings.preference;
import static app.revanced.extension.shared.Utils.getResourceIdentifier;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.graphics.Insets;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
import android.util.TypedValue;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.widget.TextView;
import android.widget.Toolbar;
import androidx.annotation.RequiresApi;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment;
import app.revanced.extension.youtube.ThemeHelper;
import app.revanced.extension.youtube.patches.playback.speed.CustomPlaybackSpeedPatch;
import app.revanced.extension.youtube.settings.Settings;
@@ -18,12 +32,23 @@ import app.revanced.extension.youtube.settings.Settings;
*/
public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
@SuppressLint("UseCompatLoadingForDrawables")
public static Drawable getBackButtonDrawable() {
final int backButtonResource = getResourceIdentifier(ThemeHelper.isDarkTheme()
? "yt_outline_arrow_left_white_24"
: "yt_outline_arrow_left_black_24",
"drawable");
return Utils.getContext().getResources().getDrawable(backButtonResource);
}
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
protected void initialize() {
super.initialize();
try {
setPreferenceScreenToolbar(getPreferenceScreen());
// If the preference was included, then initialize it based on the available playback speed.
Preference defaultSpeedPreference = findPreference(Settings.PLAYBACK_SPEED_DEFAULT.key);
if (defaultSpeedPreference instanceof ListPreference) {
@@ -33,4 +58,56 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
Logger.printException(() -> "initialize failure", ex);
}
}
private void setPreferenceScreenToolbar(PreferenceScreen parentScreen) {
for (int i = 0, preferenceCount = parentScreen.getPreferenceCount(); i < preferenceCount; i++) {
Preference childPreference = parentScreen.getPreference(i);
if (childPreference instanceof PreferenceScreen) {
// Recursively set sub preferences.
setPreferenceScreenToolbar((PreferenceScreen) childPreference);
childPreference.setOnPreferenceClickListener(
childScreen -> {
Dialog preferenceScreenDialog = ((PreferenceScreen) childScreen).getDialog();
ViewGroup rootView = (ViewGroup) preferenceScreenDialog
.findViewById(android.R.id.content)
.getParent();
// Fix required for Android 15 and YT 19.45+
// FIXME:
// On Android 15 the text layout is not aligned the same as the parent
// screen and it looks a little off. Otherwise this works.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
rootView.setOnApplyWindowInsetsListener((v, insets) -> {
Insets statusInsets = insets.getInsets(WindowInsets.Type.statusBars());
v.setPadding(0, statusInsets.top, 0, 0);
return insets;
});
}
Toolbar toolbar = new Toolbar(childScreen.getContext());
toolbar.setTitle(childScreen.getTitle());
toolbar.setNavigationIcon(getBackButtonDrawable());
toolbar.setNavigationOnClickListener(view -> preferenceScreenDialog.dismiss());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
final int margin = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics()
);
toolbar.setTitleMargin(margin, 0, margin, 0);
}
TextView toolbarTextView = Utils.getChildView(toolbar,
true, TextView.class::isInstance);
if (toolbarTextView != null) {
toolbarTextView.setTextColor(ThemeHelper.getForegroundColor());
}
rootView.addView(toolbar, 0);
return false;
}
);
}
}
}
}

View File

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

View File

@@ -15,8 +15,6 @@ internal val constructCategoryBarFingerprint = fingerprint {
Opcode.MOVE_RESULT_OBJECT,
Opcode.IPUT_OBJECT,
Opcode.CONST,
Opcode.INVOKE_VIRTUAL,
Opcode.NEW_INSTANCE,
Opcode.INVOKE_DIRECT,
Opcode.INVOKE_VIRTUAL
)
}

View File

@@ -11,6 +11,7 @@ import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.misc.settings.preference.BasePreference
import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen
import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference
import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.shared.misc.settings.settingsPatch
@@ -58,6 +59,12 @@ val settingsPatch = bytecodePatch(
execute {
addResources("twitch", "misc.settings.settingsPatch")
preferences += NonInteractivePreference(
key = "revanced_about",
tag = "app.revanced.extension.shared.settings.preference.ReVancedAboutPreference",
selectable = true,
)
PreferenceScreen.MISC.OTHER.addPreferences(
// The debug setting is shared across multiple apps and the key must be the same.
// But the title and summary must be different, otherwise when the strings file is flattened

View File

@@ -35,8 +35,8 @@ val spoofAppVersionPatch = bytecodePatch(
"18.38.44",
"18.49.37",
"19.16.39",
"19.25.37",
"19.34.42",
// "19.25.37", // Cannot be supported because the lowest spoof target is higher.
// "19.34.42", // Cannot be supported because the lowest spoof target is higher.
"19.43.41",
"19.45.38",
"19.46.42",

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">الهدف من تغيير إصدار التطبيق</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - استعادة أيقونات مشغل Shorts القديمة</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - استعادة أيقونات مشغل Shorts القديمة</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - استعادة RYD على Shorts بوضع التخفي</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - استعادة قائمة سرعة الفيديو العريضة &amp; الجودة</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Saxta tətbiq versiyası hədəfi</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Köhnə Shorts oynadıcı işarələrin bərpa et</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Köhnə Shorts oynadıcı işarələrin bərpa et</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Shorts gizli rejimində RYD-ni bərpa et</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Geniş video sürəti &amp; keyfiyyət menyusunu bərpa et</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Подлъгване за версията на</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Възстановете старите икони на Shorts в плейъра</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Възстановете старите икони на Shorts в плейъра</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Възстановете RYD в режим „инкогнито“ на Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Възстановяване на видео скорост &amp; в менюто за качество</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Cíl pro spontánní verzi aplikace</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Obnovuje staré ikony Shorts přehrávače</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Obnovuje staré ikony Shorts přehrávače</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Obnovení RYD v krátkém anonymním režimu</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Obnovení široké rychlosti videa &amp; kvalitní menu</string>

View File

@@ -953,7 +953,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app version mål</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Gendan gamle Shorts player ikoner</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Gendan gamle Shorts spillerikoner</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Gendan RYD på Shorts inkognitotilstand</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Gendan bred video hastighed &amp; kvalitet menu</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof-App-Versionsziel</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Alte Shorts Spielersymbole wiederherstellen</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Alte Shorts Spielersymbole wiederherstellen</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD auf Shorts Inkognito-Modus wiederherstellen</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Wiederherstellen der breiten Videogeschwindigkeit &amp; Qualitätsmenü</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Έκδοση τροποποίησης της εφαρμογής</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Επαναφορά των παλαιών κουμπιών της οθόνης αναπαραγωγής των Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Επαναφορά των παλαιών κουμπιών της οθόνης αναπαραγωγής των Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Επαναφορά λειτουργικότητας του RYD στα Shorts σε λειτουργία ανώνυμης περιήγησης</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Επαναφορά ευρύτερου μενού ταχύτητας &amp; ποιότητας βίντεο</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Destino de versión de la aplicación Spoof</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Restaurar iconos antiguos del reproductor de Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restaurar iconos antiguos del reproductor de Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurar RYD en Shorts de modo incógnito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurar la velocidad de vídeo ancha &amp; menú de calidad</string>

View File

@@ -965,7 +965,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Naamioitava kohdeversio</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Vanhojen Shorts-pelaajan kuvakkeiden palauttaminen</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Vanhojen Shorts-pelaajan kuvakkeiden palauttaminen</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Palauita RYD Shorts-videoissa incognito-tilassa</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Palauta laaja videonopeus- ja laatuvalikko</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Falsifier la cible de version de l\'application</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Restaurer les anciennes icônes des joueurs Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restaurer les anciennes icônes de joueur à court terme</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurer RYD en mode incognito Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurer une grande vitesse vidéo &amp; menu qualité</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Sprioc leagan aip spoof</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Athchóirigh sean-deilbhíní imreoir Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Athchóirigh sean-deilbhíní imreoir Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Athchóirigh RYD ar mhodh incognito Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Athchóirigh luas leathan físe &amp; roghchlár cáilíochta</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Hamisított alkalmazásverzió célja</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - A régi Shorts lejátszó ikonok visszaállítása</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - A régi Shorts lejátszó ikonok visszaállítása</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD visszaállítása Shorts inkognitó módban</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Széles videósebesség és minőség menü visszaállítása</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Target versi app yang dipalsukan</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Pulihkan ikon pemutar Shorts lama</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Pulihkan ikon pemutar Shorts lama</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Pulihkan RYD pada mode penyamaran Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Pulihkan menu kecepatan &amp; kualitas video lebar</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Simula la versione dell\'app bersaglio</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Ripristinare vecchie icone del player Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Ripristinare vecchie icone del player Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Ripristina RYD negli Shorts in modalità incognito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Ripristina velocità video larga &amp; menu qualità</string>

View File

@@ -948,6 +948,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">アプリバージョンのターゲットを偽装する</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - 古いショーツプレーヤーアイコンを復元する</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - シークレットモード使用時のShortsのRYDを復元</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - ワイドビデオスピード &amp; クオリティメニューを復元</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">변경할 앱 버전 설정</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - 이전 Shorts 플레이어 아이콘을 복원합니다</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - 이전 Shorts 플레이어 아이콘을 복원합니다</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - 시크릿 모드에서 Shorts RYD를 복원합니다</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - 넓은 동영상 재생 속도 &amp; 화질 메뉴를 복원합니다</string>

View File

@@ -942,7 +942,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app-versjonen mål</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Gjenopprett gamle Shorts-spillerikoner</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Gjenopprett gamle Shorts-spillerikoner</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Gjenopprett RYD på Shorts incognito-modus</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Gjenopprette bred videokastighet &amp; kvalitetsmeny</string>

View File

@@ -955,6 +955,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app versie doel</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Herstel oude knipisten speler iconen</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Herstel RYD op incognito modus</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Herstel brede videosnelheid &amp; kwaliteitsmenu</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Docelowa oszukiwana wersja aplikacji</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Przywróć stare ikony odtwarzacza Shortsów</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Przywróć stare ikony odtwarzacza Shortsów</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Przywróć RYD w trybie incognito Shortsów</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Przywracanie szerokiej prędkości wideo &amp; menu jakości</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Versão de spoofing alvo</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Restaurar ícones antigos do player dos Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restaurar ícones antigos do player dos Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurar RYD no modo de navegação anônima nos Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurar a velocidade de vídeo ampla &amp; menu de qualidade</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Destaque de versão do app</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Restaurar os icones antigos do reprodutor dos Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restaurar os icones antigos do reprodutor dos Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurar RYD em Modo Curto Incógnito</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurar menu de qualidade de vídeo &amp;</string>

View File

@@ -962,6 +962,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app version target</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restaurează vechile pictograme de jucător scurt</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurează RYD în modul incognito Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurare viteză video mare &amp; meniu calitate</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Подмена версии приложения на</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Восстановление старых иконок плеера Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Восстановление старых иконок плеера Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Восстановление Return Youtube Dislike в режиме инкогнито Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Восстановление расширенного меню скорости и качества видео</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Ciljna verzija aplikacije za lažiranje</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Vraća stare ikonice Shorts plejera</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Vraća stare ikonice Shorts plejera</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Vraća Return YouTube Dislike u Shorts videima u režimu bez arhiviranja</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Vraća širok meni za brzinu i kvalitet videa</string>

View File

@@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Циљна верзија апликације за лажирање</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Враћа старе иконице Shorts плејера</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Враћа старе иконице Shorts плејера</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Враћа Return YouTube Dislike у Shorts видеима у режиму без архивирања</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Враћа широк мени за брзину и квалитет видеа</string>

View File

@@ -964,6 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app-versionsmål</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Återställ gamla kortspelsikoner</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Återställ RYD på Shorts inkognitoläge</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Återställ videons hastighet &amp; kvalitetsmeny</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Taklit edilecek uygulama sürümü</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Eski Shorts oynatıcı simgelerini geri getir</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Eski Shorts oynatıcı simgelerini geri getir</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Gizli modda Shorts için RYD\'yi onar</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Geniş video hızı &amp; kalite menüsünü geri getir</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Підробити версію програми на</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Відновлення старих іконок плеєра Shorts</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Відновлення старих іконок плеєра Shorts</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Відновлення RYD в анонімному режимі Shorts</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Відновлення розширеного меню швидкості та якості відео</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Phiên bản giả mạo mục tiêu</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Khôi phục biểu tượng trình phát Shorts cũ</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Khôi phục biểu tượng trình phát Shorts cũ</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Khôi phục RYD trong Shorts chế độ ẩn danh</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Khôi phục trình đơn tốc độ &amp; chất lượng cho video rộng</string>

View File

@@ -955,6 +955,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">伪装应用程序版本为</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - 还原旧短程播放器图标</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - 在隐身模式下恢复 RYD</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - 还原宽视频速度 &amp; 画质菜单</string>

View File

@@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">欺騙應用程式版本目標</string>
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - 在還原舊版 Shorts 播放棄圖標</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - 在還原舊版 Shorts 播放棄圖標</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - 在 Shorts 無痕模式中還原 RYD</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - 還原寬影片速度 &amp; 畫質選單</string>

View File

@@ -17,7 +17,7 @@
<item>@string/revanced_spoof_app_version_target_entry_1</item>
</string-array>
<string-array name="revanced_spoof_app_version_target_entry_values">
<item>19.16.39</item>
<item>19.35.36</item>
</string-array>
<string-array name="revanced_spoof_app_version_target_legacy_entries">
<item>@string/revanced_spoof_app_version_target_legacy_entry_1</item>

View File

@@ -974,7 +974,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">Spoof app version target</string>
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restore old Shorts player icons</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Restore old Shorts player icons</string>
<!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restore RYD on Shorts incognito mode</string>
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restore wide video speed &amp; quality menu</string>
@@ -1269,6 +1269,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch>
<patch id="misc.settings.settingsPatch">
<string name="revanced_settings">ReVanced Settings</string>
<string name="revanced_about_title">About</string>
<string name="revanced_about_summary">About ReVanced</string>
<string name="revanced_ads_screen_title">Ads</string>
<string name="revanced_ads_screen_summary">Ad blocking settings</string>
<string name="revanced_chat_screen_title">Chat</string>