Compare commits

...

14 Commits

Author SHA1 Message Date
semantic-release-bot
6114807c43 chore: Release v5.21.0-dev.10 [skip ci]
# [5.21.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.9...v5.21.0-dev.10) (2025-04-23)

### Features

* **YouTube - Swipe controls:** Add option for vertical progress bar ([#4811](https://github.com/ReVanced/revanced-patches/issues/4811)) ([6d69f01](6d69f01421))
2025-04-23 11:34:08 +00:00
MarcaD
6d69f01421 feat(YouTube - Swipe controls): Add option for vertical progress bar (#4811) 2025-04-23 15:30:41 +04:00
github-actions[bot]
fd4218154d chore: Sync translations (#4845) 2025-04-23 15:30:22 +04:00
github-actions[bot]
8bed8a6622 chore: Sync translations (#4839) 2025-04-21 22:17:26 +02:00
semantic-release-bot
3174047223 chore: Release v5.21.0-dev.9 [skip ci]
# [5.21.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.8...v5.21.0-dev.9) (2025-04-21)

### Bug Fixes

* **YouTube - Hide video action buttons:** Hide A/B layout buttons ([15053e2](15053e2b68))
2025-04-21 20:16:36 +00:00
LisoUseInAIKyrios
15053e2b68 fix(YouTube - Hide video action buttons): Hide A/B layout buttons 2025-04-21 22:13:04 +02:00
semantic-release-bot
e5b6aac018 chore: Release v5.21.0-dev.8 [skip ci]
# [5.21.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.7...v5.21.0-dev.8) (2025-04-20)

### Bug Fixes

* **Wide search bar:** Fix patching `19.16.39` ([d7c9dd0](d7c9dd0f77))
2025-04-20 11:31:26 +00:00
LisoUseInAIKyrios
d7c9dd0f77 fix(Wide search bar): Fix patching 19.16.39 2025-04-20 13:27:55 +02:00
github-actions[bot]
a0eb6d5fdb chore: Sync translations (#4833) 2025-04-20 13:27:33 +02:00
semantic-release-bot
55c5eb3d14 chore: Release v5.21.0-dev.7 [skip ci]
# [5.21.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.6...v5.21.0-dev.7) (2025-04-20)

### Bug Fixes

* **YouTube - Change start page:** Add option to always override start page on app launch ([#4832](https://github.com/ReVanced/revanced-patches/issues/4832)) ([896de89](896de8910a))
2025-04-20 08:24:42 +00:00
LisoUseInAIKyrios
896de8910a fix(YouTube - Change start page): Add option to always override start page on app launch (#4832) 2025-04-20 10:21:03 +02:00
semantic-release-bot
e2a7e25c66 chore: Release v5.21.0-dev.6 [skip ci]
# [5.21.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.5...v5.21.0-dev.6) (2025-04-19)

### Bug Fixes

* **YouTube - Wide search bar:** Do not force phone layout for tablet devices ([#4827](https://github.com/ReVanced/revanced-patches/issues/4827)) ([77ea5c4](77ea5c4033))
2025-04-19 16:36:29 +00:00
LisoUseInAIKyrios
77ea5c4033 fix(YouTube - Wide search bar): Do not force phone layout for tablet devices (#4827) 2025-04-19 18:33:12 +02:00
github-actions[bot]
6eea2354f5 chore: Sync translations (#4828) 2025-04-19 12:00:28 +02:00
66 changed files with 1302 additions and 548 deletions

View File

@@ -1,3 +1,38 @@
# [5.21.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.9...v5.21.0-dev.10) (2025-04-23)
### Features
* **YouTube - Swipe controls:** Add option for vertical progress bar ([#4811](https://github.com/ReVanced/revanced-patches/issues/4811)) ([ebee07e](https://github.com/ReVanced/revanced-patches/commit/ebee07ec3aba6fd3adbd8e0af30390e197879d89))
# [5.21.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.8...v5.21.0-dev.9) (2025-04-21)
### Bug Fixes
* **YouTube - Hide video action buttons:** Hide A/B layout buttons ([4db5d3c](https://github.com/ReVanced/revanced-patches/commit/4db5d3c3d5ac04faf70cc07fb309b324d752e7e3))
# [5.21.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.7...v5.21.0-dev.8) (2025-04-20)
### Bug Fixes
* **Wide search bar:** Fix patching `19.16.39` ([433dbc3](https://github.com/ReVanced/revanced-patches/commit/433dbc3bf81823369e146035c954281e84d3a436))
# [5.21.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.6...v5.21.0-dev.7) (2025-04-20)
### Bug Fixes
* **YouTube - Change start page:** Add option to always override start page on app launch ([#4832](https://github.com/ReVanced/revanced-patches/issues/4832)) ([5062e24](https://github.com/ReVanced/revanced-patches/commit/5062e24433ba38eba397438e8fde32099109d3c3))
# [5.21.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.5...v5.21.0-dev.6) (2025-04-19)
### Bug Fixes
* **YouTube - Wide search bar:** Do not force phone layout for tablet devices ([#4827](https://github.com/ReVanced/revanced-patches/issues/4827)) ([0cb38f9](https://github.com/ReVanced/revanced-patches/commit/0cb38f9f367a7fe742d8ca336150049181d637b6))
# [5.21.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.4...v5.21.0-dev.5) (2025-04-18)

View File

@@ -342,9 +342,12 @@ public abstract class Setting<T> {
/**
* Identical to calling {@link #save(Object)} using {@link #defaultValue}.
*
* @return The newly saved default value.
*/
public void resetToDefault() {
public T resetToDefault() {
save(defaultValue);
return defaultValue;
}
/**

View File

@@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
@@ -81,6 +82,13 @@ public final class ChangeStartPagePatch {
}
}
public static class ChangeStartPageTypeAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
return Settings.CHANGE_START_PAGE.get() != StartPage.DEFAULT;
}
}
/**
* Intent action when YouTube is cold started from the launcher.
* <p>
@@ -93,6 +101,8 @@ public final class ChangeStartPagePatch {
private static final StartPage START_PAGE = Settings.CHANGE_START_PAGE.get();
private static final boolean CHANGE_START_PAGE_ALWAYS = Settings.CHANGE_START_PAGE_ALWAYS.get();
/**
* There is an issue where the back button on the toolbar doesn't work properly.
* As a workaround for this issue, instead of overriding the browserId multiple times, just override it once.
@@ -104,13 +114,13 @@ public final class ChangeStartPagePatch {
return original;
}
if (appLaunched) {
if (!CHANGE_START_PAGE_ALWAYS && appLaunched) {
Logger.printDebug(() -> "Ignore override browseId as the app already launched");
return original;
}
appLaunched = true;
Logger.printDebug(() -> "Changing browseId to " + START_PAGE.id);
Logger.printDebug(() -> "Changing browseId to: " + START_PAGE.id);
return START_PAGE.id;
}
@@ -125,14 +135,14 @@ public final class ChangeStartPagePatch {
return;
}
if (appLaunched) {
if (!CHANGE_START_PAGE_ALWAYS && appLaunched) {
Logger.printDebug(() -> "Ignore override intent action as the app already launched");
return;
}
appLaunched = true;
String intentAction = START_PAGE.id;
Logger.printDebug(() -> "Changing intent action to " + intentAction);
Logger.printDebug(() -> "Changing intent action to: " + intentAction);
intent.setAction(intentAction);
}
}

View File

@@ -17,8 +17,7 @@ public class CustomPlayerOverlayOpacityPatch {
if (opacity < 0 || opacity > 100) {
Utils.showToastLong(str("revanced_player_overlay_opacity_invalid_toast"));
Settings.PLAYER_OVERLAY_OPACITY.resetToDefault();
opacity = Settings.PLAYER_OVERLAY_OPACITY.defaultValue;
opacity = Settings.PLAYER_OVERLAY_OPACITY.resetToDefault();
}
PLAYER_OVERLAY_OPACITY_LEVEL = (opacity * 255) / 100;

View File

@@ -162,8 +162,7 @@ public final class MiniplayerPatch {
if (opacity < 0 || opacity > 100) {
Utils.showToastLong(str("revanced_miniplayer_opacity_invalid_toast"));
Settings.MINIPLAYER_OPACITY.resetToDefault();
opacity = Settings.MINIPLAYER_OPACITY.defaultValue;
opacity = Settings.MINIPLAYER_OPACITY.resetToDefault();
}
OPACITY_LEVEL = (opacity * 255) / 100;

View File

@@ -1,11 +1,48 @@
package app.revanced.extension.youtube.patches;
import android.content.res.Resources;
import android.util.TypedValue;
import android.view.View;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
public final class WideSearchbarPatch {
private static final Boolean WIDE_SEARCHBAR_ENABLED = Settings.WIDE_SEARCHBAR.get();
/**
* Injection point.
*/
public static boolean enableWideSearchbar(boolean original) {
return Settings.WIDE_SEARCHBAR.get() || original;
return WIDE_SEARCHBAR_ENABLED || original;
}
/**
* Injection point.
*/
public static void setActionBar(View view) {
try {
if (!WIDE_SEARCHBAR_ENABLED) return;
View searchBarView = Utils.getChildViewByResourceName(view, "search_bar");
final int paddingLeft = searchBarView.getPaddingLeft();
final int paddingRight = searchBarView.getPaddingRight();
final int paddingTop = searchBarView.getPaddingTop();
final int paddingBottom = searchBarView.getPaddingBottom();
final int paddingStart = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
8, Resources.getSystem().getDisplayMetrics());
if (Utils.isRightToLeftTextLayout()) {
searchBarView.setPadding(paddingLeft, paddingTop, paddingStart, paddingBottom);
} else {
searchBarView.setPadding(paddingStart, paddingTop, paddingRight, paddingBottom);
}
} catch (Exception ex) {
Logger.printException(() -> "setActionBar failure", ex);
}
}
}

View File

@@ -31,7 +31,7 @@ final class ButtonsFilter extends Filter {
bufferFilterPathGroup = new StringFilterGroup(
null,
"|ContainerType|button.eml|"
"|ContainerType|button.eml"
);
addPathCallbacks(
@@ -43,7 +43,7 @@ final class ButtonsFilter extends Filter {
),
new StringFilterGroup(
Settings.HIDE_DOWNLOAD_BUTTON,
"|download_button.eml|"
"|download_button.eml"
),
new StringFilterGroup(
Settings.HIDE_PLAYLIST_BUTTON,
@@ -51,7 +51,7 @@ final class ButtonsFilter extends Filter {
),
new StringFilterGroup(
Settings.HIDE_CLIP_BUTTON,
"|clip_button.eml|"
"|clip_button.eml"
)
);

View File

@@ -211,7 +211,7 @@ public final class LayoutComponentsFilter extends Filter {
compactChannelBarInnerButton = new StringFilterGroup(
null,
"|button.eml|"
"|button.eml"
);
joinMembershipButton = new ByteArrayFilterGroup(

View File

@@ -40,7 +40,7 @@ public class PlayerFlyoutMenuItemsFilter extends Filter {
addPathCallbacks(
videoQualityMenuFooter,
new StringFilterGroup(null, "overflow_menu_item.eml|")
new StringFilterGroup(null, "overflow_menu_item.eml")
);
flyoutFilterGroupList.addAll(

View File

@@ -54,12 +54,12 @@ public class CustomPlaybackSpeedPatch {
static {
final float holdSpeed = Settings.SPEED_TAP_AND_HOLD.get();
if (holdSpeed > 0 && holdSpeed <= PLAYBACK_SPEED_MAXIMUM) {
TAP_AND_HOLD_SPEED = holdSpeed;
} else {
showInvalidCustomSpeedToast();
Settings.SPEED_TAP_AND_HOLD.resetToDefault();
TAP_AND_HOLD_SPEED = Settings.SPEED_TAP_AND_HOLD.get();
TAP_AND_HOLD_SPEED = Settings.SPEED_TAP_AND_HOLD.resetToDefault();
}
loadCustomSpeeds();

View File

@@ -7,6 +7,7 @@ import static app.revanced.extension.shared.settings.Setting.migrateOldSettingTo
import static app.revanced.extension.shared.settings.Setting.parent;
import static app.revanced.extension.shared.settings.Setting.parentsAny;
import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor;
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.ChangeStartPageTypeAvailability;
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
import static app.revanced.extension.youtube.patches.ExitFullscreenPatch.FullscreenMode;
import static app.revanced.extension.youtube.patches.ForceOriginalAudioPatch.ForceOriginalAudioAvailability;
@@ -24,6 +25,7 @@ import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehavi
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.MANUAL_SKIP;
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.SKIP_AUTOMATICALLY;
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.SKIP_AUTOMATICALLY_ONCE;
import app.revanced.extension.youtube.swipecontrols.SwipeControlsConfigurationProvider.SwipeOverlayStyle;
import android.graphics.Color;
@@ -222,6 +224,8 @@ public class Settings extends BaseSettings {
public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message");
public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true);
public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.DEFAULT, true);
public static final BooleanSetting CHANGE_START_PAGE_ALWAYS = new BooleanSetting("revanced_change_start_page_always", FALSE, true,
new ChangeStartPageTypeAvailability());
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", "19.01.34", true, parent(SPOOF_APP_VERSION));
// Custom filter
public static final BooleanSetting CUSTOM_FILTER = new BooleanSetting("revanced_custom_filter", FALSE);
@@ -320,12 +324,14 @@ public class Settings extends BaseSettings {
public static final IntegerSetting SWIPE_MAGNITUDE_THRESHOLD = new IntegerSetting("revanced_swipe_threshold", 30, true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final IntegerSetting SWIPE_VOLUME_SENSITIVITY = new IntegerSetting("revanced_swipe_volume_sensitivity", 1, true, parent(SWIPE_VOLUME));
public static final BooleanSetting SWIPE_SHOW_CIRCULAR_OVERLAY = new BooleanSetting("revanced_swipe_show_circular_overlay", FALSE, true,
public static final EnumSetting<SwipeOverlayStyle> SWIPE_OVERLAY_STYLE = new EnumSetting<>("revanced_swipe_overlay_style", SwipeOverlayStyle.HORIZONTAL,true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final BooleanSetting SWIPE_OVERLAY_MINIMAL_STYLE = new BooleanSetting("revanced_swipe_overlay_minimal_style", FALSE, true,
public static final IntegerSetting SWIPE_OVERLAY_TEXT_SIZE = new IntegerSetting("revanced_swipe_text_overlay_size", 14, true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final IntegerSetting SWIPE_OVERLAY_OPACITY = new IntegerSetting("revanced_swipe_overlay_background_opacity", 60, true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final StringSetting SWIPE_OVERLAY_PROGRESS_COLOR = new StringSetting("revanced_swipe_overlay_progress_color", "#FFFFFF", true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final LongSetting SWIPE_OVERLAY_TIMEOUT = new LongSetting("revanced_swipe_overlay_timeout", 500L, true,
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
public static final BooleanSetting SWIPE_SAVE_AND_RESTORE_BRIGHTNESS = new BooleanSetting("revanced_swipe_save_and_restore_brightness", TRUE, true, parent(SWIPE_BRIGHTNESS));

View File

@@ -1,95 +1,98 @@
package app.revanced.extension.youtube.swipecontrols
import android.annotation.SuppressLint
import android.graphics.Color
import app.revanced.extension.shared.Logger
import app.revanced.extension.shared.StringRef.str
import app.revanced.extension.shared.Utils
import app.revanced.extension.youtube.settings.Settings
import app.revanced.extension.youtube.shared.PlayerType
/**
* provider for configuration for volume and brightness swipe controls
* Provides configuration settings for volume and brightness swipe controls in the YouTube player.
* Manages enabling/disabling gestures, overlay appearance, and behavior preferences.
*/
class SwipeControlsConfigurationProvider {
//region swipe enable
//region swipe enable
/**
* should swipe controls be enabled? (global setting)
* Indicates whether swipe controls are enabled globally.
* Returns true if either volume or brightness controls are enabled and the video is in fullscreen mode.
*/
val enableSwipeControls: Boolean
get() = (enableVolumeControls || enableBrightnessControl) && isFullscreenVideo
/**
* should swipe controls for volume be enabled?
* Indicates whether swipe controls for adjusting volume are enabled.
*/
val enableVolumeControls = Settings.SWIPE_VOLUME.get()
/**
* should swipe controls for volume be enabled?
* Indicates whether swipe controls for adjusting brightness are enabled.
*/
val enableBrightnessControl = Settings.SWIPE_BRIGHTNESS.get()
/**
* is the video player currently in fullscreen mode?
* Checks if the video player is currently in fullscreen mode.
*/
private val isFullscreenVideo: Boolean
get() = PlayerType.current == PlayerType.WATCH_WHILE_FULLSCREEN
//endregion
//endregion
//region keys enable
//region keys enable
/**
* should volume key controls be overwritten? (global setting)
* Indicates whether volume key controls should be overridden by swipe controls.
* Returns true if volume controls are enabled and the video is in fullscreen mode.
*/
val overwriteVolumeKeyControls: Boolean
get() = enableVolumeControls && isFullscreenVideo
//endregion
//endregion
//region gesture adjustments
//region gesture adjustments
/**
* should press-to-swipe be enabled?
* Indicates whether press-to-swipe mode is enabled, requiring a press before swiping to activate controls.
*/
val shouldEnablePressToSwipe: Boolean
get() = Settings.SWIPE_PRESS_TO_ENGAGE.get()
/**
* threshold for swipe detection
* this may be called rapidly in onScroll, so we have to load it once and then leave it constant
* The threshold for detecting swipe gestures, in pixels.
* Loaded once to ensure consistent behavior during rapid scroll events.
*/
val swipeMagnitudeThreshold: Int
get() = Settings.SWIPE_MAGNITUDE_THRESHOLD.get()
/**
* How much volume will change by single swipe.
* If it is set to 0, it will reset to the default value because 0 would disable swiping.
* */
* The sensitivity of volume swipe gestures, determining how much volume changes per swipe.
* Resets to default if set to 0, as it would disable swiping.
*/
val volumeSwipeSensitivity: Int
get() {
val sensitivity = Settings.SWIPE_VOLUME_SENSITIVITY.get()
if (sensitivity < 1) {
Settings.SWIPE_VOLUME_SENSITIVITY.resetToDefault()
return Settings.SWIPE_VOLUME_SENSITIVITY.get()
return Settings.SWIPE_VOLUME_SENSITIVITY.resetToDefault()
}
return sensitivity
}
//endregion
//endregion
//region overlay adjustments
//region overlay adjustments
/**
* should the overlay enable haptic feedback?
* Indicates whether haptic feedback should be enabled for swipe control interactions.
*/
val shouldEnableHapticFeedback: Boolean
get() = Settings.SWIPE_HAPTIC_FEEDBACK.get()
/**
* how long the overlay should be shown on changes
* The duration in milliseconds that the overlay should remain visible after a change.
*/
val overlayShowTimeoutMillis: Long
get() = Settings.SWIPE_OVERLAY_TIMEOUT.get()
/**
* Gets the opacity value (0-100%) is converted to an alpha value (0-255) for transparency.
* If the opacity value is out of range, it resets to the default and displays a warning message.
* The background opacity of the overlay, converted from a percentage (0-100) to an alpha value (0-255).
* Resets to default and shows a toast if the value is out of range.
*/
val overlayBackgroundOpacity: Int
get() {
@@ -97,8 +100,7 @@ class SwipeControlsConfigurationProvider {
if (opacity < 0 || opacity > 100) {
Utils.showToastLong(str("revanced_swipe_overlay_background_opacity_invalid_toast"))
Settings.SWIPE_OVERLAY_OPACITY.resetToDefault()
opacity = Settings.SWIPE_OVERLAY_OPACITY.get()
opacity = Settings.SWIPE_OVERLAY_OPACITY.resetToDefault()
}
opacity = opacity * 255 / 100
@@ -106,55 +108,125 @@ class SwipeControlsConfigurationProvider {
}
/**
* The color of the progress overlay.
* The color of the progress bar in the overlay.
* Resets to default and shows a toast if the color string is invalid or empty.
*/
val overlayProgressColor: Int
get() = 0xBFFFFFFF.toInt()
get() {
try {
@SuppressLint("UseKtx")
val color = Color.parseColor(Settings.SWIPE_OVERLAY_PROGRESS_COLOR.get())
return (0xBF000000.toInt() or (color and 0xFFFFFF))
} catch (ex: IllegalArgumentException) {
Logger.printDebug({ "Could not parse color" }, ex)
Utils.showToastLong(str("revanced_swipe_overlay_progress_color_invalid_toast"))
Settings.SWIPE_OVERLAY_PROGRESS_COLOR.resetToDefault()
return overlayProgressColor // Recursively return.
}
}
/**
* The color used for the background of the progress overlay fill.
* The background color used for the filled portion of the progress bar in the overlay.
*/
val overlayFillBackgroundPaint: Int
get() = 0x80D3D3D3.toInt()
/**
* The color used for the text and icons in the overlay.
* The color used for text and icons in the overlay.
*/
val overlayTextColor: Int
get() = Color.WHITE
/**
* A flag that determines if the overlay should only show the icon.
* The text size in the overlay, in density-independent pixels (dp).
* Must be between 1 and 30 dp; resets to default and shows a toast if invalid.
*/
val overlayShowOverlayMinimalStyle: Boolean
get() = Settings.SWIPE_OVERLAY_MINIMAL_STYLE.get()
val overlayTextSize: Int
get() {
val size = Settings.SWIPE_OVERLAY_TEXT_SIZE.get()
if (size < 1 || size > 30) {
Utils.showToastLong(str("revanced_swipe_text_overlay_size_invalid_toast"))
return Settings.SWIPE_OVERLAY_TEXT_SIZE.resetToDefault()
}
return size
}
/**
* A flag that determines if the progress bar should be circular.
* Defines the style of the swipe controls overlay, determining its layout and appearance.
*
* @property isMinimal Indicates whether the style is minimalistic, omitting detailed progress indicators.
* @property isHorizontalMinimalCenter Indicates whether the style is a minimal horizontal bar centered vertically.
* @property isCircular Indicates whether the style uses a circular progress bar.
* @property isVertical Indicates whether the style uses a vertical progress bar.
*/
val isCircularProgressBar: Boolean
get() = Settings.SWIPE_SHOW_CIRCULAR_OVERLAY.get()
//endregion
@Suppress("unused")
enum class SwipeOverlayStyle(
val isMinimal: Boolean = false,
val isHorizontalMinimalCenter: Boolean = false,
val isCircular: Boolean = false,
val isVertical: Boolean = false
) {
/**
* A full horizontal progress bar with detailed indicators.
*/
HORIZONTAL,
//region behaviour
/**
* A minimal horizontal progress bar positioned at the top.
*/
HORIZONTAL_MINIMAL_TOP(isMinimal = true),
/**
* A minimal horizontal progress bar centered vertically.
*/
HORIZONTAL_MINIMAL_CENTER(isMinimal = true, isHorizontalMinimalCenter = true),
/**
* A full circular progress bar with detailed indicators.
*/
CIRCULAR(isCircular = true),
/**
* A minimal circular progress bar.
*/
CIRCULAR_MINIMAL(isMinimal = true, isCircular = true),
/**
* A full vertical progress bar with detailed indicators.
*/
VERTICAL(isVertical = true),
/**
* A minimal vertical progress bar.
*/
VERTICAL_MINIMAL(isMinimal = true, isVertical = true)
}
/**
* should the brightness be saved and restored when exiting or entering fullscreen
* The current style of the overlay, determining its layout and appearance.
*/
val overlayStyle: SwipeOverlayStyle
get() = Settings.SWIPE_OVERLAY_STYLE.get()
//endregion
//region behaviour
/**
* Indicates whether the brightness level should be saved and restored when entering or exiting fullscreen mode.
*/
val shouldSaveAndRestoreBrightness: Boolean
get() = Settings.SWIPE_SAVE_AND_RESTORE_BRIGHTNESS.get()
/**
* should auto-brightness be enabled at the lowest value of the brightness gesture
* Indicates whether auto-brightness should be enabled when the brightness gesture reaches its lowest value.
*/
val shouldLowestValueEnableAutoBrightness: Boolean
get() = Settings.SWIPE_LOWEST_VALUE_ENABLE_AUTO_BRIGHTNESS.get()
/**
* variable that stores the brightness gesture value in the settings
* The saved brightness value for the swipe gesture, used to restore brightness in fullscreen mode.
*/
var savedScreenBrightnessValue: Float
get() = Settings.SWIPE_BRIGHTNESS_VALUE.get()
set(value) = Settings.SWIPE_BRIGHTNESS_VALUE.save(value)
//endregion
}
//endregion
}

View File

@@ -23,9 +23,7 @@ import java.lang.ref.WeakReference
/**
* The main controller for volume and brightness swipe controls.
* note that the superclass is overwritten to the superclass of the MainActivity at patch time
*
* @smali Lapp/revanced/extension/swipecontrols/SwipeControlsHostActivity;
* note that the superclass is overwritten to the superclass of the MainActivity at patch time.
*/
class SwipeControlsHostActivity : Activity() {
/**

View File

@@ -1,8 +1,11 @@
package app.revanced.extension.youtube.swipecontrols.views
import android.annotation.SuppressLint
import android.content.Context
import android.content.res.Resources
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.Rect
import android.graphics.RectF
import android.graphics.drawable.Drawable
import android.os.Handler
@@ -11,14 +14,23 @@ import android.util.AttributeSet
import android.view.HapticFeedbackConstants
import android.view.View
import android.widget.RelativeLayout
import app.revanced.extension.shared.StringRef.str
import app.revanced.extension.shared.Utils
import app.revanced.extension.youtube.swipecontrols.SwipeControlsConfigurationProvider
import app.revanced.extension.youtube.swipecontrols.misc.SwipeControlsOverlay
import kotlin.math.min
import kotlin.math.max
import kotlin.math.round
/**
* Main overlay layout for displaying volume and brightness level with both circular and horizontal progress bars.
* Convert dp to pixels based on system display density.
*/
fun Float.toDisplayPixels(): Float {
return this * Resources.getSystem().displayMetrics.density
}
/**
* Main overlay layout for displaying volume and brightness level with circular, horizontal and vertical progress bars.
*/
class SwipeControlsOverlayLayout(
context: Context,
@@ -51,18 +63,21 @@ class SwipeControlsOverlayLayout(
// Initialize progress bars
private val circularProgressView: CircularProgressView
private val horizontalProgressView: HorizontalProgressView
private val verticalBrightnessProgressView: VerticalProgressView
private val verticalVolumeProgressView: VerticalProgressView
init {
// Initialize circular progress bar
circularProgressView = CircularProgressView(
context,
config.overlayBackgroundOpacity,
config.overlayShowOverlayMinimalStyle,
config.overlayStyle.isMinimal,
config.overlayProgressColor,
config.overlayFillBackgroundPaint,
config.overlayTextColor
config.overlayTextColor,
config.overlayTextSize
).apply {
layoutParams = LayoutParams(300, 300).apply {
layoutParams = LayoutParams(100f.toDisplayPixels().toInt(), 100f.toDisplayPixels().toInt()).apply {
addRule(CENTER_IN_PARENT, TRUE)
}
visibility = GONE // Initially hidden
@@ -71,22 +86,65 @@ class SwipeControlsOverlayLayout(
// Initialize horizontal progress bar
val screenWidth = resources.displayMetrics.widthPixels
val layoutWidth = (screenWidth * 2 / 3).toInt() // 2/3 of screen width
val layoutWidth = (screenWidth * 4 / 5).toInt() // Cap at ~360dp
horizontalProgressView = HorizontalProgressView(
context,
config.overlayBackgroundOpacity,
config.overlayShowOverlayMinimalStyle,
config.overlayStyle.isMinimal,
config.overlayProgressColor,
config.overlayFillBackgroundPaint,
config.overlayTextColor
config.overlayTextColor,
config.overlayTextSize
).apply {
layoutParams = LayoutParams(layoutWidth, 100).apply {
layoutParams = LayoutParams(layoutWidth, 32f.toDisplayPixels().toInt()).apply {
addRule(CENTER_HORIZONTAL)
topMargin = 40 // Top margin
if (config.overlayStyle.isHorizontalMinimalCenter) {
addRule(CENTER_VERTICAL)
} else {
topMargin = 20f.toDisplayPixels().toInt()
}
}
visibility = GONE // Initially hidden
}
addView(horizontalProgressView)
// Initialize vertical progress bar for brightness (right side)
verticalBrightnessProgressView = VerticalProgressView(
context,
config.overlayBackgroundOpacity,
config.overlayStyle.isMinimal,
config.overlayProgressColor,
config.overlayFillBackgroundPaint,
config.overlayTextColor,
config.overlayTextSize
).apply {
layoutParams = LayoutParams(40f.toDisplayPixels().toInt(), 150f.toDisplayPixels().toInt()).apply {
addRule(ALIGN_PARENT_RIGHT)
rightMargin = 40f.toDisplayPixels().toInt()
addRule(CENTER_VERTICAL)
}
visibility = GONE // Initially hidden
}
addView(verticalBrightnessProgressView)
// Initialize vertical progress bar for volume (left side)
verticalVolumeProgressView = VerticalProgressView(
context,
config.overlayBackgroundOpacity,
config.overlayStyle.isMinimal,
config.overlayProgressColor,
config.overlayFillBackgroundPaint,
config.overlayTextColor,
config.overlayTextSize
).apply {
layoutParams = LayoutParams(40f.toDisplayPixels().toInt(), 150f.toDisplayPixels().toInt()).apply {
addRule(ALIGN_PARENT_LEFT)
leftMargin = 40f.toDisplayPixels().toInt()
addRule(CENTER_VERTICAL)
}
visibility = GONE // Initially hidden
}
addView(verticalVolumeProgressView)
}
// Handler and callback for hiding progress bars
@@ -94,6 +152,8 @@ class SwipeControlsOverlayLayout(
private val feedbackHideCallback = Runnable {
circularProgressView.visibility = GONE
horizontalProgressView.visibility = GONE
verticalBrightnessProgressView.visibility = GONE
verticalVolumeProgressView.visibility = GONE
}
/**
@@ -103,7 +163,11 @@ class SwipeControlsOverlayLayout(
feedbackHideHandler.removeCallbacks(feedbackHideCallback)
feedbackHideHandler.postDelayed(feedbackHideCallback, config.overlayShowTimeoutMillis)
val viewToShow = if (config.isCircularProgressBar) circularProgressView else horizontalProgressView
val viewToShow = when {
config.overlayStyle.isCircular -> circularProgressView
config.overlayStyle.isVertical -> if (isBrightness) verticalBrightnessProgressView else verticalVolumeProgressView
else -> horizontalProgressView
}
viewToShow.apply {
setProgress(progress, max, value, isBrightness)
this.icon = icon
@@ -126,7 +190,9 @@ class SwipeControlsOverlayLayout(
// Handle brightness change
override fun onBrightnessChanged(brightness: Double) {
if (config.shouldLowestValueEnableAutoBrightness && brightness <= 0) {
showFeedbackView("Auto", 0, 100, autoBrightnessIcon, isBrightness = true)
val displayText = if (config.overlayStyle.isVertical) "А"
else str("revanced_swipe_lowest_value_enable_auto_brightness_overlay_text")
showFeedbackView(displayText, 0, 100, autoBrightnessIcon, isBrightness = true)
} else {
val brightnessValue = round(brightness).toInt()
val icon = when {
@@ -135,7 +201,8 @@ class SwipeControlsOverlayLayout(
brightnessValue < 75 -> highBrightnessIcon
else -> fullBrightnessIcon
}
showFeedbackView("$brightnessValue%", brightnessValue, 100, icon, isBrightness = true)
val displayText = if (config.overlayStyle.isVertical) "$brightnessValue" else "$brightnessValue%"
showFeedbackView(displayText, brightnessValue, 100, icon, isBrightness = true)
}
}
@@ -156,11 +223,12 @@ class SwipeControlsOverlayLayout(
*/
abstract class AbstractProgressView(
context: Context,
protected val overlayBackgroundOpacity: Int,
protected val overlayShowOverlayMinimalStyle: Boolean,
protected val overlayProgressColor: Int,
protected val overlayFillBackgroundPaint: Int,
protected val overlayTextColor: Int,
overlayBackgroundOpacity: Int,
protected val isMinimalStyle: Boolean,
overlayProgressColor: Int,
overlayFillBackgroundPaint: Int,
private val overlayTextColor: Int,
protected val overlayTextSize: Int,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {
@@ -174,26 +242,25 @@ abstract class AbstractProgressView(
}
// Initialize paints
public val backgroundPaint = createPaint(overlayBackgroundOpacity, style = Paint.Style.FILL)
public val progressPaint = createPaint(overlayProgressColor, style = Paint.Style.STROKE, strokeCap = Paint.Cap.ROUND, strokeWidth = 20f)
public val fillBackgroundPaint = createPaint(overlayFillBackgroundPaint, style = Paint.Style.FILL)
public val textPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
val backgroundPaint = createPaint(overlayBackgroundOpacity, style = Paint.Style.FILL)
val progressPaint = createPaint(overlayProgressColor, style = Paint.Style.STROKE, strokeCap = Paint.Cap.ROUND, strokeWidth = 6f.toDisplayPixels())
val fillBackgroundPaint = createPaint(overlayFillBackgroundPaint, style = Paint.Style.FILL)
val textPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = overlayTextColor
textAlign = Paint.Align.CENTER
textSize = 40f // Can adjust based on need
textSize = overlayTextSize.toFloat().toDisplayPixels()
}
// Rect for text measurement
protected val textBounds = Rect()
protected var progress = 0
protected var maxProgress = 100
protected var displayText: String = "0"
protected var isBrightness = true
public var icon: Drawable? = null
var icon: Drawable? = null
init {
// Stroke widths are now set in createPaint for progressPaint and fillBackgroundPaint
}
fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
open fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
progress = value
maxProgress = max
displayText = text
@@ -201,6 +268,11 @@ abstract class AbstractProgressView(
invalidate()
}
protected fun measureTextWidth(text: String, paint: Paint): Int {
paint.getTextBounds(text, 0, text.length, textBounds)
return textBounds.width()
}
override fun onDraw(canvas: Canvas) {
// Base class implementation can be empty
}
@@ -209,34 +281,36 @@ abstract class AbstractProgressView(
/**
* Custom view for rendering a circular progress indicator with icons and text.
*/
@SuppressLint("ViewConstructor")
class CircularProgressView(
context: Context,
overlayBackgroundOpacity: Int,
overlayShowOverlayMinimalStyle: Boolean,
isMinimalStyle: Boolean,
overlayProgressColor: Int,
overlayFillBackgroundPaint: Int,
overlayTextColor: Int,
overlayTextSize: Int,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : AbstractProgressView(
context,
overlayBackgroundOpacity,
overlayShowOverlayMinimalStyle,
isMinimalStyle,
overlayProgressColor,
overlayFillBackgroundPaint,
overlayTextColor,
overlayTextSize,
attrs,
defStyleAttr
) {
private val rectF = RectF()
init {
textPaint.textSize = 40f // Override default text size for circular view
progressPaint.strokeWidth = 20f
fillBackgroundPaint.strokeWidth = 20f
progressPaint.strokeCap = Paint.Cap.ROUND
progressPaint.strokeWidth = 6f.toDisplayPixels()
fillBackgroundPaint.strokeWidth = 6f.toDisplayPixels()
progressPaint.strokeCap = Paint.Cap.ROUND
fillBackgroundPaint.strokeCap = Paint.Cap.BUTT
progressPaint.style = Paint.Style.STROKE
progressPaint.style = Paint.Style.STROKE
fillBackgroundPaint.style = Paint.Style.STROKE
}
@@ -244,7 +318,8 @@ class CircularProgressView(
super.onDraw(canvas)
val size = min(width, height).toFloat()
rectF.set(20f, 20f, size - 20f, size - 20f)
val inset = 6f.toDisplayPixels()
rectF.set(inset, inset, size - inset, size - inset)
canvas.drawOval(rectF, fillBackgroundPaint) // Draw the outer ring.
canvas.drawCircle(width / 2f, height / 2f, size / 3, backgroundPaint) // Draw the inner circle.
@@ -255,124 +330,307 @@ class CircularProgressView(
// Draw the icon in the center.
icon?.let {
val iconSize = if (overlayShowOverlayMinimalStyle) 100 else 80
val iconSize = (if (isMinimalStyle) 36f else 24f).toDisplayPixels().toInt()
val iconX = (width - iconSize) / 2
val iconY = (height / 2) - if (overlayShowOverlayMinimalStyle) 50 else 80
val iconY = if (isMinimalStyle) {
(height - iconSize) / 2
} else {
(height / 2) - 24f.toDisplayPixels().toInt()
}
it.setBounds(iconX, iconY, iconX + iconSize, iconY + iconSize)
it.draw(canvas)
}
// If not a minimal style mode, draw the text inside the ring.
if (!overlayShowOverlayMinimalStyle) {
canvas.drawText(displayText, width / 2f, height / 2f + 60f, textPaint)
if (!isMinimalStyle) {
canvas.drawText(displayText, width / 2f, height / 2f + 20f.toDisplayPixels(), textPaint)
}
}
override fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
super.setProgress(value, max, text, isBrightnessMode)
requestLayout()
}
}
/**
* Custom view for rendering a rectangular progress bar with icons and text.
*/
@SuppressLint("ViewConstructor")
class HorizontalProgressView(
context: Context,
overlayBackgroundOpacity: Int,
overlayShowOverlayMinimalStyle: Boolean,
isMinimalStyle: Boolean,
overlayProgressColor: Int,
overlayFillBackgroundPaint: Int,
overlayTextColor: Int,
overlayTextSize: Int,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : AbstractProgressView(
context,
overlayBackgroundOpacity,
overlayShowOverlayMinimalStyle,
isMinimalStyle,
overlayProgressColor,
overlayFillBackgroundPaint,
overlayTextColor,
overlayTextSize,
attrs,
defStyleAttr
) {
private val iconSize = 60f
private val padding = 40f
private val iconSize = 20f.toDisplayPixels()
private val padding = 12f.toDisplayPixels()
private var textWidth = 0f
private val progressBarHeight = 3f.toDisplayPixels()
private val progressBarWidth: Float = resources.displayMetrics.widthPixels / 4f
init {
textPaint.textSize = 36f // Override default text size for horizontal view
progressPaint.strokeWidth = 0f
progressPaint.strokeCap = Paint.Cap.BUTT
progressPaint.style = Paint.Style.FILL
progressPaint.strokeCap = Paint.Cap.BUTT
progressPaint.style = Paint.Style.FILL
fillBackgroundPaint.style = Paint.Style.FILL
}
/**
* Calculate required width based on content
* @return Required width to display all elements
*/
private fun calculateRequiredWidth(): Float {
textWidth = measureTextWidth(displayText, textPaint).toFloat()
return if (!isMinimalStyle) {
padding + iconSize + padding + progressBarWidth + padding + textWidth + padding
} else {
padding + iconSize + padding + textWidth + padding
}
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
val suggestedWidth = MeasureSpec.getSize(widthMeasureSpec)
val suggestedHeight = MeasureSpec.getSize(heightMeasureSpec)
val height = suggestedHeight
val requiredWidth = calculateRequiredWidth().toInt()
val width = min(max(100, requiredWidth), suggestedWidth)
setMeasuredDimension(width, height)
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
val width = width.toFloat()
val height = height.toFloat()
val viewWidth = width.toFloat()
val viewHeight = height.toFloat()
val viewHeightHalf = viewHeight / 2
// Radius for rounded corners
val cornerRadius = min(width, height) / 2
textWidth = measureTextWidth(displayText, textPaint).toFloat()
// Calculate the total width for the elements
val minimalElementWidth = 5 * padding + iconSize
val cornerRadius = viewHeightHalf
// Calculate the starting point (X) to center the elements
val minimalStartX = (width - minimalElementWidth) / 2
val startX = padding
val iconEndX = startX + iconSize
// Draw the background
if (!overlayShowOverlayMinimalStyle) {
canvas.drawRoundRect(0f, 0f, width, height, cornerRadius, cornerRadius, backgroundPaint)
} else {
canvas.drawRoundRect(minimalStartX, 0f, minimalStartX + minimalElementWidth, height, cornerRadius, cornerRadius, backgroundPaint)
}
val textStartX = (viewWidth - 1.5f * padding - textWidth)
if (!overlayShowOverlayMinimalStyle) {
// Draw the fill background
val startX = 2 * padding + iconSize
val endX = width - 4 * padding
val fillWidth = endX - startX
canvas.drawRoundRect(
0f, 0f, viewWidth, viewHeight,
cornerRadius, cornerRadius, backgroundPaint
)
canvas.drawRoundRect(
startX,
height / 2 - 5f,
endX,
height / 2 + 5f,
10f, 10f,
fillBackgroundPaint
)
// Draw the progress
val progressWidth = (progress.toFloat() / maxProgress) * fillWidth
canvas.drawRoundRect(
startX,
height / 2 - 5f,
startX + progressWidth,
height / 2 + 5f,
10f, 10f,
progressPaint
)
}
// Draw the icon
icon?.let {
val iconX = if (!overlayShowOverlayMinimalStyle) {
padding
} else {
padding + minimalStartX
}
val iconY = height / 2 - iconSize / 2
it.setBounds(iconX.toInt(), iconY.toInt(), (iconX + iconSize).toInt(), (iconY + iconSize).toInt())
val iconY = viewHeightHalf - iconSize / 2
it.setBounds(
startX.toInt(),
iconY.toInt(),
(startX + iconSize).toInt(),
(iconY + iconSize).toInt()
)
it.draw(canvas)
}
// Draw the text on the right
val textX = if (!overlayShowOverlayMinimalStyle) {
width - 2 * padding
} else {
minimalStartX + minimalElementWidth - 2 * padding
}
val textY = height / 2 + textPaint.textSize / 3
val textY = viewHeightHalf + textPaint.textSize / 3
textPaint.textAlign = Paint.Align.LEFT
// Draw the text
canvas.drawText(displayText, textX, textY, textPaint)
if (isMinimalStyle) {
canvas.drawText(displayText, textStartX, textY, textPaint)
} else {
val progressStartX = iconEndX + padding
val progressEndX = textStartX - padding
val progressWidth = progressEndX - progressStartX
if (progressWidth > 50) {
val progressBarHeightHalf = progressBarHeight / 2.0f
val viewHeightHalfMinusProgressBarHeightHalf = viewHeightHalf - progressBarHeightHalf
val viewHeightHalfPlusProgressBarHeightHalf = viewHeightHalf + progressBarHeightHalf
canvas.drawRoundRect(
progressStartX,
viewHeightHalfMinusProgressBarHeightHalf,
progressEndX,
viewHeightHalfPlusProgressBarHeightHalf,
progressBarHeightHalf,
progressBarHeightHalf,
fillBackgroundPaint
)
val progressValue = (progress.toFloat() / maxProgress) * progressWidth
canvas.drawRoundRect(
progressStartX,
viewHeightHalfMinusProgressBarHeightHalf,
progressStartX + progressValue,
viewHeightHalfPlusProgressBarHeightHalf,
progressBarHeightHalf,
progressBarHeightHalf,
progressPaint
)
}
canvas.drawText(displayText, textStartX, textY, textPaint)
}
}
override fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
super.setProgress(value, max, text, isBrightnessMode)
requestLayout()
}
}
/**
* Custom view for rendering a vertical progress bar with icons and text.
*/
@SuppressLint("ViewConstructor")
class VerticalProgressView(
context: Context,
overlayBackgroundOpacity: Int,
isMinimalStyle: Boolean,
overlayProgressColor: Int,
overlayFillBackgroundPaint: Int,
overlayTextColor: Int,
overlayTextSize: Int,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : AbstractProgressView(
context,
overlayBackgroundOpacity,
isMinimalStyle,
overlayProgressColor,
overlayFillBackgroundPaint,
overlayTextColor,
overlayTextSize,
attrs,
defStyleAttr
) {
private val iconSize = 20f.toDisplayPixels()
private val padding = 12f.toDisplayPixels()
private val progressBarWidth = 3f.toDisplayPixels()
private val progressBarHeight: Float = resources.displayMetrics.widthPixels / 3f
init {
progressPaint.strokeWidth = 0f
progressPaint.strokeCap = Paint.Cap.BUTT
progressPaint.style = Paint.Style.FILL
fillBackgroundPaint.style = Paint.Style.FILL
}
/**
* Calculate required height based on content
* @return Required height to display all elements
*/
private fun calculateRequiredHeight(): Float {
return if (!isMinimalStyle) {
padding + iconSize + padding + progressBarHeight + padding + textPaint.textSize + padding
} else {
padding + iconSize + padding + textPaint.textSize + padding
}
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
val suggestedWidth = MeasureSpec.getSize(widthMeasureSpec)
val suggestedHeight = MeasureSpec.getSize(heightMeasureSpec)
val requiredHeight = calculateRequiredHeight().toInt()
val height = min(max(100, requiredHeight), suggestedHeight)
setMeasuredDimension(suggestedWidth, height)
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
val viewWidth = width.toFloat()
val viewHeight = height.toFloat()
val viewWidthHalf = viewWidth / 2
val cornerRadius = viewWidthHalf
val startY = padding
val iconEndY = startY + iconSize
val textStartY = viewHeight - padding - textPaint.textSize / 2
canvas.drawRoundRect(
0f, 0f, viewWidth, viewHeight,
cornerRadius, cornerRadius, backgroundPaint
)
icon?.let {
val iconX = viewWidthHalf - iconSize / 2
it.setBounds(
iconX.toInt(),
startY.toInt(),
(iconX + iconSize).toInt(),
(startY + iconSize).toInt()
)
it.draw(canvas)
}
val textX = viewWidthHalf
textPaint.textAlign = Paint.Align.CENTER
if (isMinimalStyle) {
canvas.drawText(displayText, textX, textStartY, textPaint)
} else {
val progressStartY = (iconEndY + padding).toFloat()
val progressEndY = textStartY - textPaint.textSize - padding
val progressHeight = progressEndY - progressStartY
if (progressHeight > 50) {
val progressBarWidthHalf = progressBarWidth / 2
val viewHeightHalfMinusProgressBarHeightHalf = viewWidthHalf - progressBarWidthHalf
val viewHeightHalfPlusProgressBarHeightHalf = viewWidthHalf + progressBarWidthHalf
canvas.drawRoundRect(
viewHeightHalfMinusProgressBarHeightHalf,
progressStartY,
viewHeightHalfPlusProgressBarHeightHalf,
progressEndY,
progressBarWidthHalf,
progressBarWidthHalf,
fillBackgroundPaint
)
val progressValue = (progress.toFloat() / maxProgress) * progressHeight
canvas.drawRoundRect(
viewHeightHalfMinusProgressBarHeightHalf,
progressEndY - progressValue,
viewHeightHalfPlusProgressBarHeightHalf,
progressEndY,
progressBarWidthHalf,
progressBarWidthHalf,
progressPaint
)
}
canvas.drawText(displayText, textX, textStartY, textPaint)
}
}
override fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
super.setProgress(value, max, text, isBrightnessMode)
requestLayout()
}
}

View File

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

View File

@@ -6,6 +6,7 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMu
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.misc.settings.preference.InputType
import app.revanced.patches.shared.misc.settings.preference.ListPreference
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.shared.misc.settings.preference.TextPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
@@ -42,9 +43,13 @@ private val swipeControlsResourcePatch = resourcePatch {
SwitchPreference("revanced_swipe_haptic_feedback"),
SwitchPreference("revanced_swipe_save_and_restore_brightness"),
SwitchPreference("revanced_swipe_lowest_value_enable_auto_brightness"),
SwitchPreference("revanced_swipe_show_circular_overlay"),
SwitchPreference("revanced_swipe_overlay_minimal_style"),
ListPreference(
"revanced_swipe_overlay_style",
summaryKey = null,
),
TextPreference("revanced_swipe_overlay_background_opacity", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_overlay_progress_color", inputType = InputType.TEXT_CAP_CHARACTERS),
TextPreference("revanced_swipe_text_overlay_size", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_overlay_timeout", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_threshold", inputType = InputType.NUMBER),
TextPreference("revanced_swipe_volume_sensitivity", inputType = InputType.NUMBER),

View File

@@ -1,6 +1,7 @@
package app.revanced.patches.youtube.layout.hide.general
import app.revanced.patcher.fingerprint
import app.revanced.patches.youtube.layout.searchbar.wideSearchbarLayoutFingerprint
import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
@@ -67,6 +68,9 @@ internal val showWatermarkFingerprint = fingerprint {
parameters("L", "L")
}
/**
* Matches same method as [wideSearchbarLayoutFingerprint].
*/
internal val yoodlesImageViewFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Landroid/view/View;")

View File

@@ -44,14 +44,12 @@ var crowdfundingBoxId = -1L
private set
var youTubeLogo = -1L
private set
var filterBarHeightId = -1L
private set
var relatedChipCloudMarginId = -1L
private set
var barContainerHeightId = -1L
private set
var fabButtonId = -1L
private set

View File

@@ -1,31 +1,27 @@
package app.revanced.patches.youtube.layout.searchbar
import app.revanced.patcher.fingerprint
import app.revanced.patches.youtube.layout.hide.general.yoodlesImageViewFingerprint
import app.revanced.util.containsLiteralInstruction
import app.revanced.util.literal
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val createSearchSuggestionsFingerprint = fingerprint {
opcodes(
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT,
Opcode.CONST_4,
)
strings("ss_rds")
}
internal val setWordmarkHeaderFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("Landroid/widget/ImageView;")
opcodes(
Opcode.IGET_OBJECT,
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT,
Opcode.IF_NEZ,
Opcode.IGET_BOOLEAN,
Opcode.IF_EQZ,
Opcode.IGET_OBJECT,
Opcode.CONST,
null, // invoke-static or invoke-virtual.
)
custom { methodDef, _ ->
methodDef.containsLiteralInstruction(ytPremiumWordmarkHeaderId) &&
methodDef.containsLiteralInstruction(ytWordmarkHeaderId)
}
}
/**
* Matches the same method as [yoodlesImageViewFingerprint].
*/
internal val wideSearchbarLayoutFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Landroid/view/View;")
parameters("L", "L")
literal { actionBarRingoId }
}

View File

@@ -1,30 +1,67 @@
package app.revanced.patches.youtube.layout.searchbar
import app.revanced.patcher.Fingerprint
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.BytecodePatchContext
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patcher.patch.resourcePatch
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.misc.mapping.get
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.shared.misc.mapping.resourceMappings
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
import app.revanced.util.addInstructionsAtControlFlowLabel
import app.revanced.util.findInstructionIndicesReversedOrThrow
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionOrThrow
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
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/WideSearchbarPatch;"
internal var ytWordmarkHeaderId = -1L
private set
internal var ytPremiumWordmarkHeaderId = -1L
private set
internal var actionBarRingoId = -1L
private set
private val wideSearchbarResourcePatch = resourcePatch {
dependsOn(resourceMappingPatch)
execute {
ytWordmarkHeaderId = resourceMappings[
"attr",
"ytWordmarkHeader",
]
ytPremiumWordmarkHeaderId = resourceMappings[
"attr",
"ytPremiumWordmarkHeader",
]
actionBarRingoId = resourceMappings[
"layout",
"action_bar_ringo",
]
}
}
val wideSearchbarPatch = bytecodePatch(
name = "Wide search bar",
description = "Adds an option to replace the search icon with a wide search bar. This will hide the YouTube logo when active.",
description = "Adds an option to replace the search icon with a wide search bar. " +
"This will hide the YouTube logo when active.",
) {
dependsOn(
sharedExtensionPatch,
settingsPatch,
addResourcesPatch,
wideSearchbarResourcePatch,
)
compatibleWith(
@@ -46,37 +83,45 @@ val wideSearchbarPatch = bytecodePatch(
SwitchPreference("revanced_wide_searchbar"),
)
/**
* Navigate a fingerprints method at a given index mutably.
*
* @param index The index to navigate to.
* @param from The fingerprint to navigate the method on.
* @return The [MutableMethod] which was navigated on.
*/
fun BytecodePatchContext.walkMutable(index: Int, from: Fingerprint) =
navigate(from.originalMethod).to(index).stop()
setWordmarkHeaderFingerprint.let {
// Navigate to the method that checks if the YT logo is shown beside the search bar.
val shouldShowLogoMethod = with(it.originalMethod) {
val invokeStaticIndex = indexOfFirstInstructionOrThrow {
opcode == Opcode.INVOKE_STATIC &&
getReference<MethodReference>()?.returnType == "Z"
}
navigate(this).to(invokeStaticIndex).stop()
}
/**
* Injects instructions required for certain methods.
*/
fun MutableMethod.injectSearchBarHook() {
val insertIndex = implementation!!.instructions.size - 1
val insertRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA
shouldShowLogoMethod.apply {
findInstructionIndicesReversedOrThrow(Opcode.RETURN).forEach { index ->
val register = getInstruction<OneRegisterInstruction>(index).registerA
addInstructions(
insertIndex,
"""
invoke-static {v$insertRegister}, $EXTENSION_CLASS_DESCRIPTOR->enableWideSearchbar(Z)Z
move-result v$insertRegister
""",
)
addInstructionsAtControlFlowLabel(
index,
"""
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->enableWideSearchbar(Z)Z
move-result v$register
"""
)
}
}
}
mapOf(
setWordmarkHeaderFingerprint to 1,
createSearchSuggestionsFingerprint to createSearchSuggestionsFingerprint.patternMatch!!.startIndex,
).forEach { (fingerprint, callIndex) ->
walkMutable(callIndex, fingerprint).injectSearchBarHook()
// Fix missing left padding when using wide searchbar.
wideSearchbarLayoutFingerprint.method.apply {
findInstructionIndicesReversedOrThrow {
val reference = getReference<MethodReference>()
reference?.definingClass == "Landroid/view/LayoutInflater;"
&& reference.name == "inflate"
}.forEach { inflateIndex ->
val register = getInstruction<OneRegisterInstruction>(inflateIndex + 1).registerA
addInstruction(
inflateIndex + 2,
"invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->setActionBar(Landroid/view/View;)V"
)
}
}
}
}

View File

@@ -7,6 +7,9 @@ import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.misc.settings.preference.ListPreference
import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
import app.revanced.patches.youtube.misc.settings.settingsPatch
@@ -43,10 +46,18 @@ val changeStartPagePatch = bytecodePatch(
addResources("youtube", "layout.startpage.changeStartPagePatch")
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
ListPreference(
key = "revanced_change_start_page",
summaryKey = null,
),
PreferenceCategory(
titleKey = null,
sorting = Sorting.UNSORTED,
tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
preferences = setOf(
ListPreference(
key = "revanced_change_start_page",
summaryKey = null,
),
SwitchPreference("revanced_change_start_page_always")
)
)
)
// Hook browseId.

View File

@@ -479,9 +479,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_change_video_summary_off">لن يؤدي التمرير في وضع ملء الشاشة إلى التغيير للفيديو التالي/السابق</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_disable_auto_captions_title">تعطيل التَّرْجَمَة التلقائية</string>
<string name="revanced_disable_auto_captions_summary_on">تم تعطيل التَّرْجَمَة التلقائية</string>
<string name="revanced_disable_auto_captions_summary_off">تم تمكين التَّرْجَمَة التلقائية</string>
<string name="revanced_disable_auto_captions_title">تعطيل الترجمة التلقائية</string>
<string name="revanced_disable_auto_captions_summary_on">تم تعطيل الترجمة التلقائية</string>
<string name="revanced_disable_auto_captions_summary_off">تم تمكين الترجمة التلقائية</string>
</patch>
<patch id="layout.buttons.action.hideButtonsPatch">
<string name="revanced_hide_buttons_screen_title">أزرار الإجراء</string>
@@ -1107,7 +1107,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - استعادة أيقونات التنقل القديمة</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">تعيين صفحة البداية</string>
<string name="revanced_change_start_page_title">تغيير صفحة البداية</string>
<string name="revanced_change_start_page_entry_default">الافتراضي</string>
<string name="revanced_change_start_page_entry_all_subscriptions">كلّ الاشتراكات</string>
<string name="revanced_change_start_page_entry_browse">تصفح القنوات</string>
@@ -1132,6 +1132,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">الواقع الافتراضي</string>
<string name="revanced_change_start_page_entry_watch_later">شاهد لاحقًا</string>
<string name="revanced_change_start_page_entry_your_clips">فيديوهاتك</string>
<string name="revanced_change_start_page_always_title">تغيير صفحة البداية دائمًا</string>
<string name="revanced_change_start_page_always_summary_on">"يتم تغيير صفحة البداية دائمًا
القيد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات"</string>
<string name="revanced_change_start_page_always_summary_off">يتم تغيير صفحة البداية فقط عند بدء تشغيل التطبيق</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">تعطيل استئناف مشغل Shorts</string>

View File

@@ -136,7 +136,7 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
• Son xəbərlər
• İzləməyə davam et
• Daha çox kanallar kəşf et
Alış-veriş
Mağaza
• Təkrar izlə"</string>
<string name="revanced_hide_horizontal_shelves_summary_off">Hissələr göstərilir</string>
<!-- 'Join' should be translated using the same localized wording YouTube displays.
@@ -355,7 +355,7 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_hide_buttoned_ads_title">Düyməli reklamları gizlət</string>
<string name="revanced_hide_buttoned_ads_summary_on">Düyməli reklamlar gizlədilir</string>
<string name="revanced_hide_buttoned_ads_summary_off">Düyməli reklamlar göstərilir</string>
<string name="revanced_hide_paid_promotion_label_title">Ödənişli reklam etiketini gizlət</string>
<string name="revanced_hide_paid_promotion_label_title">Ödənişli tanıtım etiketini gizlət</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Ödənişli reklam etiketi gizlədilib</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Ödənişli reklam etiketi göstərilir</string>
<string name="revanced_hide_self_sponsor_ads_title">Öz-sponsorlu kartları gizlət</string>
@@ -367,14 +367,14 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_hide_end_screen_store_banner_title">Son ekran mağaza etiketini gizlət</string>
<string name="revanced_hide_end_screen_store_banner_summary_on">Mağaza etiketi gizlidir</string>
<string name="revanced_hide_end_screen_store_banner_summary_off">Mağaza etiketi görünür</string>
<string name="revanced_hide_player_store_shelf_title">Oynadıcı alış-veriş bölməsin gizlət</string>
<string name="revanced_hide_player_store_shelf_title">Oynadıcı mağaza bölməsin gizlət</string>
<string name="revanced_hide_player_store_shelf_summary_on">Alış-veriş rəfi gizlidir</string>
<string name="revanced_hide_player_store_shelf_summary_off">Alış-veriş rəfi göstərilir</string>
<string name="revanced_hide_shopping_links_title">Video ıqlamada alış-veriş linklərin gizlə</string>
<string name="revanced_hide_shopping_links_title">Video təsvirdə mağaza linklərin gizlə</string>
<string name="revanced_hide_shopping_links_summary_on">Video təsvirində alış-veriş linkləri gizlədilib</string>
<string name="revanced_hide_shopping_links_summary_off">Video təsvirində alış-veriş linkləri görünür</string>
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağazaya ziyarət\" düyməsin gizlə</string>
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağazaya baxın\" düyməsin gizlə</string>
<string name="revanced_hide_visit_store_button_summary_on">Kanal səhifəsindəki düymə gizlidir</string>
<string name="revanced_hide_visit_store_button_summary_off">Kanal səhifəsindəki düymə görünür</string>
<string name="revanced_hide_web_search_results_title">Veb axtarış nəticələrini gizlət</string>
@@ -479,7 +479,9 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
<string name="revanced_swipe_change_video_summary_off">Tam ekran rejimində sürüşdürmə növbəti/əvvəlki videoya ötürməyəcək</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_disable_auto_captions_title">Avtomatik titrləri qeyri-aktiv et</string>
<string name="revanced_disable_auto_captions_title">Avtomatik titrləri qapat</string>
<string name="revanced_disable_auto_captions_summary_on">Avtomatik titrlər qapalıdır</string>
<string name="revanced_disable_auto_captions_summary_off">Avtomatik titrlər aktivdir</string>
</patch>
<patch id="layout.buttons.action.hideButtonsPatch">
<string name="revanced_hide_buttons_screen_title">Fəaliyyət düymələri</string>
@@ -829,6 +831,8 @@ Məhdudiyyət: Bəyənməmələr gizli rejimdə görünməyə bilər"</string>
<string name="revanced_ryd_compact_layout_summary_on">Daha kiçik en üçün hazırlanmış Bəyən düyməsi</string>
<string name="revanced_ryd_compact_layout_summary_off">Ən yaxşı görünüş üçün tərtib edilmiş Bəyən düyməsi</string>
<string name="revanced_ryd_estimated_like_title">Təxmini bəyənmələri göstər</string>
<string name="revanced_ryd_estimated_like_summary_on">Bəyənmələri olmayan videolar təxmini bəyənmə sayını göstərir</string>
<string name="revanced_ryd_estimated_like_summary_off">Təxmini bəyənmələr göstərilmir</string>
<string name="revanced_ryd_toast_on_connection_error_title">API əlçatan deyilsə ani bildiriş göstər</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike əlçatan deyilsə ani bildiriş göstər</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike əlçatan deyilsə ani bildiriş göstərmə</string>
@@ -1102,7 +1106,7 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Köhnə fəaliyyət simvolların bərpa et</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Başlaıc səhifəsini təyin et</string>
<string name="revanced_change_start_page_title">Başlatma səhifəsini dəyişdir</string>
<string name="revanced_change_start_page_entry_default">İlkin</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Bütün abunəliklər</string>
<string name="revanced_change_start_page_entry_browse">Kanallara nəzər yetir</string>
@@ -1120,13 +1124,18 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
<string name="revanced_change_start_page_entry_notifications">Bildirişlər</string>
<string name="revanced_change_start_page_entry_playlists">Pleylistlər</string>
<string name="revanced_change_start_page_entry_search">Axtarış</string>
<string name="revanced_change_start_page_entry_shopping">Alış-Veriş</string>
<string name="revanced_change_start_page_entry_shopping">Mağaza</string>
<string name="revanced_change_start_page_entry_sports">İdman</string>
<string name="revanced_change_start_page_entry_subscriptions">Abunəliklər</string>
<string name="revanced_change_start_page_entry_trending">Trendlər</string>
<string name="revanced_change_start_page_entry_virtual_reality">Faktiki Həyat</string>
<string name="revanced_change_start_page_entry_watch_later">Sonra izlə</string>
<string name="revanced_change_start_page_entry_your_clips">Klipləriniz</string>
<string name="revanced_change_start_page_always_title"> Başlatma səhifəsini həmişə dəyişdir</string>
<string name="revanced_change_start_page_always_summary_on">"Başlatma səhifəsi həmişə dəyişdirilir
Məhdudiyyət: Alətlər cizgisindəki geri düyməsin istifadə işləməyə bilər"</string>
<string name="revanced_change_start_page_always_summary_off">Başlatma səhifəsi yalnız tətbiq işə salındıqda dəyişdirilir</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Shorts oynadıcı başladıcını qapat</string>

View File

@@ -1108,7 +1108,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Аднаўленне старых значкоў навігацыі</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Усталяваць стартавую старонку</string>
<string name="revanced_change_start_page_title">Змяніць стартавую старонку</string>
<string name="revanced_change_start_page_entry_default">Па змаўчанні</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Усе падпіскі</string>
<string name="revanced_change_start_page_entry_browse">Обзор каналов</string>
@@ -1133,6 +1133,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">Віртуальная рэальнасць</string>
<string name="revanced_change_start_page_entry_watch_later">Посмотреть позже</string>
<string name="revanced_change_start_page_entry_your_clips">Вашыя кліпы</string>
<string name="revanced_change_start_page_always_title">Заўсёды змяняць стартавую старонку</string>
<string name="revanced_change_start_page_always_summary_on">"Стартавая старонка заўсёды зменена
Абмежаванне: выкарыстанне кнопкі «Назад» на панэлі інструментаў можа не працаваць"</string>
<string name="revanced_change_start_page_always_summary_off">Стартавая старонка змяняецца толькі пры запуску праграмы</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Адключыць аднаўленне прайгравання Shorts</string>

View File

@@ -1107,7 +1107,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Възстановяване на стари икони за навигация</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Задай начална страница</string>
<string name="revanced_change_start_page_title">Промяна на началната страница</string>
<string name="revanced_change_start_page_entry_default">По подразбиране</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Всички абонаменти</string>
<string name="revanced_change_start_page_entry_browse">Разглеждане на канала</string>
@@ -1132,6 +1132,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">Виртуална реалност</string>
<string name="revanced_change_start_page_entry_watch_later">Гледай по-късно</string>
<string name="revanced_change_start_page_entry_your_clips">Вашите клипове</string>
<string name="revanced_change_start_page_always_title">Винаги променяйте началната страница</string>
<string name="revanced_change_start_page_always_summary_on">"Началната страница винаги се променя
Ограничение: Използването на бутона за връщане назад в лентата с инструменти може да не работи"</string>
<string name="revanced_change_start_page_always_summary_off">Началната страница се променя само при стартиране на приложението</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Скриване на Shorts плейъра при стартиране</string>

View File

@@ -1107,7 +1107,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - পুরনো নেভিগেশন আইকন পুনরুদ্ধার করুন</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">শুরুর পৃষ্ঠা সেট করুন</string>
<string name="revanced_change_start_page_title">শুরুর পৃষ্ঠা পরিবর্তন করুন</string>
<string name="revanced_change_start_page_entry_default">পূর্ব-নির্ধারিত</string>
<string name="revanced_change_start_page_entry_all_subscriptions">অন্য়াসব রভর্বাশার চিয়ুট</string>
<string name="revanced_change_start_page_entry_browse">চ্যানেল ব্রাউজ করুন</string>
@@ -1132,6 +1132,11 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
<string name="revanced_change_start_page_entry_virtual_reality">বির্চুভ্য়াল টিএলিটি</string>
<string name="revanced_change_start_page_entry_watch_later">পরে দেখুন</string>
<string name="revanced_change_start_page_entry_your_clips">আপ্নার কলিপ</string>
<string name="revanced_change_start_page_always_title">সর্বদা শুরুর পৃষ্ঠা পরিবর্তন করুন</string>
<string name="revanced_change_start_page_always_summary_on">"শুরুর পৃষ্ঠা সবসময় পরিবর্তিত হয়
সীমাবদ্ধতা: টুলবারে পিছনের বোতাম ব্যবহার করলে কাজ নাও করতে পারে"</string>
<string name="revanced_change_start_page_always_summary_off">অ্যাপ শুরু করার সময় শুধুমাত্র শুরুর পৃষ্ঠা পরিবর্তন করা হয়</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Shorts প্লেয়ার আবার চালানো নিষ্ক্রিয় করুন</string>

View File

@@ -1106,7 +1106,7 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaura les icones de navegació antigues</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Defineix la pàgina d\'inici</string>
<string name="revanced_change_start_page_title">Canvia la pàgina d\'inici</string>
<string name="revanced_change_start_page_entry_default">Per defecte</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Totes les subscripcions</string>
<string name="revanced_change_start_page_entry_browse">Explora canals</string>
@@ -1131,6 +1131,11 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
<string name="revanced_change_start_page_entry_virtual_reality">Realitat virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Veure més tard</string>
<string name="revanced_change_start_page_entry_your_clips">Els teus clips</string>
<string name="revanced_change_start_page_always_title">Canvia sempre la pàgina d\'inici</string>
<string name="revanced_change_start_page_always_summary_on">"La pàgina d'inici sempre es canvia
Limitació: és possible que el botó Enrere de la barra d'eines no funcioni"</string>
<string name="revanced_change_start_page_always_summary_off">La pàgina d\'inici només es canvia en iniciar l\'aplicació</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Desactiva la represa del reproductor de Shorts</string>

View File

@@ -1106,7 +1106,7 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 Obnovit staré ikony navigace</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Nastavit úvodní stránku</string>
<string name="revanced_change_start_page_title">Změnit úvodní stránku</string>
<string name="revanced_change_start_page_entry_default">Výchozí</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Všechna předplatná</string>
<string name="revanced_change_start_page_entry_browse">Procházet kanály</string>
@@ -1131,6 +1131,11 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
<string name="revanced_change_start_page_entry_virtual_reality">Virtuální realita</string>
<string name="revanced_change_start_page_entry_watch_later">Sledovat později</string>
<string name="revanced_change_start_page_entry_your_clips">Vaše klipy</string>
<string name="revanced_change_start_page_always_title">Vždy změnit úvodní stránku</string>
<string name="revanced_change_start_page_always_summary_on">"Úvodní stránka je vždy změněna
Omezení: Použití tlačítka zpět na panelu nástrojů nemusí fungovat"</string>
<string name="revanced_change_start_page_always_summary_off">Úvodní stránka se změní pouze při spuštění aplikace</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Zakázat obnovení přehrávače Shorts</string>

View File

@@ -1052,7 +1052,7 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Gendan gamle Shorts player ikoner</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Indstil startside</string>
<string name="revanced_change_start_page_title">Skift startside</string>
<string name="revanced_change_start_page_entry_default">Standard</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Alle abonnementer</string>
<string name="revanced_change_start_page_entry_browse">Gennemse kanaler</string>
@@ -1077,6 +1077,11 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
<string name="revanced_change_start_page_entry_watch_later">Se senere</string>
<string name="revanced_change_start_page_entry_your_clips">Dine klip</string>
<string name="revanced_change_start_page_always_title">Skift altid startside</string>
<string name="revanced_change_start_page_always_summary_on">"Startside ændres altid
Begrænsning: Brug af tilbage-knappen på værktøjslinjen fungerer muligvis ikke"</string>
<string name="revanced_change_start_page_always_summary_off">Startsiden ændres kun ved appstart</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Deaktivér genoptagelse af Shorts spiller</string>

View File

@@ -1100,7 +1100,7 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Alte Navigations-Symbole wiederherstellen</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Startseite festlegen</string>
<string name="revanced_change_start_page_title">Startseite ändern</string>
<string name="revanced_change_start_page_entry_default">Standard</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Alle Abonnements</string>
<string name="revanced_change_start_page_entry_browse">Kanäle durchsuchen</string>
@@ -1125,6 +1125,11 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
<string name="revanced_change_start_page_entry_virtual_reality">Virtuelle Realität</string>
<string name="revanced_change_start_page_entry_watch_later">Später ansehen</string>
<string name="revanced_change_start_page_entry_your_clips">Deine Clips</string>
<string name="revanced_change_start_page_always_title">Startseite immer ändern</string>
<string name="revanced_change_start_page_always_summary_on">"Die Startseite wird immer geändert.
Einschränkung: Die Verwendung der Zurück-Taste auf der Symbolleiste funktioniert möglicherweise nicht."</string>
<string name="revanced_change_start_page_always_summary_off">Die Startseite wird nur beim Start der App geändert</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Fortsetzen des Shorts Players deaktivieren</string>

View File

@@ -1108,7 +1108,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Επαναφορά παλιών εικονιδίων γραμμής πλοήγησης</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Αλλαγή της αρχικής σελίδας</string>
<string name="revanced_change_start_page_title">Αλλαγή αρχικής σελίδας</string>
<string name="revanced_change_start_page_entry_default">Προεπιλογή</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Όλες οι εγγραφές</string>
<string name="revanced_change_start_page_entry_browse">Περιήγηση καναλιών</string>
@@ -1133,6 +1133,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">Εικονική Πραγματικότητα</string>
<string name="revanced_change_start_page_entry_watch_later">Παρακολούθηση αργότερα</string>
<string name="revanced_change_start_page_entry_your_clips">Τα κλιπ σας</string>
<string name="revanced_change_start_page_always_title">Να αλλάζει πάντα η αρχική σελίδα</string>
<string name="revanced_change_start_page_always_summary_on">"Η αρχική σελίδα αλλάζει πάντα
Περιορισμός: Η χρήση του κουμπιού επιστροφής στη γραμμή εργαλείων ενδέχεται να μην λειτουργεί"</string>
<string name="revanced_change_start_page_always_summary_off">Η αρχική σελίδα αλλάζει μόνο κατά την εκκίνηση της εφαρμογής</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Απενεργοποίηση συνέχισης των Shorts</string>

View File

@@ -1095,7 +1095,7 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurar iconos de navegación antiguos</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Establecer página de inicio</string>
<string name="revanced_change_start_page_title">Cambiar página de inicio</string>
<string name="revanced_change_start_page_entry_default">Predeterminado</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Todas las suscripciones</string>
<string name="revanced_change_start_page_entry_browse">Navegar canales</string>
@@ -1120,6 +1120,11 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
<string name="revanced_change_start_page_entry_virtual_reality">Realidad virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Ver más tarde</string>
<string name="revanced_change_start_page_entry_your_clips">Tus clips</string>
<string name="revanced_change_start_page_always_title">Cambiar siempre la página de inicio</string>
<string name="revanced_change_start_page_always_summary_on">"La página de inicio siempre se cambia
Limitación: Es posible que el uso del botón de retroceso en la barra de herramientas no funcione"</string>
<string name="revanced_change_start_page_always_summary_off">La página de inicio se cambia solo al iniciar la aplicación</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Desactivar reanudación del reproductor de Shorts</string>

View File

@@ -1107,7 +1107,7 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 Taasta vanad navigeerimisikoonid</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Määra algusleht</string>
<string name="revanced_change_start_page_title">Muuda alguslehte</string>
<string name="revanced_change_start_page_entry_default">Vaikimisi</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Kõik tellimused</string>
<string name="revanced_change_start_page_entry_browse">Sirvi kanaleid</string>
@@ -1132,6 +1132,11 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
<string name="revanced_change_start_page_entry_virtual_reality">Virtuaalne Reaalsus</string>
<string name="revanced_change_start_page_entry_watch_later">Vaata hiljem</string>
<string name="revanced_change_start_page_entry_your_clips">Teie klipid</string>
<string name="revanced_change_start_page_always_title">Muuda alati avalehte</string>
<string name="revanced_change_start_page_always_summary_on">"Alguslehte muudetakse alati
Piirang: tööriistaribal tagasinupp ei pruugi töötada"</string>
<string name="revanced_change_start_page_always_summary_off">Avalehte muudetakse ainult rakenduse käivitamisel</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Keela Shortsi esitaja jätkamine</string>

View File

@@ -832,6 +832,8 @@ Rajoitus: Ei-tykkäykset eivät välttämättä näy incognito-tilassa"</string>
<string name="revanced_ryd_compact_layout_summary_on">Tykkää-painike on muotoiltu mahdollisimman kapeaksi</string>
<string name="revanced_ryd_compact_layout_summary_off">Tykkää-painike on muotoiltu parhaan näköiseksi</string>
<string name="revanced_ryd_estimated_like_title">Näytä arvioidut tykkäykset</string>
<string name="revanced_ryd_estimated_like_summary_on">Videot, joiden tykkäykset on poistettu käytöstä, näyttävät arvioidun tykkäysten määrän</string>
<string name="revanced_ryd_estimated_like_summary_off">Arvioituja tykkäyksiä ei näytetä</string>
<string name="revanced_ryd_toast_on_connection_error_title">Näytä ponnahdusilmoitus, jos API ei ole käytettävissä</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Ponnahdusilmoitus näytetään, jos Return YouTube Dislike ei ole käytettävissä</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Ponnahdusilmoitusta ei näytetä, jos Return YouTube Dislike ei ole käytettävissä</string>
@@ -1105,7 +1107,7 @@ Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovel
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Palauta vanhat navigointikuvakkeet</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Aseta aloitussivu</string>
<string name="revanced_change_start_page_title">Vaihda aloitussivua</string>
<string name="revanced_change_start_page_entry_default">Oletus</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Kaikki tilaukset</string>
<string name="revanced_change_start_page_entry_browse">Selaa kanavia</string>
@@ -1130,6 +1132,11 @@ Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovel
<string name="revanced_change_start_page_entry_virtual_reality">Virtuaalitodellisuus</string>
<string name="revanced_change_start_page_entry_watch_later">Katso myöhemmin</string>
<string name="revanced_change_start_page_entry_your_clips">Omat klipit</string>
<string name="revanced_change_start_page_always_title">Vaihda aloitussivu aina</string>
<string name="revanced_change_start_page_always_summary_on">"Aloitussivu vaihdetaan aina
Rajoitus: Työkalupalkin takaisin-painikkeen käyttäminen ei välttämättä toimi"</string>
<string name="revanced_change_start_page_always_summary_off">Aloitussivu vaihdetaan vain sovelluksen käynnistyessä</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Poista Shorts-soittimen jatkaminen käytöstä</string>

View File

@@ -1105,7 +1105,7 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Ibalik ang mga lumang icon ng navigation</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Itakda ang panimulang pahina</string>
<string name="revanced_change_start_page_title">Baguhin ang panimulang pahina</string>
<string name="revanced_change_start_page_entry_default">Regular</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Lahat ng mga subscription</string>
<string name="revanced_change_start_page_entry_browse">Mag-browse ng mga channel</string>
@@ -1130,6 +1130,11 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
<string name="revanced_change_start_page_entry_watch_later">Panoorin mamaya</string>
<string name="revanced_change_start_page_entry_your_clips">Mga clip mo</string>
<string name="revanced_change_start_page_always_title">Palaging baguhin ang panimulang pahina</string>
<string name="revanced_change_start_page_always_summary_on">"Palaging binabago ang panimulang pahina
Limitasyon: Maaaring hindi gumana ang paggamit ng back button sa toolbar"</string>
<string name="revanced_change_start_page_always_summary_off">Binago ang panimulang pahina sa pagbukas lang ng app</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Huwag paganahin ang pagpapatuloy na manlalaro ng Shorts</string>

View File

@@ -832,7 +832,7 @@ Limitation : Il se peut que les \"Je n'aime pas\" n'apparaissent pas en mode na
<string name="revanced_ryd_compact_layout_summary_on">Bouton J\'aime optimisé pour minimiser la taille</string>
<string name="revanced_ryd_compact_layout_summary_off">Bouton J\'aime optimisé pour l\'apparence</string>
<string name="revanced_ryd_estimated_like_title">Afficher les \"J\'aime\" estimés</string>
<string name="revanced_ryd_estimated_like_summary_on">Les vidéos avec les mentions \"J\'aime\" désactivées affichent un nombre estimé de mentions \"J\'aime\"</string>
<string name="revanced_ryd_estimated_like_summary_on">Un nombre estimé de \"J\'aime\" est affiché sous les vidéos où les \"J\'aime\" sont désactivés</string>
<string name="revanced_ryd_estimated_like_summary_off">Les \"J\'aime\" estimés ne sont pas affichés</string>
<string name="revanced_ryd_toast_on_connection_error_title">Afficher un message toast si l\'API n\'est pas disponible</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Un message toast est affiché si Return YouTube Dislike n\'est pas disponible</string>
@@ -1106,7 +1106,7 @@ Si désactivé ultérieurement, il est recommandé d'effacer les données de l'a
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurer les anciennes icônes de navigation</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Définir la page ouverte au lancement</string>
<string name="revanced_change_start_page_title">Modifier la page de démarrage</string>
<string name="revanced_change_start_page_entry_default">Par défaut</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Tous les abonnements</string>
<string name="revanced_change_start_page_entry_browse">Parcourir les chaînes</string>
@@ -1131,6 +1131,11 @@ Si désactivé ultérieurement, il est recommandé d'effacer les données de l'a
<string name="revanced_change_start_page_entry_virtual_reality">Réalité virtuelle</string>
<string name="revanced_change_start_page_entry_watch_later">À regarder plus tard</string>
<string name="revanced_change_start_page_entry_your_clips">Vos clips</string>
<string name="revanced_change_start_page_always_title">Toujours modifier la page de démarrage</string>
<string name="revanced_change_start_page_always_summary_on">"La page de démarrage est toujours modifiée
Limitation : Il se peut que le bouton Retour dans la barre d'outils ne fonctionne pas"</string>
<string name="revanced_change_start_page_always_summary_off">La page de démarrage est modifiée uniquement au démarrage de l\'application</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Désactiver la reprise du lecteur Shorts</string>

View File

@@ -1107,7 +1107,7 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Athchóiriú Sean Icóin Treorach</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Socraigh leathanach tosaigh</string>
<string name="revanced_change_start_page_title">Athraigh an leathanach tosaigh</string>
<string name="revanced_change_start_page_entry_default">Réamhshocraithe</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Uile shuibhscríbhinní</string>
<string name="revanced_change_start_page_entry_browse">Brabhsáil cainéil</string>
@@ -1132,6 +1132,11 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
<string name="revanced_change_start_page_entry_virtual_reality">Fíor-Rialtas</string>
<string name="revanced_change_start_page_entry_watch_later">Féach ar níos déanaí</string>
<string name="revanced_change_start_page_entry_your_clips">Do chlipbhoirt</string>
<string name="revanced_change_start_page_always_title">Athraigh an leathanach tosaigh i gcónaí</string>
<string name="revanced_change_start_page_always_summary_on">"Athraítear an leathanach tosaigh i gcónaí
Teorainn: Seans nach n-oibreoidh úsáid a bhaint as an gcnaipe cúil ar an mbarra uirlisí"</string>
<string name="revanced_change_start_page_always_summary_off">Ní athraítear an leathanach tosaigh ach amháin ar tosú an aip</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Díchumasaigh an t-imreoir Shorts atá ag tosú arís</string>

View File

@@ -1106,7 +1106,7 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Állítsa vissza a régi navigációs ikonokat</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Kezdőlap beállítása</string>
<string name="revanced_change_start_page_title">Kezdőlap módosítása</string>
<string name="revanced_change_start_page_entry_default">Alapértelmezett</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Összes feliratkozás</string>
<string name="revanced_change_start_page_entry_browse">Csatornák böngészése</string>
@@ -1131,6 +1131,9 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
<string name="revanced_change_start_page_entry_virtual_reality">Virtuális valóság</string>
<string name="revanced_change_start_page_entry_watch_later">Megnézem később</string>
<string name="revanced_change_start_page_entry_your_clips">A saját klipjeid</string>
<string name="revanced_change_start_page_always_title">Mindig módosítsa a kezdőoldalt</string>
<string name="revanced_change_start_page_always_summary_on">"A kezdőlap mindig módosítva van\n\nKorlátozás: A visszalépés gomb a eszköztáron nem biztos, hogy működik"</string>
<string name="revanced_change_start_page_always_summary_off">A kezdőoldal csak az alkalmazás indításakor változik meg</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">A Shorts lejátszás folytatásának kikapcsolása</string>

View File

@@ -1107,7 +1107,7 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Վերականգնել հին նավիգացիոն պատկերակները</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Սահմանել մեկնարկային էջ</string>
<string name="revanced_change_start_page_title">Փոխել մեկնարկային էջը</string>
<string name="revanced_change_start_page_entry_default">Ըստ լռելյայնի</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Բոլոր բաժանորդագրությունները</string>
<string name="revanced_change_start_page_entry_browse">Դիտել ալիքները</string>
@@ -1132,6 +1132,11 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
<string name="revanced_change_start_page_entry_virtual_reality">Վիրտուալ իրականություն</string>
<string name="revanced_change_start_page_entry_watch_later">Դիտել հետո</string>
<string name="revanced_change_start_page_entry_your_clips">Your clips</string>
<string name="revanced_change_start_page_always_title">Միշտ փոխել մեկնարկային էջը</string>
<string name="revanced_change_start_page_always_summary_on">"Մեկնարկային էջը միշտ փոխված է
Սահմանափակում. գործիքագոտու վրա հետադարձ կոճակն օգտագործելը կարող է չաշխատել"</string>
<string name="revanced_change_start_page_always_summary_off">Մեկնարկային էջը փոխվում է միայն հավելվածի գործարկման ժամանակ</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Անջատել Shorts պլեյերի վերսկսումը</string>

View File

@@ -1106,7 +1106,7 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Pulihkan ikon navigasi lama</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Tetapkan halaman awal</string>
<string name="revanced_change_start_page_title">Ubah halaman awal</string>
<string name="revanced_change_start_page_entry_default">Bawaan</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Semua langganan</string>
<string name="revanced_change_start_page_entry_browse">Jelajahi saluran</string>
@@ -1131,6 +1131,11 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
<string name="revanced_change_start_page_entry_virtual_reality">Realitas Virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Tonton nanti</string>
<string name="revanced_change_start_page_entry_your_clips">Klip Anda</string>
<string name="revanced_change_start_page_always_title">Selalu ubah halaman awal</string>
<string name="revanced_change_start_page_always_summary_on">"Halaman awal selalu diubah
Batasan: Menggunakan tombol kembali pada toolbar mungkin tidak berfungsi"</string>
<string name="revanced_change_start_page_always_summary_off">Halaman awal hanya diubah saat aplikasi dimulai</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Matikan melanjutkan pemutar video Shorts</string>

View File

@@ -1106,7 +1106,7 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Ripristina le vecchie icone di navigazione</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Imposta pagina iniziale</string>
<string name="revanced_change_start_page_title">Cambia pagina iniziale</string>
<string name="revanced_change_start_page_entry_default">Predefinito</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Tutte le iscrizioni</string>
<string name="revanced_change_start_page_entry_browse">Sfoglia canali</string>
@@ -1131,6 +1131,11 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
<string name="revanced_change_start_page_entry_virtual_reality">Realtà Virtuale</string>
<string name="revanced_change_start_page_entry_watch_later">Guarda più tardi</string>
<string name="revanced_change_start_page_entry_your_clips">Le tue clip</string>
<string name="revanced_change_start_page_always_title">Cambia sempre la pagina iniziale</string>
<string name="revanced_change_start_page_always_summary_on">"La pagina iniziale viene sempre modificata
Limitazione: l'utilizzo del pulsante Indietro sulla barra degli strumenti potrebbe non funzionare"</string>
<string name="revanced_change_start_page_always_summary_off">La pagina iniziale viene modificata solo all\'avvio dell\'app</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Disabilita la ripresa del player Shorts</string>

View File

@@ -42,6 +42,9 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">הגדרות ReVanced אופסו לברירת מחדל</string>
<string name="revanced_settings_import_success">%d הגדרות יובאו</string>
<string name="revanced_settings_import_failure_parse">ייבוא נכשל: %s</string>
<string name="revanced_show_menu_icons_title">הצג סמלי הגדרות ReVanced</string>
<string name="revanced_show_menu_icons_summary_on">סמלי ההגדרות מוצגים</string>
<string name="revanced_show_menu_icons_summary_off">סמלי ההגדרות אינם מוצגים</string>
<string name="revanced_language_title">שפת ReVanced</string>
<string name="revanced_language_user_dialog_message">"תרגומים לשפות מסוימות עשויים להיות חסרים או לא שלמים.
@@ -225,6 +228,9 @@ Second \"item\" text"</string>
<string name="revanced_hide_artist_cards_title">הסתר כרטיסי אמן</string>
<string name="revanced_hide_artist_cards_summary_on">כרטיסי אמן מוסתרים</string>
<string name="revanced_hide_artist_cards_summary_off">כרטיסי אמן מוצגים</string>
<string name="revanced_hide_ai_generated_video_summary_section_title">הסתר את \'סיכום הווידאו שנוצר על ידי בינה מלאכותית\'</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">מדור סיכום הסרטון מוסתר</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">מדור סיכום הסרטון מוצג</string>
<string name="revanced_hide_attributes_section_title">הסתר מאפיינים</string>
<string name="revanced_hide_attributes_section_summary_on">המדורים \'מקומות שמככבים בסרטון\', \'משחקים\', \'מוזיקה\', ו\'אנשים שאוזכרו\' מוסתרים</string>
<string name="revanced_hide_attributes_section_summary_off">המדורים \'מקומות שמככבים בסרטון\', \'משחקים\', \'מוזיקה\', ו\'אנשים שאוזכרו\' מוצגים</string>
@@ -261,8 +267,12 @@ Second \"item\" text"</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">מוצג בסרטונים קשורים</string>
<string name="revanced_comments_screen_title">תגובות</string>
<string name="revanced_comments_screen_summary">הסתר או הצג רכיבי מדור תגובות</string>
<string name="revanced_hide_comments_ai_chat_summary_title">הסתר סיכום צ\'אט של בינה מלאכותית</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_on">סיכום צ\'אט מוסתר</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_off">סיכום צ\'אט מוצג</string>
<string name="revanced_hide_comments_ai_summary_title">הסתר סיכום תגובות AI</string>
<string name="revanced_hide_comments_ai_summary_summary_on">סיכום תגובות מוסתר</string>
<string name="revanced_hide_comments_ai_summary_summary_off">סיכום התגובות מוצג</string>
<string name="revanced_hide_comments_by_members_header_title">הסתר כותרת \'תגובות של חברי מועדון\'</string>
<string name="revanced_hide_comments_by_members_header_summary_on">כותרת \'תגובות של חברי מועדון\' מוסתרת</string>
<string name="revanced_hide_comments_by_members_header_summary_off">כותרת \'תגובות של חברי מועדון\' מוצגת</string>
@@ -422,6 +432,9 @@ Second \"item\" text"</string>
<string name="revanced_disable_precise_seeking_gesture_summary_off">מחווה מופעלת</string>
</patch>
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
<string name="revanced_seekbar_tapping_title">הפעל הקשה כדי לדלג</string>
<string name="revanced_seekbar_tapping_summary_on">הקשה כדי לדלג מופעלת</string>
<string name="revanced_seekbar_tapping_summary_off">הקשה כדי לדלג מושבתת</string>
</patch>
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
<string name="revanced_swipe_brightness_title">הפעל מחוות בהירות</string>
@@ -434,6 +447,9 @@ Second \"item\" text"</string>
כוונן את עוצמת הקול על ידי החלקה אנכית בצד הימני של המסך"</string>
<string name="revanced_swipe_volume_summary_off">החלקת עוצמת קול במסך מלא מושבתת</string>
<string name="revanced_swipe_press_to_engage_title">הפעל מחוות לחץ כדי להחליק</string>
<string name="revanced_swipe_press_to_engage_summary_on">לחץ כדי להחליק מופעל</string>
<string name="revanced_swipe_press_to_engage_summary_off">לחץ כדי להחליק מושבת</string>
<string name="revanced_swipe_haptic_feedback_title">הפעל משוב ברטט</string>
<string name="revanced_swipe_haptic_feedback_summary_on">משוב ברטט מופעל</string>
<string name="revanced_swipe_haptic_feedback_summary_off">משוב ברטט מושבת</string>
@@ -450,6 +466,8 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">אטימות החלקה חייבת להיות בין 0 ל-100</string>
<string name="revanced_swipe_threshold_title">סף גודל החלקה</string>
<string name="revanced_swipe_threshold_summary">כמות הסף להתרחשות החלקה</string>
<string name="revanced_swipe_volume_sensitivity_title">רגישות החלקה בעוצמת הקול</string>
<string name="revanced_swipe_volume_sensitivity_summary">כמה משתנה עוצמת השמע לכל החלקה</string>
<string name="revanced_swipe_show_circular_overlay_title">הצג שכבת-על מעגלית</string>
<string name="revanced_swipe_show_circular_overlay_summary_on">שכבת-על מעגלית מוצגת</string>
<string name="revanced_swipe_show_circular_overlay_summary_off">שכבת-על אופקית מוצגת</string>
@@ -541,6 +559,7 @@ Second \"item\" text"</string>
<string name="revanced_disable_translucent_status_bar_title">השבת שורת מצב שקופה</string>
<string name="revanced_disable_translucent_status_bar_summary_on">שורת מצב אטומה</string>
<string name="revanced_disable_translucent_status_bar_summary_off">שורת מצב אטומה או שקופה</string>
<string name="revanced_disable_translucent_status_bar_user_dialog_message">בחלק מהמכשירים, הפעלת תכונה זו עשויה לשנות את סרגל הניווט של המערכת לשקוף.</string>
<string name="revanced_disable_translucent_navigation_bar_light_title">השבת סרגל בהיר שקוף</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">סרגל ניווט במצב בהיר הוא אטום</string>
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">סרגל ניווט במצב בהיר הוא אטום או שקוף</string>
@@ -596,6 +615,9 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_flyout_audio_track_summary_on">תפריט טראק אודיו מוסתר</string>
<string name="revanced_hide_player_flyout_audio_track_summary_off">תפריט טראק אודיו מוצג</string>
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"תפריט רצועת השמע מוסתר
כדי להציג את תפריט רצועת השמע, שנה את 'זיוף זרמי וידאו' ל-iOS TV"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">הסתר \'צפה ב-VR\'</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">תפריט \'צפה ב-VR\' מוסתר</string>
@@ -811,6 +833,8 @@ Second \"item\" text"</string>
<string name="revanced_ryd_compact_layout_summary_on">לחצן אהבתי מעוצב לרוחב מינימלי</string>
<string name="revanced_ryd_compact_layout_summary_off">לחצן אהבתי מעוצב למראה הטוב ביותר</string>
<string name="revanced_ryd_estimated_like_title">הצג סימוני \'אהבתי\' משוערים</string>
<string name="revanced_ryd_estimated_like_summary_on">סרטונים עם סימני לייק מושבתים מציגים ספירת לייקים משוערת</string>
<string name="revanced_ryd_estimated_like_summary_off">סימוני \'אהבתי\' משוערים אינם מוצגים</string>
<string name="revanced_ryd_toast_on_connection_error_title">הצג הודעה קופצת אם ה-API אינו זמין</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">הודעה קופצת מוצגת אם Return YouTube Dislike אינו זמין</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">הודעה קופצת אינה מוצגת אם Return YouTube Dislike אינו זמין</string>
@@ -1083,7 +1107,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - שחזר סמלי ניווט ישנים</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">הגדר דף התחלה</string>
<string name="revanced_change_start_page_title">שנה את דף ההתחלה</string>
<string name="revanced_change_start_page_entry_default">ברירת מחדל</string>
<string name="revanced_change_start_page_entry_all_subscriptions">כל המינויים</string>
<string name="revanced_change_start_page_entry_browse">עיין בערוצים</string>
@@ -1108,6 +1132,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">מציאות מדומה</string>
<string name="revanced_change_start_page_entry_watch_later">לצפייה בהמשך</string>
<string name="revanced_change_start_page_entry_your_clips">הקליפים שלך</string>
<string name="revanced_change_start_page_always_title">לשנות תמיד את דף הפתיחה</string>
<string name="revanced_change_start_page_always_summary_on">"דף הפתיחה תמיד משתנה
מגבלה: ייתכן שלחצן החזרה בסרגל הכלים לא יפעל"</string>
<string name="revanced_change_start_page_always_summary_off">דף הפתיחה משתנה רק בעת הפעלת האפליקציה</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">השבת חידוש נגן Shorts</string>
@@ -1159,6 +1188,9 @@ Second \"item\" text"</string>
מיני-נגן ניתן לגרירה מחוץ למסך לשמאל או לימין"</string>
<string name="revanced_miniplayer_horizontal_drag_summary_off">מחוות גרירה אופקית מושבתת</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">הסתר לחצני שכבת-על</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">לחצני שכבת-על מוסתרים</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">לחצני שכבת-על מוצגים</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">הסתר לחצני סגירה והרחבה</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"הלחצנים מוסתרים

View File

@@ -74,7 +74,7 @@ Second \"item\" text"</string>
MicroG GmsCore に対する電池の最適化を無効にしても、バッテリーの使用に悪影響を及ぼすことはありません。
続行ボタンをタップして電池の最適化の設定を変更してください。"</string>
[続行] をタップして電池の最適化の設定を変更してください。"</string>
<string name="gms_core_dialog_continue_text">続行</string>
</patch>
</app>
@@ -133,7 +133,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_channel_watermark_summary_on">チャンネルの透かしは表示されません</string>
<string name="revanced_hide_channel_watermark_summary_off">チャンネルの透かしは表示されます</string>
<string name="revanced_hide_horizontal_shelves_title">横スクロール欄を非表示</string>
<string name="revanced_hide_horizontal_shelves_summary_on">"以下の項目は表示されません
<string name="revanced_hide_horizontal_shelves_summary_on">"横スクロール欄は表示されません
例:
• 緊急ニュース
• 続きを見る
• 他のチャンネルを探す
@@ -147,9 +148,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_join_membership_button_summary_on">「メンバーになる」ボタンは表示されません</string>
<string name="revanced_hide_join_membership_button_summary_off">「メンバーになる」ボタンは表示されます</string>
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_for_you_shelf_title">チャンネル ページの「おすすめ」欄を非表示</string>
<string name="revanced_hide_for_you_shelf_summary_on">チャンネル ページに「おすすめ」欄は表示されません</string>
<string name="revanced_hide_for_you_shelf_summary_off">チャンネル ページに「おすすめ」欄が表示されます</string>
<string name="revanced_hide_for_you_shelf_title">「おすすめ」欄を非表示</string>
<string name="revanced_hide_for_you_shelf_summary_on">「おすすめ」欄はチャンネル ページに表示されません</string>
<string name="revanced_hide_for_you_shelf_summary_off">「おすすめ」欄はチャンネル ページに表示されます</string>
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
This item appear in the subscription feed for future livestreams or unreleased videos. -->
<string name="revanced_hide_notify_me_button_title">「通知を受け取る」ボタンを非表示</string>
@@ -164,9 +165,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_show_more_button_title">「もっと見る」ボタンを非表示</string>
<string name="revanced_hide_show_more_button_summary_on">「もっと見る」ボタンは表示されません</string>
<string name="revanced_hide_show_more_button_summary_off">「もっと見る」ボタンは表示されます</string>
<string name="revanced_hide_timed_reactions_title">Timed Reactions を非表示</string>
<string name="revanced_hide_timed_reactions_summary_on">Timed Reactions およびチャット欄のハートマーク アイコンは表示されません</string>
<string name="revanced_hide_timed_reactions_summary_off">Timed Reactions およびチャット欄のハートマー ク アイコンは表示されます</string>
<string name="revanced_hide_timed_reactions_title">Timed Reaction を非表示</string>
<string name="revanced_hide_timed_reactions_summary_on">Timed Reactionチャット欄のハートマーク アイコンは表示されません</string>
<string name="revanced_hide_timed_reactions_summary_off">Timed Reactionチャット欄のハートマー ク アイコンは表示されます</string>
<string name="revanced_hide_channel_guidelines_title">「このチャンネルのガイドライン」を非表示</string>
<string name="revanced_hide_channel_guidelines_summary_on">「このチャンネルのガイドライン」は表示されません</string>
<string name="revanced_hide_channel_guidelines_summary_off">「このチャンネルのガイドライン」は表示されます</string>
@@ -174,8 +175,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_chips_shelf_summary_on">チップ欄は表示されません</string>
<string name="revanced_hide_chips_shelf_summary_off">チップ欄は表示されます</string>
<string name="revanced_hide_expandable_chip_title">動画下の展開可能なバナーを非表示</string>
<string name="revanced_hide_expandable_chip_summary_on">動画下展開可能なバナーは表示されません</string>
<string name="revanced_hide_expandable_chip_summary_off">動画下展開可能なバナー表示されます</string>
<string name="revanced_hide_expandable_chip_summary_on">動画下展開可能なバナーは表示されません</string>
<string name="revanced_hide_expandable_chip_summary_off">動画下展開可能なバナー表示されます</string>
<string name="revanced_hide_community_posts_title">コミュニティ投稿を非表示</string>
<string name="revanced_hide_community_posts_summary_on">コミュニティ投稿は表示されません</string>
<string name="revanced_hide_community_posts_summary_off">コミュニティ投稿は表示されます</string>
@@ -183,8 +184,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_compact_banner_summary_on">コンパクトなバナーは表示されません</string>
<string name="revanced_hide_compact_banner_summary_off">コンパクトなバナーは表示されます</string>
<string name="revanced_hide_movies_section_title">映画セクションを非表示</string>
<string name="revanced_hide_movies_section_summary_on">検索結果や概要欄に映画セクションは表示されません</string>
<string name="revanced_hide_movies_section_summary_off">検索結果や概要欄に映画セクション表示されます</string>
<string name="revanced_hide_movies_section_summary_on">映画セクションは表示されません</string>
<string name="revanced_hide_movies_section_summary_off">映画セクション表示されます</string>
<string name="revanced_hide_feed_survey_title">フィードのアンケートを非表示</string>
<string name="revanced_hide_feed_survey_summary_on">フィードのアンケートは表示されません</string>
<string name="revanced_hide_feed_survey_summary_off">フィードのアンケートは表示されます</string>
@@ -206,9 +207,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_medical_panels_title">医療情報パネルを非表示</string>
<string name="revanced_hide_medical_panels_summary_on">医療情報パネルは表示されません</string>
<string name="revanced_hide_medical_panels_summary_off">医療情報パネルは表示されます</string>
<string name="revanced_hide_channel_bar_title">チャンネル バーを非表示</string>
<string name="revanced_hide_channel_bar_summary_on">チャンネル バーは表示されません</string>
<string name="revanced_hide_channel_bar_summary_off">チャンネル バーは表示されます</string>
<string name="revanced_hide_channel_bar_title">チャンネルバーを非表示</string>
<string name="revanced_hide_channel_bar_summary_on">チャンネルバーは表示されません</string>
<string name="revanced_hide_channel_bar_summary_off">チャンネルバーは表示されます</string>
<string name="revanced_hide_playables_title">ゲームを非表示</string>
<string name="revanced_hide_playables_summary_on">ゲームは表示されません</string>
<string name="revanced_hide_playables_summary_off">ゲームは表示されます</string>
@@ -216,8 +217,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_quick_actions_summary_on">全画面表示のクイック アクションは表示されません</string>
<string name="revanced_hide_quick_actions_summary_off">全画面表示のクイック アクションは表示されます</string>
<string name="revanced_hide_related_videos_title">クイック アクション内の関連動画を非表示</string>
<string name="revanced_hide_related_videos_summary_on">クイック アクションに関連動画は表示されません</string>
<string name="revanced_hide_related_videos_summary_off">クイック アクションに関連動画が表示されます</string>
<string name="revanced_hide_related_videos_summary_on">関連動画はクイック アクションに表示されません</string>
<string name="revanced_hide_related_videos_summary_off">関連動画はクイック アクションに表示されます</string>
<string name="revanced_hide_image_shelf_title">検索結果の画像欄を非表示</string>
<string name="revanced_hide_image_shelf_summary_on">検索結果の画像欄は表示されません</string>
<string name="revanced_hide_image_shelf_summary_off">検索結果の画像欄は表示されます</string>
@@ -236,7 +237,7 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_attributes_section_title">関連情報を非表示</string>
<string name="revanced_hide_attributes_section_summary_on">注目の場所 / ゲーム / 音楽 / 言及された人物セクションは表示されません</string>
<string name="revanced_hide_attributes_section_summary_off">注目の場所 / ゲーム / 音楽 / 言及された人物セクションは表示されます</string>
<string name="revanced_hide_chapters_section_title">チャプターを非表示</string>
<string name="revanced_hide_chapters_section_title">チャプターを非表示</string>
<string name="revanced_hide_chapters_section_summary_on">チャプター セクションは表示されません</string>
<string name="revanced_hide_chapters_section_summary_off">チャプター セクションは表示されます</string>
<string name="revanced_hide_how_this_was_made_section_title">「このコンテンツの作成手段」を非表示</string>
@@ -251,7 +252,7 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_key_concepts_section_title">「主な概念」を非表示</string>
<string name="revanced_hide_key_concepts_section_summary_on">主な概念セクションは表示されません</string>
<string name="revanced_hide_key_concepts_section_summary_off">主な概念セクションが表示されます</string>
<string name="revanced_hide_transcript_section_title">文字起こしを非表示</string>
<string name="revanced_hide_transcript_section_title">文字起こしを非表示</string>
<string name="revanced_hide_transcript_section_summary_on">文字起こしセクションは表示されません</string>
<string name="revanced_hide_transcript_section_summary_off">文字起こしセクションは表示されます</string>
<string name="revanced_hide_description_components_screen_title">概要欄</string>
@@ -259,22 +260,22 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_filter_bar_screen_title">カテゴリー バー</string>
<string name="revanced_hide_filter_bar_screen_summary">フィード、検索結果、関連動画の上部にカテゴリーごとに表示されるバーの設定</string>
<string name="revanced_hide_filter_bar_feed_in_feed_title">フィードのカテゴリー バーを非表示</string>
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">フィードにカテゴリー バーは表示されません</string>
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">フィードにカテゴリー バー表示されます</string>
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">カテゴリー バーはフィードに表示されません</string>
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">カテゴリー バーはフィードに表示されます</string>
<string name="revanced_hide_filter_bar_feed_in_search_title">検索結果のカテゴリー バーを非表示</string>
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">検索結果にカテゴリー バーは表示されません</string>
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">検索結果にカテゴリー バー表示されます</string>
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">カテゴリー バーは検索結果に表示されません</string>
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">カテゴリー バーは検索結果に表示されます</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">関連動画のカテゴリー バーを非表示</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">関連動画にカテゴリー バーは表示されません</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">関連動画にカテゴリー バー表示されます</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">カテゴリー バーは関連動画に表示されません</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">カテゴリー バーは検索結果に表示されます</string>
<string name="revanced_comments_screen_title">コメント</string>
<string name="revanced_comments_screen_summary">コメント セクションの設定</string>
<string name="revanced_hide_comments_ai_chat_summary_title">「チャットの要約」を非表示</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_on">「チャットの要約」は表示されません</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_off">「チャットの要約」は表示されます</string>
<string name="revanced_hide_comments_ai_summary_title">コメント欄の「トピック」を非表示</string>
<string name="revanced_hide_comments_ai_summary_summary_on">コメント欄のヘッダーに「トピック」は表示されません</string>
<string name="revanced_hide_comments_ai_summary_summary_off">コメント欄のヘッダーに「トピック」表示されます</string>
<string name="revanced_hide_comments_ai_summary_summary_on">コメント欄の「トピック」は表示されません</string>
<string name="revanced_hide_comments_ai_summary_summary_off">コメント欄の「トピック」表示されます</string>
<string name="revanced_hide_comments_by_members_header_title">「メンバーによるコメント」ヘッダーを非表示</string>
<string name="revanced_hide_comments_by_members_header_summary_on">「メンバーによるコメント」ヘッダーは表示されません</string>
<string name="revanced_hide_comments_by_members_header_summary_off">「メンバーによるコメント」ヘッダーは表示されます</string>
@@ -290,30 +291,30 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_comments_preview_comment_title">コメントのプレビューを非表示</string>
<string name="revanced_hide_comments_preview_comment_summary_on">コメントのプレビューは表示されません</string>
<string name="revanced_hide_comments_preview_comment_summary_off">コメントのプレビューは表示されます</string>
<string name="revanced_hide_comments_thanks_button_title">Thanks ボタンを非表示</string>
<string name="revanced_hide_comments_thanks_button_title">Thanksを非表示</string>
<string name="revanced_hide_comments_thanks_button_summary_on">Thanks ボタンは表示されません</string>
<string name="revanced_hide_comments_thanks_button_summary_off">Thanks ボタンは表示されます</string>
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
<string name="revanced_hide_doodles_title">YouTube Doodle を非表示</string>
<string name="revanced_hide_doodles_summary_on">検索バーに Doodle は表示されません</string>
<string name="revanced_hide_doodles_summary_off">検索バーに Doodle 表示されます</string>
<string name="revanced_hide_doodles_summary_on">Doodle は検索バーに表示されません</string>
<string name="revanced_hide_doodles_summary_off">Doodle は検索バーに表示されます</string>
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodle は、年に数日、祝日や記念日などの特別な日に表示されます。
あなたの地域で Doodle が表示されているとき、この設定をオンにすると検索結果にカテゴリー バーが表示されなくなります。"</string>
<string name="revanced_custom_filter_screen_title">カスタム フィルタ</string>
<string name="revanced_custom_filter_screen_title">カスタムフィルタ</string>
<string name="revanced_custom_filter_screen_summary">アプリ内に表示される component を非表示にするフィルタの設定</string>
<string name="revanced_custom_filter_title">カスタム フィルタを有効にする</string>
<string name="revanced_custom_filter_summary_on">カスタム フィルタは有効です</string>
<string name="revanced_custom_filter_summary_off">カスタム フィルタは無効です</string>
<string name="revanced_custom_filter_strings_title">カスタム フィルタ</string>
<string name="revanced_custom_filter_title">カスタムフィルタを有効にする</string>
<string name="revanced_custom_filter_summary_on">カスタムフィルタは有効です</string>
<string name="revanced_custom_filter_summary_off">カスタムフィルタは無効です</string>
<string name="revanced_custom_filter_strings_title">カスタムフィルタ</string>
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
<string name="revanced_custom_filter_strings_summary">非表示にしたい component の path builder string を改行区切りで入力します</string>
<string name="revanced_custom_filter_toast_invalid_syntax">無効なカスタム フィルタ: %s</string>
<string name="revanced_custom_filter_toast_invalid_syntax">無効なカスタムフィルタ: %s</string>
<string name="revanced_hide_keyword_content_screen_title">キーワード フィルタ</string>
<string name="revanced_hide_keyword_content_screen_summary">フィード、検索結果、関連動画に表示される動画をキーワードで除外するフィルタの設定</string>
<string name="revanced_hide_keyword_content_home_title">キーワードに合致する動画をホーム フィードから除外する</string>
<string name="revanced_hide_keyword_content_home_summary_on">キーワードに合致する動画はホーム フィードに表示されません</string>
<string name="revanced_hide_keyword_content_home_summary_off">ホーム フィードはキーワードでフィルタリングされません</string>
<string name="revanced_hide_keyword_content_home_title">キーワードに合致する動画をホームフィードから除外する</string>
<string name="revanced_hide_keyword_content_home_summary_on">キーワードに合致する動画はホームフィードに表示されません</string>
<string name="revanced_hide_keyword_content_home_summary_off">ホームフィードはキーワードでフィルタリングされません</string>
<string name="revanced_hide_keyword_content_search_title">キーワードに合致する動画を検索結果から除外する</string>
<string name="revanced_hide_keyword_content_search_summary_on">キーワードに合致する動画は検索結果に表示されません</string>
<string name="revanced_hide_keyword_content_search_summary_off">検索結果はキーワードでフィルタリングされません</string>
@@ -350,35 +351,35 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_general_ads_summary_on">一般的な広告は表示されません</string>
<string name="revanced_hide_general_ads_summary_off">一般的な広告は表示されます</string>
<string name="revanced_hide_fullscreen_ads_title">全画面広告を非表示</string>
<string name="revanced_hide_fullscreen_ads_summary_on">"アプリ起動時に全画面広告は表示されません
<string name="revanced_hide_fullscreen_ads_summary_on">"全画面広告はアプリ起動時に表示されません
この機能は、古い端末でのみ利用できます"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">アプリ起動時に全画面広告が表示されます</string>
この機能は、古いデバイスでのみ利用できます"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">全画面広告はアプリ起動時に表示されます</string>
<string name="revanced_hide_buttoned_ads_title">ボタン付き広告を非表示</string>
<string name="revanced_hide_buttoned_ads_summary_on">ボタン付き広告は表示されません</string>
<string name="revanced_hide_buttoned_ads_summary_off">ボタン付き広告は表示されます</string>
<string name="revanced_hide_paid_promotion_label_title">「プロモーションを含みます」ボタンを非表示</string>
<string name="revanced_hide_paid_promotion_label_summary_on">動画上に「プロモーションを含みます」ボタンは表示されません</string>
<string name="revanced_hide_paid_promotion_label_summary_off">動画上に「プロモーションを含みます」ボタン表示されます</string>
<string name="revanced_hide_self_sponsor_ads_title">自己スポンサーカードを非表示</string>
<string name="revanced_hide_self_sponsor_ads_summary_on">自己スポンサーカードは表示されません</string>
<string name="revanced_hide_paid_promotion_label_summary_on">「プロモーションを含みます」ボタンはプレーヤー画面に表示されません</string>
<string name="revanced_hide_paid_promotion_label_summary_off">「プロモーションを含みます」ボタンはプレーヤー画面に表示されます</string>
<string name="revanced_hide_self_sponsor_ads_title">自己スポンサー カードを非表示</string>
<string name="revanced_hide_self_sponsor_ads_summary_on">自己スポンサー カードは表示されません</string>
<string name="revanced_hide_self_sponsor_ads_summary_off">自己スポンサーカードは表示されます</string>
<string name="revanced_hide_products_banner_title">「商品を表示」ボタンを非表示</string>
<string name="revanced_hide_products_banner_summary_on">動画上に「商品を表示」ボタンや商品ボタンは表示されません</string>
<string name="revanced_hide_products_banner_summary_off">動画上に「商品を表示」ボタンや商品ボタン表示されます</string>
<string name="revanced_hide_end_screen_store_banner_title">終了画面のストア バナーを非表示</string>
<string name="revanced_hide_end_screen_store_banner_summary_on">動画の終了画面ストア バナーは表示されません</string>
<string name="revanced_hide_end_screen_store_banner_summary_off">動画の終了画面ストア バナー表示されます</string>
<string name="revanced_hide_products_banner_summary_on">「商品を表示」ボタンや商品ボタンはプレーヤー画面に表示されません</string>
<string name="revanced_hide_products_banner_summary_off">「商品を表示」ボタンや商品ボタンはプレーヤー画面に表示されます</string>
<string name="revanced_hide_end_screen_store_banner_title">終了画面のストアバナーを非表示</string>
<string name="revanced_hide_end_screen_store_banner_summary_on">終了画面ストアバナーは表示されません</string>
<string name="revanced_hide_end_screen_store_banner_summary_off">終了画面ストアバナー表示されます</string>
<string name="revanced_hide_player_store_shelf_title">ストア広告を非表示</string>
<string name="revanced_hide_player_store_shelf_summary_on">ストア広告は表示されません</string>
<string name="revanced_hide_player_store_shelf_summary_off">ストア広告は表示されます</string>
<string name="revanced_hide_shopping_links_title">概要欄の商品へのリンクを非表示</string>
<string name="revanced_hide_shopping_links_summary_on">概要欄にタグ付けされた商品へのリンクは表示されません</string>
<string name="revanced_hide_shopping_links_summary_off">概要欄にタグ付けされた商品へのリンク表示されます</string>
<string name="revanced_hide_shopping_links_title">商品へのリンクを非表示</string>
<string name="revanced_hide_shopping_links_summary_on">タグ付けされた商品へのリンクは概要欄に表示されません</string>
<string name="revanced_hide_shopping_links_summary_off">タグ付けされた商品へのリンクは概要欄に表示されます</string>
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_store_button_title">チャンネルページの「ストアに移動」ボタンを非表示</string>
<string name="revanced_hide_visit_store_button_summary_on">チャンネルページに「ストアに移動」ボタンは表示されません</string>
<string name="revanced_hide_visit_store_button_summary_off">チャンネルページに「ストアに移動」ボタン表示されます</string>
<string name="revanced_hide_visit_store_button_title">「ストアに移動」ボタンを非表示</string>
<string name="revanced_hide_visit_store_button_summary_on">「ストアに移動」ボタンはチャンネル ページに表示されません</string>
<string name="revanced_hide_visit_store_button_summary_off">「ストアに移動」ボタンはチャンネル ページに表示されます</string>
<string name="revanced_hide_web_search_results_title">ウェブ検索結果を非表示</string>
<string name="revanced_hide_web_search_results_summary_on">ウェブ検索結果は表示されません</string>
<string name="revanced_hide_web_search_results_summary_off">ウェブ検索結果は表示されます</string>
@@ -386,7 +387,7 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_merchandise_banners_summary_on">商品バナーは表示されません</string>
<string name="revanced_hide_merchandise_banners_summary_off">商品バナーは表示されます</string>
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="revanced_hide_fullscreen_ads_feature_not_available_toast">全画面広告の非表示は、古い端末でのみ動作します</string>
<string name="revanced_hide_fullscreen_ads_feature_not_available_toast">全画面広告の非表示は、古いデバイスでのみ動作します</string>
</patch>
<patch id="ad.getpremium.hideGetPremiumPatch">
<string name="revanced_hide_get_premium_title">YouTube Premium の広告を非表示</string>
@@ -402,28 +403,28 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_share_copy_url_success">URL をクリップボードにコピーしました</string>
<string name="revanced_share_copy_url_timestamp_success">タイムスタンプ付きの URL がコピーされました</string>
<string name="revanced_copy_video_url_title">「動画の URL をコピー」ボタンを表示</string>
<string name="revanced_copy_video_url_summary_on">オーバーレイにボタンが表示されます。タップすると動画の URL を、長押しするとタイムスタンプ付きの URL をそれぞれコピーできます</string>
<string name="revanced_copy_video_url_summary_off">オーバーレイにボタンは表示されません</string>
<string name="revanced_copy_video_url_summary_on">ボタンはオーバーレイに表示されます。タップすると動画の URL を、長押しするとタイムスタンプ付きの URL をそれぞれコピーできます</string>
<string name="revanced_copy_video_url_summary_off">ボタンはオーバーレイに表示されません</string>
<string name="revanced_copy_video_url_timestamp_title">「動画のタイムスタンプ付き URL をコピー」ボタンを表示</string>
<string name="revanced_copy_video_url_timestamp_summary_on">オーバーレイにボタンが表示されます。タップするとタイムスタンプ付きの URL を、長押しするとタイムスタンプなしの URL をそれぞれコピーできます</string>
<string name="revanced_copy_video_url_timestamp_summary_off">オーバーレイにボタンは表示されません</string>
<string name="revanced_copy_video_url_timestamp_summary_on">ボタンはオーバーレイに表示されます。タップするとタイムスタンプ付きの URL を、長押しするとタイムスタンプなしの URL をそれぞれコピーできます</string>
<string name="revanced_copy_video_url_timestamp_summary_off">ボタンはオーバーレイに表示されません</string>
</patch>
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
<string name="revanced_remove_viewer_discretion_dialog_title">「ご自身の責任」ダイアログを削除</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_on">ダイアログは削除されます</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_off">ダイアログは表示されます</string>
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">この機能年齢制限回避するものではなく、自動的に承認するだけです。</string>
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">この機能によって年齢制限回避される訳ではありません。自動的に承認するだけです。</string>
</patch>
<patch id="interaction.downloads.downloadsResourcePatch">
<string name="revanced_external_downloader_screen_title">外部ダウンロード</string>
<string name="revanced_external_downloader_screen_summary">外部ダウンローダーの設定</string>
<string name="revanced_external_downloader_title">外部ダウンロード ボタンを表示</string>
<string name="revanced_external_downloader_summary_on">オーバーレイに外部ダウンロード ボタン表示されます</string>
<string name="revanced_external_downloader_summary_off">オーバーレイに外部ダウンロード ボタンは表示されません</string>
<string name="revanced_external_downloader_title">外部ダウンロード ボタンを表示する</string>
<string name="revanced_external_downloader_summary_on">外部ダウンロード ボタンはオーバーレイに表示されます</string>
<string name="revanced_external_downloader_summary_off">外部ダウンロード ボタンはオーバーレイに表示されません</string>
<!-- 'download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title' -->
<string name="revanced_external_downloader_action_button_title">オフライン ボタンの動作を上書きする</string>
<string name="revanced_external_downloader_action_button_summary_on">オフライン ボタンは外部ダウンローダーを呼び出します</string>
<string name="revanced_external_downloader_action_button_summary_off">オフライン ボタンは内のダウンローダーを呼び出します</string>
<string name="revanced_external_downloader_action_button_summary_off">オフライン ボタンはアプリ内のダウンローダーを呼び出します</string>
<string name="revanced_external_downloader_name_title">外部ダウンローダーのパッケージ名</string>
<string name="revanced_external_downloader_name_summary">NewPipe や Seal など、インストール済みのダウンロード アプリのパッケージ名を入力します</string>
<string name="revanced_external_downloader_not_installed_warning">%s はインストールされていません。インストールしてください。</string>
@@ -464,8 +465,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_swipe_overlay_timeout_title">オーバーレイ表示のタイムアウト</string>
<string name="revanced_swipe_overlay_timeout_summary">オーバーレイが表示される時間(ミリ秒)</string>
<string name="revanced_swipe_overlay_background_opacity_title">オーバーレイの背景の透明度</string>
<string name="revanced_swipe_overlay_background_opacity_summary">透明度のは 0-100 の範囲で、0 が透明です</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">スワイプ: 透明度のは 0-100 でなければなりません</string>
<string name="revanced_swipe_overlay_background_opacity_summary">透明度の範囲は 0-100 で、0 が透明です</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">スワイプ: 透明度の範囲は 0-100 で</string>
<string name="revanced_swipe_threshold_title">スワイプのしきい値</string>
<string name="revanced_swipe_threshold_summary">スワイプと判定される最小の距離</string>
<string name="revanced_swipe_volume_sensitivity_title">音量ジェスチャーのスワイプ感度</string>
@@ -478,12 +479,12 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_swipe_overlay_minimal_style_summary_off">通常のオーバーレイが表示されます</string>
<string name="revanced_swipe_change_video_title">スワイプして動画を切り替える</string>
<string name="revanced_swipe_change_video_summary_on">全画面表示でスワイプすると、次 / 前の動画に切り替わります</string>
<string name="revanced_swipe_change_video_summary_off">全画面表示でスワイプしても、次 / 前の動画に切り替わりません</string>
<string name="revanced_swipe_change_video_summary_off">全画面表示でスワイプしても、次 / 前の動画に切り替わりません</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_disable_auto_captions_title">自動字幕表示を無効にする</string>
<string name="revanced_disable_auto_captions_summary_on">自動字幕表示は無効です</string>
<string name="revanced_disable_auto_captions_summary_off">自動字幕表示は有効です</string>
<string name="revanced_disable_auto_captions_title">デフォルトの字幕表示を無効にする</string>
<string name="revanced_disable_auto_captions_summary_on">デフォルトの字幕表示は無効です</string>
<string name="revanced_disable_auto_captions_summary_off">デフォルトの字幕表示は有効です</string>
</patch>
<patch id="layout.buttons.action.hideButtonsPatch">
<string name="revanced_hide_buttons_screen_title">アクション ボタン</string>
@@ -491,24 +492,24 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_disable_like_subscribe_glow_title">高評価とチャンネル登録のエフェクトを無効にする</string>
<string name="revanced_disable_like_subscribe_glow_summary_on">高評価ボタンとチャンネル登録ボタンのエフェクトは無効です</string>
<string name="revanced_disable_like_subscribe_glow_summary_off">高評価ボタンとチャンネル登録ボタンのエフェクトは有効です</string>
<string name="revanced_hide_like_dislike_button_title">高評価ボタンと低評価ボタンを非表示</string>
<string name="revanced_hide_like_dislike_button_title">高評価」と「低評価」を非表示</string>
<string name="revanced_hide_like_dislike_button_summary_on">高評価ボタンと低評価ボタンは表示されません</string>
<string name="revanced_hide_like_dislike_button_summary_off">高評価ボタンと低評価ボタンは表示されます</string>
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_share_button_title">共有ボタンを非表示</string>
<string name="revanced_hide_share_button_title">共有を非表示</string>
<string name="revanced_hide_share_button_summary_on">共有ボタンは表示されません</string>
<string name="revanced_hide_share_button_summary_off">共有ボタンは表示されます</string>
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
This button usually appears only on live streams. -->
<string name="revanced_hide_report_button_title">報告ボタンを非表示</string>
<string name="revanced_hide_report_button_title">報告を非表示</string>
<string name="revanced_hide_report_button_summary_on">報告ボタンは表示されません</string>
<string name="revanced_hide_report_button_summary_off">報告ボタンは表示されます</string>
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_remix_button_title">リミックス ボタンを非表示</string>
<string name="revanced_hide_remix_button_title">リミックスを非表示</string>
<string name="revanced_hide_remix_button_summary_on">リミックス ボタンは表示されません</string>
<string name="revanced_hide_remix_button_summary_off">リミックス ボタンは表示されます</string>
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_download_button_title">オフライン ボタンを非表示</string>
<string name="revanced_hide_download_button_title">オフラインを非表示</string>
<string name="revanced_hide_download_button_summary_on">オフライン ボタンは表示されません</string>
<string name="revanced_hide_download_button_summary_off">オフライン ボタンは表示されます</string>
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
@@ -516,11 +517,11 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_thanks_button_summary_on">Thanks ボタンは表示されません</string>
<string name="revanced_hide_thanks_button_summary_off">Thanks ボタンは表示されます</string>
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_clip_button_title">クリップ ボタンを非表示</string>
<string name="revanced_hide_clip_button_summary_on">クリップ ボタンは表示されません</string>
<string name="revanced_hide_clip_button_summary_off">クリップ ボタンは表示されます</string>
<string name="revanced_hide_clip_button_title">クリップを非表示</string>
<string name="revanced_hide_clip_button_summary_on">クリップボタンは表示されません</string>
<string name="revanced_hide_clip_button_summary_off">クリップボタンは表示されます</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_playlist_button_title">保存ボタンを非表示</string>
<string name="revanced_hide_playlist_button_title">保存を非表示</string>
<string name="revanced_hide_playlist_button_summary_on">保存ボタンは表示されません</string>
<string name="revanced_hide_playlist_button_summary_off">保存ボタンは表示されます</string>
</patch>
@@ -529,12 +530,12 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_navigation_buttons_screen_summary">画面下部のナビゲーション バー上のボタンの設定</string>
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
<string name="revanced_hide_home_button_title">「ホーム」を非表示</string>
<string name="revanced_hide_home_button_summary_on">ホーム ボタンは表示されません</string>
<string name="revanced_hide_home_button_summary_off">ホーム ボタンは表示されます</string>
<string name="revanced_hide_home_button_summary_on">ホームボタンは表示されません</string>
<string name="revanced_hide_home_button_summary_off">ホームボタンは表示されます</string>
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
<string name="revanced_hide_shorts_button_title">「ショート」を非表示</string>
<string name="revanced_hide_shorts_button_summary_on">ショート ボタンは表示されません</string>
<string name="revanced_hide_shorts_button_summary_off">ショート ボタンは表示されます</string>
<string name="revanced_hide_shorts_button_summary_on">ショートボタンは表示されません</string>
<string name="revanced_hide_shorts_button_summary_off">ショートボタンは表示されます</string>
<!-- The Create button has no display name. Translate normally. -->
<string name="revanced_hide_create_button_title">「作成」を非表示</string>
<string name="revanced_hide_create_button_summary_on">作成ボタンは非表示です</string>
@@ -629,19 +630,19 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">画質設定メニューの脚注は表示されます</string>
</patch>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<string name="revanced_hide_player_previous_next_buttons_title">前の動画 &amp; 次の動画ボタンを非表示</string>
<string name="revanced_hide_player_previous_next_buttons_title">前の動画ボタンと次の動画ボタンを非表示</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">前の動画ボタンと次の動画ボタンは表示されません</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">前の動画ボタンと次の動画ボタンは表示されます</string>
<string name="revanced_hide_cast_button_title">キャスト ボタンを非表示</string>
<string name="revanced_hide_cast_button_summary_on">オーバーレイにキャスト ボタンは表示されません</string>
<string name="revanced_hide_cast_button_summary_off">オーバーレイにキャスト ボタンが表示されます</string>
<string name="revanced_hide_cast_button_title">キャストボタンを非表示</string>
<string name="revanced_hide_cast_button_summary_on">キャストボタンはオーバーレイに表示されません</string>
<string name="revanced_hide_cast_button_summary_off">キャストボタンはオーバーレイに表示されます</string>
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
<string name="revanced_hide_captions_button_title">字幕ボタンを非表示</string>
<string name="revanced_hide_captions_button_summary_on">オーバーレイに字幕ボタンは表示されません</string>
<string name="revanced_hide_captions_button_summary_off">オーバーレイに字幕ボタンが表示されます</string>
<string name="revanced_hide_captions_button_summary_on">字幕ボタンはオーバーレイに表示されません</string>
<string name="revanced_hide_captions_button_summary_off">字幕ボタンはオーバーレイに表示されます</string>
<string name="revanced_hide_autoplay_button_title">自動再生ボタンを非表示</string>
<string name="revanced_hide_autoplay_button_summary_on">オーバーレイに自動再生ボタンは表示されません</string>
<string name="revanced_hide_autoplay_button_summary_off">オーバーレイに自動再生ボタンが表示されます</string>
<string name="revanced_hide_autoplay_button_summary_on">自動再生ボタンはオーバーレイに表示されません</string>
<string name="revanced_hide_autoplay_button_summary_off">自動再生ボタンはオーバーレイに表示されます</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">動画の終了画面を非表示</string>
@@ -655,8 +656,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
</patch>
<patch id="layout.hide.infocards.hideInfocardsResourcePatch">
<string name="revanced_hide_info_cards_title">情報カードを非表示</string>
<string name="revanced_hide_info_cards_summary_on">動画上に情報カードは表示されません</string>
<string name="revanced_hide_info_cards_summary_off">動画上に情報カード表示されます</string>
<string name="revanced_hide_info_cards_summary_on">情報カードはプレーヤー画面に表示されません</string>
<string name="revanced_hide_info_cards_summary_off">情報カードはプレーヤー画面に表示されます</string>
</patch>
<patch id="layout.hide.rollingnumber.disableRollingNumberAnimationPatch">
<string name="revanced_disable_rolling_number_animations_title">数字のアニメーションを無効にする</string>
@@ -675,9 +676,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_shorts_player_screen_title">ショート動画プレーヤー</string>
<string name="revanced_shorts_player_screen_summary">ショート動画プレーヤーの設定</string>
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_hide_shorts_home_title">ホーム フィードのショート動画を非表示</string>
<string name="revanced_hide_shorts_home_summary_on">ホーム フィードにショート動画は表示されません</string>
<string name="revanced_hide_shorts_home_summary_off">ホーム フィードにショート動画が表示されます</string>
<string name="revanced_hide_shorts_home_title">ホームフィードのショート動画を非表示</string>
<string name="revanced_hide_shorts_home_summary_on">ホームフィードにショート動画は表示されません</string>
<string name="revanced_hide_shorts_home_summary_off">ホームフィードにショート動画が表示されます</string>
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_hide_shorts_subscriptions_title">登録チャンネル フィードのショート動画を非表示</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">登録チャンネル フィードにショート動画は表示されません</string>
@@ -755,9 +756,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_shorts_info_panel_title">情報パネルを非表示</string>
<string name="revanced_hide_shorts_info_panel_summary_on">情報パネルは表示されません</string>
<string name="revanced_hide_shorts_info_panel_summary_off">情報パネルは表示されます</string>
<string name="revanced_hide_shorts_channel_bar_title">チャンネル バーを非表示</string>
<string name="revanced_hide_shorts_channel_bar_summary_on">チャンネル バーは表示されません</string>
<string name="revanced_hide_shorts_channel_bar_summary_off">チャンネル バーは表示されます</string>
<string name="revanced_hide_shorts_channel_bar_title">チャンネルバーを非表示</string>
<string name="revanced_hide_shorts_channel_bar_summary_on">チャンネルバーは表示されません</string>
<string name="revanced_hide_shorts_channel_bar_summary_off">チャンネルバーは表示されます</string>
<string name="revanced_hide_shorts_video_title_title">動画のタイトルを非表示</string>
<string name="revanced_hide_shorts_video_title_summary_on">動画のタイトルは表示されません</string>
<string name="revanced_hide_shorts_video_title_summary_off">動画のタイトルは表示されます</string>
@@ -775,12 +776,12 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_shorts_navigation_bar_summary_off">ナビゲーション バーは表示されます</string>
</patch>
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
<string name="revanced_end_screen_suggested_video_title">再生終了時「関連動画」を表示しない</string>
<string name="revanced_end_screen_suggested_video_summary_on">"再生終了時に「関連動画」は表示されませんが、自動再生がオンの場合は自動で再生されます
<string name="revanced_end_screen_suggested_video_title">再生終了時「関連動画」を表示</string>
<string name="revanced_end_screen_suggested_video_summary_on">"「関連動画」は再生終了時にプレーヤー画面に表示されませんが、自動再生がオンの場合は自動で再生されます
自動再生の設定は YouTube の設定で変更できます:
設定 → 再生 → 次の動画を自動再生"</string>
<string name="revanced_end_screen_suggested_video_summary_off">再生終了時に「関連動画」が表示されます</string>
<string name="revanced_end_screen_suggested_video_summary_off">「関連動画」は再生終了時にプレーヤー画面に表示されます</string>
</patch>
<patch id="layout.hide.time.hideTimestampPatch">
<string name="revanced_hide_timestamp_title">タイムスタンプを非表示</string>
@@ -806,8 +807,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">オーバーレイの透明度</string>
<string name="revanced_player_overlay_opacity_summary">透明度のは 0-100 の範囲で、0 が透明です</string>
<string name="revanced_player_overlay_opacity_invalid_toast">プレーヤー: オーバーレイの透明度は 0-100 でなければなりません</string>
<string name="revanced_player_overlay_opacity_summary">透明度の範囲は 0-100 で、0 が透明です</string>
<string name="revanced_player_overlay_opacity_invalid_toast">動画プレーヤー: 透明度の範囲は 0-100 です</string>
</patch>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
@@ -834,7 +835,7 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_ryd_compact_layout_summary_on">ボタンはコンパクトに表示されます</string>
<string name="revanced_ryd_compact_layout_summary_off">ボタンは最適なサイズで表示されます</string>
<string name="revanced_ryd_estimated_like_title">高評価の推定値を表示</string>
<string name="revanced_ryd_estimated_like_summary_on">高評価が無効になっている動画には、推定の「いいね」数が表示されます</string>
<string name="revanced_ryd_estimated_like_summary_on">高評価が非公開の動画には、推定値が表示されます</string>
<string name="revanced_ryd_estimated_like_summary_off">高評価の推定値は表示されません</string>
<string name="revanced_ryd_toast_on_connection_error_title">API 利用不可時にトーストを表示</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike が利用できない場合、トースト ポップアップが表示されます</string>
@@ -860,9 +861,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_ryd_statistics_millisecond_text">%d ミリ秒前</string>
</patch>
<patch id="layout.searchbar.wideSearchbarPatch">
<string name="revanced_wide_searchbar_title">ワイド検索バーを有効にする</string>
<string name="revanced_wide_searchbar_summary_on">ワイド検索バーは有効で</string>
<string name="revanced_wide_searchbar_summary_off">ワイド検索バーは無効で</string>
<string name="revanced_wide_searchbar_title">ワイド検索バーを使用する</string>
<string name="revanced_wide_searchbar_summary_on">ワイド検索バーが表示されま</string>
<string name="revanced_wide_searchbar_summary_off">通常の検索バーが表示されま</string>
</patch>
<patch id="layout.seekbar.seekbarThumbnailsPatch">
<string name="revanced_seekbar_thumbnails_high_quality_title">高画質サムネイルを有効にする</string>
@@ -1059,7 +1060,7 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_sb_stats_submissions_sum">作成したセグメントを表示するには、ここをタップしてください</string>
<string name="revanced_sb_stats_saved_zero">SponsorBlock リーダーボード</string>
<string name="revanced_sb_stats_saved">合計で &lt;b&gt;%s&lt;/b&gt; 個のセグメントから人々を救いました</string>
<string name="revanced_sb_stats_saved_sum_zero">グローバルの統計と上位の貢献者を表示するには、ここをタップしてください</string>
<string name="revanced_sb_stats_saved_sum_zero">ここをタップすると、全体の統計とセグメント作成者のランキングが表示されます</string>
<string name="revanced_sb_stats_saved_sum">時間にして &lt;b&gt;%s&lt;/b&gt; です。&lt;br&gt;ここをタップすると、リーダーボードが表示されます</string>
<string name="revanced_sb_stats_self_saved">合計で &lt;b&gt;%s&lt;/b&gt; 個のセグメントをスキップしました</string>
<string name="revanced_sb_stats_self_saved_sum">時間にして &lt;b&gt;%s&lt;/b&gt; です</string>
@@ -1133,6 +1134,11 @@ Automotive レイアウト
<string name="revanced_change_start_page_entry_virtual_reality">バーチャル リアリティ</string>
<string name="revanced_change_start_page_entry_watch_later">後で見る</string>
<string name="revanced_change_start_page_entry_your_clips">自分のクリップ</string>
<string name="revanced_change_start_page_always_title">スタート画面の変更を常時適用する</string>
<string name="revanced_change_start_page_always_summary_on">"スタート画面の変更は常時適用されます
制限事項: ツールバーの [戻る] ボタンが機能しない可能性があります"</string>
<string name="revanced_change_start_page_always_summary_off">スタート画面の変更はアプリの起動時にのみ適用されます</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">ショート動画プレーヤーの再開を無効にする</string>
@@ -1155,8 +1161,8 @@ Automotive レイアウト
</patch>
<patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">ミニプレーヤー</string>
<string name="revanced_miniplayer_screen_summary">アプリ内で最小化されたプレーヤーの設定</string>
<string name="revanced_miniplayer_type_title">ミニプレーヤー タイプ</string>
<string name="revanced_miniplayer_screen_summary">動画視聴中に [戻る] ボタンをタップ、または下にスワイプしたときに表示される小さなプレーヤーの設定</string>
<string name="revanced_miniplayer_type_title">ミニプレーヤータイプ</string>
<string name="revanced_miniplayer_type_entry_0">無効</string>
<string name="revanced_miniplayer_type_entry_1">デフォルト</string>
<string name="revanced_miniplayer_type_entry_2">横長</string>
@@ -1166,23 +1172,23 @@ Automotive レイアウト
<string name="revanced_miniplayer_type_entry_6">モダン 3</string>
<string name="revanced_miniplayer_type_entry_7">モダン 4</string>
<string name="revanced_miniplayer_rounded_corners_title">角を丸くする</string>
<string name="revanced_miniplayer_rounded_corners_summary_on">ミニプレーヤーの角は丸角です</string>
<string name="revanced_miniplayer_rounded_corners_summary_off">ミニプレーヤーの角は直角です</string>
<string name="revanced_miniplayer_double_tap_action_title">ダブルタップとピンチでサイズ変更を有効にする</string>
<string name="revanced_miniplayer_double_tap_action_summary_on">"ダブルタップとピンチでサイズ変更を有効にする
<string name="revanced_miniplayer_rounded_corners_summary_on">ミニプレーヤーの角は丸角です</string>
<string name="revanced_miniplayer_rounded_corners_summary_off">ミニプレーヤーの角は直角です</string>
<string name="revanced_miniplayer_double_tap_action_title">ダブルタップとピンチでサイズ変更を有効にする</string>
<string name="revanced_miniplayer_double_tap_action_summary_on">"ダブルタップとピンチでサイズ変更」は有効です
• ダブルタップでミニプレーヤーのサイズを大きくします
• もう一度ダブルタップすると、元のサイズに戻ります"</string>
<string name="revanced_miniplayer_double_tap_action_summary_off">ダブルタップとピンチでサイズ変更は無効です</string>
<string name="revanced_miniplayer_double_tap_action_summary_off">ダブルタップとピンチでサイズ変更は無効です</string>
<string name="revanced_miniplayer_drag_and_drop_title">ドラッグ&ドロップを有効にする</string>
<string name="revanced_miniplayer_drag_and_drop_summary_on">"ドラッグ&ドロップ有効になっていま
<string name="revanced_miniplayer_drag_and_drop_summary_on">"ドラッグ&ドロップ有効
ミニプレーヤーを画面の四隅に移動できます"</string>
<string name="revanced_miniplayer_drag_and_drop_summary_off">ドラッグ&ドロップは無効です</string>
<string name="revanced_miniplayer_horizontal_drag_title">横方向ドラッグ ジェスチャーを有効にする</string>
<string name="revanced_miniplayer_horizontal_drag_summary_on">"横方向ドラッグ ジェスチャーは有効です
ミニプレーヤーを画面の左または右端最小化できます"</string>
ミニプレーヤーを画面の左または右端までドラッグすると最小化できます"</string>
<string name="revanced_miniplayer_horizontal_drag_summary_off">横方向ドラッグ ジェスチャーは無効です</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">オーバーレイ ボタンを非表示</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">オーバーレイ ボタンは表示されません</string>
@@ -1190,7 +1196,7 @@ Automotive レイアウト
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">拡大ボタンと閉じるボタンを非表示</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"ボタンは表示されません
拡大する / 閉じるにはスワイプしてください"</string>
拡大するまたは閉じるにはスワイプしてください"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">拡大ボタンと閉じるボタンは表示されます</string>
<string name="revanced_miniplayer_hide_subtext_title">サブテキストを非表示</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">サブテキストは表示されません</string>
@@ -1200,13 +1206,13 @@ Automotive レイアウト
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">早送りボタンと巻き戻しボタンは表示されます</string>
<string name="revanced_miniplayer_width_dip_title">デフォルトのサイズ</string>
<string name="revanced_miniplayer_width_dip_summary">画面に表示される際の大きさ(ピクセル)</string>
<string name="revanced_miniplayer_width_dip_invalid_toast">ピクセル サイズのは %1$s%2$s の間でなければなりません</string>
<string name="revanced_miniplayer_width_dip_invalid_toast">ピクセルサイズの範囲は %1$s-%2$s です</string>
<string name="revanced_miniplayer_opacity_title">オーバーレイの透明度</string>
<string name="revanced_miniplayer_opacity_summary">透明度のは 0-100 の範囲で、0 が透明です</string>
<string name="revanced_miniplayer_opacity_invalid_toast">ミニプレーヤー: オーバーレイの透明度は 0-100 でなければなりません</string>
<string name="revanced_miniplayer_opacity_summary">透明度の範囲は 0-100 で、0が透明です</string>
<string name="revanced_miniplayer_opacity_invalid_toast">ミニプレーヤー: 透明度の範囲は 0-100 です</string>
</patch>
<patch id="layout.theme.themePatch">
<string name="revanced_gradient_loading_screen_title">グラデーション読み込み画面を有効にする</string>
<string name="revanced_gradient_loading_screen_title">グラデーション読み込み画面を使用する</string>
<string name="revanced_gradient_loading_screen_summary_on">画面読み込み時にグラデーションの背景が表示されます</string>
<string name="revanced_gradient_loading_screen_summary_off">画面読み込み時に通常の背景が表示されます</string>
<string name="revanced_seekbar_custom_color_title">編集したシークバーの色を使用する</string>
@@ -1227,11 +1233,11 @@ Automotive レイアウト
</patch>
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
<string name="revanced_alt_thumbnail_home_title">ホーム フィード</string>
<string name="revanced_alt_thumbnail_home_title">ホームタブ</string>
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
<string name="revanced_alt_thumbnail_subscription_title">登録チャンネル フィード</string>
<string name="revanced_alt_thumbnail_subscription_title">登録チャンネル タブ</string>
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
<string name="revanced_alt_thumbnail_library_title">マイページ</string>
<string name="revanced_alt_thumbnail_library_title">マイページ タブ</string>
<string name="revanced_alt_thumbnail_player_title">プレイリスト、関連動画</string>
<string name="revanced_alt_thumbnail_search_title">検索結果</string>
<string name="revanced_alt_thumbnail_options_entry_1">オリジナルのサムネイル</string>
@@ -1241,11 +1247,11 @@ Automotive レイアウト
<string name="revanced_alt_thumbnail_dearrow_about_summary">"DeArrow は、YouTube 動画のサムネイルをクラウドソーシングで提供する機能です。DeArrow のサムネイルは、YouTube が提供するサムネイルよりも適切なことが多いです。これを有効にすると、動画の URL が API サーバーに送信されますが、他のデータは送信されません。動画に DeArrow サムネイルがない場合は、オリジナルのサムネイルまたは静止画サムネイルが表示されます
詳細については、ここをタップしてください"</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">API 利用できない場合はトーストを表示する</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">DeArrow が利用できない場合はトースト ポップアップが表示されます</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">DeArrow が利用できない場合でもトースト ポップアップは表示されません</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">API 利用不可時にトーストを表示する</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">DeArrow が利用できない場合はトースト ポップアップが表示されます</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">DeArrow が利用できない場合でもトースト ポップアップは表示されません</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_title">DeArrow API のエンドポイント</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">DeArrow からサムネイル キャッシュを取得するエンドポイントの URL</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">DeArrow サムネイルキャッシュを取得するエンドポイントの URL</string>
<string name="revanced_alt_thumbnail_stills_about_title">静止画サムネイル</string>
<string name="revanced_alt_thumbnail_stills_about_summary">静止画は各動画の序盤 / 中盤 / 終盤から取得されます。これらの画像は YouTube に組み込まれており、外部 API は使用されません</string>
<string name="revanced_alt_thumbnail_stills_fast_title">高速な静止画サムネイルを使用する</string>
@@ -1313,9 +1319,9 @@ Automotive レイアウト
<string name="revanced_disable_zoom_haptics_summary_off">ズームの触覚フィードバックは有効です</string>
</patch>
<patch id="video.audio.forceOriginalAudioPatch">
<string name="revanced_force_original_audio_title">オートダビングを無効にする</string>
<string name="revanced_force_original_audio_summary_on">オートダビングは無効です</string>
<string name="revanced_force_original_audio_summary_off">オートダビングは有効です</string>
<string name="revanced_force_original_audio_title">デフォルトの吹き替えを無効にする</string>
<string name="revanced_force_original_audio_summary_on">デフォルトの吹き替えは無効です</string>
<string name="revanced_force_original_audio_summary_off">デフォルトの吹き替えは有効です</string>
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
<string name="revanced_force_original_audio_not_available">この機能を使用するには、「動画ストリームを偽装する」のクライアントを iOS TV に変更してください</string>
</patch>
@@ -1339,8 +1345,8 @@ Automotive レイアウト
</patch>
<patch id="video.speed.button.playbackSpeedButtonPatch">
<string name="revanced_playback_speed_dialog_button_title">再生速度設定ボタンを非表示</string>
<string name="revanced_playback_speed_dialog_button_summary_on">オーバーレイに再生速度設定ボタン表示されます</string>
<string name="revanced_playback_speed_dialog_button_summary_off">オーバーレイに再生速度設定ボタンは表示されません</string>
<string name="revanced_playback_speed_dialog_button_summary_on">再生速度設定ボタンはオーバーレイに表示されます</string>
<string name="revanced_playback_speed_dialog_button_summary_off">再生速度設定ボタンはオーバーレイ表示されません</string>
</patch>
<patch id="video.speed.custom.customPlaybackSpeedPatch">
<string name="revanced_custom_speed_menu_title">カスタムした再生速度リストを使用する</string>
@@ -1367,7 +1373,7 @@ Automotive レイアウト
<string name="revanced_disable_hdr_video_summary_off">HDR 動画は有効です</string>
</patch>
<patch id="video.quality.advancedVideoQualityMenuPatch">
<string name="revanced_advanced_video_quality_menu_title">画質の詳細設定メニューを表示する</string>
<string name="revanced_advanced_video_quality_menu_title">画質の詳細設定メニューを使用する</string>
<string name="revanced_advanced_video_quality_menu_summary_on">画質設定メニューとして詳細設定メニューが表示されます</string>
<string name="revanced_advanced_video_quality_menu_summary_off">通常の画質設定メニューが表示されます</string>
</patch>
@@ -1380,7 +1386,7 @@ Automotive レイアウト
<string name="revanced_spoof_video_streams_screen_title">動画ストリームを偽装する</string>
<string name="revanced_spoof_video_streams_screen_summary">再生不能問題を回避するために、クライアントの動画ストリームを偽装します</string>
<string name="revanced_spoof_video_streams_title">動画ストリームを偽装する</string>
<string name="revanced_spoof_video_streams_summary_on">動画ストリーム偽装されます</string>
<string name="revanced_spoof_video_streams_summary_on">動画ストリーム偽装されます</string>
<string name="revanced_spoof_video_streams_summary_off">"動画ストリームは偽装されません
動画が再生できない可能性があります"</string>
@@ -1397,11 +1403,11 @@ AVC の最大解像度は 1080p であり、Opus オーディオ コーデック
• 一定音量は利用できません
• 動画が 1 秒早く終了します"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android クライアントの副作用</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• フライアウト メニューに「音声トラック」は表示されません
<string name="revanced_spoof_video_streams_about_android_summary">"• 「音声トラック」はフライアウト メニューに表示されません
• 「一定音量」は利用できません
• 「オートダビングを無効にする」は利用できません"</string>
• 「デフォルトの吹き替えを無効にする」は利用できません"</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 コーデックは使用できません</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• キッズ向け動画は、ログアウト時またはシークレット モード時に再生されない場合があります</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• キッズ向け動画は、ログアウト時またはシークレット モード時に再生されない場合があります</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">統計情報に表示する</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">現在のクライアントが統計情報に表示されます</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">現在のクライアントは統計情報に表示されません</string>

View File

@@ -241,9 +241,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_hide_chapters_section_title">챕터 숨기기</string>
<string name="revanced_hide_chapters_section_summary_on">챕터 섹션이 숨겨집니다</string>
<string name="revanced_hide_chapters_section_summary_off">챕터 섹션이 표시됩니다</string>
<string name="revanced_hide_how_this_was_made_section_title">콘텐츠 생성 방식 섹션 숨기기</string>
<string name="revanced_hide_how_this_was_made_section_summary_on">콘텐츠 생성 방식 섹션이 숨겨집니다</string>
<string name="revanced_hide_how_this_was_made_section_summary_off">콘텐츠 생성 방식 섹션이 표시됩니다</string>
<string name="revanced_hide_how_this_was_made_section_title">콘텐츠가 제작된 방식 섹션 숨기기</string>
<string name="revanced_hide_how_this_was_made_section_summary_on">콘텐츠가 제작된 방식 섹션이 숨겨집니다</string>
<string name="revanced_hide_how_this_was_made_section_summary_off">콘텐츠가 제작된 방식 섹션이 표시됩니다</string>
<string name="revanced_hide_podcast_section_title">팟캐스트 살펴보기 섹션 숨기기</string>
<string name="revanced_hide_podcast_section_summary_on">팟캐스트 살펴보기 섹션이 숨겨집니다</string>
<string name="revanced_hide_podcast_section_summary_off">팟캐스트 살펴보기 섹션이 표시됩니다</string>
@@ -1132,6 +1132,12 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_change_start_page_entry_virtual_reality">가상 현실</string>
<string name="revanced_change_start_page_entry_watch_later">나중에 볼 동영상</string>
<string name="revanced_change_start_page_entry_your_clips">내 클립</string>
<string name="revanced_change_start_page_always_title">앱 시작 페이지 항상 변경하기</string>
<string name="revanced_change_start_page_always_summary_on">"앱 시작 페이지를 항상 변경합니다
알려진 문제점:
• 툴바에서 '뒤로 가기' 버튼이 작동하지 않을 수 있습니다"</string>
<string name="revanced_change_start_page_always_summary_off">앱 시작 페이지를 앱 시작 시에만 변경합니다</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">앱을 시작할 때, Shorts 플레이어 비활성화하기</string>

View File

@@ -1106,7 +1106,7 @@ Jei vėliau išjungta, rekomenduojama išvalyti programos duomenis, kad būtų i
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 Atkurti senas naršymo piktogramas</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Nustatyti pradinį puslapį</string>
<string name="revanced_change_start_page_title">Keisti pradžios puslapį</string>
<string name="revanced_change_start_page_entry_default">Numatytasis</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Visos Prenumeratos</string>
<string name="revanced_change_start_page_entry_browse">Naršyti kanalus</string>
@@ -1131,6 +1131,11 @@ Jei vėliau išjungta, rekomenduojama išvalyti programos duomenis, kad būtų i
<string name="revanced_change_start_page_entry_virtual_reality">Virtualioji realybė</string>
<string name="revanced_change_start_page_entry_watch_later">Pažiūrėti vėliau</string>
<string name="revanced_change_start_page_entry_your_clips">Tavo klipai</string>
<string name="revanced_change_start_page_always_title">Visada keisti pradžios puslapį</string>
<string name="revanced_change_start_page_always_summary_on">"Pradžios puslapis visada pakeičiamas
Ribojimas: įrankių juostoje esantis atgal mygtukas gali neveikti."</string>
<string name="revanced_change_start_page_always_summary_off">Pradžios puslapis keičiamas tik paleidžiant programą</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Išjungti \"Shorts\" grotuvo atnaujinimą</string>

View File

@@ -1106,7 +1106,7 @@ Ja vēlāk tiks izslēgts, ieteicams notīrīt lietotnes datus, lai novērstu li
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Atjaunot vecās navigācijas ikonas</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Iestatīt sākotnējo lapu</string>
<string name="revanced_change_start_page_title">Mainīt sākuma lapu</string>
<string name="revanced_change_start_page_entry_default">Noklusētais</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Visi abonementi</string>
<string name="revanced_change_start_page_entry_browse">Pārlūkot kanālus</string>
@@ -1131,6 +1131,11 @@ Ja vēlāk tiks izslēgts, ieteicams notīrīt lietotnes datus, lai novērstu li
<string name="revanced_change_start_page_entry_virtual_reality">Virtuālā realitāte</string>
<string name="revanced_change_start_page_entry_watch_later">Skaties vēlāk</string>
<string name="revanced_change_start_page_entry_your_clips">Tavi klipi</string>
<string name="revanced_change_start_page_always_title">Vienmēr mainīt sākuma lapu</string>
<string name="revanced_change_start_page_always_summary_on">"Sākuma lapa vienmēr tiek mainīta
Ierobežojums: Atpakaļpoga rīkjoslā var nedarboties"</string>
<string name="revanced_change_start_page_always_summary_off">Sākuma lapa tiek mainīta tikai lietotnes startēšanas reizē</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Atspējot Shorts atskaņotāja atsākšanu</string>

View File

@@ -1107,7 +1107,7 @@ Als het later wordt uitgeschakeld, wordt aanbevolen om de app-gegevens te wissen
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Herstel oude navigatie-iconen</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Startpagina instellen</string>
<string name="revanced_change_start_page_title">Startpagina wijzigen</string>
<string name="revanced_change_start_page_entry_default">Standaard</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Alle abonnementen</string>
<string name="revanced_change_start_page_entry_browse">Kanalen browsen</string>
@@ -1132,6 +1132,9 @@ Als het later wordt uitgeschakeld, wordt aanbevolen om de app-gegevens te wissen
<string name="revanced_change_start_page_entry_virtual_reality">Virtuele realiteit</string>
<string name="revanced_change_start_page_entry_watch_later">Later bekijken</string>
<string name="revanced_change_start_page_entry_your_clips">Je clips</string>
<string name="revanced_change_start_page_always_title">Startpagina altijd wijzigen</string>
<string name="revanced_change_start_page_always_summary_on">"De startpagina wordt altijd gewijzigd\n\nBeperking: Het gebruik van de terugknop op de werkbalk werkt mogelijk niet"</string>
<string name="revanced_change_start_page_always_summary_off">Startpagina wordt alleen gewijzigd bij het opstarten van de app</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Schakel het hervatten van Shorts-speler uit</string>

View File

@@ -1107,7 +1107,7 @@ Jeśli później zostanie wyłączony, zaleca się wyczyszczenie danych aplikacj
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 Przywróć stare ikony nawigacji</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Strona startowa</string>
<string name="revanced_change_start_page_title">Zmień stronę startową</string>
<string name="revanced_change_start_page_entry_default">Domyślna</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Wszystkie subskrypcje</string>
<string name="revanced_change_start_page_entry_browse">Przeglądaj kanały</string>
@@ -1132,6 +1132,11 @@ Jeśli później zostanie wyłączony, zaleca się wyczyszczenie danych aplikacj
<string name="revanced_change_start_page_entry_virtual_reality">Wirtualna rzeczywistość</string>
<string name="revanced_change_start_page_entry_watch_later">Do obejrzenia</string>
<string name="revanced_change_start_page_entry_your_clips">Twoje klipy</string>
<string name="revanced_change_start_page_always_title">Zawsze zmieniaj stronę startową</string>
<string name="revanced_change_start_page_always_summary_on">"Strona startowa jest zawsze zmieniana
Ograniczenie: użycie przycisku wstecz na pasku narzędzi może nie działać"</string>
<string name="revanced_change_start_page_always_summary_off">Strona startowa jest zmieniana tylko przy uruchomieniu aplikacji</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Wznawianie odtwarzacza Shortsów</string>

View File

@@ -1104,7 +1104,7 @@ Se posteriormente desativado, é recomendável limpar os dados do aplicativo par
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurar ícones de navegação antigos</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Definir página inicial</string>
<string name="revanced_change_start_page_title">Alterar página inicial</string>
<string name="revanced_change_start_page_entry_default">Padrão</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Todas as inscrições</string>
<string name="revanced_change_start_page_entry_browse">Explorar canais</string>
@@ -1129,6 +1129,11 @@ Se posteriormente desativado, é recomendável limpar os dados do aplicativo par
<string name="revanced_change_start_page_entry_virtual_reality">Realidade virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Assistir mais tarde</string>
<string name="revanced_change_start_page_entry_your_clips">Seus clipes</string>
<string name="revanced_change_start_page_always_title">Sempre alterar a página inicial</string>
<string name="revanced_change_start_page_always_summary_on">"A página inicial é sempre alterada
Limitação: usar o botão Voltar na barra de ferramentas pode não funcionar"</string>
<string name="revanced_change_start_page_always_summary_off">A página inicial é alterada apenas na inicialização do aplicativo</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Desativar continuar a reproduzir Shorts</string>

View File

@@ -1107,7 +1107,7 @@ Nếu sau này tắt, bạn nên xóa dữ liệu ứng dụng để tránh lỗ
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurar ícones antigos de navegação</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Definir página inicial</string>
<string name="revanced_change_start_page_title">Alterar página inicial</string>
<string name="revanced_change_start_page_entry_default">Padrão</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Todas as assinaturas</string>
<string name="revanced_change_start_page_entry_browse">Procurar canais</string>
@@ -1132,6 +1132,11 @@ Nếu sau này tắt, bạn nên xóa dữ liệu ứng dụng để tránh lỗ
<string name="revanced_change_start_page_entry_virtual_reality">Realidade virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Assistir depois</string>
<string name="revanced_change_start_page_entry_your_clips">Seus clipes</string>
<string name="revanced_change_start_page_always_title">Sempre alterar a página inicial</string>
<string name="revanced_change_start_page_always_summary_on">"A página inicial é sempre alterada
Limitação: Usar o botão voltar na barra de ferramentas pode não funcionar"</string>
<string name="revanced_change_start_page_always_summary_off">A página inicial é alterada apenas na inicialização do aplicativo</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Desativar a retomada do player do Shorts</string>

View File

@@ -1106,7 +1106,7 @@ Dacă este dezactivat ulterior, se recomandă să ștergeți datele aplicației
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurați pictogramele de navigare vechi</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Setaţi pagina de start</string>
<string name="revanced_change_start_page_title">Schimbă pagina de start</string>
<string name="revanced_change_start_page_entry_default">Implicit</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Toate abonamentele</string>
<string name="revanced_change_start_page_entry_browse">Navigare canale</string>
@@ -1131,6 +1131,11 @@ Dacă este dezactivat ulterior, se recomandă să ștergeți datele aplicației
<string name="revanced_change_start_page_entry_virtual_reality">Realitate virtuală</string>
<string name="revanced_change_start_page_entry_watch_later">Urmărește mai târziu</string>
<string name="revanced_change_start_page_entry_your_clips">Clipurile tale</string>
<string name="revanced_change_start_page_always_title">Schimbă întotdeauna pagina de pornire</string>
<string name="revanced_change_start_page_always_summary_on">"Pagina de start este întotdeauna schimbată
Limitare: Utilizarea butonului Înapoi de pe bara de instrumente poate să nu funcționeze"</string>
<string name="revanced_change_start_page_always_summary_off">Pagina de pornire este schimbată doar la pornirea aplicației</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Dezactivează reluarea playerului Shorts</string>

View File

@@ -466,8 +466,8 @@ Second \"item\" text"</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Значение затемнения панели жестов должно быть от 0 до 100</string>
<string name="revanced_swipe_threshold_title">Порог величины жеста</string>
<string name="revanced_swipe_threshold_summary">Минимальная амплитуда движения, распознаваемого как жест</string>
<string name="revanced_swipe_volume_sensitivity_title">Чувствительность свайпа для регулировки громкости</string>
<string name="revanced_swipe_volume_sensitivity_summary">На сколько изменяется громкость при каждом свайпе</string>
<string name="revanced_swipe_volume_sensitivity_title">Чувствительность жеста регулировки громкости</string>
<string name="revanced_swipe_volume_sensitivity_summary">Величина изменения громкости при регулировке жестом</string>
<string name="revanced_swipe_show_circular_overlay_title">Показать круговой индикатор</string>
<string name="revanced_swipe_show_circular_overlay_summary_on">Круговой индикатор показан</string>
<string name="revanced_swipe_show_circular_overlay_summary_off">Горизонтальный индикатор показан</string>
@@ -832,8 +832,8 @@ Second \"item\" text"</string>
<string name="revanced_ryd_compact_layout_summary_on">Кнопка \"Лайк\" стилизована для минимальной ширины</string>
<string name="revanced_ryd_compact_layout_summary_off">Кнопка \"Лайк\" стилизована для лучшего внешнего вида</string>
<string name="revanced_ryd_estimated_like_title">Показать примерное количество лайков</string>
<string name="revanced_ryd_estimated_like_summary_on">На видео с отключенными лайками отображается примерное количество лайков</string>
<string name="revanced_ryd_estimated_like_summary_off">Примерное количество лайков не отображается</string>
<string name="revanced_ryd_estimated_like_summary_on">Для видео с отключенными лайками показывается примерное количество лайков</string>
<string name="revanced_ryd_estimated_like_summary_off">Примерное количество лайков скрыто</string>
<string name="revanced_ryd_toast_on_connection_error_title">Уведомление при недоступности API</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Всплывающее уведомление при недоступности Return YouTube Dislike показано</string>
<string name="revanced_ryd_toast_on_connection_error_summary_off">Всплывающее уведомление при недоступности Return YouTube Dislike скрыто</string>
@@ -1107,7 +1107,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Восстановление старых иконок панели навигации</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Начальная страница</string>
<string name="revanced_change_start_page_title">Изменить начальную страницу</string>
<string name="revanced_change_start_page_entry_default">По умолчанию</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Все подписки</string>
<string name="revanced_change_start_page_entry_browse">Просмотр каналов</string>
@@ -1132,6 +1132,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">Виртуальная реальность</string>
<string name="revanced_change_start_page_entry_watch_later">Смотреть позже</string>
<string name="revanced_change_start_page_entry_your_clips">Ваши клипы</string>
<string name="revanced_change_start_page_always_title">Всегда изменять начальную страницу</string>
<string name="revanced_change_start_page_always_summary_on">"Начальная страница изменяется всегда
Ограничение: использование кнопки \"Назад\" на панели инструментов может не работать"</string>
<string name="revanced_change_start_page_always_summary_off">Начальная страница изменяется только при запуске приложения</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Отключить возобновление плеера Shorts</string>

View File

@@ -1097,7 +1097,7 @@ Ak sa neskôr vypne, odporúča sa vymazať údaje aplikácie, aby sa zabránilo
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 Obnoviť staré ikony navigácie</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Nastaviť úvodnú stránku</string>
<string name="revanced_change_start_page_title">Zmeniť úvodnú stránku</string>
<string name="revanced_change_start_page_entry_default">Predvolené</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Všetky odbery</string>
<string name="revanced_change_start_page_entry_browse">Prehliadať kanály</string>
@@ -1122,6 +1122,11 @@ Ak sa neskôr vypne, odporúča sa vymazať údaje aplikácie, aby sa zabránilo
<string name="revanced_change_start_page_entry_virtual_reality">Virtuálna realita</string>
<string name="revanced_change_start_page_entry_watch_later">Pozrieť neskôr</string>
<string name="revanced_change_start_page_entry_your_clips">Vaše klipy</string>
<string name="revanced_change_start_page_always_title">Vždy zmeniť úvodnú stránku</string>
<string name="revanced_change_start_page_always_summary_on">"Úvodná stránka sa vždy zmení
Obmedzenie: Používanie tlačidla Späť na paneli s nástrojmi nemusí fungovať"</string>
<string name="revanced_change_start_page_always_summary_off">Úvodná stránka sa zmení iba pri spustení aplikácie</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Zakázať obnovenie prehrávača Shorts</string>

View File

@@ -1106,7 +1106,7 @@ To bo spremenilo videz in funkcije aplikacije, vendar se lahko pojavijo neznani
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 Obnovi stare ikone za krmarjenje</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Nastavi začetno stran</string>
<string name="revanced_change_start_page_title">Spremeni začetno stran</string>
<string name="revanced_change_start_page_entry_default">Privzeto</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Vse naročnine</string>
<string name="revanced_change_start_page_entry_browse">Brskaj po kanalih</string>
@@ -1131,6 +1131,11 @@ To bo spremenilo videz in funkcije aplikacije, vendar se lahko pojavijo neznani
<string name="revanced_change_start_page_entry_virtual_reality">Virtualna resničnost</string>
<string name="revanced_change_start_page_entry_watch_later">Oglej si kasneje</string>
<string name="revanced_change_start_page_entry_your_clips">Vaši posnetki</string>
<string name="revanced_change_start_page_always_title">Vedno spremeni začetno stran</string>
<string name="revanced_change_start_page_always_summary_on">"Začetna stran je vedno spremenjena
Omejitev: uporaba gumba za nazaj v orodni vrstici morda ne bo delovala"</string>
<string name="revanced_change_start_page_always_summary_off">Začetna stran se spremeni samo ob zagonu aplikacije</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Onemogoči nadaljevanje predvajalnika Shorts</string>

View File

@@ -1105,7 +1105,7 @@ Nëse më vonë është çaktivizuar, është e rekomanduar të fshiheni të dh
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Ristauro ikonave te vjetra te navigimit</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Vendos faqen e fillimit</string>
<string name="revanced_change_start_page_title">Ndrysho faqen e fillimit</string>
<string name="revanced_change_start_page_entry_default">Paragjykja</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Të gjitha abonimet</string>
<string name="revanced_change_start_page_entry_browse">Shfleto kanalet</string>
@@ -1130,6 +1130,11 @@ Nëse më vonë është çaktivizuar, është e rekomanduar të fshiheni të dh
<string name="revanced_change_start_page_entry_virtual_reality">Realiteti Virtual</string>
<string name="revanced_change_start_page_entry_watch_later">Shiko më vonë</string>
<string name="revanced_change_start_page_entry_your_clips">Klipët tuaj</string>
<string name="revanced_change_start_page_always_title">Gjithmonë ndrysho faqen e fillimit</string>
<string name="revanced_change_start_page_always_summary_on">"Faqja e fillimit ndryshohet gjithmonë
Kufizimi: Përdorimi i butonit të kthimit në shiritin e veglave mund të mos funksionojë"</string>
<string name="revanced_change_start_page_always_summary_off">Faqja e fillimit ndryshohet vetëm kur nis aplikacioni</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Fik rifillon lojtarin Shorts</string>

View File

@@ -1106,7 +1106,7 @@ Ako se kasnije isključi, preporučuje se da izbrišete podatke aplikacije da bi
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Vraća stare ikonice navigacije</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Polazna stranica</string>
<string name="revanced_change_start_page_title">Promena polazne stranice</string>
<string name="revanced_change_start_page_entry_default">Podrazumevana</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Sva praćenja</string>
<string name="revanced_change_start_page_entry_browse">Pretraga kanala</string>
@@ -1131,6 +1131,11 @@ Ako se kasnije isključi, preporučuje se da izbrišete podatke aplikacije da bi
<string name="revanced_change_start_page_entry_virtual_reality">Virtuelna realnost</string>
<string name="revanced_change_start_page_entry_watch_later">Za kasnije</string>
<string name="revanced_change_start_page_entry_your_clips">Vaši klipovi</string>
<string name="revanced_change_start_page_always_title">Uvek menjaj polaznu stranicu</string>
<string name="revanced_change_start_page_always_summary_on">"Polazna stranica se uvek menja
Ograničenje: Korišćenje dugmeta „Nazad” na traci sa alatkama možda neće raditi"</string>
<string name="revanced_change_start_page_always_summary_off">Polazna stranica se menja samo pri pokretanju aplikacije</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Onemogući nastavak reprodukcije Shorts plejera</string>

View File

@@ -1106,7 +1106,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Враћа старе иконице навигације</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Полазна страница</string>
<string name="revanced_change_start_page_title">Промена полазне странице</string>
<string name="revanced_change_start_page_entry_default">Подразумевана</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Сва праћења</string>
<string name="revanced_change_start_page_entry_browse">Претрага канала</string>
@@ -1131,6 +1131,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">Виртуелна реалност</string>
<string name="revanced_change_start_page_entry_watch_later">За касније</string>
<string name="revanced_change_start_page_entry_your_clips">Ваши клипови</string>
<string name="revanced_change_start_page_always_title">Увек мењај полазну страницу</string>
<string name="revanced_change_start_page_always_summary_on">"Полазна страница се увек мења
Ограничење: Коришћење дугмета „Назад” на траци са алаткама можда неће радити"</string>
<string name="revanced_change_start_page_always_summary_off">Полазна страница се мења само при покретању апликације</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Онемогући наставак репродукције Shorts плејера</string>

View File

@@ -1106,7 +1106,7 @@ Om det senare stängs av rekommenderas det att rensa appens data för att förhi
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Återställ gamla navigeringsikoner</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Ställ in startsida</string>
<string name="revanced_change_start_page_title">Ändra startsida</string>
<string name="revanced_change_start_page_entry_default">Standard</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Alla prenumerationer</string>
<string name="revanced_change_start_page_entry_browse">Bläddra bland kanaler</string>
@@ -1131,6 +1131,11 @@ Om det senare stängs av rekommenderas det att rensa appens data för att förhi
<string name="revanced_change_start_page_entry_virtual_reality">Virtual reality</string>
<string name="revanced_change_start_page_entry_watch_later">Titta senare</string>
<string name="revanced_change_start_page_entry_your_clips">Dina klipp</string>
<string name="revanced_change_start_page_always_title">Ändra alltid startsida</string>
<string name="revanced_change_start_page_always_summary_on">"Startsidan ändras alltid
Begränsning: Att använda bakåtknappen i verktygsfältet kanske inte fungerar"</string>
<string name="revanced_change_start_page_always_summary_off">Startsidan ändras endast vid appstart</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Inaktivera återupptagande av Shorts spelare</string>

View File

@@ -1105,7 +1105,7 @@ User id ของคุณเหมือนกับรหัสผ่าน
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - กู้คืนไอคอนการนำทางแบบเก่า</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">ตั้งค่าหน้าเริ่มต้น</string>
<string name="revanced_change_start_page_title">เปลี่ยนหน้าเริ่มต้น</string>
<string name="revanced_change_start_page_entry_default">ค่าเริ่มต้น</string>
<string name="revanced_change_start_page_entry_all_subscriptions">สยงสนดการตเปนี</string>
<string name="revanced_change_start_page_entry_browse">เรียกดูช่อง</string>
@@ -1130,6 +1130,11 @@ User id ของคุณเหมือนกับรหัสผ่าน
<string name="revanced_change_start_page_entry_virtual_reality">กทบทาคส์ชียอลัด</string>
<string name="revanced_change_start_page_entry_watch_later">ดูต่อภายหลัง</string>
<string name="revanced_change_start_page_entry_your_clips">คลิปของคุณ</string>
<string name="revanced_change_start_page_always_title">เปลี่ยนหน้าเริ่มต้นเสมอ</string>
<string name="revanced_change_start_page_always_summary_on">"หน้าเริ่มต้นมีการเปลี่ยนแปลงเสมอ
ข้อจำกัด: การใช้ปุ่มย้อนกลับบนแถบเครื่องมืออาจใช้ไม่ได้"</string>
<string name="revanced_change_start_page_always_summary_off">หน้าเริ่มต้นจะเปลี่ยนเมื่อเริ่มแอปเท่านั้น</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">ปิดใช้งานการกลับมาทำงานต่อของเครื่องเล่น Shorts</string>

View File

@@ -1107,7 +1107,7 @@ Daha sonra kapatılırsa, arayüz hatalarını önlemek için uygulama verilerin
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Eski gezinti simgelerini geri getir</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Başlangıç sayfasını ayarla</string>
<string name="revanced_change_start_page_title">Başlangıç sayfasını değiştir</string>
<string name="revanced_change_start_page_entry_default">Varsayılan</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Tüm abonelikler</string>
<string name="revanced_change_start_page_entry_browse">Kanallara göz at</string>
@@ -1132,6 +1132,11 @@ Daha sonra kapatılırsa, arayüz hatalarını önlemek için uygulama verilerin
<string name="revanced_change_start_page_entry_virtual_reality">Sanal Gerçeklik</string>
<string name="revanced_change_start_page_entry_watch_later">Daha sonra izle</string>
<string name="revanced_change_start_page_entry_your_clips">Sizin klipleriniz</string>
<string name="revanced_change_start_page_always_title">Başlangıç sayfasını her zaman değiştir</string>
<string name="revanced_change_start_page_always_summary_on">"Başlangıç sayfası her zaman değiştirilir
Kısıtlama: Araç çubuğundaki geri düğmesini kullanmak işe yaramayabilir"</string>
<string name="revanced_change_start_page_always_summary_off">Başlangıç sayfası yalnızca uygulama başlatılırken değiştirilir</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Shorts oynatıcıya devam edilmesini devre dışı bırak</string>

View File

@@ -832,7 +832,7 @@ Second \"item\" text"</string>
<string name="revanced_ryd_compact_layout_summary_on">Кнопку \"Подобається\" стилізовано під мінімальну ширину</string>
<string name="revanced_ryd_compact_layout_summary_off">Кнопку \"Подобається\" стилізовано для кращого вигляду</string>
<string name="revanced_ryd_estimated_like_title">Показувати приблизну кількість вподобань</string>
<string name="revanced_ryd_estimated_like_summary_on">Відео з вимкненими відмітками \"Подобається\" показують приблизну кількість вподобань</string>
<string name="revanced_ryd_estimated_like_summary_on">На відео з вимкненими відмітками \"Подобається\" показується приблизна кількість вподобань</string>
<string name="revanced_ryd_estimated_like_summary_off">Приблизна кількість вподобань не показується</string>
<string name="revanced_ryd_toast_on_connection_error_title">Показувати тост, якщо API не доступний</string>
<string name="revanced_ryd_toast_on_connection_error_summary_on">Тост показується, якщо Return YouTube Dislike не доступний</string>
@@ -1106,7 +1106,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Відновлення старих іконок панелі навігації</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Початкова сторінка</string>
<string name="revanced_change_start_page_title">Змінити початкову сторінку</string>
<string name="revanced_change_start_page_entry_default">За замовчуванням</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Усі підписки</string>
<string name="revanced_change_start_page_entry_browse">Усі підписки</string>
@@ -1131,6 +1131,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">Віртуальна реальність</string>
<string name="revanced_change_start_page_entry_watch_later">Переглянути пізніше</string>
<string name="revanced_change_start_page_entry_your_clips">Ваші кліпи</string>
<string name="revanced_change_start_page_always_title">Завжди змінювати початкову сторінку</string>
<string name="revanced_change_start_page_always_summary_on">"Початкова сторінка завжди змінюється
Обмеження: Використання кнопки \"Назад\" на панелі інструментів може не працювати"</string>
<string name="revanced_change_start_page_always_summary_off">Початкова сторінка змінюється лише під час запуску програми</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Вимкнути відновлення плеєра Shorts</string>

View File

@@ -23,8 +23,8 @@ Second \"item\" text"</string>
<patch id="misc.checks.checkEnvironmentPatch">
<string name="revanced_check_environment_failed_title">Kiểm tra thất bại</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Mở trang web chính thức</string>
<string name="revanced_check_environment_dialog_ignore_button">Phớt lờ</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Ứng dụng này xem ra không được vá bởi bạn.&lt;/h5&gt;&lt;br&gt;Ứng dụng này có thể không hoạt động chính xác, &lt;b&gt;gây hại hoặc thậm chí nguy hiểm khi ng&lt;/b&gt;.&lt;br&gt;&lt;br&gt;Những lần kiểm tra này ngụ ý rằng ứng dụng được vá trước hoặc được nhận được từ ai khác;&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Cực kỳ khuyến nghị &lt;b&gt;gỡ cài đặt ứng này và tự vá&lt;/b&gt; để chắc chắn bạn dùng ứng dụng hợp lệ và an toàn.&lt;p&gt;&lt;br&gt;Nếu phớt lờ, cảnh báo này sẽ chỉ hiện hai lần.</string>
<string name="revanced_check_environment_dialog_ignore_button">Bỏ qua</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Ứng dụng này xem ra không phải do bạn tự vá.&lt;/h5&gt;&lt;br&gt;Ứng dụng này có thể không hoạt động chính xác, &lt;b&gt;tiềm ẩn rủi ro hoặc thậm chí gây nguy hiểm khi sử dụng&lt;/b&gt;.&lt;br&gt;&lt;br&gt;Những kiểm tra này ngụ ý rằng ứng dụng được vá sẵn hoặc lấy từ nguồn khác;&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Chúng tôi khuyến nghị bạn nên &lt;b&gt;gỡ cài đặt ứng này và tự vá lại&lt;/b&gt; để đảm bảo bạn đang dùng một ứng dụng an toàn và hợp lệ.&lt;p&gt;&lt;br&gt;Cảnh báo này sẽ chỉ hiện hai lần, hãy cân nhắc trước khi bỏ qua.</string>
<string name="revanced_check_environment_not_same_patching_device">Đã vá trên một thiết bị khác</string>
<string name="revanced_check_environment_manager_not_expected_installer">Không được cài đặt bởi ReVanced Manager</string>
<string name="revanced_check_environment_not_near_patch_time">Đã vá hơn 10 phút trước</string>
@@ -39,42 +39,42 @@ Second \"item\" text"</string>
<string name="revanced_settings_restart">Khởi động lại</string>
<string name="revanced_settings_import">Nhập</string>
<string name="revanced_settings_import_copy">Sao chép</string>
<string name="revanced_settings_import_reset">Khôi phục mặc định cài đặt ReVanced</string>
<string name="revanced_settings_import_reset">Cài đặt ReVanced đặt lại thành mặc định</string>
<string name="revanced_settings_import_success">Đã nhập cài đặt %d</string>
<string name="revanced_settings_import_failure_parse">Nhập thất bại: %s</string>
<string name="revanced_show_menu_icons_title">Hiện biểu tượng cài đặt ReVanced</string>
<string name="revanced_show_menu_icons_summary_on">Các biểu tượng cài đặt được hiện</string>
<string name="revanced_show_menu_icons_summary_off">Các biểu tượng cài đặt không được hiện</string>
<string name="revanced_show_menu_icons_summary_on">Các biểu tượng cài đặt được hiển thị</string>
<string name="revanced_show_menu_icons_summary_off">Các biểu tượng cài đặt không được hiển thị</string>
<string name="revanced_language_title">Ngôn ngữ ReVanced</string>
<string name="revanced_language_user_dialog_message">"Dịch cho một số ngôn ngữ có thể bị thiếu hoặc không đầy đủ.
<string name="revanced_language_user_dialog_message">"Một số ngôn ngữ có thể chưa được dịch đầy đủ hoặc bị thiếu.
Để dịch các ngôn ngữ mới, hãy truy cập translate.revanced.app"</string>
Để đóng góp bản dịch các ngôn ngữ mới, hãy truy cập translate.revanced.app"</string>
<string name="revanced_language_DEFAULT">Ngôn ngữ ứng dụng</string>
<string name="revanced_pref_import_export_title">Nhập / Xuất</string>
<string name="revanced_pref_import_export_summary">Nhập / Xuất cài đặt ReVanced</string>
<!-- Settings about dialog. -->
<string name="revanced_settings_about_links_body">Bạn đang dùng Bản vá ReVanced phiên bản &lt;i&gt;%s&lt;/i&gt;</string>
<string name="revanced_settings_about_links_body">Bạn đang dùng ReVanced Patches phiên bản &lt;i&gt;%s&lt;/i&gt;</string>
<string name="revanced_settings_about_links_dev_header">Lưu ý</string>
<string name="revanced_settings_about_links_dev_body">Đây là phiên bản tiền phát hành và bạn có thể gặp phải sự cố không mong muốn</string>
<string name="revanced_settings_about_links_dev_body">Đây là phiên bản phát hành trước và bạn có thể gặp phải sự cố không mong muốn</string>
<string name="revanced_settings_about_links_header">Các liên kết chính thức</string>
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
and changes made here must also be made there. -->
</patch>
<patch id="misc.gms.gmsCoreSupportResourcePatch">
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="gms_core_toast_not_installed_message">MicroG GmsCore chưa được cài đặt. Cài nó.</string>
<string name="gms_core_toast_not_installed_message">MicroG GmsCore chưa được cài đặt. Hãy cài đặt ngay.</string>
<string name="gms_core_dialog_title">Hành động cần thiết</string>
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore không có quyền chạy ngầm.
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore không có quyền chạy nền.
Hãy làm theo hướng dẫn \"Đừng tắt ứng dụng\" của điện thoại bạn và áp dụng các hướng dẫn cho cài đặt MicroG của bạn.
Hãy làm theo hướng dẫn \"Don't kill my app\" dành cho điện thoại của bạn và áp dụng các bước đó để cài đặt MicroG.
Điều này là cần thiết để ứng dụng hoạt động."</string>
Việc cấp quyền chạy nền là bắt buộc để ứng dụng hoạt động."</string>
<string name="gms_core_dialog_open_website_text">Mở trang web</string>
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"Tối ưu hóa pin MicroG GmsCore phải được tắt để tránh sự cố.
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"Cần phải tắt tối ưu hóa pin cho MicroG GmsCore để tránh sự cố.
Tắt tối ưu hóa pin cho MicroG sẽ không ảnh hưởng tiêu cực đến việc sử dụng pin.
Tắt tối ưu hóa pin cho MicroG sẽ không ảnh hưởng đáng kể đến hiệu suất sử dụng pin.
Nhấn nút tiếp tục và cho phép thay đổi tối ưu hóa."</string>
Nhấn nút tiếp tục và cho phép thay đổi lựa chọn tối ưu hóa."</string>
<string name="gms_core_dialog_continue_text">Tiếp tục</string>
</patch>
</app>
@@ -91,13 +91,13 @@ Nhấn nút tiếp tục và cho phép thay đổi tối ưu hóa."</string>
<string name="revanced_settings_screen_11_misc_title">Cài đặt khác</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
<string name="revanced_restore_old_settings_menus_title">Khôi phục trình đơn cài đặt cũ</string>
<string name="revanced_restore_old_settings_menus_summary_on">Các trình đơn cài đặt cũ được hiện</string>
<string name="revanced_restore_old_settings_menus_summary_off">Các trình đơn cài đặt cũ không được hiện</string>
<string name="revanced_restore_old_settings_menus_summary_on">Các trình đơn cài đặt cũ được hiển thị</string>
<string name="revanced_restore_old_settings_menus_summary_off">Các trình đơn cài đặt cũ không được hiển thị</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Tắt phát nền cho Shorts</string>
<string name="revanced_shorts_disable_background_playback_summary_on">Chạy nền cho Shorts được tắt</string>
<string name="revanced_shorts_disable_background_playback_summary_off">Chạy nền cho Shorts được bật</string>
<string name="revanced_shorts_disable_background_playback_summary_on">Phát nền cho Shorts đã tắt</string>
<string name="revanced_shorts_disable_background_playback_summary_off">Phát nền cho Shorts được bật</string>
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
<string name="revanced_debug_screen_title">Gỡ lỗi</string>
@@ -112,131 +112,131 @@ Nhấn nút tiếp tục và cho phép thay đổi tối ưu hóa."</string>
<string name="revanced_debug_stacktrace_summary_on">Nhật ký gỡ lỗi bao gồm truy vết stack</string>
<string name="revanced_debug_stacktrace_summary_off">Nhật ký gỡ lỗi không bao gồm truy vết stack</string>
<string name="revanced_debug_toast_on_error_title">Hiện thông báo nổi về lỗi ReVanced</string>
<string name="revanced_debug_toast_on_error_summary_on">Thông báo nổi được hiện nếu xảy ra lỗi</string>
<string name="revanced_debug_toast_on_error_summary_off">Thông báo nổi không được hiện nếu xảy ra lỗi</string>
<string name="revanced_debug_toast_on_error_summary_on">Thông báo nổi được hiển thị nếu xảy ra lỗi</string>
<string name="revanced_debug_toast_on_error_summary_off">Thông báo nổi không được hiển thị nếu xảy ra lỗi</string>
<string name="revanced_debug_toast_on_error_user_dialog_message">"Tắt thông báo lỗi sẽ ẩn tất cả thông báo lỗi của ReVanced.
Bạn sẽ không được thông báo về bất kỳ sự kiện bất ngờ nào."</string>
</patch>
<patch id="layout.hide.general.hideLayoutComponentsPatch">
<string name="revanced_hide_album_cards_title">Ẩn các thẻ album</string>
<string name="revanced_hide_album_cards_summary_on">Các thẻ album được ẩn</string>
<string name="revanced_hide_album_cards_summary_off">Các thẻ album được hiện</string>
<string name="revanced_hide_album_cards_summary_on">Các thẻ album bị ẩn</string>
<string name="revanced_hide_album_cards_summary_off">Các thẻ album được hiển thị</string>
<string name="revanced_hide_crowdfunding_box_title">Ẩn hộp chiến dịch gây quỹ</string>
<string name="revanced_hide_crowdfunding_box_summary_on">Hộp chiến dịch gây quỹ được ẩn</string>
<string name="revanced_hide_crowdfunding_box_summary_off">Hộp chiến dịch gây quỹ được hiện</string>
<string name="revanced_hide_crowdfunding_box_summary_on">Hộp chiến dịch gây quỹ bị ẩn</string>
<string name="revanced_hide_crowdfunding_box_summary_off">Hộp chiến dịch gây quỹ được hiển thị</string>
<string name="revanced_hide_floating_microphone_button_title">Ẩn nút micrô nổi</string>
<string name="revanced_hide_floating_microphone_button_summary_on">Nút micrô được ẩn</string>
<string name="revanced_hide_floating_microphone_button_summary_off">Nút micrô được hiện</string>
<string name="revanced_hide_floating_microphone_button_summary_on">Nút micrô bị ẩn</string>
<string name="revanced_hide_floating_microphone_button_summary_off">Nút micrô được hiển thị</string>
<string name="revanced_hide_channel_watermark_title">Ẩn hình mờ của kênh</string>
<string name="revanced_hide_channel_watermark_summary_on">Hình mờ được ẩn</string>
<string name="revanced_hide_channel_watermark_summary_off">Hình mờ được hiện</string>
<string name="revanced_hide_channel_watermark_summary_on">Hình mờ bị ẩn</string>
<string name="revanced_hide_channel_watermark_summary_off">Hình mờ được hiển thị</string>
<string name="revanced_hide_horizontal_shelves_title">Ẩn các kệ ngang</string>
<string name="revanced_hide_horizontal_shelves_summary_on">"Kệ bị ẩn chẳng hạn như:
<string name="revanced_hide_horizontal_shelves_summary_on">"Kệ bị ẩn, chẳng hạn như:
• Tin tức nóng
• Tiếp tục xem
• Khám phá thêm kênh
• Mua sắm
• Xem lại"</string>
<string name="revanced_hide_horizontal_shelves_summary_off">Kệ ngang được hiện</string>
<string name="revanced_hide_horizontal_shelves_summary_off">Kệ ngang được hiển thị</string>
<!-- 'Join' should be translated using the same localized wording YouTube displays.
This appears in the video player for certain videos. -->
<string name="revanced_hide_join_membership_button_title">Ẩn nút Tham gia</string>
<string name="revanced_hide_join_membership_button_summary_on">Nút được ẩn</string>
<string name="revanced_hide_join_membership_button_summary_off">Nút được hiện</string>
<string name="revanced_hide_join_membership_button_summary_on">Nút bị ẩn</string>
<string name="revanced_hide_join_membership_button_summary_off">Nút được hiển thị</string>
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_for_you_shelf_title">Ẩn kệ \'Dành cho bạn\'</string>
<string name="revanced_hide_for_you_shelf_summary_on">Kệ trên trang kênh bị ẩn</string>
<string name="revanced_hide_for_you_shelf_summary_off">Kệ trên trang kênh được hiện</string>
<string name="revanced_hide_for_you_shelf_summary_off">Kệ trên trang kênh được hiển thị</string>
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
This item appear in the subscription feed for future livestreams or unreleased videos. -->
<string name="revanced_hide_notify_me_button_title">Ẩn nút Thông báo cho tôi</string>
<string name="revanced_hide_notify_me_button_summary_on">Nút được ẩn</string>
<string name="revanced_hide_notify_me_button_summary_off">Nút được hiện</string>
<string name="revanced_hide_notify_me_button_title">Ẩn nút \'Thông báo cho tôi\'</string>
<string name="revanced_hide_notify_me_button_summary_on">Nút bị ẩn</string>
<string name="revanced_hide_notify_me_button_summary_off">Nút được hiển thị</string>
<!-- 'People also watched' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_search_result_recommendations_title">Ẩn nhãn \"Mọi người cũng đã xem\"</string>
<string name="revanced_hide_search_result_recommendations_summary_on">Nhãn được ẩn</string>
<string name="revanced_hide_search_result_recommendations_summary_off">Nhãn được hiện</string>
<string name="revanced_hide_search_result_recommendations_title">Ẩn nhãn \'Mọi người cũng đã xem\'</string>
<string name="revanced_hide_search_result_recommendations_summary_on">Nhãn bị ẩn</string>
<string name="revanced_hide_search_result_recommendations_summary_off">Nhãn được hiển thị</string>
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
This button usually appears when searching for a YT creator. -->
<string name="revanced_hide_show_more_button_title">Ẩn nút \'Hiện thêm\'</string>
<string name="revanced_hide_show_more_button_summary_on">Nút được ẩn</string>
<string name="revanced_hide_show_more_button_summary_off">Nút được hiện</string>
<string name="revanced_hide_show_more_button_summary_on">Nút bị ẩn</string>
<string name="revanced_hide_show_more_button_summary_off">Nút được hiển thị</string>
<string name="revanced_hide_timed_reactions_title">Ẩn phản ứng theo thời gian</string>
<string name="revanced_hide_timed_reactions_summary_on">Phản ứng theo thời gian được ẩn</string>
<string name="revanced_hide_timed_reactions_summary_off">Phản ứng theo thời gian được hiện</string>
<string name="revanced_hide_timed_reactions_summary_on">Phản ứng theo thời gian bị ẩn</string>
<string name="revanced_hide_timed_reactions_summary_off">Phản ứng theo thời gian được hiển thị</string>
<string name="revanced_hide_channel_guidelines_title">Ẩn nguyên tắc của kênh</string>
<string name="revanced_hide_channel_guidelines_summary_on">Nguyên tắc của kênh được ẩn</string>
<string name="revanced_hide_channel_guidelines_summary_off">Nguyên tắc của kênh được hiện</string>
<string name="revanced_hide_channel_guidelines_summary_on">Nguyên tắc của kênh bị ẩn</string>
<string name="revanced_hide_channel_guidelines_summary_off">Nguyên tắc của kênh được hiển thị</string>
<string name="revanced_hide_chips_shelf_title">Ẩn kệ danh mục được đề xuất</string>
<string name="revanced_hide_chips_shelf_summary_on">Kệ danh mục được đề xuất được ẩn</string>
<string name="revanced_hide_chips_shelf_summary_off">Kệ danh mục được đề xuất được hiện</string>
<string name="revanced_hide_chips_shelf_summary_on">Kệ danh mục được đề xuất bị ẩn</string>
<string name="revanced_hide_chips_shelf_summary_off">Kệ danh mục được đề xuất được hiển thị</string>
<string name="revanced_hide_expandable_chip_title">Ẩn thẻ có thể mở rộng bên dưới video</string>
<string name="revanced_hide_expandable_chip_summary_on">Thẻ có thể mở rộng bị ẩn</string>
<string name="revanced_hide_expandable_chip_summary_off">Thẻ có thể mở rộng được hiện</string>
<string name="revanced_hide_expandable_chip_summary_off">Thẻ có thể mở rộng được hiển thị</string>
<string name="revanced_hide_community_posts_title">Ẩn bài đăng cộng đồng</string>
<string name="revanced_hide_community_posts_summary_on">Bài đăng cộng đồng được ẩn</string>
<string name="revanced_hide_community_posts_summary_off">Bài đăng cộng đồng được hiện</string>
<string name="revanced_hide_community_posts_summary_on">Bài đăng cộng đồng bị ẩn</string>
<string name="revanced_hide_community_posts_summary_off">Bài đăng cộng đồng được hiển thị</string>
<string name="revanced_hide_compact_banner_title">Ẩn biểu ngữ vắn tắt</string>
<string name="revanced_hide_compact_banner_summary_on">Biểu ngữ vắn tắt được ẩn</string>
<string name="revanced_hide_compact_banner_summary_off">Biểu ngữ vắn tắt được hiện</string>
<string name="revanced_hide_compact_banner_summary_on">Biểu ngữ vắn tắt bị ẩn</string>
<string name="revanced_hide_compact_banner_summary_off">Biểu ngữ vắn tắt được hiển thị</string>
<string name="revanced_hide_movies_section_title">Ẩn phần phim</string>
<string name="revanced_hide_movies_section_summary_on">Phần phim được ẩn</string>
<string name="revanced_hide_movies_section_summary_off">Phần phim được hiện</string>
<string name="revanced_hide_movies_section_summary_on">Phần phim bị ẩn</string>
<string name="revanced_hide_movies_section_summary_off">Phần phim được hiển thị</string>
<string name="revanced_hide_feed_survey_title">Ẩn khảo sát ở bảng tin</string>
<string name="revanced_hide_feed_survey_summary_on">Khảo sát ở bảng tin được ẩn</string>
<string name="revanced_hide_feed_survey_summary_off">Khảo sát ở bảng tin được hiện</string>
<string name="revanced_hide_feed_survey_summary_on">Khảo sát ở bảng tin bị ẩn</string>
<string name="revanced_hide_feed_survey_summary_off">Khảo sát ở bảng tin được hiển thị</string>
<string name="revanced_hide_community_guidelines_title">Ẩn nguyên tắc cộng đồng</string>
<string name="revanced_hide_community_guidelines_summary_on">Nguyên tắc cộng đồng được ẩn</string>
<string name="revanced_hide_community_guidelines_summary_on">Nguyên tắc cộng đồng bị ẩn</string>
<string name="revanced_hide_community_guidelines_summary_off">Nguyên tắc cộng đồng được hiện</string>
<string name="revanced_hide_subscribers_community_guidelines_title">Ẩn nguyên tắc cộng đồng cho người đăng ký</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Nguyên tắc cộng đồng cho người đăng ký được ẩn</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Nguyên tắc cộng đồng dành cho người đăng ký được hiện</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Nguyên tắc cộng đồng cho người đăng ký bị ẩn</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Nguyên tắc cộng đồng dành cho người đăng ký được hiển thị</string>
<string name="revanced_hide_channel_member_shelf_title">Ẩn kệ hội viên kênh</string>
<string name="revanced_hide_channel_member_shelf_summary_on">Kệ hội viên kênh được ẩn</string>
<string name="revanced_hide_channel_member_shelf_summary_off">Kệ hội viên kênh được hiện</string>
<string name="revanced_hide_channel_member_shelf_summary_on">Kệ hội viên kênh bị ẩn</string>
<string name="revanced_hide_channel_member_shelf_summary_off">Kệ hội viên kênh được hiển thị</string>
<string name="revanced_hide_emergency_box_title">Ẩn hộp khẩn cấp</string>
<string name="revanced_hide_emergency_box_summary_on">Hộp khẩn cấp được được ẩn</string>
<string name="revanced_hide_emergency_box_summary_off">Hộp khẩn cấp được hiện</string>
<string name="revanced_hide_emergency_box_summary_on">Hộp khẩn cấp được bị ẩn</string>
<string name="revanced_hide_emergency_box_summary_off">Hộp khẩn cấp được hiển thị</string>
<string name="revanced_hide_info_panels_title">Ẩn bảng thông tin</string>
<string name="revanced_hide_info_panels_summary_on">Bảng thông tin được ẩn</string>
<string name="revanced_hide_info_panels_summary_off">Bảng thông tin được hiện</string>
<string name="revanced_hide_info_panels_summary_on">Bảng thông tin bị ẩn</string>
<string name="revanced_hide_info_panels_summary_off">Bảng thông tin được hiển thị</string>
<string name="revanced_hide_medical_panels_title">Ẩn bảng thông tin y tế</string>
<string name="revanced_hide_medical_panels_summary_on">Bảng thông tin y tế được ẩn</string>
<string name="revanced_hide_medical_panels_summary_off">Bảng thông tin y tế được hiện</string>
<string name="revanced_hide_medical_panels_summary_on">Bảng thông tin y tế bị ẩn</string>
<string name="revanced_hide_medical_panels_summary_off">Bảng thông tin y tế được hiển thị</string>
<string name="revanced_hide_channel_bar_title">Ẩn nút kênh</string>
<string name="revanced_hide_channel_bar_summary_on">Nút kênh được ẩn</string>
<string name="revanced_hide_channel_bar_summary_off">Nút kênh được hiện</string>
<string name="revanced_hide_playables_title">Ẩn phần phát được</string>
<string name="revanced_hide_playables_summary_on">Phần phát được ẩn</string>
<string name="revanced_hide_playables_summary_off">Phần phát được được hiện</string>
<string name="revanced_hide_channel_bar_summary_on">Nút kênh bị ẩn</string>
<string name="revanced_hide_channel_bar_summary_off">Nút kênh được hiển thị</string>
<string name="revanced_hide_playables_title">Ẩn Playables</string>
<string name="revanced_hide_playables_summary_on">Playables bị ẩn</string>
<string name="revanced_hide_playables_summary_off">Playables được hiển thị</string>
<string name="revanced_hide_quick_actions_title">Ẩn các hành động nhanh khi ở toàn màn hình</string>
<string name="revanced_hide_quick_actions_summary_on">Hành động nhanh được ẩn</string>
<string name="revanced_hide_quick_actions_summary_off">Hành động nhanh được hiện</string>
<string name="revanced_hide_quick_actions_summary_on">Hành động nhanh bị ẩn</string>
<string name="revanced_hide_quick_actions_summary_off">Hành động nhanh được hiển thị</string>
<string name="revanced_hide_related_videos_title">Ẩn các video liên quan trong hành động nhanh</string>
<string name="revanced_hide_related_videos_summary_on">Các video liên quan được ẩn</string>
<string name="revanced_hide_related_videos_summary_off">Các video liên quan được hiện</string>
<string name="revanced_hide_related_videos_summary_on">Các video liên quan bị ẩn</string>
<string name="revanced_hide_related_videos_summary_off">Các video liên quan được hiển thị</string>
<string name="revanced_hide_image_shelf_title">Ẩn kệ hình ảnh từ kết quả tìm kiếm</string>
<string name="revanced_hide_image_shelf_summary_on">Kệ hình ảnh được ẩn</string>
<string name="revanced_hide_image_shelf_summary_off">Kệ hình ảnh được hiện</string>
<string name="revanced_hide_image_shelf_summary_on">Kệ hình ảnh bị ẩn</string>
<string name="revanced_hide_image_shelf_summary_off">Kệ hình ảnh được hiển thị</string>
<string name="revanced_hide_latest_posts_ads_title">Ẩn bài đăng mới nhất</string>
<string name="revanced_hide_latest_posts_ads_summary_on">Bài đăng mới nhất được ẩn</string>
<string name="revanced_hide_latest_posts_ads_summary_off">Bài đăng mới nhất được hiện</string>
<string name="revanced_hide_latest_posts_ads_summary_on">Bài đăng mới nhất bị ẩn</string>
<string name="revanced_hide_latest_posts_ads_summary_off">Bài đăng mới nhất được hiển thị</string>
<string name="revanced_hide_mix_playlists_title">Ẩn danh sách phát tổng hợp</string>
<string name="revanced_hide_mix_playlists_summary_on">Danh sách phát tổng hợp được ẩn</string>
<string name="revanced_hide_mix_playlists_summary_off">Danh sách phát tổng hợp được hiện</string>
<string name="revanced_hide_mix_playlists_summary_on">Danh sách phát tổng hợp bị ẩn</string>
<string name="revanced_hide_mix_playlists_summary_off">Danh sách phát tổng hợp được hiển thị</string>
<string name="revanced_hide_artist_cards_title">Ẩn thẻ nghệ sĩ</string>
<string name="revanced_hide_artist_cards_summary_on">Thẻ nghệ sĩ được ẩn</string>
<string name="revanced_hide_artist_cards_summary_off">Thẻ nghệ sĩ được hiện</string>
<string name="revanced_hide_artist_cards_summary_on">Thẻ nghệ sĩ bị ẩn</string>
<string name="revanced_hide_artist_cards_summary_off">Thẻ nghệ sĩ được hiển thị</string>
<string name="revanced_hide_ai_generated_video_summary_section_title">Ẩn \'Tóm tắt video do AI tạo\'</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Phần tóm tắt video được ẩn</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Phần tóm tắt video được hiện</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Phần tóm tắt video bị ẩn</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Phần tóm tắt video được hiển thị</string>
<string name="revanced_hide_attributes_section_title">Ẩn Thuộc tính</string>
<string name="revanced_hide_attributes_section_summary_on">Phần Địa điểm nổi bật, Trò chơi, Âm nhạc và Người được đề cập bị ẩn</string>
<string name="revanced_hide_attributes_section_summary_off">Phần Địa điểm nổi bật, Trò chơi, Âm nhạc và Người được đề cập được hiện</string>
<string name="revanced_hide_attributes_section_summary_off">Phần Địa điểm nổi bật, Trò chơi, Âm nhạc và Người được đề cập được hiển thị</string>
<string name="revanced_hide_chapters_section_title">Ẩn Chương</string>
<string name="revanced_hide_chapters_section_summary_on">Phần chương được ẩn</string>
<string name="revanced_hide_chapters_section_summary_off">Phần chương được hiện</string>
<string name="revanced_hide_chapters_section_summary_on">Phần chương bị ẩn</string>
<string name="revanced_hide_chapters_section_summary_off">Phần chương được hiển thị</string>
<string name="revanced_hide_how_this_was_made_section_title">Ẩn \'Nội dung này được tạo như thế nào\'</string>
<string name="revanced_hide_how_this_was_made_section_summary_on">Phần Nội dung này được tạo như thế nào được ẩn</string>
<string name="revanced_hide_how_this_was_made_section_summary_off">Phần Nội dung này được tạo như thế nào được hiện</string>
@@ -272,7 +272,7 @@ Bạn sẽ không được thông báo về bất kỳ sự kiện bất ngờ n
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Tóm tắt trò chuyện được hiện</string>
<string name="revanced_hide_comments_ai_summary_title">Ẩn tóm tắt Bình luận AI</string>
<string name="revanced_hide_comments_ai_summary_summary_on">Tóm tắt bình luận được ẩn</string>
<string name="revanced_hide_comments_ai_summary_summary_off">Tóm tắt bình luận được hiện</string>
<string name="revanced_hide_comments_ai_summary_summary_off">Tóm tắt bình luận được hiển thị</string>
<string name="revanced_hide_comments_by_members_header_title">Ẩn tiêu đề \'Bình luận bởi hội viên\'</string>
<string name="revanced_hide_comments_by_members_header_summary_on">Tiêu đề Bình luận bởi hội viên được ẩn</string>
<string name="revanced_hide_comments_by_members_header_summary_off">Tiêu đề Bình luận bởi hội viên được hiện</string>
@@ -434,7 +434,7 @@ Tính năng này chỉ khả dụng cho các thiết bị cũ hơn"</string>
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
<string name="revanced_seekbar_tapping_title">Bật nhấn để tua</string>
<string name="revanced_seekbar_tapping_summary_on">Nhấn để tua được bật</string>
<string name="revanced_seekbar_tapping_summary_off">Nhấn để tua được tắt</string>
<string name="revanced_seekbar_tapping_summary_off">Nhấn để tua bị tắt</string>
</patch>
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
<string name="revanced_swipe_brightness_title">Bật cử chỉ độ sáng</string>
@@ -448,8 +448,8 @@ Tính năng này chỉ khả dụng cho các thiết bị cũ hơn"</string>
Điều chỉnh âm lượng bằng cách vuốt dọc ở bên phải màn hình"</string>
<string name="revanced_swipe_volume_summary_off">Vuốt âm lượng được tắt</string>
<string name="revanced_swipe_press_to_engage_title">Bật cử chỉ nhấn-để-vuốt</string>
<string name="revanced_swipe_press_to_engage_summary_on">Nhấn-để-vuốt được bật</string>
<string name="revanced_swipe_press_to_engage_summary_off">Nhấn-để-vuốt được tắt</string>
<string name="revanced_swipe_press_to_engage_summary_on">Nhấn-để-vuốt đã bật</string>
<string name="revanced_swipe_press_to_engage_summary_off">Nhấn-để-vuốt đã tắt</string>
<string name="revanced_swipe_haptic_feedback_title">Bật phản hồi xúc giác</string>
<string name="revanced_swipe_haptic_feedback_summary_on">Phản hồi xúc giác đã bật</string>
<string name="revanced_swipe_haptic_feedback_summary_off">Phản hồi xúc giác đã tắt</string>
@@ -615,9 +615,9 @@ Nếu việc thay đổi cài đặt này không có hiệu lực, hãy thử ch
<string name="revanced_hide_player_flyout_audio_track_summary_on">Nút bản âm thanh được ẩn</string>
<string name="revanced_hide_player_flyout_audio_track_summary_off">Nút bản âm thanh được hiện</string>
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"Menu theo dõi âm thanh bị ẩn
<string name="revanced_hide_player_flyout_audio_track_not_available">"Trình đơn bản âm thanh bị ẩn
Để hiển thị menu Theo dõi âm thanh, hãy thay đổi 'Giả mạo luồng video' thành iOS TV"</string>
Để hiển thị Trình đơn bản âm thanh, hãy thay đổi 'Giả mạo luồng phát video trực tuyến' thành iOS TV"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">Ẩn Xem trong thực tế ảo</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">Trình đơn xem trong thực tế ảo được ẩn</string>
@@ -647,7 +647,7 @@ Nếu việc thay đổi cài đặt này không có hiệu lực, hãy thử ch
<string name="revanced_hide_endscreen_cards_summary_off">Thẻ kết thúc màn hình được hiện</string>
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
<string name="revanced_disable_fullscreen_ambient_mode_title">Tắt chế độ Ambient khi toàn màn hình</string>
<string name="revanced_disable_fullscreen_ambient_mode_title">Tắt chế độ môi trường khi toàn màn hình</string>
<string name="revanced_disable_fullscreen_ambient_mode_summary_on">Chế độ môi trường được tắt</string>
<string name="revanced_disable_fullscreen_ambient_mode_summary_off">Chế độ môi trường được bật</string>
</patch>
@@ -1106,7 +1106,7 @@ Nếu sau này tắt đi, bạn nên xóa dữ liệu ứng dụng để tránh
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Khôi phục biểu tượng điều hướng cũ</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Đặt trang bắt đầu</string>
<string name="revanced_change_start_page_title">Thay đổi trang bắt đầu</string>
<string name="revanced_change_start_page_entry_default">Mặc định</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Tất cả đăng ký</string>
<string name="revanced_change_start_page_entry_browse">Duyệt kênh</string>
@@ -1131,6 +1131,11 @@ Nếu sau này tắt đi, bạn nên xóa dữ liệu ứng dụng để tránh
<string name="revanced_change_start_page_entry_virtual_reality">Thực tế ảo</string>
<string name="revanced_change_start_page_entry_watch_later">Xem sau</string>
<string name="revanced_change_start_page_entry_your_clips">Clip của bạn</string>
<string name="revanced_change_start_page_always_title">Luôn thay đổi trang bắt đầu</string>
<string name="revanced_change_start_page_always_summary_on">"Trang bắt đầu luôn được thay đổi
Giới hạn: Sử dụng nút quay lại trên thanh công cụ có thể không hoạt động"</string>
<string name="revanced_change_start_page_always_summary_off">Trang bắt đầu chỉ được thay đổi khi khởi động ứng dụng</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Tắt tiếp tục trình phát Shorts</string>
@@ -1183,10 +1188,10 @@ Trình phát nhỏ có thể được kéo đến bất kỳ góc nào của mà
Trình phát nhỏ có thể được kéo ra khỏi màn hình sang trái hoặc phải"</string>
<string name="revanced_miniplayer_horizontal_drag_summary_off">Cử chỉ kéo ngang được tắt</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ẩn các nút lớp phủ</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Các nút lớp phủ được ẩn</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Các nút lớp phủ bị ẩn</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Các nút lớp phủ được hiện</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ẩn các nút mở rộng và đóng</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nút được ẩn
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Các nút bị ẩn
Vuốt để mở rộng hoặc đóng"</string>
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Các nút mở rộng và đóng được hiện</string>
@@ -1392,18 +1397,18 @@ Phát lại video có thể không hoạt động"</string>
AVC có độ phân giải tối đa là 1080p, bộ giải mã âm thanh Opus không khả dụng và phát lại video sẽ sử dụng nhiều dữ liệu internet hơn VP9 hoặc AV1."</string>
<string name="revanced_spoof_video_streams_about_ios_tv_title">Tác dụng phụ của việc giả mạo iOS</string>
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Phim hoặc video có trả phí không thể phát
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• Phim hoặc video có trả phí có thể không phát được
• Âm lượng ổn định không khả dụng
• Video có thể kết thúc sớm hơn 1 giây"</string>
<string name="revanced_spoof_video_streams_about_android_title">Tác dụng phụ của việc giả mạo Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Trình đơn âm thanh bị thiếu
<string name="revanced_spoof_video_streams_about_android_summary">"• Trình đơn bản âm thanh bị thiếu
• Âm lượng ổn định không khả dụng
• Tùy chọn âm thanh gốc không khả dụng"</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Không có bộ giải mã video AV1</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Video dành cho trẻ em có thể không phát được khi đăng xuất hoặc ở chế độ ẩn danh</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Hin trong Stats for nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Loại máy khách được hiện trong Stats for nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Máy khách bị ẩn trong Stats for nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Hin thị trong Thống kê chi tiết</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Loại máy khách được hiện trong Thống kê chi tiết</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Máy khách bị ẩn trong Thống kê chi tiết</string>
<string name="revanced_spoof_video_streams_language_title">Ngôn ngữ âm thanh mặc định của VR</string>
</patch>
</app>

View File

@@ -1111,7 +1111,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - 还原旧的导航图标</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">设置起始页</string>
<string name="revanced_change_start_page_title">更改起始页</string>
<string name="revanced_change_start_page_entry_default">默认</string>
<string name="revanced_change_start_page_entry_all_subscriptions">所有订阅频道</string>
<string name="revanced_change_start_page_entry_browse">浏览频道</string>
@@ -1136,6 +1136,11 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_virtual_reality">虚拟实境</string>
<string name="revanced_change_start_page_entry_watch_later">稍后观看</string>
<string name="revanced_change_start_page_entry_your_clips">你的剪辑</string>
<string name="revanced_change_start_page_always_title">始终更改起始页</string>
<string name="revanced_change_start_page_always_summary_on">"起始页始终已更改
限制:工具栏上的后退按钮可能无法使用"</string>
<string name="revanced_change_start_page_always_summary_off">起始页仅在应用启动时更改</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">禁用恢复 Shorts 播放器</string>

View File

@@ -479,6 +479,9 @@ Second \"item\" text"</string>
<string name="revanced_swipe_change_video_summary_off">在全螢幕模式下滑動將不會切換到下一部/上一部影片</string>
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_disable_auto_captions_title">停用自動產生的字幕</string>
<string name="revanced_disable_auto_captions_summary_on">已停用自動產生的字幕</string>
<string name="revanced_disable_auto_captions_summary_off">已啟用自動產生的字幕</string>
</patch>
<patch id="layout.buttons.action.hideButtonsPatch">
<string name="revanced_hide_buttons_screen_title">動作按鈕</string>
@@ -1103,7 +1106,6 @@ Second \"item\" text"</string>
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - 還原舊版導覽圖示</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">設定起始頁面</string>
<string name="revanced_change_start_page_entry_default">預設</string>
<string name="revanced_change_start_page_entry_all_subscriptions">所有訂閱內容</string>
<string name="revanced_change_start_page_entry_browse">瀏覽頻道</string>

View File

@@ -135,6 +135,27 @@
<item>IOS_UNPLUGGED</item>
</string-array>
</patch>
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
<string-array name="revanced_swipe_overlay_style_entries">
<item>@string/revanced_swipe_overlay_style_entry_1</item>
<item>@string/revanced_swipe_overlay_style_entry_2</item>
<item>@string/revanced_swipe_overlay_style_entry_3</item>
<item>@string/revanced_swipe_overlay_style_entry_4</item>
<item>@string/revanced_swipe_overlay_style_entry_5</item>
<item>@string/revanced_swipe_overlay_style_entry_6</item>
<item>@string/revanced_swipe_overlay_style_entry_7</item>
</string-array>
<string-array name="revanced_swipe_overlay_style_entry_values">
<!-- Extension enum names. -->
<item>HORIZONTAL</item>
<item>HORIZONTAL_MINIMAL_TOP</item>
<item>HORIZONTAL_MINIMAL_CENTER</item>
<item>CIRCULAR</item>
<item>CIRCULAR_MINIMAL</item>
<item>VERTICAL</item>
<item>VERTICAL_MINIMAL</item>
</string-array>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string-array name="revanced_spoof_app_version_target_entries">
<item>@string/revanced_spoof_app_version_target_entry_1</item>

View File

@@ -520,21 +520,30 @@ Adjust volume by swiping vertically on the right side of the screen"</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Enable auto-brightness gesture</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Swiping down to the lowest value of the brightness gesture enable auto-brightness</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Swiping down to the lowest value does not enable auto-brightness</string>
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Auto</string>
<string name="revanced_swipe_overlay_timeout_title">Swipe overlay timeout</string>
<string name="revanced_swipe_overlay_timeout_summary">The amount of milliseconds the overlay is visible</string>
<string name="revanced_swipe_overlay_background_opacity_title">Swipe overlay background opacity</string>
<string name="revanced_swipe_overlay_background_opacity_summary">Opacity value between 0-100</string>
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Swipe opacity must be between 0-100</string>
<string name="revanced_swipe_overlay_progress_color_title">Swipe overlay progress bar color</string>
<string name="revanced_swipe_overlay_progress_color_summary">The color of the progress bar for volume and brightness controls</string>
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Invalid progress bar color</string>
<string name="revanced_swipe_text_overlay_size_title">Swipe overlay text size</string>
<string name="revanced_swipe_text_overlay_size_summary">The text size for swipe overlay between 1-30</string>
<string name="revanced_swipe_text_overlay_size_invalid_toast">The text size must be between 1-30</string>
<string name="revanced_swipe_threshold_title">Swipe magnitude threshold</string>
<string name="revanced_swipe_threshold_summary">The amount of threshold for swipe to occur</string>
<string name="revanced_swipe_volume_sensitivity_title">Volume swipe sensitivity</string>
<string name="revanced_swipe_volume_sensitivity_summary">How much the volume changes per swipe</string>
<string name="revanced_swipe_show_circular_overlay_title">Show circular overlay</string>
<string name="revanced_swipe_show_circular_overlay_summary_on">Circular overlay is shown</string>
<string name="revanced_swipe_show_circular_overlay_summary_off">Horizontal overlay is shown</string>
<string name="revanced_swipe_overlay_minimal_style_title">Enable minimal style</string>
<string name="revanced_swipe_overlay_minimal_style_summary_on">Minimal overlay style is enabled</string>
<string name="revanced_swipe_overlay_minimal_style_summary_off">Minimal overlay style is disabled</string>
<string name="revanced_swipe_overlay_style_title">Swipe overlay style</string>
<string name="revanced_swipe_overlay_style_entry_1">Horizontal overlay</string>
<string name="revanced_swipe_overlay_style_entry_2">Horizontal overlay (minimal - top)</string>
<string name="revanced_swipe_overlay_style_entry_3">Horizontal overlay (minimal - center)</string>
<string name="revanced_swipe_overlay_style_entry_4">Circular overlay</string>
<string name="revanced_swipe_overlay_style_entry_5">Circular overlay (minimal)</string>
<string name="revanced_swipe_overlay_style_entry_6">Vertical overlay</string>
<string name="revanced_swipe_overlay_style_entry_7">Vertical overlay (minimal)</string>
<string name="revanced_swipe_change_video_title">Enable swipe to change videos</string>
<string name="revanced_swipe_change_video_summary_on">Swiping in fullscreen mode will change to the next/previous video</string>
<string name="revanced_swipe_change_video_summary_off">Swiping in fullscreen mode will not change to the next/previous video</string>
@@ -1173,7 +1182,7 @@ If later turned off, it is recommended to clear the app data to prevent UI bugs.
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restore old navigation icons</string>
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">Set start page</string>
<string name="revanced_change_start_page_title">Change start page</string>
<string name="revanced_change_start_page_entry_default">Default</string>
<string name="revanced_change_start_page_entry_all_subscriptions">All subscriptions</string>
<string name="revanced_change_start_page_entry_browse">Browse channels</string>
@@ -1199,6 +1208,11 @@ If later turned off, it is recommended to clear the app data to prevent UI bugs.
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
<string name="revanced_change_start_page_entry_watch_later">Watch later</string>
<string name="revanced_change_start_page_entry_your_clips">Your clips</string>
<string name="revanced_change_start_page_always_title">Always change start page</string>
<string name="revanced_change_start_page_always_summary_on">"Start page is always changed
Limitation: Using the back button on the toolbar may not work"</string>
<string name="revanced_change_start_page_always_summary_off">Start page is changed only on app startup</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">Disable resuming Shorts player</string>