diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f623d8a57..98b14a097 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -72,6 +72,7 @@ body: - **Do not submit a duplicate bug report**: Search for existing bug reports [here](https://github.com/ReVanced/revanced-patches/issues?q=label%3A%22Bug+report%22). - **Review the contribution guidelines**: Make sure your bug report adheres to it. You can find the guidelines [here](https://github.com/ReVanced/revanced-patches/blob/main/CONTRIBUTING.md). + - **Check the troubleshooting guide**: A solution to your issue might be found in the [FAQ](https://github.com/ReVanced/revanced-documentation/blob/main/docs/revanced-resources/questions.md) or the [troubleshooting guide](https://github.com/ReVanced/revanced-documentation/blob/main/docs/revanced-resources/troubleshooting.md). - **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app). - type: textarea attributes: diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index f49436ec6..13d436ba2 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -72,6 +72,7 @@ body: - **Do not submit a duplicate feature request**: Search for existing feature requests [here](https://github.com/ReVanced/revanced-patches/issues?q=label%3A%22Feature+request%22). - **Review the contribution guidelines**: Make sure your feature request adheres to it. You can find the guidelines [here](https://github.com/ReVanced/revanced-patches/blob/main/CONTRIBUTING.md). + - **Check the troubleshooting guide**: Information about your issue might be found in the [FAQ](https://github.com/ReVanced/revanced-documentation/blob/main/docs/revanced-resources/questions.md) or the [troubleshooting guide](https://github.com/ReVanced/revanced-documentation/blob/main/docs/revanced-resources/troubleshooting.md). - **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app). - type: textarea attributes: diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d8f2f422..674b1860c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,87 @@ +# [5.40.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.10...v5.40.0-dev.11) (2025-09-20) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Add stream audio selector disclaimer for Android Studio client ([a8a4107](https://github.com/ReVanced/revanced-patches/commit/a8a410708d50f34ac4bd2ca29bbbc3cde00bbf93)) + +# [5.40.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.9...v5.40.0-dev.10) (2025-09-20) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Add "Force original audio" disclaimer for Android Studio client ([f97d332](https://github.com/ReVanced/revanced-patches/commit/f97d33206b4c97244f0bd0c672c4b91eaf477b0b)) + +# [5.40.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.8...v5.40.0-dev.9) (2025-09-20) + + +### Features + +* **YouTube Music:** Support version `8.10.52` ([#5941](https://github.com/ReVanced/revanced-patches/issues/5941)) ([01c0f1b](https://github.com/ReVanced/revanced-patches/commit/01c0f1bd1ac6edb8aea758f88ffffcdea74a29b7)) + +# [5.40.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.7...v5.40.0-dev.8) (2025-09-20) + + +### Features + +* **YouTube:** Support version `20.14.43` ([#5940](https://github.com/ReVanced/revanced-patches/issues/5940)) ([f7f4a1b](https://github.com/ReVanced/revanced-patches/commit/f7f4a1b0f0186598266b41a2c6a781fdee49e440)) + +# [5.40.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.6...v5.40.0-dev.7) (2025-09-20) + + +### Features + +* **YouTube - Hide video action buttons:** Add "Hide comments" button ([db796fb](https://github.com/ReVanced/revanced-patches/commit/db796fb8830b813e1ed626d491c4a797171e69e7)) + +# [5.40.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.5...v5.40.0-dev.6) (2025-09-20) + + +### Features + +* **YouTube Music:** Add `Enable debugging` patch ([#5939](https://github.com/ReVanced/revanced-patches/issues/5939)) ([418f594](https://github.com/ReVanced/revanced-patches/commit/418f5945c213313f9a77cac9a5c326d89c754dfd)) + +# [5.40.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.4...v5.40.0-dev.5) (2025-09-20) + + +### Features + +* **YouTube Music:** Add `Hide cast button` and `Navigation bar` patches ([#5934](https://github.com/ReVanced/revanced-patches/issues/5934)) ([651d358](https://github.com/ReVanced/revanced-patches/commit/651d3580967a252b57cbf4afbba02d6a4601ccfe)) + +# [5.40.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.3...v5.40.0-dev.4) (2025-09-20) + + +### Bug Fixes + +* **Spoof video streams:** Resolve occasional playback stuttering ([5c7c8b5](https://github.com/ReVanced/revanced-patches/commit/5c7c8b536416ec53cd98f7d59d11850aa1b70f11)) + +# [5.40.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.2...v5.40.0-dev.3) (2025-09-19) + + +### Bug Fixes + +* **Instagram - Limit feed to followed profiles:** Change patch to default off ([767f1e3](https://github.com/ReVanced/revanced-patches/commit/767f1e3695327bdbc4daea8b50a80d4c0a38456a)) + +# [5.40.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.40.0-dev.1...v5.40.0-dev.2) (2025-09-18) + + +### Features + +* **Instagram:** Add `Limit feed to followed profiles` patch ([#5908](https://github.com/ReVanced/revanced-patches/issues/5908)) ([8ba9a19](https://github.com/ReVanced/revanced-patches/commit/8ba9a19ade24c5fe9bd6d4e49772b7663522780e)) + +# [5.40.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.39.1-dev.1...v5.40.0-dev.1) (2025-09-17) + + +### Features + +* **Viber - Hide ads:** Support latest app target ([#5863](https://github.com/ReVanced/revanced-patches/issues/5863)) ([e6cce85](https://github.com/ReVanced/revanced-patches/commit/e6cce8554116df3c0ea6dbb7440c59c9e73d8334)) + +## [5.39.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.39.0...v5.39.1-dev.1) (2025-09-17) + + +### Bug Fixes + +* **YouTube - Force original audio:** Show UI setting summary if spoofing to Android Studio ([b7026b7](https://github.com/ReVanced/revanced-patches/commit/b7026b70865bc44de07b30f84ba8b8b608930d5b)) + # [5.39.0](https://github.com/ReVanced/revanced-patches/compare/v5.38.0...v5.39.0) (2025-09-17) diff --git a/extensions/instagram/build.gradle.kts b/extensions/instagram/build.gradle.kts new file mode 100644 index 000000000..8cf6305c1 --- /dev/null +++ b/extensions/instagram/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + compileOnly(project(":extensions:shared:library")) +} diff --git a/extensions/instagram/src/main/AndroidManifest.xml b/extensions/instagram/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/instagram/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/feed/LimitFeedToFollowedProfiles.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/feed/LimitFeedToFollowedProfiles.java new file mode 100644 index 000000000..2367e738a --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/feed/LimitFeedToFollowedProfiles.java @@ -0,0 +1,18 @@ +package app.revanced.extension.instagram.feed; + +import java.util.HashMap; +import java.util.Map; + +@SuppressWarnings("unused") +public class LimitFeedToFollowedProfiles { + + /** + * Injection point. + */ + public static Map setFollowingHeader(Map requestHeaderMap) { + // Create new map as original is unmodifiable. + Map patchedRequestHeaderMap = new HashMap<>(requestHeaderMap); + patchedRequestHeaderMap.put("pagination_source", "following"); + return patchedRequestHeaderMap; + } +} diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCastButtonPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCastButtonPatch.java new file mode 100644 index 000000000..d694891ab --- /dev/null +++ b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCastButtonPatch.java @@ -0,0 +1,24 @@ +package app.revanced.extension.music.patches; + +import static app.revanced.extension.shared.Utils.hideViewBy0dpUnderCondition; + +import android.view.View; +import app.revanced.extension.music.settings.Settings; + +@SuppressWarnings("unused") +public class HideCastButtonPatch { + + /** + * Injection point + */ + public static int hideCastButton(int original) { + return Settings.HIDE_CAST_BUTTON.get() ? View.GONE : original; + } + + /** + * Injection point + */ + public static void hideCastButton(View view) { + hideViewBy0dpUnderCondition(Settings.HIDE_CAST_BUTTON.get(), view); + } +} diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideUpgradeButtonPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideUpgradeButtonPatch.java deleted file mode 100644 index 8d3e022b1..000000000 --- a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideUpgradeButtonPatch.java +++ /dev/null @@ -1,14 +0,0 @@ -package app.revanced.extension.music.patches; - -import app.revanced.extension.music.settings.Settings; - -@SuppressWarnings("unused") -public class HideUpgradeButtonPatch { - - /** - * Injection point - */ - public static boolean hideUpgradeButton() { - return Settings.HIDE_UPGRADE_BUTTON.get(); - } -} diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/NavigationBarPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/NavigationBarPatch.java new file mode 100644 index 000000000..511e50304 --- /dev/null +++ b/extensions/music/src/main/java/app/revanced/extension/music/patches/NavigationBarPatch.java @@ -0,0 +1,74 @@ +package app.revanced.extension.music.patches; + +import static app.revanced.extension.shared.Utils.hideViewUnderCondition; + +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import app.revanced.extension.music.settings.Settings; + +@SuppressWarnings("unused") +public class NavigationBarPatch { + @NonNull + private static String lastYTNavigationEnumName = ""; + + public static void setLastAppNavigationEnum(@Nullable Enum ytNavigationEnumName) { + if (ytNavigationEnumName != null) { + lastYTNavigationEnumName = ytNavigationEnumName.name(); + } + } + + public static void hideNavigationLabel(TextView textview) { + hideViewUnderCondition(Settings.HIDE_NAVIGATION_BAR_LABEL.get(), textview); + } + + public static void hideNavigationButton(@NonNull View view) { + // Hide entire navigation bar. + if (Settings.HIDE_NAVIGATION_BAR.get() && view.getParent() != null) { + hideViewUnderCondition(true, (View) view.getParent()); + return; + } + + // Hide navigation buttons based on their type. + for (NavigationButton button : NavigationButton.values()) { + if (button.ytEnumNames.equals(lastYTNavigationEnumName)) { + hideViewUnderCondition(button.hidden, view); + break; + } + } + } + + private enum NavigationButton { + HOME( + "TAB_HOME", + Settings.HIDE_NAVIGATION_BAR_HOME_BUTTON.get() + ), + SAMPLES( + "TAB_SAMPLES", + Settings.HIDE_NAVIGATION_BAR_SAMPLES_BUTTON.get() + ), + EXPLORE( + "TAB_EXPLORE", + Settings.HIDE_NAVIGATION_BAR_EXPLORE_BUTTON.get() + ), + LIBRARY( + "LIBRARY_MUSIC", + Settings.HIDE_NAVIGATION_BAR_LIBRARY_BUTTON.get() + ), + UPGRADE( + "TAB_MUSIC_PREMIUM", + Settings.HIDE_NAVIGATION_BAR_UPGRADE_BUTTON.get() + ); + + private final String ytEnumNames; + private final boolean hidden; + + NavigationButton(@NonNull String ytEnumNames, boolean hidden) { + this.ytEnumNames = ytEnumNames; + this.hidden = hidden; + } + } +} diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch.java index 170d287be..15e90f565 100644 --- a/extensions/music/src/main/java/app/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/music/src/main/java/app/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch.java @@ -8,7 +8,6 @@ import static app.revanced.extension.shared.spoof.ClientType.VISIONOS; import java.util.List; import app.revanced.extension.shared.spoof.ClientType; -import app.revanced.extension.shared.spoof.requests.StreamingDataRequest; @SuppressWarnings("unused") public class SpoofVideoStreamsPatch { @@ -23,8 +22,7 @@ public class SpoofVideoStreamsPatch { VISIONOS ); - ClientType client = SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get(); - app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setPreferredClient(client); - StreamingDataRequest.setClientOrderToUse(availableClients, client); + app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setClientsToUse( + availableClients, SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get()); } } diff --git a/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java b/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java index f793eef0f..832118829 100644 --- a/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java +++ b/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java @@ -15,10 +15,17 @@ public class Settings extends BaseSettings { // Ads public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_music_hide_video_ads", TRUE, true); public static final BooleanSetting HIDE_GET_PREMIUM_LABEL = new BooleanSetting("revanced_music_hide_get_premium_label", TRUE, true); - public static final BooleanSetting HIDE_UPGRADE_BUTTON = new BooleanSetting("revanced_music_hide_upgrade_button", TRUE, true); // General + public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_music_hide_cast_button", TRUE, false); public static final BooleanSetting HIDE_CATEGORY_BAR = new BooleanSetting("revanced_music_hide_category_bar", FALSE, true); + public static final BooleanSetting HIDE_NAVIGATION_BAR_HOME_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_home_button", FALSE, true); + public static final BooleanSetting HIDE_NAVIGATION_BAR_SAMPLES_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_samples_button", FALSE, true); + public static final BooleanSetting HIDE_NAVIGATION_BAR_EXPLORE_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_explore_button", FALSE, true); + public static final BooleanSetting HIDE_NAVIGATION_BAR_LIBRARY_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_library_button", FALSE, true); + public static final BooleanSetting HIDE_NAVIGATION_BAR_UPGRADE_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_upgrade_button", TRUE, true); + public static final BooleanSetting HIDE_NAVIGATION_BAR = new BooleanSetting("revanced_music_hide_navigation_bar", FALSE, true); + public static final BooleanSetting HIDE_NAVIGATION_BAR_LABEL = new BooleanSetting("revanced_music_hide_navigation_bar_labels", FALSE, true); // Player public static final BooleanSetting PERMANENT_REPEAT = new BooleanSetting("revanced_music_play_permanent_repeat", FALSE, true); diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/TrieSearch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/TrieSearch.java index a871fc9b1..7628a51d9 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/TrieSearch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/TrieSearch.java @@ -7,7 +7,8 @@ import java.util.Collections; import java.util.List; import java.util.Objects; -/**Searches for a group of different patterns using a trie (prefix tree). +/** + * Searches for a group of different patterns using a trie (prefix tree). * Can significantly speed up searching for multiple patterns. */ public abstract class TrieSearch { @@ -55,11 +56,13 @@ public abstract class TrieSearch { if (searchTextLength - searchTextIndex < patternLength - patternStartIndex) { return false; // Remaining search text is shorter than the remaining leaf pattern and they cannot match. } + for (int i = searchTextIndex, j = patternStartIndex; j < patternLength; i++, j++) { if (enclosingNode.getCharValue(searchText, i) != enclosingNode.getCharValue(pattern, j)) { return false; } } + return callback == null || callback.patternMatched(searchText, searchTextIndex - patternStartIndex, patternLength, callbackParameter); } @@ -143,6 +146,7 @@ public abstract class TrieSearch { endOfPatternCallback.add(callback); return; } + if (leaf != null) { // Reached end of the graph and a leaf exist. // Recursively call back into this method and push the existing leaf down 1 level. @@ -157,6 +161,7 @@ public abstract class TrieSearch { leaf = new TrieCompressedPath<>(pattern, patternIndex, patternLength, callback); return; } + final char character = getCharValue(pattern, patternIndex); final int arrayIndex = hashIndexForTableSize(children.length, character); TrieNode child = children[arrayIndex]; @@ -181,6 +186,7 @@ public abstract class TrieSearch { //noinspection unchecked TrieNode[] replacement = new TrieNode[replacementArraySize]; addNodeToArray(replacement, child); + boolean collision = false; for (TrieNode existingChild : children) { if (existingChild != null) { @@ -193,6 +199,7 @@ public abstract class TrieSearch { if (collision) { continue; } + children = replacement; return; } @@ -232,6 +239,7 @@ public abstract class TrieSearch { if (leaf != null && leaf.matches(startNode, searchText, searchTextEndIndex, searchTextIndex, callbackParameter)) { return true; // Leaf exists and it matched the search text. } + List> endOfPatternCallback = node.endOfPatternCallback; if (endOfPatternCallback != null) { final int matchStartIndex = searchTextIndex - currentMatchLength; @@ -244,6 +252,7 @@ public abstract class TrieSearch { } } } + TrieNode[] children = node.children; if (children == null) { return false; // Reached a graph end point and there's no further patterns to search. @@ -276,9 +285,11 @@ public abstract class TrieSearch { if (leaf != null) { numberOfPointers += 4; // Number of fields in leaf node. } + if (endOfPatternCallback != null) { numberOfPointers += endOfPatternCallback.size(); } + if (children != null) { numberOfPointers += children.length; for (TrieNode child : children) { diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java index db157c4a1..6fbdc233a 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java @@ -116,7 +116,7 @@ public class Utils { } /** - * @return The version name of the app, such as 19.11.43 + * @return The version name of the app, such as 20.13.41 */ public static String getAppVersionName() { if (versionName == null) { diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/EnableDebuggingPatch.java similarity index 98% rename from extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/EnableDebuggingPatch.java index ff891edc1..424ba7b12 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/EnableDebuggingPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.youtube.patches; +package app.revanced.extension.shared.patches; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java index 7baa9d076..a5f69ba30 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java @@ -6,6 +6,7 @@ import android.text.TextUtils; import androidx.annotation.Nullable; import java.nio.ByteBuffer; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -43,7 +44,7 @@ public class SpoofVideoStreamsPatch { /** * @return If this patch was included during patching. */ - private static boolean isPatchIncluded() { + public static boolean isPatchIncluded() { return false; // Modified during patching. } @@ -60,8 +61,9 @@ public class SpoofVideoStreamsPatch { languageOverride = language; } - public static void setPreferredClient(ClientType client) { + public static void setClientsToUse(List availableClients, ClientType client) { preferredClient = Objects.requireNonNull(client); + StreamingDataRequest.setClientOrderToUse(availableClients, client); } public static boolean spoofingToClientWithNoMultiAudioStreams() { @@ -95,6 +97,35 @@ public class SpoofVideoStreamsPatch { return playerRequestUri; } + /** + * Injection point. + * + * Blocks /get_watch requests by returning an unreachable URI. + * /att/get requests are used to obtain a PoToken challenge. + * See: botGuardScript.js#L15 + *

+ * Since the Spoof streaming data patch was implemented because a valid PoToken cannot be obtained, + * Blocking /att/get requests are not a problem. + */ + public static String blockGetAttRequest(String originalUrlString) { + if (SPOOF_STREAMING_DATA) { + try { + var originalUri = Uri.parse(originalUrlString); + String path = originalUri.getPath(); + + if (path != null && path.contains("att/get")) { + Logger.printDebug(() -> "Blocking 'att/get' by returning internet connection check uri"); + + return INTERNET_CONNECTION_CHECK_URI_STRING; + } + } catch (Exception ex) { + Logger.printException(() -> "blockGetAttRequest failure", ex); + } + } + + return originalUrlString; + } + /** * Injection point. *

@@ -128,7 +159,7 @@ public class SpoofVideoStreamsPatch { /** * Injection point. - * Only invoked when playing a livestream on an iOS client. + * Only invoked when playing a livestream on an Apple client. */ public static boolean fixHLSCurrentTime(boolean original) { if (!SPOOF_STREAMING_DATA) { @@ -137,6 +168,14 @@ public class SpoofVideoStreamsPatch { return false; } + /* + * Injection point. + * Fix audio stuttering in YouTube Music. + */ + public static boolean disableSABR() { + return SPOOF_STREAMING_DATA; + } + /** * Injection point. * Turns off a feature flag that interferes with spoofing. diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java index 5a61dfc82..12775ed5f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java @@ -7,6 +7,10 @@ final class ButtonsFilter extends Filter { private static final String COMPACT_CHANNEL_BAR_PATH_PREFIX = "compact_channel_bar.eml"; private static final String VIDEO_ACTION_BAR_PATH_PREFIX = "video_action_bar.eml"; private static final String VIDEO_ACTION_BAR_PATH = "video_action_bar.eml"; + /** + * Video bar path when the video information is collapsed. Seems to shown only with 20.14+ + */ + private static final String COMPACTIFY_VIDEO_ACTION_BAR_PATH = "compactify_video_action_bar.eml"; private static final String ANIMATED_VECTOR_TYPE_PATH = "AnimatedVectorType"; private final StringFilterGroup likeSubscribeGlow; @@ -82,6 +86,10 @@ final class ButtonsFilter extends Filter { Settings.HIDE_STOP_ADS_BUTTON, "yt_outline_slash_circle_left" ), + new ByteArrayFilterGroup( + Settings.HIDE_COMMENTS_BUTTON, + "yt_outline_message_bubble_right" + ), // Check for clip button both here and using a path filter, // as there's a chance the path is a generic action button and won't contain 'clip_button' new ByteArrayFilterGroup( @@ -124,9 +132,8 @@ final class ButtonsFilter extends Filter { } if (matchedGroup == bufferFilterPathGroup) { - // Make sure the current path is the right one - // to avoid false positives. - return path.startsWith(VIDEO_ACTION_BAR_PATH) + // Make sure the current path is the right one to avoid false positives. + return (path.startsWith(VIDEO_ACTION_BAR_PATH) || path.startsWith(COMPACTIFY_VIDEO_ACTION_BAR_PATH)) && bufferButtonsGroupList.check(buffer).isFiltered(); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java index 45e49919c..2af74b2a0 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java @@ -9,7 +9,6 @@ import static app.revanced.extension.shared.spoof.ClientType.VISIONOS; import java.util.List; import app.revanced.extension.shared.spoof.ClientType; -import app.revanced.extension.shared.spoof.requests.StreamingDataRequest; import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") @@ -27,8 +26,7 @@ public class SpoofVideoStreamsPatch { IPADOS ); - ClientType client = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get(); - app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setPreferredClient(client); - StreamingDataRequest.setClientOrderToUse(availableClients, client); + app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setClientsToUse( + availableClients, Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get()); } } \ No newline at end of file diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index d7e1bf67e..461ac3fe6 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -32,6 +32,7 @@ import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehavi import android.graphics.Color; import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.settings.BaseSettings; import app.revanced.extension.shared.settings.BooleanSetting; import app.revanced.extension.shared.settings.EnumSetting; @@ -222,6 +223,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting DISABLE_LIKE_SUBSCRIBE_GLOW = new BooleanSetting("revanced_disable_like_subscribe_glow", FALSE); public static final BooleanSetting HIDE_ASK_BUTTON = new BooleanSetting("revanced_hide_ask_button", FALSE); public static final BooleanSetting HIDE_CLIP_BUTTON = new BooleanSetting("revanced_hide_clip_button", TRUE); + public static final BooleanSetting HIDE_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_comments_button", TRUE); public static final BooleanSetting HIDE_DOWNLOAD_BUTTON = new BooleanSetting("revanced_hide_download_button", FALSE); public static final BooleanSetting HIDE_HYPE_BUTTON = new BooleanSetting("revanced_hide_hype_button", FALSE); public static final BooleanSetting HIDE_LIKE_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_like_dislike_button", FALSE); @@ -513,10 +515,14 @@ public class Settings extends BaseSettings { DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.resetToDefault(); } - // Old spoof versions that no longer work. - if (SPOOF_APP_VERSION_TARGET.get().compareTo(SPOOF_APP_VERSION_TARGET.defaultValue) < 0) { - Logger.printInfo(() -> "Resetting spoof app version target"); + // Old spoof versions that no longer work, + // or is spoofing to a version the same or newer than this app. + if (!SPOOF_APP_VERSION_TARGET.isSetToDefault() && + (SPOOF_APP_VERSION_TARGET.get().compareTo(SPOOF_APP_VERSION_TARGET.defaultValue) < 0 + || (Utils.getAppVersionName().compareTo(SPOOF_APP_VERSION_TARGET.get()) <= 0))) { + Logger.printInfo(() -> "Resetting spoof app version"); SPOOF_APP_VERSION_TARGET.resetToDefault(); + SPOOF_APP_VERSION.resetToDefault(); } // RYD requires manually migrating old settings since the lack of diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceOriginalAudioSwitchPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceOriginalAudioSwitchPreference.java new file mode 100644 index 000000000..b6be1b893 --- /dev/null +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceOriginalAudioSwitchPreference.java @@ -0,0 +1,63 @@ +package app.revanced.extension.youtube.settings.preference; + +import static app.revanced.extension.shared.StringRef.str; + +import android.content.Context; +import android.preference.SwitchPreference; +import android.util.AttributeSet; + +import app.revanced.extension.shared.spoof.ClientType; +import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch; +import app.revanced.extension.youtube.settings.Settings; + +@SuppressWarnings({"deprecation", "unused"}) +public class ForceOriginalAudioSwitchPreference extends SwitchPreference { + + // Spoof stream patch is not included, or is not currently spoofing to Android Studio. + private static final boolean available = !SpoofVideoStreamsPatch.isPatchIncluded() + || !(Settings.SPOOF_VIDEO_STREAMS.get() + && Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_CREATOR); + + { + if (!available) { + // Show why force audio is not available. + String summary = str("revanced_force_original_audio_not_available"); + super.setSummary(summary); + super.setSummaryOn(summary); + super.setSummaryOff(summary); + super.setEnabled(false); + } + } + + public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + public ForceOriginalAudioSwitchPreference(Context context) { + super(context); + } + + @Override + public void setEnabled(boolean enabled) { + if (!available) { + return; + } + + super.setEnabled(enabled); + } + + @Override + public void setSummary(CharSequence summary) { + if (!available) { + return; + } + + super.setSummary(summary); + } +} + diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofAudioSelectorListPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofAudioSelectorListPreference.java index d27230421..00c3f2007 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofAudioSelectorListPreference.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofAudioSelectorListPreference.java @@ -6,7 +6,9 @@ import android.content.Context; import android.util.AttributeSet; import app.revanced.extension.shared.settings.preference.SortedListPreference; +import app.revanced.extension.shared.spoof.ClientType; import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch; +import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings({"deprecation", "unused"}) public class SpoofAudioSelectorListPreference extends SortedListPreference { @@ -14,10 +16,14 @@ public class SpoofAudioSelectorListPreference extends SortedListPreference { private final boolean available; { - if (SpoofVideoStreamsPatch.getLanguageOverride() != null) { + final boolean isAndroidStudio = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_CREATOR; + + if (isAndroidStudio || SpoofVideoStreamsPatch.getLanguageOverride() != null) { available = false; super.setEnabled(false); - super.setSummary(str("revanced_spoof_video_streams_language_not_available")); + super.setSummary(str(isAndroidStudio + ? "revanced_spoof_video_streams_language_android_studio" + : "revanced_spoof_video_streams_language_not_available")); } else { available = true; } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java index ae84c9dc2..ddc4d23da 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java @@ -95,6 +95,7 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference { + '\n' + str("revanced_spoof_video_streams_about_kids_videos"); } else if (clientType == ClientType.ANDROID_CREATOR) { summary += '\n' + str("revanced_spoof_video_streams_about_no_av1") + + '\n' + str("revanced_spoof_video_streams_about_no_force_original_audio") + '\n' + str("revanced_spoof_video_streams_about_kids_videos"); } diff --git a/gradle.properties b/gradle.properties index c1e74974b..53e5677b3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.39.0 +version = 5.40.0-dev.11 diff --git a/patches/api/patches.api b/patches/api/patches.api index 00b58e88e..aeaab90db 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -264,6 +264,10 @@ public final class app/revanced/patches/instagram/ads/HideAdsPatchKt { public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/feed/LimitFeedToFollowedProfilesKt { + public static final fun getLimitFeedToFollowedProfiles ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/hide/explore/HideExploreFeedKt { public static final fun getHideExportFeedPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -276,6 +280,10 @@ public final class app/revanced/patches/instagram/hide/stories/HideStoriesKt { public static final fun getHideStoriesPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/extension/SharedExtensionPatchKt { + public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt { public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -364,10 +372,18 @@ public final class app/revanced/patches/music/interaction/permanentshuffle/Perma public static final fun getPermanentShufflePatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/music/layout/castbutton/HideCastButtonKt { + public static final fun getHideCastButton ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/music/layout/compactheader/HideCategoryBarKt { public static final fun getHideCategoryBar ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/music/layout/navigationbar/NavigationBarPatchKt { + public static final fun getNavigationBarPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/music/layout/premium/HideGetPremiumPatchKt { public static final fun getHideGetPremiumPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -385,6 +401,10 @@ public final class app/revanced/patches/music/misc/backgroundplayback/Background public static final fun getBackgroundPlaybackPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/music/misc/debugging/EnableDebuggingPatchKt { + public static final fun getEnableDebuggingPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/music/misc/extension/SharedExtensionPatchKt { public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/feed/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/feed/Fingerprints.kt new file mode 100644 index 000000000..cf8c61118 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/feed/Fingerprints.kt @@ -0,0 +1,20 @@ +package app.revanced.patches.instagram.feed + +import app.revanced.patcher.fingerprint +import app.revanced.patcher.patch.BytecodePatchContext + +internal val mainFeedRequestClassFingerprint = fingerprint { + strings("Request{mReason=", ", mInstanceNumber=") +} + +context(BytecodePatchContext) +internal val initMainFeedRequestFingerprint get() = fingerprint { + custom { method, classDef -> + method.name == "" && + classDef == mainFeedRequestClassFingerprint.classDef + } +} + +internal val mainFeedHeaderMapFinderFingerprint = fingerprint { + strings("pagination_source", "FEED_REQUEST_SENT") +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/feed/LimitFeedToFollowedProfiles.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/feed/LimitFeedToFollowedProfiles.kt new file mode 100644 index 000000000..e7af0466c --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/feed/LimitFeedToFollowedProfiles.kt @@ -0,0 +1,64 @@ +package app.revanced.patches.instagram.feed + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.FieldReference + +internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/instagram/feed/LimitFeedToFollowedProfiles;" + +@Suppress("unused") +val limitFeedToFollowedProfiles = bytecodePatch( + name = "Limit feed to followed profiles", + description = "Filters the home feed to display only content from profiles you follow.", + use = false +) { + compatibleWith("com.instagram.android") + + dependsOn(sharedExtensionPatch) + + execute { + /** + * Since the header field is obfuscated and there is no easy way to identify it among all the class fields, + * an additional method is fingerprinted. + * This method uses the map, so we can get the field name of the map field using this. + */ + val mainFeedRequestHeaderFieldName: String + + with(mainFeedHeaderMapFinderFingerprint.method) { + mainFeedRequestHeaderFieldName = indexOfFirstInstructionOrThrow { + getReference().let { ref -> + ref?.type == "Ljava/util/Map;" && + ref.definingClass == mainFeedRequestClassFingerprint.classDef.toString() + + } + }.let { instructionIndex -> + getInstruction(instructionIndex).getReference()!!.name + } + } + + initMainFeedRequestFingerprint.method.apply { + // Finds the instruction where the map is being initialized in the constructor + val getHeaderIndex = indexOfFirstInstructionOrThrow { + getReference().let { + it?.name == mainFeedRequestHeaderFieldName + } + } + + val paramHeaderRegister = getInstruction(getHeaderIndex).registerA + + // Replace the `pagination_source` header value with `following` in the feed/timeline request. + addInstructions( + getHeaderIndex, + """ + invoke-static { v$paramHeaderRegister }, $EXTENSION_CLASS_DESCRIPTOR->setFollowingHeader(Ljava/util/Map;)Ljava/util/Map; + move-result-object v$paramHeaderRegister + """ + ) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt index ee68c4fe1..cac9c35c3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt @@ -49,7 +49,7 @@ val hideNavigationButtonsPatch = bytecodePatch( val freeRegister = findFreeRegister(insertIndex, loopIndexRegister) val instruction = getInstruction(endIndex - 1) - var instructions = buildString { + val instructions = buildString { if (hideCreate!!) { appendLine( """ diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/extension/SharedExtensionPatch.kt new file mode 100644 index 000000000..351b641a4 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/extension/SharedExtensionPatch.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.instagram.misc.extension + +import app.revanced.patches.instagram.misc.extension.hooks.applicationInitHook +import app.revanced.patches.shared.misc.extension.sharedExtensionPatch + +val sharedExtensionPatch = sharedExtensionPatch( + "instagram", + applicationInitHook, +) diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/extension/hooks/ApplicationInitHook.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/extension/hooks/ApplicationInitHook.kt new file mode 100644 index 000000000..eca0a885f --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/extension/hooks/ApplicationInitHook.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.instagram.misc.extension.hooks + +import app.revanced.patches.shared.misc.extension.extensionHook + +internal val applicationInitHook = extensionHook { + custom { method, classDef -> + method.name == "onCreate" && classDef.endsWith("/InstagramAppShell;") + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt b/patches/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt index fd417bb5d..cd5150c16 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt @@ -24,7 +24,8 @@ val hideVideoAdsPatch = bytecodePatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt b/patches/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt index 4d598e402..f0b1974c3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt @@ -17,7 +17,8 @@ val enableExclusiveAudioPlaybackPatch = bytecodePatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt index 559bacc39..addf737f8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt @@ -27,7 +27,8 @@ val permanentRepeatPatch = bytecodePatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentshuffle/PermanentShufflePatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentshuffle/PermanentShufflePatch.kt index 39ffa319a..359ede662 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentshuffle/PermanentShufflePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentshuffle/PermanentShufflePatch.kt @@ -11,7 +11,8 @@ val permanentShufflePatch = bytecodePatch( ) { compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/Fingerprints.kt new file mode 100644 index 000000000..718d49479 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/Fingerprints.kt @@ -0,0 +1,17 @@ +package app.revanced.patches.music.layout.castbutton + +import com.android.tools.smali.dexlib2.AccessFlags +import app.revanced.patcher.fingerprint +import app.revanced.util.literal + +internal val mediaRouteButtonFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL) + returns("Z") + strings("MediaRouteButton") +} + +internal val playerOverlayChipFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("L") + literal { playerOverlayChip } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt new file mode 100644 index 000000000..2c1fbdea8 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt @@ -0,0 +1,71 @@ +package app.revanced.patches.music.layout.castbutton + +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.music.misc.extension.sharedExtensionPatch +import app.revanced.patches.music.misc.settings.PreferenceScreen +import app.revanced.patches.music.misc.settings.settingsPatch +import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.indexOfFirstLiteralInstructionOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction + +internal var playerOverlayChip = -1L + private set + +private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/HideCastButtonPatch;" + +@Suppress("unused") +val hideCastButton = bytecodePatch( + name = "Hide cast button", + description = "Adds an option to hide the cast button." +) { + dependsOn( + sharedExtensionPatch, + settingsPatch, + addResourcesPatch, + ) + + compatibleWith( + "com.google.android.apps.youtube.music"( + "7.29.52", + "8.10.52" + ) + ) + + execute { + addResources("music", "layout.castbutton.hideCastButton") + + PreferenceScreen.GENERAL.addPreferences( + SwitchPreference("revanced_music_hide_cast_button"), + ) + + mediaRouteButtonFingerprint.classDef.apply { + val setVisibilityMethod = methods.first { method -> method.name == "setVisibility" } + + setVisibilityMethod.addInstructions( + 0, + """ + invoke-static { p1 }, $EXTENSION_CLASS_DESCRIPTOR->hideCastButton(I)I + move-result p1 + """ + ) + } + + playerOverlayChipFingerprint.method.apply { + val resourceIndex = indexOfFirstLiteralInstructionOrThrow(playerOverlayChip) + val targetIndex = indexOfFirstInstructionOrThrow(resourceIndex, Opcode.MOVE_RESULT) + val targetRegister = getInstruction(targetIndex).registerA + + addInstruction( + targetIndex + 1, + "invoke-static { v$targetRegister }, $EXTENSION_CLASS_DESCRIPTOR->hideCastButton(Landroid/view/View;)V" + ) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt index 883be02a6..7668c9dc7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt @@ -1,6 +1,5 @@ package app.revanced.patches.music.layout.compactheader -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch @@ -10,7 +9,6 @@ import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch import app.revanced.patches.shared.misc.settings.preference.SwitchPreference -import app.revanced.util.addInstructionsAtControlFlowLabel import app.revanced.util.findFreeRegister import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @@ -29,7 +27,8 @@ val hideCategoryBar = bytecodePatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/navigationbar/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/navigationbar/Fingerprints.kt new file mode 100644 index 000000000..df5dbe68d --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/navigationbar/Fingerprints.kt @@ -0,0 +1,36 @@ +package app.revanced.patches.music.layout.navigationbar + +import app.revanced.patcher.fingerprint +import app.revanced.util.containsLiteralInstruction +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.Method +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +internal val tabLayoutTextFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("V") + parameters("L") + opcodes( + Opcode.IGET, + Opcode.INVOKE_STATIC, + Opcode.MOVE_RESULT_OBJECT, + Opcode.IF_NEZ, + Opcode.SGET_OBJECT, + Opcode.INVOKE_INTERFACE, + Opcode.MOVE_RESULT + ) + strings("FEmusic_search") + custom { method, _ -> + method.containsLiteralInstruction(text1) + && indexOfGetVisibilityInstruction(method) >= 0 + } +} + +internal fun indexOfGetVisibilityInstruction(method: Method) = + method.indexOfFirstInstruction { + opcode == Opcode.INVOKE_VIRTUAL && + getReference()?.name == "getVisibility" + } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/navigationbar/NavigationBarPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/navigationbar/NavigationBarPatch.kt new file mode 100644 index 000000000..e9598f576 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/navigationbar/NavigationBarPatch.kt @@ -0,0 +1,111 @@ +package app.revanced.patches.music.layout.navigationbar + +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.PatchException +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.music.misc.extension.sharedExtensionPatch +import app.revanced.patches.music.misc.settings.PreferenceScreen +import app.revanced.patches.music.misc.settings.settingsPatch +import app.revanced.patches.shared.misc.mapping.get +import app.revanced.patches.shared.misc.mapping.resourceMappingPatch +import app.revanced.patches.shared.misc.mapping.resourceMappings +import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference +import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.indexOfFirstLiteralInstructionOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction +import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction +import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction + +internal var text1 = -1L + private set + +private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/NavigationBarPatch;" + +@Suppress("unused") +val navigationBarPatch = bytecodePatch( + name = "Navigation bar", + description = "Adds options to hide navigation bar, labels and buttons." +) { + dependsOn( + resourceMappingPatch, + sharedExtensionPatch, + settingsPatch, + addResourcesPatch + ) + + compatibleWith( + "com.google.android.apps.youtube.music"( + "7.29.52", + "8.10.52" + ) + ) + + execute { + text1 = resourceMappings[ + "id", + "text1", + ] + + addResources("music", "layout.navigationbar.navigationBarPatch") + + PreferenceScreen.GENERAL.addPreferences( + PreferenceScreenPreference( + key = "revanced_music_navigation_bar_screen", + sorting = PreferenceScreenPreference.Sorting.UNSORTED, + preferences = setOf( + SwitchPreference("revanced_music_hide_navigation_bar_home_button"), + SwitchPreference("revanced_music_hide_navigation_bar_samples_button"), + SwitchPreference("revanced_music_hide_navigation_bar_explore_button"), + SwitchPreference("revanced_music_hide_navigation_bar_library_button"), + SwitchPreference("revanced_music_hide_navigation_bar_upgrade_button"), + + SwitchPreference("revanced_music_hide_navigation_bar"), + SwitchPreference("revanced_music_hide_navigation_bar_labels"), + ) + ) + ) + + tabLayoutTextFingerprint.method.apply { + /** + * Hide navigation labels. + */ + val constIndex = indexOfFirstLiteralInstructionOrThrow(text1) + val targetIndex = indexOfFirstInstructionOrThrow(constIndex, Opcode.CHECK_CAST) + val targetParameter = getInstruction(targetIndex).reference + val targetRegister = getInstruction(targetIndex).registerA + + if (!targetParameter.toString().endsWith("Landroid/widget/TextView;")) + throw PatchException("Method signature parameter did not match: $targetParameter") + + addInstruction( + targetIndex + 1, + "invoke-static { v$targetRegister }, $EXTENSION_CLASS_DESCRIPTOR->hideNavigationLabel(Landroid/widget/TextView;)V" + ) + + /** + * Set navigation enum and hide navigation buttons. + */ + val enumIndex = tabLayoutTextFingerprint.patternMatch!!.startIndex + 3 + val enumRegister = getInstruction(enumIndex).registerA + val insertEnumIndex = indexOfFirstInstructionOrThrow(Opcode.AND_INT_LIT8) - 2 + + val pivotTabIndex = indexOfGetVisibilityInstruction(this) + val pivotTabRegister = getInstruction(pivotTabIndex).registerC + + addInstruction( + pivotTabIndex, + "invoke-static { v$pivotTabRegister }, $EXTENSION_CLASS_DESCRIPTOR->hideNavigationButton(Landroid/view/View;)V" + ) + + addInstruction( + insertEnumIndex, + "invoke-static { v$enumRegister }, $EXTENSION_CLASS_DESCRIPTOR->setLastAppNavigationEnum(Ljava/lang/Enum;)V" + ) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt index beea72673..13a50c54f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt @@ -28,7 +28,8 @@ val hideGetPremiumPatch = bytecodePatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/Fingerprints.kt deleted file mode 100644 index f3c96dc44..000000000 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/Fingerprints.kt +++ /dev/null @@ -1,18 +0,0 @@ -package app.revanced.patches.music.layout.upgradebutton - -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.AccessFlags -import app.revanced.patcher.fingerprint - -internal val pivotBarConstructorFingerprint = fingerprint { - accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR) - returns("V") - parameters("L", "Z") - opcodes( - Opcode.CHECK_CAST, - Opcode.INVOKE_INTERFACE, - Opcode.GOTO, - Opcode.IPUT_OBJECT, - Opcode.RETURN_VOID - ) -} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/HideUpgradeButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/HideUpgradeButtonPatch.kt index b54e4f2b6..0b0f24497 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/HideUpgradeButtonPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/HideUpgradeButtonPatch.kt @@ -1,104 +1,12 @@ package app.revanced.patches.music.layout.upgradebutton -import app.revanced.patcher.extensions.InstructionExtensions.addInstruction -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions -import app.revanced.patcher.extensions.InstructionExtensions.getInstruction -import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction -import app.revanced.patcher.extensions.newLabel import app.revanced.patcher.patch.bytecodePatch -import app.revanced.patcher.util.smali.toInstructions -import app.revanced.patches.all.misc.resources.addResources -import app.revanced.patches.all.misc.resources.addResourcesPatch -import app.revanced.patches.music.misc.extension.sharedExtensionPatch -import app.revanced.patches.music.misc.settings.PreferenceScreen -import app.revanced.patches.music.misc.settings.settingsPatch -import app.revanced.patches.shared.misc.settings.preference.SwitchPreference -import app.revanced.util.getReference -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction22t -import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction -import com.android.tools.smali.dexlib2.iface.reference.FieldReference - -private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/HideUpgradeButtonPatch;" +import app.revanced.patches.music.layout.navigationbar.navigationBarPatch +@Deprecated("Patch is obsolete and was replaced by navigation bar patch", ReplaceWith("navigationBarPatch")) @Suppress("unused") -val hideUpgradeButton = bytecodePatch( - name = "Hide upgrade button", - description = "Hides the upgrade tab from the pivot bar.", -) { - dependsOn( - sharedExtensionPatch, - settingsPatch, - addResourcesPatch, - ) - - compatibleWith( - "com.google.android.apps.youtube.music"( - "7.29.52" - ) - ) - - execute { - addResources("music", "layout.upgradebutton.hideUpgradeButtonPatch") - - // TODO: Add an extension patch to allow this to be enabled/disabled in app. - if (false) { - PreferenceScreen.ADS.addPreferences( - SwitchPreference("revanced_music_hide_upgrade_button") - ) - } - - pivotBarConstructorFingerprint.method.apply { - val pivotBarElementFieldReference = - getInstruction(pivotBarConstructorFingerprint.patternMatch!!.endIndex - 1) - .getReference() - - val register = getInstruction(0).registerC - - // First compile all the needed instructions. - val instructionList = """ - invoke-interface { v0 }, Ljava/util/List;->size()I - move-result v1 - const/4 v2, 0x4 - invoke-interface {v0, v2}, Ljava/util/List;->remove(I)Ljava/lang/Object; - iput-object v0, v$register, $pivotBarElementFieldReference - """.toInstructions().toMutableList() - - val endIndex = pivotBarConstructorFingerprint.patternMatch!!.endIndex - - // Replace the instruction to retain the label at given index. - replaceInstruction( - endIndex - 1, - instructionList[0], // invoke-interface. - ) - // Do not forget to remove this instruction since we added it already. - instructionList.removeFirst() - - val exitInstruction = instructionList.last() // iput-object - addInstruction( - endIndex, - exitInstruction, - ) - // Do not forget to remove this instruction since we added it already. - instructionList.removeLast() - - // Add the necessary if statement to remove the upgrade tab button in case it exists. - instructionList.add( - 2, // if-le. - BuilderInstruction22t( - Opcode.IF_LE, - 1, - 2, - newLabel(endIndex), - ), - ) - - addInstructions( - endIndex, - instructionList, - ) - } - } +val hideUpgradeButton = bytecodePatch{ + dependsOn(navigationBarPatch) } @Deprecated("Patch was renamed", ReplaceWith("hideUpgradeButton")) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt index 70e707fbb..245569d9e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt @@ -17,7 +17,8 @@ val bypassCertificateChecksPatch = bytecodePatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt index 3d81296a7..bf35b24d5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt @@ -17,7 +17,8 @@ val backgroundPlaybackPatch = bytecodePatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/debugging/EnableDebuggingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/debugging/EnableDebuggingPatch.kt new file mode 100644 index 000000000..76ee0e060 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/debugging/EnableDebuggingPatch.kt @@ -0,0 +1,26 @@ +package app.revanced.patches.music.misc.debugging + +import app.revanced.patches.music.misc.extension.sharedExtensionPatch +import app.revanced.patches.music.misc.settings.PreferenceScreen +import app.revanced.patches.music.misc.settings.settingsPatch +import app.revanced.patches.shared.misc.debugging.enableDebuggingPatch + +@Suppress("unused") +val enableDebuggingPatch = enableDebuggingPatch( + block = { + dependsOn( + sharedExtensionPatch, + settingsPatch, + ) + + compatibleWith( + "com.google.android.apps.youtube.music"( + "7.29.52", + "8.10.52" + ) + ) + }, + // String feature flag does not appear to be present with YT Music. + hookStringFeatureFlag = false, + preferenceScreen = PreferenceScreen.MISC +) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt index 09fab446b..5d282b715 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt @@ -8,12 +8,16 @@ import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.shared.misc.mapping.resourceMappingPatch -import app.revanced.patches.shared.misc.settings.preference.* +import app.revanced.patches.shared.misc.settings.preference.BasePreference +import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.IntentPreference +import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference -import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting -import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.shared.misc.settings.settingsPatch -import app.revanced.util.* +import app.revanced.util.ResourceGroup +import app.revanced.util.copyResources +import app.revanced.util.copyXmlNode +import app.revanced.util.inputStreamFromBundledResource import com.android.tools.smali.dexlib2.util.MethodUtil private const val BASE_ACTIVITY_HOOK_CLASS_DESCRIPTOR = @@ -23,7 +27,6 @@ private const val GOOGLE_API_ACTIVITY_HOOK_CLASS_DESCRIPTOR = private val preferences = mutableSetOf() - private val settingsResourcePatch = resourcePatch { dependsOn( resourceMappingPatch, @@ -87,27 +90,6 @@ val settingsPatch = bytecodePatch( addResources("music", "misc.settings.settingsPatch") addResources("shared", "misc.debugging.enableDebuggingPatch") - // Should make a separate debugging patch, but for now include it with all installations. - PreferenceScreen.MISC.addPreferences( - PreferenceScreenPreference( - key = "revanced_debug_screen", - sorting = Sorting.UNSORTED, - preferences = setOf( - SwitchPreference("revanced_debug"), - NonInteractivePreference( - "revanced_debug_export_logs_to_clipboard", - tag = "app.revanced.extension.shared.settings.preference.ExportLogToClipboardPreference", - selectable = true - ), - NonInteractivePreference( - "revanced_debug_logs_clear_buffer", - tag = "app.revanced.extension.shared.settings.preference.ClearLogBufferPreference", - selectable = true - ) - ) - ) - ) - // Add an "About" preference to the top. preferences += NonInteractivePreference( key = "revanced_settings_music_screen_0_about", @@ -154,19 +136,19 @@ fun newIntent(settingsName: String) = IntentPreference.Intent( object PreferenceScreen : BasePreferenceScreen() { val ADS = Screen( - "revanced_settings_music_screen_1_ads", + key = "revanced_settings_music_screen_1_ads", summaryKey = null ) val GENERAL = Screen( - "revanced_settings_music_screen_2_general", + key = "revanced_settings_music_screen_2_general", summaryKey = null ) val PLAYER = Screen( - "revanced_settings_music_screen_3_player", + key = "revanced_settings_music_screen_3_player", summaryKey = null ) val MISC = Screen( - "revanced_settings_music_screen_4_misc", + key = "revanced_settings_music_screen_4_misc", summaryKey = null ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt index 0452bc3cf..b01f74cca 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt @@ -33,7 +33,8 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( compatibleWith( "com.google.android.apps.youtube.music"( - "7.29.52" + "7.29.52", + "8.10.52" ) ) }, diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/EnableDebuggingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/EnableDebuggingPatch.kt new file mode 100644 index 000000000..85cf53bd0 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/EnableDebuggingPatch.kt @@ -0,0 +1,147 @@ +package app.revanced.patches.shared.misc.debugging + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.BytecodePatchBuilder +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.BasePreference +import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference +import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference +import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting +import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.util.findInstructionIndicesReversedOrThrow +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.indexOfFirstInstructionReversedOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/shared/patches/EnableDebuggingPatch;" + +/** + * Patch shared with YouTube and YT Music. + */ +internal fun enableDebuggingPatch( + block: BytecodePatchBuilder.() -> Unit = {}, + executeBlock: BytecodePatchContext.() -> Unit = {}, + hookStringFeatureFlag: Boolean, + preferenceScreen: BasePreferenceScreen.Screen, + additionalDebugPreferences: List = emptyList() +) = bytecodePatch( + name = "Enable debugging", + description = "Adds options for debugging and exporting ReVanced logs to the clipboard.", +) { + + dependsOn(addResourcesPatch) + + block() + + execute { + executeBlock() + + addResources("shared", "misc.debugging.enableDebuggingPatch") + + val preferences = mutableSetOf( + SwitchPreference("revanced_debug"), + ) + + preferences.addAll(additionalDebugPreferences) + + preferences.addAll( + listOf( + SwitchPreference("revanced_debug_stacktrace"), + SwitchPreference("revanced_debug_toast_on_error"), + NonInteractivePreference( + "revanced_debug_export_logs_to_clipboard", + tag = "app.revanced.extension.shared.settings.preference.ExportLogToClipboardPreference", + selectable = true + ), + NonInteractivePreference( + "revanced_debug_logs_clear_buffer", + tag = "app.revanced.extension.shared.settings.preference.ClearLogBufferPreference", + selectable = true + ) + ) + ) + + preferenceScreen.addPreferences( + PreferenceScreenPreference( + key = "revanced_debug_screen", + sorting = Sorting.UNSORTED, + preferences = preferences, + ) + ) + + // Hook the methods that look up if a feature flag is active. + experimentalBooleanFeatureFlagFingerprint.match( + experimentalFeatureFlagParentFingerprint.originalClassDef + ).method.apply { + findInstructionIndicesReversedOrThrow(Opcode.RETURN).forEach { index -> + val register = getInstruction(index).registerA + + addInstructions( + index, + """ + invoke-static { v$register, p1 }, $EXTENSION_CLASS_DESCRIPTOR->isBooleanFeatureFlagEnabled(ZLjava/lang/Long;)Z + move-result v$register + """ + ) + } + } + + experimentalDoubleFeatureFlagFingerprint.match( + experimentalFeatureFlagParentFingerprint.originalClassDef + ).method.apply { + val insertIndex = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_WIDE) + + addInstructions( + insertIndex, + """ + move-result-wide v0 # Also clobbers v1 (p0) since result is wide. + invoke-static/range { v0 .. v5 }, $EXTENSION_CLASS_DESCRIPTOR->isDoubleFeatureFlagEnabled(DJD)D + move-result-wide v0 + return-wide v0 + """ + ) + } + + experimentalLongFeatureFlagFingerprint.match( + experimentalFeatureFlagParentFingerprint.originalClassDef + ).method.apply { + val insertIndex = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_WIDE) + + addInstructions( + insertIndex, + """ + move-result-wide v0 + invoke-static/range { v0 .. v5 }, $EXTENSION_CLASS_DESCRIPTOR->isLongFeatureFlagEnabled(JJJ)J + move-result-wide v0 + return-wide v0 + """ + ) + } + + if (hookStringFeatureFlag) experimentalStringFeatureFlagFingerprint.match( + experimentalFeatureFlagParentFingerprint.originalClassDef + ).method.apply { + val insertIndex = indexOfFirstInstructionReversedOrThrow(Opcode.MOVE_RESULT_OBJECT) + + addInstructions( + insertIndex, + """ + move-result-object v0 + invoke-static { v0, p1, p2, p3 }, $EXTENSION_CLASS_DESCRIPTOR->isStringFeatureFlagEnabled(Ljava/lang/String;JLjava/lang/String;)Ljava/lang/String; + move-result-object v0 + return-object v0 + """ + ) + } + + // There exists other experimental accessor methods for byte[] + // and wrappers for obfuscated classes, but currently none of those are hooked. + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/Fingerprints.kt new file mode 100644 index 000000000..6f183dd08 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/Fingerprints.kt @@ -0,0 +1,35 @@ +package app.revanced.patches.shared.misc.debugging + +import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal val experimentalFeatureFlagParentFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) + returns("L") + parameters("L", "J", "[B") + strings("Unable to parse proto typed experiment flag: ") +} + +internal val experimentalBooleanFeatureFlagFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) + returns("Z") + parameters("L", "J", "Z") +} + +internal val experimentalDoubleFeatureFlagFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("D") + parameters("J", "D") +} + +internal val experimentalLongFeatureFlagFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("J") + parameters("J", "J") +} + +internal val experimentalStringFeatureFlagFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("Ljava/lang/String;") + parameters("J", "Ljava/lang/String;") +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt index 67ba7c80c..5ea7a0b71 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt @@ -6,6 +6,7 @@ import app.revanced.util.indexOfFirstInstruction import app.revanced.util.literal import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.Method import com.android.tools.smali.dexlib2.iface.reference.MethodReference internal val buildInitPlaybackRequestFingerprint = fingerprint { @@ -40,13 +41,6 @@ internal val buildRequestFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) returns("Lorg/chromium/net/UrlRequest") // UrlRequest; or UrlRequest$Builder; custom { methodDef, _ -> - if (methodDef.indexOfFirstInstruction { - val reference = getReference() - reference?.name == "newUrlRequestBuilder" - } < 0) { - return@custom false - } - // Different targets have slightly different parameters // Earlier targets have parameters: @@ -80,10 +74,10 @@ internal val buildRequestFingerprint = fingerprint { val parameterTypesSize = parameterTypes.size (parameterTypesSize == 6 || parameterTypesSize == 7 || parameterTypesSize == 8) && parameterTypes[1] == "Ljava/util/Map;" // URL headers. + && indexOfNewUrlRequestBuilderInstruction(methodDef) >= 0 } } - internal val protobufClassParseByteBufferFingerprint = fingerprint { accessFlags(AccessFlags.PROTECTED, AccessFlags.STATIC) returns("L") @@ -142,6 +136,17 @@ internal val hlsCurrentTimeFingerprint = fingerprint { } } +internal const val DISABLED_BY_SABR_STREAMING_URI_STRING = "DISABLED_BY_SABR_STREAMING_URI" + +internal val mediaFetchEnumConstructorFingerprint = fingerprint { + returns("V") + strings( + "ENABLED", + "DISABLED_FOR_PLAYBACK", + DISABLED_BY_SABR_STREAMING_URI_STRING + ) +} + internal val nerdsStatsVideoFormatBuilderFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) returns("Ljava/lang/String;") @@ -150,7 +155,6 @@ internal val nerdsStatsVideoFormatBuilderFingerprint = fingerprint { } internal val patchIncludedExtensionMethodFingerprint = fingerprint { - accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) returns("Z") parameters() custom { method, classDef -> @@ -187,3 +191,13 @@ internal val playbackStartDescriptorFeatureFlagFingerprint = fingerprint { returns("Z") literal { PLAYBACK_START_CHECK_ENDPOINT_USED_FEATURE_FLAG } } + +internal fun indexOfNewUrlRequestBuilderInstruction(method: Method) = method.indexOfFirstInstruction { + val reference = getReference() + opcode == Opcode.INVOKE_VIRTUAL && reference?.definingClass == "Lorg/chromium/net/CronetEngine;" + && reference.name == "newUrlRequestBuilder" + && reference.parameterTypes.size == 3 + && reference.parameterTypes[0] == "Ljava/lang/String;" + && reference.parameterTypes[1] == "Lorg/chromium/net/UrlRequest\$Callback;" + && reference.parameterTypes[2] == "Ljava/util/concurrent/Executor;" +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index 26b80a2f9..c03e8022c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -5,9 +5,11 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.extensions.InstructionExtensions.instructions +import app.revanced.patcher.fingerprint import app.revanced.patcher.patch.BytecodePatchBuilder import app.revanced.patcher.patch.BytecodePatchContext import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch @@ -22,15 +24,18 @@ import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction +import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction import com.android.tools.smali.dexlib2.iface.reference.FieldReference -import com.android.tools.smali.dexlib2.iface.reference.MethodReference import com.android.tools.smali.dexlib2.immutable.ImmutableMethod import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/shared/spoof/SpoofVideoStreamsPatch;" +private lateinit var buildRequestMethod: MutableMethod +private var buildRequestMethodUrlRegister = -1 + fun spoofVideoStreamsPatch( block: BytecodePatchBuilder.() -> Unit = {}, fixMediaFetchHotConfigChanges: BytecodePatchBuilder.() -> Boolean = { false }, @@ -91,18 +96,17 @@ fun spoofVideoStreamsPatch( // region Get replacement streams at player requests. buildRequestFingerprint.method.apply { - val newRequestBuilderIndex = indexOfFirstInstructionOrThrow { - opcode == Opcode.INVOKE_VIRTUAL && - getReference()?.name == "newUrlRequestBuilder" - } - val urlRegister = getInstruction(newRequestBuilderIndex).registerD - val freeRegister = findFreeRegister(newRequestBuilderIndex, urlRegister) + buildRequestMethod = this + + val newRequestBuilderIndex = indexOfNewUrlRequestBuilderInstruction(this) + buildRequestMethodUrlRegister = getInstruction(newRequestBuilderIndex).registerD + val freeRegister = findFreeRegister(newRequestBuilderIndex, buildRequestMethodUrlRegister) addInstructions( newRequestBuilderIndex, """ move-object v$freeRegister, p1 - invoke-static { v$urlRegister, v$freeRegister }, $EXTENSION_CLASS_DESCRIPTOR->fetchStreams(Ljava/lang/String;Ljava/util/Map;)V + invoke-static { v$buildRequestMethodUrlRegister, v$freeRegister }, $EXTENSION_CLASS_DESCRIPTOR->fetchStreams(Ljava/lang/String;Ljava/util/Map;)V """ ) } @@ -187,6 +191,21 @@ fun spoofVideoStreamsPatch( // endregion + // region block getAtt request + + buildRequestMethod.apply { + val insertIndex = indexOfNewUrlRequestBuilderInstruction(this) + + addInstructions( + insertIndex, """ + invoke-static { v$buildRequestMethodUrlRegister }, $EXTENSION_CLASS_DESCRIPTOR->blockGetAttRequest(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$buildRequestMethodUrlRegister + """ + ) + } + + // endregion + // region Remove /videoplayback request body to fix playback. // It is assumed, YouTube makes a request with a body tuned for Android. // Requesting streams intended for other platforms with a body tuned for Android could be the cause of 400 errors. @@ -243,6 +262,50 @@ fun spoofVideoStreamsPatch( // endregion + // region Disable SABR playback. + // If SABR is disabled, it seems 'MediaFetchHotConfig' may no longer need an override (not confirmed). + + val (mediaFetchEnumClass, sabrFieldReference) = with(mediaFetchEnumConstructorFingerprint.method) { + val stringIndex = mediaFetchEnumConstructorFingerprint.stringMatches!!.first { + it.string == DISABLED_BY_SABR_STREAMING_URI_STRING + }.index + + val mediaFetchEnumClass = definingClass + val sabrFieldIndex = indexOfFirstInstructionOrThrow(stringIndex) { + opcode == Opcode.SPUT_OBJECT && + getReference()?.type == mediaFetchEnumClass + } + + Pair( + mediaFetchEnumClass, + getInstruction(sabrFieldIndex).reference + ) + } + + fingerprint { + returns(mediaFetchEnumClass) + opcodes( + Opcode.SGET_OBJECT, + Opcode.RETURN_OBJECT, + ) + custom { method, _ -> + !method.parameterTypes.isEmpty() + } + }.method.addInstructionsWithLabels( + 0, + """ + invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->disableSABR()Z + move-result v0 + if-eqz v0, :ignore + sget-object v0, $sabrFieldReference + return-object v0 + :ignore + nop + """ + ) + + // endregion + // region turn off stream config replacement feature flag. if (fixMediaFetchHotConfigChanges()) { diff --git a/patches/src/main/kotlin/app/revanced/patches/viber/ads/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/viber/ads/Fingerprints.kt index 11ebe0d11..29b752cf8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/viber/ads/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/viber/ads/Fingerprints.kt @@ -2,12 +2,6 @@ package app.revanced.patches.viber.ads import app.revanced.patcher.fingerprint -internal val adsFreeFingerprint = fingerprint { - returns("I") - parameters() - custom { method, classDef -> - classDef.type.contains("com/viber/voip/feature/viberplus") && - classDef.superclass?.contains("com/viber/voip/core/feature") == true && // Must extend com.viber.voip.core.feature.? - classDef.methods.count() == 1 - } +internal val findAdStringFingerprint = fingerprint { + strings("viber_plus_debug_ads_free_flag") } diff --git a/patches/src/main/kotlin/app/revanced/patches/viber/ads/HideAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/viber/ads/HideAdsPatch.kt index 91bff02c6..0ec31e376 100644 --- a/patches/src/main/kotlin/app/revanced/patches/viber/ads/HideAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/viber/ads/HideAdsPatch.kt @@ -1,17 +1,41 @@ package app.revanced.patches.viber.ads +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.fingerprint +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.indexOfFirstInstructionReversedOrThrow import app.revanced.util.returnEarly +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction +import com.android.tools.smali.dexlib2.iface.reference.TypeReference @Suppress("unused") val hideAdsPatch = bytecodePatch( name = "Hide Ads", description = "Hides ad banners between chats.", ) { - compatibleWith("com.viber.voip"("25.9.2.0")) + compatibleWith("com.viber.voip"("25.9.2.0", "26.1.2.0")) execute { - // Return 1 (true) indicating ads should be disabled. - adsFreeFingerprint.method.returnEarly(1) + val method = findAdStringFingerprint.method + + // Find the ads free string index + val stringIndex = findAdStringFingerprint.stringMatches!!.first().index + + // Search backwards from the string to find the `new-instance` (TypeReference) instruction + val typeRefIndex = method.indexOfFirstInstructionReversedOrThrow(stringIndex) { this.opcode == Opcode.NEW_INSTANCE } + + // Get the class name from the TypeReference + val targetClass = method.getInstruction(typeRefIndex).reference as TypeReference + + // Patch the ads-free method to always return true + fingerprint { + returns("I") + parameters() + custom { method, classDef -> + classDef == targetClass + } + }.method.returnEarly(1) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt index e1d326610..d2175db4c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt @@ -78,10 +78,9 @@ val hideAdsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt index bed7dba99..9e7095e30 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt @@ -27,10 +27,9 @@ val hideGetPremiumPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt index 81d19d698..aad7f8cc3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt @@ -25,10 +25,9 @@ val videoAdsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt index 047950331..5c46810fc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt @@ -55,10 +55,9 @@ val copyVideoUrlPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt index 8c366e58b..6aaf0e3ad 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt @@ -26,10 +26,9 @@ val removeViewerDiscretionDialogPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt index 9672ef9a2..fbf153507 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt @@ -29,8 +29,8 @@ val disableDoubleTapActionsPatch = bytecodePatch( compatibleWith( "com.google.android.youtube"( "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt index ed2f7f043..b48148655 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt @@ -76,10 +76,9 @@ val downloadsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt index fc2b9b998..e0fb2ea61 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt @@ -22,10 +22,9 @@ val seekbarPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt index dd83a9549..83a553aef 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt @@ -90,10 +90,9 @@ val swipeControlsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt index ff7ee248f..8a6e216dc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt @@ -26,10 +26,9 @@ val autoCaptionsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index 1eac1fb6c..816fa5de2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -45,10 +45,9 @@ val customBrandingPatch = resourcePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt index cd2045550..a8d0b2d38 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt @@ -95,10 +95,9 @@ val changeHeaderPatch = resourcePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt index 0881c499a..1186188f7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt @@ -24,10 +24,9 @@ val hideButtonsPatch = resourcePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) @@ -41,6 +40,7 @@ val hideButtonsPatch = resourcePatch( SwitchPreference("revanced_disable_like_subscribe_glow"), SwitchPreference("revanced_hide_ask_button"), SwitchPreference("revanced_hide_clip_button"), + SwitchPreference("revanced_hide_comments_button"), SwitchPreference("revanced_hide_download_button"), SwitchPreference("revanced_hide_hype_button"), SwitchPreference("revanced_hide_like_dislike_button"), diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt index b59ec3f38..03210d5ee 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt @@ -42,10 +42,9 @@ val navigationButtonsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt index a890cf2be..c8bd12f4b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt @@ -60,10 +60,9 @@ val hidePlayerOverlayButtonsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt index 6e9672cf9..c6412ec66 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt @@ -35,10 +35,9 @@ val changeFormFactorPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt index 458801631..889c32462 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt @@ -61,10 +61,9 @@ val hideEndscreenCardsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt index db5115207..498051829 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt @@ -33,10 +33,9 @@ val hideEndScreenSuggestedVideoPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt index f2b87d5be..f75bd9cbd 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt @@ -31,10 +31,9 @@ val disableFullscreenAmbientModePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt index 4c9bac27c..affb18b81 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt @@ -128,10 +128,9 @@ val hideLayoutComponentsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt index cac5c169b..a53af02af 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt @@ -59,10 +59,9 @@ val hideInfoCardsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt index b18525c4c..f8f32b8e8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt @@ -26,10 +26,9 @@ val hidePlayerFlyoutMenuPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt index fa8fa9f04..537ae6aa5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt @@ -50,10 +50,9 @@ val hideRelatedVideoOverlayPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt index b81cab1cb..b251253ac 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt @@ -31,10 +31,9 @@ val disableRollingNumberAnimationPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 1faab015e..723005d67 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -174,10 +174,9 @@ val hideShortsComponentsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt index 1a591c315..3f7229432 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt @@ -33,10 +33,9 @@ val disableSignInToTvPopupPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt index 6d9bfb567..ab85861c4 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt @@ -23,10 +23,9 @@ val hideTimestampPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt index 08f78f9dc..34ce1e1ff 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt @@ -155,10 +155,9 @@ val miniplayerPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt index 56bdac659..b95e81ba1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt @@ -23,10 +23,9 @@ val playerPopupPanelsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt index 2c61ce596..148427a95 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt @@ -23,10 +23,9 @@ internal val exitFullscreenPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt index 1c76b56e4..a0b513f3e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt @@ -25,10 +25,9 @@ val openVideosFullscreenPatch = bytecodePatch( compatibleWith( "com.google.android.youtube"( - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt index 35f81a643..21ffbe853 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt @@ -54,10 +54,9 @@ val customPlayerOverlayOpacityPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt index b65b8f6c4..7e063aca2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt @@ -63,10 +63,9 @@ val returnYouTubeDislikePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt index 4f06635d1..ad9ffb6c1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt @@ -68,10 +68,9 @@ val wideSearchbarPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt index bf63a2191..17b20a913 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt @@ -46,10 +46,9 @@ val shortsAutoplayPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt index aa9aa1954..1f4b58278 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt @@ -66,10 +66,9 @@ val openShortsInRegularPlayerPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt index 80cbfe041..8ada0c07a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt @@ -128,10 +128,9 @@ val sponsorBlockPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt index 0d6b6c89c..c60250949 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt @@ -17,6 +17,7 @@ import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPref import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.playservice.is_19_43_or_greater +import app.revanced.patches.youtube.misc.playservice.is_20_14_or_greater import app.revanced.patches.youtube.misc.playservice.versionCheckPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch @@ -60,10 +61,9 @@ val spoofAppVersionPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) @@ -79,17 +79,21 @@ val spoofAppVersionPatch = bytecodePatch( tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory", preferences = setOf( SwitchPreference("revanced_spoof_app_version"), - if (is_19_43_or_greater) { + if (is_20_14_or_greater) { + ListPreference("revanced_spoof_app_version_target") + } else if (is_19_43_or_greater) { ListPreference( key = "revanced_spoof_app_version_target", - summaryKey = null + summaryKey = null, + entriesKey = "revanced_spoof_app_version_target_legacy_20_13_entries", + entryValuesKey = "revanced_spoof_app_version_target_legacy_20_13_entry_values" ) } else { ListPreference( key = "revanced_spoof_app_version_target", summaryKey = null, - entriesKey = "revanced_spoof_app_version_target_legacy_entries", - entryValuesKey = "revanced_spoof_app_version_target_legacy_entry_values" + entriesKey = "revanced_spoof_app_version_target_legacy_19_34_entries", + entryValuesKey = "revanced_spoof_app_version_target_legacy_19_34_entry_values" ) } ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt index e54d13e79..fd61679c3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt @@ -34,10 +34,9 @@ val changeStartPagePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt index 4a8737fa4..f65b85732 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt @@ -36,10 +36,9 @@ val disableResumingShortsOnStartupPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt index 04d7a3d79..ca8709871 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt @@ -206,10 +206,9 @@ val themePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt index bd883935e..4b3ebf9ad 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt @@ -35,10 +35,9 @@ val alternativeThumbnailsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt index 1f2547720..65b95b7a6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt @@ -29,10 +29,9 @@ val bypassImageRegionRestrictionsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt index 5a7d976df..26a74c5b9 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt @@ -25,10 +25,9 @@ val announcementsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt index e90fc619a..324006c05 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt @@ -26,10 +26,9 @@ val autoRepeatPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt index a0e44d4d5..cd5830462 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt @@ -53,10 +53,9 @@ val backgroundPlaybackPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt index ab8c54afb..21a7c048b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt @@ -1,144 +1,34 @@ package app.revanced.patches.youtube.misc.debugging -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions -import app.revanced.patcher.extensions.InstructionExtensions.getInstruction -import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.all.misc.resources.addResources -import app.revanced.patches.all.misc.resources.addResourcesPatch -import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference -import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference -import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting +import app.revanced.patches.shared.misc.debugging.enableDebuggingPatch import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch -import app.revanced.patches.youtube.misc.playservice.versionCheckPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch -import app.revanced.util.findInstructionIndicesReversedOrThrow -import app.revanced.util.indexOfFirstInstructionOrThrow -import app.revanced.util.indexOfFirstInstructionReversedOrThrow -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/youtube/patches/EnableDebuggingPatch;" - -// TODO: Refactor this into a shared patch that can be used by both YT and YT Music. -// Almost all of the feature flag hooks are the same between both apps. -val enableDebuggingPatch = bytecodePatch( - name = "Enable debugging", - description = "Adds options for debugging and exporting ReVanced logs to the clipboard.", -) { - dependsOn( - sharedExtensionPatch, - settingsPatch, - addResourcesPatch, - versionCheckPatch - ) - - compatibleWith( - "com.google.android.youtube"( - "19.34.42", - "19.43.41", - "19.47.53", - "20.07.39", - "20.12.46", - "20.13.41", +@Suppress("unused") +val enableDebuggingPatch = enableDebuggingPatch( + block = { + dependsOn( + sharedExtensionPatch, + settingsPatch, ) - ) - execute { - addResources("shared", "misc.debugging.enableDebuggingPatch") + compatibleWith( + "com.google.android.youtube"( + "19.34.42", + "19.43.41", + "20.07.39", + "20.13.41", + "20.14.43", + ) + ) + }, + executeBlock = { addResources("youtube", "misc.debugging.enableDebuggingPatch") - - PreferenceScreen.MISC.addPreferences( - PreferenceScreenPreference( - key = "revanced_debug_screen", - sorting = Sorting.UNSORTED, - preferences = setOf( - SwitchPreference("revanced_debug"), - SwitchPreference("revanced_debug_protobuffer"), - SwitchPreference("revanced_debug_stacktrace"), - SwitchPreference("revanced_debug_toast_on_error"), - NonInteractivePreference( - "revanced_debug_export_logs_to_clipboard", - tag = "app.revanced.extension.shared.settings.preference.ExportLogToClipboardPreference", - selectable = true - ), - NonInteractivePreference( - "revanced_debug_logs_clear_buffer", - tag = "app.revanced.extension.shared.settings.preference.ClearLogBufferPreference", - selectable = true - ), - ), - ), - ) - - // Hook the methods that look up if a feature flag is active. - experimentalBooleanFeatureFlagFingerprint.match( - experimentalFeatureFlagParentFingerprint.originalClassDef - ).method.apply { - findInstructionIndicesReversedOrThrow(Opcode.RETURN).forEach { index -> - val register = getInstruction(index).registerA - - addInstructions( - index, - """ - invoke-static { v$register, p1 }, $EXTENSION_CLASS_DESCRIPTOR->isBooleanFeatureFlagEnabled(ZLjava/lang/Long;)Z - move-result v$register - """ - ) - } - } - - experimentalDoubleFeatureFlagFingerprint.match( - experimentalFeatureFlagParentFingerprint.originalClassDef - ).method.apply { - val insertIndex = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_WIDE) - - addInstructions( - insertIndex, - """ - move-result-wide v0 # Also clobbers v1 (p0) since result is wide. - invoke-static/range { v0 .. v5 }, $EXTENSION_CLASS_DESCRIPTOR->isDoubleFeatureFlagEnabled(DJD)D - move-result-wide v0 - return-wide v0 - """ - ) - } - - experimentalLongFeatureFlagFingerprint.match( - experimentalFeatureFlagParentFingerprint.originalClassDef - ).method.apply { - val insertIndex = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_WIDE) - - addInstructions( - insertIndex, - """ - move-result-wide v0 - invoke-static/range { v0 .. v5 }, $EXTENSION_CLASS_DESCRIPTOR->isLongFeatureFlagEnabled(JJJ)J - move-result-wide v0 - return-wide v0 - """ - ) - } - - experimentalStringFeatureFlagFingerprint.match( - experimentalFeatureFlagParentFingerprint.originalClassDef - ).method.apply { - val insertIndex = indexOfFirstInstructionReversedOrThrow(Opcode.MOVE_RESULT_OBJECT) - - addInstructions( - insertIndex, - """ - move-result-object v0 - invoke-static { v0, p1, p2, p3 }, $EXTENSION_CLASS_DESCRIPTOR->isStringFeatureFlagEnabled(Ljava/lang/String;JLjava/lang/String;)Ljava/lang/String; - move-result-object v0 - return-object v0 - """ - ) - } - - // There exists other experimental accessor methods for byte[] - // and wrappers for obfuscated classes, but currently none of those are hooked. - } -} + }, + hookStringFeatureFlag = true, + preferenceScreen = PreferenceScreen.MISC, + additionalDebugPreferences = listOf(SwitchPreference("revanced_debug_protobuffer")) +) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt index 5de171637..5982114de 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt @@ -26,10 +26,9 @@ val spoofDeviceDimensionsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt index f9ee7849b..dc2aaf258 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt @@ -23,10 +23,9 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt index 3de2e836a..7877ce7db 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt @@ -1,8 +1,8 @@ package app.revanced.patches.youtube.misc.fix.backtoexitgesture -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.AccessFlags import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode internal val scrollPositionFingerprint = fingerprint { accessFlags(AccessFlags.PROTECTED, AccessFlags.FINAL) @@ -24,30 +24,18 @@ internal val recyclerViewTopScrollingFingerprint = fingerprint { returns("V") parameters() opcodes( - Opcode.IGET_OBJECT, - Opcode.IF_EQZ, - Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT, - Opcode.IF_EQZ, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, Opcode.CHECK_CAST, Opcode.CONST_4, Opcode.INVOKE_VIRTUAL, Opcode.GOTO, Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, + Opcode.INVOKE_INTERFACE ) } internal val recyclerViewTopScrollingParentFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR) - parameters("L", "L", "Landroid/view/ViewGroup;", "Landroid/view/ViewGroup;") opcodes( - Opcode.INVOKE_DIRECT, Opcode.IPUT_OBJECT, Opcode.IPUT_OBJECT, Opcode.IPUT_OBJECT, @@ -55,5 +43,8 @@ internal val recyclerViewTopScrollingParentFingerprint = fingerprint { Opcode.CONST_16, Opcode.INVOKE_VIRTUAL, Opcode.NEW_INSTANCE, + Opcode.INVOKE_DIRECT, + Opcode.IPUT_OBJECT, + Opcode.RETURN_VOID ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt index d64857769..cf55ed6b5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt @@ -15,13 +15,14 @@ internal val fixBackToExitGesturePatch = bytecodePatch( ) { execute { - recyclerViewTopScrollingFingerprint.match(recyclerViewTopScrollingParentFingerprint.originalClassDef) - .let { - it.method.addInstruction( - it.patternMatch!!.endIndex, - "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->onTopView()V" - ) - } + recyclerViewTopScrollingFingerprint.match( + recyclerViewTopScrollingParentFingerprint.originalClassDef + ).let { + it.method.addInstruction( + it.patternMatch!!.endIndex, + "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->onTopView()V" + ) + } scrollPositionFingerprint.let { navigate(it.originalMethod) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt index 5ffd49cb4..5dc87ad94 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt @@ -37,10 +37,9 @@ val gmsCoreSupportPatch = gmsCoreSupportPatch( YOUTUBE_PACKAGE_NAME( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt index 363fea9c2..cd50847fd 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt @@ -28,10 +28,9 @@ val disableHapticFeedbackPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt index 6f0b94ece..2b1b2fc8e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt @@ -34,10 +34,9 @@ val bypassURLRedirectsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt index 428b606ff..70e5b8dbc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt @@ -43,10 +43,9 @@ val openLinksExternallyPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt index 235572eaa..7e99f0177 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt @@ -32,10 +32,9 @@ val removeTrackingQueryParameterPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt index 3981e7db1..9981a8fe6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt @@ -24,10 +24,9 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt index b17d1c96c..3aec4a62e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt @@ -46,10 +46,9 @@ val forceOriginalAudioPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) @@ -57,7 +56,10 @@ val forceOriginalAudioPatch = bytecodePatch( addResources("youtube", "video.audio.forceOriginalAudioPatch") PreferenceScreen.VIDEO.addPreferences( - SwitchPreference("revanced_force_original_audio") + SwitchPreference( + key = "revanced_force_original_audio", + tag = "app.revanced.extension.youtube.settings.preference.ForceOriginalAudioSwitchPreference" + ) ) mainActivityOnCreateFingerprint.method.addInstruction( diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt index abea2c22c..96192517b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt @@ -56,10 +56,9 @@ val disableHdrPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt index 55a449647..ca51614b3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt @@ -26,10 +26,9 @@ val videoQualityPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt index 7ab9d2e0b..3da73226b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt @@ -30,10 +30,9 @@ val playbackSpeedPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index 8915ca942..996d7def4 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" تسجيل تصحيح الأخطاء تم تمكين تسجيلات تصحيح الأخطاء تم تعطيل تسجيلات تصحيح الأخطاء + سجل تتبع المكدس + تتضمن سجلات التصحيح سجل تتبع المكدس + لا تتضمن سجلات التصحيح سجل تتبع المكدس + عرض ملاحظة عند وجود خطأ في ReVanced + يتم عرض ملاحظة في حالة حدوث خطأ + لا يتم عرض ملاحظة في حالة حدوث خطأ + "يؤدي إيقاف تشغيل ملاحظات الأخطاء إلى إخفاء كافة إشعارات أخطاء ReVanced. + +لن يتم إعلامك بأي أخطاء غير متوقعة." تصدير سجلات تصحيح الأخطاء نسخ سجلات تصحيح أخطاء ReVanced إلى الحافظة تم تعطيل تسجيلات تصحيح الأخطاء @@ -151,15 +160,6 @@ Second \"item\" text" يمكن أن يساعد هذا في تحديد المكونات عند إنشاء عوامل تصفية مخصصة. ومع ذلك، سيؤدي تمكين هذا أيضًا إلى تسجيل بعض بيانات المستخدم مثل عنوان IP الخاص بك." - سجل تتبع المكدس - تتضمن سجلات التصحيح سجل تتبع المكدس - لا تتضمن سجلات التصحيح سجل تتبع المكدس - عرض ملاحظة عند وجود خطأ في ReVanced - يتم عرض ملاحظة في حالة حدوث خطأ - لا يتم عرض ملاحظة في حالة حدوث خطأ - "يؤدي إيقاف تشغيل ملاحظات الأخطاء إلى إخفاء كافة إشعارات أخطاء ReVanced. - -لن يتم إعلامك بأي أخطاء غير متوقعة." إخفاء بطاقات الألبوم @@ -586,6 +586,10 @@ Second \"item\" text" إخفاء إيقاف الإعلانات زر إيقاف الإعلانات مخفي زر إيقاف الإعلانات معروض + + إخفاء التعليقات + زر التعليقات مخفي + زر التعليقات ظاهر إخفاء الإبلاغ @@ -1242,8 +1246,9 @@ Second \"item\" text" إذا تم إيقاف تشغيله لاحقًا، من المستحسن مسح بيانات التطبيق لمنع حدوث أخطاء في واجهة المستخدم." الهدف من تغيير إصدار التطبيق - 19.35.36 - استعادة أيقونات مشغل Shorts القديمة - 19.01.34 - استعادة أيقونات التنقل القديمة + 20.13.41 - استعادة شريط إجراءات الفيديو غير المطوي + 19.35.36 - استعادة أيقونات مشغل Shorts القديمة + 19.01.34 - استعادة أيقونات التنقل القديمة تغيير صفحة البداية @@ -1477,7 +1482,7 @@ Second \"item\" text" استخدام لغة الصوت الأصلية استخدام الصوت الافتراضي - لاستخدام هذه الميزة، غيّر \'Spoof Video Streams\' إلى iOS TV + لاستخدام هذه الميزة، غيّر \"تزوير تدفقات الفيديو\" إلى أي عميل باستثناء Android Studio @@ -1559,12 +1564,15 @@ Second \"item\" text" • عميل تجريبي وقد يتوقف عن العمل في أي وقت • لا يوجد ترميز الفيديو AV1 • قد لا يتم تشغيل الفيديوهات المخصصة للأطفال عند تسجيل الخروج أو عند استخدام وضع التصفح المتخفي + + • فرض الصوت الأصلي غير متاح عرض في إحصاءات تقنية يتم عرض نوع العميل في إحصاءات تقنية تم إخفاء نوع العميل في إحصاءات تقنية لغة بث الصوت لتحديد لغة صوتية معينة، قم بإيقاف تشغيل \"فرض لغة الصوت الأصلية\" + اختيار لغة البث غير متاح مع Android Studio @@ -1585,11 +1593,46 @@ Second \"item\" text" تم تمكين التكرار الدائم تم تعطيل التكرار الدائم + + إخفاء زر الإرسال + زر الإرسال مخفي + زر الإرسال ظاهر + إخفاء شريط الفئات شريط الفئات مخفي شريط الفئات معروض + + شريط التنقل + إخفاء أزرار شريط التنقل أو تغييرها + + إخفاء الرئيسية + زر \"الرئيسية\" مخفي + زر \"الرئيسية\" ظاهر + + إخفاء المقاطع + زر \"المقتطفات\" مخفي + زر \"المقتطفات\" ظاهر + + إخفاء استكشاف + زر \"استكشاف\" مخفي + زر \"استكشاف\" ظاهر + + إخفاء المكتبة + زر \"المكتبة\" مخفي + زر \"المكتبة\" ظاهر + + إخفاء ترقية + زر \"الترقية\" مخفي + زر \"الترقية\" ظاهر + إخفاء شريط التنقل + شريط التنقل مخفي + شريط التنقل ظاهر + إخفاء تسميات أزرار التنقل + التسميات مخفية + التسميات ظاهرة + إخفاء تسمية \'الحصول على Music Premium\' التسمية مخفية diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index a87acac0a..a1f6341bd 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -245,6 +246,7 @@ Second \"item\" text" + @@ -255,8 +257,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 1480d8734..b3ed48ac1 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -107,6 +107,15 @@ Oynatma işləməyə bilər" Sazlama jurnalı Sazlama jurnalı işləkdir Sazlama jurnalı qeyri-aktivdir + Yığın izləri jurnalı + Sazlama jurnalına yığın izləri daxildir + Sazlama jurnalına yığın izləri daxil deyil + ReVanced xətasında ani bildiriş göstər + Xəta baş verərsə ani bildiriş görünür + Xəta baş verərsə ani bildiriş görünmür + "Xəta ani bildirişlərin qapatmaq, bütün ReVanced xəta bildirişlərin gizlədir. + +Gözlənilməz hallardan xəbərdar olmayacaqsınız." Sazlama qeydlərini ixrac edin ReVanced sazlama qeydlərini buferə köçürür Sazlama qeydi qapalıdır @@ -151,15 +160,6 @@ Oynatma işləməyə bilər" Bu, xüsusi filtrlər yaradarkən quruluşları müəyyən etməyə kömək edə bilər. Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlumatın da daxil edəcək." - Yığın izləri jurnalı - Sazlama jurnalına yığın izləri daxildir - Sazlama jurnalına yığın izləri daxil deyil - ReVanced xətasında ani bildiriş göstər - Xəta baş verərsə ani bildiriş görünür - Xəta baş verərsə ani bildiriş görünmür - "Xəta ani bildirişlərin qapatmaq, bütün ReVanced xəta bildirişlərin gizlədir. - -Gözlənilməz hallardan xəbərdar olmayacaqsınız." Albom kartlarını gizlət @@ -586,6 +586,10 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz Reklamları Dayandırın-ı gizlət Reklamları dayandır düyməsi gizlidir Reklamları dayandır düyməsi görünür + + Şərhləri Gizlət + Şərhlər düyməsi gizlidir + Şərhlər düyməsi görünür \"Xəbər verin\"i gizlət @@ -622,6 +626,9 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz Kəsmə düyməsi gizlidir Kəsmə düyməsi göstərilir + Mağazanı Gizlət + Mağaza düyməsi gizlidir + Mağaza düyməsi görünür Saxlayın-ı Gizlət Saxlayın düyməsi gizlidir @@ -1238,8 +1245,9 @@ Bu tətbiqin görünüşün və xüsusiyyətlərin dəyişdirəcək, lakin bilin Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların silmək tövsiyə olunur." Saxta tətbiq versiyası hədəfi - 19.35.36 - Köhnə Shorts oynadıcı işarələrin bərpa et - 19.01.34 - Köhnə fəaliyyət simvolların bərpa et + 20.13.41 - Yığılmayan video fəaliyyət cizgisin bərpa et + 19.35.36 - Köhnə Shorts oynadıcı işarələrin bərpa et + 19.01.34 - Köhnə fəaliyyət simvolların bərpa et Başlatma səhifəsini dəyişdir @@ -1473,7 +1481,7 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər Orijinal səs dilini istifadə İlkin səs istifadəsi - Bu xüsusiyyəti istifadə etmək üçün \"Saxta video yayımların\" iOS TV-yə dəyiş + Bu funksiyanı istifadə etmək üçün \"Video yayımları saxtalaşdırı\" Android Studio savayı istənilən qəbulediciyə dəyiş @@ -1555,12 +1563,15 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər • Təcrübi qəbuledici və hər vaxt işləməyi dayandıra bilər • AV1 video kodlayıcı yoxdur • Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz + + • \"Orijinal səsi zorla\" əlçatmazdır İstək üçün Statistikada göstər Qəbuledici növü İstək üçün statistikada göstərilir Qəbuledici nerd üçün Statistikada gizlidir Səs yayım dili Xüsusi səs dilini seçmək üçün \"Orijinal səs dilini zorlanı\" qapat + Yayım dili seçimi Android Studio ilə əlçatmazdır @@ -1581,11 +1592,46 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər Kəsintisiz təkrarlama aktivdir Kəsintisiz təkrarlama qapalıdır + + Yayım düyməsini gizlət + Yayım düyməsi gizlidir + Yayım düyməsi göstərilir + Kateqoriya cizgisin gizlət Kateqoriya cizgisi gizlidir Kateqoriya cizgisi görünür + + Fəaliyyət cizgisi + Fəaliyyət cizgisi düymələrini gizlət və ya dəyiş + + Ev-i Gizlət + Ev düyməsi gizlidir + Ev düyməsi görünür + + Nümunələri Gizlət + Nümunələr düyməsi gizlidir + Nümunələr düyməsi görünür + + Kəşf edin-i gizlət + Kəşf et düyməsi gizlidir + Kəşf et düyməsi görünür + + Kitabxananı gizlət + Kitabxana düyməsi gizlidir + Kitabxana düyməsi görünür + + Təkmilləşdirməni Gizlət + Təkmilləşdirmə düyməsi gizlidir + Təkmilləşdirmə düyməsi görünür + Fəaliyyət cizgisin gizlət + Fəaliyyət cizgisi gizlidir + Fəaliyyət cizgisi görünür + Fəaliyyət düyməsi etiketlərini gizlət + Etiketlər gizlidir + Etiketlər görünür + \'Musiqi Premiumu Əldə et\' etiketini gizlət Etiket gizlidir diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index a281adf3a..2088ba77a 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" Запіс адладкі Журналы адладкі ўключаны Журналы адладкі адключаны + Сляды стэка журнала + Журналы адладкі ўключаюць трасіроўку стэка + Журналы адладкі не ўключаюць трасіроўку стэка + Паказаць тост пры памылцы ReVanced + Паказваць toast у выпадку памылкі + Не паказваць toast у выпадку памылкі + "Адключэнне паведамленняў пра памылкі схавае ўсе апавяшчэнні ReVanced пра памылкі. + +Вы не будзеце атрымліваць апавяшчэнні пра нечаканыя падзеі." Экспартаваць адладачныя лагі Капіруе адладачныя лагі ReVanced у буфер абмену Адладачнае лагаванне адключана @@ -151,15 +160,6 @@ Second \"item\" text" Гэта можа дапамагчы ідэнтыфікаваць кампаненты пры стварэнні карыстацкіх фільтраў. Аднак уключэнне гэтага параметра таксама будзе запісваць некаторыя даныя карыстальніка, такія як ваш IP-адрас." - Сляды стэка журнала - Журналы адладкі ўключаюць трасіроўку стэка - Журналы адладкі не ўключаюць трасіроўку стэка - Паказаць тост пры памылцы ReVanced - Паказваць toast у выпадку памылкі - Не паказваць toast у выпадку памылкі - "Адключэнне паведамленняў пра памылкі схавае ўсе апавяшчэнні ReVanced пра памылкі. - -Вы не будзеце атрымліваць апавяшчэнні пра нечаканыя падзеі." Схаваць карты альбома @@ -586,6 +586,10 @@ Second \"item\" text" Схаваць Спыніць рэкламу Кнопка \"Спыніць рэкламу\" схавана Кнопка \"Спыніць рэкламу\" паказана + + Схаваць каментарыі + Кнопка каментарыяў схавана + Кнопка каментарыяў паказана Схаваць справаздачу @@ -1243,8 +1247,9 @@ Second \"item\" text" Калі пазней будзе адключана, рэкамендуецца ачысціць даныя прыкладання, каб пазбегнуць памылак у інтэрфейсе." Падробка мэтавай версіі праграмы - 19.35.36 — Восстановить старые значки плеера Shorts - 19.01.34 - Аднаўленне старых значкоў навігацыі + 20.13.41 - Аднавіць не згорнуты радок дзеянняў відэа + 19.35.36 — Восстановить старые значки плеера Shorts + 19.01.34 - Аднаўленне старых значкоў навігацыі Змяніць стартавую старонку @@ -1478,7 +1483,7 @@ Second \"item\" text" Выкарыстоўваць арыгінальную мову аўдыя Выкарыстанне аўдыё па змаўчанні - Каб выкарыстоўваць гэту функцыю, змяніце параметр \"Падрабляць відэаструмені\" на iOS TV + Каб выкарыстаць гэтую функцыю, змяніце \'Падмена відэаструменяў\' на любога кліента, акрамя Android Studio @@ -1560,12 +1565,15 @@ Second \"item\" text" • Эксперыментальны кліент і можа спыніць працу ў любы час • Няма відэакідавання AV1 • Дзіцячыя відэа могуць не прайгравацца ў стане выхаду з акаўнта або ў рэжыме інкогніта + + • Прымусовы арыгінальны аўдыё недаступны Паказаць у статыстыцы для спецыялістаў Тып кліента адлюстроўваецца ў статыстыцы для спецыялістаў Кліент схаваны ў статыстыцы для спецыялістаў Мова аўдыяпатоку Каб выбраць пэўную мову аўдыё, адключыце \'Прымусовая арыгінальная мова аўдыё\' + Выбар мовы трансляцыі недаступны ў Android Studio @@ -1586,11 +1594,46 @@ Second \"item\" text" Пастаянны паўтор уключаны Пастаянны паўтор адключаны + + Схаваць кнопку трансляцыі + Кнопка трансляцыі схавана + Кнопка трансляцыі паказана + Схаваць панэль катэгорый Панэль катэгорый схаваная Панэль катэгорый паказаная + + Панэль навігацыі + Схаваць або змяніць кнопкі панэлі навігацыі + + Схаваць Галоўную + Кнопка \"Галоўная\" схавана + Кнопка \"Галоўная\" паказана + + Схаваць Узоры + Кнопка \"Узоры\" схавана + Кнопка \"Узоры\" паказана + + Схаваць Агляд + Кнопка \"Агляд\" схавана + Кнопка \"Агляд\" паказана + + Схаваць Бібліятэку + Кнопка \"Бібліятэка\" схавана + Кнопка \"Бібліятэка\" паказана + + Схаваць Прэміум + Кнопка \"Абнавіць\" схавана + Кнопка \"Абнавіць\" паказана + Схаваць панэль навігацыі + Панэль навігацыі схавана + Панэль навігацыі паказана + Схаваць подпісы кнопак навігацыі + Подпісы схаваны + Подпісы паказаны + Схаваць надпіс \"Атрымаць Music Premium\" Надпіс схаваны diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 51fac4739..21234bbc7 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" Дневник на отстраняването на грешки Дневникът за остраняване на грешки е активиран Дневникът за остраняване на грешки е деактивиран + Следи от стека на дневника + Дневникът за отстраняване на грешки съдържа следи от стека + Дневникът за отстраняване на грешки не съдържа следи от стека + Покажи системно съобщение при ReVanced грешка + Показва се toast, ако възникне грешка + Не се показва toast, ако възникне грешка + "Изключването на изскачащи съобщения за грешки крие всички известия за грешки на ReVanced. + +Няма да бъдете уведомени за неочаквани събития." Експортиране на логове за отстраняване на грешки Копира логовете за отстраняване на грешки на ReVanced в клипборда Отстраняването на грешки е деактивирано @@ -151,15 +160,6 @@ Second \"item\" text" Това може да помогне за идентифициране на компоненти при създаване на персонализирани филтри. Активирането на тази настройка обаче ще регистрира и някои потребителски данни, като например вашия IP адрес." - Следи от стека на дневника - Дневникът за отстраняване на грешки съдържа следи от стека - Дневникът за отстраняване на грешки не съдържа следи от стека - Покажи системно съобщение при ReVanced грешка - Показва се toast, ако възникне грешка - Не се показва toast, ако възникне грешка - "Изключването на изскачащи съобщения за грешки крие всички известия за грешки на ReVanced. - -Няма да бъдете уведомени за неочаквани събития." \"Карти на албумите\" @@ -586,6 +586,10 @@ Second \"item\" text" Скриване на „Спиране на реклами“ Бутонът за спиране на реклами е скрит Бутонът за спиране на реклами е показан + + Скрий коментари + Бутонът за коментари е скрит + Бутонът за коментари е показан Бутон за доклади @@ -1242,8 +1246,9 @@ Second \"item\" text" Ако по-късно бъде изключено, препоръчително е да изчистите данните на приложението, за да предотвратите грешки в потребителския интерфейс." Подлъгване за версията на - 19.35.36 - Възстановете старите икони на Shorts в плейъра - 19.01.34 - Възстановяване на стари икони за навигация + 20.13.41 - Възстановяване на несгъваема лента с действия за видео + 19.35.36 - Възстановете старите икони на Shorts в плейъра + 19.01.34 - Възстановяване на стари икони за навигация Промяна на началната страница @@ -1477,7 +1482,7 @@ Second \"item\" text" Използване на оригиналния език на аудиото Използване на аудио по подразбиране - За да използвате тази функция, сменете „Фалшифициране на видео потоци“ на iOS TV + За да използвате тази функция, променете \'Фалшифициране на видео потоци\' на всеки клиент, освен Android Studio @@ -1559,12 +1564,15 @@ Second \"item\" text" • Експериментален клиент и може да спре да работи по всяко време • Без AV1 видео кодек • Детските видеоклипове може да не се възпроизвеждат, когато сте излезли от профила си или в режим \"инкогнито\" + + • Принудителният оригинален звук не е наличен Poka6i v Statistiki za nerds Tipът na klienta se poka6va v Statistiki za nerds Klientът e skriт v Statistiki za nerds Език на аудио потока За да изберете конкретен аудио език, изключете \'Принудително оригинален аудио език\' + Изборът на език на потока не е наличен с Android Studio @@ -1585,11 +1593,46 @@ Second \"item\" text" Постоянното повтаряне е активирано Постоянното повтаряне е деактивирано + + Скриване на бутона за предаване + Бутонът за предаване е скрит + Бутонът за предаване е показан + Скриване на лентата с категории Лентата с категории е скрита Лентата с категории е показана + + Навигационна лента + Скриване или промяна на бутоните на навигационната лента + + Скриване на Начало + Бутонът Начало е скрит + Бутонът Начало е показан + + Скриване на Мостри + Бутонът Мостри е скрит + Бутонът Мостри е показан + + Скриване на Разглеждане + Бутонът Проучване е скрит + Бутонът Проучване е показан + + Скриване на Библиотека + Бутонът Библиотека е скрит + Бутонът Библиотека е показан + + Скриване на Надстройка + Бутонът Надграждане е скрит + Бутонът Надграждане е показан + Скриване на навигационната лента + Навигационната лента е скрита + Навигационната лента е показана + Скриване на етикетите на навигационните бутони + Етикетите са скрити + Етикетите са показани + Скриване на етикета „Вземете Music Premium“ Етикетът е скрит diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index dd836b3fd..8876b2690 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -107,6 +107,15 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ ডিবাগ লগিং ডিবাগ লগ সক্রিয় হয়েছে ডিবাগ লগ নিষ্ক্রিয় হয়েছে + স্টেক ট্রেস লগ + ডিবাগ লগ স্টেক ট্রেস সংযুক্ত করবে + ডিবাগ লগ স্টেক ট্রেস সংযুক্ত করবে না + ReVanced এর ত্রুটির ক্ষেত্রে টোস্ট দেখান + যদি ত্রুটি ঘটে তবে toast দেখানো হবে + যদি ত্রুটি ঘটে তবে toast দেখানো হবে না + "ত্রুটি \"toast\" বন্ধ করে ReVanced ত্রুটি বিজ্ঞপ্তিগুলি লুকানো হয়। + +আপনি কোনও অপ্রত্যাশিত ঘটনার বিষয়ে অবহিত হবেন না।" ডিবাগ লগগুলি রফতানি করুন ক্লিপবোর্ডে ReVanced ডিবাগ লগগুলি অনুলিপি করে ডিবাগ লগিং নিষ্ক্রিয় করা হয়েছে @@ -147,15 +156,6 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ ডিবাগ লগ প্রটোকল বাফার সংযুক্ত করবে ডিবাগ লগ প্রটোকল বাফার সংযুক্ত করবে না "এই সেটিংস সক্ষম করলে কিছু UI উপাদানের জন্য অন-স্ক্রীন পাঠ্য সহ অতিরিক্ত লেআউট ডেটা লগ করা হবে।\n\nএটি কাস্টম ফিল্টার তৈরি করার সময় উপাদান সনাক্ত করতে সাহায্য করতে পারে।\n\nতবে, এটি সক্রিয় করলে আপনার আইপি ঠিকানার মতো কিছু ব্যবহারকারীর ডেটাও লগ করা হবে।" - স্টেক ট্রেস লগ - ডিবাগ লগ স্টেক ট্রেস সংযুক্ত করবে - ডিবাগ লগ স্টেক ট্রেস সংযুক্ত করবে না - ReVanced এর ত্রুটির ক্ষেত্রে টোস্ট দেখান - যদি ত্রুটি ঘটে তবে toast দেখানো হবে - যদি ত্রুটি ঘটে তবে toast দেখানো হবে না - "ত্রুটি \"toast\" বন্ধ করে ReVanced ত্রুটি বিজ্ঞপ্তিগুলি লুকানো হয়। - -আপনি কোনও অপ্রত্যাশিত ঘটনার বিষয়ে অবহিত হবেন না।" অ্যালবাম কার্ড লুকান @@ -582,6 +582,10 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ বিজ্ঞাপন বন্ধ করুন লুকান বিজ্ঞাপন বন্ধ করুন বোতামটি লুকানো আছে বিজ্ঞাপন বন্ধ করুন বোতামটি দেখানো হচ্ছে + + মন্তব্য লুকান + মন্তব্য বোতাম লুকানো আছে + মন্তব্য বোতাম দেখানো আছে Report লুকান @@ -1238,8 +1242,9 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন পরে যদি বন্ধ করা হয়, UI বাগ এড়াতে অ্যাপ্লিকেশন ডেটা পরিষ্কার করার পরামর্শ দেওয়া হয়।" স্পুফ অ্যাপ সংস্করণ লক্ষ্য - 19.35.36 - পুরনো Shorts প্লেয়ার আইকন পুনরুদ্ধার করুন - 19.01.34 - পুরনো নেভিগেশন আইকন পুনরুদ্ধার করুন + 20.13.41 - প্রসারিত নয় এমন ভিডিও অ্যাকশন বার পুনরুদ্ধার করুন + 19.35.36 - পুরনো Shorts প্লেয়ার আইকন পুনরুদ্ধার করুন + 19.01.34 - পুরনো নেভিগেশন আইকন পুনরুদ্ধার করুন শুরুর পৃষ্ঠা পরিবর্তন করুন @@ -1473,7 +1478,7 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট মূল অডিও ভাষা ব্যবহার করা হচ্ছে ডিফল্ট অডিও ব্যবহার করছে - এই বৈশিষ্ট্যটি ব্যবহার করতে, \'স্পুফ ভিডিও স্ট্রীম\' কে iOS TV-তে পরিবর্তন করুন + এই বৈশিষ্ট্যটি ব্যবহার করতে, \'ভিডিও স্ট্রিম স্পুফ করুন\' অ্যান্ড্রয়েড স্টুডিও ছাড়া অন্য কোনো ক্লায়েন্টে পরিবর্তন করুন @@ -1555,12 +1560,15 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট • পরীক্ষামূলক ক্লায়েন্ট এবং যেকোনো সময় কাজ করা বন্ধ করতে পারে • কোনো AV1 ভিডিও কোডেক নেই • লগআউট করা হলে বা ছদ্মবেশী মোডে বাচ্চাদের ভিডিও চলতে নাও পারে + + • মূল অডিও জোরপূর্বক উপলব্ধ নেই স্ট্যাটস ফর নার্ডসে দেখান স্ট্যাটস ফর নার্ডসে ক্লায়েন্ট প্রকার দেখানো হবে স্ট্যাটস ফর নার্ডসে ক্লায়েন্ট লুকানো হবে অডিও স্ট্রিম ভাষা একটি নির্দিষ্ট অডিও ভাষা নির্বাচন করতে, \'মূল অডিও ভাষা জোর করে চালু রাখুন\' বন্ধ করুন + অ্যান্ড্রয়েড স্টুডিও সহ স্ট্রিম ভাষার নির্বাচন উপলব্ধ নেই @@ -1581,11 +1589,46 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট স্থায়ী পুনরাবৃত্তি সক্ষম করা হয়েছে স্থায়ী পুনরাবৃত্তি অক্ষম করা হয়েছে + + কাস্ট বোতাম লুকান + কাস্ট বোতাম লুকানো আছে + কাস্ট বোতাম দেখানো আছে + ক্যাটাগরি বার লুকান ক্যাটাগরি বার লুকানো আছে ক্যাটাগরি বার দেখানো আছে + + নেভিগেশন বার + নেভিগেশন বারের বোতামগুলি লুকান বা পরিবর্তন করুন + + হোম লুকান + হোম বোতাম লুকানো আছে + হোম বোতাম দেখানো আছে + + স্যাম্পল লুকান + স্যাম্পল বোতাম লুকানো আছে + স্যাম্পল বোতাম দেখানো আছে + + এক্সপ্লোর লুকান + অনুসন্ধান বোতাম লুকানো আছে + অনুসন্ধান বোতাম দেখানো আছে + + লাইব্রেরি লুকান + লাইব্রেরি বোতাম লুকানো আছে + লাইব্রেরি বোতাম দেখানো আছে + + আপগ্রেড লুকান + আপগ্রেড বোতাম লুকানো আছে + আপগ্রেড বোতাম দেখানো আছে + নেভিগেশন বার লুকান + নেভিগেশন বার লুকানো আছে + নেভিগেশন বার দেখানো আছে + নেভিগেশন বোতামের লেবেলগুলি লুকান + লেবেলগুলি লুকানো আছে + লেবেলগুলি দেখানো আছে + \'গেট মিউজিক প্রিমিয়াম\' লেবেল লুকান লেবেল লুকানো আছে diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index 2d024b320..7001dccee 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -107,6 +107,15 @@ Přehrávání nemusí fungovat" Debugovací záznamy Debugovací záznamy jsou zapnuty Debugovací záznamy jsou vypnuty + Protokolovat trasování zásobníku + Protokoly ladění obsahují trasování zásobníku + Ladící protokoly nezahrnují sledování zásobníku + Zobrazit oznámení v případě chyby ReVanced + Zobrazí se toast, pokud dojde k chybě + Toast se nezobrazí, pokud dojde k chybě + "Vypnutí chybových toastů skryje všechna chybová oznámení ReVanced. + +Nebudete informováni o žádné neočekávané události." Exportovat ladicí protokoly Zkopíruje ladicí protokoly ReVanced do schránky Ladění je vypnuto @@ -151,15 +160,6 @@ Přehrávání nemusí fungovat" To může pomoci identifikovat komponenty při vytváření vlastních filtrů. Povolením této možnosti se však budou zaznamenávat i některá uživatelská data, jako je vaše IP adresa." - Protokolovat trasování zásobníku - Protokoly ladění obsahují trasování zásobníku - Ladící protokoly nezahrnují sledování zásobníku - Zobrazit oznámení v případě chyby ReVanced - Zobrazí se toast, pokud dojde k chybě - Toast se nezobrazí, pokud dojde k chybě - "Vypnutí chybových toastů skryje všechna chybová oznámení ReVanced. - -Nebudete informováni o žádné neočekávané události." Skrýt karty alb @@ -586,6 +586,10 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky" Skrýt Zastavit reklamy Tlačítko pro zastavení reklam je skryté Tlačítko pro zastavení reklam je zobrazeno + + Skrýt komentáře + Tlačítko komentářů je skryto + Tlačítko komentářů je zobrazeno Skrýt Nahlásit @@ -1242,8 +1246,9 @@ To změní vzhled a funkce aplikace, ale mohou se objevit neznámé vedlejší e Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabránilo chybám uživatelského rozhraní." Cíl napodobení verze aplikace - 19.35.36 - Obnovuje staré ikony Shorts přehrávače - 19.01.34 – Obnovit staré ikony navigace + 20.13.41 - Obnovit nerozbalený panel akcí videa + 19.35.36 - Obnovuje staré ikony Shorts přehrávače + 19.01.34 – Obnovit staré ikony navigace Změnit úvodní stránku @@ -1477,7 +1482,7 @@ Povolením této funkce lze odemknout vyšší kvality videa" Použít původní jazyk zvuku Používání výchozího zvuku - Chcete-li používat tuto funkci, změňte možnost „Zfalšovat datové proudy videa“ na iOS TV + Chcete-li použít tuto funkci, změňte \'Zfalšovat video streamy\' na libovolného klienta kromě Android Studia @@ -1559,12 +1564,15 @@ Povolením této funkce lze odemknout vyšší kvality videa" • Experimentální klient a může kdykoli přestat fungovat • Žádný video kodek AV1 • Dětská videa se nemusí přehrávat, když jste odhlášení nebo v anonymním režimu + + • Vynutit původní zvuk není k dispozici Zobrazit ve statistikách pro nadšence Typ klienta se zobrazuje ve statistikách pro nadšence Klient je skrytý ve statistikách pro nadšence Jazyk zvukového streamu Chcete-li vybrat konkrétní zvukový jazyk, vypněte „Vynutit původní zvukový jazyk“ + Volba jazyka streamu není k dispozici s Android Studiem @@ -1585,11 +1593,46 @@ Povolením této funkce lze odemknout vyšší kvality videa" Trvalé opakování je povoleno Trvalé opakování je zakázáno + + Skrýt tlačítko Odesílat + Tlačítko Odesílat je skryté + Tlačítko Odesílat je zobrazené + Skrýt panel kategorií Panel kategorií je skryt Panel kategorií je zobrazen + + Navigační panel + Skrýt nebo změnit tlačítka navigačního panelu + + Skrýt Domů + Tlačítko Domů je skryté + Tlačítko Domů je zobrazeno + + Skrýt Ukázky + Tlačítko Ukázky je skryté + Tlačítko Ukázky je zobrazeno + + Skrýt Prozkoumat + Tlačítko Prozkoumat je skryté + Tlačítko Prozkoumat je zobrazeno + + Skrýt Knihovnu + Tlačítko Knihovna je skryté + Tlačítko Knihovna je zobrazeno + + Skrýt Upgradovat + Tlačítko Vylepšit je skryté + Tlačítko Vylepšit je zobrazeno + Skrýt navigační panel + Navigační panel je skrytý + Navigační panel je zobrazen + Skrýt popisky navigačních tlačítek + Popisky jsou skryté + Popisky jsou zobrazeny + Skrýt štítek \"Získat Music Premium\" Štítek je skryt diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index a03915052..282a112d2 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -107,6 +107,15 @@ Afspilning fungerer muligvis ikke" Fejlfindingslogning Fejlfindingslogge er aktiveret Fejlfindingslogge er deaktiveret + Logstakspor + Fejlfindingslogge inkluderer stakspor + Fejlfindingslogge inkluderer ikke stakspor + Vis toastbesked ved ReVanced-fejl + Toast vises, hvis der opstår en fejl + Toast vises ikke, hvis der opstår en fejl + "Hvis du deaktiverer fejl-toasts, skjules alle ReVanced-fejlmeddelelser. + +Du modtager ikke notifikationer om uventede hændelser." Eksportér fejlsøgningslogfiler Kopierer ReVanced-fejlsøgningslogfiler til udklipsholderen Fejlsøgningslogning er deaktiveret @@ -151,15 +160,6 @@ Afspilning fungerer muligvis ikke" Dette kan hjælpe med at identificere komponenter, når der oprettes brugerdefinerede filtre. Aktivering af dette vil dog også logge nogle brugerdata, såsom din IP-adresse." - Logstakspor - Fejlfindingslogge inkluderer stakspor - Fejlfindingslogge inkluderer ikke stakspor - Vis toastbesked ved ReVanced-fejl - Toast vises, hvis der opstår en fejl - Toast vises ikke, hvis der opstår en fejl - "Hvis du deaktiverer fejl-toasts, skjules alle ReVanced-fejlmeddelelser. - -Du modtager ikke notifikationer om uventede hændelser." Skjul albumkort @@ -586,6 +586,10 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen" Skjul Stop reklamer Knappen \"Stop annoncer\" er skjult Knappen \"Stop annoncer\" vises + + Skjul kommentarer + Kommentarknappen er skjult + Kommentarknappen vises Skjul Rapport @@ -1244,8 +1248,9 @@ Dette ændrer appens udseende og funktioner, men ukendte bivirkninger kan foreko Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre UI-fejl." Spoof app version mål - 19.35.36 - Gendan gamle Shorts player ikoner - 19.01.34 - Gendan gamle navigationsikoner + 20.13.41 - Gendan ikke-kollapset videohandlingslinje + 19.35.36 - Gendan gamle Shorts player ikoner + 19.01.34 - Gendan gamle navigationsikoner Skift startside @@ -1479,7 +1484,7 @@ Aktivering af dette kan låse op for højere videokvalitet" Bruger originalt lydsprog Brug standard lyd - For at bruge denne funktion skal du ændre \"Spoof videostreams\" til iOS TV + For at bruge denne funktion skal du ændre \"Forfalsk videostreams\" til en hvilken som helst klient undtagen Android Studio @@ -1561,12 +1566,15 @@ Aktivering af dette kan låse op for højere videokvalitet" • Eksperimentel klient og kan stoppe med at fungere når som helst • Intet AV1-videokodek • Videoer til børn afspilles muligvis ikke, når du er logget ud eller i inkognitotilstand + + • Tving original lyd er ikke tilgængelig Vis i Statistik for nørder Klienttypen vises i Statistik for nørder Klienten er skjult i Statistik for nørder Lydstreamsprog For at vælge et specifikt lydsprog, slå \'Gennemtving originalt lydsprog\' fra + Valg af streaming-sprog er ikke tilgængeligt med Android Studio @@ -1587,11 +1595,46 @@ Aktivering af dette kan låse op for højere videokvalitet" Permanent gentagelse er aktiveret Permanent gentagelse er deaktiveret + + Skjul cast-knap + Cast-knappen er skjult + Cast-knappen vises + Skjul kategorilinje Kategorilinjen er skjult Kategorilinjen vises + + Navigationslinje + Skjul eller skift navigationslinjeknapper + + Skjul Startside + Startside-knappen er skjult + Startside-knappen vises + + Skjul Uddrag + Kortklip-knappen er skjult + Kortklip-knappen vises + + Skjul Udforsk + Udforsk-knappen er skjult + Udforsk-knappen vises + + Skjul Bibliotek + Bibliotek-knappen er skjult + Bibliotek-knappen vises + + Skjul Opgrader + Opgrader-knappen er skjult + Opgrader-knappen vises + Skjul navigationslinje + Navigationslinjen er skjult + Navigationslinjen vises + Skjul etiketter for navigationsknapper + Etiketter er skjult + Etiketter vises + Skjul \'Få Music Premium\'-etiket Etiketten er skjult diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index ca4918053..d7fe3ac5c 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -61,7 +61,7 @@ Um neue Sprachen zu übersetzen, besuchen Sie translate.revanced.app" ReVanced-Einstellungen importieren/exportieren Sie verwenden ReVanced-Patches Version <i>%s</i> - Notiz + Hinweis Diese Version ist eine Vorabversion, es kann zu unerwarteten Problemen kommen Offizielle Links - \'Benachrichtigungen\' Button ausblenden - Schaltfläche \"Benachrichtige mich\" ist ausgeblendet + Schaltfläche \"Benachrichtige mich\" ausblenden + Schaltfläche \"Benachrichtige mich\" wird ausgeblendet Schaltfläche \"Benachrichtige mich\" wird angezeigt Playables ausblenden - Spiele sind ausgeblendet - Spielbare werden angezeigt + Playables sind ausgeblendet + Playables werden angezeigt \'Mehr anzeigen\' Button ausblenden Schaltfläche \"Mehr anzeigen\" in den Suchergebnissen ist ausgeblendet Schaltfläche \"Mehr anzeigen\" in den Suchergebnissen wird angezeigt Umfragen ausblenden - Umfragen sind ausgeblendet + Umfragen werden ausgeblendet Umfragen werden angezeigt Ticket-Reihe ausblenden Ticket-Reihe ist ausgeblendet @@ -421,14 +423,14 @@ Diese Funktion ist nur für ältere Geräte verfügbar" Vollbild-Werbung ausblenden funktioniert nur mit älteren Geräten Allgemeine Werbung ausblenden - Allgemeine Anzeigen sind ausgeblendet - Allgemeine Anzeigen werden angezeigt + Allgemeine Werbung werden ausgeblendet + Allgemeine Werbung werden angezeigt Merchandise-Banner ausblenden Merchandise-Banner sind ausgeblendet Warenbanner werden angezeigt - Bezahltes Werbe-Label ausblenden - Bezahltes Werbelabel ist ausgeblendet - Bezahltes Werbe-Label wird angezeigt + \"Enthält bezahlte Werbung\"-Hinweis ausblenden + \"Enthält bezahlte Werbung\"-Hinweis wird ausgeblendet + \"Enthält bezahlte Werbung\"-Hinweis wird angezeigt Selbst gesponserte Karten ausblenden Selbst gesponserte Karten sind ausgeblendet Selbstgesponserte Karten werden angezeigt @@ -581,6 +583,10 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver Werbung stoppen ausblenden Schaltfläche \"Werbung stoppen\" ist ausgeblendet Schaltfläche \"Werbung stoppen\" ist sichtbar + + Kommentare ausblenden + Kommentare-Schaltfläche ist ausgeblendet + Kommentare-Schaltfläche wird angezeigt Bericht ausblenden @@ -1002,22 +1008,22 @@ Diese Funktion funktioniert am besten mit einer Videoqualität von 720p oder nie SponsorBlock aktivieren - SponsorBlock ist ein Crowdsourcing-System zum Überspringen von nervigen Teilen von YouTube-Videos + SponsorBlock ist ein Crowdsourcing-System zum Überspringen von nervigen Segmenten von YouTube-Videos Darstellung - Stimmen-Button anzeigen - Segmentstimmen Button wird angezeigt - Segmentstimmen Button wird nicht angezeigt - Quadratisches Layout verwenden + Like-Button anzeigen + Segmentbewertungs-Button wird angezeigt + Segmentbewertungs-Button wird nicht angezeigt + Quadratische Bedienelemente verwenden Schaltflächen und Steuerelemente sind quadratisch Schaltflächen und Bedienelemente sind abgerundet Kompakten Überspringen-Button verwenden - Überspringe Taste für minimale Breite - Überspringen-Button für beste Darstellung gestaltet + Überspringen-Button wird mit minimale Breite angezeigt + Überspringen-Button wird mit bestem Aussehen angezeigt Überspringen-Button automatisch ausblenden - Überspringe Taste verbirgt sich nach ein paar Sekunden - Die Schaltfläche \"Überspringen\" wird für das gesamte Segment angezeigt - Dauer des Überspringen-Buttons + Überspringen-Button wird nach ein paar Sekunden ausgeblendet + Überspringen-Button wird während des ganzen Segmentes angezeigt + Anzeigedauer des Überspringen-Buttons Wie lange die Schaltflächen zum Überspringen und zum Hervorheben angezeigt werden sollen, bevor sie automatisch ausgeblendet werden Toast zum Rückgängigmachen des Überspringens anzeigen Ein Toast wird angezeigt, wenn ein Segment automatisch übersprungen wird. Tippen Sie auf die Toast-Benachrichtigung, um das Überspringen rückgängig zu machen @@ -1082,25 +1088,25 @@ Ihre Benutzer-ID ist wie ein Passwort und sollte niemals weitergegeben werden. Nicht wieder anzeigen Segmentverhalten ändern Sponsor - Bezahlte Förderung, bezahlte Empfehlungen und direkte Werbung. Nicht für Selbstwerbung oder kostenlose Shoutouts an Ursachen/Webseiten/Produkte, die ihnen gefallen - Unbezahlt/Eigenwerbung + Bezahlte Werbung, bezahlte Empfehlungen und direkte Werbung. Nicht für Eigenwerbung oder kostenlose Shoutouts an Zwecke/Webseiten/Produkte, die ihnen gefallen + Unbezahlte oder Eigenwerbung Ähnlich wie Sponsor, jedoch für unbezahlte oder Eigenwerbung. Enthält Abschnitte über Merchandise, Spenden oder Informationen darüber, mit wem sie zusammengearbeitet haben Interaktionserinnerung (Abonnieren) - Eine kurze Erinnerung, sie in der Mitte des Inhalts zu zitieren, zu abonnieren oder zu verfolgen. Wenn es lang ist oder etwas Konkretes ist, sollte es stattdessen unter Selbstförderung stehen - Hervorheben + Eine kurze Erinnerung, sie in der Mitte des Inhalts zu liken, abonnieren oder folgen. Wenn er lang ist oder es um etwas Bestimmtes geht, sollte es stattdessen als Eigenwerbung gekennzeichnet sein + Highlight Der Teil des Videos, nach dem die meisten Menschen suchen Unterbrechung/Introanimation - Ein Intervall ohne aktuellen Inhalt. Kann eine Pause, ein statischer Rahmen oder eine Wiederholung der Animation sein. Enthält keine Übergänge mit Informationen - Endkarten / Credits - Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Schlussfolgerungen mit Informationen + Ein Intervall ohne aktuellen Inhalt. Kann eine Pause, ein statischer Frame oder eine wiederholende Animation sein. Enthält keine Übergänge mit Informationen + Endkarte / Credits + Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Fazite mit Informationen Hook / Begrüßungen - Erzählte Trailer für das kommende Video, Begrüßungen und Verabschiedungen. Enthält keine Abschnitte, die zusätzlichen Inhalt hinzufügen + Erzählte Trailer für das kommende Video, Begrüßungen und Verabschiedungen. Enthält keine Segmente, die zusätzlichen Inhalt hinzufügen Vorschau / Rückblick - Sammlung von Clips, die zeigen, was im Video oder in anderen Videos einer Serie vor sich geht, wo alle Informationen andernorts wiederholt werden + Sammlung von Clips, die zeigen, was im Video oder in anderen Videos einer Serie passiert ist, wo alle Informationen andernorts wiederholt werden Abschweifung / Witze - Tangentiale Szenen oder Witze, die nicht erforderlich sind, um den Hauptinhalt des Videos zu verstehen. Dies sollte keine Segmente enthalten, die Kontext oder Hintergrunddetails liefern - Musik: Nicht-Musik-Sektion - Nur für die Verwendung in Musikvideos. Abschnitte von Musikvideos ohne Musik, die noch nicht von einer anderen Kategorie abgedeckt sind + Tangentiale Szenen oder Witze, die nicht erforderlich sind, um den Hauptinhalt des Videos zu verstehen. Enthält keine Segmente, die Kontext oder Hintergrunddetails liefern + Musikvideos: Nicht-Musik-Passagen + Nur für die Verwendung in Musikvideos. Abschnitte von Musikvideos ohne Musik, die noch nicht von einer anderen Kategorie abgedeckt werden Überspringen Hervorheben Sponsor überspringen @@ -1237,8 +1243,9 @@ Dadurch ändert sich das Erscheinungsbild und die Funktionen der App, es können Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu löschen, um UI-Fehler zu vermeiden." Spoof-App-Versionsziel - 19.35.36 - Alte Shorts Spielersymbole wiederherstellen - 19.01.34 - Alte Navigations-Symbole wiederherstellen + 20.13.41 - Nicht eingeklappte Video-Aktionsleiste wiederherstellen + 19.35.36 - Alte Shorts Spielersymbole wiederherstellen + 19.01.34 - Alte Navigations-Symbole wiederherstellen Startseite ändern @@ -1375,29 +1382,29 @@ Durch Aktivieren dieser Option können fehlende Bilder behoben werden, die in ei Abos-Tab - Tab + Mein YouTube-Tab Player-Wiedergabelisten & Empfehlungen Suchergebnisse - Original-Miniaturansichten - Pfeil & Original-Miniaturansichten - Pfeil & immer noch erfasst - Noch Aufnahmen - "DeArrow bietet von der Community bereitgestellte Miniaturansichten für YouTube-Videos. Diese Miniaturansichten sind oft relevanter als die von YouTube bereitgestellten. + Original-Vorschaubilder + Pfeil & Original-Vorschaubilder + Pfeil & Standbild + Standbild + "DeArrow bietet von der Community bereitgestellte Vorschaubilder für YouTube-Videos. Diese Vorschaubilder sind oft relevanter als die von YouTube bereitgestellten. -Wenn diese Option aktiviert ist, werden Video-URLs an den API-Server gesendet und keine anderen Daten werden gesendet. Wenn ein Video keine DeArrow-Miniaturansichten hat, werden die Original- oder Still-Captures angezeigt. +Wenn diese Option aktiviert ist, werden Video-URLs an den API-Server gesendet und keine anderen Daten werden gesendet. Wenn ein Video keine DeArrow-Vorschaubilder hat, wird das originale Vorschaubild oder ein Standbild angezeigt. Tippen Sie hier, um mehr über DeArrow zu erfahren" - Einen Toast anzeigen, wenn die API nicht verfügbar ist - Toast wird angezeigt, wenn der Pfeil nicht verfügbar ist - Toast wird nicht angezeigt, wenn der Pfeil nicht verfügbar ist + Ein Toast anzeigen, wenn die API nicht verfügbar ist + Toast wird angezeigt, wenn DeArrow nicht verfügbar ist + Toast wird nicht angezeigt, wenn DeArrow nicht verfügbar ist DeArrow API-Endpunkt Die URL des Cache Endpunkts der DeArrow Thumbnails - Noch Videoaufnahmen - Die Aufnahmen werden immer noch von Anfang an / Mitte / Ende jedes Videos übernommen. Diese Bilder sind in YouTube eingebaut und es wird keine externe API verwendet - Schnelle Stand-Captures verwenden - Die Verwendung von mittlerer Qualität bleibt erhalten. Die Vorschaubilder werden schneller geladen, aber Live-Streams, unveröffentlichte oder sehr alte Videos können leere Thumbnails anzeigen - Verwendung hoher Qualität immer noch Captures - Videozeit für Aufnahmen von + Standbilder + Die Standbilder werden vom Anfang / Mitte / Ende jedes Videos erstellt. Diese Bilder stammen von YouTube und es wird keine externe API verwendet + Schnelle Standbilder verwenden + Standbilder in mittlerer Qualität verwenden. Die Vorschaubilder werden schneller geladen, aber Livestreams, unveröffentlichte oder sehr alte Videos können leere Vorschaubilder anzeigen. + Standbilder in hoher Qualität verwenden + Videozeitpunkt von dem Standbilder aufgenommen werden Beginn des Videos Mitte des Videos Ende des Videos @@ -1472,7 +1479,7 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w Original-Audiosprache verwenden Standardaudio verwenden - Um diese Funktion zu nutzen, ändere \"Video-Streams fälschen\" zu iOS TV + Um diese Funktion zu nutzen, ändere \"Video-Streams fälschen\" auf einen beliebigen Client außer Android Studio @@ -1554,12 +1561,15 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w • Experimenteller Client und kann jederzeit aufhören zu funktionieren • Kein AV1-Videocodec • Kinder-Videos werden möglicherweise nicht abgespielt, wenn du abgemeldet bist oder den Inkognito-Modus verwendest. + + • Originalton erzwingen ist nicht verfügbar In Statistiken für Nerds anzeigen Der Client-Typ wird in den Statistiken für Nerds angezeigt Der Client wird in den Statistiken für Nerds ausgeblendet Audiodatenstromsprache Um eine bestimmte Audiosprache auszuwählen, deaktivieren Sie „Original-Audiosprache erzwingen“ + Die Auswahl der Stream-Sprache ist mit Android Studio nicht verfügbar. @@ -1580,11 +1590,46 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w Dauerwiederholung ist aktiviert Dauerwiederholung ist deaktiviert + + Übertragen-Taste ausblenden + Übertragen-Taste ist ausgeblendet + Übertragen-Taste wird angezeigt + Kategorieleiste ausblenden Kategorieleiste ist ausgeblendet Kategorieleiste wird angezeigt + + Navigationsleiste + Navigationsleisten-Schaltflächen ausblenden oder ändern + + Startseite ausblenden + Start-Schaltfläche ist ausgeblendet + Start-Schaltfläche wird angezeigt + + Kurzvideos ausblenden + Samples-Schaltfläche ist ausgeblendet + Samples-Schaltfläche wird angezeigt + + Erkunden ausblenden + Entdecken-Schaltfläche ist ausgeblendet + Entdecken-Schaltfläche wird angezeigt + + Mediathek ausblenden + Mediathek-Schaltfläche ist ausgeblendet + Mediathek-Schaltfläche wird angezeigt + + Upgrade ausblenden + Upgrade-Schaltfläche ist ausgeblendet + Upgrade-Schaltfläche wird angezeigt + Navigationsleiste ausblenden + Navigationsleiste ist ausgeblendet + Navigationsleiste wird angezeigt + Beschriftungen der Navigationsschaltflächen ausblenden + Beschriftungen sind ausgeblendet + Beschriftungen werden angezeigt + \"Music Premium holen\"-Label ausblenden Label ist ausgeblendet diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index b4837832b..cd9670794 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" Καταγραφή εντοπισμού σφαλμάτων Η καταγραφή εντοπισμού σφαλμάτων είναι ενεργοποιημένη Η καταγραφή εντοπισμού σφαλμάτων είναι απενεργοποιημένη + Καταγραφή ιχνών στοίβας + Τα αρχεία καταγραφής σφαλμάτων περιλαμβάνουν ίχνη στοίβας + Τα αρχεία καταγραφής σφαλμάτων δεν περιλαμβάνουν ίχνη στοίβας + Εμφάνιση μηνυμάτων σφαλμάτων ReVanced + Εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν προκύψει σφάλμα + Δεν εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν προκύψει σφάλμα + "Η απενεργοποίηση των μηνυμάτων σφαλμάτων κρύβει όλες τις ειδοποιήσεις σφαλμάτων που αφορούν το ReVanced. + +Δεν θα ειδοποιηθείτε για τυχόν απρόβλεπτα γεγονότα." Εξαγωγή αρχείων καταγραφής εντοπισμού σφαλμάτων Αντιγραφή των αρχείων καταγραφής εντοπισμού σφαλμάτων ReVanced στο πρόχειρο Η καταγραφή εντοπισμού σφαλμάτων είναι απενεργοποιημένη @@ -151,15 +160,6 @@ Second \"item\" text" Αυτό μπορεί να βοηθήσει στον εντοπισμό στοιχείων κατά τη δημιουργία προσαρμοσμένων φίλτρων. Ωστόσο, η ενεργοποίηση αυτής της ρύθμισης θα καταγράψει επίσης ορισμένα δεδομένα χρήστη, όπως τη διεύθυνση IP σας." - Καταγραφή ιχνών στοίβας - Τα αρχεία καταγραφής σφαλμάτων περιλαμβάνουν ίχνη στοίβας - Τα αρχεία καταγραφής σφαλμάτων δεν περιλαμβάνουν ίχνη στοίβας - Εμφάνιση μηνυμάτων σφαλμάτων ReVanced - Εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν προκύψει σφάλμα - Δεν εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν προκύψει σφάλμα - "Η απενεργοποίηση των μηνυμάτων σφαλμάτων κρύβει όλες τις ειδοποιήσεις σφαλμάτων που αφορούν το ReVanced. - -Δεν θα ειδοποιηθείτε για τυχόν απρόβλεπτα γεγονότα." Κάρτες άλμπουμ @@ -588,6 +588,10 @@ Second \"item\" text" Κουμπί «Διακοπή διαφημίσεων» Κρυμμένο Εμφανίζεται + + Απόκρυψη σχολίων + Κρυμμένο + Εμφανίζεται Μενού «Αναφορά» @@ -1243,8 +1247,9 @@ Second \"item\" text" Αν αργότερα απενεργοποιηθεί, συνιστάται η εκκαθάριση δεδομένων της εφαρμογής για την αποφυγή σφαλμάτων UI." Έκδοση παραποίησης της εφαρμογής - 19.35.36 - Επαναφορά των παλιών εικονιδίων της οθόνης αναπαραγωγής Shorts - 19.01.34 - Επαναφορά παλιών εικονιδίων γραμμής πλοήγησης + 20.13.41 - Επαναφορά της μη συμπτυγμένης γραμμής ενεργειών βίντεο + 19.35.36 - Επαναφορά των παλιών εικονιδίων της οθόνης αναπαραγωγής Shorts + 19.01.34 - Επαναφορά παλιών εικονιδίων γραμμής πλοήγησης Αλλαγή αρχικής σελίδας @@ -1476,7 +1481,7 @@ Second \"item\" text" Χρησιμοποιείται η αρχική γλώσσα ήχου Χρησιμοποιείται ο προεπιλεγμένος ήχος - Για να χρησιμοποιήσετε αυτήν τη λειτουργία, αλλάξτε την επιλογή «Παραποίηση ροών βίντεο» σε iOS TV + Για να χρησιμοποιήσετε αυτήν τη λειτουργία, αλλάξτε την επιλογή «Παραποίηση ροών βίντεο» σε οποιονδήποτε πελάτη εκτός από το Android Studio @@ -1558,12 +1563,15 @@ Second \"item\" text" • Πειραματικός πελάτης και μπορεί να σταματήσει να λειτουργεί ανά πάσα στιγμή • Δεν υπάρχει ο κωδικοποιητής βίντεο AV1 • Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται αν είστε αποσυνδεδεμένοι ή σε λειτουργία ανώνυμης περιήγησης + + • Ο εξαναγκασμός αρχικής γλώσσας ήχου δεν είναι διαθέσιμος Εμφάνιση στο μενού «Στατιστικά για σπασίκλες» Το πρόγραμμα πελάτη εμφανίζεται στο μενού «Στατιστικά για σπασίκλες» Το πρόγραμμα πελάτη δεν εμφανίζεται στο μενού «Στατιστικά για σπασίκλες» Γλώσσα ροής ήχου Για να επιλέξετε μια συγκεκριμένη γλώσσα ήχου, απενεργοποιήστε το «Εξαναγκασμός αρχικής γλώσσας ήχου» + Η επιλογή γλώσσας ροής δεν είναι διαθέσιμη με το Android Studio @@ -1584,11 +1592,46 @@ Second \"item\" text" Η μόνιμη επανάληψη είναι ενεργοποιημένη Η μόνιμη επανάληψη είναι απενεργοποιημένη + + Κουμπί μετάδοσης + Κρυμμένο + Εμφανίζεται + Γραμμή κατηγοριών Κρυμμένη Εμφανίζεται + + Γραμμή πλοήγησης + Απόκρυψη ή αλλαγή κουμπιών της γραμμής πλοήγησης + + Κουμπί «Αρχική» + Κρυμμένο + Εμφανίζεται + + Απόκρυψη δειγμάτων + Κρυμμένο + Εμφανίζεται + + Απόκρυψη «Εξερεύνηση» + Κρυμμένο + Εμφανίζεται + + Απόκρυψη «Βιβλιοθήκη» + Κρυμμένο + Εμφανίζεται + + Απόκρυψη «Αναβάθμιση» + Κρυμμένο + Εμφανίζεται + Γραμμή πλοήγησης + Κρυμμένη + Εμφανίζεται + Ονομασίες κουμπιών γραμμής πλοήγησης + Κρυμμένες + Εμφανίζονται + Ετικέτα «Αποκτήστε το Music Premium» Κρυμμένη diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index d0333a8f1..35390a52d 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -107,6 +107,15 @@ La reproducción podría no funcionar" Registro de depuración Los registros de depuración están habilitados Los registros de depuración están desactivados + Registrar stack traces + Los registros de depuración incluyen stack trace + Los registros de depuración no incluyen stack trace + Mostrar aviso de error en ReVanced + Se mostrará un aviso si se produce un error + No se mostrará un aviso si se produce un error + "Desactivar los avisos de error oculta todas las notificaciones de error de ReVanced. + +No se le notificará de ningún evento inesperado." Exportar registros de depuración Copia los registros de depuración de ReVanced al portapapeles El registro de depuración está desactivado @@ -151,15 +160,6 @@ La reproducción podría no funcionar" Esto puede ayudar a identificar componentes al crear filtros personalizados. Sin embargo, si activas esto, también se registrarán algunos datos del usuario, como tu dirección IP." - Registrar stack traces - Los registros de depuración incluyen stack trace - Los registros de depuración no incluyen stack trace - Mostrar aviso de error en ReVanced - Se mostrará un aviso si se produce un error - No se mostrará un aviso si se produce un error - "Desactivar los avisos de error oculta todas las notificaciones de error de ReVanced. - -No se le notificará de ningún evento inesperado." Ocultar tarjetas de álbum @@ -586,6 +586,10 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"Ocultar Detener anuncios El botón de detener anuncios está oculto El botón de detener anuncios está mostrado + + Ocultar comentarios + El botón de comentarios está oculto + El botón de comentarios es visible Ocultar informe @@ -1233,8 +1237,9 @@ Esto cambiará la apariencia y las características de la aplicación, pero pued Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación para evitar errores en la interfaz de usuario." Versión objetiva de aplicación falsificada - 19.35.36 - Restaurar iconos antiguos del reproductor de Shorts - 19.01.34 - Restaurar iconos de navegación antiguos + 20.13.41 - Restaurar barra de acciones de vídeo no colapsada + 19.35.36 - Restaurar iconos antiguos del reproductor de Shorts + 19.01.34 - Restaurar iconos de navegación antiguos Cambiar página de inicio @@ -1468,7 +1473,7 @@ Habilitar esto puede desbloquear calidades de vídeo más altas" Usar el idioma de audio original Utilizando audio predeterminado - Para usar esta función, cambia \"Falsificar transmisiones de vídeo\" a iOS TV + Para usar esta función, cambia \'Falsificar transmisiones de vídeo\' a cualquier cliente excepto Android Studio @@ -1550,12 +1555,15 @@ Habilitar esto puede desbloquear calidades de vídeo más altas" • El cliente es experimental y puede dejar de funcionar en cualquier momento • Sin códec de vídeo AV1 • Es posible que los vídeos infantiles no se reproduzcan cuando se cierra la sesión o se está en modo incógnito + + • Forzar audio original no está disponible Mostrar en Estadísticas para nerds El tipo de cliente se muestra en Estadísticas para nerds El cliente está oculto en Estadísticas para nerds Idioma de la transmisión de audio Para seleccionar un idioma de audio específico, desactiva \"Forzar idioma de audio original\" + La selección de idioma de transmisión no está disponible con Android Studio @@ -1576,11 +1584,46 @@ Habilitar esto puede desbloquear calidades de vídeo más altas" La repetición permanente está habilitada La repetición permanente está deshabilitada + + Ocultar el botón de emisión + El botón de emisión está oculto + El botón de emisión es visible + Ocultar barra de categorías La barra de categorías está oculta La barra de categorías es visible + + Barra de navegación + Ocultar o cambiar los botones de la barra de navegación + + Ocultar pestaña \'Inicio\' + El botón Inicio está oculto + El botón Inicio es visible + + Ocultar muestras + El botón Muestras está oculto + El botón Muestras es visible + + Ocultar Explorar + El botón Explorar está oculto + El botón Explorar es visible + + Ocultar Biblioteca + El botón Biblioteca está oculto + El botón Biblioteca es visible + + Ocultar Premium + El botón Actualizar está oculto + El botón Actualizar es visible + Ocultar la barra de navegación + La barra de navegación está oculta + La barra de navegación es visible + Ocultar etiquetas de navegación + Las etiquetas están ocultas + Las etiquetas son visibles + Ocultar la etiqueta \'Obtener Music Premium\' La etiqueta está oculta diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index d8db71a23..82c512c94 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -107,6 +107,15 @@ Taasesitus ei pruugi töötada" Veaotsingulogimine Veaotsingulogimine on lubatud Vea logid on keelatud + Logi stekira jäljed + Silumispäevikud sisaldavad virna jäljendamise + Silumispäevikud ei sisalda virna jäljendamise + ReVanced veaga ilmumisel kuvag + Toast kuvatakse, kui ilmneb tõrge + Toast ei kuvata, kui ilmneb tõrge + "Vea teadete väljalülitamine peidab kõik ReVanced i veateadete märguanded. + +Teid ei teavitata ühestki ootamatust sündmusest." Ekspordi silumislogid Kopeerib ReVanced silumislogid lõikelauale Silumislogimine on keelatud @@ -151,15 +160,6 @@ Taasesitus ei pruugi töötada" See võib aidata komponente tuvastada kohandatud filtrite loomisel. Selle lubamine logib aga ka mõningaid kasutajaandmeid, näiteks teie IP-aadressi." - Logi stekira jäljed - Silumispäevikud sisaldavad virna jäljendamise - Silumispäevikud ei sisalda virna jäljendamise - ReVanced veaga ilmumisel kuvag - Toast kuvatakse, kui ilmneb tõrge - Toast ei kuvata, kui ilmneb tõrge - "Vea teadete väljalülitamine peidab kõik ReVanced i veateadete märguanded. - -Teid ei teavitata ühestki ootamatust sündmusest." Peida albumikaardid @@ -586,6 +586,10 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"Peida reklaamide peatamine Peata reklaamide nupp on peidetud Peata reklaamide nupp on nähtav + + Peida kommentaarid + Kommentaaride nupp on peidetud + Kommentaaride nupp on nähtav Peida Teata @@ -1242,8 +1246,9 @@ See muudab rakenduse välimust ja funktsioone, kuid võivad esineda tundmatud k Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et vältida kasutajaliidese vigu." Võltsitud rakenduse versiooni siht - 19.35.36 - Taastage vanad Shortsi esitajaikoonid - 19.01.34 – Taasta vanad navigeerimisikoonid + 20.13.41 - Taasta mittekokkuvarisenud video tegevusriba + 19.35.36 - Taastage vanad Shortsi esitajaikoonid + 19.01.34 – Taasta vanad navigeerimisikoonid Muuda alguslehte @@ -1477,7 +1482,7 @@ Selle lubamine võib avada kõrgema video kvaliteedi" Algse helikeele kasutamine Kasutan vaikeheli - Selle funktsiooni kasutamiseks muuda valik „Pettemanööver videovoogudele” iOS TV peale + Selle funktsiooni kasutamiseks muutke „Võltsitud videovood” mis tahes muule kliendile peale Android Studio. @@ -1559,12 +1564,15 @@ Selle lubamine võib avada kõrgema video kvaliteedi" • Eksperimentaalne klient ja võib igal ajal töötamast lakata • Puuduv AV1 videokoodek • Video lastele ei pruugi taasesitada, kui olete välja logitud või inkognito režiimis + + • Sunni algne heli pole saadaval Kuva statistikas \"Nerdide jaoks\" Klienditüüp on statistikas \"Nerdide jaoks\" nähtav Klient on statistikas \"Nerdide jaoks\" peidetud Helivoo keel Konkreetse helikeele valimiseks lülita välja \"Sunni algne helikeel\" + Voogedastuse keelevalik ei ole Android Studioga saadaval @@ -1585,11 +1593,46 @@ Selle lubamine võib avada kõrgema video kvaliteedi" Püsiv kordus on lubatud Püsiv kordus on keelatud + + Peida edastusnupp + Edastusnupp on peidetud + Edastusnupp on nähtav + Peida kategooriariba Kategooriariba on peidetud Kategooriariba on nähtaval + + Navigeerimisriba + Peida või muuda navigeerimisriba nuppe + + Peida Avaleht + Avalehe nupp on peidetud + Avalehe nupp on nähtav + + Peida Näidised + Näidiste nupp on peidetud + Näidiste nupp on nähtav + + Peida Avasta + Avasta nupp on peidetud + Avasta nupp on nähtav + + Peida Kogu + Kogu nupp on peidetud + Kogu nupp on nähtav + + Peida Uuenda + Uuenda nupp on peidetud + Uuenda nupp on nähtav + Peida navigeerimisriba + Navigeerimisriba on peidetud + Navigeerimisriba on nähtav + Peida navigeerimisnuppude sildid + Sildid on peidetud + Sildid on nähtavale toodud + Peida sildike \"Hangi Music Premium\" Silt on peidetud diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index cdb190b76..8967c9990 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -136,6 +136,7 @@ Second \"item\" text" + @@ -293,6 +294,7 @@ Second \"item\" text" + @@ -303,8 +305,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index e7ec478b1..6b0d2a917 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -107,6 +107,15 @@ Toisto ei ehkä toimi" Virheenkorjauksen kirjaaminen Virheenkorjauslokit ovat käytössä Virheenkorjauslokit eivät ole käytössä + Loki pinojäljet + Vianetsintälokit sisältävät pinojäljet + Vianetsintälokit eivät sisällä pinojälkiä + Näytä ponnahdusilmoitus ReVanced-virheen tapahtuessa + Ponnahdusilmoitus näytetään virheen tapahtuessa + Ponnahdusilmoitusta ei näytetä virheen tapahtuessa + "Virheilmoitusten poistaminen käytöstä piilottaa kaikki ReVancedin virheilmoitukset. + +Et saa ilmoituksia odottamattomista tapahtumista." Vie virheenkorjauslokit Kopioi ReVancedin virheenkorjauslokit leikepöydälle Virheenkorjausloki ei ole käytössä @@ -151,15 +160,6 @@ Toisto ei ehkä toimi" Tämä voi auttaa komponenttien tunnistamisessa, kun luot mukautettuja suodattimia. Tämän käyttöönotto kirjaa myös joitakin käyttäjätietoja, kuten IP-osoitteesi." - Loki pinojäljet - Vianetsintälokit sisältävät pinojäljet - Vianetsintälokit eivät sisällä pinojälkiä - Näytä ponnahdusilmoitus ReVanced-virheen tapahtuessa - Ponnahdusilmoitus näytetään virheen tapahtuessa - Ponnahdusilmoitusta ei näytetä virheen tapahtuessa - "Virheilmoitusten poistaminen käytöstä piilottaa kaikki ReVancedin virheilmoitukset. - -Et saa ilmoituksia odottamattomista tapahtumista." Piilota albumikortit @@ -586,6 +586,10 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu Piilota \"Estä mainokset\" Estä mainokset -painike on piilotettu Estä mainokset -painike näytetään + + Piilota kommentit + Kommenttipainike on piilotettu + Kommenttipainike näytetään Piilota Tee ilmoitus @@ -1242,8 +1246,9 @@ Tämä muuttaa sovelluksen ulkoasua ja ominaisuuksia, mutta tuntemattomia sivuva Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovelluksen tiedot käyttöliittymävirheiden välttämiseksi." Naamioitava kohdeversio - 19.35.36 - Palauta vanhat Shorts-soittimen kuvakkeet - 19.01.34 - Palauta vanhat navigointikuvakkeet + 20.13.41 - Palauta laajennettu videon toimintopalkki + 19.35.36 - Palauta vanhat Shorts-soittimen kuvakkeet + 19.01.34 - Palauta vanhat navigointikuvakkeet Vaihda aloitussivua @@ -1477,7 +1482,7 @@ Tämä voi avata korkealaatuisemmat videot" Käytetään alkuperäistä ääntä Käytetään oletusääntä - Voit käyttää tätä ominaisuutta muuttamalla \"Naamioi videovirrat\" iOS TV:ksi + Jotta voit käyttää tätä ominaisuutta, muuta \'Huijaa videovirtoja\' mihin tahansa asiakasohjelmaan paitsi Android Studioon @@ -1559,12 +1564,15 @@ Tämä voi avata korkealaatuisemmat videot" • Kokeellinen asiakasohjelma, joka saattaa lakata toimimasta milloin tahansa • Ei AV1-videokoodekkia • Lasten videot eivät ehkä toistu, kun olet kirjautunut ulos tai incognito-tilassa + + • Pakota alkuperäinen ääni ei ole käytettävissä Näytä teknisissä tiedoissa Asiakastyyppi näytetään teknisissä tiedoissa Asiakastyyppi on piilotettu teknisissä tiedoissa Äänivirran kieli Valitaksesi tietyn äänikielen, poista käytöstä \'Pakota alkuperäinen äänikieli\' + Striimin kielivalinta ei ole käytettävissä Android Studion kanssa @@ -1585,11 +1593,46 @@ Tämä voi avata korkealaatuisemmat videot" Pysyvä toisto on käytössä Pysyvä toisto on poissa käytöstä + + Piilota lähetyspainike + Lähetyspainike on piilotettu + Lähetyspainike näytetään + Piilota kategoriapalkki Kategoriapalkki on piilotettu Kategoriapalkki näytetään + + Navigointipalkki + Piilota tai muuta navigointipalkin painikkeita + + Piilota Koti + Etusivu-painike on piilotettu + Etusivu-painike näytetään + + Piilota Näytteet + Näytteet-painike on piilotettu + Näytteet-painike näytetään + + Piilota Tutki + Tutustu-painike on piilotettu + Tutustu-painike näytetään + + Piilota kirjasto + Kirjasto-painike on piilotettu + Kirjasto-painike näytetään + + Piilota Päivitä + Päivitä-painike on piilotettu + Päivitä-painike näytetään + Piilota navigointipalkki + Navigointipalkki on piilotettu + Navigointipalkki näytetään + Piilota navigointipainikkeiden otsikot + Otsikot on piilotettu + Otsikot näytetään + Piilota \"Hanki Music Premium\" -merkintä Merkintä on piilotettu diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index f4b5ecd8b..d38b503dd 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -107,6 +107,15 @@ Maaaring hindi gumana ang pag-playback" Pag-log sa pag-debug Ang mga debug log ay pinagana Ang mga debug log ay hindi pinagana + Mga bakas ng stack ng log + Kasama sa mga debug log ang stack trace + Hindi kasama sa mga debug log ang stack trace + Ipakita ang toast sa ReVanced error + Ipinapakita ang Toast kung may naganap na error + Hindi ipinapakita ang Toast kung may naganap na error + "Ang pag-off ng mga toast ng error ay nagtatago ng lahat ng mga abiso ng error ng ReVanced. + +Hindi ka aabisuhan ng anumang hindi inaasahang mga kaganapan." I-export ang mga debug log Kinokopya ang mga ReVanced debug log sa clipboard Hindi pinagana ang pag-log ng debug @@ -151,15 +160,6 @@ Maaaring hindi gumana ang pag-playback" Maaaring makatulong ito na matukoy ang mga bahagi kapag lumilikha ng mga custom na filter. Gayunpaman, ang pagpapagana nito ay magtatala rin ng ilang data ng user gaya ng iyong IP address." - Mga bakas ng stack ng log - Kasama sa mga debug log ang stack trace - Hindi kasama sa mga debug log ang stack trace - Ipakita ang toast sa ReVanced error - Ipinapakita ang Toast kung may naganap na error - Hindi ipinapakita ang Toast kung may naganap na error - "Ang pag-off ng mga toast ng error ay nagtatago ng lahat ng mga abiso ng error ng ReVanced. - -Hindi ka aabisuhan ng anumang hindi inaasahang mga kaganapan." Itago ang mga album card @@ -586,6 +586,10 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc Itago ang Ihinto ang mga ad Nakatago ang button ng pagtigil sa mga ad Napakita ang button ng pagtigil sa mga ad + + Itago ang mga Komento + Nakatago ang pindutan ng Mga Komento + Ipinapakita ang pindutan ng Mga Komento Itago ang Ulat @@ -1240,8 +1244,9 @@ Ito ay magbabago sa hitsura at mga tampok ng app, ngunit maaaring mangyari ang m Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan ang mga bug ng UI." Target na bersyon ng Spoof app - 19.35.36 - Ibalik ang mga lumang icon ng Shorts player - 19.01.34 - Ibalik ang mga lumang icon ng navigation + 20.13.41 - Ibalik ang hindi nakatiklop na video action bar + 19.35.36 - Ibalik ang mga lumang icon ng Shorts player + 19.01.34 - Ibalik ang mga lumang icon ng navigation Baguhin ang panimulang pahina @@ -1475,7 +1480,7 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"Ginagamit ang orihinal na wika ng audio Gumagamit ng default audio - Para magamit ang feature na ito, palitan ang \'Magpanggap na video stream\' sa iOS TV + Para magamit ang feature na ito, palitan ang \'Panggagaya ng mga video stream\' sa anumang client maliban sa Android Studio @@ -1557,12 +1562,15 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"• Pang-eksperimentong kliyente at maaaring huminto sa paggana anumang oras • Walang AV1 video codec • Mga video ng mga bata ay maaaring hindi ma-play kapag naka-log out o nasa incognito mode + + • Ang Pilitin ang orihinal na audio ay hindi magagamit Ipakita sa Mga Istatistika para sa mga nerds Ipinapakita ang uri ng kliyente sa Mga Istatistika para sa mga nerds Nakatago ang kliyente sa Mga Istatistika para sa mga nerds Wika ng audio stream Upang pumili ng isang partikular na wika ng audio, i-off ang \'Puwersahin ang orihinal na wika ng audio\' + Hindi available ang pagpili ng wika ng stream sa Android Studio @@ -1583,11 +1591,46 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"Pinagana ang permanenteng pag-ulit Hindi pinagana ang permanenteng pag-ulit + + Itago ang pindutan ng Cast + Nakatago ang pindutan ng Cast + Ipinapakita ang pindutan ng Cast + Itago ang category bar Nakatago ang category bar Ipinapakita ang category bar + + Navigation bar + Itago o baguhin ang mga pindutan ng navigation bar + + Itago ang Tahanan + Nakatago ang pindutan ng Home + Nakalabas ang pindutan ng Home + + Itago ang Mga Sample + Nakatago ang pindutan ng Samples + Nakalabas ang pindutan ng Samples + + Itago ang Galugarin + Nakatago ang pindutan ng Explore + Nakalabas ang pindutan ng Explore + + Itago ang Aklatan + Nakatago ang pindutan ng Library + Nakalabas ang pindutan ng Library + + Itago ang I-upgrade + Nakatago ang pindutan ng Upgrade + Nakalabas ang pindutan ng Upgrade + Itago ang navigation bar + Nakatago ang navigation bar + Nakalabas ang navigation bar + Itago ang mga label ng pindutan ng navigation + Nakatago ang mga label + Nakalabas ang mga label + Itago ang label na \'Kumuha ng Music Premium\' Nakatago ang label diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 50123e64e..6cc1a414f 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -107,6 +107,15 @@ Il est possible que la lecture ne fonctionne pas" Journalisation de débogage Les journaux de débogage sont activés Les journaux de débogage sont désactivés + Journaliser les stack traces + Les journaux de débogage incluent les stack traces + Les journaux de débogage n\'incluent pas les stack traces + Afficher un message toast en cas d\'erreur ReVanced + Un message toast est affiché en cas d\'erreur + Aucun message toast n\'est affiché en cas d\'erreur + "La désactivation des messages toasts d'erreur masque toutes les notifications d'erreur ReVanced. + +Vous ne serez pas informé des événements inattendus." Exporter les journaux de débogage Copie les journaux de débogage ReVanced dans le presse-papiers La journalisation de débogage est désactivée @@ -151,15 +160,6 @@ Il est possible que la lecture ne fonctionne pas" Cela peut aider à identifier les composants lors de la création de filtres personnalisés. Toutefois, l'activation de cette option entraînera également l'enregistrement de certaines données utilisateur, telles que votre adresse IP." - Journaliser les stack traces - Les journaux de débogage incluent les stack traces - Les journaux de débogage n\'incluent pas les stack traces - Afficher un message toast en cas d\'erreur ReVanced - Un message toast est affiché en cas d\'erreur - Aucun message toast n\'est affiché en cas d\'erreur - "La désactivation des messages toasts d'erreur masque toutes les notifications d'erreur ReVanced. - -Vous ne serez pas informé des événements inattendus." Masquer les fiches d\'album @@ -586,6 +586,10 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"Masquer \"Zéro annonce\" Le bouton Zéro annonce est masqué Le bouton Zéro annonce est affiché + + Masquer les commentaires + Le bouton Commentaires est masqué + Le bouton Commentaires est affiché Masquer \"Signaler\" @@ -622,9 +626,9 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"Le bouton Clip est masqué Le bouton Clip est affiché - Masquer la Boutique - Le bouton Boutique est masqué - Le bouton Boutique est affiché + Masquer \"Magasin\" + Le bouton Magasin est masqué + Le bouton Magasin est affiché Masquer \"Enregistrer\" Le bouton Enregistrer est masqué @@ -1163,20 +1167,20 @@ Il existe déjà." Voter pour Voter contre Modifier la catégorie - Il n\'y a pas de segments où voter + Il n\'y a pas de segments sur lesquels voter %1$s – %2$s Choisissez la catégorie du segment - La catégorie est désactivée dans les paramètres. Activez la catégorie pour soumettre. + Catégorie désact. ds paramètres. Activer pr soumettre. Nouveau segment SponsorBlock - Définir %s comme début ou fin du nouveau segment ? + Définir %s comme début ou fin d\'un nouveau segment ? Début Fin - Maint. + Maintenant Instant de début du segment Instant de fin du segment - Est-ce que ces valeurs sont correctes ? - "Le segment dure de + Ces valeurs sont-elles correctes ? + "Le segment s'étend de %1$s à @@ -1184,10 +1188,10 @@ Il existe déjà." (%3$s) -Prêt à soumettre ?" - Le début doit être avant la fin +Prêt à le soumettre ?" + Le début doit précéder la fin Marquez d\'abord deux emplacements sur la barre de progression - Regardez la vidéo au moment du segment, et assurez-vous qu\'il est ignoré de manière fluide + Prévisualisez segment + contrôlez fluidité du saut Modifier la durée du segment manuellement Voulez-vous modifier le début ou la fin du segment ? Temps fourni invalide @@ -1209,7 +1213,7 @@ Prêt à soumettre ?" Cela représente <b>%s</b> de leur vie.<br>Appuyez ici pour voir le classement Vous avez passé <b>%s</b> segments Pour un total de <b>%s</b> - Réinitialiser le compteur de segments ignorés ? + Réinitialiser le compteur de segments passés ? %1$s heures et %2$s minutes %1$s minutes et %2$s secondes %s secondes @@ -1243,8 +1247,9 @@ Cela modifiera l'apparence et les fonctionnalités de l'application, mais il peu Si désactivé ultérieurement, il est recommandé d'effacer les données de l'application pour éviter des bugs d'interface." Version cible - 19.35.36 - Restaurer les anciennes icônes du lecteur Shorts - 19.01.34 - Restaurer les anciennes icônes de navigation + 20.13.41 - Restaurer la barre d\'action vidéo non réduite + 19.35.36 - Restaurer les anciennes icônes du lecteur Shorts + 19.01.34 - Restaurer les anciennes icônes de navigation Modifier la page de démarrage @@ -1478,7 +1483,7 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"Utilisation de la langue audio d\'origine Utilisation de l\'audio par défaut - Pour utiliser cette fonctionnalité, définissez \"Falsifier les flux vidéo\" sur iOS TV + Pour utiliser cette fonctionnalité, définissez \"Falsifier les flux vidéo\" sur n\'importe quel client, sauf Android Studio @@ -1560,12 +1565,15 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"• Client expérimental, peut cesser de fonctionner à tout moment • Codec vidéo AV1 indisponible • La lecture des vidéos pour enfants peut ne pas fonctionner lorsque vous êtes déconnecté ou en mode navigation privée + + • Forcer l\'audio original n\'est pas disponible Afficher dans les Statistiques avancées Le type de client est affiché dans les Statistiques avancées Le client est caché dans les Statistiques avancées Langue du flux audio Pour sélectionner une langue audio spécifique, désactivez \"Forcer la langue audio d\'origine\" + La sélection de la langue du flux n\'est pas disponible avec Android Studio @@ -1586,11 +1594,46 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"La lecture en boucle permanente est activée La lecture en boucle permanente est désactivée + + Masquer le bouton de diffusion + Le bouton de diffusion est masqué + Le bouton de diffusion est affiché + Masquer la barre des catégories La barre des catégories est masquée La barre des catégories est affichée + + Barre de navigation + Masquer ou modifier les boutons de la barre de navigation + + Masquer Accueil + Le bouton Accueil est masqué + Le bouton Accueil est affiché + + Masquer Extraits + Le bouton Extraits est masqué + Le bouton Extraits est affiché + + Masquer Explorer + Le bouton Explorer est masqué + Le bouton Explorer est affiché + + Masquer Bibliothèque + Le bouton Bibliothèque est masqué + Le bouton Bibliothèque est affiché + + Masquer Premium + Le bouton S\'abonner est masqué + Le bouton S\'abonner est affiché + Masquer la barre de navigation + La barre de navigation est masquée + La barre de navigation est affichée + Masquer les libellés des boutons de navigation + Les libellés sont masqués + Les libellés sont affichés + Masquer le libellé \"S\'abonner à Music Premium\" Le libellé est masqué diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 8bfaee92b..3aaa3b244 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -107,6 +107,15 @@ Seans nach n-oibreoidh an t-athsheinm" Dífhabhtú logáil Tá logaí dífhabhtaithe cumasaithe Tá logaí dífhabhtaithe díchumasaithe + Rianta cruach logála + Cuimsíonn logaí dífhabhtaithe rian cruach + Ní chuimsíonn logaí dífhabhtaithe rian cruach + Taispeáin tósta ar earráid ReVanced + Taispeántar tósta má tharlaíonn earráid + Ní thaispeántar tósta má tharlaíonn earráid + "Má mhúchtar tóstaí earráide, folaítear gach fógra earráide ReVanced. + +Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne." Easpórtáil logaí dífhabhtaithe Cóipeálann sé logaí dífhabhtaithe ReVanced chuig an gearrthaisce Tá logáil dífhabhtaithe díchumasaithe @@ -151,15 +160,6 @@ Seans nach n-oibreoidh an t-athsheinm" Is féidir leis seo cabhrú le comhpháirteanna a aithint agus scagairí saincheaptha á gcruthú. Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shampla do sheoladh IP." - Rianta cruach logála - Cuimsíonn logaí dífhabhtaithe rian cruach - Ní chuimsíonn logaí dífhabhtaithe rian cruach - Taispeáin tósta ar earráid ReVanced - Taispeántar tósta má tharlaíonn earráid - Ní thaispeántar tósta má tharlaíonn earráid - "Má mhúchtar tóstaí earráide, folaítear gach fógra earráide ReVanced. - -Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne." Folaigh cártaí albam @@ -586,6 +586,10 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Folaigh Stad fógraí Tá cnaipe stad fógraí i bhfolach Tá cnaipe stad fógraí taispeánta + + Folaigh Tuairimí + Tá cnaipe na dTuairimí folaithe + Tá cnaipe na dTuairimí taispeánta Folaigh Tuairisc @@ -1242,8 +1246,9 @@ Athróidh sé seo cuma agus gnéithe an aip, ach d'fhéadfadh fo-iarsmaí anaith Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buganna UI a chosc." Sprioc leagan aip spoof - 19.35.36 - Athchóirigh sean-deilbhíní imreoir Shorts - 19.01.34 - Athchóiriú Sean Icóin Treorach + 20.13.41 - Cuir an barra gníomhaíochta físe neamhchomhbhrúite ar ais + 19.35.36 - Athchóirigh sean-deilbhíní imreoir Shorts + 19.01.34 - Athchóiriú Sean Icóin Treorach Athraigh an leathanach tosaigh @@ -1477,7 +1482,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Ag úsáid teanga bhunaidh na fuaime Ag úsáid fuaim réamhshocraithe - Chun an ghné seo a úsáid, athraigh \'Sruthanna físeáin bhréige\' go iOS TV + Chun an ghné seo a úsáid, athraigh \'Bréag-sruthanna físeáin\' chuig aon chliant seachas Android Studio @@ -1559,12 +1564,15 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" • Cliant turgnamhach é seo agus féadfaidh sé stop a chur ag obair ag am ar bith • Níl aon chóidéir físe AV1 • Videos faoi phaistí uaireanta nach imreoidh nuair a bhíonn tú logáilte amach nó i mod incognito + + • Níl Éigean fuaime bunaidh ar fáil Taispeáin i Staitisticí do nerds Taispeántar cineál an chliaint i Staitisticí do nerds Tá an cliant curtha i bhfolach i Staitisticí do nerds Teanga an tsrutha fuaime Chun teanga fuaime shonrach a roghnú, múch \'Cuir iallach ar bhunteanga fuaime\' + Níl roghnú theanga an tsrutha ar fáil le Android Studio @@ -1585,11 +1593,46 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Tá athdhéanamh buan cumasaithe Tá athdhéanamh buan díchumasaithe + + Folaigh an cnaipe teilgthe + Tá an cnaipe teilgthe i bhfolach + Tá an cnaipe teilgthe ar taispeáint + Folaigh an barra catagóirí Tá an barra catagóirí i bhfolach Taispeántar an barra catagóirí + + Barra nascleanúna + Folaigh nó athraigh cnaipí an bharra nascleanúna + + Folaigh Baile + Tá cnaipe Baile folaithe + Tá cnaipe Baile taispeánta + + Folaigh Samplaí + Tá cnaipe Samplaí folaithe + Tá cnaipe Samplaí taispeánta + + Folaigh Scrúdaigh + Tá cnaipe Fionnachtana folaithe + Tá cnaipe Fionnachtana taispeánta + + Folaigh Leabharlann + Tá cnaipe Leabharlann folaithe + Tá cnaipe Leabharlann taispeánta + + Folaigh Uasghrádaigh + Tá cnaipe Uasghrádú folaithe + Tá cnaipe Uasghrádú taispeánta + Folaigh barra nascleanúna + Tá barra nascleanúna folaithe + Tá barra nascleanúna taispeánta + Folaigh lipéid cnaipí nascleanúna + Tá lipéid folaithe + Tá lipéid taispeánta + Folaigh an lipéad \'Faigh Music Premium\' Tá an lipéad i bhfolach diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index 98a3659f6..905532c0b 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -31,6 +31,8 @@ Second \"item\" text" + प्लेबैक समस्याओं को रोकने के लिए क्लाइंट वीडियो स्ट्रीम को स्पूफ करें + प्लेबैक समस्याओं को रोकने के लिए क्लाइंट वीडियो स्ट्रीम को स्पूफ करें @@ -89,6 +91,7 @@ Second \"item\" text" + @@ -243,6 +246,7 @@ Second \"item\" text" + @@ -253,8 +257,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index 98a3659f6..4f74c1712 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -21,6 +21,7 @@ Second \"item\" text" + Provjere nisu uspjele @@ -89,6 +90,7 @@ Second \"item\" text" + @@ -243,6 +245,7 @@ Second \"item\" text" + @@ -253,8 +256,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 3f10b0efa..a90935daa 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -107,6 +107,15 @@ A lejátszás nem működhet" Hibakeresési naplózás A hibakeresési naplók engedélyezve vannak A hibakeresési naplók le vannak tiltva + Naplóverem nyomai + A hibakeresési naplók tartalmazzák a verem nyomkövetését + A hibakeresési naplók nem tartalmazzák a verem nyomkövetését + Üzenet megjelenítése ReVanced hiba esetén + A \"toast\" üzenet jelenik meg, ha hiba történik + Nem jelenik meg \"toast\" üzenet, ha hiba történik + "A hibaüzenetek kikapcsolása elrejti az összes ReVanced hibaértesítést. + +Nem fog értesülni semmilyen váratlan eseményről." Hibakeresési naplók exportálása A ReVanced hibakeresési naplóit a vágólapra másolja A hibakeresési naplózás ki van kapcsolva @@ -151,15 +160,6 @@ A lejátszás nem működhet" Ez segíthet azonosítani az összetevőket egyedi szűrők létrehozásakor. Ez a funkció azonban néhány felhasználói adatot is naplóz, például az IP-címét." - Naplóverem nyomai - A hibakeresési naplók tartalmazzák a verem nyomkövetését - A hibakeresési naplók nem tartalmazzák a verem nyomkövetését - Üzenet megjelenítése ReVanced hiba esetén - A \"toast\" üzenet jelenik meg, ha hiba történik - Nem jelenik meg \"toast\" üzenet, ha hiba történik - "A hibaüzenetek kikapcsolása elrejti az összes ReVanced hibaértesítést. - -Nem fog értesülni semmilyen váratlan eseményről." Album kártyák elrejtése @@ -586,6 +586,10 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"Hirdetések leállítása elrejtése A hirdetésleállítás gomb rejtett A hirdetésleállítás gomb látható + + Hozzászólások elrejtése + A hozzászólások gomb rejtve van + A hozzászólások gomb látható Bejelentés elrejtése @@ -1241,8 +1245,9 @@ Ez megváltoztatja az alkalmazás megjelenését és funkcióit, de előfordulha Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy megakadályozza a felhasználói felület hibáit." Hamisított alkalmazásverzió célja - 19.35.36 - A régi Shorts lejátszó ikonok visszaállítása - 19.01.34 - Állítsa vissza a régi navigációs ikonokat + 20.13.41 - Nem összecsukott videó műveletsáv visszaállítása + 19.35.36 - A régi Shorts lejátszó ikonok visszaállítása + 19.01.34 - Állítsa vissza a régi navigációs ikonokat Kezdőlap módosítása @@ -1474,7 +1479,7 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"Eredeti hang használata a hang nyelvén Alapértelmezett hang használata - A funkció használatához módosítsa a „Videófolyamok hamisítása” beállítást iOS TV-re + A funkció használatához módosítsa a \"Videóstreamek hamisítása\" beállítást bármely kliensre, kivéve az Android Studiót @@ -1556,12 +1561,15 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"• Kísérleti kliens, és bármikor leállhat • Nincs AV1 videokodek • A gyermekeknek szóló videók nem játszódnak le, ha a felhasználó kijelentkezett, vagy inkognitómódban van. + + • Eredeti hang kényszerítése nem érhető el Megjelenítés a Statisztikákban A kliens típusa a Statisztikákban látható A kliens el van rejtve a Statisztikákban Hangfolyam nyelve Egy adott hangsáv nyelv kiválasztásához kapcsold ki az \"Eredeti hangsáv nyelv kikényszerítése\" opciót + Az Android Studio-val nem érhető el a stream nyelvének kiválasztása @@ -1582,11 +1590,46 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"Az állandó ismétlés engedélyezve van Az állandó ismétlés letiltva van + + Kivetítés gomb elrejtése + Kivetítés gomb elrejtve + Kivetítés gomb látható + Kategóriasáv elrejtése A kategóriasáv rejtve van A kategóriasáv látható + + Navigációs sáv + Navigációs sáv gombjainak elrejtése vagy módosítása + + Főoldal elrejtése + A Kezdőlap gomb elrejtve + A Kezdőlap gomb látható + + Minták elrejtése + A Minták gomb elrejtve + A Minták gomb látható + + Felfedezés elrejtése + A Felfedezés gomb elrejtve + A Felfedezés gomb látható + + Könyvtár elrejtése + A Könyvtár gomb elrejtve + A Könyvtár gomb látható + + Frissítés elrejtése + A Frissítés gomb elrejtve + A Frissítés gomb látható + Navigációs sáv elrejtése + A navigációs sáv elrejtve + A navigációs sáv látható + Navigációs gombok feliratainak elrejtése + A feliratok elrejtve + A feliratok láthatóak + A „Music Premium beszerzése” címke elrejtése A címke rejtve van diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index 6fbc92610..69bfed040 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -107,6 +107,15 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Առաջնորդման մատնանշում Մարմնացման առաջնորդման մատնանշումները ակտիվացված են Մարմնացման առաջնորդման մատնանշումները անջատված են + Մուտքագրել կուտակային կետերի հետքեր + Մարմնացման առաջնորդման մատնանշումները պարունակում են կուտակային կետի հետք + Մարմնացման առաջնորդման մատնանշումները չեն պարունակում կուտակային կետի հետք + Ցույց տալ toast ReVanced սխալի դեպքում + \"Toast\"-ը ցուցադրվում է, եթե սխալ է առաջանում + \"Toast\"-ը չի ցուցադրվում, եթե սխալ է առաջանում + "Սխալների տոաստի անջատումը թաքցնում է ReVanced-ի բոլոր սխալների ծանուցումները։ + +Դուք չեք ստանա ան予期した出来事ի մասին ծանուցում։" Արտահանել վրեժխնդրության կարգաբերման մատյանները Պատճենում է ReVanced-ի կարգաբերման մատյանները սեղմատախտակին Վրեժխնդրության մատյանների գրանցումն անջատված է @@ -151,15 +160,6 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Սա կարող է օգնել բացահայտել բաղադրիչները՝ հատուկ զտիչներ ստեղծելիս։ Այնուամենայնիվ, սա միացնելը կգրանցի նաև օգտատիրոջ որոշ տվյալներ, ինչպիսիք են ձեր IP հասցեն:" - Մուտքագրել կուտակային կետերի հետքեր - Մարմնացման առաջնորդման մատնանշումները պարունակում են կուտակային կետի հետք - Մարմնացման առաջնորդման մատնանշումները չեն պարունակում կուտակային կետի հետք - Ցույց տալ toast ReVanced սխալի դեպքում - \"Toast\"-ը ցուցադրվում է, եթե սխալ է առաջանում - \"Toast\"-ը չի ցուցադրվում, եթե սխալ է առաջանում - "Սխալների տոաստի անջատումը թաքցնում է ReVanced-ի բոլոր սխալների ծանուցումները։ - -Դուք չեք ստանա ան予期した出来事ի մասին ծանուցում։" Թաքցնել ալբոմի քարտերը @@ -586,6 +586,10 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Թաքցնել \"Դադարեցնել գովազդները\" Գովազդները դադարեցնելու կոճակը թաքցված է Գովազդները դադարեցնելու կոճակը ցուցադրված է + + Թաքցնել մեկնաբանությունները + Մեկնաբանությունների կոճակը թաքնված է + Մեկնաբանությունների կոճակը ցուցադրված է Թաքցնել Report @@ -1243,8 +1247,9 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ Եթե հետագայում անջատվի, խորհուրդ է տրվում մաքրել հավելվածի տվյալները՝ UI սխալներից խուսափելու համար։" Spoof-ի կիրառության տարբերակի նպատակ - 19.35.36 - Վերականգնել հին Shorts պլեյերի պատկերակները - 19.01.34 - Վերականգնել հին նավիգացիոն պատկերակները + 20.13.41 - Վերականգնել չծալված տեսանյութի գործողությունների տողը + 19.35.36 - Վերականգնել հին Shorts պլեյերի պատկերակները + 19.01.34 - Վերականգնել հին նավիգացիոն պատկերակները Փոխել մեկնարկային էջը @@ -1478,7 +1483,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Օգտագործելով ձայնային օրիգինալ լեզուն Վերջնական ձայն օգտագործվում է - Այս գործառույթն օգտագործելու համար փոխեք «Կեղծել տեսահոսքերը» iOS TV-ի + Այս հնարավորությունն օգտագործելու համար «Կեղծել վիդեո հոսքերը» տարբերակը փոխեք ցանկացած հաճախորդի, բացի Android Studio-ից @@ -1560,12 +1565,15 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի • Փորձնական հաճախորդ է և կարող է ցանկացած պահի դադարել աշխատել • Հեռացված բոլոր AV1 վիդեո կոդեկները Երեխաների տեսանյութերը կարող են չհամապատասխանել հետևյալ պահանջներին՝ եթե արտոնագրման խախտումներ կան։ + + • Բնօրինակ ձայնի պարտադրումը հասանելի չէ Ցուցադրել վիճակագրության ակնոցներում Հաճախորդի տեսակը ցուցադրվում է վիճակագրության ակնոցներում Հաճախորդը թաքնված է վիճակագրության ակնոցներում Ձայնային հոսքի լեզուն Որոշակի ձայնային լեզու ընտրելու համար անջատեք \'Պարտադրել բնօրինակ ձայնային լեզուն\' + Հոսքի լեզվի ընտրությունը հասանելի չէ Android Studio-ի հետ @@ -1586,11 +1594,46 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Մշտական կրկնությունը միացված է Մշտական կրկնությունը անջատված է + + Թաքցնել հեռարձակման կոճակը + Հեռարձակման կոճակը թաքնված է + Հեռարձակման կոճակը ցուցադրված է + Թաքցնել կատեգորիաների վահանակը Կատեգորիաների վահանակը թաքցված է Կատեգորիաների վահանակը ցուցադրվում է + + Նավիգացիոն գիծ + Թաքցնել կամ փոխել նավիգացիոն գծի կոճակները + + Թաքցնել Գլխավորը + «Գլխավոր» կոճակը թաքնված է + «Գլխավոր» կոճակը ցուցադրված է + + Թաքցնել Նմուշները + «Նմուշներ» կոճակը թաքնված է + «Նմուշներ» կոճակը ցուցադրված է + + Թաքցնել Ուսումնասիրելը + «Բացահայտել» կոճակը թաքնված է + «Բացահայտել» կոճակը ցուցադրված է + + Թաքցնել Գրադարանը + «Գրադարան» կոճակը թաքնված է + «Գրադարան» կոճակը ցուցադրված է + + Թաքցնել Թարմացումը + «Արդիականացնել» կոճակը թաքնված է + «Արդիականացնել» կոճակը ցուցադրված է + Թաքցնել նավիգացիոն գիծը + Նավիգացիոն գիծը թաքնված է + Նավիգացիոն գիծը ցուցադրված է + Թաքցնել նավիգացիոն կոճակների պիտակները + Պիտակները թաքնված են + Պիտակները ցուցադրված են + Թաքցնել «Ստացեք Music Premium» պիտակը Պիտակը թաքցված է diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index aa1c5d8ee..28b4467e5 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -98,7 +98,7 @@ Jika Anda adalah pengguna YouTube Premium, setelan ini mungkin tidak diperlukan" "Aliran video tidak dipalsukan Pemutaran mungkin tidak berfungsi" - Menonaktifkan pengaturan ini mungkin menyebabkan masalah pemutaran. + Mematikan pengaturan ini dapat menyebabkan masalah pemutaran. Klien bawaan @@ -107,6 +107,15 @@ Pemutaran mungkin tidak berfungsi" Pencatatan debug Pencatatan debug diaktifkan Pencatatan debug dinonaktifkan + Jejak catatan stack + Pencatatan debug menyertakan jejak stack + Pencatatan debug tidak menyertakan jejak stack + Tampilkan pesan timbul pada kesalahan ReVanced + Pesan timbul ditampilkan jika terjadi kesalahan + Pesan timbul tidak ditampilkan jika terjadi kesalahan + "Mematikan notifikasi kesalahan menyembunyikan semua notifikasi kesalahan ReVanced. + +Anda tidak akan diberi tahu tentang kejadian yang tidak terduga." Ekspor catatan debug Salin catatan debug ReVanced ke papan klip Pencatatan debug dinonaktifkan @@ -151,15 +160,6 @@ Pemutaran mungkin tidak berfungsi" Ini dapat membantu mengidentifikasi komponen saat membuat filter khusus. Namun, mengaktifkan ini juga akan mencatat beberapa data pengguna seperti alamat IP Anda." - Jejak catatan stack - Pencatatan debug menyertakan jejak stack - Pencatatan debug tidak menyertakan jejak stack - Tampilkan pesan timbul pada kesalahan ReVanced - Pesan timbul ditampilkan jika terjadi kesalahan - Pesan timbul tidak ditampilkan jika terjadi kesalahan - "Mematikan notifikasi kesalahan menyembunyikan semua notifikasi kesalahan ReVanced. - -Anda tidak akan diberi tahu tentang kejadian yang tidak terduga." Sembunyikan kartu album @@ -586,6 +586,10 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"Sembunyikan Hentikan iklan Tombol hentikan iklan disembunyikan Tombol hentikan iklan ditampilkan + + Sembunyikan Komentar + Tombol Komentar disembunyikan + Tombol Komentar ditampilkan Sembunyikan Laporkan @@ -622,9 +626,9 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"Tombol klip disembunyikan Tombol klip ditampilkan - Sembunyikan Toko - Tombol Toko disembunyikan - Tombol Toko ditampilkan + Sembunyikan Belanja + Tombol belanja disembunyikan + Tombol belanja ditampilkan Sembunyikan Simpan Tombol Simpan disembunyikan @@ -835,7 +839,7 @@ Untuk menampilkan menu trek audio, ubah 'Palsukan aliran video' ke iPadOS"Sembunyikan saran penelusuran Saran penelusuran disembunyikan Saran penelusuran ditampilkan - Sembunyikan tombol Toko + Sembunyikan tombol Belanja Tombol belanja disembunyikan Tombol belanja ditampilkan Sembunyikan stiker @@ -1241,8 +1245,9 @@ Ini akan mengubah tampilan dan fitur aplikasi, tetapi efek samping yang tidak di Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah bug UI." Target versi app yang dipalsukan - 19.35.36 - Pulihkan ikon pemutar Shorts lama - 19.01.34 - Pulihkan ikon navigasi lama + 20.13.41 - Pulihkan bilah tindakan video yang tidak diciutkan + 19.35.36 - Pulihkan ikon pemutar Shorts lama + 19.01.34 - Pulihkan ikon navigasi lama Ubah halaman awal @@ -1476,7 +1481,7 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi" Menggunakan bahasa audio asli Menggunakan audio bawaan - Untuk menggunakan fitur ini, ubah \'Palsukan aliran video\' ke iOS TV + Untuk menggunakan fitur ini, ubah \'Palsukan aliran video\' ke klien apa pun kecuali Android Studio @@ -1554,16 +1559,19 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi" Efek samping pemalsuan Android "• Menu trek audio hilang • Volume stabil tidak tersedia" - • Video mungkin berhenti pada menit 1:00, atau mungkin tidak tersedia di beberapa wilayah + • Video mungkin berhenti pada 1:00, atau mungkin tidak tersedia di beberapa wilayah • Klien eksperimental dan dapat berhenti berfungsi kapan saja • Tidak ada codec video AV1 • Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran + + • Paksa audio asli tidak tersedia Tampilkan di Statistik untuk nerds Jenis klien ditampilkan di Statistik untuk nerds Klien disembunyikan di Statistik untuk nerds Bahasa aliran audio Untuk memilih bahasa audio tertentu, matikan \'Paksa bahasa audio asli\' + Pilihan bahasa streaming tidak tersedia dengan Android Studio @@ -1584,18 +1592,53 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi" Pengulangan permanen diaktifkan Pengulangan permanen dinonaktifkan + + Sembunyikan tombol transmisi + Tombol transmisi disembunyikan + Tombol transmisi ditampilkan + Sembunyikan bilah kategori Bilah kategori disembunyikan Bilah kategori ditampilkan + + Bilah navigasi + Sembunyikan atau ubah tombol bilah navigasi + + Sembunyikan Beranda + Tombol Beranda disembunyikan + Tombol Beranda ditampilkan + + Sembunyikan Cuplikan + Tombol Cuplikan disembunyikan + Tombol Cuplikan ditampilkan + + Sembunyikan Jelajahi + Tombol Jelajahi disembunyikan + Tombol Jelajahi ditampilkan + + Sembunyikan Pustaka + Tombol Pustaka disembunyikan + Tombol Pustaka ditampilkan + + Sembunyikan Upgrade + Tombol Upgrade disembunyikan + Tombol Upgrade ditampilkan + Sembunyikan bilah navigasi + Bilah navigasi disembunyikan + Bilah navigasi ditampilkan + Sembunyikan label tombol navigasi + Label disembunyikan + Label ditampilkan + Sembunyikan label \'Dapatkan Music Premium\' Label disembunyikan Label ditampilkan - Sembunyikan tombol upgrade + Sembunyikan tombol Upgrade Tombol disembunyikan Tombol ditampilkan diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 9194b9c77..ac465053a 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -107,6 +107,15 @@ La riproduzione potrebbe non funzionare" Log di debug I log di debug sono abilitati I log di debug sono disabilitati + Registra stack trace + I log di debug includono lo stack trace + I log di debug non includono lo stack trace + Mostra notifica per errore di ReVanced + Il toast viene mostrato se si verifica un errore + Il toast non viene mostrato se si verifica un errore + "Disabilitare i toast di errore nasconde tutte le notifiche di errore di ReVanced. + +Non sarai notificato di eventi imprevisti." Esporta i log di debug Copia i log di debug di ReVanced negli Appunti La registrazione di debug è disabilitata @@ -151,15 +160,6 @@ La riproduzione potrebbe non funzionare" Questo può aiutare a identificare i componenti durante la creazione di filtri personalizzati. Tuttavia, l'abilitazione di questa opzione registrerà anche alcuni dati dell'utente come il tuo indirizzo IP." - Registra stack trace - I log di debug includono lo stack trace - I log di debug non includono lo stack trace - Mostra notifica per errore di ReVanced - Il toast viene mostrato se si verifica un errore - Il toast non viene mostrato se si verifica un errore - "Disabilitare i toast di errore nasconde tutte le notifiche di errore di ReVanced. - -Non sarai notificato di eventi imprevisti." Nascondi le schede degli album @@ -586,6 +586,10 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo" Nascondi Interrompi annunci Il pulsante per interrompere gli annunci è nascosto Il pulsante per interrompere gli annunci è mostrato + + Nascondi commenti + Il pulsante Commenti è nascosto + Il pulsante Commenti è mostrato Nascondi Segnala @@ -1241,8 +1245,9 @@ Questo cambierà l'aspetto e le funzionalità dell'app, ma potrebbero verificars Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per evitare bug dell'interfaccia." Target della versione dell\'app desiderata - 19.35.36 - Ripristinare le vecchie icone del player Shorts - 19.01.34 - Ripristina le vecchie icone di navigazione + 20.13.41 - Ripristina la barra delle azioni video non compressa + 19.35.36 - Ripristinare le vecchie icone del player Shorts + 19.01.34 - Ripristina le vecchie icone di navigazione Cambia pagina iniziale @@ -1476,7 +1481,7 @@ Abilitare questa opzione può sbloccare qualità video più elevate" Utilizza la lingua audio originale Utilizzo audio predefinito - Per utilizzare questa funzionalità, cambia \'Spoof video streams\' in iOS TV + Per usare questa funzionalità, cambia \"Falsifica i flussi video\" a qualsiasi client eccetto Android Studio @@ -1558,12 +1563,15 @@ Abilitare questa opzione può sbloccare qualità video più elevate" • Client sperimentale e potrebbe smettere di funzionare in qualsiasi momento • Nessun codec video AV1 • I video dei bambini potrebbero non essere riprodotti quando si è disconnessi o in modalità di navigazione in incognito + + • L\'audio originale forzato non è disponibile Mostra nelle statistiche per nerd Il tipo di client è mostrato nelle statistiche per nerd Il client è nascosto nelle statistiche per nerd Lingua del flusso audio Per selezionare una lingua audio specifica, disattiva \'Forza lingua audio originale\' + La selezione della lingua dello stream non è disponibile con Android Studio @@ -1584,11 +1592,46 @@ Abilitare questa opzione può sbloccare qualità video più elevate" La ripetizione permanente è abilitata La ripetizione permanente è disabilitata + + Nascondi pulsante trasmissione + Il pulsante di trasmissione è nascosto + Il pulsante di trasmissione è mostrato + Nascondi barra delle categorie La barra delle categorie è nascosta La barra delle categorie è mostrata + + Barra di navigazione + Nascondi o modifica i pulsanti della barra di navigazione + + Nascondi Home + Il pulsante Home è nascosto + Il pulsante Home è mostrato + + Nascondi Esempi + Il pulsante Campioni è nascosto + Il pulsante Campioni è mostrato + + Nascondi Esplora + Il pulsante Esplora è nascosto + Il pulsante Esplora è mostrato + + Nascondi Libreria + Il pulsante Libreria è nascosto + Il pulsante Libreria è mostrato + + Nascondi Aggiorna + Il pulsante Aggiorna è nascosto + Il pulsante Aggiorna è mostrato + Nascondi la barra di navigazione + La barra di navigazione è nascosta + La barra di navigazione è mostrata + Nascondi le etichette dei pulsanti di navigazione + Le etichette sono nascoste + Le etichette sono mostrate + Nascondi l\'etichetta \'Ottieni Music Premium\' L\'etichetta è nascosta diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 94897e369..910332f9a 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" רישום איתור באגים יומני איתור באגים מופעלים יומני איתור באגים מושבתים + רשום עקבות מחסנית + יומני איתור באגים כוללים עקבות מחסנית + יומני איתור באגים אינם כוללים עקבות מחסנית + הצג הודעה קופצת בעת שגיאת ReVanced + הודעה קופצת מוצגת אם מתרחשת שגיאה + הודעה קופצת אינה מוצגת אם מתרחשת שגיאה + "השבתת הודעות שגיאה קופצות מסתירה את כל הודעות השגיאה של ReVanced. + +לא תקבל הודעה על אירועים בלתי צפויים." ייצוא יומני איתור באגים מעתיק יומנים לאיתור באגים של Revanced ללוח ההעתקה תיעוד איתור באגים מושבת @@ -151,15 +160,6 @@ Second \"item\" text" זה יכול לעזור לזהות רכיבים בעת יצירת מסננים מותאמים אישית. עם זאת, הפעלת הגדרה זו תתעד גם כמה נתוני משתמש כמו כתובת ה-IP שלך." - רשום עקבות מחסנית - יומני איתור באגים כוללים עקבות מחסנית - יומני איתור באגים אינם כוללים עקבות מחסנית - הצג הודעה קופצת בעת שגיאת ReVanced - הודעה קופצת מוצגת אם מתרחשת שגיאה - הודעה קופצת אינה מוצגת אם מתרחשת שגיאה - "השבתת הודעות שגיאה קופצות מסתירה את כל הודעות השגיאה של ReVanced. - -לא תקבל הודעה על אירועים בלתי צפויים." הסתר כרטיסי אלבום @@ -586,6 +586,10 @@ Second \"item\" text" הסתר עצירת מודעות לחצן עצירת מודעות מוסתר לחצן עצירת מודעות מוצג + + הסתר תגובות + הלחצן \'תגובות\' מוסתר + הלחצן \'תגובות\' מוצג הסתר דיווח @@ -1244,8 +1248,9 @@ Second \"item\" text" אם נכבה מאוחר יותר, מומלץ לנקות את נתוני היישום כדי למנוע באגים של ממשק המשתמש." יעד גרסת יישום מזויפת - 19.35.36 - שחזר סמלי נגן Shorts ישנים - 19.01.34 - שחזר סמלי ניווט ישנים + 20.13.41 - שחזור סרגל פעולות וידאו לא מכווץ + 19.35.36 - שחזר סמלי נגן Shorts ישנים + 19.01.34 - שחזר סמלי ניווט ישנים שנה את דף ההתחלה @@ -1479,7 +1484,7 @@ Second \"item\" text" שימוש בשפת שמע מקורית שימוש בשמע ברירת מחדל - כדי להשתמש בתכונה זו, שנה את \'זייף זרמי וידאו\' ל-iOS TV + כדי להשתמש בתכונה זו, שנה את \'זיוף זרמי וידאו\' לכל לקוח מלבד Android Studio @@ -1561,12 +1566,15 @@ Second \"item\" text" • לקוח ניסיוני ועשוי להפסיק לפעול בכל עת • אין קודק וידאו מסוג AV1 • ייתכן שסרטוני Kids לא יופעלו כשאתה מנותק או במצב פרטי + + • כפיית שמע מקורי אינה זמינה הצג בנתונים לגיקים סוג הלקוח מוצג בנתונים לגיקים הלקוח מוסתר בנתונים לגיקים שפת זרם השמע כדי לבחור שפת שמע ספציפית, כבה את \'אכוף שפת שמע מקורית\' + בחירת שפת הזרם אינה זמינה עם אנדרואיד סטודיו @@ -1587,11 +1595,46 @@ Second \"item\" text" חזרה קבועה מופעלת חזרה קבועה מושבתת + + הסתר לחצן שידור + לחצן השידור מוסתר + לחצן השידור מוצג + הסתר סרגל קטגוריות סרגל הקטגוריות מוסתר סרגל הקטגוריות מוצג + + סרגל ניווט + הסתר או שנה לחצני סרגל ניווט + + הסתר דף הבית + לחצן \'דף הבית\' מוסתר + לחצן \'דף הבית\' מוצג + + הסתר דוגמאות + לחצן \'דוגמיות\' מוסתר + לחצן \'דוגמיות\' מוצג + + הסתר גלו + לחצן \'גלו\' מוסתר + לחצן \'גלו\' מוצג + + הסתר ספרייה + לחצן \'ספרייה\' מוסתר + לחצן \'ספרייה\' מוצג + + הסתר שדרוג + לחצן \'שדרוג\' מוסתר + לחצן \'שדרוג\' מוצג + הסתר סרגל ניווט + סרגל הניווט מוסתר + סרגל הניווט מוצג + הסתר תוויות לחצני ניווט + התוויות מוסתרות + התוויות מוצגות + הסתר תווית \'קבל Premium למוזיקה\' התווית מוסתרת diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 1e25e7449..c416cb942 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -107,6 +107,15 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が デバッグログを有効化 デバッグログは有効です デバッグログは無効です + スタック トレースをログに記録 + デバッグログにスタック トレースが含まれます + デバッグログにスタック トレースは含まれません + ReVanced のエラー時にトーストを表示 + エラーが発生した場合にトーストが表示されます + エラーが発生してもトーストは表示されません + "エラートーストをオフにすると、ReVanced のすべてのエラー通知が非表示になります。 + +予期しないイベントが発生した場合でも通知されなくなります。" デバッグログのエクスポート ReVanced のデバッグログをクリップボードにコピーします デバッグログは無効です @@ -152,15 +161,6 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が これは、カスタムフィルターを作成する際にコンポーネントを識別するのに役立ちます。 ただし、これを有効にすると、IP アドレスなどの一部のユーザーデータもログに記録されます。" - スタック トレースをログに記録 - デバッグログにスタック トレースが含まれます - デバッグログにスタック トレースは含まれません - ReVanced のエラー時にトーストを表示 - エラーが発生した場合にトーストが表示されます - エラーが発生してもトーストは表示されません - "エラートーストをオフにすると、ReVanced のすべてのエラー通知が非表示になります。 - -予期しないイベントが発生した場合でも通知されなくなります。" アルバムカードを非表示 @@ -588,6 +588,10 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 「広告を停止」を非表示 「広告を停止」ボタンは表示されません 「広告を停止」ボタンは表示されます + + コメントボタンを非表示 + コメントボタンは表示されません + コメントボタンは表示されます 報告ボタンを非表示 @@ -624,9 +628,9 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が クリップボタンは表示されません クリップボタンは表示されます - 「ショップ」を非表示 - ショップボタンは表示されません - ショップボタンは表示されます + 購入ボタンを非表示 + 購入ボタンは表示されません + 購入ボタンは表示されます 「保存」を非表示にする 「保存」ボタンは表示されません @@ -741,15 +745,15 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 自動再生ボタンを非表示 - プレーヤー オーバーレイの自動再生ボタンは表示されません - プレーヤー オーバーレイの自動再生ボタンは表示されます + 自動再生ボタンはプレーヤー オーバーレイに表示されません + 自動再生ボタンはプレーヤー オーバーレイに表示されます 字幕ボタンを非表示 - プレーヤー オーバーレイの字幕ボタンは表示されません - プレーヤー オーバーレイの字幕ボタンは表示されます + 字幕ボタンはプレーヤー オーバーレイに表示されません + 字幕ボタンはプレーヤー オーバーレイに表示されます キャストボタンを非表示 - プレーヤー オーバーレイのキャストボタンは表示されません - プレーヤー オーバーレイのキャストボタンは表示されます + キャストボタンはプレーヤー オーバーレイに表示されません + キャストボタンはプレーヤー オーバーレイに表示されます プレーヤー コントロールの背景を非表示 プレーヤー コントロールの背景は表示されません プレーヤー コントロールの背景は表示されます @@ -1245,8 +1249,9 @@ Automotive レイアウト 再び偽装を無効にする場合は、UI のバグを防ぐためにアプリデータを消去することをお勧めします。" アプリバージョンの偽装先 - 19.35.36 - 古いショート プレーヤーのアイコンを復元 - 19.01.34 - 古いナビゲーション アイコンを復元 + 20.13.41 - アクション ボタンの文字表示を復元 + 19.35.36 - 古いショート プレーヤーのアイコンを復元 + 19.01.34 - 古いナビゲーション アイコンを復元 スタート画面を変更 @@ -1314,12 +1319,12 @@ Automotive レイアウト 丸角を有効化 ミニプレーヤーの角は丸角です ミニプレーヤーの角は直角です - 「ダブルタップとピンチでサイズ変更」を有効化 - "「ダブルタップとピンチでサイズ変更」は有効です + ダブルタップとピンチによるサイズ変更を有効化 + "ダブルタップとピンチによるサイズ変更は有効です • ダブルタップすると、ミニプレーヤーのサイズが大きくなる • もう一度ダブルタップすると、元のサイズに戻る" - 「 ダブルタップとピンチでサイズ変更」は無効です + ダブルタップとピンチによるサイズ変更は無効です ドラッグ&ドロップを有効化 "ドラッグ&ドロップは有効です @@ -1479,7 +1484,7 @@ Automotive レイアウト オリジナルの音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックは使用しません アプリが選択した音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックを使用する場合があります - この機能を使用するには、「動画ストリームを偽装」のクライアントを iOS TV に変更してください + この機能を使用するには、「動画ストリームを偽装」のクライアントを Android Studio 以外の任意のクライアントに変更してください @@ -1561,12 +1566,15 @@ Automotive レイアウト • 実験的なクライアントであり、いつでも動作しなくなる可能性がある • AV1 コーデックが利用できない • ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある + + •「オリジナルの音声を強制的に使用」が利用できない 統計情報に表示する 統計情報に現在のクライアントが表示されます 統計情報に現在のクライアントは表示されません 音声ストリームの言語 特定の音声言語を選択するには、「オリジナルの音声を強制的に使用」を無効にしてください + Android Studio では、ストリームの言語を選択できません @@ -1585,13 +1593,48 @@ Automotive レイアウト 常時リピートを有効化 常時リピートは有効です\n\nリピート設定が保存され常時適用されます - 常時リピートは無効です\n\nリピート設定は保存されません + 常時リピートは無効です\n\nリピート設定は保存されず毎回リセットされます + + + キャストボタンを非表示 + キャストボタンはプレーヤー オーバーレイに表示されません + キャストボタンはプレーヤー オーバーレイに表示されます カテゴリバーを非表示 カテゴリバーは表示されません カテゴリバーは表示されます + + ナビゲーション バー + ナビゲーション バーのボタンを変更または非表示にします + + 「ホーム」を非表示 + ホームボタンは表示されません + ホームボタンは表示されます + + 「サンプル」を非表示 + サンプルボタンは表示されません + サンプルボタンは表示されます + + 「探索」を非表示 + 探索ボタンは表示されません + 探索ボタンは表示されます + + 「ライブラリ」を非表示 + ライブラリ ボタンは表示されません + ライブラリ ボタンは表示されます + + 「アップグレード」を非表示 + アップグレード ボタンは表示されません + アップグレード ボタンは表示されます + ナビゲーション バーを非表示 + ナビゲーション バーは表示されません + ナビゲーション バーは表示されます + ボタンをアイコンのみで表示 + ナビゲーション ボタンはアイコンのみで表示されます + ナビゲーション ボタンはアイコンと文字で表示されます + 「Music Premium に登録」ラベルを非表示 ラベルは表示されません diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index a46a49eb4..949a2d95b 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -104,6 +104,7 @@ Second \"item\" text" + @@ -258,6 +259,7 @@ Second \"item\" text" + @@ -268,8 +270,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index db50315b6..e9ee33505 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -107,6 +107,15 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 디버그 로깅 디버그 로깅을 활성화합니다 디버그 로깅을 비활성화합니다 + 로그 스택 트레이스 + 디버그 로그에 로그 스택 트레이스를 포함합니다 + 디버그 로그에 로그 스택 트레이스를 포함하지 않습니다 + ReVanced 오류 메시지 표시하기 + 오류가 발생하면 팝업 메시지를 표시합니다 + 오류가 발생하면 팝업 메시지를 표시하지 않습니다 + "오류 메시지를 비활성화하면 모든 ReVanced 오류 알림이 숨겨집니다. + +예상되지 않은 이벤트에 대한 알림을 받지 못할 수 있습니다." 디버그 로그 내보내기 ReVanced 디버그 로그를 클립보드에 복사할 수 있습니다 디버그 로깅이 비활성화되어 있습니다 @@ -151,15 +160,6 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 이 설정은 사용자 정의 필터를 만들 경우에 구성 요소를 식별하는 데 도움이 될 수 있습니다. 그러나 이 설정을 활성화하면 IP 주소와 같은 일부 사용자 데이터도 기록됩니다." - 로그 스택 트레이스 - 디버그 로그에 로그 스택 트레이스를 포함합니다 - 디버그 로그에 로그 스택 트레이스를 포함하지 않습니다 - ReVanced 오류 메시지 표시하기 - 오류가 발생하면 팝업 메시지를 표시합니다 - 오류가 발생하면 팝업 메시지를 표시하지 않습니다 - "오류 메시지를 비활성화하면 모든 ReVanced 오류 알림이 숨겨집니다. - -예상되지 않은 이벤트에 대한 알림을 받지 못할 수 있습니다." 음악 앨범 카드 숨기기 @@ -584,6 +584,10 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 광고 중지 버튼 숨기기 광고 중지 버튼이 숨겨집니다 광고 중지 버튼이 표시됩니다 + + 댓글 버튼 숨기기 + 댓글 버튼이 숨겨집니다 + 댓글 버튼이 표시됩니다 신고 버튼 숨기기 @@ -656,7 +660,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 알려진 문제점: • 동영상 광고가 강제로 숨겨집니다" - 만들기 버튼과 알림 버튼의 위치를 교환하지 않습니다\n\n알려진 문제점:\n• 서버에서 더 많은 광고가 로드될 수 있습니다\n• Shorts 광고가 더 이상 숨겨지지 않습니다 + 만들기 버튼과 알림 버튼의 위치를 교환하지 않습니다 "이 설정을 비활성화하면 Shorts 광고가 차단되지 않습니다. 이 설정을 변경해도 적용되지 않는다면 시크릿 모드로 전환해 보세요." @@ -944,7 +948,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 싫어요 수를 표시할 수 없습니다 (클라이언트 API 제한 도달) 싫어요 수를 표시할 수 없습니다 (%s) - ReturnYouTubeDislike를 사용하여 투표하려면 동영상을 다시 로드하세요 + ReturnYouTubeDislike를 사용하여 투표하려면 동영상을 다시 불러오세요 소유자에 의해 숨겨짐 싫어요 수를 표시합니다 @@ -1243,8 +1247,9 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 나중에 이 기능을 비활성화하면 앱 레이아웃 버그를 방지하기 위해 앱 데이터를 지우는 것이 좋습니다." 변경할 앱 버전 - 19.35.36 - 이전 Shorts 플레이어 아이콘을 복원합니다 - 19.01.34 - 이전 하단바 아이콘을 복원합니다 + 20.13.41 - 접히지 않은 동영상 동작바를 복원합니다 + 19.35.36 - 이전 Shorts 플레이어 아이콘을 복원합니다 + 19.01.34 - 이전 하단바 아이콘을 복원합니다 앱 시작 페이지 변경하기 @@ -1480,11 +1485,11 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" 링크를 공유할 경우에 URL에서 추적 쿼리 매개변수를 삭제하지 않습니다 - 원본 오디오 스트림 언어 강제로 활성화하기 - 원본 오디오 스트림 언어를 사용 중입니다 - 기본 오디오 스트림 언어를 사용 중입니다 + 원본 오디오 언어 강제로 활성화하기 + 원본 오디오 언어를 사용 중입니다 + 기본 오디오 언어를 사용 중입니다 - 이 기능을 사용하려면, \'동영상 스트림 변경하기\'에서 기본 클라이언트를 iOS TV로 변경하세요 + 이 기능을 사용하려면, \'동영상 스트림 변경하기\'에서 기본 클라이언트를 Android Studio를 제외한 다른 클라이언트로 변경하세요 @@ -1566,12 +1571,15 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" • 실험용 클라이언트이며 언제든지 작동이 중단될 수 있습니다 • AV1 코덱이 지원되지 않습니다 • Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다 + + • 원본 오디오를 강제로 활성화할 수 없습니다 전문 통계에서 표시하기 동영상 스트림을 가져오는 데 사용되는 클라이언트가 전문 통계에서 표시됩니다 동영상 스트림을 가져오는 데 사용되는 클라이언트가 전문 통계에서 표시되지 않습니다 오디오 스트림 언어 - 특정 오디오 스트림 언어를 선택하려면, \'원본 오디오 스트림 언어 강제로 활성화하기\'를 끄세요 + 특정 오디오 언어를 선택하려면, \'원본 오디오 언어 강제로 활성화하기\'를 끄세요 + Android Studio에서는 스트림 언어를 선택할 수 없습니다 @@ -1592,11 +1600,46 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" 영구적인 반복을 활성화합니다 영구적인 반복을 비활성화합니다 + + 크롬캐스트 버튼 숨기기 + 크롬캐스트 버튼이 숨겨집니다 + 크롬캐스트 버튼이 표시됩니다 + 카테고리 바 숨기기 카테고리 바가 숨겨집니다 카테고리 바가 표시됩니다 + + 하단바 + 하단바에서 버튼을 숨기거나 변경할 수 있습니다 + + 홈 버튼 숨기기 + 홈 버튼이 숨겨집니다 + 홈 버튼이 표시됩니다 + + 샘플 버튼 숨기기 + 샘플 버튼이 숨겨집니다 + 샘플 버튼이 표시됩니다 + + 둘러보기 버튼 숨기기 + 둘러보기 버튼이 숨겨집니다 + 둘러보기 버튼이 표시됩니다 + + 보관함 버튼 숨기기 + 보관함 버튼이 숨겨집니다 + 보관함 버튼이 표시됩니다 + + 업그레이드 버튼 숨기기 + 업그레이드 버튼이 숨겨집니다 + 업그레이드 버튼이 표시됩니다 + 하단바 숨기기 + 하단바가 숨겨집니다 + 하단바가 표시됩니다 + 하단바 버튼 라벨 숨기기 + 라벨이 숨겨집니다 + 라벨이 표시됩니다 + Music Premium 가입 라벨 숨기기 Music Premium 가입 라벨이 숨겨집니다 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 9ccd7fb44..1add49b0d 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -107,6 +107,15 @@ Grojimas gali neveikti" Debugavimo žurnalas Debugavimo žurnalai yra įgalinti Debugavimo žurnalai yra išjungti + Žurnalų steko pėdsakai + Debugavimo žurnalai apima steko pėdsaką + Debugavimo žurnalai neapima steko pėdsako + Rodyti \"toast\" apie ReVanced klaidą + Jei įvyksta klaida, rodomas pranešimas „toast“ + Jei įvyksta klaida, pranešimas „toast“ nerodomas + "Klaidos isjungimas paslepia visus „ReVanced“ klaidu pranesimus. + +Apie netikėtus įvykius nebus pranešta." Eksportuoti derinimo žurnalus Nukopijuoja „ReVanced“ derinimo žurnalus į mainų sritį Derinimo žurnalų registravimas išjungtas @@ -151,15 +160,6 @@ Grojimas gali neveikti" Tai gali padėti identifikuoti komponentus kuriant pasirinktinius filtrus. Tačiau įjungus šį nustatymą taip pat bus registruojami kai kurie vartotojo duomenys, pvz., jūsų IP adresas." - Žurnalų steko pėdsakai - Debugavimo žurnalai apima steko pėdsaką - Debugavimo žurnalai neapima steko pėdsako - Rodyti \"toast\" apie ReVanced klaidą - Jei įvyksta klaida, rodomas pranešimas „toast“ - Jei įvyksta klaida, pranešimas „toast“ nerodomas - "Klaidos isjungimas paslepia visus „ReVanced“ klaidu pranesimus. - -Apie netikėtus įvykius nebus pranešta." Slėpti albumo korteles @@ -586,6 +586,10 @@ Reguliuokite garsumą braukdami vertikaliai dešinėje ekrano pusėje" Slėpti \"Stabdyti reklamą\" Skelbimų stabdymo mygtukas paslėptas Skelbimų stabdymo mygtukas rodomas + + Slėpti komentarus + Komentarų mygtukas paslėptas + Komentarų mygtukas rodomas Slėpti Pranešti @@ -1243,8 +1247,9 @@ Tai pakeis programos išvaizdą ir funkcijas, bet gali atsirasti nežinomų šal Jei vėliau išjungta, rekomenduojama išvalyti programos duomenis, kad būtų išvengta vartotojo sąsajos klaidų." Programėlės versijos apsimetinėjimo tikslas - 19.35.36 - Atkurti senus \"Shorts\" grotuvo piktogramas - 19.01.34 – Atkurti senas naršymo piktogramas + 20.13.41 – Atkurti neišskleistą vaizdo veiksmų juostą + 19.35.36 - Atkurti senus \"Shorts\" grotuvo piktogramas + 19.01.34 – Atkurti senas naršymo piktogramas Keisti pradžios puslapį @@ -1478,7 +1483,7 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v Naudojama originali garso kalba Naudojamas numatytasis garsas - Norėdami naudoti šią funkciją, pakeiskite „Klastoti vaizdo srautus“ į iOS TV + Kad naudotumėte šią funkciją, pakeiskite „Klastoti vaizdo įrašų srautus“ į bet kurį klientą, išskyrus „Android Studio“ @@ -1560,12 +1565,15 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v • Eksperimentinis klientas ir bet kada gali nustoti veikti • Nėra AV1 vaizdo kodeko • Vaikų vaizdo įrašai gali būti neatkuriami, kai atsijungiama arba naudojamas inkognito režimas + + • Priverstinai naudoti originalų garsą nepasiekiama Rodyti statistinėje informacijoje \"tik profesionalams\" Kliento tipas rodomas statistinėje informacijoje \"tik profesionalams\" Klientas paslėptas statistinėje informacijoje \"tik profesionalams\" Garso srauto kalba Norėdami pasirinkti konkrečią garso kalbą, išjunkite „Priverstinė originali garso kalba“. + Transliacijos kalbos pasirinkimas nepasiekiamas naudojant „Android Studio“ @@ -1586,11 +1594,46 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v Nuolatinis kartojimas įjungtas Nuolatinis kartojimas išjungtas + + Slėpti transliavimo mygtuką + Transliavimo mygtukas paslėptas + Transliavimo mygtukas rodomas + Slėpti kategorijų juostą Kategorijų juosta paslėpta Kategorijų juosta rodoma + + Naršymo juosta + Slėpti arba keisti naršymo juostos mygtukus + + Slėpti Pagrindinį + Mygtukas „Pagrindinis“ yra paslėptas + Mygtukas „Pagrindinis“ yra rodomas + + Slėpti Pavyzdžius + Mygtukas „Pavyzdžiai“ yra paslėptas + Mygtukas „Pavyzdžiai“ yra rodomas + + Slėpti Naršyti + Mygtukas „Naršyti“ yra paslėptas + Mygtukas „Naršyti“ yra rodomas + + Slėpti Biblioteką + Mygtukas „Biblioteka“ yra paslėptas + Mygtukas „Biblioteka“ yra rodomas + + Slėpti Atnaujinti + Mygtukas „Naujinti“ yra paslėptas + Mygtukas „Naujinti“ yra rodomas + Slėpti naršymo juostą + Naršymo juosta yra paslėpta + Naršymo juosta yra rodoma + Slėpti naršymo mygtukų etiketes + Etiketės yra paslėptos + Etiketės yra rodomos + Slėpti „Gauti Music Premium“ etiketę Etiketė paslėpta diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index 72bfc5fe9..6cdd5e4b1 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -107,6 +107,15 @@ Atskaņošana var nedarboties" Atkļūdošanas žurnāls Atkļūdošanas žurnāli ir iespējoti Atkļūdošanas žurnāli ir atspējoti + Reģistrēt steka izsekošanu + Atkļūdošanas žurnāli ietver steka izsekošanu + Atkļūdošanas žurnāli neietver steka izsekošanu + Rādīt paziņojumu par ReVanced kļūdu + Ja rodas kļūda, tiek rādīts toast + Ja rodas kļūda, toast netiek rādīts + "Kļūdu paziņojumu izslēgšana paslēpj visus ReVanced kļūdu paziņojumus. + +Jūs netiksit informēts par neparedzētiem notikumiem." Eksportēt atkļūdošanas žurnālus Kopē ReVanced atkļūdošanas žurnālus starpliktuvē Atkļūdošanas žurnālu reģistrēšana ir atspējota @@ -151,15 +160,6 @@ Atskaņošana var nedarboties" Tas var palīdzēt identificēt komponentus, veidojot pielāgotus filtrus. Tomēr, iespējojot šo iestatījumu, tiks reģistrēti arī daži lietotāja dati, piemēram, jūsu IP adrese." - Reģistrēt steka izsekošanu - Atkļūdošanas žurnāli ietver steka izsekošanu - Atkļūdošanas žurnāli neietver steka izsekošanu - Rādīt paziņojumu par ReVanced kļūdu - Ja rodas kļūda, tiek rādīts toast - Ja rodas kļūda, toast netiek rādīts - "Kļūdu paziņojumu izslēgšana paslēpj visus ReVanced kļūdu paziņojumus. - -Jūs netiksit informēts par neparedzētiem notikumiem." Paslēpt albumu kartītes @@ -586,6 +586,10 @@ Regulējiet skaļumu, velkot vertikāli ekrāna labajā pusē" Slēpt Pārtraukt reklāmas Apturēt reklāmas poga ir paslēpta Apturēt reklāmas poga ir redzama + + Slēpt komentārus + Komentāru poga ir paslēpta + Komentāru poga ir redzama Paslēpt Ziņot @@ -1243,8 +1247,9 @@ Tas mainīs lietotnes izskatu un funkcijas, taču var rasties nezināmas blakusp Ja vēlāk tiks izslēgts, ieteicams notīrīt lietotnes datus, lai novērstu lietotāja saskarnes kļūdas." Viltot lietotnes versijas mērķis - 19.35.36 - Atjaunot vecās Shorts spēlētāja ikonas - 19.01.34 - Atjaunot vecās navigācijas ikonas + 20.13.41 - Atjaunot nesaspiestu video darbību joslu + 19.35.36 - Atjaunot vecās Shorts spēlētāja ikonas + 19.01.34 - Atjaunot vecās navigācijas ikonas Mainīt sākuma lapu @@ -1478,7 +1483,7 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk Izmantot oriģinālo audio valodu Tiek izmantots noklusējuma audio - Lai izmantotu šo funkciju, nomainiet \"Video straumju viltošana\" uz iOS TV + Lai izmantotu šo funkciju, mainiet \"Viltotās video plūsmas\" uz jebkuru klientu, izņemot Android Studio @@ -1560,12 +1565,15 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk • Eksperimentāls klients un jebkurā brīdī var pārtraukt darbu • Nav pieejams AV1 video kodeks • Bērnu videoklipi var netikt atskaņoti, kad esat izrakstījies vai inkognito režīmā. + + • Piespiest oriģinālo skaņu nav pieejams Rādīt statistiskos datos entuziastiem Klienta tips tiek rādīts statistiskos datos entuziastiem Klients ir paslēpts statistiskos datos entuziastiem Audio straumes valoda Lai atlasītu konkrētu audio valodu, izslēdziet “Piespiest oriģinālo audio valodu” + Straumju valodas izvēle nav pieejama ar Android Studio @@ -1586,11 +1594,46 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk Pastāvīgā atkārtošana ir iespējota Pastāvīgā atkārtošana ir atspējota + + Slēpt apraides pogu + Apraides poga ir paslēpta + Apraides poga ir redzama + Slēpt kategoriju joslu Kategoriju josla ir paslēpta Kategoriju josla ir redzama + + Navigācijas josla + Slēpt vai mainīt navigācijas joslas pogas + + Paslēpt Sākumlapu + Poga Sākums ir paslēpta + Poga Sākums ir redzama + + Paslēpt Īsos klipus + Poga Paraugi ir paslēpta + Poga Paraugi ir redzama + + Slēpt Izpētīt + Poga Izpētīt ir paslēpta + Poga Izpētīt ir redzama + + Slēpt bibliotēku + Poga Bibliotēka ir paslēpta + Poga Bibliotēka ir redzama + + Slēpt jaunināšanu + Poga Jaunināt ir paslēpta + Poga Jaunināt ir redzama + Slēpt navigācijas joslu + Navigācijas josla ir paslēpta + Navigācijas josla ir redzama + Slēpt navigācijas pogu etiķetes + Etiķetes ir paslēptas + Etiķetes ir redzamas + Slēpt uzrakstu \"Iegūt Music Premium\" Uzraksts ir paslēpts diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 177641f2e..aea3c57e7 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -244,6 +245,7 @@ Second \"item\" text" + @@ -254,8 +256,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index 39674e0dc..31a443ec9 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + @@ -245,6 +246,7 @@ Second \"item\" text" + @@ -255,8 +257,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index 2a9f14c8d..89a289c2d 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -107,6 +107,15 @@ Afspeelproblemen kunnen optreden" Debuglogboek Debuglogboeken zijn ingeschakeld Debuglogboeken zijn uitgeschakeld + Stacktraces loggen + Debuglogboeken bevatten stacktrace + Debuglogs bevatten geen stacktrace + Toon toastmelding bij ReVanced error + Toastmelding wordt weergegeven als er een fout optreedt + Toastmelding wordt niet weergegeven als er een fout optreedt + "Het uitschakelen van foutmeldingen verbergt alle ReVanced-foutmeldingen. + +U wordt niet op de hoogte gesteld van onverwachte gebeurtenissen." Foutopsporingslogboeken exporteren Kopieert ReVanced-foutopsporingslogboeken naar het klembord Foutopsporing is uitgeschakeld @@ -151,15 +160,6 @@ Afspeelproblemen kunnen optreden" Dit kan helpen bij het identificeren van componenten bij het maken van aangepaste filters. Als u dit inschakelt, worden echter ook bepaalde gebruikersgegevens, zoals uw IP-adres, vastgelegd." - Stacktraces loggen - Debuglogboeken bevatten stacktrace - Debuglogs bevatten geen stacktrace - Toon toastmelding bij ReVanced error - Toastmelding wordt weergegeven als er een fout optreedt - Toastmelding wordt niet weergegeven als er een fout optreedt - "Het uitschakelen van foutmeldingen verbergt alle ReVanced-foutmeldingen. - -U wordt niet op de hoogte gesteld van onverwachte gebeurtenissen." Verberg albumkaarten @@ -586,6 +586,10 @@ Pas het volume aan door verticaal over de rechterkant van het scherm te vegen"Advertenties stoppen verbergen Knop \"Advertenties stoppen\" is verborgen Knop \"Advertenties stoppen\" is zichtbaar + + Reacties verbergen + De reactieknop is verborgen + De reactieknop wordt weergegeven Melden verbergen @@ -1242,8 +1246,9 @@ Dit zal het uiterlijk en de functies van de app veranderen, maar er kunnen onbek Als het later wordt uitgeschakeld, wordt aanbevolen om de app-gegevens te wissen om UI-fouten te voorkomen." Doel voor vervalsen app-versie - 19.35.36 - Herstel oude pictogrammen voor Shorts-speler - 19.01.34 - Herstel oude navigatie-iconen + 20.13.41 - Herstel niet-ingeklapte videobalk + 19.35.36 - Herstel oude pictogrammen voor Shorts-speler + 19.01.34 - Herstel oude navigatie-iconen Startpagina wijzigen @@ -1475,7 +1480,7 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen" De oorspronkelijke audiotaal gebruiken Standaard audio gebruiken - Om deze functie te gebruiken, wijzig je \'Videostreams vervalsen\' in iOS TV + Om deze functie te gebruiken, wijzig \'Videostreams spoofen\' naar elke client behalve Android Studio @@ -1557,12 +1562,15 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen" • Experimentele client en kan elk moment stoppen met werken • Geen AV1-videocodec • \"Kinder\"​-Video’s worden mogelijk niet afgespeeld wanneer u bent uitgelogd of de incognitomodus gebruikt + + • Oorspronkelijke audio forceren is niet beschikbaar Weergeven in Stats for nerds Het clienttype wordt getoond in Stats for nerds Client is verborgen in Stats for nerds Audiostreamtaal Om een specifieke audiotaal te selecteren, schakel \"Oorspronkelijke audiotaal forceren\" uit + Streamtaalselectie is niet beschikbaar met Android Studio @@ -1583,11 +1591,46 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen" Permanent herhalen is ingeschakeld Permanent herhalen is uitgeschakeld + + Cast-knop verbergen + Cast-knop is verborgen + Cast-knop is weergegeven + Categoriebalk verbergen Categoriebalk is verborgen Categoriebalk wordt weergegeven + + Navigatiebalk + Navigatiebalkknoppen verbergen of wijzigen + + Startpagina verbergen + Startknop is verborgen + Startknop wordt weergegeven + + Fragmenten verbergen + Knop Voorbeelden is verborgen + Knop Voorbeelden wordt weergegeven + + Verberg Ontdekken + Knop Ontdekken is verborgen + Knop Ontdekken wordt weergegeven + + Verberg Bibliotheek + Knop Bibliotheek is verborgen + Knop Bibliotheek wordt weergegeven + + Verberg Upgraden + Upgrade-knop is verborgen + Upgrade-knop wordt weergegeven + Navigatiebalk verbergen + Navigatiebalk is verborgen + Navigatiebalk wordt weergegeven + Labels van navigatieknoppen verbergen + Labels zijn verborgen + Labels worden weergegeven + \'Muziek Premium krijgen\' label verbergen Label is verborgen diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 0af1ca4cb..ca5a642a6 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -107,6 +107,15 @@ Odtwarzanie może nie działać" Logi do debugowania Logi debugowania są włączone Logi debugowania są wyłączone + Logi śladów stosów + Logi do debugowania zawierają ślady stosów + Logi do debugowania nie zawierają śladów stosów + Komunikaty o błędach ReVanced + Wyświetlany jest toast, jeśli wystąpi błąd + Toast nie jest wyświetlany, jeśli wystąpi błąd + "Wyłączenie notyfikacji błędów ukrywa wszystkie powiadomienia o błędach ReVanced. + +Nie będziesz informowany o żadnych nieoczekiwanych zdarzeniach." Eksportuj dzienniki debugowania Kopiuje dzienniki debugowania ReVanced do schowka Rejestrowanie debugowania jest wyłączone @@ -147,15 +156,6 @@ Odtwarzanie może nie działać" Logi do debugowania zawierają bufory Logi do debugowania nie zawierają buforów "Włączenie tego ustawienia spowoduje rejestrowanie dodatkowych danych układu, w tym tekstu na ekranie dla niektórych komponentów interfejsu użytkownika.\n\nMoże to pomóc w identyfikacji komponentów podczas tworzenia filtrów niestandardowych.\n\nWłączenie tej opcji spowoduje jednak również rejestrowanie niektórych danych użytkownika, takich jak adres IP." - Logi śladów stosów - Logi do debugowania zawierają ślady stosów - Logi do debugowania nie zawierają śladów stosów - Komunikaty o błędach ReVanced - Wyświetlany jest toast, jeśli wystąpi błąd - Toast nie jest wyświetlany, jeśli wystąpi błąd - "Wyłączenie notyfikacji błędów ukrywa wszystkie powiadomienia o błędach ReVanced. - -Nie będziesz informowany o żadnych nieoczekiwanych zdarzeniach." Ukryj karty albumów @@ -582,6 +582,10 @@ Dostosuj głośność, przesuwając pionowo po prawej stronie ekranu" Ukryj \"Zatrzymaj reklamy\" Przycisk zatrzymania reklam jest ukryty Przycisk zatrzymania reklam jest widoczny + + Ukryj komentarze + Przycisk komentarzy jest ukryty + Przycisk komentarzy jest widoczny Przycisk od zgłaszania @@ -1238,8 +1242,9 @@ Spowoduje to zmianę wyglądu i funkcjonalności aplikacji, ale mogą wystąpić Jeśli później zostanie wyłączony, zaleca się wyczyszczenie danych aplikacji, aby zapobiec błędom interfejsu użytkownika." Docelowa oszukiwana wersja aplikacji - 19.35.36 - Przywraca stare ikony odtwarzacza Shortsów - 19.01.34 – Przywróć stare ikony nawigacji + 20.13.41 - Przywróć niezwinięty pasek akcji wideo + 19.35.36 - Przywraca stare ikony odtwarzacza Shortsów + 19.01.34 – Przywróć stare ikony nawigacji Zmień stronę startową @@ -1473,7 +1478,7 @@ Włączenie tego może odblokować wyższe jakości wideo" Używanie oryginalnego języka audio Używanie domyślnego dźwięku - Aby użyć tej funkcji, zmień opcję \"Fałszuj strumienie wideo\" na iOS TV + Aby użyć tej funkcji, zmień \'Fałszuj strumienie wideo\' na dowolnego klienta z wyjątkiem Android Studio @@ -1555,12 +1560,15 @@ Włączenie tego może odblokować wyższe jakości wideo" • Eksperymentalny klient i może przestać działać w każdej chwili • Žádný video kodek AV1 • Filmy dla dzieci mogą nie być odtwarzane po wylogowaniu lub w trybie incognito + + • Wymuś oryginalny dźwięk jest niedostępny Pokaż w statystykach dla nerdów Typ klienta jest wyświetlany w Statystykach dla nerdów Klient jest ukryty w statystykach dla nerdów Język strumienia audio Aby wybrać konkretny język audio, wyłącz \"Wymuś oryginalny język audio\" + Wybór języka strumienia nie jest dostępny w przypadku Android Studio @@ -1581,11 +1589,46 @@ Włączenie tego może odblokować wyższe jakości wideo" Stałe powtarzanie jest włączone Stałe powtarzanie jest wyłączone + + Ukryj przycisk Cast + Przycisk Cast jest ukryty + Przycisk Cast jest widoczny + Ukryj pasek kategorii Pasek kategorii jest ukryty Pasek kategorii jest widoczny + + Pasek nawigacji + Ukryj lub zmień przyciski paska nawigacji + + Ukryj Główną + Przycisk Główna jest ukryty + Przycisk Główna jest pokazany + + Ukryj Fragmenty + Przycisk Wycinki jest ukryty + Przycisk Wycinki jest pokazany + + Ukryj Odkrywaj + Przycisk Przeglądaj jest ukryty + Przycisk Przeglądaj jest pokazany + + Ukryj Bibliotekę + Przycisk Biblioteka jest ukryty + Przycisk Biblioteka jest pokazany + + Ukryj Ulepsz + Przycisk Ulepsz jest ukryty + Przycisk Ulepsz jest pokazany + Ukryj pasek nawigacji + Pasek nawigacji jest ukryty + Pasek nawigacji jest pokazany + Ukryj etykiety przycisków nawigacji + Etykiety są ukryte + Etykiety są pokazane + Ukryj etykietę „Uzyskaj Music Premium” Etykieta jest ukryta diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 618054bb2..ccd4ea1c0 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -107,6 +107,15 @@ A reprodução pode não funcionar" Registro de depuração Registro de depuração está ativado Registro de depuração está desativado + Registro de rastreamento em pilha + Registro de depuração incluem rastreamento em pilha + Registro de depuração não incluem rastreamento em pilha + Mostrar notificação flutuante de erro do ReVanced + O toast é exibido se ocorrer um erro + O toast não é exibido se ocorrer um erro + "Desligar as notificações de erro oculta todas as notificações de erro do ReVanced. + +Você não será notificado sobre nenhum evento inesperado." Exportar registros de depuração Copia os registros de depuração do ReVanced para a área de transferência O registro de depuração está desativado @@ -151,15 +160,6 @@ A reprodução pode não funcionar" Isso pode ajudar a identificar componentes ao criar filtros personalizados. No entanto, ativar isso também registrará alguns dados do usuário, como seu endereço IP." - Registro de rastreamento em pilha - Registro de depuração incluem rastreamento em pilha - Registro de depuração não incluem rastreamento em pilha - Mostrar notificação flutuante de erro do ReVanced - O toast é exibido se ocorrer um erro - O toast não é exibido se ocorrer um erro - "Desligar as notificações de erro oculta todas as notificações de erro do ReVanced. - -Você não será notificado sobre nenhum evento inesperado." Ocultar cartões de álbum @@ -586,6 +586,10 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" Ocultar \"Parar anúncios\" O botão Parar anúncios está oculto O botão Parar anúncios é exibido + + Ocultar Comentários + Botão de comentários está oculto + Botão de comentários está visível Ocultar Denúncia @@ -1239,8 +1243,9 @@ Isso mudará a aparência e os recursos do aplicativo, mas podem ocorrer efeitos Se posteriormente desativado, é recomendável limpar os dados do aplicativo para evitar bugs na IU." Versão de spoofing alvo - 19.35.36 - Restaurar ícones antigos do player dos Shorts - 19.01.34 - Restaurar ícones de navegação antigos + 20.13.41 - Restaurar barra de ações de vídeo não recolhida + 19.35.36 - Restaurar ícones antigos do player dos Shorts + 19.01.34 - Restaurar ícones de navegação antigos Alterar página inicial @@ -1474,7 +1479,7 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas" Usar o idioma original do áudio Usando áudio padrão - Para usar este recurso, altere \"Spoof video streams\" para iOS TV + Para usar este recurso, mude \'Falsificar fluxos de vídeo\' para qualquer cliente, exceto o Android Studio @@ -1556,12 +1561,15 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas" • Cliente experimental e pode parar de funcionar a qualquer momento • Sem codec de vídeo AV1 • Vídeos infantis podem não ser reproduzidos quando estiver desconectado ou no modo de navegação anônima + + • Forçar áudio original não está disponível Mostrar em Estatísticas para nerds O tipo de cliente é mostrado em Estatísticas para nerds O cliente está oculto em Estatísticas para nerds Idioma do fluxo de áudio Para selecionar um idioma de áudio específico, desative \"Forçar idioma de áudio original\" + A seleção de idioma do stream não está disponível com o Android Studio @@ -1582,11 +1590,46 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas" Repetição permanente está ativada Repetição permanente está desativada + + Ocultar botão de transmissão + Botão de transmissão está oculto + Botão de transmissão está visível + Ocultar barra de categoria Barra de categoria está oculta Barra de categoria é exibida + + Barra de navegação + Ocultar ou alterar botões da barra de navegação + + Ocultar Início + Botão Início oculto + Botão Início visível + + Ocultar Amostras + Botão Amostras oculto + Botão Amostras visível + + Ocultar Explorar + Botão Explorar oculto + Botão Explorar visível + + Ocultar Biblioteca + Botão Biblioteca oculto + Botão Biblioteca visível + + Ocultar Atualizar + Botão Fazer upgrade oculto + Botão Fazer upgrade visível + Ocultar barra de navegação + Barra de navegação oculta + Barra de navegação visível + Ocultar rótulos dos botões de navegação + Rótulos ocultos + Rótulos visíveis + Ocultar o rótulo \'Obter Music Premium\' Rótulo está oculto diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 76c743b04..2de0a67b4 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -107,6 +107,15 @@ A reprodução pode não funcionar" Registo da depuração Os registos da depuração estão ativados Os registos da depuração estão desativados + Pilha de registos + Os registos da depuração incluem stack trace + Os registos da depuração não incluem stack trace + Mostrar toast com erro de ReVanced + O toast é exibido se ocorrer um erro + O toast não é exibido se ocorrer um erro + "A desativação dos erros toasts oculta todas as notificações de erro do ReVanced. + +Não será notificado de quaisquer eventos inesperados." Exportar registos de depuração Copia os registos de depuração do ReVanced para a área de transferência O registo de depuração está desativado @@ -151,15 +160,6 @@ A reprodução pode não funcionar" Isto pode ajudar a identificar componentes ao criar filtros personalizados. No entanto, ativar isto também irá registar alguns dados do utilizador, como o seu endereço IP." - Pilha de registos - Os registos da depuração incluem stack trace - Os registos da depuração não incluem stack trace - Mostrar toast com erro de ReVanced - O toast é exibido se ocorrer um erro - O toast não é exibido se ocorrer um erro - "A desativação dos erros toasts oculta todas as notificações de erro do ReVanced. - -Não será notificado de quaisquer eventos inesperados." Esconder cartões de álbuns @@ -586,6 +586,10 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" Ocultar Parar anúncios O botão Parar anúncios está oculto O botão Parar anúncios está exibido + + Ocultar Comentários + O botão de comentários está oculto + O botão de comentários está exibido Esconder relatório @@ -1242,8 +1246,9 @@ Layout automotivo Nếu sau này tắt, bạn nên xóa dữ liệu ứng dụng để tránh lỗi UI." Destaque de versão do app - 19.35.36 - Restaurar os icones antigos do reprodutor dos Shorts - 19.01.34 - Restaurar ícones antigos de navegação + 20.13.41 - Restaurar barra de ação de vídeo não recolhida + 19.35.36 - Restaurar os icones antigos do reprodutor dos Shorts + 19.01.34 - Restaurar ícones antigos de navegação Alterar página inicial @@ -1477,7 +1482,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Usando o idioma de áudio original Usando o áudio predefinido - Para usar este recurso, altere \"Spoof video streams\" para iOS TV + Para usar este recurso, altere \'Falsificar streams de vídeo\' para qualquer cliente, exceto o Android Studio @@ -1559,12 +1564,15 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"• Cliente experimental e pode parar de funcionar a qualquer momento • Nenhum codec de vídeo AV1 • Vídeos infantis podem não ser reproduzidos quando desconectado ou no modo anônimo + + • Forçar áudio original não está disponível Mostrar em Estatísticas para nerds O tipo de cliente é mostrado em Estatísticas para nerds O cliente está oculto em Estatísticas para nerds Idioma do fluxo de áudio Para selecionar um idioma de áudio específico, desative \'Forçar idioma de áudio original\' + A seleção do idioma do stream não está disponível com o Android Studio @@ -1585,11 +1593,46 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Repetição permanente está ativada Repetição permanente está desativada + + Ocultar botão de transmissão + O botão de transmissão está oculto + O botão de transmissão está exibido + Ocultar barra de categorias Barra de categorias está oculta Barra de categorias está exibida + + Barra de navegação + Ocultar ou alterar botões da barra de navegação + + Ocultar Início + Botão Início está oculto + Botão Início está exibido + + Ocultar Curtos + Botão Amostras está oculto + Botão Amostras está exibido + + Ocultar Explorar + Botão Explorar está oculto + Botão Explorar está exibido + + Ocultar Biblioteca + Botão Biblioteca está oculto + Botão Biblioteca está exibido + + Ocultar Premium + Botão Fazer upgrade está oculto + Botão Fazer upgrade está exibido + Ocultar barra de navegação + Barra de navegação está oculta + Barra de navegação está exibida + Ocultar rótulos dos botões de navegação + Rótulos estão ocultos + Rótulos estão exibidos + Ocultar o rótulo \"Obter Music Premium\" Rótulo está oculto diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 0a901e3d8..04025e4b5 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -107,6 +107,15 @@ Redarea poate să nu funcționeze" Jurnal depanare Jurnalele de depanare sunt activate Jurnalele de depanare sunt dezactivate + Urme stive de jurnal + Jurnalele depanării includ urmărirea stivelor + Jurnalele de depanare nu includ urmărirea stivelor + Arată toast la eroare ReVanced + Se afișează un toast dacă apare o eroare + Nu se afișează un toast dacă apare o eroare + "Oprirea toasturilor de eroare ascunde toate notificările de eroare ReVanced. + +Nu veți fi notificat de niciun eveniment neașteptat." Exportare jurnale de depanare Copiază jurnalele de depanare ReVanced în clipboard Înregistrarea în jurnal de depanare este dezactivată @@ -151,15 +160,6 @@ Redarea poate să nu funcționeze" Acest lucru poate ajuta la identificarea componentelor atunci când creați filtre personalizate. Cu toate acestea, activarea acestei opțiuni va înregistra și unele date ale utilizatorului, cum ar fi adresa dvs. IP." - Urme stive de jurnal - Jurnalele depanării includ urmărirea stivelor - Jurnalele de depanare nu includ urmărirea stivelor - Arată toast la eroare ReVanced - Se afișează un toast dacă apare o eroare - Nu se afișează un toast dacă apare o eroare - "Oprirea toasturilor de eroare ascunde toate notificările de eroare ReVanced. - -Nu veți fi notificat de niciun eveniment neașteptat." Ascundeți cardurile de album @@ -586,6 +586,10 @@ Reglați volumul glisând vertical pe partea dreaptă a ecranului" Ascunde \'Oprește anunțurile\' Butonul de oprire a reclamelor este ascuns Butonul de oprire a reclamelor este afișat + + Ascunde comentariile + Butonul de comentarii este ascuns + Butonul de comentarii este afișat Ascunde raportul @@ -1241,8 +1245,9 @@ Acest lucru va schimba aspectul și caracteristicile aplicației, dar pot apăre Dacă este dezactivat ulterior, se recomandă să ștergeți datele aplicației pentru a preveni erorile UI." Țintă versiune falsificată a aplicației - 19.35.36 - Restaurează pictogramele vechi ale playerului Shorts - 19.01.34 - Restaurați pictogramele de navigare vechi + 20.13.41 - Restabiliți bara de acțiune video necolapsată + 19.35.36 - Restaurează pictogramele vechi ale playerului Shorts + 19.01.34 - Restaurați pictogramele de navigare vechi Schimbă pagina de start @@ -1476,7 +1481,7 @@ Activarea acestei opțiuni poate debloca calități video mai mari" Folosind limba audio originală Utilizează audio implicit - Pentru a utiliza această funcție, schimbați „Spoof video streams” în iOS TV + Pentru a utiliza această funcție, modificați \"Falsificare fluxuri video\" la orice client, cu excepția Android Studio @@ -1558,12 +1563,15 @@ Activarea acestei opțiuni poate debloca calități video mai mari" • Client experimental și se poate opri din funcționare oricând • Fara codec video AV1 • Copiii nu pot urmări videoclipuri atunci când sunt deconectați sau în modul incognito + + • Forțarea sunetului original nu este disponibilă Afișează în Statistici pentru pasionați Tipul clientului este afișat în Statistici pentru pasionați Clientul este ascuns în Statistici pentru pasionați Limba fluxului audio Pentru a selecta o limbă audio specifică, dezactivați „Forțează limba audio originală” + Selecția limbii fluxului nu este disponibilă cu Android Studio @@ -1584,11 +1592,46 @@ Activarea acestei opțiuni poate debloca calități video mai mari" Repetarea permanentă este activată Repetarea permanentă este dezactivată + + Ascunde butonul de transmisie + Butonul de transmisie este ascuns + Butonul de transmisie este afișat + Ascunde bara de categorii Bara de categorii este ascunsă Bara de categorii este afișată + + Bară de navigare + Ascundeți sau modificați butoanele barei de navigare + + Ascunde Acasă + Butonul Acasă este ascuns + Butonul Acasă este afișat + + Ascunde Mostre + Butonul Mostre este ascuns + Butonul Mostre este afișat + + Ascundeți Explorare + Butonul Explorare este ascuns + Butonul Explorare este afișat + + Ascundeți Bibliotecă + Butonul Bibliotecă este ascuns + Butonul Bibliotecă este afișat + + Ascundeți Upgrade + Butonul Upgrade este ascuns + Butonul Upgrade este afișat + Ascundeți bara de navigare + Bara de navigare este ascunsă + Bara de navigare este afișată + Ascundeți etichetele butoanelor de navigare + Etichetele sunt ascunse + Etichetele sunt afișate + Ascunde eticheta „Obține Music Premium” Eticheta este ascunsă diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 1b872f355..b1feb2931 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" Включить журналы отладки Журналы отладки включены Журналы отладки отключены + Журнал трассировки стека + В журналы отладки включена трассировка стека + В журналы отладки не включена трассировка стека + Показать всплывающее уведомление при ошибке Revanced + Всплывающее уведомление при возникновении ошибки Revanced показано + Всплывающее уведомление при возникновении ошибки Revanced скрыто + "Отключение всплывающих уведомлений об ошибках скроет все сообщения об ошибках ReVanced. + +Вы не будете уведомлены о каких-либо непредвиденных событиях." Экспортировать журналы отладки Копирует журналы отладки ReVanced в буфер обмена Журналы отладки отключены @@ -151,15 +160,6 @@ Second \"item\" text" Это может помочь определить компоненты при создании пользовательских фильтров. Однако включение этой функции также приведет к регистрации некоторых пользовательских данных, таких как ваш IP-адрес." - Журнал трассировки стека - В журналы отладки включена трассировка стека - В журналы отладки не включена трассировка стека - Показать всплывающее уведомление при ошибке Revanced - Всплывающее уведомление при возникновении ошибки Revanced показано - Всплывающее уведомление при возникновении ошибки Revanced скрыто - "Отключение всплывающих уведомлений об ошибках скроет все сообщения об ошибках ReVanced. - -Вы не будете уведомлены о каких-либо непредвиденных событиях." Скрыть карточки альбомов @@ -586,6 +586,10 @@ Second \"item\" text" Скрыть кнопку \"Не показывать рекламу\" Кнопка \"Не показывать рекламу\" скрыта Кнопка \"Не показывать рекламу\" показана + + Скрыть комментарии + Кнопка \"Комментарии\" в Shorts скрыта + Кнопка \"Комментарии\" в Shorts показана Скрыть кнопку \"Пожаловаться\" @@ -1244,8 +1248,9 @@ Second \"item\" text" Если позже данный параметр будет отключен, рекомендуется очистить данные приложения для предотвращения проблем с пользовательским интерфейсом." Подменить версию приложения на - 19.35.36 - Восстановление старых иконок плеера Shorts - 19.01.34 - Восстановление старых иконок панели навигации + 20.13.41 - Восстановить не свернутую панель действий видео + 19.35.36 - Восстановление старых иконок плеера Shorts + 19.01.34 - Восстановление старых иконок панели навигации Изменить начальную страницу @@ -1484,7 +1489,7 @@ Second \"item\" text" Используется оригинальная звуковая дорожка Используется звуковая дорожка по умолчанию - Для использования данной опции измените подмену видеопотока на тип клиента iOS TV + Для использования этой функции, измените \'Подмена видеопотоков\' на любой клиент, кроме Android Studio @@ -1566,12 +1571,15 @@ Second \"item\" text" • Экспериментальный клиент и может перестать работать в любое время • Отсутствует видеокодек AV1 • Видео для детей могут не воспроизводиться при выходе из системы или в режиме инкогнито + + • Принудительная оригинальная звуковая дорожка недоступна Показать в \"Статистике для сисадминов\" Тип клиента в \"Статистике для сисадминов\" показан Тип клиента в \"Статистике для сисадминов\" скрыт Язык аудиопотока Чтобы выбрать определенный язык аудио, отключите \"Принудительный язык оригинального аудио\" + Выбор языка трансляции недоступен в Android Studio @@ -1592,11 +1600,46 @@ Second \"item\" text" Постоянный повтор включен Постоянный повтор отключен + + Скрыть кнопку \"Трансляция\" + Кнопка \"Трансляция\" в плеере скрыта + Кнопка \"Трансляция\" в плеере показана + Скрыть панель категорий Панель категорий скрыта Панель категорий показана + + Панель навигации + Скрыть или изменить кнопки панели навигации + + Скрыть кнопку \"Главная\" + Кнопка \"Главная\" в панели навигации скрыта + Кнопка \"Главная\" в панели навигации показана + + Скрыть Сэмплы + Кнопка \"Семплы\" скрыта + Кнопка \"Семплы\" показана + + Скрыть Обзор + Кнопка \"Обзор\" скрыта + Кнопка \"Обзор\" показана + + Скрыть Библиотеку + Кнопка \"Библиотека\" скрыта + Кнопка \"Библиотека\" показана + + Скрыть Премиум + Кнопка \"Премиум\" скрыта + Кнопка \"Премиум\" показана + Скрыть панель навигации + Панель навигации в Shorts скрыта + Панель навигации в Shorts показана + Скрыть подписи кнопок навигации + Подписи кнопок навигации скрыты + Подписи кнопок навигации показаны + Скрыть ярлык \"Купить Music Premium\" Ярлык скрыт diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 3f29e9aed..4fe16b2ee 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -105,6 +105,15 @@ Prehrávanie nemusí fungovať" Debug logovanie Denníky ladenia sú povolené Denníky ladenia sú zakázané + Zaznamenať stopy zásobníka + Denníky ladenia obsahujú sledovanie zásobníka + Denníky ladenia neobsahujú sledovanie zásobníka + Zobraziť toast pri chybe ReVanced + Ak sa vyskytne chyba, zobrazí sa upozornenie toast + Ak sa vyskytne chyba, nezobrazí sa upozornenie toast + "Vypnutie upozornení o chybách skryje všetky upozornenia o chybách v ReVanced. + +Nebudete informovaní o žiadnych nepredvídaných udalostiach." Exportovať protokoly ladenia Skopíruje protokoly ladenia ReVanced do schránky Protokolovanie ladenia je vypnuté @@ -149,15 +158,6 @@ Prehrávanie nemusí fungovať" Toto môže pomôcť identifikovať komponenty pri vytváraní vlastných filtrov. Povolením tejto funkcie sa však budú zaznamenávať aj niektoré používateľské údaje, ako napríklad vaša IP adresa." - Zaznamenať stopy zásobníka - Denníky ladenia obsahujú sledovanie zásobníka - Denníky ladenia neobsahujú sledovanie zásobníka - Zobraziť toast pri chybe ReVanced - Ak sa vyskytne chyba, zobrazí sa upozornenie toast - Ak sa vyskytne chyba, nezobrazí sa upozornenie toast - "Vypnutie upozornení o chybách skryje všetky upozornenia o chybách v ReVanced. - -Nebudete informovaní o žiadnych nepredvídaných udalostiach." Skryť karty albumov @@ -584,6 +584,10 @@ Upravte hlasitosť posúvaním vertikálne na pravej strane obrazovky" Skryť Zastaviť reklamy Tlačidlo Zastaviť reklamy je skryté Tlačidlo Zastaviť reklamy je zobrazené + + Skryť komentáre + Tlačidlo komentárov je skryté + Tlačidlo komentárov je zobrazené Skryť prehľad @@ -1237,8 +1241,9 @@ Zmení sa vzhľad a funkcie aplikácie, ale môžu sa vyskytnúť neznáme vedľ Ak sa neskôr vypne, odporúča sa vymazať údaje aplikácie, aby sa zabránilo chybám používateľského rozhrania." Falošná cieľová verzia aplikácie - 19.35.36 - Obnoviť staré ikony Shorts prehrávača - 19.01.34 – Obnoviť staré ikony navigácie + 20.13.41 - Obnoviť nerozbalený panel akcií videa + 19.35.36 - Obnoviť staré ikony Shorts prehrávača + 19.01.34 – Obnoviť staré ikony navigácie Zmeniť úvodnú stránku @@ -1470,7 +1475,7 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa" Používa sa pôvodný jazyk zvuku Používanie predvoleného zvuku - Ak chcete používať túto funkciu, zmeňte možnosť „Zosmiešniť streamy videa“ na iOS TV + Ak chcete použiť túto funkciu, zmeňte \"Podvrhnúť video streamy\" na ľubovoľného klienta okrem Android Studio @@ -1552,12 +1557,15 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa" • Experimentálny klient a môže kedykoľvek prestať fungovať • Žiadny video kodek AV1 • Videá pre deti sa nemusia prehrávať, keď ste odhlásení alebo v režime inkognito + + • Vynútenie pôvodného zvuku nie je k dispozícii Zobraziť v štatistike pre expertov Typ klienta sa zobrazuje v štatistikách pre expertov Klient je skrytý v štatistikách pre expertov Jazyk zvukového streamu Ak chcete vybrať konkrétny jazyk zvuku, vypnite „Vynútiť pôvodný jazyk zvuku“ + Výber jazyka streamu nie je k dispozícii v aplikácii Android Studio @@ -1578,11 +1586,46 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa" Trvalé opakovanie je povolené Trvalé opakovanie je zakázané + + Skryť tlačidlo prenášania + Tlačidlo prenášania je skryté + Tlačidlo prenášania je zobrazené + Skryť lištu kategórií Lišta kategórií je skrytá Lišta kategórií je zobrazená + + Navigačný panel + Skryť alebo zmeniť tlačidlá navigačného panela + + Skryť Domov + Tlačidlo Domov je skryté + Tlačidlo Domov je zobrazené + + Skryť Ukážky + Tlačidlo Ukážky je skryté + Tlačidlo Ukážky je zobrazené + + Skryť Preskúmať + Tlačidlo Preskúmať je skryté + Tlačidlo Preskúmať je zobrazené + + Skryť Knižnicu + Tlačidlo Knižnica je skryté + Tlačidlo Knižnica je zobrazené + + Skryť Vylepšiť + Tlačidlo Inovovať je skryté + Tlačidlo Inovovať je zobrazené + Skryť navigačný panel + Navigačný panel je skrytý + Navigačný panel je zobrazený + Skryť popisky navigačných tlačidiel + Popisky sú skryté + Popisky sú zobrazené + Skryť štítok „Získajte Music Premium“ Štítok je skrytý diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 1b092c6d4..94c12a856 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -107,6 +107,15 @@ Predvajanje morda ne bo delovalo" Dnevnik napak Dnevniki napak so omogočeni Dnevniki napak so onemogočeni + Dnevnik sledov steka + Dnevniki napak vključujejo sled sledov + Dnevniki napak ne vključujejo sledi sledov + Prikaži obvestilo pri napaki ReVanced + Če pride do napake, se prikaže toast + Če pride do napake, se toast ne prikaže + "Onemogočanje obvestil o napakah skrije vsa obvestila o napakah v ReVancedu. + +Ne boste obveščeni o nobenih nepričakovanih dogodkih." Izvozi dnevnike napak Kopira dnevnike napak ReVanced v odložišče Beleženje napak je onemogočeno @@ -151,15 +160,6 @@ Predvajanje morda ne bo delovalo" To lahko pomaga prepoznati komponente pri ustvarjanju filtrov po meri. Vendar pa bo omogočitev tega beležila tudi nekatere uporabniške podatke, kot je vaš naslov IP." - Dnevnik sledov steka - Dnevniki napak vključujejo sled sledov - Dnevniki napak ne vključujejo sledi sledov - Prikaži obvestilo pri napaki ReVanced - Če pride do napake, se prikaže toast - Če pride do napake, se toast ne prikaže - "Onemogočanje obvestil o napakah skrije vsa obvestila o napakah v ReVancedu. - -Ne boste obveščeni o nobenih nepričakovanih dogodkih." Skrij kartice albuma @@ -586,6 +586,10 @@ Prilagodite glasnost s potegom navpično na desni strani zaslona" Skrij Ustavi oglase Gumb za zaustavitev oglasov je skrit Gumb za zaustavitev oglasov je prikazan + + Skrij komentarje + Gumb za komentarje je skrit + Gumb za komentarje je prikazan Skrij Prijavi @@ -1241,8 +1245,9 @@ To bo spremenilo videz in funkcije aplikacije, vendar se lahko pojavijo neznani Če ga kasneje izklopite, je priporočljivo počistiti podatke aplikacije, da preprečite napake uporabniškega vmesnika." Cilj spoofa različice aplikacije - 19.35.36 - Obnovi stare ikone predvajalnika Shorts - 19.01.34 – Obnovi stare ikone za krmarjenje + 20.13.41 - Obnovi nezloženo video akcijsko vrstico + 19.35.36 - Obnovi stare ikone predvajalnika Shorts + 19.01.34 – Obnovi stare ikone za krmarjenje Spremeni začetno stran @@ -1477,7 +1482,7 @@ Omogočanje tega lahko odklene višje kakovosti videa" Uporabi izvirni jezik zvoka Uporaba privzetega zvoka - Če želite uporabiti to funkcijo, spremenite »Spoof video streams« v iOS TV + Za uporabo te funkcije spremenite \"Ponaredi video tokove\" na katerega koli odjemalca, razen na Android Studio @@ -1559,12 +1564,15 @@ Omogočanje tega lahko odklene višje kakovosti videa" • Eksperimentalni odjemalec in lahko kadar koli preneha delovati • Brez kodeka videa AV1 • Posnetki za otroke se mogoče ne bodo predvajali, ko ste odjavljeni ali v načinu brez beleženja zgodovine + + • Vsili izvirni zvok ni na voljo Pokaži v statistiki za piflarje Vrsta odjemalca je prikazana v statistiki za piflarje Odjemalec je skrit v statistiki za piflarje Jezik zvočnega toka Za izbiro določenega zvočnega jezika izklopite \'Vsili izvirni zvočni jezik\' + Izbira jezika pretakanja ni na voljo z Android Studio @@ -1585,11 +1593,46 @@ Omogočanje tega lahko odklene višje kakovosti videa" Trajno ponavljanje je omogočeno Trajno ponavljanje je onemogočeno + + Skrij gumb za predvajanje + Gumb za predvajanje je skrit + Gumb za predvajanje je prikazan + Skrij vrstico kategorij Vrstica kategorij je skrita Vrstica kategorij je prikazana + + Navigacijska vrstica + Skrij ali spremeni gumbe navigacijske vrstice + + Skrij Domov + Gumb Domov je skrit + Gumb Domov je prikazan + + Skrij Vzorci + Gumb Vzorci je skrit + Gumb Vzorci je prikazan + + Skrij Raziskovanje + Gumb Raziskovanje je skrit + Gumb Raziskovanje je prikazan + + Skrij Knjižnico + Gumb Knjižnica je skrit + Gumb Knjižnica je prikazan + + Skrij Nadgradnjo + Gumb Nadgradi je skrit + Gumb Nadgradi je prikazan + Skrij navigacijsko vrstico + Navigacijska vrstica je skrita + Navigacijska vrstica je prikazana + Skrij oznake navigacijskih gumbov + Oznake so skrite + Oznake so prikazane + Skrij oznako \'Pridobi Music Premium\' Oznaka je skrita diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index ad70e8e03..316c17bbc 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -107,6 +107,15 @@ Riprodhimi mund të mos funksionojë" Regjistrimi i depurimit Regjistrimet e depurimit janë të aktivizuara Regjistrimet e depurimit janë të çaktivizuara + Regjistro gjurmët e grumbullimit + Regjistrimet e depurimit përfshijnë gjurmë grumbullimi + Regjistrimet e depurimit nuk përfshijnë gjurmë grumbullimi + Shfaqni toast për gabimet e ReVanced + Shfaqet një toast nëse ndodh një gabim + Nuk shfaqet toast nëse ndodh një gabim + "Fshirja e toast-eve të gabimit fsheh të gjitha njoftimet e gabimeve të ReVanced. + +Ju nuk do të njoftoheni për ndonjë ngjarje të papritur." Eksporto regjistrat e korrigjimit Kopjon regjistrat e korrigjimit të ReVanced në kujtesën e shkurtër Regjistrimi i korrigjimeve është çaktivizuar @@ -151,15 +160,6 @@ Riprodhimi mund të mos funksionojë" Kjo mund të ndihmojë në identifikimin e komponentëve kur krijoni filtra të personalizuar. Gjithsesi, aktivizimi i këtij opsioni do të regjistrojë edhe disa të dhëna të përdoruesit, siç është adresa juaj IP." - Regjistro gjurmët e grumbullimit - Regjistrimet e depurimit përfshijnë gjurmë grumbullimi - Regjistrimet e depurimit nuk përfshijnë gjurmë grumbullimi - Shfaqni toast për gabimet e ReVanced - Shfaqet një toast nëse ndodh një gabim - Nuk shfaqet toast nëse ndodh një gabim - "Fshirja e toast-eve të gabimit fsheh të gjitha njoftimet e gabimeve të ReVanced. - -Ju nuk do të njoftoheni për ndonjë ngjarje të papritur." Fshih kartat e albumit @@ -586,6 +586,10 @@ Përshtate shkëlqimin duke rrëshqitur vertikalisht në anën e majtë të ekra Fshih \"Ndalo reklamat\" Butoni Ndalo reklamat është i fshehur Butoni Ndalo reklamat është i shfaqur + + Fshih Komentet + Butoni i komenteve është i fshehur + Butoni i komenteve është shfaqur Fsheh \"Raporton\" @@ -1240,8 +1244,9 @@ Kjo do të ndryshojë pamjen dhe veçoritë e aplikacionit, por mund të ndodhin Nëse më vonë është çaktivizuar, është e rekomanduar të fshiheni të dhënat e aplikacionit për të parandaluar gabimet e UI." Shënjestër e versionit të aplikacionit të mashtuar - 19.35.36 - Rikthe ikonat e vjetra të lojtarit Shorts - 19.01.34 - Ristauro ikonave te vjetra te navigimit + 20.13.41 - Rivendos shiritin e veprimeve të videos jo të palosur + 19.35.36 - Rikthe ikonat e vjetra të lojtarit Shorts + 19.01.34 - Ristauro ikonave te vjetra te navigimit Ndrysho faqen e fillimit @@ -1475,7 +1480,7 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video" Duke përdorur gjuhën origjinale audio Përdorimi i Zërit Parazgjedhur - Për ta përdorur këtë veçori, ndryshoni \'Rrjedhat e videos tallëse\' në iOS TV + Për të përdorur këtë veçori, ndryshoni \'Falsifiko transmetimet e videos\' në çdo klient përveç Android Studio @@ -1557,12 +1562,15 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video" • Klient eksperimental dhe mund të ndalojë së funksionuari në çdo kohë • Nuk ka codec video AV1 • Video për fëmijë mund të mos luajnë kur jeni jashtë llogarisë ose në modalitetin incognito + + • Detyro audio origjinale nuk është i disponueshëm Shfaqni në Statistikat për nerdës Lloji i klientit shfaqet në Statistikat për nerds Klienti është fshehur në statistikat për nerds Gjuha e transmetimit audio Për të zgjedhur një gjuhë specifike audio, çaktivizoni \"Detyro gjuhën origjinale audio\" + Zgjedhja e gjuhës së transmetimit nuk është e disponueshme me Android Studio @@ -1583,11 +1591,46 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video" Përsëritja e përhershme është aktivizuar Përsëritja e përhershme është çaktivizuar + + Fshih butonin e transmetimit + Butoni i transmetimit është fshehur + Butoni i transmetimit është shfaqur + Fshi shiritin e kategorive Shiriti i kategorive është i fshehur Shiriti i kategorive është i shfaqur + + Shiriti i navigimit + Fshih ose ndrysho butonat e shiritit të navigimit + + Fshih Kreun + Butoni Kryesore është fshehur + Butoni Kryesore është shfaqur + + Fshih Mostrat + Butoni Mostra është fshehur + Butoni Mostra është shfaqur + + Fshih Eksplorimin + Butoni Eksploro është fshehur + Butoni Eksploro është shfaqur + + Fshih Bibliotekën + Butoni Biblioteka është fshehur + Butoni Biblioteka është shfaqur + + Fshih përmirësimin + Butoni Azhorno është fshehur + Butoni Azhorno është shfaqur + Fshih shiritin e navigimit + Shiriti i navigimit është fshehur + Shiriti i navigimit është shfaqur + Fshih etiketat e butonave të navigimit + Etiketat janë fshehur + Etiketat janë shfaqur + Fshi etiketën \'Merr Music Premium\' Etiketa është e fshehur diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 2e8b0e905..1dc952d8f 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -107,6 +107,15 @@ Reprodukcija možda neće raditi" Evidentiranje otklanjanja grešaka Evidencije otklanjanja grešaka su omogućene Evidencije otklanjanja grešaka su onemogućene + Evidentiranje praćenja steka + Evidencije otklanjanja grešaka sadrže praćenje steka + Evidencije otklanjanja grešaka ne sadrže praćenje steka + Prikaži iskačuće obaveštenje pri grešci s ReVancedom + Iskačuće obaveštenje je prikazano, ako dođe do greške + Iskačuće obaveštenje nije prikazano, ako dođe do greške + "Isključivanje iskačućih obaveštenja o greškama sakriva sve obaveštenja o greškama u ReVancedu. + +Nećete biti obavešteni ni o kakvim neočekivanim događajima." Izvezi evidencije otklanjanja grešaka Kopira evidencije otklanjanja grešaka ReVanceda u privremenu memoriju Evidentiranje otklanjanja grešaka je onemogućeno @@ -151,15 +160,6 @@ Reprodukcija možda neće raditi" Ovo može pomoći u identifikaciji komponenti prilikom pravljenja prilagođenih filtera. Međutim, omogućavanje ovoga će takođe evidentirati neke korisničke podatke, kao što je vaša IP adresa." - Evidentiranje praćenja steka - Evidencije otklanjanja grešaka sadrže praćenje steka - Evidencije otklanjanja grešaka ne sadrže praćenje steka - Prikaži iskačuće obaveštenje pri grešci s ReVancedom - Iskačuće obaveštenje je prikazano, ako dođe do greške - Iskačuće obaveštenje nije prikazano, ako dođe do greške - "Isključivanje iskačućih obaveštenja o greškama sakriva sve obaveštenja o greškama u ReVancedu. - -Nećete biti obavešteni ni o kakvim neočekivanim događajima." Sakrij kartice albuma @@ -586,6 +586,10 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"Sakrij dugme „Zaustavi oglase” Dugme „Zaustavi oglase” je skriveno Dugme „Zaustavi oglase” je prikazano + + Sakrij komentare + Dugme za komentare je skriveno + Dugme za komentare je prikazano Sakrij dugme „Prijavi” @@ -622,7 +626,7 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"Dugme „Klip” je skriveno Dugme „Klip” je prikazano - Sakrij Prodavnicu + Sakrij dugme „Prodavnica” Dugme „Prodavnica” je skriveno Dugme „Prodavnica” je prikazano @@ -1241,8 +1245,9 @@ Ovo će promeniti izgled i funkcije aplikacije, ali se mogu pojaviti i nepoznati Ako se kasnije isključi, preporučuje se da izbrišete podatke aplikacije da biste sprečili greške u korisničkom interfejsu." Ciljna verzija aplikacije za lažiranje - 19.35.36 - Vraća stare ikonice Shorts plejera - 19.01.34 - Vraća stare ikonice navigacije + 20.13.41 - Vrati nesakupljenu akcionu traku za video + 19.35.36 - Vraća stare ikonice Shorts plejera + 19.01.34 - Vraća stare ikonice navigacije Promena polazne stranice @@ -1476,7 +1481,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" Korišćenje originalnog jezika zvuka Korišćenje podrazumevanog zvuka - Da biste koristili ovu funkciju, promenite opciju „Lažirani video strimovi” na iOS TV + Da biste koristili ovu funkciju, promenite opciju „Lažirani video strimovi” na bilo koji klijent osim Android Studio @@ -1558,12 +1563,15 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" • Eksperimentalni klijent i može prestati da radi bilo kada • Nema video kodeka AV1 • Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja + + • Forsiranje originalnog zvuka nije dostupno Prikaži u „Statistici za znalce” Tip klijenta je prikazan u „Statistici za znalce” Tip klijenta je skriven u „Statistici za znalce” Jezik audio strima Da biste izabrali određeni jezik zvuka, isključite opciju „Prisili originalni jezik zvuka” + Izbor jezika strima nije dostupan sa Android Studijem @@ -1584,11 +1592,46 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" Trajno ponavljanje je omogućeno Trajno ponavljanje je onemogućeno + + Sakrij dugme „Prenos” + Dugme „Prenos” je skriveno + Dugme „Prenos” je prikazano + Sakrij traku kategorija Traka kategorija je skrivena Traka kategorija je prikazana + + Traka za navigaciju + Sakrijte ili promenite dugmad trake za navigaciju + + Sakrij Početnu + Dugme „Početna” je skriveno + Dugme „Početna” je prikazano + + Sakrij Uzorke + Dugme „Uzorci” je skriveno + Dugme „Uzorci” je prikazano + + Sakrij Istražite + Dugme „Istražite” je skriveno + Dugme „Istražite” je prikazano + + Sakrij Biblioteku + Dugme „Biblioteka” je skriveno + Dugme „Biblioteka” je prikazano + + Sakrij Nadogradi + Dugme „Nadogradite” je skriveno + Dugme „Nadogradite” je prikazano + Sakrij traku za navigaciju + Traka za navigaciju je skrivena + Traka za navigaciju je prikazana + Sakrij oznake navigacionih dugmadi + Oznake su skrivene + Oznake su prikazane + Sakrij oznaku „Nabavite Music Premium” Oznaka je skrivena diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 64c237072..2a04d4762 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" Евидентирање отклањања грешака Евиденције отклањања грешака су омогућене Евиденције отклањања грешака су онемогућене + Евидентирање праћења стека + Евиденције отклањања грешака садрже праћење стека + Евиденције отклањања грешака не садрже праћење стека + Прикажи искачуће обавештење при грешци с ReVanced-ом + Искачуће обавештење је приказано, ако дође до грешке + Искачуће обавештење није приказано, ако дође до грешке + "Искључивање искачућих обавештења о грешкама сакрива сва обавештења о грешкама у ReVanced-у. + +Нећете бити обавештени ни о каквим неочекиваним догађајима." Извези евиденције отклањања грешака Копира евиденције отклањања грешака ReVanced-а у привремену меморију Евидентирање отклањања грешака је онемогућено @@ -151,15 +160,6 @@ Second \"item\" text" Ово може помоћи у идентификацији компоненти приликом прављења прилагођених филтера. Међутим, омогућавање овога ће такође евидентирати неке корисничке податке, као што је ваша IP адреса." - Евидентирање праћења стека - Евиденције отклањања грешака садрже праћење стека - Евиденције отклањања грешака не садрже праћење стека - Прикажи искачуће обавештење при грешци с ReVanced-ом - Искачуће обавештење је приказано, ако дође до грешке - Искачуће обавештење није приказано, ако дође до грешке - "Искључивање искачућих обавештења о грешкама сакрива сва обавештења о грешкама у ReVanced-у. - -Нећете бити обавештени ни о каквим неочекиваним догађајима." Сакриј картице албума @@ -586,6 +586,10 @@ Second \"item\" text" Сакриј дугме „Заустави огласе” Дугме „Заустави огласе” је скривено Дугме „Заустави огласе” је приказано + + Сакриј коментаре + Дугме „Коментари” је скривено + Дугме „Коментари” је приказано Сакриј дугме „Пријави” @@ -1241,8 +1245,9 @@ Second \"item\" text" Ако се касније искључи, препоручује се да избришете податке апликације да бисте спречили грешке у корисничком интерфејсу." Циљна верзија апликације за лажирање - 19.35.36 - Враћа старе иконице Shorts плејера - 19.01.34 - Враћа старе иконице навигације + 20.13.41 - Врати нескупљену траку радњи видеа + 19.35.36 - Враћа старе иконице Shorts плејера + 19.01.34 - Враћа старе иконице навигације Промена полазне странице @@ -1479,7 +1484,7 @@ Second \"item\" text" Коришћење оригиналног језика звука Коришћење подразумеваног звука - Да бисте користили ову функцију, промените „Лажирани видео стримови” на iOS TV + Да бисте користили ову функцију, промените опцију „Лажирани видео стримови” на било који клијент осим Android Studio @@ -1561,12 +1566,15 @@ Second \"item\" text" • Експериментални клијент и може престати да ради било када • Нема видео кодека AV1 • Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања + + • Форсирање оригиналног звука није доступно Прикажи у „Статистици за зналце” Тип клијента је приказан у „Статистици за зналце” Тип клијента је скривен у „Статистици за зналце” Језик аудио стрима Да бисте изабрали одређени језик звука, искључите опцију „Присили оригинални језик звука” + Избор језика стрима није доступан са Android Studio @@ -1587,11 +1595,46 @@ Second \"item\" text" Трајно понављање је омогућено Трајно понављање је онемогућено + + Сакриј дугме „Пребацивање” + Дугме „Пребацивање” је скривено + Дугме „Пребацивање” је приказано + Сакриј траку категорија Трака категорија је скривена Трака категорија је приказана + + Трака за навигацију + Сакријте или промените дугмад траке за навигацију + + Сакриј Почетну + Дугме „Почетна” је скривено + Дугме „Почетна” је приказано + + Сакриј Узорке + Дугме „Узорци” је скривено + Дугме „Узорци” је приказано + + Сакриј Истражи + Дугме „Истражи” је скривено + Дугме „Истражи” је приказано + + Сакриј Библиотеку + Дугме „Библиотека” је скривено + Дугме „Библиотека” је приказано + + Сакриј Надогради + Дугме „Надогради” је скривено + Дугме „Надогради” је приказано + Сакриј траку за навигацију + Трака за навигацију је скривена + Трака за навигацију је приказана + Сакриј ознаке дугмади за навигацију + Ознаке су скривене + Ознаке су приказане + Сакриј ознаку „Набавите Music Premium” Ознака је скривена diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index fd69d2d3a..e91a7a77c 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -107,6 +107,15 @@ Uppspelning kanske inte fungerar" Felsökningsloggning Felsökningsloggar är aktiverade Felsökningsloggar är inaktiverade + Logga stackspårning + Felsökningsloggar inkluderar stackspårning + Felsökningsloggar inkluderar inte stackspårning + Visa ett popup-meddelande om det uppstår fel med ReVanced + Popup-meddelande visas om det uppstår fel + Popup-meddelande visas inte om det uppstår fel + "Om du stänger av popup-felmeddelanden döljs alla ReVanced-felmeddelanden. + +Du kommer inte att bli meddelad om oväntade händelser." Exportera felsökningsloggar Kopierar ReVanced-felsökningsloggar till urklipp Felsökningsloggar är inaktiverade @@ -151,15 +160,6 @@ Uppspelning kanske inte fungerar" Detta kan hjälpa till att identifiera komponenter när du skapar anpassade filter. Men om du aktiverar detta kommer även vissa användardata, t.ex. din IP-adress, att loggas." - Logga stackspårning - Felsökningsloggar inkluderar stackspårning - Felsökningsloggar inkluderar inte stackspårning - Visa ett popup-meddelande om det uppstår fel med ReVanced - Popup-meddelande visas om det uppstår fel - Popup-meddelande visas inte om det uppstår fel - "Om du stänger av popup-felmeddelanden döljs alla ReVanced-felmeddelanden. - -Du kommer inte att bli meddelad om oväntade händelser." Dölj albumkort @@ -586,6 +586,10 @@ Justera volymen genom att svepa vertikalt till höger på skärmen" Dölj Stoppa annonser Knappen Stoppa annonser är dold Knappen Stoppa annonser visas + + Dölj kommentarer + Knappen Kommentarer är dold + Knappen Kommentarer visas Dölj Rapportera @@ -1241,8 +1245,9 @@ Detta kommer att ändra utseendet och funktionerna i appen, men okända bieffekt Om du senare inaktiverar det rekommenderar vi att rensa appens data för att förhindra fel i användargränssnittet." Mål för Förfalska appversionen - 19.35.36 – Återställ gamla ikoner i Shorts-spelaren - 19.01.34 – Återställ gamla navigeringsikoner + 20.13.41 - Återställ icke-komprimerad handlingsfält för video + 19.35.36 – Återställ gamla ikoner i Shorts-spelaren + 19.01.34 – Återställ gamla navigeringsikoner Byt startsida @@ -1476,7 +1481,7 @@ Om du aktiverar detta kan högre videokvaliteter låsas upp" Använder ursprungligt ljudspråk Använder standardljud - Om du vill använda den här funktionen ändrar du \"Förfalska videoströmmar\" till iOS TV + Om du vill använda den här funktionen ändrar du \"Förfalska videoströmmar\" till valfri klient utom Android Studio @@ -1558,12 +1563,15 @@ Om du aktiverar detta kan högre videokvaliteter låsas upp" • Experimentell klient och kan sluta fungera när som helst • Ingen AV1-videokodek • Videor för barn kanske inte spelas upp när du är utloggad eller i inkognitoläge + + • Tvinga ursprungligt ljud är inte tillgängligt Visa i Statistik för nördar Klienttypen visas i Statistik för nördar Klienten är dold i Statistik för nördar Ljudströmmens språk För att välja ett specifikt ljudspråk, inaktivera \"Tvinga originalspråk för ljud\" + Val av strömspråk är inte tillgängligt med Android Studio @@ -1584,11 +1592,46 @@ Om du aktiverar detta kan högre videokvaliteter låsas upp" Permanent upprepning är aktiverad Permanent upprepning är inaktiverad + + Dölj knappen Casta + Knappen Casta är dold + Knappen Casta visas + Dölj kategorifält Kategorifältet är dolt Kategorifältet visas + + Navigationsfältet + Dölj eller ändra knappar i navigeringsfältet + + Dölj Hem + Knappen Hem är dold + Knappen Hem visas + + Dölj Kortfilmer + Klipp-knappen är dold + Klipp-knappen visas + + Dölj Utforska + Utforska-knappen är dold + Utforska-knappen visas + + Dölj Bibliotek + Bibliotek-knappen är dold + Bibliotek-knappen visas + + Dölj Uppgradera + Uppgradera-knappen är dold + Uppgradera-knappen visas + Dölj navigeringsfältet + Navigeringsfältet är dolt + Navigeringsfältet visas + Dölj etiketter för navigeringsknappar + Etiketter är dolda + Etiketter visas + Dölj etiketten \"Skaffa Music Premium\" Etiketten är dold diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 84aa123e6..38d38fb1f 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" การบันทึกการแก้ไขข้อบกพร่อง การบันทึกการแก้ไขข้อบกพร่องถูกเปิดใช้งาน การบันทึกการแก้ไขข้อบกพร่องถูกปิดใช้งาน + บันทึกการติดตามสแต็ก + การบันทึกการแก้ไขข้อบกพร่องรวมถึงการติดตามสแต็ก + การบันทึกการแก้ไขข้อบกพร่องไม่รวมการติดตามสแต็ก + แสดง toast เมื่อเกิดข้อผิดพลาดของ ReVanced + Toast จะปรากฏขึ้นหากเกิดข้อผิดพลาด + Toast จะไม่ปรากฏขึ้นหากเกิดข้อผิดพลาด + "การปิดการแจ้งเตือนข้อผิดพลาดจะซ่อนการแจ้งเตือนข้อผิดพลาดของ ReVanced ทั้งหมด + +คุณจะไม่ได้รับแจ้งเกี่ยวกับเหตุการณ์ที่ไม่คาดคิดใดๆ" ส่งออกบันทึกการแก้ไขข้อบกพร่อง คัดลอกบันทึกการแก้ไขข้อบกพร่องของ ReVanced ไปยังคลิปบอร์ด ปิดใช้งานการบันทึกการแก้ไขข้อบกพร่อง @@ -151,15 +160,6 @@ Second \"item\" text" ซึ่งจะช่วยระบุส่วนประกอบเมื่อสร้างตัวกรองที่กำหนดเองได้ อย่างไรก็ตาม การเปิดใช้งานนี้จะบันทึกข้อมูลผู้ใช้บางอย่าง เช่น ที่อยู่ IP ของคุณด้วย" - บันทึกการติดตามสแต็ก - การบันทึกการแก้ไขข้อบกพร่องรวมถึงการติดตามสแต็ก - การบันทึกการแก้ไขข้อบกพร่องไม่รวมการติดตามสแต็ก - แสดง toast เมื่อเกิดข้อผิดพลาดของ ReVanced - Toast จะปรากฏขึ้นหากเกิดข้อผิดพลาด - Toast จะไม่ปรากฏขึ้นหากเกิดข้อผิดพลาด - "การปิดการแจ้งเตือนข้อผิดพลาดจะซ่อนการแจ้งเตือนข้อผิดพลาดของ ReVanced ทั้งหมด - -คุณจะไม่ได้รับแจ้งเกี่ยวกับเหตุการณ์ที่ไม่คาดคิดใดๆ" ซ่อนการ์ดอัลบั้ม @@ -584,6 +584,10 @@ Second \"item\" text" ซ่อนหยุดโฆษณา ปุ่มหยุดโฆษณาถูกซ่อน ปุ่มหยุดโฆษณาถูกแสดง + + ซ่อนความคิดเห็น + ปุ่มความคิดเห็นถูกซ่อน + ปุ่มความคิดเห็นแสดงอยู่ ซ่อนรายงาน @@ -1241,8 +1245,9 @@ User id ของคุณเหมือนกับรหัสผ่าน ถ้าปิดในภายหลัง ขอแนะนําให้ล้างข้อมูลแอปเพื่อป้องกันข้อผิดพลาดของ UI" เป้าหมายการปลอมแปลงเวอร์ชันแอป - 19.35.36 - คืนค่าไอคอนเครื่องเล่น Shorts เก่า - 19.01.34 - กู้คืนไอคอนการนำทางแบบเก่า + 20.13.41 - กู้คืนแถบการทำงานของวิดีโอที่ไม่ได้ยุบ + 19.35.36 - คืนค่าไอคอนเครื่องเล่น Shorts เก่า + 19.01.34 - กู้คืนไอคอนการนำทางแบบเก่า เปลี่ยนหน้าเริ่มต้น @@ -1479,7 +1484,7 @@ User id ของคุณเหมือนกับรหัสผ่าน กำลังใช้ภาษาเสียงต้นฉบับ กำลังใช้ออดิโอเริ่มต้น - หากต้องการใช้คุณสมบัตินี้ ให้เปลี่ยน \'ปลอมแปลงสตรีมวิดีโอ\' เป็น iOS TV + หากต้องการใช้คุณสมบัตินี้ ให้เปลี่ยน \'Spoof video streams\' เป็นไคลเอ็นต์อื่น ๆ ยกเว้น Android Studio @@ -1561,12 +1566,15 @@ User id ของคุณเหมือนกับรหัสผ่าน • ไคลเอนต์ทดลองและอาจหยุดทำงานได้ตลอดเวลา • ไม่มีตัวแปลงสัญญาณวิดีโอ AV1 • วิดีโอเด็กอาจไม่เล่นเมื่อลงชื่อออกหรืออยู่ในโหมดไม่ระบุตัวตน + + • บังคับใช้เสียงต้นฉบับไม่พร้อมใช้งาน แสดงในสถิติสำหรับพวกเนิร์ด แสดงชนิดไคลเอ็นต์ในสถิติสำหรับพวกเนิร์ด ซ่อนไคลเอ็นต์ในสถิติสำหรับพวกเนิร์ด ภาษาของสตรีมเสียง หากต้องการเลือกภาษาเสียงที่ต้องการ ให้ปิด \'บังคับใช้ภาษาเสียงต้นฉบับ\' + การเลือกภาษาของสตรีมไม่พร้อมใช้งานกับ Android Studio @@ -1587,11 +1595,46 @@ User id ของคุณเหมือนกับรหัสผ่าน เปิดใช้งานเล่นซ้ำถาวรแล้ว ปิดใช้งานเล่นซ้ำถาวรแล้ว + + ซ่อนปุ่มแคสต์ + ปุ่มแคสต์ซ่อนอยู่ + ปุ่มแคสต์แสดงอยู่ + ซ่อนแถบหมวดหมู่ ซ่อนแถบหมวดหมู่แล้ว แสดงแถบหมวดหมู่แล้ว + + แถบนำทาง + ซ่อนหรือเปลี่ยนปุ่มแถบนำทาง + + ซ่อนหน้าแรก + ซ่อนปุ่มหน้าแรกแล้ว + แสดงปุ่มหน้าแรกแล้ว + + ซ่อนตัวอย่าง + ซ่อนปุ่มตัวอย่างแล้ว + แสดงปุ่มตัวอย่างแล้ว + + ซ่อนสำรวจ + ซ่อนปุ่มสำรวจแล้ว + แสดงปุ่มสำรวจแล้ว + + ซ่อนคลัง + ซ่อนปุ่มคลังแล้ว + แสดงปุ่มคลังแล้ว + + ซ่อนอัปเกรด + ซ่อนปุ่มอัปเกรดแล้ว + แสดงปุ่มอัปเกรดแล้ว + ซ่อนแถบนำทาง + ซ่อนแถบนำทางแล้ว + แสดงแถบนำทางแล้ว + ซ่อนป้ายกำกับปุ่มนำทาง + ซ่อนป้ายกำกับแล้ว + แสดงป้ายกำกับแล้ว + ซ่อนป้าย \'รับ Music Premium\' ซ่อนป้ายแล้ว diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 671803ed3..893799845 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -107,6 +107,15 @@ Oynatma çalışmayabilir" Hata ayıklama kayıtları Hata ayıklama kayıtları etkin Hata ayıklama kayıtları devre dışı + Stack traces\'in kaydını tut + Hata ayıklama kayıtları stack traces\'i içerir + Hata ayıklama kayıtları stack traces\'i içermez + ReVanced hatası durumunda uyarı göster + Hata oluşursa uyarı gösterilir + Hata oluşursa uyarı gösterilmez + "Hata bildirimlerini kapatmak, tüm ReVanced hata bildirimlerini gizler. + +Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz." Hata ayıklama kayıtlarını dışa aktar ReVanced hata ayıklama kayıtlarını panoya kopyalar Hata ayıklama kayıtları devre dışı @@ -151,15 +160,6 @@ Oynatma çalışmayabilir" Bu, özel filtreler oluştururken bileşenlerin belirlenmesine yardımcı olabilir. Ancak, bunun etkinleştirilmesi IP adresiniz gibi bazı kullanıcı verilerini de günlüğe kaydeder." - Stack traces\'in kaydını tut - Hata ayıklama kayıtları stack traces\'i içerir - Hata ayıklama kayıtları stack traces\'i içermez - ReVanced hatası durumunda uyarı göster - Hata oluşursa uyarı gösterilir - Hata oluşursa uyarı gösterilmez - "Hata bildirimlerini kapatmak, tüm ReVanced hata bildirimlerini gizler. - -Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz." Albüm kartlarını gizle @@ -586,6 +586,10 @@ Ekranın sağ tarafında dikey olarak kaydırarak sesi ayarlayın" Reklamları durdur\'u Gizle Reklamları durdur düğmesi gizli Reklamları durdur düğmesi görünür + + Yorumları gizle + Yorumlar düğmesi gizli + Yorumlar düğmesi görünür Bildir\'i gizle @@ -1244,8 +1248,9 @@ Bu, uygulamanın görünümünü ve özelliklerini değiştirecektir, ancak bili Daha sonra kapatılırsa, arayüz hatalarını önlemek için uygulama verilerinin temizlenmesi önerilir." Uygulama sürümü taklidi hedefi - 19.35.36 - Eski Shorts oynatıcı simgelerini geri getir - 19.01.34 - Eski gezinti simgelerini geri getir + 20.13.41 - Daraltılmamış video eylem çubuğunu geri getir + 19.35.36 - Eski Shorts oynatıcı simgelerini geri getir + 19.01.34 - Eski gezinti simgelerini geri getir Başlangıç sayfasını değiştir @@ -1484,7 +1489,7 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Orijinal ses dili kullanılıyor Varsayılan ses kullanılıyor - Bu özelliği kullanmak için \'Video akışlarını taklit et\' ayarını iOS TV olarak değiştirin + Bu özelliği kullanmak için \'Video akışlarını taklit et\' ayarını Android Studio dışındaki herhangi bir istemciye değiştirin @@ -1566,12 +1571,15 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" • Deneysel istemci ve her an çalışmayı durdurabilir • AV1 video kodeği yok • Çocuk videoları oturum açılmadığında veya gizli modda oynatılamayabilir + + • Orijinal sesi zorlama mevcut değil Meraklısı için istatistiklerde göster İstemci tipi meraklısı için istatistiklerde gösterilir İstemci, meraklısı için istatistiklerde gizli Ses akışı dili Belirli bir ses dilini seçmek için \'Orijinal ses dilini zorla\' seçeneğini kapatın + Yayın dili seçimi Android Studio ile kullanılamıyor @@ -1592,11 +1600,46 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Kalıcı tekrar etkin Kalıcı tekrar devre dışı + + Yayınla düğmesini gizle + Yayınla düğmesi gizli + Yayınla düğmesi görünür + Kategori çubuğunu gizle Kategori çubuğu gizli Kategori çubuğu görünür + + Gezinme çubuğu + Gezinme çubuğundaki düğmeleri gizle veya değiştir + + Ana Sayfa\'yı gizle + Ana Sayfa düğmesi gizli + Ana Sayfa düğmesi görünür + + Örnekleri Gizle + Sana Özel düğmesi gizli + Sana Özel düğmesi görünür + + Keşfet\'i Gizle + Keşfet düğmesi gizli + Keşfet düğmesi görünür + + Kitaplık\'ı Gizle + Kitaplık düğmesi gizli + Kitaplık düğmesi görünür + + Yükselt\'i Gizle + Yükselt düğmesi gizli + Yükselt düğmesi görünür + Gezinme çubuğunu gizle + Gezinme çubuğu gizli + Gezinme çubuğu görünür + Gezinme düğmeleri etiketlerini gizle + Etiketler gizli + Etiketler görünür + \'Müzik Premium Al\' etiketini gizle Etiket gizli diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 3fc566491..ab6f7a0de 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" Журнал налагодження Журнали налагодження ввімкнено Журнали налагодження вимкнено + Реєструвати трасування стека + Журнали налагодження містять трасування стека + Журнали налагодження не містять трасування стека + Показувати тост при помилці ReVanced + Тост показується, якщо сталася помилка + Тост не показується, якщо сталася помилка + "Вимкнення сповіщень про помилки приховує всі сповіщення про помилки ReVanced. + +Ви не будете отримувати сповіщення про будь-які непередбачувані події." Експортувати журнали налагодження Копіює журнали налагодження ReVanced до буфера обміну Журнали налагодження вимкнено @@ -151,15 +160,6 @@ Second \"item\" text" Це може допомогти визначити компоненти під час створення користувацьких фільтрів. Однак, увімкнувши це, також буде записано деякі дані користувача, наприклад Вашу IP-адресу." - Реєструвати трасування стека - Журнали налагодження містять трасування стека - Журнали налагодження не містять трасування стека - Показувати тост при помилці ReVanced - Тост показується, якщо сталася помилка - Тост не показується, якщо сталася помилка - "Вимкнення сповіщень про помилки приховує всі сповіщення про помилки ReVanced. - -Ви не будете отримувати сповіщення про будь-які непередбачувані події." Приховати картки альбому @@ -586,6 +586,10 @@ Second \"item\" text" Приховати \"Зупинити показ оголошень\" Кнопку \"Зупинити показ оголошень\" приховано Кнопка \"Зупинити показ оголошень\" показується + + Приховати \"Коментарі\" + Кнопку \"Коментарі\" приховано + Кнопка \"Коментарі\" показується Приховати \"Поскаржитися\" @@ -622,9 +626,9 @@ Second \"item\" text" Кнопку \"Створити кліп\" приховано Кнопка \"Створити кліп\" показується - Приховати Магазин - Кнопку магазину приховано - Кнопка магазину показується + Приховати \"Покупки\" + Кнопку \"Покупки\" приховано + Кнопка \"Покупки\" показується Приховати \"Зберегти\" Кнопку \"Зберегти\" приховано @@ -1241,8 +1245,9 @@ Second \"item\" text" Якщо пізніше вимкнути, рекомендується очистити дані застосунку, щоб запобігти помилкам інтерфейсу." Підробити версію програми на - 19.35.36 - Відновлення старих іконок плеєра Shorts - 19.01.34 - Відновлення старих іконок панелі навігації + 20.13.41 - Відновити незгорнуту панель дій відео + 19.35.36 - Відновлення старих іконок плеєра Shorts + 19.01.34 - Відновлення старих іконок панелі навігації Змінити початкову сторінку @@ -1476,7 +1481,7 @@ Second \"item\" text" Використовується оригінальна мова звукової доріжки Використовується стандартна (регіональна) мова звукової доріжки - Щоб використовувати цю функцію, змініть клієнт \"Підробки відеопотоків\" на iOS TV + Щоб використовувати цю функцію, змініть клієнт \"Підробки відеопотоків\" на будь-який клієнт, окрім Android Studio @@ -1558,12 +1563,15 @@ Second \"item\" text" • Експериментальний клієнт, який може припинити працювати будь-якої миті • Відсутній відеокодек AV1 • Відео для дітей можуть не відтворюватися, якщо вийти з облікового запису або перейти в анонімний режим + + • \"Примусово оригінальна мова звукової доріжки\" недоступна Показувати у \"Статистиці для сисадмінів\" Тип клієнта відображається у вікні \"Статистика для сисадмінів\" Тип клієнта приховано у вікні \"Статистика для сисадмінів\" Мова звукової доріжки Щоб вибрати певну звукову доріжку, вимкніть \"Примусово оригінальна мова звукової доріжки\" + Вибір мови потоку недоступний з Android Studio @@ -1584,11 +1592,46 @@ Second \"item\" text" Постійний повтор увімкнено Постійний повтор вимкнено + + Приховати кнопку трансляції + Кнопку трансляції приховано + Кнопка трансляції показується + Приховати панель категорій Панель категорій приховано Панель категорій показується + + Панель навігації + Приховати або змінити кнопки панелі навігації + + Приховати \"Головна\" + Кнопку \"Головна\" приховано + Кнопка \"Головна\" показується + + Приховати Семпли + Кнопку \"Семпли\" приховано + Кнопка \"Семпли\" показується + + Приховати Огляд + Кнопку \"Навігація\" приховано + Кнопка \"Навігація\" показується + + Приховати Бібліотеку + Кнопку \"Бібліотека\" приховано + Кнопка \"Бібліотека\" показується + + Приховати Підписку + Кнопку \"Підписка\" приховано + Кнопка \"Підписка\" показується + Приховати панель навігації + Панель навігації приховано + Панель навігації показується + Приховати підписи кнопок навігації + Підписи кнопок навігації приховано + Підписи кнопок навігації показуються + Приховати Пункт \"Підписатися на Music Premium\" Пункт приховано diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index ba6f6e11b..f92ef7d9e 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -37,7 +37,7 @@ Second \"item\" text" Đặt lại Đặt lại màu Màu không hợp lệ - Cần khởi động lại + Yêu cầu khởi động lại Khởi động lại ứng dụng để thay đổi này có hiệu lực. Khởi động lại Nhập @@ -68,29 +68,29 @@ Second \"item\" text" and changes made here must also be made there. --> - Cài đặt GmsCore - Các cài đặt cho GmsCore + GmsCore + Chuyển hướng tới GmsCore và thiết lập MicroG GmsCore chưa được cài đặt. Hãy cài đặt ngay. - Cần thực hiện + Yêu cầu thực hiện "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. Cấp quyền chạy nền là bắt buộc để ứng dụng hoạt động." Mở trang web - "Cần phải tắt tối ưu hóa pin cho MicroG GmsCore để tránh sự cố. + "Để microG GmsCore hoạt động ổn định, bạn cần phải tắt tối ưu hoá pin cho ứng dụng này. -Tắt tối ưu hóa pin cho MicroG sẽ không ảnh hưởng đáng kể đến hiệu suất sử dụng pin. +Đừng lo, tắt tối ưu hóa pin cho microG sẽ không làm hao pin hơn. -Nhấn nút tiếp tục và cho phép thay đổi lựa chọn tối ưu hóa." +Nhấn tiếp tục để thay đổi lựa chọn tối ưu hóa." Tiếp tục Giả mạo luồng video - Giả mạo luồng video của thiết bị nhằm ngăn chặn lỗi khi phát + Giả mạo luồng video của ứng dụng khách nhằm ngăn chặn lỗi khi phát Giả mạo luồng video - Giả mạo luồng video của thiết bị nhằm ngăn chặn lỗi khi phát + Giả mạo luồng video của ứng dụng khách nhằm ngăn chặn lỗi khi phát Giả mạo luồng video "Luồng video đã được giả mạo @@ -99,7 +99,7 @@ Nếu bạn là người dùng YouTube Premium, thì cài đặt này có thể Có thể gặp lỗi khi phát." Tắt cài đặt này có thể gây ra lỗi khi phát. - Loại thiết bị mặc định + Ứng dụng khách mặc định Gỡ lỗi @@ -107,6 +107,15 @@ Có thể gặp lỗi khi phát." Nhật ký gỡ lỗi Nhật ký gỡ lỗi đã bật Nhật ký gỡ lỗi đã tắt + Ghi nhật ký truy vết ngăn xếp + Nhật ký gỡ lỗi bao gồm truy vết ngăn xếp + Nhật ký gỡ lỗi không bao gồm truy vết ngăn xếp + Hiện thông báo ngắn về lỗi ReVanced + Thông báo ngắn sẽ hiện nếu xảy ra lỗi + Thông báo ngắn không hiện nếu xảy ra lỗi + "Tắt thông báo lỗi sẽ ẩn mọi thông báo lỗi từ ReVanced. + +Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Xuất nhật ký gỡ lỗi Sao chép nhật ký gỡ lỗi ReVanced vào bảng nhớ tạm Tính năng ghi nhật ký gỡ lỗi đã tắt @@ -151,15 +160,6 @@ Có thể gặp lỗi khi phát." Điều này có thể giúp xác định các thành phần khi tạo bộ lọc tùy chỉnh. Tuy nhiên, bật tính năng này cũng sẽ ghi lại một số dữ liệu người dùng, chẳng hạn như địa chỉ IP của bạn." - Ghi nhật ký truy vết ngăn xếp - Nhật ký gỡ lỗi bao gồm truy vết ngăn xếp - Nhật ký gỡ lỗi không bao gồm truy vết ngăn xếp - Hiện thông báo ngắn về lỗi ReVanced - Thông báo ngắn sẽ hiện nếu xảy ra lỗi - Thông báo ngắn không hiện nếu xảy ra lỗi - "Tắt thông báo lỗi sẽ ẩn mọi thông báo lỗi từ ReVanced. - -Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Ẩn thẻ đĩa nhạc @@ -186,15 +186,15 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Ẩn nút micrô nổi Nút micro nổi trong tìm kiếm bị ẩn Nút micro nổi trong tìm kiếm đang hiển thị - Ẩn kệ ngang - "Các kệ ngang đã bị ẩn, chẳng hạn như: + Ẩn kệ cá nhân hoá + "Các kệ cá nhân hoá đã bị ẩn, chẳng hạn như: • Tin nổi bật • Tiếp tục xem • Khám phá các chủ đề khác • Phù hợp nhất • Mua sắm • Xem lại" - Kệ ngang được hiển thị + Kệ cá nhân hoá được hiển thị Ẩn kệ hình ảnh Kệ hình ảnh trong kết quả tìm kiếm đã bị ẩn Kệ hình ảnh trong kết quả tìm kiếm được hiển thị @@ -586,6 +586,10 @@ Vui lòng kiểm tra lại tên gói và đảm bảo ứng dụng đã được Ẩn Ngừng quảng cáo Nút ngừng quảng cáo đã bị ẩn Nút ngừng quảng cáo được hiển thị + + Ẩn bình luận + Nút bình luận đã bị ẩn + Nút bình luận được hiển thị Ẩn Báo cáo @@ -622,9 +626,9 @@ Vui lòng kiểm tra lại tên gói và đảm bảo ứng dụng đã được Nút tạo đoạn video đã bị ẩn Nút tạo đoạn video được hiển thị - Ẩn Cửa hàng - Nút Cửa hàng đã bị ẩn - Nút Cửa hàng được hiển thị + Ẩn Mua sắm + Nút Mua sắm đã bị ẩn + Nút Mua sắm được hiển thị Ẩn Lưu Nút Lưu đã bị ẩn @@ -835,7 +839,7 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển Ẩn đề xuất tìm kiếm Đề xuất tìm kiếm đã bị ẩn Đề xuất tìm kiếm được hiển thị - Ẩn nút Cửa hàng + Ẩn nút Mua sắm Nút mua sắm đã bị ẩn Nút mua sắm được hiển thị Ẩn nhãn dán @@ -1243,8 +1247,9 @@ Bố cục màn hình ô tô Nếu tắt đi sau đó, bạn nên xóa dữ liệu ứng dụng để tránh phát sinh lỗi giao diện." Mục tiêu phiên bản giả mạo - 19.35.36 - Khôi phục biểu tượng trình phát Shorts cũ - 19.01.34 - Khôi phục biểu tượng điều hướng cũ + 20.13.41 - Khôi phục thanh thao tác video mở rộng + 19.35.36 - Khôi phục biểu tượng trình phát Shorts cũ + 19.01.34 - Khôi phục biểu tượng điều hướng cũ Thay đổi trang bắt đầu @@ -1483,7 +1488,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Đang dùng ngôn ngữ âm thanh gốc Đang dùng âm thanh mặc định - Để dùng tính năng này, hãy đổi \'Giả mạo luồng video\' thành iOS TV + Để dùng tính năng này, hãy đổi \'Giả mạo luồng video\' thành bất kỳ ứng dụng khách nào ngoại trừ Android Studio @@ -1562,15 +1567,18 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn""• Trình đơn bản âm thanh bị thiếu • Âm lượng ổn định không khả dụng" • Video có thể dừng ở 1:00, hoặc có thể không khả dụng ở một số khu vực - • Ứng dụng thử nghiệm và có thể ngừng hoạt động bất cứ lúc nào + • Ứng dụng khách đang trong giai đoạn thử nghiệm và có thể ngừng hoạt động bất cứ lúc nào • Không có codec video AV1 • Video dành cho trẻ em có thể không phát được khi đăng xuất hoặc ở chế độ ẩn danh + + • Buộc âm thanh gốc không khả dụng Hiện trong Thống kê chi tiết - Loại máy khách đã được hiển thị trong Thống kê chi tiết - Loại thiết bị đã ẩn trong Thống kê chi tiết + Ứng dụng khách đã được hiển thị trong Thống kê chi tiết + Ứng dụng khách đã ẩn trong Thống kê chi tiết Ngôn ngữ luồng âm thanh Để chọn ngôn ngữ âm thanh cụ thể, hãy tắt \'Buộc ngôn ngữ âm thanh gốc\' + Chọn ngôn ngữ luồng không khả dụng với Android Studio @@ -1589,17 +1597,52 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn" Bật lặp lại vĩnh viễn Lặp lại vĩnh viễn đã được bật - Lặp lại vĩnh viễn đã bị tắt + Lặp lại vĩnh viễn đã tắt + + + Ẩn nút truyền + Nút truyền đã bị ẩn + Nút truyền được hiển thị Ẩn thanh danh mục Thanh danh mục đã bị ẩn Thanh danh mục được hiển thị + + Thanh điều hướng + Ẩn hoặc thay đổi các nút trên thanh điều hướng + + Ẩn Trang chủ + Nút Trang chủ đã bị ẩn + Nút Trang chủ được hiển thị + + Ẩn Đoạn nhạc + Nút Đoạn nhạc đã bị ẩn + Nút Đoạn nhạc được hiển thị + + Ẩn Khám phá + Nút Khám phá đã bị ẩn + Nút Khám phá được hiển thị + + Ẩn Thư viện + Nút Thư viện đã bị ẩn + Nút Thư viện được hiển thị + + Ẩn Nâng cấp + Nút Nâng cấp đã bị ẩn + Nút Nâng cấp được hiển thị + Ẩn thanh điều hướng + Thanh điều hướng đã bị ẩn + Thanh điều hướng được hiển thị + Ẩn tên nút điều hướng + Tên nút đã bị ẩn + Tên nút được hiển thị + - Ẩn nhãn \'Nhận Music Premium\' - Nhãn đã bị ẩn - Nhãn được hiển thị + Ẩn trình đơn \'Mua Music Premium\' + Trình đơn này đã bị ẩn + Trình đơn này được hiển thị Ẩn nút nâng cấp @@ -1656,7 +1699,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Cài đặt linh tinh Cài đặt chung Cài đặt khác - Quảng cáo phía máy khách + Quảng cáo phía ứng dụng Quảng cáo luồng đảm bảo phía máy khách Nhật ký gỡ lỗi Nhật ký gỡ lỗi đã bật diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 0d70c8baf..46ae6549c 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" 调试日志 已启用调试日志记录 已禁用调试日志记录 + 记录堆栈跟踪 + 调试日志包括堆栈跟踪 + 调试日志不包括堆栈跟踪 + 在发生 ReVanced 错误时显示 Toast + 发生错误时显示Toast + 发生错误时不显示Toast + "关闭错误 Toast 会隐藏所有 ReVanced 错误通知。 + +您不会收到任何意外事件的通知。" 导出调试日志 将 ReVanced 调试日志复制到剪贴板 调试日志记录已禁用 @@ -151,15 +160,6 @@ Second \"item\" text" 这有助于在创建自定义过滤器时识别组件。 但是,启用此设置也会记录一些用户数据,例如您的 IP 地址。" - 记录堆栈跟踪 - 调试日志包括堆栈跟踪 - 调试日志不包括堆栈跟踪 - 在发生 ReVanced 错误时显示 Toast - 发生错误时显示Toast - 发生错误时不显示Toast - "关闭错误 Toast 会隐藏所有 ReVanced 错误通知。 - -您不会收到任何意外事件的通知。" 隐藏专辑卡片 @@ -586,6 +586,10 @@ Second \"item\" text" 隐藏停止广告 停止广告按钮已隐藏 停止广告按钮已显示 + + 隐藏评论 + 评论按钮已隐藏 + 评论按钮已显示 隐藏「举报」 @@ -1247,8 +1251,9 @@ Second \"item\" text" 如果稍后关闭,建议清除应用程序数据以防止 UI 错误。" 伪装应用程序版本为 - 19.35.36 - 恢复旧的 Shorts 播放器图标 - 19.01.34 - 还原旧的导航图标 + 20.13.41 - 恢复未折叠的视频操作栏 + 19.35.36 - 恢复旧的 Shorts 播放器图标 + 19.01.34 - 还原旧的导航图标 更改起始页 @@ -1482,7 +1487,7 @@ Second \"item\" text" 使用原始音频语言 正在使用默认音频 - 要使用此功能,请将“欺骗视频流”更改为 iOS TV + 要使用此功能,请将“伪造视频流”更改为除 Android Studio 之外的任何客户端 @@ -1564,12 +1569,15 @@ Second \"item\" text" • 实验性客户端,可能随时停止工作 • 不支持 AV1 视频编解码器 • 注销或使用无痕模式时,儿童视频可能无法播放 + + • 强制原始音频不可用 显示在 Stats for nerds 中 客户端类型显示在 Stats for nerds 中 客户端隐藏在 Stats for nerds 中 音频流语言 要选择特定的音频语言,请关闭“强制原始音频语言” + Android Studio 不支持选择流语言 @@ -1590,11 +1598,46 @@ Second \"item\" text" 已启用永久重复播放 已禁用永久重复播放 + + 隐藏投射按钮 + 投射按钮已隐藏 + 投射按钮已显示 + 隐藏类别栏 类别栏已隐藏 类别栏已显示 + + 导航栏 + 隐藏或更改导航栏按钮 + + 隐藏主页 + 主页按钮已隐藏 + 主页按钮已显示 + + 隐藏短片 + 精选按钮已隐藏 + 精选按钮已显示 + + 隐藏探索 + 探索按钮已隐藏 + 探索按钮已显示 + + 隐藏媒体库 + 媒体库按钮已隐藏 + 媒体库按钮已显示 + + 隐藏升级 + 升级按钮已隐藏 + 升级按钮已显示 + 隐藏导航栏 + 导航栏已隐藏 + 导航栏已显示 + 隐藏导航按钮标签 + 标签已隐藏 + 标签已显示 + 隐藏“获取音乐高级版”标签 标签已隐藏 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index c60af5f81..a62c677f4 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -107,6 +107,15 @@ Second \"item\" text" 偵錯記錄 已啟用偵錯記錄檔 已停用偵錯記錄檔 + 記錄檔堆疊追蹤 + 除錯記錄檔會包含堆疊追蹤 + 除錯記錄檔不會包含堆疊追蹤 + 在 ReVanced 發生錯誤時顯示提示訊息 + 如果發生錯誤,則顯示提示訊息 + 如果發生錯誤,則不會顯示提示訊息 + "關閉錯誤提示訊息會隱藏所有 ReVanced 的錯誤通知。 + +你將不會收到任何非預期的事件通知。" 匯出偵錯記錄 將 ReVanced 偵錯記錄複製到剪貼簿 偵錯記錄已停用 @@ -151,15 +160,6 @@ Second \"item\" text" 這有助於在建立自訂過濾器時識別元件。 不過,啟用此功能也會記錄部分使用者資料,例如您的 IP 位址。" - 記錄檔堆疊追蹤 - 除錯記錄檔會包含堆疊追蹤 - 除錯記錄檔不會包含堆疊追蹤 - 在 ReVanced 發生錯誤時顯示提示訊息 - 如果發生錯誤,則顯示提示訊息 - 如果發生錯誤,則不會顯示提示訊息 - "關閉錯誤提示訊息會隱藏所有 ReVanced 的錯誤通知。 - -你將不會收到任何非預期的事件通知。" 隱藏專輯資訊卡 @@ -376,13 +376,13 @@ Second \"item\" text" 隱藏關鍵字內容 透過關鍵字篩選,隱藏搜尋結果與推薦內容中的影片 依關鍵字隱藏首頁影片 - 首頁影片將會被關鍵字篩選 + 首頁分頁的影片會被關鍵字篩選 首頁影片將不會被關鍵字篩選 依關鍵字隱藏搜尋結果 搜尋結果將會被關鍵字篩選 搜尋結果將不會被關鍵字篩選 依關鍵字隱藏訂閱內容影片 - 訂閱內容分頁的影片將會被關鍵字篩選 + 訂閱內容分頁的影片會被關鍵字篩選 訂閱內容分頁的影片將不會被關鍵字篩選 要隱藏的關鍵字 + 隱藏留言 + 留言按鈕已隱藏 + 留言按鈕已顯示 隱藏檢舉 @@ -658,7 +662,7 @@ Second \"item\" text" 注意:啟用此功能也會強制隱藏影片廣告" 「建立」按鈕不與「通知」按鈕對調 - "停用此設定也會停用Shorts 的廣告攔截功能。 + "停用此設定也會停用 Shorts 的廣告攔截功能。 如果變更此設定沒有生效,請試試看切換到無痕模式。" 隱藏導覽列按鈕標籤 @@ -684,23 +688,23 @@ Second \"item\" text" 已顯示「字幕」選單 隱藏「其他設定」 - 已隱藏「其他設定」 - 已顯示「其他設定」 + 已隱藏「其他設定」選單 + 已顯示「其他設定」選單 隱藏「睡眠計時器」 - 已隱藏「睡眠計時器」 - 已顯示「睡眠計時器」 + 已隱藏「睡眠計時器」選單 + 已顯示「睡眠計時器」選單 隱藏「循環播放影片」 - 已隱藏「循環播放」選單 - 已顯示「循環播放」選單 + 已隱藏「循環播放影片」選單 + 已顯示「循環播放影片」選單 隱藏「微光效果」 - 已隱藏「微光模式」選單 + 已隱藏「微光效果」選單 已顯示「微光效果」選單 隱藏「平衡音量」 - 已顯示「平衡音量」 - 已隱藏「平衡音量」 + 已顯示「平衡音量」選單 + 已隱藏「平衡音量」選單 隱藏「說明和意見回饋」 已隱藏「說明和意見回饋」選單 @@ -761,7 +765,7 @@ Second \"item\" text" 已顯示片尾資訊卡 - 在全螢幕狀態下停用微光模式 + 在全螢幕狀態下停用微光效果 已停用微光效果 已啟用微光效果 @@ -1028,7 +1032,7 @@ Second \"item\" text" 顯示「取消跳過」提示 當片段自動跳過時會顯示提示。點擊提示通知可取消跳過 不顯示提示 - 「取消跳過」提示顯示時間 + 跳過提示時長 「取消跳過」提示顯示多久 1 秒 2 秒 @@ -1243,8 +1247,9 @@ Second \"item\" text" 如果之後關閉此設定,建議清除應用程式資料以避免 UI 錯誤。" 應用程式偽裝目標版本 - 19.35.36 - 還原舊版 Shorts 播放圖示 - 19.01.34 - 還原舊版導覽圖示 + 20.13.41 - 還原未收合的影片操作列 + 19.35.36 - 還原舊版 Shorts 播放圖示 + 19.01.34 - 還原舊版導覽圖示 變更起始頁面 @@ -1273,9 +1278,9 @@ Second \"item\" text" 稍後觀看 你的剪輯 一律變更起始頁面 - "開始頁面總是變更 + "開始頁面一律變更 -限制: 使用工具列上的返回按鈕可能無法運作" +限制:工具列上的返回按鈕可能無法運作" 起始頁面僅在應用程式啟動時變更 @@ -1487,7 +1492,7 @@ Second \"item\" text" 正在使用原始音訊語言 使用預設音訊 - 如要使用這項功能,請將「偽裝視訊串流」變更為 iOS TV + 若要使用此功能,請將「偽造視訊串流」變更為 Android Studio 以外的任何用戶端 @@ -1569,12 +1574,15 @@ Second \"item\" text" • 實驗性用戶端,隨時可能停止運作 • 沒有 AV1 影片解碼器 • 在登出或無痕模式下,兒童影片可能無法播放 + + • 強制原始音訊不可用 顯示統計資料 已在統計資料中顯示用戶端類型 已在統計資料中隱藏用戶端類型 音訊串流語言 若要選擇特定的音訊語言,請關閉「強制使用原始音訊語言」 + 無法使用 Android Studio 選擇串流語言 @@ -1595,11 +1603,46 @@ Second \"item\" text" 永久重複播放已啟用 永久重複播放已停用 + + 隱藏「投放」按鈕 + 「投放」按鈕已隱藏 + 「投放」按鈕已顯示 + 隱藏類別列 類別列已隱藏 類別列已顯示 + + 導覽列 + 隱藏或變更導覽列按鈕 + + 隱藏「首頁」 + 「首頁」按鈕已隱藏 + 「首頁」按鈕已顯示 + + 隱藏「取樣」 + 「取樣」按鈕已隱藏 + 「取樣」按鈕已顯示 + + 隱藏探索 + 「探索」按鈕已隱藏 + 「探索」按鈕已顯示 + + 隱藏媒體庫 + 「媒體庫」按鈕已隱藏 + 「媒體庫」按鈕已顯示 + + 隱藏升級 + 「升級」按鈕已隱藏 + 「升級」按鈕已顯示 + 隱藏導覽列 + 導覽列已隱藏 + 導覽列已顯示 + 隱藏導覽按鈕標籤 + 已隱藏「標籤」 + 已顯示「標籤」 + 隱藏「取得 Music Premium」標籤 標籤已隱藏 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index 98a3659f6..f697cddf7 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -89,6 +89,7 @@ Second \"item\" text" + @@ -243,6 +244,7 @@ Second \"item\" text" + @@ -253,8 +255,17 @@ Second \"item\" text" + + + + + + + + + diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index f1975f0b9..05513dfb4 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -173,15 +173,25 @@ @string/revanced_spoof_app_version_target_entry_1 @string/revanced_spoof_app_version_target_entry_2 + @string/revanced_spoof_app_version_target_entry_3 + 20.13.41 19.35.36 19.01.34 - + + @string/revanced_spoof_app_version_target_entry_2 + @string/revanced_spoof_app_version_target_entry_3 + + + 19.35.36 19.01.34 - + + 19.01.34 + + 19.01.34 diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index ee82922d1..32679a243 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -163,6 +163,15 @@ Playback may not work" Debug logging Debug logs are enabled Debug logs are disabled + Log stack traces + Debug logs include stack trace + Debug logs do not include stack trace + Show toast on ReVanced error + Toast is shown if error occurs + Toast is not shown if error occurs + "Turning off error toasts hides all ReVanced error notifications. + +You will not be notified of any unexpected events." Export debug logs Copies ReVanced debug logs to the clipboard Debug logging is disabled @@ -209,15 +218,6 @@ Playback may not work" This can help identify components when creating custom filters. However, enabling this will also log some user data such as your IP address." - Log stack traces - Debug logs include stack trace - Debug logs do not include stack trace - Show toast on ReVanced error - Toast is shown if error occurs - Toast is not shown if error occurs - "Turning off error toasts hides all ReVanced error notifications. - -You will not be notified of any unexpected events." Hide album cards @@ -649,6 +649,10 @@ Adjust volume by swiping vertically on the right side of the screen" Hide Stop ads Stop ads button is hidden Stop ads button is shown + + Hide Comments + Comments button is hidden + Comments button is shown Hide Report @@ -1311,8 +1315,9 @@ This will change the appearance and features of the app, but unknown side effect If later turned off, it is recommended to clear the app data to prevent UI bugs." Spoof app version target - 19.35.36 - Restore old Shorts player icons - 19.01.34 - Restore old navigation icons + 20.13.41 - Restore non collapsed video action bar + 19.35.36 - Restore old Shorts player icons + 19.01.34 - Restore old navigation icons Change start page @@ -1555,7 +1560,7 @@ Enabling this can unlock higher video qualities" Using original audio language Using default audio - To use this feature, change \'Spoof video streams\' to iOS TV + To use this feature, change \'Spoof video streams\' to any client except Android Studio @@ -1637,12 +1642,15 @@ Enabling this can unlock higher video qualities" • Experimental client and may stop working anytime • No AV1 video codec • Kids videos may not play when logged out or in incognito mode + + • Force original audio is not available Show in Stats for nerds Client type is shown in Stats for nerds Client is hidden in Stats for nerds Audio stream language To select a specific audio language, turn off \'Force original audio language\' + Stream language selection is not available with Android Studio @@ -1663,11 +1671,46 @@ Enabling this can unlock higher video qualities" Permanent repeat is enabled Permanent repeat is disabled + + Hide cast button + Cast button is hidden + Cast button is shown + Hide category bar Category bar is hidden Category bar is shown + + Navigation bar + Hide or change navigation bar buttons + + Hide Home + Home button is hidden + Home button is shown + + Hide Samples + Samples button is hidden + Samples button is shown + + Hide Explore + Explore button is hidden + Explore button is shown + + Hide Library + Library button is hidden + Library button is shown + + Hide Upgrade + Upgrade button is hidden + Upgrade button is shown + Hide navigation bar + Navigation bar is hidden + Navigation bar is shown + Hide navigation button labels + Labels are hidden + Labels are shown + Hide \'Get Music Premium\' label Label is hidden