feat(YouTube - Hide layout components): Add Hide channel links preview and Hide 'Visit Community' button in channel page (#5320)

This commit is contained in:
ILoveOpenSourceApplications
2025-07-04 14:02:48 +05:30
committed by GitHub
parent 90a3262f68
commit 3eac215e13
7 changed files with 142 additions and 124 deletions

View File

@@ -34,10 +34,6 @@ public final class AdsFilter extends Filter {
private final StringFilterGroup playerShoppingShelf;
private final ByteArrayFilterGroup playerShoppingShelfBuffer;
private final StringFilterGroup channelProfile;
private final ByteArrayFilterGroup visitStoreButton;
private final StringFilterGroup shoppingLinks;
public AdsFilter() {
exceptions.addPatterns(
@@ -113,18 +109,13 @@ public final class AdsFilter extends Filter {
"shopping_overlay.eml" // Video player overlay shopping links.
);
shoppingLinks = new StringFilterGroup(
Settings.HIDE_TAGGED_PRODUCTS,
"expandable_list"
);
final var storeProductsShelf = new StringFilterGroup(
Settings.HIDE_CREATOR_STORE_SHELVES,
final var shoppingLinks = new StringFilterGroup(
Settings.HIDE_SHOPPING_LINKS,
"shopping_description_shelf.eml"
);
playerShoppingShelf = new StringFilterGroup(
Settings.HIDE_CREATOR_STORE_SHELVES,
Settings.HIDE_CREATOR_STORE_SHELF,
"horizontal_shelf.eml"
);
@@ -133,17 +124,6 @@ public final class AdsFilter extends Filter {
"shopping_item_card_list"
);
channelProfile = new StringFilterGroup(
Settings.HIDE_VISIT_STORE_BUTTON,
"channel_profile.eml",
"page_header.eml"
);
visitStoreButton = new ByteArrayFilterGroup(
null,
"header_store_button"
);
final var webLinkPanel = new StringFilterGroup(
Settings.HIDE_WEB_SEARCH_RESULTS,
"web_link_panel"
@@ -161,7 +141,6 @@ public final class AdsFilter extends Filter {
);
addPathCallbacks(
channelProfile,
fullscreenAd,
generalAds,
merchandise,
@@ -169,7 +148,6 @@ public final class AdsFilter extends Filter {
playerShoppingShelf,
selfSponsor,
shoppingLinks,
storeProductsShelf,
viewProducts,
webLinkPanel
);
@@ -182,11 +160,6 @@ public final class AdsFilter extends Filter {
return contentIndex == 0 && playerShoppingShelfBuffer.check(protobufBufferArray).isFiltered();
}
// Check for the index because of likelihood of false positives.
if (contentIndex != 0 && matchedGroup == shoppingLinks) {
return false;
}
if (exceptions.matches(path)) {
return false;
}
@@ -198,10 +171,6 @@ public final class AdsFilter extends Filter {
return false;
}
if (matchedGroup == channelProfile) {
return visitStoreButton.check(protobufBufferArray).isFiltered();
}
return true;
}

View File

@@ -7,7 +7,7 @@ import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
final class CommentsFilter extends Filter {
private final StringFilterGroup filterChipBar;
private final StringFilterGroup chipBar;
private final ByteArrayFilterGroup aiCommentsSummary;
public CommentsFilter() {
@@ -16,6 +16,21 @@ final class CommentsFilter extends Filter {
"live_chat_summary_banner.eml"
);
chipBar = new StringFilterGroup(
Settings.HIDE_COMMENTS_AI_SUMMARY,
"chip_bar.eml"
);
aiCommentsSummary = new ByteArrayFilterGroup(
null,
"yt_fill_spark_"
);
var channelGuidelines = new StringFilterGroup(
Settings.HIDE_COMMENTS_CHANNEL_GUIDELINES,
"channel_guidelines_entry_banner"
);
var commentsByMembers = new StringFilterGroup(
Settings.HIDE_COMMENTS_BY_MEMBERS_HEADER,
"sponsorships_comments_header.eml",
@@ -28,6 +43,11 @@ final class CommentsFilter extends Filter {
"_comments"
);
var communityGuidelines = new StringFilterGroup(
Settings.HIDE_COMMENTS_COMMUNITY_GUIDELINES,
"community_guidelines"
);
var createAShort = new StringFilterGroup(
Settings.HIDE_COMMENTS_CREATE_A_SHORT_BUTTON,
"composer_short_creation_button.eml"
@@ -50,32 +70,25 @@ final class CommentsFilter extends Filter {
"composer_timestamp_button.eml"
);
filterChipBar = new StringFilterGroup(
Settings.HIDE_COMMENTS_AI_SUMMARY,
"chip_bar.eml"
);
aiCommentsSummary = new ByteArrayFilterGroup(
null,
"yt_fill_spark_"
);
addPathCallbacks(
channelGuidelines,
chatSummary,
chipBar,
commentsByMembers,
comments,
communityGuidelines,
createAShort,
previewComment,
thanksButton,
timestampButton,
filterChipBar
timestampButton
);
}
@Override
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
if (matchedGroup == filterChipBar) {
if (matchedGroup == chipBar) {
return aiCommentsSummary.check(protobufBufferArray).isFiltered();
}

View File

@@ -40,6 +40,8 @@ public final class LayoutComponentsFilter extends Filter {
private final StringFilterGroup horizontalShelves;
private final ByteArrayFilterGroup ticketShelf;
private final StringFilterGroup chipBar;
private final StringFilterGroup channelProfile;
private final ByteArrayFilterGroupList channelProfileBuffer;
public LayoutComponentsFilter() {
exceptions.addPatterns(
@@ -81,18 +83,13 @@ public final class LayoutComponentsFilter extends Filter {
"poll_post_responsive_root.eml"
);
final var communityGuidelines = new StringFilterGroup(
Settings.HIDE_COMMUNITY_GUIDELINES,
"community_guidelines"
);
final var subscribersCommunityGuidelines = new StringFilterGroup(
Settings.HIDE_SUBSCRIBERS_COMMUNITY_GUIDELINES,
"sponsorships_comments_upsell"
);
final var channelMemberShelf = new StringFilterGroup(
Settings.HIDE_CHANNEL_MEMBER_SHELF,
final var channelMembersShelf = new StringFilterGroup(
Settings.HIDE_MEMBERS_SHELF,
"member_recognition_shelf"
);
@@ -139,13 +136,13 @@ public final class LayoutComponentsFilter extends Filter {
);
final var latestPosts = new StringFilterGroup(
Settings.HIDE_HIDE_LATEST_POSTS,
Settings.HIDE_LATEST_POSTS,
"post_shelf"
);
final var channelGuidelines = new StringFilterGroup(
Settings.HIDE_HIDE_CHANNEL_GUIDELINES,
"channel_guidelines_entry_banner"
final var channelLinksPreview = new StringFilterGroup(
Settings.HIDE_LINKS_PREVIEW,
"attribution.eml"
);
final var emergencyBox = new StringFilterGroup(
@@ -200,7 +197,6 @@ public final class LayoutComponentsFilter extends Filter {
"image_shelf"
);
final var timedReactions = new StringFilterGroup(
Settings.HIDE_TIMED_REACTIONS,
"emoji_control_panel",
@@ -227,7 +223,6 @@ public final class LayoutComponentsFilter extends Filter {
"sponsorships"
);
final var channelWatermark = new StringFilterGroup(
Settings.HIDE_VIDEO_CHANNEL_WATERMARK,
"featured_channel_watermark_overlay"
@@ -243,6 +238,22 @@ public final class LayoutComponentsFilter extends Filter {
"endorsement_header_footer.eml"
);
channelProfile = new StringFilterGroup(
null,
"channel_profile.eml",
"page_header.eml"
);
channelProfileBuffer = new ByteArrayFilterGroupList();
channelProfileBuffer.addAll(new ByteArrayFilterGroup(
Settings.HIDE_VISIT_STORE_BUTTON,
"header_store_button"
),
new ByteArrayFilterGroup(
Settings.HIDE_VISIT_COMMUNITY_BUTTON,
"community_button"
)
);
horizontalShelves = new StringFilterGroup(
Settings.HIDE_HORIZONTAL_SHELVES,
"horizontal_video_shelf.eml",
@@ -266,7 +277,6 @@ public final class LayoutComponentsFilter extends Filter {
searchResultRecommendationLabels,
latestPosts,
channelWatermark,
communityGuidelines,
playables,
quickActions,
relatedVideos,
@@ -279,12 +289,13 @@ public final class LayoutComponentsFilter extends Filter {
subscribersCommunityGuidelines,
subscriptionsChipBar,
chipBar,
channelGuidelines,
channelLinksPreview,
channelProfile,
audioTrackButton,
artistCard,
timedReactions,
imageShelf,
channelMemberShelf,
channelMembersShelf,
forYouShelf,
horizontalShelves
);
@@ -308,6 +319,10 @@ public final class LayoutComponentsFilter extends Filter {
return true;
}
if (matchedGroup == channelProfile) {
return channelProfileBuffer.check(protobufBufferArray).isFiltered();
}
if (exceptions.matches(path)) return false; // Exceptions are not filtered.
if (matchedGroup == compactChannelBarInner) {
@@ -332,7 +347,7 @@ public final class LayoutComponentsFilter extends Filter {
* Injection point.
* Called from a different place then the other filters.
*/
public static boolean filterMixPlaylists(final Object conversionContext, @Nullable final byte[] bytes) {
public static boolean filterMixPlaylists(Object conversionContext, @Nullable final byte[] bytes) {
try {
if (!Settings.HIDE_MIX_PLAYLISTS.get()) {
return false;

View File

@@ -74,19 +74,18 @@ public class Settings extends BaseSettings {
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new ForceOriginalAudioAvailability());
// Ads
public static final BooleanSetting HIDE_CREATOR_STORE_SHELVES = new BooleanSetting("revanced_hide_creator_store_shelves", TRUE);
public static final BooleanSetting HIDE_CREATOR_STORE_SHELF = new BooleanSetting("revanced_hide_creator_store_shelf", TRUE);
public static final BooleanSetting HIDE_END_SCREEN_STORE_BANNER = new BooleanSetting("revanced_hide_end_screen_store_banner", TRUE, true);
public static final BooleanSetting HIDE_FULLSCREEN_ADS = new BooleanSetting("revanced_hide_fullscreen_ads", TRUE);
public static final BooleanSetting HIDE_GENERAL_ADS = new BooleanSetting("revanced_hide_general_ads", TRUE);
public static final BooleanSetting HIDE_GET_PREMIUM = new BooleanSetting("revanced_hide_get_premium", TRUE);
public static final BooleanSetting HIDE_HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts_ads", TRUE);
public static final BooleanSetting HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts", TRUE);
public static final BooleanSetting HIDE_MERCHANDISE_BANNERS = new BooleanSetting("revanced_hide_merchandise_banners", TRUE);
public static final BooleanSetting HIDE_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_paid_promotion_label", TRUE);
public static final BooleanSetting HIDE_SELF_SPONSOR = new BooleanSetting("revanced_hide_self_sponsor_ads", TRUE);
public static final BooleanSetting HIDE_TAGGED_PRODUCTS = new BooleanSetting("revanced_hide_tagged_products", TRUE);
public static final BooleanSetting HIDE_SHOPPING_LINKS = new BooleanSetting("revanced_hide_shopping_links", TRUE);
public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_hide_video_ads", TRUE, true);
public static final BooleanSetting HIDE_VIEW_PRODUCTS_BANNER = new BooleanSetting("revanced_hide_view_products_banner", TRUE);
public static final BooleanSetting HIDE_VISIT_STORE_BUTTON = new BooleanSetting("revanced_hide_visit_store_button", TRUE);
public static final BooleanSetting HIDE_WEB_SEARCH_RESULTS = new BooleanSetting("revanced_hide_web_search_results", TRUE);
// Feed
@@ -104,7 +103,6 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_RELATED_VIDEOS = new BooleanSetting("revanced_hide_filter_bar_feed_in_related_videos", FALSE, true);
public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_SEARCH = new BooleanSetting("revanced_hide_filter_bar_feed_in_search", FALSE, true);
public static final BooleanSetting HIDE_FLOATING_MICROPHONE_BUTTON = new BooleanSetting("revanced_hide_floating_microphone_button", TRUE, true);
public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", TRUE);
public static final BooleanSetting HIDE_HORIZONTAL_SHELVES = new BooleanSetting("revanced_hide_horizontal_shelves", TRUE);
public static final BooleanSetting HIDE_IMAGE_SHELF = new BooleanSetting("revanced_hide_image_shelf", TRUE);
public static final BooleanSetting HIDE_MIX_PLAYLISTS = new BooleanSetting("revanced_hide_mix_playlists", TRUE);
@@ -131,6 +129,12 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_KEYWORD_CONTENT_SEARCH = new BooleanSetting("revanced_hide_keyword_content_search", FALSE);
public static final StringSetting HIDE_KEYWORD_CONTENT_PHRASES = new StringSetting("revanced_hide_keyword_content_phrases", "",
parentsAny(HIDE_KEYWORD_CONTENT_HOME, HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS, HIDE_KEYWORD_CONTENT_SEARCH));
// Channel page
public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", FALSE);
public static final BooleanSetting HIDE_LINKS_PREVIEW = new BooleanSetting("revanced_hide_links_preview", TRUE);
public static final BooleanSetting HIDE_MEMBERS_SHELF = new BooleanSetting("revanced_hide_members_shelf", TRUE);
public static final BooleanSetting HIDE_VISIT_COMMUNITY_BUTTON = new BooleanSetting("revanced_hide_visit_community_button", TRUE);
public static final BooleanSetting HIDE_VISIT_STORE_BUTTON = new BooleanSetting("revanced_hide_visit_store_button", TRUE);
// Player
public static final BooleanSetting COPY_VIDEO_URL = new BooleanSetting("revanced_copy_video_url", FALSE);
@@ -144,13 +148,10 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_hide_cast_button", TRUE, true);
public static final BooleanSetting HIDE_PLAYER_CONTROL_BUTTONS_BACKGROUND = new BooleanSetting("revanced_hide_player_control_buttons_background", FALSE, true);
public static final BooleanSetting HIDE_CHANNEL_BAR = new BooleanSetting("revanced_hide_channel_bar", FALSE);
public static final BooleanSetting HIDE_CHANNEL_MEMBER_SHELF = new BooleanSetting("revanced_hide_channel_member_shelf", TRUE);
public static final BooleanSetting HIDE_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_community_guidelines", TRUE);
public static final BooleanSetting HIDE_EMERGENCY_BOX = new BooleanSetting("revanced_hide_emergency_box", TRUE);
public static final BooleanSetting HIDE_ENDSCREEN_CARDS = new BooleanSetting("revanced_hide_endscreen_cards", FALSE);
public static final BooleanSetting HIDE_END_SCREEN_SUGGESTED_VIDEO = new BooleanSetting("revanced_end_screen_suggested_video", FALSE, true);
public static final BooleanSetting HIDE_RELATED_VIDEO_OVERLAY = new BooleanSetting("revanced_hide_related_video_overlay", FALSE, true);
public static final BooleanSetting HIDE_HIDE_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_channel_guidelines", TRUE);
public static final BooleanSetting HIDE_INFO_PANELS = new BooleanSetting("revanced_hide_info_panels", TRUE);
public static final BooleanSetting HIDE_INFO_CARDS = new BooleanSetting("revanced_hide_info_cards", FALSE);
public static final BooleanSetting HIDE_JOIN_MEMBERSHIP_BUTTON = new BooleanSetting("revanced_hide_join_membership_button", TRUE);
@@ -185,7 +186,9 @@ public class Settings extends BaseSettings {
// Comments
public static final BooleanSetting HIDE_COMMENTS_AI_CHAT_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_chat_summary", FALSE);
public static final BooleanSetting HIDE_COMMENTS_AI_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_summary", FALSE);
public static final BooleanSetting HIDE_COMMENTS_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_comments_channel_guidelines", TRUE);
public static final BooleanSetting HIDE_COMMENTS_BY_MEMBERS_HEADER = new BooleanSetting("revanced_hide_comments_by_members_header", FALSE);
public static final BooleanSetting HIDE_COMMENTS_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_comments_community_guidelines", TRUE);
public static final BooleanSetting HIDE_COMMENTS_CREATE_A_SHORT_BUTTON = new BooleanSetting("revanced_hide_comments_create_a_short_button", TRUE);
public static final BooleanSetting HIDE_COMMENTS_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_comments_preview_comment", FALSE);
public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE);

View File

@@ -43,16 +43,15 @@ private val hideAdsResourcePatch = resourcePatch {
addResources("youtube", "ad.general.hideAdsResourcePatch")
PreferenceScreen.ADS.addPreferences(
SwitchPreference("revanced_hide_creator_store_shelves"),
SwitchPreference("revanced_hide_creator_store_shelf"),
SwitchPreference("revanced_hide_end_screen_store_banner"),
SwitchPreference("revanced_hide_fullscreen_ads"),
SwitchPreference("revanced_hide_general_ads"),
SwitchPreference("revanced_hide_merchandise_banners"),
SwitchPreference("revanced_hide_paid_promotion_label"),
SwitchPreference("revanced_hide_self_sponsor_ads"),
SwitchPreference("revanced_hide_tagged_products"),
SwitchPreference("revanced_hide_shopping_links"),
SwitchPreference("revanced_hide_view_products_banner"),
SwitchPreference("revanced_hide_visit_store_button"),
SwitchPreference("revanced_hide_web_search_results"),
)

View File

@@ -157,8 +157,10 @@ val hideLayoutComponentsPatch = bytecodePatch(
preferences = setOf(
SwitchPreference("revanced_hide_comments_ai_chat_summary"),
SwitchPreference("revanced_hide_comments_ai_summary"),
SwitchPreference("revanced_hide_comments_channel_guidelines"),
SwitchPreference("revanced_hide_comments_by_members_header"),
SwitchPreference("revanced_hide_comments_section"),
SwitchPreference("revanced_hide_comments_community_guidelines"),
SwitchPreference("revanced_hide_comments_create_a_short_button"),
SwitchPreference("revanced_hide_comments_preview_comment"),
SwitchPreference("revanced_hide_comments_thanks_button"),
@@ -167,10 +169,7 @@ val hideLayoutComponentsPatch = bytecodePatch(
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
),
SwitchPreference("revanced_hide_channel_bar"),
SwitchPreference("revanced_hide_channel_guidelines"),
SwitchPreference("revanced_hide_channel_member_shelf"),
SwitchPreference("revanced_hide_channel_watermark"),
SwitchPreference("revanced_hide_community_guidelines"),
SwitchPreference("revanced_hide_emergency_box"),
SwitchPreference("revanced_hide_info_panels"),
SwitchPreference("revanced_hide_join_membership_button"),
@@ -206,6 +205,16 @@ val hideLayoutComponentsPatch = bytecodePatch(
SwitchPreference("revanced_hide_filter_bar_feed_in_related_videos"),
),
),
PreferenceScreenPreference(
key = "revanced_channel_screen",
preferences = setOf(
SwitchPreference("revanced_hide_for_you_shelf"),
SwitchPreference("revanced_hide_links_preview"),
SwitchPreference("revanced_hide_members_shelf"),
SwitchPreference("revanced_hide_visit_community_button"),
SwitchPreference("revanced_hide_visit_store_button"),
),
),
SwitchPreference("revanced_hide_album_cards"),
SwitchPreference("revanced_hide_artist_cards"),
SwitchPreference("revanced_hide_community_posts"),
@@ -215,10 +224,9 @@ val hideLayoutComponentsPatch = bytecodePatch(
SwitchPreference("revanced_hide_expandable_chip"),
SwitchPreference("revanced_hide_feed_survey"),
SwitchPreference("revanced_hide_floating_microphone_button"),
SwitchPreference("revanced_hide_for_you_shelf"),
SwitchPreference("revanced_hide_horizontal_shelves"),
SwitchPreference("revanced_hide_image_shelf"),
SwitchPreference("revanced_hide_latest_posts_ads"),
SwitchPreference("revanced_hide_latest_posts"),
SwitchPreference("revanced_hide_mix_playlists"),
SwitchPreference("revanced_hide_movies_section"),
SwitchPreference("revanced_hide_notify_me_button"),

View File

@@ -218,6 +218,7 @@ You will not be notified of any unexpected events."</string>
• Breaking news
• Continue watching
• Explore more channels
• Most relevant
• Shopping
• Watch it again"</string>
<string name="revanced_hide_horizontal_shelves_summary_off">Shelves are shown</string>
@@ -226,10 +227,6 @@ You will not be notified of any unexpected events."</string>
<string name="revanced_hide_join_membership_button_title">Hide Join button</string>
<string name="revanced_hide_join_membership_button_summary_on">Button is hidden</string>
<string name="revanced_hide_join_membership_button_summary_off">Button is shown</string>
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_for_you_shelf_title">Hide \'For you\' shelf</string>
<string name="revanced_hide_for_you_shelf_summary_on">Shelf in channel page is hidden</string>
<string name="revanced_hide_for_you_shelf_summary_off">Shelf in channel page is shown</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">Hide \'Notify me\' button</string>
@@ -250,15 +247,12 @@ You will not be notified of any unexpected events."</string>
<string name="revanced_hide_timed_reactions_title">Hide timed reactions</string>
<string name="revanced_hide_timed_reactions_summary_on">Timed reactions are hidden</string>
<string name="revanced_hide_timed_reactions_summary_off">Timed reactions are shown</string>
<string name="revanced_hide_channel_guidelines_title">Hide channel guidelines</string>
<string name="revanced_hide_channel_guidelines_summary_on">Channel guidelines are hidden</string>
<string name="revanced_hide_channel_guidelines_summary_off">Channel guidelines are shown</string>
<string name="revanced_hide_chips_shelf_title">Hide chips shelf</string>
<string name="revanced_hide_chips_shelf_summary_on">Chips shelf is hidden</string>
<string name="revanced_hide_chips_shelf_summary_off">Chips shelf is shown</string>
<string name="revanced_hide_expandable_chip_title">Hide expandable card under videos</string>
<string name="revanced_hide_expandable_chip_summary_on">Expandable card is hidden</string>
<string name="revanced_hide_expandable_chip_summary_off">Expandable card is shown</string>
<string name="revanced_hide_expandable_chip_title">Hide expandable card</string>
<string name="revanced_hide_expandable_chip_summary_on">Expandable card under videos is hidden</string>
<string name="revanced_hide_expandable_chip_summary_off">Expandable card under videos is shown</string>
<string name="revanced_hide_community_posts_title">Hide community posts</string>
<string name="revanced_hide_community_posts_summary_on">Community posts are hidden</string>
<string name="revanced_hide_community_posts_summary_off">Community posts are shown</string>
@@ -271,15 +265,9 @@ You will not be notified of any unexpected events."</string>
<string name="revanced_hide_feed_survey_title">Hide feed surveys</string>
<string name="revanced_hide_feed_survey_summary_on">Feed surveys are hidden</string>
<string name="revanced_hide_feed_survey_summary_off">Feed surveys are shown</string>
<string name="revanced_hide_community_guidelines_title">Hide community guidelines</string>
<string name="revanced_hide_community_guidelines_summary_on">Community guidelines are hidden</string>
<string name="revanced_hide_community_guidelines_summary_off">Community guidelines are shown</string>
<string name="revanced_hide_subscribers_community_guidelines_title">Hide subscribers guidelines</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Subscribers community guidelines are hidden</string>
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Subscribers community guidelines are shown</string>
<string name="revanced_hide_channel_member_shelf_title">Hide channel member shelf</string>
<string name="revanced_hide_channel_member_shelf_summary_on">Channel member shelf is hidden</string>
<string name="revanced_hide_channel_member_shelf_summary_off">Channel member shelf is shown</string>
<string name="revanced_hide_emergency_box_title">Hide emergency boxes</string>
<string name="revanced_hide_emergency_box_summary_on">Emergency boxes are hidden</string>
<string name="revanced_hide_emergency_box_summary_off">Emergency boxes are shown</string>
@@ -295,18 +283,18 @@ You will not be notified of any unexpected events."</string>
<string name="revanced_hide_playables_title">Hide Playables</string>
<string name="revanced_hide_playables_summary_on">Playables are hidden</string>
<string name="revanced_hide_playables_summary_off">Playables are shown</string>
<string name="revanced_hide_quick_actions_title">Hide quick actions in fullscreen</string>
<string name="revanced_hide_quick_actions_summary_on">Quick actions are hidden</string>
<string name="revanced_hide_quick_actions_summary_off">Quick actions are shown</string>
<string name="revanced_hide_related_videos_title">Hide related videos in quick actions</string>
<string name="revanced_hide_related_videos_summary_on">Related videos are hidden</string>
<string name="revanced_hide_related_videos_summary_off">Related videos are shown</string>
<string name="revanced_hide_image_shelf_title">Hide image shelf in search results</string>
<string name="revanced_hide_image_shelf_summary_on">Image shelf is hidden</string>
<string name="revanced_hide_image_shelf_summary_off">Image shelf is shown</string>
<string name="revanced_hide_latest_posts_ads_title">Hide latest posts</string>
<string name="revanced_hide_latest_posts_ads_summary_on">Latest posts are hidden</string>
<string name="revanced_hide_latest_posts_ads_summary_off">Latest posts are shown</string>
<string name="revanced_hide_quick_actions_title">Hide quick actions</string>
<string name="revanced_hide_quick_actions_summary_on">Quick actions in fullscreen are hidden</string>
<string name="revanced_hide_quick_actions_summary_off">Quick actions in fullscreen are shown</string>
<string name="revanced_hide_related_videos_title">Hide related videos</string>
<string name="revanced_hide_related_videos_summary_on">Related videos in quick actions are hidden</string>
<string name="revanced_hide_related_videos_summary_off">Related videos in quick actions are shown</string>
<string name="revanced_hide_image_shelf_title">Hide image shelf</string>
<string name="revanced_hide_image_shelf_summary_on">Image shelf in search results is hidden</string>
<string name="revanced_hide_image_shelf_summary_off">Image shelf in search results is shown</string>
<string name="revanced_hide_latest_posts_title">Hide latest posts</string>
<string name="revanced_hide_latest_posts_summary_on">Latest posts are hidden</string>
<string name="revanced_hide_latest_posts_summary_off">Latest posts are shown</string>
<string name="revanced_hide_mix_playlists_title">Hide mix playlists</string>
<string name="revanced_hide_mix_playlists_summary_on">Mix playlists are hidden</string>
<string name="revanced_hide_mix_playlists_summary_off">Mix playlists are shown</string>
@@ -358,6 +346,27 @@ You will not be notified of any unexpected events."</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Hidden in related videos</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Shown in related videos</string>
<string name="revanced_channel_screen_title">Channel page</string>
<string name="revanced_channel_screen_summary">Hide or show channel page components</string>
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_for_you_shelf_title">Hide \'For You\' shelf</string>
<string name="revanced_hide_for_you_shelf_summary_on">For You shelf is hidden</string>
<string name="revanced_hide_for_you_shelf_summary_off">For You shelf is shown</string>
<string name="revanced_hide_links_preview_title">Hide links preview</string>
<string name="revanced_hide_links_preview_summary_on">Links preview is hidden</string>
<string name="revanced_hide_links_preview_summary_off">Links preview is shown</string>
<string name="revanced_hide_members_shelf_title">Hide members shelf</string>
<string name="revanced_hide_members_shelf_summary_on">Members shelf is hidden</string>
<string name="revanced_hide_members_shelf_summary_off">Members shelf is shown</string>
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_community_button_title">Hide \'Visit Community\' button</string>
<string name="revanced_hide_visit_community_button_summary_on">Visit Community button is hidden</string>
<string name="revanced_hide_visit_community_button_summary_off">Visit Community button is shown</string>
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_store_button_title">Hide \'Visit store\' button</string>
<string name="revanced_hide_visit_store_button_summary_on">Visit store button is hidden</string>
<string name="revanced_hide_visit_store_button_summary_off">Visit store button is shown</string>
<string name="revanced_comments_screen_title">Comments</string>
<string name="revanced_comments_screen_summary">Hide or show comments section components</string>
<string name="revanced_hide_comments_ai_chat_summary_title">Hide AI Chat summary</string>
@@ -366,12 +375,18 @@ You will not be notified of any unexpected events."</string>
<string name="revanced_hide_comments_ai_summary_title">Hide AI comments summary</string>
<string name="revanced_hide_comments_ai_summary_summary_on">Comments summary is hidden</string>
<string name="revanced_hide_comments_ai_summary_summary_off">Comments summary is shown</string>
<string name="revanced_hide_comments_channel_guidelines_title">Hide channel guidelines</string>
<string name="revanced_hide_comments_channel_guidelines_summary_on">Channel guidelines are hidden</string>
<string name="revanced_hide_comments_channel_guidelines_summary_off">Channel guidelines are shown</string>
<string name="revanced_hide_comments_by_members_header_title">Hide \'Comments by members\' header</string>
<string name="revanced_hide_comments_by_members_header_summary_on">Comments by members header is hidden</string>
<string name="revanced_hide_comments_by_members_header_summary_off">Comments by members header is shown</string>
<string name="revanced_hide_comments_section_title">Hide comments section</string>
<string name="revanced_hide_comments_section_summary_on">Comments section is hidden</string>
<string name="revanced_hide_comments_section_summary_off">Comments section is shown</string>
<string name="revanced_hide_comments_community_guidelines_title">Hide community guidelines</string>
<string name="revanced_hide_comments_community_guidelines_summary_on">Community guidelines are hidden</string>
<string name="revanced_hide_comments_community_guidelines_summary_off">Community guidelines are shown</string>
<string name="revanced_hide_comments_create_a_short_button_title">Hide \'Create a Short\' button</string>
<string name="revanced_hide_comments_create_a_short_button_summary_on">Create a Short button is hidden</string>
<string name="revanced_hide_comments_create_a_short_button_summary_off">Create a Short button is shown</string>
@@ -381,7 +396,7 @@ You will not be notified of any unexpected events."</string>
<string name="revanced_hide_comments_thanks_button_title">Hide Thanks button</string>
<string name="revanced_hide_comments_thanks_button_summary_on">Thanks button is hidden</string>
<string name="revanced_hide_comments_thanks_button_summary_off">Thanks button is shown</string>
<string name="revanced_hide_comments_timestamp_button_title">Hide timestamp button</string>
<string name="revanced_hide_comments_timestamp_button_title">Hide Timestamp button</string>
<string name="revanced_hide_comments_timestamp_button_summary_on">Timestamp button is hidden</string>
<string name="revanced_hide_comments_timestamp_button_summary_off">Timestamp button is shown</string>
@@ -439,9 +454,9 @@ Limitations
<string name="revanced_hide_keyword_toast_invalid_broad">Keyword will hide all videos: %s</string>
</patch>
<patch id="ad.general.hideAdsResourcePatch">
<string name="revanced_hide_creator_store_shelves_title">Hide creator store shelves</string>
<string name="revanced_hide_creator_store_shelves_summary_on">Store shelves below the player and in video description are hidden</string>
<string name="revanced_hide_creator_store_shelves_summary_off">Store shelves below the player and in video description are shown</string>
<string name="revanced_hide_creator_store_shelf_title">Hide creator store shelf</string>
<string name="revanced_hide_creator_store_shelf_summary_on">Store shelf under video player is hidden</string>
<string name="revanced_hide_creator_store_shelf_summary_off">Store shelf under video player is shown</string>
<string name="revanced_hide_end_screen_store_banner_title">Hide end screen store banner</string>
<string name="revanced_hide_end_screen_store_banner_summary_on">Store banner is hidden</string>
<string name="revanced_hide_end_screen_store_banner_summary_off">Store banner is shown</string>
@@ -461,20 +476,16 @@ This feature is only available for older devices"</string>
<string name="revanced_hide_paid_promotion_label_title">Hide paid promotion label</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Paid promotion label is hidden</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Paid promotion label is shown</string>
<string name="revanced_hide_self_sponsor_ads_title">Hide self sponsored cards</string>
<string name="revanced_hide_self_sponsor_ads_summary_on">Self sponsored cards are hidden</string>
<string name="revanced_hide_self_sponsor_ads_summary_off">Self sponsored cards are shown</string>
<string name="revanced_hide_shopping_links_title">Hide shopping links</string>
<string name="revanced_hide_shopping_links_summary_on">Links in the video description are hidden</string>
<string name="revanced_hide_shopping_links_summary_off">Links in the video description are shown</string>
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_view_products_banner_title">Hide \'View products\' banner</string>
<string name="revanced_hide_view_products_banner_summary_on">Banner in video overlay is hidden</string>
<string name="revanced_hide_view_products_banner_summary_off">Banner in video overlay is shown</string>
<string name="revanced_hide_self_sponsor_ads_title">Hide self sponsored cards</string>
<string name="revanced_hide_self_sponsor_ads_summary_on">Self sponsored cards are hidden</string>
<string name="revanced_hide_self_sponsor_ads_summary_off">Self sponsored cards are shown</string>
<string name="revanced_hide_tagged_products_title">Hide tagged products</string>
<string name="revanced_hide_tagged_products_summary_on">Tagged products in video description are hidden</string>
<string name="revanced_hide_tagged_products_summary_off">Tagged products in video description are shown</string>
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_visit_store_button_title">Hide \'Visit store\' button</string>
<string name="revanced_hide_visit_store_button_summary_on">Button in channel page is hidden</string>
<string name="revanced_hide_visit_store_button_summary_off">Button in channel page is shown</string>
<string name="revanced_hide_web_search_results_title">Hide web search results</string>
<string name="revanced_hide_web_search_results_summary_on">Web search results are hidden</string>
<string name="revanced_hide_web_search_results_summary_off">Web search results are shown</string>
@@ -848,7 +859,7 @@ To show the Audio track menu, change \'Spoof video streams\' to iOS TV"</string>
<string name="revanced_hide_shorts_new_posts_button_title">Hide New posts button</string>
<string name="revanced_hide_shorts_new_posts_button_summary_off">New posts button is shown</string>
<string name="revanced_hide_shorts_new_posts_button_summary_on">New posts button is hidden</string>
<string name="revanced_hide_shorts_hashtag_button_title">Hide hashtag button</string>
<string name="revanced_hide_shorts_hashtag_button_title">Hide Hashtag button</string>
<string name="revanced_hide_shorts_hashtag_button_summary_on">Hashtag button is hidden</string>
<string name="revanced_hide_shorts_hashtag_button_summary_off">Hashtag button is shown</string>
<string name="revanced_hide_shorts_search_suggestions_title">Hide search suggestions</string>