diff --git a/README.md b/README.md index c9f8a3daa..43951cd52 100644 --- a/README.md +++ b/README.md @@ -24,12 +24,12 @@ See the [documentation](https://github.com/inotia00/revanced-documentation#readm | `Custom header for YouTube` | Applies a custom header in the top left corner within the app. | 18.29.38 ~ 19.44.39 | | `Description components` | Adds options to hide and disable description components. | 18.29.38 ~ 19.44.39 | | `Disable QUIC protocol` | Adds an option to disable CronetEngine's QUIC protocol. | 18.29.38 ~ 19.44.39 | -| `Disable auto audio tracks` | Adds an option to disable audio tracks from being automatically enabled. | 18.29.38 ~ 19.44.39 | -| `Disable auto captions` | Adds an option to disable captions from being automatically enabled. | 18.29.38 ~ 19.44.39 | +| `Disable forced auto audio tracks` | Adds an option to disable audio tracks from being automatically enabled. | 18.29.38 ~ 19.44.39 | +| `Disable forced auto captions` | Adds an option to disable captions from being automatically enabled. | 18.29.38 ~ 19.44.39 | | `Disable haptic feedback` | Adds options to disable haptic feedback when swiping in the video player. | 18.29.38 ~ 19.44.39 | | `Disable resuming Shorts on startup` | Adds an option to disable the Shorts player from resuming on app startup when Shorts were last being watched. | 18.29.38 ~ 19.44.39 | | `Disable splash animation` | Adds an option to disable the splash animation on app startup. | 18.29.38 ~ 19.44.39 | -| `Enable OPUS codec` | Adds an options to enable the OPUS audio codec if the player response includes. | 18.29.38 ~ 19.44.39 | +| `Enable OPUS codec` | Adds an options to enable the OPUS audio codec if the player response includes it. | 18.29.38 ~ 19.44.39 | | `Enable debug logging` | Adds an option to enable debug logging. | 18.29.38 ~ 19.44.39 | | `Enable external browser` | Adds an option to always open links in your browser instead of in the in-app-browser. | 18.29.38 ~ 19.44.39 | | `Enable gradient loading screen` | Adds an option to enable the gradient loading screen. | 18.29.38 ~ 19.44.39 | @@ -51,9 +51,9 @@ See the [documentation](https://github.com/inotia00/revanced-documentation#readm | `Hook download actions` | Adds support to download videos with an external downloader app using the in-app download button. | 18.29.38 ~ 19.44.39 | | `Layout switch` | Adds an option to spoof the dpi in order to use a tablet or phone layout. | 18.29.38 ~ 19.44.39 | | `MaterialYou` | Applies the MaterialYou theme for Android 12+ devices. | 18.29.38 ~ 19.44.39 | -| `Miniplayer` | Adds options to change the in app minimized player, and if patching target 19.16+ adds options to use modern miniplayers. | 18.29.38 ~ 19.44.39 | +| `Miniplayer` | Adds options to change the in-app minimized player, and if patching target 19.16+ adds options to use modern miniplayers. | 18.29.38 ~ 19.44.39 | | `Navigation bar components` | Adds options to hide or change components related to the navigation bar. | 18.29.38 ~ 19.44.39 | -| `Overlay buttons` | Adds options to display overlay buttons in the video player. | 18.29.38 ~ 19.44.39 | +| `Overlay buttons` | Adds options to display useful overlay buttons in the video player. | 18.29.38 ~ 19.44.39 | | `Player components` | Adds options to hide or change components related to the video player. | 18.29.38 ~ 19.44.39 | | `Remove background playback restrictions` | Removes restrictions on background playback, including for music and kids videos. | 18.29.38 ~ 19.44.39 | | `Remove viewer discretion dialog` | Adds an option to remove the dialog that appears when opening a video that has been age-restricted by accepting it automatically. This does not bypass the age restriction. | 18.29.38 ~ 19.44.39 | @@ -67,7 +67,7 @@ See the [documentation](https://github.com/inotia00/revanced-documentation#readm | `Spoof app version` | Adds options to spoof the YouTube client version. This can be used to restore old UI elements and features. | 18.29.38 ~ 19.44.39 | | `Spoof streaming data` | Adds options to spoof the streaming data to allow playback. | 18.29.38 ~ 19.44.39 | | `Swipe controls` | Adds options for controlling volume and brightness with swiping, and whether to enter fullscreen when swiping down below the player. | 18.29.38 ~ 19.44.39 | -| `Theme` | Changes the app's theme to the values specified in patch options. | 18.29.38 ~ 19.44.39 | +| `Theme` | Changes the app's themes to the values specified in patch options. | 18.29.38 ~ 19.44.39 | | `Toolbar components` | Adds options to hide or change components located on the toolbar, such as the search bar, header, and toolbar buttons. | 18.29.38 ~ 19.44.39 | | `Translations for YouTube` | Add translations or remove string resources. | 18.29.38 ~ 19.44.39 | | `Video playback` | Adds options to customize settings related to video playback, such as default video quality and playback speed. | 18.29.38 ~ 19.44.39 | @@ -91,10 +91,10 @@ See the [documentation](https://github.com/inotia00/revanced-documentation#readm | `Dark theme` | Changes the app's dark theme to the values specified in patch options. | 6.20.51 ~ 7.25.53 | | `Disable Cairo splash animation` | Adds an option to disable Cairo splash animation. | 7.06.54 ~ 7.25.53 | | `Disable DRC audio` | Adds an option to disable DRC (Dynamic Range Compression) audio. | 6.20.51 ~ 7.25.53 | -| `Disable auto captions` | Adds an option to disable captions from being automatically enabled. | 6.20.51 ~ 7.25.53 | | `Disable dislike redirection` | Adds an option to disable redirection to the next track when clicking the Dislike button. | 6.20.51 ~ 7.25.53 | +| `Disable forced auto captions` | Adds an option to disable captions from being automatically enabled. | 6.20.51 ~ 7.25.53 | | `Disable music video in album` | Adds option to redirect music videos from albums for non-premium users. | 6.20.51 ~ 7.25.53 | -| `Enable OPUS codec` | Adds an options to enable the OPUS audio codec if the player response includes. | 6.20.51 ~ 7.25.53 | +| `Enable OPUS codec` | Adds an options to enable the OPUS audio codec if the player response includes it. | 6.20.51 ~ 7.25.53 | | `Enable debug logging` | Adds an option to enable debug logging. | 6.20.51 ~ 7.25.53 | | `Enable landscape mode` | Adds an option to enable landscape mode when rotating the screen on phones. | 6.20.51 ~ 7.25.53 | | `Flyout menu components` | Adds options to hide or change flyout menu components. | 6.20.51 ~ 7.25.53 | diff --git a/extensions/shared/src/main/java/app/revanced/extension/music/patches/misc/requests/PipedRequester.java b/extensions/shared/src/main/java/app/revanced/extension/music/patches/misc/requests/PipedRequester.java index d88623742..a846a67c3 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/music/patches/misc/requests/PipedRequester.java +++ b/extensions/shared/src/main/java/app/revanced/extension/music/patches/misc/requests/PipedRequester.java @@ -13,6 +13,7 @@ import java.io.IOException; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; @@ -39,11 +40,22 @@ public class PipedRequester { synchronized (cache) { final long now = System.currentTimeMillis(); - cache.values().removeIf(request -> { - final boolean expired = request.isExpired(now); - if (expired) Logger.printDebug(() -> "Removing expired stream: " + request.videoId); - return expired; - }); + if (Utils.isSDKAbove(25)) { + cache.values().removeIf(request -> { + final boolean expired = request.isExpired(now); + if (expired) Logger.printDebug(() -> "Removing expired stream: " + request.videoId); + return expired; + }); + } else { + Iterator> itr = cache.entrySet().iterator(); + while (itr.hasNext()) { + Map.Entry entry = itr.next(); + if (entry.getValue().isExpired(now)) { + Logger.printDebug(() -> "Removing expired fetch: " + entry.getValue().videoId); + itr.remove(); + } + } + } if (!cache.containsKey(videoId)) { PipedRequester pipedRequester = new PipedRequester(videoId, playlistId, playlistIndex); diff --git a/extensions/shared/src/main/java/app/revanced/extension/music/patches/utils/DrawableColorPatch.java b/extensions/shared/src/main/java/app/revanced/extension/music/patches/utils/DrawableColorPatch.java index 1c79d233d..beccf6178 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/music/patches/utils/DrawableColorPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/music/patches/utils/DrawableColorPatch.java @@ -1,6 +1,7 @@ package app.revanced.extension.music.patches.utils; import android.graphics.drawable.Drawable; +import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; @@ -35,17 +36,29 @@ public class DrawableColorPatch { viewGroup.getViewTreeObserver().addOnGlobalLayoutListener(() -> { if (!(viewGroup instanceof FrameLayout frameLayout)) return; - if (!(frameLayout.getChildAt(0) instanceof ViewGroup parentViewGroup)) + if (!(frameLayout.getChildAt(0) instanceof ViewGroup firstChildView)) return; - if (!(parentViewGroup.getChildAt(0) instanceof ImageView gradientView)) - return; - // For some reason, it sometimes applies to other lithoViews. - // To prevent this, check the viewId before applying the gradient. - if (headerGradient != null && viewGroup.getId() == elementsContainerIdentifier) { - gradientView.setForeground(headerGradient); + View secondChildView = firstChildView.getChildAt(0); + + if (secondChildView instanceof ImageView gradientView) { + // Album + setHeaderGradient(viewGroup, gradientView); + } else if (secondChildView instanceof ViewGroup thirdChildView && + thirdChildView.getChildCount() == 1 && + thirdChildView.getChildAt(0) instanceof ImageView gradientView) { + // Playlist + setHeaderGradient(viewGroup, gradientView); } }); } + + private static void setHeaderGradient(ViewGroup viewGroup, ImageView gradientView) { + // For some reason, it sometimes applies to other lithoViews. + // To prevent this, check the viewId before applying the gradient. + if (headerGradient != null && viewGroup.getId() == elementsContainerIdentifier) { + gradientView.setForeground(headerGradient); + } + } } diff --git a/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java b/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java index 0bd1fd28b..633d5ddba 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java @@ -52,8 +52,8 @@ public class Settings extends BaseSettings { // PreferenceScreen: Flyout menu - public static final BooleanSetting ENABLE_COMPACT_DIALOG = new BooleanSetting("revanced_enable_compact_dialog", TRUE); public static final BooleanSetting ENABLE_TRIM_SILENCE = new BooleanSetting("revanced_enable_trim_silence", FALSE, true); + public static final BooleanSetting ENABLE_COMPACT_DIALOG = new BooleanSetting("revanced_enable_compact_dialog", TRUE); public static final BooleanSetting HIDE_FLYOUT_MENU_LIKE_DISLIKE = new BooleanSetting("revanced_hide_flyout_menu_like_dislike", FALSE, true); public static final BooleanSetting HIDE_FLYOUT_MENU_3_COLUMN_COMPONENT = new BooleanSetting("revanced_hide_flyout_menu_3_column_component", FALSE, true); public static final BooleanSetting HIDE_FLYOUT_MENU_ADD_TO_QUEUE = new BooleanSetting("revanced_hide_flyout_menu_add_to_queue", FALSE, true); @@ -98,15 +98,15 @@ public class Settings extends BaseSettings { public static final StringSetting CUSTOM_FILTER_STRINGS = new StringSetting("revanced_custom_filter_strings", "", true); public static final BooleanSetting HIDE_BUTTON_SHELF = new BooleanSetting("revanced_hide_button_shelf", FALSE, true); public static final BooleanSetting HIDE_CAROUSEL_SHELF = new BooleanSetting("revanced_hide_carousel_shelf", FALSE, true); - public static final BooleanSetting HIDE_PLAYLIST_CARD_SHELF = new BooleanSetting("revanced_hide_playlist_card_shelf", FALSE, true); - public static final BooleanSetting HIDE_SAMPLE_SHELF = new BooleanSetting("revanced_hide_samples_shelf", FALSE, true); public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_hide_cast_button", TRUE); public static final BooleanSetting HIDE_CATEGORY_BAR = new BooleanSetting("revanced_hide_category_bar", FALSE, true); public static final BooleanSetting HIDE_FLOATING_BUTTON = new BooleanSetting("revanced_hide_floating_button", FALSE, true); - public static final BooleanSetting HIDE_TAP_TO_UPDATE_BUTTON = new BooleanSetting("revanced_hide_tap_to_update_button", FALSE, true); public static final BooleanSetting HIDE_HISTORY_BUTTON = new BooleanSetting("revanced_hide_history_button", FALSE); public static final BooleanSetting HIDE_NOTIFICATION_BUTTON = new BooleanSetting("revanced_hide_notification_button", FALSE, true); + public static final BooleanSetting HIDE_PLAYLIST_CARD_SHELF = new BooleanSetting("revanced_hide_playlist_card_shelf", FALSE, true); + public static final BooleanSetting HIDE_SAMPLE_SHELF = new BooleanSetting("revanced_hide_samples_shelf", FALSE, true); public static final BooleanSetting HIDE_SOUND_SEARCH_BUTTON = new BooleanSetting("revanced_hide_sound_search_button", FALSE, true); + public static final BooleanSetting HIDE_TAP_TO_UPDATE_BUTTON = new BooleanSetting("revanced_hide_tap_to_update_button", FALSE, true); public static final BooleanSetting HIDE_VOICE_SEARCH_BUTTON = new BooleanSetting("revanced_hide_voice_search_button", FALSE, true); public static final BooleanSetting REMOVE_VIEWER_DISCRETION_DIALOG = new BooleanSetting("revanced_remove_viewer_discretion_dialog", FALSE); public static final BooleanSetting RESTORE_OLD_STYLE_LIBRARY_SHELF = new BooleanSetting("revanced_restore_old_style_library_shelf", FALSE, true); @@ -128,21 +128,21 @@ public class Settings extends BaseSettings { // PreferenceScreen: Player - public static final BooleanSetting DISABLE_MINI_PLAYER_GESTURE = new BooleanSetting("revanced_disable_mini_player_gesture", FALSE, true); - public static final BooleanSetting DISABLE_PLAYER_GESTURE = new BooleanSetting("revanced_disable_player_gesture", FALSE, true); - public static final BooleanSetting ENABLE_BLACK_PLAYER_BACKGROUND = new BooleanSetting("revanced_enable_black_player_background", FALSE, true); - public static final BooleanSetting ENABLE_COLOR_MATCH_PLAYER = new BooleanSetting("revanced_enable_color_match_player", TRUE); - public static final BooleanSetting ENABLE_FORCE_MINIMIZED_PLAYER = new BooleanSetting("revanced_enable_force_minimized_player", TRUE); public static final BooleanSetting ENABLE_MINI_PLAYER_NEXT_BUTTON = new BooleanSetting("revanced_enable_mini_player_next_button", TRUE, true); public static final BooleanSetting ENABLE_MINI_PLAYER_PREVIOUS_BUTTON = new BooleanSetting("revanced_enable_mini_player_previous_button", TRUE, true); + public static final BooleanSetting ENABLE_COLOR_MATCH_PLAYER = new BooleanSetting("revanced_enable_color_match_player", TRUE); + public static final BooleanSetting ENABLE_BLACK_PLAYER_BACKGROUND = new BooleanSetting("revanced_enable_black_player_background", FALSE, true); + public static final BooleanSetting DISABLE_MINI_PLAYER_GESTURE = new BooleanSetting("revanced_disable_mini_player_gesture", FALSE, true); + public static final BooleanSetting DISABLE_PLAYER_GESTURE = new BooleanSetting("revanced_disable_player_gesture", FALSE, true); + public static final BooleanSetting ENABLE_FORCE_MINIMIZED_PLAYER = new BooleanSetting("revanced_enable_force_minimized_player", TRUE); public static final BooleanSetting ENABLE_SWIPE_TO_DISMISS_MINI_PLAYER = new BooleanSetting("revanced_enable_swipe_to_dismiss_mini_player", TRUE, true); public static final BooleanSetting ENABLE_ZEN_MODE = new BooleanSetting("revanced_enable_zen_mode", FALSE); public static final BooleanSetting ENABLE_ZEN_MODE_PODCAST = new BooleanSetting("revanced_enable_zen_mode_podcast", FALSE); - public static final BooleanSetting HIDE_AUDIO_VIDEO_SWITCH_TOGGLE = new BooleanSetting("revanced_hide_audio_video_switch_toggle", FALSE, true); public static final BooleanSetting HIDE_COMMENT_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_comment_channel_guidelines", TRUE); - public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); public static final BooleanSetting HIDE_DOUBLE_TAP_OVERLAY_FILTER = new BooleanSetting("revanced_hide_double_tap_overlay_filter", FALSE, true); + public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); public static final BooleanSetting HIDE_FULLSCREEN_SHARE_BUTTON = new BooleanSetting("revanced_hide_fullscreen_share_button", FALSE, true); + public static final BooleanSetting HIDE_AUDIO_VIDEO_SWITCH_TOGGLE = new BooleanSetting("revanced_hide_audio_video_switch_toggle", FALSE, true); public static final BooleanSetting REMEMBER_REPEAT_SATE = new BooleanSetting("revanced_remember_repeat_state", TRUE); public static final BooleanSetting REMEMBER_SHUFFLE_SATE = new BooleanSetting("revanced_remember_shuffle_state", TRUE); public static final BooleanSetting ALWAYS_SHUFFLE = new BooleanSetting("revanced_always_shuffle", FALSE); diff --git a/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/NavigationButtonsPatch.java b/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/NavigationButtonsPatch.java index 301616c3e..56a1269b2 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/NavigationButtonsPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/NavigationButtonsPatch.java @@ -3,7 +3,9 @@ package app.revanced.extension.reddit.patches; import android.view.View; import android.view.ViewGroup; +import java.util.Arrays; import java.util.List; +import java.util.Objects; import app.revanced.extension.reddit.settings.Settings; import app.revanced.extension.shared.utils.Logger; @@ -24,6 +26,22 @@ public final class NavigationButtonsPatch { return list; } + public static Object[] hideNavigationButtons(Object[] array) { + try { + for (NavigationButton button : NavigationButton.values()) { + if (button.enabled && array.length > button.index) { + Object buttonObject = array[button.index]; + array = Arrays.stream(array) + .filter(item -> !Objects.equals(item, buttonObject)) + .toArray(Object[]::new); + } + } + } catch (Exception exception) { + Logger.printException(() -> "Failed to remove button array", exception); + } + return array; + } + public static void hideNavigationButtons(ViewGroup viewGroup) { try { if (viewGroup == null) return; diff --git a/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/RemoveSubRedditDialogPatch.java b/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/RemoveSubRedditDialogPatch.java index 98dd6c53b..aaeb7468d 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/RemoveSubRedditDialogPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/RemoveSubRedditDialogPatch.java @@ -8,6 +8,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import app.revanced.extension.reddit.settings.Settings; +import app.revanced.extension.shared.utils.Logger; import app.revanced.extension.shared.utils.Utils; @SuppressWarnings("unused") @@ -30,6 +31,22 @@ public class RemoveSubRedditDialogPatch { clickViewDelayed(cancelButtonView); } + public static void dismissDialogV2(Object object) { + if (!Settings.REMOVE_NOTIFICATION_DIALOG.get()) + return; + + Utils.runOnMainThreadDelayed(() -> { + try { + dismissRedditDialogV2(object); + } catch (Exception ex) { + Logger.printException(() -> "dismissDialogV2 failed", ex); + } + }, 0); + } + + private static void dismissRedditDialogV2(Object object) { + } + private static void clickViewDelayed(View view) { Utils.runOnMainThreadDelayed(() -> { if (view != null) { diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/GmsCoreSupport.java b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/GmsCoreSupport.java index f0c5cd391..201bf2612 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/GmsCoreSupport.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/GmsCoreSupport.java @@ -36,9 +36,6 @@ public class GmsCoreSupport { private static final String DONT_KILL_MY_APP_LINK = "https://dontkillmyapp.com"; - private static final String META_SPOOF_PACKAGE_NAME = - GMS_CORE_PACKAGE_NAME + ".SPOOFED_PACKAGE_NAME"; - private static void open(Activity mActivity, String queryOrLink) { Intent intent; try { @@ -178,52 +175,6 @@ public class GmsCoreSupport { return false; } - /** - * Injection point. - */ - public static String spoofPackageName(Context context) { - // Package name of ReVanced. - final String packageName = context.getPackageName(); - - try { - final PackageManager packageManager = context.getPackageManager(); - - // Package name of YouTube or YouTube Music. - String originalPackageName; - - try { - originalPackageName = packageManager - .getPackageInfo(packageName, PackageManager.GET_META_DATA) - .applicationInfo - .metaData - .getString(META_SPOOF_PACKAGE_NAME); - } catch (PackageManager.NameNotFoundException exception) { - Logger.printDebug(() -> "Failed to parsing metadata"); - return packageName; - } - - if (StringUtils.isBlank(originalPackageName)) { - Logger.printDebug(() -> "Failed to parsing spoofed package name"); - return packageName; - } - - try { - packageManager.getPackageInfo(originalPackageName, PackageManager.GET_ACTIVITIES); - } catch (PackageManager.NameNotFoundException exception) { - Logger.printDebug(() -> "Original app '" + originalPackageName + "' was not found"); - return packageName; - } - - Logger.printDebug(() -> "Package name of '" + packageName + "' spoofed to '" + originalPackageName + "'"); - - return originalPackageName; - } catch (Exception ex) { - Logger.printException(() -> "spoofPackageName failure", ex); - } - - return packageName; - } - private static boolean isAndroidAutomotive(Context context) { return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE); } diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt index 4dcb61c31..0613ec951 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt @@ -4,6 +4,7 @@ import android.os.Build import app.revanced.extension.shared.patches.PatchStatus import app.revanced.extension.shared.settings.BaseSettings import org.apache.commons.lang3.ArrayUtils +import java.util.Locale /** * Used to fetch streaming data. @@ -106,8 +107,16 @@ object AppClient { * but for some reason the build.props for the `Quest 3` state that the SDK version is 32. */ private const val ANDROID_SDK_VERSION_ANDROID_VR = "32" - private val USER_AGENT_ANDROID_VR = - androidUserAgent(PACKAGE_NAME_ANDROID_VR, CLIENT_VERSION_ANDROID_VR, OS_VERSION_ANDROID_VR) + private const val BUILD_ID_ANDROID_VR = "SQ3A.220605.009.A1" + private const val CHIPSET_ANDROID_VR = "Qualcomm;SXR2230P" + + private val USER_AGENT_ANDROID_VR = androidUserAgent( + packageName = PACKAGE_NAME_ANDROID_VR, + clientVersion = CLIENT_VERSION_ANDROID_VR, + osVersion = OS_VERSION_ANDROID_VR, + deviceModel = DEVICE_MODEL_ANDROID_VR, + buildId = BUILD_ID_ANDROID_VR + ) // ANDROID UNPLUGGED @@ -126,10 +135,16 @@ object AppClient { private const val DEVICE_MAKE_ANDROID_UNPLUGGED = "Google" private const val OS_VERSION_ANDROID_UNPLUGGED = "14" private const val ANDROID_SDK_VERSION_ANDROID_UNPLUGGED = "34" + private const val BUILD_ID_ANDROID_UNPLUGGED = "UTT3.240625.001.K5" + private const val GMS_CORE_VERSION_CODE_ANDROID_UNPLUGGED = "244336107" + private const val CHIPSET_ANDROID_UNPLUGGED = "Mediatek;MT8696" + private val USER_AGENT_ANDROID_UNPLUGGED = androidUserAgent( - PACKAGE_NAME_ANDROID_UNPLUGGED, - CLIENT_VERSION_ANDROID_UNPLUGGED, - OS_VERSION_ANDROID_UNPLUGGED + packageName = PACKAGE_NAME_ANDROID_UNPLUGGED, + clientVersion = CLIENT_VERSION_ANDROID_UNPLUGGED, + osVersion = OS_VERSION_ANDROID_UNPLUGGED, + deviceModel = DEVICE_MODEL_ANDROID_UNPLUGGED, + buildId = BUILD_ID_ANDROID_UNPLUGGED ) @@ -141,9 +156,24 @@ object AppClient { private const val PACKAGE_NAME_ANDROID_CREATOR = "com.google.android.apps.youtube.creator" private const val CLIENT_VERSION_ANDROID_CREATOR = "23.47.101" + /** + * The device machine id for the Google Pixel 9 Pro Fold. + * See [this GitLab](https://dumps.tadiphone.dev/dumps/google/barbet) for more information. + */ + private const val DEVICE_MODEL_ANDROID_CREATOR = "Pixel 9 Pro Fold" + private const val DEVICE_MAKE_ANDROID_CREATOR = "Google" + private const val OS_VERSION_ANDROID_CREATOR = "15" + private const val ANDROID_SDK_VERSION_ANDROID_CREATOR = "35" + private const val BUILD_ID_ANDROID_CREATOR = "AP3A.241005.015.A2" + private const val GMS_CORE_VERSION_CODE_ANDROID_CREATOR = "244738035" + private const val CHIPSET_ANDROID_CREATOR = "Google;Tensor G4" + private val USER_AGENT_ANDROID_CREATOR = androidUserAgent( - PACKAGE_NAME_ANDROID_CREATOR, - CLIENT_VERSION_ANDROID_CREATOR + packageName = PACKAGE_NAME_ANDROID_CREATOR, + clientVersion = CLIENT_VERSION_ANDROID_CREATOR, + osVersion = OS_VERSION_ANDROID_CREATOR, + deviceModel = DEVICE_MODEL_ANDROID_CREATOR, + buildId = BUILD_ID_ANDROID_CREATOR ) @@ -158,35 +188,52 @@ object AppClient { * It is not the default client yet, as it requires sufficient testing. */ private const val CLIENT_VERSION_ANDROID_MUSIC = "4.27.53" + + /** + * The device machine id for the Google Pixel 4. + * See [this GitLab](https://dumps.tadiphone.dev/dumps/google/flame) for more information. + */ + private const val DEVICE_MODEL_ANDROID_MUSIC = "Pixel 4" + private const val DEVICE_MAKE_ANDROID_MUSIC = "Google" + private const val OS_VERSION_ANDROID_MUSIC = "11" + private const val ANDROID_SDK_VERSION_ANDROID_MUSIC = "30" + private const val BUILD_ID_ANDROID_MUSIC = "SPP2.210219.008" + private const val GMS_CORE_VERSION_CODE_ANDROID_MUSIC = "244738022" + private const val CHIPSET_ANDROID_MUSIC = "Qualcomm;SM8150" + private val USER_AGENT_ANDROID_MUSIC = androidUserAgent( - PACKAGE_NAME_ANDROID_MUSIC, - CLIENT_VERSION_ANDROID_MUSIC + packageName = PACKAGE_NAME_ANDROID_MUSIC, + clientVersion = CLIENT_VERSION_ANDROID_MUSIC, + osVersion = OS_VERSION_ANDROID_MUSIC, + deviceModel = DEVICE_MODEL_ANDROID_MUSIC, + buildId = BUILD_ID_ANDROID_MUSIC ) + /** + * Same format as Android YouTube User-Agent. + * Example: 'com.google.android.youtube/19.46.40(Linux; U; Android 13; in_ID; 21061110AG Build/TP1A.220624.014) gzip' + * Source: https://whatmyuseragent.com/apps/youtube. + */ private fun androidUserAgent( packageName: String, clientVersion: String, - osVersion: String? = Build.VERSION.RELEASE - ): String { - return packageName + - "/" + - clientVersion + - " (Linux; U; Android " + - osVersion + - "; GB) gzip" - } + osVersion: String? = Build.VERSION.RELEASE, + deviceModel: String? = Build.MODEL, + buildId: String? = Build.ID, + ): String = + "$packageName/$clientVersion(Linux; U; Android $osVersion; ${Locale.getDefault()}; $deviceModel Build/$buildId) gzip" - private fun iOSUserAgent(packageName: String, clientVersion: String): String { - return packageName + - "/" + - clientVersion + - "(" + - DEVICE_MODEL_IOS + - "; U; CPU iOS " + - USER_AGENT_VERSION_IOS + - " like Mac OS X)" - } + /** + * Same format as iOS YouTube User-Agent. + * Example: 'com.google.ios.youtube/16.38.2 (iPhone9,4; U; CPU iOS 14_7_1 like Mac OS X; en_AU)' + * Source: https://github.com/mitmproxy/mitmproxy/issues/4836. + */ + private fun iOSUserAgent( + packageName: String, + clientVersion: String + ): String = + "$packageName/$clientVersion ($DEVICE_MODEL_IOS; U; CPU iOS $USER_AGENT_VERSION_IOS like Mac OS X; ${Locale.getDefault()})" private fun forceAVC(): Boolean { return BaseSettings.SPOOF_STREAMING_DATA_IOS_FORCE_AVC.get() @@ -247,6 +294,14 @@ object AppClient { * App version. */ val clientVersion: String, + /** + * GmsCore versionCode. + */ + val gmscoreVersionCode: String? = null, + /** + * ChipSet. + */ + val chipset: String? = null, /** * If the client can access the API logged in. * If false, 'Authorization' must not be included. @@ -274,6 +329,7 @@ object AppClient { userAgent = USER_AGENT_ANDROID_VR, androidSdkVersion = ANDROID_SDK_VERSION_ANDROID_VR, clientVersion = CLIENT_VERSION_ANDROID_VR, + chipset = CHIPSET_ANDROID_VR, friendlyName = "Android VR" ), ANDROID_UNPLUGGED( @@ -284,13 +340,21 @@ object AppClient { userAgent = USER_AGENT_ANDROID_UNPLUGGED, androidSdkVersion = ANDROID_SDK_VERSION_ANDROID_UNPLUGGED, clientVersion = CLIENT_VERSION_ANDROID_UNPLUGGED, + gmscoreVersionCode = GMS_CORE_VERSION_CODE_ANDROID_UNPLUGGED, + chipset = CHIPSET_ANDROID_UNPLUGGED, requireAuth = true, friendlyName = "Android TV" ), ANDROID_CREATOR( id = 14, + deviceMake = DEVICE_MAKE_ANDROID_CREATOR, + deviceModel = DEVICE_MODEL_ANDROID_CREATOR, + osVersion = OS_VERSION_ANDROID_CREATOR, userAgent = USER_AGENT_ANDROID_CREATOR, + androidSdkVersion = ANDROID_SDK_VERSION_ANDROID_CREATOR, clientVersion = CLIENT_VERSION_ANDROID_CREATOR, + gmscoreVersionCode = GMS_CORE_VERSION_CODE_ANDROID_CREATOR, + chipset = CHIPSET_ANDROID_CREATOR, requireAuth = true, friendlyName = "Android Studio" ), @@ -325,8 +389,14 @@ object AppClient { ), ANDROID_MUSIC( id = 21, + deviceMake = DEVICE_MAKE_ANDROID_MUSIC, + deviceModel = DEVICE_MODEL_ANDROID_MUSIC, + osVersion = OS_VERSION_ANDROID_MUSIC, userAgent = USER_AGENT_ANDROID_MUSIC, + androidSdkVersion = ANDROID_SDK_VERSION_ANDROID_MUSIC, clientVersion = CLIENT_VERSION_ANDROID_MUSIC, + gmscoreVersionCode = GMS_CORE_VERSION_CODE_ANDROID_MUSIC, + chipset = CHIPSET_ANDROID_MUSIC, requireAuth = true, friendlyName = "Android Music" ); diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spans/InclusiveSpanPatch.java b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spans/InclusiveSpanPatch.java index fead03f7e..ceacf6f67 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spans/InclusiveSpanPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spans/InclusiveSpanPatch.java @@ -14,7 +14,6 @@ import androidx.annotation.NonNull; import java.util.List; import app.revanced.extension.shared.settings.BaseSettings; -import app.revanced.extension.shared.settings.BooleanSetting; import app.revanced.extension.shared.utils.Logger; import app.revanced.extension.shared.utils.StringTrieSearch; @@ -27,7 +26,6 @@ final class DummyFilter extends Filter { @SuppressWarnings("unused") public final class InclusiveSpanPatch { - private static final BooleanSetting ENABLE_DEBUG_LOGGING = BaseSettings.ENABLE_DEBUG_LOGGING; /** * Simple wrapper to pass the litho parameters through the prefix search. @@ -126,7 +124,7 @@ public final class InclusiveSpanPatch { filterUsingCallbacks(filter, filter.callbacks); } - if (ENABLE_DEBUG_LOGGING.get()) { + if (BaseSettings.ENABLE_DEBUG_BUFFER_LOGGING.get()) { Logger.printDebug(() -> "Using: " + searchTree.numberOfPatterns() + " conversion context filters" + " (" + searchTree.getEstimatedMemorySize() + " KB)"); @@ -171,7 +169,7 @@ public final class InclusiveSpanPatch { LithoFilterParameters parameter = new LithoFilterParameters(conversionContext, spannableString, span, start, end, flags); - if (ENABLE_DEBUG_LOGGING.get()) { + if (BaseSettings.ENABLE_DEBUG_BUFFER_LOGGING.get()) { Logger.printDebug(() -> "Searching...\n\u200B\n" + parameter); } diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java index 6bf264184..7361c97d5 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java @@ -4,7 +4,6 @@ import static app.revanced.extension.shared.patches.PatchStatus.SpoofStreamingDa import android.net.Uri; import android.text.TextUtils; -import android.util.Base64; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -35,9 +34,6 @@ public class SpoofStreamingDataPatch { private static final String UNREACHABLE_HOST_URI_STRING = "https://127.0.0.0"; private static final Uri UNREACHABLE_HOST_URI = Uri.parse(UNREACHABLE_HOST_URI_STRING); - @NonNull - private static volatile String droidGuardPoToken = ""; - /** * Key: video id * Value: original video length [streamingData.formats.approxDurationMs] @@ -111,6 +107,16 @@ public class SpoofStreamingDataPatch { return SPOOF_STREAMING_DATA; } + /** + * Injection point. + */ + public static Object isSpoofingEnabled(Object original) { + if (!SPOOF_STREAMING_DATA) { + return original; + } + return null; + } + /** * Injection point. * This method is only invoked when playing a livestream on an iOS client. @@ -173,7 +179,7 @@ public class SpoofStreamingDataPatch { if (SPOOF_STREAMING_DATA_MUSIC) { try { if (requestHeader != null) { - StreamingDataRequest.fetchRequest(videoId, requestHeader, VISITOR_DATA, PO_TOKEN, droidGuardPoToken); + StreamingDataRequest.fetchRequest(videoId, requestHeader, VISITOR_DATA, PO_TOKEN); } else { Logger.printDebug(() -> "Ignoring request with no header."); } @@ -212,7 +218,7 @@ public class SpoofStreamingDataPatch { return; } - StreamingDataRequest.fetchRequest(id, requestHeaders, VISITOR_DATA, PO_TOKEN, droidGuardPoToken); + StreamingDataRequest.fetchRequest(id, requestHeaders, VISITOR_DATA, PO_TOKEN); } catch (Exception ex) { Logger.printException(() -> "fetchStreams failure", ex); } @@ -335,17 +341,4 @@ public class SpoofStreamingDataPatch { return videoFormat; } - - /** - * Injection point. - */ - public static void setDroidGuardPoToken(byte[] bytes) { - if (SPOOF_STREAMING_DATA && bytes.length > 20) { - final String poToken = Base64.encodeToString(bytes, Base64.URL_SAFE); - if (!droidGuardPoToken.equals(poToken)) { - Logger.printDebug(() -> "New droidGuardPoToken loaded:\n" + poToken); - droidGuardPoToken = poToken; - } - } - } } diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt index fca54e4f2..ab0e56bc0 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt @@ -13,6 +13,9 @@ import org.json.JSONObject import java.io.IOException import java.net.HttpURLConnection import java.nio.charset.StandardCharsets +import java.util.Date +import java.util.Locale +import java.util.TimeZone @Suppress("deprecation") object PlayerRoutes { @@ -47,34 +50,48 @@ object PlayerRoutes { */ private const val CONNECTION_TIMEOUT_MILLISECONDS = 10 * 1000 // 10 Seconds. - private val LOCALE_LANGUAGE: String = Utils.getContext().resources - .configuration.locale.language + private val LOCALE: Locale = Utils.getContext().resources + .configuration.locale + private val LOCALE_COUNTRY: String = LOCALE.country + private val LOCALE_LANGUAGE: String = LOCALE.language + private val TIME_ZONE: TimeZone = TimeZone.getDefault() + private val TIME_ZONE_ID: String = TIME_ZONE.id + private val UTC_OFFSET_MINUTES: Int = TIME_ZONE.getOffset(Date().time) / 60000 @JvmStatic fun createApplicationRequestBody( clientType: AppClient.ClientType, videoId: String, playlistId: String? = null, - botGuardPoToken: String? = null, - visitorId: String? = null, + botGuardPoToken: String = "", + visitorId: String = "", + setLocale: Boolean = false, ): ByteArray { val innerTubeBody = JSONObject() try { val client = JSONObject() - client.put("clientName", clientType.clientName) - client.put("clientVersion", clientType.clientVersion) client.put("deviceMake", clientType.deviceMake) client.put("deviceModel", clientType.deviceModel) + client.put("clientName", clientType.clientName) + client.put("clientVersion", clientType.clientVersion) client.put("osName", clientType.osName) client.put("osVersion", clientType.osVersion) - if (clientType.osName == "Android") { + if (clientType.osName != "iOS") { client.put("androidSdkVersion", clientType.androidSdkVersion) + if (clientType.gmscoreVersionCode != null) { + client.put("gmscoreVersionCode", clientType.gmscoreVersionCode) + } + if (clientType.chipset != null) { + client.put("chipset", clientType.chipset) + } } - if (!clientType.supportsCookies) { + if (setLocale) { client.put("hl", LOCALE_LANGUAGE) + client.put("gl", LOCALE_COUNTRY) + client.put("timeZone", TIME_ZONE_ID) + client.put("utcOffsetMinutes", "$UTC_OFFSET_MINUTES") } - val context = JSONObject() context.put("client", client) @@ -137,7 +154,8 @@ object PlayerRoutes { return getPlayerResponseConnectionFromRoute( route, clientType.userAgent, - clientType.id.toString() + clientType.id.toString(), + clientType.clientVersion ) } @@ -149,7 +167,8 @@ object PlayerRoutes { return getPlayerResponseConnectionFromRoute( route, clientType.userAgent, - clientType.id.toString() + clientType.id.toString(), + clientType.clientVersion, ) } @@ -157,12 +176,14 @@ object PlayerRoutes { fun getPlayerResponseConnectionFromRoute( route: CompiledRoute, userAgent: String, + clientId: String, clientVersion: String ): HttpURLConnection { val connection = Requester.getConnectionFromCompiledRoute(YT_API_URL, route) connection.setRequestProperty("Content-Type", "application/json") connection.setRequestProperty("User-Agent", userAgent) + connection.setRequestProperty("X-YouTube-Client-Name", clientId) connection.setRequestProperty("X-YouTube-Client-Version", clientVersion) connection.useCaches = false diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt index 6389ac1ea..3eb64af98 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt @@ -33,8 +33,8 @@ import java.util.concurrent.TimeoutException * did use its own client streams. */ class StreamingDataRequest private constructor( - videoId: String, playerHeaders: Map, visitorId: String, - botGuardPoToken: String, droidGuardPoToken: String + videoId: String, playerHeaders: Map, + visitorId: String, botGuardPoToken: String ) { private val videoId: String private val future: Future @@ -47,8 +47,7 @@ class StreamingDataRequest private constructor( videoId, playerHeaders, visitorId, - botGuardPoToken, - droidGuardPoToken + botGuardPoToken ) } } @@ -136,8 +135,8 @@ class StreamingDataRequest private constructor( @JvmStatic fun fetchRequest( - videoId: String, fetchHeaders: Map, visitorId: String, - botGuardPoToken: String, droidGuardPoToken: String + videoId: String, fetchHeaders: Map, + visitorId: String, botGuardPoToken: String ) { // Always fetch, even if there is an existing request for the same video. cache[videoId] = @@ -145,8 +144,7 @@ class StreamingDataRequest private constructor( videoId, fetchHeaders, visitorId, - botGuardPoToken, - droidGuardPoToken + botGuardPoToken ) } @@ -160,8 +158,11 @@ class StreamingDataRequest private constructor( } private fun send( - clientType: AppClient.ClientType, videoId: String, playerHeaders: Map, - visitorId: String, botGuardPoToken: String, droidGuardPoToken: String + clientType: AppClient.ClientType, + videoId: String, + playerHeaders: Map, + visitorId: String, + botGuardPoToken: String ): HttpURLConnection? { Objects.requireNonNull(clientType) Objects.requireNonNull(videoId) @@ -176,6 +177,8 @@ class StreamingDataRequest private constructor( connection.connectTimeout = HTTP_TIMEOUT_MILLISECONDS connection.readTimeout = HTTP_TIMEOUT_MILLISECONDS + val setLocale = + !clientType.supportsCookies || playerHeaders[AUTHORIZATION_HEADER] == null val usePoToken = clientType.requirePoToken && !StringUtils.isAnyEmpty(botGuardPoToken, visitorId) @@ -205,15 +208,17 @@ class StreamingDataRequest private constructor( clientType = clientType, videoId = videoId, botGuardPoToken = botGuardPoToken, - visitorId = visitorId + visitorId = visitorId, + setLocale = setLocale ) - if (droidGuardPoToken.isNotEmpty()) { - Logger.printDebug { "Original poToken (droidGuardPoToken):\n$droidGuardPoToken" } - } - Logger.printDebug { "Replaced poToken (botGuardPoToken):\n$botGuardPoToken" } + Logger.printDebug { "Set poToken (botGuardPoToken):\n$botGuardPoToken" } } else { requestBody = - createApplicationRequestBody(clientType = clientType, videoId = videoId) + createApplicationRequestBody( + clientType = clientType, + videoId = videoId, + setLocale = setLocale + ) } connection.setFixedLengthStreamingMode(requestBody.size) connection.outputStream.write(requestBody) @@ -242,8 +247,8 @@ class StreamingDataRequest private constructor( } private fun fetch( - videoId: String, playerHeaders: Map, visitorId: String, - botGuardPoToken: String, droidGuardPoToken: String + videoId: String, playerHeaders: Map, + visitorId: String, botGuardPoToken: String ): ByteBuffer? { lastSpoofedClientType = null @@ -260,8 +265,7 @@ class StreamingDataRequest private constructor( videoId, playerHeaders, visitorId, - botGuardPoToken, - droidGuardPoToken + botGuardPoToken )?.let { connection -> try { // gzip encoding doesn't response with content length (-1), @@ -271,7 +275,7 @@ class StreamingDataRequest private constructor( } else { BufferedInputStream(connection.inputStream).use { inputStream -> ByteArrayOutputStream().use { stream -> - val buffer = ByteArray(2048) + val buffer = ByteArray(8192) var bytesRead: Int while ((inputStream.read(buffer) .also { bytesRead = it }) >= 0 diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java index 886852d2e..c97e3f87c 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java @@ -29,6 +29,7 @@ public class BaseSettings { public static final BooleanSetting HIDE_PROMOTION_ALERT_BANNER = new BooleanSetting("revanced_hide_promotion_alert_banner", TRUE); public static final BooleanSetting DISABLE_AUTO_CAPTIONS = new BooleanSetting("revanced_disable_auto_captions", FALSE, true); + public static final BooleanSetting DISABLE_QUIC_PROTOCOL = new BooleanSetting("revanced_disable_quic_protocol", FALSE, true); public static final BooleanSetting BYPASS_IMAGE_REGION_RESTRICTIONS = new BooleanSetting("revanced_bypass_image_region_restrictions", FALSE, true); public static final BooleanSetting RETURN_YOUTUBE_USERNAME_ENABLED = new BooleanSetting("revanced_return_youtube_username_enabled", FALSE, true); diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/utils/StringRef.java b/extensions/shared/src/main/java/app/revanced/extension/shared/utils/StringRef.java index 902e354e2..0416c1c6c 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/utils/StringRef.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/utils/StringRef.java @@ -110,14 +110,8 @@ public class StringRef extends Utils { ? mActivity : getContext(); if (resources == null) { - resources = getResources(); + resources = context.getResources(); } - if (resources != null) { - value = ResourceUtils.getString(value); - resolved = true; - return value; - } - resources = context.getResources(); if (resources != null) { final String packageName = context.getPackageName(); final int identifier = resources.getIdentifier(value, "string", packageName); diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/utils/Utils.java b/extensions/shared/src/main/java/app/revanced/extension/shared/utils/Utils.java index ed3e96428..e1290d73f 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/utils/Utils.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/utils/Utils.java @@ -359,7 +359,17 @@ public class Utils { // // Info level also helps debug if a patch hook is called before // the context is set since debug logging is off by default. - Logger.initializationInfo(Utils.class, "Set context: " + appContext); + StringBuilder sb = new StringBuilder(); + sb.append("Set context: "); + sb.append(appContext); + StackTraceElement[] stackTraceElement = Thread.currentThread().getStackTrace(); + if (stackTraceElement.length > 3) { + sb.append("\n"); + sb.append("Called from method: "); + sb.append(stackTraceElement[3]); + } + + Logger.initializationInfo(Utils.class, sb.toString()); } public static void setClipboard(@NonNull String text) { diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CarouselShelfFilter.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CarouselShelfFilter.java index e565fe92c..d5277448f 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CarouselShelfFilter.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CarouselShelfFilter.java @@ -16,6 +16,7 @@ import app.revanced.extension.youtube.shared.RootView; @SuppressWarnings("unused") public final class CarouselShelfFilter extends Filter { private static final String BROWSE_ID_CLIP = "FEclips"; + private static final String BROWSE_ID_COURSES = "FEcourses_destination"; private static final String BROWSE_ID_HOME = "FEwhat_to_watch"; private static final String BROWSE_ID_LIBRARY = "FElibrary"; private static final String BROWSE_ID_MOVIE = "FEstorefront"; @@ -34,6 +35,7 @@ public final class CarouselShelfFilter extends Filter { private static final Supplier> whitelistBrowseId = () -> Stream.of( BROWSE_ID_CLIP, + BROWSE_ID_COURSES, BROWSE_ID_LIBRARY, BROWSE_ID_MOVIE, BROWSE_ID_NOTIFICATION_INBOX, diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java index d4525cff6..baeb63f3c 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java @@ -57,6 +57,17 @@ public final class CommentsFilter extends Filter { "sponsorships_comments_footer.eml" ); + final StringFilterGroup liveChatMessages = new StringFilterGroup( + Settings.HIDE_LIVE_CHAT_MESSAGES, + "live_chat_text_message", + "viewer_engagement_message" // message about poll, not poll itself + ); + + final StringFilterGroup liveChatSummary = new StringFilterGroup( + Settings.HIDE_LIVE_CHAT_SUMMARY, + "live_chat_summary_banner" + ); + final StringFilterGroup previewComment = new StringFilterGroup( Settings.HIDE_PREVIEW_COMMENT_OLD_METHOD, "|carousel_item.", @@ -88,6 +99,8 @@ public final class CommentsFilter extends Filter { commentsPreviewDots, createShorts, membersBanner, + liveChatMessages, + liveChatSummary, previewComment, previewCommentText, thanks, diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java index 8ece2b72a..627469cd9 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java @@ -57,17 +57,6 @@ public final class PlayerComponentsFilter extends Filter { "single_item_information_panel" ); - final StringFilterGroup liveChatMessages = new StringFilterGroup( - Settings.HIDE_LIVE_CHAT_MESSAGES, - "live_chat_text_message", - "viewer_engagement_message" // message about poll, not poll itself - ); - - final StringFilterGroup liveChatSummary = new StringFilterGroup( - Settings.HIDE_LIVE_CHAT_SUMMARY, - "live_chat_summary_banner" - ); - final StringFilterGroup medicalPanel = new StringFilterGroup( Settings.HIDE_MEDICAL_PANEL, "emergency_onebox", @@ -96,8 +85,6 @@ public final class PlayerComponentsFilter extends Filter { channelWaterMark, infoCards, infoPanel, - liveChatMessages, - liveChatSummary, medicalPanel, seekMessage, suggestedActions, diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/general/GeneralPatch.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/general/GeneralPatch.java index 1223d4115..713b93ed0 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/general/GeneralPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/general/GeneralPatch.java @@ -311,8 +311,8 @@ public class GeneralPatch { // region [Toolbar components] patch - private static final int generalHeaderAttributeId = ResourceUtils.getAttrIdentifier("ytWordmarkHeader"); - private static final int premiumHeaderAttributeId = ResourceUtils.getAttrIdentifier("ytPremiumWordmarkHeader"); + private static int generalHeaderAttributeId = 0; + private static int premiumHeaderAttributeId = 0; public static void setDrawerNavigationHeader(View lithoView) { final int headerAttributeId = getHeaderAttributeId(); @@ -330,6 +330,11 @@ public class GeneralPatch { } public static int getHeaderAttributeId() { + if (premiumHeaderAttributeId == 0) { + generalHeaderAttributeId = ResourceUtils.getAttrIdentifier("ytWordmarkHeader"); + premiumHeaderAttributeId = ResourceUtils.getAttrIdentifier("ytPremiumWordmarkHeader"); + } + return Settings.CHANGE_YOUTUBE_HEADER.get() ? premiumHeaderAttributeId : generalHeaderAttributeId; @@ -344,11 +349,6 @@ public class GeneralPatch { return ResourceUtils.getDrawable(""); } - private static final int searchBarId = ResourceUtils.getIdIdentifier("search_bar"); - private static final int youtubeTextId = ResourceUtils.getIdIdentifier("youtube_text"); - private static final int searchBoxId = ResourceUtils.getIdIdentifier("search_box"); - private static final int searchIconId = ResourceUtils.getIdIdentifier("search_icon"); - private static final boolean wideSearchbarEnabled = Settings.ENABLE_WIDE_SEARCH_BAR.get(); // Loads the search bar deprecated by Google. private static final boolean wideSearchbarWithHeaderEnabled = Settings.ENABLE_WIDE_SEARCH_BAR_WITH_HEADER.get(); @@ -384,16 +384,30 @@ public class GeneralPatch { return !wideSearchbarYouTabEnabled && original; } + private static int searchBarId = 0; + private static int youtubeTextId = 0; + private static int searchBoxId = 0; + private static int searchIconId = 0; + public static void setWideSearchBarLayout(View view) { if (!wideSearchbarEnabled) return; + if (searchBarId == 0) { + searchBarId = ResourceUtils.getIdIdentifier("search_bar"); + } + if (!(view.findViewById(searchBarId) instanceof RelativeLayout searchBarView)) return; // When the deprecated search bar is loaded, two search bars overlap. // Manually hides another search bar. if (wideSearchbarWithHeaderEnabled) { + if (youtubeTextId == 0) { + youtubeTextId = ResourceUtils.getIdIdentifier("youtube_text"); + searchBoxId = ResourceUtils.getIdIdentifier("search_box"); + searchIconId = ResourceUtils.getIdIdentifier("search_icon"); + } final View searchIconView = searchBarView.findViewById(searchIconId); final View searchBoxView = searchBarView.findViewById(searchBoxId); final View textView = searchBarView.findViewById(youtubeTextId); @@ -508,16 +522,18 @@ public class GeneralPatch { imageView.setImageDrawable(drawable); } - private static final int settingsDrawableId = - ResourceUtils.getDrawableIdentifier("yt_outline_gear_black_24"); - private static final int settingsCairoDrawableId = - ResourceUtils.getDrawableIdentifier("yt_outline_gear_cairo_black_24"); + private static int settingsDrawableId = 0; + private static int settingsCairoDrawableId = 0; public static int getCreateButtonDrawableId(int original) { if (!Settings.REPLACE_TOOLBAR_CREATE_BUTTON.get()) { return original; } + if (settingsDrawableId == 0) { + settingsDrawableId = ResourceUtils.getDrawableIdentifier("yt_outline_gear_black_24"); + } + if (settingsDrawableId == 0) { return original; } @@ -528,6 +544,10 @@ public class GeneralPatch { return settingsDrawableId; } + if (settingsCairoDrawableId == 0) { + settingsCairoDrawableId = ResourceUtils.getDrawableIdentifier("yt_outline_gear_cairo_black_24"); + } + return settingsCairoDrawableId == 0 ? settingsDrawableId : settingsCairoDrawableId; diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/misc/QUICProtocolPatch.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/misc/QUICProtocolPatch.java index b8e099b91..b04fb584e 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/misc/QUICProtocolPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/misc/QUICProtocolPatch.java @@ -1,17 +1,11 @@ package app.revanced.extension.youtube.patches.misc; -import app.revanced.extension.shared.utils.Logger; -import app.revanced.extension.youtube.settings.Settings; +import app.revanced.extension.shared.settings.BaseSettings; @SuppressWarnings("unused") public class QUICProtocolPatch { public static boolean disableQUICProtocol(boolean original) { - try { - return !Settings.DISABLE_QUIC_PROTOCOL.get() && original; - } catch (Exception ex) { - Logger.printException(() -> "Failed to load disableQUICProtocol", ex); - } - return original; + return !BaseSettings.DISABLE_QUIC_PROTOCOL.get() && original; } } diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/player/PlayerPatch.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/player/PlayerPatch.java index 669d57fae..e7e187d1a 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/player/PlayerPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/player/PlayerPatch.java @@ -297,7 +297,6 @@ public class PlayerPatch { mlp.rightMargin, mlp.bottomMargin ); - view.requestLayout(); } public static boolean enableCompactControlsOverlay(boolean original) { diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/shorts/AnimationFeedbackPatch.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/shorts/AnimationFeedbackPatch.java index e21d61a0b..8d6fa4377 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/shorts/AnimationFeedbackPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/shorts/AnimationFeedbackPatch.java @@ -41,11 +41,9 @@ public final class AnimationFeedbackPatch { private static final boolean HIDE_PLAY_PAUSE_FEEDBACK = Settings.HIDE_SHORTS_PLAY_PAUSE_BUTTON_BACKGROUND.get(); - private static final int PAUSE_TAP_FEEDBACK_HIDDEN - = ResourceUtils.getRawIdentifier("pause_tap_feedback_hidden"); + private static int PAUSE_TAP_FEEDBACK_HIDDEN = 0; - private static final int PLAY_TAP_FEEDBACK_HIDDEN - = ResourceUtils.getRawIdentifier("play_tap_feedback_hidden"); + private static int PLAY_TAP_FEEDBACK_HIDDEN = 0; /** @@ -66,8 +64,12 @@ public final class AnimationFeedbackPatch { if (!HIDE_PLAY_PAUSE_FEEDBACK) { return; } - - LottieAnimationViewPatch.setLottieAnimationRawResources(lottieAnimationView, PAUSE_TAP_FEEDBACK_HIDDEN); + if (PAUSE_TAP_FEEDBACK_HIDDEN == 0) { + PAUSE_TAP_FEEDBACK_HIDDEN = ResourceUtils.getRawIdentifier("pause_tap_feedback_hidden"); + } + if (PAUSE_TAP_FEEDBACK_HIDDEN != 0) { + LottieAnimationViewPatch.setLottieAnimationRawResources(lottieAnimationView, PAUSE_TAP_FEEDBACK_HIDDEN); + } } /** @@ -77,8 +79,12 @@ public final class AnimationFeedbackPatch { if (!HIDE_PLAY_PAUSE_FEEDBACK) { return; } - - LottieAnimationViewPatch.setLottieAnimationRawResources(lottieAnimationView, PLAY_TAP_FEEDBACK_HIDDEN); + if (PLAY_TAP_FEEDBACK_HIDDEN == 0) { + PLAY_TAP_FEEDBACK_HIDDEN = ResourceUtils.getRawIdentifier("play_tap_feedback_hidden"); + } + if (PLAY_TAP_FEEDBACK_HIDDEN != 0) { + LottieAnimationViewPatch.setLottieAnimationRawResources(lottieAnimationView, PLAY_TAP_FEEDBACK_HIDDEN); + } } } diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt index 8299757fc..9d4f25036 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt @@ -121,7 +121,7 @@ class MusicRequest private constructor( val startTime = System.currentTimeMillis() val clientType = AppClient.ClientType.ANDROID_VR val clientTypeName = clientType.name - Logger.printDebug { "Fetching playlist request for: $videoId using client: $clientTypeName" } + Logger.printDebug { "Fetching playlist request for: $videoId, using client: $clientTypeName" } try { val connection = PlayerRoutes.getPlayerResponseConnectionFromRoute( @@ -129,7 +129,7 @@ class MusicRequest private constructor( clientType ) val requestBody = - PlayerRoutes.createApplicationRequestBody(clientType, videoId, "RD$videoId") + PlayerRoutes.createApplicationRequestBody(clientType = clientType, videoId = videoId, playlistId = "RD$videoId") connection.setFixedLengthStreamingMode(requestBody.size) connection.outputStream.write(requestBody) @@ -161,7 +161,7 @@ class MusicRequest private constructor( val startTime = System.currentTimeMillis() val clientType = WebClient.ClientType.MWEB val clientTypeName = clientType.name - Logger.printDebug { "Fetching playability request for: $videoId using client: $clientTypeName" } + Logger.printDebug { "Fetching playability request for: $videoId, using client: $clientTypeName" } try { val connection = PlayerRoutes.getPlayerResponseConnectionFromRoute( @@ -197,20 +197,38 @@ class MusicRequest private constructor( private fun parseApplicationResponse(playlistJson: JSONObject): Boolean { try { - val playerParams: String? = (playlistJson - .getJSONObject("contents") - .getJSONObject("singleColumnWatchNextResults") - .getJSONObject("playlist") - .getJSONObject("playlist") - .getJSONArray("contents")[0] as JSONObject) - .getJSONObject("playlistPanelVideoRenderer") - .getJSONObject("navigationEndpoint") - .getJSONObject("watchEndpoint") - .getString("playerParams") + val singleColumnWatchNextResultsJsonObject: JSONObject = + playlistJson + .getJSONObject("contents") + .getJSONObject("singleColumnWatchNextResults") - return VideoInformation.isMixPlaylistsOpenedByUser(playerParams!!) + if (!singleColumnWatchNextResultsJsonObject.has("playlist")) { + return false + } + + val playlistJsonObject: JSONObject? = + singleColumnWatchNextResultsJsonObject + .getJSONObject("playlist") + .getJSONObject("playlist") + + val currentStreamJsonObject = playlistJsonObject + ?.getJSONArray("contents") + ?.get(0) + + if (currentStreamJsonObject !is JSONObject) { + return false + } + + val watchEndpointJsonObject: JSONObject? = + currentStreamJsonObject + .getJSONObject("playlistPanelVideoRenderer") + .getJSONObject("navigationEndpoint") + .getJSONObject("watchEndpoint") + + val playerParams: String? = watchEndpointJsonObject?.getString("playerParams") + return playerParams != null && VideoInformation.isMixPlaylistsOpenedByUser(playerParams) } catch (e: JSONException) { - Logger.printDebug { "Fetch failed while processing Application response data for response: $playlistJson" } + Logger.printException ({ "Fetch failed while processing Application response data for response: $playlistJson" }, e) } return false @@ -219,12 +237,12 @@ class MusicRequest private constructor( private fun parseWebResponse(microFormatJson: JSONObject): Boolean { try { return microFormatJson + .getJSONObject("microformat") .getJSONObject("playerMicroformatRenderer") - .getJSONObject("category") - .getString("status") + .getString("category") .equals("Music") } catch (e: JSONException) { - Logger.printDebug { "Fetch failed while processing Web response data for response: $microFormatJson" } + Logger.printException ({ "Fetch failed while processing Web response data for response: $microFormatJson" }, e) } return false diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 043af0fee..d1762467b 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -51,8 +51,8 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_GENERAL_ADS = new BooleanSetting("revanced_hide_general_ads", TRUE); public static final BooleanSetting HIDE_GET_PREMIUM = new BooleanSetting("revanced_hide_get_premium", TRUE, true); public static final BooleanSetting HIDE_MERCHANDISE_SHELF = new BooleanSetting("revanced_hide_merchandise_shelf", TRUE); - public static final BooleanSetting HIDE_PLAYER_STORE_SHELF = new BooleanSetting("revanced_hide_player_store_shelf", TRUE); public static final BooleanSetting HIDE_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_paid_promotion_label", TRUE); + public static final BooleanSetting HIDE_PLAYER_STORE_SHELF = new BooleanSetting("revanced_hide_player_store_shelf", TRUE); public static final BooleanSetting HIDE_SELF_SPONSOR_CARDS = new BooleanSetting("revanced_hide_self_sponsor_cards", TRUE); public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_hide_video_ads", TRUE, true); public static final BooleanSetting HIDE_VIEW_PRODUCTS = new BooleanSetting("revanced_hide_view_products", TRUE); @@ -61,10 +61,10 @@ public class Settings extends BaseSettings { // PreferenceScreen: Alternative Thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); - public static final EnumSetting ALT_THUMBNAIL_SUBSCRIPTIONS = new EnumSetting<>("revanced_alt_thumbnail_subscriptions", ThumbnailOption.ORIGINAL); - public static final EnumSetting ALT_THUMBNAIL_LIBRARY = new EnumSetting<>("revanced_alt_thumbnail_library", ThumbnailOption.ORIGINAL); public static final EnumSetting ALT_THUMBNAIL_PLAYER = new EnumSetting<>("revanced_alt_thumbnail_player", ThumbnailOption.ORIGINAL); public static final EnumSetting ALT_THUMBNAIL_SEARCH = new EnumSetting<>("revanced_alt_thumbnail_search", ThumbnailOption.ORIGINAL); + public static final EnumSetting ALT_THUMBNAIL_SUBSCRIPTIONS = new EnumSetting<>("revanced_alt_thumbnail_subscriptions", ThumbnailOption.ORIGINAL); + public static final EnumSetting ALT_THUMBNAIL_LIBRARY = new EnumSetting<>("revanced_alt_thumbnail_library", ThumbnailOption.ORIGINAL); public static final StringSetting ALT_THUMBNAIL_DEARROW_API_URL = new StringSetting("revanced_alt_thumbnail_dearrow_api_url", "https://dearrow-thumb.ajay.app/api/v1/getThumbnail", true, new DeArrowAvailability()); public static final BooleanSetting ALT_THUMBNAIL_DEARROW_CONNECTION_TOAST = new BooleanSetting("revanced_alt_thumbnail_dearrow_connection_toast", FALSE, new DeArrowAvailability()); @@ -74,13 +74,11 @@ public class Settings extends BaseSettings { // PreferenceScreen: Feed public static final BooleanSetting HIDE_ALBUM_CARDS = new BooleanSetting("revanced_hide_album_card", TRUE); + public static final BooleanSetting HIDE_FEED_CAPTIONS_BUTTON = new BooleanSetting("revanced_hide_feed_captions_button", FALSE, true); public static final BooleanSetting HIDE_CAROUSEL_SHELF = new BooleanSetting("revanced_hide_carousel_shelf", FALSE, true); public static final BooleanSetting HIDE_CHIPS_SHELF = new BooleanSetting("revanced_hide_chips_shelf", TRUE); public static final BooleanSetting HIDE_EXPANDABLE_CHIP = new BooleanSetting("revanced_hide_expandable_chip", TRUE); public static final BooleanSetting HIDE_EXPANDABLE_SHELF = new BooleanSetting("revanced_hide_expandable_shelf", TRUE); - public static final BooleanSetting HIDE_FEED_CAPTIONS_BUTTON = new BooleanSetting("revanced_hide_feed_captions_button", FALSE, true); - public static final BooleanSetting HIDE_FEED_SEARCH_BAR = new BooleanSetting("revanced_hide_feed_search_bar", FALSE); - public static final BooleanSetting HIDE_FEED_SURVEY = new BooleanSetting("revanced_hide_feed_survey", TRUE); public static final BooleanSetting HIDE_FLOATING_BUTTON = new BooleanSetting("revanced_hide_floating_button", FALSE, true); public static final BooleanSetting HIDE_IMAGE_SHELF = new BooleanSetting("revanced_hide_image_shelf", TRUE); public static final BooleanSetting HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts", TRUE); @@ -90,6 +88,8 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_NOTIFY_ME_BUTTON = new BooleanSetting("revanced_hide_notify_me_button", FALSE); public static final BooleanSetting HIDE_PLAYABLES = new BooleanSetting("revanced_hide_playables", TRUE); public static final BooleanSetting HIDE_SHOW_MORE_BUTTON = new BooleanSetting("revanced_hide_show_more_button", TRUE, true); + public static final BooleanSetting HIDE_FEED_SEARCH_BAR = new BooleanSetting("revanced_hide_feed_search_bar", FALSE); + public static final BooleanSetting HIDE_FEED_SURVEY = new BooleanSetting("revanced_hide_feed_survey", TRUE); public static final BooleanSetting HIDE_SUBSCRIPTIONS_CAROUSEL = new BooleanSetting("revanced_hide_subscriptions_carousel", FALSE, true); public static final BooleanSetting HIDE_TICKET_SHELF = new BooleanSetting("revanced_hide_ticket_shelf", TRUE); @@ -102,10 +102,10 @@ public class Settings extends BaseSettings { // PreferenceScreen: Feed - Channel profile public static final BooleanSetting HIDE_CHANNEL_TAB = new BooleanSetting("revanced_hide_channel_tab", FALSE); public static final StringSetting HIDE_CHANNEL_TAB_FILTER_STRINGS = new StringSetting("revanced_hide_channel_tab_filter_strings", "", true, parent(HIDE_CHANNEL_TAB)); - public static final BooleanSetting HIDE_BROWSE_STORE_BUTTON = new BooleanSetting("revanced_hide_browse_store_button", TRUE); public static final BooleanSetting HIDE_CHANNEL_MEMBER_SHELF = new BooleanSetting("revanced_hide_channel_member_shelf", TRUE); public static final BooleanSetting HIDE_CHANNEL_PROFILE_LINKS = new BooleanSetting("revanced_hide_channel_profile_links", TRUE); public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", TRUE); + public static final BooleanSetting HIDE_BROWSE_STORE_BUTTON = new BooleanSetting("revanced_hide_browse_store_button", TRUE); // PreferenceScreen: Feed - Community posts public static final BooleanSetting HIDE_COMMUNITY_POSTS_CHANNEL = new BooleanSetting("revanced_hide_community_posts_channel", FALSE); @@ -117,15 +117,15 @@ public class Settings extends BaseSettings { public static final StringSetting HIDE_FEED_FLYOUT_MENU_FILTER_STRINGS = new StringSetting("revanced_hide_feed_flyout_menu_filter_strings", "", true, parent(HIDE_FEED_FLYOUT_MENU)); // PreferenceScreen: Feed - Video filter + public static final BooleanSetting HIDE_KEYWORD_CONTENT_COMMENTS = new BooleanSetting("revanced_hide_keyword_content_comments", FALSE); public static final BooleanSetting HIDE_KEYWORD_CONTENT_HOME = new BooleanSetting("revanced_hide_keyword_content_home", FALSE); public static final BooleanSetting HIDE_KEYWORD_CONTENT_SEARCH = new BooleanSetting("revanced_hide_keyword_content_search", FALSE); public static final BooleanSetting HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS = new BooleanSetting("revanced_hide_keyword_content_subscriptions", FALSE); - public static final BooleanSetting HIDE_KEYWORD_CONTENT_COMMENTS = new BooleanSetting("revanced_hide_keyword_content_comments", FALSE); public static final StringSetting HIDE_KEYWORD_CONTENT_PHRASES = new StringSetting("revanced_hide_keyword_content_phrases", "", parentsAny(HIDE_KEYWORD_CONTENT_HOME, HIDE_KEYWORD_CONTENT_SEARCH, HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS, HIDE_KEYWORD_CONTENT_COMMENTS)); - public static final BooleanSetting HIDE_RECOMMENDED_VIDEO = new BooleanSetting("revanced_hide_recommended_video", FALSE); public static final BooleanSetting HIDE_LOW_VIEWS_VIDEO = new BooleanSetting("revanced_hide_low_views_video", TRUE); + public static final BooleanSetting HIDE_RECOMMENDED_VIDEO = new BooleanSetting("revanced_hide_recommended_video", FALSE); public static final BooleanSetting HIDE_VIDEO_BY_VIEW_COUNTS_HOME = new BooleanSetting("revanced_hide_video_by_view_counts_home", FALSE); public static final BooleanSetting HIDE_VIDEO_BY_VIEW_COUNTS_SEARCH = new BooleanSetting("revanced_hide_video_by_view_counts_search", FALSE); @@ -195,10 +195,10 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_NAVIGATION_BAR = new BooleanSetting("revanced_hide_navigation_bar", FALSE, true); // PreferenceScreen: General - Override buttons - public static final BooleanSetting OVERRIDE_VIDEO_DOWNLOAD_BUTTON = new BooleanSetting("revanced_override_video_download_button", FALSE); public static final BooleanSetting OVERRIDE_PLAYLIST_DOWNLOAD_BUTTON = new BooleanSetting("revanced_override_playlist_download_button", FALSE); - public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME_VIDEO = new StringSetting("revanced_external_downloader_package_name_video", "com.deniscerri.ytdl"); + public static final BooleanSetting OVERRIDE_VIDEO_DOWNLOAD_BUTTON = new BooleanSetting("revanced_override_video_download_button", FALSE); public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME_PLAYLIST = new StringSetting("revanced_external_downloader_package_name_playlist", "com.deniscerri.ytdl"); + public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME_VIDEO = new StringSetting("revanced_external_downloader_package_name_video", "com.deniscerri.ytdl"); public static final BooleanSetting OVERRIDE_YOUTUBE_MUSIC_BUTTON = new BooleanSetting("revanced_override_youtube_music_button", FALSE, true , new YouTubeMusicActionsPatch.HookYouTubeMusicAvailability()); public static final StringSetting THIRD_PARTY_YOUTUBE_MUSIC_PACKAGE_NAME = new StringSetting("revanced_third_party_youtube_music_package_name", PatchStatus.RVXMusicPackageName(), true @@ -249,8 +249,8 @@ public class Settings extends BaseSettings { // PreferenceScreen: Player public static final IntegerSetting CUSTOM_PLAYER_OVERLAY_OPACITY = new IntegerSetting("revanced_custom_player_overlay_opacity", 100, true); - public static final BooleanSetting DISABLE_AUTO_PLAYER_POPUP_PANELS = new BooleanSetting("revanced_disable_auto_player_popup_panels", TRUE, true); public static final BooleanSetting DISABLE_AUTO_SWITCH_MIX_PLAYLISTS = new BooleanSetting("revanced_disable_auto_switch_mix_playlists", FALSE, true, "revanced_disable_auto_switch_mix_playlists_user_dialog_message"); + public static final BooleanSetting DISABLE_AUTO_PLAYER_POPUP_PANELS = new BooleanSetting("revanced_disable_auto_player_popup_panels", TRUE, true); public static final BooleanSetting DISABLE_SPEED_OVERLAY = new BooleanSetting("revanced_disable_speed_overlay", FALSE, true); public static final FloatSetting SPEED_OVERLAY_VALUE = new FloatSetting("revanced_speed_overlay_value", 2.0f, true); public static final BooleanSetting HIDE_CHANNEL_WATERMARK = new BooleanSetting("revanced_hide_channel_watermark", TRUE); @@ -260,15 +260,13 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_FILMSTRIP_OVERLAY = new BooleanSetting("revanced_hide_filmstrip_overlay", FALSE, true); public static final BooleanSetting HIDE_INFO_CARDS = new BooleanSetting("revanced_hide_info_cards", FALSE, true); public static final BooleanSetting HIDE_INFO_PANEL = new BooleanSetting("revanced_hide_info_panel", TRUE); - public static final BooleanSetting HIDE_LIVE_CHAT_SUMMARY = new BooleanSetting("revanced_hide_live_chat_summary", FALSE); - public static final BooleanSetting HIDE_LIVE_CHAT_MESSAGES = new BooleanSetting("revanced_hide_live_chat_messages", FALSE); public static final BooleanSetting HIDE_MEDICAL_PANEL = new BooleanSetting("revanced_hide_medical_panel", TRUE); public static final BooleanSetting HIDE_SEEK_MESSAGE = new BooleanSetting("revanced_hide_seek_message", FALSE, true); public static final BooleanSetting HIDE_SEEK_UNDO_MESSAGE = new BooleanSetting("revanced_hide_seek_undo_message", FALSE, true); public static final BooleanSetting HIDE_SUGGESTED_ACTION = new BooleanSetting("revanced_hide_suggested_actions", TRUE, true); - public static final BooleanSetting HIDE_TIMED_REACTIONS = new BooleanSetting("revanced_hide_timed_reactions", TRUE); public static final BooleanSetting HIDE_SUGGESTED_VIDEO_END_SCREEN = new BooleanSetting("revanced_hide_suggested_video_end_screen", TRUE, true); public static final BooleanSetting SKIP_AUTOPLAY_COUNTDOWN = new BooleanSetting("revanced_skip_autoplay_countdown", FALSE, true, parent(HIDE_SUGGESTED_VIDEO_END_SCREEN)); + public static final BooleanSetting HIDE_TIMED_REACTIONS = new BooleanSetting("revanced_hide_timed_reactions", TRUE); public static final BooleanSetting HIDE_ZOOM_OVERLAY = new BooleanSetting("revanced_hide_zoom_overlay", FALSE, true); public static final BooleanSetting SANITIZE_VIDEO_SUBTITLE = new BooleanSetting("revanced_sanitize_video_subtitle", FALSE); @@ -298,16 +296,18 @@ public class Settings extends BaseSettings { // PreferenceScreen: Player - Comments public static final BooleanSetting HIDE_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_channel_guidelines", TRUE); public static final BooleanSetting HIDE_COMMENTS_BY_MEMBERS = new BooleanSetting("revanced_hide_comments_by_members", FALSE); - public static final BooleanSetting HIDE_COMMENT_HIGHLIGHTED_SEARCH_LINKS = new BooleanSetting("revanced_hide_comment_highlighted_search_links", FALSE, true); public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE); public static final BooleanSetting HIDE_COMMENTS_SECTION_IN_HOME_FEED = new BooleanSetting("revanced_hide_comments_section_in_home_feed", FALSE); + public static final BooleanSetting HIDE_COMMENT_CREATE_SHORTS_BUTTON = new BooleanSetting("revanced_hide_comment_create_shorts_button", FALSE); + public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); + public static final BooleanSetting HIDE_COMMENT_HIGHLIGHTED_SEARCH_LINKS = new BooleanSetting("revanced_hide_comment_highlighted_search_links", FALSE, true); + public static final BooleanSetting HIDE_LIVE_CHAT_SUMMARY = new BooleanSetting("revanced_hide_live_chat_summary", FALSE); + public static final BooleanSetting HIDE_LIVE_CHAT_MESSAGES = new BooleanSetting("revanced_hide_live_chat_messages", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_preview_comment", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT_TYPE = new BooleanSetting("revanced_hide_preview_comment_type", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT_OLD_METHOD = new BooleanSetting("revanced_hide_preview_comment_old_method", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT_NEW_METHOD = new BooleanSetting("revanced_hide_preview_comment_new_method", FALSE); - public static final BooleanSetting HIDE_COMMENT_CREATE_SHORTS_BUTTON = new BooleanSetting("revanced_hide_comment_create_shorts_button", FALSE); public static final BooleanSetting HIDE_COMMENT_THANKS_BUTTON = new BooleanSetting("revanced_hide_comment_thanks_button", FALSE, true); - public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); // PreferenceScreen: Player - Flyout menu public static final BooleanSetting CHANGE_PLAYER_FLYOUT_MENU_TOGGLE = new BooleanSetting("revanced_change_player_flyout_menu_toggle", FALSE, true); @@ -392,13 +392,13 @@ public class Settings extends BaseSettings { public static final BooleanSetting APPEND_TIME_STAMP_INFORMATION = new BooleanSetting("revanced_append_time_stamp_information", TRUE, true); public static final BooleanSetting APPEND_TIME_STAMP_INFORMATION_TYPE = new BooleanSetting("revanced_append_time_stamp_information_type", TRUE, parent(APPEND_TIME_STAMP_INFORMATION)); public static final BooleanSetting REPLACE_TIME_STAMP_ACTION = new BooleanSetting("revanced_replace_time_stamp_action", TRUE, true, parent(APPEND_TIME_STAMP_INFORMATION)); + public static final BooleanSetting DISABLE_SEEKBAR_CHAPTERS = new BooleanSetting("revanced_disable_seekbar_chapters", FALSE, true); public static final BooleanSetting ENABLE_CUSTOM_SEEKBAR_COLOR = new BooleanSetting("revanced_enable_custom_seekbar_color", FALSE, true); public static final StringSetting ENABLE_CUSTOM_SEEKBAR_COLOR_VALUE = new StringSetting("revanced_custom_seekbar_color_value", "#FF0033", true, parent(ENABLE_CUSTOM_SEEKBAR_COLOR)); public static final BooleanSetting ENABLE_SEEKBAR_TAPPING = new BooleanSetting("revanced_enable_seekbar_tapping", TRUE); + public static final BooleanSetting HIDE_SEEKBAR_CHAPTER_LABEL = new BooleanSetting("revanced_hide_seekbar_chapter_label", FALSE, true); public static final BooleanSetting HIDE_SEEKBAR = new BooleanSetting("revanced_hide_seekbar", FALSE, true); public static final BooleanSetting HIDE_SEEKBAR_THUMBNAIL = new BooleanSetting("revanced_hide_seekbar_thumbnail", FALSE); - public static final BooleanSetting DISABLE_SEEKBAR_CHAPTERS = new BooleanSetting("revanced_disable_seekbar_chapters", FALSE, true); - public static final BooleanSetting HIDE_SEEKBAR_CHAPTER_LABEL = new BooleanSetting("revanced_hide_seekbar_chapter_label", FALSE, true); public static final BooleanSetting HIDE_TIME_STAMP = new BooleanSetting("revanced_hide_time_stamp", FALSE, true); public static final BooleanSetting RESTORE_OLD_SEEKBAR_THUMBNAILS = new BooleanSetting("revanced_restore_old_seekbar_thumbnails", PatchStatus.OldSeekbarThumbnailsDefaultBoolean(), true); @@ -410,9 +410,9 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", FALSE); public static final BooleanSetting HIDE_CONTENTS_SECTION = new BooleanSetting("revanced_hide_contents_section", FALSE); + public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", FALSE); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); - public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", FALSE); public static final BooleanSetting HIDE_SHOPPING_LINKS = new BooleanSetting("revanced_hide_shopping_links", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", FALSE); public static final BooleanSetting DISABLE_VIDEO_DESCRIPTION_INTERACTION = new BooleanSetting("revanced_disable_video_description_interaction", FALSE, true); @@ -427,38 +427,38 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_SHORTS_SHELF = new BooleanSetting("revanced_hide_shorts_shelf", TRUE, true); public static final BooleanSetting HIDE_SHORTS_SHELF_CHANNEL = new BooleanSetting("revanced_hide_shorts_shelf_channel", FALSE); public static final BooleanSetting HIDE_SHORTS_SHELF_HOME_RELATED_VIDEOS = new BooleanSetting("revanced_hide_shorts_shelf_home_related_videos", TRUE); - public static final BooleanSetting HIDE_SHORTS_SHELF_SUBSCRIPTIONS = new BooleanSetting("revanced_hide_shorts_shelf_subscriptions", TRUE); public static final BooleanSetting HIDE_SHORTS_SHELF_SEARCH = new BooleanSetting("revanced_hide_shorts_shelf_search", TRUE); + public static final BooleanSetting HIDE_SHORTS_SHELF_SUBSCRIPTIONS = new BooleanSetting("revanced_hide_shorts_shelf_subscriptions", TRUE); public static final BooleanSetting HIDE_SHORTS_SHELF_HISTORY = new BooleanSetting("revanced_hide_shorts_shelf_history", TRUE); - public static final EnumSetting CHANGE_SHORTS_REPEAT_STATE = new EnumSetting<>("revanced_change_shorts_repeat_state", ShortsLoopBehavior.UNKNOWN); public static final EnumSetting CHANGE_SHORTS_BACKGROUND_REPEAT_STATE = new EnumSetting<>("revanced_change_shorts_background_repeat_state", ShortsLoopBehavior.UNKNOWN); + public static final EnumSetting CHANGE_SHORTS_REPEAT_STATE = new EnumSetting<>("revanced_change_shorts_repeat_state", ShortsLoopBehavior.UNKNOWN); // PreferenceScreen: Shorts - Shorts player components + public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); + public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", TRUE); + public static final BooleanSetting HIDE_SHORTS_INFO_PANEL = new BooleanSetting("revanced_hide_shorts_info_panel", TRUE); public static final BooleanSetting HIDE_SHORTS_JOIN_BUTTON = new BooleanSetting("revanced_hide_shorts_join_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_shorts_subscribe_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_LIVE_HEADER = new BooleanSetting("revanced_hide_shorts_live_header", FALSE); + public static final BooleanSetting HIDE_SHORTS_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_shorts_paid_promotion_label", TRUE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_HEADER = new BooleanSetting("revanced_hide_shorts_paused_header", FALSE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_OVERLAY_BUTTONS = new BooleanSetting("revanced_hide_shorts_paused_overlay_buttons", FALSE); - public static final BooleanSetting HIDE_SHORTS_TRENDS_BUTTON = new BooleanSetting("revanced_hide_shorts_trends_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SHOPPING_BUTTON = new BooleanSetting("revanced_hide_shorts_shopping_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_STICKERS = new BooleanSetting("revanced_hide_shorts_stickers", TRUE); - public static final BooleanSetting HIDE_SHORTS_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_shorts_paid_promotion_label", TRUE, true); - public static final BooleanSetting HIDE_SHORTS_INFO_PANEL = new BooleanSetting("revanced_hide_shorts_info_panel", TRUE); - public static final BooleanSetting HIDE_SHORTS_LIVE_HEADER = new BooleanSetting("revanced_hide_shorts_live_header", FALSE); - public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); - public static final BooleanSetting HIDE_SHORTS_VIDEO_TITLE = new BooleanSetting("revanced_hide_shorts_video_title", FALSE); public static final BooleanSetting HIDE_SHORTS_SOUND_METADATA_LABEL = new BooleanSetting("revanced_hide_shorts_sound_metadata_label", TRUE); - public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", TRUE); + public static final BooleanSetting HIDE_SHORTS_STICKERS = new BooleanSetting("revanced_hide_shorts_stickers", TRUE); + public static final BooleanSetting HIDE_SHORTS_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_shorts_subscribe_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_TRENDS_BUTTON = new BooleanSetting("revanced_hide_shorts_trends_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_VIDEO_TITLE = new BooleanSetting("revanced_hide_shorts_video_title", FALSE); // PreferenceScreen: Shorts - Shorts player components - Suggested actions public static final BooleanSetting HIDE_SHORTS_GREEN_SCREEN_BUTTON = new BooleanSetting("revanced_hide_shorts_green_screen_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_LOCATION_BUTTON = new BooleanSetting("revanced_hide_shorts_location_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SAVE_MUSIC_BUTTON = new BooleanSetting("revanced_hide_shorts_save_music_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_SEARCH_SUGGESTIONS_BUTTON = new BooleanSetting("revanced_hide_shorts_search_suggestions_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SHOP_BUTTON = new BooleanSetting("revanced_hide_shorts_shop_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SUPER_THANKS_BUTTON = new BooleanSetting("revanced_hide_shorts_super_thanks_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_USE_THIS_SOUND_BUTTON = new BooleanSetting("revanced_hide_shorts_use_this_sound_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_USE_TEMPLATE_BUTTON = new BooleanSetting("revanced_hide_shorts_use_template_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_LOCATION_BUTTON = new BooleanSetting("revanced_hide_shorts_location_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_SEARCH_SUGGESTIONS_BUTTON = new BooleanSetting("revanced_hide_shorts_search_suggestions_button", TRUE); public static final BooleanSetting HIDE_SHORTS_TAGGED_PRODUCTS = new BooleanSetting("revanced_hide_shorts_tagged_products", TRUE); + public static final BooleanSetting HIDE_SHORTS_USE_TEMPLATE_BUTTON = new BooleanSetting("revanced_hide_shorts_use_template_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_USE_THIS_SOUND_BUTTON = new BooleanSetting("revanced_hide_shorts_use_this_sound_button", TRUE); // PreferenceScreen: Shorts - Shorts player components - Action buttons public static final BooleanSetting HIDE_SHORTS_LIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_like_button", FALSE); @@ -470,12 +470,12 @@ public class Settings extends BaseSettings { // PreferenceScreen: Shorts - Shorts player components - Animation / Feedback public static final BooleanSetting DISABLE_SHORTS_LIKE_BUTTON_FOUNTAIN_ANIMATION = new BooleanSetting("revanced_disable_shorts_like_button_fountain_animation", FALSE); - public static final BooleanSetting HIDE_SHORTS_PLAY_PAUSE_BUTTON_BACKGROUND = new BooleanSetting("revanced_hide_shorts_play_pause_button_background", FALSE, true); public static final EnumSetting ANIMATION_TYPE = new EnumSetting<>("revanced_shorts_double_tap_to_like_animation", AnimationType.ORIGINAL, true); + public static final BooleanSetting HIDE_SHORTS_PLAY_PAUSE_BUTTON_BACKGROUND = new BooleanSetting("revanced_hide_shorts_play_pause_button_background", FALSE, true); // PreferenceScreen: Shorts - Shorts player components - Custom actions - public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_COPY_VIDEO_URL = new BooleanSetting("revanced_shorts_custom_actions_copy_video_url", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_COPY_VIDEO_URL_TIMESTAMP = new BooleanSetting("revanced_shorts_custom_actions_copy_video_url_timestamp", FALSE, true); + public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_COPY_VIDEO_URL = new BooleanSetting("revanced_shorts_custom_actions_copy_video_url", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_EXTERNAL_DOWNLOADER = new BooleanSetting("revanced_shorts_custom_actions_external_downloader", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_OPEN_VIDEO = new BooleanSetting("revanced_shorts_custom_actions_open_video", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_REPEAT_STATE = new BooleanSetting("revanced_shorts_custom_actions_repeat_state", FALSE, true); @@ -489,9 +489,9 @@ public class Settings extends BaseSettings { public static final BooleanSetting ENABLE_TIME_STAMP = new BooleanSetting("revanced_enable_shorts_time_stamp", FALSE, true); public static final BooleanSetting TIME_STAMP_CHANGE_REPEAT_STATE = new BooleanSetting("revanced_shorts_time_stamp_change_repeat_state", TRUE, true, parent(ENABLE_TIME_STAMP)); public static final IntegerSetting META_PANEL_BOTTOM_MARGIN = new IntegerSetting("revanced_shorts_meta_panel_bottom_margin", 32, true, parent(ENABLE_TIME_STAMP)); - public static final BooleanSetting HIDE_SHORTS_TOOLBAR = new BooleanSetting("revanced_hide_shorts_toolbar", FALSE, true); public static final BooleanSetting HIDE_SHORTS_NAVIGATION_BAR = new BooleanSetting("revanced_hide_shorts_navigation_bar", FALSE, true); public static final IntegerSetting SHORTS_NAVIGATION_BAR_HEIGHT_PERCENTAGE = new IntegerSetting("revanced_shorts_navigation_bar_height_percentage", 45, true, parent(HIDE_SHORTS_NAVIGATION_BAR)); + public static final BooleanSetting HIDE_SHORTS_TOOLBAR = new BooleanSetting("revanced_hide_shorts_toolbar", FALSE, true); public static final BooleanSetting REPLACE_CHANNEL_HANDLE = new BooleanSetting("revanced_replace_channel_handle", FALSE, true); public static final BooleanSetting RESTORE_SHORTS_OLD_PLAYER_LAYOUT = new BooleanSetting("revanced_restore_shorts_old_player_layout", FALSE, true); @@ -552,7 +552,6 @@ public class Settings extends BaseSettings { // PreferenceScreen: Miscellaneous public static final BooleanSetting ENABLE_EXTERNAL_BROWSER = new BooleanSetting("revanced_enable_external_browser", TRUE, true); public static final BooleanSetting ENABLE_OPEN_LINKS_DIRECTLY = new BooleanSetting("revanced_enable_open_links_directly", TRUE); - public static final BooleanSetting DISABLE_QUIC_PROTOCOL = new BooleanSetting("revanced_disable_quic_protocol", FALSE, true); // Experimental Flags public static final BooleanSetting CHANGE_SHARE_SHEET = new BooleanSetting("revanced_change_share_sheet", FALSE, true); diff --git a/gradle.properties b/gradle.properties index 5de17c401..70d42e4e1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,5 +4,5 @@ org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official kotlin.jvm.target.validation.mode = IGNORE -version = 5.2.1 +version = 5.2.2 diff --git a/patches.json b/patches.json index dccb9d4e1..611167a51 100644 --- a/patches.json +++ b/patches.json @@ -747,7 +747,26 @@ "options": [] }, { - "name": "Disable auto audio tracks", + "name": "Disable dislike redirection", + "description": "Adds an option to disable redirection to the next track when clicking the Dislike button.", + "use": true, + "dependencies": [ + "Settings for YouTube Music" + ], + "compatiblePackages": { + "com.google.android.apps.youtube.music": [ + "6.20.51", + "6.29.59", + "6.42.55", + "6.51.53", + "7.16.53", + "7.25.53" + ] + }, + "options": [] + }, + { + "name": "Disable forced auto audio tracks", "description": "Adds an option to disable audio tracks from being automatically enabled.", "use": true, "dependencies": [ @@ -767,7 +786,7 @@ "options": [] }, { - "name": "Disable auto captions", + "name": "Disable forced auto captions", "description": "Adds an option to disable captions from being automatically enabled.", "use": true, "dependencies": [ @@ -787,7 +806,7 @@ "options": [] }, { - "name": "Disable auto captions", + "name": "Disable forced auto captions", "description": "Adds an option to disable captions from being automatically enabled.", "use": true, "dependencies": [ @@ -807,25 +826,6 @@ }, "options": [] }, - { - "name": "Disable dislike redirection", - "description": "Adds an option to disable redirection to the next track when clicking the Dislike button.", - "use": true, - "dependencies": [ - "Settings for YouTube Music" - ], - "compatiblePackages": { - "com.google.android.apps.youtube.music": [ - "6.20.51", - "6.29.59", - "6.42.55", - "6.51.53", - "7.16.53", - "7.25.53" - ] - }, - "options": [] - }, { "name": "Disable haptic feedback", "description": "Adds options to disable haptic feedback when swiping in the video player.", @@ -922,7 +922,7 @@ }, { "name": "Enable OPUS codec", - "description": "Adds an options to enable the OPUS audio codec if the player response includes.", + "description": "Adds an options to enable the OPUS audio codec if the player response includes it.", "use": true, "dependencies": [ "BytecodePatch", @@ -942,7 +942,7 @@ }, { "name": "Enable OPUS codec", - "description": "Adds an options to enable the OPUS audio codec if the player response includes.", + "description": "Adds an options to enable the OPUS audio codec if the player response includes it.", "use": true, "dependencies": [ "BytecodePatch", @@ -1563,7 +1563,7 @@ { "name": "Hide navigation buttons", "description": "Adds options to hide buttons in the navigation bar.", - "use": false, + "use": true, "dependencies": [ "Settings for Reddit" ], @@ -1812,7 +1812,7 @@ }, { "name": "Miniplayer", - "description": "Adds options to change the in app minimized player, and if patching target 19.16+ adds options to use modern miniplayers.", + "description": "Adds options to change the in-app minimized player, and if patching target 19.16+ adds options to use modern miniplayers.", "use": true, "dependencies": [ "ResourcePatch", @@ -1905,7 +1905,7 @@ }, { "name": "Overlay buttons", - "description": "Adds options to display overlay buttons in the video player.", + "description": "Adds options to display useful overlay buttons in the video player.", "use": true, "dependencies": [ "BytecodePatch", @@ -2344,6 +2344,7 @@ "BytecodePatch", "BytecodePatch", "ResourcePatch", + "BytecodePatch", "BytecodePatch" ], "compatiblePackages": { @@ -2646,7 +2647,7 @@ }, { "name": "Theme", - "description": "Changes the app\u0027s theme to the values specified in patch options.", + "description": "Changes the app\u0027s themes to the values specified in patch options.", "use": true, "dependencies": [ "ResourcePatch", diff --git a/patches/api/patches.api b/patches/api/patches.api index 440ced4f9..1e7634a06 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -339,6 +339,7 @@ public final class app/revanced/patches/reddit/layout/screenshotpopup/Screenshot } public final class app/revanced/patches/reddit/layout/subredditdialog/FingerprintsKt { + public static final fun indexOfDismissScreenInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;)I public static final fun indexOfSetBackgroundTintListInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;)I } @@ -383,7 +384,8 @@ public final class app/revanced/patches/reddit/utils/extension/SharedExtensionPa public final class app/revanced/patches/reddit/utils/settings/SettingsPatchKt { public static final fun getSettingsPatch ()Lapp/revanced/patcher/patch/ResourcePatch; - public static final fun is_2024_18_or_greater ()Z + public static final fun is_2024_26_or_greater ()Z + public static final fun is_2024_41_or_greater ()Z } public final class app/revanced/patches/shared/FingerprintsKt { @@ -427,7 +429,6 @@ public final class app/revanced/patches/shared/extension/SharedExtensionPatchKt public final class app/revanced/patches/shared/gms/FingerprintsKt { public static final field GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME Ljava/lang/String; - public static final fun indexOfGetPackageNameInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;)I } public final class app/revanced/patches/shared/gms/GmsCoreSupportPatchKt { @@ -487,6 +488,7 @@ public final class app/revanced/patches/shared/mapping/ResourceType : java/lang/ public static final field LAYOUT Lapp/revanced/patches/shared/mapping/ResourceType; public static final field STRING Lapp/revanced/patches/shared/mapping/ResourceType; public static final field STYLE Lapp/revanced/patches/shared/mapping/ResourceType; + public static final field XML Lapp/revanced/patches/shared/mapping/ResourceType; public static fun getEntries ()Lkotlin/enums/EnumEntries; public final fun getValue ()Ljava/lang/String; public static fun valueOf (Ljava/lang/String;)Lapp/revanced/patches/shared/mapping/ResourceType; @@ -531,6 +533,10 @@ public final class app/revanced/patches/shared/spoof/useragent/BaseSpoofUserAgen public static final fun baseSpoofUserAgentPatch (Ljava/lang/String;)Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/shared/spoof/useragent/FingerprintsKt { + public static final field CLIENT_PACKAGE_NAME Ljava/lang/String; +} + public final class app/revanced/patches/shared/textcomponent/TextComponentPatchKt { public static final fun getTextComponentPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -552,7 +558,8 @@ public final class app/revanced/patches/shared/transformation/IMethodCall$Defaul } public final class app/revanced/patches/shared/transformation/TransformInstructionsPatchKt { - public static final fun transformInstructionsPatch (Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function2;)Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun transformInstructionsPatch (Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/BytecodePatch; + public static synthetic fun transformInstructionsPatch$default (Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/BytecodePatch; } public final class app/revanced/patches/shared/translations/BaseTranslationsPatchKt { @@ -814,10 +821,18 @@ public final class app/revanced/patches/youtube/utils/extension/SharedExtensionP public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/utils/fix/attributes/ThemeAttributesPatchKt { + public static final fun getThemeAttributesPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/utils/fix/bottomui/CfBottomUIPatchKt { public static final fun getCfBottomUIPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/utils/fix/cairo/CairoFragmentPatchKt { + public static final fun getCairoFragmentPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/utils/fix/cairo/CairoSettingsPatchKt { public static final fun getCairoSettingsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1033,6 +1048,8 @@ public final class app/revanced/patches/youtube/utils/resourceid/SharedResourceI public static final fun getScrubbing ()J public static final fun getSeekEasyHorizontalTouchOffsetToStartScrubbing ()J public static final fun getSeekUndoEduOverlayStub ()J + public static final fun getSettingsFragment ()J + public static final fun getSettingsFragmentCairo ()J public static final fun getSlidingDialogAnimation ()J public static final fun getSubtitleMenuSettingsFooterInfo ()J public static final fun getSuggestedAction ()J @@ -1049,6 +1066,7 @@ public final class app/revanced/patches/youtube/utils/resourceid/SharedResourceI public static final fun getYouTubeControlsOverlaySubtitleButton ()J public static final fun getYouTubeLogo ()J public static final fun getYtFillBell ()J + public static final fun getYtOutlineMoonZ ()J public static final fun getYtOutlinePictureInPictureWhite ()J public static final fun getYtOutlineVideoCamera ()J public static final fun getYtOutlineXWhite ()J @@ -1182,6 +1200,7 @@ public final class app/revanced/util/BytecodeUtilsKt { public static final fun or (Lcom/android/tools/smali/dexlib2/AccessFlags;I)I public static final fun or (Lcom/android/tools/smali/dexlib2/AccessFlags;Lcom/android/tools/smali/dexlib2/AccessFlags;)I public static final fun parametersEqual (Ljava/lang/Iterable;Ljava/lang/Iterable;)Z + public static final fun referenceMatchesOrThrow (Lcom/android/tools/smali/dexlib2/iface/Method;ILjava/lang/String;)V public static final fun replaceLiteralInstructionCall (Lapp/revanced/patcher/patch/BytecodePatchContext;JJ)V public static final fun replaceLiteralInstructionCall (Lapp/revanced/patcher/patch/BytecodePatchContext;JLjava/lang/String;)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Z)V diff --git a/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt index 45353616e..17b3cae4c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt @@ -241,11 +241,6 @@ val flyoutMenuComponentsPatch = bytecodePatch( // endregion - addSwitchPreference( - CategoryType.FLYOUT, - "revanced_enable_compact_dialog", - "true" - ) if (trimSilenceIncluded) { addSwitchPreference( CategoryType.FLYOUT, @@ -253,6 +248,11 @@ val flyoutMenuComponentsPatch = bytecodePatch( "false" ) } + addSwitchPreference( + CategoryType.FLYOUT, + "revanced_enable_compact_dialog", + "true" + ) addSwitchPreference( CategoryType.FLYOUT, "revanced_hide_flyout_menu_like_dislike", diff --git a/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt index b79c38e23..b7f21bf84 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt @@ -2,7 +2,7 @@ package app.revanced.patches.music.general.autocaptions import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.music.utils.compatibility.Constants.COMPATIBLE_PACKAGE -import app.revanced.patches.music.utils.patch.PatchList.DISABLE_AUTO_CAPTIONS +import app.revanced.patches.music.utils.patch.PatchList.DISABLE_FORCED_AUTO_CAPTIONS import app.revanced.patches.music.utils.settings.CategoryType import app.revanced.patches.music.utils.settings.ResourceUtils.updatePatchStatus import app.revanced.patches.music.utils.settings.addSwitchPreference @@ -11,8 +11,8 @@ import app.revanced.patches.shared.captions.baseAutoCaptionsPatch @Suppress("unused") val autoCaptionsPatch = bytecodePatch( - DISABLE_AUTO_CAPTIONS.title, - DISABLE_AUTO_CAPTIONS.summary, + DISABLE_FORCED_AUTO_CAPTIONS.title, + DISABLE_FORCED_AUTO_CAPTIONS.summary, ) { compatibleWith(COMPATIBLE_PACKAGE) @@ -28,7 +28,7 @@ val autoCaptionsPatch = bytecodePatch( "false" ) - updatePatchStatus(DISABLE_AUTO_CAPTIONS) + updatePatchStatus(DISABLE_FORCED_AUTO_CAPTIONS) } } \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt index 842351672..6c234fa1b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt @@ -304,16 +304,6 @@ val layoutComponentsPatch = bytecodePatch( "revanced_hide_carousel_shelf", "false" ) - addSwitchPreference( - CategoryType.GENERAL, - "revanced_hide_playlist_card_shelf", - "false" - ) - addSwitchPreference( - CategoryType.GENERAL, - "revanced_hide_samples_shelf", - "false" - ) addSwitchPreference( CategoryType.GENERAL, "revanced_hide_cast_button", @@ -329,11 +319,6 @@ val layoutComponentsPatch = bytecodePatch( "revanced_hide_floating_button", "false" ) - addSwitchPreference( - CategoryType.GENERAL, - "revanced_hide_tap_to_update_button", - "false" - ) addSwitchPreference( CategoryType.GENERAL, "revanced_hide_history_button", @@ -346,6 +331,16 @@ val layoutComponentsPatch = bytecodePatch( "false" ) } + addSwitchPreference( + CategoryType.GENERAL, + "revanced_hide_playlist_card_shelf", + "false" + ) + addSwitchPreference( + CategoryType.GENERAL, + "revanced_hide_samples_shelf", + "false" + ) if (soundSearchButtonIncluded) { addSwitchPreference( CategoryType.GENERAL, @@ -353,6 +348,11 @@ val layoutComponentsPatch = bytecodePatch( "false" ) } + addSwitchPreference( + CategoryType.GENERAL, + "revanced_hide_tap_to_update_button", + "false" + ) addSwitchPreference( CategoryType.GENERAL, "revanced_hide_voice_search_button", diff --git a/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt index 1528f747d..bba1dbab8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt @@ -193,162 +193,6 @@ val playerComponentsPatch = bytecodePatch( ) execute { - // region patch for disable gesture in player - - val playerViewPagerConstructorMethod = - playerViewPagerConstructorFingerprint.methodOrThrow() - val mainActivityOnStartMethod = - getMainActivityMethod("onStart") - - mapOf( - miniPlayerViewPager to "disableMiniPlayerGesture", - playerViewPager to "disablePlayerGesture" - ).forEach { (literal, methodName) -> - val viewPagerReference = with(playerViewPagerConstructorMethod) { - val constIndex = indexOfFirstLiteralInstructionOrThrow(literal) - val targetIndex = indexOfFirstInstructionOrThrow(constIndex, Opcode.IPUT_OBJECT) - - getInstruction(targetIndex).reference.toString() - } - mainActivityOnStartMethod.apply { - val insertIndex = indexOfFirstInstructionOrThrow { - opcode == Opcode.IGET_OBJECT && - getReference()?.toString() == viewPagerReference - } - val insertRegister = getInstruction(insertIndex).registerA - val jumpIndex = - indexOfFirstInstructionOrThrow(insertIndex, Opcode.INVOKE_VIRTUAL) + 1 - - addInstructionsWithLabels( - insertIndex, """ - invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->$methodName()Z - move-result v$insertRegister - if-nez v$insertRegister, :disable - """, ExternalLabel("disable", getInstruction(jumpIndex)) - ) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_disable_mini_player_gesture", - "false" - ) - addSwitchPreference( - CategoryType.PLAYER, - "revanced_disable_player_gesture", - "false" - ) - - // endregion - - // region patch for enable color match player and enable black player background - - val ( - colorMathPlayerMethodParameter, - colorMathPlayerInvokeVirtualReference, - colorMathPlayerIGetReference - ) = switchToggleColorFingerprint.matchOrThrow(miniPlayerConstructorFingerprint).let { - with(it.method) { - val relativeIndex = it.patternMatch!!.endIndex + 1 - val invokeVirtualIndex = - indexOfFirstInstructionOrThrow(relativeIndex, Opcode.INVOKE_VIRTUAL) - val iGetIndex = indexOfFirstInstructionOrThrow(relativeIndex, Opcode.IGET) - - // black player background - val invokeDirectIndex = indexOfFirstInstructionOrThrow(Opcode.INVOKE_DIRECT) - val targetMethod = getWalkerMethod(invokeDirectIndex) - val insertIndex = targetMethod.indexOfFirstInstructionOrThrow(Opcode.IF_NE) - - targetMethod.addInstructions( - insertIndex, """ - invoke-static {p1}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I - move-result p1 - invoke-static {p2}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I - move-result p2 - """ - ) - Triple( - parameters, - getInstruction(invokeVirtualIndex).reference, - getInstruction(iGetIndex).reference - ) - } - } - - val colorMathPlayerIPutReference = with(miniPlayerConstructorFingerprint.methodOrThrow()) { - val colorGreyIndex = indexOfFirstLiteralInstructionOrThrow(colorGrey) - val iPutIndex = indexOfFirstInstructionOrThrow(colorGreyIndex, Opcode.IPUT) - getInstruction(iPutIndex).reference - } - - miniPlayerConstructorFingerprint.mutableClassOrThrow().methods.filter { - it.accessFlags == AccessFlags.PUBLIC or AccessFlags.FINAL && - it.parameters == colorMathPlayerMethodParameter && - it.returnType == "V" - }.forEach { method -> - method.apply { - val freeRegister = implementation!!.registerCount - parameters.size - 3 - - val invokeDirectIndex = - indexOfFirstInstructionReversedOrThrow(Opcode.INVOKE_DIRECT) - val invokeDirectReference = - getInstruction(invokeDirectIndex).reference - - addInstructionsWithLabels( - invokeDirectIndex + 1, """ - invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->enableColorMatchPlayer()Z - move-result v$freeRegister - if-eqz v$freeRegister, :off - invoke-virtual {p1}, $colorMathPlayerInvokeVirtualReference - move-result-object v$freeRegister - check-cast v$freeRegister, ${(colorMathPlayerIGetReference as FieldReference).definingClass} - iget v$freeRegister, v$freeRegister, $colorMathPlayerIGetReference - iput v$freeRegister, p0, $colorMathPlayerIPutReference - :off - invoke-direct {p0}, $invokeDirectReference - """ - ) - removeInstruction(invokeDirectIndex) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_enable_black_player_background", - "false" - ) - addSwitchPreference( - CategoryType.PLAYER, - "revanced_enable_color_match_player", - "true" - ) - - // endregion - - // region patch for enable force minimized player - - minimizedPlayerFingerprint.matchOrThrow().let { - it.method.apply { - val insertIndex = it.patternMatch!!.endIndex - val insertRegister = getInstruction(insertIndex).registerA - - addInstructions( - insertIndex, """ - invoke-static {v$insertRegister}, $PLAYER_CLASS_DESCRIPTOR->enableForceMinimizedPlayer(Z)Z - move-result v$insertRegister - """ - ) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_enable_force_minimized_player", - "true" - ) - - // endregion // region patch for enable next previous button @@ -402,9 +246,9 @@ val playerComponentsPatch = bytecodePatch( addInstructions( invokeStaticIndex, """ - invoke-static {v$viewArrayRegister}, $PLAYER_CLASS_DESCRIPTOR->getViewArray([Landroid/view/View;)[Landroid/view/View; - move-result-object v$viewArrayRegister - """ + invoke-static {v$viewArrayRegister}, $PLAYER_CLASS_DESCRIPTOR->getViewArray([Landroid/view/View;)[Landroid/view/View; + move-result-object v$viewArrayRegister + """ ) } @@ -517,6 +361,163 @@ val playerComponentsPatch = bytecodePatch( // endregion + // region patch for enable color match player and enable black player background + + val ( + colorMathPlayerMethodParameter, + colorMathPlayerInvokeVirtualReference, + colorMathPlayerIGetReference + ) = switchToggleColorFingerprint.matchOrThrow(miniPlayerConstructorFingerprint).let { + with(it.method) { + val relativeIndex = it.patternMatch!!.endIndex + 1 + val invokeVirtualIndex = + indexOfFirstInstructionOrThrow(relativeIndex, Opcode.INVOKE_VIRTUAL) + val iGetIndex = indexOfFirstInstructionOrThrow(relativeIndex, Opcode.IGET) + + // black player background + val invokeDirectIndex = indexOfFirstInstructionOrThrow(Opcode.INVOKE_DIRECT) + val targetMethod = getWalkerMethod(invokeDirectIndex) + val insertIndex = targetMethod.indexOfFirstInstructionOrThrow(Opcode.IF_NE) + + targetMethod.addInstructions( + insertIndex, """ + invoke-static {p1}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I + move-result p1 + invoke-static {p2}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I + move-result p2 + """ + ) + Triple( + parameters, + getInstruction(invokeVirtualIndex).reference, + getInstruction(iGetIndex).reference + ) + } + } + + val colorMathPlayerIPutReference = with(miniPlayerConstructorFingerprint.methodOrThrow()) { + val colorGreyIndex = indexOfFirstLiteralInstructionOrThrow(colorGrey) + val iPutIndex = indexOfFirstInstructionOrThrow(colorGreyIndex, Opcode.IPUT) + getInstruction(iPutIndex).reference + } + + miniPlayerConstructorFingerprint.mutableClassOrThrow().methods.filter { + it.accessFlags == AccessFlags.PUBLIC or AccessFlags.FINAL && + it.parameters == colorMathPlayerMethodParameter && + it.returnType == "V" + }.forEach { method -> + method.apply { + val freeRegister = implementation!!.registerCount - parameters.size - 3 + + val invokeDirectIndex = + indexOfFirstInstructionReversedOrThrow(Opcode.INVOKE_DIRECT) + val invokeDirectReference = + getInstruction(invokeDirectIndex).reference + + addInstructionsWithLabels( + invokeDirectIndex + 1, """ + invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->enableColorMatchPlayer()Z + move-result v$freeRegister + if-eqz v$freeRegister, :off + invoke-virtual {p1}, $colorMathPlayerInvokeVirtualReference + move-result-object v$freeRegister + check-cast v$freeRegister, ${(colorMathPlayerIGetReference as FieldReference).definingClass} + iget v$freeRegister, v$freeRegister, $colorMathPlayerIGetReference + iput v$freeRegister, p0, $colorMathPlayerIPutReference + :off + invoke-direct {p0}, $invokeDirectReference + """ + ) + removeInstruction(invokeDirectIndex) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_enable_color_match_player", + "true" + ) + addSwitchPreference( + CategoryType.PLAYER, + "revanced_enable_black_player_background", + "false" + ) + + // endregion + + // region patch for disable gesture in player + + val playerViewPagerConstructorMethod = + playerViewPagerConstructorFingerprint.methodOrThrow() + val mainActivityOnStartMethod = + getMainActivityMethod("onStart") + + mapOf( + miniPlayerViewPager to "disableMiniPlayerGesture", + playerViewPager to "disablePlayerGesture" + ).forEach { (literal, methodName) -> + val viewPagerReference = with(playerViewPagerConstructorMethod) { + val constIndex = indexOfFirstLiteralInstructionOrThrow(literal) + val targetIndex = indexOfFirstInstructionOrThrow(constIndex, Opcode.IPUT_OBJECT) + + getInstruction(targetIndex).reference.toString() + } + mainActivityOnStartMethod.apply { + val insertIndex = indexOfFirstInstructionOrThrow { + opcode == Opcode.IGET_OBJECT && + getReference()?.toString() == viewPagerReference + } + val insertRegister = getInstruction(insertIndex).registerA + val jumpIndex = + indexOfFirstInstructionOrThrow(insertIndex, Opcode.INVOKE_VIRTUAL) + 1 + + addInstructionsWithLabels( + insertIndex, """ + invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->$methodName()Z + move-result v$insertRegister + if-nez v$insertRegister, :disable + """, ExternalLabel("disable", getInstruction(jumpIndex)) + ) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_disable_mini_player_gesture", + "false" + ) + addSwitchPreference( + CategoryType.PLAYER, + "revanced_disable_player_gesture", + "false" + ) + + // endregion + + // region patch for enable force minimized player + + minimizedPlayerFingerprint.matchOrThrow().let { + it.method.apply { + val insertIndex = it.patternMatch!!.endIndex + val insertRegister = getInstruction(insertIndex).registerA + + addInstructions( + insertIndex, """ + invoke-static {v$insertRegister}, $PLAYER_CLASS_DESCRIPTOR->enableForceMinimizedPlayer(Z)Z + move-result v$insertRegister + """ + ) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_enable_force_minimized_player", + "true" + ) + + // endregion + // region patch for enable swipe to dismiss mini player if (!is_6_42_or_greater) { @@ -725,38 +726,6 @@ val playerComponentsPatch = bytecodePatch( // endregion - // region patch for hide audio video switch toggle - - audioVideoSwitchToggleFingerprint.methodOrThrow().apply { - implementation!!.instructions - .withIndex() - .filter { (_, instruction) -> - val reference = (instruction as? ReferenceInstruction)?.reference - instruction.opcode == Opcode.INVOKE_VIRTUAL && - reference is MethodReference && - reference.toString() == AUDIO_VIDEO_SWITCH_TOGGLE_VISIBILITY - } - .map { (index, _) -> index } - .reversed() - .forEach { index -> - val instruction = getInstruction(index) - - replaceInstruction( - index, - "invoke-static {v${instruction.registerC}, v${instruction.registerD}}," + - "$PLAYER_CLASS_DESCRIPTOR->hideAudioVideoSwitchToggle(Landroid/view/View;I)V" - ) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_hide_audio_video_switch_toggle", - "false" - ) - - // endregion - // region patch for hide channel guideline, timestamps & emoji picker buttons addLithoFilter(FILTER_CLASS_DESCRIPTOR) @@ -766,11 +735,6 @@ val playerComponentsPatch = bytecodePatch( "revanced_hide_comment_channel_guidelines", "true" ) - addSwitchPreference( - CategoryType.PLAYER, - "revanced_hide_comment_timestamp_and_emoji_buttons", - "false" - ) // region patch for hide double-tap overlay filter @@ -796,6 +760,12 @@ val playerComponentsPatch = bytecodePatch( // endregion + addSwitchPreference( + CategoryType.PLAYER, + "revanced_hide_comment_timestamp_and_emoji_buttons", + "false" + ) + // region patch for hide fullscreen share button remixGenericButtonFingerprint.matchOrThrow().let { @@ -820,6 +790,38 @@ val playerComponentsPatch = bytecodePatch( // endregion + // region patch for hide song video switch toggle + + audioVideoSwitchToggleFingerprint.methodOrThrow().apply { + implementation!!.instructions + .withIndex() + .filter { (_, instruction) -> + val reference = (instruction as? ReferenceInstruction)?.reference + instruction.opcode == Opcode.INVOKE_VIRTUAL && + reference is MethodReference && + reference.toString() == AUDIO_VIDEO_SWITCH_TOGGLE_VISIBILITY + } + .map { (index, _) -> index } + .reversed() + .forEach { index -> + val instruction = getInstruction(index) + + replaceInstruction( + index, + "invoke-static {v${instruction.registerC}, v${instruction.registerD}}," + + "$PLAYER_CLASS_DESCRIPTOR->hideAudioVideoSwitchToggle(Landroid/view/View;I)V" + ) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_hide_audio_video_switch_toggle", + "false" + ) + + // endregion + // region patch for remember repeat state val (repeatTrackMethod, repeatTrackIndex) = repeatTrackFingerprint.matchOrThrow().let { diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/extension/SharedExtensionPatch.kt index 2151b9af5..dd6883783 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/extension/SharedExtensionPatch.kt @@ -1,6 +1,14 @@ package app.revanced.patches.music.utils.extension import app.revanced.patches.music.utils.extension.hooks.applicationInitHook +import app.revanced.patches.music.utils.extension.hooks.mainActivityBaseContextHook +import app.revanced.patches.shared.extension.hooks.cronetEngineContextHook +import app.revanced.patches.shared.extension.hooks.firebaseInitProviderContextHook import app.revanced.patches.shared.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch(applicationInitHook) +val sharedExtensionPatch = sharedExtensionPatch( + applicationInitHook, + cronetEngineContextHook, + firebaseInitProviderContextHook, + mainActivityBaseContextHook, +) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/extension/hooks/MainActivityBaseContextHook.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/extension/hooks/MainActivityBaseContextHook.kt new file mode 100644 index 000000000..549eff2ba --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/extension/hooks/MainActivityBaseContextHook.kt @@ -0,0 +1,32 @@ +package app.revanced.patches.music.utils.extension.hooks + +import app.revanced.patches.shared.extension.extensionHook +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +private var attachBaseContextIndex = -1 + +internal val mainActivityBaseContextHook = extensionHook( + insertIndexResolver = { method -> + attachBaseContextIndex = method.indexOfFirstInstructionOrThrow { + getReference()?.name == "attachBaseContext" + } + + attachBaseContextIndex + 1 + }, + contextRegisterResolver = { method -> + val overrideInstruction = + method.implementation!!.instructions.elementAt(attachBaseContextIndex) + as FiveRegisterInstruction + "v${overrideInstruction.registerD}" + }, +) { + returns("V") + parameters("Landroid/content/Context;") + custom { method, classDef -> + classDef.type == "Lcom/google/android/apps/youtube/music/activities/MusicActivity;" && + method.name == "attachBaseContext" + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt index a28b0ebfa..1944299a1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt @@ -7,8 +7,6 @@ import app.revanced.patches.music.utils.extension.sharedExtensionPatch import app.revanced.patches.music.utils.fix.fileprovider.fileProviderPatch import app.revanced.patches.music.utils.mainactivity.mainActivityFingerprint import app.revanced.patches.music.utils.patch.PatchList.GMSCORE_SUPPORT -import app.revanced.patches.music.utils.settings.CategoryType -import app.revanced.patches.music.utils.settings.ResourceUtils.addGmsCorePreference import app.revanced.patches.music.utils.settings.ResourceUtils.updatePackageName import app.revanced.patches.music.utils.settings.ResourceUtils.updatePatchStatus import app.revanced.patches.music.utils.settings.settingsPatch @@ -37,13 +35,9 @@ private fun gmsCoreSupportResourcePatch( packageNameYouTubeOption = packageNameYouTubeOption, packageNameYouTubeMusicOption = packageNameYouTubeMusicOption, executeBlock = { - updatePackageName(packageNameYouTubeMusicOption.valueOrThrow()) - - addGmsCorePreference( - CategoryType.MISC.value, - "gms_core_settings", + updatePackageName( gmsCoreVendorGroupIdOption.valueOrThrow() + ".android.gms", - "org.microg.gms.ui.SettingsActivity" + packageNameYouTubeMusicOption.valueOrThrow() ) updatePatchStatus(GMSCORE_SUPPORT) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt index 11d02b637..c14acd990 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt @@ -49,8 +49,8 @@ internal enum class PatchList( "Disable DRC audio", "Adds an option to disable DRC (Dynamic Range Compression) audio." ), - DISABLE_AUTO_CAPTIONS( - "Disable auto captions", + DISABLE_FORCED_AUTO_CAPTIONS( + "Disable forced auto captions", "Adds an option to disable captions from being automatically enabled." ), DISABLE_DISLIKE_REDIRECTION( @@ -63,7 +63,7 @@ internal enum class PatchList( ), ENABLE_OPUS_CODEC( "Enable OPUS codec", - "Adds an options to enable the OPUS audio codec if the player response includes." + "Adds an options to enable the OPUS audio codec if the player response includes it." ), ENABLE_DEBUG_LOGGING( "Enable debug logging", diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt index 4889d098f..331cc641b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt @@ -32,6 +32,7 @@ internal object ResourceUtils { const val ACTIVITY_HOOK_TARGET_CLASS = "com.google.android.gms.common.api.GoogleApiActivity" + var gmsCorePackageName = "app.revanced.android.gms" var musicPackageName = YOUTUBE_MUSIC_PACKAGE_NAME private var iconType = "default" @@ -68,8 +69,12 @@ internal object ResourceUtils { } } - fun updatePackageName(newPackage: String) { - musicPackageName = newPackage + fun updatePackageName( + newGmsCorePackage: String, + newMusicPackage: String, + ) { + gmsCorePackageName = newGmsCorePackage + musicPackageName = newMusicPackage replacePackageName() } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt index a9462c265..ce7fab878 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt @@ -13,8 +13,11 @@ import app.revanced.patches.music.utils.extension.Constants.EXTENSION_PATH import app.revanced.patches.music.utils.extension.Constants.UTILS_PATH import app.revanced.patches.music.utils.extension.sharedExtensionPatch import app.revanced.patches.music.utils.mainactivity.mainActivityResolvePatch +import app.revanced.patches.music.utils.patch.PatchList.GMSCORE_SUPPORT import app.revanced.patches.music.utils.patch.PatchList.SETTINGS_FOR_YOUTUBE_MUSIC import app.revanced.patches.music.utils.playservice.versionCheckPatch +import app.revanced.patches.music.utils.settings.ResourceUtils.addGmsCorePreference +import app.revanced.patches.music.utils.settings.ResourceUtils.gmsCorePackageName import app.revanced.patches.shared.extension.Constants.EXTENSION_UTILS_CLASS_DESCRIPTOR import app.revanced.patches.shared.mainactivity.injectConstructorMethodCall import app.revanced.patches.shared.mainactivity.injectOnCreateMethodCall @@ -202,6 +205,14 @@ val settingsPatch = resourcePatch( ResourceUtils.addRVXSettingsPreference() ResourceUtils.updatePatchStatus(SETTINGS_FOR_YOUTUBE_MUSIC) + + /** + * add import export settings + */ + addPreferenceWithIntent( + CategoryType.MISC, + "revanced_extended_settings_import_export" + ) } finalize { @@ -236,13 +247,14 @@ val settingsPatch = resourcePatch( "revanced_default_app_settings" ) - /** - * add import export settings - */ - addPreferenceWithIntent( - CategoryType.MISC, - "revanced_extended_settings_import_export" - ) + if (GMSCORE_SUPPORT.included == true) { + addGmsCorePreference( + CategoryType.MISC.value, + "gms_core_settings", + gmsCorePackageName, + "org.microg.gms.ui.SettingsActivity" + ) + } /** * sort preference diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/Fingerprints.kt index cd80daa09..e8ac32dc3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/Fingerprints.kt @@ -57,7 +57,18 @@ internal val bottomNavScreenOnGlobalLayoutFingerprint = legacyFingerprint( Opcode.INVOKE_VIRTUAL, Opcode.RETURN_VOID ), - customFingerprint = { methodDef, _ -> - methodDef.name == "onGlobalLayout" + customFingerprint = { method, _ -> + method.name == "onGlobalLayout" + } +) + +internal val bottomNavScreenSetupBottomNavigationFingerprint = legacyFingerprint( + name = "bottomNavScreenSetupBottomNavigationFingerprint", + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, + opcodes = listOf(Opcode.FILLED_NEW_ARRAY), + customFingerprint = { method, classDef -> + classDef.type.startsWith("Lcom/reddit/launch/bottomnav/BottomNavScreen${'$'}setupBottomNavigation${'$'}") && + method.name == "invoke" } ) diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/NavigationButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/NavigationButtonsPatch.kt index df3c587f5..dc86d0e56 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/NavigationButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/navigation/NavigationButtonsPatch.kt @@ -7,13 +7,13 @@ import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.reddit.utils.compatibility.Constants.COMPATIBLE_PACKAGE import app.revanced.patches.reddit.utils.extension.Constants.PATCHES_PATH import app.revanced.patches.reddit.utils.patch.PatchList.HIDE_NAVIGATION_BUTTONS -import app.revanced.patches.reddit.utils.settings.is_2024_18_or_greater +import app.revanced.patches.reddit.utils.settings.is_2024_26_or_greater import app.revanced.patches.reddit.utils.settings.settingsPatch import app.revanced.patches.reddit.utils.settings.updatePatchStatus -import app.revanced.util.Utils.printWarn import app.revanced.util.fingerprint.methodOrThrow import app.revanced.util.fingerprint.resolvable 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.FiveRegisterInstruction import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @@ -26,7 +26,6 @@ private const val EXTENSION_CLASS_DESCRIPTOR = val navigationButtonsPatch = bytecodePatch( HIDE_NAVIGATION_BUTTONS.title, HIDE_NAVIGATION_BUTTONS.summary, - false, ) { compatibleWith(COMPATIBLE_PACKAGE) @@ -34,49 +33,59 @@ val navigationButtonsPatch = bytecodePatch( execute { - if (is_2024_18_or_greater) { - printWarn("\"Hide navigation buttons\" patch is not supported in this version. Use Reddit 2024.17.0 or earlier.") - return@execute - } - - if (bottomNavScreenFingerprint.resolvable()) { - val bottomNavScreenMutableClass = with(bottomNavScreenFingerprint.methodOrThrow()) { - val startIndex = indexOfGetDimensionPixelSizeInstruction(this) - val targetIndex = indexOfFirstInstructionOrThrow(startIndex, Opcode.NEW_INSTANCE) - val targetReference = - getInstruction(targetIndex).reference.toString() - - classBy { it.type == targetReference } - ?.mutableClass - ?: throw ClassNotFoundException("Failed to find class $targetReference") - } - - bottomNavScreenOnGlobalLayoutFingerprint.second.matchOrNull(bottomNavScreenMutableClass) - ?.let { - it.method.apply { - val startIndex = it.patternMatch!!.startIndex - val targetRegister = - getInstruction(startIndex).registerC - - addInstruction( - startIndex + 1, - "invoke-static {v$targetRegister}, $EXTENSION_CLASS_DESCRIPTOR->hideNavigationButtons(Landroid/view/ViewGroup;)V" - ) - } - } - } else { - // Legacy method. - bottomNavScreenHandlerFingerprint.methodOrThrow().apply { - val targetIndex = indexOfGetItemsInstruction(this) + 1 - val targetRegister = getInstruction(targetIndex).registerA + if (is_2024_26_or_greater) { + bottomNavScreenSetupBottomNavigationFingerprint.methodOrThrow().apply { + val arrayIndex = indexOfFirstInstructionReversedOrThrow(Opcode.FILLED_NEW_ARRAY) + val arrayRegister = + getInstruction(arrayIndex + 1).registerA addInstructions( - targetIndex + 1, """ - invoke-static {v$targetRegister}, $EXTENSION_CLASS_DESCRIPTOR->hideNavigationButtons(Ljava/util/List;)Ljava/util/List; - move-result-object v$targetRegister + arrayIndex + 2, """ + invoke-static {v$arrayRegister}, $EXTENSION_CLASS_DESCRIPTOR->hideNavigationButtons([Ljava/lang/Object;)[Ljava/lang/Object; + move-result-object v$arrayRegister """ ) } + } else { + if (bottomNavScreenFingerprint.resolvable()) { + val bottomNavScreenMutableClass = with(bottomNavScreenFingerprint.methodOrThrow()) { + val startIndex = indexOfGetDimensionPixelSizeInstruction(this) + val targetIndex = indexOfFirstInstructionOrThrow(startIndex, Opcode.NEW_INSTANCE) + val targetReference = + getInstruction(targetIndex).reference.toString() + + classBy { it.type == targetReference } + ?.mutableClass + ?: throw ClassNotFoundException("Failed to find class $targetReference") + } + + bottomNavScreenOnGlobalLayoutFingerprint.second.matchOrNull(bottomNavScreenMutableClass) + ?.let { + it.method.apply { + val startIndex = it.patternMatch!!.startIndex + val targetRegister = + getInstruction(startIndex).registerC + + addInstruction( + startIndex + 1, + "invoke-static {v$targetRegister}, $EXTENSION_CLASS_DESCRIPTOR->hideNavigationButtons(Landroid/view/ViewGroup;)V" + ) + } + } + } else { + // Legacy method. + bottomNavScreenHandlerFingerprint.methodOrThrow().apply { + val targetIndex = indexOfGetItemsInstruction(this) + 1 + val targetRegister = getInstruction(targetIndex).registerA + + addInstructions( + targetIndex + 1, """ + invoke-static {v$targetRegister}, $EXTENSION_CLASS_DESCRIPTOR->hideNavigationButtons(Ljava/util/List;)Ljava/util/List; + move-result-object v$targetRegister + """ + ) + } + } } updatePatchStatus( diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/recentlyvisited/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/recentlyvisited/Fingerprints.kt index a1c24dd0f..485b7f02b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/recentlyvisited/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/recentlyvisited/Fingerprints.kt @@ -13,7 +13,7 @@ internal val communityDrawerPresenterConstructorFingerprint = legacyFingerprint( name = "communityDrawerPresenterConstructorFingerprint", returnType = "V", accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, - strings = listOf("matureFeedFeatures", "communityDrawerSettings"), + strings = listOf("communityDrawerSettings"), customFingerprint = { method, _ -> indexOfHeaderItemInstruction(method) >= 0 } diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/Fingerprints.kt index bebd879c6..f8ab5cc7b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/Fingerprints.kt @@ -3,6 +3,7 @@ package app.revanced.patches.reddit.layout.subredditdialog import app.revanced.util.fingerprint.legacyFingerprint import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstruction +import app.revanced.util.indexOfFirstInstructionReversed import app.revanced.util.or import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode @@ -25,6 +26,40 @@ internal val frequentUpdatesSheetScreenFingerprint = legacyFingerprint( } ) +internal val frequentUpdatesSheetV2ScreenFingerprint = legacyFingerprint( + name = "frequentUpdatesSheetV2ScreenFingerprint", + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, + strings = listOf("subreddit_name"), + customFingerprint = { method, classDef -> + classDef.type == "Lcom/reddit/screens/pager/v2/FrequentUpdatesSheetV2Screen;" + } +) + +internal val frequentUpdatesSheetV2ScreenInvokeFingerprint = legacyFingerprint( + name = "frequentUpdatesSheetV2ScreenInvokeFingerprint", + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, + opcodes = listOf( + Opcode.IGET_OBJECT, + Opcode.INVOKE_VIRTUAL, + Opcode.RETURN_VOID, + ), + customFingerprint = { method, classDef -> + classDef.type.startsWith("Lcom/reddit/screens/pager/v2/FrequentUpdatesSheetV2Screen${'$'}SheetContent${'$'}") && + method.name == "invoke" && + indexOfDismissScreenInstruction(method) >= 0 + } +) + +fun indexOfDismissScreenInstruction(method: Method) = + method.indexOfFirstInstructionReversed { + val reference = getReference() + opcode == Opcode.INVOKE_VIRTUAL && + reference?.returnType == "V" && + reference.parameterTypes.isEmpty() + } + internal val redditAlertDialogsFingerprint = legacyFingerprint( name = "redditAlertDialogsFingerprint", returnType = "V", diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt index fa57ecabe..bed1778a3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt @@ -1,20 +1,25 @@ package app.revanced.patches.reddit.layout.subredditdialog 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.removeInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.reddit.utils.compatibility.Constants.COMPATIBLE_PACKAGE import app.revanced.patches.reddit.utils.extension.Constants.PATCHES_PATH import app.revanced.patches.reddit.utils.patch.PatchList.REMOVE_SUBREDDIT_DIALOG +import app.revanced.patches.reddit.utils.settings.is_2024_41_or_greater import app.revanced.patches.reddit.utils.settings.settingsPatch import app.revanced.patches.reddit.utils.settings.updatePatchStatus -import app.revanced.util.fingerprint.matchOrThrow +import app.revanced.util.findMethodOrThrow import app.revanced.util.fingerprint.methodOrThrow import app.revanced.util.getReference 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.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.reference.MethodReference private const val EXTENSION_CLASS_DESCRIPTOR = @@ -30,20 +35,50 @@ val subRedditDialogPatch = bytecodePatch( dependsOn(settingsPatch) execute { - frequentUpdatesSheetScreenFingerprint.matchOrThrow().let { - it.method.apply { - val cancelButtonViewIndex = it.patternMatch!!.startIndex + 2 - val cancelButtonViewRegister = - getInstruction(cancelButtonViewIndex).registerA - addInstruction( - cancelButtonViewIndex + 1, - "invoke-static {v$cancelButtonViewRegister}, $EXTENSION_CLASS_DESCRIPTOR->dismissDialog(Landroid/view/View;)V" - ) - } + frequentUpdatesSheetScreenFingerprint.methodOrThrow().apply { + val index = indexOfFirstInstructionReversedOrThrow(Opcode.RETURN_OBJECT) + val register = + getInstruction(index).registerA + + addInstruction( + index, + "invoke-static {v$register}, $EXTENSION_CLASS_DESCRIPTOR->onDialogCreated(Landroid/view/View;)V" + ) } - redditAlertDialogsFingerprint.methodOrThrow().apply { + if (is_2024_41_or_greater) { + val dismissReference = with (frequentUpdatesSheetV2ScreenInvokeFingerprint.methodOrThrow()) { + val index = indexOfDismissScreenInstruction(this) + getInstruction(index).reference as MethodReference + } + + findMethodOrThrow(EXTENSION_CLASS_DESCRIPTOR) { + name == "dismissRedditDialogV2" + }.addInstructions( + 0, """ + check-cast p0, ${dismissReference.definingClass} + invoke-virtual {p0}, $dismissReference + """ + ) + + frequentUpdatesSheetV2ScreenFingerprint + .methodOrThrow() + .apply { + val targetIndex = implementation!!.instructions.lastIndex + + addInstructions( + targetIndex + 1, """ + invoke-static {p0}, $EXTENSION_CLASS_DESCRIPTOR->dismissDialogV2(Ljava/lang/Object;)V + return-void + """ + ) + removeInstruction(targetIndex) + } + } + + // Not used in latest Reddit client. + redditAlertDialogsFingerprint.second.methodOrNull?.apply { val backgroundTintIndex = indexOfSetBackgroundTintListInstruction(this) val insertIndex = indexOfFirstInstructionOrThrow(backgroundTintIndex) { diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt index 65ca353e8..f5910d0cf 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt @@ -33,7 +33,9 @@ private const val EXTENSION_METHOD_DESCRIPTOR = private lateinit var acknowledgementsLabelBuilderMethod: MutableMethod private lateinit var settingsStatusLoadMethod: MutableMethod -var is_2024_18_or_greater = false +var is_2024_26_or_greater = false + private set +var is_2024_41_or_greater = false private set private val settingsBytecodePatch = bytecodePatch( @@ -55,7 +57,8 @@ private val settingsBytecodePatch = bytecodePatch( getInstruction(versionIndex).reference.toString() .replace(".", "").toInt() - is_2024_18_or_greater = 2024180 <= versionNumber + is_2024_26_or_greater = 2024260 <= versionNumber + is_2024_41_or_greater = 2024100 <= versionNumber } /** diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/ads/BaseAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/ads/BaseAdsPatch.kt index 02cf1f243..c2d7d85f0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/ads/BaseAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/ads/BaseAdsPatch.kt @@ -61,6 +61,21 @@ fun baseAdsPatch( ) } + val getAdvertisingIdMethod = with (advertisingIdFingerprint.methodOrThrow()) { + val getAdvertisingIdIndex = indexOfGetAdvertisingIdInstruction(this) + getWalkerMethod(getAdvertisingIdIndex) + } + + getAdvertisingIdMethod.addInstructionsWithLabels( + 0, """ + invoke-static {}, $classDescriptor->$methodDescriptor()Z + move-result v0 + if-nez v0, :ignore + return-void + :ignore + nop + """ + ) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/ads/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/ads/Fingerprints.kt index 9ec138962..350fb2715 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/ads/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/ads/Fingerprints.kt @@ -1,9 +1,34 @@ package app.revanced.patches.shared.ads import app.revanced.util.fingerprint.legacyFingerprint +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionReversed import app.revanced.util.or 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 +import com.android.tools.smali.dexlib2.util.MethodUtil + +internal val advertisingIdFingerprint = legacyFingerprint( + name = "advertisingIdFingerprint", + returnType = "V", + strings = listOf("a."), + customFingerprint = { method, classDef -> + MethodUtil.isConstructor(method) && + classDef.fields.find { it.type == "Ljava/util/Random;" } != null && + indexOfGetAdvertisingIdInstruction(method) >= 0 + } +) + +internal fun indexOfGetAdvertisingIdInstruction(method: Method) = + method.indexOfFirstInstructionReversed { + val reference = getReference() + opcode == Opcode.INVOKE_VIRTUAL && + reference?.returnType == "V" && + reference.parameterTypes.isEmpty() + } + internal val musicAdsFingerprint = legacyFingerprint( name = "musicAdsFingerprint", diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/extension/hooks/CronetEngineContextHook.kt b/patches/src/main/kotlin/app/revanced/patches/shared/extension/hooks/CronetEngineContextHook.kt new file mode 100644 index 000000000..e31cf801b --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/extension/hooks/CronetEngineContextHook.kt @@ -0,0 +1,48 @@ +package app.revanced.patches.shared.extension.hooks + +import app.revanced.patches.shared.extension.extensionHook +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction +import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction3rc +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +private var initIndex = -1 +private var isRange = true + +internal val cronetEngineContextHook = extensionHook( + insertIndexResolver = { method -> + initIndex = method.indexOfFirstInstruction(Opcode.INVOKE_DIRECT_RANGE) + + if (initIndex < 0) { + initIndex = method.indexOfFirstInstructionOrThrow(Opcode.INVOKE_DIRECT) + isRange = false + } + + initIndex + }, + contextRegisterResolver = { method -> + val initInstruction = + method.implementation!!.instructions.elementAt(initIndex) + if (isRange) { + val overrideInstruction = initInstruction as Instruction3rc + "v${overrideInstruction.startRegister + 1}" + } else { + val overrideInstruction = initInstruction as FiveRegisterInstruction + "v${overrideInstruction.registerD}" + } + }, +) { + returns("Lorg/chromium/net/CronetEngine;") + accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) + strings("Could not create CronetEngine") + custom { method, classDef -> + method.indexOfFirstInstruction { + (opcode == Opcode.INVOKE_DIRECT || opcode == Opcode.INVOKE_DIRECT_RANGE) && + getReference()?.parameterTypes?.firstOrNull() == "Landroid/content/Context;" + } >= 0 + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/extension/hooks/FirebaseInitProviderContextHook.kt b/patches/src/main/kotlin/app/revanced/patches/shared/extension/hooks/FirebaseInitProviderContextHook.kt new file mode 100644 index 000000000..e52f23dfa --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/extension/hooks/FirebaseInitProviderContextHook.kt @@ -0,0 +1,37 @@ +package app.revanced.patches.shared.extension.hooks + +import app.revanced.patches.shared.extension.extensionHook +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.Method +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +private var getResourcesIndex = -1 + +internal val firebaseInitProviderContextHook = extensionHook( + insertIndexResolver = { method -> + getResourcesIndex = indexOfGerResourcesInstruction(method) + + getResourcesIndex + 2 + }, + contextRegisterResolver = { method -> + val overrideInstruction = + method.implementation!!.instructions.elementAt(getResourcesIndex) + as FiveRegisterInstruction + + "v${overrideInstruction.registerC}" + }, +) { + strings("firebase_database_url") + custom { method, _ -> + indexOfGerResourcesInstruction(method) >= 0 + } +} + +private fun indexOfGerResourcesInstruction(method: Method) = + method.indexOfFirstInstruction { + opcode == Opcode.INVOKE_VIRTUAL && + getReference()?.toString() =="Landroid/content/Context;->getResources()Landroid/content/res/Resources;" + } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt index 1cff11b8f..952b0c350 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt @@ -5,8 +5,11 @@ import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstruction import app.revanced.util.or 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 +import com.android.tools.smali.dexlib2.iface.reference.StringReference +import com.android.tools.smali.dexlib2.util.MethodUtil const val GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME = "getGmsCoreVendorGroupId" @@ -22,14 +25,24 @@ internal val castContextFetchFingerprint = legacyFingerprint( strings = listOf("Error fetching CastContext.") ) +internal val castDynamiteModuleFingerprint = legacyFingerprint( + name = "castDynamiteModuleFingerprint", + strings = listOf("com.google.android.gms.cast.framework.internal.CastDynamiteModuleImpl") +) + +internal val castDynamiteModuleV2Fingerprint = legacyFingerprint( + name = "castDynamiteModuleV2Fingerprint", + strings = listOf("Failed to load module via V2: ") +) + internal val googlePlayUtilityFingerprint = legacyFingerprint( - name = "castContextFetchFingerprint", + name = "googlePlayUtilityFingerprint", returnType = "I", accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC, parameters = listOf("L", "I"), strings = listOf( "This should never happen.", - "MetadataValueReader" + "MetadataValueReader", ) ) @@ -41,23 +54,57 @@ internal val serviceCheckFingerprint = legacyFingerprint( strings = listOf("Google Play Services not available") ) -internal val primeMethodFingerprint = legacyFingerprint( - name = "primeMethodFingerprint", - strings = listOf("com.google.android.GoogleCamera", "com.android.vending") +internal val sslGuardFingerprint = legacyFingerprint( + name = "sslGuardFingerprint", + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, + strings = listOf("Cannot initialize SslGuardSocketFactory will null"), ) -internal val certificateFingerprint = legacyFingerprint( - name = "certificateFingerprint", - returnType = "Ljava/lang/String;", - accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL, - parameters = emptyList(), - strings = listOf("X.509", "user", "S"), +internal val eCatcherFingerprint = legacyFingerprint( + name = "eCatcherFingerprint", + returnType = "V", + opcodes = listOf(Opcode.NEW_ARRAY), + strings = listOf("ECatcher disabled: level: %s, category: %s, message: %s"), customFingerprint = { method, _ -> - indexOfGetPackageNameInstruction(method) >= 0 + method.parameterTypes.contains("Ljava/util/function/Function;") + }, +) + +internal val primesApiFingerprint = legacyFingerprint( + name = "primesApiFingerprint", + returnType = "V", + strings = listOf("PrimesApiImpl.java"), + customFingerprint = { method, _ -> + MethodUtil.isConstructor(method) } ) -fun indexOfGetPackageNameInstruction(method: Method) = - method.indexOfFirstInstruction { - getReference()?.toString() == "Landroid/content/Context;->getPackageName()Ljava/lang/String;" - } \ No newline at end of file +internal val primesBackgroundInitializationFingerprint = legacyFingerprint( + name = "primesBackgroundInitializationFingerprint", + opcodes = listOf(Opcode.NEW_INSTANCE), + customFingerprint = { method, _ -> + method.indexOfFirstInstruction { + opcode == Opcode.CONST_STRING && + getReference() + ?.string.toString() + .startsWith("Primes init triggered from background in package:") + } >= 0 + } +) + +internal val primesLifecycleEventFingerprint = legacyFingerprint( + name = "primesLifecycleEventFingerprint", + accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL, + returnType = "V", + parameters = emptyList(), + opcodes = listOf(Opcode.NEW_INSTANCE), + customFingerprint = { method, _ -> + method.indexOfFirstInstruction { + opcode == Opcode.CONST_STRING && + getReference() + ?.string.toString() + .startsWith("Primes did not observe lifecycle events in the expected order.") + } >= 0 + } +) diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/gms/GmsCoreSupportPatch.kt index 57d27416f..9c673e4c9 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/gms/GmsCoreSupportPatch.kt @@ -1,9 +1,9 @@ package app.revanced.patches.shared.gms import app.revanced.patcher.Fingerprint +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.instructions import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.BytecodePatchBuilder import app.revanced.patcher.patch.BytecodePatchContext @@ -25,12 +25,14 @@ import app.revanced.util.fingerprint.methodOrThrow import app.revanced.util.fingerprint.mutableClassOrThrow import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstruction +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.indexOfFirstInstructionReversedOrThrow import app.revanced.util.returnEarly import app.revanced.util.valueOrThrow import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction21c -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.formats.Instruction21c import com.android.tools.smali.dexlib2.iface.reference.MethodReference import com.android.tools.smali.dexlib2.iface.reference.StringReference @@ -230,18 +232,41 @@ fun gmsCoreSupportPatch( } } - fun transformPrimeMethod(packageName: String) { - primeMethodFingerprint.methodOrThrow().apply { - var register = 2 - - val index = instructions.indexOfFirst { - if (it.getReference()?.string != fromPackageName) return@indexOfFirst false - - register = (it as OneRegisterInstruction).registerA - return@indexOfFirst true + fun transformPrimeMethod() { + setOf( + primesBackgroundInitializationFingerprint, + primesLifecycleEventFingerprint + ).forEach { fingerprint -> + fingerprint.methodOrThrow().apply { + val exceptionIndex = indexOfFirstInstructionReversedOrThrow { + opcode == Opcode.NEW_INSTANCE && + (this as? ReferenceInstruction)?.reference?.toString() == "Ljava/lang/IllegalStateException;" + } + val index = + indexOfFirstInstructionReversedOrThrow(exceptionIndex, Opcode.IF_EQZ) + val register = getInstruction(index).registerA + addInstruction( + index, + "const/4 v$register, 0x1" + ) + } + } + primesApiFingerprint.mutableClassOrThrow().methods.filter { method -> + method.name != "" && + method.returnType == "V" + }.forEach { method -> + method.apply { + val index = if (MethodUtil.isConstructor(method)) + indexOfFirstInstructionOrThrow { + opcode == Opcode.INVOKE_DIRECT && + getReference()?.name == "" + } + 1 + else 0 + addInstruction( + index, + "return-void" + ) } - - replaceInstruction(index, "const-string v$register, \"$packageName\"") } } @@ -267,12 +292,21 @@ fun gmsCoreSupportPatch( // Return these methods early to prevent the app from crashing. setOf( castContextFetchFingerprint, + castDynamiteModuleFingerprint, + castDynamiteModuleV2Fingerprint, googlePlayUtilityFingerprint, serviceCheckFingerprint, + sslGuardFingerprint, ).forEach { it.methodOrThrow().returnEarly() } + // Prevent spam logs. + eCatcherFingerprint.methodOrThrow().apply { + val index = indexOfFirstInstructionOrThrow(Opcode.NEW_ARRAY) + addInstruction(index, "return-void") + } + // Specific method that needs to be patched. - transformPrimeMethod(packageName) + transformPrimeMethod() // Verify GmsCore is installed and whitelisted for power optimizations and background usage. mainActivityOnCreateFingerprint.method.apply { @@ -299,22 +333,6 @@ fun gmsCoreSupportPatch( .single { it.name == GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME } .replaceInstruction(0, "const-string v0, \"$gmsCoreVendorGroupId\"") - certificateFingerprint.second.classDefOrNull?.methods?.forEach { mutableMethod -> - mutableMethod.apply { - val getPackageNameIndex = indexOfGetPackageNameInstruction(this) - - if (getPackageNameIndex > -1) { - val targetRegister = - (getInstruction(getPackageNameIndex) as FiveRegisterInstruction).registerC - - replaceInstruction( - getPackageNameIndex, - "invoke-static {v$targetRegister}, $EXTENSION_CLASS_DESCRIPTOR->spoofPackageName(Landroid/content/Context;)Ljava/lang/String;", - ) - } - } - } // Since it has only been confirmed to work on YouTube and YouTube Music, does not raise an exception even if the fingerprint cannot be solved. - executeBlock() } @@ -326,266 +344,76 @@ fun gmsCoreSupportPatch( * that are present in GmsCore which need to be transformed. */ private object Constants { - /** - * All permissions. - */ val PERMISSIONS = setOf( + // C2DM / GCM "com.google.android.c2dm.permission.RECEIVE", "com.google.android.c2dm.permission.SEND", - "com.google.android.gms.auth.api.phone.permission.SEND", - "com.google.android.gms.permission.AD_ID", - "com.google.android.gms.permission.AD_ID_NOTIFICATION", - "com.google.android.gms.permission.CAR_FUEL", - "com.google.android.gms.permission.CAR_INFORMATION", - "com.google.android.gms.permission.CAR_MILEAGE", - "com.google.android.gms.permission.CAR_SPEED", - "com.google.android.gms.permission.CAR_VENDOR_EXTENSION", - "com.google.android.googleapps.permission.GOOGLE_AUTH", - "com.google.android.googleapps.permission.GOOGLE_AUTH.cp", - "com.google.android.googleapps.permission.GOOGLE_AUTH.local", - "com.google.android.googleapps.permission.GOOGLE_AUTH.mail", - "com.google.android.googleapps.permission.GOOGLE_AUTH.writely", - "com.google.android.gtalkservice.permission.GTALK_SERVICE", "com.google.android.providers.gsf.permission.READ_GSERVICES", ) - /** - * All intent actions. - */ val ACTIONS = setOf( - "com.google.android.c2dm.intent.RECEIVE", + // C2DM / GCM "com.google.android.c2dm.intent.REGISTER", "com.google.android.c2dm.intent.REGISTRATION", - "com.google.android.c2dm.intent.UNREGISTER", - "com.google.android.contextmanager.service.ContextManagerService.START", - "com.google.android.gcm.intent.SEND", - "com.google.android.gms.accounts.ACCOUNT_SERVICE", - "com.google.android.gms.accountsettings.ACCOUNT_PREFERENCES_SETTINGS", - "com.google.android.gms.accountsettings.action.BROWSE_SETTINGS", - "com.google.android.gms.accountsettings.action.VIEW_SETTINGS", - "com.google.android.gms.accountsettings.MY_ACCOUNT", - "com.google.android.gms.accountsettings.PRIVACY_SETTINGS", - "com.google.android.gms.accountsettings.SECURITY_SETTINGS", - "com.google.android.gms.ads.gservice.START", - "com.google.android.gms.ads.identifier.service.EVENT_ATTESTATION", - "com.google.android.gms.ads.service.CACHE", - "com.google.android.gms.ads.service.CONSENT_LOOKUP", - "com.google.android.gms.ads.service.HTTP", - "com.google.android.gms.analytics.service.START", - "com.google.android.gms.app.settings.GoogleSettingsLink", - "com.google.android.gms.appstate.service.START", - "com.google.android.gms.appusage.service.START", - "com.google.android.gms.asterism.service.START", - "com.google.android.gms.audiomodem.service.AudioModemService.START", - "com.google.android.gms.audit.service.START", - "com.google.android.gms.auth.account.authapi.START", - "com.google.android.gms.auth.account.authenticator.auto.service.START", - "com.google.android.gms.auth.account.authenticator.chromeos.START", - "com.google.android.gms.auth.account.authenticator.tv.service.START", - "com.google.android.gms.auth.account.data.service.START", - "com.google.android.gms.auth.api.credentials.PICKER", - "com.google.android.gms.auth.api.credentials.service.START", - "com.google.android.gms.auth.api.identity.service.authorization.START", - "com.google.android.gms.auth.api.identity.service.credentialsaving.START", - "com.google.android.gms.auth.api.identity.service.signin.START", - "com.google.android.gms.auth.api.phone.service.InternalService.START", - "com.google.android.gms.auth.api.signin.service.START", - "com.google.android.gms.auth.be.appcert.AppCertService", - "com.google.android.gms.auth.blockstore.service.START", - "com.google.android.gms.auth.config.service.START", - "com.google.android.gms.auth.cryptauth.cryptauthservice.START", - "com.google.android.gms.auth.GOOGLE_SIGN_IN", - "com.google.android.gms.auth.login.LOGIN", - "com.google.android.gms.auth.proximity.devicesyncservice.START", - "com.google.android.gms.auth.proximity.securechannelservice.START", - "com.google.android.gms.auth.proximity.START", - "com.google.android.gms.auth.service.START", - "com.google.android.gms.backup.ACTION_BACKUP_SETTINGS", - "com.google.android.gms.backup.G1_BACKUP", - "com.google.android.gms.backup.G1_RESTORE", - "com.google.android.gms.backup.GMS_MODULE_RESTORE", - "com.google.android.gms.beacon.internal.IBleService.START", - "com.google.android.gms.car.service.START", - "com.google.android.gms.carrierauth.service.START", - "com.google.android.gms.cast.firstparty.START", - "com.google.android.gms.cast.remote_display.service.START", - "com.google.android.gms.cast.service.BIND_CAST_DEVICE_CONTROLLER_SERVICE", - "com.google.android.gms.cast_mirroring.service.START", - "com.google.android.gms.checkin.BIND_TO_SERVICE", - "com.google.android.gms.chromesync.service.START", - "com.google.android.gms.clearcut.service.START", - "com.google.android.gms.common.account.CHOOSE_ACCOUNT", - "com.google.android.gms.common.download.START", - "com.google.android.gms.common.service.START", - "com.google.android.gms.common.telemetry.service.START", - "com.google.android.gms.config.START", - "com.google.android.gms.constellation.service.START", - "com.google.android.gms.credential.manager.service.firstparty.START", - "com.google.android.gms.deviceconnection.service.START", - "com.google.android.gms.drive.ApiService.RESET_AFTER_BOOT", - "com.google.android.gms.drive.ApiService.START", - "com.google.android.gms.drive.ApiService.STOP", - "com.google.android.gms.droidguard.service.INIT", - "com.google.android.gms.droidguard.service.PING", - "com.google.android.gms.droidguard.service.START", - "com.google.android.gms.enterprise.loader.service.START", - "com.google.android.gms.facs.cache.service.START", - "com.google.android.gms.facs.internal.service.START", - "com.google.android.gms.feedback.internal.IFeedbackService", - "com.google.android.gms.fido.credentialstore.internal_service.START", - "com.google.android.gms.fido.fido2.privileged.START", - "com.google.android.gms.fido.fido2.regular.START", - "com.google.android.gms.fido.fido2.zeroparty.START", - "com.google.android.gms.fido.sourcedevice.service.START", - "com.google.android.gms.fido.targetdevice.internal_service.START", - "com.google.android.gms.fido.u2f.privileged.START", - "com.google.android.gms.fido.u2f.thirdparty.START", - "com.google.android.gms.fido.u2f.zeroparty.START", - "com.google.android.gms.fitness.BleApi", - "com.google.android.gms.fitness.ConfigApi", - "com.google.android.gms.fitness.GoalsApi", - "com.google.android.gms.fitness.GoogleFitnessService.START", - "com.google.android.gms.fitness.HistoryApi", - "com.google.android.gms.fitness.InternalApi", - "com.google.android.gms.fitness.RecordingApi", - "com.google.android.gms.fitness.SensorsApi", - "com.google.android.gms.fitness.SessionsApi", - "com.google.android.gms.fonts.service.START", - "com.google.android.gms.freighter.service.START", - "com.google.android.gms.games.internal.connect.service.START", - "com.google.android.gms.games.PLAY_GAMES_UPGRADE", - "com.google.android.gms.games.service.START", - "com.google.android.gms.gass.START", - "com.google.android.gms.gmscompliance.service.START", - "com.google.android.gms.googlehelp.HELP", - "com.google.android.gms.googlehelp.service.GoogleHelpService.START", - "com.google.android.gms.growth.service.START", - "com.google.android.gms.herrevad.services.LightweightNetworkQualityAndroidService.START", - "com.google.android.gms.icing.INDEX_SERVICE", - "com.google.android.gms.icing.LIGHTWEIGHT_INDEX_SERVICE", - "com.google.android.gms.identity.service.BIND", - "com.google.android.gms.inappreach.service.START", - "com.google.android.gms.instantapps.START", - "com.google.android.gms.kids.service.START", - "com.google.android.gms.languageprofile.service.START", - "com.google.android.gms.learning.internal.dynamitesupport.START", - "com.google.android.gms.learning.intservice.START", - "com.google.android.gms.learning.predictor.START", - "com.google.android.gms.learning.trainer.START", - "com.google.android.gms.learning.training.background.START", - "com.google.android.gms.location.places.GeoDataApi", - "com.google.android.gms.location.places.PlaceDetectionApi", - "com.google.android.gms.location.places.PlacesApi", - "com.google.android.gms.location.reporting.service.START", - "com.google.android.gms.location.settings.LOCATION_HISTORY", - "com.google.android.gms.location.settings.LOCATION_REPORTING_SETTINGS", - "com.google.android.gms.locationsharing.api.START", - "com.google.android.gms.locationsharingreporter.service.START", - "com.google.android.gms.lockbox.service.START", - "com.google.android.gms.matchstick.lighter.service.START", - "com.google.android.gms.mdm.services.DeviceManagerApiService.START", - "com.google.android.gms.mdm.services.START", - "com.google.android.gms.mdns.service.START", - "com.google.android.gms.measurement.START", - "com.google.android.gms.nearby.bootstrap.service.NearbyBootstrapService.START", - "com.google.android.gms.nearby.connection.service.START", - "com.google.android.gms.nearby.fastpair.START", - "com.google.android.gms.nearby.messages.service.NearbyMessagesService.START", - "com.google.android.gms.nearby.sharing.service.NearbySharingService.START", - "com.google.android.gms.nearby.sharing.START_SERVICE", - "com.google.android.gms.notifications.service.START", - "com.google.android.gms.ocr.service.internal.START", - "com.google.android.gms.ocr.service.START", - "com.google.android.gms.oss.licenses.service.START", - "com.google.android.gms.payse.service.BIND", - "com.google.android.gms.people.contactssync.service.START", - "com.google.android.gms.people.service.START", - "com.google.android.gms.phenotype.service.START", - "com.google.android.gms.photos.autobackup.service.START", - "com.google.android.gms.playlog.service.START", - "com.google.android.gms.plus.service.default.INTENT", - "com.google.android.gms.plus.service.image.INTENT", - "com.google.android.gms.plus.service.internal.START", - "com.google.android.gms.plus.service.START", - "com.google.android.gms.potokens.service.START", - "com.google.android.gms.pseudonymous.service.START", - "com.google.android.gms.rcs.START", - "com.google.android.gms.reminders.service.START", - "com.google.android.gms.romanesco.MODULE_BACKUP_AGENT", - "com.google.android.gms.romanesco.service.START", - "com.google.android.gms.safetynet.service.START", - "com.google.android.gms.scheduler.ACTION_PROXY_SCHEDULE", - "com.google.android.gms.search.service.SEARCH_AUTH_START", - "com.google.android.gms.semanticlocation.service.START_ODLH", - "com.google.android.gms.sesame.service.BIND", - "com.google.android.gms.settings.EXPOSURE_NOTIFICATION_SETTINGS", - "com.google.android.gms.setup.auth.SecondDeviceAuth.START", - "com.google.android.gms.signin.service.START", - "com.google.android.gms.smartdevice.d2d.SourceDeviceService.START", - "com.google.android.gms.smartdevice.d2d.TargetDeviceService.START", - "com.google.android.gms.smartdevice.directtransfer.SourceDirectTransferService.START", - "com.google.android.gms.smartdevice.directtransfer.TargetDirectTransferService.START", - "com.google.android.gms.smartdevice.postsetup.PostSetupService.START", - "com.google.android.gms.smartdevice.setup.accounts.AccountsService.START", - "com.google.android.gms.smartdevice.wifi.START_WIFI_HELPER_SERVICE", - "com.google.android.gms.social.location.activity.service.START", - "com.google.android.gms.speech.service.START", - "com.google.android.gms.statementservice.EXECUTE", - "com.google.android.gms.stats.ACTION_UPLOAD_DROPBOX_ENTRIES", - "com.google.android.gms.tapandpay.service.BIND", - "com.google.android.gms.telephonyspam.service.START", - "com.google.android.gms.testsupport.service.START", - "com.google.android.gms.thunderbird.service.START", - "com.google.android.gms.trustagent.BridgeApi.START", - "com.google.android.gms.trustagent.StateApi.START", - "com.google.android.gms.trustagent.trustlet.trustletmanagerservice.BIND", - "com.google.android.gms.trustlet.bluetooth.service.BIND", - "com.google.android.gms.trustlet.connectionlessble.service.BIND", - "com.google.android.gms.trustlet.face.service.BIND", - "com.google.android.gms.trustlet.nfc.service.BIND", - "com.google.android.gms.trustlet.onbody.service.BIND", - "com.google.android.gms.trustlet.place.service.BIND", - "com.google.android.gms.trustlet.voiceunlock.service.BIND", - "com.google.android.gms.udc.service.START", - "com.google.android.gms.update.START_API_SERVICE", - "com.google.android.gms.update.START_SERVICE", - "com.google.android.gms.update.START_SINGLE_USER_API_SERVICE", - "com.google.android.gms.update.START_TV_API_SERVICE", - "com.google.android.gms.usagereporting.service.START", - "com.google.android.gms.userlocation.service.START", - "com.google.android.gms.vehicle.cabin.service.START", - "com.google.android.gms.vehicle.climate.service.START", - "com.google.android.gms.vehicle.info.service.START", - "com.google.android.gms.wallet.service.BIND", - "com.google.android.gms.walletp2p.service.firstparty.BIND", - "com.google.android.gms.walletp2p.service.zeroparty.BIND", - "com.google.android.gms.wearable.BIND", - "com.google.android.gms.wearable.BIND_LISTENER", - "com.google.android.gms.wearable.DATA_CHANGED", - "com.google.android.gms.wearable.MESSAGE_RECEIVED", - "com.google.android.gms.wearable.NODE_CHANGED", - "com.google.android.gsf.action.GET_GLS", - "com.google.android.location.settings.LOCATION_REPORTING_SETTINGS", - "com.google.android.mdd.service.START", - "com.google.android.mdh.service.listener.START", - "com.google.android.mdh.service.START", - "com.google.android.mobstore.service.START", - "com.google.firebase.auth.api.gms.service.START", - "com.google.firebase.dynamiclinks.service.START", + "com.google.android.c2dm.intent.RECEIVE", "com.google.iid.TOKEN_REQUEST", - "com.google.android.gms.location.places.ui.PICK_PLACE", + + // people + "com.google.android.gms.people.service.START", + + // auth + "com.google.android.gsf.login", + "com.google.android.gsf.action.GET_GLS", + "com.google.android.gms.auth.service.START", + "com.google.android.gms.signin.service.START", + "com.google.android.gms.accountsettings.action.VIEW_SETTINGS", + "com.google.android.gms.auth.account.authapi.START", + + // gass + "com.google.android.gms.gass.START", + + // help + "com.google.android.gms.googlehelp.service.GoogleHelpService.START", + "com.google.android.gms.googlehelp.HELP", + "com.google.android.gms.feedback.internal.IFeedbackService", + + // cast + "com.google.android.gms.cast.firstparty.START", + "com.google.android.gms.cast.service.BIND_CAST_DEVICE_CONTROLLER_SERVICE", + + // fonts + "com.google.android.gms.fonts", + + // phenotype + "com.google.android.gms.phenotype.service.START", + + // misc + "com.google.android.gms.clearcut.service.START", + "com.google.android.gms.languageprofile.service.START", + "com.google.android.gms.measurement.START", + "com.google.android.gms.pseudonymous.service.START", + "com.google.android.gms.usagereporting.service.START", + "com.google.android.gms.wallet.service.BIND", + + // potoken + "com.google.android.gms.potokens.service.START", + + // droidguard + "com.google.android.gms.droidguard.service.START", ) - /** - * All content provider authorities. - */ val AUTHORITIES = setOf( - "com.google.android.gms.auth.accounts", - "com.google.android.gms.chimera", - "com.google.android.gms.fonts", - "com.google.android.gms.phenotype", + // gsf "com.google.android.gsf.gservices", - "com.google.settings", + + // auth + "com.google.android.gms.auth.accounts", + + // fonts + "com.google.android.gms.fonts", + + // phenotype + "com.google.android.gms.phenotype", ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/mapping/ResourceMappingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/mapping/ResourceMappingPatch.kt index a19a19599..f48e8f201 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/mapping/ResourceMappingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/mapping/ResourceMappingPatch.kt @@ -77,5 +77,6 @@ enum class ResourceType(val value: String) { INTEGER("integer"), LAYOUT("layout"), STRING("string"), - STYLE("style") + STYLE("style"), + XML("xml") } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt index 6d9012f87..5ba50bab4 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt @@ -21,6 +21,7 @@ import app.revanced.util.fingerprint.matchOrThrow import app.revanced.util.fingerprint.methodOrThrow import app.revanced.util.fingerprint.mutableClassOrThrow import app.revanced.util.getReference +import app.revanced.util.getWalkerMethod import app.revanced.util.indexOfFirstInstructionOrThrow import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode @@ -103,9 +104,9 @@ fun baseSpoofStreamingDataPatch( "fetchStreams(Ljava/lang/String;Ljava/util/Map;)V" if (entrySetIndex < 0) smaliInstructions = """ - move-object/from16 v$mapRegister, p1 - - """ + smaliInstructions + move-object/from16 v$mapRegister, p1 + + """ + smaliInstructions // Copy request headers for streaming data fetch. addInstructions(newRequestBuilderIndex + 2, smaliInstructions) @@ -366,25 +367,38 @@ fun baseSpoofStreamingDataPatch( // endregion - // region Set DroidGuard poToken. - - poTokenToStringFingerprint.mutableClassOrThrow().let { - val poTokenClass = it.fields.find { field -> - field.accessFlags == AccessFlags.PRIVATE.value && field.type.startsWith("L") - }!!.type - - findMethodOrThrow(poTokenClass) { - name == "" && - parameters == listOf("[B") - }.addInstruction( - 1, - "invoke-static { p1 }, $EXTENSION_CLASS_DESCRIPTOR->setDroidGuardPoToken([B)V" - ) - } - - // endregion - executeBlock() } + + finalize { + gmsServiceBrokerFingerprint.methodOrThrow() + .addInstructionsWithLabels( + 0, """ + invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->isSpoofingEnabled()Z + move-result v0 + if-eqz v0, :ignore + return-void + :ignore + nop + """ + ) + + gmsServiceBrokerExceptionFingerprint.matchOrThrow().let { + val walkerIndex = it.patternMatch!!.startIndex + val walkerMethod = it.getWalkerMethod(walkerIndex) + + walkerMethod.apply { + val insertIndex = indexOfFirstInstructionOrThrow(Opcode.CHECK_CAST) + val insertRegister = getInstruction(insertIndex).registerA + + addInstructions( + insertIndex + 1, """ + invoke-static {v$insertRegister}, $EXTENSION_CLASS_DESCRIPTOR->isSpoofingEnabled(Ljava/lang/Object;)Ljava/lang/Object; + move-result-object v$insertRegister + """ + ) + } + } + } } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt index 265b1c245..8be26a661 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt @@ -198,21 +198,20 @@ internal val hlsCurrentTimeFingerprint = legacyFingerprint( literals = listOf(HLS_CURRENT_TIME_FEATURE_FLAG), ) -internal val poTokenToStringFingerprint = legacyFingerprint( - name = "poTokenToStringFingerprint", - returnType = "Ljava/lang/String;", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = emptyList(), - strings = listOf("UTF-8"), - customFingerprint = { method, classDef -> - method.name == "toString" && - classDef.fields.find { it.type == "[B" } != null && - // In YouTube, this field's type is 'Lcom/google/android/gms/potokens/PoToken;'. - // In YouTube Music, this class name is obfuscated. - classDef.fields.find { - it.accessFlags == AccessFlags.PRIVATE.value && it.type.startsWith( - "L" - ) - } != null - }, +internal val gmsServiceBrokerFingerprint = legacyFingerprint( + name = "gmsServiceBrokerFingerprint", + returnType = "V", + strings = listOf("mServiceBroker is null, client disconnected") ) + +internal val gmsServiceBrokerExceptionFingerprint = legacyFingerprint( + name = "gmsServiceBrokerExceptionFingerprint", + returnType = "V", + parameters = listOf("Ljava/lang/Exception;"), + opcodes = listOf( + Opcode.INVOKE_VIRTUAL, + Opcode.RETURN_VOID + ), + strings = listOf("Exception must not be null") +) + diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/useragent/BaseSpoofUserAgentPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/useragent/BaseSpoofUserAgentPatch.kt index 105472d90..2b1999dfe 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/useragent/BaseSpoofUserAgentPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/useragent/BaseSpoofUserAgentPatch.kt @@ -1,13 +1,19 @@ package app.revanced.patches.shared.spoof.useragent +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patches.shared.transformation.IMethodCall import app.revanced.patches.shared.transformation.filterMapInstruction35c import app.revanced.patches.shared.transformation.transformInstructionsPatch +import app.revanced.util.fingerprint.methodOrThrow import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstruction +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.indexOfFirstInstructionReversedOrThrow +import app.revanced.util.indexOfFirstStringInstructionOrThrow 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.reference.MethodReference import com.android.tools.smali.dexlib2.iface.reference.StringReference @@ -66,6 +72,22 @@ fun baseSpoofUserAgentPatch( ) } }, + executeBlock = { + apiStatsFingerprint.methodOrThrow().apply { + val stringIndex = indexOfFirstStringInstructionOrThrow(CLIENT_PACKAGE_NAME) + val putIndex = indexOfFirstInstructionOrThrow(stringIndex) { + opcode == Opcode.INVOKE_INTERFACE && + getReference()?.name == "put" + } + val packageNameRegister = getInstruction(putIndex).registerE + val insertIndex = indexOfFirstInstructionReversedOrThrow(putIndex, Opcode.INVOKE_STATIC) + + addInstruction( + insertIndex, + "const-string v$packageNameRegister, \"$packageName\"", + ) + } + }, ) @Suppress("unused") diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/useragent/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/useragent/Fingerprints.kt new file mode 100644 index 000000000..28a43f446 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/useragent/Fingerprints.kt @@ -0,0 +1,14 @@ +package app.revanced.patches.shared.spoof.useragent + +import app.revanced.util.fingerprint.legacyFingerprint +import app.revanced.util.or +import com.android.tools.smali.dexlib2.AccessFlags + +const val CLIENT_PACKAGE_NAME = "cbr" + +internal val apiStatsFingerprint = legacyFingerprint( + name = "apiStatsFingerprint", + accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, + returnType = "V", + strings = listOf(CLIENT_PACKAGE_NAME), +) diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/transformation/TransformInstructionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/transformation/TransformInstructionsPatch.kt index 46a78a714..c01aa1456 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/transformation/TransformInstructionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/transformation/TransformInstructionsPatch.kt @@ -1,5 +1,6 @@ package app.revanced.patches.shared.transformation +import app.revanced.patcher.patch.BytecodePatchContext import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.util.findMutableMethodOf @@ -10,6 +11,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.Instruction fun transformInstructionsPatch( filterMap: (ClassDef, Method, Instruction, Int) -> T?, transform: (MutableMethod, T) -> Unit, + executeBlock: BytecodePatchContext.() -> Unit = {}, ) = bytecodePatch( description = "transformInstructionsPatch" ) { @@ -49,5 +51,7 @@ fun transformInstructionsPatch( while (!patchIndices.isEmpty()) transform(mutableMethod, patchIndices.removeLast()) } } + + executeBlock() } } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/translations/BaseTranslationsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/translations/BaseTranslationsPatch.kt index 8554a4d62..3c9dc5ee8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/translations/BaseTranslationsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/translations/BaseTranslationsPatch.kt @@ -2,7 +2,9 @@ package app.revanced.patches.shared.translations import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.util.doRecursively import app.revanced.util.inputStreamFromBundledResource +import org.w3c.dom.Element import org.w3c.dom.Node import java.io.File import java.nio.file.Files @@ -59,7 +61,7 @@ fun ResourcePatchContext.baseTranslationsPatch( val destinationFile = valuesDirectory.resolve("strings.xml") updateStringsXml(customLangFile, destinationFile) - } catch (e: Exception) { + } catch (_: Exception) { // Exception is thrown if an invalid path is used in the patch option. throw PatchException("Invalid custom translations path: $customLang") } @@ -85,6 +87,33 @@ fun ResourcePatchContext.baseTranslationsPatch( resourceDirectory.resolve("values-$language").takeIf { it.exists() && it.isDirectory } ?.deleteRecursively() } + + // Filter the app languages to include both versions of locales (with and without 'r', en-rGB and en-GB) + // and also handle locales with "b+" prefix + val filteredAppLanguages = selectedStringResourcesArray.flatMap { language -> + setOf(language, language.replace("-r", "-"), + language.replace("b+", "").replace("+", "-")) + }.toTypedArray() + + // Remove unselected app languages from UI + document("res/xml/locales_config.xml").use { document -> + val nodesToRemove = mutableListOf() + + document.doRecursively { node -> + if (node is Element && node.tagName == "locale") { + node.getAttributeNode("android:name")?.let { attribute -> + if (attribute.textContent != "en" && attribute.textContent !in filteredAppLanguages) { + nodesToRemove.add(node) + } + } + } + } + + // Remove the collected nodes (avoids NullPointerException) + for (node in nodesToRemove) { + node.parentNode?.removeChild(node) + } + } } /** diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt index e4fb18962..5e91100d4 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt @@ -5,7 +5,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE import app.revanced.patches.youtube.utils.extension.Constants.GENERAL_CLASS_DESCRIPTOR -import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_AUTO_AUDIO_TRACKS +import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_FORCED_AUTO_AUDIO_TRACKS import app.revanced.patches.youtube.utils.settings.ResourceUtils.addPreference import app.revanced.patches.youtube.utils.settings.settingsPatch import app.revanced.util.fingerprint.methodOrThrow @@ -19,8 +19,8 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference @Suppress("unused") val audioTracksPatch = bytecodePatch( - DISABLE_AUTO_AUDIO_TRACKS.title, - DISABLE_AUTO_AUDIO_TRACKS.summary, + DISABLE_FORCED_AUTO_AUDIO_TRACKS.title, + DISABLE_FORCED_AUTO_AUDIO_TRACKS.summary, ) { compatibleWith(COMPATIBLE_PACKAGE) @@ -67,7 +67,7 @@ val audioTracksPatch = bytecodePatch( "PREFERENCE_SCREEN: GENERAL", "SETTINGS: DISABLE_AUTO_AUDIO_TRACKS" ), - DISABLE_AUTO_AUDIO_TRACKS + DISABLE_FORCED_AUTO_AUDIO_TRACKS ) // endregion diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt index 2beaf7ae2..824ab430f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt @@ -3,14 +3,14 @@ package app.revanced.patches.youtube.general.autocaptions import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.shared.captions.baseAutoCaptionsPatch import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE -import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_AUTO_CAPTIONS +import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_FORCED_AUTO_CAPTIONS import app.revanced.patches.youtube.utils.settings.ResourceUtils.addPreference import app.revanced.patches.youtube.utils.settings.settingsPatch @Suppress("unused") val autoCaptionsPatch = bytecodePatch( - DISABLE_AUTO_CAPTIONS.title, - DISABLE_AUTO_CAPTIONS.summary, + DISABLE_FORCED_AUTO_CAPTIONS.title, + DISABLE_FORCED_AUTO_CAPTIONS.summary, ) { compatibleWith(COMPATIBLE_PACKAGE) @@ -28,7 +28,7 @@ val autoCaptionsPatch = bytecodePatch( "PREFERENCE_SCREEN: GENERAL", "SETTINGS: DISABLE_AUTO_CAPTIONS" ), - DISABLE_AUTO_CAPTIONS + DISABLE_FORCED_AUTO_CAPTIONS ) // endregion diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/general/spoofappversion/SpoofAppVersionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/general/spoofappversion/SpoofAppVersionPatch.kt index fd9711fde..c942b4489 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/general/spoofappversion/SpoofAppVersionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/general/spoofappversion/SpoofAppVersionPatch.kt @@ -8,6 +8,7 @@ import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.shared.spoof.appversion.baseSpoofAppVersionPatch import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE import app.revanced.patches.youtube.utils.extension.Constants.GENERAL_CLASS_DESCRIPTOR +import app.revanced.patches.youtube.utils.fix.cairo.cairoFragmentPatch import app.revanced.patches.youtube.utils.indexOfGetDrawableInstruction import app.revanced.patches.youtube.utils.patch.PatchList.SPOOF_APP_VERSION import app.revanced.patches.youtube.utils.playservice.is_18_34_or_greater @@ -30,6 +31,10 @@ import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction import com.android.tools.smali.dexlib2.iface.reference.MethodReference +/** + * No longer needed due to [cairoFragmentPatch]. + * TODO: Test sufficiently and remove the patch. + */ private val spoofAppVersionBytecodePatch = bytecodePatch( description = "spoofAppVersionBytecodePatch" ) { diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt index 610481143..eb15ecab7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt @@ -254,6 +254,7 @@ private var preferenceKey = setOf( "offline_key", "pair_with_tv_key", "parent_tools_key", + "playback_key", "premium_early_access_browse_page_key", "privacy_key", "subscription_product_setting_key", diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/SharedExtensionPatch.kt index 263d4fb8c..e2ba7dc77 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/SharedExtensionPatch.kt @@ -1,11 +1,17 @@ package app.revanced.patches.youtube.utils.extension +import app.revanced.patches.shared.extension.hooks.cronetEngineContextHook +import app.revanced.patches.shared.extension.hooks.firebaseInitProviderContextHook import app.revanced.patches.shared.extension.sharedExtensionPatch import app.revanced.patches.youtube.utils.extension.hooks.applicationInitHook import app.revanced.patches.youtube.utils.extension.hooks.mainActivityBaseContextHook +import app.revanced.patches.youtube.utils.extension.hooks.urlActivityBaseContextHook // TODO: Move this to a "Hook.kt" file. Same for other extension hook patches. val sharedExtensionPatch = sharedExtensionPatch( applicationInitHook, + cronetEngineContextHook, + firebaseInitProviderContextHook, mainActivityBaseContextHook, + urlActivityBaseContextHook, ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/hooks/UrlActivityBaseContextHook.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/hooks/UrlActivityBaseContextHook.kt new file mode 100644 index 000000000..b14d0b71e --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/hooks/UrlActivityBaseContextHook.kt @@ -0,0 +1,32 @@ +package app.revanced.patches.youtube.utils.extension.hooks + +import app.revanced.patches.shared.extension.extensionHook +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +private var attachBaseContextIndex = -1 + +internal val urlActivityBaseContextHook = extensionHook( + insertIndexResolver = { method -> + attachBaseContextIndex = method.indexOfFirstInstructionOrThrow { + getReference()?.name == "attachBaseContext" + } + + attachBaseContextIndex + 1 + }, + contextRegisterResolver = { method -> + val overrideInstruction = + method.implementation!!.instructions.elementAt(attachBaseContextIndex) + as FiveRegisterInstruction + "v${overrideInstruction.registerD}" + }, +) { + returns("V") + parameters("Landroid/content/Context;") + custom { method, classDef -> + classDef.endsWith("/Shell_UrlActivity;") && + method.name == "attachBaseContext" + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/attributes/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/attributes/Fingerprints.kt new file mode 100644 index 000000000..fe681928e --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/attributes/Fingerprints.kt @@ -0,0 +1,24 @@ +package app.revanced.patches.youtube.utils.fix.attributes + +import app.revanced.patches.youtube.utils.resourceid.ytOutlineMoonZ +import app.revanced.util.fingerprint.legacyFingerprint +import app.revanced.util.or +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode + +/** + * Tested on YouTube 19.25.xx ~ YouTube 20.02.xx. + */ +internal val setSleepTimerDrawableFingerprint = legacyFingerprint( + name = "setSleepTimerDrawableFingerprint", + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, + parameters = listOf("Z", "Ljava/lang/String;"), + opcodes = listOf( + Opcode.INVOKE_VIRTUAL, // Context.getResources() + Opcode.MOVE_RESULT_OBJECT, + Opcode.CONST, // R.drawable.yt_outline_moon_z_vd_theme_24 + Opcode.INVOKE_VIRTUAL, // Resources.getDrawable(int) + ), + literals = listOf(ytOutlineMoonZ), +) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/attributes/ThemeAttributesPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/attributes/ThemeAttributesPatch.kt new file mode 100644 index 000000000..7f3e98af6 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/attributes/ThemeAttributesPatch.kt @@ -0,0 +1,67 @@ +package app.revanced.patches.youtube.utils.fix.attributes + +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.extensions.InstructionExtensions.removeInstructions +import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.youtube.utils.playservice.is_19_25_or_greater +import app.revanced.patches.youtube.utils.playservice.versionCheckPatch +import app.revanced.patches.youtube.utils.resourceid.sharedResourceIdPatch +import app.revanced.util.fingerprint.matchOrThrow +import app.revanced.util.referenceMatchesOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction + +val themeAttributesPatch = bytecodePatch( + description = "themeAttributesPatch" +) { + dependsOn( + sharedResourceIdPatch, + versionCheckPatch, + ) + + execute { + if (!is_19_25_or_greater) { + return@execute + } + + /** + * There is a warning in the logcat of an unpatched YouTube 19.25.39+: + * + * Drawable com.google.android.youtube:drawable/yt_outline_moon_z_vd_theme_24 has unresolved theme attributes! Consider using Resources.getDrawable(int, Theme) or Context.getDrawable(int). + * java.lang.RuntimeException + * at android.content.res.Resources.getDrawable(Resources.java:857) + * + * According to [stackoverflow](https://stackoverflow.com/questions/28932306/logcat-says-resource-has-unresolved-theme-attributes), + * Replace [Resources.getDrawable(int)] with [Context.getDrawable(int)]. + */ + setSleepTimerDrawableFingerprint.matchOrThrow().let { + it.method.apply { + val getResourcesIndex = it.patternMatch!!.startIndex + val getDrawableIndex = it.patternMatch!!.endIndex + + // Verify that the correct pattern has been found. + referenceMatchesOrThrow( + getResourcesIndex, + "Landroid/content/Context;->getResources()Landroid/content/res/Resources;" + ) + referenceMatchesOrThrow( + getDrawableIndex, + "Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;" + ) + + val contextRegister = + getInstruction(getResourcesIndex).registerC + val identifierRegister = + getInstruction(getDrawableIndex).registerD + + replaceInstruction( + getDrawableIndex, + "invoke-virtual {v$contextRegister, v$identifierRegister}, " + + "Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;" + ) + removeInstructions(getResourcesIndex, 2) + } + } + + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/CairoFragmentPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/CairoFragmentPatch.kt new file mode 100644 index 000000000..a6ead82f6 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/CairoFragmentPatch.kt @@ -0,0 +1,120 @@ +package app.revanced.patches.youtube.utils.fix.cairo + +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.patch.resourcePatch +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.patches.youtube.utils.playservice.is_19_34_or_greater +import app.revanced.patches.youtube.utils.playservice.versionCheckPatch +import app.revanced.patches.youtube.utils.resourceid.settingsFragmentCairo +import app.revanced.patches.youtube.utils.resourceid.sharedResourceIdPatch +import app.revanced.util.fingerprint.methodCall +import app.revanced.util.fingerprint.methodOrThrow +import app.revanced.util.getReference +import app.revanced.util.getWalkerMethod +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.indexOfFirstLiteralInstructionOrThrow +import app.revanced.util.insertNode +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.MethodReference +import org.w3c.dom.Element + +private val cairoFragmentResourcePatch = resourcePatch( + description = "cairoFragmentResourcePatch" +) { + dependsOn(versionCheckPatch) + + execute { + /** + * Cairo fragment have been widely rolled out in YouTube 19.34+. + */ + if (!is_19_34_or_greater) { + return@execute + } + + /** + * The Preference key for 'Playback' is '@string/playback_key'. + * Copy the node to add the Preference 'Playback' to the legacy settings fragment. + */ + document("res/xml/settings_fragment.xml").use { document -> + val tags = document.getElementsByTagName("Preference") + List(tags.length) { tags.item(it) as Element } + .find { it.getAttribute("android:key") == "@string/auto_play_key" } + ?.let { node -> + node.insertNode("Preference", node) { + for (index in 0 until node.attributes.length) { + with (node.attributes.item(index)) { + setAttribute(nodeName, nodeValue) + } + } + setAttribute("android:key", "@string/playback_key") + } + } + } + + } +} + +/** + * What [cairoFragmentPatch] does: + * 1. Disable Cairo fragment settings. + * 2. Fix - When spoofing the app version to 19.20 or earlier, the app crashes or the Notifications tab is inaccessible. + * 3. Fix - Preference 'Playback' is hidden. + * 4. Some settings that were in Preference 'General' are moved to Preference 'Playback'. + */ +val cairoFragmentPatch = bytecodePatch( + description = "cairoFragmentPatch" +) { + dependsOn( + cairoFragmentResourcePatch, + sharedResourceIdPatch, + versionCheckPatch + ) + + execute { + /** + * Cairo fragment have been widely rolled out in YouTube 19.34+. + */ + if (!is_19_34_or_greater) { + return@execute + } + + // Instead of disabling all Cairo fragment configs, + // Just disable 'Load Cairo fragment xml' and 'Set style to Cairo preference'. + val cairoFragmentConfigMethodCall = cairoFragmentConfigFingerprint + .methodCall() + + fun MutableMethod.disableCairoFragmentConfig() { + val insertIndex = indexOfFirstInstructionOrThrow { + opcode == Opcode.INVOKE_VIRTUAL && + getReference()?.toString() == cairoFragmentConfigMethodCall + } + 2 + val insertRegister = getInstruction(insertIndex - 1).registerA + + addInstruction(insertIndex, "const/4 v$insertRegister, 0x0") + } + + settingsFragmentSyntheticFingerprint.methodOrThrow().apply { + val literalIndex = indexOfFirstLiteralInstructionOrThrow(settingsFragmentCairo) + val fragmentStyleIndex = indexOfFirstInstructionOrThrow(literalIndex) { + val reference = getReference() + opcode == Opcode.INVOKE_VIRTUAL_RANGE && + reference?.returnType == "V" && + reference.parameterTypes.firstOrNull() == "Ljava/lang/String;" + } + val fragmentStyleMethod = getWalkerMethod(fragmentStyleIndex) + + arrayOf( + // Load cairo fragment xml. + this, + // Set style to cairo preference. + fragmentStyleMethod + ).forEach { method -> + method.disableCairoFragmentConfig() + } + } + + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/CairoSettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/CairoSettingsPatch.kt index c4474b53f..14fadf405 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/CairoSettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/CairoSettingsPatch.kt @@ -2,31 +2,42 @@ package app.revanced.patches.youtube.utils.fix.cairo import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.youtube.misc.backgroundplayback.backgroundPlaybackPatch -import app.revanced.patches.youtube.utils.playservice.is_19_04_or_greater -import app.revanced.patches.youtube.utils.playservice.versionCheckPatch import app.revanced.util.fingerprint.injectLiteralInstructionBooleanCall +/** + * As of 2025, responses to [Account/Get Setting](https://youtubei.googleapis.com/youtubei/v1/account/get_setting) + * requests no longer include the Preference 'Autoplay' (YouTube 19.34+). + * + * In YouTube 19.34+, the Preference 'Playback' of the Cairo fragment replaces the Preference 'Autoplay'. + * + * Since RVX disables the Cairo fragment, + * users who have newly installed RVX 19.34+ will no longer be able to turn 'Autoplay next video' on or off in YouTube settings. + * + * As a workaround, [cairoSettingsPatch] has been replaced by [cairoFragmentPatch]. + */ +@Deprecated("Use 'cairoFragmentPatch' instead.") +@Suppress("unused") val cairoSettingsPatch = bytecodePatch( description = "cairoSettingsPatch" ) { - dependsOn(versionCheckPatch) + dependsOn(cairoFragmentPatch) execute { - if (!is_19_04_or_greater) { + if (true) { return@execute } /** - * Cairo Fragment was added since YouTube v19.04.38. + * Cairo fragment was added since YouTube v19.04.38. * Disable this for the following reasons: * 1. [backgroundPlaybackPatch] does not activate the Minimized playback setting of Cairo Fragment. - * 2. Some patches implemented in RVX do not yet support Cairo Fragments. + * 2. Some patches implemented in RVX do not yet support Cairo fragments. * * See ReVanced_Extended#2099 * or uYouPlus#1468 - * for screenshots of the Cairo Fragment. + * for screenshots of the Cairo fragment. */ - carioFragmentConfigFingerprint.injectLiteralInstructionBooleanCall( + cairoFragmentConfigFingerprint.injectLiteralInstructionBooleanCall( CAIRO_FRAGMENT_FEATURE_FLAG, "0x0" ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/Fingerprints.kt index 11ef1f932..1e592cbc8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fix/cairo/Fingerprints.kt @@ -3,6 +3,9 @@ package app.revanced.patches.youtube.utils.fix.cairo import app.revanced.util.fingerprint.legacyFingerprint import app.revanced.util.or import com.android.tools.smali.dexlib2.AccessFlags +import app.revanced.patches.youtube.utils.resourceid.settingsFragment +import app.revanced.patches.youtube.utils.resourceid.settingsFragmentCairo +import com.android.tools.smali.dexlib2.Opcode /** * Added in YouTube v19.04.38 @@ -12,9 +15,17 @@ import com.android.tools.smali.dexlib2.AccessFlags */ internal const val CAIRO_FRAGMENT_FEATURE_FLAG = 45532100L -internal val carioFragmentConfigFingerprint = legacyFingerprint( - name = "carioFragmentConfigFingerprint", +internal val cairoFragmentConfigFingerprint = legacyFingerprint( + name = "cairoFragmentConfigFingerprint", returnType = "Z", accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, literals = listOf(CAIRO_FRAGMENT_FEATURE_FLAG), ) + +internal val settingsFragmentSyntheticFingerprint = legacyFingerprint( + name = "settingsFragmentSyntheticFingerprint", + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, + opcodes = listOf(Opcode.INVOKE_VIRTUAL_RANGE), + literals = listOf(settingsFragment, settingsFragmentCairo), +) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt index 2e944d1ba..f7e622b80 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt @@ -57,12 +57,12 @@ internal enum class PatchList( "Disable QUIC protocol", "Adds an option to disable CronetEngine's QUIC protocol." ), - DISABLE_AUTO_AUDIO_TRACKS( - "Disable auto audio tracks", + DISABLE_FORCED_AUTO_AUDIO_TRACKS( + "Disable forced auto audio tracks", "Adds an option to disable audio tracks from being automatically enabled." ), - DISABLE_AUTO_CAPTIONS( - "Disable auto captions", + DISABLE_FORCED_AUTO_CAPTIONS( + "Disable forced auto captions", "Adds an option to disable captions from being automatically enabled." ), DISABLE_HAPTIC_FEEDBACK( @@ -79,7 +79,7 @@ internal enum class PatchList( ), ENABLE_OPUS_CODEC( "Enable OPUS codec", - "Adds an options to enable the OPUS audio codec if the player response includes." + "Adds an options to enable the OPUS audio codec if the player response includes it." ), ENABLE_DEBUG_LOGGING( "Enable debug logging", @@ -167,7 +167,7 @@ internal enum class PatchList( ), MINIPLAYER( "Miniplayer", - "Adds options to change the in app minimized player, and if patching target 19.16+ adds options to use modern miniplayers." + "Adds options to change the in-app minimized player, and if patching target 19.16+ adds options to use modern miniplayers." ), NAVIGATION_BAR_COMPONENTS( "Navigation bar components", @@ -175,7 +175,7 @@ internal enum class PatchList( ), OVERLAY_BUTTONS( "Overlay buttons", - "Adds options to display overlay buttons in the video player." + "Adds options to display useful overlay buttons in the video player." ), PLAYER_COMPONENTS( "Player components", @@ -231,7 +231,7 @@ internal enum class PatchList( ), THEME( "Theme", - "Changes the app's theme to the values specified in patch options." + "Changes the app's themes to the values specified in patch options." ), TOOLBAR_COMPONENTS( "Toolbar components", diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/resourceid/SharedResourceIdPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/resourceid/SharedResourceIdPatch.kt index ddbf22d3d..64a23bfc0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/resourceid/SharedResourceIdPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/resourceid/SharedResourceIdPatch.kt @@ -10,6 +10,7 @@ import app.revanced.patches.shared.mapping.ResourceType.INTEGER import app.revanced.patches.shared.mapping.ResourceType.LAYOUT import app.revanced.patches.shared.mapping.ResourceType.STRING import app.revanced.patches.shared.mapping.ResourceType.STYLE +import app.revanced.patches.shared.mapping.ResourceType.XML import app.revanced.patches.shared.mapping.get import app.revanced.patches.shared.mapping.resourceMappingPatch import app.revanced.patches.shared.mapping.resourceMappings @@ -190,6 +191,10 @@ var seekEasyHorizontalTouchOffsetToStartScrubbing = -1L private set var seekUndoEduOverlayStub = -1L private set +var settingsFragment = -1L + private set +var settingsFragmentCairo = -1L + private set var slidingDialogAnimation = -1L private set var subtitleMenuSettingsFooterInfo = -1L @@ -222,6 +227,8 @@ var youTubeLogo = -1L private set var ytFillBell = -1L private set +var ytOutlineMoonZ = -1L + private set var ytOutlinePictureInPictureWhite = -1L private set var ytOutlineVideoCamera = -1L @@ -592,6 +599,14 @@ internal val sharedResourceIdPatch = resourcePatch( ID, "seek_undo_edu_overlay_stub" ] + settingsFragment = resourceMappings[ + XML, + "settings_fragment" + ] + settingsFragmentCairo = resourceMappings[ + XML, + "settings_fragment_cairo" + ] slidingDialogAnimation = resourceMappings[ STYLE, "SlidingDialogAnimation" @@ -656,6 +671,10 @@ internal val sharedResourceIdPatch = resourcePatch( DRAWABLE, "yt_fill_bell_black_24" ] + ytOutlineMoonZ = resourceMappings[ + DRAWABLE, + "yt_outline_moon_z_vd_theme_24" + ] ytOutlinePictureInPictureWhite = resourceMappings[ DRAWABLE, "yt_outline_picture_in_picture_white_24" diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt index caa5ebb0c..82cf48b41 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt @@ -14,7 +14,8 @@ import app.revanced.patches.shared.mainactivity.injectOnCreateMethodCall import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE import app.revanced.patches.youtube.utils.extension.Constants.UTILS_PATH import app.revanced.patches.youtube.utils.extension.sharedExtensionPatch -import app.revanced.patches.youtube.utils.fix.cairo.cairoSettingsPatch +import app.revanced.patches.youtube.utils.fix.attributes.themeAttributesPatch +import app.revanced.patches.youtube.utils.fix.cairo.cairoFragmentPatch import app.revanced.patches.youtube.utils.fix.playbackspeed.playbackSpeedWhilePlayingPatch import app.revanced.patches.youtube.utils.fix.splash.darkModeSplashScreenPatch import app.revanced.patches.youtube.utils.mainactivity.mainActivityResolvePatch @@ -122,9 +123,10 @@ val settingsPatch = resourcePatch( dependsOn( settingsBytecodePatch, - cairoSettingsPatch, + cairoFragmentPatch, darkModeSplashScreenPatch, playbackSpeedWhilePlayingPatch, + themeAttributesPatch, ) val insertPosition = stringOption( diff --git a/patches/src/main/kotlin/app/revanced/util/BytecodeUtils.kt b/patches/src/main/kotlin/app/revanced/util/BytecodeUtils.kt index cd58c6e34..18edf0a80 100644 --- a/patches/src/main/kotlin/app/revanced/util/BytecodeUtils.kt +++ b/patches/src/main/kotlin/app/revanced/util/BytecodeUtils.kt @@ -529,6 +529,11 @@ fun Method.findInstructionIndicesReversedOrThrow(opcode: Opcode): List { return instructions } +fun Method.referenceMatchesOrThrow(targetIndex: Int, reference: String) { + val targetReference = getInstruction(targetIndex).reference.toString() + if (reference != targetReference) throw PatchException("References do not match. Expected: '$reference', Found: '$targetReference'") +} + /** * Called for _all_ instructions with the given literal value. */ diff --git a/patches/src/main/resources/music/settings/host/values/strings.xml b/patches/src/main/resources/music/settings/host/values/strings.xml index c3479c6a5..f13e807e1 100644 --- a/patches/src/main/resources/music/settings/host/values/strings.xml +++ b/patches/src/main/resources/music/settings/host/values/strings.xml @@ -79,18 +79,18 @@ Limitations: Flyout Menu - Enable compact dialog - "Enables the compact flyout menu on phones. - -Limitations: -• Album art in the Library tab becomes smaller when organized in a grid. -• Sleep timer layout may appear unusual." Add Trim silence switch "Adds a Trim silence switch to the playback speed flyout menu. Info: • This feature is for podcasts. • This feature is still in development, so it may be unstable." + Enable compact dialog + "Enables the compact flyout menu on phones. + +Limitations: +• Album art in the Library tab becomes smaller when organized in a grid. +• Sleep timer layout may appear unusual." Hide Like and Dislike buttons Hide 3-column component Hide Add to queue menu @@ -143,10 +143,10 @@ Info: Home Library Subscriptions - Disable forced auto captions - Disables captions from being automatically enabled. Disable dislike redirection Disables redirection to the next track when clicking the Dislike button. + Disable forced auto captions + Disables auto captions from being forced on. Enable landscape mode Enables landscape mode when rotating the screen on phones. Enable custom filter @@ -159,28 +159,28 @@ Info: Hides the button shelf in the feed. Hide carousel shelf Hides the carousel shelf in the feed. - Hide playlist card shelf - Hides the playlist card shelf in the feed. - Hide Samples shelf - Hides the Samples shelf in the feed. Hide Cast button Hides the Cast button. Hide category bar Hides the category bar. Hide floating button Hides the floating button in the Library tab. - Hide Tap to update button - Hides the Tap to update button. Hide History button Hides the History button in the toolbar. Hide Notifications button Hides the Notifications button in the toolbar. + Hide playlist card shelf + Hides the playlist card shelf in the feed. + Hide Samples shelf + Hides the Samples shelf in the feed. Hide sound search button Hides the sound search button in the search bar. + Hide Tap to update button + Hides the Tap to update button. Hide voice search button Hides the voice search button in the search bar. - Restore old style library shelf - Returns the Library tab to the old style. (Experimental) + Restore old Library tab + Restores the Library tab to the old style. (Experimental) Remove viewer discretion dialog "Removes the viewer discretion dialog. This does not bypass the age restriction. It just accepts it automatically." @@ -214,52 +214,52 @@ This does not bypass the age restriction. It just accepts it automatically."Hide navigation bar Hides the navigation bar. Hide navigation labels - Hides labels below the navigation buttons. + Hides the label below each navigation buttons. Player - Disable miniplayer gesture - Disable swipe to change tracks in the miniplayer. - Disable player gesture - Disable swipe to change tracks in the player. - Enable black player background - Changes the player background color to black. - Enable color match player - Matches the color of the miniplayer to the fullscreen player. - Enable force minimized player - Keeps the player minimized even when another track is played. Add miniplayer next button Adds a next track button to the miniplayer. Add miniplayer previous button Adds a previous track button to the miniplayer. + Change miniplayer color + Changes the miniplayer color to that of fullscreen player. + Change player background color + Changes the player background color to black. + Disable miniplayer gesture + Disables swipe to change tracks in the miniplayer. + Disable player gesture + Disables swipe to change tracks in the player. + Enable forced miniplayer + Enables forced miniplayer when switching to a new track. Enable swipe to dismiss miniplayer Enables swipe down to dismiss miniplayer. Enable Zen mode - Changes the player background color to light grey to reduce eye strain. + Enables a light grey color for the player background to reduce eye strain. Enable Zen mode in podcasts - Also enables Zen mode for podcasts. - Hide Audio / Video toggle - Hides the Audio / Video toggle in the player. + Enables Zen mode in podcasts. Hide channel guidelines Hides the channel guidelines at the top of the comments section. - Hide timestamp and emoji buttons - Hides the timestamp and emoji buttons when typing comments. Hide double-tap overlay filter Hides dark overlay that appears when double-tapping to seek. + Hide emoji and timestamp buttons + Hides the emoji and timestamp buttons when typing comments. Hide fullscreen Share button Hides the Share button in the fullscreen player. + Hide Song / Video toggle + Hides the Song / Video toggle in the player. Remember repeat state Remembers the state of the repeat toggle. Remember shuffle state Remembers the state of the shuffle toggle. Restore old comments popup panels - Returns the comments popup panels to the old style. + Restores the comments popup panels to the old style. Restore old player background - Returns the player background to the old style. + Restores the player background to the old style. Restore old player layout - "Returns the player layout to the old style. + "Restores the player layout to the old style. Some features may not work properly in the old player layout." @@ -379,7 +379,7 @@ Click to see how to issue a API key." Only for use in music videos. Sections of music videos without music, that aren\'t already covered by another category. Skipped sponsor. - Skipped self promotion. + Skipped self-promotion. Skipped annoying reminder. Skipped intro. Skipped intermission. @@ -412,6 +412,23 @@ Click to see how to issue a API key." Miscellaneous + Import / Export settings + Import or export settings. + + Export settings to file + Import settings from file + Import / Export settings as text + + Failed to export settings. + Settings were successfully exported. + Import + Copy + Import failed: %s. + Settings reset to default. + Imported %d settings. + Reset + Settings copied to clipboard. + Bypass image region restrictions Replaces the domain that is blocked in some regions so that playlist thumbnails, channel avatars, etc. can be received. Change share sheet @@ -429,8 +446,8 @@ Find the official song if a music video is detected playing from an album. Redirection type Specifies how to redirect to official song. Redirect - Tap Audio / Video toggle - Tap and hold Audio / Video toggle + Tap Song / Video toggle + Tap and hold Song / Video toggle Enable debug logging Prints the debug log. Enable debug buffer logging @@ -441,24 +458,8 @@ Find the official song if a music video is detected playing from an album. Info: • Latest YouTube Music clients use the OPUS audio codec by default. • This is only valid for users spoofing with very old clients." - - Open GmsCore - Enable cloud messaging to receive notifications. - GmsCore is not installed. Install it. - Action needed - "GmsCore does not have permission to run in the background. - -Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. - -This is required for the app to work." - Open website - "GmsCore battery optimizations must be disabled to prevent issues. - -Disabling battery optimizations for GmsCore will not negatively affect battery usage. - -Tap the continue button and allow optimization changes." - Continue - + Sanitize sharing links + Removes tracking query parameters from URLs when sharing links. Spoof client "Spoof the client to prevent playback issues. @@ -482,27 +483,23 @@ Tap the continue button and allow optimization changes." Android VR Android Music - Sanitize sharing links - Removes tracking query parameters from URLs when sharing links. - Open default app settings To open YouTube Music links in RVX Music, enable \'Open supported links\' and enable the supported web addresses. - Import / Export settings - Import or export settings. + Open GmsCore settings + Opens GmsCore settings. Then enable cloud messaging to receive notifications. + GmsCore is not installed. Install it. + Action needed + "GmsCore does not have permission to run in the background. - Export settings to file - Import settings from file - Import / Export settings as text +Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. - Failed to export settings. - Settings were successfully exported. - Import - Copy - Import failed: %s. - Settings reset to default. - Imported %d settings. - Reset - Settings copied to clipboard. +This is required for the app to work." + Open website + "GmsCore battery optimizations must be disabled to prevent issues. +Disabling battery optimizations for GmsCore will not negatively affect battery usage. + +Tap the continue button and allow optimization changes." + Continue diff --git a/patches/src/main/resources/music/translations/bg-rBG/strings.xml b/patches/src/main/resources/music/translations/bg-rBG/strings.xml index 21f9281a4..0ede7da4a 100644 --- a/patches/src/main/resources/music/translations/bg-rBG/strings.xml +++ b/patches/src/main/resources/music/translations/bg-rBG/strings.xml @@ -61,18 +61,18 @@ Скриване на банера за подновяване на Premium. Падащо меню - Компактен изглед на прозореца - "Активира компактно изскачащо меню на телефони. - -Известни проблеми: -• Скрийнсейвърите на албуми в раздела \"Библиотека\" стават по-малки в мрежа. -• Интерфейсът за автоматично изключване може да изглежда необичайно." Добавете опция „Скриване на мълчанията“ "Добавя „Скриване на мълчанията“ към падащото меню „Скорост на възпроизвеждане“. Информация: • Тази функция е предназначена за подкасти. • Тази функция все още е в процес на разработка, така че може да е нестабилна." + Компактен изглед на прозореца + "Активира компактно изскачащо меню на телефони. + +Известни проблеми: +• Скрийнсейвърите на албуми в раздела \"Библиотека\" стават по-малки в мрежа. +• Интерфейсът за автоматично изключване може да изглежда необичайно." Скриване на бутоните за харесване и нехаресване Скриване на компонента с 3 колони Скрийте бутона „Добавяне към опашката“ @@ -120,10 +120,10 @@ Начало Библиотека Абонаменти - Изкл. принудителни автоматични субтититри - Изкл. принудителни автоматични субтититри. Désactiver la redirection du bouton \"Je n\'aime pas\" Деактивира пренасочването към следващата песен, когато щракнете върху бутона „Не харесвам“. + Изкл. принудителни автоматични субтититри + Изкл. принудителни автоматични субтититри. Позволи Пейзажен Режим Активира пейзажен режим при завъртане на телефона. Вкл. на филтър по избор @@ -136,24 +136,24 @@ Скриване на секцията с бутони в емисията. Скриване на рафта с Препоръчани Скриване на рафтовете с предложения в емисиите. - Скрийте рафтовете „Списъци за изпълнение“ - Скрива рафтовете с карти „Списъци за изпълнение“ в емисии. - Скрийте рафта „Семпли“ - Скриване на рафтовете с Семпли в емисиите. Скриване на бутона за предаване на Тв Скрива бутона \"Излъчване\". Скриване на панела с Категории Скриване на панела с категории. Скриване на изскачащ бутон Скрива плаващите бутони в библиотеката. - Скрийте бутона „Докоснете за актуализиране“ - Скриване на бутона „Докоснете за актуализиране“. Скрийте бутона \"История\" Скрива бутона \"История\" от лентата с инструменти. Бутон за Известия Скрива бутона „Известие“ от лентата с инструменти. + Скрийте рафтовете „Списъци за изпълнение“ + Скрива рафтовете с карти „Списъци за изпълнение“ в емисии. + Скрийте рафта „Семпли“ + Скриване на рафтовете с Семпли в емисиите. Бутон за \"Звуково търсене\" Скрива бутона „звуково търсене на музика“ от лентата за търсене. + Скрийте бутона „Докоснете за актуализиране“ + Скриване на бутона „Докоснете за актуализиране“. Бутон за \"гласово търсене\" Скрива бутона „Гласово търсене“ от лентата за търсене. Възстановете стария стил на рафта „Библиотека“ @@ -203,9 +203,9 @@ - Вкл. отчети за грешки - Включване на OPUS аудио кодек Импортирайте или експортирайте настройки като текст. Внасяне Копиране + Вкл. отчети за грешки + Включване на OPUS аудио кодек diff --git a/patches/src/main/resources/music/translations/bn/strings.xml b/patches/src/main/resources/music/translations/bn/strings.xml index 7b5b930a8..092ad74e4 100644 --- a/patches/src/main/resources/music/translations/bn/strings.xml +++ b/patches/src/main/resources/music/translations/bn/strings.xml @@ -70,14 +70,14 @@ - ডিবাগ লগ সক্রিয় করুন - ডিবাগ লগ প্রিন্ট করে - Opus কোডেক সক্রিয় করুন - "অডিও প্লে করার সময় ২৫০/২৫১ অপাস কোডেক সক্রিয় করুন।" আমদানি / রপ্তানি টেক্সট আকারে সেটিং আমদানি বা রপ্তানি করুন। আমদানি করুন কপি করুন সেটিং পূর্ব নির্ধারিততে ফিরে গিয়েছে %d সেটিং আমদানি হয়েছে + ডিবাগ লগ সক্রিয় করুন + ডিবাগ লগ প্রিন্ট করে + Opus কোডেক সক্রিয় করুন + "অডিও প্লে করার সময় ২৫০/২৫১ অপাস কোডেক সক্রিয় করুন।" diff --git a/patches/src/main/resources/music/translations/el-rGR/strings.xml b/patches/src/main/resources/music/translations/el-rGR/strings.xml index 28a5a435f..3471ce0d4 100644 --- a/patches/src/main/resources/music/translations/el-rGR/strings.xml +++ b/patches/src/main/resources/music/translations/el-rGR/strings.xml @@ -67,18 +67,18 @@ Απόκρυψη των ετικετών προειδοποίησης προώθησης. Αναδυόμενο μενού ρυθμίσεων - Αναδυόμενο μενού μικρότερου στυλ - "Χρήση μικρότερου στυλ για το αναδυόμενο μενού. - -Περιορισμοί: -• Τα εξώφυλλα άλμπουμ στην καρτέλα βιβλιοθήκης γίνονται μικρότερα επίσης. -• Η διεπαφή του χρονομέτρου ύπνου ενδέχεται να φαίνεται ασυνήθιστη." Ενεργοποίηση περικοπής σίγασης "Ενεργοποίηση της λειτουργίας «Περικοπή σίγασης» στο αναδυόμενο μενού αλλαγής ταχύτητας αναπαραγωγής. Πληροφορίες: • Αυτή η λειτουργία είναι για ηχητικές εκπομπές. • Αυτή η λειτουργία είναι ακόμη υπό ανάπτυξη, οπότε ενδέχεται να είναι ασταθής." + Αναδυόμενο μενού μικρότερου στυλ + "Χρήση μικρότερου στυλ για το αναδυόμενο μενού. + +Περιορισμοί: +• Τα εξώφυλλα άλμπουμ στην καρτέλα βιβλιοθήκης γίνονται μικρότερα επίσης. +• Η διεπαφή του χρονομέτρου ύπνου ενδέχεται να φαίνεται ασυνήθιστη." Απόκρυψη κουμπιών «Μου αρέσει» και «Δεν μου αρέσει» Απόκρυψη στοιχείου 3 στηλών Απόκρυψη μενού «Προσθήκη στην ουρά» @@ -128,10 +128,10 @@ Αρχική Βιβλιοθήκη Εγγραφές - Απενεργοποίηση αυτόματων υπότιτλων - Απενεργοποίηση της αυτόματης ενεργοποίησης υπότιτλων. Απενεργοποίηση ανακατεύθυνσης dislike Απενεργοποίηση της ανακατεύθυνσης στο επόμενο κομμάτι όταν πατάτε το κουμπί «Δεν μου αρέσει». + Απενεργοποίηση αυτόματων υπότιτλων + Απενεργοποίηση της εξαναγκαστικής ενεργοποίησης αυτόματων υπότιτλων. Ενεργοποίηση οριζόντιας λειτουργίας Ενεργοποίηση της οριζόντιας λειτουργίας με την περιστροφή της οθόνης. Προσαρμοσμένο φίλτρο @@ -144,27 +144,27 @@ Απόκρυψη της ενότητας κουμπιών στη ροή. Απόκρυψη ενότητας καρουζέλ Απόκρυψη ενότητας καρουζέλ στη ροή. - Απόκρυψη καρτών λίστας αναπαραγωγής - Απόκρυψη της ενότητας καρτών λίστας αναπαραγωγής στη ροή. - Απόκρυψη ενότητας «Δείγματα» - Απόκρυψη της ενότητας «Δείγματα» στη ροή. Απόκρυψη κουμπιού μετάδοσης Απόκρυψη του κουμπιού μετάδοσης. Απόκρυψη γραμμής κατηγοριών Απόκρυψη της γραμμής κατηγοριών. Απόκρυψη αιωρούμενου κουμπιού Απόκρυψη του αιωρούμενου κουμπιού στην καρτέλα βιβλιοθήκης. - Απόκρυψη κουμπιού «Πατήστε για ενημέρωση» - Απόκρυψη του κουμπιού «Πατήστε για ενημέρωση». Απόκρυψη κουμπιού ιστορικού Απόκρυψη του κουμπιού ιστορικού στη γραμμή εργαλείων. Απόκρυψη κουμπιού ειδοποιήσεων Απόκρυψη του κουμπιού ειδοποιήσεων στη γραμμή εργαλείων. + Απόκρυψη καρτών λίστας αναπαραγωγής + Απόκρυψη της ενότητας καρτών λίστας αναπαραγωγής στη ροή. + Απόκρυψη ενότητας «Δείγματα» + Απόκρυψη της ενότητας «Δείγματα» στη ροή. Απόκρυψη κουμπιού ηχητικής αναζήτησης Απόκρυψη του κουμπιού ηχητικής αναζήτησης στην γραμμή αναζήτησης. + Απόκρυψη κουμπιού «Πατήστε για ενημέρωση» + Απόκρυψη του κουμπιού «Πατήστε για ενημέρωση». Απόκρυψη κουμπιού φωνητικής αναζήτησης Απόκρυψη του κουμπιού φωνητικής αναζήτησης στην γραμμή αναζήτησης. - Ενότητα βιβλιοθήκης παλιού στυλ + Επαναφορά παλιάς καρτέλας «Βιβλιοθήκη» Επιστροφή της ενότητας βιβλιοθήκης στο παλιό στυλ. (Πειραματικό) Αφαίρεση παραθύρου ηλικιακού περιορισμού "Αφαίρεση του παραθύρου προειδοποίησης ηλικιακού περιορισμού. @@ -199,36 +199,36 @@ Απόκρυψη ονομασιών των κουμπιών στη γραμμή πλοήγησης. Οθόνη αναπαραγωγής - Απενεργοποίηση χειρονομίας ελαχιστοποιημένης οθόνης αναπαραγωγής - Απενεργοποίηση της χειρονομίας σάρωσης για αλλαγή κομματιού στην ελαχιστοποιημένη οθόνη αναπαραγωγής. - Απενεργοποίηση χειρονομίας οθόνης αναπαραγωγής - Απενεργοποίηση της χειρονομίας σάρωσης για αλλαγή κομματιού στην οθόνη αναπαραγωγής. - Μαύρο φόντο οθόνης αναπαραγωγής - Αλλαγή χρώματος της οθόνης αναπαραγωγής σε μαύρο. - Ταίριασμα χρωμάτων οθόνων αναπαραγωγής - Να ταιριάζει το χρώμα της ελαχιστοποιημένης οθόνης αναπαραγωγής με αυτό της οθόνης αναπαραγωγής πλήρους οθόνης. - Εξαναγκαστική ελαχιστοποίηση οθόνης αναπαραγωγής - Να διατηρείται μόνιμα ελαχιστοποιημένο το πρόγραμμα αναπαραγωγής ακόμη και όταν αναπαράγεται άλλο κομμάτι. Κουμπί επόμενου βίντεο στον miniplayer Ενεργοποίηση του κουμπιού επόμενου βίντεο στην ελαχιστοποιημένη οθόνη αναπαραγωγής. Κουμπί προηγούμενου βίντεο στον miniplayer Ενεργοποίηση του κουμπιού προηγούμενου βίντεο στην ελαχιστοποιημένη οθόνη αναπαραγωγής. + Αλλαγή χρώματος ελαχιστοποιημένης οθόνης αναπαραγωγής + Αλλαγή του χρώματος της ελαχιστοποιημένης οθόνης αναπαραγωγής με αυτό της οθόνης αναπαραγωγής πλήρους οθόνης. + Αλλαγή χρώματος φόντου οθόνης αναπαραγωγής + Αλλαγή χρώματος της οθόνης αναπαραγωγής σε μαύρο. + Απενεργοποίηση χειρονομίας ελαχιστοποιημένης οθόνης αναπαραγωγής + Απενεργοποίηση της χειρονομίας σάρωσης για αλλαγή κομματιού στην ελαχιστοποιημένη οθόνη αναπαραγωγής. + Απενεργοποίηση χειρονομίας οθόνης αναπαραγωγής + Απενεργοποίηση της χειρονομίας σάρωσης για αλλαγή κομματιού στην οθόνη αναπαραγωγής. + Εξαναγκαστική ελαχιστοποίηση οθόνης αναπαραγωγής + Να διατηρείται μόνιμα ελαχιστοποιημένο το πρόγραμμα αναπαραγωγής ακόμη και όταν αναπαράγεται άλλο κομμάτι. Χειρονομία απόρριψης ελαχιστοποιημένης οθόνης αναπαραγωγής Ενεργοποίηση χειρονομίας σάρωσης προς τα κάτω για απόρριψη της ελαχιστοποιημένης οθόνης αναπαραγωγής. Ενεργοποίηση λειτουργίας zen - Προσθήκη μιας γκρι απόχρωσης στο παρασκήνιο της οθόνης αναπαραγωγής για να μειωθεί η καταπόνηση των ματιών. + Ενεργοποίηση μιας γκρι απόχρωσης στο παρασκήνιο της οθόνης αναπαραγωγής για να μειωθεί η καταπόνηση των ματιών. Λειτουργία zen σε ηχητικές εκπομπές - Η λειτουργία Zen εφαρμόζεται σε ηχητικές εκπομπές επίσης. - Απόκρυψη εναλλαγής ήχου-βίντεο - Απόκρυψη της εναλλαγής ήχου-βίντεο στην οθόνη αναπαραγωγής. + Ενεργοποίηση λειτουργίας Zen και σε ηχητικές εκπομπές. Απόκρυψη οδηγιών κοινότητας Απόκρυψη των οδηγιών κοινότητας στην κορυφή της ενότητας σχολίων. - Απόκρυψη κουμπιών χρονοσήμανσης & emoji - Απόκρυψη των κουμπιών χρονοσήμανσης και επιλογής emoji κατά την πληκτρολόγηση σχολίου. Απόκρυψη φόντου διπλού πατήματος της οθόνης αναπαραγωγής Απόκρυψη του σκοτεινού φόντου που εμφανίζεται στην οθόνη αναπαραγωγής όταν γίνεται διπλό πάτημα για αναζήτηση. + Απόκρυψη κουμπιών χρονοσήμανσης & emoji + Απόκρυψη των κουμπιών χρονοσήμανσης και επιλογής emoji κατά την πληκτρολόγηση σχολίου. Απόκρυψη κουμπιού κοινοποίησης στη λειτουργία πλήρους οθόνης Απόκρυψη του κουμπιού κοινοποίησης στην οθόνη αναπαραγωγής πλήρους οθόνης. + Απόκρυψη εναλλαγής ήχου / βίντεο + Απόκρυψη της εναλλαγής ήχου / βίντεο στην οθόνη αναπαραγωγής. Απομνημόνευση κατάστασης επανάληψης Απομνημόνευση της κατάστασης του κουμπιού επανάληψης. Απομνημόνευση κατάστασης ανακατέματος @@ -367,6 +367,20 @@ sponsor.ajay.app Διάφορα + Εισαγωγή / Εξαγωγή + Εισαγωγή ή εξαγωγή των ρυθμίσεών σας. + Εξαγωγή ρυθμίσεων σε αρχείο + Εισαγωγή ρυθμίσεων από αρχείο + Εισαγωγή / Εξαγωγή ρυθμίσεων ως κείμενο + Αποτυχία εξαγωγής ρυθμίσεων. + Οι ρυθμίσεις εξήχθησαν με επιτυχία. + Εισαγωγή + Αντιγραφή + Η εισαγωγή απέτυχε: %s. + Οι ρυθμίσεις επαναφέρθηκαν στις προεπιλογές. + Έγινε εισαγωγή %d ρυθμίσεων. + Επαναφορά + Οι ρυθμίσεις αντιγράφηκαν στο πρόχειρο. Παράκαμψη μπλοκαρίσματος φόρτωσης εικόνων Αντικατάσταση του domain για την φόρτωση εικόνων όπου είναι μπλοκαρισμένες σε ορισμένες περιοχές ώστε να μπορούν να ληφθούν μικρογραφίες βίντεο, εικόνες δημοσιεύσεων, κλπ. Αλλαγή μενού κοινοποίησης @@ -394,22 +408,8 @@ "Ενεργοποίηση του κωδικοποιητή OPUS αν η ανταπόκριση του προγράμματος αναπαραγωγής τον περιλαμβάνει. Πληροφορία: Οι τελευταίες εκδόσεις Android χρησιμοποιούν τον κωδικοποιητή opus από προεπιλογή, οπότε αυτή η ρύθμιση ισχύει μόνο για χρήστες που χρησιμοποιούν τη λειτουργία παραποίησης έκδοσης εφαρμογής, σε πολύ παλιές εκδόσεις." - Άνοιγμα του MicroG GmsCore - Ενεργοποιήστε τις ρυθμίσεις cloud messaging για να λαμβάνετε ειδοποιήσεις. - Το MicroG GmsCore δεν είναι εγκατεστημένο. Εγκαταστήστε το. - Απαιτείται ενέργεια - "Το MicroG GmsCore δεν έχει άδεια να τρέχει στο παρασκήνιο. - -Ακολουθήστε τον οδηγό \"Don't kill my app!\" για το τηλέφωνό σας και εφαρμόστε τις οδηγίες στο MicroG. - -Αυτό απαιτείται για να λειτουργήσει η εφαρμογή." - Άνοιγμα ιστοσελίδας - "Οι βελτιστοποιήσεις μπαταρίας πρέπει να απενεργοποιηθούν για το MicroG GmsCore ώστε να αποφευχθούν προβλήματα. - -Η απενεργοποίηση των βελτιστοποιήσεων μπαταρίας για το MicroG δεν θα επηρεάσει αρνητικά την κατανάλωση ενέργειας. - -Πατήστε το κουμπί «Συνέχεια» και επιτρέψτε τις αλλαγές βελτιστοποίησης." - Συνέχεια + Καθαρισμός συνδέσμων κοινοποίησης + Αφαίρεση των παραμέτρων παρακολούθησης από τις διευθύνσεις URL κατά την κοινοποίηση συνδέσμων. Παραποίηση προγράμματος πελάτη "Παραποίηση του προγράμματος πελάτη για την αποφυγή προβλημάτων αναπαραγωγής. @@ -431,22 +431,22 @@ Εμφάνιση του προγράμματος πελάτη που χρησιμοποιείται για τη λήψη δεδομένων ροής στο μενού «Στατιστικά για σπασίκλες». Android VR Android Music - Καθαρισμός συνδέσμων κοινοποίησης - Αφαίρεση των παραμέτρων παρακολούθησης από τις διευθύνσεις URL κατά την κοινοποίηση συνδέσμων. Άνοιγμα ρυθμίσεων προεπιλεγμένων εφαρμογών Για να ανοίγουν οι συνδέσμοι YouTube Music στο RVX Music, ενεργοποιήστε το «Άνοιγμα υποστηριζόμενων συνδέσμων» και τις υποστηριζόμενες διευθύνσεις ιστού. - Εισαγωγή / Εξαγωγή - Εισαγωγή ή εξαγωγή των ρυθμίσεών σας. - Εξαγωγή ρυθμίσεων σε αρχείο - Εισαγωγή ρυθμίσεων από αρχείο - Εισαγωγή / Εξαγωγή ρυθμίσεων ως κείμενο - Αποτυχία εξαγωγής ρυθμίσεων. - Οι ρυθμίσεις εξήχθησαν με επιτυχία. - Εισαγωγή - Αντιγραφή - Η εισαγωγή απέτυχε: %s. - Οι ρυθμίσεις επαναφέρθηκαν στις προεπιλογές. - Έγινε εισαγωγή %d ρυθμίσεων. - Επαναφορά - Οι ρυθμίσεις αντιγράφηκαν στο πρόχειρο. + Άνοιγμα του MicroG GmsCore + Ενεργοποιήστε τις ρυθμίσεις cloud messaging για να λαμβάνετε ειδοποιήσεις. + Το MicroG GmsCore δεν είναι εγκατεστημένο. Εγκαταστήστε το. + Απαιτείται ενέργεια + "Το MicroG GmsCore δεν έχει άδεια να τρέχει στο παρασκήνιο. + +Ακολουθήστε τον οδηγό \"Don't kill my app!\" για το τηλέφωνό σας και εφαρμόστε τις οδηγίες στο MicroG. + +Αυτό απαιτείται για να λειτουργήσει η εφαρμογή." + Άνοιγμα ιστοσελίδας + "Οι βελτιστοποιήσεις μπαταρίας πρέπει να απενεργοποιηθούν για το MicroG GmsCore ώστε να αποφευχθούν προβλήματα. + +Η απενεργοποίηση των βελτιστοποιήσεων μπαταρίας για το MicroG δεν θα επηρεάσει αρνητικά την κατανάλωση ενέργειας. + +Πατήστε το κουμπί «Συνέχεια» και επιτρέψτε τις αλλαγές βελτιστοποίησης." + Συνέχεια diff --git a/patches/src/main/resources/music/translations/es-rES/strings.xml b/patches/src/main/resources/music/translations/es-rES/strings.xml index a6d0ee1c7..c7c2bda18 100644 --- a/patches/src/main/resources/music/translations/es-rES/strings.xml +++ b/patches/src/main/resources/music/translations/es-rES/strings.xml @@ -64,18 +64,18 @@ Descarga %2$s desde el sitio web." Oculta el banner de alerta de promoción. Menú desplegable - Activar diálogo compacto - "Activa el diálogo compacto en el teléfono. - -Problemas conocidos: -- Las carátulas de los álbumes en la página de biblioteca se hacen pequeñas cuando se organizan por cuadrícula. -- El diseño del temporizador puede parecer inusual." Añadir interruptor para recortar silencios "Añade un interruptor para recortar silencios en el menú desplegable de velocidad de reproducción. Información: Esta función es para podcasts. Esta función aún está en desarrollo, por lo que puede ser inestable." + Activar diálogo compacto + "Activa el diálogo compacto en el teléfono. + +Problemas conocidos: +- Las carátulas de los álbumes en la página de biblioteca se hacen pequeñas cuando se organizan por cuadrícula. +- El diseño del temporizador puede parecer inusual." Ocultar botones Me gusta y No me gusta Ocultar componente de 3 columnas Ocultar menú de Añadir a la cola @@ -125,10 +125,10 @@ Esta función aún está en desarrollo, por lo que puede ser inestable."Inicio Biblioteca Suscripciones - Desactivar subtítulos automáticos - Desactiva la activación automática de los subtítulos forzados en el reproductor de vídeo. Desactivar redirección de No me Gusta Deshabilita la redirección a la siguiente pista al hacer clic en el botón No me Gusta. + Desactivar subtítulos automáticos + Desactiva la activación automática de los subtítulos forzados en el reproductor de vídeo. Activar modo horizontal Permite entrar en modo horizontal mediante la rotación de la pantalla del teléfono. Activar filtro personalizado @@ -141,24 +141,24 @@ Esta función aún está en desarrollo, por lo que puede ser inestable."Oculta el estante de botones de la página de inicio y del explorador. Ocultar estante de carrusel Oculta el estante de carrusel de la página de inicio y del explorador. - Ocultar tarjeta de lista de reproducción - Oculta la tarjeta de lista de reproducción del feed. - Ocultar estante de Samples - Oculta estante de Samples en el feed. Ocultar botón de transmisión Oculta el botón de trasmisión en la parte superior de la página de inicio y en la parte superior del reproductor. Ocultar barra de categorías Oculta la barra de categorías musicales de la parte superior de la página de inicio. Ocultar botón flotante Oculta el botón flotante en la pestaña Biblioteca. - Ocultar el botón Toque para actualizar - Oculta el botón Toque para actualizar. Ocultar botón de historial Oculta el botón de historial en la barra de herramientas. Ocultar botón de Notificaciones Oculta el botón de notificaciones en la barra de herramientas. + Ocultar tarjeta de lista de reproducción + Oculta la tarjeta de lista de reproducción del feed. + Ocultar estante de Samples + Oculta estante de Samples en el feed. Ocultar botón de búsqueda de sonido Oculta el botón de búsqueda de sonido en la barra de búsqueda. + Ocultar el botón Toque para actualizar + Oculta el botón Toque para actualizar. Ocultar botón de búsqueda por voz Oculta el botón de búsqueda por voz en la barra de búsqueda. Restaurar el estante de la biblioteca de estilo antiguo @@ -196,36 +196,36 @@ Esto no evita la restricción de edad. Solo la acepta automáticamente."Oculta las etiquetas en la barra de navegación. Reproductor - Desactivar gesto de minireproductor - Desactivar el gesto de deslizar para cambiar de pista en el minireproductor. - Desactivar gesto del reproductor - Desactivar el gesto de deslizar para cambiar de pista en el reproductor. - Activar fondo de reproductor negro - Cambia el color de fondo del reproductor a negro. - Activar coincidencia de color de reproductores - Hace coincidir el color del reproductor a pantalla completa con el de minimizado. - Activar reproductor minimizado forzado - Mantiene el reproductor permanentemente minimizado incluso si se reproduce otra pista. Añadir botón siguiente al minireproductor Añadir botón siguiente pista al minireproductor. Añadir botón anterior al minireproductor Añadir botón pista anterior al minireproductor. + Activar coincidencia de color de reproductores + Hace coincidir el color del reproductor a pantalla completa con el de minimizado. + Activar fondo de reproductor negro + Cambia el color de fondo del reproductor a negro. + Desactivar gesto de minireproductor + Desactivar el gesto de deslizar para cambiar de pista en el minireproductor. + Desactivar gesto del reproductor + Desactivar el gesto de deslizar para cambiar de pista en el reproductor. + Activar reproductor minimizado forzado + Mantiene el reproductor permanentemente minimizado incluso si se reproduce otra pista. Activar deslizar para descartar el minireproductor Permite deslizar hacia abajo para descartar el minireproductor. Activar modo zen Añade un tinte gris al reproductor de vídeo para reducir la fatiga visual. Activar el modo Zen en podcasts También activa el modo Zen para podcasts. - Ocultar Interruptor de Audio / Video - Oculta el interruptor de Audio / Video en el reproductor. Ocultar normas del canal Oculta las normas del canal en la parte superior de la sección de comentarios. - Ocultar botones de marca de tiempo y emoji - Oculta los botones marca de tiempo y emoji al escribir comentarios. Oculta la capa que aparece al tocar dos veces Oculta la superposición oscura que aparece al tocar dos veces para buscar. + Ocultar botones de marca de tiempo y emoji + Oculta los botones marca de tiempo y emoji al escribir comentarios. Ocultar el botón Compartir en pantalla completa Oculta el botón Compartir en el reproductor de pantalla completa. + Ocultar Interruptor de Audio / Video + Oculta el interruptor de Audio / Video en el reproductor. Recordar estado de repetición Recuerda el estado de la repetición. Recordar estado aleatorio @@ -364,6 +364,20 @@ Toca para ver cómo crear una clave de API." sponsor.ajay.app Otros + Importar / Exportar + Importar o exportar ajustes como texto. + Exportar ajustes a archivo + Importar ajustes desde archivo + Importar o exportar ajustes como texto + Error al exportar los ajustes. + Los ajustes se han exportado correctamente. + Importar + Copiar + Error de importación: %s + La configuración se restableció a los valores predeterminados. + Configuración importada de %d. + Restablecer + Ajustes copiados en el portapapeles. Eludir las restricciones regionales de imágenes Reemplaza el dominio que está bloqueado en algunas regiones para que las miniaturas de la lista de reproducción, avatares de canales, etc. puedan ser recibidas. Cambiar la hoja de compartir @@ -389,20 +403,8 @@ Se usa una instancia redireccionada, pero la API puede no estar disponible en al Incluye el búfer en el registro de depuración. Activar códec opus "Activa el códec Opus 250/251 al reproducir audio." - Abrir GmsCore - Activa los ajustes de mensajería en la nube para recibir notificaciones. - GmsCore no está instalado. Instálalo. - Acción necesaria - "GmsCore no tiene permiso para ejecutarse en segundo plano. - -Sigue la guía \"Don't kill my app!\" para tu dispositivo y aplica las instrucciones a tu instalación de GmsCore. - -Esto es necesario para que la aplicación funcione." - Abrir página Web - "Las optimizaciones de la batería para GmsCore deben estar desactivadas para evitar problemas. - -Pulsa el botón de continuar y desactiva las optimizaciones de la batería." - Continuar + Desinfectar enlaces compartidos + Elimina los parámetros de consulta de seguimiento de las URL al compartir enlaces. Falsificar cliente "\"falsifica al cliente para evitar problemas de reproducción. @@ -427,22 +429,20 @@ Limitaciones: Muestra el cliente utilizado para obtener datos de streaming en Estadísticas para nerds. Android VR Android Music - Desinfectar enlaces compartidos - Elimina los parámetros de consulta de seguimiento de las URL al compartir enlaces. Abrir ajustes predeterminados de la app Para abrir los enlaces de YouTube Music en RVX Music, activa \'Abrir enlaces soportados\' y activa las direcciones web soportadas. - Importar / Exportar - Importar o exportar ajustes como texto. - Exportar ajustes a archivo - Importar ajustes desde archivo - Importar o exportar ajustes como texto - Error al exportar los ajustes. - Los ajustes se han exportado correctamente. - Importar - Copiar - Error de importación: %s - La configuración se restableció a los valores predeterminados. - Configuración importada de %d. - Restablecer - Ajustes copiados en el portapapeles. + Abrir GmsCore + Activa los ajustes de mensajería en la nube para recibir notificaciones. + GmsCore no está instalado. Instálalo. + Acción necesaria + "GmsCore no tiene permiso para ejecutarse en segundo plano. + +Sigue la guía \"Don't kill my app!\" para tu dispositivo y aplica las instrucciones a tu instalación de GmsCore. + +Esto es necesario para que la aplicación funcione." + Abrir página Web + "Las optimizaciones de la batería para GmsCore deben estar desactivadas para evitar problemas. + +Pulsa el botón de continuar y desactiva las optimizaciones de la batería." + Continuar diff --git a/patches/src/main/resources/music/translations/fr-rFR/strings.xml b/patches/src/main/resources/music/translations/fr-rFR/strings.xml index 30186be91..a107379a8 100644 --- a/patches/src/main/resources/music/translations/fr-rFR/strings.xml +++ b/patches/src/main/resources/music/translations/fr-rFR/strings.xml @@ -64,18 +64,18 @@ Veuillez télécharger %2$s à partir du site web." Masque la bannière d\'alerte de promotion. Menu déroulant - Activer la boîte de dialogue compacte - "Active le menu déroulant compact sur téléphones. - -Limitations : -• Les pochettes d'albums de la bibliothèque deviennent petites si organisées en mode grille. -• La mise en page du délai de mise en veille peut être inhabituelle." Ajouter une option \"Masquer les silences\" "Ajoute \"Masquer les silences\" dans le menu \"Vitesse de lecture\" du menu déroulant. Info : • Cette fonctionnalité est destinée aux podcasts. • Cette fonctionnalité est encore en développement, elle peut donc être instable." + Activer la boîte de dialogue compacte + "Active le menu déroulant compact sur téléphones. + +Limitations : +• Les pochettes d'albums de la bibliothèque deviennent petites si organisées en mode grille. +• La mise en page du délai de mise en veille peut être inhabituelle." Masquer les boutons \"J\'aime\" et \"Je n\'aime pas\" Masquer le composant à 3 colonnes Masquer le bouton \"Ajouter à la file d\'attente\" @@ -123,10 +123,10 @@ Info : Accueil Bibliothèque Abonnements - Désactiver les sous-titres forcés - Désactive les sous-titres automatiquement activés. Désactiver la redirection du bouton \"Je n\'aime pas\" Désactive le passage à la piste suivante lorsque vous cliquez sur le bouton \"Je n\'aime pas\". + Désactiver les sous-titres forcés + Désactive les sous-titres automatiquement activés. Activer le mode paysage Active le mode paysage lors de la rotation du téléphone. Activer le filtre personnalisé @@ -139,24 +139,24 @@ Info : Masque les étagères à boutons dans les flux. Masquer les étagères à suggestions Masque les étagères à suggestions dans les flux. - Masquer les étagères de cartes \"Playlists\" - Masque les étagères de cartes \"Playlists\" dans les flux. - Masquer l’étagère \"Samples\" - Masque l’étagère \"Samples\" dans les flux. Masquer le bouton \"Caster\" Masque le Bouton \"Caster\". Masquer la barre de catégories Masque la barre de catégorie. Masquer les boutons flottants Masque les boutons flottants dans la bibliothèque. - Masquer le bouton \"Appuyer pour mettre à jour\" - Masque le bouton \"Appuyer pour mettre à jour\". Masquer le bouton \"Historique\" Masque le bouton \"Historique\" de la barre d\'outils. Masquer les boutons \"Notification\" Masque le bouton \"Notification\" de la barre d\'outils. + Masquer les étagères de cartes \"Playlists\" + Masque les étagères de cartes \"Playlists\" dans les flux. + Masquer l’étagère \"Samples\" + Masque l’étagère \"Samples\" dans les flux. Masquer le bouton \"Rechercher une musique\" Masque le bouton \"Rechercher une musique\" de la barre de recherche. + Masquer le bouton \"Appuyer pour mettre à jour\" + Masque le bouton \"Appuyer pour mettre à jour\". Masquer le bouton \"Recherche vocale\" Masque le bouton \"Recherche vocale\" de la barre de recherche. Restaurer l\'ancien style de l’étagère \"Bibliothèque\" @@ -194,36 +194,36 @@ Cela ne contourne pas la restriction d'âge, mais le confirme automatiquement."< Masque le nom sous les boutons de la barre de navigation. Lecteur - Désactiver les gestes du minilecteur - Désactive les gestes pour changer de musique dans le minilecteur. - Désactiver les gestes du lecteur - Désactive les gestes pour changer de musique dans le lecteur. - Activer l\'interface du lecteur en noir - Change la couleur de l\'interface du lecteur en noir. - Activer l\'harmonisation des couleurs du lecteur - Harmonise les couleurs du minilecteur à celle du lecteur en plein écran. - Activer la minimisation forcée du lecteur - Maintient le lecteur minimisé même si une autre piste est lue. Ajouter le bouton \"Suivant\" sur le minilecteur Ajoute le bouton \"Suivant\" sur le minilecteur. Ajouter le bouton \"Précédent\" sur le minilecteur Ajoute le bouton \"Précédent\" sur le minilecteur. + Activer l\'harmonisation des couleurs du lecteur + Harmonise les couleurs du minilecteur à celle du lecteur en plein écran. + Activer l\'interface du lecteur en noir + Change la couleur de l\'interface du lecteur en noir. + Désactiver les gestes du minilecteur + Désactive les gestes pour changer de musique dans le minilecteur. + Désactiver les gestes du lecteur + Désactive les gestes pour changer de musique dans le lecteur. + Activer la minimisation forcée du lecteur + Maintient le lecteur minimisé même si une autre piste est lue. Activer le geste pour fermer le minilecteur Active le geste vers le bas pour fermer le minilecteur. Activer le mode zen Change la couleur du lecteur par un voile gris pour réduire la fatigue oculaire. Activer le mode \"Zen\" sur les Podcasts Active également le mode \"Zen\" pour les Podcasts. - Masquer le sélecteur Audio/Vidéo - Masque le sélecteur Audio/Vidéo en haut du lecteur. Masquer les règles de la chaîne Masque les règles de la chaîne en haut de la section des commentaires. - Masquer les boutons émoji et horodatage - Masque les boutons \"émoji\" et \"horodatage\" lors de la rédaction d\'un commentaire. Masquer le voile sombre lors du double appuie Masque le voile sombre qui apparaît lors du double appui pour avancer. + Masquer les boutons émoji et horodatage + Masque les boutons \"émoji\" et \"horodatage\" lors de la rédaction d\'un commentaire. Masquer le bouton \"Partager\" en plein écran Masque le bouton \"Partager\" sur le lecteur en plein écran. + Masquer le sélecteur Audio/Vidéo + Masque le sélecteur Audio/Vidéo en haut du lecteur. Enregistrer l\'état du mode répétition Enregistre l\'état du mode répétition. Enregistrer l\'état du mode aléatoire @@ -362,40 +362,6 @@ Cliquez ici pour découvrir comment créer une clé API." sponsor.ajay.app Paramètres avancés - Contourner les restrictions d\'image selon les régions - Remplace le domaine qui est bloqué dans certaines régions afin que les miniatures des listes de lecture, les avatars des chaînes, etc. puissent être reçus. - Modifier la fiche de partage - Remplace la fiche de partage de l\'appli par celui du système. - Désactiver l\'animation Cairo au démarrage - Désactive l\'animation Cairo lors du démarrage de l\'application. - Activer le journal de débogage - Enregistrer le journal de débogage. - Activer les informations sur la mémoire tampon dans le journal de débogage - Ajoute les informations sur la mémoire tampon dans le journal de débogage. - Activer le Codec OPUS - "Active le codec OPUS si la réponse du lecteur inclut le codec OPUS. - -Info : -• Les dernières versions de YouTube Music utilisent par défaut le codec audio Opus. -• Disponible uniquement pour les utilisateurs qui falsifient une très ancienne version du client." - Ouvrir GmsCore - Activez la messagerie cloud pour recevoir les notifications. - GmsCore n\'est pas installé. Veuillez l\'installer. - Action requise - "GmsCore n'a pas les permissions pour fonctionner en arrière-plan. - -Suivez le guide \"Don't kill my app!\" pour votre appareil, et appliquez les instructions sur GmsCore. - -Requis pour que l'application fonctionne." - Ouvrir le site web - "L'optimisation de la batterie de GmsCore doit être désactivé pour éviter tout problème. - -Cliquez sur le bouton Continuer et désactivez les optimisations de la batterie." - Continuer - Nettoyer les liens partagés - Supprime les paramètres de suivi (tracking) des URL lors du partage de liens. - Ouvrir les paramètres par défaut de l\'application - Pour ouvrir les liens YouTube Music dans RVX Music, activez \'Ouvrir les liens compatibles\' et activez les adresses web prises en charge. Importer / Exporter les paramètres Importe ou exporte les paramètres. Exporter les paramètres vers un fichier @@ -410,4 +376,42 @@ Cliquez sur le bouton Continuer et désactivez les optimisations de la batterie. %d paramètres ont étés importés. Réinitialiser Paramètres copiés dans le presse-papier. + Contourner les restrictions d\'image selon les régions + Remplace le domaine qui est bloqué dans certaines régions afin que les miniatures des listes de lecture, les avatars des chaînes, etc. puissent être reçus. + Modifier la fiche de partage + Remplace la fiche de partage de l\'appli par celui du système. + Désactiver l\'animation Cairo au démarrage + Désactive l\'animation Cairo lors du démarrage de l\'application. + Type de redirection + Rediriger + Activer le journal de débogage + Enregistrer le journal de débogage. + Activer les informations sur la mémoire tampon dans le journal de débogage + Ajoute les informations sur la mémoire tampon dans le journal de débogage. + Activer le Codec OPUS + "Active le codec OPUS si la réponse du lecteur inclut le codec OPUS. + +Info : +• Les dernières versions de YouTube Music utilisent par défaut le codec audio Opus. +• Disponible uniquement pour les utilisateurs qui falsifient une très ancienne version du client." + Nettoyer les liens partagés + Supprime les paramètres de suivi (tracking) des URL lors du partage de liens. + Client par défaut + Client par défaut + Ouvrir les paramètres par défaut de l\'application + Pour ouvrir les liens YouTube Music dans RVX Music, activez \'Ouvrir les liens compatibles\' et activez les adresses web prises en charge. + Ouvrir GmsCore + Activez la messagerie cloud pour recevoir les notifications. + GmsCore n\'est pas installé. Veuillez l\'installer. + Action requise + "GmsCore n'a pas les permissions pour fonctionner en arrière-plan. + +Suivez le guide \"Don't kill my app!\" pour votre appareil, et appliquez les instructions sur GmsCore. + +Requis pour que l'application fonctionne." + Ouvrir le site web + "L'optimisation de la batterie de GmsCore doit être désactivé pour éviter tout problème. + +Cliquez sur le bouton Continuer et désactivez les optimisations de la batterie." + Continuer diff --git a/patches/src/main/resources/music/translations/hu-rHU/strings.xml b/patches/src/main/resources/music/translations/hu-rHU/strings.xml index 87bd26fb0..38aecea44 100644 --- a/patches/src/main/resources/music/translations/hu-rHU/strings.xml +++ b/patches/src/main/resources/music/translations/hu-rHU/strings.xml @@ -64,18 +64,18 @@ Töltsd le a(z) %2$s weboldalról." Promóciós figyelmeztető banner elrejtése. Felugró menü - Kompakt menü engedélyezése - "Engedélyezi a telefonokon a kompakt felugró menüt. - -Korlátozások: -• A könyvtár lapon lévő albumok képei kisebbek lesznek, ha rácsba vannak rendezve. -• Az alvásidőzítő elrendezése szokatlannak tűnhet." Csend kivágás kapcsoló hozzáadása "A 'Csend kivágás' kapcsoló hozzáadása a lejátszási sebesség felugró menühöz. Információ: • Ez a funkció podcastek számára készült. • Ez a funkció még fejlesztés alatt áll, ezért instabil lehet." + Kompakt menü engedélyezése + "Engedélyezi a telefonokon a kompakt felugró menüt. + +Korlátozások: +• A könyvtár lapon lévő albumok képei kisebbek lesznek, ha rácsba vannak rendezve. +• Az alvásidőzítő elrendezése szokatlannak tűnhet." A tetszik és nem tetszik gombok elrejtése 3 oszlopos komponens elrejtése Hozzáadás a várólistához menü elrejtése @@ -125,10 +125,10 @@ Információ: Kezdőlap Könyvtár Feliratkozások - Kényszerített automatikus feliratok letiltása - Letiltja a feliratokat, hogy ne jelenjenek meg automatikusan. Nem tetszik átirányítás letiltása Letiltja az átirányítást a következő számra, amikor rányomsz a nem tetszik gombra. + Kényszerített automatikus feliratok letiltása + Letiltja a feliratokat, hogy ne jelenjenek meg automatikusan. Fekvő mód engedélyezése Engedélyezi a fekvő módot, amikor elforgatod a telefonodat. Egyéni szűrők engedélyezése @@ -141,24 +141,24 @@ Információ: Elrejti a gomb polcot a főoldalon. Forduló polc elrejtése Elrejti a forduló polcot a főoldalon. - Lejátszási lista kártya polc elrejtése - Elrejti a lejátszási lista kártya polcot a főoldalon. - Minták polc elrejtése - Elrejti a minták polcot a főoldalon. Átküldés gomb elrejtése Elrejti az átküldés gombot. Kategória sáv elrejtése Elrejti a kategória sávot. Lebegő gomb elrejtése Elrejti a lebegő gombot a könyvtárban. - Kattints a frissítéshez gomb elrejtése - Elrejti a Kattints a frissítéshez gombot. Előzmények gomb elrejtése Elrejti az előzmények gombot az eszköztáron. Értesítés gomb elrejtése Elrejti az értesítés gombot az eszköztáron. + Lejátszási lista kártya polc elrejtése + Elrejti a lejátszási lista kártya polcot a főoldalon. + Minták polc elrejtése + Elrejti a minták polcot a főoldalon. Zenekeresés gomb elrejtése Elrejti a zene keresés gombot a kereső sávban. + Kattints a frissítéshez gomb elrejtése + Elrejti a Kattints a frissítéshez gombot. Hangkeresés gomb elrejtése Elrejti a hang keresés gombot a kereső sávban. Visszaállítja a régi stílusú könyvtár polcot @@ -196,36 +196,36 @@ Ez nem kerüli meg a korhatárkorlátozást. Csak automatikusan elfogadja azt."< Elrejti a szöveget a navigációs gombok alatt. Lejátszó - Minilejátszó gesztus letiltása - Kikapcsolja a zeneszámok váltását a minialejátszóban. - Lejtászó gesztus letiltása - Kikapcsolja a zeneszámok váltását a lejátszóban. - Fekete hátterű lejátszó engedélyezése - Megváltoztatja a lejátszó háttér színét feketére. - Megegyező színű lejátszó bekapcsolása - Egyező színe lesz a kis lejátszónak, mint a teljes képernyősnek. - Mini lejátszó kényszerítése - A lejátszó akkor is minimalizálva marad, amikor egy másik zeneszámot játszanak le. Minilejátszó következő gomb engedélyezése Engedélyezi a következő szám gombot a minilejátszónál. Minilejátszó előző gomb engedélyezése Engedélyezi a előző szám gombot a minilejátszónál. + Megegyező színű lejátszó bekapcsolása + Egyező színe lesz a kis lejátszónak, mint a teljes képernyősnek. + Fekete hátterű lejátszó engedélyezése + Megváltoztatja a lejátszó háttér színét feketére. + Minilejátszó gesztus letiltása + Kikapcsolja a zeneszámok váltását a minialejátszóban. + Lejtászó gesztus letiltása + Kikapcsolja a zeneszámok váltását a lejátszóban. + Mini lejátszó kényszerítése + A lejátszó akkor is minimalizálva marad, amikor egy másik zeneszámot játszanak le. Minilejátszó elhagyása egy húzással Lehetővé teszi a minialejátszó elhagyását lefelé húzással. Zen mód bekapcsolása Megváltoztatja a lejátszó hátterét világos szürkére a szem megóvására. Zen mód engedélyezése podcastekben - A zen mód a podcast-ekben is működni fog. - Hang/Videó gomb elrejtése - Elrejti a hang/videó gombot a lejátszóban. + A zen mód a podcasteknél is működni fog. Csatorna irányelveinek elrejtése Elrejti a csatorna irányelveit a komment szekció tetején. - Elrejti az edőbélyeg és az emoji gombokat - Elrejti az időbélyeget és az emoji gombokat komment gépelés közben. Dupla koppintás átfedés elrejtése Elrejti dupla koppintáskor megjelenő sötét átfedést. + Elrejti az időbélyeget és az emoji gombokat + Elrejti az időbélyeget és az emotikon gombokat hozzászólás gépelése közben. Teljes képernyős megosztás gomb elrejtése Elrejti a megosztás gombot a teljes képernyős lejátszóban. + Hang/Videó gomb elrejtése + Elrejti a hang/videó gombot a lejátszóban. Isméltés állapotának megjegyzése Emlékezik az ismétlés állapotára. Keverés állapotának megjegyzése @@ -364,6 +364,20 @@ Kattints ide az API-kulcs megszerzéséhez." sponsor.ajay.app Egyéb + Beállítások Importálása / Exportálása + Beállítások importálása vagy exportálása. + Beállítások exportálása egy fájlba + Beállítások importálása fájlból + Beállítások import- / exportálása szövegként + A beállítások exportálása sikertelen. + A beállítások sikeresen exportálva. + Importálás + Másolás + Sikertelen importálás: %s. + Beállítások visszaállítása alapra. + %d beállítás importálva. + Visszaállítás + A beállítások vágólapra másolva. Területi kép-korlátozások megkerülése Helyettesíti az egyes régiókban blokkolt tartományt, így a lejátszási lista miniatűrjei, csatorna avatarok stb. fogadhatóak. Megosztási lap megváltoztatása @@ -378,6 +392,11 @@ Kattints ide az API-kulcs megszerzéséhez." Ha egy albumban szereplő zenei videó lejátszását észleli, a rendszer a hivatalos dalra irányítja át. Piped instance használatban van, és előfordulhat, hogy az API egyes régiókban nem elérhető." + Átirányítás típusa + Meghatározza, hogyan irányítson át a hivatalos dalra. + Átirányítás + Koppints a Hang / Videó kapcsolójára + Koppints és tartsd lenyomva az Hang / Videó kapcsolót Hibanaplók engedélyezése Kiírja a hibanaplót. Hibakeresési puffer naplózásának engedélyezése @@ -388,22 +407,8 @@ Piped instance használatban van, és előfordulhat, hogy az API egyes régiókb Info: • A legújabb Android-kliensek alapértelmezés szerint az opus audio codec-et használják. • Ez csak a nagyon régi klienseket használó felhasználókra érvényes." - GmsCore megnyitása - Értesítések fogadásához engedélyezd a felhő alapú üzenetküldést. - A GmsCore nincs telepítve. Telepítsd. - Művelet szükséges - "A GmsCore-nak nincs engedélye a háttérben történő futtatásra. - -Kövesd a telefonodra vonatkozó 'Don't kill my app!' útmutatót és alkalmazd az utasításokat a MicroG telepítésére. - -Ez szükséges az app működéséhez." - Weboldal megnyitása - "A GmsCore akkumulátor-optimalizálásokat le kell tiltani a problémák megelőzése érdekében. - -A GmsCore akkumulátor-optimalizálás letiltása nem fogyasztja jobban az akkumulátort. - -Nyomj a folytatás gombra, és engedélyezd az optimalizálási módosításokat." - Folytatás + Megosztási linkek tisztítása + Linkek megosztásakor eltávolítja a nyomkövetési paramétereket az URL-ekből. Kliens hamisítása "Az kliens meghamisítása a lejátszási problémák megelőzése érdekében. @@ -425,22 +430,22 @@ Nyomj a folytatás gombra, és engedélyezd az optimalizálási módosításokat Megmutatja a streaming adatok lekérdezésére használt klienst a Statisztikák kockáknakban. Android VR Android Music - Megosztási linkek tisztítása - Linkek megosztásakor eltávolítja a nyomkövetési paramétereket az URL-ekből. Alapértelmezett program beállítások megnyitása A YouTube Music linkek megnyitásához az RVX Musicban engedélyezze a \'Támogatott linkek megnyitása\' opciót, és engedélyezze a támogatott webcímeket. - Beállítások Importálása / Exportálása - Beállítások importálása vagy exportálása. - Beállítások exportálása egy fájlba - Beállítások importálása fájlból - Beállítások import- / exportálása szövegként - A beállítások exportálása sikertelen. - A beállítások sikeresen exportálva. - Importálás - Másolás - Sikertelen importálás: %s. - Beállítások visszaállítása alapra. - %d beállítás importálva. - Visszaállítás - A beállítások vágólapra másolva. + GmsCore megnyitása + Értesítések fogadásához engedélyezd a felhő alapú üzenetküldést. + A GmsCore nincs telepítve. Telepítsd. + Művelet szükséges + "A GmsCore-nak nincs engedélye a háttérben történő futtatásra. + +Kövesd a telefonodra vonatkozó 'Don't kill my app!' útmutatót és alkalmazd az utasításokat a MicroG telepítésére. + +Ez szükséges az app működéséhez." + Weboldal megnyitása + "A GmsCore akkumulátor-optimalizálásokat le kell tiltani a problémák megelőzése érdekében. + +A GmsCore akkumulátor-optimalizálás letiltása nem fogyasztja jobban az akkumulátort. + +Nyomj a folytatás gombra, és engedélyezd az optimalizálási módosításokat." + Folytatás diff --git a/patches/src/main/resources/music/translations/id-rID/strings.xml b/patches/src/main/resources/music/translations/id-rID/strings.xml index 36c8d0017..c97aa1954 100644 --- a/patches/src/main/resources/music/translations/id-rID/strings.xml +++ b/patches/src/main/resources/music/translations/id-rID/strings.xml @@ -61,18 +61,18 @@ Download %2$s dari website." Menyembunyikan banner pembaruan premium. Menu flyout - Aktifkan dialog ringkas - "Aktifkan dialog ringkas di ponsel. - -Masalah yang diketahui: -• Gambar album di Tab library juga menjadi lebih kecil. -• Tata letak pengatur waktu tidur mungkin terlihat tidak biasa." Tambah switch Trim silence "Menambahkan tombol Trim silence ke menu flyout playback speed. Info: • Fitur ini hanya untuk podcast. • Fitur ini masih dalam pengembangan, jadi ini tidak akan stabil." + Aktifkan dialog ringkas + "Aktifkan dialog ringkas di ponsel. + +Masalah yang diketahui: +• Gambar album di Tab library juga menjadi lebih kecil. +• Tata letak pengatur waktu tidur mungkin terlihat tidak biasa." Sembunyikan tombol Like dan Dislike Sembunyikan komponen 3-kolom Sembunyikan menu tambahkan ke antrean @@ -120,10 +120,10 @@ Info: Beranda Koleksi Berlangganan - Nonaktifkan teks otomatis paksa - Teks otomatis paksa yang dinonaktifkan. Disable dislike redirection Disables redirection to the next track when clicking the Dislike button. + Nonaktifkan teks otomatis paksa + Teks otomatis paksa yang dinonaktifkan. Aktifkan mode lanskap Mengaktifkan masuk ke mode lanskap dengan rotasi layar di ponsel. Aktifkan filter kustom @@ -136,24 +136,24 @@ Info: Menyembunyikan rak tombol dari beranda dan eksplorasi. Sembunyikan rak korsel Menyembunyikan rak korsel dari beranda dan eksplorasi. - Hide playlist card shelf - Hides the playlist card shelf in the feed. - Hide Samples shelf - Hides the Samples shelf in the feed. Sembunyikan tombol cast Menyembunyikan tombol cast. Sembunyikan bilah kategori Menyembunyikan bilah kategori musik di bagian atas beranda. Hide floating button Hides the floating button in the Library tab. - Hide \'Tap to update\' button - Hides the \'Tap to update\' button. Sembunyikan tombol riwayat Menyembunyikan tombol riwayat di toolbar. Hide Notifications button Hides the Notifications button in the toolbar. + Hide playlist card shelf + Hides the playlist card shelf in the feed. + Hide Samples shelf + Hides the Samples shelf in the feed. Hide sound search button Hides the sound search button in the search bar. + Hide \'Tap to update\' button + Hides the \'Tap to update\' button. Hide voice search button Hides the voice search button in the search bar. Restore old style library shelf @@ -190,36 +190,36 @@ This does not bypass the age restriction. It just accepts it automatically."Menyembunyikan label di bilah navigasi. Player - Nonaktifkan gerakan miniplayer - Nonaktifkan gesekan untuk mengubah trek di miniplayer. - Menonaktifkan gerakan pemutar - Nonaktifkan usap untuk mengubah trek di pemutar. - Enable black player background - Changes the player background color to black. - Aktifkan pencocokan warna pemutar - Mencocokkan warna pemutar layar penuh dengan yang diperkecil. - Aktifkan pemutar yang diminimalkan paksa - Mempertahankan pemutar agar tetap diminimalkan secara permanen meskipun trek lain diputar. Add miniplayer next button Adds a next track button to the miniplayer. Add miniplayer previous button Adds a previous track button to the miniplayer. + Aktifkan pencocokan warna pemutar + Mencocokkan warna pemutar layar penuh dengan yang diperkecil. + Enable black player background + Changes the player background color to black. + Nonaktifkan gerakan miniplayer + Nonaktifkan gesekan untuk mengubah trek di miniplayer. + Menonaktifkan gerakan pemutar + Nonaktifkan usap untuk mengubah trek di pemutar. + Aktifkan pemutar yang diminimalkan paksa + Mempertahankan pemutar agar tetap diminimalkan secara permanen meskipun trek lain diputar. Enable swipe to dismiss miniplayer Enables swipe down to dismiss miniplayer. Aktifkan mode zen Menambahkan rona abu-abu ke pemutar video untuk mengurangi ketegangan mata. Enable Zen mode in podcasts Also enables Zen mode for podcasts. - Hide Audio / Video toggle - Hides the Audio / Video toggle in the player. Hide channel guidelines Hides the channel guidelines at the top of the comments section. - Hide timestamp and emoji buttons - Hides the timestamp and emoji buttons when typing comments. Sembunyikan filter overlay double-tap Menyembunyikan overlay gelap yang muncul ketika double-tap to seek. + Hide timestamp and emoji buttons + Hides the timestamp and emoji buttons when typing comments. Hide fullscreen Share button Hides the Share button in the fullscreen player. + Hide Audio / Video toggle + Hides the Audio / Video toggle in the player. Ingat keadaan pengulangan Mengingat keadaan pengulangan. Ingat keadaan pengacakan @@ -326,32 +326,6 @@ Some features may not work properly in the old player layout." sponsor.ajay.app Miscellaneous - Bypass gambar larangan wilayah - Mengganti domain yang ke blokir di negara tertentu sehingga playlist thumbnail, channel avatar, dll bisa di terima. - Ubah lembar berbagi - Mengubah dari lembar berbagi dalam aplikasi ke lembar berbagi sistem. - Aktifkan pencatatan debug - Mencetak catatan debug. - Enable debug buffer logging - Includes the buffer in the debug log. - Aktifkan codec opus - "Mengaktifkan codec audio opus alih-alih codec audio mp4a." - Open GmsCore - Enable cloud messaging to receive notifications. - GmsCore is not installed. Install it. - Action needed - "GmsCore does not have permission to run in the background. - -Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. - -This is required for the app to work." - Open website - "GmsCore battery optimizations must be disabled to prevent issues. - -Tap on the continue button and disable battery optimizations." - Continue - Sanitasi tautan berbagi - Menghapus parameter kueri pelacakan dari URL saat membagikan tautan. Ekspor / Impor Impor atau ekspor setelan sebagai teks. Export settings to file @@ -366,4 +340,30 @@ Tap on the continue button and disable battery optimizations." Setelan %d diimpor. Reset Setelan disalin ke papan klip. + Bypass gambar larangan wilayah + Mengganti domain yang ke blokir di negara tertentu sehingga playlist thumbnail, channel avatar, dll bisa di terima. + Ubah lembar berbagi + Mengubah dari lembar berbagi dalam aplikasi ke lembar berbagi sistem. + Aktifkan pencatatan debug + Mencetak catatan debug. + Enable debug buffer logging + Includes the buffer in the debug log. + Aktifkan codec opus + "Mengaktifkan codec audio opus alih-alih codec audio mp4a." + Sanitasi tautan berbagi + Menghapus parameter kueri pelacakan dari URL saat membagikan tautan. + Open GmsCore + Enable cloud messaging to receive notifications. + GmsCore is not installed. Install it. + Action needed + "GmsCore does not have permission to run in the background. + +Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. + +This is required for the app to work." + Open website + "GmsCore battery optimizations must be disabled to prevent issues. + +Tap on the continue button and disable battery optimizations." + Continue diff --git a/patches/src/main/resources/music/translations/in/strings.xml b/patches/src/main/resources/music/translations/in/strings.xml index 36c8d0017..c97aa1954 100644 --- a/patches/src/main/resources/music/translations/in/strings.xml +++ b/patches/src/main/resources/music/translations/in/strings.xml @@ -61,18 +61,18 @@ Download %2$s dari website." Menyembunyikan banner pembaruan premium. Menu flyout - Aktifkan dialog ringkas - "Aktifkan dialog ringkas di ponsel. - -Masalah yang diketahui: -• Gambar album di Tab library juga menjadi lebih kecil. -• Tata letak pengatur waktu tidur mungkin terlihat tidak biasa." Tambah switch Trim silence "Menambahkan tombol Trim silence ke menu flyout playback speed. Info: • Fitur ini hanya untuk podcast. • Fitur ini masih dalam pengembangan, jadi ini tidak akan stabil." + Aktifkan dialog ringkas + "Aktifkan dialog ringkas di ponsel. + +Masalah yang diketahui: +• Gambar album di Tab library juga menjadi lebih kecil. +• Tata letak pengatur waktu tidur mungkin terlihat tidak biasa." Sembunyikan tombol Like dan Dislike Sembunyikan komponen 3-kolom Sembunyikan menu tambahkan ke antrean @@ -120,10 +120,10 @@ Info: Beranda Koleksi Berlangganan - Nonaktifkan teks otomatis paksa - Teks otomatis paksa yang dinonaktifkan. Disable dislike redirection Disables redirection to the next track when clicking the Dislike button. + Nonaktifkan teks otomatis paksa + Teks otomatis paksa yang dinonaktifkan. Aktifkan mode lanskap Mengaktifkan masuk ke mode lanskap dengan rotasi layar di ponsel. Aktifkan filter kustom @@ -136,24 +136,24 @@ Info: Menyembunyikan rak tombol dari beranda dan eksplorasi. Sembunyikan rak korsel Menyembunyikan rak korsel dari beranda dan eksplorasi. - Hide playlist card shelf - Hides the playlist card shelf in the feed. - Hide Samples shelf - Hides the Samples shelf in the feed. Sembunyikan tombol cast Menyembunyikan tombol cast. Sembunyikan bilah kategori Menyembunyikan bilah kategori musik di bagian atas beranda. Hide floating button Hides the floating button in the Library tab. - Hide \'Tap to update\' button - Hides the \'Tap to update\' button. Sembunyikan tombol riwayat Menyembunyikan tombol riwayat di toolbar. Hide Notifications button Hides the Notifications button in the toolbar. + Hide playlist card shelf + Hides the playlist card shelf in the feed. + Hide Samples shelf + Hides the Samples shelf in the feed. Hide sound search button Hides the sound search button in the search bar. + Hide \'Tap to update\' button + Hides the \'Tap to update\' button. Hide voice search button Hides the voice search button in the search bar. Restore old style library shelf @@ -190,36 +190,36 @@ This does not bypass the age restriction. It just accepts it automatically."Menyembunyikan label di bilah navigasi. Player - Nonaktifkan gerakan miniplayer - Nonaktifkan gesekan untuk mengubah trek di miniplayer. - Menonaktifkan gerakan pemutar - Nonaktifkan usap untuk mengubah trek di pemutar. - Enable black player background - Changes the player background color to black. - Aktifkan pencocokan warna pemutar - Mencocokkan warna pemutar layar penuh dengan yang diperkecil. - Aktifkan pemutar yang diminimalkan paksa - Mempertahankan pemutar agar tetap diminimalkan secara permanen meskipun trek lain diputar. Add miniplayer next button Adds a next track button to the miniplayer. Add miniplayer previous button Adds a previous track button to the miniplayer. + Aktifkan pencocokan warna pemutar + Mencocokkan warna pemutar layar penuh dengan yang diperkecil. + Enable black player background + Changes the player background color to black. + Nonaktifkan gerakan miniplayer + Nonaktifkan gesekan untuk mengubah trek di miniplayer. + Menonaktifkan gerakan pemutar + Nonaktifkan usap untuk mengubah trek di pemutar. + Aktifkan pemutar yang diminimalkan paksa + Mempertahankan pemutar agar tetap diminimalkan secara permanen meskipun trek lain diputar. Enable swipe to dismiss miniplayer Enables swipe down to dismiss miniplayer. Aktifkan mode zen Menambahkan rona abu-abu ke pemutar video untuk mengurangi ketegangan mata. Enable Zen mode in podcasts Also enables Zen mode for podcasts. - Hide Audio / Video toggle - Hides the Audio / Video toggle in the player. Hide channel guidelines Hides the channel guidelines at the top of the comments section. - Hide timestamp and emoji buttons - Hides the timestamp and emoji buttons when typing comments. Sembunyikan filter overlay double-tap Menyembunyikan overlay gelap yang muncul ketika double-tap to seek. + Hide timestamp and emoji buttons + Hides the timestamp and emoji buttons when typing comments. Hide fullscreen Share button Hides the Share button in the fullscreen player. + Hide Audio / Video toggle + Hides the Audio / Video toggle in the player. Ingat keadaan pengulangan Mengingat keadaan pengulangan. Ingat keadaan pengacakan @@ -326,32 +326,6 @@ Some features may not work properly in the old player layout." sponsor.ajay.app Miscellaneous - Bypass gambar larangan wilayah - Mengganti domain yang ke blokir di negara tertentu sehingga playlist thumbnail, channel avatar, dll bisa di terima. - Ubah lembar berbagi - Mengubah dari lembar berbagi dalam aplikasi ke lembar berbagi sistem. - Aktifkan pencatatan debug - Mencetak catatan debug. - Enable debug buffer logging - Includes the buffer in the debug log. - Aktifkan codec opus - "Mengaktifkan codec audio opus alih-alih codec audio mp4a." - Open GmsCore - Enable cloud messaging to receive notifications. - GmsCore is not installed. Install it. - Action needed - "GmsCore does not have permission to run in the background. - -Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. - -This is required for the app to work." - Open website - "GmsCore battery optimizations must be disabled to prevent issues. - -Tap on the continue button and disable battery optimizations." - Continue - Sanitasi tautan berbagi - Menghapus parameter kueri pelacakan dari URL saat membagikan tautan. Ekspor / Impor Impor atau ekspor setelan sebagai teks. Export settings to file @@ -366,4 +340,30 @@ Tap on the continue button and disable battery optimizations." Setelan %d diimpor. Reset Setelan disalin ke papan klip. + Bypass gambar larangan wilayah + Mengganti domain yang ke blokir di negara tertentu sehingga playlist thumbnail, channel avatar, dll bisa di terima. + Ubah lembar berbagi + Mengubah dari lembar berbagi dalam aplikasi ke lembar berbagi sistem. + Aktifkan pencatatan debug + Mencetak catatan debug. + Enable debug buffer logging + Includes the buffer in the debug log. + Aktifkan codec opus + "Mengaktifkan codec audio opus alih-alih codec audio mp4a." + Sanitasi tautan berbagi + Menghapus parameter kueri pelacakan dari URL saat membagikan tautan. + Open GmsCore + Enable cloud messaging to receive notifications. + GmsCore is not installed. Install it. + Action needed + "GmsCore does not have permission to run in the background. + +Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. + +This is required for the app to work." + Open website + "GmsCore battery optimizations must be disabled to prevent issues. + +Tap on the continue button and disable battery optimizations." + Continue diff --git a/patches/src/main/resources/music/translations/it-rIT/strings.xml b/patches/src/main/resources/music/translations/it-rIT/strings.xml index 3346009ef..5598e8c74 100644 --- a/patches/src/main/resources/music/translations/it-rIT/strings.xml +++ b/patches/src/main/resources/music/translations/it-rIT/strings.xml @@ -1,12 +1,20 @@ + ReVanced Extended + Resetta ai valori iniziali. + Riavvia per caricare il layout normalmente + Aggiorna e riavvia + Account Nascondi il menu dell\'account Nascondi gli elementi del menu dell\'account. + Filtro menu dell\'account + Elenco dei nomi dei menu degli account da filtrare, separati da nuove righe. Nascondi componente vuoto Nasconde i componenti vuoti nel menu dell\'account + Nascondi l\'intestazione Nascondi contenitore termini Nasconde il contenitore dei termini di servizio. @@ -65,14 +73,14 @@ - Abilita la registrazione del debug - Stampa il registro di debug. - Abilita il codec opus - "Abilita il codec Opus 250/251 durante la riproduzione dell'audio." Importa/Esporta Importa o esporta le impostazioni come testo. Importa Copia Ripristino impostazioni ai valori predefiniti Impostazioni %d importate + Abilita la registrazione del debug + Stampa il registro di debug. + Abilita il codec opus + "Abilita il codec Opus 250/251 durante la riproduzione dell'audio." diff --git a/patches/src/main/resources/music/translations/ja-rJP/strings.xml b/patches/src/main/resources/music/translations/ja-rJP/strings.xml index 26e984459..ef08c06e4 100644 --- a/patches/src/main/resources/music/translations/ja-rJP/strings.xml +++ b/patches/src/main/resources/music/translations/ja-rJP/strings.xml @@ -64,18 +64,18 @@ プロモーションバナーを非表示にします。 フライアウトメニュー - コンパクトなダイアログ - "コンパクトなダイアログを有効にします。 - -既知の問題: -• ライブラリのアルバムアートが小さくなります。 -• スリープタイマーのレイアウトが異常になる場合があります。" 「無音トリム」を有効化 "再生スピードのフライアウトメニューで「無音トリム」スイッチを有効にする。 情報 - この機能はポッドキャスト用です。 - この機能はまだ開発中のため、不安定な場合があります。" + コンパクトなダイアログ + "コンパクトなダイアログを有効にします。 + +既知の問題: +• ライブラリのアルバムアートが小さくなります。 +• スリープタイマーのレイアウトが異常になる場合があります。" 高評価/低評価ボタンを非表示 3点メニューのコンポーネントを非表示 「キューに追加」を非表示 @@ -89,6 +89,7 @@ 「エピソードに移動」を非表示 「ポッドキャストに移動」を非表示 「ヘルプとフィードバック」を非表示 + 「[クイック アクセス] に固定」を非表示 「次に再生」を非表示 画質メニューを非表示 「ライブラリから削除」を非表示 @@ -103,6 +104,7 @@ 「ラジオを聴く」を非表示 統計情報を非表示 登録/解除メニューを非表示 + 「[クイック アクセス] への固定を解除」を非表示 「曲のクレジットを表示」を非表示 視聴を続ける YouTubeに切り替えたときに、現在の時間から再生します。 @@ -123,10 +125,10 @@ ホーム ライブラリ 定期購入 - 字幕の強制を無効化 - 動画側で設定されている、字幕の強制は無効です。 低評価リダイレクトを無効化 低評価ボタンを押したとき、次の曲へのリダイレクトするのを無効にする。 + 字幕の強制を無効化 + 動画側で設定されている、字幕の強制は無効です。 横画面モードを有効化 画面回転で横画面モードに入るようにします。 カスタムフィルター @@ -139,24 +141,24 @@ ホームタブや探索タブのボタン欄を非表示にします。 カルーセル欄を非表示 ホームタブや探索タブのカルーセル欄を非表示にします。 - プレイリストシェルフを非表示 - プレイリストシェルフを非表示にします。 - サンプルシェルフを非表示 - フィードからサンプルシェルフを非表示にします。 キャストボタンを非表示 キャストボタンを非表示にします。 カテゴリーバーを非表示 ホームタブの上部にある音楽カテゴリーバーを非表示にします。 フローティングボタンを非表示 ライブラリのフローティングボタンを非表示にします。 - 「タップして更新」ボタンを非表示 - 「タップして更新」ボタンを非表示にします。 履歴ボタンを非表示 ツールバーの履歴ボタンを非表示にします。 通知ボタンを非表示 ツールバーの通知ボタンを非表示にします。 + プレイリストシェルフを非表示 + プレイリストシェルフを非表示にします。 + サンプルシェルフを非表示 + フィードからサンプルシェルフを非表示にします。 サウンドサーチボタンを非表示 検索バーのサウンドサーチボタンを非表示にします。 + 「タップして更新」ボタンを非表示 + 「タップして更新」ボタンを非表示にします。 ボイスサーチボタンを非表示 検索バーのボイスサーチボタンを非表示にします。 古いスタイルのライブラリを有効化 @@ -194,36 +196,36 @@ ナビゲーションバーのラベルを非表示にします。 プレーヤー - ミニプレーヤージェスチャーを無効にする - ミニプレーヤーでスワイプによる曲の変更を無効にします - プレイヤージェスチャーを無効にする - プレイヤーでスワイプによる曲の変更を無効にします。 - 黒のプレイヤー背景を有効化 - プレイヤーの背景の色を黒に固定します。 - カラーマッチプレーヤーを有効化 - ミニプレーヤーと全画面プレーヤーの色を統一します。 - 最小化されたプレーヤーを有効にする - 他のトラックが再生されていても、プレーヤーを常に最小化したままにします。 「次の曲に進むボタン」を表示 ミニプレーヤーの「次の曲に進むボタン」を表示します。 「前の曲に戻るボタン」を表示 ミニプレーヤーで「前の曲に戻るボタン」を表示します。 + カラーマッチプレーヤーを有効化 + ミニプレーヤーと全画面プレーヤーの色を統一します。 + 黒のプレイヤー背景を有効化 + プレイヤーの背景の色を黒に固定します。 + ミニプレーヤージェスチャーを無効にする + ミニプレーヤーでスワイプによる曲の変更を無効にします + プレイヤージェスチャーを無効にする + プレイヤーでスワイプによる曲の変更を無効にします。 + 最小化されたプレーヤーを有効にする + 他のトラックが再生されていても、プレーヤーを常に最小化したままにします。 スワイプしてミニプレーヤーを閉じる 下にスワイプしてミニプレーヤーを閉じられるようにします。 Zen モードを有効化 動画プレーヤーに灰色の色合いを追加し、目の疲れを軽減します。 ポッドキャストでZenモードを有効化 ポッドキャストにもZenモードを適用します。 - 曲と動画の切り替えスイッチを非表示 - プレイヤーの曲と動画の切り替えスイッチを非表示にします。 コミュニティガイドラインを非表示 コメント欄上部のコミュニティガイドラインを非表示にします。 - タイムスタンプと絵文字ボタンを非表示 - コメントを入力するときにタイムスタンプと絵文字ボタンを非表示にします。 ダブルタップオーバーレイフィルタを非表示 ダブルタップしてシークすると表示される暗いオーバーレイを非表示にします。 + タイムスタンプと絵文字ボタンを非表示 + コメントを入力するときにタイムスタンプと絵文字ボタンを非表示にします。 全画面共有ボタンを非表示 全画面表示のプレイヤーの共有ボタンを非表示にします。 + 曲と動画の切り替えスイッチを非表示 + プレイヤーの曲と動画の切り替えスイッチを非表示にします。 リピートの状態を保存 リピートの状態を記憶します。 シャッフルの状態を保存 @@ -362,6 +364,20 @@ API キーの発行方法については、ここをタップしてください sponsor.ajay.app その他 + 設定のインポート/エクスポート + 設定をテキストとしてインポート/エクスポートします。 + 設定をファイルにエクスポート + ファイルから設定をインポート + テキストとしてインポート/エクスポート + 設定のエクスポートに失敗しました。 + 設定は正常にエクスポートされました。 + インポート + コピー + インポートに失敗: %s + 設定をデフォルトにリセットしました。 + %d の設定をインポートしました。 + リセット + 設定をクリップボードにコピーしました。 画像表示の地域制限を回避 プレイリストのサムネイルやチャンネルアバターなどを受信できるように、一部の地域でブロックされているドメインを置き換えます。 共有メニューを変更 @@ -379,12 +395,42 @@ API キーの発行方法については、ここをタップしてください リダイレクトのタイプ 公式楽曲にリダイレクトする方法を指定します。 リダイレクト + 曲 / 動画 の切り替えをタップ + 曲 / 動画 の切り替えをタップし長押し デバッグログ デバッグログを出力します。 デバッグバッファログを有効化 デバッグログをバッファに含めて出力する。 Opus コーデックを有効化 "MP4A コーデックの代わりに、Opus コーデックを適用します。" + 共有リンクのクリーンアップ + リンクを共有する際に、URL からトラッキングクエリパラメーターを削除します。 + クライアントを偽装 + "再生の問題を防ぐためにクライアントを偽装します + +制限事項 +• OPUSオーディオコーデックはサポートされていない可能性があります。 +• シークバーのサムネイルが表示されない場合があります。 +• 再生履歴はブランドアカウントでは動作しません。" + 既定のクライアント + "偽装のデフォルトクライアントを定義します。 + +• Androidクライアントを使用する場合は、「Spoof app version」も使用することを推奨します。" + Android Music 4.27.53 + Android Music 5.29.53 + iOS Music 6.21 + ストリーミングデータを偽装 + "ストリーミングデータを偽装して、再生の問題を防ぎます。 + +• Spoof client と併用すると、再生に問題が発生する場合があります。" + 既定のクライアント + ストリーミングデータを取得するデフォルトのクライアントを定義します。 + マニア向けの統計を表示 + Stats for nerds でストリーミングデータの取得に使用されるクライアントを定義する。 + Android VR + Android Music + 「デフォルトで開く」の設定 + RVX Music でYouTube Music のURLを開くには、「対応リンクを開く」を有効にし、サポートされているURLを有効にします。 GmsCoreを開く 通知を受け取るには、Cloud Messaging 設定を有効にしてください。 GmsCoreがインストールされていません。インストールしてください。 @@ -395,37 +441,4 @@ API キーの発行方法については、ここをタップしてください 「続行」をタップし、バッテリーの最適化を無効にします。" 続行 - クライアントを偽装 - "再生の問題を防ぐためにクライアントを偽装します - -制限事項 -• OPUSオーディオコーデックはサポートされていない可能性があります。 -• シークバーのサムネイルが表示されない場合があります。 -• 再生履歴はブランドアカウントでは動作しません。" - 既定のクライアント - Android Music 4.27.53 - Android Music 5.29.53 - iOS Music 6.21 - ストリーミングデータを偽装 - 既定のクライアント - Android VR - Android Music - 共有リンクのクリーンアップ - リンクを共有する際に、URL からトラッキングクエリパラメーターを削除します。 - 「デフォルトで開く」の設定 - RVX Music でYouTube Music のURLを開くには、「対応リンクを開く」を有効にし、サポートされているURLを有効にします。 - 設定のインポート/エクスポート - 設定をテキストとしてインポート/エクスポートします。 - 設定をファイルにエクスポート - ファイルから設定をインポート - テキストとしてインポート/エクスポート - 設定のエクスポートに失敗しました。 - 設定は正常にエクスポートされました。 - インポート - コピー - インポートに失敗: %s - 設定をデフォルトにリセットしました。 - %d の設定をインポートしました。 - リセット - 設定をクリップボードにコピーしました。 diff --git a/patches/src/main/resources/music/translations/ko-rKR/strings.xml b/patches/src/main/resources/music/translations/ko-rKR/strings.xml index c54c2a638..beb91d9bb 100644 --- a/patches/src/main/resources/music/translations/ko-rKR/strings.xml +++ b/patches/src/main/resources/music/translations/ko-rKR/strings.xml @@ -67,18 +67,18 @@ 프로모션 알림 배너를 숨깁니다. 메뉴 구성요소 - 소형 다이얼로그 활성화 - "휴대폰에서 소형 메뉴 구성요소를 활성화합니다. - -알려진 문제점: -• 보관함 탭에서 앨범 아트가 그리드로 구성될 때 작아집니다. -• 취침 타이머 레이아웃이 비정상적으로 보일 수 있습니다." 무음 건너뛰기 스위치 추가 "재생 속도 메뉴 구성요소에 '무음 건너뛰기' 스위치를 추가합니다. 알림: • 팟캐스트 기능입니다. • 이 기능은 아직 개발 중이므로 불안정할 수 있습니다." + 소형 다이얼로그 활성화 + "휴대폰에서 소형 메뉴 구성요소를 활성화합니다. + +알려진 문제점: +• 보관함 탭에서 앨범 아트가 그리드로 구성될 때 작아집니다. +• 취침 타이머 레이아웃이 비정상적으로 보일 수 있습니다." 좋아요 & 싫어요 버튼 제거 3-열 구성요소 제거 현재 재생목록에 추가 메뉴 제거 @@ -128,10 +128,10 @@ 보관함 구독 - 자동 자막 비활성화 - 자막이 자동으로 활성화되지 않도록 설정합니다. 싫어요 리다이렉션 비활성화 \'싫어요 버튼을 누르면 다음 트랙으로 리다이렉션\'을 비활성화합니다. + 자동 자막 비활성화 + 자막이 자동으로 활성화되지 않도록 설정합니다. 가로 모드 활성화 앱을 가로로 회전할 수 있도록 합니다. 사용자 정의 필터 활성화 @@ -144,24 +144,24 @@ 피드에서 버튼형 선반을 숨깁니다. 좌우 슬라이드형 선반 제거 피드에서 좌우 슬라이드형 선반을 숨깁니다. - 재생목록 카드 선반 제거 - 피드에서 재생목록 카드 선반을 숨깁니다. - 샘플 선반 제거 - 피드에서 샘플 선반을 숨깁니다. 크롬캐스트 버튼 제거 크롬캐스트 버튼을 숨깁니다. 카테고리 바 제거 카테고리 바를 숨깁니다. 플로팅 버튼 제거 보관함에서 플로팅 버튼을 숨깁니다. - \'탭하여 업데이트\' 버튼 제거 - \'탭하여 업데이트\' 버튼을 숨깁니다. 최근 감상 기록 버튼 제거 툴바에서 최근 감상 기록 버튼을 숨깁니다. 알림 버튼 제거 툴바에서 알림 버튼을 숨깁니다. + 재생목록 카드 선반 제거 + 피드에서 재생목록 카드 선반을 숨깁니다. + 샘플 선반 제거 + 피드에서 샘플 선반을 숨깁니다. 노래 검색 버튼 제거 툴바에서 노래 검색 버튼을 숨깁니다. + \'탭하여 업데이트\' 버튼 제거 + \'탭하여 업데이트\' 버튼을 숨깁니다. 음성 검색 버튼 제거 툴바에서 음성 검색 버튼을 숨깁니다. 이전 보관함 선반으로 복원 @@ -197,39 +197,39 @@ 하단바 제거 하단바를 숨깁니다. 하단바 버튼 라벨 제거 - 하단바에서 버튼 라벨을 숨깁니다. + 하단바 버튼에서 라벨을 숨깁니다. 플레이어 - 미니 플레이어 제스처 비활성화 - 미니 플레이어에서 \'스와이프 제스처로 트랙 변경\'을 비활성화합니다. - 플레이어 제스처 비활성화 - 플레이어에서 \'스와이프 제스처로 트랙 변경\'을 비활성화합니다. - 검정 플레이어 배경 활성화 - 플레이어 배경 색상을 검정으로 설정합니다. - 색상 일치 플레이어 활성화 - 최소화 상태의 플레이어와 전체 화면 플레이어의 색상을 통일시킵니다. - 플레이어를 항상 최소화 상태로 유지 - 다른 트랙이 재생되더라도 플레이어를 항상 최소화 상태로 유지합니다. 미니 플레이어에서 다음 버튼 활성화 미니 플레이어에서 다음 버튼을 활성화합니다. 미니 플레이어에서 이전 버튼 활성화 미니 플레이어에서 이전 버튼을 활성화합니다. + 미니 플레이어 색상 변경 + 미니 플레이어 색상을 전체 화면 플레이어 색상으로 변경합니다. + 검정 플레이어 배경 활성화 + 플레이어 배경 색상을 검정으로 설정합니다. + 미니 플레이어 제스처 비활성화 + 미니 플레이어에서 \'스와이프 제스처로 트랙 변경\'을 비활성화합니다. + 플레이어 제스처 비활성화 + 플레이어에서 \'스와이프 제스처로 트랙 변경\'을 비활성화합니다. + 미니 플레이어 강제 활성화 + 트랙이 변경되더라도 미니 플레이어로 강제 활성화합니다. 스와이프하여 미니 플레이어 닫기 활성화 아래로 스와이프하여 미니 플레이어 닫기를 활성화합니다. 집중 모드 활성화 동영상 플레이어의 색상을 회색조로 설정해 눈의 피로를 줄입니다. 팟캐스트에서 집중 모드 활성화 팟캐스트에서 집중 모드를 활성화합니다. - \'노래↔동영상\' 토글 제거 - 플레이어에서 \'노래↔동영상\' 토글을 숨깁니다. 커뮤니티 가이드라인 제거 댓글 섹션 상단에서 커뮤니티 가이드라인을 숨깁니다. - 타임스탬프, 이모지 버튼 제거 - 댓글을 입력할 때, 타임스탬프 및 이모지 버튼을 숨깁니다. 두 번 누르기 오버레이 필터 두 번 눌러서 탐색할 때 표시되는 어두운 오버레이를 숨깁니다. + 타임스탬프 & 이모지 버튼 제거 + 댓글을 입력할 때, 타임스탬프 및 이모지 버튼을 숨깁니다. 전체 화면에서 공유 버튼 제거 전체 화면에서 공유 버튼을 숨깁니다. + \'노래↔동영상\' 토글 제거 + 플레이어에서 \'노래↔동영상\' 토글을 숨깁니다. 반복 상태 저장 반복 재생 토글 상태를 저장합니다. 셔플 상태 저장 @@ -368,6 +368,20 @@ API Key를 발급받는 방법을 보려면 여기를 누르세요." sponsor.ajay.app 기타 + 설정 가져오기 / 내보내기 + 설정을 가져오거나 내보낼 수 있습니다. + 파일로 설정 내보내기 + 파일에서 설정 가져오기 + 텍스트로 설정 가져오기 / 내보내기 + 설정을 내보내는 데 실패하였습니다. + 설정을 성공적으로 내보냈습니다. + 가져오기 + 복사하기 + 가져오기를 실패하였습니다: %s + 설정을 기본값으로 초기화합니다. + %d 설정을 가져왔습니다. + 초기화 + 설정을 클립보드에 복사하였습니다. 이미지 표시 제한 국가 우회 이미지 도메인을 변경하여 일부 국가에서 차단된 재생목록 썸네일, 채널 프로필 사진, 커뮤니티 게시물 이미지 등을 수신할 수 있습니다. 공유 시트 변경 @@ -397,20 +411,8 @@ API Key를 발급받는 방법을 보려면 여기를 누르세요." 알림: • 최신 YT Music 클라이언트는 기본적으로 OPUS 코덱을 사용합니다. • 이 설정은 아주 오래된 클라이언트 사용자에게만 유효합니다." - GmsCore 열기 - 알림 수신을 위한 클라우드 메시징 설정을 할 수 있습니다. - GmsCore가 설치되어 있지 않습니다. 설치하세요. - 필수 조치 - "GmsCore에 백그라운드에서 실행할 수 있는 권한이 없습니다. - -이 기기에 대한 \"Don't kill my app\" 가이드를 읽어보고, GmsCore 설치 지침을 적용하세요. - -앱을 실행하려면 이 과정이 필요합니다." - 웹사이트 열기 - "GmsCore를 배터리 최적화 목록에서 제외하여 앱 문제를 방지할 수 있습니다. - -배터리 최적화 목록에서 제외하려면 '계속하기' 버튼을 누르세요." - 계속하기 + 추적 쿼리를 제거한 링크 공유 + 링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제거합니다. 클라이언트 변경 "클라이언트를 변경하여 재생 문제를 방지할 수 있습니다. @@ -432,22 +434,20 @@ API Key를 발급받는 방법을 보려면 여기를 누르세요." \'스트리밍 데이터를 가져오는 데 사용되는 클라이언트\'가 동영상 통계에서 표시됩니다. Android VR Android Music - 추적 쿼리를 제거한 링크 공유 - 링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제거합니다. 기본 앱 설정 열기 YT Music 링크를 RVX Music으로 열려면 \'지원되는 링크 열기\'를 활성화하고 지원되는 링크를 추가하세요. 링크 추가가 잠겨있다면 순정 YT Music 앱 정보 → \'기본적으로 열기\'에서 \'지원되는 링크 열기\'를 비활성화한 후에 추가할 수 있습니다. - 설정 가져오기 / 내보내기 - 설정을 가져오거나 내보낼 수 있습니다. - 파일로 설정 내보내기 - 파일에서 설정 가져오기 - 텍스트로 설정 가져오기 / 내보내기 - 설정을 내보내는 데 실패하였습니다. - 설정을 성공적으로 내보냈습니다. - 가져오기 - 복사하기 - 가져오기를 실패하였습니다: %s - 설정을 기본값으로 초기화합니다. - %d 설정을 가져왔습니다. - 초기화 - 설정을 클립보드에 복사하였습니다. + GmsCore 설정 열기 + 알림 수신을 위한 클라우드 메시징 설정을 할 수 있습니다. + GmsCore가 설치되어 있지 않습니다. 설치하세요. + 필수 조치 + "GmsCore에 백그라운드에서 실행할 수 있는 권한이 없습니다. + +이 기기에 대한 \"Don't kill my app\" 가이드를 읽어보고, GmsCore 설치 지침을 적용하세요. + +앱을 실행하려면 이 과정이 필요합니다." + 웹사이트 열기 + "GmsCore를 배터리 최적화 목록에서 제외하여 앱 문제를 방지할 수 있습니다. + +배터리 최적화 목록에서 제외하려면 '계속하기' 버튼을 누르세요." + 계속하기 diff --git a/patches/src/main/resources/music/translations/nl-rNL/strings.xml b/patches/src/main/resources/music/translations/nl-rNL/strings.xml index 422ca3724..8b2b54610 100644 --- a/patches/src/main/resources/music/translations/nl-rNL/strings.xml +++ b/patches/src/main/resources/music/translations/nl-rNL/strings.xml @@ -61,18 +61,18 @@ Verbergt de banner voor premiumverlenging. Flyout-menu - Compacte dialoog inschakelen op telefoon - "Zet compact dialoogvenster aan op telefoon. - -Bekende problemen: -• Albumhoezen op de bibliotheekschaal worden ook kleiner. -• Slaap timer lay-out kan ongebruikelijk verschijnen." Voeg een trimstilteschakelaar toe "Voegt de schakelaar 'Trim stilte' toe aan het vervolgmenu voor afspeelsnelheid. Info: • Deze functie is voor podcasts. • Deze functie is nog in ontwikkeling en kan dus instabiel zijn." + Compacte dialoog inschakelen op telefoon + "Zet compact dialoogvenster aan op telefoon. + +Bekende problemen: +• Albumhoezen op de bibliotheekschaal worden ook kleiner. +• Slaap timer lay-out kan ongebruikelijk verschijnen." Knop Vind ik leuk en niet leuk verbergen Component met 3 kolommen verbergen Verberg toevoegen aan wachtrijmenu @@ -140,28 +140,28 @@ Bekende problemen: Verberg labels in de navigatie balk. Speler - Kleuren overeenkomst van de speler inschakelen - Komt overeen met de kleur van de mini speler en de volschermspeler. - Forceer geminimaliseerde speler - Houd de speler permanent geminimaliseerd, zelfs als er een ander nummer wordt afgespeeld. Schakel de volgende knop voor de minispeler in Schakelt de volgende knop in de minispeler in. Knop Vorige minispeler inschakelen Schakelt de vorige knop in de minispeler in. + Kleuren overeenkomst van de speler inschakelen + Komt overeen met de kleur van de mini speler en de volschermspeler. + Forceer geminimaliseerde speler + Houd de speler permanent geminimaliseerd, zelfs als er een ander nummer wordt afgespeeld. Schakel vegen in om de minispeler te sluiten Hiermee kun je naar beneden vegen om de minispeler te sluiten. Zen-modus inschakelen Een grijze tint toevoegen aan de videospeler om vermoeidheid van de ogen te verminderen. Schakel de zen-modus in podcasts in De Zen-modus wordt ook toegepast op podcasts. - Verberg audio-videoschakelaar - Verbergt de audio-videoschakelaar in de speler. Kanaalrichtlijnen verbergen Verbergt kanaalrichtlijnen bovenaan het opmerkingengedeelte. Verberg tijdstempel en emoji-knoppen Verbergt tijdstempel- en emoji-knoppen tijdens het typen van opmerkingen. Knop voor delen op volledig scherm verbergen Verbergt de deelknop in de speler op volledig scherm. + Verberg audio-videoschakelaar + Verbergt de audio-videoschakelaar in de speler. Herinner me de herhalingsstatus Onthoudt de status van de herhaling. Onthoud shuffle status @@ -186,12 +186,6 @@ Bekende problemen: - Debug logging aanzetten - Laat het debug logboek zien. - Opus codec inschakelen - "Zet 250/251 opus codec aan tijdens het afspelen van audio." - Koppelingen delen - Verwijdert tracking query parameters uit de URL\'s bij het delen van links. Importeren / exporteren Importeer / Exporteer instellingen Instellingen exporteren naar bestand @@ -205,4 +199,10 @@ Bekende problemen: Instellingen teruggezet naar standaard Geïmporteerde %d instellingen Instellingen naar het klembord gekopieerd. + Debug logging aanzetten + Laat het debug logboek zien. + Opus codec inschakelen + "Zet 250/251 opus codec aan tijdens het afspelen van audio." + Koppelingen delen + Verwijdert tracking query parameters uit de URL\'s bij het delen van links. diff --git a/patches/src/main/resources/music/translations/pl-rPL/strings.xml b/patches/src/main/resources/music/translations/pl-rPL/strings.xml index 7def1c10f..e4434b1d9 100644 --- a/patches/src/main/resources/music/translations/pl-rPL/strings.xml +++ b/patches/src/main/resources/music/translations/pl-rPL/strings.xml @@ -67,18 +67,18 @@ Ograniczenie: Ukrywa banery z alertami promocyjnymi. Menu ustawień utworu - Włącz kompaktowe menu - "Włącza kompaktowe menu ustawień utworu na telefonie. - -Ograniczenia: -• Okładka albumu w zakładce biblioteki staje się mniejsza, gdy jest ustawiona siatka -• Układ wyłącznika czasowego może wyglądać nietypowo" Włącz przełącznik do pomijania ciszy "Dodaje przycisk pomijania ciszy do menu od prędkości odtwarzania. Informacje: • Ta funkcja jest dostępna tylko dla podcastów. • Ta funkcja jest nadal w fazie rozwoju, więc może być niestabilna." + Włącz kompaktowe menu + "Włącza kompaktowe menu ustawień utworu na telefonie. + +Ograniczenia: +• Okładka albumu w zakładce biblioteki staje się mniejsza, gdy jest ustawiona siatka +• Układ wyłącznika czasowego może wyglądać nietypowo" Ukryj przyciski łapki w górę i dół Ukryj 3-kolumnowy komponent Ukryj menu od dodawania do kolejki @@ -128,10 +128,10 @@ Informacje: Strona główna Biblioteka Subskrypcje - Wyłącz automatyczne napisy - Wyłącza automatycznie włączane napisy w odtwarzaczu filmów. Wyłącz pomijanie nielubianych piosenek Wyłącza przenoszenie do następnego utworu po kliknięciu łapki w dół. + Wyłącz automatyczne napisy + Wyłącza automatycznie włączane napisy w odtwarzaczu filmów. Włącz tryb pełnoekranowy Pozwala wejść w tryb pełnoekranowy poprzez obrót ekranu telefonu. Włącz własny filtr @@ -144,24 +144,24 @@ Informacje: Ukrywa półkę z przyciskami na stronie głównej. Ukryj półki z karuzelami Ukrywa półkę z karuzelami na stronie głównej. - Ukryj półki z rekomendowanymi playlistami - Ukrywa półkę z rekomendowanymi playlistami na stronie głównej. - Ukryj półkę z samplami - Ukrywa półke z samplami na stronie głównej. Ukryj przycisk do castowania Ukrywa przyciski castowania. Ukryj panel kategorii Ukrywa panel kategorii. Ukryj pływający przycisk Ukrywa pływający przycisk w zakładce biblioteki. - Ukryj przycisk \'Stuknij, aby zaktualizować\' - Ukrywa przycisk \'Stuknij, aby zaktualizować\'. Ukryj przycisk historii Ukrywa przycisk historii z paska narzędzi. Ukryj przycisk do powiadomień Ukrywa przycisk do powiadomień z paska narzędzi. + Ukryj półki z rekomendowanymi playlistami + Ukrywa półkę z rekomendowanymi playlistami na stronie głównej. + Ukryj półkę z samplami + Ukrywa półke z samplami na stronie głównej. Ukryj przycisk od rozpoznawania piosenek Ukrywa przycisk od rozpoznawania piosenek w pasku wyszukiwania. + Ukryj przycisk \'Stuknij, aby zaktualizować\' + Ukrywa przycisk \'Stuknij, aby zaktualizować\'. Ukryj przycisk od wyszukiwania głosowego Ukrywa przycisk od wyszukiwania głosowego w pasku wyszukiwania. Włącz stary styl półek biblioteki @@ -196,39 +196,39 @@ Nie pomija to ograniczeń wiekowych, lecz akceptuje je automatycznie." Ukryj pasek nawigacji Ukrywa pasek nawigacji. Ukryj nazwy w pasku nawigacji - Ukrywa nazwy w pasku nawigacji. + Ukrywa nazwy każdego przycisku w pasku nawigacji. Odtwarzacz - Wyłącz gest w miniodtwarzaczu - Wyłącza gest przesuwania, aby zmienić utwór w miniodtwarzaczu. - Wyłącz gest w odtwarzaczu - Wyłącza gest przesuwania, aby zmienić utwór w odtwarzaczu. - Włącz czarne tło odtwarzacza - Zmienia tło odtwarzacza na czarne. - Włącz pasujące kolory odtwarzaczy - Dopasowuje kolor miniodtwarzacza do otwarzacza pełnoekranowego. - Włącz wymuszenie zminimalizowanego odtwarzacza - Zostawia odtwarzacz zminimalizowany, nawet jeśli zostanie odtworzony inny utwór. Dodaj przycisk do następnej piosenki w miniodtwarzaczu Dodaje przycisk do następnej piosenki w miniodtwarzaczu. Dodaj przycisk do poprzedniej piosenki w miniodtwarzaczu Dodaje przycisk do poprzedniej piosenki w miniodtwarzaczu. + Zmień kolor miniodtwarzacza + Zmienia kolor miniodtwarzacza na kolor będący w odtwarzaczu pełnoekranowym. + Zmień kolor tła odtwarzacza + Zmienia tło odtwarzacza na czarne. + Wyłącz gest w miniodtwarzaczu + Wyłącza gest przesuwania, aby zmienić utwór w miniodtwarzaczu. + Wyłącz gest w odtwarzaczu + Wyłącza gest przesuwania, aby zmienić utwór w odtwarzaczu. + Włącz wymuszenie zminimalizowanego odtwarzacza + Zostawia odtwarzacz zminimalizowany, nawet jeśli zostanie odtworzony inny utwór. Włącz przesuwanie do zamykania miniodtwarzacza Włącza przesuwanie w dół do zamykania miniodtwarzacza. Włącz tryb zen - Zmienia kolor tła odtwarzacza na jasnoszary, aby zmniejszyć zmęczenie oczu. + Włącza jasnoszary kolor tła odtwarzacza, aby zmniejszyć zmęczenie oczu. Włącz tryb zen w podcastach - Tryb zen jest stosowany również do podcastów. - Ukryj przełącznik utwór-teledysk - Ukrywa przełącznik utwór-teledysk w odtwarzaczu. + Włącza tryb zen w podcastach. Ukryj wytyczne Ukrywa wytyczne kanału na górze sekcji komentarzy. - Ukryj czas i przyciski od emotikon - Ukrywa czas i przyciski od emotikon podczas pisania komentarzy. Ukryj poświatę po dwukrotnym kliknięciu Ukrywa poświatę pojawiającą się, gdy przewijamy za pomocą podwójnego kliknięcia. + Ukryj przyciski czasu i emotikon + Ukrywa przyciski czasu i emotikon podczas pisania komentarzy. Ukryj przycisk udostępniania w trybie pełnoekranowym Ukrywa przycisk udostępniania w trybie pełnoekranowym. + Ukryj przełącznik utwór-teledysk + Ukrywa przełącznik utwór-teledysk w odtwarzaczu. Zapamiętaj stan pętli Zapisuje stan pętli. Zapamiętaj stan odtwarzania losowego @@ -367,6 +367,20 @@ Kliknij, by zobaczyć, jak zgłosić klucz API." sponsor.ajay.app Pozostałe + Importuj/Eksportuj ustawienia + Zaimportuj lub wyeksportuj ustawienia + Wyeksportuj ustawienia do pliku + Zaimportuj ustawienia z pliku + Zaimportuj/Wyeksportuj ustawienia jako tekst + Nie udało się wyeksportować ustawień. + Ustawienia zostały pomyślnie wyeksportowane. + Import + Kopiuj + Nie udało się zaimportować: %s. + Ustawienia zostały zresetowane do domyślnych. + Zaimportowano ustawienia %d. + Zresetuj + Skopiowano ustawienia do schowka. Pomiń ograniczenia regionu dla obrazów Zastępuje domenę, która jest blokowana w niektórych regionach, aby można było otrzymywać miniaturki playlist, awatary kanałów itp. Zmień wygląd panelu udostępniania @@ -396,22 +410,8 @@ Opcja znajduje oficjalny utwór, jeśli wykryje odtwarzanie teledysku z albumu. Informacje: • Najnowsze klienty YouTube Music domyślnie używają kodeka OPUS • Działa jedynie dla użytkowników używających oszukiwania aplikacji na bardzo starych klientach" - Otwórz GmsCore - Włącz cloud messaging, by otrzymywać powiadomienia. - GmsCore nie jest zainstalowany. Zainstaluj go. - Wymagane działanie - "GmsCore nie ma uprawnień do działania w tle. - -Postępuj zgodnie z przewodnikiem 'Don't kill my app!' dla twojego urządzenia i zastosuj instrukcje dla swojej instalacji GmsCore. - -Jest to wymagane do działania aplikacji." - Otwórz stronę - "Optymalizacja baterii GmsCore musi być wyłączona, aby zapobiec problemom. - -Wyłączenie optymalizacji baterii dla GmsCore nie wpłynie negatywnie na zużycie baterii. - -Stuknij przycisk kontynuacji i zezwól na zmiany w optymalizacji." - Kontynuuj + Oczyść udostępniane linki + Usuwa parametry śledzących zapytań z adresów URL podczas udostępniania linków. Oszukuj klienta "Oszukuj klienta, by zapobiec problemom z odtwarzaniem. @@ -434,22 +434,22 @@ Stuknij przycisk kontynuacji i zezwól na zmiany w optymalizacji." Pokazuje używanego klienta do przechwytywania strumienia danych w statystykach dla nerdów. Android VR Android Music - Oczyść udostępniane linki - Usuwa parametry śledzących zapytań z adresów URL podczas udostępniania linków. Otwórz systemowe ustawienia aplikacji Aby otwierać linki YouTube Music w RVX Music, przejdź do opcji obsługiwanych linków w ustawieniach i włącz obsługiwane adresy internetowe dla RVX. - Importuj/Eksportuj ustawienia - Zaimportuj lub wyeksportuj ustawienia - Wyeksportuj ustawienia do pliku - Zaimportuj ustawienia z pliku - Zaimportuj/Wyeksportuj ustawienia jako tekst - Nie udało się wyeksportować ustawień. - Ustawienia zostały pomyślnie wyeksportowane. - Import - Kopiuj - Nie udało się zaimportować: %s. - Ustawienia zostały zresetowane do domyślnych. - Zaimportowano ustawienia %d. - Zresetuj - Skopiowano ustawienia do schowka. + Otwórz ustawienia GmsCore + Otwiera ustawienia GmsCore. Następnie włącz cloud messaging, by otrzymywać powiadomienia. + GmsCore nie jest zainstalowany. Zainstaluj go. + Wymagane działanie + "GmsCore nie ma uprawnień do działania w tle. + +Postępuj zgodnie z przewodnikiem 'Don't kill my app!' dla twojego urządzenia i zastosuj instrukcje dla swojej instalacji GmsCore. + +Jest to wymagane do działania aplikacji." + Otwórz stronę + "Optymalizacja baterii GmsCore musi być wyłączona, aby zapobiec problemom. + +Wyłączenie optymalizacji baterii dla GmsCore nie wpłynie negatywnie na zużycie baterii. + +Stuknij przycisk kontynuacji i zezwól na zmiany w optymalizacji." + Kontynuuj diff --git a/patches/src/main/resources/music/translations/pt-rBR/strings.xml b/patches/src/main/resources/music/translations/pt-rBR/strings.xml index 2b97da865..b80929fde 100644 --- a/patches/src/main/resources/music/translations/pt-rBR/strings.xml +++ b/patches/src/main/resources/music/translations/pt-rBR/strings.xml @@ -67,18 +67,18 @@ Limitações: Oculta o banner de alerta de promoção. Menu flutuante - Ativar diálogo compacto - "Ativa o menu flutuante compacto em telefones. - -Limitações: -• A arte do álbum na guia da Biblioteca fica menor quando organizada em uma grade. -• O layout do temporizador pode parecer incomum." Adicionar alternador para Cortar silêncio "Adiciona a opção Cortar silêncio ao menu flutuante de velocidade de reprodução. Informações: • Este recurso é para podcasts. • Este recurso ainda está em desenvolvimento, portanto pode ser instável." + Ativar diálogo compacto + "Ativa o menu flutuante compacto em telefones. + +Limitações: +• A arte do álbum na guia da Biblioteca fica menor quando organizada em uma grade. +• O layout do temporizador pode parecer incomum." Ocultar botões de Like e Deslike Ocultar componente de 3 colunas Ocultar menu Adicionar à fila @@ -128,10 +128,10 @@ Informações: Início Biblioteca Inscrições - Desativar legendas automáticas - Desativa as legendas de serem ativadas automaticamente. Desativar redirecionamento de dislike Desativa o redirecionamento para a próxima faixa ao clicar no botão de Dislike. + Desativar legendas automáticas + Desativa a ativação forçada de legendas automáticas. Ativar modo paisagem Ativa o modo paisagem ao girar a tela nos telefones. Ativar filtro personalizado @@ -144,27 +144,27 @@ Informações: Oculta o painel de botões no feed. Ocultar painel de carrossel Oculta o painel de carrossel no feed. - Ocultar painel de cartão de lista de reprodução - Oculta o painel de cartão de lista de reprodução no feed. - Ocultar painel Descobertas - Oculta o painel Descobertas no feed. Ocultar botão Transmissão Oculta o botão Transmissão. Ocultar barra de categoria Oculta a barra de categorias. Ocultar botão flutuante Oculta o botão flutuante na aba Biblioteca. - Ocultar botão Toque para atualizar - Oculta o botão Toque para atualizar. Ocultar botão Histórico Oculta o botão Histórico na barra de ferramentas. Ocultar botão Notificações Oculta o botão Notificações na barra de ferramentas. + Ocultar painel de cartão de lista de reprodução + Oculta o painel de cartão de lista de reprodução no feed. + Ocultar painel Descobertas + Oculta o painel Descobertas no feed. Ocultar botão de pesquisa de som Oculta o botão de pesquisa de som na barra de pesquisa. + Ocultar botão Toque para atualizar + Oculta o botão Toque para atualizar. Ocultar botão de pesquisa por voz Oculta o botão de pesquisa por voz na barra de pesquisa. - Restaurar antigo estilo do painel da biblioteca + Restaurar a aba antiga da Biblioteca Retorna a aba da Biblioteca para o estilo antigo. (Experimental) Remover o diálogo discricionário do visualizador "Remover o diálogo discricionário de visualização. @@ -199,36 +199,36 @@ Isso não ignora a restrição de idade, apenas aceita isso automaticamente."Oculta rótulos abaixo dos botões de navegação. Reprodutor - Desativar gesto do mini reprodutor - Desativar deslize para alterar faixas no mini reprodutor. - Desativar gesto do reprodutor - Desativar deslize para alterar faixas no reprodutor. - Ativar fundo do reprodutor preto - Altera a cor de fundo do reprodutor para preto. - Ativar combinação de cores do reprodutor - Corresponde à cor do mini reprodutor para o reprodutor em tela cheia. - Ativar reprodutor minimizado forçado - Mantém o reprodutor minimizado mesmo quando outra faixa é reproduzida. Adicionar o botão próximo no mini reprodutor Adiciona o botão próximo no mini reprodutor. Adicionar o botão anterior no mini reprodutor Adiciona o botão anterior no mini reprodutor. + Alterar cor do miniplayer + Corresponde à cor do mini reprodutor para o reprodutor em tela cheia. + Ativar fundo do reprodutor preto + Altera a cor de fundo do reprodutor para preto. + Desativar gesto do mini reprodutor + Desativar deslize para alterar faixas no mini reprodutor. + Desativar gesto do reprodutor + Desativar deslize para alterar faixas no reprodutor. + Ativar reprodutor minimizado forçado + Mantém o reprodutor minimizado mesmo quando outra faixa é reproduzida. Ativar deslizar para dispensar o mini reprodutor Permite deslizar para baixo para dispensar o mini reprodutor. Ativar modo Calmo Altera a cor de fundo do reprodutor para cinza claro para reduzir o cansaço visual. Ativar o modo Calmo em podcasts Também ativa o modo Calmo para podcasts. - Ocultar alternador de Áudio / Vídeo - Oculta o alternador de Áudio / Vídeo no reprodutor. Ocultar diretrizes do canal Oculta as diretrizes do canal na parte superior da seção de comentários. - Ocultar botões de marcação de tempo e emoji - Oculta os botões de marcação de tempo e emoji ao escrever comentários. Ocultar filtro de sobreposição de toque duplo Oculta a sobreposição escura que aparece quando um duplo toque para procurar. + Ocultar botões de marcação de tempo e emoji + Oculta os botões de marcação de tempo e emoji ao escrever comentários. Ocultar botão Compartilhar em tela cheia Oculta o botão Compartilhar no reprodutor de tela cheia. + Ocultar alternador de Áudio / Vídeo + Oculta o alternador de Áudio / Vídeo no reprodutor. Lembrar estado de repetição Lembra o estado da alternância de repetição. Lembrar estado do modo aleatório @@ -367,6 +367,20 @@ Clique para ver como emitir uma chave de API." sponsor.ajay.app Diversos + Importar / Exportar configurações + Importar ou exportar as configurações como texto. + Exportar configurações para um arquivo + Importar configurações de um arquivo + Importar / Exportar as configurações como texto + Falha ao exportar configurações. + As configurações foram exportadas com sucesso. + Importar + Copiar + A importação falhou: %s. + Configurações redefinidas para o padrão + Configurações %d importadas + Reiniciar + Configurações copiadas para área de transferência. Ignorar restrições de imagem por região Substitui o domínio que está bloqueado em algumas regiões para que miniaturas para playlists, avatares de canais, etc. possam ser recebidos. Alterar menu de compartilhamento @@ -396,22 +410,8 @@ Encontre a música oficial se um videoclipe for detectado tocando de um álbum. Informações: • Os clientes mais recentes do YouTube Music usam o codec de áudio OPUS por padrão. • Isto só é válido para usuários que falsificam com clientes muito antigos." - Abrir GmsCore - Ative as mensagens na nuvem para receber notificações. - O GmsCore não está instalado. Instale-o. - Ação necessária - "O GmsCore não tem permissão para executar em segundo plano. - -Siga o guia Não mate o meu aplicativo para o seu telefone e aplique as instruções para a sua instalação do MicroG. - -Isto é necessário para o aplicativo funcionar." - Abrir site - "As otimizações de bateria do GmsCore devem ser desativadas para evitar problemas. - -Desativar as otimizações de bateria do GmsCore não afetará negativamente o uso da bateria. - -Toque no botão continuar e permita as alterações de otimização." - Continuar + Limpar links compartilhados + Remove os parâmetros de consulta de rastreamento das URLs ao compartilhar os links. Falsificar cliente "Falsificar o cliente para evitar problemas de reprodução. @@ -433,22 +433,22 @@ Toque no botão continuar e permita as alterações de otimização." Exibir o cliente usado para buscar dados de streaming em estatísticas para nerds. Android VR Android Music - Limpar links compartilhados - Remove os parâmetros de consulta de rastreamento das URLs ao compartilhar os links. Abrir configurações padrão do aplicativo Para abrir os links de música do YouTube no RVX Music, ative \'Abrir links suportados\' e ative os endereços web suportados. - Importar / Exportar configurações - Importar ou exportar as configurações como texto. - Exportar configurações para um arquivo - Importar configurações de um arquivo - Importar / Exportar as configurações como texto - Falha ao exportar configurações. - As configurações foram exportadas com sucesso. - Importar - Copiar - A importação falhou: %s. - Configurações redefinidas para o padrão - Configurações %d importadas - Reiniciar - Configurações copiadas para área de transferência. + Abrir GmsCore + Ative as mensagens na nuvem para receber notificações. + O GmsCore não está instalado. Instale-o. + Ação necessária + "O GmsCore não tem permissão para executar em segundo plano. + +Siga o guia Não mate o meu aplicativo para o seu telefone e aplique as instruções para a sua instalação do MicroG. + +Isto é necessário para o aplicativo funcionar." + Abrir site + "As otimizações de bateria do GmsCore devem ser desativadas para evitar problemas. + +Desativar as otimizações de bateria do GmsCore não afetará negativamente o uso da bateria. + +Toque no botão continuar e permita as alterações de otimização." + Continuar diff --git a/patches/src/main/resources/music/translations/ro-rRO/strings.xml b/patches/src/main/resources/music/translations/ro-rRO/strings.xml index e1232dff1..bd4ff81cd 100644 --- a/patches/src/main/resources/music/translations/ro-rRO/strings.xml +++ b/patches/src/main/resources/music/translations/ro-rRO/strings.xml @@ -79,11 +79,6 @@ Probleme cunoscute: - Activează jurnalul de depanare - Afișează jurnalul de depanare. - Activează codec opus - "Activează codec-ul opus 250/251 atunci când redați audio." - Curăță link-urile de partajare Importă / Exportă Importă sau exportă setările ca text. Importă @@ -91,4 +86,9 @@ Probleme cunoscute: Setări resetate la valorile implicite. Setări %d importate. Setări copiate în clipboard. + Activează jurnalul de depanare + Afișează jurnalul de depanare. + Activează codec opus + "Activează codec-ul opus 250/251 atunci când redați audio." + Curăță link-urile de partajare diff --git a/patches/src/main/resources/music/translations/ru-rRU/strings.xml b/patches/src/main/resources/music/translations/ru-rRU/strings.xml index 49e4a7a57..17ddf4c16 100644 --- a/patches/src/main/resources/music/translations/ru-rRU/strings.xml +++ b/patches/src/main/resources/music/translations/ru-rRU/strings.xml @@ -64,18 +64,18 @@ Скрывает баннер с уведомлением о промо акции. Выдвижное меню - Компактный вид окна - "Включает компактное всплывающее меню на телефонах. - -Известные проблемы: -• Заставки альбомов во вкладке \"Библиотека\" становятся меньше в виде сетки. -• Интерфейс \"Автовыключение\" может необычно появляться." Включить обрезание тишины "Включает переключатель \"Обрезать тишину\" во всплывающем меню скорости воспроизведения. Информация: • Эта функция предназначена для подкастов. • Эта функция все еще находится в разработке, поэтому может работать нестабильно." + Компактный вид окна + "Включает компактное всплывающее меню на телефонах. + +Известные проблемы: +• Заставки альбомов во вкладке \"Библиотека\" становятся меньше в виде сетки. +• Интерфейс \"Автовыключение\" может необычно появляться." Скрыть кнопки \"Нравится\" и \"Не нравится\" Скрыть компонент из 3 столбцов Скрыть пункт \"Добавить в очередь\" @@ -125,10 +125,10 @@ Главная Библиотека Подписки - Отключить автоматические субтитры - Отключает автоматическое включение субтитров. Отключить переключение при \"Не нравится\" Отключает перенаправление на следующий трек при нажатии на кнопку \"Не нравится\". + Отключить автоматические субтитры + Отключает автоматическое включение субтитров. Альбомный режим Включает альбомный режим при повороте экрана на телефонах. Пользовательский фильтр @@ -141,24 +141,24 @@ Скрывает ряд кнопок с главной страницы и со вкладки \"Навигатор\". Скрыть карусель треков Скрывает карусель треков с главной страницы и со вкладки \"Навигатор\". - Скрыть полку с заставкой плейлиста - Скрывает полку с заставкой плейлиста в ленте. - Скрыть полку \"Семплы\" - Скрывает полку \"Семплы\" в ленте. Скрыть кнопку \"Трансляция\" Скрывает кнопку \"Трансляция\". Скрыть панель категорий Скрывает панель категорий. Скрыть всплывающую кнопку Скрывает всплывающую кнопку в библиотеке. - Скрыть кнопку \"Обновить\" - Скрывает кнопку \"Обновить\". Скрыть кнопку \"История\" Скрывает кнопку \"История\" на панели инструментов. Скрыть кнопку \"Уведомления\" Скрывает кнопку \"Уведомления\" на панели инструментов. + Скрыть полку с заставкой плейлиста + Скрывает полку с заставкой плейлиста в ленте. + Скрыть полку \"Семплы\" + Скрывает полку \"Семплы\" в ленте. Скрыть кнопку поиска звука Скрывает кнопку поиска звука в строке поиска. + Скрыть кнопку \"Обновить\" + Скрывает кнопку \"Обновить\". Скрыть кнопку голосового поиска Скрывает кнопку голосового поиска в строке поиска. Восстановить старый стиль вкладки \"Библиотека\" @@ -196,36 +196,36 @@ Скрывает подписи под кнопками навигации. Плеер - Отключить жест мини плеера - Отключает свайп для переключения треков в миниплеере. - Отключить жест плеера - Отключает свайп для переключения треков в плеере. - Включить черный фон плеера - Меняет адаптивный цвет фона плеера на черный. - Цветовое соответствие проигрывателей - Цвет мини-проигрывателя соответствует цвету полноэкранного проигрывателя. - Удерживать проигрыватель свёрнутым - Удерживает проигрыватель свёрнутым, даже если играет другой трек. Включить кнопку следующего в миниплеере Включает кнопку следующего трека в миниплеере. Включить кнопку предыдущего в миниплеере Включает кнопку предыдущего трека в миниплеере. + Цветовое соответствие проигрывателей + Цвет мини-проигрывателя соответствует цвету полноэкранного проигрывателя. + Включить черный фон плеера + Меняет адаптивный цвет фона плеера на черный. + Отключить жест мини плеера + Отключает свайп для переключения треков в миниплеере. + Отключить жест плеера + Отключает свайп для переключения треков в плеере. + Удерживать проигрыватель свёрнутым + Удерживает проигрыватель свёрнутым, даже если играет другой трек. Включить жест скрытия миниплеера Включает жест вниз для скрытия миниплеера. Режим \"Дзен\" Меняет оттенок фона проигрывателя видео на светло-серый, чтобы уменьшить нагрузку на глаза. Включить режим \"Дзен\" в подкастах Режим \"Дзен\" также применяется к подкастам. - Скрыть переключатель \"аудио/видео\" - Скрывает переключатель \"аудио/видео\" в плеере. Скрыть правила канала Скрывает правила канала в верхней части комментариев. - Метка времени и кнопки эмодзи - Скрывает кнопки метки времени и эмодзи при вводе комментариев. Скрыть фильтр двойного нажатия Скрывает затемнение, которое появляется при двойном нажатии при перемотке. + Метка времени и кнопки эмодзи + Скрывает кнопки метки времени и эмодзи при вводе комментариев. Скрыть кнопку \"Поделиться\" в полноэкранном режиме Скрывает кнопку \"Поделиться\" в полноэкранном проигрывателе. + Скрыть переключатель \"аудио/видео\" + Скрывает переключатель \"аудио/видео\" в плеере. Запоминать состояние повтора Запоминает состояние переключателя \"Повтор воспроизведения\". Запоминать состояние перемешивания @@ -364,6 +364,20 @@ sponsor.ajay.app Разное + Восстановить / Извлечь настройки + Восстановить или извлечь настройки. + Извлечь настройки в файл + Восстановить настройки из файла + Восстановить / Извлечь настройки в виде текста + Не удалось извлечь настройки. + Настройки успешно извлечены. + Восстановить + Копировать + Не удалось восстановить: %s. + Настройки сброшены до начальных. + Восстановлено %d настройки(ек). + Сбросить + Настройки скопированы в буфер. Обойти ограничения изображений по региону Заменяет заблокированный в некоторых регионах домен, чтобы можно было получать миниатюры плейлистов, аватары каналов и т. д. Изменить окно \"Поделиться\" @@ -393,20 +407,8 @@ Информация: • Последние Android клиенты используют аудио кодек opus по умолчанию. • Эта функция подходит только для очень старых клиентов." - Открыть GmsCore - Включите \"Облачные уведомления\" для получения уведомлений. - GmsCore не установлен. Установите его. - Требуется действие - "MicroG GmsCore не имеет разрешения на запуск в фоновом режиме. - -Следуйте инструкции \"Don't kill my app\" для Вашего телефона и установите MicroG согласно ее. - -Это необходимо для работы приложения." - Открыть сайт - "Во избежание проблем необходимо отключить оптимизацию батареи для MicroG GmsCore. - -Нажмите кнопку \"Продолжить\" и отключите оптимизацию батареи." - Продолжить + Подчищать ссылки + Убирает параметры отслеживания запросов из адресов при отправке ссылки. Подмена клиента "Подмена клиента для предотвращения проблем с воспроизведением. @@ -431,22 +433,20 @@ Показывает клиент, используемый для получения потоковых данных в Статистике для сисадминов. Android VR Android Music - Подчищать ссылки - Убирает параметры отслеживания запросов из адресов при отправке ссылки. Открыть настройки по умолчанию Чтобы открыть ссылку на YouTube Music в RVX Music, включите \"Открывать поддерживаемые ссылки\" и включите поддерживаемые веб-адреса. - Восстановить / Извлечь настройки - Восстановить или извлечь настройки. - Извлечь настройки в файл - Восстановить настройки из файла - Восстановить / Извлечь настройки в виде текста - Не удалось извлечь настройки. - Настройки успешно извлечены. - Восстановить - Копировать - Не удалось восстановить: %s. - Настройки сброшены до начальных. - Восстановлено %d настройки(ек). - Сбросить - Настройки скопированы в буфер. + Открыть GmsCore + Включите \"Облачные уведомления\" для получения уведомлений. + GmsCore не установлен. Установите его. + Требуется действие + "MicroG GmsCore не имеет разрешения на запуск в фоновом режиме. + +Следуйте инструкции \"Don't kill my app\" для Вашего телефона и установите MicroG согласно ее. + +Это необходимо для работы приложения." + Открыть сайт + "Во избежание проблем необходимо отключить оптимизацию батареи для MicroG GmsCore. + +Нажмите кнопку \"Продолжить\" и отключите оптимизацию батареи." + Продолжить diff --git a/patches/src/main/resources/music/translations/tr-rTR/strings.xml b/patches/src/main/resources/music/translations/tr-rTR/strings.xml index a91c3d58a..cc9361e78 100644 --- a/patches/src/main/resources/music/translations/tr-rTR/strings.xml +++ b/patches/src/main/resources/music/translations/tr-rTR/strings.xml @@ -67,18 +67,18 @@ Sınırlamalar: Promosyon uyarı başlığını gizler. Açılır menü - Kompakt diyaloğu etkinleştir - "Telefonda kompakt iletişim kutusunu etkinleştirin. - -Bilinen sorunlar: -• Kitaplık sekmesindeki albüm resmi, ızgara halinde düzenlendiğinde küçülür. -• Uyku zamanlayıcısı düzeni olağandışı görünebilir." Kırpma sessizliğini etkinleştir "Oynatma hızı açılır menüsüne 'Sessizliği kırp' geçişini etkinleştirir. Bilgi: • Bu özellik podcast'ler içindir. • Bu özellik henüz geliştirme aşamasında olduğundan kararsız olabilir." + Kompakt diyaloğu etkinleştir + "Telefonda kompakt iletişim kutusunu etkinleştirin. + +Bilinen sorunlar: +• Kitaplık sekmesindeki albüm resmi, ızgara halinde düzenlendiğinde küçülür. +• Uyku zamanlayıcısı düzeni olağandışı görünebilir." Beğen ve beğenme butonunu gizle 3-sütunlu bileşenleri gizle Kuyruğa ekle menüsünü gizle @@ -126,10 +126,10 @@ Bilgi: Ana Sayfa Kitaplık Abonelikler - Altyazıların kendiliğinden açılmasını kapat - Altyazıların kendiliğinden açılmasını devre dışı bırakır. Beğenmeme yönlendirmesini devre dışı bırak Beğenmedim düğmesine tıklandığında sonraki parçaya yönlendirmeyi devre dışı bırakır. + Altyazıların kendiliğinden açılmasını kapat + Altyazıların kendiliğinden açılmasını devre dışı bırakır. Yatay Modu Etkinleştir Telefonlarda ekran döndürme ile manzara moduna geçiş sağlar. Özel filtreyi etkinleştir @@ -142,24 +142,24 @@ Bilgi: Düğme rafını ana sayfadan ve keşfet sekmesinden gizler. Atlıkarınca rafını gizle Döner rafı ana sayfa ve keşfet sekmesinden gizler. - Çalma listesi kartı rafını gizle - Oynatma listesi kartı rafını ana sayfadan gizler. - Örnek rafını gizle - Feed\'deki örnek rafını gizler. \"Yayınla\" butonunu gizle Yayınlama düğmesini gizler. Kategor barını Gizle Kategori çubuğunu gizler. Yüzen Butonu Gizle Kitaplıktaki Yüzen Butonu Gizle. - Güncellemek için tıkla butonunu gizle - Güncellemek için tıkla butonunu gizler. Geçmiş düğmesini gizle Araç çubuğundaki geçmiş düğmesini gizler. Bildirim butonunu gizle Araç çubuğundaki bildirim düğmesini gizler. + Çalma listesi kartı rafını gizle + Oynatma listesi kartı rafını ana sayfadan gizler. + Örnek rafını gizle + Feed\'deki örnek rafını gizler. Sesli arama düğmesini gizle Arama çubuğundaki ses arama düğmesini gizler. + Güncellemek için tıkla butonunu gizle + Güncellemek için tıkla butonunu gizler. Sesli arama düğmesini gizle Arama çubuğundaki sesli arama düğmesini gizler. Eski stil kitaplık rafını geri getir @@ -197,36 +197,36 @@ Bilgi: Gezinme çubuğunun altındaki etiketleri gizleyin. Oynatıcı - Mini oynatıcı hareketini devre dışı bırak - Mini oynatıcıdaki parçaları değiştirmek için kaydırmayı devre dışı bırakın. - Oynatıcı hareketini devre dışı bırak - Oynatıcıdaki parçaları değiştirmek için kaydırmayı devre dışı bırakın. - Siyah oynatıcı arka planını etkinleştir - Oynatıcının arka plan rengini siyaha değiştirir. - Oynatıcı renk eşlemesini etkinleştir - Küçültülmüş oynatıcının rengi ile tam ekran oynatıcının rengini eşler. - Zorla küçültülmüş pencereyi aktifleştir - Başka bir kayıt oynatılıyor ise oynatıcıyı tamamen küçült. Mini oynatıcıyıdaki sonraki düğmesini etkinleştir Mini oynatıcıda sonraki düğmesini etkinleştirir. Mini oynatıcıdaki önceki düğmesini etkinleştir Mini oynatıcıda önceki düğmesini etkinleştirir. + Oynatıcı renk eşlemesini etkinleştir + Küçültülmüş oynatıcının rengi ile tam ekran oynatıcının rengini eşler. + Siyah oynatıcı arka planını etkinleştir + Oynatıcının arka plan rengini siyaha değiştirir. + Mini oynatıcı hareketini devre dışı bırak + Mini oynatıcıdaki parçaları değiştirmek için kaydırmayı devre dışı bırakın. + Oynatıcı hareketini devre dışı bırak + Oynatıcıdaki parçaları değiştirmek için kaydırmayı devre dışı bırakın. + Zorla küçültülmüş pencereyi aktifleştir + Başka bir kayıt oynatılıyor ise oynatıcıyı tamamen küçült. Mini oynatıcıyı kapatmak için kaydırmayı etkinleştirin Mini oynatıcıyı kapatmak için aşağı kaydırmayı etkinleştirir. Zen modunu aç/kapa Video oynatıcıya açık gri bir ton ekleyerek göz yorgunluğunu azaltır. Podcastlerde zen modunu aç/kapa Zen modu podcast\'lere de uygulanır. - Ses video geçiş anahtarını gizle - Oynatıcıdaki ses video geçiş anahtarını gizler. Kanal yönergelerini gizle Yorumları bölümünün üst kısmında kanal kurallarını gizler. - Zaman damgası ve emoji düğmelerini gizle - Yorum yazarken zaman damgası ve emoji düğmelerini gizle. Çift tıklama arayüz filtresini gizle Çift tıklayarak sürükleme etkinken kara arayüzü gizler. + Zaman damgası ve emoji düğmelerini gizle + Yorum yazarken zaman damgası ve emoji düğmelerini gizle. Tam ekran\'daki paylaş butonunu gizle Tam ekran oynatıcısındaki paylaş butonunu gizler. + Ses video geçiş anahtarını gizle + Oynatıcıdaki ses video geçiş anahtarını gizler. Tekrarın durumunu hatırlar Tekrarın durumunu hatırlar. Karıştır durumunu hatırlar @@ -372,6 +372,20 @@ APl anahtarının nasıl verileceğini görmek için tıklayın." sponsor.ajay.app Diğer ayarlar + Ayarları içe / dışa aktar + Ayarları içe veya dışa aktarın. + Ayarları bir dosyaya dışa aktar + Ayarları dosyadan içe aktar + Ayarları yazı olarak içe / dışa aktar + Ayarlar dışa aktarılamadı. + Ayarlar başarıyla dışa aktarıldı. + İçe aktar + Kopyala + İçe aktarma başarısız oldu: %s. + Ayarlar varsayılana sıfırlandı. + %d ayar içe aktarıldı. + Sıfırla + Ayarlar panoya kopyalandı Resimlerin bölge kısıtlamalarını atla Bazı bölgelerde engellenen alan adını değiştirerek oynatma listesi küçük resimlerinin, kanal avatarlarının vb. alınabilmesini sağlar. Paylaşım sayfasını değiştir @@ -388,6 +402,17 @@ APl anahtarının nasıl verileceğini görmek için tıklayın." Bilgi: • En yeni Android istemcileri varsayılan olarak opus ses codec bileşenini kullanır. • Bu yalnızca çok eski istemcilerle sahtecilik yapan kullanıcılar için geçerlidir." + Paylaşılan bağlantıları sterilize edin + Bağlantıları paylaşırken, tracking query parametrelerini URL\'lerden kaldırır. + Sahte istemci + "\"Oynatma sorunlarını önlemek için istemciyi taklit edin. + +Sınırlamalar: +• OPUS ses kodeği desteklenmiyor olabilir. +• Arama çubuğu küçük resmi mevcut olmayabilir. +• İzleme geçmişi marka hesabında çalışmaz." + Varsayılan uygulama ayarlarını aç + YouTube Müzik bağlantılarını RVX Music\'te açmak için \'Desteklenen bağlantıları aç\'ı etkinleştirin ve desteklenen web adreslerini etkinleştirin. GmsCore\'yi aç Bildirimleri alabilmek için bulut mesajlaşmayı etkinleştirin. GmsCore yüklü değil. Yükleyin. @@ -402,29 +427,4 @@ Uygulamanın çalışması için bu gereklidir." Devam düğmesine dokunun ve pil optimizasyonlarını devre dışı bırakın." Devam Et - Sahte istemci - "\"Oynatma sorunlarını önlemek için istemciyi taklit edin. - -Sınırlamalar: -• OPUS ses kodeği desteklenmiyor olabilir. -• Arama çubuğu küçük resmi mevcut olmayabilir. -• İzleme geçmişi marka hesabında çalışmaz." - Paylaşılan bağlantıları sterilize edin - Bağlantıları paylaşırken, tracking query parametrelerini URL\'lerden kaldırır. - Varsayılan uygulama ayarlarını aç - YouTube Müzik bağlantılarını RVX Music\'te açmak için \'Desteklenen bağlantıları aç\'ı etkinleştirin ve desteklenen web adreslerini etkinleştirin. - Ayarları içe / dışa aktar - Ayarları içe veya dışa aktarın. - Ayarları bir dosyaya dışa aktar - Ayarları dosyadan içe aktar - Ayarları yazı olarak içe / dışa aktar - Ayarlar dışa aktarılamadı. - Ayarlar başarıyla dışa aktarıldı. - İçe aktar - Kopyala - İçe aktarma başarısız oldu: %s. - Ayarlar varsayılana sıfırlandı. - %d ayar içe aktarıldı. - Sıfırla - Ayarlar panoya kopyalandı diff --git a/patches/src/main/resources/music/translations/uk-rUA/strings.xml b/patches/src/main/resources/music/translations/uk-rUA/strings.xml index 5266c6e64..fa14ec34c 100644 --- a/patches/src/main/resources/music/translations/uk-rUA/strings.xml +++ b/patches/src/main/resources/music/translations/uk-rUA/strings.xml @@ -67,18 +67,18 @@ Приховує банер рекламних сповіщень. Спливаюче меню - Увімкнути компактний вигляд меню - "Вмикає компактне спливаюче вікно на телефонах. - -Відомі проблеми: -• Обкладинка альбому на вкладці \"Бібліотека\" стає меншою, якщо вона впорядкована сіткою. -• Вікно \"Таймер сну\" може з'являтися незвично." Додати перемикач \"Пропуск тиші\" "Додає перемикач \"Пропуск тиші\" у спливаючому меню швидкості відео. Інформація: • Ця функція призначена для подкастів. • Ця функція все ще у розробці, тому може бути нестабільною." + Увімкнути компактний вигляд меню + "Вмикає компактне спливаюче вікно на телефонах. + +Відомі проблеми: +• Обкладинка альбому на вкладці \"Бібліотека\" стає меншою, якщо вона впорядкована сіткою. +• Вікно \"Таймер сну\" може з'являтися незвично." Приховати \"Подобається\" і \"Не подобається\" Приховати 3-стовпцевий компонент Приховати \"Додати в чергу\" @@ -128,10 +128,10 @@ Головна Бібліотека Підписка - Вимкнути примусові авто субтитри - Вимикає автоматичне ввімкнення субтитрів. Вимкнути перенаправлення при \"Не подобається\" Вимикає перенаправлення на наступний трек при натисканні на кнопку \"Не подобається\". + Вимкнути примусові авто субтитри + Вимикає автоматичне ввімкнення субтитрів. Увімкнути ландшафтний режим Вмикає ландшафтний режим під час повороту екрана на телефонах. Увімкнути користувацький фільтр @@ -144,24 +144,24 @@ Приховує кнопки \"Новинки\", \"Хіт-паради\", \"Настрій і жанри\" на вкладці \"Навігація\". Приховати карусель треків Приховує карусель треків на вкладках \"Головна\" та \"Навігація\". - Приховати полицю карток списку відтворення - Приховує полицю карток списку відтворення в стрічці. - Приховати полицю \"Семпли\" - Приховує полицю \"Семпли для вас\" у стрічці. Приховати кнопку \"Трансляція\" Приховує кнопку \"Трансляція\" в плеєрі та мініплеєрі. Приховати панель категорій Приховує панель категорій. Приховати плаваючу кнопку Приховує плаваючу кнопку у вкладці \"Бібліотека\". - Приховати кнопку оновлення - Приховує кнопку оновлення. Приховати кнопку історії Приховує кнопку історії на панелі інструментів вкладки \"Бібліотека\". Приховати кнопку сповіщень Приховує кнопку сповіщень на панелі інструментів. + Приховати полицю карток списку відтворення + Приховує полицю карток списку відтворення в стрічці. + Приховати полицю \"Семпли\" + Приховує полицю \"Семпли для вас\" у стрічці. Приховати кнопку пошуку музики Приховує кнопку пошуку музики у панелі пошуку. + Приховати кнопку оновлення + Приховує кнопку оновлення. Приховати кнопку голосового пошуку Приховує кнопку голосового пошуку у панелі пошуку. Відновити старий стиль вкладки \"Бібліотека\" @@ -199,36 +199,36 @@ Приховує підписи кнопок на панелі навігації. Плеєр - Вимкнути жести мініплеєра - Вимикає жести перемикання треків у мініплеєрі. - Вимкнути жести плеєра - Вимикає жести перемикання треків у плеєрі. - Увімкнути чорний фон плеєра - Змінює адаптивний колір фона плеєра на чорний. - Увімкнути колірну відповідність плеєрів - Колір мініплеєра повторює колір повноекранного плеєра. - Увімкнути мініплеєр на постійній основі - Тримає плеєр згорнутим, навіть коли відтворюється інший трек. Додати кнопку наступне у мініплеєр Додає кнопку наступного треку у мініплеєр. Додати кнопку попереднє у мініплеєр Додає кнопку попереднього треку у мініплеєр. + Увімкнути колірну відповідність плеєрів + Колір мініплеєра повторює колір повноекранного плеєра. + Увімкнути чорний фон плеєра + Змінює адаптивний колір фона плеєра на чорний. + Вимкнути жести мініплеєра + Вимикає жести перемикання треків у мініплеєрі. + Вимкнути жести плеєра + Вимикає жести перемикання треків у плеєрі. + Увімкнути мініплеєр на постійній основі + Тримає плеєр згорнутим, навіть коли відтворюється інший трек. Увімкнути жест закриття мініплеєру Вмикає жест вниз для закриття мініплеєру. Увімкнути режим \"Дзен\" Змінює колір фона плеєра на світло-сірий, щоб зменшити навантаження на очі. Увімкнути режим \"Дзен\" у подкастах Режим \"Дзен\" також застосовується до подкастів. - Приховати перемикач \"пісня | відео\" - Приховує перемикач \"пісня | відео\" у плеєрі. Приховати правила каналу Приховує правила каналу у верхній частині секції коментарів. - Приховати мітку часу та емодзі - Приховує кнопки мітки часу та емодзі під час введення коментарів. Приховати фільтр подвійного натискання Приховує затемнення, яке з’являється під час подвійного натискання для перемотування. + Приховати мітку часу та емодзі + Приховує кнопки мітки часу та емодзі під час введення коментарів. Приховати \"Поділитися\" повноекранного режиму Приховує кнопку \"Поділитися\" в повноекранному плеєрі. + Приховати перемикач \"пісня | відео\" + Приховує перемикач \"пісня | відео\" у плеєрі. Запам\'ятовувати стан повтору Запам\'ятовує стан кнопки \"Повтор відтворення\". Запам\'ятовувати стан перемішування @@ -367,6 +367,20 @@ sponsor.ajay.app Різне + Імпорт / Експорт налаштувань + Імпортує або експортує налаштування. + Експорт налаштувань у файл + Імпорт налаштувань із файлу + Імпорт або експорт налаштувань у вигляді тексту + Не вдалося експортувати налаштування. + Налаштування було вдало експортовано. + Імпортувати + Копіювати + Не вдалося імпортувати налаштування: %s. + Налаштування скинуто до стандартних. + Налаштування в кількості: %d успішно відновлено + Скинути + Налаштування скопійовано до буфера обміну. Змінити домен зображень Замінює домен для зображень, заблокований у деяких регіонах, що дозволить отримувати мініатюри списків відтворення, аватари каналів тощо. Змінити діалог поширення @@ -396,22 +410,8 @@ Інформація: • Останні YouTube Music клієнти за умовчанням використовують аудіокодек OPUS. • Це буде корисно лише для користувачів, які користуються дуже старими клієнтами." - Відкрити GmsCore - Увімкніть \"Хмарні повідомлення\", щоб отримувати сповіщення. - GmsCore не встановлено. Встановіть. - Потрібна дія - "GmsCore не дозволено працювати у фоні. - -Дотримуйтесь посібника \"Don't kill my app\" для вашого пристрою і застосуйте інструкції для встановлення GmsCore. - -Це необхідно для того, щоб програма працювала." - Відкрити сайт - "Необхідно вимкнути оптимізацію енергії для MicroG GmsCore, щоб запобігти проблемам. - -Вимкнення оптимізації енергії для MicroG не вплине негативно на час автономної роботи. - -Натисніть кнопку \"Продовжити\" та вимкніть оптимізацію." - Продовжити + Обробляти поширення посилань + Видаляє параметри запиту відстеження з URL-адрес під час обміну посиланнями. Підміна клієнта "Підробити клієнт, щоб запобігти проблемам із відтворенням. @@ -433,22 +433,22 @@ Показує клієнт, який використовується для отримання потокових даних у \"Статистиці для сисадмінів\". Android VR Android Music - Обробляти поширення посилань - Видаляє параметри запиту відстеження з URL-адрес під час обміну посиланнями. Відкрити налаштування за замовчуванням Щоб відкривати посилання на YouTube Music у RVX Music, увімкніть \"Відкривати підтримувані посилання\" та активуйте підтримувані веб-адреси. - Імпорт / Експорт налаштувань - Імпортує або експортує налаштування. - Експорт налаштувань у файл - Імпорт налаштувань із файлу - Імпорт або експорт налаштувань у вигляді тексту - Не вдалося експортувати налаштування. - Налаштування було вдало експортовано. - Імпортувати - Копіювати - Не вдалося імпортувати налаштування: %s. - Налаштування скинуто до стандартних. - Налаштування в кількості: %d успішно відновлено - Скинути - Налаштування скопійовано до буфера обміну. + Відкрити GmsCore + Увімкніть \"Хмарні повідомлення\", щоб отримувати сповіщення. + GmsCore не встановлено. Встановіть. + Потрібна дія + "GmsCore не дозволено працювати у фоні. + +Дотримуйтесь посібника \"Don't kill my app\" для вашого пристрою і застосуйте інструкції для встановлення GmsCore. + +Це необхідно для того, щоб програма працювала." + Відкрити сайт + "Необхідно вимкнути оптимізацію енергії для MicroG GmsCore, щоб запобігти проблемам. + +Вимкнення оптимізації енергії для MicroG не вплине негативно на час автономної роботи. + +Натисніть кнопку \"Продовжити\" та вимкніть оптимізацію." + Продовжити diff --git a/patches/src/main/resources/music/translations/vi-rVN/strings.xml b/patches/src/main/resources/music/translations/vi-rVN/strings.xml index 018f9d3dc..3e646efcd 100644 --- a/patches/src/main/resources/music/translations/vi-rVN/strings.xml +++ b/patches/src/main/resources/music/translations/vi-rVN/strings.xml @@ -67,18 +67,18 @@ Hạn chế: Ẩn biểu ngữ thông báo khuyến mãi. Trình đơn tuỳ chọn - Trình đơn tuỳ chọn thu gọn - "Bật trình đơn tuỳ chọn dạng hộp thoại. - -Hạn chế: -• Ảnh bìa Album trong thẻ Thư viện (Danh sách phát, Podcast, Bài hát, Đĩa nhạc, Nghệ sĩ,...) cũng thu gọn theo. -• Bố cục Hẹn giờ ngủ có thể xuất hiện bất thường." Cắt bỏ khoảng lặng "Thêm tính năng Cắt bỏ khoảng lặng vào mục tuỳ chọn tốc độ phát. Cụ thể: • Tính năng này dành cho podcast. • Tính năng này vẫn đang được phát triển nên có thể chưa ổn định." + Trình đơn tuỳ chọn thu gọn + "Bật trình đơn tuỳ chọn dạng hộp thoại. + +Hạn chế: +• Ảnh bìa Album trong thẻ Thư viện (Danh sách phát, Podcast, Bài hát, Đĩa nhạc, Nghệ sĩ,...) cũng thu gọn theo. +• Bố cục Hẹn giờ ngủ có thể xuất hiện bất thường." Ẩn các nút Thích và Không thích Ẩn 3 ô thao tác nhanh Ẩn mục Thêm vào danh sách chờ @@ -128,10 +128,10 @@ Hạn chế: Trang chủ Thư viện Kênh đăng ký - Tắt tự động hiển thị phụ đề - Tắt tự động hiển thị phụ đề khi phát video nhạc có phụ đề. Tắt chuyển hướng khi nhấn nút Không thích Không chuyển đến bài hát tiếp theo khi nhấn vào nút Không thích. + Tắt tự động hiển thị phụ đề + Tắt tự động hiển thị phụ đề khi phát video nhạc có phụ đề. Tự động xoay màn hình Cho phép ứng dụng tự động xoay theo hướng màn hình mà thiết bị được giữ. Bộ lọc tuỳ chỉnh @@ -144,27 +144,27 @@ Hạn chế: Ẩn khối danh mục ở cuối thẻ Trang chủ và đầu thẻ Khám phá. Ẩn các kệ được cá nhân hoá Ẩn các kệ được cá nhân hoá dựa trên sở thích của bạn khỏi thẻ Trang chủ và thẻ Khám phá. - Ẩn kệ thẻ danh sách phát - Ẩn kệ thẻ danh sách phát ở thẻ Trang chủ. - Ẩn thẻ Đoạn nhạc - Ẩn kệ Đoạn nhạc ở thẻ Trang chủ. Ẩn nút Truyền Ẩn nút Truyền ở đầu trình phát. Ẩn thanh danh mục Ẩn thanh danh mục. Ẩn nút nổi Ẩn nút nổi trong thẻ Thư viện. - Ẩn nút Chạm để nâng cấp - Ẩn nút Chạm để nâng cấp. Ẩn nút Video đã xem Ẩn nút Video đã xem khỏi thanh công cụ. Ẩn nút Thông báo Ẩn nút Thông báo khỏi thanh công cụ. + Ẩn kệ thẻ danh sách phát + Ẩn kệ thẻ danh sách phát ở thẻ Trang chủ. + Ẩn thẻ Đoạn nhạc + Ẩn kệ Đoạn nhạc ở thẻ Trang chủ. Ẩn nút Tìm kiếm bằng âm thanh Ẩn nút Tìm kiếm bằng âm thanh kế bên thanh tìm kiếm. + Ẩn nút Chạm để nâng cấp + Ẩn nút Chạm để nâng cấp. Ẩn nút Tìm kiếm bằng giọng nói Ẩn nút Tìm kiếm bằng giọng nói kế bên thanh tìm kiếm. - Thẻ Thư viện kiểu cũ + Thẻ Thư viện cũ Khôi phục lại thẻ Thư viện về kiểu cũ. (Thử nghiệm) Xoá hộp thoại cảnh báo trước khi xem "Xoá hộp thoại cảnh báo nội dung cần cân nhắc trước khi xem. @@ -195,40 +195,40 @@ Hạn chế: Ẩn thẻ Nâng cấp khỏi thanh điều hướng. Ẩn thanh điều hướng Ẩn thanh điều hướng. - Ẩn tên thẻ - Ẩn tên thẻ trên thanh điều hướng. + Ẩn tên bên dưới nút + Ẩn tên bên dưới các nút trên thanh điều hướng. Trình phát - Tắt cử chỉ trình phát thu nhỏ - Tắt vuốt để chuyển bài hát trong trình phát thu nhỏ. - Tắt cử chỉ trình phát - Tắt vuốt để chuyển bài hát trong trình phát. - Nền trình phát màu đen - Thay đổi màu nền trình phát thành màu đen. - Trình phát thu nhỏ khớp màu - Đồng bộ màu của trình phát thu nhỏ với màu của trình phát. - Luôn phát trong trình phát thu nhỏ - Luôn phát nhạc trong trình phát thu nhỏ bất cứ khi nào bạn nghe một bài hát nằm ngoài trình phát hoặc bắt đầu đài phát. Thêm nút tiếp theo vào trình phát thu nhỏ Thêm nút bài hát tiếp theo vào trình phát thu nhỏ. Thêm nút trước đó vào trình phát thu nhỏ Thêm nút bài hát trước đó vào trình phát thu nhỏ. + Thay đổi màu của trình phát thu nhỏ + Thay đổi màu của trình phát thu nhỏ khớp với màu của trình phát toàn màn hình. + Thay đổi màu nền của trình phát + Thay đổi màu nền trình phát thành màu đen. + Tắt cử chỉ trình phát thu nhỏ + Tắt vuốt để chuyển bài hát trong trình phát thu nhỏ. + Tắt cử chỉ trình phát + Tắt vuốt để chuyển bài hát trong trình phát. + Luôn phát trong trình phát thu nhỏ + Luôn phát nhạc trong trình phát thu nhỏ bất cứ khi nào bạn nghe một bài hát nằm ngoài trình phát hoặc bắt đầu đài phát. Vuốt để đóng trình phát thu nhỏ Vuốt xuống để đóng trình phát thu nhỏ. Chế độ tập trung - Thay đổi nền của trình phát thành màu xám nhạt để giúp bạn giảm mỏi mắt và tập trung hơn. - Chế độ tập trung cho podcast - Đồng thời bật chế độ tập trung cho podcast. - Ẩn nút chuyển đổi Bài hát/Video - Ẩn nút chuyển đổi Bài hát/Video trong trình phát. + Thay đổi nền của trình phát thành màu xám nhạt để giúp mắt của bạn thư giãn hơn. + Chế độ tập trung cho Podcast + Chế độ tập trung cho Podcast. Ẩn các nhãn nguyên tắc Ẩn các nhãn nguyên tắc (Nguyên tắc cộng đồng, Nguyên tắc của kênh,...) trong phần Bình luận. - Ẩn nút dấu thời gian và các biểu tượng cảm xúc - Ẩn nút dấu thời gian và các biểu tượng cảm xúc khi đang nhập bình luận. Ẩn lớp phủ khi nhấn đúp để tua Ẩn lớp phủ tối xuất hiện khi nhấn đúp để tua. + Ẩn biểu tượng cảm xúc và nút dấu thời gian + Ẩn biểu tượng cảm xúc và nút dấu thời gian khi đang nhập bình luận. Ẩn nút Chia sẻ trong trình phát toàn màn hình Ẩn nút Chia sẻ trong trình phát toàn màn hình. + Ẩn nút chuyển đổi giữa Bài hát và Video + Ẩn nút chuyển đổi giữa Bài hát và Video trong trình phát. Lưu trạng thái phát lặp lại Ghi nhớ trạng thái phát lặp lại một danh sách phát hoặc phát lặp lại một bài hát. Lưu trạng thái phát ngẫu nhiên @@ -236,10 +236,10 @@ Hạn chế: Bảng bình luận kiểu cũ Khôi phục bảng bình luận kiểu cũ. Nền trình phát kiểu cũ - Khôi phục nền trình phát về kiểu cũ. + Khôi phục nền của trình phát về kiểu cũ. Bố cục trình phát kiểu cũ "Khôi phục bố cục trình phát về kiểu cũ. -\nLưu ý: Một số tính năng có thể không hoạt động bình thường trong bố cục trình phát kiểu cũ." +Một số tính năng có thể không hoạt động bình thường trong bố cục trình phát kiểu cũ." Trình đơn cài đặt Ẩn mục Trung tâm dành cho gia đình @@ -340,7 +340,7 @@ Nhấp vào đây để xem các bước phát hành khóa API." Âm nhạc: Phần không phải nhạc Phần của video âm nhạc nhưng không có âm nhạc, cũng không thuộc danh mục nào. Đã bỏ qua Nhà tài trợ. - Đã bỏ qua Tự quảng cáo. + Đã bỏ qua đoạn Tự quảng cáo. Đã bỏ qua Nhắc nhở tương tác. Đã bỏ qua Phần Intro. Đã bỏ qua Đoạn tạm dừng. @@ -367,6 +367,20 @@ Nhấp vào đây để xem các bước phát hành khóa API." sponsor.ajay.app Cài đặt khác + Nhập/Xuất cài đặt + Nhập hoặc xuất các tuỳ chọn cài đặt của bạn. + Xuất cài đặt dưới dạng tệp + Nhập cài đặt từ tệp + Nhập/Xuất cài đặt dưới dạng văn bản + Xuất cài đặt thất bại. + Cài đặt đã được xuất thành công. + Nhập + Sao chép + Nhập cài đặt thất bại: %s. + Đã đặt lại cài đặt về mặc định. + Đã nhập %d cài đặt. + Đặt lại + Đã sao chép cài đặt sang bảng nhớ tạm. Bỏ qua hạn chế khu vực cho hình ảnh Thay thế miền bị chặn ở một số khu vực để có thể thu được được hình thu nhỏ video của danh sách phát, ảnh đại diện kênh, v. v. Thay đổi giao diện chia sẻ @@ -396,22 +410,8 @@ Trong trường hợp đó, hệ thống sẽ tìm và chuyển hướng tới b Cụ thể: • Các phiên bản YouTube Music mới nhất sử dụng codec OPUS như mặc định. • Điều này chỉ áp dụng cho người dùng giả mạo với các phiên bản ứng dụng rất cũ." - GmsCore - Chuyển hướng tới cài đặt MicroG và kích hoạt Cloud Messaging để nhận thông báo đẩy. - GmsCore chưa được cài đặt. Hãy cài đặt nó đi nào. - Hành động cần thiết - "Hiện GmsCore không có quyền chạy nền. - -Hãy làm theo hướng dẫn của 'Don't kill my app!' và tiến hành cài đặt GmsCore đúng cách. - -Để ứng dụng hoạt động hiệu quả nhất." - Mở trang web - "Vui lòng tắt tối ưu hoá pin cho GmsCore để tránh phát sinh lỗi. - -Tắt tối ưu hoá pin cho GmsCore sẽ không làm ảnh hưởng đáng kể tới thời lượng sử dụng pin. - -Nhấn vào Tiếp tục và cho phép thay đổi lựa chọn tối ưu hoá pin." - Tiếp tục + Liên kết sạch khi chia sẻ + Loại bỏ các tham số truy vấn theo dõi khỏi URL khi chia sẻ liên kết. Giả mạo ứng dụng khách "Giả mạo ứng dụng khách nhằm khắc phục sự cố phát. @@ -433,22 +433,22 @@ Nhấn vào Tiếp tục và cho phép thay đổi lựa chọn tối ưu hoá p Hiển thị ứng dụng khách được sử dụng để nạp luồng dữ liệu trực tuyến trong Thống kê chi tiết. Android VR Android Music - Liên kết sạch khi chia sẻ - Loại bỏ các tham số truy vấn theo dõi khỏi URL khi chia sẻ liên kết. Mở theo mặc định Để mở liên kết YouTube Music trong RVX Music, hãy kích hoạt \"Mở các đường liên kết được hỗ trợ\" và thêm các đường liên kết được hỗ trợ. - Nhập/Xuất cài đặt - Nhập hoặc xuất các tuỳ chọn cài đặt của bạn. - Xuất cài đặt dưới dạng tệp - Nhập cài đặt từ tệp - Nhập/Xuất cài đặt dưới dạng văn bản - Xuất cài đặt thất bại. - Cài đặt đã được xuất thành công. - Nhập - Sao chép - Nhập cài đặt thất bại: %s. - Đã đặt lại cài đặt về mặc định. - Đã nhập %d cài đặt. - Đặt lại - Đã sao chép cài đặt sang bảng nhớ tạm. + Cài đặt GmsCore + Chuyển hướng tới cài đặt GmsCore và kích hoạt Cloud Messaging để nhận thông báo đẩy. + GmsCore chưa được cài đặt. Hãy cài đặt nó đi nào. + Hành động cần thiết + "Hiện GmsCore không có quyền chạy nền. + +Hãy làm theo hướng dẫn của 'Don't kill my app!' và tiến hành cài đặt GmsCore đúng cách. + +Để ứng dụng hoạt động hiệu quả nhất." + Mở trang web + "Vui lòng tắt tối ưu hoá pin cho GmsCore để tránh phát sinh lỗi. + +Tắt tối ưu hoá pin cho GmsCore sẽ không làm ảnh hưởng đáng kể tới thời lượng sử dụng pin. + +Nhấn vào Tiếp tục và cho phép thay đổi lựa chọn tối ưu hoá pin." + Tiếp tục diff --git a/patches/src/main/resources/music/translations/zh-rCN/strings.xml b/patches/src/main/resources/music/translations/zh-rCN/strings.xml index eaf52827f..f20f321e1 100644 --- a/patches/src/main/resources/music/translations/zh-rCN/strings.xml +++ b/patches/src/main/resources/music/translations/zh-rCN/strings.xml @@ -61,18 +61,18 @@ 隐藏 Premium 续订横幅 弹出菜单 - 启用紧凑对话框 - "在手机上启用紧凑对话框。 - -已知问题: -• 媒体库上的专辑封面也变得更小。 -• 睡眠定时器布局可能出现异常。" 新增修改静音开关 "将修改静音开关新增至播放速度弹出式选单 信息: • 此功能适用于播客 • 此功能仍在开发中,因此可能不稳定" + 启用紧凑对话框 + "在手机上启用紧凑对话框。 + +已知问题: +• 媒体库上的专辑封面也变得更小。 +• 睡眠定时器布局可能出现异常。" 隐藏点赞和点踩按钮 隐藏三列组件 隐藏添加到队列选项 @@ -120,10 +120,10 @@ 首页 媒体库 订阅 - 禁用自动字幕 - 禁止视频播放器自动启用的强制字幕 禁用不喜欢重定向 点击不喜欢按钮时禁用重定向到下一曲目 + 禁用自动字幕 + 禁止视频播放器自动启用的强制字幕 横屏模式 允许通过手机屏幕旋转进入横屏模式 自定义过滤隐藏 @@ -136,24 +136,24 @@ 隐藏主页和探索中的按钮栏 播放列表栏 隐藏主页和探索中的播放列表 - 隐藏播放列表卡片 - 隐藏订阅中的播放列表卡片 - 隐藏样品栏 - 隐藏订阅中的样品栏 投屏按钮 隐藏首页顶部和播放器顶部的投屏按钮 隐藏分类 隐藏主页顶部的音乐分类 隐蔽悬浮按钮 隐藏媒体库中的悬浮按钮 - 隐藏点击以更新按钮 - 隐藏点击以更新按钮 隐藏历史按钮 隐藏工具栏中的历史按钮 隐藏通知按钮 隐藏工具栏中的通知按钮 + 隐藏播放列表卡片 + 隐藏订阅中的播放列表卡片 + 隐藏样品栏 + 隐藏订阅中的样品栏 隐藏音频搜索按钮 隐藏搜索栏中的音频搜索按钮 + 隐藏点击以更新按钮 + 隐藏点击以更新按钮 隐藏语音搜索按钮 隐藏搜索栏中的语音搜索按钮 还原旧版媒体库栏 @@ -190,31 +190,31 @@ 隐藏导航栏标签 播放器 - 启用黑色播放器背景 - 将播放器背景颜色更改为黑色 - 匹配播放器颜色 - 使导航栏播放器与全屏播放器颜色一致. - 强制最小化播放器 - 保持播放器最小化,即使播放另一首曲目 启用迷你播放器的下一首按钮 启用迷你播放器的下一首按钮 启用迷你播放器的上一首按钮 启用迷你播放器的上一首按钮 + 匹配播放器颜色 + 使导航栏播放器与全屏播放器颜色一致. + 启用黑色播放器背景 + 将播放器背景颜色更改为黑色 + 强制最小化播放器 + 保持播放器最小化,即使播放另一首曲目 启用滑动以关闭迷你播放器 启用向下滑动以关闭迷你播放器 禅定模式 在视频播放器上添加灰色阴影以减少眼睛疲劳 在播客中启用 Zen 模式 同时允许播客的 Zen 模式 - 隐藏音频/视频开关 - 隐藏播放器中的音频/视频开关 隐藏频道指南 隐藏评论顶部的频道指南 + 隐藏双击叠加层过滤器 隐藏时间戳和表情按钮 输入评论时隐藏时间戳和表情符号按钮 - 隐藏双击叠加层过滤器 隐藏全屏分享按钮 隐藏全屏播放器中的分享按钮 + 隐藏音频/视频开关 + 隐藏播放器中的音频/视频开关 记住重复播放状态 记住重复播放状态 记住随机播放状态 @@ -241,12 +241,6 @@ - Debug 日志 - 打印 Debug 日志 - OPUS 编解码器 - "播放音频使用 250/251 opus 编码" - 清理分享链接 - 分享链接时删除跟踪查询参数 导入/导出 导入或导出设置为文本。 导出配置到文件 @@ -260,4 +254,10 @@ 设置已被重置为默认值。 已导入 %d 设置。 配置已复制到剪贴板 + Debug 日志 + 打印 Debug 日志 + OPUS 编解码器 + "播放音频使用 250/251 opus 编码" + 清理分享链接 + 分享链接时删除跟踪查询参数 diff --git a/patches/src/main/resources/music/translations/zh-rTW/strings.xml b/patches/src/main/resources/music/translations/zh-rTW/strings.xml index 0c902f71a..04536a60a 100644 --- a/patches/src/main/resources/music/translations/zh-rTW/strings.xml +++ b/patches/src/main/resources/music/translations/zh-rTW/strings.xml @@ -64,18 +64,18 @@ 隱藏促銷提醒橫幅。 彈出式選單 - 啟用精簡選單 - "在手機上啟用緊湊對話框 - -已知問題: -• 資料庫上的專輯封面會變得很小 -• 睡眠定時器的介面可能會出現錯誤" 新增修改靜音開關 "將修改靜音開關新增至播放速度彈出式選單 資訊: • 此功能適用於播客 • 此功能仍在開發中,因此可能不穩定" + 啟用精簡選單 + "在手機上啟用緊湊對話框 + +已知問題: +• 資料庫上的專輯封面會變得很小 +• 睡眠定時器的介面可能會出現錯誤" 隱藏讚與倒讚按鈕 隱藏三列組件 隱藏加入到待播清單選項 @@ -125,10 +125,10 @@ 首頁 媒體庫 訂閱 - 停用強制自動字幕 - 停用在播放器中被強制啟用的字幕 停用不喜歡重定向 點擊不喜歡按鈕時停用重定向到下一首歌曲 + 停用強制自動字幕 + 停用在播放器中被強制啟用的字幕 啟用橫向模式 允許透過手機螢幕旋轉進入橫向模式 啟用自訂篩選 @@ -141,24 +141,24 @@ 隱藏位於首頁與探索頁面的主題按鈕 隱藏播放清單 從首頁和探索頁面隱藏播放清單 - 隱藏播放清單卡 - 在探索中隱藏播放清單卡 - 隱藏樣品架 - 在探索中隱藏樣品架 隱藏投放按鈕 隱藏投放按鈕 隱藏分類列表 隱藏音樂分類列表 隱藏浮動按鈕 在媒體庫中隱藏浮動按鈕 - 隱藏輕觸以重新載入按鈕 - 隱藏輕觸以重新整理按鈕 隱藏歷史紀錄按鈕 隱藏工具欄裡的歷史紀錄按鈕 隱藏通知按鈕 在工具欄中隱藏通知按鈕 + 隱藏播放清單卡 + 在探索中隱藏播放清單卡 + 隱藏樣品架 + 在探索中隱藏樣品架 隱藏聽聲辨取按鈕 在搜尋欄裡隱藏聽聲辨曲按鈕 + 隱藏輕觸以重新載入按鈕 + 隱藏輕觸以重新整理按鈕 隱藏語音搜尋按鈕 在搜尋欄隱藏語音搜尋按鈕 恢復舊版媒體庫樣式 @@ -197,36 +197,36 @@ 隱藏位於導覽列的標籤 播放器 - 停用迷你播放器手勢 - 停用迷你播放器中的滑動切換曲目功能。 - 停用播放器手勢 - 停用播放器中的滑動切換歌曲。 - 啟用黑色播放器背景 - 將播放器背景顏色設成為黑色 - 啟用彩色播放列 - 讓播放列顏色和全螢幕播放器一致 - 切換歌曲時保持迷你播放器 - 切換歌曲時保持迷你播放器狀態 啟用迷你播放器的下一首按鈕 啟用迷你播放器中的下一首按鈕 啟用迷你播放器上一首按鈕 啟用迷你播放器中的上一首按鈕 + 啟用彩色播放列 + 讓播放列顏色和全螢幕播放器一致 + 啟用黑色播放器背景 + 將播放器背景顏色設成為黑色 + 停用迷你播放器手勢 + 停用迷你播放器中的滑動切換曲目功能。 + 停用播放器手勢 + 停用播放器中的滑動切換歌曲。 + 切換歌曲時保持迷你播放器 + 切換歌曲時保持迷你播放器狀態 啟用滑動來關閉迷你播放器 允許向下滑動以關閉迷你播放器 護眼模式 在影片播放器上增加灰色陰影以減少眼睛疲勞 在播客中啟用護眼模式 播客也適用於護眼模式 - 隱藏音訊影片切換開關 - 在播放器中隱藏音訊影片切換開關 隱藏頻道指南 隱藏留言頂部的頻道指南 - 隱藏時間戳與表情符號按鈕 - 輸入留言時隱藏時間戳記和表情符號按鈕 隱藏連點兩下疊加濾鏡 隱藏點兩下以快轉或倒退時出現的深色疊加層。 + 隱藏時間戳與表情符號按鈕 + 輸入留言時隱藏時間戳記和表情符號按鈕 隱藏全螢幕播放器中的分享按鈕 在全螢幕播放器中隱藏分享按鈕 + 隱藏音訊影片切換開關 + 在播放器中隱藏音訊影片切換開關 記住重複播放狀態 記住重複播放的狀態 記住隨機播放狀態 @@ -355,14 +355,17 @@ 已跳過非音樂片段 已跳過多個片段 自動跳過 + 停用 + SponsorBlock 暫時無法使用。 + SponsorBlock 暫時無法使用 (狀態 %d)。 + SponsorBlock 暫時無法使用 (API 超時)。 + 顏色: + 顏色已變更。 + 顏色已重設。 + 無效的顏色代碼。 + 重設顏色 + 關於 - 啟用除錯紀錄 - 列出除錯記錄檔 - 啟用解碼器覆寫 - "播放音樂時啟用 250/251 opus 解碼器。" - Android VR - 清理分享連結 - 分享連結時從 URL 中刪除追蹤參數。 匯入/匯出設定 匯入或匯出設定成文字檔 匯出設定到文件 @@ -377,4 +380,40 @@ 已匯入設定: %d 重置 設定已複製到剪貼簿 + 繞過圖片區域限制 + 取代被封鎖的地區網域以正確載入如撥放清單封面、頻道大頭貼等圖片。 + 更改分享表單 + 更改App內分享清單為系統分享清單 + 停用DRC音訊 + 限制類型 + 重新導向 + 啟用除錯紀錄 + 列出除錯記錄檔 + 啟用除錯紀錄 + 啟用解碼器覆寫 + "播放音樂時啟用 250/251 opus 解碼器。" + 清理分享連結 + 分享連結時從 URL 中刪除追蹤參數。 + 偽裝客戶端 + "偽裝客戶端以避免播放問題 + +• 使用「偽裝串流資料」時可能會發生播放問題" + 預設客戶端 + Android Music 4.27.53 + Android Music 5.29.53 + iOS Music 6.21 + 偽裝串流數據 + "偽裝客戶端以避免播放問題 + +• 使用「偽裝串流資料」時可能會發生播放問題" + 預設客戶端 + 定義預設客戶端以抓取串流資料。 + Android VR + Android Music + 開啟預設應用程式設定 + 要在RVX Music中打開YouTube Music連結,啟用「打開支援的連結」並啟用支援的網址。 + 開啟 GmsCore 設定 + 打開GmsCore 設定,並啟用雲端訊息已接收通知。 + GmsCore未安裝,請安裝。 + 需要採取行動 diff --git a/patches/src/main/resources/youtube/settings/host/values/strings.xml b/patches/src/main/resources/youtube/settings/host/values/strings.xml index 3b0b6825a..29974fd4e 100644 --- a/patches/src/main/resources/youtube/settings/host/values/strings.xml +++ b/patches/src/main/resources/youtube/settings/host/values/strings.xml @@ -36,12 +36,12 @@ Please download %2$s from the website." Hide merchandise shelves Merchandise shelves are hidden. Merchandise shelves are shown. - Hide player shopping shelf - Shopping shelf is hidden. - Shopping shelf is shown. Hide paid promotion label Paid promotion label is hidden. Paid promotion label is shown. + Hide player shopping shelf + Shopping shelf is hidden. + Shopping shelf is shown. Hide promotion alert banner Promotion alert banner is hidden. Promotion alert banner is shown. @@ -66,10 +66,10 @@ Please download %2$s from the website." Alternative thumbnails Home tab - Subscriptions tab - You tab Player playlists, recommendations Search results + Subscriptions tab + You tab Original thumbnails DeArrow & original thumbnails DeArrow & still captures @@ -110,6 +110,9 @@ Tap here to learn more about DeArrow." Hide album cards Album cards are hidden. Album cards are shown. + Hide Captions button + Captions button is hidden. + Captions button is shown. Hide carousel shelf "Hides the following shelves: • Breaking news @@ -121,21 +124,12 @@ Tap here to learn more about DeArrow." Hide chips shelf Chips shelf is hidden. Chips shelf is shown. - Hide expandable chip under videos + Hide expandable chips under videos Expandable chips are hidden. Expandable chips are shown. Hide expandable shelves Expandable shelves are hidden. Expandable shelves are shown. - Hide Captions button - Captions button is hidden. - Captions button is shown. - Hide search bar - Search bar is hidden. - Search bar is shown. - Hide surveys - Surveys are hidden. - Surveys are shown. Hide floating button Floating button is hidden. Floating button is shown. @@ -163,6 +157,12 @@ Tap here to learn more about DeArrow." Hide Show more button Show more button is hidden. Show more button is shown. + Hide search bar + Search bar is hidden. + Search bar is shown. + Hide surveys + Surveys are hidden. + Surveys are shown. Hide subscriptions carousel Subscriptions carousel is hidden. Subscriptions carousel is shown. @@ -196,9 +196,6 @@ Tap here to learn more about DeArrow." "Shorts Playlists Store" - Hide Visit store button - Visit store button is hidden. - Visit store button is shown. Hide channel member shelf Channel member shelf is hidden. Channel member shelf is shown. @@ -208,6 +205,9 @@ Store" Hide For You shelf For You shelf is hidden. For You shelf is shown. + Hide Visit store button + Visit store button is hidden. + Visit store button is shown. Community posts @@ -239,6 +239,9 @@ Store" Keyword filter + Hide comments by keywords + Comments are filtered. + Comments are not filtered. Hide home videos by keywords Videos in home feed are filtered. Videos in home feed are not filtered. @@ -248,9 +251,6 @@ Store" Hide subscription videos by keywords Videos in subscriptions feed are filtered. Videos in subscriptions feed are not filtered. - Hide comments by keywords - Comments are filtered. - Comments are not filtered. Keywords to hide "Keywords and phrases to hide, separated by new lines. @@ -274,13 +274,14 @@ Limitations: Recommended video + Hide low views video + Hide videos with less than 1,000 views from home feeds that have been uploaded from unsubscribed channels. Hide recommended videos "Hides the following recommended videos: • Videos with the Members only tag. • Videos with phrases such as 'People also watched' underneath." - Hide low views video - Hide videos with less than 1,000 views from home feeds that have been uploaded from unsubscribed channels. + View count filter @@ -318,6 +319,13 @@ If the layout of the player screen changes due to server-side changes, unintende General + Change layout + Original + Phone + Phone (Max 480 dp) + Tablet + Tablet (Min 600 dp) + Change start page Browse channels Courses / Learning @@ -372,13 +380,6 @@ Limitation: Back button on the toolbar may not work." "Removes the viewer discretion dialog. This does not bypass the age restriction. It just accepts it automatically." - Change layout - Original - Phone - Phone (Max 480 dp) - Tablet - Tablet (Min 600 dp) - Spoof app version Version spoofed Version not spoofed @@ -431,12 +432,12 @@ Some components may not be hidden." Download button + Override playlist download button + Native playlist download button is always shown, and in public playlists, it opens your external downloader. + Native playlist download button, if shown, opens the native in-app downloader. Override video download button Native video download button opens your external downloader. Native video download button opens the native in-app downloader. - Override playlist download button - Native playlist download button is always shown, and in public playlists, it opens your external downloader. - If shown, the native playlist download button opens the native in-app downloader. Playlist downloader package name Package name of your installed external downloader app, such as YTDLnis. @@ -520,7 +521,7 @@ Swipe to expand or close." Hide Library button Library button is hidden. Library button is shown. - Hide notifications button + Hide Notifications button Notifications button is hidden. Notifications button is shown. Hide Shorts button @@ -673,16 +674,16 @@ Tap and hold to open RVX settings." Custom player overlay opacity Opacity value between 0-100, where 0 is transparent. Player overlay opacity must be between 0-100. - Disable player popup panels - Auto player popup panels are disabled. - Auto player popup panels are enabled. - Disable switch mix playlists + Disable auto switch mix playlists Auto switch mix playlists is disabled. "Auto switch mix playlists is enabled when autoplay is turned on. Autoplay can be changed in YouTube settings: Settings → Autoplay → Autoplay next video" Enabling this feature will disable automatic switching to YouTube Mix when playing music while autoplay is turned on. + Disable player popup panels + Auto player popup panels are disabled. + Auto player popup panels are enabled. Disable speed overlay "Disable '2x>>' while holding down. @@ -713,12 +714,6 @@ Note: Hide info panels Info panels are hidden. Info panels are shown. - Hide Chat summary in live chat - Chat summary is hidden. - Chat summary is shown. - Hide live chat messages - Live chat messages are hidden.\n\nThis setting applies to Shorts live videos too. - Live chat messages are shown.\n\nThis setting applies to Shorts live videos too. Hide medical panels Medical panels are hidden. Medical panels are shown. @@ -731,24 +726,24 @@ Note: Hide suggested actions Suggested actions are hidden. Suggested actions are shown. - Hide timed reactions - Timed reactions are hidden. - Timed reactions are shown. Hide suggested video end screen "Suggested video end screen is hidden when autoplay is turned off. Autoplay can be changed in YouTube settings: -Settings → Autoplay → Autoplay next video" +Settings → Autoplay / Playback → Autoplay next video" Suggested video end screen is shown. Skip autoplay countdown If autoplay is enabled, the next video will play immediately. If autoplay is enabled, the next video will play after the countdown ends. + Hide timed reactions + Timed reactions are hidden. + Timed reactions are shown. Hide zoom overlay Zoom overlay is hidden. Zoom overlay is shown. Sanitize video subtitle - "Phrases like '#', 'Fundraiser', 'Shop' and 'products' were hidden from the video subtitles." - "Phrases like '#', 'Fundraiser', 'Shop' and 'products' were shown from the video subtitles." + "Phrases like '#', 'Fundraiser', 'Shop' and 'products' are hidden from the video subtitles." + "Phrases like '#', 'Fundraiser', 'Shop' and 'products' are shown from the video subtitles." Action buttons @@ -823,30 +818,36 @@ Settings → Autoplay → Autoplay next video" Hide Comments by members banner Comments by members banner is hidden. Comments by members banner is shown. - Hide highlighted search links - Highlighted search links are hidden. - Highlighted search links are shown. Hide Comments section Comments section is hidden. Comments section is shown. Hide Comments section in home feed Comments section is hidden in home feed. Comments section is shown in home feed. + Hide Create a Short button + Create a Short button is hidden. + Create a Short button is shown. + Hide emoji and timestamp buttons + Emoji and timestamp buttons are hidden. + Emoji and timestamp buttons are shown. + Hide highlighted search links + Highlighted search links are hidden. + Highlighted search links are shown. + Hide Live Chat messages + Live Chat messages are hidden.\n\nThis setting applies to Shorts live videos too. + Live Chat messages are shown.\n\nThis setting applies to Shorts live videos too. + Hide Live Chat summary + Live Chat summary is hidden. + Live Chat summary is shown. Hide preview comment Preview comment is hidden. Preview comment is shown. Hide preview comment type - This does not change the size of the comments section, so it is possible to open the live chat replay in the comments section. - This changes the size of the comments section, so it is impossible to open a live chat replay in the comments section. - Hide Create a Short button - Create a Short button is hidden. - Create a Short button is shown. + This does not change the size of the comments section, so it is possible to open the Live Chat replay in the comments section. + This changes the size of the comments section, so it is impossible to open a Live Chat replay in the comments section. Hide Thanks button Thanks button is hidden. Thanks button is shown. - Hide timestamp and emoji buttons - Timestamp and emoji buttons are hidden. - Timestamp and emoji buttons are shown. Flyout menu @@ -943,9 +944,9 @@ Limitation: Video title disappears when clicked." Hide autoplay preview container Autoplay preview container is hidden. Autoplay preview container is shown. - Hide live chat replay button - Live chat replay button is hidden.\n\nIt appears in fullscreen when closing live chat. - Live chat replay button is shown.\n\nIt appears in fullscreen when closing live chat. + Hide Live Chat replay button + Live Chat replay button is hidden.\n\nIt appears in fullscreen when closing Live Chat. + Live Chat replay button is shown.\n\nIt appears in fullscreen when closing Live Chat. Hide related video overlay More videos section in the quick actions container and the related video overlay are hidden. More videos section in the quick actions container and the related video overlay are shown. @@ -964,9 +965,9 @@ Limitation: Video title disappears when clicked." Hide Like button Like button is hidden. Like button is shown. - Hide Live chat button - Live chat button is hidden. - Live chat button is shown. + Hide Live Chat button + Live Chat button is hidden. + Live Chat button is shown. Hide More button More button is hidden. More button is shown. @@ -1071,7 +1072,7 @@ Tap and hold to open whitelist setting dialog. Tap and hold to undo. Info: -• May not work on livestreams." +• May not work on live streams." Generate playlist mode All contents (Sort by time, Ascending) All contents (Sort by time) @@ -1084,8 +1085,8 @@ Info: Streamed videos only (Sort by popular) All Members only contents Members only videos - Members only shorts - Members only livestreams + Members only Shorts + Members only live streams Unable to generate playlist due to channel id mismatch. Channel whitelist @@ -1124,6 +1125,9 @@ Tap and hold to toggle the appended information type." Replace timestamp action Tap to open playback speed or video quality flyout menu. Tap to show the remaining time. + Disable seekbar chapters + Chapters are disabled in the seekbar. + Chapters are enabled in the seekbar. Enable custom seekbar color Custom seekbar color is enabled. Custom seekbar color is disabled. @@ -1133,18 +1137,15 @@ Tap and hold to toggle the appended information type." Enable seekbar tapping Seekbar tapping is enabled. Seekbar tapping is disabled. + Hide seekbar chapter labels + Chapter labels next to the seekbar are hidden. + Chapter labels next to the seekbar are shown. Hide seekbar in video player Video player seekbar is hidden. Video player seekbar is shown. Hide seekbar in video thumbnails Thumbnail seekbar is hidden. Thumbnail seekbar is shown. - Disable seekbar chapters - Chapters are disabled in the seekbar. - Chapters are enabled in the seekbar. - Hide seekbar chapter labels - Chapter labels next to the timestamp are hidden. - Chapter labels next to the timestamp are shown. Hide timestamp Timestamp is hidden. Timestamp is shown. @@ -1154,7 +1155,7 @@ Tap and hold to toggle the appended information type." Enable high quality thumbnails Seekbar thumbnails are high quality. Seekbar thumbnails are medium quality. - "This will restore thumbnails to livestreams that do not have seekbar thumbnails. + "This will restore thumbnails to live streams that do not have seekbar thumbnails. Internet data usage may be higher, and seekbar thumbnails will have a slight delay before showing. @@ -1179,15 +1180,15 @@ This feature works best with a very fast internet connection." Hide Contents section How this content was made section is hidden. How this content was made section is shown. + Hide Explore the podcast section + Explore the podcast section is hidden. + Explore the podcast section is shown. Hide Info cards section Info cards section is hidden. Info cards section is shown. Hide Key concepts section Key concepts section is hidden. Key concepts section is shown. - Hide Explore the podcast section - Explore the podcast section is hidden. - Explore the podcast section is shown. Hide Shopping links Shopping links are hidden. Shopping links are shown. @@ -1239,19 +1240,19 @@ Info: Hide in home feed and related videos Hidden in home feed and related videos. Shown in home feed and related videos. - Hide in subscriptions feed - Hidden in subscriptions feed. - Shown in subscriptions feed. Hide in search results Hidden in search results. Shown in search results. + Hide in subscriptions feed + Hidden in subscriptions feed. + Shown in subscriptions feed. Hide in watch history Hidden in watch history. Shown in watch history. - Change Shorts repeat state Change Shorts background repeat state + Change Shorts repeat state Autoplay Default Pause @@ -1261,48 +1262,48 @@ Info: Shorts player Hide or show components in the Shorts player. + Hide channel bar + Channel bar is hidden. + Channel bar is shown. + Hide full video link label + Full video link label is hidden. + Full video link label is shown. + Hide info panels + Info panels are hidden. + Info panels are shown. Hide Join button Join button is hidden. Join button is shown. - Hide Subscribe button - Subscribe button is hidden. - Subscribe button is shown. + Hide Live Chat header + Live Chat header is hidden.\n\nBack button in header will not be hidden. + Live Chat header is shown.\n\nBack button in header will not be hidden. + Hide paid promotion label + Paid promotion label is hidden. + Paid promotion label is shown. Hide paused header Paused header is hidden. Paused header is shown. Hide paused overlay buttons Paused overlay buttons are hidden. Paused overlay buttons are shown. - Hide Trends button - Trends button is hidden. - Trends button is shown. Hide Shopping button Shopping button is hidden. Shopping button is shown. + Hide sound metadata label + Sound metadata label is hidden. + Sound metadata label is shown. Hide stickers Stickers are hidden. Stickers are shown. - Hide paid promotion label - Paid promotion label is hidden. - Paid promotion label is shown. - Hide info panels - Info panels are hidden. - Info panels are shown. - Hide live chat header - Live chat header is hidden.\n\nBack button in header will not be hidden. - Live chat header is shown.\n\nBack button in header will not be hidden. - Hide channel bar - Channel bar is hidden. - Channel bar is shown. + Hide Subscribe button + Subscribe button is hidden. + Subscribe button is shown. + Hide Trends button + Trends button is hidden. + Trends button is shown. Hide video title - Title is hidden. - Title is shown. - Hide sound metadata label - Metadata label is hidden. - Metadata label is shown. - Hide full video link label - Video link label is hidden. - Video link label is shown. + Video title is hidden. + Video title is shown. Suggested actions @@ -1310,30 +1311,30 @@ Info: Hide Green screen button Green screen button is hidden. Green screen button is shown. + Hide location button + Location button is hidden. + Location button is shown. Hide Save music button Save music button is hidden. Save music button is shown. + Hide search suggestions button + Search suggestions button is hidden. + Search suggestions button is shown. Hide Shop button Shop button is hidden. Shop button is shown. Hide Super Thanks button Super Thanks button is hidden. Super Thanks button is shown. - Hide Use this sound button - Use this sound button is hidden. - Use this sound button is shown. - Hide Use template button - Use template button is hidden. - Use template button is shown. - Hide location button - Location button is hidden. - Location button is shown. - Hide search suggestions button - Search suggestions button is hidden. - Search suggestions button is shown. Hide tagged products Tagged products are hidden. Tagged products are shown. + Hide Use template button + Use template button is hidden. + Use template button is shown. + Hide Use this sound button + Use this sound button is hidden. + Use this sound button is shown. Action buttons @@ -1358,12 +1359,9 @@ Info: Animation / Feedback - Disable Like button animation - Fountain animation is disabled above the Like button. - Fountain animation is enabled above the Like button. - Hide Play & Pause button background - Button background is hidden. - Button background is shown. + Disable Like button fountain animation + Fountain animation above the Like button is disabled. + Fountain animation above the Like button is enabled. Double-tap animation Original Thumbs up @@ -1371,6 +1369,9 @@ Info: Heart Heart (Tint) Hidden + Hide Play & Pause button background + Play & Pause button background is hidden. + Play & Pause button background is shown. Custom actions @@ -1379,7 +1380,7 @@ Info: Limitations: • Does not work if app version is spoofed to 18.49.37 or earlier. -• Does not work with livestream." +• Does not work with live stream." Custom actions are disabled in flyout menu. Enable custom actions in toolbar "Custom actions are enabled in toolbar. @@ -1387,14 +1388,14 @@ Limitations: Press and hold the More button to show the Custom actions dialog." Custom actions are disabled in toolbar. Custom actions - Copy video URL - Show copy video URL menu - Copy video URL menu is shown. - Copy video URL menu is hidden. Copy timestamp URL Show copy timestamp URL menu Copy timestamp URL menu is shown. Copy timestamp URL menu is hidden. + Copy video URL + Show copy video URL menu + Copy video URL menu is shown. + Copy video URL menu is hidden. External downloader Show external downloader menu External downloader menu is shown. @@ -1425,15 +1426,15 @@ Limitations: Meta panel bottom margin Configure the spacing from the seekbar to the meta panel, between 0-64. Meta panel bottom margin must be between 0-64. - Hide toolbar - Toolbar is hidden. - Toolbar is shown. Hide navigation bar Navigation bar is hidden. Navigation bar is shown. Height percentage of empty space Configure the height percentage of the empty space left when the navigation bar is hidden, between 0 and 100 (%). Height percentage must be between 0-100 (%). + Hide toolbar + Toolbar is hidden. + Toolbar is shown. Replace channel handle Channel name is used. Channel handle is used. @@ -1468,11 +1469,11 @@ No margins on top and bottom of player." Swipe gestures are enabled in Lock screen mode. Swipe gestures are disabled in Lock screen mode. Swipe background visibility - The visibility of swipe overlay background. + The visibility of the swipe overlay background. Swipe magnitude threshold - The amount of threshold for swipe to occur. + The threshold for a swipe to occur. Swipe overlay text size - The text size for swipe overlay. + The text size in the swipe overlay. Swipe overlay screen size Percentage of swipeable screen area.\n\nNote: This will also change the size of the screen area for the double-tap-to-seek gesture. Swipeable area size cannot be more than 50. @@ -1700,7 +1701,7 @@ Click to see how to issue a API key." Skip segment Skipped sponsor. - Skipped self promotion. + Skipped self-promotion. Skipped annoying reminder. Skipped to highlight. Skipped intro. @@ -1844,6 +1845,8 @@ Click to see how to issue a API key." Miscellaneous + Disable QUIC protocol + "Disable CronetEngine's QUIC protocol." Enable debug logging Debug logs are enabled. Debug logs are disabled. @@ -1856,11 +1859,14 @@ Click to see how to issue a API key." Enable open links directly Bypassing URL redirects. Following default redirect policy. + Sanitize sharing links + Sanitizes sharing links by removing tracking query parameters. + Open default app settings To open YouTube links in RVX, enable \'Open supported links\' and enable the supported web addresses. - Open GmsCore - Enable cloud messaging to receive notifications. + Open GmsCore settings + Opens GmsCore settings. Then enable cloud messaging to receive notifications. GmsCore is not installed. Install it. Action needed "GmsCore does not have permission to run in the background. @@ -1876,11 +1882,6 @@ Disabling battery optimizations for GmsCore will not negatively affect battery u Tap the continue button and allow optimization changes." Continue - Sanitize sharing links - Removes tracking query parameters from the URLs when sharing links. - Disable QUIC protocol - "Disable CronetEngine's QUIC protocol." - Change share sheet System share sheet is used. In-app share sheet is used. diff --git a/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml index f3124f384..8b7041508 100644 --- a/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml +++ b/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml @@ -7,8 +7,8 @@ - + @@ -23,10 +23,10 @@ @@ -143,10 +143,10 @@ + + + SETTINGS: HOOK_DOWNLOAD_ACTIONS --> @@ -516,8 +518,8 @@ @@ -548,31 +548,31 @@ + + SETTINGS: SHORTS_COMPONENTS --> @@ -597,8 +597,8 @@ SETTINGS: SHORTS_CUSTOM_ACTIONS_TOOLBAR --> + SETTINGS: SHORTS_COMPONENTS --> + + @@ -827,6 +829,9 @@ + + - - @@ -868,8 +870,8 @@ - - + + diff --git a/patches/src/main/resources/youtube/translations/ar/strings.xml b/patches/src/main/resources/youtube/translations/ar/strings.xml index 1de084fcb..8da01b007 100644 --- a/patches/src/main/resources/youtube/translations/ar/strings.xml +++ b/patches/src/main/resources/youtube/translations/ar/strings.xml @@ -30,12 +30,12 @@ إخفاء رفوف المنتجات تم إخفاء رفوف المنتجات. يتم عرض رفوف المنتجات. - إخفاء رف مشغل التسوق - تم إخفاء رف التسوق. - يتم عرض رف التسوق. إخفاء تصنيف الترويج المدفوع تم إخفاء تصنيف الترويج المدفوع. يتم عرض تصنيف الترويج المدفوع. + إخفاء رف مشغل التسوق + تم إخفاء رف التسوق. + يتم عرض رف التسوق. إخفاء لافتة تنبيه الترقية تم إخفاء لافتة تنبيه الترقية. يتم عرض لافتة تنبيه الترقية. @@ -57,10 +57,10 @@ مُصغَّرات فيديو بديلة علامة تبويب الصفحة الرئيسية - علامة تبويب الاشتراكات - علامة التبويب أنت قوائم تشغيل المشغل، التوصيات نتائج البحث + علامة تبويب الاشتراكات + علامة التبويب أنت المصّغرات الأصلية DeArrow & المصّغرات الأصلية DeArrow & اللقطات الثابتة @@ -98,6 +98,9 @@ إخفاء بطاقات الألبوم تم إخفاء بطاقات الألبوم. يتم عرض بطاقات الألبوم. + إخفاء زر التَرْجَمَة + تم إخفاء زر التَرْجَمَة. + يتم عرض زر التَرْجَمَة. إخفاء الرف الدائري "يخفي الرفوف التالية: • أخبار عاجلة @@ -109,21 +112,12 @@ إخفاء رف الشرائح تم إخفاء رف الشرائح. يتم عرض رف الشرائح. - إخفاء الشريحة القابلة للتوسع تحت الفيديوهات + إخفاء الشرائح القابلة للتوسع تحت الفيديوهات تم إخفاء الرقائق القابلة للتوسيع. يتم عرض الرقائق القابلة للتوسيع. إخفاء الرفوف القابلة للتوسع تم إخفاء الرفوف القابلة للتوسع. يتم عرض الرفوف القابلة للتوسع. - إخفاء زر التَرْجَمَة - تم إخفاء زر التَرْجَمَة. - يتم عرض زر التَرْجَمَة. - إخفاء شريط البحث - تم إخفاء شريط البحث. - يتم عرض شريط البحث. - إخفاء الاستبيانات - تم إخفاء الاستبيانات. - يتم عرض الاستبيانات الموجز. إخفاء الزر العائم تم إخفاء الزر العائم. يتم عرض الزر العائم. @@ -151,6 +145,12 @@ إخفاء زر عرض المزيد تم إخفاء زر عرض المزيد. يتم عرض زر عرض المزيد. + إخفاء شريط البحث + تم إخفاء شريط البحث. + يتم عرض شريط البحث. + إخفاء الاستبيانات + تم إخفاء الاستبيانات. + يتم عرض الاستبيانات الموجز. إخفاء دوائر الاشتراكات تم إخفاء دوائر الاشتراكات. يتم عرض دوائر الاشتراكات. @@ -180,9 +180,6 @@ "Shorts قوائم التشغيل المتجر" - إخفاء زر زيارة المتجر - تم إخفاء زر زيارة المتجر. - يتم عرض زر زيارة المتجر. إخفاء رف أعضاء القناة تم إخفاء رف أعضاء القناة. يتم عرض رف أعضاء القناة. @@ -192,6 +189,9 @@ إخفاء رف لـك تم إخفاء رف لـك. يتم عرض رف لـك. + إخفاء زر زيارة المتجر + تم إخفاء زر زيارة المتجر. + يتم عرض زر زيارة المتجر. مشاركات المجتمع إخفاء أو عرض مشاركات المجتمع في الموجز والقناة. @@ -217,6 +217,9 @@ إخفاء الفيديوهات بواسطة الكلمات الرئيسية أو المشاهدة. تصفية الكلمات الرئيسية + إخفاء التعليقات بواسطة الكلمات الرئيسية + يتم تصفية التعليقات. + لا يتم تصفية التعليقات. إخفاء فيديوهات الصفحة الرئيسية بواسطة الكلمات الرئيسية يتم تصفية الفيديوهات في موجز الصفحة الرئيسية. لا يتم تصفية الفيديوهات في موجز الصفحة الرئيسية. @@ -226,9 +229,6 @@ إخفاء الفيديوهات الخاصة بالاشتراك عن طريق الكلمات الرئيسية يتم تصفية الفيديوهات في موجز الاشتراكات. لا يتم تصفية الفيديوهات في موجز الاشتراكات. - إخفاء التعليقات بواسطة الكلمات الرئيسية - يتم تصفية التعليقات. - لا يتم تصفية التعليقات. الكلمات الرئيسية المراد إخفاؤها "الكلمات والعبارات الرئيسية التي يجب إخفاؤها، مفصولة بأسطر جديدة. @@ -251,13 +251,13 @@ الكلمة الرئيسية ستخفي جميع الفيديوهات: %s. الفيديو الموصى به + إخفاء فيديو المشاهدات المنخفضة + إخفاء الفيديوهات التي حصلت على أقل من 1000 مشاهدة من موجز الصفحة الرئيسية التي تم تحميلها من القنوات غير المشترك بها. إخفاء الفيديوهات الموصى بها "يخفي الفيديوهات الموصى بها التالية: • الفيديوهات التي تحمل علامة للأعضاء فقط. • فيديوهات تحتوي على عبارات مثل 'شاهد الأشخاص أيضًا' أسفلها." - إخفاء فيديو المشاهدات المنخفضة - إخفاء الفيديوهات التي حصلت على أقل من 1000 مشاهدة من موجز الصفحة الرئيسية التي تم تحميلها من القنوات غير المشترك بها. تصفية عدد المشاهدات إخفاء فيديوهات الصفحة الرئيسية حسب عدد المشاهدات @@ -291,6 +291,12 @@ الموازن عام + تغيير التخطيط + الأساسي + الجوّال + الجوّال (الحد الأقصى 480 dp) + الجهاز اللوحي + الجهاز اللوحي (الحد الأدنى 600 dp) تغيير صفحة البداية تصفح القنوات الدورات / التعلم @@ -342,12 +348,6 @@ يتم عرض شريط Snack Bar. إزالة مربع حوار تقدير المشاهد "يزيل مربع حوار تقدير المشاهد. هذا لا يتجاوز القيود العمرية. إنه يقبل ذلك تلقائيًا." - تغيير التخطيط - الأساسي - الجوّال - الجوّال (الحد الأقصى 480 dp) - الجهاز اللوحي - الجهاز اللوحي (الحد الأدنى 600 dp) إصدار تطبيق وهمي تم تغيير اصدار التطبيق لم يتم تغيير اصدار التطبيق @@ -393,12 +393,12 @@ يتجاوز إجراء النقر على الأزرار الموجودة داخل التطبيق. زر التنزيل + تجاوز زر تنزيل قائمة التشغيل + يتم دائمًا عرض زر تنزيل قائمة التشغيل الأصلية، وفي قوائم التشغيل العامة، يتم فتح أداة التنزيل الخارجية لديك. + زر تنزيل قائمة التشغيل الأصلية، إذا ظهر، يفتح أداة التنزيل الأصلية داخل التطبيق. تجاوز زر تنزيل الفيديو يفتح زر تنزيل الفيديو الأصلي أداة التنزيل الخارجية. يفتح زر تنزيل الفيديو أداة التنزيل الأصلية داخل التطبيق. - تجاوز زر تنزيل قائمة التشغيل - يتم دائمًا عرض زر تنزيل قائمة التشغيل الأصلية، وفي قوائم التشغيل العامة، يتم فتح أداة التنزيل الخارجية لديك. - إذا تم عرضه، فإن زر تنزيل قائمة التشغيل الأصلية يفتح أداة التنزيل الأصلية داخل التطبيق. اسم حزمة تنزيل قائمة التشغيل اسم الحزمة لتطبيق التنزيل الخارجي المثبت لديك، مثل YTDLnis. @@ -621,16 +621,16 @@ شفافية واجهة المشغل المخصصة قيمة التعتيم بين 0-100، حيث 0 شفافة. يجب أن تكون شفافية واجهة المشغل بين 0-100. - تعطيل لوحات المشغل المنبثقة - تم تعطيل لوحات المشغل المنبثقة تلقائيًا. - تم تمكين لوحات المشغل المنبثقة تلقائيًا. - تعطيل تبديل قوائم تشغيل التشكيلة + تعطيل تبديل قوائم تشغيل التشكيلة تلقائيًا تم تعطيل التبديل التلقائي لقوائم تشغيل التشكيلة. "تم تمكين التبديل التلقائي لقوائم تشغيل التشكيلة عند تمكين التشغيل التلقائي. يمكن تغيير التشغيل التلقائي في إعدادات YouTube: الإعدادات ← التشغيل التلقائي ← تشغيل الفيديو التالي تلقائيًا" سيؤدي تمكين هذه الميزة إلى تعطيل التبديل التلقائي إلى YouTube Mix عند تشغيل الموسيقى أثناء تمكين التشغيل التلقائي. + تعطيل لوحات المشغل المنبثقة + تم تعطيل لوحات المشغل المنبثقة تلقائيًا. + تم تمكين لوحات المشغل المنبثقة تلقائيًا. تعطيل تراكب السرعة "تعطيل '2x>>' أثناء الضغط باستمرار. @@ -661,12 +661,6 @@ إخفاء لوحات المعلومات تم إخفاء لوحات المعلومات. يتم عرض لوحات المعلومات. - إخفاء ملخص المحادثات في المحادثات المباشرة - تم إخفاء ملخص المحادثات. - يتم عرض ملخص المحادثات. - إخفاء رسائل المحادثات المباشرة - تم إخفاء رسائل المحادثات المباشرة.\n\nينطبق هذا الإعداد على فيديوهات بث Shorts المباشر أيضًا. - يتم عرض رسائل المحادثات المباشرة.\n\nينطبق هذا الإعداد على فيديوهات بث Shorts المباشر أيضًا. إخفاء اللوحات الطبية تم إخفاء اللوحات الطبية. يتم عرض اللوحات الطبية. @@ -679,9 +673,6 @@ إخفاء الإجراءات المقترحة تم إخفاء الإجراءات المقترحة. يتم عرض الإجراءات المقترحة. - إخفاء ردود الفعل المؤقتة - تم إخفاء ردود الفعل المؤقتة. - يتم عرض ردود الفعل المؤقتة. إخفاء شاشة نهاية الفيديو المقترح "تم إخفاء شاشة نهاية الفيديو المقترح عند إيقاف التشغيل التلقائي. @@ -691,12 +682,15 @@ تخطي العد التنازلي للتشغيل التلقائي إذا تم تمكين التشغيل التلقائي، فسيتم تشغيل الفيديو التالي على الفور. إذا تم تمكين التشغيل التلقائي، فسيتم تشغيل الفيديو التالي بعد انتهاء العد التنازلي. + إخفاء ردود الفعل المؤقتة + تم إخفاء ردود الفعل المؤقتة. + يتم عرض ردود الفعل المؤقتة. إخفاء تراكب التكبير يتم عرض تراكب التكبير. تم إخفاء تراكب التكبير. تطهير ترجمة الفيديو "تم إخفاء عبارات مثل '#'، 'جمع التبرعات'، 'المتجر' و 'المنتجات' من ترجمات الفيديو." - "يتم عرض عبارات مثل '#'، 'جمع التبرعات'، 'المتجر' و 'المنتجات' من خلال ترجمات الفيديو." + "يتم عرض عبارات مثل '#'، 'جمع التبرعات'، 'المتجر' و 'المنتجات' من ترجمات الفيديو." أزرار الإجراء إخفاء أو عرض أزرار الإجراءات تحت الفيديو. @@ -763,30 +757,36 @@ إخفاء لافتة تعليقات من الأعضاء تم إخفاء لافتة تعليقات من الأعضاء. يتم عرض لافتة تعليقات من الأعضاء. - إخفاء روابط البحث المميزة - تم إخفاء روابط البحث المميزة. - يتم عرض روابط البحث المميزة. إخفاء قسم التعليقات تم إخفاء قسم التعليقات. يتم عرض قسم التعليقات. إخفاء قسم التعليقات في موجز الصفحة الرئيسية تم إخفاء قسم التعليقات في موجز الصفحة الرئيسية. يتم عرض قسم التعليقات في موجز الصفحة الرئيسية. + إخفاء زر إنشاء Short + تم إخفاء زر إنشاء Short. + يتم عرض زر إنشاء Short. + إخفاء أزرار الرموز التعبيرية والطوابع الزمنية + تم إخفاء أزرار الرموز التعبيرية والطوابع الزمنية. + يتم عرض أزرار الرموز التعبيرية والطوابع الزمنية. + إخفاء روابط البحث المميزة + تم إخفاء روابط البحث المميزة. + يتم عرض روابط البحث المميزة. + إخفاء رسائل المحادثات المباشرة + تم إخفاء رسائل المحادثات المباشرة.\n\nينطبق هذا الإعداد على فيديوهات بث Shorts المباشر أيضًا. + يتم عرض رسائل المحادثات المباشرة.\n\nينطبق هذا الإعداد على فيديوهات بث Shorts المباشر أيضًا. + إخفاء ملخص المحادثات المباشرة + تم إخفاء ملخص المحادثات المباشرة. + يتم عرض ملخص المحادثات المباشرة. إخفاء تعليق المعاينة تم إخفاء تعليق المعاينة. يتم عرض تعليق المعاينة. إخفاء نوع معاينة التعليق - لا يغير هذا حجم قسم التعليقات، لذلك من الممكن فتح إعادة الدردشة المباشرة في قسم التعليقات. - يؤدي هذا إلى تغيير حجم قسم التعليقات، لذلك من المستحيل فتح إعادة تشغيل الدردشة المباشرة في قسم التعليقات. - إخفاء زر إنشاء Short - تم إخفاء زر إنشاء Short. - يتم عرض زر إنشاء Short. + لا يغير هذا حجم قسم التعليقات، لذلك من الممكن فتح إعادة المحادثات المباشرة في قسم التعليقات. + يؤدي هذا إلى تغيير حجم قسم التعليقات، لذلك من المستحيل فتح إعادة تشغيل المحادثات المباشرة في قسم التعليقات. إخفاء زر شكرًا تم إخفاء زر شكرًا. يتم عرض زر شكرًا. - إخفاء أزرار الطابع الزمني والرموز التعبيرية - تم إخفاء أزرار الطوابع الزمنية والرموز التعبيرية. - يتم عرض أزرار الطوابع الزمنية والرموز التعبيرية. القائمة المنبثقة إخفاء أو تغيير مكونات القائمة المنبثقة في مشغل الفيديو. @@ -1047,6 +1047,9 @@ استبدال إجراء الطابع الزمني انقر لفتح القائمة المنبثقة لسرعة التشغيل أو جودة الفيديو. انقر لعرض الوقت المتبقي. + تعطيل فصول شريط التقدم + تم تعطيل الفصول في شريط التقدم. + تم تمكين الفصول في شريط التقدم. تمكين لون شريط تقدم الفيديو المخصص تم تمكين لون شريط تقدم الفيديو المخصص. تم تعطيل لون شريط تقدم الفيديو المخصص. @@ -1056,18 +1059,15 @@ تمكين النقر على شريط التقدم تم تمكين النقر على شريط الوقت (شريط تقدم الفيديو). تم تعطيل النقر على شريط الوقت (شريط تقدم الفيديو). + إخفاء تسميات فصول شريط التقدم + تم إخفاء تسميات الفصول الموجودة بجوار شريط التقدم. + يتم عرض تسميات الفصول الموجودة بجوار شريط التقدم. إخفاء شريط التقدم في مشغل الفيديو تم إخفاء شريط تقدم الفيديو. يتم عرض شريط تقدم الفيديو. إخفاء شريط التقدم في مُصَّغَرات الفيديو تم إخفاء مُصَّغَرة الفيديو بشريط التقدم. يتم عرض مُصَّغَرة الفيديو بشريط التقدم. - تعطيل فصول شريط التقدم - تم تعطيل الفصول في شريط التقدم. - تم تمكين الفصول في شريط التقدم. - إخفاء تسميات فصول شريط التقدم - تم إخفاء تسميات الفصل المجاورة للطابع الزمني. - يتم عرض تسميات الفصل المجاورة للطابع الزمني. إخفاء طابع الوقت تم إخفاء طابع الوقت. يتم عرض طابع الوقت. @@ -1100,15 +1100,15 @@ إخفاء قسم المحتوى تم إخفاء قسم كيفية إنشاء هذا المحتوى. يتم عرض قسم كيفية إنشاء هذا المحتوى. + إخفاء استكشاف قسم البودكاست + تم إخفاء استكشاف قسم بودكاست. + يتم عرض استكشاف قسم بودكاست. إخفاء قسم بطاقات المعلومات تم إخفاء قسم بطاقات المعلومات. يتم عرض قسم بطاقات المعلومات. إخفاء قسم المفاهيم الأساسية تم إخفاء قسم المفاهيم الأساسية. يتم عرض قسم المفاهيم الأساسية. - إخفاء استكشاف قسم البودكاست - تم إخفاء استكشاف قسم بودكاست. - يتم عرض استكشاف قسم بودكاست. إخفاء روابط التسوق تم إخفاء روابط التسوق. يتم عرض روابط التسوق. @@ -1154,18 +1154,18 @@ إخفاء في موجز الصفحة الرئيسية والفيديوهات ذات الصلة مخفي في موجز الصفحة الرئيسية والفيديوهات ذات الصلة. يُعرض في موجز الصفحة الرئيسية والفيديوهات ذات الصلة. - إخفاء في موجز الاشتراكات - مخفي في موجز الاشتراكات. - يُعرض في موجز الاشتراكات. إخفاء في نتائج البحث مخفي في نتائج البحث. يُعرض في نتائج البحث. + إخفاء في موجز الاشتراكات + مخفي في موجز الاشتراكات. + يُعرض في موجز الاشتراكات. إخفاء في سجل المشاهدة مخفي في سجل المشاهدة. يُعرض في سجل المشاهدة. - تغيير حالة تكرار Shorts تغيير حالة تكرار فيديوهات Shorts في الخلفية + تغيير حالة تكرار Shorts التشغيل التلقائي الافتراضي إيقاف @@ -1173,77 +1173,77 @@ مُشَغِل Shorts إخفاء أو عرض المكونات في مشغل Shorts. + إخفاء شريط القناة + تم إخفاء شريط القناة. + يتم عرض شريط القناة. + إخفاء تسمية رابط الفيديو الكامل + تم إخفاء تسمية رابط الفيديو الكامل. + يتم عرض تسمية رابط الفيديو الكامل. + إخفاء لوحات المعلومات + تم إخفاء لوحات المعلومات. + يتم عرض لوحات المعلومات. إخفاء زر الانضمام تم إخفاء زر الانضمام. يتم عرض زر الانضمام. - إخفاء زر اشتراك - تم إخفاء زر اشتراك. - يتم عرض زر اشتراك. + إخفاء Header المحادثات المباشرة + تم إخفاء Header المحادثات المباشرة.\n\nزر رجوع في Header لن يتم إخفاؤه. + يتم عرض Header المحادثات المباشرة.\n\nزر رجوع في Header لن يتم إخفاؤه. + إخفاء تصنيف الترويج المدفوع + تم إخفاء تصنيف الترويج المدفوع. + يتم عرض تصنيف الترويج المدفوع. إخفاء علامة Shorts أثناء التوقف تم إخفاء علامة Shorts عند توقف الفيديو. يتم عرض علامة Shorts عند توقف الفيديو. إخفاء أزرار واجهة التوقف تم إخفاء أزرار تراكب التوقف. يتم عرض أزرار تراكب التوقف. - إخفاء زر الرائجة - تم إخفاء زر الرائجة. - يتم عرض زر الرائجة. إخفاء زر التسوق تم إخفاء زر التسوق. يتم عرض زر التسوق. + إخفاء تسمية بيانات التعريف الصوتية + تم إخفاء تسمية بيانات الصوت. + يتم عرض تسمية بيانات الصوت. إخفاء الملصقات تم إخفاء الملصقات. يتم عرض الملصقات. - إخفاء تصنيف الترويج المدفوع - تم إخفاء تصنيف الترويج المدفوع. - يتم عرض تصنيف الترويج المدفوع. - إخفاء لوحات المعلومات - تم إخفاء لوحات المعلومات. - يتم عرض لوحات المعلومات. - إخفاء Header المحادثات المباشرة - تم إخفاء Header المحادثات المباشرة.\n\nزر رجوع في Header لن يتم إخفاؤه. - يتم عرض Header المحادثات المباشرة.\n\nزر رجوع في Header لن يتم إخفاؤه. - إخفاء شريط القناة - تم إخفاء شريط القناة. - يتم عرض شريط القناة. + إخفاء زر اشتراك + تم إخفاء زر اشتراك. + يتم عرض زر اشتراك. + إخفاء زر الرائجة + تم إخفاء زر الرائجة. + يتم عرض زر الرائجة. إخفاء عنوان الفيديو - تم إخفاء العنوان. - يتم عرض العنوان. - إخفاء تسمية بيانات التعريف الصوتية - تم إخفاء تسمية البيانات الوصفية. - يتم عرض تسمية البيانات الوصفية. - إخفاء تسمية رابط الفيديو الكامل - تم إخفاء تسمية رابط الفيديو. - يتم عرض تسمية رابط الفيديو. + تم إخفاء عنوان الفيديو. + يتم عرض عنوان الفيديو. الإجراءات المقترحة إخفاء زر الشاشة الأخضر تم إخفاء زر الشاشة الخضراء. يتم عرض زر الشاشة الخضراء. + إخفاء زر الموقع + تم إخفاء زر الموقع. + يتم عرض زر الموقع. إخفاء زر حفظ الموسيقى تم إخفاء زر حفظ الموسيقى. يتم عرض زر حفظ الموسيقى. + إخفاء زر اقتراحات البحث + تم إخفاء زر اقتراحات البحث. + يتم عرض زر اقتراحات البحث. إخفاء زر التسوق تم إخفاء زر المتجر. يتم عرض زر المتجر. إخفاء زر Super Thanks تم إخفاء زر Super Thanks. يتم عرض زر Super Thanks. - إخفاء زر استخدام هذا الصوت - تم إخفاء زر استخدام هذا الصوت. - يتم عرض زر استخدام هذا الصوت. - إخفاء زر استخدام القالب - تم إخفاء زر القالب. - يتم عرض زر القالب. - إخفاء زر الموقع - تم إخفاء زر الموقع. - يتم عرض زر الموقع. - إخفاء زر اقتراحات البحث - تم إخفاء زر اقتراحات البحث. - يتم عرض زر اقتراحات البحث. إخفاء المنتجات الموسومة تم إخفاء المنتجات المعلمة. يتم عرض المنتجات المعلمة. + إخفاء زر استخدام القالب + تم إخفاء زر القالب. + يتم عرض زر القالب. + إخفاء زر استخدام هذا الصوت + تم إخفاء زر استخدام هذا الصوت. + يتم عرض زر استخدام هذا الصوت. أزرار الإجراء إخفاء زر أعجبني @@ -1266,12 +1266,9 @@ يتم عرض زر الصوت. تأثير الحركة / رد الفعل - تعطيل الرسوم المتحركة لزر أعجبني + تعطيل الرسوم المتحركة الفوّارة لزر أعجبني تم تعطيل الرسوم المتحركة الفوّارة فوق زر أعجبني. تم تمكين الرسوم المتحركة الفوّارة فوق زر أعجبني. - إخفاء خلفية زر التشغيل & الإيقاف - تم إخفاء خلفية الزر. - يتم عرض خلفية الزر. تأثير الحركة عند النقر المزدوج الأصلي أعجبني @@ -1279,6 +1276,9 @@ قلب قلب(ملون) مخفي + إخفاء خلفية زر التشغيل & الإيقاف + تم إخفاء خلفية زر تشغيل & إيقاف. + يتم عرض خلفية زر تشغيل & إيقاف. الإجراءات المخصصة تمكين الإجراءات المخصصة في القائمة المنبثقة @@ -1294,14 +1294,14 @@ اضغط مع الاستمرار على زر المزيد لإظهار مربع حوار الإجراءات المخصصة." تم تعطيل الإجراءات المخصصة في شريط الأدوات. الإجراءات المخصصة - نسخ رابط الفيديو - عرض قائمة نسخ رابط الفيديو - يتم عرض قائمة نسخ الفيديو. - تم إخفاء قائمة نسخ الفيديو. نسخ الرابط مع الطابع الزمني عرض قائمة نسخ URL مع الطابع الزمني يتم عرض قائمة نسخ URL مع الطابع الزمني. تم إخفاء قائمة نسخ URL مع الطابع الزمني. + نسخ رابط الفيديو + عرض قائمة نسخ رابط الفيديو + يتم عرض قائمة نسخ الفيديو. + تم إخفاء قائمة نسخ الفيديو. التنزيل الخارجي عرض قائمة التنزيل الخارجي يتم عرض قائمة التنزيل الخارجي. @@ -1331,15 +1331,15 @@ الهامش السفلي للوحة التعريف تكوين التباعد من شريط التقدم إلى لوحة التعريف، بين 0-64. يجب أن يكون الهامش السفلي للوحة التعريف بين 0-64. - إخفاء شريط الأدوات - تم إخفاء شريط الأدوات. - يتم عرض شريط الأدوات. إخفاء شريط التنقل تم إخفاء شريط التنقل. يتم عرض شريط التنقل. نسبة ارتفاع المساحة الفارغة يقوم بتكوين نسبة ارتفاع المساحة الفارغة المتبقية عند إخفاء شريط التنقل، بين 0 و100 (%). يجب أن تكون نسبة الارتفاع بين 0-100 (%). + إخفاء شريط الأدوات + تم إخفاء شريط الأدوات. + يتم عرض شريط الأدوات. استبدال معالج القناة يتم استخدام اسم القناة. يتم استخدام الاسم المعرِّف. @@ -1723,6 +1723,8 @@ يتم توفير البيانات بواسطة SponsorBlock API. اضغط هنا لمعرفة المزيد والتنزيل لمنصات أخرى. خيارات متنوعة + تعطيل بروتوكول QUIC + "تعطيل بروتوكول QUIC الخاص بـ CronetEngine." تمكين سجلات التصحيح تم تمكين Debug Logs. تم تعطيل Debug Logs. @@ -1735,10 +1737,12 @@ تمكين فتح الروابط بشكل مباشر تجاوز عمليات إعادة توجيه URL. يتبع سياسة إعادة التوجيه الافتراضية. + تطهير روابط المشاركة + يزيل معلمات استعلام التتبع من عناوين URL عند مشاركة الروابط. فتح إعدادات التطبيق الافتراضية لفتح روابط YouTube في RVX، قم بتمكين \'فتح الروابط المدعومة\' وتمكين عناوين الويب المدعومة. - فتح GmsCore - تمكين المراسلة السحابية لتلقي الإشعارات. + فتح إعدادات GmsCore + فتح إعدادات GmsCore. ثم قم بتمكين المراسلة السحابية لتلقي الإشعارات. لم يتم تثبيت GmsCore. قم بتثبيته. الإجراء مطلوب "ليس لدى GmsCore إذن للتشغيل في الخلفية. @@ -1753,10 +1757,6 @@ انقر فوق زر الاستمرار واسمح بتغييرات التحسين." استمرار - تطهير روابط المشاركة - يزيل معلمات استعلام التتبع من عناوين URL عند مشاركة الروابط. - تعطيل بروتوكول QUIC - "تعطيل بروتوكول QUIC الخاص بـ CronetEngine." تغيير لوح مشاركة يتم استخدام لوح مشاركة النظام. يتم استخدام لوح مشاركة داخل التطبيق. diff --git a/patches/src/main/resources/youtube/translations/bg-rBG/strings.xml b/patches/src/main/resources/youtube/translations/bg-rBG/strings.xml index e25171826..2fc34180a 100644 --- a/patches/src/main/resources/youtube/translations/bg-rBG/strings.xml +++ b/patches/src/main/resources/youtube/translations/bg-rBG/strings.xml @@ -30,12 +30,12 @@ Скриване банерите за стоки Банерите за стоки са скрити. Банерите за стоки се показват. - Скриване на рафта за пазаруване - Рафта за пазаруване е скрит. - Рафта за пазаруване се показва. Скриване на платените промоции Промоционалните етикети са скрити. Промоционалните етикети се показват. + Скриване на рафта за пазаруване + Рафта за пазаруване е скрит. + Рафта за пазаруване се показва. Скриване на банери с известия за промоция Банерът за известия за промоциите е скрит. Банерът за известия за промоциите се показва. @@ -57,10 +57,10 @@ Алтернативни миниатюри Начало /Home/ - Абонаменти - Раздел \"Вие\" Плейлисти, предложения Резултати от търсенето + Абонаменти + Раздел \"Вие\" Оригинални миниатюри DeArrow & оригинални миниатюри DeArrow & Неподвижни кадри @@ -94,6 +94,9 @@ Скриване на албумни карти Албумните карти са скрити. Албумните карти се показват. + Бутон за субтити + Бутона за субтити е скрит. + Бутона за субтити се показва. Скриване на рафта с Препоръчани "Скрива следните рафтове: - Извънредни новини @@ -110,15 +113,6 @@ Разширяеми секции Разширяващите се секции са скрити. Показват се разширяеми секции. - Бутон за субтити - Бутона за субтити е скрит. - Бутона за субтити се показва. - Лента за търсене в емисията - Лентата за търсене в емисията е скрита. - Лентата за търсене в емисията се показва. - Скриване на анкети в емисиите - Анкетите за емисии са скрити. - Анкетите за емисии се показват. Скриване на изскачащ бутон Плаващият бутон е скрит. Плаващият бутон се показва. @@ -146,6 +140,12 @@ Скриване на бутона Покажи още Бутона Покажи още е скрит. Бутона Покажи още се показва. + Лента за търсене в емисията + Лентата за търсене в емисията е скрита. + Лентата за търсене в емисията се показва. + Скриване на анкети в емисиите + Анкетите за емисии са скрити. + Анкетите за емисии се показват. Секция на канала в раздела „Публикации“ Лентата „Абонаменти“ е скрита. Показва се лентата „Абонаменти“. @@ -176,9 +176,6 @@ Shorts Плейлисти Маркет" - Бутон за разглеждане на магазина - Бутон за разглеждане на магазина е скрит. - Бутон за разглеждане на магазина се показва. Скриване на секцията с членуващи Рафта с членуващи е скрит. Рафта с членуващи се показва. @@ -188,6 +185,9 @@ Скриване на секцията \'За Вас\' Секцията \'За Вас\' е скрита. Секцията \'За Вас\' се показва. + Бутон за разглеждане на магазина + Бутон за разглеждане на магазина е скрит. + Бутон за разглеждане на магазина се показва. Публикации в общността Скрийте или покажете публикации в общността в емисията и канала. @@ -213,6 +213,9 @@ Скриване на видеоклипове въз основа на ключови думи, брой гледания или тяхната продължителност. Филтър по ключова дума + Скриване на коментари по ключови думи + Коментарите се филтрират. + Коментарите не се филтрират. Скриване на видеоклипове в началната страница с ключови думи Видеоклиповете в раздела Начало се филтрират с помощта на ключови думи. Видеоклиповете в раздела Начало не се филтрират по ключови думи. @@ -222,9 +225,6 @@ Скриване на видеоклипове от абонаменти с ключови думи Видеоклиповете в емисията за абонаменти се филтрират. Видеоклиповете в емисията за абонаменти не се филтрират. - Скриване на коментари по ключови думи - Коментарите се филтрират. - Коментарите не се филтрират. Ключови думи, които да бъдат скрити "Ключови думи и фрази, които да бъдат скрити, разделени с нови редове\n\nДуми с главни букви в средата трябва да бъдат въведени с големи букви (например: iPhone, TikTok, LeBlanc)." За филтриране с ключови думи @@ -242,14 +242,14 @@ Ключовата дума „%1$s“ ще скрие всички видеоклипове. Препоръчани видеоклипове + Скриване на видеоклипове с малко гледания + Скрийте видеоклипове с по-малко от 1000 гледания от емисията и от канали, за които сте се абонирали. Скриване на Препоръчани видеоклипове "Скрива следните препоръчани видеоклипове: • С етикет „Само за членове“. • С фрази като „Хората също са гледали“ под видеоклипа. • От канали, за които не сте абонирани (по-малко от 1000 гледания)." - Скриване на видеоклипове с малко гледания - Скрийте видеоклипове с по-малко от 1000 гледания от емисията и от канали, за които сте се абонирали. Филтрирайте по брой гледания Фильтр за видео в \"Начало\" по гледания @@ -279,8 +279,15 @@ Компенсиране Основни настройки + Промяна на резолюция + Оригинал + Телефон + Телефон (Max 480 dip) + Таблет + Таблет (Мин 600 dip) Промяна на началната страница Разглеждане на канала + Курсове / Обучение По подразбиране Проучване Игри @@ -297,6 +304,7 @@ Абонаменти Популярни За Гледане по-късно + Вашите клипове Промяна на типа на началната страница "Началната страница винаги се променя. @@ -311,6 +319,9 @@ Анимация при стартиране на приложението Новата начална анимация е изключена. Новата начална анимация е включена. + Деактивирайте полупрозрачната лента на прогреса + Лентата на прогреса е непрозрачна. + Лентата на прогреса е непрозрачна или полупрозрачна. Градиентен екрана за зареждане Екранът за зареждане с градиент е активиран. Екранът за зареждане с градиент е деактивиран. @@ -325,12 +336,6 @@ Лентата на състоянието се показва. Прозорец за възрастово ограничение "Премахва диалоговите прозорци. Това не заобикаля възрастовите ограничения, но ги приема автоматично." - Промяна на резолюция - Оригинал - Телефон - Телефон (Max 480 dip) - Таблет - Таблет (Мин 600 dip) Променете версията на приложението Подправена версия Не подправена версия @@ -345,6 +350,8 @@ 18.33.40 - Възстановяване на старата лентата с действия за Shorts 18.38.45 - Възстановяване на старото поведение на качеството на видеото по подразбиране 18.48.39 - Деактивира изгледите и харесванията да се актуализират в реално време + 19.26.42 - Деактивира иконата Cairo в навигацията и лентата с инструменти + 19.33.37 - Възстановяване на стария падащ панел за скорост на възпроизвеждане Меню на акаунта Скриване или показване на елементи в менюто на акаунта и раздела Вие. @@ -371,12 +378,12 @@ Замяна на действията на бутоните в приложението. Бутон Изтегляне - Действие на бутона \"Изтегляне\" за видео - Бутонът за изтегляне от YouTube отваря вашата външна програма за изтегляне. - Бутонът за изтегляне на YouTube отваря собствената програма за изтегляне на приложението. Преназначаване на бутона за изтегляне на плейлист Бутонът за изтегляне от YouTube отваря вашата външна програма за изтегляне. Бутонът за изтегляне на YouTube отваря собствената програма за изтегляне на приложението. + Действие на бутона \"Изтегляне\" за видео + Бутонът за изтегляне от YouTube отваря вашата външна програма за изтегляне. + Бутонът за изтегляне на YouTube отваря собствената програма за изтегляне на приложението. Име на приложението за изтегляне Име на пакета на приложението за изтегляне като NewPipe или YTDLnis. @@ -476,6 +483,9 @@ Освен това рекламите може да се показват в Shorts. Ако деактивирането не влезе в сила, опитайте да превключите към режим „инкогнито“." + Полупрозрачна лента за навигация + Навигационната лента е полупрозрачна. + Навигационната лента е непрозрачна. Скриване лентата за навигация Навигационната лента е скрита. Навигационната лента се показва. @@ -594,15 +604,15 @@ Прозрачност на на плейъра Стойност на прозрачност между 0-100, където 0 е прозрачно. Непрозрачността на наслагването на плейъра трябва да бъде между 0-100. Нулирайте стойностите по подразбиране. - Изскачащи прозорци на плейъра - Изскачащите панели на плейъра са деактивирани. - Изскачащите панели на плейъра са активирани. Деактивирайте превключването на микс плейлисти Автоматичното превключване на миксирани плейлисти е изключено. "Автоматичното превключване на миксирани плейлисти е активирано, когато автоматичното пускане е включено. Автоматичното пускане може да се промени в настройките на YouTube: Настройки → Автоматично пускане → Автоматично пускане на следващия видеоклип" Активирането на тази функция ще деактивира автоматичното превключване към YouTube Mix при възпроизвеждане на музика, докато автоматичното пускане е включено. + Изскачащи прозорци на плейъра + Изскачащите панели на плейъра са деактивирани. + Изскачащите панели на плейъра са активирани. Скрива бутона за скорост "Деактивирайте „Възпроизвеждане с 2x>> скорост при продължително натискане. @@ -633,9 +643,6 @@ Скриване на информационните панели Информационните панели са скрити. Информационните панели се показват - Съобщения за чат на живо - Съобщенията в чата на живо са скрити.\n\nТази настройка се отнася и за кратки видеоклипове на живо. - Показват се съобщения от чат на живо.\n\nТази настройка се отнася и за кратки видеоклипове на живо. Медицински информационен панел Медицински панел скрит. Медицински панел се показва. @@ -648,9 +655,6 @@ Препоръчителни действия Предложенията за действе са скрити Предложенията за действе се показват. - Скриване на времевите реакции - Времевите реакции са скрити. - Времевите реакции се показват. Препоръчан видеоклип в края на възпроизвеждането "Екранът за предложения на видеоклипове е скрит, когато автоматичното пускане е изключено. @@ -660,6 +664,9 @@ Незабавно автоматично пускане Ако автоматичното пускане е активирано, следващият видеоклип ще се възпроизведе веднага. Ако автоматичното пускане е активирано, следващият видеоклип ще се възпроизведе след края на обратното броене. + Скриване на времевите реакции + Времевите реакции са скрити. + Времевите реакции се показват. Интерфейс за мащабиране Интерфейс за мащабиране ескрит. Интерфейс за мащабиране се показва. @@ -732,30 +739,36 @@ Скриване на банер за коментари от членове Банера за коментари от членове е скрит. Банера за коментари от членове се показва. - Скриване на подчертаните връзки за търсене - Маркираните линкове за търсене са скрити. - Показани са маркираните линкове за търсене. Скриване на секцията с коментари Секцията с коментари е скрита. Секцията с коментари се показва. Скриване на секцията с коментари в началната емисия Секцията с коментари в началната емисия е скрита. Секцията с коментари в началната емисия се показва. + Бутон за създаване на Shorts + Бутонът за създаване на Кратко видео е скрит. + Бутонът за създаване на Кратко видео се показва. + Скриване на инструмента за избор на емоджи и клеймо за време + Бутоните за клеймо за време и емотикони са скрити. + Бутоните за клеймо за време и емотикони се показват. + Скриване на подчертаните връзки за търсене + Маркираните линкове за търсене са скрити. + Показани са маркираните линкове за търсене. + Съобщения за чат на живо + Съобщенията в чата на живо са скрити.\n\nТази настройка се отнася и за кратки видеоклипове на живо. + Показват се съобщения от чат на живо.\n\nТази настройка се отнася и за кратки видеоклипове на живо. + Скриване на чата на живо + Чата на живо е скрит. + Показва се чата на живо. Скр. преглед на коментар Прегледа на коментар е скрит. Прегледа на коментар се показва. Скриване на типа коментар за визуализация Това не променя размера на секцията за коментари, така че е възможно да отворите повторението на чата на живо в секцията за коментари. Това преоразмерява секцията за коментари, така че е невъзможно да се отвори повторението на чата на живо в секцията за коментари. - Бутон за създаване на Shorts - Бутонът за създаване на Кратко видео е скрит. - Бутонът за създаване на Кратко видео се показва. Скриване на бурона за благодарност Бутона за благодарност е скрит. Бутона за благодарност се показва. - Скриване на инструмента за избор на емоджи и клеймо за време - Бутоните за клеймо за време и емотикони са скрити. - Бутоните за клеймо за време и емотикони се показват. Падащо меню Скриване или промяна на елементи от изскачащото меню на екрана на видеоплейъра. @@ -830,9 +843,16 @@ Панел за взаимодействие Панелът за взаимодействие е деактивиран. Панелът за взаимодействие е активиран. + Влезте в режим на цял екран, когато видеото започне + "Влезте в режим на цял екран, когато видеото започне. + +Ограничение: Не работи, ако плейърът е минимизиран, в режим PiP или във фонов режим." + Не влизайте в режим на цял екран, когато видеото започне. + Излезте от режима на цял екран в края на видеото Изключено Портрет Пейзаж + Портрет и пейзаж Показване на раздел със заглавие на видеоклипа "Показва раздела със заглавието на видеоклипа на цял екран. @@ -963,6 +983,7 @@ Информация: • Може да не работи при потоци на живо." Режим на генериране на плейлист + Цялото съдържание (Сортиране по време, Възходящо) Цялото съдържание (Сортиране по дата) Цялото съдържание (Сортиране по популярност) Само видеоклипове (Сортиране по дата) @@ -1006,6 +1027,9 @@ Променя действието на индикатора за време Докоснете, за да отворите менюто за скорост на възпроизвеждане или качество на видеото. Докоснете, за да видите оставащото време. + Деактивиране глави за лентата на напредъка + Главите са скрити. + Главите се показват. Промяна на цвета на индикатора за време Стойността за избор на цвят на лентата за време е включена. Стойността за избор на цвят на лентата за време е изключена. @@ -1015,18 +1039,15 @@ Активиране на докосването на лентата за време Докосването на лентата за време е включено. Докосването на лентата за време е изключено. + Скриване на етикетите на главите в лентата на прогреса + Маркерите за глави в прогреса са скрити. + Маркерите за глави в прогреса се показват. Скриване на лента за време на плейъра Лентата за време на плейъра е скрита. Лентата за време на плейъра се показва. Миниатюри на лентата за възпроизвеждане Миниатюрите са скрити. Миниатюрите се показват. - Деактивиране глави за лентата на напредъка - Главите са скрити. - Главите се показват. - Скриване на етикетите на главите в лентата на прогреса - Маркерите за глави в прогреса са скрити. - Маркерите за глави в прогреса се показват. Времево клеймо на видеоклипа Времето клеймо е скрито. Клеймо за време се показва. @@ -1060,15 +1081,15 @@ Появява се. Относно раздела „Как е създадено това съдържание“. + Скрийте секцията „Подкасти“ + Разделът „Подкасти“ е скрит. + Показва се секцията „Подкасти“. Скриване на раздела за информационни карти Разделът за информационни карти е скрит. Разделът за информационни карти е показан. Раздел „Ключови понятия“ Раздел „Ключови понятия“ са скрити. Раздел „Ключови понятия“ се показват. - Скрийте секцията „Подкасти“ - Разделът „Подкасти“ е скрит. - Показва се секцията „Подкасти“. Скриване на връзки за пазаруване Връзките за пазаруване са скрити. Връзките за пазаруване се показват. @@ -1114,16 +1135,17 @@ Скриване в „начало“ и „подобни видеоклипове“ Скрити в емисиите „начало“ и „подобни видеоклипове“. Показва се в емисиите „начало“ и „подобни видеоклипове“. - Скриване в емисията „Абонаменти“ - Лавицата за кратки видеоклипове в емисията за абонаменти е скрита. - Показва се в емисията „Абонаменти“. Скриване на резултатите от уеб търсенето Резултатите от търсенето са скрити. Резултатите от търсенето се показват. + Скриване в емисията „Абонаменти“ + Лавицата за кратки видеоклипове в емисията за абонаменти е скрита. + Показва се в емисията „Абонаменти“. Скриване в историята на гледане Скрити в историята на гледане. Показват се в историята на гледане. + Промяна на фона на Shorts приповторение Промяна на състоянието - повторение на Shorts Автоматично изпълнение По подразбиране @@ -1132,77 +1154,77 @@ Плейър за кратки клипове Скриване или показване на компоненти в Shorts плейъра. + Скриване на лентата на канала + Лентата на канала е скрита. + Лентата на канала е показана. + Скриване на етикет за връзка към видеоклипа + Етикетът за видео връзка е скрит. + Етикетът за видео връзка се показва. + Скриване на информационните панели + Информационните панели са скрити. + Информационните панели се показват. Скриване на бутон за присъединяване Бутона за присъединяване е скрит. Бутона за присъединяване се показва - Скрийте бутона „Абониране“ - Бутонът „Абониране“ е скрит. - Показва се бутонът „Абониране“. + Скриване на раздела на чата на живо + Раздела Чата на живо е скрит.\n\nБутонът за връщане назад в Раздел няма да бъде скрит. + Показва се раздела Чата на живо.\n\nБутонът за връщане назад в раздела няма да бъде скрит. + Скриване на платените промоции + Промоционалните етикети са скрити. + Промоционалните етикети се показват. Скриване на заглавието на пауза Заглавието на пауза е скрито. При поставяне на пауза заглавие не се скрива. Показване на бутони при пауза Бутоните при пауза се скриват. Бутоните при пауза се показват. - Бутон „Набиращи популярност“ - Скрит. - Показва се. Бутон \"Пазаруване\" Бутона за пазаруване е скрит. Бутона за пазаруване се показва. - Скриване на стикери - Стикерите са скрити. - Стикери са показани. - Скриване на платените промоции - Промоционалните етикети са скрити. - Промоционалните етикети се показват. - Скриване на информационните панели - Информационните панели са скрити. - Информационните панели се показват. - Скриване на раздела на чата на живо - Раздела Чата на живо е скрит.\n\nБутонът за връщане назад в Раздел няма да бъде скрит. - Показва се раздела Чата на живо.\n\nБутонът за връщане назад в раздела няма да бъде скрит. - Скриване на лентата на канала - Лентата на канала е скрита. - Лентата на канала е показана. - Заглавие на видеото - Заглавието е скрито. - Заглавието се показва. Скриване на музикални метаданни Метаданни са скрити. Метаданни се показват. - Скриване на етикет за връзка към видеоклипа - Етикетът за видео връзка е скрит. - Етикетът за видео връзка се показва. + Скриване на стикери + Стикерите са скрити. + Стикери са показани. + Скрийте бутона „Абониране“ + Бутонът „Абониране“ е скрит. + Показва се бутонът „Абониране“. + Бутон „Набиращи популярност“ + Скрит. + Показва се. + Заглавие на видеото + Заглавието е скрито. + Заглавието се показва. Предложени действия Зелен бутон на екрана Зелен бутон на екрана е скрит. Зелен бутон на екрана се показва. + Бутон за \"Местоположение\" + Бутон за \"Местоположение\" е скрит. + Бутон за \"Местоположение\" се показва. Скриване на бутона Запазване на музика Бутонът за запазване на музика е скрит. Показан е бутонът за запазване на музика. + Бутон „Предложения за търсене“ + Бутон „Предложения за търсене“ е скрит. + Бутон „Предложения за търсене“ се показва. Скриване на бутона за пазаруване Бутона за пазаруване е скрит. Бутона за пазаруване се показва. Бутон \"Специални благодарности\" Бутон \"Специални благодарности\" е скрит. Бутон \"Специални благодарности\" се показва. - Бутон „Използване на този звук“ - Бутон „Използване на този звук“ е скрит. - Бутон „Използване на този звук“ се показва. - Бутон за \"Използване на шаблон\" - Бутон за \"Използване на шаблон\" е скрит. - Бутон за \"Използване на шаблон\" се показва. - Бутон за \"Местоположение\" - Бутон за \"Местоположение\" е скрит. - Бутон за \"Местоположение\" се показва. - Бутон „Предложения за търсене“ - Бутон „Предложения за търсене“ е скрит. - Бутон „Предложения за търсене“ се показва. Скриване на маркираните продукти Маркираните продукти са скрити. Маркираните продукти се показват. + Бутон за \"Използване на шаблон\" + Бутон за \"Използване на шаблон\" е скрит. + Бутон за \"Използване на шаблон\" се показва. + Бутон „Използване на този звук“ + Бутон „Използване на този звук“ е скрит. + Бутон „Използване на този звук“ се показва. Бутони за действие Скриване на бутона за харесване @@ -1228,9 +1250,6 @@ Деактивиране анимацията на бутона „Харесва ми“ Анимацията на фонтан е деактивирана над бутона „Харесва ми“. Анимацията на фонтан е активирана над бутона „Харесва ми“. - Скриване на фона на бутона за възпроизвеждане & и пауза - Фонът на бутоните е скрит. - Показва се фонът на бутоните. Анимация на двойно докосване Оригинал Харесва ми @@ -1238,10 +1257,48 @@ Сърце Сърце (цветно) Скрит + Скриване на фона на бутона за възпроизвеждане & и пауза + Фонът на бутоните е скрит. + Показва се фонът на бутоните. Персонализирани действия + Активиране на персонални действия в падащото меню + "Персонализираните действия са активирани в падащото меню. + +Ограничения: +• Не работи, ако версията на приложението е подправена до 18.49.37 или по-стара. +• Не работи с поток на живо." + Персонализираните действия са деактивирани в падащото меню. + Активиране на персонални действия в лентата с инструменти + "Персонализираните действия са активирани в лентата с инструменти. + +Натиснете и задръжте бутона Още, за да се покаже диалоговият прозорец с персонализирани действия." + Персонализираните действия са деактивирани в лентата с инструменти. + Персонализирани действия + Копиране на URL адрес на времево клеймо + Показване на менюто за URL адрес на копиране + Показва се менюто за копиране на URL адреса. + Копиране на URL менюто е скрито. Копиране адреса на видеото + Показване на менюто за копиране на URL адреса на видеоклипа + Показва се менюто за копиране на URL адреса. + Менюто за копиране на URL адреса е скрито. Външна програма за изтегляне + Показване на външно меню за изтегляне + Показва се менюто за външно изтегляне. + Менюто за външно изтегляне е скрито. + Пусни видео + Покажи на отворено видео меню + Менюто се показва. + Менюто е скрито. + Режим на повторение + Меню за режим на повторение + Показва се режим на повторение. + Режим на повторение е скрит. + Относно действията на потребителя + "Експериментална функция! +Без гаранция за работа! +Повечето грешки не могат да бъдат коригирани поради ограничения от страна на клиента, така че го използвайте само за тестване." Активиране на дата и час "Времевите показатели са активирани. @@ -1254,18 +1311,22 @@ Долно поле на \"мета\" панела Отстъп от лентата за възпроизвеждане към панела „мета“ Диапазон от 0 до 64. Полето в долната част на мета панела трябва да е между 0-64, Нулирайте по подразбиране. - Скриване на лентата с инструменти - Лента с инструменти е скрита. - Лента с инструменти се показва. Скриване лентата за навигация Навигационната лента е скрита. Навигационната лента се показва. Мярка в проценти на празното пространство Конфигурира процента на височината на оставащото празно пространство, когато лентата за навигация е скрита, между 0 и 100 (%). Процентът на височината трябва да е между 0-100 (%). + Скриване на лентата с инструменти + Лента с инструменти е скрита. + Лента с инструменти се показва. Заменете псевдонима на канала Използва се името на канала. Използва се псевдонимът на канала. + Стар интерфейс на плейъра + "Старият интерфейс на плейъра е активиран. +Без полета в горната и долната част на плейъра." + Старият интерфейс на плейъра е деактивиран. Плъзгащи контроли Управление авто-яркост с жестове @@ -1309,6 +1370,18 @@ Деактивирайте автоматичната HDR яркост Автоматичната яркост при HDR е изключена. Автоматичната яркост при HDR е включена. + Жестове за превключване на видеоклипове + Плъзгането нагоре/надолу в режим на цял екран няма да премине към следващото/предишното видео. + Плъзгането нагоре/надолу в режим на цял екран ще премине към следващото/предишното видео. + Деактивирайте плъзгането за влизане в режим на цял екран (под плейъра) + Плъзгането надолу под плейъра няма да влезе в режим на цял екран. + Плъзгането надолу под плейъра ще влезе в режим на цял екран. + Деактивиране на плъзгане за влизане в режим на цял екран (в плейъра) + Плъзгането нагоре в плейъра няма да влезе в режим на цял екран. + Плъзгането нагоре в плейъра ще влезе в режим на цял екран. + Деактивирайте плъзгането, за да излезете от режим на цял екран + Плъзгането надолу на цял екран няма да излезе от режима на цял екран. + Плъзгането надолу на цял екран ще излезе от режима на цял екран. Авто Видео @@ -1342,7 +1415,11 @@ Показва се старото меню за видео качество. Старото меню за видео качество е скрито. Деактивирайте скоростта на възпроизвеждане за музика + Скоростта на възпроизвеждане по подразбиране е деактивирана за музика. Скоростта на възпроизвеждане по подразбиране е активирана за музика. + Изберете скорост въз основа на категориите + Скоростта по подразбиране за категорията YouTube Music е деактивирана. + Скоростта по подразбиране за категорията YouTube Music е активирана. Променете скоростта на възпроизвеждане на Shorts Скоростта на възпроизвеждане по подразбиране се прилага за Shorts. Скоростта на възпроизвеждане по подразбиране не се прилага за Shorts. @@ -1617,6 +1694,8 @@ Данните са предоставени от SponsorBlock API. Докоснете тук за повече информация и изтеглияния. Разни + Изключване на QUIC протокол + "Изключване на CronetEngine's QUIC протокол." Активиране на регистрирането на грешки Дневникът за остраняване на грешки е активиран. Отчетите за грешки са изключени. @@ -1629,6 +1708,8 @@ Отваряне на връзки директно Заобикаляне на URL пренасочвания. Следване на правилата за пренасочване по подразбиране. + Почистване на споделените връзки + Премахва параметрите на заявката за проследяване от URL адресите при споделяне на връзки. Отвори настройките по подразбиране За да отваряте връзки към YouTube с помощта на RVX, конфигурирайте „Отваряне на поддържани връзки“ и активирайте поддържаните уеб адреси, които искате. Отвори GmsCore @@ -1642,10 +1723,6 @@ Натиснете \"Продолжи\" и изкючере оптимизацията на батерията." Продължи - Почистване на споделените връзки - Премахва параметрите на заявката за проследяване от URL адресите при споделяне на връзки. - Изключване на QUIC протокол - "Изключване на CronetEngine's QUIC протокол." Списък със приложения за споделяне Използва се от системният лист за споделяне. Списък с приложения за спделяне – вграден. @@ -1681,11 +1758,42 @@ "Данните за поточно предаване не са подправени. Възпроизвеждането на видео може да не работи." Изключването на тази настройка може да причини проблеми с възпроизвеждането на видео. Клиент по подразбиране + "Android TV +(Изисква се влизане)" + Android VR + "iOS +(Необходим PoToken)" + "iOS +(Необходим вход)" Ефекти от замяната + "• Липсва менюто за аудио запис. +• Не е наличен стабилен звук. +• Деактивиране на принудителни автоматични аудио записи не е налично. +• Детските видеоклипове може да не се възпроизвеждат, когато сте излезли или сте в режим инкогнито." + • Възможно е да има проблеми с възпроизвеждането (необходим е PoToken). + "• Филми или платени видеоклипове може да не се възпроизвеждат. +• Детските видеоклипове може да не се възпроизвеждат, когато сте излезли или сте в режим инкогнито." + Принудително AVC (H.264) за iOS + Видео кодек по подразбиране AVC (H.264). + Видео кодекът се определя автоматично. + "Активирането на това може да подобри живота на батерията и да поправи заекването на възпроизвеждането. + +AVC има максимална разделителна способност от 1080p, аудио кодекът Opus не е наличен, а видеовъзпроизвеждането ще използва повече интернет данни от VP9 или AV1." Показване в \"Разширени статистики\" Клиентът, използван за получаване на данни за потока, се показва в Статистика за системни администратори. Клиентът, използван за получаване на данни за поток, е скрит в Статистика за системни администратори. + PoToken / VisitorData + PoToken + PoToken се пуска с BotGuard в доверен браузър. + VisitorData + VisitorData, издадени от BotGuard в доверен браузър. + За PoToken / VisitorData + "Някои клиенти изискват PoToken и VisitorData, за да получат валиден отговор на поточни данни. + +Ако се опитвате да използвате iOS като клиент по подразбиране, може да имате нужда от тези стойности. + +Щракнете, за да видите повече информация." История на гледане Променя настройките, за хронологията на гледане. diff --git a/patches/src/main/resources/youtube/translations/de-rDE/strings.xml b/patches/src/main/resources/youtube/translations/de-rDE/strings.xml index 61087ed4c..4e6277bad 100644 --- a/patches/src/main/resources/youtube/translations/de-rDE/strings.xml +++ b/patches/src/main/resources/youtube/translations/de-rDE/strings.xml @@ -30,12 +30,12 @@ Bitte lade %2$s von der Webseite herunter." Merchandise-Abschnitt verstecken Merchandise-Abschnitte sind versteckt. Merchandise-Abschnitte werden angezeigt. - Player Shopping-Banner ausblenden - Shopping-Banner ist ausgeblendet. - Shopping-Banner wird angezeigt. Verstecke Label für bezahlte Promotion Label für bezahlte Promotion wird versteckt. Label für bezahlte Promotion wird angezeigt. + Player Shopping-Banner ausblenden + Shopping-Banner ist ausgeblendet. + Shopping-Banner wird angezeigt. Werbe-Warnbanner ausblenden Werbe-Warnbanner ist ausgeblendet. Werbe-Warnbanner wird angezeigt. @@ -57,10 +57,10 @@ Bitte lade %2$s von der Webseite herunter." Alternatives Vorschaubild Startseite - Abonnements - Mein YouTube Playlisten, Vorschläge Suchresultate + Abonnements + Mein YouTube Originale Vorschaubilder DeArrow & originale Vorschaubilder DeArrow & erfasst immer noch @@ -98,6 +98,9 @@ Tippen Sie hier, um mehr über DeArrow zu erfahren." Albumkarten ausblenden Albumkarten werden ausgeblendet. Albumkarten werden angezeigt. + Verstecke \"Untertitel\" Schaltfläche + Schaltfläche \"Untertitel\" ist versteckt. + Schaltfläche \"Untertitel\" wird angezeigt. Karussellregal ausblenden "Versteckt folgende Abschnitte: - Aktuelle Nachrichten @@ -114,15 +117,6 @@ Tippen Sie hier, um mehr über DeArrow zu erfahren." Erweiterbare Regale ausblenden Erweiterbare Regale sind ausgeblendet. Erweiterbare Regale werden angezeigt. - Verstecke \"Untertitel\" Schaltfläche - Schaltfläche \"Untertitel\" ist versteckt. - Schaltfläche \"Untertitel\" wird angezeigt. - Feed Suchleiste ausblenden - Feed Suchleiste ist ausgeblendet. - Feed Suchleiste wird angezeigt. - Feed-Umfragen verstecken - Feed-Umfragen sind versteckt - Feed-Umfragen werden angezeigt Schwebende Taste ausblenden Schwebende Taste ist ausgeblendet. Schwebende Taste wird angezeigt. @@ -150,6 +144,12 @@ Tippen Sie hier, um mehr über DeArrow zu erfahren." Schaltfläche „Mehr anzeigen“ ausblenden Die Schaltfläche „Mehr anzeigen“ ist ausgeblendet. Die Schaltfläche „Mehr anzeigen“ wird angezeigt. + Feed Suchleiste ausblenden + Feed Suchleiste ist ausgeblendet. + Feed Suchleiste wird angezeigt. + Feed-Umfragen verstecken + Feed-Umfragen sind versteckt + Feed-Umfragen werden angezeigt Abonnement-Karussell ausblenden Abonnement-Karussell ist versteckt. Karussell für Abonnements wird angezeigt. @@ -179,9 +179,6 @@ Tippen Sie hier, um mehr über DeArrow zu erfahren." "Verkürzt Playlists Store" - Shop-Button ausblenden - Die Schaltfläche Store durchsuchen wird ausgeblendet - Die Schaltfläche Store durchsuchen wird angezeigt Kanalmitgliedschaft ausblenden Kanalmitgliedschaft-Abschnitt wird versteckt Kanalmitgliedschaft-Abschnitt wird angezeigt @@ -191,6 +188,9 @@ Store" Für dich ausblenden Chips-Abschnitt wird versteckt. \'For You\' shelves are shown. + Shop-Button ausblenden + Die Schaltfläche Store durchsuchen wird ausgeblendet + Die Schaltfläche Store durchsuchen wird angezeigt Community Beiträge Verstecke oder zeige Community-Beiträge im Feed und Kanal. @@ -216,6 +216,9 @@ Store" Videos mit Schlüsselwörtern oder Ansichten ausblenden. Stichwortfilter + Verstecke Kommentare nach Schlüsselwörtern + Kommentare werden gefiltert. + Kommentare werden nicht gefiltert. Heimvideos nach Schlüsselwörtern ausblenden Videos im Home Feed werden gefiltert. Videos im Home Feed werden nicht gefiltert. @@ -225,9 +228,6 @@ Store" Abonnementvideos mit Schlüsselwörtern ausblenden Videos in Abonnements Feed werden gefiltert. Videos in Abonnements Feed werden nicht gefiltert. - Verstecke Kommentare nach Schlüsselwörtern - Kommentare werden gefiltert. - Kommentare werden nicht gefiltert. Suchbegriffe ausblenden "Keywords und Ausdrücke zu verstecken, getrennt durch neue Zeilen. Wörter mit Großbuchstaben in der Mitte müssen im Gehäuse eingegeben werden (z.B. iPhone, TikTok, LeBlanc)." @@ -247,13 +247,13 @@ Einschränkungen: Schlüsselwort \'%1$s\' wird alle Videos ausblenden. Empfohlene Videos + Videos mit wenigen Aufrufen verstecken + Verstecke Videos mit weniger als 1000 Aufrufen von nicht abonnierten Kanälen von der Startseite. Empfohlene Videos ausblenden "Versteckt die folgenden empfohlenen Videos: • Videos mit dem Tag nur für Mitglieder. • Videos mit Sätzen wie \"Menschen auch gesehen\" unten." - Videos mit wenigen Aufrufen verstecken - Verstecke Videos mit weniger als 1000 Aufrufen von nicht abonnierten Kanälen von der Startseite. Zählerfilter anzeigen Videos auf der Startseite nach Aufrufen ausblenden @@ -287,6 +287,12 @@ Wenn sich das Layout des Wiedergabebildschirms aufgrund serverseitiger Änderung Offset Allgemein + Layout ändern + Original + Telefon + Telefon (max. 480 dp) + Tablet + Tablet (min. 600 dp) Startseite ändern Kanäle durchstöbern Standard @@ -333,12 +339,6 @@ Einschränkung: Zurück-Taste in der Symbolleiste funktioniert möglicherweise n Diskretion des Betrachters entfernen "Entfernt den Diskretionsdialog des Betrachters. Dies umgeht nicht die Altersbeschränkung. Es akzeptiert ihn nur automatisch." - Layout ändern - Original - Telefon - Telefon (max. 480 dp) - Tablet - Tablet (min. 600 dp) Spoof App Version Version gefälscht Version nicht gefälscht @@ -581,11 +581,11 @@ Tippe und halte zum Öffnen der RVX-Einstellungen." Benutzerdefinierte Spieler-Überlagerung Deckkraft Deckkraft Wert zwischen 0-100, wobei 0 transparent ist. Die Transparenz der Spieler-Überlagerung muss zwischen 0-100 liegen. Zurückgesetzt auf Standardwerte. + Mix-Playlists deaktivieren + Mix-Playlists sind deaktiviert. Player-Popup-Panels deaktivieren Auto-Player-Popup-Panels sind deaktiviert. Auto-Player-Popup-Panels sind deaktiviert. - Mix-Playlists deaktivieren - Mix-Playlists sind deaktiviert. Geschwindigkeitsüberlagerung deaktivieren "Deaktiviere 'Abspielen mit 2x Geschwindigkeit' während du gedrückt hältst. @@ -616,9 +616,6 @@ Information: Info-Panels ausblenden Infokarten werden ausgeblendet Infokarten werden angezeigt - Live-Chat-Nachrichten verbergen - Live-Chat-Nachrichten sind ausgeblendet.\n\nDiese Einstellung gilt auch für Shorts Live-Videos. - Live-Chat-Nachrichten werden angezeigt.\n\nDiese Einstellung gilt auch für Shorts Live-Videos. Medizinische Infokarten verstecken Medizinische Infokarten sind versteckt Medizinische Infokarten werden angezeigt @@ -631,9 +628,6 @@ Information: Verstecke empfohlene Vorschläge Vorgeschlagene Aktionen sind versteckt Empfohlene Aktionen werden angezeigt - Zeitgesteuerte Reaktionen verstecken - Zeitgesteuerte Reaktionen sind versteckt - Zeitgesteuerte Reaktionen werden angezeigt Verstecke vorgeschlagenes Video-End-Bildschirm "Der Endbildschirm für vorgeschlagene Videos ist ausgeblendet, wenn die Autoplay-Funktion deaktiviert ist. @@ -643,6 +637,9 @@ Einstellungen → Autoplay → Nächstes Video automatisch abspielen" Autotoplay Countdown überspringen Ist Autoplay aktiviert, wird das nächste Video sofort abgespielt. Wenn Autoplay aktiviert ist, wird das nächste Video nach dem Countdown abgespielt. + Zeitgesteuerte Reaktionen verstecken + Zeitgesteuerte Reaktionen sind versteckt + Zeitgesteuerte Reaktionen werden angezeigt Zoom-Overlay ausblenden Zoom-Overlay ist ausgeblendet. Zoom-Overlay wird angezeigt. @@ -718,12 +715,15 @@ Einstellungen → Autoplay → Nächstes Video automatisch abspielen" Kommentarbereich im Startfeed ausblenden Kommentar-Sektion ist im Home Feed versteckt. Kommentarbereich wird im Home Feed angezeigt. - Verstecke Vorschau-Kommentar - Vorschau-Kommentar ist versteckt - Vorschau-Kommentar wird angezeigt Verstecke das Erstellen der Short-Schaltfläche Erstelle Short-Schaltfläche ist ausgeblendet. Erstelle Short-Schaltfläche wird angezeigt. + Live-Chat-Nachrichten verbergen + Live-Chat-Nachrichten sind ausgeblendet.\n\nDiese Einstellung gilt auch für Shorts Live-Videos. + Live-Chat-Nachrichten werden angezeigt.\n\nDiese Einstellung gilt auch für Shorts Live-Videos. + Verstecke Vorschau-Kommentar + Vorschau-Kommentar ist versteckt + Vorschau-Kommentar wird angezeigt Verstecke \"Danke\" Schaltfläche \"Danke\" Schaltfläche wird versteckt. \"Danke\" Schaltfläche wird angezeigt. @@ -974,15 +974,15 @@ Tippen und halten Sie, um den Einstellungsdialog für die Whitelist anzuzeigen.< Hide chapters sections Chapters sections are hidden. Chapters sections are shown. + Podcast-Abschnitte ausblenden + Podcast-Abschnitte sind ausgeblendet. + Podcast-Abschnitte werden angezeigt. Infokarten-Abschnitte verstecken Infokarten-Abschnitte sind versteckt Infokarten-Abschnitte werden angezeigt Schlüsselkonzeptsektion ausblenden Schlüsselkonzepte sind ausgeblendet. Schlüsselkonzepte werden angezeigt. - Podcast-Abschnitte ausblenden - Podcast-Abschnitte sind ausgeblendet. - Podcast-Abschnitte werden angezeigt. Transkriptabschnitte werden angezeigt Videobeschreibungsinteraktion deaktivieren @@ -1010,12 +1010,12 @@ Nebeneffekt: Offizielle Kopfzeilen in Suchergebnissen werden ausgeblendet."Verstecke im Home Feed und verwandten Videos Versteckt in Home Feed und verwandten Videos. Im Home Feed und verwandte Videos anzeigen. - Community-Beiträge im Abo-Feed verstecken - Community-Beiträge im Abonnement-Feed sind versteckt. - Community-Beiträge im Abonnement-Feed werden angezeigt. In Suchergebnissen ausblenden Versteckt in Suchergebnissen. In den Suchergebnissen angezeigt. + Community-Beiträge im Abo-Feed verstecken + Community-Beiträge im Abonnement-Feed sind versteckt. + Community-Beiträge im Abonnement-Feed werden angezeigt. Verstecke im Beobachtungsverlauf Autoplay @@ -1024,39 +1024,39 @@ Nebeneffekt: Offizielle Kopfzeilen in Suchergebnissen werden ausgeblendet."Wiederholen Elemente im YouTube-Einstellungsmenü verstecken - Teilnehmen-Schaltfläche verstecken - Abonnement-Button ausblenden - Pausierte Overlay-Tasten ausblenden - Verstecke \"Trends\" Schaltfläche - \"Trends\" Schaltfläche wird versteckt. - \"Trends\" Schaltfläche wird angezeigt. - Shop-Schaltfläche verstecken - Shop-Schaltfläche wird versteckt. - Shop-Schaltfläche wird angezeigt. - Sticker ausblenden - Sticker sind versteckt. - Sticker werden angezeigt. - Verstecke Label für bezahlte Promotion - Label für bezahlte Promotion wird versteckt. - Label für bezahlte Promotion wird angezeigt. - Info-Panels ausblenden - Infokarten werden ausgeblendet. - Infokarten werden angezeigt. - Live-Chat-Kopfzeile ausblenden - Live-Chat-Kopfzeile wird ausgeblendet.\n\nZurück Button wird nicht ausgeblendet. - Live-Chat-Kopfzeile wird angezeigt.\n\nZurück Button wird nicht ausgeblendet. Kanalleiste ausblenden Kanalleiste ist ausgeblendet. Kanalleiste wird angezeigt. - Videotitel ausblenden - Titel ist ausgeblendet. - Titel wird angezeigt. - Sound-Metadaten-Label ausblenden - Metadatenlabel ist ausgeblendet. - Metadaten-Label wird angezeigt. Verstecke vollständige Video-Linkbezeichnung Video-Link-Label ist ausgeblendet. Video-Link-Label wird angezeigt. + Info-Panels ausblenden + Infokarten werden ausgeblendet. + Infokarten werden angezeigt. + Teilnehmen-Schaltfläche verstecken + Live-Chat-Kopfzeile ausblenden + Live-Chat-Kopfzeile wird ausgeblendet.\n\nZurück Button wird nicht ausgeblendet. + Live-Chat-Kopfzeile wird angezeigt.\n\nZurück Button wird nicht ausgeblendet. + Verstecke Label für bezahlte Promotion + Label für bezahlte Promotion wird versteckt. + Label für bezahlte Promotion wird angezeigt. + Pausierte Overlay-Tasten ausblenden + Shop-Schaltfläche verstecken + Shop-Schaltfläche wird versteckt. + Shop-Schaltfläche wird angezeigt. + Sound-Metadaten-Label ausblenden + Metadatenlabel ist ausgeblendet. + Metadaten-Label wird angezeigt. + Sticker ausblenden + Sticker sind versteckt. + Sticker werden angezeigt. + Abonnement-Button ausblenden + Verstecke \"Trends\" Schaltfläche + \"Trends\" Schaltfläche wird versteckt. + \"Trends\" Schaltfläche wird angezeigt. + Videotitel ausblenden + Titel ist ausgeblendet. + Titel wird angezeigt. Shop-Schaltfläche verstecken Super Dankeschön ausblenden @@ -1077,9 +1077,6 @@ Nebeneffekt: Offizielle Kopfzeilen in Suchergebnissen werden ausgeblendet."Sound button is hidden. Animation / Feedback - Wiedergabe & Pause Hintergrund ausblenden - Button-Hintergrund wird ausgeblendet. - Button-Hintergrund wird angezeigt. Doppeltipp-Animation Original Mag ich @@ -1087,6 +1084,9 @@ Nebeneffekt: Offizielle Kopfzeilen in Suchergebnissen werden ausgeblendet."Herz Herz (Farbton) Ausgeblendet + Wiedergabe & Pause Hintergrund ausblenden + Button-Hintergrund wird ausgeblendet. + Button-Hintergrund wird angezeigt. Benutzerdefinierte Aktionen Benutzerdefinierte Aktionen im Flyout-Menü aktivieren @@ -1104,12 +1104,12 @@ Bekannte Probleme: Da dies eine Funktion in der Entwicklungsphase von Google ist Meta-Panel unteren Rand Konfigurieren Sie den Abstand von der Suchleiste auf die Meta-Leiste zwischen 0-64. Der untere Rand des Meta-Panels muss zwischen 0-64 liegen. Zurückgesetzt auf Standardwerte. - Toolbar verstecken - Symbolleiste ist versteckt. - Symbolleiste wird angezeigt. Navigationsleiste verstecken Navigationsleiste ist versteckt. Navigation bar is shown. + Toolbar verstecken + Symbolleiste ist versteckt. + Symbolleiste wird angezeigt. Kanalhandle ersetzen Kanalname wird verwendet. Kanalhandle wird verwendet. @@ -1421,6 +1421,8 @@ Einschränkung: Dislikes werden im Inkognito Modus nicht angezeigt." Die Daten werden von der SponsorBlock API bereitgestellt. Tippen Sie hier, um mehr zu erfahren und Downloads für andere Plattformen zu sehen Sonstiges + QUIC-Protokoll deaktivieren + "CronetEngine's QUIC-Protokoll deaktivieren" Debug-Protokollierung aktivieren Debug-Logs sind aktiviert Debug-Logs sind deaktiviert @@ -1448,8 +1450,6 @@ Dies wird zum Funktionieren der App benötigt." Drücke Weiter und deaktiviere Akku-Optimierungen." Fortsetzen - QUIC-Protokoll deaktivieren - "CronetEngine's QUIC-Protokoll deaktivieren" OPUS Codec aktivieren Aktiviere den OPUS-Codec, wenn die Antwort des Players den OPUS-Codec enthält. diff --git a/patches/src/main/resources/youtube/translations/el-rGR/strings.xml b/patches/src/main/resources/youtube/translations/el-rGR/strings.xml index 3566bd07a..cfa6cfb29 100644 --- a/patches/src/main/resources/youtube/translations/el-rGR/strings.xml +++ b/patches/src/main/resources/youtube/translations/el-rGR/strings.xml @@ -30,12 +30,12 @@ Ενότητα εμπορευμάτων Κρυμμένη. Εμφανίζεται. - Ενότητα αγορών οθόνης αναπαραγωγής - Κρυμμένη. - Εμφανίζεται. Ετικέτες προώθησης επί πληρωμή Κρυμμένες. Εμφανίζονται. + Ενότητα αγορών οθόνης αναπαραγωγής + Κρυμμένη. + Εμφανίζεται. Ετικέτες προειδοποίησης προώθησης Κρυμμένες. Εμφανίζονται. @@ -57,10 +57,10 @@ Εναλλακτικές μικρογραφίες Καρτέλα «Αρχική» - Καρτέλα «Εγγραφές» - Καρτέλα «Εσείς» Λίστες αναπαραγωγής, προτάσεις Αποτελέσματα αναζήτησης + Καρτέλα «Εγγραφές» + Καρτέλα «Εσείς» Αρχικές μικρογραφίες DeArrow & Αρχικές μικρογραφίες DeArrow & Ακίνητα καρέ @@ -96,6 +96,9 @@ Κάρτες άλμπουμ Κρυμμένες. Εμφανίζονται. + Κουμπί υπότιτλων + Κρυμμένο. + Εμφανίζεται. Οριζόντιες ενότητες προτάσεων "Απόκρυψη ενοτήτων όπως: • Έκτακτη είδηση @@ -113,15 +116,6 @@ Επεκτάσιμες ενότητες Κρυμμένες. Εμφανίζονται. - Κουμπί υπότιτλων - Κρυμμένο. - Εμφανίζεται. - Γραμμή αναζήτησης - Κρυμμένη. - Εμφανίζεται. - Έρευνες - Κρυμμένες. - Εμφανίζονται. Αιωρούμενο κουμπί Κρυμμένο. Εμφανίζεται. @@ -149,6 +143,12 @@ Κουμπί «Εμφάνιση περισσότερων» Κρυμμένο. Εμφανίζεται. + Γραμμή αναζήτησης + Κρυμμένη. + Εμφανίζεται. + Έρευνες + Κρυμμένες. + Εμφανίζονται. Ενότητα καναλιών καρτέλας «Εγγραφές» Κρυμμένη. Εμφανίζεται. @@ -178,9 +178,6 @@ "Shorts Playlists Κοινότητα" - Κουμπί περιήγησης στο κατάστημα - Κρυμμένο. - Εμφανίζεται. Ενότητα συνδρομητή καναλιού Κρυμμένη. Εμφανίζεται. @@ -190,6 +187,9 @@ Playlists Ενότητα «Για εσάς» Κρυμμένη. Εμφανίζεται. + Κουμπί περιήγησης στο κατάστημα + Κρυμμένο. + Εμφανίζεται. Δημοσιεύσεις κοινότητας Απόκρυψη ή εμφάνιση δημοσιεύσεων κοινότητας στη ροή και στη σελίδα καναλιού. @@ -215,6 +215,9 @@ Playlists Απόκρυψη βίντεο με βάση λέξεις-κλειδιά, αριθμό προβολών ή τη διάρκειά τους. Φίλτρο λέξεων-κλειδιών + Φιλτράρισμα σχολίων + Τα σχόλια φιλτράρονται με τη χρήση λέξεων-κλειδιών. + Τα σχόλια δε φιλτράρονται από λέξεις-κλειδιά. Φιλτράρισμα καρτέλας «Αρχική» Τα βίντεο στην καρτέλα «Αρχική» φιλτράρονται με τη χρήση λέξεων-κλειδιών. Τα βίντεο στην καρτέλα «Αρχική» δε φιλτράρονται από λέξεις-κλειδιά. @@ -224,9 +227,6 @@ Playlists Φιλτράρισμα καρτέλας «Εγγραφές» Τα βίντεο στην καρτέλα «Εγγραφές» φιλτράρονται με τη χρήση λέξεων-κλειδιών. Τα βίντεο στην καρτέλα «Εγγραφές» δε φιλτράρονται από λέξεις-κλειδιά. - Φιλτράρισμα σχολίων - Τα σχόλια φιλτράρονται με τη χρήση λέξεων-κλειδιών. - Τα σχόλια δε φιλτράρονται από λέξεις-κλειδιά. Λέξεις-κλειδιά για απόκρυψη "Λέξεις-κλειδιά και φράσεις προς απόκρυψη, διαχωρισμένες με νέες γραμμές. Οι λέξεις-κλειδιά μπορεί να είναι ονόματα καναλιών ή κείμενο που εμφανίζεται σε τίτλους των βίντεο. @@ -247,13 +247,13 @@ Playlists Η λέξη θα κρύβει όλα τα βίντεο: %s. Προτεινόμενα βίντεο + Απόκρυψη βίντεο χαμηλών προβολών + Απόκρυψη των βίντεο με λιγότερες από 1,000 προβολές από τη ροή τα οποία ανήκουν σε κανάλια που δεν είστε συνδρομητές. Απόκρυψη προτεινόμενων βίντεο "Απόκρυψη των παρακάτω προτεινόμενων βίντεο: • Βίντεο με ετικέτα «Μόνο για Μέλη». • Βίντεο με φράσεις όπως «Άλλοι χρήστες παρακολούθησαν επίσης» στο κάτω μέρος τους." - Απόκρυψη βίντεο χαμηλών προβολών - Απόκρυψη των βίντεο με λιγότερες από 1,000 προβολές από τη ροή τα οποία ανήκουν σε κανάλια που δεν είστε συνδρομητές. Φίλτρο αριθμού προβολών Φιλτράρισμα καρτέλας «Αρχική» @@ -287,6 +287,12 @@ Playlists Μετατόπιση Γενικά + Αλλαγή διεπαφής + Προεπιλογή + Κινητό + Κινητό (Μέγιστο dp 480) + Τάμπλετ + Τάμπλετ (Μέγιστο dp 600) Αλλαγή αρχικής σελίδας Περιήγηση καναλιών Μαθήματα / Εκμάθηση @@ -339,12 +345,6 @@ Playlists Παράθυρο ηλικιακού περιορισμού "Αφαίρεση του παραθύρου προειδοποίησης ηλικιακού περιορισμού. Αυτό δεν παρακάμπτει τον ηλικιακό περιορισμό, απλά τον αποδέχεται αυτόματα." - Αλλαγή διεπαφής - Προεπιλογή - Κινητό - Κινητό (Μέγιστο dp 480) - Τάμπλετ - Τάμπλετ (Μέγιστο dp 600) Παραποίηση έκδοσης εφαρμογής Η έκδοση παραποιείται. Η έκδοση δεν παραποιείται. @@ -390,12 +390,12 @@ Playlists Μετατροπή ενέργειας πατήματος των κουμπιών της εφαρμογής. Κουμπί «Λήψη» - Μετατροπή κουμπιού λήψης βίντεο - Το κουμπί λήψης του YouTube ανοίγει το εξωτερικό πρόγραμμα λήψης σας. - Το κουμπί λήψης του YouTube ανοίγει το εγγενές πρόγραμμα λήψης της εφαρμογής. Μετατροπή κουμπιού λήψης λίστας αναπαραγωγής Το κουμπί λήψης λίστας αναπαραγωγής εμφανίζεται πάντα, και σε δημόσιες λίστες αναπαραγωγής ανοίγει το εξωτερικό πρόγραμμα λήψης σας. Αν εμφανίζεται, το κουμπί λήψης λίστας αναπαραγωγής ανοίγει το εγγενές πρόγραμμα λήψης του YouTube. + Μετατροπή κουμπιού λήψης βίντεο + Το κουμπί λήψης του YouTube ανοίγει το εξωτερικό πρόγραμμα λήψης σας. + Το κουμπί λήψης του YouTube ανοίγει το εγγενές πρόγραμμα λήψης της εφαρμογής. Όνομα πακέτου προγράμματος λήψης λίστας αναπαραγωγής Όνομα πακέτου της εγκατεστημένης σας εξωτερικής εφαρμογής λήψης (π.χ YTLDnis). @@ -618,9 +618,6 @@ Playlists Αδιαφάνεια φόντου οθόνης αναπαραγωγής Τιμή αδιαφάνειας μεταξύ 0-100, όπου το 0 είναι διαφανές. Η αδιαφάνεια πρέπει να είναι μεταξύ 0-100. - Αναδυόμενα παράθυρα οθόνης αναπαραγωγής - Κρυμμένα. - Εμφανίζονται. Απενεργοποίηση εναλλαγής λιστών αναπαραγωγής μίξης Η αυτόματη εναλλαγή λιστών αναπαραγωγής μίξης είναι απενεργοποιημένη. "Η αυτόματη εναλλαγή λιστών αναπαραγωγής μίξης είναι ενεργοποιημένη όταν η αυτόματη αναπαραγωγή είναι επίσης ενεργοποιημένη. @@ -628,6 +625,9 @@ Playlists Η αυτόματη αναπαραγωγή μπορεί να αλλαχτεί στις ρυθμίσεις YouTube: Ρυθμίσεις → Αυτόματη αναπαραγωγή → Αυτόματη αναπαραγωγή επόμενου βίντεο" Η ενεργοποίηση αυτής της ρύθμισης θα απενεργοποιήσει την αυτόματη εναλλαγή σε YouTube Mix κατά την αναπαραγωγή μουσικής ενώ η αυτόματη αναπαραγωγή είναι ενεργοποιημένη. + Αναδυόμενα παράθυρα οθόνης αναπαραγωγής + Κρυμμένα. + Εμφανίζονται. Απενεργοποίηση διεπαφής ταχύτητας "Απενεργοποίηση του «Παίζοντας με 2x ταχύτητα» κατά το παρατεταμένο πάτημα. @@ -658,12 +658,6 @@ Playlists Πάνελ πληροφοριών Κρυμμένα. Εμφανίζονται. - Σύνοψη συνομιλίας στη ζωντανή συνομιλία - Κρυμμένη. - Εμφανίζεται. - Μηνύματα ζωντανής συνομιλίας - Κρυμμένα.\n\nΑυτή η ρύθμιση ισχύει και για τις ζωντανές μεταδόσεις Shorts. - Εμφανίζονται.\n\nΑυτή η ρύθμιση ισχύει και για τις ζωντανές μεταδόσεις Shorts. Πάνελ ιατρικών πληροφοριών Κρυμμένα. Εμφανίζονται. @@ -676,9 +670,6 @@ Playlists Προτεινόμενες ενέργειες Κρυμμένες. Εμφανίζονται. - Χρονισμένες αντιδράσεις - Κρυμμένες. - Εμφανίζονται. Τελική οθόνη προτεινόμενου βίντεο "Κρυμμένη. Ισχύει μόνο όταν η αυτόματη αναπαραγωγή είναι απενεργοποιημένη. @@ -689,6 +680,9 @@ Playlists Άμεση αυτόματη αναπαραγωγή Αν είναι ενεργοποιημένη η αυτόματη αναπαραγωγή, το επόμενο βίντεο παίζει χωρίς αντίστροφη μέτρηση. Αν είναι ενεργοποιημένη η αυτόματη αναπαραγωγή, το επόμενο βίντεο παίζει αφού τελειώσει η αντίστροφη μέτρηση. + Χρονισμένες αντιδράσεις + Κρυμμένες. + Εμφανίζονται. Ειδοποιήσεις αλληλεπιδράσης διεπαφής ζουμ Κρυμμένες. Εμφανίζονται. @@ -761,30 +755,36 @@ Playlists Ετικέτα «Σχόλια από μέλη» Κρυμμένη. Εμφανίζεται. - Επισημασμένοι συνδέσμοι αναζήτησης - Κρυμμένοι. - Εμφανίζονται. Ενότητα σχολίων Κρυμμένη. Εμφανίζεται. Ενότητα σχολίων στην αρχική ροή Κρυμμένη. Εμφανίζεται. + Κουμπί δημιουργίας Shorts + Κρυμμένο. + Εμφανίζεται. + Κουμπιά χρονοσήμανσης και emoji + Κρυμμένα. + Εμφανίζονται. + Επισημασμένοι συνδέσμοι αναζήτησης + Κρυμμένοι. + Εμφανίζονται. + Μηνύματα ζωντανής συνομιλίας + Κρυμμένα.\n\nΑυτή η ρύθμιση ισχύει και για τις ζωντανές μεταδόσεις Shorts. + Εμφανίζονται.\n\nΑυτή η ρύθμιση ισχύει και για τις ζωντανές μεταδόσεις Shorts. + Σύνοψη συνομιλίας στη ζωντανή συνομιλία + Κρυμμένη. + Εμφανίζεται. Προεπισκόπηση σχολίου Κρυμμένη. Εμφανίζεται. Τύπος απόκρυψης προεπισκόπησης σχολίου Αυτό δεν αλλάζει το μέγεθος της ενότητας σχολίων, οπότε μπορεί να ανοιχτεί η επανάληψη ζωντανής συνομιλίας στην ενότητα σχολίων. Αυτό αλλάζει το μέγεθος της ενότητας σχολίων, οπότε είναι αδύνατο να ανοιχτεί η επανάληψη ζωντανής συνομιλίας στην ενότητα σχολίων. - Κουμπί δημιουργίας Shorts - Κρυμμένο. - Εμφανίζεται. Κουμπί «Σας ευχαριστούμε» Κρυμμένο. Εμφανίζεται. - Κουμπιά χρονοσήμανσης και emoji - Κρυμμένα. - Εμφανίζονται. Αναδυόμενο μενού ρυθμίσεων Απόκρυψη ή αλλαγή στοιχείων του αναδυόμενου μενού της οθόνης αναπαραγωγής βίντεο. @@ -1057,6 +1057,9 @@ Playlists Αντικατάσταση ενέργειας χρονοσφραγίδας Πατήστε για να ανοίξετε το μενού ταχύτητας αναπαραγωγής ή ποιότητας βίντεο. Πατήστε για να δείτε τον χρόνο που απομένει. + Απενεργοποίηση κεφαλαίων γραμμής προόδου + Ο διαχωρισμός της γραμμής προόδου σε κεφάλαια είναι απενεργοποιημένος. + Ο διαχωρισμός της γραμμής προόδου σε κεφάλαια είναι ενεργοποιημένος. Προσαρμοσμένο χρώμα γραμμής προόδου Το προσαρμοσμένο χρώμα γραμμής προόδου είναι ενεργοποιημένο. Το προσαρμοσμένο χρώμα γραμμής προόδου είναι απενεργοποιημένο. @@ -1066,18 +1069,15 @@ Playlists Πάτημα γραμμής προόδου Το πάτημα γραμμής προόδου είναι ενεργοποιημένο. Το πάτημα γραμμής προόδου είναι απενεργοποιημένο. + Τίτλοι κεφαλαίων δίπλα στη χρονοσφραγίδα + Κρυμμένες. + Εμφανίζονται. Γραμμή προόδου οθόνης αναπαραγωγής Κρυμμένη. Εμφανίζεται. Γραμμή προόδου στις μικρογραφίες βίντεο Κρυμμένη. Εμφανίζεται. - Απενεργοποίηση κεφαλαίων γραμμής προόδου - Ο διαχωρισμός της γραμμής προόδου σε κεφάλαια είναι απενεργοποιημένος. - Ο διαχωρισμός της γραμμής προόδου σε κεφάλαια είναι ενεργοποιημένος. - Τίτλοι κεφαλαίων δίπλα στη χρονοσφραγίδα - Κρυμμένες. - Εμφανίζονται. Χρονοσφραγίδα βίντεο Κρυμμένη. Εμφανίζεται. @@ -1118,15 +1118,15 @@ Playlists Εμφανίζεται. Αφορά την ενότητα «Πως δημιουργήθηκε αυτό το περιεχόμενο». + Ενότητα εκπομπής + Κρυμμένη. + Εμφανίζεται. Ενότητα καρτών πληροφοριών Κρυμμένη. Εμφανίζεται. Ενότητα σχετιζόμενων εννοιών Κρυμμένη. Εμφανίζεται. - Ενότητα εκπομπής - Κρυμμένη. - Εμφανίζεται. Σύνδεσμοι αγορών Κρυμμένοι. Εμφανίζονται. @@ -1176,18 +1176,18 @@ Playlists Απόκρυψη στην καρτέλα «Αρχική» και στα σχετικά βίντεο Κρυμμένη. Εμφανίζεται. - Απόκρυψη στην καρτέλα «Εγγραφές» - Κρυμμένη. - Εμφανίζεται. Απόκρυψη στα αποτελέσματα αναζήτησης Κρυμμένη. Εμφανίζεται. + Απόκρυψη στην καρτέλα «Εγγραφές» + Κρυμμένη. + Εμφανίζεται. Απόκρυψη στο ιστορικό παρακολούθησης Κρυμμένη. Εμφανίζεται. - Αλλαγή κατάστασης επανάληψης Shorts Αλλαγή κατάστασης επανάληψης Shorts στο παρασκήνιο + Αλλαγή κατάστασης επανάληψης Shorts Αυτόματη αναπαραγωγή Προεπιλογή Παύση @@ -1195,77 +1195,77 @@ Playlists Οθόνη αναπαραγωγής Shorts Απόκρυψη ή εμφάνιση στοιχείων στην οθόνη αναπαραγωγής Shorts. + Γραμμή καναλιού + Κρυμμένη. + Εμφανίζεται. + Ετικέτα συνδέσμου πλήρους βίντεο + Κρυμμένη. + Εμφανίζεται. + Πάνελ πληροφοριών + Κρυμμένα. + Εμφανίζονται. Κουμπί «Συμμετοχή» Κρυμμένο. Εμφανίζεται. - Κουμπί «Εγγραφή» - Κρυμμένο. - Εμφανίζεται. + Επικεφαλίδα ζωντανής συνομιλίας + Κρυμμένο.\n\nΤο κουμπί επιστροφής στην επικεφαλίδα δεν θα είναι κρυμμένο. + Εμφανίζεται. + Ετικέτες προώθησης επί πληρωμή + Κρυμμένες. + Εμφανίζονται. Λογότυπο Shorts κατά την παύση Κρυμμένο. Εμφανίζεται. Κουμπιά εμφάνισης κατά την παύση Κρυμμένα. Εμφανίζονται. - Κουμπί «Τάσεις» - Κρυμμένο. - Εμφανίζεται. Κουμπί «Αγορές» Κρυμμένο. Εμφανίζεται. - Αυτοκόλλητα - Κρυμμένα. - Εμφανίζεται. - Ετικέτες προώθησης επί πληρωμή - Κρυμμένες. - Εμφανίζονται. - Πάνελ πληροφοριών - Κρυμμένα. - Εμφανίζονται. - Επικεφαλίδα ζωντανής συνομιλίας - Κρυμμένο.\n\nΤο κουμπί επιστροφής στην επικεφαλίδα δεν θα είναι κρυμμένο. - Εμφανίζεται. - Γραμμή καναλιού - Κρυμμένη. - Εμφανίζεται. - Τίτλος του βίντεο - Κρυμμένος. - Εμφανίζεται. Ετικέτα μεταδεδομένων ήχου Κρυμμένη. Εμφανίζεται. - Ετικέτα συνδέσμου πλήρους βίντεο - Κρυμμένη. - Εμφανίζεται. + Αυτοκόλλητα + Κρυμμένα. + Εμφανίζεται. + Κουμπί «Εγγραφή» + Κρυμμένο. + Εμφανίζεται. + Κουμπί «Τάσεις» + Κρυμμένο. + Εμφανίζεται. + Τίτλος του βίντεο + Κρυμμένος. + Εμφανίζεται. Προτεινόμενες ενέργειες Κουμπί «Green screen» Κρυμμένο. Εμφανίζεται. + Κουμπί τοποθεσίας + Κρυμμένο. + Εμφανίζεται. Κουμπί «Αποθήκευση μουσικής» Κρυμμένο. Εμφανίζεται. + Κουμπί προτάσεων αναζήτησης + Κρυμμένο. + Εμφανίζεται. Κουμπί «Κατάστημα» Κρυμμένο. Εμφανίζεται. Κουμπί «Αγορά Super Thanks» Κρυμμένο. Εμφανίζεται. - Κουμπί «Χρήση αυτού του ήχου» - Κρυμμένο. - Εμφανίζεται. - Κουμπί «Χρήση προτύπου» - Κρυμμένο. - Εμφανίζεται. - Κουμπί τοποθεσίας - Κρυμμένο. - Εμφανίζεται. - Κουμπί προτάσεων αναζήτησης - Κρυμμένο. - Εμφανίζεται. Ετικέτες προϊόντων Κρυμμένες. Εμφανίζονται. + Κουμπί «Χρήση προτύπου» + Κρυμμένο. + Εμφανίζεται. + Κουμπί «Χρήση αυτού του ήχου» + Κρυμμένο. + Εμφανίζεται. Κουμπιά ενεργειών Κουμπί «Μου αρέσει» @@ -1291,9 +1291,6 @@ Playlists Απενεργοποίηση εφέ κουμπιού «Μου αρέσει» Το εφέ κίνησης πάνω από το κουμπί «Μου αρέσει» είναι απενεργοποιημένο. Το εφέ κίνησης πάνω από το κουμπί «Μου αρέσει» είναι ενεργοποιημένο. - Φόντο κουμπιών παύσης & αναπαραγωγής - Κρυμμένο. - Εμφανίζεται. Εφέ διπλού πατήματος Προεπιλογή Αντίχειρας προς τα πάνω @@ -1301,6 +1298,9 @@ Playlists Καρδιά Καρδιά (χρωματιστή) Τίποτα + Φόντο κουμπιών παύσης & αναπαραγωγής + Κρυμμένο. + Εμφανίζεται. Προσαρμοσμένες ενέργειες Προσαρμοσμένες ενέργειες στο αναδυόμενου μενού @@ -1316,14 +1316,14 @@ Playlists Πατήστε παρατεταμένα το κουμπί «Περισσότερα» για να εμφανιστεί το μενού προσαρμοσμένων ενεργειών." Οι προσαρμοσμένες ενέργειες είναι απενεργοποιημένες στη γραμμή εργαλείων. Προσαρμοσμένες ενέργειες - Αντιγραφή διεύθυνσης URL του βίντεο - Εμφάνιση μενού αντιγραφής διεύθυνσης URL του βίντεο - Το μενού αντιγραφής διεύθυνσης URL του βίντεο εμφανίζεται. - Το μενού αντιγραφής διεύθυνσης URL του βίντεο δεν εμφανίζεται. Αντιγραφή διεύθυνσης URL με χρονική σήμανση Εμφάνιση μενού αντιγραφή διεύθυνσης URL με χρονική σήμανση Το μενού αντιγραφής διεύθυνσης URL με χρονική σήμανση εμφανίζεται. Το μενού αντιγραφής διεύθυνσης URL με χρονική σήμανση δεν εμφανίζεται. + Αντιγραφή διεύθυνσης URL του βίντεο + Εμφάνιση μενού αντιγραφής διεύθυνσης URL του βίντεο + Το μενού αντιγραφής διεύθυνσης URL του βίντεο εμφανίζεται. + Το μενού αντιγραφής διεύθυνσης URL του βίντεο δεν εμφανίζεται. Εξωτερικό πρόγραμμα λήψης Εμφάνιση μενού εξωτερικού προγράμματος λήψης Το μενού εξωτερικού προγράμματος λήψης εμφανίζεται. @@ -1353,15 +1353,15 @@ Playlists Βάθος γραμμής προόδου Αλλαγή βάθους της γραμμής προόδου, τιμές μεταξύ 0-64. Το βάθος πρέπει να είναι μεταξύ 0-64. - Γραμμή εργαλείων - Κρυμμένη. - Εμφανίζεται. Γραμμή πλοήγησης Η γραμμή πλοήγησης είναι κρυμμένη κατά την αναπαραγωγή Shorts. Η γραμμή πλοήγησης εμφανίζεται κατά την αναπαραγωγή Shorts. Ποσοστό ύψους του κενού χώρου Ρύθμιση του ποσοστού ύψους του κενού χώρου που απομένει όταν η γραμμή πλοήγησης είναι κρυμμένη, μεταξύ 0 και 100 (%). Το ποσοστό ύψους πρέπει να είναι μεταξύ 0-100 (%). + Γραμμή εργαλείων + Κρυμμένη. + Εμφανίζεται. Αντικατάσταση ονόματος καναλιού Εμφανίζεται το όνομα καναλιού. Εμφανίζεται το ψευδώνυμο καναλιού. @@ -1737,6 +1737,10 @@ Playlists Τα δεδομένα παρέχονται από το SponsorBlock API. Πατήστε για να μάθετε περισσότερα και να δείτε λήψεις για άλλες πλατφόρμες. Διάφορα + Απενεργοποίηση πρωτοκόλλου QUIC + "Απενεργοποίηση πρωτοκόλλου QUIC του CronetEngine. + +Αυτή η λειτουργία αποτρέπει την συμπίεση και αποσυμπίεση των βίντεο κατά την αναπαραγωγή, τα οποία μπορούν να προκαλέσουν κολλήματα, ενδέχεται όμως να χρησιμοποιηθούν περισσότερα δεδομένα." Καταγραφή εντοπισμού σφαλμάτων Η καταγραφή εντοπισμού σφαλμάτων είναι ενεργοποιημένη. Η καταγραφή εντοπισμού σφαλμάτων είναι απενεργοποιημένη. @@ -1749,6 +1753,8 @@ Playlists Παράκαμψη ανακατευθύνσεων συνδέσμων Οι ανακατευθύνσεις URL παρακάμπτονται κατά το άνοιγμα συνδέσμων. Οι ανακατευθύνσεις URL δεν παρακάμπτονται κατά το άνοιγμα συνδέσμων. + Καθαρισμός συνδέσμων κοινοποίησης + Αφαίρεση των παραμέτρων παρακολούθησης από τις διευθύνσεις URL κατά την κοινοποίηση συνδέσμων. Άνοιγμα ρυθμίσεων προεπιλεγμένων εφαρμογών Για να ανοίγουν οι συνδέσμοι YouTube στο RVX, ενεργοποιήστε το «Άνοιγμα υποστηριζόμενων συνδέσμων» και τις υποστηριζόμενες διευθύνσεις ιστού. Άνοιγμα του MicroG GmsCore @@ -1767,12 +1773,6 @@ Playlists Πατήστε το κουμπί «Συνέχεια» και επιτρέψτε τις αλλαγές βελτιστοποίησης." Συνέχεια - Καθαρισμός συνδέσμων κοινοποίησης - Αφαίρεση των παραμέτρων παρακολούθησης από τις διευθύνσεις URL κατά την κοινοποίηση συνδέσμων. - Απενεργοποίηση πρωτοκόλλου QUIC - "Απενεργοποίηση πρωτοκόλλου QUIC του CronetEngine. - -Αυτή η λειτουργία αποτρέπει την συμπίεση και αποσυμπίεση των βίντεο κατά την αναπαραγωγή, τα οποία μπορούν να προκαλέσουν κολλήματα, ενδέχεται όμως να χρησιμοποιηθούν περισσότερα δεδομένα." Αλλαγή μενού κοινοποίησης Χρησιμοποιείται το μενού κοινοποίηση της συστήματός σας. Χρησιμοποιείται το μενού κοινοποίηση της εφαρμογής. diff --git a/patches/src/main/resources/youtube/translations/es-rES/strings.xml b/patches/src/main/resources/youtube/translations/es-rES/strings.xml index cfbb1cdbb..66d3e852e 100644 --- a/patches/src/main/resources/youtube/translations/es-rES/strings.xml +++ b/patches/src/main/resources/youtube/translations/es-rES/strings.xml @@ -30,12 +30,12 @@ Por favor, descarga %2$s desde el sitio web." Ocultar estantes de mercancía Los estantes de mercancía están ocultos. Los estantes de mercancía están visibles. - Ocultar estante de compras del reproductor - El estante de compras está oculto. - El estante de compras está visible. Ocultar etiqueta de promoción pagada La etiqueta de promoción pagada está oculta. La etiqueta de promoción pagada está visible. + Ocultar estante de compras del reproductor + El estante de compras está oculto. + El estante de compras está visible. Ocultar banner de alerta de promoción El banner de alerta de promoción está oculto. El banner de alerta de promoción está visible. @@ -57,10 +57,10 @@ Por favor, descarga %2$s desde el sitio web." Miniaturas alternativas Pestaña de inicio - Pestaña de suscripciones - Pestaña Tú Listas de reproducción, recomendaciones Resultados de búsqueda + Pestaña de suscripciones + Pestaña Tú Miniaturas originales DeArrow y miniaturas originales DeArrow y capturas fijas @@ -98,6 +98,9 @@ Pulsa aquí para saber más sobre DeArrow." Ocultar tarjetas de álbum Las tarjetas del álbum están ocultas. Las tarjetas del álbum están visibles. + Ocultar botón de subtítulos del feed + El botón de subtítulos está oculto. + El botón de subtítulos está visible. Ocultar estante de carrusel "Oculta las siguientes estanterías: • Noticias de última hora @@ -115,15 +118,6 @@ Pulsa aquí para saber más sobre DeArrow." Ocultar estantes ampliables Los estantes ampliables están ocultos. Los estantes ampliables están visibles. - Ocultar botón de subtítulos del feed - El botón de subtítulos está oculto. - El botón de subtítulos está visible. - Ocultar barra de búsqueda del feed - La barra de búsqueda del feed está oculta. - La barra de búsqueda del feed está visible. - Ocultar encuestas del feed - Las encuestas del feed están ocultas. - Las encuestas del feed están visibles. Ocultar botón flotante El botón flotante está oculto. El botón flotante está visible. @@ -151,6 +145,12 @@ Pulsa aquí para saber más sobre DeArrow." Ocultar botón de mostrar más El botón de mostrar más está oculto. El botón de mostrar más está visible. + Ocultar barra de búsqueda del feed + La barra de búsqueda del feed está oculta. + La barra de búsqueda del feed está visible. + Ocultar encuestas del feed + Las encuestas del feed están ocultas. + Las encuestas del feed están visibles. Ocultar carrusel de suscripciones El carrusel de suscripciones está oculto. El carrusel de suscripciones está visible. @@ -180,9 +180,6 @@ Pulsa aquí para saber más sobre DeArrow." "Shorts Listas de reproducción Tienda" - Ocultar botón de explorar tienda - El botón de explorar tienda está oculto. - El botón de explorar tienda está visible. Ocultar estante de miembros del canal El estante de miembros del canal está oculto. El estante de miembros del canal está visible. @@ -192,6 +189,9 @@ Tienda" Ocultar estanterías Para Ti Las estanterías Para Ti están ocultas. Las estanterías Para Ti están visibles. + Ocultar botón de explorar tienda + El botón de explorar tienda está oculto. + El botón de explorar tienda está visible. Publicaciones de la comunidad Ocultar o mostrar las publicaciones de la comunidad en el feed y el canal. @@ -217,6 +217,9 @@ Tienda" Ocultar vídeos por palabras clave o visualizaciones. Filtro de palabras clave + Ocultar comentarios por palabras clave + Los comentarios están filtrados. + Los comentarios no están filtrados. Ocultar vídeos de inicio por palabras clave Los vídeos en el feed de inicio están filtrados. Los vídeos en el feed de inicio no están filtrados. @@ -226,9 +229,6 @@ Tienda" Ocultar vídeos de suscripciones por palabras clave Los vídeos en el feed de suscripciones están filtrados. Los vídeos en el feed de suscripciones no están filtrados. - Ocultar comentarios por palabras clave - Los comentarios están filtrados. - Los comentarios no están filtrados. Palabras clave a ocultar "Palabras clave y frases a ocultar, separadas por nuevas líneas. Las palabras con letras mayúsculas en el medio deben introducirse con las mayúsculas (p. ej.: iPhone, TikTok, LeBlanc)." @@ -248,14 +248,14 @@ Limitaciones: La palabra clave \"%1$s\" es demasiado amplia y ocultará todos los vídeos Vídeos recomendados + Ocultar vídeos con pocas visualizaciones + Oculta los vídeos con menos de 1.000 visualizaciones de los feeds de inicio que hayan sido subidos desde canales a los que no estás suscrito. Ocultar vídeos recomendados "Oculta los siguientes vídeos recomendados: • Vídeos con etiqueta \"Solo para miembros\". • Vídeos con frases como \"La gente también vio\" en la parte inferior del vídeo. • Vídeos subidos desde canales a los que no estás suscrito y que tienen menos de 1,000 visualizaciones." - Ocultar vídeos con pocas visualizaciones - Oculta los vídeos con menos de 1.000 visualizaciones de los feeds de inicio que hayan sido subidos desde canales a los que no estás suscrito. Filtro de contador de visualizaciones Ocultar vídeos de inicio por visualizaciones @@ -289,6 +289,12 @@ Si el diseño de la pantalla del reproductor cambia debido a cambios en el servi Desplazamiento General + Cambiar diseño + Original + Teléfono + Teléfono (máx. 480 dpi) + Tablet + Tablet (min. 600 dpi) Cambiar página de inicio Explorar canales Cursos / Aprendizaje @@ -341,12 +347,6 @@ Limitación: Es posible que el botón Atrás de la barra de herramientas no func Eliminar diálogo de discreción del espectador "Elimina el diálogo de discreción del espectador. Esto no evita la restricción de edad. Solo la acepta automáticamente." - Cambiar diseño - Original - Teléfono - Teléfono (máx. 480 dpi) - Tablet - Tablet (min. 600 dpi) Falsificar versión de la app Versión falsificada Versión no falsificada @@ -392,12 +392,12 @@ Algunos componentes pueden no estar ocultos." Reemplaza la acción de clic de los botones dentro de la aplicación. Botón de descarga - Reemplazar botón de descarga de vídeo - El botón nativo de descarga de vídeo abre tu descargador externo. - El botón nativo de descarga de vídeo abre el descargador nativo de la aplicación. Reemplazar botón de descarga de listas de reproducción El botón nativo de descarga de listas de reproducción abre tu descargador externo. El botón nativo de descarga de listas de reproducción abre el descargador nativo de la aplicación. + Reemplazar botón de descarga de vídeo + El botón nativo de descarga de vídeo abre tu descargador externo. + El botón nativo de descarga de vídeo abre el descargador nativo de la aplicación. Nombre del paquete del descargador de listas de reproducción Nombre del paquete de tu aplicación de descargas externas instalada, como YTDLnis. @@ -620,9 +620,6 @@ Mantén pulsado para abrir los ajustes de RVX." Opacidad personalizada de superposición del reproductor Valor de opacidad entre 0-100, donde 0 es transparente. La opacidad de la superposición del reproductor debe estar entre 0-100. Restablezca a los valores predeterminados. - Desactivar paneles emergentes del reproductor - Los paneles emergentes del reproductor automático están activados. - Los paneles emergentes del reproductor automático están desactivados. Desactivar cambio de listas de reproducción Mix El cambio automático de listas de reproducción Mix está desactivado. "El cambio automático de listas de reproducción Mix está activado cuando la reproducción automática está activada. @@ -630,6 +627,9 @@ Mantén pulsado para abrir los ajustes de RVX." La reproducción automática se puede cambiar en la configuración de YouTube: Configuración → Reproducción automática → Reproducción automática del siguiente vídeo" Al activar esta función, se desactivará el cambio automático a YouTube Mix al reproducir música con la reproducción automática activada. + Desactivar paneles emergentes del reproductor + Los paneles emergentes del reproductor automático están activados. + Los paneles emergentes del reproductor automático están desactivados. Desactivar superposición de velocidad "Desactiva \"Reproducir a velocidad x2\" mientras mantienes pulsado. @@ -660,12 +660,6 @@ Nota: Ocultar paneles de información Los paneles de información están ocultos. Los paneles de información están visibles. - Ocultar resumen del chat en chat en directo - El resumen del chat está oculto. - El resumen del chat está visible. - Ocultar mensajes de chat en directo - Los mensajes de chat en directo están ocultos.\n\nEste ajuste se aplica también a los vídeos en directo de Shorts. - Los mensajes de chat en directo están visibles.\n\nEste ajuste se aplica también a los vídeos en directo de Shorts. Ocultar paneles médicos Los paneles médicos están ocultos. Los paneles médicos están visibles. @@ -678,9 +672,6 @@ Nota: Ocultar acciones sugeridas Las acciones sugeridas están ocultas. Las acciones sugeridas están visibles. - Ocultar reacciones cronometradas - Las reacciones cronometradas están ocultas. - Las reacciones cronometradas están visibles. Ocultar vídeo sugerido en pantalla final "La pantalla final del vídeo sugerido se oculta cuando la reproducción automática está desactivada. @@ -690,6 +681,9 @@ La reproducción automática se puede cambiar en la configuración de YouTube: Omitir cuenta atrás de reproducción automática Si la reproducción automática está activada, el siguiente vídeo se reproducirá sin cuenta atrás. Si la reproducción automática está activada, el siguiente vídeo se reproducirá después de que termine la cuenta atrás. + Ocultar reacciones cronometradas + Las reacciones cronometradas están ocultas. + Las reacciones cronometradas están visibles. Ocultar superposición del zoom La superposición del zoom está oculta. La superposición del zoom está visible. @@ -762,30 +756,36 @@ La reproducción automática se puede cambiar en la configuración de YouTube: Ocultar banner de comentarios de los miembros El banner de comentarios de los miembros está oculto. El banner de comentarios de los miembros está visible. - Ocultar enlaces de búsqueda destacados - Los enlaces de búsqueda destacados están ocultos. - Los enlaces de búsqueda destacados están visibles. Ocultar sección de comentarios La sección de comentarios está oculta. La sección de comentarios está visible. Ocultar sección de comentarios en feed de inicio La sección de comentarios está oculta en el feed de inicio. La sección de comentarios está visible en el feed de inicio. + Ocultar botón de crear Shorts + El botón de crear Shorts está oculto. + El botón de crear Shorts está visible. + Ocultar botones de marca de tiempo y emoji + Los botones de marca de tiempo y emoji están ocultos. + Los botones de marca de tiempo y emoji están visibles. + Ocultar enlaces de búsqueda destacados + Los enlaces de búsqueda destacados están ocultos. + Los enlaces de búsqueda destacados están visibles. + Ocultar mensajes de chat en directo + Los mensajes de chat en directo están ocultos.\n\nEste ajuste se aplica también a los vídeos en directo de Shorts. + Los mensajes de chat en directo están visibles.\n\nEste ajuste se aplica también a los vídeos en directo de Shorts. + Ocultar resumen del chat en chat en directo + El resumen del chat está oculto. + El resumen del chat está visible. Ocultar vista previa de comentarios La vista previa de comentarios está oculta. La vista previa de comentarios está visible. Ocultar vista previa de tipo de comentarios Esto no cambia el tamaño de la sección de comentarios, por lo que es posible abrir la repetición del chat en directo en la sección de comentarios. Esto cambia el tamaño de la sección de comentarios, por lo que es imposible abrir una repetición del chat en directo en la sección de comentarios. - Ocultar botón de crear Shorts - El botón de crear Shorts está oculto. - El botón de crear Shorts está visible. Ocultar botón de gracias El botón de gracias está oculto. El botón de gracias está visible. - Ocultar botones de marca de tiempo y emoji - Los botones de marca de tiempo y emoji están ocultos. - Los botones de marca de tiempo y emoji están visibles. Menú desplegable Ocultar o cambiar componentes del menú desplegable en el reproductor de vídeo. @@ -1043,6 +1043,9 @@ Información: Reemplazar acción de marca de tiempo Pulsa para abrir el menú desplegable de velocidad de reproducción o de calidad de vídeo. Pulsa para mostrar el tiempo restante. + Desactivar capítulos en barra de progreso + Los capítulos están desactivados en la barra de progreso. + Los capítulos están activados en la barra de progreso. Activar color personalizado de barra de progreso El color personalizado de la barra de progreso está activado. El color personalizado de la barra de progreso está desactivado. @@ -1052,18 +1055,15 @@ Información: Activar pulsación en barra de progreso La pulsación en la barra de progreso está activada. La pulsación en la barra de progreso está desactivada. + Ocultar etiquetas de capítulos en barra de progreso + Las etiquetas de los capítulos junto a la marca de tiempo están ocultas. + Las etiquetas de los capítulos junto a la marca de tiempo están visibles. Ocultar barra de progreso en reproductor de vídeo La barra de progreso en el reproductor de vídeo está oculta. La barra de progreso en el reproductor de vídeo está visible. Ocultar barra de progreso en miniaturas de vídeo La barra de progreso en miniaturas está oculta. La barra de progreso en miniaturas está visible. - Desactivar capítulos en barra de progreso - Los capítulos están desactivados en la barra de progreso. - Los capítulos están activados en la barra de progreso. - Ocultar etiquetas de capítulos en barra de progreso - Las etiquetas de los capítulos junto a la marca de tiempo están ocultas. - Las etiquetas de los capítulos junto a la marca de tiempo están visibles. Ocultar marca de tiempo La marca de tiempo está oculta. La marca de tiempo está visible. @@ -1096,15 +1096,15 @@ Esta función funciona mejor con una conexión a Internet muy rápida." Ocultar sección de contenido La sección de cómo se hizo este contenido está oculta. La sección de cómo se hizo este contenido está visible. + Ocultar secciones de podcast + Las secciones de podcast están ocultas. + Las secciones de podcast están visibles. Ocultar secciones de tarjetas de información Las secciones de las tarjetas de información están ocultas. Las secciones de las tarjetas de información están visibles. Ocultar sección de conceptos clave La sección de conceptos clave está oculta. La sección de conceptos clave está visible. - Ocultar secciones de podcast - Las secciones de podcast están ocultas. - Las secciones de podcast están visibles. Ocultar enlaces de compra Los enlaces de compra están ocultos. Los enlaces de compra están visibles. @@ -1151,18 +1151,18 @@ Información: Ocultar en feed de inicio y vídeos relacionados Oculto en el feed de inicio y los vídeos relacionados. Visible en el feed de inicio y los vídeos relacionados. - Ocultar en feed de suscripciones - Oculto en el feed de suscripciones. - Visible en el feed de suscripciones. Ocultar en resultados de búsqueda Oculto en los resultados de búsqueda. Visible en los resultados de búsqueda. + Ocultar en feed de suscripciones + Oculto en el feed de suscripciones. + Visible en el feed de suscripciones. Ocultar en historial de reproducciones Oculto en el historial de reproducciones. Visible en el historial de reproducciones. - Cambiar estado de repetición de Shorts Cambiar estado de repetición de fondo de Shorts + Cambiar estado de repetición de Shorts Reproducción automática Predeterminada Pausar @@ -1170,77 +1170,77 @@ Información: Reproductor de Shorts Ocultar o mostrar los componentes en el reproductor de Shorts. + Ocultar barra de canales + La barra de canales está oculta. + La barra de canales está visible. + Ocultar etiqueta de enlace de vídeo completo + La etiqueta de enlace de vídeo está oculta. + La etiqueta de enlace de vídeo está visible. + Ocultar paneles de información + Los paneles de información están ocultos. + Los paneles de información están visibles. Ocultar botón de unirme El botón de unirme está oculto. El botón de unirme está visible. - Ocultar botón de suscribirse - El botón de suscribirse está oculto. - El botón de suscribirse está visible. + Ocultar cabecera del chat en directo + La cabecera del chat en directo está oculta.\n\nEl botón de volver atrás en la cabecera no se ocultará. + La cabecera del chat en directo está visible.\n\nEl botón de volver atrás en la cabecera no se ocultará. + Ocultar etiqueta de promoción pagada + La etiqueta de promoción pagada está oculta. + La etiqueta de promoción pagada está visible. Ocultar cabecera pausada La cabecera pausada está oculta. La cabecera pausada está visible. Ocultar botones superpuestos en pausa Los botones superpuestos en pausa están ocultos. Los botones superpuestos en pausa están visibles. - Ocultar botón de tendencias - El botón de tendencias está oculto. - El botón de tendencias está visible. Ocultar botón de compras El botón de compras está oculto. El botón de compras está visible. - Ocultar stickers - Los stickers están ocultos. - Los stickers están visibles. - Ocultar etiqueta de promoción pagada - La etiqueta de promoción pagada está oculta. - La etiqueta de promoción pagada está visible. - Ocultar paneles de información - Los paneles de información están ocultos. - Los paneles de información están visibles. - Ocultar cabecera del chat en directo - La cabecera del chat en directo está oculta.\n\nEl botón de volver atrás en la cabecera no se ocultará. - La cabecera del chat en directo está visible.\n\nEl botón de volver atrás en la cabecera no se ocultará. - Ocultar barra de canales - La barra de canales está oculta. - La barra de canales está visible. - Ocultar título de vídeo - El título está oculto. - El título está visible. Ocultar etiqueta de metadatos de sonido La etiqueta de metadatos está oculta. La etiqueta de metadatos está visible. - Ocultar etiqueta de enlace de vídeo completo - La etiqueta de enlace de vídeo está oculta. - La etiqueta de enlace de vídeo está visible. + Ocultar stickers + Los stickers están ocultos. + Los stickers están visibles. + Ocultar botón de suscribirse + El botón de suscribirse está oculto. + El botón de suscribirse está visible. + Ocultar botón de tendencias + El botón de tendencias está oculto. + El botón de tendencias está visible. + Ocultar título de vídeo + El título está oculto. + El título está visible. Acciones sugeridas Ocultar botón de pantalla verde El botón de la pantalla verde está oculto. El botón de la pantalla verde está visible. + Ocultar botón de ubicación + El botón de ubicación está oculto. + El botón de ubicación está visible. Ocultar botón de guardar música El botón de guardar música está oculto. El botón de guardar música está visible. + Ocultar botón de sugerencias de búsqueda + El botón de sugerencias de búsqueda está oculto. + El botón de sugerencias de búsqueda está visible. Ocultar botón de comprar El botón de comprar está oculto. El botón de comprar está visible. Ocultar botón de súper gracias El botón de súper gracias está oculto. El botón de súper gracias está visible. - Ocultar botón de utilizar este sonido - El botón de utilizar este sonido está oculto. - El botón de utilizar este sonido está visible. - Ocultar botón de utilizar plantilla - El botón de utilizar plantilla está oculto. - El botón de utilizar plantilla está visible. - Ocultar botón de ubicación - El botón de ubicación está oculto. - El botón de ubicación está visible. - Ocultar botón de sugerencias de búsqueda - El botón de sugerencias de búsqueda está oculto. - El botón de sugerencias de búsqueda está visible. Ocultar productos etiquetados Los productos etiquetados están ocultos. Los productos etiquetados están visibles. + Ocultar botón de utilizar plantilla + El botón de utilizar plantilla está oculto. + El botón de utilizar plantilla está visible. + Ocultar botón de utilizar este sonido + El botón de utilizar este sonido está oculto. + El botón de utilizar este sonido está visible. Botones de acción Ocultar botón de me gusta @@ -1266,9 +1266,6 @@ Información: Desactivar animación del botón de me gusta La animación de la fuente está desactivada sobre el botón de me gusta. La animación de la fuente está activada sobre el botón de me gusta. - Ocultar fondo del botón de reproducir y pausar - El fondo del botón está oculto. - El fondo del botón está visible. Animación de doble toque Original Pulgares arriba @@ -1276,6 +1273,9 @@ Información: Corazón Corazón (Tinte) Oculto + Ocultar fondo del botón de reproducir y pausar + El fondo del botón está oculto. + El fondo del botón está visible. Acciones personalizadas Activar acciones personalizadas en menú desplegable @@ -1291,14 +1291,14 @@ Limitaciones: Mantén pulsado el botón Más para mostrar el cuadro de diálogo Acciones personalizadas." Las acciones personalizadas están desactivadas en la barra de herramientas. Acciones personalizadas - Copiar URL del vídeo - Mostrar menú de copiar URL del vídeo - El menú de copiar URL del vídeo está visible. - El menú de copiar URL del vídeo está oculto. Copiar URL con marca de tiempo Mostrar menú de copiar URL con marca de tiempo El menú de copiar URL con marca de tiempo está visible. El menú de copiar URL con marca de tiempo está oculto. + Copiar URL del vídeo + Mostrar menú de copiar URL del vídeo + El menú de copiar URL del vídeo está visible. + El menú de copiar URL del vídeo está oculto. Descargador externo Mostrar menú de descargador externo El menú del descargador externo está visible. @@ -1326,15 +1326,15 @@ Problema conocido: Al tratarse de una función en fase de desarrollo por parte d Margen inferior del panel meta Configura el espaciado desde la barra de progreso al panel meta, entre 0-64. El margen inferior del panel meta debe estar entre 0-64. Restablezca a los valores predeterminados. - Ocultar barra de herramientas - La barra de herramientas está oculta. - La barra de herramientas está visible. Ocultar barra de navegación La barra de navegación está oculta. La barra de navegación está visible. Porcentaje de altura del espacio vacío Configura el porcentaje de altura del espacio vacío izquierdo cuando la barra de navegación está oculta, entre 0 y 100 (%). El porcentaje de altura debe estar entre 0-100 (%). + Ocultar barra de herramientas + La barra de herramientas está oculta. + La barra de herramientas está visible. Reemplazar nombre de usuario del canal Se utiliza el nombre del canal. Se utiliza el nombre de usuario del canal. @@ -1710,6 +1710,8 @@ Toca para ver cómo crear una clave de API." Los datos son proporcionados por la API de SponsorBlock. Pulsa aquí para aprender más y ver las descargas para otras plataformas. Otros + Desactivar protocolo QUIC + "Desactiva el protocolo QUIC de CronetEngine." Activar registro de depuración Los registros de depuración están activados. Los registros de depuración están desactivados. @@ -1722,6 +1724,8 @@ Toca para ver cómo crear una clave de API." Activar apertura de enlaces directamente Omitiendo los redireccionamientos de URL. Siguiendo la política predeterminada de redireccionamiento. + Desinfectar enlaces compartidos + Elimina los parámetros de consulta de seguimiento de las URL al compartir enlaces. Abrir ajustes predeterminados de la app Para abrir RVX en un navegador externo, activa \"Abrir enlaces compatibles\" y activa las direcciones web compatibles. Abrir GmsCore @@ -1738,10 +1742,6 @@ Esto es necesario para que la aplicación funcione." Pulsa el botón de continuar y desactiva las optimizaciones de la batería." Continuar - Desinfectar enlaces compartidos - Elimina los parámetros de consulta de seguimiento de las URL al compartir enlaces. - Desactivar protocolo QUIC - "Desactiva el protocolo QUIC de CronetEngine." Cambiar hoja de compartir Se utiliza la hoja de compartir del sistema. Se utiliza la hoja de compartir incorporada. diff --git a/patches/src/main/resources/youtube/translations/fr-rFR/strings.xml b/patches/src/main/resources/youtube/translations/fr-rFR/strings.xml index 2b353da0b..3192e2a54 100644 --- a/patches/src/main/resources/youtube/translations/fr-rFR/strings.xml +++ b/patches/src/main/resources/youtube/translations/fr-rFR/strings.xml @@ -30,12 +30,12 @@ Veuillez télécharger %2$s à partir du site web." Masquer l\'étagère \'Effectuer des achats...\' L\'étagère \'Effectuer des achats dans le magasin ...\' est masquée. L\'étagère \'Effectuer des achats dans le magasin ...\'est affichée. - Masquer l\'étagère des produits sur le lecteur - L\'étagère des produits est masqué. - L\'étagère des produits est affiché. Masquer la bannière \'Communication commerciale\' La bannière \'Inclut une communication commerciale\' est masqué. La bannière \'Inclut une communication commerciale\' est affiché. + Masquer l\'étagère des produits sur le lecteur + L\'étagère des produits est masqué. + L\'étagère des produits est affiché. Masquer la bannière d\'alerte de promotion La bannière d\'alerte de promotion est masquée. La bannière d\'alerte de promotion est affichée. @@ -57,10 +57,10 @@ Veuillez télécharger %2$s à partir du site web." Miniatures alternatives Onglet \'Accueil\' - Onglet \'Abonnements\' - Onglet \'Vous\' Listes de lecture, recommandations Résultats de recherche + Onglet \'Abonnements\' + Onglet \'Vous\' Miniatures originales DeArrow & miniatures originales DeArrow & miniatures capturées @@ -98,6 +98,9 @@ Cliquez ici pour en savoir plus sur DeArrow." Masquer les fiches d\'album Les fiches d\'album sont masquées. Les fiches d\'album sont affichées. + Masquer le bouton \'Sous-titres\' + Le bouton \'Sous-titres\' est masqué. + Le bouton \'Sous-titres\' est affiché. Masquer les étagères à suggestions "Masque les étagères suivantes : • Actualités @@ -115,15 +118,6 @@ Cliquez ici pour en savoir plus sur DeArrow." Masquer les étagères coulissantes Les étagères coulissantes sont masqués. Les étagères coulissantes sont affichés. - Masquer le bouton \'Sous-titres\' - Le bouton \'Sous-titres\' est masqué. - Le bouton \'Sous-titres\' est affiché. - Masquer la barre de recherche - La barre de recherche est masqué. - La barre de recherche est affiché. - Masquer les sondages - Les sondages sont masqués. - Les sondages sont affichés. Masquer les boutons flottants Les boutons flottants sont masqués. Les boutons flottants sont affichés. @@ -151,6 +145,12 @@ Cliquez ici pour en savoir plus sur DeArrow." Masquer le bouton \'Voir plus\' Le bouton \'Voir plus\' est masqué. Le bouton \'Voir plus\' est affiché. + Masquer la barre de recherche + La barre de recherche est masqué. + La barre de recherche est affiché. + Masquer les sondages + Les sondages sont masqués. + Les sondages sont affichés. Masquer la barre \'Abonnements\' La barre \'Abonnements\' est masqué. La barre \'Abonnements\' est affiché. @@ -180,9 +180,6 @@ Cliquez ici pour en savoir plus sur DeArrow." "Shorts Playlists Boutique" - Masquer le bouton \'Visiter la boutique\' - Le bouton \'Visiter la boutique\' est masqué. - Le bouton \'Visiter la boutique\' est affiché. Masquer les membres de la chaîne Les membres de la chaîne sont masqués. Les membres de la chaîne sont affichés. @@ -192,6 +189,9 @@ Boutique" Masquer la catégorie \'Pour vous\' La catégorie \'Pour vous\' est masquée. La catégorie \'Pour vous\' est affichée. + Masquer le bouton \'Visiter la boutique\' + Le bouton \'Visiter la boutique\' est masqué. + Le bouton \'Visiter la boutique\' est affiché. Posts communautaires Masque ou affiche les posts communautaires dans les flux et sur les chaînes. @@ -217,6 +217,9 @@ Boutique" Masque les vidéos par mot-clés ou par vues. Filtre par mots-clés + Filtrer les commentaires par mot-clés + Les commentaires sont filtrés. + Les commentaires ne sont pas filtrés. Filtrer la page d\'accueil par mot-clés Les vidéos dans le flux \'Accueil\' sont filtrées. Les vidéos dans le flux \'Accueil\' ne sont pas filtrées. @@ -226,9 +229,6 @@ Boutique" Filtrer \'Abonnements\' par mots-clés Les vidéos dans le flux \'Abonnements\' sont filtrées. Les vidéos dans le flux \'Abonnements\' ne sont pas filtrées. - Filtrer les commentaires par mot-clés - Les commentaires sont filtrés. - Les commentaires ne sont pas filtrés. Mots-clés à masquer "Mots-clés et phrases à masquer, séparés par des sauts de lignes. @@ -251,13 +251,13 @@ Limitations : Ce mot-clé va masquer toutes les vidéos : %s. Vidéo recommandée + Masquer les vidéos peu vues + Masque les vidéos avec moins de 1,000 vues dans le flux \"accueil\" qui ont été mis en ligne par des personnes dont vous n\'êtes pas abonnés. Masquer les vidéos recommandées "Masque les vidéos recommandées suivants : • Les vidéos avec la mention \"Réservé aux membres\". • Les vidéos avec des phrases telles que \"Les internautes ont aussi regardé cette vidéo\" en dessous." - Masquer les vidéos peu vues - Masque les vidéos avec moins de 1,000 vues dans le flux \"accueil\" qui ont été mis en ligne par des personnes dont vous n\'êtes pas abonnés. Filtre du compteur de vues Masquer les vidéos de la page d\'accueil par vues @@ -291,6 +291,12 @@ Si la mise en page de l'écran du lecteur change en raison de modifications côt Décalage Interface + Modifier la mise en page + Original + Téléphone + Téléphone (Max 480 dpi) + Tablette + Tablette (Min 600 dpi) Modifier la page de démarrage Parcourir les chaînes Savoir / Culture @@ -343,12 +349,6 @@ Limitation : Le bouton Retour de la barre d'outils peut ne pas fonctionner."Suppr. Message \'Confirmer votre âge\' "Supprime le message 'Confirmer votre âge'. Cela ne contourne pas la restriction d'âge, mais le confirme automatiquement." - Modifier la mise en page - Original - Téléphone - Téléphone (Max 480 dpi) - Tablette - Tablette (Min 600 dpi) Falsifier la version de l\'app Version falsifiée Version non falsifiée @@ -394,12 +394,12 @@ Certains composants peuvent ne pas être masqués." Remplace l\'action des boutons in-app. Bouton \'Télécharger\' + Remplacer le bouton de téléchargement de la playlist + Le bouton de téléchargement natif de la playlist est toujours affiché, tandis que les playlists publiques utilisera votre téléchargeur externe. + Le bouton Télécharger\" natif de la playlist, si affiché, ouvre le téléchargeur intégré à l\'appli. Remplacer le bouton de téléchargement de la vidéo Le bouton \'Télécharger\' natif ouvre votre téléchargeur externe. Le bouton \'Télécharger\' natif ouvre le téléchargeur de l\'appli. - Remplacer le bouton de téléchargement de la playlist - Le bouton de téléchargement natif de la playlist est toujours affiché, tandis que les playlists publiques utilisera votre téléchargeur externe. - Si affiché, le bouton \'Télécharger\' natif de la playlist ouvre le téléchargeur natif de l\'appli. Nom du paquet du téléchargeur de la playlist Nom de package du téléchargeur externe installé, telle que YTDLnis. @@ -622,16 +622,16 @@ Appuyez longuement pour ouvrir les paramètres RVX." Personnaliser l\'opacité du voile du lecteur Valeur d\'opacité entre 0-100, 0 étant transparent. L\'opacité du voile du lecteur doit être entre 0-100. - Fenêtres pop-up du lecteur automatique - Les fenêtres pop-up du lecteur automatique sont désactivées. - Les fenêtres pop-up du lecteur automatique sont activés. - Désactiver le mélange des playlists mix + Désactiver le changement automatique des playlists mix Le mélange auto des playlists est désactivé. "Le mélange auto des playlists est activé lorsque la lecture automatique est activé. La lecture automatique peut être modifiée dans les paramètres de YouTube : Paramètres → Lecture automatique → Lecture automatique de la vidéo suivante" Activer cette fonction désactivera le passage automatique à YouTube Mix lors de la lecture de musique lorsque la lecture automatique est activée. + Fenêtres pop-up du lecteur automatique + Les fenêtres pop-up du lecteur automatique sont désactivées. + Les fenêtres pop-up du lecteur automatique sont activés. Désactiver le contrôle de la vitesse "Désactive '2x>>' en appuyant longuement. @@ -662,12 +662,6 @@ Note : Masquer les panneaux informations Les panneaux d\'information sont masqués. Les panneaux d\'information sont affichés. - Masquer le résumé du chat en direct - Le résumé du chat est masqué. - Le résumé du chat est affiché. - Masquer les messages du chat en direct - Les messages du chat en direct sont masqués.\n\nCe paramètre s\'applique également sur les vidéos Shorts en direct. - Les messages du chat en direct sont affichés.\n\nCe paramètre s\'applique également sur les vidéos Shorts en direct. Masquer les panneaux d\'infos médicaux Les panneaux d\'infos médicaux sont masqués. Les panneaux d\'infos médicaux sont affichés. @@ -680,9 +674,6 @@ Note : Masquer les suggestions d\'actions Les actions suggérées sont masquées. Les actions suggérées sont affichées. - Masquer les réactions en temps réel - Les réactions en temps réel sont masqués. - Les réactions en temps réel sont affichés. Masq. suggestions vidéos à la fin de vidéo "Les suggestions de vidéos à l'écran de fin sont masqué lorsque la lecture automatique est désactivée. @@ -692,6 +683,9 @@ La lecture automatique peut être modifiée dans les paramètres de YouTube : Ignorer le compteur lecture auto Si la lecture automatique est activée, la vidéo suivante sera lue immédiatement. Si la lecture automatique est activée, la vidéo suivante sera lue après la fin du compte à rebours. + Masquer les réactions en temps réel + Les réactions en temps réel sont masqués. + Les réactions en temps réel sont affichés. Masquer le voile du zoom Le voile du zoom est masqué. Le voile du zoom est affiché. @@ -764,30 +758,36 @@ La lecture automatique peut être modifiée dans les paramètres de YouTube : Masquer les commentaires des membres Les commentaires des membres sont cachés. Les commentaires des membres sont affichés. - Marquer les liens de recherche en surbrillance - Les liens de recherche en surbrillance sont masqués. - Les liens de recherche en surbrillance sont affichés. Masquer la section des commentaires La section des commentaires est masquée. La section des commentaires est affichée. Masquer la section commentaires dans le flux accueil La section commentaires dans le flux accueil est masqué. La section commentaires dans le flux accueil est affiché. + Masquer le bouton \'Créer un Short\' + Le bouton \'Créer un Short\' est masqué. + Le bouton \'Créer un Short\' est affiché. + Masquer le sélecteur d\'émoji et horodatage + Le sélecteur d\'émoji et l\'horodatage sont masqués. + Le sélecteur d\'émoji et l\'horodatage sont affichés. + Marquer les liens de recherche en surbrillance + Les liens de recherche en surbrillance sont masqués. + Les liens de recherche en surbrillance sont affichés. + Masquer les messages du chat en direct + Les messages du chat en direct sont masqués.\n\nCe paramètre s\'applique également sur les vidéos Shorts en direct. + Les messages du chat en direct sont affichés.\n\nCe paramètre s\'applique également sur les vidéos Shorts en direct. + Masquer le résumé du chat en direct + Le résumé du chat est masqué. + Le résumé du chat est affiché. Masquer l\'aperçu des commentaires L\'aperçu des commentaires est masqué. L\'aperçu des commentaires est affiché. Masquer le type d\'aperçu des commentaires Cela ne modifie pas la taille de la section commentaires, il est donc possible d\'ouvrir la section \'Rediffusion du chat en direct\' dans la section commentaires. Cela modifie la taille de la section commentaires, il est donc impossible d\'ouvrir la section \'Rediffusion du chat en direct\' dans la section commentaires. - Masquer le bouton \'Créer un Short\' - Le bouton \'Créer un Short\' est masqué. - Le bouton \'Créer un Short\' est affiché. Masquer le bouton \'Merci\' Le bouton \'Merci\' est masqué. Le bouton \'Merci\' est affiché. - Masquer le sélecteur d\'émoji et horodatage - Le sélecteur d\'émoji et l\'horodatage sont masqués. - Le sélecteur d\'émoji et l\'horodatage sont affichés. Menu \"Paramètre\" déroulant Masque ou modifie des options du menu déroulant dans le lecteur vidéo. @@ -1048,6 +1048,9 @@ Appuyez longuement pour modifier le type d'information ajouté." Modifie l\'action de l\'horodatage Appuyez pour ouvrir le menu déroulant de la vitesse de lecture ou de la qualité vidéo. Appuyez pour afficher le temps restant. + Désac. chapitres sur la barre de progression + Les chapitres sont désactivés sur la barre de progression. + Les chapitres sont activés sur la barre de progression. Activer une couleur perso. barre de progression La couleur personnalisée de la barre de progression est activée. La couleur personnalisée de la barre de progression est désactivée. @@ -1057,18 +1060,15 @@ Appuyez longuement pour modifier le type d'information ajouté." Activer l\'appui sur la barre de progression L\'appui sur la barre de progression est activé. L\'appui sur la barre de progression est désactivé. + Masq. noms des chapitres sur la barre de progression + Les noms de chapitres situés à côté de l\'horodatage sont masqués. + Les noms de chapitres situés à côté de l\'horodatage sont affichés. Masquer la barre de progression La barre de progression sur le lecteur est masqué. La barre de progression sur le lecteur est affiché. Masq. barre de progression des miniatures Les miniatures de la barre de progression sont masqués. Les miniatures de la barre de progression sont affichés. - Désac. chapitres sur la barre de progression - Les chapitres sont désactivés sur la barre de progression. - Les chapitres sont activés sur la barre de progression. - Masq. noms des chapitres sur la barre de progression - Les noms de chapitres situés à côté de l\'horodatage sont masqués. - Les noms de chapitres situés à côté de l\'horodatage sont affichés. Masquer l\'horodatage L\'horodatage est masqué. L\'horodatage est affiché. @@ -1101,15 +1101,15 @@ Cette fonction fonctionne mieux avec une connexion internet très rapide."Masquer la section \'Contenu\' La section \'Comment ce contenu a été créé\' est masqué. La section \'Comment ce contenu a été créé\' est affiché. + Masquer la section \'Podcasts\' + La section \'Podcasts\' est masquée. + La section \'Podcasts\' est affiché. Masquer les fiches \'Infos\' La section des fiches info est masquée. La section des fiches info est affichée. Masquer la section \'Concepts clés\' La section \'Concepts clés\' est masqué. La section \'Concepts clés\' est affiché. - Masquer la section \'Podcasts\' - La section \'Podcasts\' est masquée. - La section \'Podcasts\' est affiché. Masquer les liens des produits Les liens des produits sont masqués. Les liens de produits sont affichés. @@ -1155,18 +1155,18 @@ Information : Masquer dans les flux \'Accueil\' et \'Vidéos similaires\' Masqué dans les flux \'Accueil\' et \'Vidéos similaires\'. Affiché dans les flux \'Accueil\' et \'Vidéos similaires\'. - Masquer dans le flux \'Abonnements\' - Masquer dans le flux \'Abonnements\'. - Affiché dans le flux \'Abonnements\'. Masquer dans les résultats de recherches Masqué dans les résultats de recherches. Affiché dans les résultats de recherches. + Masquer dans le flux \'Abonnements\' + Masquer dans le flux \'Abonnements\'. + Affiché dans le flux \'Abonnements\'. Masquer dans \'Historique\' Masqué dans \'Historique\'. Affiché dans \'Historique\'. - Répétition des shorts Modifier l\'état de répétition de l\'arrière-plan des Shorts + Répétition des shorts Lecture auto. Par défaut Pause @@ -1174,77 +1174,77 @@ Information : Lecteur Shorts Masque ou affiche des composants dans le lecteur Shorts. + Masquer la barre de la chaîne + La barre de chaine est masqué. + La barre de chaine est affiché. + Masquer le lien de la vidéo complète + Le lien vers la vidéo complète est masqué. + Le lien vers la vidéo complète est affiché. + Masquer les panneaux d\'information + Les panneaux d\'information sont masqués. + Les panneaux d\'information sont affichés. Masquer le bouton \'Rejoindre\' Le bouton \'Rejoindre\' est masqué. Le bouton \'Rejoindre\' est affiché. - Masquer le bouton \'S\'abonner\' - Le bouton \'S\'abonner\' est masqué. - Le bouton \'S\'abonner\' est affiché. + Masquer l\'en-tête du chat en direct + L\'en-tête du chat en direct est masqué.\n\nLe bouton de retour sur l\'en-tête ne sera pas masqué. + L\'en-tête du chat en direct est affiché.\n\nLe bouton de retour sur l\'en-tête ne sera pas masqué. + Masquer bannière \'Communication commerciale\' + La bannière \'Inclut une communication commerciale\' est masquée. + La bannière \'Inclut une communication commerciale\' est affichée. Masquer l\'en-tête en pause L\'en-tête en pause est masqué. L\'en-tête en pause est affiché. Masq. fond du bouton \'Pause\' Le fond du bouton \'Pause\' est masqué. Le fond du bouton \'Pause\' est affiché. - Masquer le bouton \'Tendance\' - Le bouton \'Tendance\' est masqué. - Le bouton \'Tendance\' est affiché. Masquer le bouton \'Produit\' Le bouton \'Produit\' est masqué. Le bouton \'Produit\' est affiché. - Masquer les stickers - Les stickers sont masqués. - Les stickers sont affichés. - Masquer bannière \'Communication commerciale\' - La bannière \'Inclut une communication commerciale\' est masquée. - La bannière \'Inclut une communication commerciale\' est affichée. - Masquer les panneaux d\'information - Les panneaux d\'information sont masqués. - Les panneaux d\'information sont affichés. - Masquer l\'en-tête du chat en direct - L\'en-tête du chat en direct est masqué.\n\nLe bouton de retour sur l\'en-tête ne sera pas masqué. - L\'en-tête du chat en direct est affiché.\n\nLe bouton de retour sur l\'en-tête ne sera pas masqué. - Masquer la barre de la chaîne - La barre de chaine est masqué. - La barre de chaine est affiché. - Masquer le titre de la vidéo - Le titre est masqué. - Le titre est affiché. Masquer les métadonnées de la musique Les métadonnées de la musique sont masqués. Les métadonnées de la musique sont affichés. - Masquer le lien de la vidéo complète - Le lien vers la vidéo complète est masqué. - Le lien vers la vidéo complète est affiché. + Masquer les stickers + Les stickers sont masqués. + Les stickers sont affichés. + Masquer le bouton \'S\'abonner\' + Le bouton \'S\'abonner\' est masqué. + Le bouton \'S\'abonner\' est affiché. + Masquer le bouton \'Tendance\' + Le bouton \'Tendance\' est masqué. + Le bouton \'Tendance\' est affiché. + Masquer le titre de la vidéo + Le titre de la vidéo est masqué. + Le titre de la vidéo est affiché. Actions suggérées Masquer le bouton \'Fond vert\' Le bouton \'Fond vert\' est masqué. Le bouton \'Fond vert\' est affiché. + Masquer le bouton \'Localisation\' + Le bouton \'Localisation\' est masqué. + Le bouton \'Localisation\' est affiché. Masquer le bouton \'Enregistrer la musique\' Le bouton \'Enregistrer la musique\' est masqué. Le bouton \'Enregistrer la musique\' est affiché. + Masquer le bouton \'Suggestions de recherche\' + Le bouton \'Suggestions de recherche\' est masqué. + Le bouton \'Suggestions de recherche\' est affiché. Masquer le bouton \'Magasin\' Le bouton \'Magasin\' est masqué. Le bouton \'Magasin\' est affiché. Masquer le bouton \'Remercier\' Le bouton \'Remercier\' est masqué. Le bouton \'Remercier\' est affiché. - Masquer le bouton \'Utiliser ce son\' - Le bouton \'Utiliser ce son\' est masqué. - Le bouton \'Utiliser ce son\' est affiché. - Masquer le bouton \'Utiliser le modèle\' - Le bouton \'Utiliser le modèle\' est masqué. - Le bouton \'Utiliser le modèle\' est affiché. - Masquer le bouton \'Localisation\' - Le bouton \'Localisation\' est masqué. - Le bouton \'Localisation\' est affiché. - Masquer le bouton \'Suggestions de recherche\' - Le bouton \'Suggestions de recherche\' est masqué. - Le bouton \'Suggestions de recherche\' est affiché. Masquer les produits associés Les produits associés sont masqués. Les produits associés sont affichés. + Masquer le bouton \'Utiliser le modèle\' + Le bouton \'Utiliser le modèle\' est masqué. + Le bouton \'Utiliser le modèle\' est affiché. + Masquer le bouton \'Utiliser ce son\' + Le bouton \'Utiliser ce son\' est masqué. + Le bouton \'Utiliser ce son\' est affiché. Boutons d\'action Masquer le bouton \'J\'aime\' @@ -1268,11 +1268,8 @@ Information : Animation / Retour d\'expérience Désactiver l\'animation du bouton \'J\'aime\' - L\'animation en fontaine est désactivé au-dessus du bouton j\'aime. - L\'animation en fontaine est activé au-dessus du bouton j\'aime. - Masquer fond du bouton \'Lecture\' & \'Pause\' - Le fond du bouton est masqué. - Le fond du bouton est affiché. + L\'animation en fontaine au-dessus vu bouton j\'aime est désactivé. + L\'animation en fontaine au-dessus vu bouton j\'aime est activé. Animation lors du double appui Original Pouce en l\'air @@ -1280,13 +1277,16 @@ Information : Cœur Cœur (Teinte) Masqué + Masquer fond du bouton \'Lecture\' & \'Pause\' + Le fond des boutons Lecture & Pause sont masqués. + Le fond des boutons Lecture & Pause sont affichés. Actions personnalisées Activer les actions personnalisées du menu déroulant "Les actions personnalisées sont activés dans le menu déroulant. Limitations : -• Ne fonctionne pas si l'application est falsifiée en 18.49.37 ou antérieure. +• Ne fonctionne pas si l'application est falsifiée en 18.49.37 ou supérieur. • Ne fonctionne pas avec les diffusions en direct." Les actions personnalisées sont désactivés dans le menu déroulant. Activer les actions personnalisées dans la barre d\'outil @@ -1295,14 +1295,14 @@ Limitations : Appuyez longuement sur le bouton \"Plus\" pour afficher les actions personnalisées." Les actions personnalisées sont désactivés dans la barre d\'outil. Actions personnalisées - Copier l\'URL de la vidéo - Afficher le menu \"Copier le lien\" - Le menu \"Copier le lien\" est affiché. - Le menu \"Copier le lien\" est masqué. Copier l\'URL avec l\'horodatage Afficher le menu \"Copier l\'URL avec l\'horodatage\" Le menu \"Copier l\'URL avec l\'horodatage\" est affiché. Le menu \"Copier l\'URL avec l\'horodatage\" est masqué. + Copier l\'URL de la vidéo + Afficher le menu \"Copier le lien\" + Le menu \"Copier le lien\" est affiché. + Le menu \"Copier le lien\" est masqué. Téléchargeur externe Aff. menu téléchargeur externe Le menu du téléchargeur externe est affiché. @@ -1332,15 +1332,15 @@ Limitations : Marge en bas du panneau meta Configurer l\'espace de la barre de progression au panneau meta, entre 0-64. La marge en bas du panneau meta doit être entre 0-64. - Masquer la barre d\'outils - La barre d\'outils est masqué. - La barre d\'outils est affiché. Masquer la barre de navigation La barre de navigation est masqué. La barre de navigation est affichée. Hauteur en pourcentage de l\'espace vide Configure la hauteur en pourcentage de l\'espace vide à gauche lorsque la barre de navigation est cachée, entre 0 et 100 (%). La hauteur en pourcentage doit être entre 0-100 (%). + Masquer la barre d\'outils + La barre d\'outils est masqué. + La barre d\'outils est affiché. Remplacer l\'identifiant de la chaîne Le nom de la chaîne est utilisé. L\'identifiant de la chaîne est utilisé. @@ -1717,6 +1717,8 @@ Cliquez ici pour découvrir comment créer une clé API." Les données sont fournies par l\'API SponsorBlock. Cliquez ici pour en savoir plus et voir les téléchargements pour d\'autres plateformes. Paramètres avancés + Protocole QUIC + "Désactiver le protocole QUIC de CronetEngine." Activer le journal de débogage Le journal de débogage est activés. Les journaux de débogage sont désactivés. @@ -1729,10 +1731,12 @@ Cliquez ici pour découvrir comment créer une clé API." Activer l\'ouverture des liens directement Contourne les redirections URL. Suit la règle de redirection par défaut. + Nettoyer les liens partagés + Nettoies les liens de partage en supprimant les paramètres de suivi (tracking). Ouvrir les paramètres \'Liens compatibles\' Pour ouvrir les liens YouTube sur RVX, activez l\'option \'Ouvrir les liens compatibles\' et activez les liens Web compatibles. - Ouvrir GmsCore - Activez la messagerie cloud pour recevoir les notifications. + Ouvrir les paramètres GmsCore + Ouvre les paramètres GmsCore. Puis activez la messagerie cloud pour recevoir les notifications. GmsCore n\'est pas installé. Veuillez l\'installer. Action requise  "GmsCore n'a pas les permissions pour fonctionner en arrière-plan. @@ -1747,10 +1751,6 @@ La désactivation de l'optimisation de la batterie pour GmsCore n'aura pas d'eff Cliquez sur le bouton Continuer et autorisez les modifications d'optimisations." Continuer - Nettoyer les liens partagés - Supprime les paramètres de suivi (tracking) des URL lors du partage de liens. - Protocole QUIC - "Désactiver le protocole QUIC de CronetEngine." Modifier l\'onglet \'Partager avec\' L\'onglet \'Partager avec\' du système est utilisée. L\'onglet \'Partager avec\' de l\'application est utilisée. diff --git a/patches/src/main/resources/youtube/translations/hu-rHU/strings.xml b/patches/src/main/resources/youtube/translations/hu-rHU/strings.xml index 9df129e67..99dd4009b 100644 --- a/patches/src/main/resources/youtube/translations/hu-rHU/strings.xml +++ b/patches/src/main/resources/youtube/translations/hu-rHU/strings.xml @@ -30,12 +30,12 @@ Töltsd le a(z) %2$s weboldalról." Rejtsd el a árucikkek polcokat Az árupolcok el vannak rejtve. Az árupolcok láthatóak. - Lejátszó bevásárló polcának elrejtése - A bevásárló polc el van rejtve. - A bevásárló polc látható. Fizetett promóció címke elrejtése A fizetett promóció címke rejtve van A fizetett promóciós címke látható. + Lejátszó bevásárló polcának elrejtése + A bevásárló polc el van rejtve. + A bevásárló polc látható. Promóciós figyelmeztető banner elrejtése A promóciós figyelmeztető banner el van rejtve. A promóciós figyelmeztető banner látható. @@ -57,10 +57,10 @@ Töltsd le a(z) %2$s weboldalról." Alternatív miniatűrök Kezdőlap fül - Előfizetések oldal - Te lap Lejátszó lejátszási listák, ajánlások Keresési találatok + Előfizetések oldal + Te lap Eredeti indexképek DeArrow & eredeti indexképek DeArrow és pillanatképek @@ -98,6 +98,9 @@ Koppints ide, ha többet szeretnél megtudni a DeArrow-ról." Album kártyák elrejtése Az album kártyák el vannak rejtve. Az album kártyák láthatóak. + Feliratok gomb elrejtése + A Feliratok gomb el van rejtve. + A Feliratok gomb megjelenik. Forduló polc elrejtése "A következő polcokat rejtse el: • Friss hírek @@ -115,15 +118,6 @@ Koppints ide, ha többet szeretnél megtudni a DeArrow-ról." Kinyitható polcok elrejtése A kinyitható polcok el vannak rejtve. A kinyitható polcok láthatóak. - Feliratok gomb elrejtése - A Feliratok gomb el van rejtve. - A Feliratok gomb megjelenik. - Keresősáv elrejtése - A keresősáv elrejtve. - A keresősáv látható. - Kérdőívek elrejtése - A kérdőívek elrejtve. - A kérdőívek megjelennek. Lebegő gomb elrejtése A lebegő gomb elrejtve. A lebegő gomb látható. @@ -151,6 +145,12 @@ Koppints ide, ha többet szeretnél megtudni a DeArrow-ról." \'Továbbiak megjelenítése\' gomb elrejtése A gomb el van rejtve A gomb megjelenik + Keresősáv elrejtése + A keresősáv elrejtve. + A keresősáv látható. + Kérdőívek elrejtése + A kérdőívek elrejtve. + A kérdőívek megjelennek. Feliratkozások rész elrejtése A feliratkozások rész elrejtve. A feliratkozások rész látható. @@ -180,9 +180,6 @@ Koppints ide, ha többet szeretnél megtudni a DeArrow-ról." "Shortok Lejátszási listák Áruház" - Áruház böngészése gomb elrejtése - Az áruház böngészése gomb el van rejtve. - Az áruház böngészése gomb látható. Csatornatag polc elrejtése A csatornatagok polca rejtett A csatornatagok polca megjelenik @@ -192,6 +189,9 @@ Lejátszási listák \"Neked\" polc elrejtése a csatorna oldalon A polc rejtett A polc megjelenik + Áruház böngészése gomb elrejtése + Az áruház böngészése gomb el van rejtve. + Az áruház böngészése gomb látható. Közösségi bejegyzések Közösségi bejegyzések elrejtése vagy megjelenítése a hírfolyamban és a csatornán. @@ -217,6 +217,9 @@ Lejátszási listák A videók elrejtése kulcsszavak vagy nézettség alapján. Kulcsszó szűrő + Kommentek elrejtése kulcsszavak alapján + A kommentek szűrve vannak. + A kommentek nincsenek szűrve. Videók elrejtése a kezdőlapon kulcsszavak alapján A videók a kezdőlapon szűrve vannak. A videók a kezdőlapon nincsenek szűrve. @@ -226,9 +229,6 @@ Lejátszási listák Feliratkozott videók elrejtése kulcsszavak alapján A feliratkozott videók kulcsszavak alapján szűrve vannak. A feliratkozott videók nincsenek szűrve. - Kommentek elrejtése kulcsszavak alapján - A kommentek szűrve vannak. - A kommentek nincsenek szűrve. Elrejtendő kulcsszavak "Elrejteni kívánt kulcsszavak és kifejezések, új sorokkal elválasztva. @@ -251,13 +251,13 @@ Korlátozások: A kulcsszó elrejti az összes videót: %s. Ajánlott videó + Alacsony nézettségű videók elrejtése + Az 1000-nél kevesebb megtekintést elért videók elrejtése a Kezdőlapon, amiket a leiratkozott csatornákról töltöttek fel. Ajánlott videók elrejtése "Elrejti a következő ajánlott videókat: • Csak a tagok címkével ellátott videók. • Olyan videók, amelyek alatt olyan kifejezések szerepelnek, mint „Mások is megnézték”." - Alacsony nézettségű videók elrejtése - Az 1000-nél kevesebb megtekintést elért videók elrejtése a Kezdőlapon, amiket a leiratkozott csatornákról töltöttek fel. Megtekintések szűrő Videók elrejtése a kezdőlapon a nézettség alapján @@ -291,6 +291,12 @@ Ha a lejátszó képernyőjének elrendezése a szerveroldali változtatások mi Eltolás Általános + Elrendezés megváltoztatása + Eredeti + Telefon + Telefon (max 480 dpi) + Tablet + Tablet (min 600 dpi) Kezdőlap megváltoztatása Csatornák böngészése Kurzusok / Tanulás @@ -343,12 +349,6 @@ Korlátozás: Előfordulhat, hogy az eszköztár Vissza gombja nem működik."Távolítsa el a nézői diszkréciós párbeszédpanelt "Eltávolítja a nézői belátás párbeszédpanelt. Ez nem kerüli meg a korhatárt. Csak automatikusan fogadja el." - Elrendezés megváltoztatása - Eredeti - Telefon - Telefon (max 480 dpi) - Tablet - Tablet (min 600 dpi) Alkalmazásverzió hamisítása Verzió hamisítás Verzió nincs hamisítva @@ -394,12 +394,12 @@ Előfordulhat, hogy egyes komponensek nincsenek elrejtve." Felülbírálja az alkalmazáson belüli gombok kattintási műveletét. Letöltés gomb + Lejátszási lista letöltése gomb felülbírálása + A eredeti lejátszási lista letöltése gomb mindig megjelenik, és a nyilvános lejátszási listákban megnyitja a külső letöltőt. + Az eredeti lejátszási lista letöltése gomb megnyitja a beépített letöltőt, amennyiben megjelenik. Videó letöltési gomb felülbírálása Az eredeti letöltés gomb megnyitja a külső letöltőt. Az eredeti letöltés gomb megnyitja az eredeti, beépített letöltőt. - Lejátszási lista letöltése gomb felülbírálása - A eredeti lejátszási lista letöltése gomb mindig megjelenik, és a nyilvános lejátszási listákban megnyitja a külső letöltőt. - Ha megjelenik, az eredeti lejátszási lista letöltése gomb megnyitja az alkalmazáson belüli letöltőt. Lejátszási lista letöltő csomag neve A telepített külső letöltő alkalmazás csomagneve, például YTDLnis. @@ -620,9 +620,6 @@ Te lap → Csatorna megtekintése → Menü → Beállítások" Egyéni lejátszó átlátszóság beállítása Átlátszósági érték 0 és 100 között, ahol a 0 az átlátszó. A lejátszó átlátszóságának 0 és 100 között kell lennie. Visszaállítás alapértelmezettre. - Lejátszó felugró panelek letiltása - Az automatikus lejátszó felugró panelek le vannak tiltva. - Az automatikus lejátszó felugró panelek engedélyezve vannak. Mix lejátszási listák letiltása Az automatikus mix lejátszási listák le vannak tiltva. "Az automatikus mix lejátszási listák engedélyezve vannak, ha az automatikus lejátszás be van kapcsolva. @@ -630,6 +627,9 @@ Te lap → Csatorna megtekintése → Menü → Beállítások" Az automatikus lejátszás a YouTube beállításaiban módosítható: Beállítások → Automatikus lejátszás → Következő videó automatikus lejátszása" A funkció engedélyezése letiltja az automatikus váltást a YouTube Mix szolgáltatásra, amikor zenét játszik le, miközben az automatikus lejátszás be van kapcsolva. + Lejátszó felugró panelek letiltása + Az automatikus lejátszó felugró panelek le vannak tiltva. + Az automatikus lejátszó felugró panelek engedélyezve vannak. Gyorsított lejátszás letiltása "Letiltja a '2x>>' funkciót, hosszan nyomva tartásra. @@ -660,12 +660,6 @@ Megjegyzés: Infó panelek elrejtése Az info panelek el vannak rejtve. Az info panelek láthatóak. - Csevegés összegzésének elrejtése az élő csevegésben - A csevegés összegzés el van rejtve. - A csevegés összegzés látható. - Élő csevegés üzeneteinek elrejtése - Az élő csevegés üzenetei el vannak rejtve.\n\nEz a beállítás a Shorts élő videókra is vonatkozik. - Az élő csevegés üzenetei megjelennek.\n\nEz a beállítás a Shorts élő videókra is vonatkozik. Egészségügyi panelek elrejtése Az egészségügyi panelek el vannak rejtve. Az egészségügyi panelek láthatóak. @@ -678,9 +672,6 @@ Megjegyzés: Javasolt műveletek elrejtése A javasolt műveletek el vannak rejtve. A javasolt műveletek láthatóak. - Időzített reakciók elrejtése - Az időzített reakciók el vannak rejtve. - Az időzített reakciók láthatóak. Javasolt videó elrejtése a záró képernyőn "A javasolt videó záróképernyője el van rejtve, ha az automatikus lejátszás ki van kapcsolva. @@ -690,6 +681,9 @@ Beállítások → Automatikus lejátszás → Következő videó automatikus le Automatikus lejátszás visszaszámlálás átugrása Ha az automatikus lejátszás engedélyezve van, a következő videó azonnal lejátszódik. Ha az automatikus lejátszás engedélyezve van, a következő videó a visszaszámlálás befejezése után lejátszódik. + Időzített reakciók elrejtése + Az időzített reakciók el vannak rejtve. + Az időzített reakciók láthatóak. Nagyítás fedés elrejtése A nagyítás fedés elrejtve. A nagyítás fedés látható. @@ -762,30 +756,36 @@ Beállítások → Automatikus lejátszás → Következő videó automatikus le Rejtse el a csartornatagok megjegyzései részt A csatornatagok megjegyzései rész el van rejtve. A csatornatagok megjegyzései rész látható. - Kiemelt keresési hivatkozások elrejtése - A kiemelt keresési hivatkozások el vannak rejtve. - A kiemelt keresési hivatkozások láthatóak. Megjegyzések rész elrejtése A megjegyzések rész el van rejtve. A megjegyzések rész látható. Hozzászólások elrejtése a kezdőlapon A hozzászólások el van rejtve a kezdőlapon. A hozzászólások láthatóak a kezdőlapon. + Short létrehozás gomb elrejtése + A \'Short létrehozása\' gomb el van rejtve. + A \'Short létrehozása\' gomb látható. + Időbélyeg és emoji gombok elrejtése + Az időbélyeg és emoji gombok el vannak rejtve. + Az időbélyeg és emoji gombok láthatók. + Kiemelt keresési hivatkozások elrejtése + A kiemelt keresési hivatkozások el vannak rejtve. + A kiemelt keresési hivatkozások láthatóak. + Élő csevegés üzeneteinek elrejtése + Az élő csevegés üzenetei el vannak rejtve.\n\nEz a beállítás a Shorts élő videókra is vonatkozik. + Az élő csevegés üzenetei megjelennek.\n\nEz a beállítás a Shorts élő videókra is vonatkozik. + Csevegés összegzésének elrejtése az élő csevegésben + A csevegés összegzés el van rejtve. + A csevegés összegzés látható. Megjegyzés előnézet elrejtése A megjegyzés előnézet el van rejtve. A megjegyzés előnézet látható. Megjegyzés előnézet elrejtés típusa Ez nem változtatja meg a megjegyzések rész méretét, így lehetséges a megjegyzések részben élő chat választ nyitni. Ez megváltoztatja a megjegyzések rész méretét, így nem lehetséges a megjegyzések részben élő chat választ nyitni. - Short létrehozás gomb elrejtése - A \'Short létrehozása\' gomb el van rejtve. - A \'Short létrehozása\' gomb látható. Köszönöm gomb elrejtése A köszönöm gomb el van rejtve. A köszönöm gomb megjelenik. - Időbélyeg és emoji gombok elrejtése - Az időbélyeg és emoji gombok el vannak rejtve. - Az időbélyeg és emoji gombok láthatók. Felugró menü A videólejátszóban található kinyíló menü elemeinek elrejtése vagy módosítása. @@ -1032,7 +1032,7 @@ Információ: Az URL a vágólapra másolva. Az időbélyeges URL a vágólapra másolva. - Keresősáv + Folyamatsáv Szabja testre a keresősáv összetevőit. Időbélyegző információ hozzáfűzése "Az információ az időbélyeghez adva. @@ -1046,6 +1046,9 @@ Információ: Időbélyeg művelet megváltoztatása Érintse meg a lejátszási sebesség vagy a videóminőség felugró menüjének megnyitásához. Érintse meg a hátralévő időért. + Keresősáv fejezeteinek letiltása + A keresősáv fejezetei le vannak tiltva. + A keresősáv fejezetei engedélyezettek. Egyéni keresősáv szín engedélyezése Az egyéni keresősáv szín engedélyezett. Az egyéni keresősáv szín le van tiltva. @@ -1055,18 +1058,15 @@ Információ: Érintés engedélyezése a kereső sávon A keresősávon történő érintés engedélyezett. A keresősávon történő érintés le van tiltva. + Keresősáv fejezetcímkéinek elrejtése + Az időbélyeg melletti fejezetcímkék el vannak rejtve. + Az időbélyeg melletti fejezetcímkék láthatóak. Keresősáv elrejtése a videólejátszóban A videólejátszó folyamatsávja el van rejtve. A videólejátszó folyamatsávja látható. Folyamatsáv elrejtése a minilejátszóban A minilejátszó folyamatsávja el van rejtve. A minilejátszó folyamatsávja látható. - Keresősáv fejezeteinek letiltása - A keresősáv fejezetei le vannak tiltva. - A keresősáv fejezetei engedélyezettek. - Keresősáv fejezetcímkéinek elrejtése - Az időbélyeg melletti fejezetcímkék el vannak rejtve. - Az időbélyeg melletti fejezetcímkék láthatóak. Időbélyeg elrejtése Az időbélyeg el van rejtve. Az időbélyeg látható. @@ -1099,15 +1099,15 @@ Ez a funkció nagyon gyors internetkapcsolat mellett működik a legjobban."Tartalmak rész elrejtése A tartalom készítésének módja rész elrejtve. A tartalom készítésének módja rész látható. + Podcast rész elrejtése + A podcast rész el van rejtve. + A podcast rész látható. Infó kártyák rész elrejtése Az infó kártyák rész el van rejtve. Az infó kártyák rész látható. Kulcs koncepciók rész elrejtése A kulcs koncepciók rész elrejtve. A kulcs koncepciók rész látható. - Podcast rész elrejtése - A podcast rész el van rejtve. - A podcast rész látható. Vásárlási linkek elrejtése A vásárlási linkek el vannak rejtve. A vásárlási linkek láthatóak. @@ -1116,16 +1116,16 @@ Ez a funkció nagyon gyors internetkapcsolat mellett működik a legjobban."Az átirat rész látható. Videoleírás interakció letiltása - "Letiltja a következő interakciókat, ha a videoleírás kibővítve van: + "Letiltja a következő interakciókat, ha a videoleírás ki lett bővítve: -•Koppintás a görgetéshez. -•Koppintás és tartás a szöveg kijelöléséhez." +• Koppintás a görgetéshez. +• Koppintás és tartás a szöveg kijelöléséhez." Videoleírások kibővítése A videoleírások automatikusan kibővülnek. A videoleírások nem bővülnek ki automatikusan. Cím a videoleírás panelen - "Írja be a videoleírás panel címét az Ön nyelvén. -A 'Videoleírások kibővítése' nem működik, ha a beírt sztring nem egyezik meg a videoleírás panel címével. " + "Írja be a videoleírás panel nevét az Ön nyelvén. +A videoleírások kibővítése nem működik, ha a beírt név nem egyezik meg a videoleírás panel nevével." Leírás Shorts @@ -1153,18 +1153,18 @@ Információ: Elrejtés a kezdőlapon és a kapcsolódó videóknál Elrejtve a kezdőlapon és a kapcsolódó videóknál. Látható a kezdőlapon és a kapcsolódó videóknál. - Elrejtés a feliratkozások között - Elrejtve a feliratkozások között. - Megjelenítve a feliratkozások között. Elrejtés a keresési eredmények között Elrejtve a keresési eredmények között. Megjelenítve a keresési eredmények között. + Elrejtés a feliratkozások között + Elrejtve a feliratkozások között. + Megjelenítve a feliratkozások között. Elrejtés a nézési előzmények között Elrejtve a nézési előzmények között. Megjelenítve a nézési előzmények között. - Shorts ismétlési állapotának módosítása Shorts háttér ismétlési állapotának módosítása + Shorts ismétlési állapotának módosítása Automatikus lejátszás Alapértelmezett Szünet @@ -1172,77 +1172,77 @@ Információ: Shorts lejátszó Komponensek elrejtése vagy megjelenítése a Shorts lejátszójában. + Csatornasáv elrejtése + A csatornasáv el van rejtve. + A csatornasáv látható. + Teljes videólink címke elrejtése + A videólink címke el van rejtve. + A videólink címke látható. + Infó panelek elrejtése + Az info panelek el vannak rejtve. + Az infó panelek láthatóak. Csatlakozás gomb elrejtése A csatlakozás gomb el van rejtve. A csatlakozás gomb látható. - Feliratkozás gomb elrejtése - A feliratkozás gomb el van rejtve. - A feliratkozás gomb látható. + Élő csevegés fejléc elrejtése + Az élő csevegés fejléce el van rejtve.\n\nA fejlécben található Vissza gomb nem lesz elrejtve. + Az élő csevegés fejléce látható.\n\nA fejlécben található Vissza gomb nem lesz elrejtve. + Fizetett promóciós címke elrejtése + A fizetett promóciós címke el van rejtve. + A fizetett promóciós címke látható. Szüneteltetett fejléc elrejtése A szüneteltetett fejléc elrejtve. A szüneteltetett fejléc látható. Szüneteltetett videóvezérlő gombok elrejtése A szüneteltetett videóvezérlő gombok el vannak rejtve. A szüneteltetett fedő gombok láthatóak. - Trend gomb elrejtése - A Trend gomb el van rejtve. - A Trend gomb látható. Vásárlás gomb elrejtése A vásárlás gomb el van rejtve A vásárlás gomb látható. - Matricák elrejtése - A matricák el vannak rejtve. - A matricák láthatóak. - Fizetett promóciós címke elrejtése - A fizetett promóciós címke el van rejtve. - A fizetett promóciós címke látható. - Infó panelek elrejtése - Az info panelek el vannak rejtve. - Az infó panelek láthatóak. - Élő csevegés fejléc elrejtése - Az élő csevegés fejléce el van rejtve.\n\nA fejlécben található Vissza gomb nem lesz elrejtve. - Az élő csevegés fejléce látható.\n\nA fejlécben található Vissza gomb nem lesz elrejtve. - Csatornasáv elrejtése - A csatornasáv el van rejtve. - A csatornasáv látható. - Videó címének elrejtése - A cím el van rejtve. - A cím látható. Hang metadata címke elrejtése A metaadat címke el van rejtve. A metaadat címke látható. - Teljes videólink címke elrejtése - A videólink címke el van rejtve. - A videólink címke látható. + Matricák elrejtése + A matricák el vannak rejtve. + A matricák láthatóak. + Feliratkozás gomb elrejtése + A feliratkozás gomb el van rejtve. + A feliratkozás gomb látható. + Trend gomb elrejtése + A Trend gomb el van rejtve. + A Trend gomb látható. + Videó címének elrejtése + A cím el van rejtve. + A cím látható. Javasolt intézkedések Zöld képernyő gomb elrejtése A zöld képernyő gomb el van rejtve. A zöld képernyő gomb látható. + Hely gomb elrejtése + A hely gomb el van rejtve. + A hely gomb látható. Zene mentés gomb elrejtése A zene mentés gomb el van rejtve. A zene mentés gomb látható. + Keresési javaslatok gomb elrejtése + A keresési javaslatok gomb el van rejtve. + A keresési javaslatok gomb látható. Vásárlás gomb elrejtése A vásárlás gomb el van rejtve. A vásárlás gomb látható. Szuper köszönet gomb elrejtése A Szuper köszönet gomb el van rejtve. A Szuper köszönet gomb látható. - Ennek a zenének a használata gomb elrejtése - Az ennek a zenének a használata gomb el van rejtve. - Az ennek a zenének a használata gomb látható. - Sablon használata gomb elrejtése - A sablon használata gomb el van rejtve. - A sablon használata gomb látható. - Hely gomb elrejtése - A hely gomb el van rejtve. - A hely gomb látható. - Keresési javaslatok gomb elrejtése - A keresési javaslatok gomb el van rejtve. - A keresési javaslatok gomb látható. Címkézett termékek elrejtése A címkézett termékek el vannak rejtve. A címkézett termékek láthatóak. + Sablon használata gomb elrejtése + A sablon használata gomb el van rejtve. + A sablon használata gomb látható. + Ennek a zenének a használata gomb elrejtése + Az ennek a zenének a használata gomb el van rejtve. + Az ennek a zenének a használata gomb látható. Akció gombok Tetszik gomb elrejtése @@ -1268,9 +1268,6 @@ Információ: Like gomb animáció elrejtése A szökőkút animáció le van tiltva a Like gombon. A szökőkút animáció engedélyezve van a Like gombon. - Lejátszás & Szünet gomb hátterének elrejtése - A gomb háttere elrejtve. - A gomb háttere látható. Dupla koppintás animáció Eredeti Felfelé menő hüvelykujj @@ -1278,6 +1275,9 @@ Információ: Szív Szív (színárnyalatos) Rejtett + Lejátszás & Szünet gomb hátterének elrejtése + A lejátszás & szünet gombok háttere el van rejtve. + A gomb háttere látható. Egyéni műveletek Egyéni műveletek engedélyezése a felugró menüben @@ -1293,14 +1293,14 @@ Korlátozások: Nyomja meg és tartsa lenyomva a További gombot az egyéni műveletek párbeszédpanel megjelenítéséhez." Az egyéni műveletek le vannak tiltva az eszköztáron. Egyéni műveletek - Videó URL másolása - Videó URL másolás menü mutatása - A videó URL másolás menü látható. - A videó URL másolás menü el van rejtve. Időbélyeg URL másolása Időbélyeg URL másolás menü mutatása Az időbélyeg URL másolás menü látható. Az időbélyeg URL másolás menü el van rejtve. + Videó URL másolása + Videó URL másolás menü mutatása + A videó URL másolás menü látható. + A videó URL másolás menü el van rejtve. Külső letöltéskezelő Külső letöltéskezelő menü mutatása A külső letöltéskezelő menü látható. @@ -1330,15 +1330,15 @@ Korlátozások: Meta panel alsó margó Állítsd be a keresősáv és a meta panel közötti távolságot 0-64 között. A Meta panel alsó margójának 0-64 között kell lennie. - Eszköztár elrejtése - Az eszköztár el van rejtve. - Az eszköztár látható. Navigációs sáv elrejtése A navigációs sáv el van rejtve. A navigációs sáv látható. Az üres hely magasságának százaléka Beállítja a navigációs sáv elrejtésekor megmaradó üres terület magasságának arányát 0 és 100 (%) között. A magasság százalékának 0-100 (%) között kell lennie. + Eszköztár elrejtése + Az eszköztár el van rejtve. + Az eszköztár látható. Cserélje ki a csatorna kezelőt A csatorna név használatban van. A csatorna kezelő használatban van. @@ -1347,40 +1347,40 @@ Korlátozások: Nincs margó a lejátszó tetején és alján." A régi lejátszó felülete nincs használatban. - Húzásvezérlések - Automatikus fényerő bekapcsolása gesztussal - A fényerő gesztus legkisebb értékénél az automatikus fényerő bekapcsol. - A fényerő gesztus legkisebb értékénél az automatikus fényerő nem kapcsol be. - Fényerő csúsztatás engedélyezése - A csúsztatásos fényerő vezérlés engedélyezve van. - A csúsztatásos fényerő vezérlés le van tiltva. - Hangerő csúsztatás engedélyezése - A csúsztatásos hangerő vezérlés engedélyezve van. - A csúsztatásos hangerő vezérlés le van tiltva. + Gesztus vezérlések + Fényerő automatikus bekapcsolása gesztussal + A gesztus vezérlés legkisebb értékénél az automatikus fényerő bekapcsol. + A gesztus vezérlés legkisebb értékénél az automatikus fényerő nem kapcsol be. + Fényerő gesztus vezérlés engedélyezése + A fényerő gesztus vezérlés engedélyezett. + A fényerő gesztus vezérlés le van tiltva. + Hangerő gesztus vezérlés engedélyezése + A hangerő gesztus vezérlés engedélyezett. + A hangerő gesztus vezérlés le van tiltva. A fényerő mentésének és visszaállításának engedélyezése A fényerő mentése és visszaállítása teljes képernyőből való kilépéskor vagy belépéskor. Ne mentse és állítsa vissza a fényerőt, amikor kilép vagy belép a teljes képernyőbe. - Nyomva húzás engedélyezése - Érintse meg és tartsa nyomva a csúsztatás engedélyezéséhez. - Érintse meg a csúsztatás engdélyezéséhez. + Nyomd-és-húzd gesztus engedélyezése + Érintse meg és tartsa lenyomva a gesztus vezérlés aktiválásához. + Érintse meg a gesztus vezérlés aktiválásához. Haptikus visszajelzés engedélyezése A haptikus visszajelzés engedélyezett. A haptikus visszajelzés le van tiltva. - A csúsztatási mozdulatok a \'Képernyő lezárása\' módban - A csúsztatási mozdulatok engedélyezve vannak a \'Képernyő lezárása\' módban. - A csúsztatási mozdulatok le vannak tiltva a \'Képernyő lezárása\' módban. - A csúsztatás hátterének láthatósága - A csúsztatási átfedés hátterének láthatósága - A csúsztatás küszöbértéke - A csúsztatáshoz szükséges küszöbérték. - Csúsztatási-átfedés szövegmérete - A csúsztatási fedés szövegmérete. - Csúsztatható átfedés mérete + Gesztus vezérlések a képernyő lezárása módban + A gesztus vezérlések engedélyezettek a képernyő lezárása módban. + A gesztus vezérlések le vannak tiltva a képernyő lezárása módban. + Gesztus vezérlés átfedésének láthatósága + A gesztus vezérlés átfedésének láthatósága. + Gesztus vezérlés küszöbértéke + A gesztus vezérléshez szükséges küszöbérték. + Gesztus vezérlés átfedésének szövegmérete + A gesztus vezérlés átfedés szövegmérete. + Gesztus vezérlés átfedésének képmérete Az lehúzható képernyőterület százalékos aránya.\n\n Megjegyzés: Ezzel a képernyőterület méretét is megváltoztatja, ahol érzékeli az ugráshoz szükséges dupla koppintást. A csúsztatható terület mérete nem lehet nagyobb 50-nél. Visszaállítás az alapértelmezettre. - Csúsztatási átfedés időkorlátja - Az átfedés láthatóságának időtartama ezredmásodpercben + Gesztus vezérlés átfedésének időkorlátja + Az átfedés láthatóságának időtartama ezredmásodpercben. Fényerő csúsztatás érzékenység Állítsa be a minimális távolságot a fényerő csúsztatásához 1 és 1000 (%) között.\nMinél kisebb a minimális távolság, annál gyorsabban változik a fényerő szintje. A fényerő csúsztatás érzékenységének 1 és 1000 (%) között kell lennie. @@ -1390,18 +1390,18 @@ Megjegyzés: Ezzel a képernyőterület méretét is megváltoztatja, ahol érz Automatikus HDR fényerő letiltása Az automatikus HDR fényerő le van tiltva. Az automatikus HDR fényerő engedélyezett. - A videóváltás lapozással letiltása - A felfelé/lefelé lapozás nem játssza le a következő/előző videót. - A felfelé/lefelé lapozással a következő/előző videót játsza le. - Teljes képernyős módba való belépés letiltása (a lejátszó alatt) + Videóváltás lapozással letiltása + A felfelé / lefelé lapozás teljes képernyőn nem játssza le a következő / előző videót. + A felfelé / lefelé lapozás teljes képernyőn a következő / előző videót játsza le. + Teljes képernyős módba lapozással való belépés letiltása (a lejátszó alatt) A lejátszó alatti lefelé lapozás nem léptet be teljes képernyős módba. A lejátszó alatt lefelé lapozással teljes képernyős módba léptet. - Teljes képernyős módba való belépés letiltása (a lejátszóban) + Teljes képernyős módba lapozzással való belépés letiltása (a lejátszóban) A lejátszóban a felfelé lapozás nem léptet be a teljes képernyős módba. A lejátszóban a felfelé lapozás beléptet a teljes képernyős módba. - Teljes képernyős üzemmódból való kilépés lapozással letiltása + Teljes képernyős üzemmódból lapozással való kilépés letiltása A teljes képernyőn történő lefelé lapozás nem léptet ki a teljes képernyős módból. - A teljes képernyős módból való lapozás a teljes képernyős módból való kilépéshez vezet. + A teljes képernyőn való lefelé lapozás a teljes képernyős módból való kilépéshez vezet. Automatikus Videó @@ -1410,30 +1410,30 @@ Megjegyzés: Ezzel a képernyőterület méretét is megváltoztatja, ahol érz Alapértelmezett videó minőség Wi-Fi hálózaton HDR videó letiltása A HDR videó le van tiltva. - A HDR videó engedélyezve van. + A HDR videó engedélyezett. Egyéni lejátszási sebesség engedélyezése - Az egyéni lejátszási sebesség engedélyezve van. + Az egyéni lejátszási sebesség engedélyezett. Az egyéni lejátszási sebesség le van tiltva. - Egyedi lejátszási sebesség menü típusa - Egyéni párbeszédpanelt használ. - A régi stílusú flyout menüt használja. - Egyedi lejátszási sebesség - Az elérhető lejátszási sebességek módosítása vagy hozzáadás + Egyéni lejátszási sebesség menü típusa + Egyéni párbeszédpanel van használatban. + A régi stílusú előugró menüt használja. + Egyéni lejátszási sebességek szerkesztése + Az elérhető lejátszási sebességek hozzáadás vagy módosítása. Lejátszási sebesség módosításainak megjegyzése - A lejátszási sebesség módosítása minden videóra érvényes - A lejátszási sebesség módosítása csak a jelenlegi videóra érvényes + A lejátszási sebesség módosítása minden videóra érvényes. + A lejátszási sebesség módosítása csak a jelenlegi videóra érvényes. Mutass egy felugró értesítést Egy felugró értesítés fog látszani, amikor megváltozik az alapértelmezett lejátszási sebesség. Nem fog felugró értesítés látszani, amikor megváltozik az alapértelmezett lejátszási sebesség. - Felbontás változtatások mentése - Felbontás változtatások alkalmazása az összes videóra - Felbontás változtatások alkalmazása a jelenlegi videóra + Videó minőség módosításainak megjegyzése + A minőség változások alkalmazása az összes videóra. + A minőség változások alkalmazása csak a jelenlegi videóra. Mutass egy felugró értesítést Egy felugró értesítés fog látszani, amikor megváltozik az alapértelmezett videó minőség. Nem fog felugró értesítés látszani, amikor megváltozik az alapértelmezett videó minőség. Régi videóminőség menü visszaállítása - A régi videóminőség menü jelenik meg - A régi videóminőség menü nem jelenik meg + A régi videóminőség menü látható. + A régi videóminőség menü nem látható. Lejátszási sebesség zenéhez kiválasztás elrejtése Az alapértelmezett lejátszási sebesség le van tiltva zene lejátszásnál. Az alapértelmezett lejátszási sebesség engedélyezett zene lejátszásnál. @@ -1451,11 +1451,12 @@ Info: • Amikor a videó elindul, kb. 0,3 másodperces késés van. • Nem vonatkozik HDR videókra, élő stream videókra, vagy 15 másodpercnél rövidebb videókra." A beállítás bekapcsolása videolejátszási problémákat okozhat. - Pirítós mutatása átugoráskor - Felugró értesítés látható. - A felugró értesítés nem látható. + Felugró üzenet mutatása átugoráskor + A felugró üzenet látható. + A felugró üzenet nem látható. Eszközméret hamisítása - "Meghamisítja az eszköz méreteit annak érdekében, hogy feloldjon olyan jobb videóminőséget, amely esetleg nem érhető el az eszközön." + "A maximális értékre hamisítja az eszköz méreteit. +Előfordulhat, hogy a jó minőség feloldódik bizonyos videóknál, amelyek nagy eszközméretet igényelnek, de nem minden videónál." VP9 kodek letiltása "A VP9 kodek le van tiltva. @@ -1469,7 +1470,7 @@ Info: "Erőteljesen elutasítja a szoftveres AV1 codec válaszát. Egy másik kodek kerül alkalmazásra kb. 20 másodperc pufferezés után." Az alapfolyamat kb. 20 másodpercig pufferez. - Alapértelmezett sebesség módosítva: %s + Az alapértelmezett sebesség módosítva: %s. Az alapértelmezett videó minőség mobil hálózaton: %s. Nem sikerült beállítani a videóminőséget. Az alapértelmezett videó minőség Wi-Fi hálózaton: %s. @@ -1485,28 +1486,28 @@ Egy másik kodek kerül alkalmazásra kb. 20 másodperc pufferezés után.""A Shorts videók nem tetszései láthatóak. Korlátozás: A nem tetszések lehet nem jelennek meg kijelentkezett felhasználóval vagy inkognitó módban." - A nem tetszések el vannak rejtve a Shorts videóknál - Nem tetszések százalékban - A nem tetszések százalékban jelennek meg - A nem tetszések számként jelennek meg + A nem tetszések el vannak rejtve a Shorts-okban. + Nem tetszések megjelenítése százalékban + A nem tetszések százalékban láthatóak. + A nem tetszések számként láthatóak. Kompakt tetszik gomb - A tetszik gomb minimális szélességre formázva - A tetszik gomb a legjobb megjelenésre formázva + A tetszik gomb minimális szélességre formázva. + A tetszik gomb a legjobb megjelenésre formázva. Becsült kedvelések megjelenítése A becsült kedvelések láthatóak. A becsült kedvelések el vannak rejtve. Üzenet megjelenítése, ha az API nem elérhető - Üzenet megjelenítése, ha a Return YouTube Dislike nem elérhető - Nem jelenik meg üzenet, ha a Return YouTube Dislike nem elérhető + Üzenet megjelenítése, ha a Return YouTube Dislike nem elérhető. + Nem jelenik meg üzenet, ha a Return YouTube Dislike nem elérhető. - Rólunk + Névjegy ReturnYouTubeDislike.com - Az adatokat a Return YouTube Dislike API biztosítja. További információért koppintson ide - A nem tetszik funkció átmenetileg nem elérhető - A nem tetszik funkció nem elérhető (állapot: %d) - A nem tetszik funkció nem elérhető - A nem tetszik funkció nem elérhető (%s) - Töltse újra a videót a Return YouTube Dislike-hoz + Az adatokat a Return YouTube Dislike API biztosítja. További információért koppintson ide. + A nem tetszések átmenetileg nem elérhetőek (API időtúllépés). + A nem tetszések nem elérhetőek (állapot: %d). + A nem tetszik funkció nem elérhető (ügyfél API korlát elérve). + A nem tetszik funkció nem elérhető (%s). + Töltse újra a videót, hogy szavazhasson a Return YouTube Dislike segítségével Rejtett YouTube-felhasználónév visszaadása @@ -1528,37 +1529,37 @@ Kattintson az API-kulcs kiadás folyamatának megtekintéséhez." YouTube Data API v3 fejlesztői kulcs kiadás 1. Nyissa meg a(z) <a href=%1$s>Új projekt létrehozását</a>.<br>2. Kattintson a <b>LÉTREHOZÁS</b> gomb.<br>3. Lépj a <a href=%2$s>YouTube Data API v3</a> oldalára.<br>4. Kattintson az <b>Engedélyezés</b> gombra.<br>5. Kattintson a <b>HITELESÍTÉSI ADATOK LÉTREHOZÁSA</b> gombra.<br>6. Válassza ki a <b>Nyilvános adatok</b> lehetőség.<br>7. Kattintson a <b>KÖVETKEZŐ</b> gombra.<br>8. Másolja ki az API-kulcsot.<br><br>※ Az API-kulcsot soha ne ossza meg másokkal, így az nem szerepel az importálási/exportálási beállításokban. - Szponzor Blokk - SponsorBlock bekapcsolása - A SponsorBlock egy közösségi rendszer a zavaró részek kihagyására a YouTube videókon + SponsorBlock + SponsorBlock engedélyezése + A SponsorBlock egy közösségi rendszer a YouTube videók zavaró részének kihagyásához. Megjelenés - Szavazás gomb megjelenítése - Szegmens szavazás gomb megjelenítve - Szegmens szavazás gomb elrejtve + Szavazógomb megjelenítése + A szegmens szavazógomb látható. + A szegmens szavazógomb nem látható. Kompakt kihagyás gomb használata - A kihagyás gomb minimális szélességre formázva + A kihagyás gomb minimális szélességre formázva. A kihagyás gomb a legjobb megjelenésre formázva Automatikusan elrejti a kihagyás gombot - A kihagyás gomb néhány másodperc után eltűnik - A kihagyás gomb a teljes szakasz alatt megjelenik + A kihagyás gomb néhány másodperc után eltűnik. + A kihagyás gomb a teljes szakasz alatt megjelenik. Felugró üzenet megjelenítése az automatikusan kihagyott szakaszoknál - Felugró üzenet megjelenítése, ha a szakasz automatikusan ki lett hagyva. Koppintson ide egy példa megtekintéséhez - Felugró üzenet nem látható. Koppintson ide egy példa megtekintéséhez - A videó hosszának megjelenítése szegmensek nélkül - A videó hossza mínusz minden szegmens, zárójelben a teljes videó hossza mellett - A videó teljes hossza látható + Felugró üzenet megjelenítése szakasz automatikus kihagyásakor. Koppintson ide egy példa megtekintéséhez. + Felugró üzenet nem látható. Koppintson ide egy példa megtekintéséhez. + Videó hosszának megjelenítése szegmensek nélkül + A videó teljes hossza mellett zárójelben látható a szegmensek nélküli hossza. + A videó teljes hossza látható. - A szegmens viselkedésének módosítása + Szegmens viselkedésének módosítása Szponzor - Fizetett promóció, vagy közvetlen reklám. Nem önpromóció, vagy ingyenes említése ügyeknek/tartalomkészítőknek/weboldalaknak/termékeknek amik tetszenek nekik - Nem fizetett hirdetés/önpromóció - Hasonló a „szponzorhoz”, csak ez nem fizetett, vagy saját promóció. Beletartoznak a saját árucikkek, adományok, illetve információk azokról, akikkel együttműködtek + Fizetett promóció, link vagy közvetlen reklám. Nem önpromóció, vagy ingyenes említése ügyeknek/tartalomkészítőknek/weboldalaknak/termékeknek amik tetszenek nekik. + Nem fizetett hirdetés / Önpromóció + Hasonló a szponzorhoz, csak ez nem fizetett, vagy saját promóció. Beletartoznak a saját árucikkek, adományok, illetve információk azokról, akikkel együttműködtek. Interakció emlékeztető (Feliratkozás) Egy rövid emlékeztető arról, hogy like-oljunk, iratkozzunk fel, vagy kövessük őket a tartalom közben. Ha ez hosszabb vagy egy adott témáról szól, inkább az önpromóció alá tartozik. Kiemelt - A videónak azon része, amit a legtöbben keresnek - Megszakítás/Intro animáció + A videónak azon része, amit a legtöbben keresnek. + Megszakítás / Intro animáció Egy részlet tartalom nélkül. Lehet szünet, álló képkocka, vagy ismétlődő animáció. Nem használandó információt tartalmazó átmeneteknél Záróképernyő/Köszönetek Stáblista, vagy amikor megjelennek a YouTube zárókártyák. Nem tartozik bele az információt tartalmazó összegzés @@ -1569,68 +1570,68 @@ Kattintson az API-kulcs kiadás folyamatának megtekintéséhez." Zene: zenementes rész Csak zenei videókhoz használható. Zenei videók zene nélküli részei, amelyek még nem tartoznak más kategóriába Kihagyás - Kiemelt + Kiemelt rész Szponzor kihagyása Promóció kihagyása Interakció kihagyása - Ugrás az kiemelthez + Kiemelt rész kihagyása Intro kihagyása Szünet kihagyása Szünet kihagyása Outro kihagyása Előnézet kihagyása Előnézet kihagyása - Recap kihagyása + Összefoglaló kihagyása Töltelékrész kihagyása Nem zenei rész kihagyása Szakasz kihagyása - Szponzor kihagyva - Önpromóció kihagyva - Zavaró emlékeztető kihagyva - Kihagyva a kiemelthez - Intro kihagyva - Szünet kihagyva - Szünet kihagyva - Outro kihagyva - Bevezető kihagyva - Bevezető kihagyva - Recap kihagyva - Töltelékrész kihagyva - Zenementes rész kihagyva - Beküldésre váró rész kihagyva - Több szakasz kihagyva + Szponzor kihagyva. + Önpromóció kihagyva. + Zavaró emlékeztető kihagyva. + Kiemelt rész kihagyva. + Intro kihagyva. + Szünet kihagyva. + Szünet kihagyva. + Outro kihagyva. + Bevezető kihagyva. + Bevezető kihagyva. + Összefoglaló kihagyva. + Töltelékrész kihagyva. + Zenementes rész kihagyva. + Beküldésre váró rész kihagyva. + Több szakasz kihagyva. Automatikus kihagyás Automatikus kihagyás egyszer Kihagyás gomb megjelenítése Megjelenítés a folyamatsávban Letiltás Szín: - A szín megváltoztatva - Szín alaphelyzetbe - Érvénytelen színkód + A szín megváltoztatva. + A szín alaphelyzetbe. + A színkód érvénytelen. Visszaállítás - Színek visszaállítása + Szín visszaállítása A beállításokat a vágólapra másoltuk. Új szegmensek létrehozása - Az új szegmens létrehozása gomb megjelenítése - Az új szegmens létrehozása gomb megjelenik - Az új szegmens létrehozása gomb nem jelenik meg + Új szegmens létrehozása gomb megjelenítése + Az új szegmens létrehozása gomb látható. + Az új szegmens létrehozása gomb nem látható. Új szegmens léptetés beállítása - Ezredmásodpercek száma, ameddig az időbeállító gombok léptetnek új szegmensek létrehozásakor - Az értéknek pozitív számnak kell lennie + Az ezredmásodpercek száma, ameddig az időbeállító gombok léptetnek új szegmensek létrehozásakor. + Az értéknek pozitív számnak kell lennie. Irányelvek megtekintése - Az irányelvek tippeket és szabályokat tartalmaznak a szegmensek beküldésével kapcsolatban + Az irányelvek szabályokat és ötleteket tartalmaznak a szegmensek beküldésével kapcsolatban. Kövesse az irányelveket - Olvassa el a SponsorBlock irányelveket szegmensek beküldése előtt + Olvassa el a SponsorBlock irányelveket szegmensek beküldése előtt. Már elolvastam Mutasd Általános Üzenet megjelenítése, ha az API nem elérhető - Üzenet látható, ha a SponsorBlock nem elérhető - Nem látható üzenet, ha a SponsorBlock nem elérhető - Átugrásszámláló bekapcsolása + Üzenet látható, ha a SponsorBlock nem elérhető. + Nem látható üzenet, ha a SponsorBlock nem elérhető. + Átugrások számolásának engedélyezése Értesíti a SponsorBlock ranglistáját, hogy mennyi időt takarított meg. Minden egyes szakasz kihagyásakor üzenetet küld a ranglistának A kihagyások számának követése nem engedélyezett Minimális szegmens időtartam @@ -1715,6 +1716,8 @@ Kattintson az API-kulcs kiadás folyamatának megtekintéséhez." Az adatokat a SponsorBlock API biztosítja. Koppintson ide, ha többet szeretne megtudni és megtekintené a letöltéseket más platformokra Vegyes + QUIC protokoll letiltása + "A CronetEngine QUIC protokoll letiltása." Hibakeresési naplózás engedélyezése A hibakeresési napló engedélyezve van. A hibakeresési napló le van tiltva. @@ -1727,6 +1730,8 @@ Kattintson az API-kulcs kiadás folyamatának megtekintéséhez." Közvetlen link megnyitások engedélyezése Az URL átirányítások kikerülése. Az alapértelmezett átirányítási rendet követi. + Megosztási linkek tisztítása + Linkek megosztásakor eltávolítja a nyomkövetés lekérdezési paramétereket az URL-ekből. Alapértelmezett program beállítások megnyitása A YouTube linkek megnyitásához az RVX-ben engedélyezze az \'Támogatott linkek megnyitása\' és engedélyezze a támogatott webcímeket. GmsCore megnyitása @@ -1735,12 +1740,12 @@ Kattintson az API-kulcs kiadás folyamatának megtekintéséhez." Művelet szükséges "A MicroG GmsCore nem rendelkezik engedéllyel, hogy a háttérben futhasson.\n\nKövesse a \"Don't kill my app\" útmutatót a telefonjához és alkalmazza a leírtakat a MicroG telepítésre.\n\nEz szükséges az alkalmazás működéséhez." Webhely megnyitása - "A hibák megelőzése érdekében a MicroG GmsCore akkuoptimalizálását ki kell kapcsolni.\n\nKoppintson a folytatás gombra és kapcsolja ki az akkuoptimalizálást." + "A GmsCore akkumulátor-optimalizálását ki kell kapcsolni a problémák megelőzése érdekében. + +Az akkumulátor-optimalizálás letiltása nem befolyásolja negatívan az akkumulátor használatát. + +Kattints a folytatás gombra és kapcsold ki az akkumulátor-optimalizálásokat." Folytatás - Megosztási linkek tisztítása - Linkek megosztásakor eltávolítja a nyomkövetés lekérdezési paramétereket az URL-ekből. - QUIC protokoll letiltása - "A CronetEngine QUIC protokoll letiltása." Megosztási lap módosítása A rendszer megosztási lap van használatban. Az app-on belüli megosztási lap van használatban. @@ -1762,7 +1767,7 @@ Kattintson az API-kulcs kiadás folyamatának megtekintéséhez." A beállítások exportálása sikertelen. A beállítások exportálása sikeres. Importálás - Másol + Másolás A beállítások importálása sikertelen. Beállítások visszaállítása alapértelmezettre. A beállítások sikeresen importálva. @@ -1806,7 +1811,7 @@ Az AVC maximális felbontása 1080p, az Opus hangkodek nem érhető el, és a vi A BotGuard által kibocsátott PoToken egy megbízható böngészőben. VisitorData használatához A BotGuard által kibocsátott VisitorData egy megbízható böngészőben. - A PoTokenről / VisitorData-ról + A PoToken-ről / VisitorData-ról "Néhány kliensnek PoToken és VisitorData szükséges az adatok érvényes folyamatos adatátvitelére adott válaszhoz. Ha az iOS-t próbálja alapértelmezett kliensként használni, szüksége lehet ezekre az értékekre. @@ -1845,6 +1850,6 @@ Kattintson a további információkért." YouTube Alap Kizárva - Befoglalt + Beleértve Alap diff --git a/patches/src/main/resources/youtube/translations/it-rIT/strings.xml b/patches/src/main/resources/youtube/translations/it-rIT/strings.xml index 73d0687d0..9883ed287 100644 --- a/patches/src/main/resources/youtube/translations/it-rIT/strings.xml +++ b/patches/src/main/resources/youtube/translations/it-rIT/strings.xml @@ -30,12 +30,12 @@ Si prega di scaricare %2$s dal sito web." Nascondi le sezioni del merchandising Le sezioni del merchandising sono nascoste. Le sezioni del merchandising sono visibili. - Nascondi lo scaffale dei prodotti - Lo scaffale dei prodotti è nascosto. - Lo scaffale dei prodotti è visibile. Nascondi l\'etichetta della promozione a pagamento L\'etichetta della promozione a pagamento è nascosta. L\'etichetta della promozione a pagamento è visibile. + Nascondi lo scaffale dei prodotti + Lo scaffale dei prodotti è nascosto. + Lo scaffale dei prodotti è visibile. Nascondi il banner di avviso promozionale Il banner di avviso promozionale è nascosto. Il banner di avviso promozionale è visibile. @@ -57,10 +57,10 @@ Si prega di scaricare %2$s dal sito web." Thumbnails alternativi Scheda Home - Scheda Iscrizioni - Scheda Tu Playlist e video consigliati Risultati di ricerca + Scheda Iscrizioni + Scheda Tu Thumbnails originali DeArrow e thumbnails originali DeArrow e catture statiche @@ -98,6 +98,9 @@ Tocca qui per saperne di più su DeArrow." Nascondi gli album Gli album sono nascosti. Gli album sono visibili. + Nascondi il pulsante Sottotitoli + Il pulsante Sottotitoli è nascosto. + Il pulsante Sottotitoli è visibile. Nascondi lo scaffale a carosello "Nasconde i seguenti scaffali: • Ultime notizie @@ -109,21 +112,12 @@ Tocca qui per saperne di più su DeArrow." Nascondi lo scaffale dei chip Lo scaffale dei chip è nascosto. Lo scaffale dei chip è visibile. - Nascondi il chip espandibile sotto i video - Il chip espandibile sotto i video è nascosto. - Il chip espandibile sotto i video è visibile. + Nascondi i chip espandibili sotto i video + I chip espandibili sotto i video sono nascosti. + I chip espandibili sotto i video sono visibili. Nascondi gli scaffali espandibili Gli scaffali espandibili sono nascosti. Gli scaffali espandibili sono visibili. - Nascondi il pulsante Sottotitoli - Il pulsante Sottotitoli è nascosto. - Il pulsante Sottotitoli è visibile. - Nascondi la barra di ricerca - La barra di ricerca è nascosta. - La barra di ricerca è visibile. - Nascondi i sondaggi - I sondaggi sono nascosti. - I sondaggi sono visibili. Nascondi il pulsante fluttuante Il pulsante fluttuante è nascosto. Il pulsante fluttuante è visibile. @@ -151,6 +145,12 @@ Tocca qui per saperne di più su DeArrow." Nascondi il pulsante Mostra Altro Il pulsante Mostra Altro è nascosto. Il pulsante Mostra Altro è visibile. + Nascondi la barra di ricerca + La barra di ricerca è nascosta. + La barra di ricerca è visibile. + Nascondi i sondaggi + I sondaggi sono nascosti. + I sondaggi sono visibili. Nascondi il carosello delle iscrizioni Il carosello delle iscrizioni è nascosto. Il carosello delle iscrizioni è visibile. @@ -180,9 +180,6 @@ Tocca qui per saperne di più su DeArrow." "Shorts Playlist Negozio" - Nascondi il pulsante Esplora Negozio - Il pulsante Esplora Negozio è nascosto. - Il pulsante Esplora Negozio è visibile. Nascondi lo scaffale degli abbonati Lo scaffale degli abbonati è nascosto. Lo scaffale degli abbonati è visibile. @@ -192,6 +189,9 @@ Negozio" Nascondi lo scaffale Per Te Lo scaffale Per Te è nascosto. Lo scaffale Per Te è visibile. + Nascondi il pulsante Esplora Negozio + Il pulsante Esplora Negozio è nascosto. + Il pulsante Esplora Negozio è visibile. Post della community Nascondi o mostra i post della community nelle schede e nel canale. @@ -217,6 +217,9 @@ Negozio" Nascondi i video in base a parole chiave o visualizzazioni. Filtro per parola chiave + Nascondi i commenti in base a parole chiave + I commenti sono filtrati. + I commenti non sono filtrati. Nascondi i video della scheda Home in base a parole chiave I video della scheda Home sono filtrati. I video della scheda Home non sono filtrati. @@ -226,9 +229,6 @@ Negozio" Nascondi i video della scheda Iscrizioni in base a parole chiave I video della scheda Iscrizioni sono filtrati. I video della scheda Iscrizioni non sono filtrati. - Nascondi i commenti in base a parole chiave - I commenti sono filtrati. - I commenti non sono filtrati. Parole chiave da nascondere "L'elenco delle parole chiave e frasi da nascondere, separate da nuove righe. @@ -251,12 +251,12 @@ Note: La parola chiave nasconderà tutti i video: %s Video consigliati + Nascondi i video con poche visualizzazioni + Nascondi i video con meno di 1.000 visualizzazioni dalla scheda Home che sono stati caricati dai canali a cui non sei iscritto. Nascondi i video consigliati "Nasconde i seguenti video consigliati con: • Tag \"Riservato agli abbonati\". • Frasi come \"Le persone hanno guardato anche questo video\" sotto." - Nascondi i video con poche visualizzazioni - Nascondi i video con meno di 1.000 visualizzazioni dalla scheda Home che sono stati caricati dai canali a cui non sei iscritto. Filtro sul numero di visualizzazioni Nascondi i video della scheda Home per visualizzazioni @@ -290,6 +290,12 @@ Se l'interfaccia della schermata del riproduttore cambia a causa di modifiche la Numero massimo di interfacce Generale + Cambia l\'interfaccia + Originale + Telefono + Telefono (Massimo 480 dp) + Tablet + Tablet (Minimo 600 dp) Cambia la scheda iniziale Esplora canali Apprendimento @@ -342,12 +348,6 @@ Nota: il pulsante Indietro della barra degli strumenti potrebbe non funzionare." Rimuovi la finestra sulla discrezione dello spettatore "Rimuove la finestra sulla discrezione dello spettatore. Nota: questo non bypassa la restrizione di età, ma la accetta automaticamente." - Cambia l\'interfaccia - Originale - Telefono - Telefono (Massimo 480 dp) - Tablet - Tablet (Minimo 600 dp) Attiva il camuffamento della versione dell\'app Il camuffamento della versione dell\'app è attivato. Il camuffamento della versione dell\'app è disattivato. @@ -393,12 +393,12 @@ Nota: alcuni componenti potrebbero non essere nascosti." Sovrascrive l\'azione dei pulsanti Scarica. Pulsanti Scarica - Sovrascrivi il pulsante Scarica Video - Il pulsante Scarica Video nativo apre il downloader esterno. - Il pulsante Scarica Video nativo apre il downloader nativo. Sovrascrivi il pulsante Scarica Playlist Il pulsante Scarica Playlist nativo è sempre visibile e nelle playlist pubbliche apre il downloader esterno. Se è visibile, il pulsante Scarica Playlist nativo apre il downloader nativo. + Sovrascrivi il pulsante Scarica Video + Il pulsante Scarica Video nativo apre il downloader esterno. + Il pulsante Scarica Video nativo apre il downloader nativo. Nome del pacchetto del downloader esterno delle playlist Il nome del pacchetto dell\'app di download esterna installata, ad esempio YTDLnis. @@ -623,9 +623,6 @@ Tocca e tieni premuto per aprire le impostazioni di RVX." Opacità personalizzata della sovrapposizione del riproduttore Il valore dell\'opacità è tra 0 e 100, dove 0 è trasparente. L\'opacità della sovrapposizione del riproduttore deve essere tra 0 e 100 - Disattiva il pannello a comparsa automatico - Il pannello a comparsa automatico è disattivato. - Il pannello a comparsa automatico è attivato. Disattiva il cambio automatico alle playlist miste Il cambio automatico alle playlist miste è disattivato. "Il cambio automatico alle playlist miste è attivato quando è attivata anche la riproduzione automatica. @@ -633,6 +630,9 @@ Tocca e tieni premuto per aprire le impostazioni di RVX." La riproduzione automatica può essere modificata seguendo questo percorso: Impostazioni → Riproduzione automatica → Telefono cellulare/tablet" L\'attivazione di questa impostazione disattiverà il cambio automatico alle playlist miste durante la riproduzione di musica con la riproduzione automatica attiva. + Disattiva il pannello a comparsa automatico + Il pannello a comparsa automatico è disattivato. + Il pannello a comparsa automatico è attivato. Disattiva la sovrapposizione della velocità "Disattiva la velocità di riproduzione 2x quando tieni premuto. @@ -663,12 +663,6 @@ Note: Nascondi i pannelli informativi I pannelli informativi sono nascosti. I pannelli informativi sono visibili. - Nascondi la sezione Riepilogo della Chat nella chat live - La sezione Riepilogo della Chat nella chat live è nascosta. - La sezione Riepilogo della Chat nella chat live è visibile. - Nascondi i messaggi della chat live - I messaggi della chat live sono nascosti.\n\nNota: anche i messaggi della chat live degli Shorts saranno nascosti. - I messaggi della chat live sono visibili. Nascondi i pannelli medici I pannelli medici sono nascosti. I pannelli medici sono visibili. @@ -681,9 +675,6 @@ Note: Nascondi le azioni consigliate Le azioni consigliate sono nascoste. Le azioni consigliate sono visibili. - Nascondi le reazioni temporizzate - Le reazioni temporizzate sono nascoste. - Le reazioni temporizzate sono visibili. Nascondi la schermata finale del video consigliato "La schermata finale del video consigliato è nascosta quando la riproduzione automatica è disattivata. @@ -693,6 +684,9 @@ Impostazioni → Riproduzione automatica → Telefono cellulare/tablet" Salta il conto alla rovescia della riproduzione automatica Se la riproduzione automatica è attivata, il video successivo verrà riprodotto immediatamente. Se la riproduzione automatica è attivata, il video successivo verrà riprodotto al termine del conto alla rovescia. + Nascondi le reazioni temporizzate + Le reazioni temporizzate sono nascoste. + Le reazioni temporizzate sono visibili. Nascondi la sovrapposizione dello zoom La sovrapposizione dello zoom è nascosta. La sovrapposizione dello zoom è visibile. @@ -765,30 +759,36 @@ Impostazioni → Riproduzione automatica → Telefono cellulare/tablet" Nascondi il banner dei commenti dei membri Il banner dei commenti dei membri è nascosto. Il banner dei commenti dei membri è visibile. - Nascondi i link di ricerca evidenziati - i link di ricerca evidenziati sono nascosti. - I link di ricerca evidenziati sono visibili. Nascondi la sezione Commenti La sezione Commenti è nascosta. La sezione Commenti è visibile. Nascondi la sezione Commenti nella scheda Home La sezione Commenti è nascosta nella scheda Home. La sezione Commenti è visibile nella scheda Home. + Nascondi il pulsante Crea Shorts + Il pulsante Crea Shorts è nascosto. + Il pulsante Crea Shorts è visibile. + Nascondi i pulsanti Timestamp e Emoji + I pulsanti Timestamp e Emoji sono nascosti. + I pulsanti Timestamp e Emoji sono visibili. + Nascondi i link di ricerca evidenziati + i link di ricerca evidenziati sono nascosti. + I link di ricerca evidenziati sono visibili. + Nascondi i messaggi della chat live + I messaggi della chat live sono nascosti.\n\nNota: anche i messaggi della chat live degli Shorts saranno nascosti. + I messaggi della chat live sono visibili. + Nascondi la sezione Riepilogo della Chat nella chat live + La sezione Riepilogo della Chat nella chat live è nascosta. + La sezione Riepilogo della Chat nella chat live è visibile. Nascondi l\'anteprima dei commenti L\'anteprima dei commenti è nascosto. L\'anteprima dei commenti è visibile. Nascondi l\'anteprima del tipo di commento Questo non cambia la dimensione della sezione Commenti, rendendo possibile aprire il replay della chat live nella sezione commenti. Questo cambia la dimensione della sezione Commenti, rendendo impossibile aprire il replay della chat live nella sezione commenti. - Nascondi il pulsante Crea Shorts - Il pulsante Crea Shorts è nascosto. - Il pulsante Crea Shorts è visibile. Nascondi il pulsante Grazie Il pulsante Grazie è nascosto. Il pulsante Grazie è visibile. - Nascondi i pulsanti Timestamp e Emoji - I pulsanti Timestamp e Emoji sono nascosti. - I pulsanti Timestamp e Emoji sono visibili. Menù a comparsa Personalizza i componenti dei menù a comparsa nel riproduttore. @@ -880,9 +880,9 @@ Nota: il titolo scompare quando lo si tocca." Nascondi l\'anteprima della riproduzione automatica L\'anteprima della riproduzione automatica è nascosta. L\'anteprima della riproduzione automatica è visibile. - Nascondi il pulsante Replay Chat Live - Il pulsante Replay Chat Live è nascosto. - Il pulsante Replay Chat Live è visibile.\n\nNota: il pulsante appare a schermo intero quando si chiude la chat live. + Nascondi il pulsante Riproduzione Chat Live + Il pulsante Riproduzione Chat Live è nascosto. + Il pulsante Riproduzione Chat Live è visibile.\n\nNota: il pulsante appare a schermo intero quando si chiude la chat live. Nascondi la sezione Altri Video e i video correlati La sezione Altri Video e i video correlati sono nascosti. La sezione Altri Video e i video correlati sono visibili. @@ -1001,8 +1001,7 @@ Tocca e tieni premuto per aprire la finestra delle impostazioni della whitelist. "Tocca per generare una playlist di tutti i video del canale. Tocca e tieni premuto per annullare. -Nota: -• Potrebbe non funzionare con i video live." +Nota: potrebbe non funzionare con i video live." Genera la modalità playlist Tutti i contenuti (in ordine crescente di tempo) Tutti i contenuti (in ordine decrescente di tempo) @@ -1050,6 +1049,9 @@ Tocca e tieni premuto l'informazione mostrata per cambiare il tipo." Sostituisci l\'azione del timestamp Tocca per aprire la finestra della velocità di riproduzione o della qualità video. Tocca per mostrare il tempo rimanente. + Nascondi i capitoli + I capitoli sono nascosti. + I capitoli sono visibili. Attiva il colore personalizzato Il colore personalizzato è attivato. Il colore personalizzato è disattivato. @@ -1059,18 +1061,15 @@ Tocca e tieni premuto l'informazione mostrata per cambiare il tipo." Attiva il tocco Il tocco è attivato. Il tocco è disattivato. + Nascondi i nomi dei capitoli accanto al timestamp + I nomi dei capitoli accanto al timestamp sono nascosti. + I nomi dei capitoli accanto al timestamp sono visibili. Nascondi la barra di avanzamento La barra di avanzamento è nascosta. La barra di avanzamento è visibile. Nascondi la barra di avanzamento nei thumbnails dei video La barra di avanzamento nei thumbnails dei video è nascosta. La barra di avanzamento nei thumbnails dei video è visibile. - Nascondi i capitoli - I capitoli sono nascosti. - I capitoli sono visibili. - Nascondi i nomi dei capitoli accanto al timestamp - I nomi dei capitoli accanto al timestamp sono nascosti. - I nomi dei capitoli accanto al timestamp sono visibili. Nascondi il timestamp Il timestamp è nascosto. Il timestamp è visibile. @@ -1094,7 +1093,7 @@ Questa impostazione funziona meglio con una connessione internet molto veloce."< Nascondi la sezione Riepilogo Video Generato dall\'IA La sezione Riepilogo Video Generato dall\'IA è nascosta. La sezione Riepilogo Video Generato dall\'IA è visibile. - Nascondi le sezioni Musica, Giochi e Luoghi in Primo Piano + Nascondi le sezioni Musica, Giochi, Persone Menzionate e Luoghi in Primo Piano Le sezioni Musica, Giochi, Persone Menzionate e Luoghi in Primo Piano sono nascoste. Le sezioni Musica, Giochi, Persone Menzionate e Luoghi in Primo Piano sono visibili. Nascondi la sezione Capitoli @@ -1103,15 +1102,15 @@ Questa impostazione funziona meglio con una connessione internet molto veloce."< Nascondi la sezione Come È Stato Creato Questo Contenuto La sezione Come È Stato Creato Questo Contenuto è nascosto. La sezione Come È Stato Creato Questo Contenuto è visibile. + Nascondi la sezione Podcast + La sezione Podcast è nascosta. + La sezione Podcast è visibile. Nascondi la sezione Schede Informative La sezione Schede Informative è nascosta. La sezione Schede Informative è visibile. Nascondi la sezione Momenti Chiave La sezione Momenti Chiave è nascosta. La sezione Momenti Chiave è mostrata. - Nascondi la sezione Podcast - La sezione Podcast è nascosta. - La sezione Podcast è visibile. Nascondi i link per lo shopping I link per lo shopping sono nascosti. I link per lo shopping sono visibili. @@ -1154,18 +1153,18 @@ Nota: solo gli scaffali con l'intestazione Shorts nella scheda Home sono nascost Nascondi nella scheda Home e nei video correlati Sono nascosti nella scheda Home e nei video correlati. Sono visibili nella scheda Home e nei video correlati. - Nascondi nella scheda Iscrizioni - Sono nascosti nella scheda Iscrizioni. - Sono visibili nella scheda Iscrizioni. Nascondi nei risultati di ricerca Sono nascosti nei risultati di ricerca. Sono visibili nei risultati di ricerca. + Nascondi nella scheda Iscrizioni + Sono nascosti nella scheda Iscrizioni. + Sono visibili nella scheda Iscrizioni. Nascondi nella cronologia delle visualizzazioni Sono nascosti nella cronologia delle visualizzazioni. Sono visibili nella cronologia delle visualizzazioni. - Cambia lo stato di ripetizione Cambia lo stato di ripetizione in background + Cambia lo stato di ripetizione Riproduzione automatica Predefinito Pausa @@ -1173,77 +1172,77 @@ Nota: solo gli scaffali con l'intestazione Shorts nella scheda Home sono nascost Riproduttore Personalizza i componenti del riproduttore degli Shorts. + Nascondi la barra del canale + La barra del canale è nascosta. + La barra del canale è visibile. + Nascondi l\'etichetta del link del video + L\'etichetta del link del video è nascosta. + L\'etichetta del link del video è visibile. + Nascondi i pannelli informativi + I pannelli informativi sono nascosti. + I pannelli informativi sono visibili. Nascondi il pulsante Abbonati Il pulsante Abbonati è nascosto. Il pulsante Abbonati è visibile. - Nascondi il pulsante Iscriviti - Il pulsante Iscriviti è nascosto. - Il pulsante Iscriviti è visibile. + Nascondi l\'intestazione della chat live + L\'intestazione della chat live è nascosta.\n\nNota: il pulsante Indietro dell\'intestazione non verrà nascosto. + L\'intestazione della chat live è visibile. + Nascondi l\'etichetta della promozione a pagamento + L\'etichetta della promozione a pagamento è nascosta. + L\'etichetta della promozione a pagamento è visibile. Nascondi l\'intestazione in pausa L\'intestazione in pausa è nascosta. L\'intestazione in pausa è visibile. Nascondi i pulsanti di sovrapposizione in pausa I pulsanti di sovrapposizione in pausa sono nascosti. I pulsanti di sovrapposizione in pausa sono visibili. - Nascondi il pulsante Tendenze - Il pulsante Tendenze è nascosto. - Il pulsante Tendenze è visibile. Nascondi il pulsante Prodotti Il pulsante Prodotti è nascosto. Il pulsante Prodotti è visibile. - Nascondi gli adesivi - Gli adesivi sono nascosti. - Gli adesivi sono visibili. - Nascondi l\'etichetta della promozione a pagamento - L\'etichetta della promozione a pagamento è nascosta. - L\'etichetta della promozione a pagamento è visibile. - Nascondi i pannelli informativi - I pannelli informativi sono nascosti. - I pannelli informativi sono visibili. - Nascondi l\'intestazione della chat live - L\'intestazione della chat live è nascosta.\n\nNota: il pulsante Indietro dell\'intestazione non verrà nascosto. - L\'intestazione della chat live è visibile. - Nascondi la barra del canale - La barra del canale è nascosta. - La barra del canale è visibile. - Nascondi il titolo - Il titolo è nascosto. - Il titolo è visibile. Nascondi l\'etichetta dei metadati dell\'audio L\'etichetta dei metadati dell\'audio è nascosta. L\'etichetta dei metadati dell\'audio è visibile. - Nascondi l\'etichetta del link del video - L\'etichetta del link del video è nascosta. - L\'etichetta del link del video è visibile. + Nascondi gli adesivi + Gli adesivi sono nascosti. + Gli adesivi sono visibili. + Nascondi il pulsante Iscriviti + Il pulsante Iscriviti è nascosto. + Il pulsante Iscriviti è visibile. + Nascondi il pulsante Tendenze + Il pulsante Tendenze è nascosto. + Il pulsante Tendenze è visibile. + Nascondi il titolo + Il titolo è nascosto. + Il titolo è visibile. Azioni suggerite Nascondi il pulsante Green Screen Il pulsante Green Screen è nascosto. Il pulsante Green Screen è visibile. + Nascondi il pulsante Posizione + Il pulsante Posizione è nascosto. + Il pulsante Posizione è visibile. Nascondi il pulsante Salva Musica Il pulsante Salva Musica è nascosto. Il pulsante Salva Musica è visibile. + Nascondi il pulsante Suggerimenti di Ricerca + Il pulsante Suggerimenti di Ricerca è nascosto. + Il pulsante Suggerimenti di Ricerca è visibile. Nascondi il pulsante Negozio Il pulsante Negozio è nascosto. Il pulsante Negozio è visibile. Nascondi il pulsante Super Grazie Il pulsante Super Grazie è nascosto. Il pulsante Super Grazie è visibile. - Nascondi il pulsante Usa Questa Traccia - Il pulsante Usa Questa Traccia è nascosto. - Il pulsante Usa Questa Traccia è visibile. - Nascondi il pulsante Usa Template - Il pulsante Usa Template è nascosto. - Il pulsante Usa Template è visibile. - Nascondi il pulsante Posizione - Il pulsante Posizione è nascosto. - Il pulsante Posizione è visibile. - Nascondi il pulsante Suggerimenti di Ricerca - Il pulsante Suggerimenti di Ricerca è nascosto. - Il pulsante Suggerimenti di Ricerca è visibile. Nascondi i prodotti taggati I prodotti taggati sono nascosti. I prodotti taggati sono visibili. + Nascondi il pulsante Usa Template + Il pulsante Usa Template è nascosto. + Il pulsante Usa Template è visibile. + Nascondi il pulsante Usa Questa Traccia + Il pulsante Usa Questa Traccia è nascosto. + Il pulsante Usa Questa Traccia è visibile. Pulsanti di azione Nascondi il pulsante Mi Piace @@ -1269,9 +1268,6 @@ Nota: solo gli scaffali con l'intestazione Shorts nella scheda Home sono nascost Disattiva le animazioni sopra il pulsante Mi Piace Le animazioni sopra il pulsante Mi Piace sono disattivate. Le animazioni sopra il pulsante Mi Piace sono attivate. - Nascondi lo sfondo dei pulsanti Riproduci e Pausa - Lo sfondo dei pulsanti Riproduci e Pausa è nascosto. - Lo sfondo dei pulsanti Riproduci e Pausa è visibile. Animazione del gesto Doppio Tocco Originale Pollice in su @@ -1279,6 +1275,9 @@ Nota: solo gli scaffali con l'intestazione Shorts nella scheda Home sono nascost Cuore Cuore (Tinta) Nascosta + Nascondi lo sfondo dei pulsanti Riproduci e Pausa + Lo sfondo dei pulsanti Riproduci e Pausa è nascosto. + Lo sfondo dei pulsanti Riproduci e Pausa è visibile. Azioni personalizzate Attiva le azioni personalizzate nei menù a comparsa @@ -1294,14 +1293,14 @@ Note: Tocca e tieni premuto il pulsante Altro per visualizzare la finestra delle azioni personalizzate." Le azioni personalizzate nella barra degli strumenti sono disattivate. Azioni personalizzate - Copia l\'URL del video - Mostra il menù Copia l\'URL del Video - Il menù Copia l\'URL del Video è visibile. - Il menù Copia l\'URL del Video è nascosto. Copia l\'URL del video con timestamp Mostra il menù Copia l\'URL del Video con Timestamp Il menù Copia l\'URL del Video con Timestamp è visibile. Il menù Copia l\'URL del Video con Timestamp è nascosto. + Copia l\'URL del video + Mostra il menù Copia l\'URL del Video + Il menù Copia l\'URL del Video è visibile. + Il menù Copia l\'URL del Video è nascosto. Downloader esterno Mostra il menù Downloader Esterno Il menù Downloader Esterno è visibile. @@ -1331,15 +1330,15 @@ Note: Margine inferiore del pannello Meta Configura lo spazio tra la barra di ricerca il pannello Meta, tra 0 e 64. Il margine inferiore del pannello Meta deve essere tra 0 e 64 - Nascondi la barra degli strumenti - La barra degli strumenti è nascosta. - La barra degli strumenti è visibile. Nascondi la barra di navigazione La barra di navigazione è nascosta. La barra di navigazione è visibile. Altezza in percentuale dello spazio vuoto Configura la percentuale di altezza dello spazio vuoto rimasto quando la barra di navigazione è nascosta, tra 0 e 100 (%). La percentuale di altezza deve essere tra 0 e 100 (%) + Nascondi la barra degli strumenti + La barra degli strumenti è nascosta. + La barra degli strumenti è visibile. Sostituisci l\'handle con il nome del canale Il nome del canale è visibile. L\'handle è visibile. @@ -1716,6 +1715,8 @@ Tocca qui per vedere come emettere una chiave API." I dati sono forniti dall\'API di SponsorBlock. Tocca qui per saperne di più e vedere i download per altre piattaforme. Varie + Disattiva il protocollo QUIC + "Disattiva il protocollo QUIC di CronetEngine." Attiva il registro del debug Il registro del debug è attivato. Il registro del debug è disattivato. @@ -1728,10 +1729,12 @@ Tocca qui per vedere come emettere una chiave API." Attiva l\'apertura diretta dei link Bypassando i reindirizzamenti degli URL. Seguendo la regola predefinita di reindirizzamento. + Sanitizza i link di condivisione + Rimuove i parametri di tracciamento dagli URL durante la condivisione dei link. Apri le impostazioni predefinite dell\'app Per aprire RVX da un\'applicazione esterna, abilita \"Apri collegamenti supportati\" e gli indirizzi web supportati. Apri GmsCore - Abilitare la messaggistica cloud per ricevere notifiche. + Attiva la messaggistica cloud per ricevere notifiche. GmsCore non è installato, installalo Azione necessaria "GmsCore non ha l'autorizzazione per essere eseguito in background. @@ -1744,10 +1747,6 @@ La disattivazione non influirà negativamente sul consumo della batteria. Tocca il pulsante Continua e consenti le modifiche di ottimizzazione." Continua - Sanitizza i link di condivisione - Rimuove i parametri di tracciamento dagli URL durante la condivisione dei link. - Disattiva il protocollo QUIC - "Disattiva il protocollo QUIC di CronetEngine." Cambia la schermata di condivisione Sistema Nativo diff --git a/patches/src/main/resources/youtube/translations/ja-rJP/strings.xml b/patches/src/main/resources/youtube/translations/ja-rJP/strings.xml index 82e87fb09..e24df8aaf 100644 --- a/patches/src/main/resources/youtube/translations/ja-rJP/strings.xml +++ b/patches/src/main/resources/youtube/translations/ja-rJP/strings.xml @@ -2,7 +2,7 @@ 動画プレーヤーのアクセシビリティコントロールを有効にしますか? - ユーザー補助サービスが有効化されているため、操作方法が変わります。 + ユーザー補助サービスが有効になっているため、操作方法が変わります。 ReVanced Extended 設定を検索 @@ -30,12 +30,12 @@ 商品欄を非表示 フィードに表示される商品広告を非表示にします。 フィードに表示される商品広告を非表示にします。 - ストア欄を非表示 - 動画のタイトルの下部にある「○○ストア」欄を非表示にします。 - 動画のタイトルの下部にある「○○ストア」欄を非表示にします。 有料プロモーションラベルを非表示 プレーヤー上に表示される「プロモーションを含みます」の文章を非表示にします。 プレーヤー上に表示される「プロモーションを含みます」の文章を非表示にします。 + ストア欄を非表示 + 動画のタイトルの下部にある「○○ストア」欄を非表示にします。 + 動画のタイトルの下部にある「○○ストア」欄を非表示にします。 プロモーションバナーを非表示 メンバーシップの更新や YouTube Premium の価格の値上げなどのプロモーションバナーを非表示にします。 メンバーシップの更新や YouTube Premium の価格の値上げなどのプロモーションバナーを非表示にします。 @@ -57,10 +57,10 @@ 代替サムネイル [ホーム] タブ - [登録チャンネル] タブ - [マイページ] タブ 再生リスト、おすすめ 検索結果 + [登録チャンネル] タブ + [マイページ] タブ オリジナルサムネイル DeArrow & オリジナルサムネイル DeArrow & 静止画サムネイル @@ -96,6 +96,9 @@ DeArrow の詳細については、ここをタップしてください。"アルバムカードを非表示 アーティストの概要欄の下部に表示されるアルバムカードを非表示にします。 アーティストの概要欄の下部に表示されるアルバムカードを非表示にします。 + 字幕ボタンを非表示 + フィードから字幕ボタンを非表示にします。 + フィードから字幕ボタンを非表示にします。 おすすめ欄を非表示 "以下の欄を非表示にします: ・ニュース速報 @@ -113,15 +116,6 @@ DeArrow の詳細については、ここをタップしてください。"展開可能な棚を非表示 検索結果にある、展開可能な棚を非表示にします。 検索結果にある、展開可能な棚を非表示にします。 - 字幕ボタンを非表示 - フィードから字幕ボタンを非表示にします。 - フィードから字幕ボタンを非表示にします。 - 検索バーを非表示 - フィードから検索バーを非表示にします。 - フィードから検索バーを非表示にします。 - アンケートを非表示 - ホームページと登録チャンネルページからアンケートを非表示にします。 - ホームページと登録チャンネルページからアンケートを非表示にします。 フローティングボタンを非表示 ホームフィードの右下にある「フィードを調整する」ボタンを非表示にします。 ホームフィードの右下にある「フィードを調整する」ボタンを非表示にします。 @@ -149,6 +143,12 @@ DeArrow の詳細については、ここをタップしてください。"「もっと表示」ボタンを非表示 動画を検索した際に、検索結果の動画の下に表示される「もっと表示」のボタンを非表示にします。 動画を検索した際に、検索結果の動画の下に表示される「もっと表示」のボタンを非表示にします。 + 検索バーを非表示 + フィードから検索バーを非表示にします。 + フィードから検索バーを非表示にします。 + アンケートを非表示 + ホームページと登録チャンネルページからアンケートを非表示にします。 + ホームページと登録チャンネルページからアンケートを非表示にします。 登録チャンネルのカルーセルを非表示 「登録チャンネル」タブの上部に表示される登録チャンネル一覧を非表示にします。 「登録チャンネル」タブの上部に表示される登録チャンネル一覧を非表示にします。 @@ -178,9 +178,6 @@ DeArrow の詳細については、ここをタップしてください。""ショート プレイリスト ストア" - 「ストアを見る」ボタンを非表示 - 「ストアを見る」ボタンを非表示にします。 - 「ストアを見る」ボタンを非表示にします。 メンバー欄を非表示 チャンネルページからメンバー欄を非表示にします。 チャンネルページからメンバー欄を非表示にします。 @@ -190,6 +187,9 @@ DeArrow の詳細については、ここをタップしてください。"おすすめ欄を非表示 おすすめ欄を非表示にします。 おすすめ欄を非表示にします。 + 「ストアを見る」ボタンを非表示 + 「ストアを見る」ボタンを非表示にします。 + 「ストアを見る」ボタンを非表示にします。 コミュニティ投稿 フィードとチャンネルのコミュニティの投稿を非表示または表示します。 @@ -215,6 +215,9 @@ DeArrow の詳細については、ここをタップしてください。"キーワードや再生回数で動画をフィルタリングします。 キーワードフィルター + コメントをフィルタリング + キーワードでコメントをフィルタリングします。 + キーワードでコメントをフィルタリングします。 ホームフィードをフィルタリング キーワードでホームフィード内の動画をフィルタリングします。 キーワードでホームフィード内の動画をフィルタリングします。 @@ -224,9 +227,6 @@ DeArrow の詳細については、ここをタップしてください。"登録チャンネルをフィルタリング キーワードで登録チャンネルの動画をフィルタリングします。 キーワードで登録チャンネルの動画をフィルタリングします。 - コメントをフィルタリング - キーワードでコメントをフィルタリングします。 - キーワードでコメントをフィルタリングします。 キーワードでフィルタリング "非表示にするキーワードやフレーズを入力します。(改行区切り) @@ -249,14 +249,14 @@ DeArrow の詳細については、ここをタップしてください。"キーワード「%1$s」は範囲が広すぎるため、すべての動画を非表示にします。 おすすめ動画 + 再生回数が少ない動画を非表示 + 登録していないチャンネルからアップロードされた、再生回数が 1,000 回未満の動画をホームフィードから非表示にします。 おすすめ動画を非表示 "以下のおすすめ動画を非表示にします: ・「メンバーシップ限定」タグの付いた動画 ・動画の下部に「他のユーザーも視聴しています」などのフレーズがある動画 ・登録していないチャンネルからアップロードされた、再生回数が 1,000 回未満の動画" - 再生回数が少ない動画を非表示 - 登録していないチャンネルからアップロードされた、再生回数が 1,000 回未満の動画をホームフィードから非表示にします。 再生回数フィルター ホームフィードをフィルタリング @@ -290,6 +290,12 @@ DeArrow の詳細については、ここをタップしてください。"オフセット 全般 + レイアウトを変更 + オリジナル + スマホ + スマホ(最大 480 dp) + タブレット + タブレット(最小 600 dp) 起動時のページを変更 チャンネルを探す コース / 教育 @@ -347,12 +353,6 @@ DeArrow の詳細については、ここをタップしてください。""年齢制限ダイアログを削除します。 注意: 年齢制限を回避することはできませんが、自動的に同意します。" - レイアウトを変更 - オリジナル - スマホ - スマホ(最大 480 dp) - タブレット - タブレット(最小 600 dp) アプリのバージョンを偽装 アプリのバージョンを偽装できます。 アプリのバージョンを偽装できます。 @@ -398,12 +398,12 @@ DeArrow の詳細については、ここをタップしてください。"YouTube アプリ内の「YouTube Music」ボタンを置換します。 ダウンロードボタン + プレイリストにダウンロードボタンを追加 + 「ダウンロード」ボタンで外部ダウンローダーを開きます。 + 「オフライン」ボタンで外部ダウンローダーを開きます。 「オフライン」ボタンを置換 「オフライン」ボタンで外部ダウンローダーを開きます。 「オフライン」ボタンで外部ダウンローダーを開きます。 - プレイリストにダウンロードボタンを追加 - 「ダウンロード」ボタンで外部ダウンローダーを開きます。 - 「ダウンロード」ボタンで外部ダウンローダーを開きます。 プレイリストの外部ダウンローダーのパッケージ名 NewPipe や YTDLnis などの、インストールされている外部ダウンローダーアプリのパッケージ名です。 @@ -626,13 +626,13 @@ DeArrow の詳細については、ここをタップしてください。"プレーヤーのオーバーレイのカスタム不透明度 透明度の値は 0 〜 100 の範囲で、 0 が透明です。 プレーヤーのオーバーレイの不透明度は 0 ~ 100 の間でなければなりません。デフォルト値にリセットします。 - プレーヤーのポップアップパネルを無効化 - 再生リストとライブチャットのパネルが自動で開くのを無効化します。 - 再生リストとライブチャットのパネルが自動で開くのを無効化します。 - ミックスプレイリストの切り替えを無効化 + ミックスプレイリストの自動切り替えを無効化 自動再生がオフの場合、音楽を再生した際に自動的にミックスプレイリストに切り替わるのを無効化できます。\n\n自動再生は YouTube の設定で変更できます: 「設定 → 自動再生 → 次の動画を自動再生」 "自動再生がオフの場合、音楽を再生した際にミックスプレイリストへの自動切り替えを無効化できます。\n\n自動再生は YouTube の設定で変更できます: 「設定 → 自動再生 → 次の動画を自動再生」" 自動再生がオフの場合、音楽を再生した際にミックスプレイリストへの自動切り替えを無効化できます。\n\n自動再生は YouTube の設定で変更できます: 「設定 → 自動再生 → 次の動画を自動再生」 + プレーヤーのポップアップパネルを無効化 + 再生リストとライブチャットのパネルが自動で開くのを無効化します。 + 再生リストとライブチャットのパネルが自動で開くのを無効化します。 再生速度のオーバーレイを無効化 "画面を長押しして2倍速で再生する機能を無効にします。 @@ -663,12 +663,6 @@ DeArrow の詳細については、ここをタップしてください。"情報パネルを非表示 フィード、検索、動画に表示される重要な情報(医療関係等)のパネルを非表示にします。 フィード、検索、動画に表示される重要な情報(医療関係等)のパネルを非表示にします。 - ライブチャットから AI による要約欄を非表示 - ライブのチャットから AI による要約欄を非表示にします。 - ライブのチャットから AI による要約欄を非表示にします。 - ライブチャットのコメントを非表示 - ライブチャットのコメントを非表示にします。\n\nこの設定は縦型のライブ配信にも適用されます。 - ライブチャットのコメントを非表示にします。\n\nこの設定は縦型のライブ配信にも適用されます。 医療情報パネルを非表示 医療情報パネルを非表示にします。 医療情報パネルを非表示にします。 @@ -681,15 +675,15 @@ DeArrow の詳細については、ここをタップしてください。"提案されるアクションを非表示 プレーヤー上の「Premium のコントロール」などの提案を非表示にします。 プレーヤー上の「Premium のコントロール」などの提案を非表示にします。 - リアクションを非表示 - Timed Reactions を非表示にします。 - Timed Reactions を非表示にします。 おすすめされる動画の終了画面を非表示 "自動再生がオフの場合、おすすめの動画は動画の終了画面で表示されません。\n\n自動再生は YouTube の設定で変更できます: 「設定 → 自動再生 → 次の動画を自動再生」" 自動再生がオフの場合、おすすめの動画は動画の終了画面で表示されません。\n\n自動再生は YouTube の設定で変更できます: 「設定 → 自動再生 → 次の動画を自動再生」 自動再生カウントダウンをスキップ 自動再生がオンの場合、次の動画をカウントダウンなしで再生します。 自動再生がオンの場合、次の動画をカウントダウンなしで再生します。 + リアクションを非表示 + Timed Reactions を非表示にします。 + Timed Reactions を非表示にします。 ズームオーバーレイを非表示 ズーム時のオーバーレイを非表示にします。 ズーム時のオーバーレイを非表示にします。 @@ -762,30 +756,36 @@ DeArrow の詳細については、ここをタップしてください。"「メンバーからのコメント」バナーを非表示 「メンバーからのコメント」バナーを非表示にします。 「メンバーからのコメント」バナーを非表示にします。 - ハイライト表示された検索リンクを非表示 - コメント欄のハイライト表示された検索リンク(虫眼鏡マークが付いている水色の文字)を非表示にします。 - コメント欄のハイライト表示された検索リンク(虫眼鏡マークが付いている水色の文字)を非表示にします。 コメント欄を非表示 コメント欄を非表示にします。 コメント欄を非表示にします。 ホームフィードのコメント欄を非表示 ホームフィードのコメント欄を非表示にします。 ホームフィードのコメント欄を非表示にします。 + ショートの作成ボタンを非表示 + 「ショートの作成」ボタンを非表示にします。 + 「ショートの作成」ボタンを非表示にします。 + タイムスタンプと絵文字ボタンを非表示 + タイムスタンプと絵文字のボタンを非表示にします。 + タイムスタンプと絵文字のボタンを非表示にします。 + ハイライト表示された検索リンクを非表示 + コメント欄のハイライト表示された検索リンク(虫眼鏡マークが付いている水色の文字)を非表示にします。 + コメント欄のハイライト表示された検索リンク(虫眼鏡マークが付いている水色の文字)を非表示にします。 + ライブチャットのコメントを非表示 + ライブチャットのコメントを非表示にします。\n\nこの設定は縦型のライブ配信にも適用されます。 + ライブチャットのコメントを非表示にします。\n\nこの設定は縦型のライブ配信にも適用されます。 + ライブチャットから AI による要約欄を非表示 + ライブのチャットから AI による要約欄を非表示にします。 + ライブのチャットから AI による要約欄を非表示にします。 コメントのプレビューを非表示 コメントのプレビューを非表示にします。 コメントのプレビューを非表示にします。 コメントのプレビューを非表示にする方法を設定 現在の設定: コメント欄を元のサイズに変更します。 現在の設定: コメント欄のサイズをコンパクトに変更します。\n\n注意: コメント欄からライブチャットのリプレイを開くことができなくなります。 - ショートの作成ボタンを非表示 - 「ショートの作成」ボタンを非表示にします。 - 「ショートの作成」ボタンを非表示にします。 「Thanks」ボタンを非表示 「Thanks」ボタンを非表示にします。 「Thanks」ボタンを非表示にします。 - タイムスタンプと絵文字ボタンを非表示 - 「タイムスタンプと絵文字」ボタンを非表示にします。 - 「タイムスタンプと絵文字」ボタンを非表示にします。 フライアウトメニュー プレーヤーのフライアウトメニューを非表示または変更します。 @@ -897,7 +897,7 @@ DeArrow の詳細については、ここをタップしてください。"高評価ボタンを非表示 「高評価」ボタンを非表示にします。 「高評価」ボタンを非表示にします。 - チャットボタンを非表示 + ライブチャットボタンを非表示 「チャット」ボタンを非表示にします。 「チャット」ボタンを非表示にします。 「さらに表示」ボタンを非表示 @@ -1044,6 +1044,9 @@ DeArrow の詳細については、ここをタップしてください。"タイムスタンプを置換 現在の設定: プレーヤー左下のタイムスタンプをタップすると、再生速度または画質のフライアウトメニューが開きます。 現在の設定: プレーヤー左下のタイムスタンプをタップすると、残り時間が表示されます。 + シークバーのチャプターを非表示 + シークバーからチャプターを非表示にします。 + シークバーからチャプターを非表示にします。 シークバーの色のカスタマイズを有効化 シークバーの色のカスタマイズを有効化します。 シークバーの色のカスタマイズを有効化します。 @@ -1053,18 +1056,15 @@ DeArrow の詳細については、ここをタップしてください。"シークバーのタップを有効化 シークバーのタップを有効化します。 シークバーのタップを有効化します。 + チャプターのラベルを非表示 + タイムスタンプの横にあるチャプターのラベルを非表示にします。 + タイムスタンプの横にあるチャプターのラベルを非表示にします。 プレーヤーのシークバーを非表示 プレーヤーのシークバーを非表示にします。 プレーヤーのシークバーを非表示にします。 動画サムネイルのシークバーを非表示 動画のサムネイルのシークバーを非表示にします。 動画のサムネイルのシークバーを非表示にします。 - シークバーのチャプターを非表示 - シークバーからチャプターを非表示にします。 - シークバーからチャプターを非表示にします。 - チャプターのラベルを非表示 - タイムスタンプの横にあるチャプターのラベルを非表示にします。 - タイムスタンプの横にあるチャプターのラベルを非表示にします。 タイムスタンプを非表示 タイムスタンプを非表示にします。 タイムスタンプを非表示にします。 @@ -1097,15 +1097,15 @@ DeArrow の詳細については、ここをタップしてください。"コンテンツ欄を非表示 概要欄下部に表示される「このコンテンツの作成手段」を非表示にします。 概要欄下部に表示される「このコンテンツの作成手段」を非表示にします。 + ポッドキャストセクションを非表示 + 概要欄のポッドキャストセクションを非表示にします。 + 概要欄のポッドキャストセクションを非表示にします。 チャンネル情報カードを非表示 概要欄のチャンネル情報カードを非表示にします。 概要欄のチャンネル情報カードを非表示にします。 キーコンセプトセクションを非表示 概要欄下部に表示されるキーコンセプトセクションを非表示にします。 概要欄下部に表示されるキーコンセプトセクションを非表示にします。 - ポッドキャストセクションを非表示 - 概要欄のポッドキャストセクションを非表示にします。 - 概要欄のポッドキャストセクションを非表示にします。 ショッピングリンクを非表示 概要欄のショッピングのリンクを非表示にします。 概要欄のショッピングのリンクを非表示にします。 @@ -1150,18 +1150,18 @@ DeArrow の詳細については、ここをタップしてください。"ホームフィードや関連動画から非表示 ホームフィードや関連動画から非表示にします。 ホームフィードや関連動画から非表示にします。 - 登録チャンネルフィードから非表示 - 登録チャンネルフィードから非表示にします。 - 登録チャンネルフィードから非表示にします。 検索結果から非表示 検索結果から非表示にします。 検索結果から非表示にします。 + 登録チャンネルフィードから非表示 + 登録チャンネルフィードから非表示にします。 + 登録チャンネルフィードから非表示にします。 再生履歴から非表示 再生履歴から非表示にします。 再生履歴から非表示にします。 - リピート状態を変更 ショートのバックグラウンド再生時のリピート状態を変更 + リピート状態を変更 次の動画を自動再生 デフォルト 一時停止 @@ -1169,77 +1169,77 @@ DeArrow の詳細については、ここをタップしてください。" プレーヤー ショートのプレーヤー内のコンポーネントを非表示または表示します。 + チャンネルバーを非表示 + プレーヤー下部に表示されるチャンネルのバーを非表示にします。 + プレーヤー下部に表示されるチャンネルのバーを非表示にします。 + フルの動画のリンクラベルを非表示 + フルの動画のリンクのラベルを非表示にします。 + フルの動画のリンクのラベルを非表示にします。 + 情報パネルを非表示 + 情報パネルを非表示にします。 + 情報パネルを非表示にします。 「メンバーになる」ボタンを非表示 「メンバーになる」ボタンを非表示にします。 「メンバーになる」ボタンを非表示にします。 - 「チャンネル登録」ボタンを非表示 - 「チャンネル登録」ボタンを非表示にします。 - 「チャンネル登録」ボタンを非表示にします。 + ライブチャットのヘッダーを非表示 + 縦型のライブ配信のプレーヤー内で上部に表示されるチャンネル名などを非表示にします。\n\nヘッダーの戻るボタンは非表示になりません。 + 縦型のライブ配信のプレーヤー内で上部に表示されるチャンネル名などを非表示にします。\n\nヘッダーの戻るボタンは非表示になりません。 + 有料プロモーションラベルを非表示 + プレーヤー左上の「プロモーションを含みます」を非表示にします。 + プレーヤー左上の「プロモーションを含みます」を非表示にします。 一時停止中のヘッダーを非表示 一時停止中に左上に表示される「ショート」を非表示にします。 一時停止中に左上に表示される「ショート」を非表示にします。 一時停止中のオーバーレイボタンを非表示 一時停止中に表示されるオーバーレイボタンを非表示にします。 一時停止中に表示されるオーバーレイボタンを非表示にします。 - 「トレンド」ボタンを非表示 - 「トレンド」ボタンを非表示にします。 - 「トレンド」ボタンを非表示にします。 「購入」ボタンを非表示 ショートで左下に表示される「購入」ボタンを非表示にします。 ショートで左下に表示される「購入」ボタンを非表示にします。 - ステッカーを非表示 - ステッカーを非表示にします。 - ステッカーを非表示にします。 - 有料プロモーションラベルを非表示 - プレーヤー左上の「プロモーションを含みます」を非表示にします。 - プレーヤー左上の「プロモーションを含みます」を非表示にします。 - 情報パネルを非表示 - 情報パネルを非表示にします。 - 情報パネルを非表示にします。 - ライブチャットのヘッダーを非表示 - 縦型のライブ配信のプレーヤー内で上部に表示されるチャンネル名などを非表示にします。\n\nヘッダーの戻るボタンは非表示になりません。 - 縦型のライブ配信のプレーヤー内で上部に表示されるチャンネル名などを非表示にします。\n\nヘッダーの戻るボタンは非表示になりません。 - チャンネルバーを非表示 - プレーヤー下部に表示されるチャンネルのバーを非表示にします。 - プレーヤー下部に表示されるチャンネルのバーを非表示にします。 - 動画のタイトルを非表示 - プレーヤー下部に表示される動画のタイトル名を非表示にします。 - プレーヤー下部に表示される動画のタイトルを非表示にします。 楽曲のラベルを非表示 プレーヤー下部に表示される楽曲のラベルを非表示にします。 プレーヤー下部に表示される楽曲のラベルを非表示にします。 - フルの動画のリンクラベルを非表示 - フルの動画のリンクのラベルを非表示にします。 - フルの動画のリンクのラベルを非表示にします。 + ステッカーを非表示 + ステッカーを非表示にします。 + ステッカーを非表示にします。 + 「チャンネル登録」ボタンを非表示 + 「チャンネル登録」ボタンを非表示にします。 + 「チャンネル登録」ボタンを非表示にします。 + 「トレンド」ボタンを非表示 + 「トレンド」ボタンを非表示にします。 + 「トレンド」ボタンを非表示にします。 + 動画のタイトルを非表示 + プレーヤー下部に表示される動画のタイトル名を非表示にします。 + プレーヤー下部に表示される動画のタイトルを非表示にします。 推奨されるアクション グリーンスクリーンボタンを非表示 プレーヤーの下部にある「グリーンスクリーン」ボタンを非表示にします。 プレーヤーの下部にある「グリーンスクリーン」ボタンを非表示にします。 + 位置情報のボタンを非表示 + 位置情報のボタンを非表示にします。 + 位置情報のボタンを非表示にします。 保存ボタンを非表示 楽曲の「保存」ボタンを非表示にします。 楽曲の「保存」ボタンを非表示にします。 + 検索候補のボタンを非表示 + 検索候補のボタンを非表示にします。 + 検索候補のボタンを非表示にします。 「ショップ」ボタンを非表示 「ショップ」ボタンを非表示にします。 「ショップ」ボタンを非表示にします。 「Super Thanks」ボタンを非表示 「Super Thanks」ボタンを非表示にします。 「Super Thanks」ボタンを非表示にします。 - 「このサウンドを使用する」を非表示 - ショートで楽曲ボタンを押した際に表示される「このサウンドを使用する」ボタンを非表示にします。 - ショートで楽曲ボタンを押した際に表示される「このサウンドを使用する」ボタンを非表示にします。 - 「テンプレートを使用する」を非表示 - 「テンプレートを使用する」ボタンを非表示にします。 - 「テンプレートを使用する」ボタンを非表示にします。 - 位置情報のボタンを非表示 - 位置情報のボタンを非表示にします。 - 位置情報のボタンを非表示にします。 - 検索候補のボタンを非表示 - 検索候補のボタンを非表示にします。 - 検索候補のボタンを非表示にします。 タグ付き商品を非表示 タグ付けされている商品を非表示にします。 タグ付けされている商品を非表示にします。 + 「テンプレートを使用する」を非表示 + 「テンプレートを使用する」ボタンを非表示にします。 + 「テンプレートを使用する」ボタンを非表示にします。 + 「このサウンドを使用する」を非表示 + ショートで楽曲ボタンを押した際に表示される「このサウンドを使用する」ボタンを非表示にします。 + ショートで楽曲ボタンを押した際に表示される「このサウンドを使用する」ボタンを非表示にします。 プレーヤー下部(共有、クリップなど)のボタン 高評価ボタンを非表示 @@ -1265,9 +1265,6 @@ DeArrow の詳細については、ここをタップしてください。"高評価ボタンのアニメーションを無効化 「高評価」ボタンの上部に表示されるアニメーションを無効化します。 「高評価」ボタンの上部に表示されるアニメーションを無効化します。 - ボタンの背景を非表示 - 再生 / 一時停止ボタンの背景を非表示にします。 - 再生 / 一時停止ボタンの背景を非表示にします。 ダブルタップ時のアニメーション オリジナル いいね! @@ -1275,6 +1272,9 @@ DeArrow の詳細については、ここをタップしてください。"ハート(白色) ハート(赤色) 非表示 + ボタンの背景を非表示 + 再生 / 一時停止ボタンの背景を非表示にします。 + 再生 / 一時停止ボタンの背景を非表示にします。 カスタムアクション フライアウトメニューのカスタムアクションを有効化 @@ -1290,14 +1290,14 @@ DeArrow の詳細については、ここをタップしてください。" ツールバーでカスタムアクションを使用できるようにします。\n\n「さらに表示」ボタンを長押しするとカスタムアクションダイアログが表示されます。 カスタムアクション - 動画の URL をコピー - 動画の URL をコピーするメニューを表示 - 動画の URL をコピーするメニューを表示します。 - 動画の URL をコピーするメニューを表示します。 タイムスタンプの URL をコピー タイムスタンプの URL をコピーするメニューを表示 タイムスタンプの URL をコピーするメニューを表示します。 タイムスタンプの URL をコピーするメニューを表示します。 + 動画の URL をコピー + 動画の URL をコピーするメニューを表示 + 動画の URL をコピーするメニューを表示します。 + 動画の URL をコピーするメニューを表示します。 外部ダウンローダー 外部ダウンローダーのメニューを表示 外部ダウンローダーのメニューを表示します。 @@ -1328,15 +1328,15 @@ DeArrow の詳細については、ここをタップしてください。"メタパネルの下部の余白 シークバーからメタパネルまでの間隔を 0 ~ 64 の間で設定できます。 メタパネルの下部の余白は 0 ~ 64 の間でなければなりません。デフォルト値にリセットします。 - ツールバーを非表示 - ツールバー(カメラ、検索などのボタン)を非表示にします。 - ツールバー(カメラ、検索などのボタン)を非表示にします。 ナビゲーションバーを非表示 ナビゲーションバー(ホーム、登録チャンネルなどのボタン)を非表示にします。 ナビゲーションバー(ホーム、登録チャンネルなどのボタン)を非表示にします。 スペースの高さを調整 ナビゲーションバーが非表示になっている際に残るスペースの高さを 0~100 (%) の間で設定します。 高さは 0~100 (%) の間でなければなりません。 + ツールバーを非表示 + ツールバー(カメラ、検索などのボタン)を非表示にします。 + ツールバー(カメラ、検索などのボタン)を非表示にします。 ショートのチャンネル名を復元 現在の設定: チャンネル名が表示されます。 現在の設定: チャンネルのハンドル名が表示されます。 @@ -1714,6 +1714,8 @@ API キーの発行方法については、ここをタップしてください データは SponsorBlock API によって提供されています。他のプラットフォームのダウンロードや詳細については、ここをタップしてください。 その他 + QUIC プロトコルを無効化 + "CronetEngine の QUIC プロトコルを無効化します。これにより動画の読み込み速度が多少改善されます。" デバッグログを有効化 デバッグログを有効化します。 デバッグログを有効化します。 @@ -1726,9 +1728,11 @@ API キーの発行方法については、ここをタップしてください 直リンクを有効化 URL リダイレクト (youtube.com/redirect) をバイパスします。 URL リダイレクト (youtube.com/redirect) をバイパスします。 + 共有リンクのクリーンアップ + リンクを共有する際に、URL からトラッキングクエリパラメーターを削除します。 「デフォルトで開く」の設定を開く 外部ブラウザから ReVanced Extended を開くには、「デフォルトで開く」→「対応リンクを開く」→「対応リンクを開くことをアプリに許可する」を選択してください。 - GmsCore を開く + GmsCore の設定を開く 通知を受け取るには、Cloud Messaging の設定を有効にしてください。 GmsCore がインストールされていません。インストールしてください。 アクションが必要です @@ -1744,10 +1748,6 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に [続行] をタップして [電池の最適化] を無効にしてください。" 続行 - 共有リンクのクリーンアップ - リンクを共有する際に、URL からトラッキングクエリパラメーターを削除します。 - QUIC プロトコルを無効化 - "CronetEngine の QUIC プロトコルを無効化します。これにより動画の読み込み速度が多少改善されます。" 共有メニューを変更 「共有」ボタンをタップした際に表示される共有メニューを、システムの共有メニューに置き換えます。 「共有」ボタンをタップした際に表示される共有メニューを、システムの共有メニューに置き換えます。 diff --git a/patches/src/main/resources/youtube/translations/ko-rKR/strings.xml b/patches/src/main/resources/youtube/translations/ko-rKR/strings.xml index abba0802d..90f7f9a22 100644 --- a/patches/src/main/resources/youtube/translations/ko-rKR/strings.xml +++ b/patches/src/main/resources/youtube/translations/ko-rKR/strings.xml @@ -30,12 +30,12 @@ 매장 쇼핑 선반 숨기기 매장 쇼핑 선반이 숨겨집니다.\n• 크리에이터명 매장 쇼핑 선반 매장 쇼핑 선반이 표시됩니다.\n• 크리에이터명 매장 쇼핑 선반 - 판매자 쇼핑 선반 숨기기 - 판매자 쇼핑 선반이 숨겨집니다.\n• 판매자(크리에이터명) 선반 - 판매자 쇼핑 선반이 표시됩니다.\n• 판매자(크리에이터명) 선반 유료 광고 포함 라벨 숨기기 유료 광고 포함 라벨이 숨겨집니다. 유료 광고 포함 라벨이 표시됩니다. + 판매자 쇼핑 선반 숨기기 + 판매자 쇼핑 선반이 숨겨집니다.\n• 판매자(크리에이터명) 선반 + 판매자 쇼핑 선반이 표시됩니다.\n• 판매자(크리에이터명) 선반 프로모션 알림 배너 숨기기 프로모션 알림 배너가 숨겨집니다. 프로모션 알림 배너가 표시됩니다. @@ -57,10 +57,10 @@ 대체 썸네일 홈 탭 - 구독 탭 - 내 페이지 탭 플레이어: 재생목록, 관련 동영상 ... 검색 결과 + 구독 탭 + 내 페이지 탭 원본 썸네일 DeArrow & 원본 썸네일 DeArrow & 스틸 컷 썸네일 @@ -98,6 +98,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 음악 앨범 카드 숨기기 검색 결과에서 음악 앨범 카드가 숨겨집니다. 검색 결과에서 음악 앨범 카드가 표시됩니다. + 피드 자막 버튼 숨기기 + 자막 버튼이 숨겨집니다. + 자막 버튼이 표시됩니다. 좌우 슬라이드형 선반 숨기기 "다음 선반들이 숨겨집니다: • 다시 듣기 @@ -118,15 +121,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 펼쳐볼 수 있는 선반 숨기기 다음 선반이 숨겨집니다:\n좋아하는 장르 선택 선반 다음 선반이 표시됩니다:\n좋아하는 장르 선택 선반 - 피드 자막 버튼 숨기기 - 자막 버튼이 숨겨집니다. - 자막 버튼이 표시됩니다. - 피드 검색창 숨기기 - 피드 검색창이 숨겨집니다. - 피드 검색창이 표시됩니다. - 피드 설문 조사 숨기기 - 피드 설문 조사가 숨겨집니다. - 피드 설문 조사가 표시됩니다. 플로팅 버튼 숨기기 플로팅 버튼이 숨겨집니다. 플로팅 버튼이 표시됩니다. @@ -154,6 +148,12 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." \'자세히 보기\' 버튼 숨기기 \'자세히 보기\' 버튼이 숨겨집니다. \'자세히 보기\' 버튼이 표시됩니다. + 피드 검색창 숨기기 + 피드 검색창이 숨겨집니다. + 피드 검색창이 표시됩니다. + 피드 설문 조사 숨기기 + 피드 설문 조사가 숨겨집니다. + 피드 설문 조사가 표시됩니다. 구독 채널 섹션 숨기기 구독 피드 상단에서 구독 채널 섹션이 숨겨집니다. 구독 피드 상단에서 구독 채널 섹션이 표시됩니다. @@ -183,9 +183,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." "Shorts 재생목록 스토어" - 스토어 방문 버튼 숨기기 - 스토어 방문 버튼이 숨겨집니다. - 스토어 방문 버튼이 표시됩니다. 채널 회원 선반 숨기기 채널 회원 선반이 숨겨집니다. 채널 회원 선반이 표시됩니다. @@ -195,6 +192,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 추천 선반 숨기기 추천 선반이 숨겨집니다. 추천 선반이 표시됩니다. + 스토어 방문 버튼 숨기기 + 스토어 방문 버튼이 숨겨집니다. + 스토어 방문 버튼이 표시됩니다. 커뮤니티 게시물 피드 및 채널에서 커뮤니티 게시물을 숨기거나 표시할 수 있습니다. @@ -220,6 +220,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 키워드 또는 조회수로 동영상을 숨길 수 있습니다. 키워드 필터 + 댓글 섹션에서 키워드 필터 활성화하기 + 댓글 섹션에서 키워드 필터를 활성화합니다. + 댓글 섹션에서 키워드 필터를 비활성화합니다. 홈 피드에서 키워드 필터 활성화하기 홈 피드에서 키워드 필터를 활성화합니다. 홈 피드에서 키워드 필터를 비활성화합니다. @@ -229,9 +232,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 구독 피드에서 키워드 필터 활성화하기 구독 피드에서 키워드 필터를 활성화합니다. 구독 피드에서 키워드 필터를 비활성화합니다. - 댓글 섹션에서 키워드 필터 활성화하기 - 댓글 섹션에서 키워드 필터를 활성화합니다. - 댓글 섹션에서 키워드 필터를 비활성화합니다. 키워드 필터 "필터링할 키워드 및 구문을 줄바꿈으로 구분하여 설정합니다. @@ -253,12 +253,12 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 키워드가 모든 동영상을 숨깁니다: %s 추천 동영상 + 조회수가 낮은 추천 동영상 숨기기 + 구독하지 않는 채널에서 업로드한 동영상 중 조회수가 1,000회 미만인 동영상이 홈 피드에서 숨겨집니다. 추천 동영상 숨기기 "다음 추천 동영상이 숨겨집니다: • '회원 전용' 태그가 있는 동영상 • 썸네일 하단에 '시청자가 이 동영상도 시청함'와 같은 문구가 있는 동영상" - 조회수가 낮은 추천 동영상 숨기기 - 구독하지 않는 채널에서 업로드한 동영상 중 조회수가 1,000회 미만인 동영상이 홈 피드에서 숨겨집니다. 조회수 필터 홈 피드에서 조회수 필터 활성화하기 @@ -292,6 +292,12 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 오프셋 일반 + 레이아웃 변경하기 + 기기 기본값 사용 + + 폰 (최대 너비: 480 dp) + 태블릿 + 태블릿 (최소 너비: 600 dp) 앱 시작 페이지 변경하기 채널 둘러보기 학습 프로그램 @@ -344,12 +350,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 스낵바(팝업 메시지바)가 표시됩니다. 시청 경고 다이얼로그 제거하기 "• 이 설정은 다이얼로그를 자동으로 허용하기만 하며, 연령 제한(성인인증 절차)을 우회할 수 없습니다.\n• 즉, 성인인증이 필요한 동영상에서 인증을 하려 할 때, 휴대폰 번호가 필요하다고 알려주는 소형 팝업창(다이얼로그) 없이 바로 휴대폰 번호 인증 페이지가 표시됩니다.\n• '당신은 혼자가 아닙니다' 페이지는 제거할 수 없으며, 해당 페이지에서 '확인하기' 버튼이 표시되지 않는다면 이 설정이 아닌 플레이어 설정에서 '정보 패널 숨기기'를 비활성화해야 합니다." - 레이아웃 변경하기 - 기기 기본값 사용 - - 폰 (최대 너비: 480 dp) - 태블릿 - 태블릿 (최소 너비: 600 dp) 앱 버전 변경하기 앱 버전을 변경합니다. 앱 버전을 변경하지 않습니다. @@ -391,12 +391,12 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." \'앱 내에 있는 버튼을 터치 시 실행 동작\'을 재정의할 수 있습니다. 오프라인 저장 버튼 - 동영상 오프라인 저장 버튼 재정의하기 - 동영상 오프라인 저장 버튼으로 외부 다운로더를 실행할 수 있습니다. - 동영상 오프라인 저장 버튼으로 기본 다운로더를 실행할 수 있습니다. (YouTube Premium 기능) 재생목록 오프라인 저장 버튼 재정의하기 기본 재생목록 오프라인 저장 버튼이 항상 표시되어 있으며, 공개 재생목록에서는 그 버튼으로 외부 다운로더를 실행할 수 있습니다. 기본 재생목록 오프라인 저장 버튼이 표시되어 있으면, 그 버튼으로 기본 다운로더를 실행할 수 있습니다. (YouTube Premium 기능) + 동영상 오프라인 저장 버튼 재정의하기 + 동영상 오프라인 저장 버튼으로 외부 다운로더를 실행할 수 있습니다. + 동영상 오프라인 저장 버튼으로 기본 다운로더를 실행할 수 있습니다. (YouTube Premium 기능) 재생목록 외부 다운로더 앱 패키지명 YTDLnis와 같은 설치된 외부 다운로더 앱 패키지명을 설정하세요. @@ -618,16 +618,16 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 사용자 정의 플레이어 오버레이 불투명도 불투명도 값은 0-100 사이이며, 0은 투명입니다. 플레이어 오버레이 불투명도 값은 0-100 사이어야 합니다. - 플레이어 팝업 패널 비활성화하기 - 자동 플레이어 팝업 패널을 비활성화합니다.\n• 재생목록, 실시간 채팅, 제품 패널 ... - 자동 플레이어 팝업 패널을 활성화합니다.\n• 재생목록, 실시간 채팅, 제품 패널 ... - 믹스 재생목록 전환 비활성화하기 + 믹스 재생목록 자동전환 비활성화하기 믹스 재생목록 자동전환을 비활성화합니다. "자동재생이 켜져 있으면 믹스 재생목록 자동전환을 활성화합니다. 자동재생은 YouTube 설정에서 변경할 수 있습니다: 설정 → 자동재생 → 다음 동영상 자동재생" 이 설정을 활성화하면 자동재생이 켜져 있는 동안에 음악 동영상을 재생하면 YouTube 믹스 재생목록으로 자동전환되지 않습니다. + 플레이어 팝업 패널 비활성화하기 + 자동 플레이어 팝업 패널을 비활성화합니다.\n• 재생목록, 실시간 채팅, 제품 패널 ... + 자동 플레이어 팝업 패널을 활성화합니다.\n• 재생목록, 실시간 채팅, 제품 패널 ... 동영상 재생 속도 오버레이 비활성화하기 "화면을 길게 눌러서 '2배속 >>'을 비활성화합니다. @@ -659,12 +659,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 정보 패널 숨기기 정보 패널이 숨겨집니다. 정보 패널이 표시됩니다. - 실시간 채팅에서 채팅 요약 숨기기 - 채팅 요약이 숨겨집니다. - 채팅 요약이 표시됩니다. - 실시간 채팅 메시지 숨기기 - 실시간 채팅 메시지가 숨겨집니다.\n\n이 설정은 Shorts 실시간 스트림에도 적용됩니다. - 실시간 채팅 메시지가 표시됩니다.\n\n이 설정은 Shorts 실시간 스트림에도 적용됩니다. 보건 정보 패널 숨기기 보건 정보 패널이 숨겨집니다. 보건 정보 패널이 표시됩니다. @@ -677,9 +671,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 동작 추천바 숨기기 동작 추천바가 숨겨집니다. 동작 추천바가 표시됩니다. - 실시간 이모티콘 리액션 숨기기 - 실시간 이모티콘 리액션이 숨겨집니다. - 실시간 이모티콘 리액션이 표시됩니다. 최종 화면에서 \'다음 재생 추천 동영상\' 숨기기 "자동재생을 비활성화하면 최종 화면에서 '다음 재생 추천 동영상'이 숨겨집니다. @@ -689,6 +680,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 자동재생 카운트다운 건너뛰기 자동재생이 활성화되어 있으면, 카운트다운 없이 다음 동영상을 재생합니다. 자동재생이 활성화되어 있으면, 카운트다운 종료 후에 다음 동영상을 재생합니다 + 실시간 이모티콘 리액션 숨기기 + 실시간 이모티콘 리액션이 숨겨집니다. + 실시간 이모티콘 리액션이 표시됩니다. 줌 오버레이 숨기기 줌 오버레이가 숨겨집니다. 줌 오버레이가 표시됩니다. @@ -761,30 +755,36 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 회원별 댓글 배너 숨기기 회원별 댓글 배너가 숨겨집니다. 회원별 댓글 배너가 표시됩니다. - 강조 표시된 검색 링크 숨기기 - 강조 표시된 검색 링크가 숨겨집니다.\n• 돋보기 마크가 있는 파란색 강조 글씨 - 강조 표시된 검색 링크가 표시됩니다.\n• 돋보기 마크가 있는 파란색 강조 글씨 댓글 섹션 숨기기 댓글 섹션이 숨겨집니다. 댓글 섹션이 표시됩니다. 홈 피드에서 댓글 섹션 숨기기 홈 피드에서 댓글 섹션이 숨겨집니다. 홈 피드에서 댓글 섹션이 표시됩니다. + Shorts 만들기 버튼 숨기기 + Shorts 만들기 버튼이 숨겨집니다. + Shorts 만들기 버튼이 표시됩니다. + 타임스탬프 & 이모지 버튼 숨기기 + 타임스탬프 & 이모지 버튼이 숨겨집니다. + 타임스탬프 & 이모지 버튼이 표시됩니다. + 강조 표시된 검색 링크 숨기기 + 강조 표시된 검색 링크가 숨겨집니다.\n• 돋보기 마크가 있는 파란색 강조 글씨 + 강조 표시된 검색 링크가 표시됩니다.\n• 돋보기 마크가 있는 파란색 강조 글씨 + 실시간 채팅 메시지 숨기기 + 실시간 채팅 메시지가 숨겨집니다.\n\n이 설정은 Shorts 실시간 스트림에도 적용됩니다. + 실시간 채팅 메시지가 표시됩니다.\n\n이 설정은 Shorts 실시간 스트림에도 적용됩니다. + 실시간 채팅에서 채팅 요약 숨기기 + 채팅 요약이 숨겨집니다. + 채팅 요약이 표시됩니다. 댓글 미리보기 숨기기 댓글 미리보기가 숨겨집니다. 댓글 미리보기가 표시됩니다. 댓글 미리보기 유형 숨기기 댓글 섹션의 크기가 변경되지 않으므로 댓글 섹션에서 \'실시간 채팅 다시보기\' 및 \'YouTube Music에서 감상하기\'를 사용할 수 있습니다. 댓글 섹션의 크기가 변경되므로 댓글 섹션에서 \'실시간 채팅 다시보기\' 및 \'YouTube Music에서 감상하기\'를 사용할 수 없습니다. - Shorts 만들기 버튼 숨기기 - Shorts 만들기 버튼이 숨겨집니다. - Shorts 만들기 버튼이 표시됩니다. Thanks 버튼 숨기기 Thanks 버튼이 숨겨집니다. Thanks 버튼이 표시됩니다. - 타임스탬프 & 이모지 버튼 숨기기 - 타임스탬프 & 이모지 버튼이 숨겨집니다. - 타임스탬프 & 이모지 버튼이 표시됩니다. 메뉴 구성요소 플레이어에서 메뉴 구성요소를 숨기거나 변경할 수 있습니다. @@ -1047,6 +1047,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 타임스탬프 액션 변경하기 타임스탬프를 누르면 동영상 재생 속도 또는 동영상 화질 설정 메뉴 구성요소를 열 수 있습니다. 타임스탬프를 누르면 남은 시간을 표시할 수 있습니다. + 재생바 챕터 비활성화하기 + 재생바에서 챕터를 비활성화합니다. + 재생바에서 챕터를 활성화합니다. 사용자 정의 재생바 색상 활성화하기 사용자 정의 재생바 색상을 활성화합니다. 사용자 정의 재생바 색상을 비활성화합니다. @@ -1056,18 +1059,15 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 재생바 터치 조작 활성화하기 재생바 터치 조작을 활성화합니다. 재생바 터치 조작을 비활성화합니다. + 재생바 챕터 라벨 숨기기 + 타임스탬프 옆에 표시되는 챕터 라벨이 숨겨집니다. + 타임스탬프 옆에 표시되는 챕터 라벨이 표시됩니다. 동영상 플레이어 재생바 숨기기 동영상 플레이어 재생바가 숨겨집니다. 동영상 플레이어 재생바가 표시됩니다. 동영상 썸네일 재생바 숨기기 썸네일 재생바가 숨겨집니다. 썸네일 재생바가 표시됩니다. - 재생바 챕터 비활성화하기 - 재생바에서 챕터를 비활성화합니다. - 재생바에서 챕터를 활성화합니다. - 재생바 챕터 라벨 숨기기 - 타임스탬프 옆에 표시되는 챕터 라벨이 숨겨집니다. - 타임스탬프 옆에 표시되는 챕터 라벨이 표시됩니다. 타임스탬프 숨기기 타임스탬프가 숨겨집니다. 타임스탬프가 표시됩니다. @@ -1100,15 +1100,15 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 콘텐츠 생성 방식 섹션 숨기기 콘텐츠 생성 방식 섹션이 숨겨집니다. 콘텐츠 생성 방식 섹션이 표시됩니다. + 팟캐스트 살펴보기 섹션 숨기기 + 팟캐스트 살펴보기 섹션이 숨겨집니다. + 팟캐스트 살펴보기 섹션이 표시됩니다. 크리에이터 정보 카드 섹션 숨기기 크리에이터 정보 카드 섹션이 숨겨집니다. 크리에이터 정보 카드 섹션이 표시됩니다. 주요 개념 섹션 숨기기 주요 개념 섹션이 숨겨집니다. 주요 개념 섹션이 표시됩니다. - 팟캐스트 살펴보기 섹션 숨기기 - 팟캐스트 살펴보기 섹션이 숨겨집니다. - 팟캐스트 살펴보기 섹션이 표시됩니다. 제품 섹션 & 쇼핑 링크 숨기기 제품 섹션 & 쇼핑 링크가 숨겨집니다. 제품 섹션 & 쇼핑 링크가 표시됩니다. @@ -1159,18 +1159,18 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 홈 피드 및 관련 동영상에서 Shorts 선반 숨기기 홈 피드 및 관련 동영상에서 Shorts 선반이 숨겨집니다. 홈 피드 및 관련 동영상에서 Shorts 선반이 표시됩니다. - 구독 피드에서 Shorts 선반 숨기기 - 구독 피드에서 Shorts 선반이 숨겨집니다. - 구독 피드에서 Shorts 선반이 표시됩니다. 검색 결과에서 Shorts 선반 숨기기 검색 결과에서 Shorts 선반이 숨겨집니다. 검색 결과에서 Shorts 선반이 표시됩니다. + 구독 피드에서 Shorts 선반 숨기기 + 구독 피드에서 Shorts 선반이 숨겨집니다. + 구독 피드에서 Shorts 선반이 표시됩니다. 시청 기록에서 Shorts 숨기기 시청 기록에서 Shorts가 숨겨집니다. 시청 기록에서 Shorts가 표시됩니다. - Shorts 반복 상태 변경하기 Shorts 백그라운드 재생 반복 상태 변경하기 + Shorts 반복 상태 변경하기 자동넘김 기본값 일시정지 @@ -1178,77 +1178,77 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." Shorts 플레이어 Shorts 플레이어에서 구성요소를 숨기거나 표시할 수 있습니다. + 채널바 숨기기 + 채널바가 숨겨집니다. + 채널바가 표시됩니다. + FULL 또는 관련 동영상 링크 라벨 숨기기 + 동영상 링크 라벨이 숨겨집니다. + 동영상 링크 라벨이 표시됩니다. + 정보 패널 숨기기 + 정보 패널이 숨겨집니다. + 정보 패널이 표시됩니다. 가입 버튼 숨기기 가입 버튼이 숨겨집니다. 가입 버튼이 표시됩니다. - 구독 버튼 숨기기 - 구독 버튼이 숨겨집니다. - 구독 버튼이 표시됩니다. + 실시간 채팅 헤더 숨기기 + 실시간 채팅 헤더(상단 채널바)가 숨겨집니다.\n\n헤더에서 뒤로 가기 버튼은 숨길 수 없습니다. + 실시간 채팅 헤더(상단 채널바)가 표시됩니다.\n\n헤더에서 뒤로 가기 버튼은 숨길 수 없습니다. + 유료 광고 포함 라벨 숨기기 + 유료 광고 포함 라벨이 숨겨집니다. + 유료 광고 포함 라벨이 표시됩니다. 일시 정지 헤더 숨기기 일시 정지 헤더(Shorts 헤더)가 숨겨집니다. 일시 정지 헤더(Shorts 헤더)가 표시됩니다. 일시 정지 오버레이 버튼 숨기기 플레이어 왼쪽 상단에서 다음 버튼들이 숨겨집니다.\n• 구독 & 라이브 & 트렌드 & 쇼핑 플레이어 왼쪽 상단에서 다음 버튼들이 표시됩니다.\n• 구독 & 라이브 & 트렌드 & 쇼핑 - 트렌드 버튼 숨기기 - 트렌드 버튼이 숨겨집니다. - 트렌드 버튼이 숨겨집니다. 쇼핑 버튼 숨기기 일시 정지 오버레이에서 쇼핑 버튼이 숨겨집니다. 일시 정지 오버레이에서 쇼핑 버튼이 표시됩니다. + 사운드 메타데이터 라벨 숨기기 + 사운드 메타데이터 라벨이 숨겨집니다. + 사운드 메타데이터 라벨이 표시됩니다. 스티커 숨기기 스티커가 숨겨집니다. 스티커가 표시됩니다. - 유료 광고 포함 라벨 숨기기 - 유료 광고 포함 라벨이 숨겨집니다. - 유료 광고 포함 라벨이 표시됩니다. - 정보 패널 숨기기 - 정보 패널이 숨겨집니다. - 정보 패널이 표시됩니다. - 실시간 채팅 헤더 숨기기 - 실시간 채팅 헤더(상단 채널바)가 숨겨집니다.\n\n헤더에서 뒤로 가기 버튼은 숨길 수 없습니다. - 실시간 채팅 헤더(상단 채널바)가 표시됩니다.\n\n헤더에서 뒤로 가기 버튼은 숨길 수 없습니다. - 채널바 숨기기 - 채널바가 숨겨집니다. - 채널바가 표시됩니다. + 구독 버튼 숨기기 + 구독 버튼이 숨겨집니다. + 구독 버튼이 표시됩니다. + 트렌드 버튼 숨기기 + 트렌드 버튼이 숨겨집니다. + 트렌드 버튼이 숨겨집니다. 동영상 제목 숨기기 - 제목이 숨겨집니다. - 제목이 표시됩니다. - 사운드 메타데이터 라벨 숨기기 - 메타데이터 라벨이 숨겨집니다. - 메타데이터 라벨이 표시됩니다. - FULL 또는 관련 동영상 링크 라벨 숨기기 - 동영상 링크 라벨이 숨겨집니다. - 동영상 링크 라벨이 표시됩니다. + 동영상 제목이 숨겨집니다. + 동영상 제목이 표시됩니다. 추천 동작 그린 스크린 버튼 숨기기 그린 스크린 버튼이 숨겨집니다. 그린 스크린 버튼이 표시됩니다. + 위치 버튼 숨기기 + 위치 버튼이 숨겨집니다. + 위치 버튼이 표시됩니다. (재생목록에) 음악 저장 버튼 숨기기 (재생목록에) 음악 저장 버튼이 숨겨집니다. (재생목록에) 음악 저장 버튼이 표시됩니다. + 검색 추천 버튼 숨기기 + 검색 추천 버튼이 숨겨집니다. + 검색 추천 버튼이 표시됩니다. 쇼핑 버튼 숨기기 플레이어 하단 정보에서 쇼핑 버튼이 숨겨집니다. 플레이어 하단 정보에서 쇼핑 버튼이 표시됩니다. Super Thanks 구매 버튼 숨기기 Super Thanks 구매 버튼이 숨겨집니다. Super Thanks 구매 버튼이 표시됩니다. - \'이 사운드 사용\' 버튼 숨기기 - \'이 사운드 사용\' 버튼이 숨겨집니다. - \'이 사운드 사용\' 버튼이 표시됩니다. - 템플릿 사용 버튼 숨기기 - 템플릿 사용 버튼이 숨겨집니다. - 템플릿 사용 버튼이 표시됩니다. - 위치 버튼 숨기기 - 위치 버튼이 숨겨집니다. - 위치 버튼이 표시됩니다. - 검색 추천 버튼 숨기기 - 검색 추천 버튼이 숨겨집니다. - 검색 추천 버튼이 표시됩니다. 태그된 제품 숨기기 태그된 제품이 숨겨집니다. 태그된 제품이 표시됩니다. + 템플릿 사용 버튼 숨기기 + 템플릿 사용 버튼이 숨겨집니다. + 템플릿 사용 버튼이 표시됩니다. + \'이 사운드 사용\' 버튼 숨기기 + \'이 사운드 사용\' 버튼이 숨겨집니다. + \'이 사운드 사용\' 버튼이 표시됩니다. 액션 버튼 좋아요 버튼 숨기기 @@ -1274,9 +1274,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 좋아요 상단 애니메이션 비활성화하기 좋아요 버튼 상단에 표시되는 애니메이션을 비활성화합니다. 좋아요 버튼 상단에 표시되는 애니메이션을 활성화합니다. - 재생 & 일시 정지 버튼 배경 숨기기 - 버튼 배경이 숨겨집니다. - 버튼 배경이 표시됩니다. 두 번 누르기 애니메이션 기본값 엄지척 @@ -1284,6 +1281,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 하트 하트 (엷은색) 숨겨짐 + 재생 & 일시 정지 버튼 배경 숨기기 + 재생 & 일시 정지 버튼 배경이 숨겨집니다. + 재생 & 일시 정지 버튼 배경이 표시됩니다. 사용자 정의 동작 메뉴 구성요소에서 사용자 정의 동작 활성화하기 @@ -1299,14 +1299,14 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." '더보기' 버튼을 길게 누르면, 사용자 정의 동작 다이얼로그가 표시됩니다." 툴바에서 사용자 정의 동작을 비활성화합니다. 사용자 정의 동작 - 동영상 URL 복사 - 동영상 URL 복사 메뉴 표시하기 - 동영상 URL 복사 메뉴가 표시됩니다. - 동영상 URL 복사 메뉴가 숨겨집니다. 타임스탬프 URL 복사 타임스탬프 URL 복사 메뉴 표시하기 타임스탬프 URL 복사 메뉴가 표시됩니다. 타임스탬프 URL 복사 메뉴가 숨겨집니다. + 동영상 URL 복사 + 동영상 URL 복사 메뉴 표시하기 + 동영상 URL 복사 메뉴가 표시됩니다. + 동영상 URL 복사 메뉴가 숨겨집니다. 외부 다운로더 실행 외부 다운로더 실행 메뉴 표시하기 외부 다운로더 실행 메뉴가 표시됩니다. @@ -1336,15 +1336,15 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 메타 패널 하단 여백 재생바에서 메타 패널까지의 간격을 0-64 사이에서 지정할 수 있습니다. 메타 패널 하단 여백은 0-64 사이여야 합니다. - 툴바 숨기기 - 툴바가 숨겨집니다. - 툴바가 표시됩니다. 하단바 숨기기 하단바가 숨겨집니다. 하단바가 표시됩니다. 빈 공간의 높이 비율 하단바가 숨겨졌을 때, 남는 빈 공간의 높이 비율을 0-100 사이에서 지정할 수 있습니다. (백분율) 높이 비율은 0-100 사이어야 합니다 (백분율). + 툴바 숨기기 + 툴바가 숨겨집니다. + 툴바가 표시됩니다. 채널 핸들 변경하기 채널 이름을 사용합니다. 채널 핸들(@채널 아이디)을 사용합니다. @@ -1375,16 +1375,16 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 잠금 화면 모드에서 스와이프 제스처 활성화하기 잠금 화면 모드에서 스와이프 제스처를 활성화합니다. 잠금 화면 모드에서 스와이프 제스처를 비활성화합니다. - 오버레이 투명도 - 오버레이 투명도 값을 지정할 수 있습니다. (0–255) + 스와이프 오버레이 배경 투명도 + 스와이프 오버레이 배경 투명도 값을 지정할 수 있습니다. 스와이프 한계치 - 제스처 인식을 위해 얼마나 스와이프를 해야 할지를 지정할 수 있으며, 원하지 않은 제스처 인식을 방지합니다. - 오버레이 텍스트 크기 - 오버레이 텍스트 크기를 지정할 수 있습니다. + 제스처 인식을 위해 얼마나 스와이프를 해야 할지를 지정할 수 있습니다. + 스와이프 오버레이 텍스트 크기 + 스와이프 오버레이 텍스트 크기를 지정할 수 있습니다. 스와이프 오버레이 화면 크기 스와이프를 할 수 있는 화면 영역 크기를 지정할 수 있습니다. (백분율)\n\n알림: \'두 번 탭하여 탐색\' 제스처의 화면 영역 크기도 변경됩니다. 스와이프 영역 크기는 50 보다 클 수 없습니다. - 오버레이 타임아웃 + 스와이프 오버레이 타임아웃 오버레이가 표시되는 시간을 지정할 수 있습니다. (밀리초) 밝기 스와이프 감도 밝기 스와이프의 최소 거리를 1-1000 사이에서 지정할 수 있습니다. (퍼센트)\n\n최소 거리가 짧을수록 밝기 레벨이 더 빠르게 변경됩니다. @@ -1720,6 +1720,8 @@ API Key를 발급받는 방법을 보려면 여기를 누르세요." 건너뛸 구간의 데이터는 SponsorBlock API에 의해 제공됩니다. 자세한 정보를 보려면 여기를 누르세요. 기타 + QUIC 프로토콜 비활성화하기 + "QUIC 프로토콜을 비활성화해서 동영상을 불러올 때 발생하는 동영상 압축과 푸는 과정을 제거하여 동영상 로딩 속도를 향상시킵니다. 더 많은 모바일 데이터가 사용되오니 주의하세요." 디버그 로깅 활성화하기 디버그 로그를 출력합니다. 디버그 로그를 출력하지 않습니다. @@ -1732,9 +1734,11 @@ API Key를 발급받는 방법을 보려면 여기를 누르세요." 리다이렉션 없이 링크 바로 열기 앱 내에서 외부 링크를 열 때, URL 리다이렉션(youtube.com/redirect)을 거치지 않고 다이렉트로 연결됩니다. 앱 내에서 외부 링크를 열 때, URL 리다이렉션(youtube.com/redirect)을 거쳐서 연결됩니다. + 추적 쿼리를 제거한 링크 공유하기 + 링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제거합니다. (URL의 뒷부분 \'?si=...\' 이 제거됨.) 기본 앱 설정 열기 다른 앱에서 YouTube 링크를 ReVanced Extended로 열려면 \'지원되는 링크 열기\'를 활성화하고 지원되는 링크를 추가하세요. 링크 추가가 잠겨있다면 순정 YouTube 앱 정보 → \'기본적으로 열기\'에서 \'지원되는 링크 열기\'를 비활성화한 후에 추가할 수 있습니다. - GmsCore 열기 + GmsCore 설정 열기 알림 수신을 위한 클라우드 메시징 설정을 할 수 있습니다. GmsCore가 설치되어 있지 않습니다. 설치하세요. 필수 조치 @@ -1750,10 +1754,6 @@ GmsCore 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 앱 배터리 최적화를 비활성화(제한 없음)하려면 '계속하기' 버튼을 누르세요." 계속하기 - 추적 쿼리를 제거한 링크 공유하기 - 링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제거합니다. (URL의 뒷부분 \'?si=...\' 이 제거됨.) - QUIC 프로토콜 비활성화하기 - "QUIC 프로토콜을 비활성화해서 동영상을 불러올 때 발생하는 동영상 압축과 푸는 과정을 제거하여 동영상 로딩 속도를 향상시킵니다. 더 많은 모바일 데이터가 사용되오니 주의하세요." 공유 시트 변경하기 Android 기본 공유 시트를 사용합니다.\n\n• 공유 버튼으로 바로 Android 기본 공유 메뉴를 실행할 수 있습니다. YouTube 기본 공유 시트를 사용합니다. diff --git a/patches/src/main/resources/youtube/translations/pl-rPL/strings.xml b/patches/src/main/resources/youtube/translations/pl-rPL/strings.xml index 71413f0f1..8b9957240 100644 --- a/patches/src/main/resources/youtube/translations/pl-rPL/strings.xml +++ b/patches/src/main/resources/youtube/translations/pl-rPL/strings.xml @@ -30,12 +30,12 @@ Pobierz %2$s ze strony internetowej." Półki z towarami Ukryte Widoczne - Półki sklepowe w odtwarzaczu - Ukryte - Widoczne Etykiety oznaczające płatne promocje Ukryte Widoczne + Półki sklepowe w odtwarzaczu + Ukryte + Widoczne Banery z alertami promocyjnymi Ukryte Widoczne @@ -57,10 +57,10 @@ Pobierz %2$s ze strony internetowej." Alternatywne miniaturki Na stronie głównej - Na stronie subskrypcji - Na stronie Ty W playlistach, rekomendacjach W wynikach wyszukiwania + Na stronie subskrypcji + Na stronie Ty Oryginalne miniaturki DeArrow i oryginalne miniaturki DeArrow i miniaturki przechwycone z filmu @@ -96,6 +96,9 @@ Stuknij tutaj, aby dowiedzieć się więcej o DeArrow." Karty albumów Ukryte Widoczne + Przycisk od napisów na stronie głównej + Ukryty + Widoczny Półki karuzelowe "Ukrywa półki: • Z najnowszymi informacjami @@ -113,15 +116,6 @@ Stuknij tutaj, aby dowiedzieć się więcej o DeArrow." Rozszeralne półki Ukryte Widoczne - Przycisk od napisów na stronie głównej - Ukryty - Widoczny - Pasek wyszukiwania na stronie głównej - Ukryty - Widoczny - Ankiety na stronie głównej - Ukryte - Widoczne Pływający przycisk Ukryty Widoczny @@ -149,6 +143,12 @@ Stuknij tutaj, aby dowiedzieć się więcej o DeArrow." Przycisk \'Pokaż więcej\' Ukryty Widoczny + Pasek wyszukiwania na stronie głównej + Ukryty + Widoczny + Ankiety na stronie głównej + Ukryte + Widoczne Półki karuzelowe z subskrypcjami Ukryte Widoczne @@ -178,9 +178,6 @@ Stuknij tutaj, aby dowiedzieć się więcej o DeArrow." "Shortsy Playlisty Sklep" - Przycisk do sklepu - Ukryty - Widoczny Półki ze sponsorami Ukryte Widoczne @@ -190,6 +187,9 @@ Sklep" Półka \'Dla Ciebie\' Ukryta Widoczna + Przycisk do sklepu + Ukryty + Widoczny Posty Ukryj lub pokazuj posty na stronie głównej i kanałów @@ -215,6 +215,9 @@ Sklep" Ukryj filmy, używając słów lub wyświetleń Filtr słów + W komentarzach + Włączone + Wyłączone Na stronie głównej Włączone Wyłączone @@ -224,9 +227,6 @@ Sklep" Na stronie subskrypcji Włączone Wyłączone - W komentarzach - Włączone - Wyłączone Słowa, które mają być ukryte "Słowa i frazy, które mają być ukryte, oddzielone nowymi liniami. @@ -249,13 +249,13 @@ Ograniczenia: Słowo ukryje wszystkie filmy: %s. Rekomendowane filmy + Ukryj filmy z małą ilością wyświetleń + Ukrywa filmy poniżej 1000 wyświetleń ze strony głównej, które zostały przesłane z niesubskrybowanych kanałów. Ukryj rekomendowane filmy "Ukrywa następujące rekomendowane filmy: • Filmy z tagiem 'Dla wspierających' • Filmy z takimi frazami jak 'Inne osoby również obejrzały' u dołu filmu" - Ukryj filmy z małą ilością wyświetleń - Ukrywa filmy poniżej 1000 wyświetleń ze strony głównej, które zostały przesłane z niesubskrybowanych kanałów. Filtr ilości wyświetleń Na stronie głównej @@ -289,6 +289,12 @@ Jeśli układ ekranu odtwarzacza zmieni się w skutek zmian po stronie serwera, Przesunięcie Ogólne + Układ aplikacji + Oryginalny + Telefonowy + Telefonowy (max. 480 dpi) + Tabletowy + Tabletowy (max. 600 dpi) Strona startowa Przeglądaj kanały Nauka @@ -341,12 +347,6 @@ Ograniczenie: Przycisk wstecz na pasku narzędzi może nie działać." Usuń okno dialogowe treści ograniczonej do oglądania "Usuwa okno dialogowe treści ograniczonej do oglądania. Nie pomija to ograniczeń wiekowych, lecz akceptuje je automatycznie." - Układ aplikacji - Oryginalny - Telefonowy - Telefonowy (max. 480 dpi) - Tabletowy - Tabletowy (max. 600 dpi) Oszukiwanie wersji aplikacji Włączone Wyłączone @@ -392,12 +392,12 @@ Niektóre komponenty mogą nie być ukryte." Nadpisuje działanie przycisków w aplikacji Przycisk od pobierania + Metoda pobierania playlist + Zewnętrzna aplikacja + Natywne pobieranie (jeśli jest widoczne, otwiera natywne pobieranie filmu) Metoda pobierania filmów Zewnętrzna aplikacja Natywne pobieranie - Metoda pobierania playlist - Zewnętrzna aplikacja - Natywne pobieranie Nazwa pakietu aplikacji od pobierania (playlisty) Nazwa pakietu zainstalowanej zewnętrznej aplikacji od pobierania, takiej jak YTDLnis. @@ -619,9 +619,6 @@ Stuknij i przytrzymaj, by otworzyć ustawienia RVX." Niestandardowa przezroczystość nakładki Wartość przezroczystości musi wynosić między 0 a 100, gdzie 0 oznacza przezroczystość Przezroczystość nakładki odtwarzacza musi wynosić między 0 a 100. - Wyskakujące panele w odtwarzaczu - Widoczne - Ukryte Automatyczne przełączanie na playlisty mix Wyłączone "Włączone, gdy autoodtwarzanie jest włączone. @@ -629,6 +626,9 @@ Stuknij i przytrzymaj, by otworzyć ustawienia RVX." Autoodtwarzanie może być zmienione w ustawieniach YouTube: Ustawienia → Autoodtwarzanie → Autoodtwarzanie następnego filmu" Włączenie tej funkcji wyłączy automatyczne zmienianie na YouTube Mix, podczas odtwarzania muzyki z włączonym autoodtwarzaniem. + Wyskakujące panele w odtwarzaczu + Widoczne + Ukryte Wyłącz nakładkę prędkości odtwarzania "Wyłącz 'Odtwarzam 2x szybciej' podczas przytrzymywania. @@ -659,12 +659,6 @@ Notki: Panele z informacjami Ukryte Widoczne - Podsumowanie czatu w transmisjach na żywo - Ukryte - Widoczne - Wiadomości z czatu na żywo - Ukryte\n\nUstawienie te dotyczy również transmisji na żywo za pośrednictwem Shortsów. - Widoczne\n\nUstawienie te dotyczy również transmisji na żywo za pośrednictwem Shortsów. Panele medyczne Ukryte Widoczne @@ -677,9 +671,6 @@ Notki: Sugerowane działania Ukryte Widoczne - Reakcje czasowe - Ukryte - Widoczne Sugerowane filmy na końcu trwania filmu "Ukryte, lecz wyłącznie, gdy autoodtwarzanie jest wyłączone. @@ -689,12 +680,15 @@ Autoodtwarzanie można zmienić w ustawieniach YouTube: Pomiń odliczanie do automatycznego odtwarzania Jeżeli automatyczne odtwarzanie jest włączone, następny film zostanie odtworzony bez odliczania. Jeżeli automatyczne odtwarzanie jest włączone, następny film zostanie odtworzony po ukończeniu odliczania. + Reakcje czasowe + Ukryte + Widoczne Poświata przy powiększaniu filmu Ukryta Widoczna Oczyść napisy w filmach - "Frazy takie jak '#', 'Zbiórka', 'Sklep' i 'Produkty' są ukryte" - "Frazy takie jak '#', 'Zbiórka', 'Sklep' i 'Produkty' są widoczne" + "Frazy takie jak '#', 'Zbiórka', 'Sklep' i 'Produkty' są ukryte w napisach filmu" + "Frazy takie jak '#', 'Zbiórka', 'Sklep' i 'Produkty' są widoczne w napisach filmu" Przyciski akcji Ukryj lub pokazuj przyciski akcji pod odtwarzaczem @@ -761,30 +755,36 @@ Autoodtwarzanie można zmienić w ustawieniach YouTube: Banery z komentarzami sponsorów Ukryte Widoczne - Najciekawsze wyniki wyszukiwania (linki) - Ukryte - Widoczne Komentarze Ukryte Widoczne Komentarze na stronie głównej Ukryte Widoczne + Przycisk od tworzenia Shortsów + Ukryty + Widoczny + Przyciski czasu i emotikon + Ukryte + Widoczne + Najciekawsze wyniki wyszukiwania (linki) + Ukryte + Widoczne + Wiadomości z czatu na żywo + Ukryte\n\nUstawienie te dotyczy również transmisji na żywo w Shortsach. + Widoczne\n\nUstawienie te dotyczy również transmisji na żywo w Shortsach. + Podsumowanie czatu w transmisjach na żywo + Ukryte + Widoczne Wyróżnione komentarze Ukryte Widoczne Sposób ukrywania wyróżnionych komentarzy Nie zmienia wielkości sekcji komentarzy, dzięki czemu jest możliwość włączenia ponownego odtwarzania czatu na żywo w sekcji komentarzy. Zmienia wielkość sekcji komentarzy, przez co nie ma możliwości włączenia ponownego odtwarzania czatu na żywo w sekcji komentarzy. - Przycisk od tworzenia Shortsów - Ukryty - Widoczny Przycisk od dziękowania Ukryty Widoczny - Czas i przyciski od emotikon - Ukryte - Widoczne Menu ustawień filmu Ukryj lub zmień elementy menu ustawień filmu @@ -993,7 +993,10 @@ Stuknij i przytrzymaj, by zmienić prędkość odtwarzania na 1.0x. Stuknij i pr Stuknij i przytrzymaj, by otworzyć okno ustawień białej listy. Przycisk od odtwarzania wszystkiego "Stuknij, by wygenerować playlistę ze wszystkimi filmikami z kanału. -Stuknij i przytrzymaj, by to cofnąć." +Stuknij i przytrzymaj, by to cofnąć. + +Informacja: +• Może nie działać w transmisjach na żywo" Tryb generowania playlisty Cała zawartość (sortowanie po czasie, rosnąco) Cała zawartość (sortowanie po czasie) @@ -1042,6 +1045,9 @@ Stuknij j przytrzymaj, by przełączać się pomiędzy typami wyświetlanej info Działanie informacji obok czasu Stuknij, aby otworzyć menu od prędkości odtwarzania lub jakości. Stuknij, aby wyświetlić pozostały czas. + Rozdziały w pasku postępu filmu + Wyłączone + Włączone Niestandardowy kolor paska postępu filmu Widoczny Niewidoczny @@ -1051,18 +1057,15 @@ Stuknij j przytrzymaj, by przełączać się pomiędzy typami wyświetlanej info Stukanie w pasek postępu filmu Włączone Wyłączone + Nazwy rozdziałów obok czasu filmu + Ukryte + Widoczne Pasek postępu filmu w odtwarzaczu Ukryty Widoczny Paski postępu filmu na stronie głównej Ukryte Widoczne - Rozdziały w pasku postępu filmu - Wyłączone - Włączone - Nazwy rozdziałów obok czasu filmu - Ukryte - Widoczne Czas filmu Ukryty Widoczny @@ -1095,15 +1098,15 @@ Funkcja działa najlepiej przy bardzo szybkim połączeniu internetowym."Sekcja \'Jak powstały te treści\' Ukryta Widoczna + Sekcje eksplorowania podcastów + Ukryte + Widoczne Nazwy kanałów pod opisami Ukryte Widoczne Sekcja kluczowych pojęć Ukryta Widoczna - Sekcje eksplorowania podcastów - Ukryte - Widoczne Linki do sklepów Ukryte Widoczne @@ -1149,18 +1152,18 @@ Informacja: Na stronie głównej i między powiązanymi filmami Ukryte Widoczne - Na stronie subskrypcji - Ukryte - Widoczne W wynikach wyszukiwania Ukryte Widoczne + Na stronie subskrypcji + Ukryte + Widoczne W historii oglądania Ukryte Widoczne - Zmień stan powtarzania Shortsów Zmień stan powtarzania w tle Shortsów + Zmień stan powtarzania Shortsów Automatyczne odtwarzanie Domyślny Wstrzymywanie @@ -1168,77 +1171,77 @@ Informacja: Odtwarzacz Shortsów Ukryj lub pokazuj przyciski w odtwarzaczu Shortsów + Pasek kanału + Ukryty + Widoczny + Etykiety z linkami do całych filmów + Ukryte + Widoczne + Panele z informacjami + Ukryte + Widoczne Przycisk od sponsorowania Ukryty Widoczny - Przycisk od subskrybowania - Ukryty - Widoczny + Nagłówek czatu transmisji na żywo + Ukryty\n\nPrzycisk cofania w nagłówku nie będzie ukryty. + Widoczny\n\nPrzycisk cofania w nagłówku nie będzie ukryty. + Etykiety oznaczające płatne promocje + Ukryte + Widoczne Nagłówek po spauzowaniu Ukryty Widoczny Zatrzymane przyciski w odtwarzaczu Ukryte Widoczne - Przycisk od trendów - Ukryty - Widoczny Przycisk od kupowania Ukryty Widoczny - Naklejki - Ukryte - Widoczne - Etykiety oznaczające płatne promocje - Ukryte - Widoczne - Panele z informacjami - Ukryte - Widoczne - Nagłówek czatu transmisji na żywo - Ukryty\n\nPrzycisk cofania w nagłówku nie będzie ukryty. - Widoczny\n\nPrzycisk cofania w nagłówku nie będzie ukryty. - Pasek kanału - Ukryty - Widoczny - Tytuły filmów - Ukryte - Widoczne Etykiety z metadanymi dźwięku Ukryte Widoczne - Etykiety z linkami do całych filmów - Ukryte - Widoczne + Naklejki + Ukryte + Widoczne + Przycisk od subskrybowania + Ukryty + Widoczny + Przycisk od trendów + Ukryty + Widoczny + Tytuły filmów + Ukryte + Widoczne Sugerowane akcje Przycisk od greenscreena Ukryty Widoczny + Przycisk od lokalizacji + Ukryty + Widoczny Przycisk od zapisywania muzyki Ukryty Widoczny + Przycisk od sugestii wyszukiwań + Ukryty + Widoczny Przycisk do sklepu Ukryty Widoczny Przycisk od superpodziękowania Ukryty Widoczny - Przycisk \'Użyj tego dźwięku\' - Ukryty - Widoczny - Przycisk \'Użyj tego szablonu\' - Ukryty - Widoczny - Przycisk od lokalizacji - Ukryty - Widoczny - Przycisk od sugestii wyszukiwań - Ukryty - Widoczny Oznaczone produkty Ukryte Widoczne + Przycisk \'Użyj tego szablonu\' + Ukryty + Widoczny + Przycisk \'Użyj tego dźwięku\' + Ukryty + Widoczny Przyciski akcji Przycisk od łapkowania w górę @@ -1264,9 +1267,6 @@ Informacja: Animacja przycisku polubienia Wyłączona Włączona - Tło przycisku odtwarzania i pauzy - Ukryte - Widoczne Animacja po dwukrotnym kliknięciu Oryginalna Łapka w górę @@ -1274,6 +1274,9 @@ Informacja: Serce Serce (jaśniejsze) Ukryta + Tło przycisku odtwarzania i pauzy + Ukryte + Widoczne Własne akcje Własne akcje w menu ustawień Shortsa @@ -1289,14 +1292,14 @@ Ograniczenia: Kliknij i przytrzymaj przycisk 'Więcej', by wyświetlić okno z własnymi akcjami." Wyłączone Własne akcje - Kopiuj adresu filmu - Menu od kopiowania adresu filmu - Widoczne - Ukryte Kopiuj adresu z czasem Menu od kopiowania adresu filmu z czasem Widoczne Ukryte + Kopiuj adresu filmu + Menu od kopiowania adresu filmu + Widoczne + Ukryte Pobierz film (zewnętrzna aplikacja) Menu od zewnętrznej aplikacji do pobierania Widoczne @@ -1326,15 +1329,15 @@ Ograniczenia: Dolny margines panelu meta Skonfiguruj odstęp od paska postępu filmu do panelu meta, w zakresie od 0 do 64. Dolny margines panelu meta musi wynosić między 0 a 64. - Pasek z narzędziami - Ukryty - Widoczny Pasek nawigacji Ukryty Widoczny Wysokość pustego miejsca (procentowa) Zmienia wysokość pustej przestrzeni po ukryciu paska nawigacyjnego, od 0 do 100 (%) Wysokość musi wynosić od 0 do 100 (%). + Pasek z narzędziami + Ukryty + Widoczny Wyświetlanie tytułu kanału Po nazwie Po nicku @@ -1710,6 +1713,8 @@ Kliknij, by zobaczyć, jak zgłosić klucz API." Dane są dostarczane przez API SponsorBlock. Stuknij tutaj, aby dowiedzieć się więcej i pobrać na inne platformy. Pozostałe + Wyłącz protokół QUIC + "Wyłącz protokół QUIC w CronetEngine" Logi do debugowania Zapisywane Niezapisywane @@ -1722,10 +1727,12 @@ Kliknij, by zobaczyć, jak zgłosić klucz API." Bezpośrednie otwieranie linków Tak Nie + Oczyść udostępniane linki + Usuwa śledzące parametry z adresów URL podczas udostępniania linków Otwórz systemowe ustawienia aplikacji Aby otwierać linki YouTube w RVX, przejdź do opcji obsługiwanych linków w ustawieniach i włącz obsługiwane adresy internetowe dla RVX. - Otwórz GmsCore - Włącz cloud messaging, by otrzymywać powiadomienia. + Otwórz ustawienia GmsCore + Otwiera ustawienia GmsCore. Następnie włącz cloud messaging, by otrzymywać powiadomienia. GmsCore nie jest zainstalowany. Zainstaluj go. Wymagana akcja "GmsCore nie ma uprawnień do działania w tle. @@ -1740,10 +1747,6 @@ Wyłączenie optymalizacji baterii dla GmsCore nie wpłynie negatywnie na zużyc Stuknij przycisk kontynuacji i zezwól na zmiany w optymalizacji." Kontynuuj - Oczyść udostępniane linki - Usuwa śledzące parametry z adresów URL podczas udostępniania linków - Wyłącz protokół QUIC - "Wyłącz protokół QUIC w CronetEngine" Wygląd panelu udostępniania Systemowy Aplikacji diff --git a/patches/src/main/resources/youtube/translations/pt-rBR/strings.xml b/patches/src/main/resources/youtube/translations/pt-rBR/strings.xml index ac0936b66..6fbead4f3 100644 --- a/patches/src/main/resources/youtube/translations/pt-rBR/strings.xml +++ b/patches/src/main/resources/youtube/translations/pt-rBR/strings.xml @@ -30,12 +30,12 @@ Por favor, baixe %2$s do site." Ocultar painel de mercadoria Os painéis de mercadoria estão ocultos. Os painéis de mercadoria serão exibidos. - Ocultar painel de compras do reprodutor - O painel de compras do reprodutor está oculto. - O painel de compras do reprodutor será exibido. Ocultar rótulo de promoção paga O rótulo de promoção pago está oculto. O rótulo de promoção pago será exibido. + Ocultar painel de compras do reprodutor + O painel de compras do reprodutor está oculto. + O painel de compras do reprodutor será exibido. Ocultar banner de alerta de promoção O banner de alerta de promoção está oculto. O banner de alerta de promoção será exibido. @@ -57,10 +57,10 @@ Por favor, baixe %2$s do site." Miniaturas alternativas Aba Início - Aba de inscrições - Aba Você Playlists do reprodutor, recomendações Resultados de pesquisas + Aba de inscrições + Aba Você Miniaturas originais DeArrow & Miniaturas originais DeArrow & Capturas estátícas @@ -98,6 +98,9 @@ Toque aqui para saber mais sobre o DeArrow." Ocultar cartões de álbum Os cartões de álbum estão ocultos. Os cartões de álbum serão exibidos. + Ocultar botão de legendas no feed + O botão de legendas está oculto. + O botão de legendas será exibido. Ocultar painel de carrossel "Oculta os seguintes painéis: • Últimas notícias @@ -115,15 +118,6 @@ Toque aqui para saber mais sobre o DeArrow." Ocultar painéis expansíveis Os painéis expansíveis estão ocultos. Os painéis expansíveis serão exibidos. - Ocultar botão de legendas no feed - O botão de legendas está oculto. - O botão de legendas será exibido. - Ocultar barra de pesquisa no feed - A barra de pesquisa no feed está oculta. - A barra de pesquisa no feed será exibida. - Ocultar pesquisas no feed - As pesquisas no feed estão ocultas. - As pesquisas no feed serão exibidas. Ocultar botão flutuante O botão flutuante está oculto. O botão flutuante será exibido. @@ -151,6 +145,12 @@ Toque aqui para saber mais sobre o DeArrow." Ocultar botão \'Mostrar mais\' O botão \'Mostrar mais\' está oculto. O botão \'Mostrar mais\' será exibido. + Ocultar barra de pesquisa no feed + A barra de pesquisa no feed está oculta. + A barra de pesquisa no feed será exibida. + Ocultar pesquisas no feed + As pesquisas no feed estão ocultas. + As pesquisas no feed serão exibidas. Ocultar inscrições em carrossel As inscrições em carrossel estão ocultas. As inscrições em carrossel serão exibidas. @@ -180,9 +180,6 @@ Toque aqui para saber mais sobre o DeArrow." "Shorts Playlists Loja" - Ocultar botão de navegar na loja - O botão navegar na loja está oculto. - O botão navegar da loja será exibido. Ocultar painel de membros do canal O painel de membros do canal está oculto. O painel de membros do canal será exibido. @@ -192,6 +189,9 @@ Loja" Ocultar painel \'Para Você\' O painel \'Para Você\' está oculto. O painel \'Para Você\' será exibido. + Ocultar botão de navegar na loja + O botão navegar na loja está oculto. + O botão navegar da loja será exibido. Publicações da comunidade Ocultar ou exibir postagens na comunidade no feed e no canal. @@ -217,6 +217,9 @@ Loja" Ocultar vídeos por palavras-chave ou visualizações. Filtro por palavras-chave + Ocultar comentários por palavras-chave + Os comentários são filtrados. + Os comentários não são filtrados. Ocultar vídeos no feed de início por palavras-chave Os vídeos no feed de início são filtrados. Os vídeos no feed de início não são filtrados. @@ -226,9 +229,6 @@ Loja" Ocultar vídeos no feed de inscrições por palavras-chave Os vídeos no feed de inscrições são filtrados. Os vídeos no feed de inscrições não são filtrados. - Ocultar comentários por palavras-chave - Os comentários são filtrados. - Os comentários não são filtrados. Palavras-chave para ocultar "Palavras-chave e frases a serem ocultadas, separadas por novas linhas. Palavras com letras maiúsculas no meio devem ser inseridas com maiúsculas (ou seja: iPhone, TikTok, LeBlanc)." @@ -248,14 +248,14 @@ Limitações: Palavra-chave \'%1$s\' irá ocultar todos os vídeos. Vídeo recomendado + Ocultar vídeos com baixas visualizações + Ocultar vídeos com menos de 1.000 visualizações do feed de início que foram enviadas de canais não inscritos. Ocultar vídeos recomendados "Oculta os seguintes vídeos recomendados: • Vídeos com a tag 'Somente para membros' • Vídeos com frases como 'Pessoas também assistiram' na parte inferior do vídeo • Vídeos enviados de canais não inscritos com menos de 1,000 visualizações" - Ocultar vídeos com baixas visualizações - Ocultar vídeos com menos de 1.000 visualizações do feed de início que foram enviadas de canais não inscritos. Filtro por contagem de visualização Ocultar vídeos no feed de início por visualizações @@ -289,6 +289,12 @@ Se o layout da tela do reprodutor mudar devido a alterações no lado do servido Desvio Geral + Alterar layout + Original + Telefone + Telefone (Máximo 480 dp) + Tablet + Tablet (Min 600 dp) Alterar a página inicial Explorar canais Cursos / Aprendizagem @@ -341,12 +347,6 @@ Limitação: O botão voltar na barra de ferramentas pode não funcionar."Remover o diálogo discricionário do visualizador "Remover o diálogo discricionário de visualização. Isso não ignora a restrição de idade, apenas aceita isso automaticamente." - Alterar layout - Original - Telefone - Telefone (Máximo 480 dp) - Tablet - Tablet (Min 600 dp) Falsificar versão do aplicativo Versão falsificada Versão não falsificada @@ -392,12 +392,12 @@ Alguns componentes podem não ser ocultos" Substitui a ação de clique dos botões do aplicativo. Botão de download - Substituir o botão de download de vídeo - O botão de download de vídeo nativo abre seu aplicativo de download externo. - O botão de download de vídeo nativo abre o download nativo do aplicativo. Substituir o botão de download da playlist O botão de download de playlist nativo abre seu aplicativo de download externo. O botão de download de playlist nativo abre o download nativo do aplicativo. + Substituir o botão de download de vídeo + O botão de download de vídeo nativo abre seu aplicativo de download externo. + O botão de download de vídeo nativo abre o download nativo do aplicativo. Nome do pacote do aplicativo de download de playlist Nome do pacote do seu aplicativo de download externo instalado, como YTDLnis. @@ -620,9 +620,6 @@ Toque e segure para abrir as Configurações RVX." Opacidade personalizada da sobreposição do reprodutor Valor de opacidade entre 0-100, onde 0 é transparente A opacidade do reprodutor deve ser entre 0-100. Redefinir aos valores padrão. - Desativar painéis popup do reprodutor - Os painéis popup do reprodutor automático estão ativados. - Os painéis popup do reprodutor automático estão desativados. Desativar troca de playlists mix A troca automática de playlists mix está desativada. "A troca automática de playlists de mix está ativada quando a reprodução automática está ativada. @@ -630,6 +627,9 @@ Toque e segure para abrir as Configurações RVX." A reprodução automática pode ser alterada nas configurações do YouTube: Configurações → Reprodução automática → Reprodução automática do próximo vídeo" Ativar este recurso irá desativar a mudança automática para o YouTube Mix quando a reprodução automática estiver ativada. + Desativar painéis popup do reprodutor + Os painéis popup do reprodutor automático estão ativados. + Os painéis popup do reprodutor automático estão desativados. Desativar sobreposição de velocidade "Desativar o 'Reproduzindo na velocidade 2x' enquanto segurar. @@ -660,12 +660,6 @@ Nota: Ocultar painéis de informações Os painéis de informações estão ocultos. Os painéis de informações serão exibidos. - Ocultar resumo do chat no chat ao vivo - O resumo do chat está oculto. - O resumo do chat será exibido. - Ocultar mensagens do chat ao vivo - As mensagens do chat ao vivo estão ocultas.\n\nEssa configuração se aplica a vídeos do Shorts também. - As mensagens do chat ao vivo serão exibidas.\n\nEssa configuração se aplica a vídeos do Shorts também. Ocultar painéis médicos Os painéis médicos estão ocultos. Os painéis médicos serão exibidos. @@ -678,9 +672,6 @@ Nota: Ocultar ações sugeridas As ações sugeridas estão ocultas. As ações sugeridas serão exibidas. - Ocultar reações temporizadas - As reações temporizadas estão ocultas. - As reações temporizadas são exibidas. Ocultar a tela final de vídeo sugerido "A tela de fim de vídeo sugerido fica oculta quando a reprodução automática é desativada. @@ -690,6 +681,9 @@ A reprodução automática pode ser alterada nas configurações do YouTube: Pular contagem regressiva de reprodução automática Se a reprodução automática estiver ativada, o próximo vídeo será reproduzido sem uma contagem regressiva. Se a reprodução automática estiver ativada, o próximo vídeo será reproduzido após a contagem regressiva terminar. + Ocultar reações temporizadas + As reações temporizadas estão ocultas. + As reações temporizadas são exibidas. Ocultar sobreposição de zoom A sobreposição de zoom está oculta. A sobreposição de zoom será exibida. @@ -762,30 +756,36 @@ A reprodução automática pode ser alterada nas configurações do YouTube: Ocultar banner de comentários de membros O banner de comentários de membros estão ocultos. O banner de comentários de membros serão exibidos. - Ocultar links de pesquisa em destaque - Os links de pesquisa em destaque estão ocultos. - Os links de pesquisa em destaque serão exibidos. Ocultar seção de comentários A seção de comentários está oculta. A seção de comentários será exibida. Ocultar seção de comentários no feed inicial A seção de comentários está oculta no feed inicial. A seção de comentários será exibida no feed inicial. + Ocultar botão de criação de shorts + O botão de criação de shorts está oculto. + O botão de criação de shorts será exibido. + Ocultar botões de marcação de tempo e emoji + Os botões de marcação de tempo e emoji estão ocultos. + Os botões de marcação de tempo e emoji serão exibidos. + Ocultar links de pesquisa em destaque + Os links de pesquisa em destaque estão ocultos. + Os links de pesquisa em destaque serão exibidos. + Ocultar mensagens do chat ao vivo + As mensagens do chat ao vivo estão ocultas.\n\nEssa configuração se aplica a vídeos do Shorts também. + As mensagens do chat ao vivo serão exibidas.\n\nEssa configuração se aplica a vídeos do Shorts também. + Ocultar resumo do chat no chat ao vivo + O resumo do chat está oculto. + O resumo do chat será exibido. Ocultar prévia de comentário A prévia do comentário está oculta. A prévia do comentário será exibida. Ocultar tipo de comentário de visualização Isto não altera o tamanho da seção de comentários, por isso é possível abrir o replay do chat ao vivo na seção de comentários. Isto altera o tamanho da seção de comentários, por isso é impossível abrir um replay ao vivo do chat na seção de comentários. - Ocultar botão de criação de shorts - O botão de criação de shorts está oculto. - O botão de criação de shorts será exibido. Ocultar botão valeu O botão valeu está oculto. O botão valeu será exibido. - Ocultar botões de marcação de tempo e emoji - Os botões de marcação de tempo e emoji estão ocultos. - Os botões de marcação de tempo e emoji serão exibidos. Menu flutuante Ocultar ou alterar o menu flutuante no reprodutor de vídeo. @@ -1044,6 +1044,9 @@ Informação: Substituir ação da marcação de tempo Toque para abrir o menu flutuante de velocidade de reprodução ou de qualidade de vídeo. Toque para mostrar o tempo restante. + Desativar capítulos na barra de progresso + Os capítulos na barra de progresso estão desativados. + Os capítulos na barra de progresso estão ativados. Ativar cor personalizada da barra de progresso A cor personalizada da barra de progresso está ativada. A cor personalizada da barra de progresso está desativada. @@ -1053,18 +1056,15 @@ Informação: Ativar toque na barra de progresso O toque na barra de progresso está ativado. O toque na barra de progresso desativado. + Ocultar rótulos dos capítulos na barra de progresso + Os rótulos dos capítulos ao lado da marcação de tempo estão ocultos. + Os rótulos dos capítulos ao lado da marcação de tempo serão exibidos. Ocultar barra de progresso no reprodutor de vídeo A barra de progresso no reprodutor de vídeo está oculta. A barra de progresso no reprodutor de vídeo será exibida. Ocultar barra de progresso nas miniaturas do vídeo A barra de progresso em miniaturas está oculta. A barra de progresso em miniaturas será exibida. - Desativar capítulos na barra de progresso - Os capítulos na barra de progresso estão desativados. - Os capítulos na barra de progresso estão ativados. - Ocultar rótulos dos capítulos na barra de progresso - Os rótulos dos capítulos ao lado da marcação de tempo estão ocultos. - Os rótulos dos capítulos ao lado da marcação de tempo serão exibidos. Ocultar marcação de tempo A marcação de tempo está oculta. A marcação de tempo será exibida. @@ -1097,15 +1097,15 @@ Este recurso funciona melhor com uma conexão de Internet muito rápida."Ocultar seção de Conteúdo A seção Como este conteúdo foi feito está oculta. A seção Como este conteúdo foi feito será exibida. + Ocultar seções de podcast + As seções de podcast estão ocultas. + As seções de podcast serão exibidas. Ocultar seções de cartões de informação As seções de cartões de informações estão ocultas. As seções de cartões de informação serão exibidas. Ocultar seção de conceitos principais A seção de conceitos principais está oculta. A seção de conceitos principais será exibida. - Ocultar seções de podcast - As seções de podcast estão ocultas. - As seções de podcast serão exibidas. Ocultar links de compras Os links de compras estão ocultos. Os links de compras serão exibidos. @@ -1152,18 +1152,18 @@ info: Ocultar no feed de início e em vídeos relacionados Oculto no feed de início e em vídeos relacionados. Exibindo no feed de início e em vídeos relacionados. - Ocultar no feed de inscrições - Oculto no feed de inscrições. - Exibido no feed de inscrições. Ocultar nos resultados de pesquisas Oculto nos resultados de pesquisa. Exibido nos resultados de pesquisa. + Ocultar no feed de inscrições + Oculto no feed de inscrições. + Exibido no feed de inscrições. Ocultar no histórico de exibição Oculto no histórico de exibição. Exibindo no histórico de exibição. - Alterar estado de repetição do shorts Alterar estado de repetição de plano de fundo do Shorts + Alterar estado de repetição do shorts Reprodução automática Padrão Pausar @@ -1171,77 +1171,77 @@ info: Reprodutor de shorts Ocultar ou mostrar componentes no reprodutor de shorts. + Ocultar barra de canal + A barra do canal está oculta. + A barra do canal será exibida. + Ocultar rótulo completo do link do vídeo + O rótulo de link de vídeo está oculto. + O rótulo de link de vídeo será exibido. + Ocultar painéis de informações + Os painéis de informação estão ocultos. + Os painéis de informação serão exibidos. Ocultar botão seja membro O botão seja membro está oculto. O botão seja membro será exibido. - Ocultar botão de inscrição - O botão de inscrição está oculto. - O botão de inscrição será exibido. + Ocultar o cabeçalho do chat ao vivo + O cabeçalho do chat ao vivo está oculto.\n\nO botão Voltar no cabeçalho não será ocultado. + O cabeçalho do chat ao vivo será exibido.\n\nO botão Voltar no cabeçalho não será ocultado. + Ocultar rótulo de promoção paga + O rótulo de promoção pago está oculto. + O rótulo de promoção pago será exibido. Ocultar cabeçalho pausado O cabeçalho pausado está oculto. O cabeçalho pausado será exibido. Ocultar botões de sobreposição pausados Os botões de sobreposição pausados estão ocultos. Os botões de sobreposição pausados serão exibidos. - Ocultar botão Tendências - O botão de tendências está oculto. - O botão de tendências será exibido. Ocultar botão de Compras O botão de compras está oculto. O botão de compras será exibido. - Ocultar stickers - Os stickers estão ocultos. - Os stickers serão exibidos. - Ocultar rótulo de promoção paga - O rótulo de promoção pago está oculto. - O rótulo de promoção pago será exibido. - Ocultar painéis de informações - Os painéis de informação estão ocultos. - Os painéis de informação serão exibidos. - Ocultar o cabeçalho do chat ao vivo - O cabeçalho do chat ao vivo está oculto.\n\nO botão Voltar no cabeçalho não será ocultado. - O cabeçalho do chat ao vivo será exibido.\n\nO botão Voltar no cabeçalho não será ocultado. - Ocultar barra de canal - A barra do canal está oculta. - A barra do canal será exibida. - Ocultar título do vídeo - O título está oculto. - O título será exibido. Ocultar rótulo de metadados de som O rótulo de metadados está oculto. O rótulo de metadados será exibido. - Ocultar rótulo completo do link do vídeo - O rótulo de link de vídeo está oculto. - O rótulo de link de vídeo será exibido. + Ocultar stickers + Os stickers estão ocultos. + Os stickers serão exibidos. + Ocultar botão de inscrição + O botão de inscrição está oculto. + O botão de inscrição será exibido. + Ocultar botão Tendências + O botão de tendências está oculto. + O botão de tendências será exibido. + Ocultar título do vídeo + O título está oculto. + O título será exibido. Ações sugeridas Ocultar botão de tela verde O botão de tela verde está oculto. O botão de tela verde será exibido. + Ocultar botão localização + O botão localização está oculto. + O botão de localização será exibido. Ocultar botão Salvar música O botão Salvar música está oculto. O botão Salvar música será exibido. + Ocultar botão de sugestões de pesquisa + O botão de sugestões de pesquisa está oculto. + O botão de sugestões de pesquisa será exibido. Ocultar botão comprar O botão comprar está oculto. O botão comprar será exibido. Ocultar botão de Super Valeu O botão de Super Valeu está oculto. O botão de Super Valeu será exibido. - Ocultar botão Usar este som - O botão Usar este som está oculto. - O botão Usar este som será exibido. - Ocultar botão Usar template - O botão Usar template está oculto. - O botão Usar template será exibido. - Ocultar botão localização - O botão localização está oculto. - O botão de localização será exibido. - Ocultar botão de sugestões de pesquisa - O botão de sugestões de pesquisa está oculto. - O botão de sugestões de pesquisa será exibido. Ocultar produtos marcados Os produtos marcados estão ocultos. Os produtos marcados serão exibidos. + Ocultar botão Usar template + O botão Usar template está oculto. + O botão Usar template será exibido. + Ocultar botão Usar este som + O botão Usar este som está oculto. + O botão Usar este som será exibido. Botões de ação Ocultar botão curtir @@ -1267,9 +1267,6 @@ info: Desativar animação do botão Curtir A animação da fonte está desativada acima do botão Curtir. A animação da fonte está ativada acima do botão Curtir. - Ocultar fundo do botão Play & Pause - O fundo do botão está oculto. - O fundo do botão será exibido. Animação de toque duplo Original Gostei @@ -1277,6 +1274,9 @@ info: Coração Coração (Matiz) Oculto + Ocultar fundo do botão Play & Pause + O fundo do botão está oculto. + O fundo do botão será exibido. Ações personalizadas Ativar ações personalizadas no menu flutuante @@ -1292,14 +1292,14 @@ Limitações: Pressione e segure o botão Mais para mostrar o diálogo de ações personalizadas." As ações personalizadas estão desativadas na barra de ferramentas. Ações personalizadas - Copiar URL do vídeo - Exibir menu copiar URL do vídeo - O menu Copiar URL do vídeo será exibido. - O menu Copiar URL do vídeo está oculto. Copiar URL com marcação de tempo Exibir menu copiar URL com marcação de tempo O menu Copiar URL com marcação de tempo será exibido. O menu Copiar URL com marcação de tempo está oculto. + Copiar URL do vídeo + Exibir menu copiar URL do vídeo + O menu Copiar URL do vídeo será exibido. + O menu Copiar URL do vídeo está oculto. Download Exibir menu de download externo O menu Download externo será exibido. @@ -1327,15 +1327,15 @@ Problema conhecido: como se trata de um recurso em fase de desenvolvimento pelo Margem inferior do painel meta Configure o espaçamento da barra de busca para o painel meta, entre 0-64. Margem inferior do painel meta deve estar entre 0-64. Voltar aos valores padrão. - Ocultar barra de ferramentas - A barra de ferramentas está oculta. - A barra de ferramentas será exibida. Ocultar barra de navegação A barra de navegação está oculta. A barra de navegação será exibida. Porcentagem de altura do espaço vazio Configura a porcentagem de altura do espaço vazio esquerdo quando a barra de navegação está oculta, entre 0 e 100 (%). A porcentagem de altura deve estar entre 0-100 (%). + Ocultar barra de ferramentas + A barra de ferramentas está oculta. + A barra de ferramentas será exibida. Substitua o identificador do canal O nome do canal é usado. O identificador do canal é usado. @@ -1711,6 +1711,8 @@ Clique para ver como emitir uma chave de API." Os dados são fornecidos pela API do SponsorBlock. Toque aqui para aprender mais e ver downloads para outras plataformas. Diversos + Desativar protocolo QUIC + "Desativar o protocolo QUIC do CronetEngine." Ativar o registro de depuração O registro de depuração está ativado. O registro de depuração está desativado. @@ -1723,6 +1725,8 @@ Clique para ver como emitir uma chave de API." Ativar abrir links diretamente Ignorando redirecionamentos de URL Seguindo a política de redirecionamento padrão + Limpar links compartilhados + Remove os parâmetros de consulta de rastreamento das URLs ao compartilhar os links. Abrir configurações padrão do aplicativo Para abrir o RVX em um navegador externo, ative \'Abrir links suportados\' e habilite os endereços web suportados. Abrir GmsCore @@ -1739,10 +1743,6 @@ Isto é necessário para o aplicativo funcionar." Toque no botão continuar e desative as otimizações da bateria." Continuar - Limpar links compartilhados - Remove os parâmetros de consulta de rastreamento das URLs ao compartilhar os links. - Desativar protocolo QUIC - "Desativar o protocolo QUIC do CronetEngine." Alterar menu de compartilhamento O menu de compartilhamento do sistema é utilizado. O menu de compartilhamento do aplicativo é utilizado. diff --git a/patches/src/main/resources/youtube/translations/ru-rRU/strings.xml b/patches/src/main/resources/youtube/translations/ru-rRU/strings.xml index 6649a1390..4f16e4b28 100644 --- a/patches/src/main/resources/youtube/translations/ru-rRU/strings.xml +++ b/patches/src/main/resources/youtube/translations/ru-rRU/strings.xml @@ -30,12 +30,12 @@ Полки товаров Полки товаров скрыты. Полки товаров отображены. - Полка покупок в плеере - Полка покупок в плеере скрыта. - Полка покупок в плеере отображена. Метка \"Прямая реклама\" Метка \"Прямая реклама\" скрыта. Метка \"Прямая реклама\" отображена. + Полка покупок в плеере + Полка покупок в плеере скрыта. + Полка покупок в плеере отображена. Баннер оповещения о промо акциях Баннер скрыт. Баннер отображен. @@ -57,10 +57,10 @@ Альтернативные миниатюры Главная - Подписки - Вы Плейлисты, рекомендации Результаты поиска + Подписки + Вы Оригинальные миниатюры DeArrow & Оригинальные миниатюры DeArrow & Захват кадров @@ -99,6 +99,9 @@ Карточки альбомов Карточки альбомов скрыты. Карточки альбомов отображены. + Кнопка \"Субтитры\" в ленте + Кнопка \"Субтитры\" в ленте скрыта. + Кнопка \"Субтитры\" в ленте отображена. Скрыть рекомендуемые секции "Скрывает следующие полки: • Срочные новости @@ -116,15 +119,6 @@ Расширяемые полки Расширяемые полки скрыты. Расширяемые полки отображены. - Кнопка \"Субтитры\" в ленте - Кнопка \"Субтитры\" в ленте скрыта. - Кнопка \"Субтитры\" в ленте отображена. - Панель поиска в ленте - Панель поиска в ленте скрыта. - Панель поиска в ленте отображена. - Опросы в ленте - Опросы в ленте скрыты. - Опросы в ленте отображены. Плавающая кнопка Плавающая кнопка скрыта. Плавающая кнопка отображена. @@ -152,6 +146,12 @@ Кнопка \"Показать еще\" Кнопка \"Показать еще\" скрыта. Кнопка \"Показать еще\" отображена. + Панель поиска в ленте + Панель поиска в ленте скрыта. + Панель поиска в ленте отображена. + Опросы в ленте + Опросы в ленте скрыты. + Опросы в ленте отображены. Строка иконок с подписками Строка иконок с подписками скрыта. Строка иконок с подписками отображена. @@ -182,9 +182,6 @@ Shorts Плейлисты Магазин" - Кнопка \"Магазин\" - Кнопка \"Магазин\" скрыта. - Кнопка \"Магазин\" отображена. Полка участников канала Полка участников канала скрыта. Полка участников канала отображена. @@ -194,6 +191,9 @@ Shorts Полка \"Для вас\" Полка \"Для вас\" скрыта. Полка \"Для вас\" отображена. + Кнопка \"Магазин\" + Кнопка \"Магазин\" скрыта. + Кнопка \"Магазин\" отображена. Посты сообщества Скрытие или отображение постов сообщества в ленте, подписках и канале. @@ -219,6 +219,9 @@ Shorts Скрытие видео по ключевым словам, просмотрам или продолжительности. Фильтр ключевых слов + Фильтр комментариев + Фильтр комментариев включен. + Фильтр комментариев отключен. Фильтр видео в \"Главная\" Фильтр видео в \"Главная\" включен. Фильтр видео в \"Главная\" отключен. @@ -228,9 +231,6 @@ Shorts Фильтр видео в подписках Фильтр видео в подписках включен. Фильтр видео в подписках отключен. - Фильтр комментариев - Фильтр комментариев включен. - Фильтр комментариев отключен. Ключевые слова для скрытия "Скрывать по ключевым словам и фразам. Разделять новой строкой. @@ -252,14 +252,14 @@ Shorts Ключевое слово \'%1$s\' не точное и скроет все видео Рекомендованное видео + Скрыть видео с низкими просмотрами + Скрыть видео с менее 1000 просмотров из ленты, из каналов от которых Вы отписались. Скрыть рекомендованные видео "Скрывает следующие рекомендованные видео: • С тегом \"Только для участников\". • С фразами по типу \"Люди также смотрели\" под видео. • С каналов, на которые вы не подписаны (менее 1000 просмотров)." - Скрыть видео с низкими просмотрами - Скрыть видео с менее 1000 просмотров из ленты, из каналов от которых Вы отписались. Фильтр по количеству просмотров Фильтр видео в \"Главная\" по просмотрам @@ -302,6 +302,12 @@ Shorts Оффсет - Алгоритм выдачи похожих видео Основные настройки + Изменить макет + Оригинал + Телефон + Телефон (Макс. 480 dip) + Планшет + Планшет (Мин. 600 dip) Начальная страница Обзор каналов Курсы / Обучение @@ -352,12 +358,6 @@ Shorts Виджет коротких уведомлений отображен. Скрыть диалог возрастного ограничения "Возрастные ограничения будут приниматься автоматически." - Изменить макет - Оригинал - Телефон - Телефон (Макс. 480 dip) - Планшет - Планшет (Мин. 600 dip) Подмена версии приложения Версия приложения подменена Версия приложения не подменена @@ -403,12 +403,12 @@ Shorts Переопределяет действие нажатия кнопок в приложении. Кнопка \"Скачать\" - Действие кнопки \"Скачать\" для видео - Кнопка \"Скачать\" использует внешний загрузчик. - Кнопка \"Скачать\" использует внутренний загрузчик. Действие кнопки \"Скачать\" для плейлиста Кнопка \"Скачать\" для плейлиста, использует внешний загрузчик. Кнопка \"Скачать\" для плейлиста, использует внутренний загрузчик. + Действие кнопки \"Скачать\" для видео + Кнопка \"Скачать\" использует внешний загрузчик. + Кнопка \"Скачать\" использует внутренний загрузчик. Внешний загрузчик для плейлиста, название пакета Например: NewPipe или YTDLnis, или др. (Для плейлиста). @@ -631,9 +631,6 @@ Shorts Видимость затемнения плеера Диапазон от 0 (прозрачный) до 100. Значение должно быть в диапазоне от 0 до 100. Сброс по умолчанию. - Всплывающие панели плеера - Всплывающие панели плеера отключены. - Всплывающие панели плеера включены. Переключатель списков \"Джем\" Авто-переключатель списков \"Джем\" отключен. "Авто-переключение списков \"Джем\", при активном автовоспроизведении, включено. @@ -641,6 +638,9 @@ Shorts Автовоспроизведение настраивается в: Настройки YouTube → Автовоспроизведение → Автовоспроизведение следующего видео" Авто-переключение списков \"Джем\", при активном автовоспроизведении, отключено. + Всплывающие панели плеера + Всплывающие панели плеера отключены. + Всплывающие панели плеера включены. Наложение скорости "Отключить наложение скорости при нажатии и удержании. @@ -671,12 +671,6 @@ Shorts Информационные панели Информационные панели скрыты. Информационные панели отображены. - Сводка в чате трансляции - Сводка чата трансляции скрыта. - Сводка чата трансляции отображена. - Сообщения чата трансляции - Сообщения онлайн чата скрыты.\n\nТакже применимо к трансляциям в Shorts. - Сообщения онлайн чата отображены.\n\nТакже применимо к трансляциям в Shorts. Медицинские панели Медицинские панели скрыты. Медицинские панели отображены. @@ -689,9 +683,6 @@ Shorts Предлагаемые действия Предлагаемые действия скрыты. Предлагаемые действия отображены. - Реакции по времени - Реакции по времени скрыты. - Реакции по времени отображены. Рекомендуемое видео в конце воспроизведения "Рекомендуемое видео в конце воспроизведения скрыто при выключенном автовоспроизведении. @@ -701,6 +692,9 @@ Shorts Задержка автовоспроизведения Задержка автовоспроизведения следующего видео отключена. Задержка автовоспроизведения следующего видео включена. + Реакции по времени + Реакции по времени скрыты. + Реакции по времени отображены. Увеличение наложения Увеличение наложения отключено. Увеличение наложения включено. @@ -773,30 +767,36 @@ Shorts Баннер \"Комментарии участников\" Баннер \"Комментарии участников\" скрыт. Баннер \"Комментарии участников\" отображен. - Подсвеченные ссылки поиска - Подсвеченные ссылки поиска скрыты. - Подсвеченные ссылки поиска отображены. Секция комментариев Секция комментариев скрыта. Секция комментариев отображена. Секция комментариев в ленте Секция комментариев в ленте скрыта. Секция комментариев ленте отображена. + Кнопка Создать \"Shorts\" + Кнопка \"Создать Shorts\" скрыта. + Кнопка \"Создать Shorts\" отображена. + Метка времени и кнопки эмодзи + Кнопки метки времени и эмодзи скрыты. + Кнопки метки времени и эмодзи отображены. + Подсвеченные ссылки поиска + Подсвеченные ссылки поиска скрыты. + Подсвеченные ссылки поиска отображены. + Сообщения чата трансляции + Сообщения онлайн чата скрыты.\n\nТакже применимо к трансляциям в Shorts. + Сообщения онлайн чата отображены.\n\nТакже применимо к трансляциям в Shorts. + Сводка в чате трансляции + Сводка чата трансляции скрыта. + Сводка чата трансляции отображена. Предпросмотр комментария Предпросмотр комментария скрыт. Предпросмотр комментария отображен. Тип скрытия предпросмотра комментария Не изменяет размер секции комментариев, повтор онлайн чата будет доступен. Изменяет размер секции комментариев, повтор онлайн чата будет недоступен. - Кнопка Создать \"Shorts\" - Кнопка \"Создать Shorts\" скрыта. - Кнопка \"Создать Shorts\" отображена. Кнопка \"Спасибо\" Кнопка \"Спасибо\" скрыта. Кнопка \"Спасибо\" отображена. - Метка времени и кнопки эмодзи - Кнопки метки времени и эмодзи скрыты. - Кнопки метки времени и эмодзи отображены. Выдвижное меню плеера Скрыть или изменить \"Выдвижное меню\" в плеере. @@ -1057,6 +1057,9 @@ Shorts Заменить действие метки времени Нажмите, чтобы открыть меню скорости воспроизведения или качества видео. Нажмите, чтобы показать оставшееся время. + Главы в прогрессе + Главы в прогрессе скрыты. + Главы в прогрессе отображены. Цвет шкалы воспроизведения Используется пользовательский цвет шкалы воспроизведения. Используется оригинальный цвет шкалы воспроизведения. @@ -1066,18 +1069,15 @@ Shorts Перемотка нажатием Перемотка нажатием включена. Перемотка нажатием отключена. + Метки глав в прогрессе + Метки глав в прогрессе скрыты. + Метки глав в прогрессе отображены. Скрыть шкалу воспроизведения Шкала воспроизведения скрыта. Шкала воспроизведения отображена. Миниатюры шкалы воспроизведения Миниатюры шкалы воспроизведения скрыты. Миниатюры шкалы воспроизведения отображены. - Главы в прогрессе - Главы в прогрессе скрыты. - Главы в прогрессе отображены. - Метки глав в прогрессе - Метки глав в прогрессе скрыты. - Метки глав в прогрессе отображены. Метка времени Метка времени скрыта. Метка времени отображена. @@ -1110,15 +1110,15 @@ Shorts Секция содержимого Секция содержимого скрыта. Секция содержимого отображена. + Секции подкастов + Секции подкастов скрыты. + Секции подкастов отображены. Секции информационных карт Секции информационных карт скрыты. Секции информационных карт отображены. Секция \"Ключевые понятия\" Секция \"Ключевые понятия\" скрыта. Секция \"Ключевые понятия\" отображена. - Секции подкастов - Секции подкастов скрыты. - Секции подкастов отображены. Ссылки покупок Ссылки на покупки скрыты. Ссылки на покупки отображены. @@ -1166,18 +1166,18 @@ Shorts Shorts в ленте и похожих видео В ленте и похожих видео скрыты. В ленте и похожих видео отображены. - Shorts в ленте подписок - В ленте подписок скрыты. - В ленте подписок отображены. Shorts в результатах поиска В результатах поиска скрыты. В результатах поиска отображены. + Shorts в ленте подписок + В ленте подписок скрыты. + В ленте подписок отображены. Shorts в истории просмотра В истории просмотра скрыты. В истории просмотра отображены. - Состояние повторов в Shorts Состояние повтора Shorts в фоне + Состояние повторов в Shorts Автопереход По умолчанию Остановить @@ -1185,33 +1185,18 @@ Shorts Плеер Shorts Компоненты в плеере Shorts. - Кнопка \"Спонсор\" - Кнопка \"Спонсор\" скрыта. - Кнопка \"Спонсор\" отображена. - Кнопка \"Подписаться\" - Кнопка \"Подписаться\" скрыта. - Кнопка \"Подписаться\" отображена. - Надпись паузы - Надпись паузы скрыта. - Надпись паузы отображена. - Фоновые кнопки во время паузы - Фоновые кнопки во время паузы скрыты. - Фоновые кнопки во время паузы отображены. - Кнопка \"В тренде\" - Кнопка \"В тренде\" скрыта. - Кнопка \"В тренде\" отображена. - Кнопка \"Покупки\" - Кнопка \"Покупки\" скрыта. - Кнопка \"Покупки\" отображена. - Стикеры - Стикеры скрыты. - Стикеры отображены. - Метка \"Содержит прямую рекламу\" - Метка \"Содержит прямую рекламу\" скрыта. - Метка \"Содержит прямую рекламу\" отображена. + Панель канала + Панель канала скрыта. + Панель канала отображена. + Метка ссылки на полное видео + Метка видео ссылки скрыта. + Метка видео ссылки отображена. Информационные панели Информационные панели скрыты. Информационные панели отображены. + Кнопка \"Спонсор\" + Кнопка \"Спонсор\" скрыта. + Кнопка \"Спонсор\" отображена. Заголовок чата трансляции Заголовок чата трансляции скрыт. @@ -1219,47 +1204,62 @@ Shorts Заголовок чата трансляции отображен. Кнопка возврата в заголовке не будет скрыта. - Панель канала - Панель канала скрыта. - Панель канала отображена. - Заголовок видео - Заголовок скрыт. - Заголовок отображен. + Метка \"Содержит прямую рекламу\" + Метка \"Содержит прямую рекламу\" скрыта. + Метка \"Содержит прямую рекламу\" отображена. + Надпись паузы + Надпись паузы скрыта. + Надпись паузы отображена. + Фоновые кнопки во время паузы + Фоновые кнопки во время паузы скрыты. + Фоновые кнопки во время паузы отображены. + Кнопка \"Покупки\" + Кнопка \"Покупки\" скрыта. + Кнопка \"Покупки\" отображена. Метка звуковых метаданных Метка метаданных скрыта. Метка метаданных отображена. - Метка ссылки на полное видео - Метка видео ссылки скрыта. - Метка видео ссылки отображена. + Стикеры + Стикеры скрыты. + Стикеры отображены. + Кнопка \"Подписаться\" + Кнопка \"Подписаться\" скрыта. + Кнопка \"Подписаться\" отображена. + Кнопка \"В тренде\" + Кнопка \"В тренде\" скрыта. + Кнопка \"В тренде\" отображена. + Заголовок видео + Заголовок скрыт. + Заголовок отображен. Предложенные действия Кнопка зеленого экрана Кнопка зеленого экрана скрыта. Кнопка зеленого экрана отображена. + Кнопка \"Местоположение\" + Кнопка \"Местоположение\" скрыта. + Кнопка \"Местоположение\" отображена. Кнопка \"Сохранить музыку\" Кнопка \"Сохранить музыку\" скрыта. Кнопка \"Сохранить музыку\" отображена. + Кнопка \"Подсказки поиска\" + Кнопка \"Подсказки поиска\" скрыта. + Кнопка \"Подсказки поиска\" отображена. Кнопка \"Магазин\" Кнопка \"Магазин\" скрыта. Кнопка \"Магазин\" отображена. Кнопка \"Особая благодарность\" Кнопка \"Особая благодарность\" скрыта. Кнопка \"Особая благодарность\" отображена. - Кнопка \"Использовать этот звук\" - Кнопка \"Использовать этот звук\" скрыта. - Кнопка \"Использовать этот звук\" отображена. - Кнопка \"Использовать шаблон\" - Кнопка \"Использовать шаблон\" скрыта. - Кнопка \"Использовать шаблон\" отображена. - Кнопка \"Местоположение\" - Кнопка \"Местоположение\" скрыта. - Кнопка \"Местоположение\" отображена. - Кнопка \"Подсказки поиска\" - Кнопка \"Подсказки поиска\" скрыта. - Кнопка \"Подсказки поиска\" отображена. Товары с тегом Товары с тегом скрыты. Товары с тегом отображены. + Кнопка \"Использовать шаблон\" + Кнопка \"Использовать шаблон\" скрыта. + Кнопка \"Использовать шаблон\" отображена. + Кнопка \"Использовать этот звук\" + Кнопка \"Использовать этот звук\" скрыта. + Кнопка \"Использовать этот звук\" отображена. Кнопки действий Кнопка \"Лайк\" @@ -1285,9 +1285,6 @@ Shorts Анимация кнопки \"Лайк\" Анимация кнопки \"Лайк\" отключена. Анимация кнопки \"Лайк\" включена. - Фон кнопки \"Воспроизведение\" - \"Пауза\" - Фон скрыт. - Фон отображен. Анимация двойного нажатия Обычная Палец вверх @@ -1295,6 +1292,9 @@ Shorts Сердечко Сердце (Оттенок) Скрыта + Фон кнопки \"Воспроизведение\" - \"Пауза\" + Фон скрыт. + Фон отображен. Пользовательские действия Пользовательские действия в выпадающем меню @@ -1310,14 +1310,14 @@ Shorts Нажать и удерживать кнопку Еще - покажет пользовательские настройки." Пользовательские действия отключены. Пользовательские действия - Копировать URL-адрес видео - Меню копирования URL видео - Меню копирования URL видео отображено. - Меню копирования URL видео скрыто. Скопировать URL-адрес метки времени Копирование URL с меткой времени Копирование URL с меткой времени отображено. Копирование URL с меткой времени скрыто. + Копировать URL-адрес видео + Меню копирования URL видео + Меню копирования URL видео отображено. + Меню копирования URL видео скрыто. Внешний загрузчик Меню внешнего загрузчика Меню внешнего загрузчика отображено. @@ -1348,15 +1348,15 @@ Shorts Диапазон от 0 до 64. Нижнее поле отступа \"мета\" панели может быть только в диапазоне от 0 до 64. Сброс по умолчанию. - Панель инструментов - Панель инструментов скрыта. - Панель инструментов отображена. Панель навигации Панель навигации скрыта. Панель навигации отображена. Процент высоты отступа Настраивает высоту отступа, когда панель навигации скрыта, от 0 до 100 (%). Высота должна быть от 0 до 100 (%). + Панель инструментов + Панель инструментов скрыта. + Панель инструментов отображена. Заменить псевдоним канала Используется имя канала. Используется псевдоним канала. @@ -1736,6 +1736,8 @@ Shorts Данные предоставлены SponsorBlock API. Нажмите здесь, чтобы узнать больше и скачать версии для других платформ. Разное + Отключить протокол QUIC + "Отключает протокол, построенный поверх UDP, переходя на TCP." Журнал отладки Журнал отладки включен. Журнал отладки отключен. @@ -1748,6 +1750,8 @@ Shorts Перенаправление ссылок Обход youtube.com/redirect при открытии ссылок включен. Обход youtube.com/redirect при открытии ссылок отключен. + Очистить ссылки при отправке + Убирает параметры отслеживания запросов из URL при отправке ссылки. Использование по умолчанию Чтобы открывать ссылки YouTube с помощью RVX, настройте \"Открытие поддерживаемых ссылок\" и включите нужные поддерживаемые веб-адреса. Открыть GmsCore @@ -1764,10 +1768,6 @@ Shorts Нажмите кнопку \"Продолжить\" и отключите оптимизацию батареи." Продолжить - Очистить ссылки при отправке - Убирает параметры отслеживания запросов из URL при отправке ссылки. - Отключить протокол QUIC - "Отключает протокол, построенный поверх UDP, переходя на TCP." Список приложений общего доступа Список приложений общего доступа - системный. Список приложений общего доступа - встроенный. diff --git a/patches/src/main/resources/youtube/translations/tr-rTR/strings.xml b/patches/src/main/resources/youtube/translations/tr-rTR/strings.xml index f8fe9ad57..768ac6e84 100644 --- a/patches/src/main/resources/youtube/translations/tr-rTR/strings.xml +++ b/patches/src/main/resources/youtube/translations/tr-rTR/strings.xml @@ -30,12 +30,12 @@ Lütfen web sitesinden %2$s dosyasını indirin." Ürünler kısmını gizle Ürünler rafı gizleniyor. Ürünler rafı gizlenmiyor. - \? - Alışveriş rafı gizlenmiş. - Alışveriş rafı gösteriliyor. Ücretli tanıtım etiketini gizle Ücretli tanıtım etiketi gizli. Ücretli tanıtım etiketi gösteriliyor. + \? + Alışveriş rafı gizlenmiş. + Alışveriş rafı gösteriliyor. Promosyon uyarı afişini gizle Promosyon uyarı afişi gizli. Promosyon uyarı afişi gösteriliyor. @@ -57,10 +57,10 @@ Lütfen web sitesinden %2$s dosyasını indirin." Alternatif kapak fotoğrafları Ana Sayfa Sekmesi - Abonelikler sekmesi - \'Siz\' sekmesi Oynatıcı çalma listeleri, öneriler Arama sonuçları + Abonelikler sekmesi + \'Siz\' sekmesi Orijinal küçük resimler DeArrow & Orijinal küçük resimleri DeArrow & Hareketsiz Yakalamalar @@ -96,6 +96,9 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun." Albüm kartlarını gizle Albüm kartları gizleniyor Albüm kartları gösteriliyor + Akış altyazı butonunu gizle + Altyazılar butonu gizleniyor. + Altyazılar butonu gizlenmiyor. Atlıkarınca rafını gizle "Döner rafı ana sayfa ve keşfet sekmesinden gizler." Buna benzer daha çok video çipini gizle @@ -107,15 +110,6 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun." Genişletilebilir rafları gizle Genişletilebilir raflar gizleniyor. Genişletilebilir raflar gösteriliyor. - Akış altyazı butonunu gizle - Altyazılar butonu gizleniyor. - Altyazılar butonu gizlenmiyor. - Akışta çıkan arama çubuğunu gizle - Akış arama çubuğu gizleniyor. - Akış arama çubuğu gizlenmiyor. - Akışta çıkan anketleri gizle - YouTube\'un anketleri gizleniyor - YouTube\'un anketleri gösteriliyor Yüzen butonu gizle Yüzen butonu gizleniyor. Yüzen butonu gösteriliyor. @@ -143,6 +137,12 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun." \'Daha fazla göster\' düğmesini gizle \"Daha fazla göster\" butonu gizleniyor. \"Daha fazla göster\" butonu gizlenmiyor. + Akışta çıkan arama çubuğunu gizle + Akış arama çubuğu gizleniyor. + Akış arama çubuğu gizlenmiyor. + Akışta çıkan anketleri gizle + YouTube\'un anketleri gizleniyor + YouTube\'un anketleri gösteriliyor Abonelikler karosel rafını gizle Abonelikler karosel rafı gizleniyor. Abonelikler karosel rafı gizlenmiyor. @@ -172,9 +172,6 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun." "Shorts Oynatma listeleri Mağaza" - Mağazaya göz at butonunu gizle - Mağazaya göz at butonu gizleniyor. - Mağazaya göz at butonu gösteriliyor. Kanal profilindeki \"Üyelerimiz\" bölümünü gizle Kanal üyeleri menüsü gizleniyor Kanal üyeleri menüsü gösteriliyor @@ -184,6 +181,9 @@ Mağaza" \'Sizin için\' rafını gizle \'Sizin için\' rafları gizleniyor. \'Sizin için\' rafları gizlenmiyor. + Mağazaya göz at butonunu gizle + Mağazaya göz at butonu gizleniyor. + Mağazaya göz at butonu gösteriliyor. Topluluk gönderileri Akıştaki ve kanaldaki topluluk gönderilerini gizleyin veya gösterin. @@ -209,6 +209,9 @@ Mağaza" Videoları anahtar kelimelere veya görüntülemelere göre gizleyin. Anahtar kelime filtresi + Anahtar kelimeler ile yorumları gizle + Yorumlar anahtar kelimelerle filtreleniyor. + Yorumlar anahtar kelimelerle filtrelenmiyor. Ana ekran videolarını anahtar kelimelerle gizle. Ana sayfa videoları anahtar kelimeler tarafından filtreleniyor. Ana sayfa videoları anahtar kelimeler tarafından filtrelenmiyor. @@ -218,9 +221,6 @@ Mağaza" Abonelik videolarını anahtar kelimelerle gizle Abonelik videoları anahtar kelimeler tarafından filtreleniyor. Abonelik videoları anahtar kelimeler tarafından filtrelenmiyor. - Anahtar kelimeler ile yorumları gizle - Yorumlar anahtar kelimelerle filtreleniyor. - Yorumlar anahtar kelimelerle filtrelenmiyor. Anahtar kelime filtresini düzenle "Yeni satırla ayrılmış, gizlenecek anahtar kelimeler ve söz öbekleri @@ -240,13 +240,13 @@ Kısıtlamalar: \'%1$s\' anahtar kelimesi tüm videoları gizleyecek. Önerilen video + Az izlenen videoları gizle + Abone olunmayan kanallardan yüklenen ana sayfa yayınlarında 1.000\'den az izlenen videoları gizleyin. Önerilen videoları gizle "Aşağıdaki önerilen videoları gizler: • 'Yalnızca Üyeler İçin' etiketine sahip videolar • Videonun altında 'Kullanıcılar da izledi' gibi ibarelerin yer aldığı videolar." - Az izlenen videoları gizle - Abone olunmayan kanallardan yüklenen ana sayfa yayınlarında 1.000\'den az izlenen videoları gizleyin. İzlenme sayısı filtresi Anasayfadaki videoları görüntülenmeye göre gizle @@ -280,6 +280,12 @@ Sunucu tarafındaki değişiklikler nedeniyle oynatıcı ekranı düzeni değiş Ofset Genel + Düzeni değiştir + Orijinal + Telefon + Telefon (En fazla 480 dp) + Tablet + Tablet (En az 600 dp) Başlangıç ​​sayfasını değiştir Kanalları Tara Varsayılan @@ -325,12 +331,6 @@ Sınırlama: Araç çubuğundaki geri butonu çalışmayabilir." Gizlenmiyor İzleyicinin takdirine bağlı iletişim kutusunu kaldır "Görüntüleyicinin takdirine ilişkin iletişim kutusunu kaldırır. Bu yaş sınırlamasını atlamaz. Sadece otomatik olarak kabul ediyor." - Düzeni değiştir - Orijinal - Telefon - Telefon (En fazla 480 dp) - Tablet - Tablet (En az 600 dp) Uygulama Versiyonunu taklit et Sürüm taklit ediliyor Sürüm taklit edilmiyor @@ -373,12 +373,12 @@ Daha sonra kapatılırsa kullanıcı arayüzü hatalarını önlemek için uygul Uygulama içi düğmelerin tıklama eylemini geçersiz kılar. İndirme butonu - Video indirme butonunu geçersiz kıl - İndirme düğmesi harici indiricinizi açar. - Yerel video indirme butonu, yerel uygulama içi indiriciyi açar. Oynatma listesi indirme butonunu geçersiz kıl Yerel çalma listesi indirme düğmesi her zaman gösterilir ve genel çalma listelerinde harici indiricinizi açar. Gösterilirse, yerel çalma listesi indirme düğmesi yerel uygulama içi indiriciyi açar. + Video indirme butonunu geçersiz kıl + İndirme düğmesi harici indiricinizi açar. + Yerel video indirme butonu, yerel uygulama içi indiriciyi açar. Oynatma listesi indirici paket ismi Yüklü harici indirici uygulamanızın paket adı, örneğin YTDLnis. @@ -584,9 +584,6 @@ Not: Bu özelliği devre dışı bırakmak, eski arayüzdeki \"Videoyu sarmak i Bilgi panellerini gizle Bilgi panelleri gizleniyor. Bilgi panelleri gizlenmiyor. - Canlı sohbet mesajlarını gizle - Canlı sohbet mesajları gizlenir.\n\nBu ayar, Shorts canlı videoları için de geçerlidir. - Canlı sohbet mesajları gösterilir.\n\nBu ayar, Shorts canlı videoları için de geçerlidir. Tıbbi panelleri gizle Tıbbi bilgi içeren paneller gizleniyor. Tıbbi bilgi içeren paneller gizlenmiyor. @@ -599,9 +596,6 @@ Not: Bu özelliği devre dışı bırakmak, eski arayüzdeki \"Videoyu sarmak i Önerilen eylemleri gizle Önerilen eylemler gizlendi. Önerilen eylemler gizlenmiyor. - Zamanlı tepkileri gizle - Gizleniyor - Gizlenmiyor Önerilen video bitiş ekranını devre dışı bırak "Otomatik oynatma kapatıldığında önerilen video bitiş ekranı gizlenir. @@ -611,6 +605,9 @@ Otomatik oynatma YouTube ayarlarından değiştirilebilir: Otomatik oynatma geri sayımını atla Otomatik oynatma açıksa sonraki video geri sayım olmadan oynatılır. Otomatik oynatma açıksa sonraki video geri sayım bitmeden oynatılır. + Zamanlı tepkileri gizle + Gizleniyor + Gizlenmiyor Yakınlaştırma arayüzünü gizle Yakınlaştırma arayüzü gizli. Yakınlaştırma arayüzü gizlenmiyor. @@ -681,30 +678,33 @@ Otomatik oynatma YouTube ayarlarından değiştirilebilir: \'Üyeler tarafından yapılan yorumlar\' afişini gizle \'Üyeler tarafından yapılan yorumlar\' afişi gizleniyor. Üyeler tarafından yapılan yorumlar afişi gizlenmiyor. - Vurgulanmış arama bağlantılarını gizle - Vurgulanan arama bağlantıları gizlendi. - Vurgulanan arama bağlantıları gösteriliyor. Yorumlar bölümünü gizle Yorumlar kısmı gizleniyor. Yorumlar kısmı gizlenmiyor. Akışta yorumlar bölümünü gizle Akışta yorumlar kısmı gizleniyor. Akışta yorumlar kısmı gösteriliyor. + Short oluştur butonunu gizle + Short oluştur butonu gizlenir. + Short oluştur butonu gösterilir. + Zaman damgası ve emoji düğmelerini gizle + Zaman damgası ve emoji düğmelerini gizleniyor + Zaman damgası ve emoji düğmelerini gizlenmiyor. + Vurgulanmış arama bağlantılarını gizle + Vurgulanan arama bağlantıları gizlendi. + Vurgulanan arama bağlantıları gösteriliyor. + Canlı sohbet mesajlarını gizle + Canlı sohbet mesajları gizlenir.\n\nBu ayar, Shorts canlı videoları için de geçerlidir. + Canlı sohbet mesajları gösterilir.\n\nBu ayar, Shorts canlı videoları için de geçerlidir. Önizlenen yorumu gizle Videonun altındaki Yorumlar yazısının altında gösterilen yorum gizleniyor. Videonun altındaki Yorumlar yazısının altında gösterilen yorum gizlenmiyor. Önizleme yorumu tipini gizle Bu, yorum bölümünün boyutunu değiştirmez, dolayısıyla yorum bölümünde canlı sohbet tekrarını açmak mümkündür. Bu, yorum bölümünün boyutunu değiştirir, dolayısıyla yorum bölümünde canlı sohbet tekrarını açmak imkansızdır. - Short oluştur butonunu gizle - Short oluştur butonu gizlenir. - Short oluştur butonu gösterilir. Teşekkürler butonunu gizle \"Teşekkürler\" butonu gizleniyor. \"Teşekkürler\" butonu gösteriliyor. - Zaman damgası ve emoji düğmelerini gizle - Zaman damgası ve emoji düğmelerini gizleniyor - Zaman damgası ve emoji düğmelerini gizlenmiyor. Açılır menü Video oynatıcıdaki açılır menüyü gizleyin veya değiştirin. @@ -972,15 +972,15 @@ Bilgi: İçerikler bölümünü gizle Bu içeriğin nasıl yapıldığı bölümü gizlidir. Bu içeriğin nasıl yapıldığı bölümü gizlenmiyor. + \"Podcast\'i keşfedin\" kısmını gizle + Podcast bölümleri gizleniyor. + Podcast bölümlerini keşfet bölümleri gizlenmiyor. Video açıklamasındaki kanal bilgileri kısmını gizle Video açıklamasındaki kanal bilgileri gizleniyor. Bilgi kartları bölümü görünür. Anahtar kavramlar bölümünü gizle Anahtar kavramlar bölümünü gizli. Anahtar kavramlar bölümünü gizlenmiyor. - \"Podcast\'i keşfedin\" kısmını gizle - Podcast bölümleri gizleniyor. - Podcast bölümlerini keşfet bölümleri gizlenmiyor. Alışveriş bağlantılarını gizle Alışveriş linkleri gizleniyor. Alışveriş linkleri gizlenmiyor. @@ -1014,12 +1014,12 @@ Bilinen sorun: Arama sonuçlarındaki resmi başlıklar da gizlenebiliyor."Akışta ve ilgili videolarda gizle Akışta ve ilgili videolarda gizlidir. Akışta ve ilgili videolarda gösterilir. - Abonelikler akışında Shorts\'u gizle - Abonelikler akışındaki Shorts rafı gizli - Abonelikler akışındaki Shorts rafı gizlenmiyor Arama sonuçlarında Shorts\'u gizle Arama sonuçlarındaki Shorts rafları gizli Arama sonuçlarındaki Shorts rafları gizlenmiyor + Abonelikler akışında Shorts\'u gizle + Abonelikler akışındaki Shorts rafı gizli + Abonelikler akışındaki Shorts rafı gizlenmiyor İzleme geçmişinde gizle İzleme geçmişinde gizli. İzleme geçmişinde gizlenmiyor. @@ -1032,44 +1032,44 @@ Bilinen sorun: Arama sonuçlarındaki resmi başlıklar da gizlenebiliyor." Shorts oynatıcı Shorts oynatıcıdaki bileşenleri gizleyin veya gösterin. + Kanal barını gizle + Kanal barı gizli. + Kanal barı görünür + Tüm video bağlantısı etiketini gizle + Video bağlantı etiketi gizlendi. + Video bağlantı etiketi gösteriliyor + Bilgi panellerini gizle + Bilgi panelleri gizleniyor. + Bilgi panelleri gizlenmiyor. Katıl butonunu gizle \"Katıl\" butonu gizleniyor. \"Katıl\" butonu gösteriliyor. - Abone ol düğmesini gizle - Abone ol düğmesi gizli - Abone ol düğmesi görünür. + Canlı sohbet başlığını gizle + Canlı sohbet başlığı gizlendi.\n\nBaşlıktaki geri düğmesi gizlenmeyecek. + Canlı sohbet başlığı gizlenmedi.\n\nBaşlıktaki geri düğmesi gizlenmeyecek. + Ücretli tanıtım etiketini gizle + Ücretli tanıtım etiketi gizli. + Ücretli tanıtım etiketi gösteriliyor. Durdurulmuş başlığı gizle Durdurulmuş başlık gizli Durdurulmuş başlık gizlenmiyor. Duraklama katmanı düğmelerini gizle Duraklama katmanı düğmeleri gizli. Duraklama katmanı düğmeleri görünür. - Trends butonunu gizle - Trend butonu gizli. - Trend butonu görünür. Alışveriş butonunu gizle Alışveriş butonu gizli. - Ücretli tanıtım etiketini gizle - Ücretli tanıtım etiketi gizli. - Ücretli tanıtım etiketi gösteriliyor. - Bilgi panellerini gizle - Bilgi panelleri gizleniyor. - Bilgi panelleri gizlenmiyor. - Canlı sohbet başlığını gizle - Canlı sohbet başlığı gizlendi.\n\nBaşlıktaki geri düğmesi gizlenmeyecek. - Canlı sohbet başlığı gizlenmedi.\n\nBaşlıktaki geri düğmesi gizlenmeyecek. - Kanal barını gizle - Kanal barı gizli. - Kanal barı görünür - Video başlığını gizle - Başlık gizli - Başlık görünür Ses bilgisi etiketini gizle Bilgi etiketi gizlendi Bilgi etiketi gösteriliyor - Tüm video bağlantısı etiketini gizle - Video bağlantı etiketi gizlendi. - Video bağlantı etiketi gösteriliyor + Abone ol düğmesini gizle + Abone ol düğmesi gizli + Abone ol düğmesi görünür. + Trends butonunu gizle + Trend butonu gizli. + Trend butonu görünür. + Video başlığını gizle + Başlık gizli + Başlık görünür Mağaza düğmesini gizle Mağaza düğmesi gizli. @@ -1102,9 +1102,6 @@ Bilinen sorun: Arama sonuçlarındaki resmi başlıklar da gizlenebiliyor."Ses düğmesi görünür. Animasyon / geri bildirim - Oynatma & buton arka planı duraklat - Buton arka planı gizli. - Buton arka planı gizlenmiyor. Çift tıklama animasyonu Orjinal Beğen @@ -1112,6 +1109,9 @@ Bilinen sorun: Arama sonuçlarındaki resmi başlıklar da gizlenebiliyor."Kalp Kalp (Renk Tonlu) Gizlendi + Oynatma & buton arka planı duraklat + Buton arka planı gizli. + Buton arka planı gizlenmiyor. Zaman damgalarını etkinleştir @@ -1126,12 +1126,12 @@ Bilinen sorunlar: Meta panel alt kenar boşluğu Arama çubuğundan meta panele kadar olan aralığı 0-64 arasında yapılandırın. Meta panel alt kenar boşluğu 0-64 arasında olmalıdır. Varsayılan değerlere sıfırlayın. - Araç çubuğunu göster - Araç çubuğu gizli. - Araç çubuğu gösteriliyor. Gezinme çubuğunu gizle Gezinme çubuğu gizli. Gezinme çubuğu gösteriliyor + Araç çubuğunu göster + Araç çubuğu gizli. + Araç çubuğu gösteriliyor. Kanal etiketini değiştirin Kanal ismi kullanılıyor. Kanal etiketi kullanılıyor. @@ -1442,6 +1442,8 @@ Bir örnek görmek için buraya dokunun. Veriler, SponsorBlock API tarafından sağlanmaktadır. Daha fazla bilgi edinmek ve diğer platformlar için indirmeleri görmek için buraya dokunun. Diğer Ayarlar + QUIC protokolünü devre dışı bırak + "CronetEngine'in QUIC protokolünü devre dışı bırak" Hata ayıklama günlüğünü etkinleştir Hata ayıklama günlükleri etkin Hata ayıklama günlükleri devre dışı @@ -1454,6 +1456,8 @@ Bir örnek görmek için buraya dokunun. Bağlantıları direkt açmayı etkinleştir URL yönlendirmeleri atlanıyor. Varsayılan yönlendirme politikası takip ediliyor. + Paylaşılan bağlantıları sterilize edin + Bağlantıları paylaşırken, tracking query parametrelerini URL\'lerden kaldırır. Varsayılan uygulama ayarlarını aç Bir tarayıcıda, bir YouTube videosuna tıkladığınızda videoyu RVX\'te açmak için, \"Desteklenen bağlantıları aç\"ı açın ve desteklenen web adreslerini etkinleştirin. GmsCore\'yi aç @@ -1470,10 +1474,6 @@ Bu uygulamanın çalışması için gereklidir." Devam düğmesine dokunun ve pil optimizasyonlarını devre dışı bırakın." Devam Et - Paylaşılan bağlantıları sterilize edin - Bağlantıları paylaşırken, tracking query parametrelerini URL\'lerden kaldırır. - QUIC protokolünü devre dışı bırak - "CronetEngine'in QUIC protokolünü devre dışı bırak" OPUS kodek bileşenini etkinleştir Oynatıcı yanıtı OPUS codec bileşenini içeriyorsa OPUS codec bileşenini etkinleştirin. diff --git a/patches/src/main/resources/youtube/translations/uk-rUA/strings.xml b/patches/src/main/resources/youtube/translations/uk-rUA/strings.xml index 8925f43dd..d62072317 100644 --- a/patches/src/main/resources/youtube/translations/uk-rUA/strings.xml +++ b/patches/src/main/resources/youtube/translations/uk-rUA/strings.xml @@ -30,12 +30,12 @@ Приховати товарну полицю Товарні полиці приховано. Товарні полиці показується. - Приховати полицю покупок в плеєрі - Полицю покупок приховано. - Полицю покупок показується. Приховати мітку Містить пряму рекламу Мітку Містить пряму рекламу приховано. Мітку Містить пряму рекламу показується. + Приховати полицю покупок в плеєрі + Полицю покупок приховано. + Полицю покупок показується. Приховати рекламні сповіщення Рекламні сповіщення приховано. Рекламні сповіщення показується. @@ -57,10 +57,10 @@ Альтернативні мініатюри Вкладка Головна - Вкладка Підписки - Вкладка \'Ви\' Списки відтворення, рекомендації Результати пошуку + Вкладка Підписки + Вкладка \'Ви\' Оригінальні мініатюри DeArrow та Оригінальні мініатюри DeArrow та кадри @@ -96,6 +96,9 @@ Приховати картки альбому Картки альбомів приховано. Картки альбому показується. + Приховати кнопку Субтитри + Кнопку субтитрів приховано. + Кнопку субтитрів показується. Приховати карусельну полицю "Приховати наступні полиці: • Важливі новини @@ -107,21 +110,12 @@ Приховати полицю фішок Полицю фішок приховано Полицю фішок показується - Приховати розширювану фішку під відео + Приховати розширювальні фішки під відео Розширювані фішки приховано. Розширювані фішки показується. Приховати висувні полиці Висувні полиці приховано. Висувні полиці показується. - Приховати кнопку Субтитри - Кнопку субтитрів приховано. - Кнопку субтитрів показується. - Приховати панель пошуку - Панель пошуку приховано. - Панель пошуку показується. - Приховати опитування - Опитування приховано. - Опитування показується. Приховати плавучу кнопку Плавучу кнопку приховано. Плавучу кнопку показується. @@ -149,6 +143,12 @@ Приховати кнопку \'Показати більше\' Кнопку \'Показати більше\' приховано. Кнопку \'Показати більше\' показується. + Приховати панель пошуку + Панель пошуку приховано. + Панель пошуку показується. + Приховати опитування + Опитування приховано. + Опитування показується. Приховати карусель підписок Карусель підписок приховано. Карусель підписок показується. @@ -178,9 +178,6 @@ "YouTube Shorts Списки відтворення Магазин" - Приховати кнопку огляду магазину - Кнопку огляду магазину приховано. - Кнопку огляду магазину показується. Приховати полицю спонсорів каналу Полицю спонсорів каналу приховано. Полицю спонсорів каналу показується. @@ -190,6 +187,9 @@ Приховати полицю \'Для вас\' Полицю \'Для вас\' приховано. Полицю \'Для вас\' показується. + Приховати кнопку огляду магазину + Кнопку огляду магазину приховано. + Кнопку огляду магазину показується. Публікації спільноти Приховувати чи показувати публікації спільноти у стрічці та каналі. @@ -215,6 +215,9 @@ Приховати відео за ключовими словами або переглядами. Фільтр ключових слів + Приховати коментарі за ключовими словами + Коментарі фільтрується. + Коментарі не фільтрується. Приховати відео на головній за ключовими словами. Відео у головній стрічці фільтруються. Відео у головній стрічці не фільтруються. @@ -224,9 +227,6 @@ Приховати відео підписок за ключовими словами Відео у стрічці підписок фільтруються. Відео у стрічці підписок не фільтруються. - Приховати коментарі за ключовими словами - Коментарі фільтрується. - Коментарі не фільтрується. Ключові слова для приховування "Ключові слова та фрази для приховування, відокремлені новими рядками. @@ -249,13 +249,13 @@ Ключове слово приховає всі відео: %s. Рекомендовані відео + Приховати відео з малою кількістю переглядів + Приховати відео з менш ніж 1,000 переглядів з головної стрічки, вантажені з каналів, на які не підписані. Приховати рекомендовані відео "Приховуються такі рекомендовані відео: • Відео з тегом 'Тільки для спонсорів'. • Відео з фразами на кшталт 'Людей також дивилися' внизу." - Приховати відео з малою кількістю переглядів - Приховати відео з менш ніж 1,000 переглядів з головної стрічки, вантажені з каналів, на які не підписані. Фільтр за кількістю переглядів Приховати відео на головній за переглядами @@ -289,6 +289,12 @@ Зміщення Загальне + Змінити макет + Оригінал + Телефонний + Телефонний (Макс 480 dp) + Планшетний + Планшетний (Мін 600 dp) Змінити початкову сторінку Перегляд каналів Навчання @@ -341,12 +347,6 @@ Вилучати діалогове вікно "Вилучається діалогове вікно. Це не обходить вікові обмеження, а просто приймається автоматично." - Змінити макет - Оригінал - Телефонний - Телефонний (Макс 480 dp) - Планшетний - Планшетний (Мін 600 dp) Підробити версію програми Версію підроблено Версію не підроблено @@ -392,12 +392,12 @@ Перевизначення дії натискання кнопок додатка. Кнопка завантаження - Перевизначити кнопку завантаження відео - Кнопка завантаження відео відкриває зовнішній завантажувач. - Кнопка завантаження відео відкриває вбудований завантажувач. Перевизначити кнопку завантаження списку відтворення Кнопка вбудованого завантаження списку відтворення завжди показується, і в публічних списках відтворення відкриває зовнішній завантажувач. Кнопка вбудованого завантаження списку відтворення відкриває вбудований завантажувач, якщо показується. + Перевизначити кнопку завантаження відео + Кнопка завантаження відео відкриває зовнішній завантажувач. + Кнопка завантаження відео відкриває вбудований завантажувач. Ім\'я пакета завантажувача списку відтворення Ім\'я пакета встановленого зовнішнього завантажувача, наприклад YTDLnis. @@ -476,7 +476,7 @@ Приховати кнопку Бібліотека Кнопку Бібліотека приховано. Кнопку Бібліотека показується. - Приховати кнопку сповіщень + Приховати кнопку Сповіщення Кнопку сповіщень приховано. Кнопку сповіщень показується. Приховати кнопку YouTube Shorts @@ -620,16 +620,16 @@ Користувацька непрозорість затемнення плеєра Значення непрозорості в межах 0-100, де 0 це прозорий Непрозорість затемнення плеєра має бути в межах 0-100. - Вимкнути висувні панелі плеєра - Автовисувні панелі плеєра вимкнено. - Автовисувні панелі плеєра увімкнено. - Вимкнути перемикання списків відтворення Мікс + Вимкнути автоперемикання списків відтворення Мікс Автоперемикання списків відтворення Мікс вимкнено. "Автоперемикання списків створення Мікс увімкнено коли автовідтворення увімкнене. Автовідтворення можна змінити у налаштуваннях YouTube: Налаштування → Автоматичне відтворення → Автовідтворення наступного відео" Вмикання цієї функції вимкне автоматичне перемикання на YouTube Mix коли музика відтворюється якщо автовідтворення увімкнене. + Вимкнути висувні панелі плеєра + Автовисувні панелі плеєра вимкнено. + Автовисувні панелі плеєра увімкнено. Вимкнути накладання швидкості "Вимикається 'Відтворення зі швидкістю 2x' під час утримання @@ -660,12 +660,6 @@ Приховати інформаційні панелі Інформаційні панелі приховано. Інформаційні панелі показується. - Приховати Опис чату в чаті - Опис чату приховано. - Опис чату показується. - Приховати повідомлення онлайн чату - Повідомлення онлайн чату приховано.\n\nЦе налаштування також застосовується до прямих трансляцій Shorts. - Повідомлення онлайн чату показується.\n\nЦе налаштування також застосовується до прямих трансляцій Shorts. Приховати медичні панелі Панелі про медицину приховано. Панелі про медицину показується. @@ -678,9 +672,6 @@ Приховати пропоновані дії Пропоновані дії приховано. Пропоновані дії показується. - Приховати тимчасові реакції - Тимчасові реакції приховано. - Тимчасові реакції показується. Приховати кінцевий екран з пропонованими відео "Кінцевий екран з пропонованими відео приховано коли автовідтворення вимкнене. @@ -690,6 +681,9 @@ Пропустити відлік автовідтворення Якщо автовідтворення увімкнено, наступне відео відтворюватиметься без відліку. Якщо автовідтворення увімкнено, наступне відео відтворюватиметься після закінчення відліку. + Приховати тимчасові реакції + Тимчасові реакції приховано. + Тимчасові реакції показується. Приховати накладання при масштабуванні Накладання при масштабуванні приховано. Накладання при масштабуванні показується. @@ -762,30 +756,36 @@ Приховати банер \'Коментарі спонсорів\' Банер \'Коментарі спонсорів\' приховано. Банер \'Коментарі спонсорів\' показується. - Приховати виділені пошукові посилання - Виділені пошукові посилання приховано. - Виділені пошукові посилання показується. Приховати секцію Коментарі Секцію коментарів приховано. Секцію коментарів показується. Приховати секцію Коментарі у головній стрічці Секцію коментарів приховано у головній стрічці. Секцію коментарів показується у головній стрічці. + Приховати кнопку створення Shorts + Кнопку створення Shorts приховано. + Кнопку створення Shorts показується. + Приховати кнопку з міткою часу та емодзі + Кнопку з міткою часу та емодзі приховано. + Кнопку з міткою часу та емодзі показується. + Приховати виділені пошукові посилання + Виділені пошукові посилання приховано. + Виділені пошукові посилання показується. + Приховати повідомлення Чату + Повідомлення Чату приховано.\n\nЦе налаштування також застосовується до прямих трансляцій Shorts. + Повідомлення Чату показується.\n\nЦе налаштування також застосовується до прямих трансляцій Shorts. + Приховати опис Чату + Опис Чату приховано. + Опис Чату показується. Приховати Закріплений коментар Закріплений коментар приховано Закріплений коментар показується Тип приховування закріпленого коментаря - Це не змінює розмір секції коментарів, тому можливо відкрити чат у секції коментарів. - Це змінює розмір секції коментарів, тому неможливо відкрити чат у секції коментарів. - Приховати кнопку створення Shorts - Кнопку створення Shorts приховано. - Кнопку створення Shorts показується. + Це не змінює розмір секції коментарів, тому можливо відкрити Чат у секції коментарів. + Це змінює розмір секції коментарів, тому неможливо відкрити Чат у секції коментарів. Приховати кнопку подяки Кнопку подяки приховано. Кнопку подяки показується. - Приховати кнопку з міткою часу та емодзі - Кнопку з міткою часу та емодзі приховано. - Кнопку з міткою часу та емодзі показується. Висувне меню Приховати або змінити висувне меню у відеоплеєрі. @@ -877,9 +877,9 @@ Приховати контейнер автовідтворення перед перегляду Контейнер автовідтворення перед перегляду приховано. Контейнер автовідтворення перед перегляду показується. - Приховати кнопку повтору онлайн чату - Кнопку повтору онлайн чату приховано.\n\nЗ\'являється в повноекранному режимі при закритті онлайн чату. - Кнопку повтору онлайн чату показується.\n\nЗ\'являється в повноекранному режимі при закритті онлайн чату. + Приховати кнопку повтору Чату + Кнопку повтору Чату приховано.\n\nЗ\'являється в повноекранному режимі при закритті Чату. + Кнопку повтору Чату показується.\n\nЗ\'являється в повноекранному режимі при закритті Чату. Приховати пов’язані відео Секцію \'Більше відео\' у контейнері швидких дій та пов\'язаних відео приховано. Секцію \'Більше відео\' у контейнері швидких дій та пов\'язаних відео показується. @@ -897,9 +897,9 @@ Приховати кнопку Подобається Кнопку Подобається приховано. Кнопку Подобається показується. - Приховати кнопку онлайн чату - Кнопку онлайн чату приховано. - Кнопку онлайн чату показується. + Приховати кнопку Чату + Кнопку Чату приховано. + Кнопку Чату показується. Приховати кнопку Детальніше Кнопку Детальніше приховано. Кнопку Детальніше показується. @@ -1046,6 +1046,9 @@ Замінити дію мітки часу Натисніть, щоб відкрити висувне меню швидкості відтворення або якості відео. Натисніть, щоб показувався залишок часу. + Вимкнути розділи панелі прогресу + Розділи вимкнено у панелі прогресу. + Розділи ввімкнено у панелі прогресу. Увімкнути користувацький колір смуги прогресу Користувацький колір смуги прогресу увімкнено. Користувацький колір смуги прогресу вимкнено. @@ -1055,18 +1058,15 @@ Увімкнути натискання на смугу прогресу Натискання на смугу прогресу увімкнено. Натискання на смугу прогресу вимкнено. + Приховати мітки розділів панелі прогресу + Мітки розділів біля смуги прогресу приховано. + Мітки розділів біля смуги прогресу показується. Приховати панель прогресу у відеоплеєрі Панель прогресу у відеоплеєрі приховано. Панель прогресу у відеоплеєрі показується. Приховати мініатюри панелі прогресу у відео Мініатюру панелі прогресу приховано. Мініатюру панелі прогресу показується. - Вимкнути розділи панелі прогресу - Розділи вимкнено у панелі прогресу. - Розділи ввімкнено у панелі прогресу. - Приховати мітки розділів панелі прогресу - Мітки розділів біля мітки часу приховано. - Мітки розділів біля мітки часу показується. Приховати мітку часу Мітку часу приховано. Мітку часу показується. @@ -1099,15 +1099,15 @@ Приховати секцію Контент Секцію Як створювався цей контент приховано. Секцію Як створювався цей контент показується. + Приховати секції подкастів + Секції подкастів приховано. + Секції подкастів показується. Приховати секції інформаційних карток Секції інформаційних карток приховано. Секції інформаційних карток показується. Приховати секцію Ключові концепції Секцію Ключові концепції приховано. Секцію Ключові концепції показується. - Приховати секції подкастів - Секції подкастів приховано. - Секції подкастів показується. Приховати посилання покупки Посилання покупки приховано. Посилання покупки показується. @@ -1154,18 +1154,18 @@ Приховати у головній стрічці та пов\'язаних відео Приховано у головній стрічці та пов\'язаних відео. Показується у головній стрічці та пов\'язаних відео. - Приховати у стрічці підписок - Приховано в стрічці підписок. - Показується в стрічці підписок. Приховати в результатах пошуку Приховано в результатах пошуку. Показується в результатах пошуку. + Приховати у стрічці підписок + Приховано в стрічці підписок. + Показується в стрічці підписок. Приховати в історії перегляду Приховано в історії перегляду. Показується в історії перегляду. - Змінити стан повторення Shorts Змінити стан повторення Shorts у фоні + Змінити стан повторення Shorts Автовідворення Стандартно Призупинити @@ -1173,77 +1173,77 @@ Плеєр Shorts Приховувати чи показувати компоненти у плеєрі Shorts. + Приховати панель каналу + Панель каналу приховано. + Панель каналу показується. + Приховати мітку посилання на повне відео + Мітку посилання на повне відео приховано. + Мітку посилання на повне відео показується. + Приховати інформаційні панелі + Інформаційні панелі приховано. + Інформаційні панелі показується. Приховати кнопку Спонсорувати Кнопку Спонсорувати приховано. Кнопку Спонсорувати показується. - Приховати кнопку Підписатися - Кнопку Підписатися приховано. - Кнопку Підписатися показується. + Приховати заголовок Чату + Заголовок Чату приховано.\n\nКнопку назад у заголовку не приховуватиметься. + Заголовок Чату показується.\n\nКнопку назад у заголовку не приховуватиметься. + Приховати мітку Містить пряму рекламу + Мітку Містить пряму рекламу приховано. + Мітку Містить пряму рекламу показується. Приховати заголовок при призупиненні Заголовок при призупиненні приховано. Заголовок при призупиненні показується. Приховати кнопки накладені при паузі Кнопки накладені при паузі приховано. Кнопки накладені при паузі показується. - Приховати кнопку Тренди - Кнопку Тренди приховано. - Кнопку Тренди показується. Приховати кнопку Магазин Кнопку Магазин приховано. Кнопку Магазин показується. + Приховати мітку метаданих звуку + Мітку метаданих звуку приховано. + Мітку метаданих звуку показується. Приховати стікери Стікери приховано. Стікери показується. - Приховати мітку Містить пряму рекламу - Мітку Містить пряму рекламу приховано. - Мітку Містить пряму рекламу показується. - Приховати інформаційні панелі - Інформаційні панелі приховано. - Інформаційні панелі показується. - Приховати заголовок онлайн чату - Заголовок онлайн чату приховано.\n\nКнопку назад у заголовку не приховуватиметься. - Заголовок онлайн чату показується.\n\nКнопку назад у заголовку не приховуватиметься. - Приховати панель каналу - Панель каналу приховано. - Панель каналу показується. + Приховати кнопку Підписатися + Кнопку Підписатися приховано. + Кнопку Підписатися показується. + Приховати кнопку Тренди + Кнопку Тренди приховано. + Кнопку Тренди показується. Приховати назву відео - Назву приховано. - Назву показується. - Приховати мітку метаданих звуку - Мітку метаданих приховано. - Мітку метаданих показується. - Приховати мітку посилання на повне відео - Мітку посилання відео приховано. - Мітку посилання відео показується. + Назву відео приховано. + Назву відео показується. Пропоновані дії Приховати кнопку Зелений екран Кнопку Зелений екран приховано. Кнопку Зелений екран показується. + Приховати кнопку місцезнаходження + Кнопку місцезнаходження приховано. + Кнопку місцезнаходження показується. Приховати кнопку Зберегти звук Кнопку Зберегти звук приховано. Кнопку Зберегти звук показується. + Приховати кнопку пропозицій пошуку + Кнопку пропозицій пошуку приховано. + Кнопку пропозицій пошуку показується. Приховати кнопку Магазин Кнопку Магазин приховано. Кнопка Магазин показується. Приховати кнопку супер подяки Кнопку супер подяки приховано. Кнопку супер подяки показується. - Приховати кнопку Використати цей звук - Кнопку Використати цей звук приховано. - Кнопку Використати цей звук показується. - Приховати кнопку Використати шаблон - Кнопку Використати шаблон приховано. - Кнопку Використати шаблон показується. - Приховати кнопку місцезнаходження - Кнопку місцезнаходження приховано. - Кнопку місцезнаходження показується. - Приховати кнопку пропозицій пошуку - Кнопку пропозицій пошуку приховано. - Кнопку пропозицій пошуку показується. Приховати товари з тегами Товари з тегами приховано. Товари з тегами показується. + Приховати кнопку Використати шаблон + Кнопку Використати шаблон приховано. + Кнопку Використати шаблон показується. + Приховати кнопку Використати цей звук + Кнопку Використати цей звук приховано. + Кнопку Використати цей звук показується. Кнопки дії Приховати кнопку Подобається @@ -1266,12 +1266,9 @@ Кнопку Зі звуком показується. Анімація / Відгук - Вимкнути анімацію кнопки Подобається - Фонтанну анімацію вимкнено над кнопкою Подобається. - Фонтанну анімацію увімкнено над кнопкою Подобається. - Приховати фон кнопки Відтворити - Призупинити - Фон кнопки приховано. - Фон кнопки показується. + Вимкнути фонтанну анімацію кнопки Подобається + Фонтанну анімацію над кнопкою Подобається вимкнено. + Фонтанну анімацію над кнопкою Подобається увімкнено. Анімація подвійного натискання Оригінал Палець вгору @@ -1279,6 +1276,9 @@ Серце Серце (Тоноване) Прихована + Приховати фон кнопки Відтворити - Призупинити + Фон кнопки Відтворити-Призупинити приховано. + Фон кнопки Відтворити-Призупинити показується. Спеціальні дії Увімкнути спеціальні дії у висувному меню @@ -1294,14 +1294,14 @@ Натисніть і утримуйте кнопку Більше, щоб побачити діалог Спеціальні дії." Спеціальні дії вимкнено в панелі інструментів. Спеціальні дії - Копіювати URL відео - Показувати меню копіювання URL відео - Меню копіювання URL показується. - Меню копіювання URL приховано. Копіювати URL з міткою часу Показувати меню копіювання URL з міткою часу Меню копіювання URL з міткою часу показується. Меню копіювання URL з міткою часу приховано. + Копіювати URL відео + Показувати меню копіювання URL відео + Меню копіювання URL показується. + Меню копіювання URL приховано. Зовнішній завантажувач Показувати меню зовнішнього завантажувача Меню зовнішнього завантажувача показується. @@ -1331,15 +1331,15 @@ Нижній відступ метапанелі Налаштуйте відстань від панелі прогресу до метапанелі, діапазон 0-64. Нижній відступ метапанелі повинен бути в межах 0-64. - Приховати панель інструментів - Панель інструментів приховано. - Панель інструментів показується. Приховати панель навігації Панель навігації приховано. Панель навігації показується. Відсоток висоти порожнього простору Налаштуйте відсоток висоти порожнього простору, що залишається, коли приховано панель навігації, між 0 і 100 (%). Відсоток висоти повинен бути в межах 0-100 (%). + Приховати панель інструментів + Панель інструментів приховано. + Панель інструментів показується. Замінити ідентифікатор каналу Використовується назву каналу. Використовується ідентифікатор каналу. @@ -1715,6 +1715,8 @@ Дані надаються Спонсорблок API. Натисніть тут, щоб дізнатися більше та побачити завантаження для інших платформ Різне + Вимкнути протокол QUIC + "Вимкнути протокол CronetEngine's QUIC" Увімкнути журнал налагодження Журнали налагодження увімкнено. Журнали налагодження вимкнено. @@ -1727,10 +1729,12 @@ Увімкнути безпосереднє відкриття посилань Обхід URL переадресацій. Політика перенаправлення. + Обробляти поширення посилань + Вилучає параметри запиту відстеження з посилань під час поширення посилань. Відкрити налаштування Щоб відкривати додаток у зовнішньому перегляді, увімкніть \"Відкривати підтримувані посилання\" та підтримувані вебадреси - Відкрити GmsCore - Увімкніть налаштування спливаючих повідомлень, щоб отримувати сповіщення. + Відкрити налаштування GmsCore + Відкриються налаштування GmsCore. Після цього увімкніть хмарний обмін повідомленнями, щоб отримувати сповіщення. GmsCore не встановлено. Встановіть. Потрібна дія "GmsCore не дозволено працювати у фоні.\n\nДотримуйтесь посібника \"Don't kill my app\" для вашого телефону і застосуйте інструкції для встановлення GmsCore.\n\nЦе необхідно для того, щоб програма працювала." @@ -1741,10 +1745,6 @@ Натисніть кнопку продовжити й дозвольте змінити оптимізацію." Продовжити - Обробляти поширення посилань - Вилучає параметри запиту відстеження з посилань під час поширення посилань. - Вимкнути протокол QUIC - "Вимкнути протокол CronetEngine's QUIC" Змінити діалог Поділитися Використовується системний діалог поширення. Використовується діалог Поділитися додатка. diff --git a/patches/src/main/resources/youtube/translations/vi-rVN/strings.xml b/patches/src/main/resources/youtube/translations/vi-rVN/strings.xml index 0f23eab8e..61de113af 100644 --- a/patches/src/main/resources/youtube/translations/vi-rVN/strings.xml +++ b/patches/src/main/resources/youtube/translations/vi-rVN/strings.xml @@ -13,7 +13,7 @@ Làm mới và khởi động lại Bình thường Tên gói trình tải xuống video - Chọn trình tải xuống hoặc nhập tên gói ứng dụng trình tải xuống đã được cài đặt trên thiết bị của bạn, chẳng hạn như NewPipe hoặc YTDLnis. + Chọn hoặc nhập tên gói ứng dụng trình tải xuống đã được cài đặt trên thiết bị của bạn, chẳng hạn như NewPipe hoặc YTDLnis. Trình tải xuống bên ngoài Chú ý "Có vẻ như %1$s chưa được cài đặt. @@ -30,12 +30,12 @@ Ẩn kệ Sản phẩm Kệ Sản phẩm đã ẩn. Kệ Sản phẩm được hiển thị. - Ẩn kệ Cửa hàng bên dưới trình phát - Kệ Cửa hàng được hiển thị. - Kệ Cửa hàng đã ẩn. Ẩn nhãn nội dung được trả tiền để quảng cáo Nhãn nội dung được trả tiền để quảng cáo đã ẩn. Nhãn nội dung được trả tiền để quảng cáo được hiển thị. + Ẩn kệ Cửa hàng bên dưới trình phát + Kệ Cửa hàng được hiển thị. + Kệ Cửa hàng đã ẩn. Ẩn biểu ngữ thông báo khuyến mãi Biểu ngữ thông báo khuyến mãi đã ẩn. Biểu ngữ thông báo khuyến mãi được hiển thị. @@ -57,10 +57,10 @@ Hình thu nhỏ thay thế Thẻ Trang chủ - Thẻ Kênh đăng ký - Thẻ Bạn Danh sách phát của trình phát, video đề xuất Kết quả tìm kiếm + Thẻ Kênh đăng ký + Thẻ Bạn Hình thu nhỏ gốc DeArrow & Hình thu nhỏ gốc DeArrow & Hình thu nhỏ tự động @@ -98,6 +98,9 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Ẩn thẻ Đĩa nhạc Thẻ đĩa nhạc đã ẩn khỏi kết quả tìm kiếm. Thẻ đĩa nhạc được hiển thị trong kết quả tìm kiếm. + Ẩn nút Phụ đề + Nút Phụ đề đã ẩn. + Nút Phụ đề được hiển thị. Ẩn các kệ được cá nhân hoá "Ẩn các kệ sau: @@ -110,21 +113,12 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Ẩn kệ danh mục được đề xuất Kệ danh mục được đề xuất đã ẩn. Kệ danh mục được đề xuất được hiển thị. - Ẩn bảng giới thiệu mở rộng - Bảng giới thiệu mở rộng đã ẩn bên dưới video. - Bảng giới thiệu mở rộng được hiển thị bên dưới video. + Ẩn bảng giới thiệu mở rộng bên dưới video + Bảng giới thiệu mở rộng bên dưới video đã ẩn. + Bảng giới thiệu mở rộng bên dưới video được hiển thị. Ẩn kệ mở rộng Kệ mở rộng đã ẩn. Kệ mở rộng được hiển thị. - Ẩn nút Phụ đề - Nút Phụ đề đã ẩn. - Nút Phụ đề được hiển thị. - Ẩn thanh tìm kiếm - Thanh tìm kiếm đã ẩn. - Thanh tìm kiếm được hiển thị. - Ẩn khảo sát - Khảo sát đã ẩn. - Khảo sát được hiển thị. Ẩn nút nổi Nút nổi như nút \"Điều chỉnh trang chủ của bạn\" đã ẩn. Nút nổi như nút \"Điều chỉnh trang chủ của bạn\" được hiển thị. @@ -152,6 +146,12 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Ẩn nút Hiện thêm Nút Hiện thêm đã ẩn. Nút Hiện thêm được hiển thị. + Ẩn thanh tìm kiếm + Thanh tìm kiếm đã ẩn. + Thanh tìm kiếm được hiển thị. + Ẩn khảo sát + Khảo sát đã ẩn. + Khảo sát được hiển thị. Ẩn băng chuyền Kênh đăng ký Băng chuyền Kênh đăng ký đã ẩn. Băng chuyền Kênh đăng ký được hiển thị. @@ -181,9 +181,6 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." "Shorts Danh sách phát Cửa hàng" - Ẩn nút Chuyển đến cửa hàng - Nút Chuyển đến cửa hàng đã ẩn. - Nút Chuyển đến cửa hàng được hiển thị. Ẩn kệ ghi nhận hội viên của kênh Kệ ghi nhận hội viên của kênh đã ẩn. Kệ ghi nhận hội viên của kênh được hiển thị. @@ -193,6 +190,9 @@ Cửa hàng" Ẩn kệ Dành cho bạn Kệ Dành cho bạn đã ẩn. Kệ Dành cho bạn được hiển thị. + Ẩn nút Chuyển đến cửa hàng + Nút Chuyển đến cửa hàng đã ẩn. + Nút Chuyển đến cửa hàng được hiển thị. Bài đăng cộng đồng Ẩn hoặc hiển thị bài đăng cộng đồng trong bảng tin và trong hồ sơ kênh. @@ -218,6 +218,9 @@ Cửa hàng" Ẩn video theo từ khoá hoặc số lượt xem. Bộ lọc từ khoá + Ẩn các bình luận theo từ khoá + Các bình luận đã được lọc theo từ khoá đã đặt. + Các bình luận không được lọc theo từ khoá đã đặt. Ẩn video trên thẻ Trang chủ theo từ khoá Các Video trên thẻ Trang chủ đã được lọc theo từ khoá đã đặt. Các Video trên thẻ Trang chủ không được lọc theo từ khoá đã đặt. @@ -227,9 +230,6 @@ Cửa hàng" Ẩn video trên thẻ Kênh đăng ký theo từ khoá Các Video trên thẻ Kênh đăng ký đã được lọc theo từ khoá đã đặt. Các Video trên thẻ Kênh đăng ký không được lọc theo từ khoá đã đặt. - Ẩn các bình luận theo từ khoá - Các bình luận đã được lọc theo từ khoá đã đặt. - Các bình luận không được lọc theo từ khoá đã đặt. Bộ lọc từ khoá "Nhập từ hoặc cụm từ cần ẩn được phân cách bằng dòng. @@ -252,13 +252,13 @@ Bộ lọc có phân biệt chữ hoa chữ thường, vì vậy bạn cần nh Từ khóa sẽ ẩn tất cả video: %s. Video được đề xuất + Ẩn video có lượt xem thấp + Ẩn các video có dưới 1.000 lượt xem từ các kênh chưa đăng ký khỏi thẻ Trang chủ. Ẩn video được đề xuất "Ẩn các video được đề xuất sau: • Video có nhãn \"Chỉ dành cho hội viên\". • Video có cụm từ như \"Mọi người cũng xem video này\" ở bên dưới hình thu nhỏ." - Ẩn video có lượt xem thấp - Ẩn các video có dưới 1.000 lượt xem từ các kênh chưa đăng ký khỏi thẻ Trang chủ. Bộ lọc số lượt xem Ẩn video trên thẻ Trang chủ theo số lượt xem @@ -292,6 +292,12 @@ Nếu bố cục của màn hình trình phát thay đổi do các thay đổi t Độ lệch Tổng quan + Thay đổi giao diện + Gốc + Điện thoại + Điện thoại (Tối đa 480 dp) + Máy tính bảng + Máy tính bảng (Tối thiểu 600 dp) Thay đổi trang khởi động Duyệt kênh Học tập @@ -344,12 +350,6 @@ Hạn chế: Nút Quay lại trên thanh công cụ có thể không hoạt đ Loại bỏ hộp thoại cảnh báo trước khi xem "Loại bỏ hộp thoại cảnh báo nội dung cần cân nhắc trước khi xem. Tuỳ chọn này chỉ tự động chấp nhận hộp thoại cảnh báo, chứ không thể bỏ qua giới hạn về độ tuổi." - Thay đổi giao diện - Gốc - Điện thoại - Điện thoại (Tối đa 480 dp) - Máy tính bảng - Máy tính bảng (Tối thiểu 600 dp) Giả mạo phiên bản ứng dụng Phiên bản được giả mạo Phiên bản không được giả mạo @@ -395,14 +395,14 @@ Một số mục có thể không bị ẩn." Ghi đè chức năng của các nút trong ứng dụng. Nút tải xuống + Ghi đè nút tải xuống danh sách phát + Nút tải xuống danh sách phát sẽ luôn được hiển thị, và đối với danh sách phát công khai, khi thao tác với nút sẽ mở trình tải xuống bên ngoài của bạn. + Nếu nút tải xuống danh sách phát được hiển thị, khi thao tác với nút sẽ mở trình tải xuống được tích hợp sẵn của Youtube. Ghi đè nút tải xuống video Khi thao tác với nút tải xuống video sẽ mở trình tải xuống bên ngoài của bạn. Khi thao tác với nút tải xuống video sẽ mở trình tải xuống được tích hợp sẵn của Youtube. - Ghi đè nút tải xuống danh sách phát - Nút tải xuống danh sách phát sẽ luôn được hiển thị, và đối với danh sách phát công khai, khi thao tác với nút sẽ mở trình tải xuống bên ngoài của bạn. - Nếu được hiển thị, nút tải xuống danh sách phát sẽ mở trình tải xuống được tích hợp sẵn của Youtube. Tên gói trình tải xuống danh sách phát - Chọn trình tải xuống hoặc nhập tên gói ứng dụng trình tải xuống đã được cài đặt trên thiết bị của bạn, chẳng hạn như YTDLnis. + Chọn hoặc nhập tên gói ứng dụng trình tải xuống đã được cài đặt trên thiết bị của bạn, chẳng hạn như YTDLnis. Ghi đè nút Youtube Music Nút Youtube Music sẽ mở ứng dụng RVX Music. @@ -623,16 +623,16 @@ Nhấn và giữ để mở cài đặt RVX." Độ mờ lớp phủ trình phát Giá trị độ mờ của lớp phủ trình phát trong khoảng từ 0 đến 100, trong đó 0 là trong suốt. Độ mờ của lớp phủ trình phát phải nằm trong khoảng 0 - 100. - Tắt bảng tự động bật lên khi phát - Bảng tự động bật lên khi phát video (Danh sách phát, Trò chuyện trực tiếp,...) đã tắt. - Bảng tự động bật lên khi phát video (Danh sách phát, Trò chuyện trực tiếp,...) đã bật. - Tắt chuyển sang danh sách kết hợp + Tắt tự động chuyển sang danh sách kết hợp Tự động chuyển sang danh sách phát kết hợp đã tắt. "Tự động chuyển sang danh sách kết hợp đã bật khi tính năng Tự động phát đang bật. Tính năng Tự động phát có thể thay đổi trong Cài đặt YouTube: Cài đặt → Tự động phát → Tự động phát video tiếp theo" Bật tính năng này sẽ tắt việc tự động chuyển sang YouTube Mix khi phát nhạc trong khi chế độ phát tự động cũng đang bật. + Tắt bảng tự động bật lên khi phát + Bảng tự động bật lên khi phát video (Danh sách phát, Trò chuyện trực tiếp,...) đã tắt. + Bảng tự động bật lên khi phát video (Danh sách phát, Trò chuyện trực tiếp,...) đã bật. Tắt nhấn và giữ để phát 2x>> "Tắt tính năng nhấn và giữ để phát 2x>>. @@ -663,12 +663,6 @@ Lưu ý: Ẩn bảng thông tin Bảng thông tin đã ẩn. Bảng thông tin được hiển thị. - Ẩn phần \"Tóm tắt cuộc trò chuyện\" trong cuộc trò chuyện trực tiếp - Phần tóm tắt cuộc trò chuyện đã ẩn. - Phần tóm tắt cuộc trò chuyện được hiển thị. - Ẩn tin nhắn Trò chuyện trực tiếp - Tin nhắn trò chuyện trực tiếp đã ẩn.\n\nTuỳ chọn này cũng áp dụng cho video trực tiếp trên Shorts. - Tin nhắn trò chuyện trực tiếp được hiển thị.\n\nTuỳ chọn này cũng áp dụng cho video trực tiếp trên Shorts. Ẩn bảng thông tin y tế Bảng thông tin y tế đã ẩn. Bảng thông tin y tế được hiển thị. @@ -681,9 +675,6 @@ Lưu ý: Ẩn hành động đề xuất Hành động đề xuất đã ẩn. Hành động đề xuất được hiển thị. - Ẩn phản ứng theo thời gian - Phản ứng theo thời gian đã ẩn. - Phản ứng theo thời gian được hiển thị. Ẩn video đề xuất ở màn hình kết thúc "Video đề xuất ở màn hình kết thúc đã ẩn khi tắt tính năng Tự động phát. @@ -693,6 +684,9 @@ Cài đặt → Tự động phát → Tự động phát video tiếp theo."Bỏ qua thời gian đếm ngược trước khi phát Nếu tính năng Tự động phát được bật, video tiếp theo sẽ được phát ngay lập tức mà không cần đếm ngược. Nếu tính năng Tự động phát được bật, video tiếp theo sẽ được phát sau khi đếm ngược kết thúc. + Ẩn phản ứng theo thời gian + Phản ứng theo thời gian đã ẩn. + Phản ứng theo thời gian được hiển thị. Ẩn lớp phủ khi chụm để thu phóng Lớp phủ khi chụm để thu phóng đã ẩn. Lớp phủ khi chụm để thu phóng được hiển thị. @@ -765,30 +759,36 @@ Cài đặt → Tự động phát → Tự động phát video tiếp theo."Ẩn biểu ngữ Bình luận của hội viên Biểu ngữ Bình luận của hội viên đã ẩn. Biểu ngữ Bình luận của hội viên được hiển thị. - Ẩn bình luận chữ xanh - Các bình luận chữ xanh đã ẩn. - Các bình luận chữ xanh được hiển thị. Ẩn phần Bình luận Phần Bình luận đã ẩn. Phần Bình luận được hiển thị. Ẩn phần Bình luận trên thẻ Trang chủ Phần Bình luận đã ẩn trên thẻ Trang chủ. Phần Bình luận được hiển thị trên thẻ Trang chủ. + Ẩn nút Tạo video ngắn + Nút Tạo video ngắn đã ẩn. + Nút Tạo video ngắn được hiển thị. + Ẩn biểu tượng cảm xúc và nút dấu thời gian + Biểu tượng cảm xúc và nút dấu thời gian đã ẩn. + Biểu tượng cảm xúc và nút dấu thời gian được hiển thị. + Ẩn bình luận chữ xanh + Các bình luận chữ xanh đã ẩn. + Các bình luận chữ xanh được hiển thị. + Ẩn tin nhắn Trò chuyện trực tiếp + Tin nhắn Trò chuyện trực tiếp đã ẩn.\n\nTuỳ chọn này cũng áp dụng cho video phát trực tiếp trên Shorts. + Tin nhắn Trò chuyện trực tiếp được hiển thị.\n\nTuỳ chọn này cũng áp dụng cho video phát trực tiếp trên Shorts. + Ẩn phần \"Tóm tắt cuộc trò chuyện\" trong cuộc Trò chuyện trực tiếp + Phần Tóm tắt cuộc trò chuyện đã ẩn. + Phần Tóm tắt cuộc trò chuyện được hiển thị. Ẩn phần Xem trước bình luận Phần Xem trước bình luận đã ẩn. Phần Xem trước bình luận được hiển thị. Ẩn nội dung bình luận - Tuỳ chọn này sẽ chỉ ẩn nội dung xem trước bình luận mà không làm thay đổi kích thước của phần Bình luận nên bạn có thể vuốt sang trái để mở phần Phát lại cuộc trò chuyện trực tiếp. - Tuỳ chọn này sẽ làm thay đổi kích thước của phần Bình luận, do đó bạn không thể mở phần Phát lại cuộc trò chuyện trực tiếp. - Ẩn nút Tạo video ngắn - Nút Tạo video ngắn đã ẩn. - Nút Tạo video ngắn được hiển thị. + Tuỳ chọn này sẽ không làm thay đổi kích thước của phần bình luận, vì vậy, bạn có thể phát lại cuộc Trò chuyện trực tiếp trong phần bình luận. + Tuỳ chọn này sẽ làm thay đổi kích thước của phần bình luận, vì vậy, bạn không thể phát lại cuộc Trò chuyện trực tiếp trong phần bình luận. Ẩn nút Cảm ơn Nút Cảm ơn đã ẩn. Nút Cảm ơn được hiển thị. - Ẩn nút dấu thời gian và biểu tượng cảm xúc - Nút dấu thời gian và biểu tượng cảm xúc đã ẩn. - Nút dấu thời gian và biểu tượng cảm xúc được hiển thị. Trình đơn tuỳ chọn Ẩn hoặc thay đổi thành phần của trình đơn tuỳ chọn trong trình phát video. @@ -881,8 +881,8 @@ Hạn chế: Tiêu đề video sẽ biến mất khi nhấn vào." Bảng video tiếp theo đã ẩn khỏi màn hình kết thúc. Bảng video tiếp theo được hiển thị ở màn hình kết thúc. Ẩn nút Trò chuyện trực tiếp - Nút phát lại trò chuyện trực tiếp đã ẩn.\n\nNút sẽ xuất hiện ở chế độ toàn màn hình khi bạn đóng cuộc trò chuyện trực tiếp. - Nút phát lại trò chuyện trực tiếp được hiển thị.\n\nNút sẽ xuất hiện ở chế độ toàn màn hình khi bạn đóng cuộc trò chuyện trực tiếp. + Nút phát lại Trò chuyện trực tiếp đã ẩn.\n\nNút sẽ xuất hiện ở chế độ toàn màn hình khi bạn đóng cuộc Trò chuyện trực tiếp. + Nút phát lại Trò chuyện trực tiếp được hiển thị.\n\nNút sẽ xuất hiện ở chế độ toàn màn hình khi bạn đóng cuộc Trò chuyện trực tiếp. Ẩn lớp phủ video liên quan Phần video thêm trong bảng nút thao tác nhanh và lớp phủ video liên quan đã ẩn. Phần video thêm trong bảng nút thao tác nhanh và lớp phủ video liên quan được hiển thị. @@ -996,11 +996,11 @@ Nhấn và giữ để đặt lại tốc độ phát video (1.0x). Nhấn và g Nhấn để mở hộp thoại Danh sách trắng. Nhấn và giữ để mở hộp thoại cài đặt Danh sách trắng. Nút Phát tất cả - "Nhấn để tạo danh sách phát bao gồm tất cả các video từ kênh. + "Nhấn để tạo danh sách phát bao gồm tất cả các video từ kênh đang xem. Nhấn và giữ để hoàn tác. Hạn chế: -• Tính năng có thể không hoạt động đối với video phát trực tiếp." +• Tính năng có thể không hoạt động đối với các video phát trực tiếp." Chế độ tạo danh sách phát Tất cả nội dung (Từ cũ nhất tới mới nhất) Tất cả nội dung (Sắp xếp theo thời gian) @@ -1049,6 +1049,9 @@ Nhấn và giữ để chuyển loại thông tin cần thêm vào." Thay thế chức năng của dấu thời gian Nhấn để mở mục Tốc độ phát hoặc Chất lượng video. Nhấn để hiển thị thời gian còn lại. + Ẩn các phân cảnh trên thanh tiến trình + Các phân cảnh đã bị ẩn trên thanh tiến trình. + Các phân cảnh được hiển thị trên thanh tiến trình. Màu thanh tiến trình tuỳ chỉnh Màu thanh tiến trình tuỳ chỉnh được áp dụng. Màu thanh tiến trình mặc định được áp dụng. @@ -1058,18 +1061,15 @@ Nhấn và giữ để chuyển loại thông tin cần thêm vào." Chạm thanh tiến trình để tua Chạm thanh tiến trình video để tua đã bật. Chạm thanh tiến trình video để tua đã tắt. + Ẩn tên phân cảnh trên thanh tiến trình + Tên phân cảnh kế bên thanh tiến trình đã ẩn. + Tên phân cảnh kế bên thanh tiến trình được hiển thị. Ẩn thanh tiến trình trong trình phát Thanh tiến trình video đã ẩn khỏi trình phát. Thanh tiến trình video được hiển thị trong trình phát. Ẩn thanh tiến trình trong hình thu nhỏ Thanh tiến trình đã ẩn khỏi hình thu nhỏ video. Thanh tiến trình được hiển thị trong hình thu nhỏ video. - Ẩn các phân cảnh trên thanh tiến trình - Các phân cảnh đã bị ẩn trên thanh tiến trình. - Các phân cảnh được hiển thị trên thanh tiến trình. - Ẩn tên phân cảnh trên thanh tiến trình - Tên phân cảnh kế bên dấu thời gian đã ẩn. - Tên phân cảnh kế bên dấu thời gian được hiển thị. Ẩn Dấu thời gian Dấu thời gian đã ẩn. Dấu thời gian được hiển thị. @@ -1081,9 +1081,9 @@ Nhấn và giữ để chuyển loại thông tin cần thêm vào." Hình thu nhỏ khi tua có chất lượng trung bình. "Tính năng này sẽ khôi phục hình thu nhỏ cho các video phát trực tiếp không có hình thu nhỏ khi tua trên thanh tiến trình. -Điều này cũng sẽ làm tiêu tốn nhiều dữ liệu di động hơn, và hình thu nhỏ trên thanh tiến trình sẽ được hiển thị với một độ trễ nhất định. +Tuy nhiên, tính năng cũng sẽ làm tiêu tốn nhiều dữ liệu di động hơn, và hình thu nhỏ trên thanh tiến trình sẽ được hiển thị với một độ trễ nhất định. -Vì vậy bạn nên bật tính năng này khi có kết nối mạng ổn định." +Vì vậy, bạn nên bật tính năng này khi có kết nối mạng ổn định." Mô tả video Ẩn hoặc hiển thị các thành phần mô tả video. @@ -1102,15 +1102,15 @@ Vì vậy bạn nên bật tính năng này khi có kết nối mạng ổn đ Ẩn phần Nội dung Phần \"Cách nội dung này được tạo ra\" đã ẩn. Phần \"Cách nội dung này được tạo ra\" được hiển thị. + Ẩn phần Khám phá podcast + Phần Khám phá podcast đã ẩn. + Phần Khám phá podcast được hiển thị. Ẩn phần thẻ thông tin Phần thẻ thông tin đã ẩn. Phần thẻ thông tin được hiển thị. Ẩn phần Khái niệm chính Phần Khái niệm chính đã ẩn. Phần Khái niệm chính được hiển thị. - Ẩn phần Khám phá podcast - Phần Khám phá podcast đã ẩn. - Phần Khám phá podcast được hiển thị. Ẩn phần Sản phẩm Phần Sản phẩm đã ẩn. Phần Sản phẩm được hiển thị. @@ -1154,18 +1154,18 @@ Cụ thể: Ẩn trên thẻ Trang chủ và các video liên quan Ẩn trên thẻ Trang chủ và các video liên quan. Hiển thị trong thẻ Trang chủ và các video có liên quan. - Ẩn trong thẻ Kênh đăng ký - Ẩn trong thẻ Kênh đăng ký. - Hiển thị trong thẻ Kênh đăng ký. Ẩn trong kết quả tìm kiếm Ẩn trong kết quả tìm kiếm. Hiển thị trong kết quả tìm kiếm. + Ẩn trong thẻ Kênh đăng ký + Ẩn trong thẻ Kênh đăng ký. + Hiển thị trong thẻ Kênh đăng ký. Ẩn trong phần Nhật ký xem Ẩn trong phần Nhật ký xem. Hiển thị trong phần Nhật ký xem. - Thay đổi trạng thái lặp lại của video ngắn Thay đổi trạng thái lặp lại khi phát trong nền của video ngắn + Thay đổi trạng thái lặp lại của video ngắn Tự động phát Mặc định Dừng @@ -1173,77 +1173,77 @@ Cụ thể: Trình phát Shorts Ẩn hoặc hiển thị các thành phần trong trình phát Shorts. + Ẩn thanh kênh + Thanh kênh đã ẩn. + Thanh kênh được hiển thị. + Ẩn nhãn liên kết hướng tới video đầy đủ + Nhãn liên kết tới hướng video đầy đủ đã ẩn. + Nhãn liên kết tới video đầy đủ được hiển thị. + Ẩn bảng thông tin + Bảng thông tin đã ẩn. + Bảng thông tin được hiển thị. Ẩn nút Tham gia Nút tham gia đã ẩn. Nút tham gia được hiển thị. - Ẩn nút Đăng ký - Nút đăng ký đã ẩn. - Nút đăng ký được hiển thị. + Ẩn tiêu đề Trò chuyện trực tiếp + Tiêu đề Trò chuyện trực tiếp đã ẩn.\n\nNút Quay lại trong tiêu đề sẽ không bị ẩn. + Tiêu đề Trò chuyện trực tiếp được hiển thị.\n\nNút Quay lại trong tiêu đề sẽ không bị ẩn. + Ẩn nhãn nội dung được trả tiền để quảng cáo + Nhãn nội dung được trả tiền để quảng cáo đã ẩn. + Nhãn nội dung được trả tiền để quảng cáo được hiển thị. Ẩn tiêu đề tạm dừng Tiêu đề tạm dừng đã ẩn. Tiêu đề tạm dừng được hiển thị. Ẩn các nút phủ lên khi tạm dừng Các nút phủ lên khi tạm dừng đã ẩn. Các nút phủ lên khi tạm dừng được hiển thị. - Ẩn nút Thịnh hành - Nút Thịnh hành đã ẩn. - Nút Thịnh hành được hiển thị. Ẩn nút Mua sắm Nút Mua sắm đã ẩn. Nút Mua sắm được hiển thị. + Ẩn nhãn siêu dữ liệu âm thanh + Nhãn siêu dữ liệu âm thanh đã ẩn. + Nhãn siêu dữ liệu âm thanh được hiển thị. Ẩn nhãn dán Nhãn dán đã ẩn. Nhãn dán được hiển thị. - Ẩn nhãn nội dung được trả tiền để quảng cáo - Nhãn nội dung được trả tiền để quảng cáo đã ẩn. - Nhãn nội dung được trả tiền để quảng cáo được hiển thị. - Ẩn bảng thông tin - Bảng thông tin đã ẩn. - Bảng thông tin được hiển thị. - Ẩn tiêu đề Trò chuyện trực tiếp - Tiêu đề Trò chuyện trực tiếp đã ẩn.\n\nNút Quay lại trong tiêu đề sẽ không bị ẩn. - Tiêu đề Trò chuyện trực tiếp được hiển thị.\n\nNút Quay lại trong tiêu đề sẽ không bị ẩn. - Ẩn thanh kênh - Thanh kênh đã ẩn. - Thanh kênh được hiển thị. + Ẩn nút Đăng ký + Nút đăng ký đã ẩn. + Nút đăng ký được hiển thị. + Ẩn nút Thịnh hành + Nút Thịnh hành đã ẩn. + Nút Thịnh hành được hiển thị. Ẩn tiêu đề video - Tiêu đề đã ẩn. - Tiêu đề được hiển thị. - Ẩn nhãn siêu dữ liệu âm thanh - Nhãn siêu dữ liệu đã ẩn. - Nhãn siêu dữ liệu được hiển thị. - Ẩn nhãn liên kết toàn video - Nhãn liên kết video đã ẩn. - Nhãn liên kết video được hiển thị. + Tiêu đề video đã ẩn. + Tiêu đề video được hiển thị. Hành động đề xuất Ẩn nút Phông xanh Nút Phông xanh đã ẩn. Nút Phông xanh được hiển thị. + Ẩn nút Vị trí + Nút Vị trí đã ẩn. + Nút Vị trí được hiển thị. Ẩn nút Lưu nhạc Nút Lưu nhạc đã ẩn. Nút Lưu nhạc được hiển thị. + Ẩn nút Gợi ý tìm kiếm + Nút Gợi ý tìm kiếm đã ẩn. + Nút Gợi ý tìm kiếm được hiển thị. Ẩn nút Cửa hàng Nút Cửa hàng đã ẩn. Nút Cửa hàng được hiển thị. Ẩn nút Super Thanks Nút Super Thanks đã ẩn. Nút Super Thanks được hiển thị. - Ẩn nút Dùng âm thanh này - Nút \"Dùng âm thanh này\" đã ẩn. - Nút \"Dùng âm thanh này\" được hiển thị. - Ẩn nút Sử dụng mẫu - Nút \"Sử dụng mẫu\" đã ẩn. - Nút \"Sử dụng mẫu\" được hiển thị. - Ẩn nút Vị trí - Nút Vị trí đã ẩn. - Nút Vị trí được hiển thị. - Ẩn nút Gợi ý tìm kiếm - Nút Gợi ý tìm kiếm đã ẩn. - Nút Gợi ý tìm kiếm được hiển thị. Ẩn sản phẩm được gắn thẻ Sản phẩm được gắn thẻ đã ẩn. Sản phẩm được gắn thẻ được hiển thị. + Ẩn nút Sử dụng mẫu + Nút \"Sử dụng mẫu\" đã ẩn. + Nút \"Sử dụng mẫu\" được hiển thị. + Ẩn nút Dùng âm thanh này + Nút \"Dùng âm thanh này\" đã ẩn. + Nút \"Dùng âm thanh này\" được hiển thị. Nút thao tác Ẩn nút Thích @@ -1266,12 +1266,9 @@ Cụ thể: Nút Âm thanh được hiển thị. Hoạt ảnh/Phản hồi - Tắt hiệu ứng nút Thích - Hiệu ứng phun nước trên nút Thích đã tắt. - Hiệu ứng phun nước trên nút Thích đã bật. - Ẩn nền các nút Phát & Tạm dừng - Nền nút đã ẩn. - Nền nút được hiển thị. + Tắt hiệu ứng kiểu phun nước nút Thích + Hiệu ứng kiểu phun nước trên nút Thích đã tắt. + Hiệu ứng kiểu phun nước trên nút Thích đã bật. Hoạt ảnh nhấn đúp Gốc Thích @@ -1279,6 +1276,9 @@ Cụ thể: Trái tim Trái tim (Đỏ) Ẩn + Ẩn nền nút Phát & Tạm dừng + Nền nút Phát & Tạm dừng đã ẩn. + Nền nút Phát & Tạm dừng được hiển thị. Tác vụ tuỳ chỉnh Tác vụ tuỳ chỉnh trong trình đơn tuỳ chọn @@ -1294,14 +1294,14 @@ Hạn chế: Nhấn và giữ nút Thêm (⋮) để hiển thị hộp thoại Tác vụ tuỳ chỉnh." Tác vụ tuỳ chỉnh đã tắt trong thanh công cụ. Tác vụ tuỳ chỉnh - Sao chép URL của video - Mục sao chép URL của video - Mục sao chép URL của video được hiển thị. - Mục sao chép URL của video đã ẩn. Sao chép URL kèm dấu thời gian Mục sao chép URL kèm dấu thời gian Mục sao chép URL kèm dấu thời gian được hiển thị. Mục sao chép URL kèm dấu thời gian đã ẩn. + Sao chép URL của video + Mục sao chép URL của video + Mục sao chép URL của video được hiển thị. + Mục sao chép URL của video đã ẩn. Trình tải xuống bên ngoài Mục trình tải xuống bên ngoài Mục trình tải xuống bên ngoài được hiển thị. @@ -1315,9 +1315,9 @@ Nhấn và giữ nút Thêm (⋮) để hiển thị hộp thoại Tác vụ tu Mục trạng thái lặp lại được hiển thị. Mục trạng thái lặp lại đã ẩn. Giới thiệu về Tác vụ tuỳ chọn - "Hiện tính năng này vẫn đang trong giai đoạn thử nghiệm, vì vậy không có gì đảm bảo rằng tính năng này sẽ hoạt động một cách hoàn hảo. + "Hiện tính năng này vẫn đang trong giai đoạn thử nghiệm, vì vậy, không có gì đảm bảo rằng tính năng này sẽ hoạt động một cách hoàn hảo. -Hầu hết các lỗi không thể sửa được do hạn chế tới từ phía ứng dụng, cuối cùng vui lòng chỉ sử dụng chúng cho mục đích thử nghiệm." +Hầu hết các lỗi không thể sửa được do hạn chế tới từ phía ứng dụng, cuối cùng, vui lòng chỉ sử dụng chúng cho mục đích thử nghiệm." Dấu thời gian "Dấu thời gian được bật. @@ -1331,15 +1331,15 @@ Hạn chế: Lề dưới của bảng Meta Cấu hình khoảng cách từ thanh tiến trình tới bảng Meta, nằm trong khoảng 0 đến 64. Lề dưới của bảng Meta phải nằm trong khoảng từ 0 đến 64. - Ẩn thanh công cụ - Thanh công cụ đã ẩn. - Thanh công cụ được hiển thị. Ẩn thanh điều hướng Thanh điều hướng đã ẩn. Thanh điều hướng được hiển thị. Chiều cao của khoảng trống Cấu hình chiều cao của khoảng trống còn lại khi thanh điều hướng bị ẩn, nằm trong khoảng từ 0 đến 100 (%). Chiều cao phải nằm trong khoảng từ 0 đến 100 (%). + Ẩn thanh công cụ + Thanh công cụ đã ẩn. + Thanh công cụ được hiển thị. Thay thế tên hiển thị của kênh Tên kênh đang được áp dụng. Tên hiển thị của kênh (@handle) đang được áp dụng. @@ -1559,10 +1559,10 @@ Nhấp vào đây để xem các bước phát hành khóa API." Một lời nhắc ngắn rằng bạn hãy nhấn vào nút thích, đăng ký hoặc theo dõi họ ở giữa nội dung. Nếu chúng dài hoặc về một cái gì đó cụ thể, thay vào đó chúng sẽ được xếp vào phân đoạn Tự quảng cáo. Khoảnh khắc nổi bật Phần video được nhiều người tìm kiếm nhất. - Đoạn tạm dừng/Phần giới thiệu + Đoạn tạm dừng/Phần Intro Một khoảng thời gian không chứa nội dung thực tế nào. Có thể chỉ là tạm dừng, khung hình tĩnh hoặc hoạt ảnh lặp lại. Không bao gồm các phần chuyển cảnh chứa thông tin. - Đoạn kết thúc/Phần danh đề - Phần danh đề hoặc đoạn Youtube chèn các thẻ liên kết video khác ở cuối video. Không chứa thông tin quan trọng. + Đoạn kết thúc/Phần Credit + Phần Credit hoặc đoạn Youtube chèn các thẻ liên kết video khác ở cuối video. Không chứa thông tin quan trọng. Đoạn xem trước/Phần tóm tắt/Gây chú ý Đoạn cắt thể hiện những gì đã xảy ra hoặc sắp xảy ra trong video này hoặc trong loạt video khác cùng bộ. Cảnh phụ/Lạc đề/Hài hước @@ -1575,10 +1575,10 @@ Nhấp vào đây để xem các bước phát hành khóa API." Bỏ qua Tự quảng cáo Bỏ qua Nhắc nhở tương tác Bỏ qua Khoảnh khắc nổi bật - Bỏ qua Phần giới thiệu + Bỏ qua Phần Intro Bỏ qua Đoạn tạm dừng Bỏ qua Đoạn tạm dừng - Bỏ qua Phần kết thúc + Bỏ qua Phần Outro Bỏ qua Phần xem trước Bỏ qua Phần xem trước Bỏ qua Phần tóm tắt @@ -1586,13 +1586,13 @@ Nhấp vào đây để xem các bước phát hành khóa API." Bỏ qua Phần không phải nhạc Bỏ qua Phân đoạn Đã bỏ qua Nhà tài trợ. - Đã bỏ qua Tự quảng cáo. + Đã bỏ qua đoạn Tự quảng cáo. Đã bỏ qua Nhắc nhở tương tác. Đã bỏ qua Khoảnh khắc nổi bật. - Đã bỏ qua Phần giới thiệu. + Đã bỏ qua Phần Intro. Đã bỏ qua Đoạn tạm dừng. Đã bỏ qua Đoạn tạm dừng. - Đã bỏ qua Phần kết thúc. + Đã bỏ qua Phần Outro. Đã bỏ qua Phần xem trước. Đã bỏ qua Phần xem trước. Đã bỏ qua Phần tóm tắt. @@ -1614,7 +1614,7 @@ Nhấp vào đây để xem các bước phát hành khóa API." Đã sao chép cài đặt vào bảng nhớ tạm. Tạo phân đoạn mới - Nút tạo phân đoạn mới + Nút Tạo phân đoạn mới Nút tạo phân đoạn mới được hiển thị. Nút tạo phân đoạn mới không được hiển thị. Điều chỉnh phân đoạn mới @@ -1716,6 +1716,8 @@ Nhấp vào đây để xem các bước phát hành khóa API." Dữ liệu này được cung cấp bởi API SponsorBlock. Nhấn vào đây để tìm hiểu thêm và xem các bản tải xuống cho các nền tảng khác. Cài đặt khác + Vô hiệu hoá giao thức QUIC + "Vô hiệu hoá giao thức QUIC của CronetEngine để giảm độ trễ khi phát video." Nhật ký gỡ lỗi Nhật ký gỡ lỗi đã bật. Nhật ký gỡ lỗi đã tắt. @@ -1728,10 +1730,12 @@ Nhấp vào đây để xem các bước phát hành khóa API." Mở liên kết trực tiếp Đang bỏ qua chuyển hướng URL khi mở các liên kết xuất hiện trên YouTube. Đang chuyển hướng URL khi mở các liên kết xuất hiện trên YouTube. + Rút gọn liên kết chia sẻ + Rút gọn liên kết chia sẻ bằng cách loại bỏ các tham số truy vết. Mở theo mặc định Để mở liên kết YouTube trong RVX, hãy bật \'Mở các đường liên kết được hỗ trợ\' và thêm các đường liên kết được hỗ trợ. - GmsCore - Chuyển hướng tới cài đặt MicroG và bật Cloud Messaging để nhận thông báo đẩy. + Cài đặt GmsCore + Chuyển hướng tới cài đặt GmsCore và bật Cloud Messaging để nhận thông báo đẩy. GmsCore chưa được cài đặt. Hãy cài đặt nó đi nào. Hành động cần thiết "Hiện GmsCore không có quyền chạy nền. @@ -1746,10 +1750,6 @@ Tắt tối ưu hoá pin cho GmsCore sẽ không làm ảnh hưởng đáng kể Nhấn vào Tiếp tục và cho phép thay đổi lựa chọn tối ưu hoá pin." Tiếp tục - Làm sạch liên kết chia sẻ - Loại bỏ các tham số truy vấn theo dõi khỏi URL khi chia sẻ liên kết. - Vô hiệu hoá giao thức QUIC - "Vô hiệu hoá giao thức QUIC của CronetEngine để giảm độ trễ khi phát video." Thay đổi bảng chia sẻ Đang sử dụng bảng chia sẻ của hệ thống Android. Đang sử dụng bảng chia sẻ trong ứng dụng Youtube. @@ -1795,13 +1795,13 @@ Nhấn vào Tiếp tục và cho phép thay đổi lựa chọn tối ưu hoá p Hạn chế "• Mục Bản âm thanh bị thiếu. • Âm lượng ổn định không khả dụng. -• Tắt bắt buộc Bản âm thanh tự động không khả dụng. +• Tắt Bản âm thanh tự động không khả dụng. • Video dành cho trẻ em có thể không phát được khi bạn đã đăng xuất hoặc bật chế độ ẩn danh." - • Có thể xẩy ra sự cố phát (Yêu cầu PoToken). + • Có thể xẩy ra sự cố phát (Không khuyến khích). "• Phim hoặc video trả phí có thể không phát được. • Video dành cho trẻ em có thể không phát được khi bạn đã đăng xuất hoặc bật chế độ ẩn danh." Bắt buộc iOS sử dụng AVC (H.264) - Codec video bị ép buộc thành AVC (H.264). + Codec video luôn là AVC (H.264). Codec video được xác định tự động. "Bật tính năng này giúp cải thiện thời lượng sử dụng pin và khắc phục sự cố phát video. @@ -1815,9 +1815,9 @@ Hạn chế: PoToken/VisitorData PoToken - Được cung cấp bởi BotGuard trên trình duyệt đáng tin cậy. + Nhập tham số được cung cấp bởi BotGuard trên trình duyệt đáng tin cậy. VisitorData - Được cung cấp bởi BotGuard trên trình duyệt đáng tin cậy. + Nhập tham số được cung cấp bởi BotGuard trên trình duyệt đáng tin cậy. Giới thiệu về PoToken/VisitorData "Một số ứng dụng khách yêu cầu PoToken và VisitorData để nhận được phản hồi dữ liệu trực tuyến hợp lệ. diff --git a/patches/src/main/resources/youtube/translations/zh-rCN/strings.xml b/patches/src/main/resources/youtube/translations/zh-rCN/strings.xml index f0b70cc38..d9ede254f 100644 --- a/patches/src/main/resources/youtube/translations/zh-rCN/strings.xml +++ b/patches/src/main/resources/youtube/translations/zh-rCN/strings.xml @@ -30,12 +30,12 @@ 隐藏商品栏 商品栏已隐藏 商品栏已显示 - 隐藏播放器商店栏 - 商店栏已隐藏 - 商店栏已显示 隐藏付费推广横幅 付费推广横幅已隐藏 付费推广横幅已显示 + 隐藏播放器商店栏 + 商店栏已隐藏 + 商店栏已显示 隐藏推广横幅广告 推广横幅广告已隐藏 推广横幅广告已显示 @@ -57,10 +57,10 @@ 替换缩略图 首页标签 - 订阅标签 - 你的标签 播放列表、建议 搜索结果 + 订阅标签 + 你的标签 原始缩略图 DeArrow & 原始缩略图 DeArrow & 静态视频捕获 @@ -98,6 +98,9 @@ 隐藏专辑卡片 专辑卡片已隐藏 专辑卡片已显示 + 隐藏动态字幕按钮 + 隐藏字幕按钮 + 显示字幕按钮 隐藏轮播内容 "隐藏以下分类: • 突发新闻 @@ -115,15 +118,6 @@ 隐藏扩展边框 扩展边框已隐藏 扩展边框已显示 - 隐藏动态字幕按钮 - 隐藏字幕按钮 - 显示字幕按钮 - 隐藏新闻源搜索栏 - 隐藏动态搜索栏 - 显示动态搜索栏 - 隐藏问卷调查 - 问卷调查已隐藏 - 问卷调查已显示 隐藏悬浮按钮 悬浮按钮已隐藏 悬浮按钮已显示 @@ -151,6 +145,12 @@ 隐藏“显示更多”按钮 “显示更多”按钮已隐藏 “显示更多”按钮已显示 + 隐藏新闻源搜索栏 + 隐藏动态搜索栏 + 显示动态搜索栏 + 隐藏问卷调查 + 问卷调查已隐藏 + 问卷调查已显示 隐藏订阅轮播 订阅轮播已隐藏 订阅轮播已显示 @@ -180,9 +180,6 @@ "Shorts 播放列表 商店" - 隐藏浏览商店按钮 - 浏览商店按钮已隐藏 - 浏览商店按钮已显示 隐藏频道会员列表 频道会员列表已隐藏 频道会员列表已显示 @@ -192,6 +189,9 @@ 隐藏”个性化“功能架 “个性化” 功能架已隐藏 “个性化” 功能架已显示 + 隐藏浏览商店按钮 + 浏览商店按钮已隐藏 + 浏览商店按钮已显示 社区帖子 在首页和频道中隐藏或显示社区帖子 @@ -217,6 +217,9 @@ 按关键词或观看次数隐藏视频 关键词过滤器 + 评论关键词过滤 + 评论关键词过滤器已启用 + 评论关键词过滤器已禁用 启用首页关键词过滤器 首页订阅内容的关键词过滤已启用 首页订阅内容的关键词过滤已禁用 @@ -226,9 +229,6 @@ 启用订阅视频关键词过滤器 订阅视频的关键词过滤器已启用 订阅视频的关键词过滤器已禁用 - 评论关键词过滤 - 评论关键词过滤器已启用 - 评论关键词过滤器已禁用 要隐藏的关键词 "配置要隐藏的关键词和短语,以换行符分隔\n\n 中间有大写字母的单词必须使用大小写(例如:iPhone、TikTok、LeBlanc)" @@ -248,14 +248,14 @@ 关键字将隐藏所有视频: %s 推荐视频 + 隐藏低播放量的视频 + 从主页隐藏未订阅的频道上传的且播放量少于 1,000 的推荐视频 隐藏推荐视频 "隐藏以下推荐视频: • 带有“仅限会员”标签的视频 • 视频底部带有“用户还观看了”等短语的视频 • 来自未订阅频道且观看次数少于1,000次的视频" - 隐藏低播放量的视频 - 从主页隐藏未订阅的频道上传的且播放量少于 1,000 的推荐视频 观看次数过滤器 启用首页播放量过滤器 @@ -289,6 +289,12 @@ 偏移 常规设置 + 调整布局 + 原版 + 手机 + 手机 (最大 480 dip) + 平板 + 平板 (最小 600 dip) 更改起始页 浏览频道 默认 @@ -335,12 +341,6 @@ 移除查看器的自由裁量对话框 "移除查看器的自由裁量对话框 这不会绕过年龄限制它只会自动同意" - 调整布局 - 原版 - 手机 - 手机 (最大 480 dip) - 平板 - 平板 (最小 600 dip) 伪装应用版本 客户端版本已伪装 客户端版本未伪装 @@ -384,12 +384,12 @@ 覆盖应用内按钮的点击动作 下载按钮 - 覆盖视频下载按钮 - 视频下载按钮打开外部下载器 - 视频下载按钮打开应用内下载器 覆盖播放列表下载按钮 播放列表下载按钮打开外部下载器 播放列表下载按钮打开应用内下载器 + 覆盖视频下载按钮 + 视频下载按钮打开外部下载器 + 视频下载按钮打开应用内下载器 播放列表下载器名称 已安装的外部下载器应用包名,例如 YTDLnis @@ -579,9 +579,6 @@ 自定义播放器的不透明度 不透明度值介于 0-100 之间,0 为透明 播放器的不透明度必须介于 0-100 之间 重置为默认值 - 禁用播放器弹出面板 - 已启用自动播放器弹出面板 - 已禁用自动播放器弹出面板 禁用切换混合播放列表 自动切换混合播放列表已禁用 "自动播放开启时自动切换混合播放列表 @@ -589,6 +586,9 @@ 自动播放可以在 YouTube 设置中更改: 设置 → 自动播放→ 自动播放下一个视频" 启用此功能将禁止在自动播放音乐时自动切换到 YouTube Mix + 禁用播放器弹出面板 + 已启用自动播放器弹出面板 + 已禁用自动播放器弹出面板 禁用速度叠加 "长按时禁用“2x>>” @@ -619,9 +619,6 @@ 隐藏信息面板 信息面板已隐藏 信息面板已显示 - 隐藏实时聊天消息 - 实时聊天消息已隐藏\n\n此设置也适用于 Shorts - 实时聊天消息已显示\n\n此设置也适用于 Shorts 隐藏医疗面板 医疗面板已隐藏 医疗面板已显示 @@ -634,9 +631,6 @@ 隐藏操作建议 操作建议已隐藏 操作建议已显示 - 隐藏时间跳转 - (评论)时间跳转已隐藏 - (评论)时间跳转已显示 隐藏推荐视频结束界面 "关闭自动播放时,推荐视频结束界面会隐藏 @@ -646,6 +640,9 @@ 跳过自动播放倒计时 如果自动播放已开启,下一个视频将在无倒计时的情况下播放 如果自动播放已开启,下一个视频将在倒计时结束后播放 + 隐藏时间跳转 + (评论)时间跳转已隐藏 + (评论)时间跳转已显示 隐藏缩放叠加层 缩放叠加层已隐藏 缩放叠加层已显示 @@ -718,30 +715,33 @@ 隐藏会员评论横幅 会员评论中横幅已隐藏 会员评论中横幅已显示 - 隐藏高亮搜索链接 - 高亮搜索链接已隐藏 - 高亮搜索链接已显示 隐藏评论部分 评论部分已隐藏 评论部分已显示 隐藏首页动态中的评论部分 首页动态中评论部分已隐藏 首页动态中评论部分已显示 + 隐藏创建 Shorts 按钮 + 创建 Shorts 按钮已隐藏 + 创建 Shorts 按钮已显示 + 隐藏时间戳和表情按钮 + 时间戳和表情按钮已隐藏 + 时间戳和表情按钮已显示 + 隐藏高亮搜索链接 + 高亮搜索链接已隐藏 + 高亮搜索链接已显示 + 隐藏实时聊天消息 + 实时聊天消息已隐藏\n\n此设置也适用于 Shorts + 实时聊天消息已显示\n\n此设置也适用于 Shorts 隐藏预览评论 预览评论已隐藏 预览评论已显示 预览评论类型 这不会改变评论区的大小,因此可以在评论区打开即时聊天回放 这会改变评论区的大小,因此无法在评论区打开即时聊天回放 - 隐藏创建 Shorts 按钮 - 创建 Shorts 按钮已隐藏 - 创建 Shorts 按钮已显示 隐藏感谢按钮 感谢按钮已隐藏 感谢按钮已显示 - 隐藏时间戳和表情按钮 - 时间戳和表情按钮已隐藏 - 时间戳和表情按钮已显示 弹出菜单 隐藏或更改视频播放器中的弹出菜单 @@ -968,6 +968,9 @@ 替换时间戳操作 点击打开播放速度或视频画质弹出菜单 点击显示剩余时间 + 禁用进度条章节 + 进度条章节已禁用 + 进度条章节已启用 启用自定义进度条颜色 自定义进度条颜色已启用 自定义进度条颜色已禁用 @@ -976,18 +979,15 @@ 启用进度条点击 进度条点击已启用 进度条点击已禁用 + 隐藏进度条章节标签 + 时间戳旁的章节标签已隐藏 + 时间戳旁的章节标签已显示 隐藏视频播放器进度条 视频播放器进度条已隐藏 视频播放器进度条已显示 隐藏进度条缩略图预览 进度条缩略图预览已隐藏 进度条缩略图预览已显示 - 禁用进度条章节 - 进度条章节已禁用 - 进度条章节已启用 - 隐藏进度条章节标签 - 时间戳旁的章节标签已隐藏 - 时间戳旁的章节标签已显示 隐藏时间戳 时间戳已隐藏 时间戳已显示 @@ -1020,15 +1020,15 @@ 隐藏内容部分 此内容的制作过程部分已隐藏 此内容的制作过程部分已显示 + 隐藏播客部分 + 播客部分已隐藏 + 播客部分已显示 隐藏视频中的信息卡片 信息卡片已隐藏 信息卡片已显示 隐藏关键概念部分 关键概念部分已隐藏 关键概念部分已显示 - 隐藏播客部分 - 播客部分已隐藏 - 播客部分已显示 隐藏购物链接 购物链接已隐藏 购物链接已显示 @@ -1071,12 +1071,12 @@ 在首页和相关视频中隐藏 在首页和相关视频中隐藏 在首页和相关视频中显示 - 隐藏订阅中的短视频 - 订阅中的短视频已隐藏 - 订阅中的短视频已显示 隐藏搜索结果中的短视频 搜索结果中的短视频已隐藏 搜索结果中的短视频已显示 + 隐藏订阅中的短视频 + 订阅中的短视频已隐藏 + 订阅中的短视频已显示 在观看历史中隐藏 在观看历史中隐藏 在观看历史中显示 @@ -1089,77 +1089,77 @@ Shorts 播放器 隐藏或显示短视频播放器中的组件 + 隐藏频道栏 + 频道栏已隐藏 + 频道栏已显示 + 隐藏完整视频链接标签 + 视频链接标签已隐藏 + 视频链接标签已显示 + 隐藏信息面板 + 信息面板已隐藏 + 信息面板已显示 隐藏加入按钮 加入按钮已隐藏 加入按钮已显示 - 隐藏订阅按钮 - 订阅按钮已隐藏 - 订阅按钮已显示 + 隐藏实时聊天栏 + 实时聊天栏已隐藏\n\n其中的返回按钮不会隐藏 + 实时聊天栏已显示\n\n其中的返回按钮不会隐藏 + 隐藏付费推广横幅 + 付费推广横幅已隐藏 + 付费推广横幅标签已显示 隐藏已暂停的标题 已暂停的标题已隐藏 已暂停的标题已显示 隐藏暂停时叠加按钮 暂停时叠加按钮已隐藏 暂停时叠加按钮已显示 - 隐藏趋势按钮 - 趋势按钮已隐藏 - 趋势按钮已显示 隐藏商店按钮 商店按钮已隐藏 商店按钮已显示 - 隐藏贴纸 - 贴纸已隐藏 - 贴纸已显示 - 隐藏付费推广横幅 - 付费推广横幅已隐藏 - 付费推广横幅标签已显示 - 隐藏信息面板 - 信息面板已隐藏 - 信息面板已显示 - 隐藏实时聊天栏 - 实时聊天栏已隐藏\n\n其中的返回按钮不会隐藏 - 实时聊天栏已显示\n\n其中的返回按钮不会隐藏 - 隐藏频道栏 - 频道栏已隐藏 - 频道栏已显示 - 隐藏视频标题 - 标题已隐藏 - 标题已显示 隐藏声音元数据标签 元数据标签已隐藏 元数据标签已显示 - 隐藏完整视频链接标签 - 视频链接标签已隐藏 - 视频链接标签已显示 + 隐藏贴纸 + 贴纸已隐藏 + 贴纸已显示 + 隐藏订阅按钮 + 订阅按钮已隐藏 + 订阅按钮已显示 + 隐藏趋势按钮 + 趋势按钮已隐藏 + 趋势按钮已显示 + 隐藏视频标题 + 标题已隐藏 + 标题已显示 操作建议 隐藏绿幕按钮 绿幕按钮已隐藏 绿幕按钮已显示 + 隐藏位置按钮 + 位置按钮已隐藏 + 位置按钮已显示 隐藏保存音乐按钮 保存音乐按钮已隐藏 保存音乐按钮已显示 + 隐藏搜索建议按钮 + 搜索建议按钮已隐藏 + 搜索建议按钮已显示 隐藏商店按钮 商店按钮已隐藏 商店按钮已显示 隐藏超级感谢按钮 超级感谢按钮已隐藏 超级感谢按钮已显示 - 隐藏使用此声音按钮 - 使用此声音按钮已隐藏 - 使用此声音按钮已显示 - 隐藏使用模板按钮 - 使用模板按钮已隐藏 - 使用模板按钮已显示 - 隐藏位置按钮 - 位置按钮已隐藏 - 位置按钮已显示 - 隐藏搜索建议按钮 - 搜索建议按钮已隐藏 - 搜索建议按钮已显示 隐藏标记的产品 标记的产品已隐藏 标记的产品已显示 + 隐藏使用模板按钮 + 使用模板按钮已隐藏 + 使用模板按钮已显示 + 隐藏使用此声音按钮 + 使用此声音按钮已隐藏 + 使用此声音按钮已显示 操作按钮 隐藏点赞按钮 @@ -1185,9 +1185,6 @@ 禁用点赞按钮动画 点赞按钮动画已禁用 点赞按钮动画已启用 - 隐藏播放 & 暂停按钮背景 - 按钮背景已隐藏 - 按钮背景已显示 双击动画 原版 @@ -1195,6 +1192,9 @@ 心形 心形(着色) 隐藏 + 隐藏播放 & 暂停按钮背景 + 按钮背景已隐藏 + 按钮背景已显示 启用时间戳 @@ -1207,15 +1207,15 @@ Meta 面板底边距 配置从搜索栏到 Meta 面板的间距,范围在 0-64 之间 Meta 面板底边距必须在 0-64 之间 已重置为默认值 - 隐藏工具栏 - 工具栏已隐藏 - 工具栏已显示 隐藏导航栏 导航栏已隐藏 导航栏已显示 空白空间的高度百分比 配置隐藏导航栏时空白空间的高度百分比,介于 0 到 100 之间(%) 高度百分比必须介于 0-100 之间(%) + 隐藏工具栏 + 工具栏已隐藏 + 工具栏已显示 替换频道标识 频道名称已使用 频道标识已使用 @@ -1569,6 +1569,8 @@ 数据由 SponsorBlock API 提供,点击此处了解更多信息并查看其他平台的下载 杂项 + 禁用 QUIC 协议 + "禁用 Cronet 引擎的 QUIC 协议" 启用 Debug 日志 Debug 日志已启用 Debug 日志已禁用 @@ -1581,6 +1583,8 @@ 启用直接打开链接 绕过链接重定向 遵循默认重定向策略 + 清理共享链接 + 共享链接时,删除 URL 中的跟踪查询参数 打开默认应用设置 要从外部浏览器中打开 Revanced Extended,请在“系统应用设置 - 默认打开 - 要在此应用中打开链接”中添加支持的网页链接 打开 GmsCore @@ -1597,10 +1601,6 @@ 点击继续按钮并禁用电池优化" 继续 - 清理共享链接 - 共享链接时,删除 URL 中的跟踪查询参数 - 禁用 QUIC 协议 - "禁用 Cronet 引擎的 QUIC 协议" 更改分享菜单 系统分享菜单已启用 应用内分享菜单已启用 diff --git a/patches/src/main/resources/youtube/translations/zh-rTW/strings.xml b/patches/src/main/resources/youtube/translations/zh-rTW/strings.xml index 6d101351e..110dafd0c 100644 --- a/patches/src/main/resources/youtube/translations/zh-rTW/strings.xml +++ b/patches/src/main/resources/youtube/translations/zh-rTW/strings.xml @@ -30,12 +30,12 @@ 隱藏商品欄 商品欄已隱藏 商品欄已顯示 - 隱藏玩家購物架 - 購物架已隱藏。 - 購物架已顯示。 隱藏付費推廣標籤 付費推廣標籤已隱藏 付費推廣標籤已顯示 + 隱藏玩家購物架 + 購物架已隱藏。 + 購物架已顯示。 隱藏促銷警報橫幅 促銷警報橫幅已隱藏。 顯示促銷警報橫幅。 @@ -57,10 +57,10 @@ 替代縮圖 首頁標籤 - 訂閱標籤 - 你的標籤 播放器播放清單、推薦 搜尋結果 + 訂閱標籤 + 你的標籤 原始縮圖 DeArrow & 原始縮圖 DeArrow & 靜態影片擷取 @@ -98,6 +98,9 @@ 隱藏專輯卡片 專輯卡片已隱藏 專輯卡片已顯示 + 隱藏動態字幕按鈕 + 字幕按鈕已隱藏 + 字幕按鈕已顯示 隱藏輪播內容 "隱藏以下分類區: ・最新消息 @@ -115,15 +118,6 @@ 隱藏可展開的選單 可展開的選單已隱藏。 可展開的選單已顯示。 - 隱藏動態字幕按鈕 - 字幕按鈕已隱藏 - 字幕按鈕已顯示 - 隱藏動態搜尋欄 - 動態搜尋欄已隱藏 - 動態搜尋欄已顯示 - 隱藏動態問卷調查 - 動態問卷調查已隱藏 - 動態問卷調查已顯示 隱藏浮動按鈕 浮動按鈕已隱藏。 浮動按鈕已顯示。 @@ -151,6 +145,12 @@ 隱藏「顯示更多」按鈕 「顯示更多」按鈕已隱藏 「顯示更多」按鈕已顯示 + 隱藏動態搜尋欄 + 動態搜尋欄已隱藏 + 動態搜尋欄已顯示 + 隱藏動態問卷調查 + 動態問卷調查已隱藏 + 動態問卷調查已顯示 隱藏訂閱輪播 訂閱輪播已隱藏。 訂閱輪播已顯示。 @@ -180,9 +180,6 @@ "Shorts 播放清單 商店" - 隱藏瀏覽商店按鈕 - 瀏覽商店按鈕已隱藏 - 瀏覽商店按鈕已顯示 隱藏頻道會員清單 頻道會員清單已隱藏 頻道會員清單已顯示 @@ -192,6 +189,9 @@ 隱藏「為你推薦」功能列 「為你推薦」功能列已隱藏 「為你推薦」功能列已顯示。 + 隱藏瀏覽商店按鈕 + 瀏覽商店按鈕已隱藏 + 瀏覽商店按鈕已顯示 社群貼文 在首頁和頻道中隱藏或顯示社群貼文 @@ -217,6 +217,9 @@ 依關鍵字或觀看次數隱藏影片 關鍵字篩選器 + 依關鍵字隱藏留言 + 留言已篩選 + 留言未篩選 依關鍵字隱藏首頁影片 首頁訂閱內容的關鍵字篩選已啟用 首頁訂閱內容的關鍵字篩選已停用 @@ -226,9 +229,6 @@ 啟用訂閱影片關鍵字篩選器 訂閱影片的關鍵字篩選器已啟用 訂閱影片的關鍵字篩選器已停用 - 依關鍵字隱藏留言 - 留言已篩選 - 留言未篩選 要隱藏的關鍵詞 "需要隱藏的關鍵字和詞組,請用新行分隔。 具有中間大寫字母的單詞必須依照大小寫輸入(例如:iPhone、TikTok、LeBlanc)。" @@ -248,13 +248,13 @@ 關鍵字 \'%1$s\' 將隱藏所有影片。 推薦影片 + 隱藏低觀看次數的影片 + 在首頁隱藏來自未訂閱頻道的、觀看次數少於 1,000 次的影片。 隱藏推薦影片 "隱藏以下推薦影片: ・標有「頻道會員專屬」標籤的影片。 ・下方標有「其他人還看了」字樣的影片。" - 隱藏低觀看次數的影片 - 在首頁隱藏來自未訂閱頻道的、觀看次數少於 1,000 次的影片。 觀看次數篩選器 依觀看次數隱藏家庭影片 @@ -288,6 +288,12 @@ 偏移 一般設定 + 變更佈局 + 原始 + 手機 + 手機 (最大 480 dip) + 平板電腦 + 平板電腦 (最少 600 dip) 更改起始頁 瀏覽頻道 課程/學習 @@ -340,12 +346,6 @@ 移除查看器的自由裁量對話框 "移除觀眾酌情觀看對話方塊。 這項選項不會繞過年齡限制,它只會自動接受。" - 變更佈局 - 原始 - 手機 - 手機 (最大 480 dip) - 平板電腦 - 平板電腦 (最少 600 dip) 偽裝應用程式版本 已偽裝版本 未偽裝版本 @@ -391,12 +391,12 @@ 覆蓋應用程式內按鈕的點選操作。 下載按鈕 - 覆蓋影片下載按鈕 - 原生影片下載按鈕可開啟你的外部下載器。 - 原生影片下載按鈕可開啟本機應用程式內下載器。 覆蓋播放清單下載按鈕 原生播放清單下載按鈕可開啟您的外部下載器。 原生播放清單下載按鈕可開啟本機應用程式內下載器。 + 覆蓋影片下載按鈕 + 原生影片下載按鈕可開啟你的外部下載器。 + 原生影片下載按鈕可開啟本機應用程式內下載器。 播放清單下載器套件名稱 你安裝的外部下載器應用程式的套件名稱,例如 YTDLnis。 @@ -619,9 +619,6 @@ 自訂播放器的不透明度 不透明度值介於 0-100 之間,0 為透明 播放器疊加層不透明度必須介於 0-100 之間。重設為預設值。 - 停用播放器彈出面板 - 自動播放器彈出面板已啟用 - 自動播放器彈出面板已停用 停用切換混合播放列表 自動切換混合播放清單已停用。 "自動播放開啟時會啟用自動切換混合播放清單。 @@ -629,6 +626,9 @@ 可以在 YouTube 設定中變更自動播放: 設定 → 自動播放 → 自動播放下一個影片" 啟用此功能將禁止在自動播放開啟時播放音樂時自動切換到 YouTube Mix。 + 停用播放器彈出面板 + 自動播放器彈出面板已啟用 + 自動播放器彈出面板已停用 停用速度疊加 "停用「按住即可將播放速度設為 2 倍」功能 @@ -659,12 +659,6 @@ 隱藏資訊欄 資訊欄已隱藏 資訊欄已顯示 - 在即時聊天中隱藏聊天摘要 - 聊天摘要已隱藏。 - 聊天摘要已顯示。 - 隱藏即時聊天訊息 - 即時聊天訊息已隱藏。\n\n這項設定也適用於 Shorts 直播影片。 - 即時聊天訊息已顯示。\n\n這項設定也適用於 Shorts 直播影片。 隱藏醫療資訊 醫療面板已隱藏 醫療面板已顯示 @@ -677,9 +671,6 @@ 隱藏操作建議 操作建議已隱藏 操作建議已顯示 - 隱藏時間跳轉 - 定時留言已隱藏。 - 定時反應已顯示。 隱藏推薦影片結束界面 "關閉自動播放時,建議的影片結束畫面會隱藏。 @@ -689,6 +680,9 @@ 跳過自動播放倒計時 如果自動播放已開啟,下一個影片將在無倒計時的情況下播放 如果自動播放已開啟,下一個影片將在倒計時結束後播放 + 隱藏時間跳轉 + 定時留言已隱藏。 + 定時反應已顯示。 隱藏縮放疊加 縮放疊加被隱藏。 顯示縮放疊加。 @@ -761,30 +755,36 @@ 隱藏會員評論橫幅 會員的評論橫幅已隱藏 會員的評論橫幅已顯示 - 隱藏被標記的搜尋連結 - 被標記的搜尋連結已隱藏 - 被標記的搜尋連結已顯示 隱藏評論部分 評論部分已隱藏 評論部分已顯示 隱藏首頁動態中的評論部分 首頁動態中評論部分已隱藏 首頁動態中評論部分已顯示 + 隱藏創建短片按鈕 + 創建短片按鈕已隱藏 + 創建短片按鈕已顯示 + 隱藏時間戳和表情按鈕 + 時間戳和表情按鈕已隱藏 + 時間戳和表情按鈕已顯示 + 隱藏被標記的搜尋連結 + 被標記的搜尋連結已隱藏 + 被標記的搜尋連結已顯示 + 隱藏即時聊天訊息 + 即時聊天訊息已隱藏。\n\n這項設定也適用於 Shorts 直播影片。 + 即時聊天訊息已顯示。\n\n這項設定也適用於 Shorts 直播影片。 + 在即時聊天中隱藏聊天摘要 + 聊天摘要已隱藏。 + 聊天摘要已顯示。 隱藏預覽評論 預覽評論已隱藏 預覽評論已顯示 預覽評論類型 這不會改變評論區的大小,因此可以在評論區打開直播聊天重播。 這會改變評論區的大小,因此無法在評論區打開直播聊天重播。 - 隱藏創建短片按鈕 - 創建短片按鈕已隱藏 - 創建短片按鈕已顯示 隱藏感謝按鈕 感謝按鈕已隱藏 感謝按鈕已顯示 - 隱藏時間戳和表情按鈕 - 時間戳和表情按鈕已隱藏 - 時間戳和表情按鈕已顯示 彈出選單 隱藏或更改影片播放器中的彈出選單 @@ -1042,6 +1042,9 @@ 替換時間戳操作 點擊打開播放速度或影片畫質彈出選單 點擊顯示剩餘時間 + 停用搜尋列章節 + 搜尋欄中的章節已停用。 + 搜尋欄中的章節已啟用。 啟用自訂搜尋欄顏色 自定義進度條顏色已啟用 自定義進度條顏色已停用 @@ -1051,18 +1054,15 @@ 啟用進度條點擊 進度條點擊已啟用 進度條點擊已停用 + 隱藏搜尋列章節標籤 + 時間戳旁邊的章節標籤已隱藏。 + 時間戳旁邊的章節標籤已隱藏。 隱藏影片播放器進度條 影片播放器進度條已隱藏 影片播放器進度條已顯示 隱藏進度條縮略圖預覽 進度條縮略圖預覽已隱藏 進度條縮略圖預覽已顯示 - 停用搜尋列章節 - 搜尋欄中的章節已停用。 - 搜尋欄中的章節已啟用。 - 隱藏搜尋列章節標籤 - 時間戳旁邊的章節標籤已隱藏。 - 時間戳旁邊的章節標籤已隱藏。 隱藏時間戳 時間戳已隱藏 時間戳已顯示 @@ -1095,15 +1095,15 @@ 隱藏內容區 「此內容的製作過程」區已隱藏。 「此內容的製作過程」區已顯示。 + 隱藏播客部分 + Podcast 已隱藏 + Podcast 已顯示 隱藏影片中的訊息卡片 訊息卡片已隱藏 訊息卡片已顯示 隱藏關鍵概念部分 關鍵概念部分被隱藏。 關鍵概念部分已顯示。 - 隱藏播客部分 - Podcast 已隱藏 - Podcast 已顯示 隱藏購物連結 購物連結已隱藏 購物連結已顯示 @@ -1149,18 +1149,18 @@ 在首頁和相關影片中隱藏 在首頁和相關影片中隱藏 在首頁和相關影片中顯示 - 隱藏訂閱中的短片 - 訂閱中的短片已隱藏 - 訂閱中的短片已顯示 隱藏搜尋結果中的短片 搜尋結果中的短片已隱藏 搜尋結果中的短片已顯示 + 隱藏訂閱中的短片 + 訂閱中的短片已隱藏 + 訂閱中的短片已顯示 在觀看歷史中隱藏 在觀看歷史中隱藏 在觀看歷史中顯示 - 更改短片重複狀態 變更 短影片背景重複狀態 + 更改短片重複狀態 自動播放 預設 暫停 @@ -1168,77 +1168,77 @@ 短片播放器 隱藏或顯示短片播放器中的組件 + 隱藏頻道欄 + 頻道欄已隱藏 + 頻道欄已顯示 + 隱藏完整影片連結標簽 + 影片連結標簽已隱藏 + 影片連結標簽已顯示 + 隱藏訊息面板 + 訊息面板已隱藏 + 訊息面板已顯示 隱藏加入按鈕 加入按鈕已隱藏 加入按鈕已顯示 - 隱藏訂閱按鈕 - 訂閱按鈕已隱藏 - 訂閱按鈕已顯示 + 隱藏即時聊天標題 + 即時聊天標題被隱藏。\n\n標題中的後退按鈕不會被隱藏。 + 顯示即時聊天標題。\n\n標題中的後退按鈕不會被隱藏。 + 隱藏付費促銷標籤 + 付費促銷標籤被隱藏 + 付費推廣橫幅標簽已顯示 隱藏暫停的標題 暫停的標題被隱藏。 顯示暫停的標題。 隱藏暫停時疊加按鈕 暫停時疊加按鈕已隱藏 暫停時疊加按鈕已顯示 - 隱藏按鈕 - 按鈕被隱藏。 - 按鈕已顯示。 隱藏購物按鈕 購物按鈕已隱藏。 顯示購物按鈕。 - 隱藏貼圖 - 貼圖已隱藏。 - 貼圖已顯示。 - 隱藏付費促銷標籤 - 付費促銷標籤被隱藏 - 付費推廣橫幅標簽已顯示 - 隱藏訊息面板 - 訊息面板已隱藏 - 訊息面板已顯示 - 隱藏即時聊天標題 - 即時聊天標題被隱藏。\n\n標題中的後退按鈕不會被隱藏。 - 顯示即時聊天標題。\n\n標題中的後退按鈕不會被隱藏。 - 隱藏頻道欄 - 頻道欄已隱藏 - 頻道欄已顯示 - 隱藏影片標題 - 標題已隱藏 - 標題已顯示 隱藏聲音元數據標簽 元數據標簽已隱藏 元數據標簽已顯示 - 隱藏完整影片連結標簽 - 影片連結標簽已隱藏 - 影片連結標簽已顯示 + 隱藏貼圖 + 貼圖已隱藏。 + 貼圖已顯示。 + 隱藏訂閱按鈕 + 訂閱按鈕已隱藏 + 訂閱按鈕已顯示 + 隱藏按鈕 + 按鈕被隱藏。 + 按鈕已顯示。 + 隱藏影片標題 + 標題已隱藏 + 標題已顯示 建議採取的行動 隱藏綠幕按鈕 綠幕按鈕已隱藏。 綠幕按鈕已顯示。 + 隱藏位置按鈕 + 位置按鈕已隱藏。 + 顯示位置按鈕。 隱藏儲存音樂按鈕 儲存音樂按鈕已隱藏。 儲存音樂按鈕已顯示。 + 隱藏搜尋建議按鈕 + 搜尋建議按鈕已隱藏。 + 顯示搜尋建議按鈕。 隱藏商店按鈕 商店按鈕已隱藏 商店按鈕已顯示 隱藏超級感謝按鈕 超級感謝按鈕已隱藏。 超級感謝按鈕已顯示。 - 隱藏使用此聲音按鈕 - 使用此聲音按鈕已隱藏。 - 顯示使用此聲音按鈕。 - 隱藏使用模板按鈕 - 使用模板按鈕已隱藏 - 顯示使用模板按鈕。 - 隱藏位置按鈕 - 位置按鈕已隱藏。 - 顯示位置按鈕。 - 隱藏搜尋建議按鈕 - 搜尋建議按鈕已隱藏。 - 顯示搜尋建議按鈕。 隱藏標記的產品 標記的產品已隱藏 標記的產品已顯示 + 隱藏使用模板按鈕 + 使用模板按鈕已隱藏 + 顯示使用模板按鈕。 + 隱藏使用此聲音按鈕 + 使用此聲音按鈕已隱藏。 + 顯示使用此聲音按鈕。 操作按鈕 隱藏點贊按鈕 @@ -1264,9 +1264,6 @@ 停用讚按鈕動畫 點讚按鈕上方的噴泉動畫已停用。 點讚按鈕上方的噴泉動畫已啟用。 - 隱藏播放 & 暫停按鈕背景 - 按鈕背景被隱藏。 - 按鈕背景被顯示。 雙擊動畫 原始 比讚 @@ -1274,6 +1271,9 @@ 愛心 愛心 (著色) 隱藏 + 隱藏播放 & 暫停按鈕背景 + 按鈕背景被隱藏。 + 按鈕背景被顯示。 自訂操作 在彈出式選單中啟用自訂操作 @@ -1289,14 +1289,14 @@ 按住 更多按鈕 可顯示 自訂動作對話方塊。" 自訂操作在工具列中已停用。 自訂操作 - 複製影片網址 - 顯示複製影片網址選單 - 複製影片 網址選單已顯示。 - 複製影片 網址選單已隱藏。 複製時間戳 網址 顯示複製時間戳 網址選單 複製時間戳 網址選單已顯示。 複製時間戳 網址選單已隱藏。 + 複製影片網址 + 顯示複製影片網址選單 + 複製影片 網址選單已顯示。 + 複製影片 網址選單已隱藏。 外部下載器 顯示外部下載器選單 外部下載器選單已顯示。 @@ -1322,15 +1322,15 @@ 面板下邊距 配置從搜尋欄到面板的間距,範圍為 0-64。 面板底部邊距必須介於 0-64 之間。 重設為預設值。 - 隱藏工具欄 - 工具欄已隱藏 - 工具欄已顯示 隱藏導航欄 導航欄已隱藏 導航欄已顯示 空白空間高度百分比 配置隱藏導覽列時留下的空白空間的高度百分比,介於 0 到 100 (%) 之間。 高度百分比必須介於 0-100 (%) 之間。 + 隱藏工具欄 + 工具欄已隱藏 + 工具欄已顯示 更換頻道代號 頻道名稱已使用。 頻道代號已使用。 @@ -1713,6 +1713,8 @@ 點擊此處了解更多資訊並查看其他平台的下載 其他設定 + 停用 QUIC 協議 + "停用 Cronet 引擎的 QUIC 協議" 啟用 Debug 日誌 Debug 日誌已啟用 Debug 日誌已停用 @@ -1725,6 +1727,8 @@ 啟用直接打開連結 繞過連結重定向 跟隨預設的重新載入行為 + 清理共享連結 + 共享連結時,刪除 URL 中的跟蹤查詢參數 開啟預設應用程式設定 若要以外部瀏覽器開啟 RVX,請在設定開啟「開啟支援連結」並啟用支援的網址。 打開 GmsCore @@ -1741,10 +1745,6 @@ 點擊繼續按鈕並停用電池優化" 繼續 - 清理共享連結 - 共享連結時,刪除 URL 中的跟蹤查詢參數 - 停用 QUIC 協議 - "停用 Cronet 引擎的 QUIC 協議" 更改分享擴展 使用系統分享擴展。 使用應用程式內分享擴展。 diff --git a/patches/src/main/resources/youtube/visual/shared/drawable/playback_key_icon.xml b/patches/src/main/resources/youtube/visual/shared/drawable/playback_key_icon.xml new file mode 100644 index 000000000..33423b728 --- /dev/null +++ b/patches/src/main/resources/youtube/visual/shared/drawable/playback_key_icon.xml @@ -0,0 +1,18 @@ + + + + +