Compare commits

..

14 Commits

Author SHA1 Message Date
semantic-release-bot
fe16433f20 chore: Release v5.42.0-dev.15 [skip ci]
# [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07)

### Features

* **Instagram:** Add `Enable developer menu` patch ([#6043](https://github.com/ReVanced/revanced-patches/issues/6043)) ([2154d89](2154d89242))
2025-10-07 12:42:11 +00:00
brosssh
2154d89242 feat(Instagram): Add Enable developer menu patch (#6043) 2025-10-07 16:37:20 +04:00
semantic-release-bot
277a8b6b47 chore: Release v5.42.0-dev.14 [skip ci]
# [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07)

### Features

* **Instagram:** Add `Custom share domain` patch ([#5998](https://github.com/ReVanced/revanced-patches/issues/5998)) ([20c4131](20c413120b))
2025-10-07 11:45:19 +00:00
brosssh
20c413120b feat(Instagram): Add Custom share domain patch (#5998) 2025-10-07 15:40:37 +04:00
semantic-release-bot
5ed092bb7d chore: Release v5.42.0-dev.13 [skip ci]
# [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07)

### Bug Fixes

* **Spotify:** Change `Hide Create button` patch to default off ([#6067](https://github.com/ReVanced/revanced-patches/issues/6067)) ([19949e1](19949e1695))
2025-10-07 07:14:51 +00:00
Dawid Krajcarz
19949e1695 fix(Spotify): Change Hide Create button patch to default off (#6067) 2025-10-07 11:11:41 +04:00
github-actions[bot]
ec0acc0f13 chore: Sync translations (#6069) 2025-10-07 11:11:18 +04:00
LisoUseInAIKyrios
a30a849e6e refactor: Extract shared patch names/descriptions (#6056) 2025-10-07 01:15:03 +04:00
semantic-release-bot
603025a122 chore: Release v5.42.0-dev.12 [skip ci]
# [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03)

### Bug Fixes

* **Custom branding:** Update ReVanced logo ([#6049](https://github.com/ReVanced/revanced-patches/issues/6049)) ([9441e7a](9441e7acb4))

### Features

* **Instagram:** Add `Sanitize sharing links` patch ([#5986](https://github.com/ReVanced/revanced-patches/issues/5986)) ([963a4ef](963a4ef43f))
2025-10-03 07:25:03 +00:00
MarcaD
9441e7acb4 fix(Custom branding): Update ReVanced logo (#6049) 2025-10-03 11:19:27 +04:00
brosssh
963a4ef43f feat(Instagram): Add Sanitize sharing links patch (#5986)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
2025-10-03 11:19:01 +04:00
semantic-release-bot
0acba30245 chore: Release v5.42.0-dev.11 [skip ci]
# [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03)

### Bug Fixes

* **YouTube:** Resolve UI components not hiding for some users ([#6054](https://github.com/ReVanced/revanced-patches/issues/6054)) ([6b26346](6b26346914))
2025-10-03 06:57:20 +00:00
LisoUseInAIKyrios
6b26346914 fix(YouTube): Resolve UI components not hiding for some users (#6054) 2025-10-03 10:54:44 +04:00
github-actions[bot]
b1511c732d chore: Sync translations (#6055) 2025-10-03 10:53:07 +04:00
121 changed files with 887 additions and 447 deletions

View File

@@ -1,3 +1,43 @@
# [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07)
### Features
* **Instagram:** Add `Enable developer menu` patch ([#6043](https://github.com/ReVanced/revanced-patches/issues/6043)) ([2154d89](https://github.com/ReVanced/revanced-patches/commit/2154d89242fd8d7f7460145d5d35a4f1986944a3))
# [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07)
### Features
* **Instagram:** Add `Custom share domain` patch ([#5998](https://github.com/ReVanced/revanced-patches/issues/5998)) ([20c4131](https://github.com/ReVanced/revanced-patches/commit/20c413120bad97af6121718e76b22a1b5540aa44))
# [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07)
### Bug Fixes
* **Spotify:** Change `Hide Create button` patch to default off ([#6067](https://github.com/ReVanced/revanced-patches/issues/6067)) ([19949e1](https://github.com/ReVanced/revanced-patches/commit/19949e1695cc252ff0f94a33b6e3fb62e967d7fd))
# [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03)
### Bug Fixes
* **Custom branding:** Update ReVanced logo ([#6049](https://github.com/ReVanced/revanced-patches/issues/6049)) ([9441e7a](https://github.com/ReVanced/revanced-patches/commit/9441e7acb4817e12d1443d438ef6c448518bd614))
### Features
* **Instagram:** Add `Sanitize sharing links` patch ([#5986](https://github.com/ReVanced/revanced-patches/issues/5986)) ([963a4ef](https://github.com/ReVanced/revanced-patches/commit/963a4ef43fd513de7a2d7d019992f06b62fdcc10))
# [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03)
### Bug Fixes
* **YouTube:** Resolve UI components not hiding for some users ([#6054](https://github.com/ReVanced/revanced-patches/issues/6054)) ([6b26346](https://github.com/ReVanced/revanced-patches/commit/6b2634691423f5ce25a28b3f2fbc420977b81748))
# [5.42.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.9...v5.42.0-dev.10) (2025-10-02)

View File

@@ -0,0 +1,15 @@
package app.revanced.extension.instagram.misc.privacy;
import app.revanced.extension.shared.privacy.LinkSanitizer;
@SuppressWarnings("unused")
public final class SanitizeSharingLinksPatch {
private static final LinkSanitizer sanitizer = new LinkSanitizer("igsh");
/**
* Injection point.
*/
public static String sanitizeSharingLink(String url) {
return sanitizer.sanitizeUrlString(url);
}
}

View File

@@ -0,0 +1,33 @@
package app.revanced.extension.instagram.misc.share.domain;
import android.net.Uri;
import app.revanced.extension.shared.Logger;
@SuppressWarnings("unused")
public final class ChangeLinkSharingDomainPatch {
private static String getCustomShareDomain() {
// Method is modified during patching.
throw new IllegalStateException();
}
/**
* Injection point.
*/
public static String setCustomShareDomain(String url) {
try {
Uri uri = Uri.parse(url);
Uri.Builder builder = uri
.buildUpon()
.authority(getCustomShareDomain())
.clearQuery();
String patchedUrl = builder.build().toString();
Logger.printInfo(() -> "Domain change from : " + url + " to: " + patchedUrl);
return patchedUrl;
} catch (Exception ex) {
Logger.printException(() -> "setCustomShareDomain failure with " + url, ex);
return url;
}
}
}

View File

@@ -0,0 +1,15 @@
package app.revanced.extension.instagram.misc.share.privacy;
import app.revanced.extension.shared.privacy.LinkSanitizer;
@SuppressWarnings("unused")
public final class SanitizeSharingLinksPatch {
private static final LinkSanitizer sanitizer = new LinkSanitizer("igsh");
/**
* Injection point.
*/
public static String sanitizeSharingLink(String url) {
return sanitizer.sanitizeUrlString(url);
}
}

View File

@@ -1,5 +1,6 @@
package app.revanced.extension.shared.patches;
import app.revanced.extension.shared.privacy.LinkSanitizer;
import app.revanced.extension.shared.settings.BaseSettings;
/**
@@ -7,17 +8,18 @@ import app.revanced.extension.shared.settings.BaseSettings;
*/
@SuppressWarnings("unused")
public final class SanitizeSharingLinksPatch {
private static final String NEW_TRACKING_PARAMETER_REGEX = ".si=.+";
private static final String OLD_TRACKING_PARAMETER_REGEX = ".feature=.+";
private static final LinkSanitizer sanitizer = new LinkSanitizer(
"si",
"feature" // Old tracking parameter name, and may be obsolete.
);
/**
* Injection point.
*/
public static String sanitize(String url) {
if (BaseSettings.SANITIZE_SHARED_LINKS.get()) {
url = url
.replaceAll(NEW_TRACKING_PARAMETER_REGEX, "")
.replaceAll(OLD_TRACKING_PARAMETER_REGEX, "");
url = sanitizer.sanitizeUrlString(url);
}
if (BaseSettings.REPLACE_MUSIC_LINKS_WITH_YOUTUBE.get()) {

View File

@@ -0,0 +1,60 @@
package app.revanced.extension.shared.privacy;
import android.net.Uri;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import app.revanced.extension.shared.Logger;
/**
* Strips away specific parameters from URLs.
*/
public class LinkSanitizer {
private final Collection<String> parametersToRemove;
public LinkSanitizer(String ... parametersToRemove) {
final int parameterCount = parametersToRemove.length;
if (parameterCount == 0) {
throw new IllegalArgumentException("No parameters specified");
}
// List is faster if only checking a few parameters.
this.parametersToRemove = parameterCount > 4
? Set.of(parametersToRemove)
: List.of(parametersToRemove);
}
public String sanitizeUrlString(String url) {
try {
return sanitizeUri(Uri.parse(url)).toString();
} catch (Exception ex) {
Logger.printException(() -> "sanitizeUrlString failure: " + url, ex);
return url;
}
}
public Uri sanitizeUri(Uri uri) {
try {
Uri.Builder builder = uri.buildUpon().clearQuery();
for (String paramName : uri.getQueryParameterNames()) {
if (!parametersToRemove.contains(paramName)) {
for (String value : uri.getQueryParameters(paramName)) {
builder.appendQueryParameter(paramName, value);
}
}
}
Uri sanitizedUrl = builder.build();
Logger.printInfo(() -> "Sanitized url: " + uri + " to: " + sanitizedUrl);
return sanitizedUrl;
} catch (Exception ex) {
Logger.printException(() -> "sanitizeUri failure: " + uri, ex);
return uri;
}
}
}

View File

@@ -1,18 +1,11 @@
package app.revanced.extension.spotify.misc.privacy;
import android.net.Uri;
import java.util.List;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.privacy.LinkSanitizer;
@SuppressWarnings("unused")
public final class SanitizeSharingLinksPatch {
/**
* Parameters that are considered undesirable and should be stripped away.
*/
private static final List<String> SHARE_PARAMETERS_TO_REMOVE = List.of(
private static final LinkSanitizer sanitizer = new LinkSanitizer(
"si", // Share tracking parameter.
"utm_source" // Share source, such as "copy-link".
);
@@ -20,25 +13,7 @@ public final class SanitizeSharingLinksPatch {
/**
* Injection point.
*/
public static String sanitizeUrl(String url) {
try {
Uri uri = Uri.parse(url);
Uri.Builder builder = uri.buildUpon().clearQuery();
for (String paramName : uri.getQueryParameterNames()) {
if (!SHARE_PARAMETERS_TO_REMOVE.contains(paramName)) {
for (String value : uri.getQueryParameters(paramName)) {
builder.appendQueryParameter(paramName, value);
}
}
}
String sanitizedUrl = builder.build().toString();
Logger.printInfo(() -> "Sanitized url " + url + " to " + sanitizedUrl);
return sanitizedUrl;
} catch (Exception ex) {
Logger.printException(() -> "sanitizeUrl failure with " + url, ex);
return url;
}
public static String sanitizeSharingLink(String url) {
return sanitizer.sanitizeUrlString(url);
}
}

View File

@@ -131,11 +131,11 @@ public class ReturnYouTubeDislikePatch {
String conversionContextString = conversionContext.toString();
if (isRollingNumber && !conversionContextString.contains("video_action_bar.eml")) {
if (isRollingNumber && !conversionContextString.contains("video_action_bar.e")) {
return original;
}
if (conversionContextString.contains("segmented_like_dislike_button.eml")) {
if (conversionContextString.contains("segmented_like_dislike_button.e")) {
// Regular video.
ReturnYouTubeDislike videoData = currentVideoData;
if (videoData == null) {
@@ -153,12 +153,12 @@ public class ReturnYouTubeDislikePatch {
}
if (Utils.containsAny(conversionContextString,
"|shorts_dislike_button.eml", "|reel_dislike_button.eml")) {
"|shorts_dislike_button.e", "|reel_dislike_button.e")) {
return getShortsSpan(original, true);
}
if (Utils.containsAny(conversionContextString,
"|shorts_like_button.eml", "|reel_like_button.eml")) {
"|shorts_like_button.e", "|reel_like_button.e")) {
if (!Utils.containsNumber(original)) {
Logger.printDebug(() -> "Replacing hidden likes count");
return getShortsSpan(original, false);

View File

@@ -105,17 +105,17 @@ public final class AdsFilter extends Filter {
Settings.HIDE_VIEW_PRODUCTS_BANNER,
"product_item",
"products_in_video",
"shopping_overlay.eml" // Video player overlay shopping links.
"shopping_overlay.e" // Video player overlay shopping links.
);
final var shoppingLinks = new StringFilterGroup(
Settings.HIDE_SHOPPING_LINKS,
"shopping_description_shelf.eml"
"shopping_description_shelf.e"
);
playerShoppingShelf = new StringFilterGroup(
Settings.HIDE_CREATOR_STORE_SHELF,
"horizontal_shelf.eml"
"horizontal_shelf.e"
);
playerShoppingShelfBuffer = new ByteArrayFilterGroup(
@@ -131,7 +131,7 @@ public final class AdsFilter extends Filter {
final var merchandise = new StringFilterGroup(
Settings.HIDE_MERCHANDISE_BANNERS,
"product_carousel",
"shopping_carousel.eml" // Channel profile shopping shelf.
"shopping_carousel.e" // Channel profile shopping shelf.
);
final var selfSponsor = new StringFilterGroup(

View File

@@ -14,7 +14,7 @@ public final class AdvancedVideoQualityMenuFilter extends Filter {
public AdvancedVideoQualityMenuFilter() {
addPathCallbacks(new StringFilterGroup(
Settings.ADVANCED_VIDEO_QUALITY_MENU,
"quick_quality_sheet_content.eml-js"
"quick_quality_sheet_content.e"
));
}

View File

@@ -4,13 +4,13 @@ import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
final class ButtonsFilter extends Filter {
private static final String COMPACT_CHANNEL_BAR_PATH_PREFIX = "compact_channel_bar.eml";
private static final String VIDEO_ACTION_BAR_PATH_PREFIX = "video_action_bar.eml";
private static final String VIDEO_ACTION_BAR_PATH = "video_action_bar.eml";
private static final String COMPACT_CHANNEL_BAR_PATH_PREFIX = "compact_channel_bar.e";
private static final String VIDEO_ACTION_BAR_PATH_PREFIX = "video_action_bar.e";
private static final String VIDEO_ACTION_BAR_PATH = "video_action_bar.e";
/**
* Video bar path when the video information is collapsed. Seems to shown only with 20.14+
*/
private static final String COMPACTIFY_VIDEO_ACTION_BAR_PATH = "compactify_video_action_bar.eml";
private static final String COMPACTIFY_VIDEO_ACTION_BAR_PATH = "compactify_video_action_bar.e";
private static final String ANIMATED_VECTOR_TYPE_PATH = "AnimatedVectorType";
private final StringFilterGroup likeSubscribeGlow;
@@ -28,12 +28,12 @@ final class ButtonsFilter extends Filter {
likeSubscribeGlow = new StringFilterGroup(
Settings.DISABLE_LIKE_SUBSCRIBE_GLOW,
"animated_button_border.eml"
"animated_button_border.e"
);
bufferFilterPathGroup = new StringFilterGroup(
null,
"|ContainerType|button.eml"
"|ContainerType|button.e"
);
addPathCallbacks(
@@ -45,7 +45,7 @@ final class ButtonsFilter extends Filter {
),
new StringFilterGroup(
Settings.HIDE_DOWNLOAD_BUTTON,
"|download_button.eml"
"|download_button.e"
),
new StringFilterGroup(
Settings.HIDE_SAVE_BUTTON,
@@ -53,7 +53,7 @@ final class ButtonsFilter extends Filter {
),
new StringFilterGroup(
Settings.HIDE_CLIP_BUTTON,
"|clip_button.eml"
"|clip_button.e"
)
);

View File

@@ -6,7 +6,7 @@ import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused")
final class CommentsFilter extends Filter {
private static final String COMMENT_COMPOSER_PATH = "comment_composer.eml";
private static final String COMMENT_COMPOSER_PATH = "comment_composer.e";
private final StringFilterGroup chipBar;
private final ByteArrayFilterGroup aiCommentsSummary;
@@ -15,12 +15,12 @@ final class CommentsFilter extends Filter {
public CommentsFilter() {
var chatSummary = new StringFilterGroup(
Settings.HIDE_COMMENTS_AI_CHAT_SUMMARY,
"live_chat_summary_banner.eml"
"live_chat_summary_banner.e"
);
chipBar = new StringFilterGroup(
Settings.HIDE_COMMENTS_AI_SUMMARY,
"chip_bar.eml"
"chip_bar.e"
);
aiCommentsSummary = new ByteArrayFilterGroup(
@@ -35,8 +35,8 @@ final class CommentsFilter extends Filter {
var commentsByMembers = new StringFilterGroup(
Settings.HIDE_COMMENTS_BY_MEMBERS_HEADER,
"sponsorships_comments_header.eml",
"sponsorships_comments_footer.eml"
"sponsorships_comments_header.e",
"sponsorships_comments_footer.e"
);
var comments = new StringFilterGroup(
@@ -52,7 +52,7 @@ final class CommentsFilter extends Filter {
var createAShort = new StringFilterGroup(
Settings.HIDE_COMMENTS_CREATE_A_SHORT_BUTTON,
"composer_short_creation_button.eml"
"composer_short_creation_button.e"
);
emojiAndTimestampButtons = new StringFilterGroup(
@@ -69,7 +69,7 @@ final class CommentsFilter extends Filter {
var thanksButton = new StringFilterGroup(
Settings.HIDE_COMMENTS_THANKS_BUTTON,
"super_thanks_button.eml"
"super_thanks_button.e"
);
addPathCallbacks(

View File

@@ -29,12 +29,12 @@ final class DescriptionComponentsFilter extends Filter {
aiGeneratedVideoSummarySection = new StringFilterGroup(
Settings.HIDE_AI_GENERATED_VIDEO_SUMMARY_SECTION,
"cell_expandable_metadata.eml"
"cell_expandable_metadata.e"
);
final StringFilterGroup askSection = new StringFilterGroup(
Settings.HIDE_ASK_SECTION,
"youchat_entrypoint.eml"
"youchat_entrypoint.e"
);
final StringFilterGroup attributesSection = new StringFilterGroup(
@@ -65,7 +65,7 @@ final class DescriptionComponentsFilter extends Filter {
macroMarkersCarousel = new StringFilterGroup(
null,
"macro_markers_carousel.eml"
"macro_markers_carousel.e"
);
macroMarkersCarouselGroupList.addAll(
@@ -81,7 +81,7 @@ final class DescriptionComponentsFilter extends Filter {
horizontalShelf = new StringFilterGroup(
Settings.HIDE_ATTRIBUTES_SECTION,
"horizontal_shelf.eml"
"horizontal_shelf.e"
);
cellVideoAttribute = new ByteArrayFilterGroup(

View File

@@ -9,7 +9,7 @@ public final class HideInfoCardsFilter extends Filter {
addIdentifierCallbacks(
new StringFilterGroup(
Settings.HIDE_INFO_CARDS,
"info_card_teaser_overlay.eml"
"info_card_teaser_overlay.e"
)
);
}

View File

@@ -79,10 +79,10 @@ final class KeywordContentFilter extends Filter {
"search_vwc_description_transition_key",
"g-high-recZ",
// Text and litho components found in the buffer that belong to path filters.
"expandable_metadata.eml",
"thumbnail.eml",
"avatar.eml",
"overflow_button.eml",
"expandable_metadata.e",
"thumbnail.e",
"avatar.e",
"overflow_button.e",
"shorts-lockup-image",
"shorts-lockup.overlay-metadata.secondary-text",
"YouTubeSans-SemiBold",
@@ -94,16 +94,16 @@ final class KeywordContentFilter extends Filter {
*/
private final StringFilterGroup startsWithFilter = new StringFilterGroup(
null, // Multiple settings are used and must be individually checked if active.
"home_video_with_context.eml",
"search_video_with_context.eml",
"video_with_context.eml", // Subscription tab videos.
"related_video_with_context.eml",
"home_video_with_context.e",
"search_video_with_context.e",
"video_with_context.e", // Subscription tab videos.
"related_video_with_context.e",
// A/B test for subscribed video, and sometimes when tablet layout is enabled.
"video_lockup_with_attachment.eml",
"compact_video.eml",
"video_lockup_with_attachment.e",
"compact_video.e",
"inline_shorts",
"shorts_video_cell",
"shorts_pivot_item.eml"
"shorts_pivot_item.e"
);
/**
@@ -112,9 +112,9 @@ final class KeywordContentFilter extends Filter {
@SuppressWarnings("FieldCanBeLocal")
private final StringFilterGroup containsFilter = new StringFilterGroup(
null,
"modern_type_shelf_header_content.eml",
"shorts_lockup_cell.eml", // Part of 'shorts_shelf_carousel.eml'
"video_card.eml" // Shorts that appear in a horizontal shelf.
"modern_type_shelf_header_content.e",
"shorts_lockup_cell.e", // Part of 'shorts_shelf_carousel.e'
"video_card.e" // Shorts that appear in a horizontal shelf.
);
/**
@@ -125,10 +125,10 @@ final class KeywordContentFilter extends Filter {
* the buffer of the parent component was already searched and passed.
*/
private final StringTrieSearch exceptions = new StringTrieSearch(
"metadata.eml",
"thumbnail.eml",
"avatar.eml",
"overflow_button.eml"
"metadata.e",
"thumbnail.e",
"avatar.e",
"overflow_button.e"
);
/**

View File

@@ -76,18 +76,18 @@ public final class LayoutComponentsFilter extends Filter {
communityPosts = new StringFilterGroup(
Settings.HIDE_COMMUNITY_POSTS,
"post_base_wrapper", // may be obsolete and no longer needed.
"text_post_root.eml",
"images_post_root.eml",
"images_post_slim.eml", // may be obsolete and no longer needed.
"images_post_root_slim.eml",
"text_post_root_slim.eml",
"post_base_wrapper_slim.eml",
"poll_post_root.eml",
"videos_post_root.eml",
"post_shelf_slim.eml",
"videos_post_responsive_root.eml",
"text_post_responsive_root.eml",
"poll_post_responsive_root.eml"
"text_post_root.e",
"images_post_root.e",
"images_post_slim.e", // may be obsolete and no longer needed.
"images_post_root_slim.e",
"text_post_root_slim.e",
"post_base_wrapper_slim.e",
"poll_post_root.e",
"videos_post_root.e",
"post_shelf_slim.e",
"videos_post_responsive_root.e",
"text_post_responsive_root.e",
"poll_post_responsive_root.e"
);
final var subscribersCommunityGuidelines = new StringFilterGroup(
@@ -149,7 +149,7 @@ public final class LayoutComponentsFilter extends Filter {
final var channelLinksPreview = new StringFilterGroup(
Settings.HIDE_LINKS_PREVIEW,
"attribution.eml"
"attribution.e"
);
final var emergencyBox = new StringFilterGroup(
@@ -190,8 +190,8 @@ public final class LayoutComponentsFilter extends Filter {
final var playables = new StringFilterGroup(
Settings.HIDE_PLAYABLES,
"horizontal_gaming_shelf.eml",
"mini_game_card.eml"
"horizontal_gaming_shelf.e",
"mini_game_card.e"
);
// Playable horizontal shelf header.
@@ -228,7 +228,7 @@ public final class LayoutComponentsFilter extends Filter {
compactChannelBarInnerButton = new StringFilterGroup(
null,
"|button.eml"
"|button.e"
);
joinMembershipButton = new ByteArrayFilterGroup(
@@ -248,13 +248,13 @@ public final class LayoutComponentsFilter extends Filter {
final var videoRecommendationLabels = new StringFilterGroup(
Settings.HIDE_VIDEO_RECOMMENDATION_LABELS,
"endorsement_header_footer.eml"
"endorsement_header_footer.e"
);
channelProfile = new StringFilterGroup(
null,
"channel_profile.eml",
"page_header.eml"
"channel_profile.e",
"page_header.e"
);
channelProfileBuffer = new ByteArrayFilterGroupList();
channelProfileBuffer.addAll(new ByteArrayFilterGroup(
@@ -269,15 +269,15 @@ public final class LayoutComponentsFilter extends Filter {
horizontalShelves = new StringFilterGroup(
Settings.HIDE_HORIZONTAL_SHELVES,
"horizontal_video_shelf.eml",
"horizontal_shelf.eml",
"horizontal_shelf_inline.eml",
"horizontal_tile_shelf.eml"
"horizontal_video_shelf.e",
"horizontal_shelf.e",
"horizontal_shelf_inline.e",
"horizontal_tile_shelf.e"
);
ticketShelf = new ByteArrayFilterGroup(
Settings.HIDE_TICKET_SHELF,
"ticket_item.eml"
"ticket_item.e"
);
addPathCallbacks(

View File

@@ -24,13 +24,13 @@ public final class PlaybackSpeedMenuFilter extends Filter {
// 0.05x litho speed menu.
var playbackRateSelectorGroup = new StringFilterGroup(
Settings.CUSTOM_SPEED_MENU,
"playback_rate_selector_menu_sheet.eml-js"
"playback_rate_selector_menu_sheet.e"
);
// Old litho based speed menu.
oldPlaybackMenuGroup = new StringFilterGroup(
Settings.CUSTOM_SPEED_MENU,
"playback_speed_sheet_content.eml-js");
"playback_speed_sheet_content.e");
addPathCallbacks(playbackRateSelectorGroup, oldPlaybackMenuGroup);
}

View File

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

View File

@@ -72,8 +72,8 @@ public final class ReturnYouTubeDislikeFilter extends Filter {
// But if swiping back to a previous video and liking/disliking, then only that single button reloads.
// So must check for both buttons.
addPathCallbacks(
new StringFilterGroup(null, "|shorts_like_button.eml"),
new StringFilterGroup(null, "|shorts_dislike_button.eml")
new StringFilterGroup(null, "|shorts_like_button.e"),
new StringFilterGroup(null, "|shorts_dislike_button.e")
);
// After the button identifiers is binary data and then the video id for that specific short.

View File

@@ -18,12 +18,12 @@ import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused")
public final class ShortsFilter extends Filter {
private static final boolean HIDE_SHORTS_NAVIGATION_BAR = Settings.HIDE_SHORTS_NAVIGATION_BAR.get();
private static final String REEL_CHANNEL_BAR_PATH = "reel_channel_bar.eml";
private static final String REEL_CHANNEL_BAR_PATH = "reel_channel_bar.e";
/**
* For paid promotion label and subscribe button that appears in the channel bar.
*/
private static final String REEL_METAPANEL_PATH = "reel_metapanel.eml";
private static final String REEL_METAPANEL_PATH = "reel_metapanel.e";
/**
* Tags that appears when opening the Shorts player.
@@ -74,7 +74,7 @@ public final class ShortsFilter extends Filter {
// Use a different filter group for this pattern, as it requires an additional check after matching.
shelfHeader = new StringFilterGroup(
null,
"shelf_header.eml"
"shelf_header.e"
);
addIdentifierCallbacks(shortsIdentifiers, shelfHeader);
@@ -85,11 +85,11 @@ public final class ShortsFilter extends Filter {
shortsCompactFeedVideo = new StringFilterGroup(null,
// Shorts that appear in the feed/search when the device is using tablet layout.
"compact_video.eml",
// 'video_lockup_with_attachment.eml' is shown instead of 'compact_video.eml' for some users
"video_lockup_with_attachment.eml",
"compact_video.e",
// 'video_lockup_with_attachment.e' is shown instead of 'compact_video.e' for some users
"video_lockup_with_attachment.e",
// Search results that appear in a horizontal shelf.
"video_card.eml");
"video_card.e");
// Filter out items that use the 'frame0' thumbnail.
// This is a valid thumbnail for both regular videos and Shorts,
@@ -134,31 +134,31 @@ public final class ShortsFilter extends Filter {
StringFilterGroup stickers = new StringFilterGroup(
Settings.HIDE_SHORTS_STICKERS,
"stickers_layer.eml"
"stickers_layer.e"
);
StringFilterGroup likeFountain = new StringFilterGroup(
Settings.HIDE_SHORTS_LIKE_FOUNTAIN,
"like_fountain.eml"
"like_fountain.e"
);
StringFilterGroup likeButton = new StringFilterGroup(
Settings.HIDE_SHORTS_LIKE_BUTTON,
"shorts_like_button.eml",
"reel_like_button.eml"
"shorts_like_button.e",
"reel_like_button.e"
);
StringFilterGroup dislikeButton = new StringFilterGroup(
Settings.HIDE_SHORTS_DISLIKE_BUTTON,
"shorts_dislike_button.eml",
"reel_dislike_button.eml"
"shorts_dislike_button.e",
"reel_dislike_button.e"
);
StringFilterGroup previewComment = new StringFilterGroup(
Settings.HIDE_SHORTS_PREVIEW_COMMENT,
// Preview comment that can popup while a Short is playing.
// Uses no bundled icons, and instead the users profile photo is shown.
"participation_bar.eml"
"participation_bar.e"
);
joinButton = new StringFilterGroup(
@@ -173,20 +173,20 @@ public final class ShortsFilter extends Filter {
paidPromotionButton = new StringFilterGroup(
Settings.HIDE_PAID_PROMOTION_LABEL,
"reel_player_disclosure.eml"
"reel_player_disclosure.e"
);
shortsActionBar = new StringFilterGroup(
null,
"shorts_action_bar.eml",
"reel_action_bar.eml"
"shorts_action_bar.e",
"reel_action_bar.e"
);
useSoundButton = new StringFilterGroup(
Settings.HIDE_SHORTS_USE_SOUND_BUTTON,
// First filter needed for "Use this sound" that can appear when viewing Shorts
// through the "Short remixing this video" section.
"floating_action_button.eml",
"floating_action_button.e",
// Second filter needed for "Use this sound" that can appear below the video title.
REEL_METAPANEL_PATH
);
@@ -209,13 +209,13 @@ public final class ShortsFilter extends Filter {
videoActionButton = new StringFilterGroup(
null,
// Can be simply 'button.eml', 'shorts_video_action_button.eml' or 'reel_action_button.eml'
"button.eml"
// Can be simply 'button.e', 'shorts_video_action_button.e' or 'reel_action_button.e'
"button.e"
);
suggestedAction = new StringFilterGroup(
null,
"suggested_action.eml"
"suggested_action.e"
);
addPathCallbacks(

View File

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

View File

@@ -280,6 +280,10 @@ public final class app/revanced/patches/instagram/hide/stories/HideStoriesKt {
public static final fun getHideStoriesPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatchKt {
public static final fun getEnableDeveloperMenuPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/instagram/misc/extension/SharedExtensionPatchKt {
public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -288,6 +292,18 @@ public final class app/revanced/patches/instagram/misc/links/OpenLinksExternally
public static final fun getOpenLinksExternallyPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatchKt {
public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatchKt {
public static final fun getChangeLinkSharingDomainPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatchKt {
public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt {
public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}

View File

@@ -2,11 +2,13 @@ package app.revanced.patches.finanzonline.detection.root
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION
import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION
@Suppress("unused")
val rootDetectionPatch = bytecodePatch(
name = "Remove root detection",
description = "Removes the check for root permissions.",
name = PATCH_NAME_REMOVE_ROOT_DETECTION,
description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION,
) {
compatibleWith("at.gv.bmf.bmf2go")

View File

@@ -1,12 +1,14 @@
package app.revanced.patches.idaustria.detection.root
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION
import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION
import app.revanced.util.returnEarly
@Suppress("unused")
val rootDetectionPatch = bytecodePatch(
name = "Remove root detection",
description = "Removes the check for root permissions and unlocked bootloader.",
name = PATCH_NAME_REMOVE_ROOT_DETECTION,
description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION
) {
compatibleWith("at.gv.oe.app")

View File

@@ -0,0 +1,37 @@
package app.revanced.patches.instagram.misc.devmenu
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.util.Utils.trimIndentMultiline
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionReversedOrThrow
import app.revanced.util.returnEarly
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
@Suppress("unused")
val enableDeveloperMenuPatch = bytecodePatch(
name = "Enable developer menu",
description = """
Enables the developer menu, which can be found at the bottom of settings menu with name 'Internal Settings'.
It is recommended to use this patch with an alpha/beta Instagram release. Patching a stable release works, but the developer menu shows the developer flags as numbers and does not show a human readable description.
""".trimIndentMultiline(),
use = false
) {
compatibleWith("com.instagram.android")
execute {
with(clearNotificationReceiverFingerprint.method) {
indexOfFirstInstructionReversedOrThrow(clearNotificationReceiverFingerprint.stringMatches!!.first().index) {
val reference = getReference<MethodReference>()
Opcode.INVOKE_STATIC == opcode &&
reference?.parameterTypes?.size == 1 &&
reference.parameterTypes.first() == "Lcom/instagram/common/session/UserSession;" &&
reference.returnType == "Z"
}.let { index ->
navigate(this).to(index).stop().returnEarly(true)
}
}
}
}

View File

@@ -0,0 +1,12 @@
package app.revanced.patches.instagram.misc.devmenu
import app.revanced.patcher.fingerprint
internal val clearNotificationReceiverFingerprint = fingerprint {
custom { method, classDef ->
method.name == "onReceive" &&
classDef.type == "Lcom/instagram/notifications/push/ClearNotificationReceiver;"
}
strings("NOTIFICATION_DISMISSED")
}

View File

@@ -0,0 +1,12 @@
package app.revanced.patches.instagram.misc.privacy
import app.revanced.patcher.patch.bytecodePatch
@Deprecated(
"Patch was moved to a different package",
ReplaceWith("app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch")
)
@Suppress("unused")
val sanitizeSharingLinksPatch = bytecodePatch {
dependsOn(app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch)
}

View File

@@ -0,0 +1,31 @@
package app.revanced.patches.instagram.misc.share
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.BytecodePatchContext
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.util.indexOfFirstInstruction
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
context(BytecodePatchContext)
internal fun editShareLinksPatch(block: MutableMethod.(index: Int, register: Int) -> Unit) {
val fingerprintsToPatch = arrayOf(
permalinkResponseJsonParserFingerprint,
storyUrlResponseJsonParserFingerprint,
profileUrlResponseJsonParserFingerprint,
liveUrlResponseJsonParserFingerprint
)
for (fingerprint in fingerprintsToPatch) {
fingerprint.method.apply {
val putSharingUrlIndex = indexOfFirstInstruction(
permalinkResponseJsonParserFingerprint.stringMatches!!.first().index,
Opcode.IPUT_OBJECT
)
val sharingUrlRegister = getInstruction<TwoRegisterInstruction>(putSharingUrlIndex).registerA
block(putSharingUrlIndex, sharingUrlRegister)
}
}
}

View File

@@ -0,0 +1,23 @@
package app.revanced.patches.instagram.misc.share
import app.revanced.patcher.fingerprint
internal val permalinkResponseJsonParserFingerprint = fingerprint {
strings("permalink", "PermalinkResponse")
custom { method, _ -> method.name == "parseFromJson" }
}
internal val storyUrlResponseJsonParserFingerprint = fingerprint {
strings("story_item_to_share_url", "StoryItemUrlResponse")
custom { method, _ -> method.name == "parseFromJson" }
}
internal val profileUrlResponseJsonParserFingerprint = fingerprint {
strings("profile_to_share_url", "ProfileUrlResponse")
custom { method, _ -> method.name == "parseFromJson" }
}
internal val liveUrlResponseJsonParserFingerprint = fingerprint {
strings("live_to_share_url", "LiveItemLinkUrlResponse")
custom { method, _ -> method.name == "parseFromJson" }
}

View File

@@ -0,0 +1,42 @@
package app.revanced.patches.instagram.misc.share.domain
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.patch.stringOption
import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch
import app.revanced.patches.instagram.misc.share.editShareLinksPatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN
import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN
import app.revanced.util.returnEarly
@Suppress("unused")
val changeLinkSharingDomainPatch = bytecodePatch(
name = PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN,
description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN,
use = false
) {
compatibleWith("com.instagram.android")
dependsOn(sharedExtensionPatch)
execute {
val customDomainHost by stringOption(
key = "domainName",
default = "imginn.com",
title = "Domain name",
description = "The domain name to use when sharing links."
)
getCustomShareDomainFingerprint.method.returnEarly(customDomainHost!!)
editShareLinksPatch { index, register ->
addInstructions(
index,
"""
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->setCustomShareDomain(Ljava/lang/String;)Ljava/lang/String;
move-result-object v$register
"""
)
}
}
}

View File

@@ -0,0 +1,16 @@
package app.revanced.patches.instagram.misc.share.domain
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch;"
internal val getCustomShareDomainFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
returns("Ljava/lang/String;")
parameters()
custom { method, classDef ->
method.name == "getCustomShareDomain" && classDef.type == EXTENSION_CLASS_DESCRIPTOR
}
}

View File

@@ -0,0 +1,33 @@
package app.revanced.patches.instagram.misc.share.privacy
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch
import app.revanced.patches.instagram.misc.share.editShareLinksPatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS
import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch;"
@Suppress("unused")
val sanitizeSharingLinksPatch = bytecodePatch(
name = PATCH_NAME_SANITIZE_SHARING_LINKS,
description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS,
) {
compatibleWith("com.instagram.android")
dependsOn(sharedExtensionPatch)
execute {
editShareLinksPatch { index, register ->
addInstructions(
index,
"""
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String;
move-result-object v$register
"""
)
}
}
}

View File

@@ -1,12 +1,14 @@
package app.revanced.patches.orfon.detection.root
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION
import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION
import app.revanced.util.returnEarly
@Suppress("unused")
val removeRootDetectionPatch = bytecodePatch(
name = "Remove root detection",
description = "Removes the check for root permissions.",
name = PATCH_NAME_REMOVE_ROOT_DETECTION,
description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION
) {
compatibleWith("com.nousguide.android.orftvthek")

View File

@@ -2,11 +2,13 @@ package app.revanced.patches.reddit.misc.tracking.url
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS
import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS
@Suppress("unused")
val sanitizeUrlQueryPatch = bytecodePatch(
name = "Sanitize sharing links",
description = "Removes (tracking) query parameters from the URLs when sharing links.",
name = PATCH_NAME_SANITIZE_SHARING_LINKS,
description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS,
) {
compatibleWith("com.reddit.frontpage")

View File

@@ -2,11 +2,13 @@ package app.revanced.patches.serviceportalbund.detection.root
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION
import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION
@Suppress("unused")
val rootDetectionPatch = bytecodePatch(
name = "Remove root detection",
description = "Removes the check for root permissions and unlocked bootloader.",
name = PATCH_NAME_REMOVE_ROOT_DETECTION,
description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION
) {
compatibleWith("at.gv.bka.serviceportal")

View File

@@ -0,0 +1,14 @@
package app.revanced.patches.shared
//
// Names and descriptions used by different patches implementing the same feature.
//
internal const val PATCH_NAME_REMOVE_ROOT_DETECTION = "Remove root detection"
internal const val PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION = "Removes the check for root permissions and unlocked bootloader."
internal const val PATCH_NAME_SANITIZE_SHARING_LINKS = "Sanitize sharing links"
internal const val PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS = "Removes the tracking query parameters from shared links."
internal const val PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN = "Change link sharing domain"
internal const val PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN = "Replaces the domain name of shared links."

View File

@@ -10,6 +10,8 @@ import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS
import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS
import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen
import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
@@ -20,14 +22,17 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/shared/patches/SanitizeSharingLinksPatch;"
/**
* Patch shared by YouTube and YT Music.
*/
internal fun sanitizeSharingLinksPatch(
block: BytecodePatchBuilder.() -> Unit = {},
executeBlock: BytecodePatchContext.() -> Unit = {},
preferenceScreen: BasePreferenceScreen.Screen,
replaceMusicLinksWithYouTube: Boolean = false
) = bytecodePatch(
name = "Sanitize sharing links",
description = "Adds an option to remove the tracking query parameter from shared links.",
name = PATCH_NAME_SANITIZE_SHARING_LINKS,
description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS,
) {
block()

View File

@@ -17,7 +17,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
@Suppress("unused")
val hideCreateButtonPatch = bytecodePatch(
name = "Hide Create button",
description = "Hides the \"Create\" button in the navigation bar."
description = "Hides the \"Create\" button in the navigation bar. The latest app targets do not need this patch.",
use = false
) {
compatibleWith("com.spotify.music")

View File

@@ -3,6 +3,8 @@ package app.revanced.patches.spotify.misc.privacy
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS
import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS
import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionOrThrow
@@ -15,8 +17,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
@Suppress("unused")
val sanitizeSharingLinksPatch = bytecodePatch(
name = "Sanitize sharing links",
description = "Removes the tracking query parameters from links before they are shared.",
name = PATCH_NAME_SANITIZE_SHARING_LINKS,
description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS,
) {
compatibleWith("com.spotify.music")
@@ -24,7 +26,7 @@ val sanitizeSharingLinksPatch = bytecodePatch(
execute {
val extensionMethodDescriptor = "$EXTENSION_CLASS_DESCRIPTOR->" +
"sanitizeUrl(Ljava/lang/String;)Ljava/lang/String;"
"sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String;"
val copyFingerprint = if (shareCopyUrlFingerprint.originalMethodOrNull != null) {
shareCopyUrlFingerprint

View File

@@ -6,6 +6,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.patch.resourcePatch
import app.revanced.patcher.patch.stringOption
import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN
import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN
import app.revanced.patches.shared.misc.mapping.get
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.shared.misc.mapping.resourceMappings
@@ -29,8 +31,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/li
@Suppress("unused")
val changeLinkSharingDomainPatch = bytecodePatch(
name = "Change link sharing domain",
description = "Replaces the domain name of Twitter links when sharing them.",
name = PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN,
description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN
) {
dependsOn(
changeLinkSharingDomainResourcePatch,

View File

@@ -2,11 +2,13 @@ package app.revanced.patches.twitter.misc.links
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS
import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS
@Suppress("unused")
val sanitizeSharingLinksPatch = bytecodePatch(
name = "Sanitize sharing links",
description = "Removes the tracking query parameters from links before they are shared.",
name = PATCH_NAME_SANITIZE_SHARING_LINKS,
description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS,
) {
compatibleWith(
"com.twitter.android"(

View File

@@ -125,7 +125,7 @@ Second \"item\" text"</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">لاستخدام هذه الميزة، غيّر \"تزوير تدفقات الفيديو\" إلى أي عميل باستثناء Android Studio</string>
<string name="revanced_force_original_audio_not_available">لاستخدام هذه الميزة، غيّر \'Spoof Video Streams إلى أي عميل باستثناء Android Studio</string>
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
<string name="revanced_debug_screen_title">تصحيح الأخطاء</string>
@@ -637,9 +637,9 @@ Second \"item\" text"</string>
<string name="revanced_hide_comments_button_summary_off">يتم عرض زر التعليقات</string>
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
This button usually only shows on live streams. -->
<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>
<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_summary_on">تم إخفاء زر ريمكس</string>
@@ -728,17 +728,17 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_flyout_title">القائمة المنبثقة</string>
<string name="revanced_hide_player_flyout_summary">إخفاء أو عرض عناصر قائمة المشغل المنبثقة</string>
<!-- 'Captions' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_captions_title">اخفاء التَرْجَمَة</string>
<string name="revanced_hide_player_flyout_captions_summary_on">تم إخفاء قائمة التَرْجَمَة</string>
<string name="revanced_hide_player_flyout_captions_summary_off">يتم عرض قائمة التَرْجَمَة</string>
<string name="revanced_hide_player_flyout_captions_title">إخفاء الترجمة</string>
<string name="revanced_hide_player_flyout_captions_summary_on">تم إخفاء قائمة الترجمة</string>
<string name="revanced_hide_player_flyout_captions_summary_off">يتم عرض قائمة الترجمة</string>
<!-- 'Additional settings' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_additional_settings_title">إخفاء الإعدادات الإضافية</string>
<string name="revanced_hide_player_flyout_additional_settings_summary_on">تم إخفاء قائمة الإعدادات الإضافية</string>
<string name="revanced_hide_player_flyout_additional_settings_summary_off">يتم عرض قائمة الإعدادات الإضافية</string>
<string name="revanced_hide_player_flyout_additional_settings_title">إخفاء إعدادات إضافية</string>
<string name="revanced_hide_player_flyout_additional_settings_summary_on">تم إخفاء قائمة إعدادات إضافية</string>
<string name="revanced_hide_player_flyout_additional_settings_summary_off">يتم عرض قائمة إعدادات إضافية</string>
<!-- 'Sleep timer' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_sleep_timer_title">إخفاء مؤقت النوم</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_on">تم إخفاء قائمة مؤقت النوم</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_off">يتم عرض قائمة مؤقت النوم</string>
<string name="revanced_hide_player_flyout_sleep_timer_title">إخفاء مؤقِّت إيقاف التشغيل</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_on">تم إخفاء قائمة مؤقِّت إيقاف التشغيل</string>
<string name="revanced_hide_player_flyout_sleep_timer_summary_off">يتم عرض قائمة مؤقِّت إيقاف التشغيل</string>
<!-- 'Loop video' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_loop_video_title">إخفاء تكرار الفيديو</string>
<string name="revanced_hide_player_flyout_loop_video_summary_on">تم إخفاء قائمة تكرار الفيديو</string>
@@ -765,23 +765,23 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_flyout_more_info_summary_off">يتم عرض قائمة المزيد من المعلومات</string>
<!-- 'Lock screen' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_lock_screen_title">إخفاء شاشة القفل</string>
<string name="revanced_hide_player_flyout_lock_screen_summary_on">تم إخفاء قائمة قفل الشاشة</string>
<string name="revanced_hide_player_flyout_lock_screen_summary_off">يتم عرض قائمة قفل الشاشة</string>
<string name="revanced_hide_player_flyout_lock_screen_summary_on">تم إخفاء قائمة شاشة القفل</string>
<string name="revanced_hide_player_flyout_lock_screen_summary_off">يتم عرض قائمة شاشة القفل</string>
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_audio_track_title">إخفاء المقطع الصوتي</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">"قائمة المسارات الصوتية مخفية
<string name="revanced_hide_player_flyout_audio_track_not_available">"تم إخفاء قائمة المقطع الصوتي
لعرض قائمة المسارات الصوتية، غيّر 'تزييف تدفقات الفيديو' إلى iPadOS"</string>
لعرض قائمة المقطع الصوتي، غيّر 'Spoof video streams' إلى iPadOS"</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">تم إخفاء قائمة المشاهدة في الوضع الافتراضي</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_off">يتم عرض قائمة المشاهدة في الوضع الافتراضي</string>
<string name="revanced_hide_player_flyout_video_quality_title">إخفاء قائمة جودة الفيديو</string>
<string name="revanced_hide_player_flyout_video_quality_summary_on">قائمة جودة الفيديو مخفية</string>
<string name="revanced_hide_player_flyout_video_quality_summary_off">قائمة جودة الفيديو معروضة</string>
<string name="revanced_hide_player_flyout_video_quality_summary_on">تم إخفاء قائمة جودة الفيديو</string>
<string name="revanced_hide_player_flyout_video_quality_summary_off">يتم عرض قائمة جودة الفيديو</string>
<string name="revanced_hide_player_flyout_video_quality_footer_title">إخفاء تذييل قائمة جودة الفيديو</string>
<string name="revanced_hide_player_flyout_video_quality_footer_summary_on">تم إخفاء تذييل قائمة جودة الفيديو</string>
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">يتم عرض تذييل قائمة جودة الفيديو</string>
@@ -791,18 +791,18 @@ Second \"item\" text"</string>
<string name="revanced_hide_autoplay_button_summary_on">تم إخفاء زر التشغيل التلقائي</string>
<string name="revanced_hide_autoplay_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_title">إخفاء زر الترجمة</string>
<string name="revanced_hide_captions_button_summary_on">تم إخفاء زر الترجمة</string>
<string name="revanced_hide_captions_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>
<string name="revanced_hide_player_control_buttons_background_title">إخفاء خلفية عناصر التحكم بالمشغل</string>
<string name="revanced_hide_player_control_buttons_background_summary_on">خلفية عناصر تحكم المشغل مخفية</string>
<string name="revanced_hide_player_control_buttons_background_summary_off">يتم عرض خلفية عناصر التحكم بالمشغل</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_player_control_buttons_background_summary_on">تم إخفاء خلفية عناصر تحكم المشغل</string>
<string name="revanced_hide_player_control_buttons_background_summary_off">يتم عرض خلفية عناصر تحكم المشغل</string>
<string name="revanced_hide_player_previous_next_buttons_title">إخفاء أزرار السابق &amp; التالي</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">تم إخفاء أزرار السابق &amp; التالي</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">يتم عرض أزرار السابق &amp; التالي</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">إخفاء بطاقات شاشة النهاية</string>
@@ -829,37 +829,37 @@ Second \"item\" text"</string>
<string name="revanced_hide_seekbar_summary_on">تم إخفاء شريط تقدم الفيديو</string>
<string name="revanced_hide_seekbar_summary_off">يتم عرض شريط تقدم الفيديو</string>
<!-- Seekbar shown inside video thumbnails found the home/feed/search/history. The seekbar shows the prior watch progress when the video was last open. -->
<string name="revanced_hide_seekbar_thumbnail_title">إخفاء شريط تقدم صور مصغرة للفيديو</string>
<string name="revanced_hide_seekbar_thumbnail_summary_on">شريط تقدم صور مصغرة للفيديو مخفي</string>
<string name="revanced_hide_seekbar_thumbnail_summary_off">شريط تقدم صور مصغرة للفيديو معروض</string>
<string name="revanced_hide_seekbar_thumbnail_title">إخفاء شريط تقدم مصغرات الفيديو</string>
<string name="revanced_hide_seekbar_thumbnail_summary_on">تم إخفاء شريط تقدم مصغرات الفيديو</string>
<string name="revanced_hide_seekbar_thumbnail_summary_off">يتم عرض شريط تقدم مصغرات الفيديو</string>
</patch>
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
<string name="revanced_shorts_player_screen_title">مشغل Shorts</string>
<string name="revanced_shorts_player_screen_summary">إخفاء أو إظهار مكونات مشغل Shorts</string>
<string name="revanced_shorts_player_screen_summary">إخفاء أو عرض مكونات مشغل Shorts</string>
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
<string name="revanced_hide_shorts_home_title">إخفاء Shorts في الصفحة الرئيسية</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_summary_on">مخفي في موجز الصفحة الرئيسية والفيديوهات ذات الصلة</string>
<string name="revanced_hide_shorts_home_summary_off">يُعرض في موجز الصفحة الرئيسية والفيديوهات ذات الصلة</string>
<string name="revanced_hide_shorts_search_title">إخفاء Shorts في نتائج البحث</string>
<string name="revanced_hide_shorts_search_summary_on">مخفية في نتائج البحث</string>
<string name="revanced_hide_shorts_search_summary_off">تُعرض في نتائج البحث</string>
<string name="revanced_hide_shorts_search_summary_on">مخفي في نتائج البحث</string>
<string name="revanced_hide_shorts_search_summary_off">يُعرض في نتائج البحث</string>
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
<string name="revanced_hide_shorts_subscriptions_title">إخفاء Shorts في خلاصة الاشتراكات</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">مخفية في خلاصة الاشتراكات</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">معروضة في خلاصة الاشتراكات</string>
<string name="revanced_hide_shorts_history_title">إخفاء Shorts في سجل المشاهدة</string>
<string name="revanced_hide_shorts_history_summary_on">مخفية في سجل المشاهدة</string>
<string name="revanced_hide_shorts_history_summary_off">تُعرض في سجل المشاهدة</string>
<string name="revanced_hide_shorts_super_thanks_button_title">إخفاء زر Super Thanks</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_on">زر شراء Super Thanks مخفي</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_off">زر شراء Super Thanks معروض</string>
<string name="revanced_hide_shorts_subscriptions_title">إخفاء Shorts في موجز الاشتراكات</string>
<string name="revanced_hide_shorts_subscriptions_summary_on">مخفي في موجز الاشتراكات</string>
<string name="revanced_hide_shorts_subscriptions_summary_off">يُعرض في موجز الاشتراكات</string>
<string name="revanced_hide_shorts_history_title">إخفاء Shorts في السجلّ</string>
<string name="revanced_hide_shorts_history_summary_on">مخفي في السجلّ</string>
<string name="revanced_hide_shorts_history_summary_off">يُعرض في السجلّ</string>
<string name="revanced_hide_shorts_super_thanks_button_title">إخفاء زر شراء Super Thanks</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_on">تم إخفاء زر شراء Super Thanks</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_off">يتم عرض زر شراء Super Thanks</string>
<string name="revanced_hide_shorts_effect_button_title">إخفاء زر التأثير</string>
<string name="revanced_hide_shorts_effect_button_summary_on">زر التأثير مخفي</string>
<string name="revanced_hide_shorts_effect_button_summary_off">زر التأثير معروض</string>
<string name="revanced_hide_shorts_effect_button_summary_on">تم إخفاء زر التأثير</string>
<string name="revanced_hide_shorts_effect_button_summary_off">يتم عرض زر التأثير</string>
<string name="revanced_hide_shorts_green_screen_button_title">إخفاء زر الشاشة الخضراء</string>
<string name="revanced_hide_shorts_green_screen_button_summary_on">تم إخفاء زر الشاشة الخضراء</string>
<string name="revanced_hide_shorts_green_screen_button_summary_off">يتم عرض زر الشاشة الخضراء</string>
<string name="revanced_hide_shorts_hashtag_button_title">إخفاء زر الهاشتاج</string>
<string name="revanced_hide_shorts_hashtag_button_title">إخفاء زر هاشتاج</string>
<string name="revanced_hide_shorts_hashtag_button_summary_on">تم إخفاء زر الهاشتاج</string>
<string name="revanced_hide_shorts_hashtag_button_summary_off">يتم عرض زر الهاشتاج</string>
<!-- 'Join' should be translated using the same localized wording YouTube displays for the button. -->
@@ -869,9 +869,9 @@ Second \"item\" text"</string>
<string name="revanced_hide_shorts_location_label_title">إخفاء تسمية الموقع</string>
<string name="revanced_hide_shorts_location_label_summary_on">تم إخفاء تسمية الموقع</string>
<string name="revanced_hide_shorts_location_label_summary_off">يتم عرض تسمية الموقع</string>
<string name="revanced_hide_shorts_new_posts_button_title">إخفاء زر \"مشاركات جديدة\"</string>
<string name="revanced_hide_shorts_new_posts_button_summary_on">تم إخفاء زر \"مشاركات جديدة\"</string>
<string name="revanced_hide_shorts_new_posts_button_summary_off">يتم عرض زر \"مشاركات جديدة\"</string>
<string name="revanced_hide_shorts_new_posts_button_title">إخفاء زر المنشورات الجديدة</string>
<string name="revanced_hide_shorts_new_posts_button_summary_on">تم إخفاء زر المنشورات الجديدة</string>
<string name="revanced_hide_shorts_new_posts_button_summary_off">يتم عرض زر المنشورات الجديدة</string>
<string name="revanced_hide_shorts_paused_overlay_buttons_title">إخفاء أزرار واجهة التوقف</string>
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">تم إخفاء أزرار واجهة التوقف</string>
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">يتم عرض أزرار واجهة التوقف</string>
@@ -900,11 +900,11 @@ Second \"item\" text"</string>
<string name="revanced_hide_shorts_upcoming_button_summary_on">تم إخفاء زر القادم</string>
<string name="revanced_hide_shorts_upcoming_button_summary_off">يتم عرض زر القادم</string>
<string name="revanced_hide_shorts_use_sound_button_title">إخفاء زر استخدام هذا الصوت</string>
<string name="revanced_hide_shorts_use_sound_button_summary_on">زر استخدام هذا الصوت مخفي</string>
<string name="revanced_hide_shorts_use_sound_button_summary_off">زر استخدام هذا الصوت معروض</string>
<string name="revanced_hide_shorts_use_template_button_title">إخفاء زر استخدام هذا القالب</string>
<string name="revanced_hide_shorts_use_template_button_summary_on">زر استخدام هذا القالب مخفي</string>
<string name="revanced_hide_shorts_use_template_button_summary_off">زر استخدام هذا القالب ظاهر</string>
<string name="revanced_hide_shorts_use_sound_button_summary_on">تم إخفاء زر استخدام هذا الصوت</string>
<string name="revanced_hide_shorts_use_sound_button_summary_off">يتم عرض زر استخدام هذا الصوت</string>
<string name="revanced_hide_shorts_use_template_button_title">إخفاء زر استخدام النموذج</string>
<string name="revanced_hide_shorts_use_template_button_summary_on">تم إخفاء زر استخدم هذا النموذج</string>
<string name="revanced_hide_shorts_use_template_button_summary_off">يتم عرض زر استخدم هذا النموذج</string>
<string name="revanced_hide_shorts_like_fountain_title">إخفاء التأثير الفوّار لـزر أعجبني</string>
<string name="revanced_hide_shorts_like_fountain_summary_on">تم إخفاء التأثير الفوّار لـزر أعجبني</string>
<string name="revanced_hide_shorts_like_fountain_summary_off">يتم عرض التأثير الفوّار لـزر أعجبني</string>
@@ -935,11 +935,11 @@ Second \"item\" text"</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>
<string name="revanced_hide_shorts_video_title_summary_on">تم إخفاء عنوان الفيديو</string>
<string name="revanced_hide_shorts_video_title_summary_off">يتم عرض عنوان الفيديو</string>
<string name="revanced_hide_shorts_sound_metadata_label_title">إخفاء تسمية بيانات التعريف الصوتية</string>
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">تسمية بيانات تعريف الصوت مخفية</string>
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">تسمية بيانات تعريف الصوت معروضة</string>
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">تم إخفاء تسمية بيانات التعريف الصوتية</string>
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">يتم عرض تسمية بيانات التعريف الصوتية</string>
<string name="revanced_hide_shorts_full_video_link_label_title">إخفاء تسمية رابط الفيديو</string>
<string name="revanced_hide_shorts_full_video_link_label_summary_on">تم إخفاء تسمية رابط الفيديو</string>
<string name="revanced_hide_shorts_full_video_link_label_summary_off">يتم عرض تسمية رابط الفيديو</string>
@@ -956,9 +956,9 @@ Second \"item\" text"</string>
<string name="revanced_end_screen_suggested_video_summary_off">يتم عرض الفيديو المقترح في شاشة النهاية</string>
</patch>
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
<string name="revanced_hide_related_videos_overlay_title">إخفاء تراكب مقاطع الفيديو ذات الصلة</string>
<string name="revanced_hide_related_videos_overlay_summary_on">تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة مخفي</string>
<string name="revanced_hide_related_videos_overlay_summary_off">تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة معروض</string>
<string name="revanced_hide_related_videos_overlay_title">إخفاء واجهة الفيديوهات ذات الصلة</string>
<string name="revanced_hide_related_videos_overlay_summary_on">تم إخفاء واجهة الفيديوهات ذات الصلة في ملء الشاشة</string>
<string name="revanced_hide_related_videos_overlay_summary_off">يتم عرض واجهة الفيديوهات ذات الصلة في ملء الشاشة</string>
</patch>
<patch id="layout.hide.time.hideTimestampPatch">
<string name="revanced_hide_timestamp_title">إخفاء الطابع الزمني للفيديو</string>
@@ -991,7 +991,7 @@ Second \"item\" text"</string>
<!-- 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. -->
<string name="revanced_ryd_failure_connection_timeout">لم يعجبني غير متاح مؤقتًا (انتهت مهلة API)</string>
<string name="revanced_ryd_failure_connection_status_code">لم يعجبني غير متاح (الحالة %d)</string>
<string name="revanced_ryd_failure_client_rate_limit_requested">مرات عدم الإعجاب غير متوفرة (حد واجهة برمجة تطبيقات العميل)</string>
<string name="revanced_ryd_failure_client_rate_limit_requested">عدد مرات لم يعجبني غير متوفر (حد API للعميل)</string>
<string name="revanced_ryd_failure_generic">لم يعجبني غير متاح (%s)</string>
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">أعد تحميل الفيديو للتصويت بـ Return YouTube Dislike</string>
@@ -1000,31 +1000,31 @@ Second \"item\" text"</string>
<string name="revanced_ryd_enabled_summary_on">يتم عرض لم يعجبني</string>
<string name="revanced_ryd_enabled_summary_off">لا يتم عرض لم يعجبني</string>
<string name="revanced_ryd_shorts_title">عرض لم يعجني في فيديوهات Shorts</string>
<string name="revanced_ryd_shorts_summary_on">"يتم عرض مرات عدم الإعجاب في فيديوهات Shorts
<string name="revanced_ryd_shorts_summary_on">"يتم عرض عدد مرات لم يعجبني في فيديوهات Shorts
التقييد: قد لا تظهر مرات عدم الإعجاب في وضع التصفح المتخفي"</string>
<string name="revanced_ryd_shorts_summary_off">لا يتم عرض مرات عدم الإعجاب في فيديوهات Shorts</string>
التقييد: قد لا تظهر مرات لم يعجبني في وضع التصفح المتخفي"</string>
<string name="revanced_ryd_shorts_summary_off">لا يتم عرض مرات لم يعجبني على فيديوهات Shorts</string>
<string name="revanced_ryd_dislike_percentage_title">لم يعجبني كــ نسبة مئوية</string>
<string name="revanced_ryd_dislike_percentage_summary_on">يتم عرض مرات عدم الإعجاب كنسبة مئوية</string>
<string name="revanced_ryd_dislike_percentage_summary_off">يتم عرض مرات عدم الإعجاب كرقم</string>
<string name="revanced_ryd_dislike_percentage_summary_on">يعرض عدد لم يعجبني كـ نسبة مئوية</string>
<string name="revanced_ryd_dislike_percentage_summary_off">يتم عرض عدد لم يعجبني كـ رَقَم</string>
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
<string name="revanced_ryd_compact_layout_title">مقاس زر أعجبني</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>
<string name="revanced_ryd_toast_on_connection_error_summary_off">لا يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike</string>
<string name="revanced_ryd_attribution_summary">يتم توفير البيانات بواسطة the Return YouTube Dislike API. اضغط هنا لمعرفة المزيد</string>
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
<string name="revanced_ryd_statistics_category_title">ReturnYouTubeDislike API إحصائيات هذا الجهاز</string>
<string name="revanced_ryd_statistics_category_title">إحصائيات واجهة برمجيات ReturnYouTubeDislike لهذا الجهاز</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeAverage_title">وقت استجابة API، متوسط</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMin_title">وقت استجابة API، الحد الأدنى</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMax_title">وقت استجابة API، الحد الأقصى</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_title">وقت استجابة API، الفيديو الأخير</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_rate_limit_summary">غير متوفر مؤقتًا - حد معدل API للعميل ساري المفعول</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_title">وقت استجابة API، آخر فيديو</string>
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_rate_limit_summary">لم يعجبني غير متوفر مؤقتًا - حد معدل API للعميل ساري المفعول</string>
<string name="revanced_ryd_statistics_getFetchCallCount_title">API جلب الأصوات وعدد الاتصالات</string>
<string name="revanced_ryd_statistics_getFetchCallCount_zero_summary">لم يتم إجراء اتصالات الشبكة</string>
<string name="revanced_ryd_statistics_getFetchCallCount_non_zero_summary">%d اتصالات شبكية أجريت</string>
@@ -1056,7 +1056,7 @@ Second \"item\" text"</string>
</patch>
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
<string name="revanced_sb_enable_sb">تمكين SponsorBlock</string>
<string name="revanced_sb_enable_sb_sum">SponsorBlock مانِع الرُعَاة هو نظام جماعي لتخطي الأجزاء المُمِلَّة في مقاطع YouTube</string>
<string name="revanced_sb_enable_sb_sum">مانع الرُعَاة هو نظام جماعي لتخطي الأجزاء المزعجة من فيديوهات YouTube</string>
<string name="revanced_sb_appearance_category">المظهر</string>
<string name="revanced_sb_enable_voting">عرض زر التصويت</string>
<string name="revanced_sb_enable_voting_sum_on">يتم عرض زر التصويت على المقطع</string>
@@ -1072,12 +1072,12 @@ Second \"item\" text"</string>
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">إخفاء زر التخطي بعد بضع ثوانٍ</string>
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">يتم عرض زر التخطي للمقطع بأكمله</string>
<string name="revanced_sb_auto_hide_skip_button_duration">مدة زر التخطي</string>
<string name="revanced_sb_auto_hide_skip_button_duration_sum">كم المدة لعرض أزرار التخطي والتخطي إلى التمييز قبل الإخفاء التلقائي</string>
<string name="revanced_sb_general_skiptoast">إظهار إشعار التراجع عن التخطي</string>
<string name="revanced_sb_general_skiptoast_sum_on">يظهر إشعار عند تخطي مقطع تلقائيًا. انقر على الإشعار للتراجع عن التخطي</string>
<string name="revanced_sb_general_skiptoast_sum_off">لا يتم عرض التوست</string>
<string name="revanced_sb_toast_on_skip_duration">مدة توست التخطي</string>
<string name="revanced_sb_toast_on_skip_duration_sum">كم المدة لعرض رسالة التراجع عن التخطي المنبثقة</string>
<string name="revanced_sb_auto_hide_skip_button_duration_sum">كم من الوقت يجب إظهار أزرار التخطي والتخطي للأبرز قبل إخفائها تلقائيًا</string>
<string name="revanced_sb_general_skiptoast">عرض التراجع عن التخطي</string>
<string name="revanced_sb_general_skiptoast_sum_on">تظهر ملاحظة عند تخطي مقطع تلقائيًا. انقر على الملاحظة للتراجع عن التخطي</string>
<string name="revanced_sb_general_skiptoast_sum_off">لا يتم عرض الملاحظة</string>
<string name="revanced_sb_toast_on_skip_duration">مدة ملاحظة التخطي</string>
<string name="revanced_sb_toast_on_skip_duration_sum">المدة اللازمة لإظهار التراجع عن التخطي</string>
<string name="revanced_sb_duration_1s">ثانية واحدة</string>
<string name="revanced_sb_duration_2s">ثانيتان</string>
<string name="revanced_sb_duration_3s">3 ثوانٍ</string>
@@ -1089,19 +1089,19 @@ Second \"item\" text"</string>
<string name="revanced_sb_duration_9s">9 ثوانٍ</string>
<string name="revanced_sb_duration_10s">10 ثوانٍ</string>
<string name="revanced_sb_general_time_without">عرض مدة الفيديو بدون المقاطع</string>
<string name="revanced_sb_general_time_without_sum_on">يتم عرض طول الفيديو مطروحًا منه جميع المقاطع على شريط التقدم</string>
<string name="revanced_sb_general_time_without_sum_on">يعرض مدة الفيديو ناقصًا منه جميع المقاطع على شريط التقدم</string>
<string name="revanced_sb_general_time_without_sum_off">يتم عرض مدة الفيديو كاملةً</string>
<string name="revanced_sb_create_segment_category">إنشاء مقاطع جديدة</string>
<string name="revanced_sb_enable_create_segment">عرض زر إنشاء مقطع جديد</string>
<string name="revanced_sb_enable_create_segment_sum_on">يتم عرض زر إنشاء مقطع جديد</string>
<string name="revanced_sb_enable_create_segment_sum_off">لا يتم عرض زر إنشاء مقطع جديد</string>
<string name="revanced_sb_general_adjusting">تعديل تقديم او تأخير المقطع الجديد</string>
<string name="revanced_sb_general_adjusting_sum">أجزاء الثانية التي تتحرك فيها أزرار ضبط الوقت عند إنشاء مقاطع جديدة</string>
<string name="revanced_sb_general_adjusting_sum">أجزاء الثانية في الوقت الذي تتحرك فيها أزرار ضبط الوقت عند إنشاء مقاطع جديدة</string>
<string name="revanced_sb_general_adjusting_invalid">يجب أن تكون القيمة رقمًا موجبًا</string>
<string name="revanced_sb_guidelines_preference_title">عرض الإرشادات</string>
<string name="revanced_sb_guidelines_preference_sum">الإرشادات تحتوي على نصائح حول تقديم المقاطع</string>
<string name="revanced_sb_guidelines_popup_title">توجد إرشادات</string>
<string name="revanced_sb_guidelines_popup_content">من المستحسن قراءة الإرشادات لمانع الرعاة قبل تقديم أي مقطع</string>
<string name="revanced_sb_guidelines_preference_sum">الإرشادات تتضمن قواعد ونصائح لإنشاء مقاطع جديدة</string>
<string name="revanced_sb_guidelines_popup_title">اتبع الإرشادات</string>
<string name="revanced_sb_guidelines_popup_content">من المستحسن قراءة الإرشادات لـ SponsorBlock قبل تقديم أي مقطع</string>
<string name="revanced_sb_guidelines_popup_already_read">تمت قراءتها</string>
<string name="revanced_sb_guidelines_popup_open">اعرضها لي</string>
<string name="revanced_sb_general">عام</string>
@@ -1110,11 +1110,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_toast_on_connection_error_sum_off">لا يتم عرض ملاحظة في حالة عدم توفر SponsorBlock</string>
<string name="revanced_sb_general_skipcount">تمكين تتبع مرات التخطي</string>
<string name="revanced_sb_general_skipcount_sum_on">يُتيح لـ SponsorBlock Leaderboard معرفة مقدار الوقت الذي وفره المشاهدين، يتم إعلام الخادم في كل مرة تتخطى فيها مقطعًا</string>
<string name="revanced_sb_general_skipcount_sum_off">تم تعطيل تتبع مرات التخطي</string>
<string name="revanced_sb_general_skipcount_sum_off">تتبع عدد مرات التخطي غير مفعل</string>
<string name="revanced_sb_general_min_duration">الحد الأدنى لمدة المقطع</string>
<string name="revanced_sb_general_min_duration_sum">لن يتم عرض المقاطع الأقصر من هذه القيمة (بالثواني) أو تخطيها</string>
<string name="revanced_sb_general_min_duration_invalid">المدة الزمنية غير صالحة</string>
<string name="revanced_sb_general_uuid">معرف المستخدم الفريد الخاص بك</string>
<string name="revanced_sb_general_uuid">معرف المستخدم User ID الفريد الخاص بك</string>
<string name="revanced_sb_general_uuid_sum">يجب أن يبقى هذا خاصًا. انه مثل كلمة المرور ولا ينبغي مشاركته مع أي شخص. إذا كان شخص ما يملك هذا، فيمكنه انتحال شخصيتك</string>
<string name="revanced_sb_general_uuid_invalid">يجب أن يكون معرف المستخدم الخاص 30 حرفًا على الأقل</string>
<string name="revanced_sb_general_api_url">تغيير عنوان API</string>
@@ -1147,11 +1147,11 @@ Second \"item\" text"</string>
<string name="revanced_sb_segments_intro_sum">فاصل زمني بدون محتوى فعلي. قد يكون توقفًا مؤقتًا، أو إطارًا ثابتًا، أو رسومًا متحركة متكررة. لا يتضمن انتقالات تحتوي على معلومات</string>
<string name="revanced_sb_segments_outro">الخاتمة / تترات النهاية</string>
<string name="revanced_sb_segments_outro_sum">تتر النهاية أو عندما تظهر بطاقات نهاية YouTube، نهايات غير منطوقة. ليس للاستنتاجات مع المعلومات</string>
<string name="revanced_sb_segments_hook">مقدمة / تحيات</string>
<string name="revanced_sb_segments_hook">تحية / وداع</string>
<string name="revanced_sb_segments_hook_sum">مقاطع دعائية مروية للفيديو القادم، تحيات ووداعات. لا تشمل الأقسام التي تضيف محتوى إضافيًا</string>
<string name="revanced_sb_segments_preview">معاينة / ملخص</string>
<string name="revanced_sb_segments_preview_sum">مجموعة من المقاطع التي توضح ما هو قادم أو ما حدث في الفيديو أو في مقاطع فيديو أخرى من السلسلة، حيث تتكرر جميع المعلومات في مكان آخر</string>
<string name="revanced_sb_segments_filler">استطراد / نكات</string>
<string name="revanced_sb_segments_filler">خارج الموضوع / نكات</string>
<string name="revanced_sb_segments_filler_sum">مشاهد أو نكات جانبية غير ضرورية لفهم المحتوى الرئيسي للفيديو. لا تشمل الأقسام التي توفر سياقًا أو تفاصيل خلفية</string>
<string name="revanced_sb_segments_nomusic">الموسيقى: مقطع غير موسيقي</string>
<string name="revanced_sb_segments_nomusic_sum">فقط للاستخدام في المقاطع الموسيقية. أقسام المقاطع الموسيقية بدون موسيقى، والتي لم يتم تغطيتها بالفعل من قبل فئة أخرى</string>
@@ -1169,7 +1169,7 @@ Second \"item\" text"</string>
<string name="revanced_sb_skip_button_preview_beginning">تخطي النظرة العامة</string>
<string name="revanced_sb_skip_button_preview_middle">تخطي النظرة العامة</string>
<string name="revanced_sb_skip_button_preview_end">تخطي الملخص</string>
<string name="revanced_sb_skip_button_filler">تخطي الجزء الجانبي</string>
<string name="revanced_sb_skip_button_filler">تخطي مقطع غير ذي صلة</string>
<string name="revanced_sb_skip_button_nomusic">تخطي غير الموسيقى</string>
<string name="revanced_sb_skip_button_unsubmitted">تخطي المقطع</string>
<string name="revanced_sb_skipped_sponsor">تم تخطي الراعي</string>
@@ -1184,13 +1184,13 @@ Second \"item\" text"</string>
<string name="revanced_sb_skipped_preview_beginning">تم تخطي النظرة العامة</string>
<string name="revanced_sb_skipped_preview_middle">تم تخطي النظرة العامة</string>
<string name="revanced_sb_skipped_preview_end">تم تخطي الملخص</string>
<string name="revanced_sb_skipped_filler">تم تخطي الجزء الجانبي</string>
<string name="revanced_sb_skipped_filler">تم تخطي مقطع غير ذي صلة</string>
<string name="revanced_sb_skipped_nomusic">تم تخطي جزء غير موسيقي</string>
<string name="revanced_sb_skipped_unsubmitted">تم تخطي المقطع الغير المرسل</string>
<string name="revanced_sb_skipped_multiple_segments">تم تخطي عدة مقاطع</string>
<string name="revanced_sb_skip_automatically">التخطي تلقائيًا</string>
<string name="revanced_sb_skip_automatically_once">التخطي تلقائيًا مرة واحدة</string>
<string name="revanced_sb_skip_showbutton">عرض زر \"التخطي\"</string>
<string name="revanced_sb_skip_showbutton">عرض زر التخطي</string>
<string name="revanced_sb_skip_seekbaronly">عرض في شريط تقدم الفيديو</string>
<string name="revanced_sb_skip_ignore">تعطيل</string>
<string name="revanced_sb_submit_failed_invalid">غير قادر على إرسال المقطع: الحالة: %s</string>
@@ -1241,14 +1241,14 @@ Second \"item\" text"</string>
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">الوقت المحدد غير صحيح</string>
<string name="revanced_sb_stats_title">إحصائيات</string>
<!-- Shown in the settings preferences, and translations can be any text length. -->
<string name="revanced_sb_stats_connection_failure">الإحصائيات غير متوفرة مؤقتًا (الواجهة غير متوفرة)</string>
<string name="revanced_sb_stats_connection_failure">الإحصائيات غير متوفرة مؤقتًا (API معطل)</string>
<string name="revanced_sb_stats_loading">جارٍ التحميل...</string>
<string name="revanced_sb_stats_sb_disabled">تم تعطيل SponsorBlock</string>
<string name="revanced_sb_stats_username">اسم المستخدم الخاص بك: &lt;b&gt;%s&lt;/b&gt;</string>
<string name="revanced_sb_stats_username_change">اضغط هنا لتغيير اسم المستخدم الخاص بك</string>
<string name="revanced_sb_stats_username_change_unknown_error">غير قادر على تغيير اسم المستخدم: الحالة: %1$d %2$s</string>
<string name="revanced_sb_stats_username_changed">تم تغيير اسم المستخدم بنجاح</string>
<string name="revanced_sb_stats_reputation">سمعتك هي &lt;b&gt;%.2f&lt;/b&gt;</string>
<string name="revanced_sb_stats_reputation">سمعتك &lt;b&gt;%.2f&lt;/b&gt;</string>
<string name="revanced_sb_stats_submissions">لقد أنشأت &lt;b&gt;%s&lt;/b&gt; مقطع</string>
<string name="revanced_sb_stats_submissions_sum">اضغط هنا لعرض المقاطع الخاصة بك</string>
<string name="revanced_sb_stats_saved_zero">متصدرين SponsorBlock</string>
@@ -1264,14 +1264,14 @@ Second \"item\" text"</string>
<string name="revanced_sb_color_opacity_label">الشفافية:</string>
<string name="revanced_sb_color_dot_label">اللون:</string>
<string name="revanced_sb_about_title">لمحة</string>
<string name="revanced_sb_about_api_summary">يتم توفير البيانات بواسطة SponsorBlock API. انقر هنا لمعرفة المزيد ومشاهدة التنزيلات لمنصات أخرى</string>
<string name="revanced_sb_about_api_summary">يتم توفير البيانات بواسطة SponsorBlock API. انقر هنا لمعرفة المزيد والتنزيل لمنصات أخرى</string>
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">شكل نموذج التخطيط</string>
<string name="revanced_change_form_factor_entry_1">الافتراضي</string>
<string name="revanced_change_form_factor_entry_2">الجوّال</string>
<string name="revanced_change_form_factor_entry_3">الجهاز اللوحي</string>
<string name="revanced_change_form_factor_entry_4">السيارات</string>
<string name="revanced_change_form_factor_entry_4">Automotive</string>
<string name="revanced_change_form_factor_user_dialog_message">"التغييرات تشمل:
تصميم الجهاز اللوحي
@@ -1282,7 +1282,7 @@ Second \"item\" text"</string>
• يتم تنظيم الموجز حسب المواضيع والقنوات"</string>
</patch>
<patch id="layout.spoofappversion.spoofAppVersionPatch">
<string name="revanced_spoof_app_version_title">خِداع إصدار التطبيق</string>
<string name="revanced_spoof_app_version_title">إصدار تطبيق وهمي</string>
<string name="revanced_spoof_app_version_summary_on">تم تغيير اصدار التطبيق</string>
<string name="revanced_spoof_app_version_summary_off">لم يتم تغيير اصدار التطبيق</string>
<string name="revanced_spoof_app_version_user_dialog_message">"سيتم تغيير إصدار التطبيق إلى إصدار قديم من YouTube.
@@ -1305,7 +1305,7 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_entry_explore">استكشف</string>
<string name="revanced_change_start_page_entry_fashion">الموضة &amp; التجميل</string>
<string name="revanced_change_start_page_entry_gaming">ألعاب</string>
<string name="revanced_change_start_page_entry_history">السّجل</string>
<string name="revanced_change_start_page_entry_history">السجلّ</string>
<string name="revanced_change_start_page_entry_library">المكتبة</string>
<string name="revanced_change_start_page_entry_liked_videos">الفيديوهات التي أعجبتني</string>
<string name="revanced_change_start_page_entry_live">مباشر</string>
@@ -1325,7 +1325,7 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_always_title">تغيير صفحة البداية دائمًا</string>
<string name="revanced_change_start_page_always_summary_on">"يتم تغيير صفحة البداية دائمًا
القيد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات"</string>
التقييد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات"</string>
<string name="revanced_change_start_page_always_summary_off">يتم تغيير صفحة البداية فقط عند بدء تشغيل التطبيق</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
@@ -1387,8 +1387,8 @@ Second \"item\" text"</string>
<string name="revanced_miniplayer_hide_rewind_forward_title">إخفاء أزرار التخطي للأمام والخلف</string>
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">تم إخفاء تخطي للأمام والخلف</string>
<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_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_opacity_title">شفافية الواجهة</string>
<string name="revanced_miniplayer_opacity_summary">قيمة الشفافية بين 0-100، حيث يكون 0 شفاف</string>
@@ -1406,16 +1406,16 @@ Second \"item\" text"</string>
<string name="revanced_seekbar_custom_color_summary_off">يتم عرض لون شريط تقدم الفيديو الاصلي</string>
<string name="revanced_seekbar_custom_color_primary_title">لون شريط تقدم الفيديو المخصص</string>
<string name="revanced_seekbar_custom_color_primary_summary">لون شريط التقدم</string>
<string name="revanced_seekbar_custom_color_accent_title">لون مميز لشريط التقدم المخصص</string>
<string name="revanced_seekbar_custom_color_accent_summary">اللون المميز لشريط التقدم</string>
<string name="revanced_seekbar_custom_color_accent_title">لون تمييز شريط التقدم المخصص</string>
<string name="revanced_seekbar_custom_color_accent_summary">لون تمييز شريط التقدم</string>
<string name="revanced_seekbar_custom_color_invalid">لون شريط التقدم غير صالح</string>
</patch>
<patch id="layout.branding.changeHeaderPatch">
<string name="revanced_header_logo_title">شعار الرأس</string>
<string name="revanced_header_logo_entry_1">افتراضي</string>
<string name="revanced_header_logo_entry_2">عادي</string>
<string name="revanced_header_logo_title">علامة الشعار</string>
<string name="revanced_header_logo_entry_1">الافتراضي</string>
<string name="revanced_header_logo_entry_2">القياسي</string>
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
<string name="revanced_header_logo_entry_5">ريـفانسد بسيط</string>
<string name="revanced_header_logo_entry_5">ReVanced minimal</string>
<string name="revanced_header_logo_entry_6">مخصص</string>
</patch>
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
@@ -1434,8 +1434,8 @@ Second \"item\" text"</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>
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow &amp; المصّغرات الأصلية</string>
<string name="revanced_alt_thumbnail_options_entry_1">المصغرات الأصلية</string>
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow &amp; المصغرات الأصلية</string>
<string name="revanced_alt_thumbnail_options_entry_3">DeArrow &amp; اللقطات الثابتة</string>
<string name="revanced_alt_thumbnail_options_entry_4">اللقطات الثابتة</string>
<string name="revanced_alt_thumbnail_dearrow_about_summary">"يوفر DeArrow مصغرات فيديو من مصادر جماعية لفيديوهات YouTube. هذه المصغرات غالبًا ما تكون أكثر صلة من تلك المقدمة من YouTube
@@ -1444,14 +1444,14 @@ Second \"item\" text"</string>
اضغط هنا لمعرفة المزيد عن 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</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">عنوان URL لنقطة نهاية ذاكرة التخزين المؤقت للصور المصغرة لـ DeArrow</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 Endpoint</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">عنوان URL لنقطة نهاية ذاكرة التخزين المؤقت لمصغرات DeArrow</string>
<string name="revanced_alt_thumbnail_stills_about_title">لقطات الفيديو الثابتة</string>
<string name="revanced_alt_thumbnail_stills_about_summary">يتم التقاط اللقطات الثابتة من بداية/وسط/نهاية كل فيديو. هذه الصور مدمجة في YouTube ولا يتم استخدام أي واجهة برمجة تطبيقات خارجية</string>
<string name="revanced_alt_thumbnail_stills_fast_title">استخدم اللقطات الثابتة السريعة</string>
<string name="revanced_alt_thumbnail_stills_fast_summary_on">استخدام اللقطات متوسطة الجودة. سيتم تحميل المُصغَّرات بشكل أسرع، ولكن البث المباشر و الفيديوهات التي لم يتم إصدارها أو القديمة جدًا قد تعرض مُصغَّرات فارغة</string>
<string name="revanced_alt_thumbnail_stills_fast_title">استخدام اللقطات الثابتة السريعة</string>
<string name="revanced_alt_thumbnail_stills_fast_summary_on">استخدام اللقطات متوسطة الجودة. سيتم تحميل المصغرات بشكل أسرع، ولكن البث المباشر و الفيديوهات التي لم يتم إصدارها أو القديمة جدًا قد تعرض مصغرات فارغة</string>
<string name="revanced_alt_thumbnail_stills_fast_summary_off">استخدام لقطات الفيديو الثابتة بجودة عالية</string>
<string name="revanced_alt_thumbnail_stills_time_title">وقت الفيديو لأخذ اللقطات الثابتة منه</string>
<string name="revanced_alt_thumbnail_stills_time_entry_1">بداية الفيديو</string>
@@ -1470,25 +1470,25 @@ Second \"item\" text"</string>
<string name="revanced_announcements_dialog_dismiss">تجاهل</string>
</patch>
<patch id="misc.loopvideo.loopVideoPatch">
<string name="revanced_loop_video_title">تفعيل تكرار الفيديو</string>
<string name="revanced_loop_video_title">تمكين تكرار الفيديو</string>
<string name="revanced_loop_video_summary_on">سيتم تكرار الفيديو</string>
<string name="revanced_loop_video_summary_off">لن يتم تكرار الفيديو</string>
</patch>
<patch id="misc.loopvideo.button.loopVideoButtonPatch">
<string name="revanced_loop_video_button_title">إظهار زر تكرار الفيديو</string>
<string name="revanced_loop_video_button_summary_on">الزر ظاهر</string>
<string name="revanced_loop_video_button_summary_off">الزر غير ظاهر</string>
<string name="revanced_loop_video_button_title">عرض زر تكرار الفيديو</string>
<string name="revanced_loop_video_button_summary_on">يتم عرض الزر</string>
<string name="revanced_loop_video_button_summary_off">لا يتم عرض الزر</string>
<string name="revanced_loop_video_button_toast_on">تكرار الفيديو قيد التشغيل</string>
<string name="revanced_loop_video_button_toast_off">تكرار الفيديو متوقف</string>
</patch>
<patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch">
<string name="revanced_spoof_device_dimensions_title">محاكاة أبعاد الجهاز</string>
<string name="revanced_spoof_device_dimensions_summary_on">"تم محاكاة أبعاد الجهاز
<string name="revanced_spoof_device_dimensions_title">تزوير أبعاد الجهاز</string>
<string name="revanced_spoof_device_dimensions_summary_on">"تم تزييف أبعاد الجهاز
قد يتم فتح قفل جودة الفيديو العالية ولكن قد تواجه تقطعًا في تشغيل الفيديو وعمر بطارية أسوأ وتأثيرات جانبية غير معروفة"</string>
<string name="revanced_spoof_device_dimensions_summary_off">"أبعاد الجهاز غير محاكاة
<string name="revanced_spoof_device_dimensions_summary_off">"أبعاد الجهاز غير مزيفة
يمكن أن يؤدي تفعيل هذا إلى فتح جودة أعلى للفيديو"</string>
تفعيل هذا يمكن أن يفتح جودات فيديو أعلى"</string>
<string name="revanced_spoof_device_dimensions_user_dialog_message">قد يؤدي تمكين هذا إلى تباطؤ تشغيل الفيديو وتدهور عمر البطارية وآثار جانبية غير معروفة.</string>
</patch>
<patch id="misc.hapticfeedback.disableHapticFeedbackPatch">
@@ -1496,19 +1496,19 @@ Second \"item\" text"</string>
<string name="revanced_disable_haptic_feedback_summary">تغيير الاهتزاز عند الضغط</string>
<string name="revanced_disable_haptic_feedback_chapters_title">تعطيل الاهتزاز للفصول</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_on">تم تعطيل الاهتزاز للفصول</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_off">تم تفعيل الاهتزاز للفصول</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_off">تم تمكين الاهتزاز للفصول</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_title">تعطيل الاهتزاز عند التمرير الدقيق</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_on">تم تعطيل الاهتزاز الدقيق عند البحث</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_off">تم تفعيل الاهتزاز عند التمرير الدقيق</string>
<string name="revanced_disable_haptic_feedback_seek_undo_title">تعطيل الاهتزاز عند التراجع عن البحث</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_on">تم تعطيل الاهتزاز عند التراجع عن البحث</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_off">تم تمكين الاهتزاز عند التراجع عن البحث</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_on">تم تعطيل الاهتزاز الدقيق عند التمرير</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_off">تم تمكين الاهتزاز عند التمرير الدقيق</string>
<string name="revanced_disable_haptic_feedback_seek_undo_title">تعطيل اهتزاز التراجع عن التمرير</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_on">تم تعطيل اهتزاز التراجع عن التمرير</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_off">تم تمكين اهتزاز التراجع عن التمرير</string>
<string name="revanced_disable_haptic_feedback_zoom_title">تعطيل الاهتزاز عند التكبير</string>
<string name="revanced_disable_haptic_feedback_zoom_summary_on">تم تعطيل الاهتزاز عند التكبير</string>
<string name="revanced_disable_haptic_feedback_zoom_summary_off">تم تمكين الاهتزاز عند التكبير</string>
</patch>
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
<string name="microg_offline_account_login_error">إذا قمت مؤخرًا بتغيير تفاصيل تسجيل الدخول إلى حسابك، فأزل تثبيت MicroG ثم أعد تثبيته.</string>
<string name="microg_offline_account_login_error">إذا قمت مؤخرًا بتغيير تفاصيل تسجيل الدخول إلى حسابك، فقم بإلغاء تثبيت MicroG وإعادة تثبيته.</string>
</patch>
<patch id="misc.links.bypassURLRedirectsPatch">
<string name="revanced_bypass_url_redirects_title">تجاوز إعادة توجيه URL</string>
@@ -1526,9 +1526,9 @@ Second \"item\" text"</string>
<string name="revanced_remember_video_quality_last_selected_title">تذكر تغييرات جودة الفيديو</string>
<string name="revanced_remember_video_quality_last_selected_summary_on">تنطبق تغييرات الجودة على جميع الفيديوهات</string>
<string name="revanced_remember_video_quality_last_selected_summary_off">تنطبق تغييرات الجودة على الفيديو الحالي فقط</string>
<string name="revanced_remember_video_quality_last_selected_toast_title">إظهار إشعار عند تغيير جودة الفيديو</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_on">يتم إظهار إشعار عند تغيير جودة الفيديو الافتراضية</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_off">لا يتم إظهار إشعار عند تغيير جودة الفيديو الافتراضية</string>
<string name="revanced_remember_video_quality_last_selected_toast_title">عرض ملاحظة عند تغيير جودة الفيديو</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_on">يتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_off">لا يتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية</string>
<string name="revanced_video_quality_default_wifi_title">جودة الفيديو الافتراضية على شبكة Wi-Fi</string>
<string name="revanced_video_quality_default_mobile_title">جودة الفيديو الافتراضية على شبكة الجوَّال</string>
<string name="revanced_remember_shorts_quality_last_selected_title">تذكر تغييرات جودة Shorts</string>
@@ -1543,36 +1543,36 @@ Second \"item\" text"</string>
</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_on">يتم عرض الزر. انقر مع الاستمرار لإعادة ضبط سرعة التشغيل إلى الوضع الافتراضي</string>
<string name="revanced_playback_speed_dialog_button_summary_off">لا يتم عرض الزر</string>
</patch>
<patch id="video.quality.button.videoQualityDialogButtonPatch">
<string name="revanced_video_quality_dialog_button_title">عرض زر جودة الفيديو</string>
<string name="revanced_video_quality_dialog_button_summary_on">الزر معروض. انقر مع الاستمرار لإعادة تعيين الجودة إلى الافتراضي</string>
<string name="revanced_video_quality_dialog_button_summary_off">الزر غير معروض</string>
<string name="revanced_video_quality_dialog_button_summary_on">يتم عرض الزر. انقر مع الاستمرار لإعادة تعيين الجودة إلى الوضع الافتراضي</string>
<string name="revanced_video_quality_dialog_button_summary_off">لا يتم عرض الزر</string>
</patch>
<patch id="video.speed.custom.customPlaybackSpeedPatch">
<string name="revanced_custom_speed_menu_title">قائمة سرعة التشغيل المخصصة</string>
<string name="revanced_custom_speed_menu_summary_on">يتم عرض قائمة سرعة التشغيل المخصصة</string>
<string name="revanced_custom_speed_menu_summary_off">لا يتم عرض قائمة سرعة التشغيل المخصصة</string>
<string name="revanced_restore_old_speed_menu_title">استعادة قائمة سرعة التشغيل القديمة</string>
<string name="revanced_restore_old_speed_menu_summary_on">قائمة السرعة القديمة معروضة</string>
<string name="revanced_restore_old_speed_menu_summary_off">قائمة السرعة الحديثة معروضة</string>
<string name="revanced_restore_old_speed_menu_summary_on">يتم عرض قائمة سرعة التشغيل القديمة</string>
<string name="revanced_restore_old_speed_menu_summary_off">يتم عرض قائمة سرعة التشغيل الحديثة</string>
<string name="revanced_custom_playback_speeds_title">سرعة التشغيل المخصصة</string>
<string name="revanced_custom_playback_speeds_summary">إضافة أو تغيير سرعة التشغيل المخصصة</string>
<string name="revanced_custom_playback_speeds_summary">إضافة أو تغيير سرعات التشغيل المخصصة</string>
<string name="revanced_custom_playback_speeds_invalid">يجب أن تكون سرعات التشغيل المخصصة أقل من %s</string>
<string name="revanced_custom_playback_speeds_parse_exception">سرعة التشغيل المخصصة غير صالحة</string>
<string name="revanced_custom_playback_speeds_parse_exception">سرعات التشغيل المخصصة غير صالحة</string>
<string name="revanced_custom_playback_speeds_auto">تلقائي</string>
<string name="revanced_speed_tap_and_hold_title">سرعة النقر مع الاستمرار المخصصة</string>
<string name="revanced_speed_tap_and_hold_summary">سرعة التشغيل بين 0-8</string>
</patch>
<patch id="video.speed.remember.rememberPlaybackSpeedPatch">
<string name="revanced_remember_playback_speed_last_selected_title">تذكر التغيرات في سرعة التشغيل</string>
<string name="revanced_remember_playback_speed_last_selected_title">تذكر تغييرات سرعة التشغيل</string>
<string name="revanced_remember_playback_speed_last_selected_summary_on">تطبيق تغييرات سرعة التشغيل على جميع الفيديوهات</string>
<string name="revanced_remember_playback_speed_last_selected_summary_off">تطبيق تغييرات سرعة التشغيل فقط على الفيديو الحالي</string>
<string name="revanced_remember_playback_speed_last_selected_toast_title">إظهار إشعار عند تغيير سرعة التشغيل</string>
<string name="revanced_remember_playback_speed_last_selected_toast_summary_on">يتم إظهار إشعار عند تغيير سرعة التشغيل الافتراضية</string>
<string name="revanced_remember_playback_speed_last_selected_toast_summary_off">لا يتم عرض إشعار عند تغيير سرعة التشغيل الافتراضية.</string>
<string name="revanced_remember_playback_speed_last_selected_toast_title">عرض ملاحظة عند تغيير سرعة التشغيل</string>
<string name="revanced_remember_playback_speed_last_selected_toast_summary_on">يتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية</string>
<string name="revanced_remember_playback_speed_last_selected_toast_summary_off">لا يتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية</string>
<string name="revanced_playback_speed_default_title">سرعة التشغيل الافتراضية</string>
<string name="revanced_remember_playback_speed_toast">تغيير السرعة الافتراضية إلى: %s</string>
</patch>
@@ -1604,12 +1604,13 @@ Second \"item\" text"</string>
<string name="revanced_slide_to_seek_summary_off">تم تعطيل التمرير للتقديم أو الترجيع</string>
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_about_title">الآثار الجانبية للتزوير</string>
<string name="revanced_spoof_video_streams_about_title">التأثيرات الجانبية للتزييف</string>
<string name="revanced_spoof_video_streams_about_experimental">• عميل تجريبي وقد يتوقف عن العمل في أي وقت</string>
<string name="revanced_spoof_video_streams_about_playback_failure">• قد يتوقف الفيديو عند 1:00، أو قد لا يكون متاحًا في بعض المناطق</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• قائمة المسارات الصوتية مفقودة</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• قائمة المقطع الصوتي مفقودة</string>
<string name="revanced_spoof_video_streams_about_no_av1">• لا يوجد ترميز الفيديو AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• مستوى الصوت الثابت غير متاح</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• قد يتوقف التشغيل مؤقتًا أو تسقط الإطارات</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• قد لا يتم تشغيل الفيديوهات المخصصة للأطفال عند تسجيل الخروج أو عند استخدام وضع التصفح المتخفي</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• فرض الصوت الأصلي غير متاح</string>
@@ -1618,14 +1619,14 @@ Second \"item\" text"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">تم إخفاء نوع العميل في إحصاءات تقنية</string>
<string name="revanced_spoof_video_streams_language_title">لغة بث الصوت</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">لتحديد لغة صوتية معينة، قم بإيقاف تشغيل \"فرض لغة الصوت الأصلية\"</string>
<string name="revanced_spoof_video_streams_language_not_available">لتحديد لغة صوتية معينة، قم بإيقاف تشغيل \'فرض لغة الصوت الأصلية\'</string>
<string name="revanced_spoof_video_streams_language_android_studio">اختيار لغة البث غير متاح مع Android Studio</string>
</patch>
</app>
<app id="music">
<patch id="misc.settings.settingsPatch">
<string name="revanced_settings_music_screen_0_about_title">حول</string>
<string name="revanced_settings_music_screen_1_ads_title">إعلانات</string>
<string name="revanced_settings_music_screen_0_about_title">لمحة</string>
<string name="revanced_settings_music_screen_1_ads_title">الإعلانات</string>
<string name="revanced_settings_music_screen_2_general_title">عام</string>
<string name="revanced_settings_music_screen_3_player_title">المشغل</string>
<string name="revanced_settings_music_screen_4_misc_title">متنوعة</string>
@@ -1633,7 +1634,7 @@ Second \"item\" text"</string>
<patch id="ad.video.hideVideoAdsPatch">
<string name="revanced_music_hide_video_ads_title">إخفاء إعلانات الفيديو</string>
<string name="revanced_music_hide_video_ads_summary_on">تم إخفاء إعلانات الفيديو</string>
<string name="revanced_music_hide_video_ads_summary_off">تم عرض إعلانات الفيديو</string>
<string name="revanced_music_hide_video_ads_summary_off">يتم عرض إعلانات الفيديو</string>
</patch>
<patch id="interaction.permanentrepeat.permanentRepeatPatch">
<string name="revanced_music_play_permanent_repeat_title">تمكين التكرار الدائم</string>
@@ -1641,22 +1642,22 @@ Second \"item\" text"</string>
<string name="revanced_music_play_permanent_repeat_summary_off">تم تعطيل التكرار الدائم</string>
</patch>
<patch id="layout.castbutton.hideCastButton">
<string name="revanced_music_hide_cast_button_title">إخفاء زر الإرسال</string>
<string name="revanced_music_hide_cast_button_summary_on">زر الإرسال مخفي</string>
<string name="revanced_music_hide_cast_button_summary_off">زر الإرسال ظاهر</string>
<string name="revanced_music_hide_cast_button_title">إخفاء زر البث</string>
<string name="revanced_music_hide_cast_button_summary_on">تم إخفاء زر البث</string>
<string name="revanced_music_hide_cast_button_summary_off">يتم عرض زر البث</string>
</patch>
<patch id="layout.compactheader.hideCategoryBar">
<string name="revanced_music_hide_category_bar_title">إخفاء شريط الفئات</string>
<string name="revanced_music_hide_category_bar_summary_on">شريط الفئات مخفي</string>
<string name="revanced_music_hide_category_bar_summary_off">شريط الفئات معروض</string>
<string name="revanced_music_hide_category_bar_summary_on">تم إخفاء شريط الفئات</string>
<string name="revanced_music_hide_category_bar_summary_off">يتم عرض شريط الفئات</string>
</patch>
<patch id="layout.navigationbar.navigationBarPatch">
<string name="revanced_music_navigation_bar_screen_title">شريط التنقل</string>
<string name="revanced_music_navigation_bar_screen_summary">إخفاء أزرار شريط التنقل أو تغييرها</string>
<!-- 'Home' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_home_button_title">إخفاء الرئيسية</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_on">زر \"الرئيسية\" مخفي</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_off">زر \"الرئيسية\" ظاهر</string>
<string name="revanced_music_hide_navigation_bar_home_button_title">إخفاء الصفحة الرئيسية</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_on">تم إخفاء زر الصفحة الرئيسية</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_off">يتم عرض زر الصفحة الرئيسية</string>
<!-- 'Samples' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_samples_button_title">إخفاء المقاطع</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_on">زر \"المقتطفات\" مخفي</string>
@@ -1693,22 +1694,22 @@ Second \"item\" text"</string>
</app>
<app id="twitch">
<patch id="ad.audio.audioAdsPatch">
<string name="revanced_block_audio_ads_title">منع الإعلانات الصوتية</string>
<string name="revanced_block_audio_ads_summary_on">تم منع الإعلانات الصوتية</string>
<string name="revanced_block_audio_ads_summary_off">تم إلغاء منع الإعلانات الصوتية</string>
<string name="revanced_block_audio_ads_title">حظر الإعلانات الصوتية</string>
<string name="revanced_block_audio_ads_summary_on">تم حظر الإعلانات الصوتية</string>
<string name="revanced_block_audio_ads_summary_off">تم إلغاء حظر الإعلانات الصوتية</string>
</patch>
<patch id="ad.embedded.embeddedAdsPatch">
<string name="revanced_embedded_ads_service_unavailable">%s غير متوفر. قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات.</string>
<string name="revanced_embedded_ads_service_failed">قام خادم %s بإرجاع خطأ. قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات.</string>
<string name="revanced_block_embedded_ads_title">منع إعلانات الفيديو المضمنة</string>
<string name="revanced_embedded_ads_service_unavailable">%s غير متوفر، قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات.</string>
<string name="revanced_embedded_ads_service_failed">قام خادم %s بإرجاع خطأ، قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات.</string>
<string name="revanced_block_embedded_ads_title">حظر إعلانات الفيديو المضمنة</string>
<string name="revanced_block_embedded_ads_entry_1">معطّل</string>
<string name="revanced_block_embedded_ads_entry_2">Luminous Proxy</string>
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock Proxy</string>
</patch>
<patch id="ad.video.videoAdsPatch">
<string name="revanced_block_video_ads_title">منع إعلانات الفيديو</string>
<string name="revanced_block_video_ads_summary_on">تم منع إعلانات الفيديو</string>
<string name="revanced_block_video_ads_summary_off">تم إلغاء منع إعلانات الفيديو</string>
<string name="revanced_block_video_ads_title">حظر إعلانات الفيديو</string>
<string name="revanced_block_video_ads_summary_on">تم حظر إعلانات الفيديو</string>
<string name="revanced_block_video_ads_summary_off">يتم إلغاء حظر إعلانات الفيديو</string>
</patch>
<patch id="chat.antidelete.showDeletedMessagesPatch">
<string name="revanced_deleted_msg">تم حذف الرسالة</string>

View File

@@ -368,7 +368,7 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum
<string name="revanced_hide_comments_ai_chat_summary_title">Sİ söhbət xülasəsini gizlət</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Sİ söhbət xülasəsi gizlidir</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Sİ söhbət xülasəsi görünür</string>
<string name="revanced_hide_comments_ai_summary_title">AI ərhlər Xülasəsini Gizlət</string>
<string name="revanced_hide_comments_ai_summary_title">AI şərhlər xülasəsini gizlət</string>
<string name="revanced_hide_comments_ai_summary_summary_on">Sİ şərhlər xülasəsi gizlidir</string>
<string name="revanced_hide_comments_ai_summary_summary_off">Sİ şərhlər xülasəsi görünür</string>
<string name="revanced_hide_comments_channel_guidelines_title">Kanal təlimatlarını gizlət</string>
@@ -405,19 +405,19 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum
<string name="revanced_custom_filter_strings_summary">Yeni sətirlə ayrılmış filtr üçün element yol qurucusu sətirlərinin siyahısı</string>
<string name="revanced_custom_filter_toast_invalid_syntax">Etibarsız fərdi filtr: %s</string>
<string name="revanced_hide_view_count_title">Baxış sayını gizlət</string>
<string name="revanced_hide_view_count_summary_on">Baxış sayı lentdə və axtarış nəticələrində gizlədilib</string>
<string name="revanced_hide_view_count_summary_off">Baxış sayı lentdə və axtarış nəticələrində göstərilib</string>
<string name="revanced_hide_view_count_summary_on">Baxış sayı axın və axtarış nəticələrində gizlidir</string>
<string name="revanced_hide_view_count_summary_off">Baxış sayı axın və axtarış nəticələrində görünür</string>
<!-- Translations should lanaguge similar to revanced_hide_upload_time_user_dialog_message -->
<string name="revanced_hide_view_count_user_dialog_message">"Məhdudiyyətlər:
• Shorts rəfləri, kanal səhifələri və axtarış nəticələri hələ də baxış saylarını göstərə bilər
• Bu funksiya avtomobil form faktoru ilə işləmir"</string>
<string name="revanced_hide_upload_time_title">Yükləmə vaxtını gizlət</string>
<string name="revanced_hide_upload_time_summary_on">Yükləmə vaxtı lentdə və axtarış nəticələrində gizlədilib</string>
<string name="revanced_hide_upload_time_summary_off">Yükləmə vaxtı lentdə və axtarış nəticələrində göstərilir</string>
• Shorts bölmələri, kanal səhifələri və axtarış nəticələri yenə də baxış sayını göstərə bilər
• Bu xüsusiyyət avtomobil forma göstərici ilə işləmir"</string>
<string name="revanced_hide_upload_time_title">Yüklənilmə vaxtını gizlət</string>
<string name="revanced_hide_upload_time_summary_on">Yüklənilmə vaxtı axın və axtarış nəticələrində gizlidir</string>
<string name="revanced_hide_upload_time_summary_off">Yüklənilmə vaxtı axın və axtarış nəticələrində göstərilir</string>
<!-- Translations should lanaguge similar to revanced_hide_view_count_user_dialog_message -->
<string name="revanced_hide_upload_time_user_dialog_message">"Məhdudiyyətlər:
• Shorts rəflərində, kanal səhifələrində və axtarış nəticələrində yükləmə vaxtları hələ də göstərilə bilər
• Bu funksiya avtomobil form faktoru ilə işləmir"</string>
• Shorts bölmələri, kanal səhifələri və axtarış nəticələri yüklənilən vaxtı yenə də göstərə bilər
• Bu xüsusiyyət avtomobil forma göstərici ilə işləmir"</string>
<string name="revanced_hide_keyword_content_screen_title">Açar söz məzmununu gizlət</string>
<string name="revanced_hide_keyword_content_screen_summary">Açar söz filtrləri ilə axtarış və axın videolarını gizlət</string>
<string name="revanced_hide_keyword_content_home_title">Ev videolarını açar sözlərə görə gizlət</string>
@@ -869,7 +869,7 @@ Səs treki menyusunu göstərmək üçün \"Video yayımları saxtalaşdır\"ı
<string name="revanced_hide_shorts_location_label_title">Məkan etiketini gizlət</string>
<string name="revanced_hide_shorts_location_label_summary_on">Məkan etiketi gizlidir</string>
<string name="revanced_hide_shorts_location_label_summary_off">Məkan etiketi göstərilir</string>
<string name="revanced_hide_shorts_new_posts_button_title">Yeni elanları gizlət düyməsi</string>
<string name="revanced_hide_shorts_new_posts_button_title">Yeni elanlar düyməsini gizlət</string>
<string name="revanced_hide_shorts_new_posts_button_summary_on">Yeni elanlar düyməsi gizlidir</string>
<string name="revanced_hide_shorts_new_posts_button_summary_off">Yeni elanlar düyməsi göstərilir</string>
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Dayandırma örtük düymələrini gizlət</string>
@@ -1609,6 +1609,7 @@ Məhdudiyyətlər:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Səs treki menyusu çatışmır</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 video kodlayıcı yoxdur</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Sabit səs yoxdur</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Oynatma qarışa bilər və ya kadrlar ötürülə bilər</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• \"Orijinal səsi zorla\" əlçatmazdır</string>

View File

@@ -1611,6 +1611,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Меню аўдыядарожкі адсутнічае</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Няма відэакідавання AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Стабільная гучнасць недаступная</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Прайграванне можа заікацца або прапускаць кадры</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Дзіцячыя відэа могуць не прайгравацца ў стане выхаду з акаўнта або ў рэжыме інкогніта</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Прымусовы арыгінальны аўдыё недаступны</string>

View File

@@ -1610,6 +1610,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Менюто за аудиозаписи липсва</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Без AV1 видео кодек</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Стабилният звук не е наличен</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Възпроизвеждането може да заеква или да пропуска кадри</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Детските видеоклипове може да не се възпроизвеждат, когато сте излезли от профила си или в режим \"инкогнито\"</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Принудителният оригинален звук не е наличен</string>

View File

@@ -1606,6 +1606,7 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• অডিও ট্র্যাক মেনু অনুপস্থিত</string>
<string name="revanced_spoof_video_streams_about_no_av1">• কোনো AV1 ভিডিও কোডেক নেই</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• স্থিতিশীল ভলিউম উপলব্ধ নেই</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• লগআউট করা হলে বা ছদ্মবেশী মোডে বাচ্চাদের ভিডিও চলতে নাও পারে</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• মূল অডিও জোরপূর্বক উপলব্ধ নেই</string>

View File

@@ -1610,6 +1610,7 @@ Omezení:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Chybí nabídka zvukových stop</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Žádný video kodek AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabilní hlasitost není k dispozici</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Přehrávání se může sekat nebo ztrácet snímky</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Dětská videa se nemusí přehrávat, když jste odhlášení nebo v anonymním režimu</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Vynutit původní zvuk není k dispozici</string>

View File

@@ -1612,6 +1612,7 @@ Begrænsninger:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Lydspormenu mangler</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Intet AV1-videokodek</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabil lydstyrke er ikke tilgængelig</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Afspilning kan hakke eller tabe billeder</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Videoer til børn afspilles muligvis ikke, når du er logget ud eller i inkognitotilstand</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Tving original lyd er ikke tilgængelig</string>

View File

@@ -1607,6 +1607,7 @@ Einschränkungen:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Audiotrack-Menü fehlt</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Kein AV1-Videocodec</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabile Lautstärke ist nicht verfügbar</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Die Wiedergabe kann stottern oder Bilder überspringen</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Kinder-Videos werden möglicherweise nicht abgespielt, wenn du abgemeldet bist oder den Inkognito-Modus verwendest.</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Originalton erzwingen ist nicht verfügbar</string>

View File

@@ -1609,6 +1609,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">Το μενού «Κομμάτι ήχου» λείπει</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Δεν υπάρχει ο κωδικοποιητής βίντεο AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">Η αναπαραγωγή μπορεί να κομπιάζει ή να χάνει καρέ</string>
<string name="revanced_spoof_video_streams_about_kids_videos">Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται αν είστε αποσυνδεδεμένοι ή σε λειτουργία ανώνυμης περιήγησης</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">Ο εξαναγκασμός αρχικής γλώσσας ήχου δεν είναι διαθέσιμος</string>

View File

@@ -1601,6 +1601,7 @@ Limitaciones:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Falta el menú de la pista de audio</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Sin códec de vídeo AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Volumen estable no disponible</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• La reproducción podría tartamudear o perder fotogramas</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Es posible que los vídeos infantiles no se reproduzcan cuando se cierra la sesión o se está en modo incógnito</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Forzar audio original no está disponible</string>

View File

@@ -1610,6 +1610,7 @@ Piirangud:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Heliraja menüü puudub</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Puuduv AV1 videokoodek</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabiilne helitugevus pole saadaval</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Taasesitus võib katkendlik olla või kaadreid vahele jätta</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Video lastele ei pruugi taasesitada, kui olete välja logitud või inkognito režiimis</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Sunni algne heli pole saadaval</string>

View File

@@ -109,7 +109,7 @@ Napauta jatka-painiketta ja salli optimoinnin muutokset."</string>
<string name="revanced_spoof_video_streams_screen_title">Naamioi videovirrat</string>
<string name="revanced_spoof_video_streams_screen_summary">Naamioi asiakasohjelman videovirrat toisto-ongelmien estämiseksi</string>
<string name="revanced_spoof_video_streams_screen_title">Naamioi videovirrat</string>
<string name="revanced_spoof_video_streams_screen_summary">Naamioi asiakkaan videovirrat estääksesi toisto-ongelmat</string>
<string name="revanced_spoof_video_streams_screen_summary">Naamioi asiakasohjelman videovirrat toisto-ongelmien estämiseksi</string>
<string name="revanced_spoof_video_streams_title">Naamioi videovirrat</string>
<string name="revanced_spoof_video_streams_summary_on">"Videovirrat on naamioitu
@@ -1610,6 +1610,7 @@ Rajoitukset:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Ääniraitavalikko puuttuu</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Ei AV1-videokoodekkia</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Tasainen äänenvoimakkuus ei ole käytettävissä</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Toisto saattaa pätkiä tai pudottaa kuvia</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Lasten videot eivät ehkä toistu, kun olet kirjautunut ulos tai incognito-tilassa</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Pakota alkuperäinen ääni ei ole käytettävissä</string>

View File

@@ -1608,6 +1608,7 @@ Mga Limitasyon:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Nawawala ang menu ng audio track</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Walang AV1 video codec</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Hindi available ang stable volume</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Maaaring mag-stutter ang pag-playback o bumaba ang mga frame</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Mga video ng mga bata ay maaaring hindi ma-play kapag naka-log out o nasa incognito mode</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Ang Pilitin ang orihinal na audio ay hindi magagamit</string>

View File

@@ -1611,6 +1611,7 @@ Limitations :
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Le menu Piste audio est absent</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Codec vidéo AV1 indisponible</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Le volume stable n\'est pas disponible</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Il est possible que la lecture soit saccadée ou que des images soient perdues</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• La lecture des vidéos pour enfants peut ne pas fonctionner lorsque vous êtes déconnecté ou en mode navigation privée</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Forcer la langue audio d\'origine n\'est pas disponible</string>

View File

@@ -55,7 +55,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_search_no_results_summary">Bain triail as eochairfhocal eile</string>
<string name="revanced_settings_search_recent_searches">Cuardaigh le déanaí</string>
<string name="revanced_settings_search_remove_message">Bain as stair an chuardaigh?</string>
<string name="revanced_settings_search_clear_history">Glan stair an chuardaigh</string>
<string name="revanced_settings_search_clear_history">Glan stair chuardaigh</string>
<string name="revanced_settings_search_clear_history_message">An bhfuil tú cinnte gur mhaith leat stair chuardaigh go léir a ghlanadh?</string>
<string name="revanced_settings_search_tips_title">Leideanna Cuardaigh</string>
<string name="revanced_settings_search_tips_summary">"• Tapáil cosán chun dul chuige
@@ -106,14 +106,14 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta."</string>
<string name="gms_core_dialog_continue_text">Lean ar aghaidh</string>
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_screen_title">Sruthanna físeán spoof</string>
<string name="revanced_spoof_video_streams_screen_summary">Spoof na sruthanna físeáin cliant chun saincheisteanna athsheinm a chosc</string>
<string name="revanced_spoof_video_streams_screen_title">Sruthanna físeáin bréige</string>
<string name="revanced_spoof_video_streams_screen_summary">Déan bréagú ar shruthanna físeáin an chliaint chun saincheisteanna athsheinm a chosc</string>
<string name="revanced_spoof_video_streams_title">Sruthanna físeán spoof</string>
<string name="revanced_spoof_video_streams_summary_on">" sruthanna físeáin bréagaithe
<string name="revanced_spoof_video_streams_screen_title">Sruthanna físe bréige</string>
<string name="revanced_spoof_video_streams_screen_summary">Déan sruthanna físe an chliaint a fhalsú chun fadhbanna athsheinm a chosc</string>
<string name="revanced_spoof_video_streams_screen_title">Sruthanna físe bréige</string>
<string name="revanced_spoof_video_streams_screen_summary">Déan sruthanna físe an chliaint a fhalsú chun fadhbanna athsheinm a chosc</string>
<string name="revanced_spoof_video_streams_title">Sruthanna físe bréige</string>
<string name="revanced_spoof_video_streams_summary_on">"Déantar sruthanna físe a bhréag
Má tá tú i do úsáideoir YouTube Premium, seans nach mbeidh an socrú seo ag teastáil"</string>
Mura bhfuil tú i dúsáideoir YouTube Premium, bfhéidir nach mbeidh an socrú seo ag teastáil"</string>
<string name="revanced_spoof_video_streams_summary_off">"Ní dhéantar sruthanna físeáin a bhréagnú
Seans nach n-oibreoidh an t-athsheinm"</string>
@@ -230,8 +230,8 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp
<string name="revanced_hide_image_shelf_summary_on">Tá seilf íomhá i dtorthaí cuardaigh i bhfolach</string>
<string name="revanced_hide_image_shelf_summary_off">Taispeántar seilf íomhánna i dtorthaí cuardaigh</string>
<string name="revanced_hide_latest_posts_title">Folaigh na poist is déanaí</string>
<string name="revanced_hide_latest_posts_summary_on">Tá postanna is déanaí i bhfolach</string>
<string name="revanced_hide_latest_posts_summary_off">Taispeántar na postálacha is déanaí</string>
<string name="revanced_hide_latest_posts_summary_on"> na poist is déanaí i bhfolach</string>
<string name="revanced_hide_latest_posts_summary_off">Taispeántar na poist is déanaí</string>
<string name="revanced_hide_mix_playlists_title">Folaigh seinmliostaí meascán</string>
<string name="revanced_hide_mix_playlists_summary_on">Tá seinmliostaí measctha i bhfolach</string>
<string name="revanced_hide_mix_playlists_summary_off">Taispeántar seinmliostaí measctha</string>
@@ -248,9 +248,9 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp
<string name="revanced_hide_playables_summary_off">Taispeántar na heilimintí inseinnte</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">Folaigh cnaipe \'Taispeáin tuilleadh\'</string>
<string name="revanced_hide_show_more_button_title">Folaigh an cnaipe \'Taispeáin níos mó\'</string>
<string name="revanced_hide_show_more_button_summary_on">Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh i bhfolach</string>
<string name="revanced_hide_show_more_button_summary_off">Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh taispeánta</string>
<string name="revanced_hide_show_more_button_summary_off">Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh thaispeánta</string>
<string name="revanced_hide_surveys_title">Folaigh suirbhéanna</string>
<string name="revanced_hide_surveys_summary_on">Tá suirbhéanna i bhfolach</string>
<string name="revanced_hide_surveys_summary_off">Tá suirbhéanna taispeánta</string>
@@ -1467,7 +1467,7 @@ Brúigh anseo chun tuilleadh eolais a fháil faoi DeArrow"</string>
<string name="revanced_announcements_summary_off">Ní thaispeántar fógraí ar thosú</string>
<string name="revanced_announcements_enabled_summary">Taispeáin fógraí ar thosú</string>
<string name="revanced_announcements_connection_failed">Theip ar nascadh le soláthraí fógraí</string>
<string name="revanced_announcements_dialog_dismiss">Díbhunaigh</string>
<string name="revanced_announcements_dialog_dismiss">Díbhe</string>
</patch>
<patch id="misc.loopvideo.loopVideoPatch">
<string name="revanced_loop_video_title">Cumasaigh físeán lúbtha</string>
@@ -1476,44 +1476,44 @@ Brúigh anseo chun tuilleadh eolais a fháil faoi DeArrow"</string>
</patch>
<patch id="misc.loopvideo.button.loopVideoButtonPatch">
<string name="revanced_loop_video_button_title">Taispeáin an cnaipe físeáin lúbtha</string>
<string name="revanced_loop_video_button_summary_on">Tá an cnaipe ar taispeáint</string>
<string name="revanced_loop_video_button_summary_on">Taispeántar an cnaipe</string>
<string name="revanced_loop_video_button_summary_off">Níl an cnaipe ar taispeáint</string>
<string name="revanced_loop_video_button_toast_on">Tá físeán lúbtha ar siúl</string>
<string name="revanced_loop_video_button_toast_off">Tá físeán lúbtha as siúl</string>
</patch>
<patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch">
<string name="revanced_spoof_device_dimensions_title">Toisí feiste spoof</string>
<string name="revanced_spoof_device_dimensions_summary_on">"Toisí gléise spoofed
<string name="revanced_spoof_device_dimensions_title">Toisí gléas a fhalsú</string>
<string name="revanced_spoof_device_dimensions_summary_on">"Toisí na ngléasanna falsaithe
D'fhéadfadh go gcuirfí caighdeáin físeáin níos airde ar fáil ach d'fhéadfá stuttering athsheinm físeáin, saol ceallraí níos measa, agus fo-iarsmaí anaithnid a fháil"</string>
<string name="revanced_spoof_device_dimensions_summary_off">"Níl toisí gléise spoofed
Dfhéadfadh cáilíochtaí físe níos airde a bheith díghlasáilte ach dfhéadfadh go mbeadh stad ar athsheinm físe, saol ceallraí níos measa, agus fo-iarsmaí anaithnide agat"</string>
<string name="revanced_spoof_device_dimensions_summary_off">"Toisí na ngléasanna gan falsaithe
Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
<string name="revanced_spoof_device_dimensions_user_dialog_message">D\'fhéadfadh sé seo a bheith ina chúis le stuttering athsheinm físe, saol ceallraí níos measa, agus fo-iarmhairtí anaithnid.</string>
Dfhéadfadh cáilíochtaí físe níos airde a bheith díghlasáilte ach dfhéadfadh go mbeadh stad ar athsheinm físe, saol ceallraí níos measa, agus fo-iarsmaí anaithnide agat"</string>
<string name="revanced_spoof_device_dimensions_user_dialog_message">Is féidir go mbeidh stad ar athsheinm físe, saolré na ceallraí níos measa, agus fo-iarsmaí anaithnide mar thoradh air seo.</string>
</patch>
<patch id="misc.hapticfeedback.disableHapticFeedbackPatch">
<string name="revanced_disable_haptic_feedback_title">Aiseolas haptach</string>
<string name="revanced_disable_haptic_feedback_summary">Athraigh aiseolas haptach</string>
<string name="revanced_disable_haptic_feedback_chapters_title">Díchumasaigh haptics caibidlí</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_on">Tá haptics caibidlí díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_off">Tá haptics caibidlí cumasaithe</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_title">Díchumasaigh haptics beacht cuardaigh</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_on">Tá haptics beachtais díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_off">Tá haptics beacht cuardaigh cumasaithe</string>
<string name="revanced_disable_haptic_feedback_seek_undo_title">Díchumasaigh haptics díthurais</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_on">Tá haptics díthurais díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_off">Tá haptics díthurais cumasaithe</string>
<string name="revanced_disable_haptic_feedback_zoom_title">Díchumasaigh súmáil haptics</string>
<string name="revanced_disable_haptic_feedback_zoom_summary_on"> súmáil haptics díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_zoom_summary_off"> súmáil haptics cumasaithe</string>
<string name="revanced_disable_haptic_feedback_title">Aiseolas haiptice</string>
<string name="revanced_disable_haptic_feedback_summary">Athraigh aiseolas haiptice</string>
<string name="revanced_disable_haptic_feedback_chapters_title">Díchumasaigh haiptice caibidlí</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_on">Tá haiptice caibidlí díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_chapters_summary_off">Tá haiptice caibidlí cumasaithe</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_title">Díchumasaigh haiptice beacht cuardaigh</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_on">Tá haiptice cuardaigh chruinne díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_off">Tá haiptice cuardaigh chruinn cumasaithe</string>
<string name="revanced_disable_haptic_feedback_seek_undo_title">Díchumasaigh haiptice cuardaigh agus cealaithe</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_on">Tá haiptice cuardaigh cealaithe díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_seek_undo_summary_off">Tá haiptice cuardaigh cealaithe cumasaithe</string>
<string name="revanced_disable_haptic_feedback_zoom_title">Díchumasaigh haiptice súmála</string>
<string name="revanced_disable_haptic_feedback_zoom_summary_on">Tá haiptice súmála díchumasaithe</string>
<string name="revanced_disable_haptic_feedback_zoom_summary_off">Tá haiptice súmála cumasaithe</string>
</patch>
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
<string name="microg_offline_account_login_error">Má dathraigh tú sonraí logála isteach do chuntais le déanaí, ansin díshuiteáil agus athshuiteáil MicroG.</string>
</patch>
<patch id="misc.links.bypassURLRedirectsPatch">
<string name="revanced_bypass_url_redirects_title">Atreoracha seachbhóthar URL</string>
<string name="revanced_bypass_url_redirects_summary_on">Seachnaítear atreoruithe URL</string>
<string name="revanced_bypass_url_redirects_summary_off">chuirtear athsheoltaí URL</string>
<string name="revanced_bypass_url_redirects_title">Seachain atreoruithe URL</string>
<string name="revanced_bypass_url_redirects_summary_on">Déantar atreoruithe URL a sheachaint</string>
<string name="revanced_bypass_url_redirects_summary_off">dhéantar seachaint ar atreoruithe URL</string>
</patch>
<patch id="misc.links.openLinksExternallyPatch">
<string name="revanced_external_browser_title">Oscail naisc sa bhrabhsála</string>
@@ -1523,14 +1523,14 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
<string name="revanced_video_quality_default_entry_1">Uathoibríoch</string>
<string name="revanced_remember_video_quality_last_selected_title">Cuimhnigh athruithe ar cháilíocht</string>
<string name="revanced_remember_video_quality_last_selected_title">Cuimhnigh athruithe ar cháilíocht físe</string>
<string name="revanced_remember_video_quality_last_selected_summary_on">Baineann athruithe cáilíochta le gach físeán</string>
<string name="revanced_remember_video_quality_last_selected_summary_off">Ní bhaineann athruithe cáilíochta ach leis an bhfíseán reatha</string>
<string name="revanced_remember_video_quality_last_selected_toast_title">Taispeáin fógra beag ar athruithe cáilíochta físe</string>
<string name="revanced_remember_video_quality_last_selected_toast_title">Taispeáin tósta ar athruithe cáilíochta físe</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_on">Taispeántar fógra beag nuair a athraítear cáilíocht réamhshocraithe an fhíseáin</string>
<string name="revanced_remember_video_quality_last_selected_toast_summary_off">Ní thaispeántar fógra beag nuair a athraítear cáilíocht réamhshocraithe an fhíseáin</string>
<string name="revanced_video_quality_default_wifi_title">Cáilíocht físe réamhshocraithe ar líonra</string>
<string name="revanced_video_quality_default_mobile_title">Cáilíocht físe réamhshocraithe ar líonra</string>
<string name="revanced_video_quality_default_wifi_title">Cáilíocht físe réamhshocraithe ar líonra Wi-Fi</string>
<string name="revanced_video_quality_default_mobile_title">Cáilíocht físe réamhshocraithe ar líonra soghluaiste</string>
<string name="revanced_remember_shorts_quality_last_selected_title">Cuimhnigh ar athruithe cáilíochta Shorts</string>
<string name="revanced_remember_shorts_quality_last_selected_summary_on">Baineann athruithe ar an gcáilíocht le gach Shorts</string>
<string name="revanced_remember_shorts_quality_last_selected_summary_off">Ní bhaineann athruithe ar an gcáilíocht ach leis an Short reatha</string>
@@ -1538,7 +1538,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
<string name="revanced_shorts_quality_default_mobile_title">Cáilíocht réamhshocraithe Shorts ar líonra soghluaiste</string>
<string name="revanced_remember_video_quality_mobile">soghluaiste</string>
<string name="revanced_remember_video_quality_wifi">Wi-Fi</string>
<string name="revanced_remember_video_quality_toast">Athraigh cáilíocht réamhshocraithe %1$s go dtí: %2$s</string>
<string name="revanced_remember_video_quality_toast">Athraíodh cáilíocht réamhshocraithe %1$s go: %2$s</string>
<string name="revanced_remember_video_quality_toast_shorts">Athraíodh cáilíocht Shorts %1$s go: %2$s</string>
</patch>
<patch id="video.speed.button.playbackSpeedButtonPatch">
@@ -1548,22 +1548,22 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
</patch>
<patch id="video.quality.button.videoQualityDialogButtonPatch">
<string name="revanced_video_quality_dialog_button_title">Taispeáin cnaipe cáilíochta físeáin</string>
<string name="revanced_video_quality_dialog_button_summary_on">Tá cnaipe le feiceáil. Tapáil agus coinnigh chun cáilíocht a athshocrú mar réamhshocrú</string>
<string name="revanced_video_quality_dialog_button_summary_off">l cnaipe le feiceáil</string>
<string name="revanced_video_quality_dialog_button_summary_on">Taispeántar an cnaipe. Tapáil agus coinnigh síos chun an caighdeán a athshocrú go dtí an caighdeán réamhshocraithe</string>
<string name="revanced_video_quality_dialog_button_summary_off"> thaispeántar an cnaipe</string>
</patch>
<patch id="video.speed.custom.customPlaybackSpeedPatch">
<string name="revanced_custom_speed_menu_title">Roghchlár luas athsheinm saincheaptha</string>
<string name="revanced_custom_speed_menu_summary_on">Taispeántar roghchlár luais saincheaptha</string>
<string name="revanced_custom_speed_menu_summary_off">Ní thaispeántar roghchlár luais saincheaptha</string>
<string name="revanced_restore_old_speed_menu_title">Athchóirigh an seanchalafort luais athsheinm</string>
<string name="revanced_restore_old_speed_menu_summary_on">Tá an seanchalafort luais taispeánta</string>
<string name="revanced_restore_old_speed_menu_summary_off">Tá an calafort luais nua-aimseartha taispeánta</string>
<string name="revanced_restore_old_speed_menu_title">Athchóirigh an sean-roghchlár luas athsheinm</string>
<string name="revanced_restore_old_speed_menu_summary_on">Taispeántar an sean-roghchlár luais</string>
<string name="revanced_restore_old_speed_menu_summary_off">Taispeántar roghchlár luais nua-aimseartha</string>
<string name="revanced_custom_playback_speeds_title">Luas athsheinm saincheaptha</string>
<string name="revanced_custom_playback_speeds_summary">Cuir leis nó athraigh na luasanna athsheinm saincheaptha</string>
<string name="revanced_custom_playback_speeds_invalid">Ní mór luas saincheaptha a bheith níos lú ná %s</string>
<string name="revanced_custom_playback_speeds_parse_exception">Luasanna athsheinm saincheaptha neamhbhailí</string>
<string name="revanced_custom_playback_speeds_auto">Uathoibríoch</string>
<string name="revanced_speed_tap_and_hold_title">Luas tap is agus greim</string>
<string name="revanced_speed_tap_and_hold_title">Luas saincheaptha tapála agus coinnigh</string>
<string name="revanced_speed_tap_and_hold_summary">Luas athsheinm eatarthu 0-8</string>
</patch>
<patch id="video.speed.remember.rememberPlaybackSpeedPatch">
@@ -1577,12 +1577,12 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
<string name="revanced_remember_playback_speed_toast">Athraigh luas réamhshocraithe go: %s</string>
</patch>
<patch id="video.codecs.disableVideoCodecsPatch">
<string name="revanced_disable_hdr_video_title"><p style="margin-left: 60px;">Díchumasú físeán HDR</p></string>
<string name="revanced_disable_hdr_video_summary_on"><p style="margin-left: 60px;">Tá físeán HDR díchumasaithe</p></string>
<string name="revanced_disable_hdr_video_summary_off"><p style="margin-left: 60px;">Tá físeán HDR arna chumhachtú</p></string>
<string name="revanced_disable_hdr_video_title">Díchumasaigh físeán HDR</string>
<string name="revanced_disable_hdr_video_summary_on">Tá físeán HDR díchumasaithe</string>
<string name="revanced_disable_hdr_video_summary_off">Tá físeán HDR cumasaithe</string>
<string name="revanced_force_avc_codec_title">Fórsa AVC (H.264)</string>
<string name="revanced_force_avc_codec_summary_on">Éigeantar an códóir físeáin go AVC (H.264)</string>
<string name="revanced_force_avc_codec_summary_off">Cinntear an códóir físeáin go huathoibríoch</string>
<string name="revanced_force_avc_codec_summary_off">Cinntear an cóideac físe go huathoibríoch</string>
<string name="revanced_force_avc_codec_user_dialog_message">"Sochair:
• Féadfaidh sé saolré na ceallraí a fheabhsú
• Féadfaidh sé réitigh físeáin atá in easnamh a chur ar ais ar ghléasanna níos sine
@@ -1604,21 +1604,22 @@ Teorainneacha:
<string name="revanced_slide_to_seek_summary_off">Níl sleamhnán le lorg cumasaithe</string>
</patch>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_about_title">Fo-iarsmaí bréagaíochta</string>
<string name="revanced_spoof_video_streams_about_title">Fo-éifeachtaí a fhalsúa</string>
<string name="revanced_spoof_video_streams_about_experimental">• Cliant turgnamhach é seo agus féadfaidh sé stop a chur ag obair ag am ar bith</string>
<string name="revanced_spoof_video_streams_about_playback_failure">• Is féidir go stopfaidh an físeán ag 1:00, nó b\'fhéidir nach mbeidh sé ar fáil i réigiúin áirithe</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Tá an roghchlár rian fuaime in easnamh</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Níl aon chóidéir físe AV1</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Níl aon cóideac físe AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Níl toirt chobhsaí ar fáil</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Videos faoi phaistí uaireanta nach imreoidh nuair a bhíonn tú logáilte amach nó i mod incognito</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• D\'fhéadfadh an athsheinm bacadh nó frámaí a chailleadh</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Seans nach seinnfear físeáin do pháistí nuair a bhíonn siad logáilte amach nó i mód go hanaithnid</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Níl Éigean fuaime bunaidh ar fáil</string>
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Níl an fuaim bhunaidh iallach ar fáil</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Taispeáin i Staitisticí do nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Taispeántar cineál an chliaint i Staitisticí do nerds</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Tá an cliant curtha i bhfolach i Staitisticí do nerds</string>
<string name="revanced_spoof_video_streams_language_title">Teanga an tsrutha fuaime</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">Chun teanga fuaime shonrach a roghnú, múch \'Cuir iallach ar bhunteanga fuaime\'</string>
<string name="revanced_spoof_video_streams_language_not_available">Chun teanga fuaime ar leith a roghnú, múch \'Fórsaigh teanga fuaime bhunaidh\'</string>
<string name="revanced_spoof_video_streams_language_android_studio">Níl roghnú theanga an tsrutha ar fáil le Android Studio</string>
</patch>
</app>
@@ -1637,13 +1638,13 @@ Teorainneacha:
</patch>
<patch id="interaction.permanentrepeat.permanentRepeatPatch">
<string name="revanced_music_play_permanent_repeat_title">Cumasaigh athdhéanamh buan</string>
<string name="revanced_music_play_permanent_repeat_summary_on">Tá athdhéanamh buan cumasaithe</string>
<string name="revanced_music_play_permanent_repeat_summary_off">Tá athdhéanamh buan díchumasaithe</string>
<string name="revanced_music_play_permanent_repeat_summary_on">Tá ath buan cumasaithe</string>
<string name="revanced_music_play_permanent_repeat_summary_off">Tá ath buan díchumasaithe</string>
</patch>
<patch id="layout.castbutton.hideCastButton">
<string name="revanced_music_hide_cast_button_title">Folaigh an cnaipe teilgthe</string>
<string name="revanced_music_hide_cast_button_summary_on">Tá an cnaipe teilgthe i bhfolach</string>
<string name="revanced_music_hide_cast_button_summary_off">Tá an cnaipe teilgthe ar taispeáint</string>
<string name="revanced_music_hide_cast_button_summary_off">Taispeántar an cnaipe teilgthe</string>
</patch>
<patch id="layout.compactheader.hideCategoryBar">
<string name="revanced_music_hide_category_bar_title">Folaigh an barra catagóirí</string>
@@ -1656,29 +1657,29 @@ Teorainneacha:
<!-- 'Home' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_home_button_title">Folaigh Baile</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_on">Tá cnaipe Baile folaithe</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_off">Tá cnaipe Baile taispeánta</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_off">Taispeántar an cnaipe baile</string>
<!-- 'Samples' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_samples_button_title">Folaigh Samplaí</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_on">Tá cnaipe Samplaí folaithe</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_off">Tá cnaipe Samplaí taispeánta</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_on">Tá cnaipe na samplaí i bhfolach</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_off">Taispeántar cnaipe na samplaí</string>
<!-- 'Explore' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_explore_button_title">Folaigh Scrúdaigh</string>
<string name="revanced_music_hide_navigation_bar_explore_button_summary_on">Tá cnaipe Fionnachtana folaithe</string>
<string name="revanced_music_hide_navigation_bar_explore_button_summary_off">Tá cnaipe Fionnachtana taispeánta</string>
<string name="revanced_music_hide_navigation_bar_explore_button_title">Folaigh Iniúchadh</string>
<string name="revanced_music_hide_navigation_bar_explore_button_summary_on"> an cnaipe iniúchadh i bhfolach</string>
<string name="revanced_music_hide_navigation_bar_explore_button_summary_off">Taispeántar an cnaipe iniúchadh</string>
<!-- 'Library' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_library_button_title">Folaigh Leabharlann</string>
<string name="revanced_music_hide_navigation_bar_library_button_summary_on">Tá cnaipe Leabharlann folaithe</string>
<string name="revanced_music_hide_navigation_bar_library_button_summary_off">Tá cnaipe Leabharlann taispeánta</string>
<string name="revanced_music_hide_navigation_bar_library_button_summary_on">Tá cnaipe na leabharlainne i bhfolach</string>
<string name="revanced_music_hide_navigation_bar_library_button_summary_off">Taispeántar cnaipe na leabharlainne</string>
<!-- 'Upgrade' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_upgrade_button_title">Folaigh Uasghrádaigh</string>
<string name="revanced_music_hide_navigation_bar_upgrade_button_summary_on">Tá cnaipe Uasghrádú folaithe</string>
<string name="revanced_music_hide_navigation_bar_upgrade_button_summary_off">Tá cnaipe Uasghrádú taispeánta</string>
<string name="revanced_music_hide_navigation_bar_upgrade_button_title">Folaigh an tUasghrádú</string>
<string name="revanced_music_hide_navigation_bar_upgrade_button_summary_on"> an cnaipe uasghrádaithe i bhfolach</string>
<string name="revanced_music_hide_navigation_bar_upgrade_button_summary_off">Taispeántar an cnaipe uasghrádaithe</string>
<string name="revanced_music_hide_navigation_bar_title">Folaigh barra nascleanúna</string>
<string name="revanced_music_hide_navigation_bar_summary_on">Tá barra nascleanúna folaithe</string>
<string name="revanced_music_hide_navigation_bar_summary_off">Tá barra nascleanúna taispeánta</string>
<string name="revanced_music_hide_navigation_bar_summary_on"> an barra nascleanúna i bhfolach</string>
<string name="revanced_music_hide_navigation_bar_summary_off">Taispeántar barra nascleanúna</string>
<string name="revanced_music_hide_navigation_bar_labels_title">Folaigh lipéid cnaipí nascleanúna</string>
<string name="revanced_music_hide_navigation_bar_labels_summary_on">Tá lipéid folaithe</string>
<string name="revanced_music_hide_navigation_bar_labels_summary_off">Tá lipéid taispeánta</string>
<string name="revanced_music_hide_navigation_bar_labels_summary_on">Tá lipéid i bhfolach</string>
<string name="revanced_music_hide_navigation_bar_labels_summary_off">Taispeántar lipéid</string>
</patch>
<patch id="layout.premium.hideGetPremiumPatch">
<string name="revanced_music_hide_get_premium_label_title">Folaigh an lipéad \'Faigh Music Premium\'</string>
@@ -1695,7 +1696,7 @@ Teorainneacha:
<patch id="ad.audio.audioAdsPatch">
<string name="revanced_block_audio_ads_title">Cuir bac ar fógraí fuaime</string>
<string name="revanced_block_audio_ads_summary_on">Cuirtear bac ar fhógraí fuaime</string>
<string name="revanced_block_audio_ads_summary_off">Déantar fógraí fuaime díbhocáilte</string>
<string name="revanced_block_audio_ads_summary_off"> fógraí fuaime díbhlocáilte</string>
</patch>
<patch id="ad.embedded.embeddedAdsPatch">
<string name="revanced_embedded_ads_service_unavailable">%s neamh-infheidhme, d\'fhéadfadh go dtaispeánfadh fógraí. Bain triail as seirbhís blocála fógraí a athrú sna socruithe.</string>
@@ -1714,11 +1715,11 @@ Teorainneacha:
<string name="revanced_deleted_msg">Teachtaireacht scriosta</string>
<string name="revanced_show_deleted_messages_title">Taispeáin teachtaireachtaí scriosta</string>
<string name="revanced_show_deleted_messages_entry_1">Ná taispeáin teachtaireachtaí scriosta</string>
<string name="revanced_show_deleted_messages_entry_2">Folaigh teachtaireachtaí scriosta taobh thiar de spoiler</string>
<string name="revanced_show_deleted_messages_entry_3">Taispeáin teachtaireachtaí scriosta mar théacs trasnaithe</string>
<string name="revanced_show_deleted_messages_entry_2">Folaigh teachtaireachtaí scriosta taobh thiar a fhalsúa</string>
<string name="revanced_show_deleted_messages_entry_3">Taispeáin teachtaireachtaí scriosta mar théacs trasnaithe amach</string>
</patch>
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
<string name="revanced_auto_claim_channel_points_title">Tóg Pointí Cainte go huathoibríoch</string>
<string name="revanced_auto_claim_channel_points_title">Éiligh Pointí Cainéil go huathoibríoch</string>
<string name="revanced_auto_claim_channel_points_summary_on">Éilítear Pointí Cainéal go huathoibríoch</string>
<string name="revanced_auto_claim_channel_points_summary_off">Ní éilítear Pointí Cainéal go huathoibríoch</string>
</patch>

View File

@@ -1607,6 +1607,7 @@ Korlátozások:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Hiányzik az hangsáv menü</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nincs AV1 videokodek</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabil hangerő nem elérhető</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• A lejátszás akadozhat vagy képkockákat dobhat.</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• A gyermekeknek szóló videók nem játszódnak le, ha a felhasználó kijelentkezett, vagy inkognitómódban van.</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Eredeti hang kényszerítése nem érhető el</string>

View File

@@ -1611,6 +1611,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Ձայնային ուղու մենյուն բացակայում է</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Հեռացված բոլոր AV1 վիդեո կոդեկները</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Կայուն ձայնի մակարդակը հասանելի չէ</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Նվագարկումը հնարավոր է ընդհատվի կամ բաց թողնի կադրեր</string>
<string name="revanced_spoof_video_streams_about_kids_videos">Երեխաների տեսանյութերը կարող են չհամապատասխանել հետևյալ պահանջներին՝ եթե արտոնագրման խախտումներ կան։</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Բնօրինակ ձայնի պարտադրումը հասանելի չէ</string>

View File

@@ -22,18 +22,18 @@ Second \"item\" text"</string>
<app id="shared">
<patch id="misc.checks.checkEnvironmentPatch">
<string name="revanced_check_environment_failed_title">Pemeriksaan gagal</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Buka situs resminya</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Buka situs resmi</string>
<string name="revanced_check_environment_dialog_ignore_button">Abaikan</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Aplikasi ini tampaknya tidak dipatch oleh Anda.&lt;/h5&gt;&lt;br&gt;Aplikasi ini mungkin tidak berfungsi dengan baik, &lt;b&gt;bisa berbahaya atau bahkan membahayakan untuk digunakan&lt;/b&gt;.&lt;br&gt;&lt;br&gt;Pemeriksaan ini berarti bahwa aplikasi ini telah dipatch sebelumnya atau diperoleh dari orang lain:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Sangat disarankan untuk &lt;b&gt;mencopot pemasangan aplikasi ini dan mempatchnya sendiri&lt;/b&gt; guna memastikan Anda menggunakan aplikasi yang tervalidasi dan aman.&lt;p&gt;&lt;br&gt;Jika diabaikan, peringatan ini hanya akan ditampilkan dua kali.</string>
<string name="revanced_check_environment_not_same_patching_device">Dipatch pada perangkat yang berbeda</string>
<string name="revanced_check_environment_manager_not_expected_installer">Tidak dipasang oleh ReVanced Manager</string>
<string name="revanced_check_environment_not_near_patch_time">Dipatch lebih dari 10 menit yang lalu</string>
<string name="revanced_check_environment_not_near_patch_time_days">Dipatch %s hari yang lalu</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Aplikasi ini tampaknya tidak ditambal oleh Anda.&lt;/h5&gt;&lt;br&gt;Aplikasi ini mungkin tidak bisa berfungsi dengan baik, &lt;b&gt;bisa berbahaya atau bahkan membahayakan untuk digunakan&lt;/b&gt;.&lt;br&gt;&lt;br&gt;Pemeriksaan ini berarti bahwa aplikasi ini telah ditambal sebelumnya atau diperoleh dari orang lain:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Sangat disarankan untuk &lt;b&gt;mencopot pemasangan aplikasi ini dan menambalnya sendiri&lt;/b&gt; guna memastikan Anda menggunakan aplikasi yang tervalidasi dan aman.&lt;p&gt;&lt;br&gt;Jika diabaikan, peringatan ini hanya akan ditampilkan dua kali.</string>
<string name="revanced_check_environment_not_same_patching_device">Ditambal pada perangkat yang berbeda</string>
<string name="revanced_check_environment_manager_not_expected_installer">Tidak terpasang oleh ReVanced Manager</string>
<string name="revanced_check_environment_not_near_patch_time">Ditambal lebih dari 10 menit yang lalu</string>
<string name="revanced_check_environment_not_near_patch_time_days">Ditambal %s hari yang lalu</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">Tanggal pembuatan APK rusak</string>
</patch>
<patch id="misc.dns.checkWatchHistoryDomainNameResolutionPatch">
<string name="revanced_check_watch_history_domain_name_dialog_title">Peringatan </string>
<string name="revanced_check_watch_history_domain_name_dialog_message">Riwayat tontonan Anda tidak disimpan.&lt;br&gt;&lt;br&gt;Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.&lt;br&gt;&lt;br&gt;Untuk memperbaikinya, masukkan daftar putih &lt;b&gt;s.youtube.com&lt;/b&gt; atau matikan semua pemblokir DNS dan proksi.</string>
<string name="revanced_check_watch_history_domain_name_dialog_message">Riwayat tontonan Anda tidak sedanh disimpan.&lt;br&gt;&lt;br&gt;Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.&lt;br&gt;&lt;br&gt;Untuk memperbaikinya, masukkan ke daftar putih &lt;b&gt;s.youtube.com&lt;/b&gt; atau matikan semua pemblokir iklan DNS dan proksi.</string>
<string name="revanced_check_watch_history_domain_name_dialog_ignore">Jangan tampilkan lagi</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
@@ -48,7 +48,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_import">Impor</string>
<string name="revanced_settings_import_copy">Salin</string>
<string name="revanced_settings_import_reset">Pengaturan ReVanced diatur ke bawaan</string>
<string name="revanced_settings_import_success">Mengimpor setelan %d</string>
<string name="revanced_settings_import_success">Setelan %d terimpor</string>
<string name="revanced_settings_import_failure_parse">Impor gagal: %s</string>
<string name="revanced_settings_search_hint">Pengaturan pencarian</string>
<string name="revanced_settings_search_no_results_title">Tidak ada hasil yang ditemukan untuk \'%s\'</string>
@@ -62,12 +62,12 @@ Second \"item\" text"</string>
• Tekan lama pada pengaturan untuk menelusuri ke jalur tersebut
• Tekan Enter untuk menyimpan kueri pencarian ke riwayat
• Pencarian mengabaikan huruf besar/kecil dan tanda baca
• Pengaturan orang tua muncul di atas pengaturan anak yang dinonaktifkan"</string>
• Pengaturan utama muncul di atas pengaturan sampingan yang dinonaktifkan"</string>
<string name="revanced_settings_search_empty_history_title">Riwayat pencarian kosong</string>
<string name="revanced_settings_search_empty_history_summary">Untuk menyimpan riwayat pencarian, ketik kueri pencarian dan tekan Enter</string>
<string name="revanced_settings_search_history_title">Tampilkan pengaturan riwayat pencarian</string>
<string name="revanced_settings_search_history_summary_on">Pengaturan riwayat pencarian ditampilkan</string>
<string name="revanced_settings_search_history_summary_off">Pengaturan riwayat pencarian tidak ditampilkan</string>
<string name="revanced_settings_search_history_title">Tampilkan riwayat pencarian setelan</string>
<string name="revanced_settings_search_history_summary_on">Riwayat pencarian setelan ditampilkan</string>
<string name="revanced_settings_search_history_summary_off">Riwayat pencarian setelan tidak ditampilkan</string>
<string name="revanced_show_menu_icons_title">Tampilkan ikon pengaturan ReVanced</string>
<string name="revanced_show_menu_icons_summary_on">Ikon pengaturan ditampilkan</string>
<string name="revanced_show_menu_icons_summary_off">Ikon pengaturan tidak ditampilkan</string>
@@ -1609,6 +1609,7 @@ Batasan:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Menu trek audio tidak ada</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Tidak ada codec video AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Volume stabil tidak tersedia</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Pemutaran mungkin tersendat-sendat atau terjadi penurunan kualitas gambar</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Paksa audio asli tidak tersedia</string>
@@ -1657,9 +1658,9 @@ Batasan:
<string name="revanced_music_hide_navigation_bar_home_button_summary_on">Tombol Beranda disembunyikan</string>
<string name="revanced_music_hide_navigation_bar_home_button_summary_off">Tombol Beranda ditampilkan</string>
<!-- 'Samples' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_samples_button_title">Sembunyikan Cuplikan</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_on">Tombol Cuplikan disembunyikan</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_off">Tombol Cuplikan ditampilkan</string>
<string name="revanced_music_hide_navigation_bar_samples_button_title">Sembunyikan Sampel</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_on">Tombol Sampel disembunyikan</string>
<string name="revanced_music_hide_navigation_bar_samples_button_summary_off">Tombol Sampel ditampilkan</string>
<!-- 'Explore' should be translated using the same localized wording YouTube Music displays for the tab. -->
<string name="revanced_music_hide_navigation_bar_explore_button_title">Sembunyikan Jelajahi</string>
<string name="revanced_music_hide_navigation_bar_explore_button_summary_on">Tombol Jelajahi disembunyikan</string>

View File

@@ -1609,6 +1609,7 @@ Limitazioni:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Manca il menu delle tracce audio</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nessun codec video AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Il volume stabile non è disponibile</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• La riproduzione potrebbe scattare o perdere fotogrammi</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• I video dei bambini potrebbero non essere riprodotti quando si è disconnessi o in modalità di navigazione in incognito</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• L\'audio originale forzato non è disponibile</string>

View File

@@ -1612,6 +1612,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• תפריט ערוץ השמע חסר</string>
<string name="revanced_spoof_video_streams_about_no_av1">• אין קודק וידאו מסוג AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• עוצמת קול יציבה אינה זמינה</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• ההפעלה עלולה לגמגם או להפיל פריימים</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• ייתכן שסרטוני Kids לא יופעלו כשאתה מנותק או במצב פרטי</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• כפיית שמע מקורי אינה זמינה</string>

View File

@@ -508,7 +508,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
<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_timestamp_title">動画のタイムスタンプ付き URL をコピー」ボタンを表示</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>
</patch>
@@ -1483,7 +1483,7 @@ Automotive レイアウト
<string name="revanced_loop_video_button_toast_off">動画のループ再生がオフになっています</string>
</patch>
<patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch">
<string name="revanced_spoof_device_dimensions_title">デバイスの画面サイズを偽装する</string>
<string name="revanced_spoof_device_dimensions_title">デバイスの画面サイズを偽装</string>
<string name="revanced_spoof_device_dimensions_summary_on">"デバイスの画面サイズは偽装されています
より高画質な映像がアンロックされる可能性がありますが、動画のカクつき、バッテリー寿命の悪化、予期せぬ副作用が
@@ -1586,8 +1586,8 @@ Automotive レイアウト
<string name="revanced_force_avc_codec_summary_on">ビデオ コーデックは強制的に AVC (H.264) になります</string>
<string name="revanced_force_avc_codec_summary_off">ビデオ コーデックは自動的に決定されます</string>
<string name="revanced_force_avc_codec_user_dialog_message">"利点:
• バッテリー寿命を延ばすことができ
• 古いデバイスで失われた動画解像度を復元できる
• バッテリー寿命が延びる可能性があ
• 古いデバイスで失われた動画解像度を復元できる可能性がある
制限事項:
• 最大解像度が 1080p
@@ -1612,6 +1612,7 @@ Automotive レイアウト
<string name="revanced_spoof_video_streams_about_no_audio_tracks">•「音声トラック」がフライアウト メニューに表示されない</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 コーデックが利用できない</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">•「一定音量」が利用できない</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• 再生がカクつく、またはコマ落ちが発生する場合がある</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">•「オリジナルの音声を強制的に使用」が利用できない</string>

View File

@@ -321,7 +321,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
<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>
<string name="revanced_hide_info_cards_section_title">정보 카드 숨기기</string>
<string name="revanced_hide_info_cards_section_title">크리에이터 정보 카드 섹션 숨기기</string>
<string name="revanced_hide_info_cards_section_summary_on">크리에이터 정보 카드 섹션이 숨겨집니다</string>
<string name="revanced_hide_info_cards_section_summary_off">크리에이터 정보 카드 섹션이 표시됩니다</string>
<string name="revanced_hide_key_concepts_section_title">주요 개념 섹션 숨기기</string>
@@ -615,7 +615,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
<patch id="layout.buttons.action.hideButtonsPatch">
<string name="revanced_hide_buttons_screen_title">동작 버튼</string>
<string name="revanced_hide_buttons_screen_summary">플레이어 하단에서 동작 버튼을 숨기거나 표시할 수 있습니다</string>
<string name="revanced_disable_like_subscribe_glow_title">빛나는 \'좋아요\' / \'구독\' 비활성화하기</string>
<string name="revanced_disable_like_subscribe_glow_title">빛나는 \'좋아요\' / \'구독\' 버튼 비활성화하기</string>
<string name="revanced_disable_like_subscribe_glow_summary_on">동영상에서 \'Like (좋아요)\' 또는 \'Subscribe (구독)\' 버튼이 언급되었을 경우에 해당 버튼에 빛나는 애니메이션을 적용하지 않습니다</string>
<string name="revanced_disable_like_subscribe_glow_summary_off">동영상에서 \'Like (좋아요)\' 또는 \'Subscribe (구독)\' 버튼이 언급되었을 경우에 해당 버튼에 빛나는 애니메이션을 적용합니다</string>
<string name="revanced_hide_like_dislike_button_title">좋아요 &amp; 싫어요 버튼 숨기기</string>
@@ -1617,6 +1617,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• 오디오 트랙 메뉴가 표시되지 않습니다</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 코덱이 지원되지 않습니다</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• 안정적인 볼륨을 사용할 수 없습니다</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• 재생이 끊기거나 프레임이 손실될 수 있습니다</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• 원본 오디오를 강제로 활성화할 수 없습니다</string>

View File

@@ -1611,6 +1611,7 @@ Apribojimai:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Trūksta garso takelio meniu</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nėra AV1 vaizdo kodeko</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabili garso apimtis nepasiekiama</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Atkūrimas gali strigti arba praleisti kadrus</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Vaikų vaizdo įrašai gali būti neatkuriami, kai atsijungiama arba naudojamas inkognito režimas</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Priverstinai naudoti originalų garsą nepasiekiama</string>

View File

@@ -1611,6 +1611,7 @@ Ierobežojumi:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Trūkst audio celiņa izvēlnes</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nav pieejams AV1 video kodeks</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Nav pieejams stabils skaļums</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Atskaņošana var raustīties vai izlaist kadrus</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Bērnu videoklipi var netikt atskaņoti, kad esat izrakstījies vai inkognito režīmā.</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Piespiest oriģinālo skaņu nav pieejams</string>

View File

@@ -1608,6 +1608,7 @@ Beperkingen:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Audiotrack-menu ontbreekt</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Geen AV1-videocodec</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabiel volume is niet beschikbaar</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Het afspelen kan haperen of frames overslaan</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• \"Kinder\"-Videos worden mogelijk niet afgespeeld wanneer u bent uitgelogd of de incognitomodus gebruikt</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Oorspronkelijke audio forceren is niet beschikbaar</string>

View File

@@ -1606,6 +1606,7 @@ Ograniczenia:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Brakuje menu ścieżek audio</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Žádný video kodek AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabilna głośność nie jest dostępna</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Odtwarzanie może się zacinać lub gubić klatki</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Filmy dla dzieci mogą nie być odtwarzane po wylogowaniu lub w trybie incognito</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Wymuś oryginalny dźwięk jest niedostępny</string>

View File

@@ -1607,6 +1607,7 @@ Limitações:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• O menu da faixa de áudio está faltando</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Sem codec de vídeo AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Volume estável não está disponível</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• A reprodução pode gaguejar ou perder quadros</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Vídeos infantis podem não ser reproduzidos quando estiver desconectado ou no modo de navegação anônima</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Forçar áudio original não está disponível</string>

View File

@@ -1610,6 +1610,7 @@ Limitações:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• O menu da faixa de áudio está faltando</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nenhum codec de vídeo AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• O volume estável não está disponível</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• A reprodução pode gaguejar ou perder quadros</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Vídeos infantis podem não ser reproduzidos quando desconectado ou no modo anônimo</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Forçar áudio original não está disponível</string>

View File

@@ -1607,6 +1607,7 @@ Limitări:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Meniul pistei audio lipsește</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Fara codec video AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Volumul stabil nu este disponibil</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Redarea poate sacada sau pierde cadre</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Copiii nu pot urmări videoclipuri atunci când sunt deconectați sau în modul incognito</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Forțarea sunetului original nu este disponibilă</string>

View File

@@ -1617,6 +1617,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Пункт \"Звуковая дорожка\" отсутствует</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Отсутствует видеокодек AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Постоянный уровень громкости недоступен </string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Воспроизведение может зависать или пропускать кадры</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Видео для детей могут не воспроизводиться при выходе из системы или в режиме инкогнито</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Принудительная оригинальная звуковая дорожка недоступна</string>

View File

@@ -1603,6 +1603,7 @@ Obmedzenia:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Chýba ponuka zvukovej stopy</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Žiadny video kodek AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabilná hlasitosť nie je dostupná</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Prehrávanie môže sekať alebo vynechávať snímky</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Videá pre deti sa nemusia prehrávať, keď ste odhlásení alebo v režime inkognito</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Vynútenie pôvodného zvuku nie je k dispozícii</string>

View File

@@ -1610,6 +1610,7 @@ Omejitve:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Meni z zvočnimi posnetki manjka</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Brez kodeka videa AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabilna glasnost ni na voljo</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Predvajanje se lahko zatika ali izpušča sličice</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Posnetki za otroke se mogoče ne bodo predvajali, ko ste odjavljeni ali v načinu brez beleženja zgodovine</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Vsili izvirni zvok ni na voljo</string>

View File

@@ -1608,6 +1608,7 @@ Kufizimet:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Menuja e gjurmës audio mungon</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nuk ka codec video AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Volumi i qëndrueshëm nuk është i disponueshëm</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Riprodhimi mund të ndërpritet ose të humbasë kornizat</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Video për fëmijë mund të mos luajnë kur jeni jashtë llogarisë ose në modalitetin incognito</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Detyro audio origjinale nuk është i disponueshëm</string>

View File

@@ -1609,6 +1609,7 @@ Ograničenja:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Meni „Audio snimak” nedostaje</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nema video kodeka AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Opcija „Ujednačena jačina zvuka” nije dostupna</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Reprodukcija može zastajkivati ili preskakati kadrove</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Prisiljavanje originalnog zvuka nije dostupno</string>

View File

@@ -1612,6 +1612,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Мени „Аудио снимак” недостаје</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Нема видео кодека AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Опција „Уједначена јачина звука” није доступна</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Репродукција може застајкивати или прескакати кадрове</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Присиљавање оригиналног звука није доступно</string>

View File

@@ -1609,6 +1609,7 @@ Begränsningar:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Menyn Ljudspår saknas</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Ingen AV1-videokodek</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Stabil volym är inte tillgängligt</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Uppspelningen kan hacka eller tappa bildrutor</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Videor för barn kanske inte spelas upp när du är utloggad eller i inkognitoläge</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Tvinga ursprungligt ljud är inte tillgängligt</string>

View File

@@ -1612,6 +1612,7 @@ User id ของคุณเหมือนกับรหัสผ่าน
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• เมนูแทร็กเสียงหายไป</string>
<string name="revanced_spoof_video_streams_about_no_av1">• ไม่มีตัวแปลงสัญญาณวิดีโอ AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• ระดับเสียงคงที่ไม่พร้อมใช้งาน</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• การเล่นอาจสะดุดหรือเฟรมตก</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• วิดีโอเด็กอาจไม่เล่นเมื่อลงชื่อออกหรืออยู่ในโหมดไม่ระบุตัวตน</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• บังคับใช้เสียงต้นฉบับไม่พร้อมใช้งาน</string>

View File

@@ -1617,6 +1617,7 @@ Sınırlamalar:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Ses parçası menüsü eksik</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 video kodeği yok</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Sabit ses mevcut değil</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Oynatma takılabilir veya kare atlayabilir</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Çocuk videoları oturum açılmadığında veya gizli modda oynatılamayabilir</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Orijinal sesi zorlama mevcut değil</string>

View File

@@ -1609,6 +1609,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Пункт меню \"Звукова доріжка\" відсутній</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Відеокодек AV1 відсутній</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Пункт меню \"Стабілізувати гучність\" недоступний</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Відтворення може заїкатися або пропускати кадри</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Відео для дітей можуть не відтворюватися, якщо вийти з облікового запису або перейти в анонімний режим</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Примусово оригінальна мова звукової доріжки\" недоступна</string>

View File

@@ -58,13 +58,13 @@ Second \"item\" text"</string>
<string name="revanced_settings_search_clear_history">Xóa lịch sử tìm kiếm</string>
<string name="revanced_settings_search_clear_history_message">Bạn có chắc chắn muốn xóa tất cả lịch sử tìm kiếm không?</string>
<string name="revanced_settings_search_tips_title">Mẹo tìm kiếm</string>
<string name="revanced_settings_search_tips_summary">"• Nhấn vào một đường dẫn để điều hướng đến đó
• Nhấn giữ một cài đặt để điều hướng đến đó
• Nhấn Enter để lưu truy vấn tìm kiếm vào lịch sử
<string name="revanced_settings_search_tips_summary">"• Nhấn vào một đường dẫn để đi đến đó
• Nhấn giữ một cài đặt để đi đến đó
• Nhấn Enter để lưu từ khoá tìm kiếm vào lịch sử
• Tìm kiếm bỏ qua chữ hoa/thường và dấu câu
• Cài đặt cha xuất hiện phía trên cài đặt con bị vô hiệu hóa"</string>
<string name="revanced_settings_search_empty_history_title">Lịch sử tìm kiếm trống</string>
<string name="revanced_settings_search_empty_history_summary">Để lưu lịch sử tìm kiếm, nhập truy vấn tìm kiếm và nhấn Enter</string>
• Cài đặt lớn nằm phía trên cài đặt nhỏ bị vô hiệu hóa"</string>
<string name="revanced_settings_search_empty_history_title">Lịch sử tìm kiếm đang trống</string>
<string name="revanced_settings_search_empty_history_summary">Để lưu lịch sử tìm kiếm, nhập từ khoá tìm kiếm và nhấn Enter</string>
<string name="revanced_settings_search_history_title">Hiện lịch sử tìm kiếm cài đặt</string>
<string name="revanced_settings_search_history_summary_on">Lịch sử tìm kiếm cài đặt đã được hiển thị</string>
<string name="revanced_settings_search_history_summary_off">Lịch sử tìm kiếm cài đặt không được hiển thị</string>
@@ -157,8 +157,8 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ."</string>
<string name="revanced_sanitize_sharing_links_summary_on">Tham số truy vấn theo dõi bị loại bỏ khỏi các liên kết được chia sẻ</string>
<string name="revanced_sanitize_sharing_links_summary_off">Tham số truy vấn theo dõi không bị loại bỏ khỏi các liên kết được chia sẻ</string>
<string name="revanced_replace_music_with_youtube_title">Thay đổi liên kết chia sẻ thành youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_on">Liên kết được chia sẻ sử dụng youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_off">Liên kết được chia sẻ sử dụng music.youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_on">Liên kết chia sẻ bắt đầu bằng youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_off">Liên kết chia sẻ bắt đầu bằng music.youtube.com</string>
</patch>
</app>
<app id="youtube">
@@ -1481,11 +1481,11 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow"</string>
<string name="revanced_loop_video_summary_off">Video sẽ không lặp lại</string>
</patch>
<patch id="misc.loopvideo.button.loopVideoButtonPatch">
<string name="revanced_loop_video_button_title">Hiện nút video lặp lại</string>
<string name="revanced_loop_video_button_title">Hiện nút lặp lại video</string>
<string name="revanced_loop_video_button_summary_on">Nút được hiển thị</string>
<string name="revanced_loop_video_button_summary_off">Nút không được hiển thị</string>
<string name="revanced_loop_video_button_toast_on">Video lặp lại đang bật</string>
<string name="revanced_loop_video_button_toast_off">Video lặp lại đang tắt</string>
<string name="revanced_loop_video_button_toast_on">Lặp lại video đang bật</string>
<string name="revanced_loop_video_button_toast_off">Lặp lại video đang tắt</string>
</patch>
<patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch">
<string name="revanced_spoof_device_dimensions_title">Giả mạo kích thước thiết bị</string>
@@ -1616,6 +1616,7 @@ Hạn chế:
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• Trình đơn bản âm thanh bị thiếu</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Không có codec video AV1</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• Âm lượng ổn định không khả dụng</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• Có thể gặp hiện tượng giật lag hoặc tụt fps khi phát video</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>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• Buộc âm thanh gốc không khả dụng</string>

View File

@@ -1615,6 +1615,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• 音轨菜单缺失</string>
<string name="revanced_spoof_video_streams_about_no_av1">• 不支持 AV1 视频编解码器</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• 稳定音量不可用</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• 播放可能会卡顿或掉帧</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• 注销或使用无痕模式时,儿童视频可能无法播放</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• 强制原始音频不可用</string>

View File

@@ -1620,6 +1620,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_no_audio_tracks">• 音軌選單遺失</string>
<string name="revanced_spoof_video_streams_about_no_av1">• 沒有 AV1 影片解碼器</string>
<string name="revanced_spoof_video_streams_about_no_stable_volume">• 穩定音量無法使用</string>
<string name="revanced_spoof_video_streams_about_dropped_frames">• 播放可能會卡頓或掉幀</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• 在登出或無痕模式下,兒童影片可能無法播放</string>
<!-- "Force original audio" should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_about_no_force_original_audio">• 強制原始音訊不可用</string>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -9,9 +9,9 @@
android:translateY="89.6">
<path
android:fillColor="#ff000000"
android:pathData="M253.85,4.9C254.32,3.82 254.22,2.57 253.58,1.58C252.93,0.6 251.83,0 250.64,0C243.29,0 230.47,0 225.95,0C224.96,0 224.06,0.59 223.66,1.5C216.03,18.88 144.1,182.7 130.29,214.16C129.89,215.07 128.99,215.66 128,215.66C127.01,215.66 126.11,215.07 125.71,214.16C111.9,182.7 39.97,18.88 32.34,1.5C31.94,0.59 31.04,0 30.05,0C25.53,0 12.71,0 5.36,0C4.17,0 3.07,0.6 2.42,1.58C1.78,2.57 1.68,3.82 2.15,4.9C16.78,38.3 101.47,231.61 111.24,253.9C111.8,255.18 113.06,256 114.45,256C120.29,256 135.71,256 141.55,256C142.94,256 144.2,255.18 144.76,253.9C154.52,231.61 239.22,38.3 253.85,4.9Z"/>
android:pathData="M250.09,13.49C251.39,10.51 251.11,7.08 249.33,4.36C247.55,1.64 244.52,0 241.27,0L228.81,0C226.08,0 223.61,1.62 222.51,4.11C211.54,29.1 153.63,160.99 134.29,205.04C133.2,207.54 130.73,209.15 128,209.15C125.27,209.15 122.8,207.54 121.7,205.04C102.36,160.99 44.46,29.1 33.49,4.11C32.39,1.62 29.92,0 27.19,0L14.73,0C11.48,0 8.45,1.64 6.67,4.36C4.89,7.08 4.61,10.51 5.91,13.49C26.64,60.8 95.56,218.1 109.63,250.24C111.17,253.74 114.63,256 118.45,256L137.55,256C141.37,256 144.83,253.74 146.36,250.24C160.44,218.1 229.36,60.8 250.09,13.49Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M130.59,131.75C130.06,132.68 129.07,133.25 128,133.25C126.93,133.25 125.94,132.68 125.4,131.75C113.45,111.06 63.88,25.19 51.93,4.5C51.4,3.57 51.4,2.43 51.93,1.5C52.47,0.57 53.46,-0 54.53,-0L201.47,-0C202.54,-0 203.53,0.57 204.06,1.5C204.6,2.43 204.6,3.57 204.06,4.5C192.12,25.19 142.54,111.06 130.59,131.75Z"/>
android:pathData="M135.14,123.87C133.67,126.43 130.94,128 128,128C125.05,128 122.33,126.43 120.85,123.87C105.89,97.97 71.44,38.28 56.48,12.37C55,9.82 55,6.68 56.48,4.12C57.95,1.57 60.68,-0 63.62,-0L192.37,-0C195.32,-0 198.04,1.57 199.52,4.12C200.99,6.68 200.99,9.82 199.52,12.37C184.56,38.28 150.1,97.97 135.14,123.87Z"/>
</group>
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 942 B

After

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Some files were not shown because too many files have changed in this diff Show More