mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-17 08:13:56 +00:00
Compare commits
7 Commits
v5.33.0-de
...
v5.33.0-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1549ac12aa | ||
|
|
5d08fdddb8 | ||
|
|
98114e5bde | ||
|
|
a4817dfdd0 | ||
|
|
d4f05351e1 | ||
|
|
d92362b0d9 | ||
|
|
afc7c75df1 |
21
CHANGELOG.md
21
CHANGELOG.md
@@ -1,3 +1,24 @@
|
||||
# [5.33.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.3...v5.33.0-dev.4) (2025-07-30)
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* **YouTube:** Filter identifier callback only on root component creation ([#5558](https://github.com/ReVanced/revanced-patches/issues/5558)) ([ccac46e](https://github.com/ReVanced/revanced-patches/commit/ccac46eebc2e14b094454e37ef4461d48a62c53f))
|
||||
|
||||
# [5.33.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.2...v5.33.0-dev.3) (2025-07-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Playback speed:** Use old speed menu for player button if enabled ([1e8f436](https://github.com/ReVanced/revanced-patches/commit/1e8f4368e117f4b278c24709231cb32546e46dc0))
|
||||
|
||||
# [5.33.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.1...v5.33.0-dev.2) (2025-07-29)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **ORF ON:** Add `Remove root detection` patch ([#5551](https://github.com/ReVanced/revanced-patches/issues/5551)) ([6c6aa35](https://github.com/ReVanced/revanced-patches/commit/6c6aa35411a139dddc3a15dd757fbeded5d1a0a3))
|
||||
|
||||
# [5.33.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.32.0...v5.33.0-dev.1) (2025-07-28)
|
||||
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@ import android.app.Instrumentation;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
@@ -155,10 +153,10 @@ public final class AdsFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (matchedGroup == playerShoppingShelf) {
|
||||
return contentIndex == 0 && playerShoppingShelfBuffer.check(protobufBufferArray).isFiltered();
|
||||
return contentIndex == 0 && playerShoppingShelfBuffer.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
if (exceptions.matches(path)) {
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package app.revanced.extension.youtube.patches.components;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.youtube.patches.playback.quality.AdvancedVideoQualityMenuPatch;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@@ -21,7 +19,7 @@ public final class AdvancedVideoQualityMenuFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
isVideoQualityMenuVisible = true;
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package app.revanced.extension.youtube.patches.components;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@@ -100,7 +98,7 @@ final class ButtonsFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (matchedGroup == likeSubscribeGlow) {
|
||||
return (path.startsWith(VIDEO_ACTION_BAR_PATH_PREFIX) || path.startsWith(COMPACT_CHANNEL_BAR_PATH_PREFIX))
|
||||
@@ -117,7 +115,7 @@ final class ButtonsFilter extends Filter {
|
||||
// Make sure the current path is the right one
|
||||
// to avoid false positives.
|
||||
return path.startsWith(VIDEO_ACTION_BAR_PATH)
|
||||
&& bufferButtonsGroupList.check(protobufBufferArray).isFiltered();
|
||||
&& bufferButtonsGroupList.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package app.revanced.extension.youtube.patches.components;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
|
||||
@@ -87,12 +85,12 @@ final class CommentsFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (matchedGroup == chipBar) {
|
||||
// Playlist sort button uses same components and must only filter if the player is opened.
|
||||
return PlayerType.getCurrent().isMaximizedOrFullscreen()
|
||||
&& aiCommentsSummary.check(protobufBufferArray).isFiltered();
|
||||
&& aiCommentsSummary.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -3,7 +3,6 @@ package app.revanced.extension.youtube.patches.components;
|
||||
import static app.revanced.extension.shared.StringRef.str;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
@@ -146,7 +145,7 @@ final class CustomFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
// All callbacks are custom filter groups.
|
||||
CustomFilterGroup custom = (CustomFilterGroup) matchedGroup;
|
||||
@@ -158,6 +157,6 @@ final class CustomFilter extends Filter {
|
||||
return true; // No buffer filter, only path filtering.
|
||||
}
|
||||
|
||||
return custom.bufferSearch.matches(protobufBufferArray);
|
||||
return custom.bufferSearch.matches(buffer);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
package app.revanced.extension.youtube.patches.components;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.youtube.StringTrieSearch;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
@@ -105,7 +103,7 @@ final class DescriptionComponentsFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
|
||||
if (matchedGroup == aiGeneratedVideoSummarySection) {
|
||||
@@ -116,11 +114,11 @@ final class DescriptionComponentsFilter extends Filter {
|
||||
if (exceptions.matches(path)) return false;
|
||||
|
||||
if (matchedGroup == macroMarkersCarousel) {
|
||||
return contentIndex == 0 && macroMarkersCarouselGroupList.check(protobufBufferArray).isFiltered();
|
||||
return contentIndex == 0 && macroMarkersCarouselGroupList.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
if (matchedGroup == horizontalShelf) {
|
||||
return cellVideoAttribute.check(protobufBufferArray).isFiltered();
|
||||
return cellVideoAttribute.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package app.revanced.extension.youtube.patches.components;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -42,6 +40,9 @@ abstract class Filter {
|
||||
/**
|
||||
* Adds callbacks to {@link #isFiltered(String, String, byte[], StringFilterGroup, FilterContentType, int)}
|
||||
* if any of the groups are found.
|
||||
* <p>
|
||||
* Note: This callback is done only during the initial component creation,
|
||||
* and the path will always be an empty string.
|
||||
*/
|
||||
protected final void addIdentifierCallbacks(StringFilterGroup... groups) {
|
||||
identifierCallbacks.addAll(Arrays.asList(groups));
|
||||
@@ -68,7 +69,7 @@ abstract class Filter {
|
||||
* @param contentIndex Matched index of the identifier or path.
|
||||
* @return True if the litho component should be filtered out.
|
||||
*/
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -554,7 +554,7 @@ final class KeywordContentFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (contentIndex != 0 && matchedGroup == startsWithFilter) {
|
||||
return false;
|
||||
@@ -574,7 +574,7 @@ final class KeywordContentFilter extends Filter {
|
||||
}
|
||||
|
||||
MutableReference<String> matchRef = new MutableReference<>();
|
||||
if (bufferSearch.matches(protobufBufferArray, matchRef)) {
|
||||
if (bufferSearch.matches(buffer, matchRef)) {
|
||||
updateStats(true, matchRef.value);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
// This identifier is used not only in players but also in search results:
|
||||
// https://github.com/ReVanced/revanced-patches/issues/3245
|
||||
@@ -322,7 +322,7 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
}
|
||||
|
||||
if (matchedGroup == channelProfile) {
|
||||
return channelProfileBuffer.check(protobufBufferArray).isFiltered();
|
||||
return channelProfileBuffer.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
if (exceptions.matches(path)) return false; // Exceptions are not filtered.
|
||||
@@ -331,11 +331,11 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
return compactChannelBarInnerButton.check(path).isFiltered()
|
||||
// The filter may be broad, but in the context of a compactChannelBarInnerButton,
|
||||
// it's safe to assume that the button is the only thing that should be hidden.
|
||||
&& joinMembershipButton.check(protobufBufferArray).isFiltered();
|
||||
&& joinMembershipButton.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
if (matchedGroup == horizontalShelves) {
|
||||
return contentIndex == 0 && (hideShelves() || ticketShelf.check(protobufBufferArray).isFiltered());
|
||||
return contentIndex == 0 && (hideShelves() || ticketShelf.check(buffer).isFiltered());
|
||||
}
|
||||
|
||||
if (matchedGroup == chipBar) {
|
||||
|
||||
@@ -17,29 +17,28 @@ public final class LithoFilterPatch {
|
||||
* Simple wrapper to pass the litho parameters through the prefix search.
|
||||
*/
|
||||
private static final class LithoFilterParameters {
|
||||
@Nullable
|
||||
final String identifier;
|
||||
final String path;
|
||||
final byte[] protoBuffer;
|
||||
final byte[] buffer;
|
||||
|
||||
LithoFilterParameters(@Nullable String lithoIdentifier, String lithoPath, byte[] protoBuffer) {
|
||||
LithoFilterParameters(String lithoIdentifier, String lithoPath, byte[] buffer) {
|
||||
this.identifier = lithoIdentifier;
|
||||
this.path = lithoPath;
|
||||
this.protoBuffer = protoBuffer;
|
||||
this.buffer = buffer;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
// Estimate the percentage of the buffer that are Strings.
|
||||
StringBuilder builder = new StringBuilder(Math.max(100, protoBuffer.length / 2));
|
||||
StringBuilder builder = new StringBuilder(Math.max(100, buffer.length / 2));
|
||||
builder.append( "ID: ");
|
||||
builder.append(identifier);
|
||||
builder.append(" Path: ");
|
||||
builder.append(path);
|
||||
if (Settings.DEBUG_PROTOBUFFER.get()) {
|
||||
builder.append(" BufferStrings: ");
|
||||
findAsciiStrings(builder, protoBuffer);
|
||||
findAsciiStrings(builder, buffer);
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
@@ -142,7 +141,7 @@ public final class LithoFilterPatch {
|
||||
|
||||
LithoFilterParameters parameters = (LithoFilterParameters) callbackParameter;
|
||||
final boolean isFiltered = filter.isFiltered(parameters.identifier,
|
||||
parameters.path, parameters.protoBuffer, group, type, matchedStartIndex);
|
||||
parameters.path, parameters.buffer, group, type, matchedStartIndex);
|
||||
|
||||
if (isFiltered && BaseSettings.DEBUG.get()) {
|
||||
if (type == Filter.FilterContentType.IDENTIFIER) {
|
||||
@@ -193,12 +192,8 @@ public final class LithoFilterPatch {
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static boolean shouldFilter(@Nullable String lithoIdentifier, StringBuilder pathBuilder) {
|
||||
public static boolean isFiltered(String lithoIdentifier, StringBuilder pathBuilder) {
|
||||
try {
|
||||
if (pathBuilder.length() == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
byte[] buffer = bufferThreadLocal.get();
|
||||
// Potentially the buffer may have been null or never set up until now.
|
||||
// Use an empty buffer so the litho id/path filters still work correctly.
|
||||
@@ -206,16 +201,20 @@ public final class LithoFilterPatch {
|
||||
buffer = EMPTY_BYTE_ARRAY;
|
||||
}
|
||||
|
||||
LithoFilterParameters parameter = new LithoFilterParameters(
|
||||
lithoIdentifier, pathBuilder.toString(), buffer);
|
||||
String path = pathBuilder.toString();
|
||||
LithoFilterParameters parameter = new LithoFilterParameters(lithoIdentifier, path, buffer);
|
||||
Logger.printDebug(() -> "Searching " + parameter);
|
||||
|
||||
if (parameter.identifier != null && identifierSearchTree.matches(parameter.identifier, parameter)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (pathSearchTree.matches(parameter.path, parameter)) {
|
||||
return true;
|
||||
if (path.isEmpty()) {
|
||||
// Identifier is filtered only if there is no path,
|
||||
// meaning no component or sub components have been created yet.
|
||||
if (identifierSearchTree.matches(parameter.identifier, parameter)) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if (pathSearchTree.matches(parameter.path, parameter)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "Litho filter failure", ex);
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package app.revanced.extension.youtube.patches.components;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.youtube.patches.playback.speed.CustomPlaybackSpeedPatch;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@@ -34,12 +32,11 @@ public final class PlaybackSpeedMenuFilter extends Filter {
|
||||
Settings.CUSTOM_SPEED_MENU,
|
||||
"playback_speed_sheet_content.eml-js");
|
||||
|
||||
|
||||
addPathCallbacks(playbackRateSelectorGroup);
|
||||
addPathCallbacks(playbackRateSelectorGroup, oldPlaybackMenuGroup);
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (matchedGroup == oldPlaybackMenuGroup) {
|
||||
isOldPlaybackSpeedMenuVisible = true;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package app.revanced.extension.youtube.patches.components;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.shared.settings.Setting;
|
||||
import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
@@ -96,7 +94,7 @@ public class PlayerFlyoutMenuItemsFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (matchedGroup == videoQualityMenuFooter) {
|
||||
return true;
|
||||
@@ -107,10 +105,10 @@ public class PlayerFlyoutMenuItemsFilter extends Filter {
|
||||
}
|
||||
|
||||
// Shorts also use this player flyout panel
|
||||
if (PlayerType.getCurrent().isNoneOrHidden() || exception.check(protobufBufferArray).isFiltered()) {
|
||||
if (PlayerType.getCurrent().isNoneOrHidden() || exception.check(buffer).isFiltered()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return flyoutFilterGroupList.check(protobufBufferArray).isFiltered();
|
||||
return flyoutFilterGroupList.check(buffer).isFiltered();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,15 +84,15 @@ public final class ReturnYouTubeDislikeFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (!Settings.RYD_ENABLED.get() || !Settings.RYD_SHORTS.get()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
FilterGroup.FilterGroupResult result = videoIdFilterGroup.check(protobufBufferArray);
|
||||
FilterGroup.FilterGroupResult result = videoIdFilterGroup.check(buffer);
|
||||
if (result.isFiltered()) {
|
||||
String matchedVideoId = findVideoId(protobufBufferArray);
|
||||
String matchedVideoId = findVideoId(buffer);
|
||||
// Matched video will be null if in incognito mode.
|
||||
// Must pass a null id to correctly clear out the current video data.
|
||||
// Otherwise if a Short is opened in non-incognito, then incognito is enabled and another Short is opened,
|
||||
|
||||
@@ -4,8 +4,6 @@ import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButt
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.android.libraries.youtube.rendering.ui.pivotbar.PivotBar;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
@@ -13,7 +11,6 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.NavigationBar;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
@@ -321,7 +318,7 @@ public final class ShortsFilter extends Filter {
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
|
||||
boolean isFiltered(String identifier, String path, byte[] buffer,
|
||||
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
|
||||
if (contentType == FilterContentType.PATH) {
|
||||
if (matchedGroup == subscribeButton || matchedGroup == joinButton || matchedGroup == paidPromotionButton) {
|
||||
@@ -330,22 +327,22 @@ public final class ShortsFilter extends Filter {
|
||||
}
|
||||
|
||||
if (matchedGroup == useSoundButton) {
|
||||
return useSoundButtonBuffer.check(protobufBufferArray).isFiltered();
|
||||
return useSoundButtonBuffer.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
if (matchedGroup == useTemplateButton) {
|
||||
return useTemplateButtonBuffer.check(protobufBufferArray).isFiltered();
|
||||
return useTemplateButtonBuffer.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
if (matchedGroup == shortsCompactFeedVideo) {
|
||||
return shouldHideShortsFeedItems() && shortsCompactFeedVideoBuffer.check(protobufBufferArray).isFiltered();
|
||||
return shouldHideShortsFeedItems() && shortsCompactFeedVideoBuffer.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
// Video action buttons (comment, share, remix) have the same path.
|
||||
// Like and dislike are separate path filters and don't require buffer searching.
|
||||
if (matchedGroup == shortsActionBar) {
|
||||
return videoActionButton.check(path).isFiltered()
|
||||
&& videoActionButtonBuffer.check(protobufBufferArray).isFiltered();
|
||||
&& videoActionButtonBuffer.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
if (matchedGroup == suggestedAction) {
|
||||
@@ -356,7 +353,7 @@ public final class ShortsFilter extends Filter {
|
||||
return true;
|
||||
}
|
||||
|
||||
return suggestedActionsBuffer.check(protobufBufferArray).isFiltered();
|
||||
return suggestedActionsBuffer.check(buffer).isFiltered();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -9,9 +9,6 @@ import app.revanced.extension.youtube.patches.VideoInformation;
|
||||
import app.revanced.extension.youtube.patches.playback.speed.CustomPlaybackSpeedPatch;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
import static app.revanced.extension.shared.StringRef.str;
|
||||
import static app.revanced.extension.shared.Utils.showToastShort;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class PlaybackSpeedDialogButton {
|
||||
@Nullable
|
||||
@@ -29,7 +26,11 @@ public class PlaybackSpeedDialogButton {
|
||||
Settings.PLAYBACK_SPEED_DIALOG_BUTTON::get,
|
||||
view -> {
|
||||
try {
|
||||
CustomPlaybackSpeedPatch.showModernCustomPlaybackSpeedDialog(view.getContext());
|
||||
if (Settings.RESTORE_OLD_SPEED_MENU.get()) {
|
||||
CustomPlaybackSpeedPatch.showOldPlaybackSpeedMenu();
|
||||
} else {
|
||||
CustomPlaybackSpeedPatch.showModernCustomPlaybackSpeedDialog(view.getContext());
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "speed button onClick failure", ex);
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
||||
org.gradle.parallel = true
|
||||
android.useAndroidX = true
|
||||
kotlin.code.style = official
|
||||
version = 5.33.0-dev.1
|
||||
version = 5.33.0-dev.4
|
||||
|
||||
@@ -424,6 +424,10 @@ public final class app/revanced/patches/openinghours/misc/fix/crash/FixCrashPatc
|
||||
public static final fun getFixCrashPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatchKt {
|
||||
public static final fun getRemoveRootDetectionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/pandora/ads/DisableAudioAdsPatchKt {
|
||||
public static final fun getDisableAudioAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package app.revanced.patches.orfon.detection.root
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal val isDeviceRootedFingeprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC)
|
||||
returns("Z")
|
||||
custom { method, classDef ->
|
||||
method.name == "isDeviceRooted" &&
|
||||
classDef.endsWith("/RootChecker;")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package app.revanced.patches.orfon.detection.root
|
||||
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.util.returnEarly
|
||||
|
||||
@Suppress("unused")
|
||||
val removeRootDetectionPatch = bytecodePatch(
|
||||
name = "Remove root detection",
|
||||
description = "Removes the check for root permissions.",
|
||||
) {
|
||||
compatibleWith("com.nousguide.android.orftvthek")
|
||||
|
||||
execute {
|
||||
isDeviceRootedFingeprint.method.returnEarly(false)
|
||||
}
|
||||
}
|
||||
@@ -156,7 +156,7 @@ val lithoFilterPatch = bytecodePatch(
|
||||
move-object/from16 v$freeRegister, p2
|
||||
iget-object v$identifierRegister, v$freeRegister, $conversionContextIdentifierField
|
||||
iget-object v$pathRegister, v$freeRegister, $conversionContextPathBuilderField
|
||||
invoke-static { v$identifierRegister, v$pathRegister }, $EXTENSION_CLASS_DESCRIPTOR->shouldFilter(Ljava/lang/String;Ljava/lang/StringBuilder;)Z
|
||||
invoke-static { v$identifierRegister, v$pathRegister }, $EXTENSION_CLASS_DESCRIPTOR->isFiltered(Ljava/lang/String;Ljava/lang/StringBuilder;)Z
|
||||
move-result v$freeRegister
|
||||
if-eqz v$freeRegister, :unfiltered
|
||||
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">قائمة سرعة التشغيل المخصصة</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">يتم عرض قائمة سرعة التشغيل المخصصة</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">لا يتم عرض قائمة سرعة التشغيل المخصصة</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">استعادة قائمة سرعة التشغيل القديمة</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">قائمة السرعة القديمة معروضة</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">قائمة السرعة الحديثة معروضة</string>
|
||||
<string name="revanced_custom_playback_speeds_title">سرعة التشغيل المخصصة</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">إضافة أو تغيير سرعة التشغيل المخصصة</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">يجب أن تكون سرعات التشغيل المخصصة أقل من %s</string>
|
||||
|
||||
@@ -1470,6 +1470,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Меню пользовательской скорости воспроизведения</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Меню пользовательской скорости отображается</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Меню пользовательской скорости не отображается</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Аднавіць старое меню хуткасці прайгравання</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Паказана старое меню хуткасці</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Паказана сучаснае меню хуткасці</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Карыстальніцкія хуткасці прайгравання</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Добавьте или измените пользовательскую скорость воспроизведения</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Нестандартныя хуткасці павінны быць менш за %s</string>
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Менюто за потребителска скорост</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Менюто за потребителска скорост се показва</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Менюто за потребителска скорост не се показва</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Възстановяване на старото меню за скорост на възпроизвеждане</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Показва се старото меню за скорост</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Показва се модерното меню за скорост</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Персонализирани скорости на възпроизвеждане</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Добавете или променете скоростa на възпроизвеждане</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Персонализираните скорости трябва да са по-малки от %s</string>
|
||||
|
||||
@@ -1465,6 +1465,9 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
|
||||
<string name="revanced_custom_speed_menu_title">কাস্টম প্লেব্যাক গতি মেনু</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">কাস্টম স্পিড মেনু দেখানো হচ্ছে</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">কাস্টম স্পিড মেনু দেখানো হচ্ছে না</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">পুরানো প্লেব্যাক গতি মেনু পুনরুদ্ধার করুন</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">পুরানো গতির মেনু দেখানো হয়েছে</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">আধুনিক গতির মেনু দেখানো হয়েছে</string>
|
||||
<string name="revanced_custom_playback_speeds_title">নিজস্ব প্লেব্যাক স্পিড</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">কাস্টম প্লেব্যাক গতি যোগ করুন অথবা পরিবর্তন করুন</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">কাস্টম গতি %s এর চেয়ে কম হতে হবে</string>
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Povolením této funkce lze odemknout vyšší kvality videa"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menu vlastní rychlosti přehrávání</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Menu vlastní rychlosti se zobrazuje</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Menu vlastní rychlosti se nezobrazuje</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Obnovit staré menu rychlosti přehrávání</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Zobrazeno staré menu rychlosti</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Zobrazeno moderní menu rychlosti</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Vlastní rychlosti přehrávání</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Přidat nebo změnit vlastní rychlosti přehrávání</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Vlastní rychlosti musí být menší než %s</string>
|
||||
|
||||
@@ -1471,6 +1471,9 @@ Aktivering af dette kan låse op for højere videokvalitet"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Tilpasset afspilningshastighed menu</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Tilpasset hastighed menu er vist</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Brugerdefineret hastighedsmenu vises ikke</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Gendan gammel afspilningshastighedsmenu</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Gammel hastighedsmenu vises</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Moderne hastighedsmenu vises</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Tilpasset afspilningshastighed</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Tilføj eller ændr den brugerdefinerede afspilningshastighed</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Brugerdefinerede hastigheder skal være mindre end %s</string>
|
||||
|
||||
@@ -1464,6 +1464,9 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
|
||||
<string name="revanced_custom_speed_menu_title">Benutzerdefiniertes Wiedergabegeschwindigkeitsmenü</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Benutzerdefiniertes Geschwindigkeitsmenü wird angezeigt</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Benutzerdefiniertes Geschwindigkeitsmenü wird nicht angezeigt</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Altes Wiedergabegeschwindigkeitsmenü wiederherstellen</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Altes Geschwindigkeitsmenü wird angezeigt</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Modernes Geschwindigkeitsmenü wird angezeigt</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Benutzerdefinierte Wiedergabegeschwindigkeiten</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Hinzufügen oder Ändern der benutzerdefinierten Wiedergabegeschwindigkeit</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Benutzerdefinierte Geschwindigkeiten müssen kleiner als %s sein</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Μενού προσαρμοσμένης ταχύτητας αναπαραγωγής</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Το μενού προσαρμοσμένης ταχύτητας αναπαραγωγής εμφανίζεται</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Το μενού προσαρμοσμένης ταχύτητας αναπαραγωγής δεν εμφανίζεται</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Επαναφορά παλιού μενού ταχύτητας αναπαραγωγής</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Το παλιό μενού ταχύτητας εμφανίζεται</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Το σύγχρονο μενού ταχύτητας εμφανίζεται</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Προσαρμοσμένες ταχύτητες αναπαραγωγής</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Προσθέστε ή αλλάξτε τις προσαρμοσμένες ταχύτητες αναπαραγωγής</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Οι ταχύτητες πρέπει να είναι μικρότερες από %sx</string>
|
||||
|
||||
@@ -1460,6 +1460,9 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menú de velocidad de reproducción personalizada</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Menú de velocidad personalizado se muestra</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Menú de velocidad personalizado no se muestra</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Restaurar el menú de velocidad de reproducción antiguo</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Se muestra el menú de velocidad antiguo</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Se muestra el menú de velocidad moderno</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Velocidades de reproducción personalizadas</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Añadir o cambiar las velocidades de reproducción personalizadas</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Las velocidades personalizadas deben ser menores que %s</string>
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Selle lubamine võib avada kõrgema video kvaliteedi"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Kohandatud taasesituse kiiruse menüü</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Kohandatud kiiruse menüü kuvatakse</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Kohandatud kiiruse menüüd ei kuvata</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Taasta vana taasesituse kiiruse menüü</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Kuvatakse vana kiiruse menüü</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Kuvatakse kaasaegne kiiruse menüü</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Kohandatud taasesituse kiirused</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Lisa või muuda kohandatud taasesituse kiirusi</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Kohandatud kiirused peavad olema alla %s</string>
|
||||
|
||||
@@ -1467,6 +1467,9 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"</st
|
||||
<string name="revanced_custom_speed_menu_title">Menu ng pasadyang bilis ng pag-playback</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Ipinapakita ang menu ng pasadyang bilis</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Hindi ipinapakita ang menu ng pasadyang bilis</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Ibalik ang lumang menu ng bilis ng pag-playback</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Ipinapakita ang lumang menu ng bilis</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Ipinapakita ang modernong menu ng bilis</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Mga custom na bilis ng pag-playback</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Magdagdag o baguhin ang mga pasadyang bilis ng pag-playback</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Ang mga custom na bilis ay dapat na mas mababa sa %s</string>
|
||||
|
||||
@@ -1470,6 +1470,9 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"</str
|
||||
<string name="revanced_custom_speed_menu_title">Menu de vitesse de lecture personnalisée</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Le menu de vitesse personnalisée est affiché</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Le menu de vitesse personnalisée n\'est pas affiché</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Restaurer l\'ancien menu de vitesse de lecture</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">L\'ancien menu de vitesse est affiché</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Le menu de vitesse moderne est affiché</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Vitesses de lecture personnalisées</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Ajouter ou modifier les vitesses de lecture personnalisées</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Il doit y avoir moins de %s vitesses personnalisées</string>
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Roghchlár luas athsheinm saincheaptha</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Taispeántar roghchlár luais saincheaptha</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Ní thaispeántar roghchlár luais saincheaptha</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Athchóirigh an seanchalafort luais athsheinm</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Tá an seanchalafort luais taispeánta</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Tá an calafort luais nua-aimseartha taispeánta</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Luas athsheinm saincheaptha</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Cuir leis nó athraigh na luasanna athsheinm saincheaptha</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Ní mór luas saincheaptha a bheith níos lú ná %s</string>
|
||||
|
||||
@@ -1466,6 +1466,9 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"</s
|
||||
<string name="revanced_custom_speed_menu_title">Egyedi lejátszási sebesség menü</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Megjelenik az egyéni sebesség menü</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Az egyéni sebesség menü nem jelenik meg</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Régi lejátszási sebesség menü visszaállítása</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">A régi sebességmenü megjelenik</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">A modern sebességmenü megjelenik</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Egyedi lejátszási sebesség</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Egyéni lejátszási sebesség hozzáadása vagy módosítása</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Az egyéni sebességeknek kevesebbnek kell lenniük, mint %s</string>
|
||||
|
||||
@@ -1470,6 +1470,9 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
|
||||
<string name="revanced_custom_speed_menu_title">Տեսանյութի արագության հարմարեցված մենյու</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Հարմարեցված արագության մենյուը ցուցադրվում է</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Հարմարեցված արագության մենյուը չի ցուցադրվում</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Վերականգնել հին նվագարկման արագության ընտրացանկը</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Ցուցադրվում է հին արագության ընտրացանկը</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Ցուցադրվում է ժամանակակից արագության ընտրացանկը</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Տեսանյութի վերարտադրման հարմարեցված արագություններ</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Ավելացնել կամ փոփոխել տեսանյութի վերարտադրման հարմարեցված արագությունները</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Պատրաստված արագությունները պետք է լինեն ավելի քիչ քան %s</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menu kecepatan pemutaran khusus</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Menu kecepatan khusus ditampilkan</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Menu kecepatan khusus tidak ditampilkan</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Pulihkan menu kecepatan pemutaran lama</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Menu kecepatan lama ditampilkan</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Menu kecepatan modern ditampilkan</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Kecepatan pemutaran khusus</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Tambah atau ubah kecepatan pemutaran khusus</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Kecepatan khusus harus kurang dari %s</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Abilitare questa opzione può sbloccare qualità video più elevate"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menu di velocità di riproduzione personalizzato</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Il menu di velocità personalizzato è visibile</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Il menu di velocità personalizzato non è visibile</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Ripristina il vecchio menu della velocità di riproduzione</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Il vecchio menu della velocità è mostrato</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Il menu della velocità moderno è mostrato</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Velocità di riproduzione personalizzate</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Aggiungi o modifica la velocità di riproduzione personalizzata</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Le velocità personalizzate devono essere inferiori a %s</string>
|
||||
|
||||
@@ -1471,6 +1471,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">תפריט מהירות הפעלה מותאם אישית</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">תפריט מהירות מותאם אישית מוצג</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">תפריט מהירות מותאם אישית אינו מוצג</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">שחזר תפריט מהירות השמעה ישן</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">תפריט מהירות ישן מוצג</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">תפריט מהירות מודרני מוצג</string>
|
||||
<string name="revanced_custom_playback_speeds_title">מהירויות הפעלה מותאמות אישית</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">הוסף או שנה את המהירויות הפעלה המותאמות אישית</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">מהירויות מותאמות אישית חייבות להיות קטנות מ-%s</string>
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Automotive レイアウト
|
||||
<string name="revanced_custom_speed_menu_title">カスタムした再生速度リストを使用する</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">カスタムした再生速度リストが表示されます</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">デフォルトの再生速度リストが表示されます</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">古い再生速度メニューを復元</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">古い速度メニューが表示されます</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">最新の速度メニューが表示されます</string>
|
||||
<string name="revanced_custom_playback_speeds_title">カスタム再生速度リスト</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">カスタム再生速度リストを編集します</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">再生速度は %s 未満である必要があります</string>
|
||||
|
||||
@@ -207,9 +207,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
||||
<string name="revanced_hide_surveys_title">설문 조사 숨기기</string>
|
||||
<string name="revanced_hide_surveys_summary_on">설문 조사가 숨겨집니다</string>
|
||||
<string name="revanced_hide_surveys_summary_off">설문 조사가 표시됩니다</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">콘서트 선반 숨기기</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">콘서트 선반이 숨겨집니다</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">콘서트 선반이 표시됩니다</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">콘서트 티켓 선반 숨기기</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">콘서트 티켓 선반이 숨겨집니다</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">콘서트 티켓 선반이 표시됩니다</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">동영상 추천 라벨 숨기기</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">검색 결과에서 다음 라벨이 숨겨집니다:\n• 시청자가 이 동영상도 시청함\n• 내가 좋아할 만한 동영상</string>
|
||||
@@ -1476,6 +1476,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
|
||||
<string name="revanced_custom_speed_menu_title">사용자 정의 동영상 재생 속도 활성화하기</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">사용자 정의 동영상 재생 속도를 활성화합니다</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">사용자 정의 동영상 재생 속도를 비활성화합니다</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">이전 재생 속도 메뉴 복원하기</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">이전 재생 속도 메뉴가 표시됩니다</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">모던 재생 속도 메뉴가 표시됩니다</string>
|
||||
<string name="revanced_custom_playback_speeds_title">사용자 정의 동영상 재생 속도 편집하기</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">동영상 재생 속도 값을 추가 또는 변경할 수 있습니다</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">재생 속도 값은 %s배속보다 작아야 합니다</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v
|
||||
<string name="revanced_custom_speed_menu_title">Tinkintas atkūrimo greičio meniu</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Tinkintas greičio meniu rodomas</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Tinkintas greičio meniu nerodomas</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Atkurti seną atkūrimo greičio meniu</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Rodomas senas greičio meniu</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Rodomas modernus greičio meniu</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Tinkintas atkūrimo greitis</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Pridėti arba pakeisti tinkintą atkūrimo greitį</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Pasirinktinis greitis turi būti mažesnis nei %s</string>
|
||||
|
||||
@@ -1470,6 +1470,9 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk
|
||||
<string name="revanced_custom_speed_menu_title">Pielāgotas atskaņošanas ātruma izvēlne</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Pielāgotas ātruma izvēlne tiek rādīta</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Pielāgotas ātruma izvēlne netiek rādīta</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Atjaunot veco atskaņošanas ātruma izvēlni</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Tiek rādīta vecā ātruma izvēlne</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Tiek rādīta modernā ātruma izvēlne</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Pielāgotie atskaņošanas ātrumi</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Pievienojiet vai mainiet pielāgotos atskaņošanas ātrumus</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Pielāgoti ātrumi ir jābūt mazākiem par %s</string>
|
||||
|
||||
@@ -1467,6 +1467,9 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menu voor aangepaste afspeelsnelheid</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Menu voor aangepaste snelheid wordt weergegeven</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Menu voor aangepaste snelheid wordt niet weergegeven</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Oud afspeelsnelheidsmenu herstellen</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Oud snelheidsmenu wordt getoond</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Modern snelheidsmenu wordt getoond</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Aangepaste afspeelsnelheden</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Voeg aangepaste afspeelsnelheden toe of wijzig ze</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Aangepaste snelheden moeten lager zijn dan %s</string>
|
||||
|
||||
@@ -1465,6 +1465,9 @@ Włączenie tego może odblokować wyższe jakości wideo"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Niestandardowe menu prędkości odtwarzania</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Niestandardowe menu prędkości jest widoczne</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Niestandardowe menu prędkości nie jest widoczne</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Przywróć stare menu prędkości odtwarzania</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Pokazane jest stare menu prędkości</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Pokazane jest nowoczesne menu prędkości</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Niestandardowe prędkości odtwarzania</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Dodaj lub zmień niestandardowe prędkości odtwarzania</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Prędkości niestandardowe muszą być mniejsze niż %s</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menu de velocidade de reprodução personalizado</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">O menu de velocidade personalizado é mostrado</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">O menu de velocidade personalizado não é mostrado</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Restaurar menu antigo de velocidade de reprodução</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Menu antigo de velocidade de reprodução é exibido</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Menu moderno de velocidade de reprodução é exibido</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Velocidade de reprodução personalizada</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Adicionar ou mudar as velocidades de reprodução personalizadas</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Velocidades personalizadas devem ser menores que %s</string>
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"</str
|
||||
<string name="revanced_custom_speed_menu_title">Menu personalizado de velocidade de reprodução</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">O menu de velocidade personalizado é exibido</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">O menu de velocidade personalizado não é mostrado</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Restaurar menu antigo de velocidade de reprodução</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Menu antigo de velocidade é exibido</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Menu moderno de velocidade é exibido</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Velocidade de reprodução personalizada</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Adicionar ou alterar as velocidades de reprodução personalizadas</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Tốc độ tùy chỉnh phải nhỏ hơn %s</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Activarea acestei opțiuni poate debloca calități video mai mari"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Meniu de redare personalizat</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Meniul de viteză personalizat este afișat</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Meniul de viteză personalizat nu este afișat</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Restaurare meniu vechi de viteză de redare</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Meniul vechi de viteză este afișat</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Meniul modern de viteză este afișat</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Viteze de redare personalizate</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Adaugă sau modifică vitezele de redare personalizate</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Vitezele personalizate trebuie să fie mai mici de %s</string>
|
||||
|
||||
@@ -1476,6 +1476,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Показать кастомное меню скорости</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Кастомное меню скорости воспроизведения показано</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Кастомное меню скорости воспроизведения скрыто</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Восстановить старое меню скорости воспроизведения</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Старое меню скорости показано</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Современное меню скорости показано</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Кастомные скорости воспроизведения</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Добавить или изменить кастомные скорости воспроизведения</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Кастомные скорости должны быть меньше, чем %s</string>
|
||||
|
||||
@@ -1462,6 +1462,9 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menu vlastnej rýchlosti prehrávania</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Menu vlastnej rýchlosti sa zobrazuje</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Menu vlastnej rýchlosti sa nezobrazuje</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Obnoviť staré menu rýchlosti prehrávania</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Zobrazuje sa staré menu rýchlosti</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Zobrazuje sa moderné menu rýchlosti</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Vlastné rýchlosti prehrávania</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Pridať alebo zmeň vlastné rýchlosti prehrávania</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Vlastné rýchlosti musia byť menšie ako %s</string>
|
||||
|
||||
@@ -1469,6 +1469,9 @@ Omogočanje tega lahko odklene višje kakovosti videa"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Meni za nastavitev hitrosti predvajanja</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Meni za nastavitev hitrosti je prikazan</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Meni za nastavitev hitrosti ni prikazan</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Obnovi stari meni hitrosti predvajanja</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Prikazan je stari meni hitrosti</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Prikazan je sodoben meni hitrosti</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Nastavitev hitrosti predvajanja po meri</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Dodajte ali spremenite hitrosti predvajanja po meri</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Hitrosti predvajanja po meri morajo biti manjše od %s</string>
|
||||
|
||||
@@ -1467,6 +1467,9 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Menyja e shpejtësisë së përsëritjes së përshtatshme</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Menyja e shpejtësisë së përshtatshme shfaqet</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Menyja e shpejtësisë së përshtatshme nuk shfaqet</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Rivendos menunë e vjetër të shpejtësisë së riprodhimit</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Menyja e vjetër e shpejtësisë shfaqet</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Menyja moderne e shpejtësisë shfaqet</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Shpejtësi të përsëritjes së përshtatshme</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Shtoni ose ndryshoni shpejtësitë e përsëritjes së përshtatshme</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Shpejtësitë e personalizuara duhet të jenë më të vogla se %s</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Meni prilagođene brzine reprodukcije</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Meni prilagođene brzine reprodukcije je prikazan</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Meni prilagođene brzine reprodukcije nije prikazan</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Vrati stari meni za brzinu reprodukcije</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Prikazan je stari meni brzine reprodukcije</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Prikazan je moderni meni brzine reprodukcije</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Prilagođene brzine reprodukcije</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Dodajte ili promenite prilagođene brzine reprodukcije</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Prilagođene brzine moraju biti manje od %s</string>
|
||||
|
||||
@@ -1471,6 +1471,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Мени прилагођене брзине репродукције</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Мени прилагођене брзине репродукције је приказан</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Мени прилагођене брзине репродукције није приказан</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Врати стари мени брзине репродукције</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Приказан је стари мени брзине репродукције</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Приказан је модерни мени брзине репродукције</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Прилагођене брзине репродукције</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Додајте или промените прилагођене брзине репродукције</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Прилагођене брзине морају бити мање од %s</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Om du aktiverar detta kan högre videokvaliteter låsas upp"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Anpassad meny för uppspelningshastighet</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Anpassad hastighetsmeny visas</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Anpassad hastighetsmeny visas inte</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Återställ gammal uppspelningshastighetsmeny</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Den gamla hastighetsmenyn visas</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Den moderna hastighetsmenyn visas</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Anpassade uppspelningshastigheter</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Lägg till eller ändra de anpassade uppspelningshastigheterna</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Anpassade hastigheter måste vara mindre än %s</string>
|
||||
|
||||
@@ -1471,6 +1471,9 @@ User id ของคุณเหมือนกับรหัสผ่าน
|
||||
<string name="revanced_custom_speed_menu_title">เมนูกำหนดความเร็วในการเล่นแบบกำหนดเอง</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">แสดงเมนูกำหนดความเร็ว</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">ไม่แสดงเมนูกำหนดความเร็ว</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">คืนค่าเมนูความเร็วในการเล่นแบบเก่า</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">แสดงเมนูความเร็วแบบเก่า</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">แสดงเมนูความเร็วแบบใหม่</string>
|
||||
<string name="revanced_custom_playback_speeds_title">ความเร็วในการเล่นแบบกำหนดเอง</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">เพิ่มหรือเปลี่ยนความเร็วในการเล่นแบบกำหนดเอง</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">ความเร็วที่กําหนดเองต้องน้อยกว่า %s</string>
|
||||
|
||||
@@ -1476,6 +1476,9 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Özel oynatma hızı menüsü</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Özel oynatma hızı menüsü gösterilir</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Özel oynatma hızı menüsü gösterilmez</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Eski oynatma hızı menüsünü geri yükle</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Eski hız menüsü gösterilir</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Modern hız menüsü gösterilir</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Özel oynatma hızları</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Özel oynatma hızları ekle veya değiştir</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Özel hızlar %s\'den az olmalıdır</string>
|
||||
|
||||
@@ -1468,6 +1468,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">Користувацьке меню швидкості відтворення</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Користувацьке меню швидкості відтворення показується</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Користувацьке меню швидкості відтворення не показується</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Відновити старе меню швидкості відтворення</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Показується старе меню швидкості</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Показується сучасне меню швидкості</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Користувацькі швидкості відтворення</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Додавання або зміна користувацьких швидкостей відтворення</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Користувацькі швидкості повинні бути менші ніж %s</string>
|
||||
|
||||
@@ -70,7 +70,7 @@ Second \"item\" text"</string>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<string name="gms_core_toast_not_installed_message">MicroG GmsCore chưa được cài đặt. Hãy cài đặt ngay.</string>
|
||||
<string name="gms_core_dialog_title">Hành động cần thiết</string>
|
||||
<string name="gms_core_dialog_title">Cần thực hiện</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore không có quyền chạy nền.
|
||||
|
||||
Hãy làm theo hướng dẫn \"Don't kill my app\" dành cho điện thoại của bạn và áp dụng các bước đó để cài đặt MicroG.
|
||||
@@ -90,7 +90,7 @@ Nhấn nút tiếp tục và cho phép thay đổi lựa chọn tối ưu hóa."
|
||||
<string name="revanced_settings_screen_00_about_title">Giới thiệu</string>
|
||||
<string name="revanced_settings_screen_01_ads_title">Quảng cáo</string>
|
||||
<string name="revanced_settings_screen_02_alt_thumbnails_title">Hình thu nhỏ thay thế</string>
|
||||
<string name="revanced_settings_screen_03_feed_title">Bảng tin</string>
|
||||
<string name="revanced_settings_screen_03_feed_title">Trang video</string>
|
||||
<string name="revanced_settings_screen_04_general_title">Chung</string>
|
||||
<string name="revanced_settings_screen_05_player_title">Trình phát</string>
|
||||
<string name="revanced_settings_screen_07_seekbar_title">Thanh tiến trình</string>
|
||||
@@ -281,9 +281,9 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v
|
||||
<string name="revanced_hide_description_components_screen_summary">Ẩn hoặc hiện các thành phần mô tả video</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Thanh bộ lọc</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Ẩn hoặc hiện thanh bộ lọc trong trang video, video liên quan, kết quả tìm kiếm và nhật ký xem</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Ẩn trong bảng tin</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Đã ẩn trong bảng tin</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Đã hiển thị trong bảng tin</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Ẩn trong các trang video</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Đã ẩn trong trang video</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Đã hiển thị trong trang video</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Ẩn trong video liên quan</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Đã ẩn trong video liên quan</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Đã hiển thị trong video liên quan</string>
|
||||
@@ -355,10 +355,10 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v
|
||||
<string name="revanced_custom_filter_strings_summary">Danh sách các chuỗi dựng đường dẫn thành phần để lọc được ngăn cách bởi dòng mới</string>
|
||||
<string name="revanced_custom_filter_toast_invalid_syntax">Bộ lọc tuỳ chỉnh không hợp lệ: %s</string>
|
||||
<string name="revanced_hide_keyword_content_screen_title">Ẩn nội dung từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_screen_summary">Ẩn video trong tìm kiếm và bảng tin bằng bộ lọc từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_home_title">Ẩn video trang chủ bằng từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_on">Video ở thẻ trang chủ đã được lọc bằng từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_off">Video ở thẻ trang chủ không được lọc bằng từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_screen_summary">Ẩn video trong trang video và tìm kiếm bằng bộ lọc từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_home_title">Ẩn video Trang chủ theo từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_on">Video trong thẻ Trang chủ được lọc theo từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_off">Video trong thẻ Trang chủ không được lọc theo từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_search_title">Ẩn kết quả tìm kiếm bằng từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_search_summary_on">Kết quả tìm kiếm đã được lọc bằng từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_search_summary_off">Kết quả tìm kiếm không được lọc bằng từ khóa</string>
|
||||
@@ -374,7 +374,7 @@ Từ khóa có thể là tên kênh hoặc bất kỳ văn bản nào hiển th
|
||||
|
||||
Từ có chữ in hoa ở giữa phải được nhập cùng với chữ viết hoa (ví dụ: iPhone, TikTok, LeBlanc)"</string>
|
||||
<string name="revanced_hide_keyword_content_about_title">Giới thiệu về bộ lọc từ khóa</string>
|
||||
<string name="revanced_hide_keyword_content_about_summary">"Trang chủ/Đăng ký/Kết quả tìm kiếm được lọc để ẩn nội dung khớp với cụm từ khóa
|
||||
<string name="revanced_hide_keyword_content_about_summary">"Trang chủ/Kênh đăng ký/Kết quả tìm kiếm được lọc để ẩn nội dung khớp với cụm từ khóa
|
||||
|
||||
Hạn chế
|
||||
• Video ngắn không thể bị ẩn theo tên kênh
|
||||
@@ -752,7 +752,7 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển
|
||||
<string name="revanced_hide_shorts_home_summary_on">Đã ẩn trong thẻ Trang chủ và video liên quan</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Đã hiển thị trong thẻ Trang chủ và video liên quan</string>
|
||||
<string name="revanced_hide_shorts_search_title">Ẩn Shorts trong kết quả tìm kiếm</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Bị ẩn trong kết quả tìm kiếm</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Đã ẩn trong kết quả tìm kiếm</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Được hiển thị trong kết quả tìm kiếm</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Ẩn Shorts trong thẻ Kênh đăng ký</string>
|
||||
@@ -907,7 +907,7 @@ Cài đặt → Phát → Tự động phát video tiếp theo"</string>
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Tải lại video để bình chọn bằng Return YouTube Dislike</string>
|
||||
<!-- Video likes have been set to hidden by the video uploader. -->
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Bị ẩn bởi chủ sở hữu</string>
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Đã ẩn bởi chủ sở hữu</string>
|
||||
<string name="revanced_ryd_enabled_summary_on">Số lượt không thích được hiển thị</string>
|
||||
<string name="revanced_ryd_enabled_summary_off">Số lượt không thích không được hiển thị</string>
|
||||
<string name="revanced_ryd_shorts_title">Hiện số lượt không thích trong Shorts</string>
|
||||
@@ -1099,7 +1099,7 @@ ID người dùng của bạn giống như mật khẩu và không bao giờ đ
|
||||
<string name="revanced_sb_skip_automatically">Tự động bỏ qua</string>
|
||||
<string name="revanced_sb_skip_automatically_once">Tự động bỏ qua một lần</string>
|
||||
<string name="revanced_sb_skip_showbutton">Hiện nút Bỏ qua</string>
|
||||
<string name="revanced_sb_skip_seekbaronly">Hiển thị trên thanh tiến trình</string>
|
||||
<string name="revanced_sb_skip_seekbaronly">Đã hiển thị trên thanh tiến trình</string>
|
||||
<string name="revanced_sb_skip_ignore">Tắt</string>
|
||||
<string name="revanced_sb_submit_failed_invalid">Không thể gửi phân đoạn: %s</string>
|
||||
<string name="revanced_sb_submit_failed_timeout">SponsorBlock bị sập tạm thời</string>
|
||||
@@ -1205,7 +1205,7 @@ Nếu tắt đi sau đó, bạn nên xóa dữ liệu ứng dụng để tránh
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
<string name="revanced_change_start_page_title">Thay đổi trang bắt đầu</string>
|
||||
<string name="revanced_change_start_page_entry_default">Mặc định</string>
|
||||
<string name="revanced_change_start_page_entry_all_subscriptions">Tất cả đăng ký</string>
|
||||
<string name="revanced_change_start_page_entry_all_subscriptions">Tất cả kênh đăng ký</string>
|
||||
<string name="revanced_change_start_page_entry_browse">Duyệt kênh</string>
|
||||
<string name="revanced_change_start_page_entry_courses">Khóa học / Học tập</string>
|
||||
<string name="revanced_change_start_page_entry_explore">Khám phá</string>
|
||||
@@ -1223,7 +1223,7 @@ Nếu tắt đi sau đó, bạn nên xóa dữ liệu ứng dụng để tránh
|
||||
<string name="revanced_change_start_page_entry_search">Tìm kiếm</string>
|
||||
<string name="revanced_change_start_page_entry_shopping">Mua sắm</string>
|
||||
<string name="revanced_change_start_page_entry_sports">Thể thao</string>
|
||||
<string name="revanced_change_start_page_entry_subscriptions">Đăng ký</string>
|
||||
<string name="revanced_change_start_page_entry_subscriptions">Kênh đăng ký</string>
|
||||
<string name="revanced_change_start_page_entry_trending">Xu hướng</string>
|
||||
<string name="revanced_change_start_page_entry_virtual_reality">Thực tế ảo</string>
|
||||
<string name="revanced_change_start_page_entry_watch_later">Xem sau</string>
|
||||
@@ -1269,11 +1269,11 @@ Hạn chế: Nút quay lại trên thanh công cụ có thể không hoạt đ
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Góc được bo tròn</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Góc vuông</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_title">Bật chạm hai lần và chụm để thay đổi kích thước</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_summary_on">"Đã bật thao tác chạm hai lần và chụm để thay đổi kích thước
|
||||
<string name="revanced_miniplayer_double_tap_action_summary_on">"Thao tác chạm hai lần và chụm để thay đổi kích thước đã bật
|
||||
|
||||
• Chạm hai lần để tăng kích thước trình phát thu nhỏ
|
||||
• Chạm hai lần nữa để khôi phục kích thước ban đầu"</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_summary_off">Đã tắt thao tác chạm hai lần và chụm để thay đổi kích thước</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_summary_off">Thao tác chạm hai lần và chụm để thay đổi kích thước đã tắt</string>
|
||||
<string name="revanced_miniplayer_drag_and_drop_title">Bật kéo và thả</string>
|
||||
<string name="revanced_miniplayer_drag_and_drop_summary_on">"Kéo và thả đã được bật
|
||||
|
||||
@@ -1475,6 +1475,9 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"</str
|
||||
<string name="revanced_custom_speed_menu_title">Trình đơn tốc độ phát tùy chỉnh</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">Trình đơn tốc độ phát tùy chỉnh được hiển thị</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">Trình đơn tốc độ phát tùy chỉnh không được hiển thị</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">Khôi phục trình đơn tốc độ phát cũ</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">Trình đơn tốc độ cũ được hiển thị</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">Trình đơn tốc độ hiện đại được hiển thị</string>
|
||||
<string name="revanced_custom_playback_speeds_title">Tốc độ phát tùy chỉnh</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">Thêm hoặc thay đổi tốc độ phát tùy chỉnh</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">Tốc độ tùy chỉnh phải nhỏ hơn %s</string>
|
||||
|
||||
@@ -1474,6 +1474,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_speed_menu_title">自定义播放速度菜单</string>
|
||||
<string name="revanced_custom_speed_menu_summary_on">显示自定义速度菜单</string>
|
||||
<string name="revanced_custom_speed_menu_summary_off">不显示自定义速度菜单</string>
|
||||
<string name="revanced_restore_old_speed_menu_title">恢复旧版播放速度菜单</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_on">显示旧版速度菜单</string>
|
||||
<string name="revanced_restore_old_speed_menu_summary_off">显示新版速度菜单</string>
|
||||
<string name="revanced_custom_playback_speeds_title">自定义播放速度</string>
|
||||
<string name="revanced_custom_playback_speeds_summary">添加或更改自定义播放速度</string>
|
||||
<string name="revanced_custom_playback_speeds_invalid">自定义速度必须小于 %s</string>
|
||||
|
||||
Reference in New Issue
Block a user