Compare commits

..

18 Commits

Author SHA1 Message Date
semantic-release-bot
dcfbd8bf93 chore: Release v5.28.1-dev.2 [skip ci]
## [5.28.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.28.1-dev.1...v5.28.1-dev.2) (2025-06-23)

### Bug Fixes

* **YouTube - Hide ads:** Hide new type of product ad in video description ([#5225](https://github.com/ReVanced/revanced-patches/issues/5225)) ([b656976](b65697603d))
2025-06-23 07:19:38 +00:00
ILoveOpenSourceApplications
b65697603d fix(YouTube - Hide ads): Hide new type of product ad in video description (#5225) 2025-06-23 11:17:08 +04:00
semantic-release-bot
25da5cca8b chore: Release v5.28.1-dev.1 [skip ci]
## [5.28.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.28.0...v5.28.1-dev.1) (2025-06-22)

### Bug Fixes

* Add scrollable content to modern style settings dialogs ([#5211](https://github.com/ReVanced/revanced-patches/issues/5211)) ([2b62fc2](2b62fc2224))
2025-06-22 11:23:52 +00:00
MarcaD
2b62fc2224 fix: Add scrollable content to modern style settings dialogs (#5211) 2025-06-22 15:21:00 +04:00
semantic-release-bot
a9e9456b6b chore: Release v5.28.0 [skip ci]
# [5.28.0](https://github.com/ReVanced/revanced-patches/compare/v5.27.0...v5.28.0) (2025-06-20)

### Bug Fixes

* **Google Photos:** Resolve startup crash if MicroG GmsCore does not already have granted permissions ([1cea6bf](1cea6bfdff))
* **Messenger - Remove Meta AI:** Improve patch logic ([#5153](https://github.com/ReVanced/revanced-patches/issues/5153)) ([a8d2a1e](a8d2a1e028))
* **Pandora - Disable ads:** Support latest app target ([#5185](https://github.com/ReVanced/revanced-patches/issues/5185)) ([90868ff](90868ff025))
* **Spotify:** Fix `Hide Create button` and `Sanitize sharing links` for older but supported app targets ([#5159](https://github.com/ReVanced/revanced-patches/issues/5159)) ([5540136](55401368b8))
* **Threads - Hide ads:** Constrain patch to the last working app target ([#5189](https://github.com/ReVanced/revanced-patches/issues/5189)) ([e138501](e138501657))
* **YouTube:** Remove old app targets that are no longer supported by YouTube ([#5192](https://github.com/ReVanced/revanced-patches/issues/5192)) ([e790cfb](e790cfbf59))

### Features

* **Spotify:** Add `Change lyrics provider` patch ([#4937](https://github.com/ReVanced/revanced-patches/issues/4937)) ([7bbaca7](7bbaca77ad))
* Use modern style settings dialogs ([#5109](https://github.com/ReVanced/revanced-patches/issues/5109)) ([a426e2a](a426e2af50))
2025-06-20 08:17:57 +00:00
LisoUseInAIKyrios
b01523e97d chore: Merge branch dev to main (#5160) 2025-06-20 12:14:29 +04:00
github-actions[bot]
b8afb4e821 chore: Sync translations (#5210) 2025-06-20 12:13:39 +04:00
github-actions[bot]
0d2198faed chore: Sync translations (#5207) 2025-06-20 01:33:20 +04:00
semantic-release-bot
5c7c407b82 chore: Release v5.28.0-dev.8 [skip ci]
# [5.28.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.7...v5.28.0-dev.8) (2025-06-19)

### Bug Fixes

* **Messenger - Remove Meta AI:** Improve patch logic ([#5153](https://github.com/ReVanced/revanced-patches/issues/5153)) ([a8d2a1e](a8d2a1e028))
2025-06-19 06:10:06 +00:00
Dawid Krajcarz
a8d2a1e028 fix(Messenger - Remove Meta AI): Improve patch logic (#5153) 2025-06-19 10:06:46 +04:00
semantic-release-bot
d31624cae8 chore: Release v5.28.0-dev.7 [skip ci]
# [5.28.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.6...v5.28.0-dev.7) (2025-06-18)

### Bug Fixes

* **YouTube:** Remove old app targets that are no longer supported by YouTube ([#5192](https://github.com/ReVanced/revanced-patches/issues/5192)) ([e790cfb](e790cfbf59))
2025-06-18 10:38:43 +00:00
LisoUseInAIKyrios
e790cfbf59 fix(YouTube): Remove old app targets that are no longer supported by YouTube (#5192) 2025-06-18 12:35:43 +02:00
LisoUseInAIKyrios
a54d408d3e chore: Fix string typos, fix missing long/wide returnEarly/returnLate 2025-06-18 11:06:48 +02:00
semantic-release-bot
5d3769e921 chore: Release v5.28.0-dev.6 [skip ci]
# [5.28.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.5...v5.28.0-dev.6) (2025-06-17)

### Bug Fixes

* **Threads - Hide ads:** Constrain patch to the last working app target ([#5189](https://github.com/ReVanced/revanced-patches/issues/5189)) ([e138501](e138501657))
2025-06-17 21:07:00 +00:00
LisoUseInAIKyrios
e138501657 fix(Threads - Hide ads): Constrain patch to the last working app target (#5189) 2025-06-17 23:03:35 +02:00
semantic-release-bot
a9235d6b62 chore: Release v5.28.0-dev.5 [skip ci]
# [5.28.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.4...v5.28.0-dev.5) (2025-06-17)

### Bug Fixes

* **Pandora - Disable ads:** Support latest app target ([#5185](https://github.com/ReVanced/revanced-patches/issues/5185)) ([90868ff](90868ff025))
2025-06-17 06:47:11 +00:00
hoodles
90868ff025 fix(Pandora - Disable ads): Support latest app target (#5185) 2025-06-17 08:44:19 +02:00
github-actions[bot]
345ec5c430 chore: Sync translations (#5188) 2025-06-17 08:43:55 +02:00
132 changed files with 681 additions and 2156 deletions

View File

@@ -1,3 +1,63 @@
## [5.28.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.28.1-dev.1...v5.28.1-dev.2) (2025-06-23)
### Bug Fixes
* **YouTube - Hide ads:** Hide new type of product ad in video description ([#5225](https://github.com/ReVanced/revanced-patches/issues/5225)) ([1e2efad](https://github.com/ReVanced/revanced-patches/commit/1e2efad7b2714c395ed6b0a77cbbf8a2265df520))
## [5.28.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.28.0...v5.28.1-dev.1) (2025-06-22)
### Bug Fixes
* Add scrollable content to modern style settings dialogs ([#5211](https://github.com/ReVanced/revanced-patches/issues/5211)) ([e6876d5](https://github.com/ReVanced/revanced-patches/commit/e6876d510d28f6a3a41ec1722a033b3e30a22c65))
# [5.28.0](https://github.com/ReVanced/revanced-patches/compare/v5.27.0...v5.28.0) (2025-06-20)
### Bug Fixes
* **Google Photos:** Resolve startup crash if MicroG GmsCore does not already have granted permissions ([a93d74d](https://github.com/ReVanced/revanced-patches/commit/a93d74d26e7ef87a3745df2b9fe82722d65a0e59))
* **Messenger - Remove Meta AI:** Improve patch logic ([#5153](https://github.com/ReVanced/revanced-patches/issues/5153)) ([4ad4887](https://github.com/ReVanced/revanced-patches/commit/4ad488744d87543c31e453dc7b6d8182b3a7f440))
* **Pandora - Disable ads:** Support latest app target ([#5185](https://github.com/ReVanced/revanced-patches/issues/5185)) ([ca83047](https://github.com/ReVanced/revanced-patches/commit/ca83047f5c4acbb267d5b98db80ad111999086e0))
* **Spotify:** Fix `Hide Create button` and `Sanitize sharing links` for older but supported app targets ([#5159](https://github.com/ReVanced/revanced-patches/issues/5159)) ([e7dd061](https://github.com/ReVanced/revanced-patches/commit/e7dd061c513af90861c0ab0d7adc6ee43be57ce2))
* **Threads - Hide ads:** Constrain patch to the last working app target ([#5189](https://github.com/ReVanced/revanced-patches/issues/5189)) ([3558c44](https://github.com/ReVanced/revanced-patches/commit/3558c44a05c13f19fefdbbf14b364181a79f17c0))
* **YouTube:** Remove old app targets that are no longer supported by YouTube ([#5192](https://github.com/ReVanced/revanced-patches/issues/5192)) ([c9e54e1](https://github.com/ReVanced/revanced-patches/commit/c9e54e1d36243945ac1ec3108fe38edf0e15d772))
### Features
* **Spotify:** Add `Change lyrics provider` patch ([#4937](https://github.com/ReVanced/revanced-patches/issues/4937)) ([8736b6a](https://github.com/ReVanced/revanced-patches/commit/8736b6a80b48cb1f4562c9f9919804006ddb18bd))
* Use modern style settings dialogs ([#5109](https://github.com/ReVanced/revanced-patches/issues/5109)) ([312b6dc](https://github.com/ReVanced/revanced-patches/commit/312b6dc04e01c2758cd304ca8606306027aa2f01))
# [5.28.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.7...v5.28.0-dev.8) (2025-06-19)
### Bug Fixes
* **Messenger - Remove Meta AI:** Improve patch logic ([#5153](https://github.com/ReVanced/revanced-patches/issues/5153)) ([4ad4887](https://github.com/ReVanced/revanced-patches/commit/4ad488744d87543c31e453dc7b6d8182b3a7f440))
# [5.28.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.6...v5.28.0-dev.7) (2025-06-18)
### Bug Fixes
* **YouTube:** Remove old app targets that are no longer supported by YouTube ([#5192](https://github.com/ReVanced/revanced-patches/issues/5192)) ([c9e54e1](https://github.com/ReVanced/revanced-patches/commit/c9e54e1d36243945ac1ec3108fe38edf0e15d772))
# [5.28.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.5...v5.28.0-dev.6) (2025-06-17)
### Bug Fixes
* **Threads - Hide ads:** Constrain patch to the last working app target ([#5189](https://github.com/ReVanced/revanced-patches/issues/5189)) ([3558c44](https://github.com/ReVanced/revanced-patches/commit/3558c44a05c13f19fefdbbf14b364181a79f17c0))
# [5.28.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.4...v5.28.0-dev.5) (2025-06-17)
### Bug Fixes
* **Pandora - Disable ads:** Support latest app target ([#5185](https://github.com/ReVanced/revanced-patches/issues/5185)) ([ca83047](https://github.com/ReVanced/revanced-patches/commit/ca83047f5c4acbb267d5b98db80ad111999086e0))
# [5.28.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.28.0-dev.3...v5.28.0-dev.4) (2025-06-13)

View File

@@ -1,15 +1,23 @@
package app.revanced.extension.messenger.metaai;
import java.util.*;
import app.revanced.extension.shared.Logger;
@SuppressWarnings("unused")
public class RemoveMetaAIPatch {
private static final Set<Long> loggedIDs = Collections.synchronizedSet(new HashSet<>());
public static boolean overrideBooleanFlag(long id, boolean value) {
// This catches all flag IDs related to Meta AI.
// The IDs change slightly with every update,
// so to work around this, IDs from different versions were compared
// to find what they have in common, which turned out to be those first bits.
// TODO: Find the specific flags that we care about and patch the code they control instead.
if ((id & 0x7FFFFFC000000000L) == 0x810A8000000000L) {
return false;
try {
if (Long.toString(id).startsWith("REPLACED_BY_PATCH")) {
if (loggedIDs.add(id))
Logger.printInfo(() -> "Overriding " + id + " from " + value + " to false");
return false;
}
} catch (Exception ex) {
Logger.printException(() -> "overrideBooleanFlag failure", ex);
}
return value;

View File

@@ -42,6 +42,7 @@ import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.Toolbar;
@@ -773,16 +774,15 @@ public class Utils {
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // Remove default title bar.
// Create main layout.
LinearLayout mainLayout = new LinearLayout(context);
mainLayout.setOrientation(LinearLayout.VERTICAL);
// Preset size constants.
final int dip4 = dipToPixels(4);
final int dip8 = dipToPixels(8);
final int dip16 = dipToPixels(16);
final int dip24 = dipToPixels(24);
// Create main layout.
LinearLayout mainLayout = new LinearLayout(context);
mainLayout.setOrientation(LinearLayout.VERTICAL);
mainLayout.setPadding(dip24, dip16, dip24, dip24);
// Set rounded rectangle background.
ShapeDrawable mainBackground = new ShapeDrawable(new RoundRectShape(
@@ -802,55 +802,71 @@ public class Utils {
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
layoutParams.setMargins(0, 0, 0, dip8);
layoutParams.setMargins(0, 0, 0, dip16);
titleView.setLayoutParams(layoutParams);
mainLayout.addView(titleView);
}
// Message (if not replaced by EditText).
if (editText == null && message != null) {
TextView messageView = new TextView(context);
messageView.setText(message); // Supports Spanned (HTML).
messageView.setTextSize(16);
messageView.setTextColor(getAppForegroundColor());
// Enable HTML link clicking if the message contains links.
if (message instanceof Spanned) {
messageView.setMovementMethod(LinkMovementMethod.getInstance());
// Create content container (message/EditText) inside a ScrollView only if message or editText is provided.
ScrollView contentScrollView = null;
LinearLayout contentContainer = null;
if (message != null || editText != null) {
contentScrollView = new ScrollView(context);
contentScrollView.setVerticalScrollBarEnabled(false); // Disable the vertical scrollbar.
contentScrollView.setOverScrollMode(View.OVER_SCROLL_NEVER);
if (editText != null) {
ShapeDrawable scrollViewBackground = new ShapeDrawable(new RoundRectShape(
createCornerRadii(10), null, null));
scrollViewBackground.getPaint().setColor(getEditTextBackground());
contentScrollView.setPadding(dip8, dip8, dip8, dip8);
contentScrollView.setBackground(scrollViewBackground);
contentScrollView.setClipToOutline(true);
}
LinearLayout.LayoutParams messageParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams contentParams = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
0,
1.0f // Weight to take available space.
);
messageParams.setMargins(0, dip8, 0, dip16);
messageView.setLayoutParams(messageParams);
mainLayout.addView(messageView);
}
contentScrollView.setLayoutParams(contentParams);
contentContainer = new LinearLayout(context);
contentContainer.setOrientation(LinearLayout.VERTICAL);
contentScrollView.addView(contentContainer);
// EditText (if provided).
if (editText != null) {
// Remove EditText from its current parent, if any.
ViewGroup parent = (ViewGroup) editText.getParent();
if (parent != null) {
parent.removeView(editText);
// Message (if not replaced by EditText).
if (editText == null && message != null) {
TextView messageView = new TextView(context);
messageView.setText(message); // Supports Spanned (HTML).
messageView.setTextSize(16);
messageView.setTextColor(getAppForegroundColor());
// Enable HTML link clicking if the message contains links.
if (message instanceof Spanned) {
messageView.setMovementMethod(LinkMovementMethod.getInstance());
}
LinearLayout.LayoutParams messageParams = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
messageView.setLayoutParams(messageParams);
contentContainer.addView(messageView);
}
// Style the EditText to match the dialog theme.
editText.setTextColor(getAppForegroundColor());
editText.setBackgroundColor(isDarkModeEnabled() ? Color.BLACK : Color.WHITE);
editText.setPadding(dip8, dip8, dip8, dip8);
ShapeDrawable editTextBackground = new ShapeDrawable(new RoundRectShape(
createCornerRadii(10), null, null));
editTextBackground.getPaint().setColor(getEditTextBackground()); // Background color for EditText.
editText.setBackground(editTextBackground);
LinearLayout.LayoutParams editTextParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
editTextParams.setMargins(0, dip8, 0, dip16);
// Prevent buttons from moving off the screen by fixing the height of the EditText.
final int maxHeight = (int) (context.getResources().getDisplayMetrics().heightPixels * 0.6);
editText.setMaxHeight(maxHeight);
mainLayout.addView(editText, 1, editTextParams);
// EditText (if provided).
if (editText != null) {
// Remove EditText from its current parent, if any.
ViewGroup parent = (ViewGroup) editText.getParent();
if (parent != null) {
parent.removeView(editText);
}
// Style the EditText to match the dialog theme.
editText.setTextColor(getAppForegroundColor());
editText.setBackgroundColor(Color.TRANSPARENT);
editText.setPadding(0, 0, 0, 0);
LinearLayout.LayoutParams editTextParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
contentContainer.addView(editText, editTextParams);
}
}
// Button container.
@@ -861,7 +877,7 @@ public class Utils {
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
buttonContainerParams.setMargins(0, dip8, 0, 0);
buttonContainerParams.setMargins(0, dip16, 0, 0);
buttonContainer.setLayoutParams(buttonContainerParams);
// Lists to track buttons.
@@ -1036,25 +1052,29 @@ public class Utils {
}
}
// Add ScrollView to main layout only if content exist.
if (contentScrollView != null) {
mainLayout.addView(contentScrollView);
}
mainLayout.addView(buttonContainer);
dialog.setContentView(mainLayout);
// Set dialog window attributes.
Window window = dialog.getWindow();
if (window != null) {
setDialogWindowParameters(context, window);
setDialogWindowParameters(window);
}
return new Pair<>(dialog, mainLayout);
}
public static void setDialogWindowParameters(Context context, Window window) {
public static void setDialogWindowParameters(Window window) {
WindowManager.LayoutParams params = window.getAttributes();
Resources resources = context.getResources();
DisplayMetrics displayMetrics = resources.getDisplayMetrics();
DisplayMetrics displayMetrics = Resources.getSystem().getDisplayMetrics();
int portraitWidth = (int) (displayMetrics.widthPixels * 0.9);
if (resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
if (Resources.getSystem().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
portraitWidth = (int) Math.min(portraitWidth, displayMetrics.heightPixels * 0.9);
}
params.width = portraitWidth;
@@ -1199,7 +1219,7 @@ public class Utils {
return darkColor == Color.BLACK
// Lighten the background a little if using AMOLED dark theme
// as the dialogs are almost invisible.
? 0xFF0D0D0D
? 0xFF080808 // 3%
: darkColor;
}
return getThemeLightColor();

View File

@@ -129,8 +129,7 @@ abstract class Check {
ImageView iconView = new ImageView(activity);
iconView.setImageResource(Utils.getResourceIdentifier("revanced_ic_dialog_alert", "drawable"));
iconView.setColorFilter(Utils.getAppForegroundColor(), PorterDuff.Mode.SRC_IN);
final int dip8 = dipToPixels(8);
iconView.setPadding(0, dip8, 0, dip8);
iconView.setPadding(0, 0, 0, 0);
LinearLayout.LayoutParams iconParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT

View File

@@ -24,10 +24,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.*;
import androidx.annotation.ColorInt;
@@ -298,7 +295,6 @@ public class ColorPickerPreference extends EditTextPreference {
// Horizontal layout for preview and EditText.
LinearLayout inputLayout = new LinearLayout(context);
inputLayout.setOrientation(LinearLayout.HORIZONTAL);
inputLayout.setPadding(0, 0, 0, dipToPixels(10));
dialogColorPreview = new TextView(context);
LinearLayout.LayoutParams previewParams = new LinearLayout.LayoutParams(
@@ -338,11 +334,23 @@ public class ColorPickerPreference extends EditTextPreference {
paddingView.setLayoutParams(params);
inputLayout.addView(paddingView);
// Create main container for color picker and input layout.
LinearLayout container = new LinearLayout(context);
container.setOrientation(LinearLayout.VERTICAL);
container.addView(colorPicker);
container.addView(inputLayout);
// Create content container for color picker and input layout.
LinearLayout contentContainer = new LinearLayout(context);
contentContainer.setOrientation(LinearLayout.VERTICAL);
contentContainer.addView(colorPicker);
contentContainer.addView(inputLayout);
// Create ScrollView to wrap the content container.
ScrollView contentScrollView = new ScrollView(context);
contentScrollView.setVerticalScrollBarEnabled(false); // Disable vertical scrollbar.
contentScrollView.setOverScrollMode(View.OVER_SCROLL_NEVER); // Disable overscroll effect.
LinearLayout.LayoutParams scrollViewParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
0,
1.0f
);
contentScrollView.setLayoutParams(scrollViewParams);
contentScrollView.addView(contentContainer);
// Create custom dialog.
final int originalColor = currentColor & 0x00FFFFFF;
@@ -391,9 +399,9 @@ public class ColorPickerPreference extends EditTextPreference {
false // Do not dismiss dialog when onNeutralClick.
);
// Add the custom container to the dialog's main layout.
// Add the ScrollView to the dialog's main layout.
LinearLayout dialogMainLayout = dialogPair.second;
dialogMainLayout.addView(container, 1);
dialogMainLayout.addView(contentScrollView, dialogMainLayout.getChildCount() - 1);
// Set up color picker listener with debouncing.
// Add listener last to prevent callbacks from set calls above.

View File

@@ -11,11 +11,7 @@ import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.*;
import androidx.annotation.NonNull;
@@ -107,14 +103,16 @@ public class CustomDialogListPreference extends ListPreference {
@Override
protected void showDialog(Bundle state) {
Context context = getContext();
// Create ListView.
ListView listView = new ListView(getContext());
ListView listView = new ListView(context);
listView.setId(android.R.id.list);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// Create custom adapter for the ListView.
ListPreferenceArrayAdapter adapter = new ListPreferenceArrayAdapter(
getContext(),
context,
Utils.getResourceIdentifier("revanced_custom_list_item_checked", "layout"),
getEntries(),
getEntryValues(),
@@ -137,7 +135,7 @@ public class CustomDialogListPreference extends ListPreference {
// Create the custom dialog without OK button.
Pair<Dialog, LinearLayout> dialogPair = Utils.createCustomDialog(
getContext(),
context,
getTitle() != null ? getTitle().toString() : "",
null,
null,
@@ -149,35 +147,13 @@ public class CustomDialogListPreference extends ListPreference {
true
);
Dialog dialog = dialogPair.first;
// Add the ListView to the main layout.
LinearLayout mainLayout = dialogPair.second;
// Measure content height before adding ListView to layout.
// Otherwise, the ListView will push the buttons off the screen.
int totalHeight = 0;
int widthSpec = View.MeasureSpec.makeMeasureSpec(
getContext().getResources().getDisplayMetrics().widthPixels,
View.MeasureSpec.AT_MOST
);
int heightSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
for (int i = 0; i < adapter.getCount(); i++) {
View listItem = adapter.getView(i, null, listView);
listItem.measure(widthSpec, heightSpec);
totalHeight += listItem.getMeasuredHeight();
}
// Cap the height at maxHeight.
int maxHeight = (int) (getContext().getResources().getDisplayMetrics().heightPixels * 0.6);
int finalHeight = Math.min(totalHeight, maxHeight);
// Add ListView to the main layout with calculated height.
LinearLayout.LayoutParams listViewParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
finalHeight // Use calculated height directly.
0,
1.0f
);
final int marginHorizontal = dipToPixels(8);
listViewParams.setMargins(0, marginHorizontal, 0, marginHorizontal);
mainLayout.addView(listView, mainLayout.getChildCount() - 1, listViewParams);
// Handle item click to select value and dismiss dialog.
@@ -188,10 +164,10 @@ public class CustomDialogListPreference extends ListPreference {
adapter.setSelectedValue(selectedValue);
adapter.notifyDataSetChanged();
}
dialog.dismiss();
dialogPair.first.dismiss();
});
// Show the dialog.
dialog.show();
dialogPair.first.show();
}
}

View File

@@ -17,6 +17,7 @@ import android.os.Handler;
import android.os.Looper;
import android.preference.Preference;
import android.util.AttributeSet;
import android.view.View;
import android.view.Window;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -216,6 +217,8 @@ class WebViewDialog extends Dialog {
// Create WebView.
WebView webView = new WebView(getContext());
webView.setVerticalScrollBarEnabled(false); // Disable the vertical scrollbar.
webView.setOverScrollMode(View.OVER_SCROLL_NEVER);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new OpenLinksExternallyWebClient());
webView.loadDataWithBaseURL(null, htmlContent, "text/html", "utf-8", null);
@@ -228,7 +231,7 @@ class WebViewDialog extends Dialog {
// Set dialog window attributes
Window window = getWindow();
if (window != null) {
Utils.setDialogWindowParameters(getContext(), window);
Utils.setDialogWindowParameters(window);
}
}

View File

@@ -7,11 +7,17 @@ public class VersionCheckPatch {
return Utils.getAppVersionName().compareTo(version) >= 0;
}
@Deprecated
public static final boolean IS_19_17_OR_GREATER = isVersionOrGreater("19.17.00");
@Deprecated
public static final boolean IS_19_20_OR_GREATER = isVersionOrGreater("19.20.00");
@Deprecated
public static final boolean IS_19_21_OR_GREATER = isVersionOrGreater("19.21.00");
@Deprecated
public static final boolean IS_19_26_OR_GREATER = isVersionOrGreater("19.26.00");
@Deprecated
public static final boolean IS_19_29_OR_GREATER = isVersionOrGreater("19.29.00");
@Deprecated
public static final boolean IS_19_34_OR_GREATER = isVersionOrGreater("19.34.00");
public static final boolean IS_19_46_OR_GREATER = isVersionOrGreater("19.46.00");
}

View File

@@ -121,12 +121,14 @@ public final class AdsFilter extends Filter {
playerShoppingShelf = new StringFilterGroup(
Settings.HIDE_PLAYER_STORE_SHELF,
"expandable_list.eml",
"horizontal_shelf.eml"
);
playerShoppingShelfBuffer = new ByteArrayFilterGroup(
null,
"shopping_item_card_list.eml"
"shopping_link_item",
"shopping_item_card_list"
);
channelProfile = new StringFilterGroup(

View File

@@ -19,6 +19,7 @@ import android.widget.SearchView;
import android.widget.TextView;
import android.widget.Toolbar;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import java.util.ArrayList;
@@ -58,11 +59,7 @@ public class SearchViewController {
GradientDrawable background = new GradientDrawable();
background.setShape(GradientDrawable.RECTANGLE);
background.setCornerRadius(28 * context.getResources().getDisplayMetrics().density); // 28dp corner radius.
int baseColor = Utils.getAppBackgroundColor();
int adjustedColor = Utils.isDarkModeEnabled()
? Utils.adjustColorBrightness(baseColor, 1.11f) // Lighten for dark theme.
: Utils.adjustColorBrightness(baseColor, 0.95f); // Darken for light theme.
background.setColor(adjustedColor);
background.setColor(getSearchViewBackground());
return background;
}
@@ -72,10 +69,17 @@ public class SearchViewController {
private static GradientDrawable createSuggestionBackgroundDrawable(Context context) {
GradientDrawable background = new GradientDrawable();
background.setShape(GradientDrawable.RECTANGLE);
background.setCornerRadius(8 * context.getResources().getDisplayMetrics().density); // 8dp corner radius.
background.setColor(getSearchViewBackground());
return background;
}
@ColorInt
public static int getSearchViewBackground() {
return Utils.isDarkModeEnabled()
? Utils.adjustColorBrightness(Utils.getDialogBackgroundColor(), 1.11f)
: Utils.adjustColorBrightness(Utils.getThemeLightColor(), 0.95f);
}
/**
* Adds search view components to the activity.
*/

View File

@@ -18,12 +18,7 @@ import android.text.TextWatcher;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.GridLayout;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.*;
import androidx.annotation.ColorInt;
@@ -88,8 +83,6 @@ public class SegmentCategoryListPreference extends ListPreference {
// Create the main layout for the dialog content.
LinearLayout contentLayout = new LinearLayout(context);
contentLayout.setOrientation(LinearLayout.VERTICAL);
final int dip10 = dipToPixels(10);
contentLayout.setPadding(0, 0, 0, dip10);
// Add behavior selection radio buttons.
RadioGroup radioGroup = new RadioGroup(context);
@@ -103,7 +96,7 @@ public class SegmentCategoryListPreference extends ListPreference {
radioGroup.addView(radioButton);
}
radioGroup.setOnCheckedChangeListener((group, checkedId) -> selectedDialogEntryIndex = checkedId);
radioGroup.setPadding(dip10, 0, 0, 0);
radioGroup.setPadding(dipToPixels(10), 0, 0, 0);
contentLayout.addView(radioGroup);
// Inflate the color picker view.
@@ -131,7 +124,7 @@ public class SegmentCategoryListPreference extends ListPreference {
gridParams = new GridLayout.LayoutParams();
gridParams.rowSpec = GridLayout.spec(0); // First row.
gridParams.columnSpec = GridLayout.spec(1); // Second column.
gridParams.setMargins(0, 0, dip10, 0);
gridParams.setMargins(0, 0, dipToPixels(10), 0);
dialogColorDotView = new TextView(context);
dialogColorDotView.setLayoutParams(gridParams);
gridLayout.addView(dialogColorDotView);
@@ -250,20 +243,17 @@ public class SegmentCategoryListPreference extends ListPreference {
contentLayout.addView(gridLayout);
// Set up color picker listener.
// Do last to prevent listener callbacks while setting up view.
dialogColorPickerView.setOnColorChangedListener(color -> {
if (categoryColor == color) {
return;
}
categoryColor = color;
String hexColor = getColorString(color);
Logger.printDebug(() -> "onColorChanged: " + hexColor);
updateCategoryColorDot();
dialogColorEditText.setText(hexColor);
dialogColorEditText.setSelection(hexColor.length());
});
// Create ScrollView to wrap the content layout.
ScrollView contentScrollView = new ScrollView(context);
contentScrollView.setVerticalScrollBarEnabled(false); // Disable vertical scrollbar.
contentScrollView.setOverScrollMode(View.OVER_SCROLL_NEVER); // Disable overscroll effect.
LinearLayout.LayoutParams scrollViewParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
0,
1.0f
);
contentScrollView.setLayoutParams(scrollViewParams);
contentScrollView.addView(contentLayout);
// Create the custom dialog.
Pair<Dialog, LinearLayout> dialogPair = Utils.createCustomDialog(
@@ -309,13 +299,27 @@ public class SegmentCategoryListPreference extends ListPreference {
false // Do not dismiss dialog on Neutral button click.
);
dialog = dialogPair.first;
// Add the ScrollView to the dialog's main layout.
LinearLayout dialogMainLayout = dialogPair.second;
dialogMainLayout.addView(contentScrollView, dialogMainLayout.getChildCount() - 1);
// Add the custom content to the dialog's main layout.
dialogMainLayout.addView(contentLayout, 1); // Add after title, before buttons.
// Set up color picker listener.
// Do last to prevent listener callbacks while setting up view.
dialogColorPickerView.setOnColorChangedListener(color -> {
if (categoryColor == color) {
return;
}
categoryColor = color;
String hexColor = getColorString(color);
Logger.printDebug(() -> "onColorChanged: " + hexColor);
updateCategoryColorDot();
dialogColorEditText.setText(hexColor);
dialogColorEditText.setSelection(hexColor.length());
});
// Show the dialog.
dialog = dialogPair.first;
dialog.show();
} catch (Exception ex) {
Logger.printException(() -> "showDialog failure", ex);

View File

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

View File

@@ -958,6 +958,10 @@ public final class app/revanced/patches/swissid/integritycheck/RemoveGooglePlayI
public static final fun getRemoveGooglePlayIntegrityCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/threads/HideAdsPatchKt {
public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/ticktick/misc/themeunlock/UnlockThemePatchKt {
public static final fun getUnlockProPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}

View File

@@ -1,9 +1,16 @@
package app.revanced.patches.instagram.ads
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.meta.ads.adInjectorFingerprint
import app.revanced.util.returnEarly
@Deprecated("Patch was moved to different package: app.revanced.patches.meta.ads.hideAdsPatch")
@Suppress("unused")
val hideAdsPatch = bytecodePatch {
dependsOn(app.revanced.patches.meta.ads.hideAdsPatch)
val hideAdsPatch = bytecodePatch(
name = "Hide ads",
) {
compatibleWith("com.instagram.android")
execute {
adInjectorFingerprint.method.returnEarly(false)
}
}

View File

@@ -11,3 +11,15 @@ internal val getMobileConfigBoolFingerprint = fingerprint {
classDef.interfaces.contains("Lcom/facebook/mobileconfig/factory/MobileConfigUnsafeContext;")
}
}
internal val metaAIKillSwitchCheckFingerprint = fingerprint {
strings("SearchAiagentImplementationsKillSwitch")
opcodes(Opcode.CONST_WIDE)
}
internal val extensionMethodFingerprint = fingerprint {
strings("REPLACED_BY_PATCH")
custom { method, classDef ->
method.name == EXTENSION_METHOD_NAME && classDef.type == EXTENSION_CLASS_DESCRIPTOR
}
}

View File

@@ -2,11 +2,14 @@ package app.revanced.patches.messenger.metaai
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.messenger.misc.extension.sharedExtensionPatch
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.WideLiteralInstruction
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/messenger/metaai/RemoveMetaAIPatch;"
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/messenger/metaai/RemoveMetaAIPatch;"
internal const val EXTENSION_METHOD_NAME = "overrideBooleanFlag"
@Suppress("unused")
val removeMetaAIPatch = bytecodePatch(
@@ -25,10 +28,25 @@ val removeMetaAIPatch = bytecodePatch(
addInstructions(
returnIndex,
"""
invoke-static { p1, p2, v$returnRegister }, $EXTENSION_CLASS_DESCRIPTOR->overrideBooleanFlag(JZ)Z
invoke-static { p1, p2, v$returnRegister }, $EXTENSION_CLASS_DESCRIPTOR->$EXTENSION_METHOD_NAME(JZ)Z
move-result v$returnRegister
"""
)
}
// Extract the common starting digits of Meta AI flag IDs from a flag found in code.
val relevantDigits = with(metaAIKillSwitchCheckFingerprint) {
method.getInstruction<WideLiteralInstruction>(patternMatch!!.startIndex).wideLiteral
}.toString().substring(0, 7)
// Replace placeholder in the extension method.
with(extensionMethodFingerprint) {
method.replaceInstruction(
stringMatches!!.first().index,
"""
const-string v1, "$relevantDigits"
"""
)
}
}
}

View File

@@ -2,4 +2,4 @@ package app.revanced.patches.messenger.misc.extension
import app.revanced.patches.shared.misc.extension.sharedExtensionPatch
val sharedExtensionPatch = sharedExtensionPatch("messenger", mainActivityOnCreateHook)
val sharedExtensionPatch = sharedExtensionPatch("messenger", messengerApplicationOnCreateHook)

View File

@@ -2,6 +2,8 @@ package app.revanced.patches.messenger.misc.extension
import app.revanced.patches.shared.misc.extension.extensionHook
internal val mainActivityOnCreateHook = extensionHook {
strings("MainActivity_onCreate_begin")
internal val messengerApplicationOnCreateHook = extensionHook {
custom { method, classDef ->
method.name == "onCreate" && classDef.endsWith("/MessengerApplication;")
}
}

View File

@@ -3,18 +3,9 @@ package app.revanced.patches.meta.ads
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.util.returnEarly
@Deprecated("Instead use the Instagram or Threads specific hide ads patch")
@Suppress("unused")
val hideAdsPatch = bytecodePatch(
name = "Hide ads",
) {
/**
* Patch is identical for both Instagram and Threads app.
*/
compatibleWith(
"com.instagram.android",
"com.instagram.barcelona",
)
val hideAdsPatch = bytecodePatch {
execute {
adInjectorFingerprint.method.returnEarly(false)
}

View File

@@ -1,12 +1,7 @@
package app.revanced.patches.pandora.ads
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.pandora.shared.constructUserDataFingerprint
import app.revanced.util.indexOfFirstInstructionOrThrow
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import app.revanced.util.returnEarly
@Suppress("unused")
val disableAudioAdsPatch = bytecodePatch(
@@ -15,16 +10,7 @@ val disableAudioAdsPatch = bytecodePatch(
compatibleWith("com.pandora.android")
execute {
constructUserDataFingerprint.method.apply {
// First match is "hasAudioAds".
val hasAudioAdsStringIndex = constructUserDataFingerprint.stringMatches!!.first().index
val moveResultIndex = indexOfFirstInstructionOrThrow(hasAudioAdsStringIndex, Opcode.MOVE_RESULT)
val hasAudioAdsRegister = getInstruction<OneRegisterInstruction>(moveResultIndex).registerA
addInstruction(
moveResultIndex + 1,
"const/4 v$hasAudioAdsRegister, 0"
)
}
getIsAdSupportedFingerprint.method.returnEarly(false)
requestAudioAdFingerprint.method.returnEarly()
}
}

View File

@@ -0,0 +1,15 @@
package app.revanced.patches.pandora.ads
import app.revanced.patcher.fingerprint
internal val getIsAdSupportedFingerprint = fingerprint {
custom { method, classDef ->
method.name == "getIsAdSupported" && classDef.endsWith("UserData;")
}
}
internal val requestAudioAdFingerprint = fingerprint {
custom { method, classDef ->
method.name == "requestAudioAdFromAdSDK" && classDef.endsWith("ContentServiceOpsImpl;")
}
}

View File

@@ -1,12 +1,7 @@
package app.revanced.patches.pandora.misc
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.pandora.shared.constructUserDataFingerprint
import app.revanced.util.indexOfFirstInstructionOrThrow
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import app.revanced.util.returnEarly
@Suppress("unused")
val enableUnlimitedSkipsPatch = bytecodePatch(
@@ -15,17 +10,6 @@ val enableUnlimitedSkipsPatch = bytecodePatch(
compatibleWith("com.pandora.android")
execute {
constructUserDataFingerprint.method.apply {
// Last match is "skipLimitBehavior".
val skipLimitBehaviorStringIndex = constructUserDataFingerprint.stringMatches!!.last().index
val moveResultObjectIndex =
indexOfFirstInstructionOrThrow(skipLimitBehaviorStringIndex, Opcode.MOVE_RESULT_OBJECT)
val skipLimitBehaviorRegister = getInstruction<OneRegisterInstruction>(moveResultObjectIndex).registerA
addInstruction(
moveResultObjectIndex + 1,
"const-string v$skipLimitBehaviorRegister, \"unlimited\""
)
}
skipLimitBehaviorFingerprint.method.returnEarly("unlimited")
}
}

View File

@@ -0,0 +1,9 @@
package app.revanced.patches.pandora.misc
import app.revanced.patcher.fingerprint
internal val skipLimitBehaviorFingerprint = fingerprint {
custom { method, classDef ->
method.name == "getSkipLimitBehavior" && classDef.endsWith("UserData;")
}
}

View File

@@ -1,7 +0,0 @@
package app.revanced.patches.pandora.shared
import app.revanced.patcher.fingerprint
internal val constructUserDataFingerprint = fingerprint {
strings("hasAudioAds", "skipLimitBehavior")
}

View File

@@ -0,0 +1,16 @@
package app.revanced.patches.threads
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.meta.ads.adInjectorFingerprint
import app.revanced.util.returnEarly
@Suppress("unused")
val hideAdsPatch = bytecodePatch(
name = "Hide ads",
) {
compatibleWith("com.instagram.barcelona"("382.0.0.51.85"))
execute {
adInjectorFingerprint.method.returnEarly(false)
}
}

View File

@@ -77,8 +77,6 @@ val hideAdsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -25,8 +25,6 @@ val hideGetPremiumPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -23,8 +23,6 @@ val videoAdsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -53,8 +53,6 @@ val copyVideoUrlPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -24,8 +24,6 @@ val removeViewerDiscretionDialogPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -72,8 +72,6 @@ val downloadsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -20,8 +20,6 @@ val seekbarPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -18,8 +18,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/SeekbarThumbnailsPatch;"
val seekbarThumbnailsPatch = bytecodePatch(
description = "Adds an option to use high quality fullscreen seekbar thumbnails. " +
"Patching 19.16.39 adds an option to restore old seekbar thumbnails.",
description = "Adds an option to use high quality fullscreen seekbar thumbnails."
) {
dependsOn(
sharedExtensionPatch,

View File

@@ -88,8 +88,6 @@ val swipeControlsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -24,8 +24,6 @@ val autoCaptionsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -43,8 +43,6 @@ val customBrandingPatch = resourcePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -41,8 +41,6 @@ val changeHeaderPatch = resourcePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -22,8 +22,6 @@ val hideButtonsPatch = resourcePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -40,8 +40,6 @@ val navigationButtonsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -58,8 +58,6 @@ val hidePlayerOverlayButtonsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -33,8 +33,6 @@ val changeFormFactorPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -59,8 +59,6 @@ val hideEndscreenCardsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -31,8 +31,6 @@ val hideEndScreenSuggestedVideoPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -29,8 +29,6 @@ val disableFullscreenAmbientModePatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -125,8 +125,6 @@ val hideLayoutComponentsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -57,8 +57,6 @@ val hideInfoCardsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -24,8 +24,6 @@ val hidePlayerFlyoutMenuPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -48,8 +48,6 @@ val hideRelatedVideoOverlayPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -29,8 +29,6 @@ val disableRollingNumberAnimationPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -170,8 +170,6 @@ val hideShortsComponentsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -21,8 +21,6 @@ val hideTimestampPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -153,22 +153,6 @@ val miniplayerPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39", // First with modern miniplayers.
// 19.17.41 // Works without issues, but no reason to recommend over 19.16.
// 19.18.41 // Works without issues, but no reason to recommend over 19.16.
// 19.19.39 // Last bug free version with smaller Modern 1 miniplayer, but no reason to recommend over 19.16.
// 19.20.35 // Cannot swipe to expand.
// 19.21.40 // Cannot swipe to expand.
// 19.22.43 // Cannot swipe to expand.
// 19.23.40 // First with Modern 1 drag and drop, Cannot swipe to expand.
// 19.24.45 // First with larger Modern 1, Cannot swipe to expand.
"19.25.37", // First with double tap, last with skip forward/back buttons, last with swipe to expand/close, and last before double tap to expand seems to be required.
// 19.26.42 // Modern 1 Pause/play button are always hidden. Unusable.
// 19.28.42 // First with custom miniplayer size, screen flickers when swiping to maximize Modern 1. Swipe to close miniplayer is broken.
// 19.29.42 // All modern players are broken and ignore tapping the miniplayer video.
// 19.30.39 // Modern 3 is less broken when double tap expand is enabled, but cannot swipe to expand when double tap is off.
// 19.31.36 // All Modern 1 buttons are missing. Unusable.
// 19.32.36 // 19.32+ and beyond all work without issues.
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -21,8 +21,6 @@ val playerPopupPanelsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -21,8 +21,6 @@ internal val exitFullscreenPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -52,8 +52,6 @@ val customPlayerOverlayOpacityPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -61,8 +61,6 @@ val returnYouTubeDislikePatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -66,8 +66,6 @@ val wideSearchbarPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -44,8 +44,6 @@ val shortsAutoplayPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -64,8 +64,6 @@ val openShortsInRegularPlayerPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -126,8 +126,6 @@ val sponsorBlockPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -58,8 +58,6 @@ val spoofAppVersionPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -32,8 +32,6 @@ val changeStartPagePatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -34,8 +34,6 @@ val disableResumingShortsOnStartupPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -204,8 +204,6 @@ val themePatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -33,8 +33,6 @@ val alternativeThumbnailsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -27,8 +27,6 @@ val bypassImageRegionRestrictionsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -23,8 +23,6 @@ val announcementsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -24,8 +24,6 @@ val autoRepeatPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -51,8 +51,6 @@ val backgroundPlaybackPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -35,8 +35,6 @@ val enableDebuggingPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -24,8 +24,6 @@ val spoofDeviceDimensionsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -21,8 +21,6 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -35,8 +35,6 @@ val gmsCoreSupportPatch = gmsCoreSupportPatch(
compatibleWith(
YOUTUBE_PACKAGE_NAME(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -26,8 +26,6 @@ val disableHapticFeedbackPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -32,8 +32,6 @@ val bypassURLRedirectsPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -41,8 +41,6 @@ val openLinksExternallyPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -5,29 +5,37 @@ package app.revanced.patches.youtube.misc.playservice
import app.revanced.patcher.patch.resourcePatch
import app.revanced.util.findElementByAttributeValueOrThrow
@Deprecated("19.16.39 is the lowest supported version")
@Deprecated("19.34.42 is the lowest supported version")
var is_19_03_or_greater = false
private set
@Deprecated("19.16.39 is the lowest supported version")
@Deprecated("19.34.42 is the lowest supported version")
var is_19_04_or_greater = false
private set
@Deprecated("19.16.39 is the lowest supported version")
@Deprecated("19.34.42 is the lowest supported version")
var is_19_16_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_17_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_18_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_23_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_25_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_26_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_29_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_32_or_greater = false
private set
@Deprecated("19.34.42 is the lowest supported version")
var is_19_33_or_greater = false
private set
var is_19_34_or_greater = false

View File

@@ -30,8 +30,6 @@ val removeTrackingQueryParameterPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -17,8 +17,6 @@ import app.revanced.patches.youtube.misc.settings.settingsPatch
val spoofVideoStreamsPatch = spoofVideoStreamsPatch({
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -41,8 +41,6 @@ val forceOriginalAudioPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -28,8 +28,6 @@ val disableHdrPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -23,8 +23,6 @@ val videoQualityPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -28,8 +28,6 @@ val playbackSpeedPatch = bytecodePatch(
compatibleWith(
"com.google.android.youtube"(
"19.16.39",
"19.25.37",
"19.34.42",
"19.43.41",
"19.47.53",

View File

@@ -1011,8 +1011,8 @@ private fun MutableMethod.overrideReturnValue(value: String, returnLate: Boolean
}
if (returnLate) {
findInstructionIndicesReversed {
opcode == RETURN || opcode == RETURN_OBJECT
findInstructionIndicesReversedOrThrow {
opcode == RETURN || opcode == RETURN_WIDE || opcode == RETURN_OBJECT
}.forEach { index ->
addInstructionsAtControlFlowLabel(index, instructions)
}

View File

@@ -33,11 +33,11 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">الإعدادات</string>
<string name="revanced_settings_confirm_user_dialog_title">هل ترغب في المتابعة؟</string>
<string name="revanced_settings_confirm_user_dialog_title">هل أنت متأكد أنك تريد المتابعة؟</string>
<string name="revanced_settings_reset">إعادة التعيين</string>
<string name="revanced_settings_reset_color">Reset color</string>
<string name="revanced_settings_color_invalid">لون غير صالح</string>
<string name="revanced_settings_restart_title">تحديث وإعادة التشغيل</string>
<string name="revanced_settings_restart_title">إعادة التشغيل مطلوبة</string>
<string name="revanced_settings_restart_dialog_message">أعد تشغيل التطبيق لكي يسري هذا التغيير.</string>
<string name="revanced_settings_restart">إعادة التشغيل</string>
<string name="revanced_settings_import">استيراد</string>
<string name="revanced_settings_import_copy">نسخ</string>
@@ -920,8 +920,6 @@ Second \"item\" text"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">تمكين المصغرات عالية الجودة</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">مصغرات شريط التقدم عالية الجودة</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">مصغرات شريط التقدم متوسطة الجودة</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">مصغرات شريط التقدم بملء الشاشة عالية الجودة</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">مصغرات شريط التقدم بملء الشاشة متوسطة الجودة</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"سيؤدي هذا أيضا إلى استعادة المصغرات على البث المباشر الذي لا يحتوي على مصغرات شريط التقدم.
مصغرات شريط التقدم سوف تستخدم نفس جودة الفيديو الحالي.
@@ -1008,7 +1006,7 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_highlight_sum">الجزء من الفيديو الذي يبحث عنه معظم الناس</string>
<string name="revanced_sb_segments_intro">المقدمة/فاصل</string>
<string name="revanced_sb_segments_intro_sum">فاصل زمني بدون محتوى فعلي. قد يكون توقفًا مؤقتًا، أو إطارًا ثابتًا، أو رسومًا متحركة متكررة. لا يتضمن انتقالات تحتوي على معلومات</string>
<string name="revanced_sb_segments_outro">الخاتمة/تترات النهاية</string>
<string name="revanced_sb_segments_outro">الخاتمة / تترات النهاية</string>
<string name="revanced_sb_segments_outro_sum">تتر النهاية أو عندما تظهر بطاقات نهاية YouTube، نهايات غير منطوقة. ليس للاستنتاجات مع المعلومات</string>
<string name="revanced_sb_segments_preview">معاينة/موجز/ربط</string>
<string name="revanced_sb_segments_preview_sum">مجموعة من المقاطع التي توضح ما هو قادم أو ما حدث في الفيديو أو في مقاطع فيديو أخرى من السلسلة، حيث تتكرر جميع المعلومات في مكان آخر</string>
@@ -1130,7 +1128,6 @@ Second \"item\" text"</string>
<string name="revanced_change_form_factor_entry_1">الافتراضي</string>
<string name="revanced_change_form_factor_entry_2">الجوّال</string>
<string name="revanced_change_form_factor_entry_3">الجهاز اللوحي</string>
<string name="revanced_change_form_factor_entry_4">Automotive</string>
<string name="revanced_change_form_factor_user_dialog_message">"التغييرات تشمل:
تصميم الجهاز اللوحي
@@ -1240,11 +1237,6 @@ Second \"item\" text"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">إخفاء أزرار الواجهة</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">تم إخفاء أزرار الواجهة</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">يتم عرض أزرار الواجهة</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">إخفاء زري التوسيع والإغلاق</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"تم إخفاء الأزرار
اسحب للتوسيع أو الإغلاق"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">يتم عرض زري التوسيع والإغلاق</string>
<string name="revanced_miniplayer_hide_subtext_title">إخفاء النصوص الفرعية</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">تم إخفاء النصوص الفرعية</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">يتم عرض النصوص الفرعية</string>
@@ -1302,8 +1294,6 @@ Second \"item\" text"</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">عرض ملاحظة إذا كان API غير متاح</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">يتم عرض ملاحظة إذا كان DeArrow غير متوفر</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">لا يتم عرض ملاحظة إذا كان DeArrow غير متوفر</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_title">DeArrow API endpoint</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">The URL of the DeArrow thumbnail cache endpoint</string>
<string name="revanced_alt_thumbnail_stills_about_title">لقطات الفيديو الثابتة</string>
<string name="revanced_alt_thumbnail_stills_about_summary">يتم التقاط اللقطات الثابتة من بداية/وسط/نهاية كل فيديو. هذه الصور مدمجة في YouTube ولا يتم استخدام أي واجهة برمجة تطبيقات خارجية</string>
<string name="revanced_alt_thumbnail_stills_fast_title">استخدم اللقطات الثابتة السريعة</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Tənzimləmələr</string>
<string name="revanced_settings_confirm_user_dialog_title">Davam etmək istəyirsiniz?</string>
<string name="revanced_settings_confirm_user_dialog_title">Davam etmək istədiyinizə əminsiniz?</string>
<string name="revanced_settings_reset">Sıfırla</string>
<string name="revanced_settings_reset_color">Rəngi sıfırla</string>
<string name="revanced_settings_color_invalid">Yanlış rəng</string>
<string name="revanced_settings_restart_title">Yenilə və yenidən başlat</string>
<string name="revanced_settings_restart_title">Yenidən başlatma tələb olunur</string>
<string name="revanced_settings_restart_dialog_message">Bu dəyişikliyin təsir etməsi üçün tətbiqi yenidən başladın.</string>
<string name="revanced_settings_restart">Yenidən başlat</string>
<string name="revanced_settings_import">İdxal et</string>
<string name="revanced_settings_import_copy">Köçür</string>
@@ -919,8 +920,6 @@ Məhdudiyyət: Bəyənməmələr gizli rejimdə görünməyə bilər"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">Yüksək keyfiyyətli miniatürləri aktivləşdir</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">İrəliləyiş cizgisi miniatürləri yüksək keyfiyyətlidir</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">İrəliləyiş cizgisi miniatürləri orta keyfiyyətlidir</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Tam ekran irəliləyiş cizgisi miniatürü yüksək keyfiyyətlidir</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Tam ekran irəliləyiş cizgisi miniatürləri orta keyfiyyətlidir</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Bu, həmçinin irəliləyiş cizgisi miniatürləri olmayan canlı yayımlarda miniatürləri bərpa edəcək.
İrəliləyiş cizgisi miniatürləri cari video kimi eyni keyfiyyəti işlədəcək.
@@ -1007,7 +1006,7 @@ Sizin istifadəçi Id-niz parol kimidir və heç vaxt paylaşmaq olmaz.
<string name="revanced_sb_segments_highlight_sum">Əksər insanların axtardığı video bölümü</string>
<string name="revanced_sb_segments_intro">Fasilə/Giriş Animasiyası</string>
<string name="revanced_sb_segments_intro_sum">Həqiqi məzmunu olmayan aralıq. Fasilə, statik kadr və ya təkrarlanan animasiya ola bilər. Məlumat ehtiva edən keçidlər daxil deyil</string>
<string name="revanced_sb_segments_outro">Son kartlar/Zaminlər</string>
<string name="revanced_sb_segments_outro">Son kartlar / Zaminlər</string>
<string name="revanced_sb_segments_outro_sum">Zaminlər və ya YouTube bitiş kartları görünəndə. Məlumat daxil olan nəticələr üçün deyil</string>
<string name="revanced_sb_segments_preview">Önizləmə/Anons/Qısa</string>
<string name="revanced_sb_segments_preview_sum">Videoda və ya seriyanın digər videolarında nə gözlənildiyini və ya baş verdiyini göstərən, bütün məlumatların başqa yerdə təkrarlandığı bölüm toplusu</string>
@@ -1239,11 +1238,6 @@ Kiçik oynadıcı ekrandan sola və ya sağa sürüklənə bilər"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Örtük düymələrini gizlət</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Örtük düymələri gizlidir</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Örtük düymələri görünür</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Genişləndir və bağla düymələrini gizlət</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Düymələr gizlidir
Genişləndirmək və ya bağlamaq üçün sürüşdür"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Genişləndir və bağla düymələri göstərilir</string>
<string name="revanced_miniplayer_hide_subtext_title">Alt mətnləri gizlət</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Alt mətnlər gizlədilir</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Alt mətnlər göstərilir</string>
@@ -1490,7 +1484,6 @@ AVC maksimum 1080p görüntü imkanına malikdir, Opus audio kodlama olmur və v
<string name="revanced_embedded_ads_service_failed">%s xəta qaytardı, reklamlar görünə bilər. Tənzimləmədə reklam əngəlləmə xidmətin dəyişməyə çalışın.</string>
<string name="revanced_block_embedded_ads_title">Yerləşdirilən video reklamlarını əngəllə</string>
<string name="revanced_block_embedded_ads_entry_1">Qeyri-aktiv edildi</string>
<string name="revanced_block_embedded_ads_entry_2">Luminous proxy</string>
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock proksi</string>
</patch>
<patch id="ad.video.videoAdsPatch">

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Налады</string>
<string name="revanced_settings_confirm_user_dialog_title">Вы хочаце працягнуць?</string>
<string name="revanced_settings_confirm_user_dialog_title">Вы ўпэўнены, што хочаце працягнуць?</string>
<string name="revanced_settings_reset">Скінуць</string>
<string name="revanced_settings_reset_color">Скінуць колер</string>
<string name="revanced_settings_color_invalid">Несапраўдны колер</string>
<string name="revanced_settings_restart_title">Абнавіце і перазагрузіце</string>
<string name="revanced_settings_restart_title">Неабходны перазапуск</string>
<string name="revanced_settings_restart_dialog_message">Перазапусціце праграму, каб змены ўступілі ў сілу.</string>
<string name="revanced_settings_restart">Перазапуск</string>
<string name="revanced_settings_import">Імпарт</string>
<string name="revanced_settings_import_copy">Копія</string>
@@ -920,8 +921,6 @@ Second \"item\" text"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">Включить миниатюры высокого качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Миниатюры ползунка прогресса — высокого качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Миниатюры ползунка прогресса — среднего качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Миниатюры ползунка прогресса в полноэкранном режиме — высокого качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Миниатюры ползунка прогресса в полноэкранном режиме — среднего качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Гэта таксама аднавіць мініатюры на трансляцыях у прамым эфіры, якія не маюць мініатюр з магчымасцю перамоткі.
Мініатюры з магчымасцю перамоткі будуць выкарыстоўваць тую ж якасць, што і бягучае відэа.
@@ -1009,7 +1008,7 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_highlight_sum">Частка відэа, якую шукае большасць людзей</string>
<string name="revanced_sb_segments_intro">Антракт/Уступная анімацыя</string>
<string name="revanced_sb_segments_intro_sum">Інтэрвал без фактычнага зместу. Гэта можа быць паўза, статычны кадр або паўтаральная анімацыя. Не ўключае пераходы, якія змяшчаюць інфармацыю</string>
<string name="revanced_sb_segments_outro">Канчатковыя карты/крэдыты</string>
<string name="revanced_sb_segments_outro">Канцоўкі / Цітры</string>
<string name="revanced_sb_segments_outro_sum">Крэдыты або калі з\"яўляюцца канцавыя карткі YouTube. Не для высноў з інфармацыяй</string>
<string name="revanced_sb_segments_preview">Папярэдні прагляд/Паўзвядзенне/Хук</string>
<string name="revanced_sb_segments_preview_sum">Калекцыя кліпаў, якія паказваюць, што адбываецца або што адбылося ў відэа ці ў іншых відэа серыі, дзе ўся інфармацыя паўтараецца ў іншым месцы</string>
@@ -1241,11 +1240,6 @@ Second \"item\" text"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Схаваць кнопкі накладання</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Кнопкі накладання схаваныя</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Кнопкі накладання паказаны</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Схаваць кнопкі разгортвання і закрыцця</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Кнопкі схаваныя
Правядзіце пальцам, каб разгарнуць ці закрыць"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Кнопкі разгортвання і закрыцця паказаны</string>
<string name="revanced_miniplayer_hide_subtext_title">Схаваць падтэксты</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Падтэксты схаваныя</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Паказваюцца падтэксты</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Настройки</string>
<string name="revanced_settings_confirm_user_dialog_title">Искате ли да продължите?</string>
<string name="revanced_settings_confirm_user_dialog_title">Сигурни ли сте, че искате да продължите?</string>
<string name="revanced_settings_reset">Възстанови</string>
<string name="revanced_settings_reset_color">Нулиране на цвета</string>
<string name="revanced_settings_color_invalid">Невалиден цвят</string>
<string name="revanced_settings_restart_title">Рестартирай и опресни</string>
<string name="revanced_settings_restart_title">Необходимо е рестартиране</string>
<string name="revanced_settings_restart_dialog_message">Рестартирайте приложението, за да влязат в сила тези промени.</string>
<string name="revanced_settings_restart">Рестартиране</string>
<string name="revanced_settings_import">Импортиране</string>
<string name="revanced_settings_import_copy">Копирай</string>
@@ -920,8 +921,6 @@ Second \"item\" text"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">Активиране на висококачествени миниатюри</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Миниатюри с високо качество в лентата на възпроизвеждане</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Миниатюри с средно качество в лентата на възпроизвеждане</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Миниатюри с високо качество в лентата на прогреса на цял екран</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Миниатюри със средно качество в лентата на прогреса на цял екран</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Това също ще възстанови миниатюрите на предавания на живо, които нямат миниатюри на плъзгача.
Миниатюрите на плъзгача ще използват същото качество като текущото видео.
@@ -1008,7 +1007,7 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_highlight_sum">Частта от видеото която повечето хора търсят</string>
<string name="revanced_sb_segments_intro">Пауза / Начална анимация</string>
<string name="revanced_sb_segments_intro_sum">Интервал без реално съдържание. Може да бъде пауза, статичен кадър, повтаряща се анимация. Това не трябва да се използва за преходи, съдържащи информация</string>
<string name="revanced_sb_segments_outro">Карти в края/Пояснения</string>
<string name="revanced_sb_segments_outro">Край на клипа / Надписи</string>
<string name="revanced_sb_segments_outro_sum">Информация или когато се показват крайните карти на YouTube. Не за заключения с информация</string>
<string name="revanced_sb_segments_preview">Кратък преглед/Обобщение</string>
<string name="revanced_sb_segments_preview_sum">Колекция от клипове, които показват какво предстои в този видеоклип или в други видеоклипове от поредицата, където цялата информация се повтаря по-късно във видеоклипа</string>
@@ -1240,11 +1239,6 @@ Second \"item\" text"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Скриване на бутоните за наслагване</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Бутоните за наслагване са скрити</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Бутоните за наслагване са показани</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Скриване на бутоните за разгъване и затваряне</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Бутоните са скрити
Плъзнете, за да разгънете или затворите"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Бутоните за разгъване и затваряне са показани</string>
<string name="revanced_miniplayer_hide_subtext_title">Екранни текстове, етикети</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Скрити</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Показват се</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">সেটিংস</string>
<string name="revanced_settings_confirm_user_dialog_title">আপনি কি এগিে যেতে ইচ্ছুক?</string>
<string name="revanced_settings_confirm_user_dialog_title">আপনি কি এগিয়ে যেতে চান?</string>
<string name="revanced_settings_reset">আবার সেট করুন</string>
<string name="revanced_settings_reset_color">রঙ রিসেট করুন</string>
<string name="revanced_settings_color_invalid">অবৈধ রঙ</string>
<string name="revanced_settings_restart_title">রিফ্রেশ করুন এবং আবার চালু করুন</string>
<string name="revanced_settings_restart_title">পুনরায় আরম্ভ করা আবশ্যক</string>
<string name="revanced_settings_restart_dialog_message">এই পরিবর্তন কার্যকর করার জন্য অ্যাপটি পুনরায় চালু করুন।</string>
<string name="revanced_settings_restart">আবার চালু করুন</string>
<string name="revanced_settings_import">আমদানি করুন</string>
<string name="revanced_settings_import_copy">অনুলিপি করুন</string>
@@ -916,8 +917,6 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
<string name="revanced_seekbar_thumbnails_high_quality_title">উচ্চমানের থাম্বনেইল সক্ষম করুন</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">সিকবার থাম্বনেইল উচ্চমানের</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">সিকবার থাম্বনেইল মাঝারিমানের</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">পূর্ণ পর্দায় সিকবার থাম্বনেইল উচ্চমানের</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">পূর্ণ পর্দায় সিকবার থাম্বনেইল মাঝারিমানের</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"এটি সেই লাইভস্ট্রিমগুলিতে থাম্বনেইল পুনরুদ্ধার করবে যেখানে সিকবার থাম্বনেইল নেই।
সিকবার থাম্বনেইল বর্তমান ভিডিওর একই মান ব্যবহার করবে।
@@ -1003,7 +1002,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
<string name="revanced_sb_segments_highlight_sum">ভিডিওর অংশ যা বেশিরবাগ মানুষই দেখছে</string>
<string name="revanced_sb_segments_intro">অন্তর্বর্তীকরণ/পরিচয় বিভাগের অ্যানিমেশন</string>
<string name="revanced_sb_segments_intro_sum">প্রকৃত বিষয়বস্তু ছাড়াই একটি বিরতি। বিরতি, স্থির ফ্রেম, অ্যানিমেশন পুনরাবৃত্তি হতে পারে। এটি তথ্যযুক্ত ট্রানজিশনের জন্য ব্যবহার করা উচিত নয়</string>
<string name="revanced_sb_segments_outro">এন্ডকার্ডস/কৃতজ্ঞতা স্বীকার</string>
<string name="revanced_sb_segments_outro">এন্ডকার্ডস / কৃতজ্ঞতা স্বীকার</string>
<string name="revanced_sb_segments_outro_sum">ক্রেডিট বা যখন ইউটিউব এন্ডকার্ডগুলি উপস্থিত হয়। তথ্য সহ সিদ্ধান্তের জন্য নয়</string>
<string name="revanced_sb_segments_preview">পূর্বরূপ/সংক্ষিপ্তবৃত্তি/হুক</string>
<string name="revanced_sb_segments_preview_sum">একটি সমষ্টি ক্লিপ সমূহ যা ভিডিওতে এসে যা হচ্ছে বা অন্য ভিডিও সিরিজে ঘটেছে সেগুলি দেখায় যেখানে সমস্ত তথ্য অন্যত্র পুনরাবৃত্তি করা হয়</string>
@@ -1236,11 +1235,6 @@ Miniplayer স্ক্রিন থেকে বামে বা ডানে
<string name="revanced_miniplayer_hide_overlay_buttons_title">ওভারলে বোতাম লুকান</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">ওভারলে বোতাম লুকানো আছে</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">ওভারলে বোতাম দেখানো হয়েছে</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">বিস্তৃত এবং বন্ধ বোতাম লুকান</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"বোতাম লুকানো আছে
বিস্তৃত করতে বা বন্ধ করতে সোয়াইপ করুন"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">বিস্তৃত এবং বন্ধ করার বোতাম দেখানো হয়েছে</string>
<string name="revanced_miniplayer_hide_subtext_title">উপপাঠ লুকান</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">উপপাঠ লুকিয়ে রয়েছে</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">উপপাঠ প্রদর্শিত হয়েছে</string>
@@ -1469,7 +1463,7 @@ AVC-এর সর্বোচ্চ রেজোলিউশন হল 1080p, Op
• স্থির ভলিউম পাওয়া যায় না
• মূল অডিও জোর করে চালু করা যায় না"</string>
<string name="revanced_spoof_video_streams_about_no_av1">• কোনো AV1 ভিডিও কোডেক নেই</string>
<string name="revanced_spoof_video_streams_about_kids_videos">Kids videos may not play when logged out or in incognito mode</string>
<string name="revanced_spoof_video_streams_about_kids_videos">লগআউট করা হলে বা ছদ্মবেশী মোডে বাচ্চাদের ভিডিও চলতে নাও পারে</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">স্ট্যাটস ফর নার্ডসে দেখান</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">স্ট্যাটস ফর নার্ডসে ক্লায়েন্ট প্রকার দেখানো হবে</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">স্ট্যাটস ফর নার্ডসে ক্লায়েন্ট লুকানো হবে</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Nastavení</string>
<string name="revanced_settings_confirm_user_dialog_title">Přejete si pokračovat?</string>
<string name="revanced_settings_confirm_user_dialog_title">Opravdu chcete pokračovat?</string>
<string name="revanced_settings_reset">Výchozí</string>
<string name="revanced_settings_reset_color">Obnovit barvu</string>
<string name="revanced_settings_color_invalid">Neplatná barva</string>
<string name="revanced_settings_restart_title">Obnovit a restartovat</string>
<string name="revanced_settings_restart_title">Je vyžadován restart</string>
<string name="revanced_settings_restart_dialog_message">Aby se tato změna projevila, restartujte aplikaci.</string>
<string name="revanced_settings_restart">Restartovat</string>
<string name="revanced_settings_import">Importovat</string>
<string name="revanced_settings_import_copy">Kopírovat</string>
@@ -921,7 +922,6 @@ Omezení: Počty „Nelíbí se mi“ se nemusí zobrazit v anonymním režimu"<
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Miniatury posuvníku jsou vysoké kvality</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Miniatury posuvníku jsou střední kvality</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Miniatury posuvníku na celou obrazovku jsou vysoké kvality</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Miniatury posuvníku na celou obrazovku jsou střední kvality</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Obnoví se také miniatury živých přenosů, které nemají miniatury s posuvníkem.
Miniatury s posuvníkem budou používat stejnou kvalitu jako aktuální video.
@@ -1007,7 +1007,7 @@ Vaše ID uživatele je jako heslo a nikdy by nemělo být sdíleno."</string>
<string name="revanced_sb_segments_highlight_sum">Část videa, po které většina lidí hledá</string>
<string name="revanced_sb_segments_intro">Přestávka/Animace úvodu</string>
<string name="revanced_sb_segments_intro_sum">Interval bez skutečného obsahu. Může to být pauza, statický snímek nebo opakující se animace. Neobsahuje přechody s informacemi</string>
<string name="revanced_sb_segments_outro">Závěrečné karty/Titulky</string>
<string name="revanced_sb_segments_outro">Outro / Závěrečné titulky</string>
<string name="revanced_sb_segments_outro_sum">Titulky nebo když se objeví závěrečné karty YouTube. Ne pro závěry s informacemi</string>
<string name="revanced_sb_segments_preview">Náhled/Shrnutí/Háček</string>
<string name="revanced_sb_segments_preview_sum">Sbírka klipů, které ukazují, co se chystá nebo co se stalo ve videu nebo v jiných videích série, kde jsou všechny informace opakované jinde</string>
@@ -1239,11 +1239,6 @@ Omezení: Použití tlačítka zpět na panelu nástrojů nemusí fungovat"</str
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skrýt tlačítka překrytí</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tlačítka překrytí jsou skrytá</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Tlačítka překrytí jsou zobrazena</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skrýt tlačítka rozbalení a zavření</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Tlačítka jsou skrytá
Rozbalte nebo zavřete přejetím prstem"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Tlačítka rozbalení a zavření jsou zobrazena</string>
<string name="revanced_miniplayer_hide_subtext_title">Skrýt podtexty</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Podtexty jsou skryty</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Podtexty jsou zobrazeny</string>

View File

@@ -24,7 +24,7 @@ Second \"item\" text"</string>
<string name="revanced_check_environment_failed_title">Kontrol mislykkedes</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Åbn officiel hjemmeside</string>
<string name="revanced_check_environment_dialog_ignore_button">Ignorer</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Denne app ser ikke ud til at være blevet patcht af dig.&lt;/h5&gt;&lt;br&gt;Denne app fungerer muligvis ikke korrekt, og den &lt;b style=\"color: red;\">kan være skadelig eller endda farlig at bruge.&lt;/b&gt;&lt;br&gt;&lt;br&gt;Disse kontroller indikerer, at denne app er for-patched eller erhvervet fra en anden person:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Det anbefales kraftigt at &lt;b style=\"color: blue;\">afinstallere denne app og patche den selv&lt;/b&gt; for at sikre, at du bruger en valideret og sikker app.&lt;p&gt;&lt;br&gt;Hvis det ignoreres, vises denne advarsel kun to gange.</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Denne app ser ikke ud til at være blevet patcht af dig.&lt;/h5&gt;&lt;br&gt;Denne app fungerer muligvis ikke korrekt, og den &lt;b style=\"color: red;\"&gt;kan være skadelig eller endda farlig at bruge.&lt;/b&gt;&lt;br&gt;&lt;br&gt;Disse kontroller indikerer, at denne app er for-patched eller erhvervet fra en anden person:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Det anbefales kraftigt at &lt;b style=\"color: blue;\"&gt;afinstallere denne app og patche den selv&lt;/b&gt; for at sikre, at du bruger en valideret og sikker app.&lt;p&gt;&lt;br&gt;Hvis det ignoreres, vises denne advarsel kun to gange.</string>
<string name="revanced_check_environment_not_same_patching_device">Rettet på en anden enhed</string>
<string name="revanced_check_environment_manager_not_expected_installer">Ikke installeret af ReVanced Manager</string>
<string name="revanced_check_environment_not_near_patch_time">Patched mere end 10 minutter siden</string>
@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Indstillinger</string>
<string name="revanced_settings_confirm_user_dialog_title">Ønsker du at fortsætte?</string>
<string name="revanced_settings_confirm_user_dialog_title">Er du sikker på, at du vil fortsætte?</string>
<string name="revanced_settings_reset">Nulstil</string>
<string name="revanced_settings_reset_color">Nulstil farve</string>
<string name="revanced_settings_color_invalid">Ugyldig farve</string>
<string name="revanced_settings_restart_title">Opdater og genstart</string>
<string name="revanced_settings_restart_title">Genstart kræves</string>
<string name="revanced_settings_restart_dialog_message">Genstart appen for at denne ændring træder i kraft.</string>
<string name="revanced_settings_restart">Genstart</string>
<string name="revanced_settings_import">Importer</string>
<string name="revanced_settings_import_copy">Kopier</string>
@@ -1008,7 +1009,7 @@ Dit bruger-id er som en adgangskode, og det må aldrig deles.
<string name="revanced_sb_segments_highlight_sum">Den del af videoen, som de fleste mennesker er på udkig efter</string>
<string name="revanced_sb_segments_intro">Pause/Intro-animation</string>
<string name="revanced_sb_segments_intro_sum">Et interval uden reelt indhold. Kunne være en pause, statisk ramme eller gentagelse af animation. Omfatter ikke overgange indeholdende information</string>
<string name="revanced_sb_segments_outro">Slutkort/Kredit</string>
<string name="revanced_sb_segments_outro">Slutkort / Kredit</string>
<string name="revanced_sb_segments_outro_sum">Medvirkende eller når YouTube-endcards vises. Ikke for konklusioner med information</string>
<string name="revanced_sb_segments_preview">Forhåndsvisning/Genoptag/Krog</string>
<string name="revanced_sb_segments_preview_sum">Indsamling af klip, der viser, hvad der kommer op, eller hvad der skete i videoen eller i andre videoer af en serie, hvor alle oplysninger gentages andetsteds</string>
@@ -1240,11 +1241,6 @@ Miniafspiller kan trækkes ud over skærmen til venstre eller højre"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skjul overlay-knapper</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Overlay-knapper er skjult</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Overlay-knapper vises</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skjul udvid- og luk-knapper</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Knapper er skjult
Stryg for at udvide eller lukke"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Udvid- og luk-knapper vises</string>
<string name="revanced_miniplayer_hide_subtext_title">Skjul undertekster</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Undertekster er skjult</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Undertekster er vist</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Einstellungen</string>
<string name="revanced_settings_confirm_user_dialog_title">Möchtest du fortfahren?</string>
<string name="revanced_settings_confirm_user_dialog_title">Bist du sicher, dass du fortfahren möchtest?</string>
<string name="revanced_settings_reset">Zurücksetzen</string>
<string name="revanced_settings_reset_color">Farbe zurücksetzen</string>
<string name="revanced_settings_color_invalid">Ungültige Farbe</string>
<string name="revanced_settings_restart_title">Aktualisieren und neu starten</string>
<string name="revanced_settings_restart_title">Neustart erforderlich</string>
<string name="revanced_settings_restart_dialog_message">Starte die App neu, damit diese Änderung wirksam wird.</string>
<string name="revanced_settings_restart">Neustart</string>
<string name="revanced_settings_import">Importieren</string>
<string name="revanced_settings_import_copy">Kopieren</string>
@@ -87,7 +88,7 @@ Tippen Sie auf die Schaltfläche \"Fortfahren\" und erlauben Sie die Optimierung
<string name="revanced_settings_screen_02_alt_thumbnails_title">Alternative Miniaturbilder</string>
<string name="revanced_settings_screen_03_feed_title">Feed</string>
<string name="revanced_settings_screen_04_general_title">Allgemein</string>
<string name="revanced_settings_screen_05_player_title">Player</string>
<string name="revanced_settings_screen_05_player_title">Spieler</string>
<string name="revanced_settings_screen_07_seekbar_title">Fortschrittsbalken</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Wischsteuerung</string>
<string name="revanced_settings_screen_11_misc_title">Verschiedenes</string>
@@ -105,7 +106,7 @@ Tippen Sie auf die Schaltfläche \"Fortfahren\" und erlauben Sie die Optimierung
<string name="revanced_shorts_disable_background_playback_summary_off">Shorts-Hintergrundwiedergabe ist aktiviert</string>
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
<string name="revanced_debug_screen_title">Debugging</string>
<string name="revanced_debug_screen_title">Fehlerbehebung</string>
<string name="revanced_debug_screen_summary">Aktiviert oder deaktiviert Debugging-Optionen</string>
<string name="revanced_debug_title">Debug-Protokollierung</string>
<string name="revanced_debug_summary_on">Debug-Protokolle sind aktiviert</string>
@@ -913,8 +914,6 @@ Einschränkung: Dislikes werden möglicherweise nicht im Inkognito-Modus angezei
<string name="revanced_seekbar_thumbnails_high_quality_title">Aktiviere hochwertige Vorschaubilder</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Thumbnails der Suchleiste sind hohe Qualität</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Thumbnails in der Suchleiste sind mittlere Qualität</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Thumbnails in der Suchleiste sind qualitativ hochwertig</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Thumbnails in der Suchleiste sind mittlere Qualität</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Dadurch werden auch Miniaturansichten in Livestreams wiederhergestellt, die keine Miniaturansichten mit Suchleiste haben.
Miniaturansichten mit Suchleiste verwenden die gleiche Qualität wie das aktuelle Video.
@@ -1001,7 +1000,7 @@ Ihre Benutzer-ID ist wie ein Passwort und sollte niemals weitergegeben werden.
<string name="revanced_sb_segments_highlight_sum">Der Teil des Videos, nach dem die meisten Menschen suchen</string>
<string name="revanced_sb_segments_intro">Unterbrechung/Introanimation</string>
<string name="revanced_sb_segments_intro_sum">Ein Intervall ohne aktuellen Inhalt. Kann eine Pause, ein statischer Rahmen oder eine Wiederholung der Animation sein. Enthält keine Übergänge mit Informationen</string>
<string name="revanced_sb_segments_outro">Endkarten/Credits</string>
<string name="revanced_sb_segments_outro">Endkarten / Credits</string>
<string name="revanced_sb_segments_outro_sum">Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Schlussfolgerungen mit Informationen</string>
<string name="revanced_sb_segments_preview">Vorschau/Recap/Hook</string>
<string name="revanced_sb_segments_preview_sum">Sammlung von Clips, die zeigen, was im Video oder in anderen Videos einer Serie vor sich geht, wo alle Informationen andernorts wiederholt werden</string>
@@ -1233,11 +1232,6 @@ Der Mini-Player kann mit einer Wischgeste vom Bildschirm nach links oder rechts
<string name="revanced_miniplayer_hide_overlay_buttons_title">Overlay-Buttons ausblenden</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Overlay-Buttons sind ausgeblendet</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Overlay-Buttons werden angezeigt</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Schaltflächen zum Erweitern und Schließen ausblenden</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Schaltflächen sind ausgeblendet
Zum Erweitern oder Schließen wischen"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Schaltflächen zum Erweitern und Schließen werden angezeigt</string>
<string name="revanced_miniplayer_hide_subtext_title">Untertexte ausblenden</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Subtexte sind ausgeblendet</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Untertexte werden angezeigt</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Ρυθμίσεις</string>
<string name="revanced_settings_confirm_user_dialog_title">Θέλετε να συνεχίσετε;</string>
<string name="revanced_settings_confirm_user_dialog_title">Είστε βέβαιοι ότι θέλετε να συνεχίσετε;</string>
<string name="revanced_settings_reset">Επαναφορά</string>
<string name="revanced_settings_reset_color">Επαναφορά χρώματος</string>
<string name="revanced_settings_color_invalid">Μη έγκυρο χρώμα</string>
<string name="revanced_settings_restart_title">Ανανέωση και επανεκκίνηση</string>
<string name="revanced_settings_restart_title">Απαιτείται επανεκκίνηση</string>
<string name="revanced_settings_restart_dialog_message">Επανεκκινήστε την εφαρμογή για να εφαρμοστεί αυτή η αλλαγή.</string>
<string name="revanced_settings_restart">Επανεκκίνηση</string>
<string name="revanced_settings_import">Εισαγωγή</string>
<string name="revanced_settings_import_copy">Αντιγραφή</string>
@@ -922,8 +923,6 @@ Second \"item\" text"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">Μικρογραφίες υψηλής ποιότητας</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Οι μικρογραφίες της γραμμής προόδου είναι υψηλής ποιότητας</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Οι μικρογραφίες της γραμμής προόδου είναι μέτριας ποιότητας</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Οι μικρογραφίες πλήρους οθόνης της γραμμής προόδου είναι υψηλής ποιότητας</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Οι μικρογραφίες πλήρους οθόνης της γραμμής προόδου είναι μέτριας ποιότητας</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Αυτό θα επαναφέρει επίσης τις μικρογραφίες σε ζωντανές μεταδόσεις που δεν έχουν μικρογραφίες γραμμής προόδου.
Οι μικρογραφίες γραμμής αναζήτησης θα χρησιμοποιούν την ίδια ποιότητα με το τρέχον βίντεο.
@@ -1009,7 +1008,7 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_highlight_sum">Το μέρος του βίντεο που ψάχνουν οι περισσότεροι άνθρωποι</string>
<string name="revanced_sb_segments_intro">Διάλειμμα/Εισαγωγή</string>
<string name="revanced_sb_segments_intro_sum">Χρονικό διάστημα χωρίς πραγματικό περιεχόμενο. Θα μπορούσε να είναι μια παύση, ένα στατικό καρέ ή μια επαναλαμβανόμενη κίνηση. Δεν περιλαμβάνει μεταβάσεις που περιέχουν πληροφορίες</string>
<string name="revanced_sb_segments_outro">Τελική Οθόνη/Συντελεστές</string>
<string name="revanced_sb_segments_outro">Τελική Οθόνη / Συντελεστές</string>
<string name="revanced_sb_segments_outro_sum">Όταν εμφανίζονται οι συντελεστές ή τα προτεινόμενα βίντεο των καναλιών. Όχι για επίλογους που περιέχουν πληροφορίες</string>
<string name="revanced_sb_segments_preview">Προεπισκόπηση/Περίληψη</string>
<string name="revanced_sb_segments_preview_sum">Συλλογή από κλιπ που δείχνουν τι έρχεται ή τι συνέβη στο βίντεο ή σε άλλα βίντεο μιας σειράς, όπου όλες οι πληροφορίες επαναλαμβάνονται αλλού</string>
@@ -1168,7 +1167,7 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_history">Ιστορικό</string>
<string name="revanced_change_start_page_entry_library">Βιβλιοθήκη</string>
<string name="revanced_change_start_page_entry_liked_videos">Βίντεο που σας αρέσουν</string>
<string name="revanced_change_start_page_entry_live">Live</string>
<string name="revanced_change_start_page_entry_live">Ζωντανά</string>
<string name="revanced_change_start_page_entry_movies">Ταινίες</string>
<string name="revanced_change_start_page_entry_music">Μουσική</string>
<string name="revanced_change_start_page_entry_news">Ειδήσεις</string>
@@ -1241,11 +1240,6 @@ Second \"item\" text"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Κουμπιά επικάλυψης οθόνης αναπαραγωγής</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Κρυμμένα</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Εμφανίζονται</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Κουμπιά επέκτασης και κλεισίματος</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Κρυμμένα
Σύρετε για να αναπτύξετε ή να κλείσετε"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Εμφανίζονται</string>
<string name="revanced_miniplayer_hide_subtext_title">Κείμενα οθόνης αναπαραγωγής</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Κρυμμένα</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Εμφανίζονται</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Ajustes</string>
<string name="revanced_settings_confirm_user_dialog_title">¿Desea continuar?</string>
<string name="revanced_settings_confirm_user_dialog_title">¿Está seguro de que quiere continuar?</string>
<string name="revanced_settings_reset">Restablecer</string>
<string name="revanced_settings_reset_color">Restablecer color</string>
<string name="revanced_settings_color_invalid">Color no válido</string>
<string name="revanced_settings_restart_title">Actualizar y reiniciar</string>
<string name="revanced_settings_restart_title">Reinicio necesario</string>
<string name="revanced_settings_restart_dialog_message">Reinicie la aplicación para que este cambio surta efecto.</string>
<string name="revanced_settings_restart">Reiniciar</string>
<string name="revanced_settings_import">Importar</string>
<string name="revanced_settings_import_copy">Copiar</string>
@@ -917,8 +918,6 @@ Limitación: Es posible que los Dislikes no aparezcan en el modo de incógnito"<
<string name="revanced_seekbar_thumbnails_high_quality_title">Habilitar miniaturas de alta calidad</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Las miniuñas Seekbar son de alta calidad</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Las miniuñas Seekbar son de calidad media</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Las miniaturas de la barra de búsqueda a pantalla completa son de alta calidad</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Las miniaturas de la barra de búsqueda a pantalla completa son de calidad media</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Esto también restaurará las miniaturas en las transmisiones en vivo que no tengan miniaturas de la barra de búsqueda.
Las miniaturas de la barra de búsqueda utilizarán la misma calidad que el vídeo actual.
@@ -1004,7 +1003,7 @@ Tu ID de usuario es como una contraseña y nunca debe compartirse."</string>
<string name="revanced_sb_segments_highlight_sum">La parte del vídeo que la mayoría de la gente está buscando</string>
<string name="revanced_sb_segments_intro">Intermisión/Animación de introducción</string>
<string name="revanced_sb_segments_intro_sum">Un intervalo sin contenido real. Podría ser una pausa, marco estático o animación de repetición. No incluye transiciones que contengan información</string>
<string name="revanced_sb_segments_outro">Pantallas finales/Créditos</string>
<string name="revanced_sb_segments_outro">Tarjetas finales / Créditos</string>
<string name="revanced_sb_segments_outro_sum">Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información</string>
<string name="revanced_sb_segments_preview">Vista previa/Recapitular/Juego</string>
<string name="revanced_sb_segments_preview_sum">Colección de clips que muestran lo que viene o lo que pasó en el vídeo o en otros videos de una serie, donde toda la información se repite en otro lugar</string>
@@ -1151,7 +1150,7 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
<string name="revanced_change_start_page_entry_courses">Cursos / Aprendizaje</string>
<string name="revanced_change_start_page_entry_explore">Explorar</string>
<string name="revanced_change_start_page_entry_fashion">Moda y Belleza</string>
<string name="revanced_change_start_page_entry_gaming">Gaming</string>
<string name="revanced_change_start_page_entry_gaming">Juegos</string>
<string name="revanced_change_start_page_entry_history">Historial</string>
<string name="revanced_change_start_page_entry_library">Biblioteca</string>
<string name="revanced_change_start_page_entry_liked_videos">Vídeos que me gustan</string>
@@ -1228,11 +1227,6 @@ El minireproductor se puede arrastrar fuera de la pantalla hacia la izquierda o
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ocultar botones de superposición</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Los botones de superposición están ocultos</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Se muestran los botones de superposición</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ocultar botones de expandir y cerrar</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Los botones están ocultos
Desliza el dedo para expandir o cerrar"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Se muestran los botones de expandir y cerrar</string>
<string name="revanced_miniplayer_hide_subtext_title">Ocultar subtextos</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Los subtextos están ocultos</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Los subtextos se muestran</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Seaded</string>
<string name="revanced_settings_confirm_user_dialog_title">Kas soovite jätkata?</string>
<string name="revanced_settings_confirm_user_dialog_title">Kas sa oled kindel, et soovid jätkata?</string>
<string name="revanced_settings_reset">Lähtesta</string>
<string name="revanced_settings_reset_color">Lähtesta värv</string>
<string name="revanced_settings_color_invalid">Vigane värv</string>
<string name="revanced_settings_restart_title">Värskenda ja taaskäivita</string>
<string name="revanced_settings_restart_title">Vajalik taaskäivitamine</string>
<string name="revanced_settings_restart_dialog_message">Selle muudatuse jõustumiseks on vaja rakendus taaskäivitada.</string>
<string name="revanced_settings_restart">Taaskäivita</string>
<string name="revanced_settings_import">Impordi</string>
<string name="revanced_settings_import_copy">Kopeeri</string>
@@ -485,7 +486,6 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"</st
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Luba automaatse heleduse žest</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Pühkige alla heleduse žesti madalaima väärtuseni, et lubada automaatne heleduse</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Pühkimine alla madalaima väärtuseni ei luba automaatset heleduse</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Auto</string>
<string name="revanced_swipe_overlay_timeout_title">Pühkimise katte aegumisaeg</string>
<string name="revanced_swipe_overlay_timeout_summary">Katte näitamise millisekundite arv</string>
<string name="revanced_swipe_overlay_background_opacity_title">Pühkiva katte tausta läbipaistvus</string>
@@ -920,8 +920,6 @@ Piirang: Ei meeldimised ei pruugi inkognito režiimis kuvada"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">Luba kvaliteetsed pisipildid</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Pisipildid on kvaliteetsed</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Pisipildid on keskmiselt kvaliteetsed</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Täisekraani pisipildid on kvaliteetsed</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Täisekraani pisipildid on keskmiselt kvaliteetsed</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"See taastab ka eelvaated otseülekannetel, millel pole otsinguriba eelvaateid.
Otsinguriba eelvaated kasutavad sama kvaliteeti kui praegune video.
@@ -1008,7 +1006,7 @@ Teie kasutajatunnis on nagu parool ja seda ei tohiks kunagi jagada.
<string name="revanced_sb_segments_highlight_sum">Video osa, mida enamik inimesi otsib</string>
<string name="revanced_sb_segments_intro">Vaheaeg/Intro animatsioon</string>
<string name="revanced_sb_segments_intro_sum">Ajavahemik, millel pole tegelikku sisu. Võib olla paus, staatiline kaader või korduv animatsioon. Ei sisalda üleminekuid, mis sisaldavad teavet</string>
<string name="revanced_sb_segments_outro">Lõppkaardid/Tiitrid</string>
<string name="revanced_sb_segments_outro">Lõpukaardid / Tiitrid</string>
<string name="revanced_sb_segments_outro_sum">Tiitrid või YouTube\'i lõppkaardid. Ei ole mõeldud järelduste jaoks, mis sisaldavad teavet</string>
<string name="revanced_sb_segments_preview">Eelvaade/Kokkuvõte/Konks</string>
<string name="revanced_sb_segments_preview_sum">Klipi kogum, mis näitab, mis tulemas on või mis juhtus videos või teistes sarja videotes, kus kogu teave on korduv</string>
@@ -1174,7 +1172,6 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
<string name="revanced_change_start_page_entry_notifications">Teatised</string>
<string name="revanced_change_start_page_entry_playlists">Esitusloendid</string>
<string name="revanced_change_start_page_entry_search">Otsi</string>
<string name="revanced_change_start_page_entry_shopping">Shopping</string>
<string name="revanced_change_start_page_entry_sports">Sport</string>
<string name="revanced_change_start_page_entry_subscriptions">Tellimused</string>
<string name="revanced_change_start_page_entry_trending">Trendikas</string>
@@ -1240,11 +1237,6 @@ Minimaalset mängijat saab lohistada ekraanilt vasakule või paremale"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Peida ülekatteliidese nupud</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Ülekatteliidese nupud on peidetud</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Ülekatteliidese nupud on nähtaval</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Peida laiendus- ja sulgemisnupud</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nupud on peidetud
Laiendamiseks või sulgemiseks libista"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Laiendus- ja sulgemisnupud on nähtaval</string>
<string name="revanced_miniplayer_hide_subtext_title">Peida alatähed</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Alatähed on peidetud</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Alatähed on nähtavad</string>
@@ -1404,7 +1396,6 @@ Selle lubamine võib avada kõrgema video kvaliteedi"</string>
<string name="revanced_shorts_quality_default_wifi_title">Vaikimisi [Shorts] kvaliteet WiFi võrgus</string>
<string name="revanced_shorts_quality_default_mobile_title">Vaikimisi [Shorts] kvaliteet mobiilivõrgus</string>
<string name="revanced_remember_video_quality_mobile">mobiil</string>
<string name="revanced_remember_video_quality_wifi">wifi</string>
<string name="revanced_remember_video_quality_toast">Vaikimisi %1$s kvaliteet muudeti: %2$s</string>
<string name="revanced_remember_video_quality_toast_shorts">Muudetud Shorts %1$s kvaliteet: %2$s</string>
</patch>

View File

@@ -33,9 +33,7 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">تنظیمات</string>
<string name="revanced_settings_confirm_user_dialog_title">آیا مایل به ادامه هستید؟</string>
<string name="revanced_settings_reset">بازنشانی</string>
<string name="revanced_settings_restart_title">تازه‌سازی و راه‌اندازی مجدد</string>
<string name="revanced_settings_restart">راه‌اندازی مجدد</string>
<string name="revanced_settings_import">واردکردن</string>
<string name="revanced_settings_import_copy">رونوشت‌</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Asetukset</string>
<string name="revanced_settings_confirm_user_dialog_title">Haluatko jatkaa?</string>
<string name="revanced_settings_confirm_user_dialog_title">Haluatko varmasti jatkaa?</string>
<string name="revanced_settings_reset">Nollaa</string>
<string name="revanced_settings_reset_color">Nollaa väri</string>
<string name="revanced_settings_color_invalid">Virheellinen väri</string>
<string name="revanced_settings_restart_title">Päivitä ja käynnistä uudelleen</string>
<string name="revanced_settings_restart_title">Uudelleenkäynnistys vaaditaan</string>
<string name="revanced_settings_restart_dialog_message">Käynnistä sovellus uudelleen, jotta muutos tulee voimaan.</string>
<string name="revanced_settings_restart">Käynnistä uudelleen</string>
<string name="revanced_settings_import">Tuo</string>
<string name="revanced_settings_import_copy">Kopioi</string>
@@ -95,7 +96,6 @@ Napauta jatka-painiketta ja salli optimoinnin muutokset."</string>
<string name="revanced_settings_screen_07_seekbar_title">Etenemispalkki</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Pyyhkäisyohjaus</string>
<string name="revanced_settings_screen_11_misc_title">Sekalaiset</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
<string name="revanced_restore_old_settings_menus_title">Palauta vanhat asetusvalikot</string>
<string name="revanced_restore_old_settings_menus_summary_on">Vanhat asetusvalikot näytetään</string>
<string name="revanced_restore_old_settings_menus_summary_off">Vanhoja asetusvalikoita ei näytetä</string>
@@ -681,6 +681,9 @@ Jos haluat nähdä sen, aseta \"Naamioi videovirrat\" iOS TV:ksi"</string>
<string name="revanced_hide_autoplay_button_title">Piilota Automaattinen toisto -painike</string>
<string name="revanced_hide_autoplay_button_summary_on">Automaattinen toisto -painike on piilotettu</string>
<string name="revanced_hide_autoplay_button_summary_off">Automaattinen toisto -painike näytetään</string>
<string name="revanced_hide_player_control_buttons_background_title">Piilota soittimen ohjauspainikkeiden tausta</string>
<string name="revanced_hide_player_control_buttons_background_summary_on">Soittimen ohjauspainikkeiden tausta on piilotettu</string>
<string name="revanced_hide_player_control_buttons_background_summary_off">Soittimen ohjauspainikkeiden tausta näytetään</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Piilota loppunäytön kortit</string>
@@ -765,6 +768,9 @@ Jos haluat nähdä sen, aseta \"Naamioi videovirrat\" iOS TV:ksi"</string>
<string name="revanced_hide_shorts_green_screen_button_title">Piilota Vihertausta-painike</string>
<string name="revanced_hide_shorts_green_screen_button_summary_on">Vihertausta-painike on piilotettu</string>
<string name="revanced_hide_shorts_green_screen_button_summary_off">Vihertausta-painike näytetään</string>
<string name="revanced_hide_shorts_new_posts_button_title">Piilota Uudet postaukset -painike</string>
<string name="revanced_hide_shorts_new_posts_button_summary_off">Uudet postaukset -painike näytetään</string>
<string name="revanced_hide_shorts_new_posts_button_summary_on">Uudet postaukset -painike on piilotettu</string>
<string name="revanced_hide_shorts_hashtag_button_title">Piilota Hashtag-painike</string>
<string name="revanced_hide_shorts_hashtag_button_summary_on">Hashtag-painike on piilotettu</string>
<string name="revanced_hide_shorts_hashtag_button_summary_off">Hashtag-painike näytetään</string>
@@ -914,8 +920,6 @@ Rajoitus: Ei-tykkäykset eivät välttämättä näy incognito-tilassa"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">Ota korkealaatuiset pikkukuvat käyttöön</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Etenemispalkin pikkukuvat ovat korkealaatuisia</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Etenemispalkin pikkukuvat ovat keskilaatuisia</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Koko näytön etenemispalkin pikkukuvat ovat korkealaatuisia</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Koko näytön etenemispalkin pikkukuvat ovat keskilaatuisia</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Tämä palauttaa myös pienoiskuvat livestriimeissä, joilla ei ole etenemispalkin pikkukuvia.
Etenemispalkin pikkukuvat käyttävät samaa laatua kuin nykyinen video.
@@ -1002,7 +1006,7 @@ UserID on kuin salasana, eikä sitä pidä jakaa kenellekään.
<string name="revanced_sb_segments_highlight_sum">Se osa videota, jota useimmat ihmiset etsivät</string>
<string name="revanced_sb_segments_intro">Tauko/Introanimaatio</string>
<string name="revanced_sb_segments_intro_sum">Aikaväli ilman varsinaista sisältöä. Voi olla tauko, staattinen kehys tai toistuva animaatio. Ei sisällä siirtymiä, jotka sisältävät tietoa</string>
<string name="revanced_sb_segments_outro">Loppukortit/-tekstit</string>
<string name="revanced_sb_segments_outro">Loppukortit / Tekijätiedot</string>
<string name="revanced_sb_segments_outro_sum">Lopputekstit tai kun YouTuben loppukortit tulevat näkyviin. Ei lopetuksille, joissa on tietoa</string>
<string name="revanced_sb_segments_preview">Esikatselu/Kertaus/Koukku</string>
<string name="revanced_sb_segments_preview_sum">Kokoelma leikkeitä, jotka osoittavat, mitä on tulossa tai mitä tapahtui videossa tai muissa sarjan videoissa, joiden kaikki informaatio toistuu muualla</string>
@@ -1168,7 +1172,6 @@ Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovel
<string name="revanced_change_start_page_entry_notifications">Ilmoitukset</string>
<string name="revanced_change_start_page_entry_playlists">Soittolistat</string>
<string name="revanced_change_start_page_entry_search">Haku</string>
<string name="revanced_change_start_page_entry_shopping">Shopping</string>
<string name="revanced_change_start_page_entry_sports">Urheilu</string>
<string name="revanced_change_start_page_entry_subscriptions">Tilaukset</string>
<string name="revanced_change_start_page_entry_trending">Nousussa</string>
@@ -1234,11 +1237,6 @@ Minisoitin voidaan vetää pois näytöltä vasemmalle tai oikealle"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Piilota peittokuvan painikkeet</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Peittokuvan painikkeet on piilotettu</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Peittokuvan painikkeet näytetään</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Piilota laajenna- ja sulje-painikkeet</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Painikkeet piilotetaan
Pyyhkäise laajentaaksesi tai sulkeaksesi"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Laajenna- ja sulje-painikkeet näytetään</string>
<string name="revanced_miniplayer_hide_subtext_title">Piilota alatekstit</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Alatekstit on piilotettu</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Alatekstit näytetään</string>
@@ -1398,7 +1396,6 @@ Tämä voi avata korkealaatuisemmat videot"</string>
<string name="revanced_shorts_quality_default_wifi_title">Shorts-oletuslaatu Wi-Fi-verkossa</string>
<string name="revanced_shorts_quality_default_mobile_title">Shorts-oletuslaatu mobiiliverkossa</string>
<string name="revanced_remember_video_quality_mobile">mobiili</string>
<string name="revanced_remember_video_quality_wifi">wifi</string>
<string name="revanced_remember_video_quality_toast">%1$s-oletuslaatu muutettiin: %2$s</string>
<string name="revanced_remember_video_quality_toast_shorts">Shortsien %1$s-laatu muutettiin: %2$s</string>
</patch>
@@ -1517,7 +1514,6 @@ AVC:n maksimiresoluutio on 1080p, Opus-äänikoodekki ei ole käytettävissä, j
<string name="revanced_about_summary">Tietoja ReVancedista</string>
<string name="revanced_ads_screen_title">Mainokset</string>
<string name="revanced_ads_screen_summary">Mainosestoasetukset</string>
<string name="revanced_chat_screen_title">Chat</string>
<string name="revanced_chat_screen_summary">Chat-asetukset</string>
<string name="revanced_misc_screen_title">Sekalaiset</string>
<string name="revanced_misc_screen_summary">Sekalaiset asetukset</string>

View File

@@ -33,11 +33,12 @@ Second \"item\" text"</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">Mga Setting</string>
<string name="revanced_settings_confirm_user_dialog_title">Gusto mo bang magpatuloy?</string>
<string name="revanced_settings_confirm_user_dialog_title">Sigurado ka bang gusto mong magpatuloy?</string>
<string name="revanced_settings_reset">I-reset</string>
<string name="revanced_settings_reset_color">I-reset ang kulay</string>
<string name="revanced_settings_color_invalid">Hindi wasto ang kulay</string>
<string name="revanced_settings_restart_title">I-refresh at i-restart</string>
<string name="revanced_settings_restart_title">Kinakailangan ang pag-restart</string>
<string name="revanced_settings_restart_dialog_message">I-restart ang app para magkabisa ang pagbabagong ito.</string>
<string name="revanced_settings_restart">I-restart</string>
<string name="revanced_settings_import">Angkat</string>
<string name="revanced_settings_import_copy">Kopya</string>
@@ -712,7 +713,6 @@ Upang ipakita ang menu ng Audio track, baguhin ang 'Spoof video streams' sa iOS
<string name="revanced_hide_seekbar_thumbnail_summary_off">Ipinapakita ang thumbnail seekbar</string>
</patch>
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
<string name="revanced_shorts_player_screen_title">Shorts player</string>
<string name="revanced_shorts_player_screen_summary">Itago o ipakita ang mga sangkap sa Shorts player</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">Itago ang Shorts sa home feed</string>
@@ -846,8 +846,6 @@ Mga Setting → Pag-playback → I-autoplay ang susunod na video"</string>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">Lumabas sa fullscreen mode sa katapusan ng video</string>
<string name="revanced_exit_fullscreen_entry_1">Na-disable</string>
<string name="revanced_exit_fullscreen_entry_2">Portrait</string>
<string name="revanced_exit_fullscreen_entry_3">Landscape</string>
<string name="revanced_exit_fullscreen_entry_4">Portrait at landscape</string>
</patch>
<patch id="layout.player.fullscreen.openVideosFullscreen">
@@ -881,7 +879,6 @@ Limitasyon: Maaaring hindi lumabas ang mga Dislike sa incognito mode"</string>
<string name="revanced_ryd_dislike_percentage_summary_on">Ipinapakita ang mga Dislike bilang isang porsyento</string>
<string name="revanced_ryd_dislike_percentage_summary_off">Ipinapakita ang mga Dislike bilang isang numero</string>
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<string name="revanced_ryd_compact_layout_title">Compact Like button</string>
<string name="revanced_ryd_compact_layout_summary_on">Like button na naka-istilong para sa minimum na lapad</string>
<string name="revanced_ryd_compact_layout_summary_off">I-style na button para sa pinakamahusay na hitsura</string>
<string name="revanced_ryd_estimated_like_title">Ipakita ang tinantyang mga gusto</string>
@@ -918,8 +915,6 @@ Limitasyon: Maaaring hindi lumabas ang mga Dislike sa incognito mode"</string>
<string name="revanced_seekbar_thumbnails_high_quality_title">Paganahin ang mataas na kalidad na mga thumbnail</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Mataas ang kalidad ng mga thumbnail ng seekbar</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Katamtaman ang kalidad ng mga thumbnail ng seekbar</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Mataas ang kalidad ng mga thumbnail ng fullscreen seekbar</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Katamtaman ang kalidad ng mga thumbnail ng fullscreen seekbar</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Ito ay magpapanumbalik din ng mga thumbnail sa mga livestream na walang mga thumbnail ng seekbar.
Ang mga thumbnail ng seekbar ay gagamit ng parehong kalidad ng kasalukuyang video.
@@ -996,7 +991,6 @@ Ang iyong user id ay parang isang password at hindi dapat ibahagi.
"</string>
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">Huwag ipakitang muli</string>
<string name="revanced_sb_diff_segments">Baguhin ang gawi ng segment</string>
<string name="revanced_sb_segments_sponsor">Sponsor</string>
<string name="revanced_sb_segments_sponsor_sum">Bayad na promosyon, bayad na referral at direktang advertisement. Hindi para sa self-promote o libreng shout-out sa mga sanhi/creator/website/produktong gusto nila</string>
<string name="revanced_sb_segments_selfpromo">Walang bayad/Pag-promote sa Sarili</string>
<string name="revanced_sb_segments_selfpromo_sum">Katulad ng Sponsor maliban sa hindi bayad o self promotion. Kasama ang mga seksyon tungkol sa merchandise, donasyon, o impormasyon tungkol sa kung sino ang kanilang nakasama</string>
@@ -1006,7 +1000,7 @@ Ang iyong user id ay parang isang password at hindi dapat ibahagi.
<string name="revanced_sb_segments_highlight_sum">Ang bahagi ng video na hinahanap ng karamihan</string>
<string name="revanced_sb_segments_intro">Animasyon ng Intermission/Intro</string>
<string name="revanced_sb_segments_intro_sum">Isang agwat na walang aktwal na nilalaman. Maaaring isang pause, static na frame, o umuulit na animation. Hindi kasama ang mga transition na naglalaman ng impormasyon</string>
<string name="revanced_sb_segments_outro">Mga Endcard/Credits</string>
<string name="revanced_sb_segments_outro">Mga Endcard / Credit</string>
<string name="revanced_sb_segments_outro_sum">Mga kredito o kapag lumitaw ang mga endcard ng YouTube. Hindi para sa mga konklusyon na may impormasyon</string>
<string name="revanced_sb_segments_preview">Preview/Recap/Hook</string>
<string name="revanced_sb_segments_preview_sum">Koleksyon ng mga clip na nagpapakita kung ano ang paparating o kung ano ang nangyari sa video o sa iba pang mga video ng isang serye, kung saan ang lahat ng impormasyon ay inuulit sa ibang lugar</string>
@@ -1065,7 +1059,6 @@ Umiiral na"</string>
<string name="revanced_sb_vote_failed_timeout">Hindi makaboto para sa segment (nag-time out ang API)</string>
<string name="revanced_sb_vote_failed_unknown_error">Hindi makaboto para sa segment (status: %1$d %2$s)</string>
<string name="revanced_sb_vote_failed_forbidden">Hindi makaboto para sa segment: %s</string>
<string name="revanced_sb_vote_upvote">Upvote</string>
<string name="revanced_sb_vote_downvote">I-downvote</string>
<string name="revanced_sb_vote_category">Baguhin ang kategorya</string>
<string name="revanced_sb_vote_no_segments">Walang mga segment na iboboto</string>
@@ -1108,7 +1101,6 @@ Isumite na ba?"</string>
<string name="revanced_sb_stats_reputation">Ang iyong reputasyon ay &lt;b&gt;%.2f&lt;/b&gt;</string>
<string name="revanced_sb_stats_submissions">Nilikha mo ang &lt;b&gt;%s&lt;/b&gt; mga segment</string>
<string name="revanced_sb_stats_submissions_sum">Tapikin dito upang tingnan ang iyong mga segment</string>
<string name="revanced_sb_stats_saved_zero">SponsorBlock leaderboard</string>
<string name="revanced_sb_stats_saved">Nailigtas mo ang mga tao mula sa &lt;b&gt;%s&lt;/b&gt; mga segment</string>
<string name="revanced_sb_stats_saved_sum_zero">Mag-tap dito para makita ang mga pandaigdigang istatistika at nangungunang contributor</string>
<string name="revanced_sb_stats_saved_sum">Iyon ay &lt;b&gt;%s&lt;/b&gt; ng kanilang buhay.&lt;br&gt;Mag-tap dito para makita ang leaderboard</string>
@@ -1118,16 +1110,13 @@ Isumite na ba?"</string>
<string name="revanced_sb_stats_saved_hour_format">%1$s oras %2$s minuto</string>
<string name="revanced_sb_stats_saved_minute_format">%1$s minuto %2$s segundo</string>
<string name="revanced_sb_stats_saved_second_format">%s segundo</string>
<string name="revanced_sb_color_opacity_label">Opacity:</string>
<string name="revanced_sb_color_dot_label">Kulay:</string>
<string name="revanced_sb_about_title">Tungkol</string>
<string name="revanced_sb_about_api_summary">Ang data ay ibinibigay ng SponsorBlock API. Mag-tap dito para matuto pa at makakita ng mga download para sa iba pang platform</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">Layout form factor</string>
<string name="revanced_change_form_factor_entry_1">Regular</string>
<string name="revanced_change_form_factor_entry_2">Telepono</string>
<string name="revanced_change_form_factor_entry_3">Tablet</string>
<string name="revanced_change_form_factor_entry_4">Awtomatiko</string>
<string name="revanced_change_form_factor_user_dialog_message">"Kasama sa mga pagbabago:
@@ -1165,7 +1154,6 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
<string name="revanced_change_start_page_entry_history">Kasaysayan</string>
<string name="revanced_change_start_page_entry_library">Aklatan</string>
<string name="revanced_change_start_page_entry_liked_videos">Nagustuhan ang mga video</string>
<string name="revanced_change_start_page_entry_live">Live</string>
<string name="revanced_change_start_page_entry_movies">Mga Pelikula</string>
<string name="revanced_change_start_page_entry_music">Musika</string>
<string name="revanced_change_start_page_entry_news">Mga Balita</string>
@@ -1175,8 +1163,6 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
<string name="revanced_change_start_page_entry_shopping">Pamimili</string>
<string name="revanced_change_start_page_entry_sports">Isports</string>
<string name="revanced_change_start_page_entry_subscriptions">Mga subscription</string>
<string name="revanced_change_start_page_entry_trending">Trending</string>
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
<string name="revanced_change_start_page_entry_watch_later">Panoorin mamaya</string>
<string name="revanced_change_start_page_entry_your_clips">Mga clip mo</string>
<string name="revanced_change_start_page_always_title">Palaging baguhin ang panimulang pahina</string>
@@ -1192,9 +1178,6 @@ Limitasyon: Maaaring hindi gumana ang paggamit ng back button sa toolbar"</strin
</patch>
<patch id="layout.shortsplayer.shortsPlayerTypePatch">
<string name="revanced_shorts_player_type_title">Buksan ang Shorts gamit ang</string>
<string name="revanced_shorts_player_type_shorts">Shorts player</string>
<string name="revanced_shorts_player_type_regular_player">Regular player</string>
<string name="revanced_shorts_player_type_regular_player_fullscreen">Regular player fullscreen</string>
</patch>
<patch id="layout.shortsautoplay.shortsAutoplayPatch">
<string name="revanced_shorts_autoplay_title">Awtomatikong pag-play ng Shorts</string>
@@ -1205,12 +1188,10 @@ Limitasyon: Maaaring hindi gumana ang paggamit ng back button sa toolbar"</strin
<string name="revanced_shorts_autoplay_background_summary_off">Uulitin ang mga Shorts sa background</string>
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">Miniplayer</string>
<string name="revanced_miniplayer_screen_summary">Baguhin ang estilo ng naka-minimize na in-app player</string>
<string name="revanced_miniplayer_type_title">Uri ng miniplayer</string>
<string name="revanced_miniplayer_type_entry_0">Hindi</string>
<string name="revanced_miniplayer_type_entry_1">Regular</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Tableta</string>
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
<string name="revanced_miniplayer_type_entry_5">Moderno 2</string>
@@ -1238,11 +1219,6 @@ Ang \"miniplayer\" ay maaaring i-drag palabas ng screen sa kaliwa o kanan"</stri
<string name="revanced_miniplayer_hide_overlay_buttons_title">Itago ang mga button ng overlay</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Nakatago ang mga button ng overlay</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Ipinapakita ang mga button ng overlay</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Itago ang mga button para palawakin at isara</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nakatago ang mga button
Mag-swipe para palawakin o isara"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Ipinapakita ang mga button para palawakin at isara</string>
<string name="revanced_miniplayer_hide_subtext_title">Itago ang mga subtext</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Nakatago ang mga subtext</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Ipinapakita ang mga subtext</string>
@@ -1300,7 +1276,6 @@ Mag-tap dito upang matuto nang higit pa tungkol sa DeArrow"</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">Magpakita ng toast kung hindi available ang API</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">Ang toast ay ipinapakita kung hindi available ang DeArrow</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">Hindi ipinapakita ang toast kung hindi available ang DeArrow</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_title">DeArrow API endpoint</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">Ang URL ng DeArrow thumbnail cache endpoint</string>
<string name="revanced_alt_thumbnail_stills_about_title">Nakakuha pa rin ng video</string>
<string name="revanced_alt_thumbnail_stills_about_summary">Kinukuha ang mga still capture mula sa simula/gitna/katapusan ng bawat video. Ang mga larawang ito ay binuo sa YouTube at walang panlabas na API na ginagamit</string>
@@ -1348,7 +1323,6 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"</st
<string name="microg_settings_summary">Mga setting para sa GmsCore</string>
</patch>
<patch id="misc.hapticfeedback.disableHapticFeedbackPatch">
<string name="revanced_disable_haptic_feedback_title">Haptic feedback</string>
<string name="revanced_disable_haptic_feedback_summary">Baguhin ang haptic feedback</string>
<string name="revanced_disable_haptic_feedback_chapters_title">Huwag paganahin ang chapters haptics</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_on">Hindi pinagana ang Chapters haptics</string>
@@ -1490,7 +1464,6 @@ Ang AVC ay may pinakamataas na resolusyon na 1080p, ang codec ng audio ng Opus a
<string name="revanced_block_embedded_ads_title">I-block ang mga naka-embed na video ad</string>
<string name="revanced_block_embedded_ads_entry_1">Hindi</string>
<string name="revanced_block_embedded_ads_entry_2">Luminous na proxy</string>
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock proxy</string>
</patch>
<patch id="ad.video.videoAdsPatch">
<string name="revanced_block_video_ads_title">I-block ang mga video ad</string>
@@ -1521,7 +1494,6 @@ Ang AVC ay may pinakamataas na resolusyon na 1080p, ang codec ng audio ng Opus a
<string name="revanced_about_summary">Tungkol sa ReVanced</string>
<string name="revanced_ads_screen_title">Mga ad</string>
<string name="revanced_ads_screen_summary">Mga setting ng pag-block ng ad</string>
<string name="revanced_chat_screen_title">Chat</string>
<string name="revanced_chat_screen_summary">Mga setting ng chat</string>
<string name="revanced_misc_screen_title">Iba Pa</string>
<string name="revanced_misc_screen_summary">Sari-saring mga setting</string>

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