mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-12-25 02:14:09 +01:00
Compare commits
31 Commits
v5.18.0-de
...
v5.19.0-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a75a88d3c6 | ||
|
|
3d67d90473 | ||
|
|
fa1e137a43 | ||
|
|
ac71a53c73 | ||
|
|
0bff207efc | ||
|
|
e1a8b388a5 | ||
|
|
628d18489c | ||
|
|
36772b8b2e | ||
|
|
49c849979f | ||
|
|
0bdb8cdf2b | ||
|
|
2035c9e2e9 | ||
|
|
7cb38fd3fc | ||
|
|
8ed9d5bf08 | ||
|
|
cd467d6244 | ||
|
|
fdefb67d02 | ||
|
|
5274cd18f0 | ||
|
|
3d68c06146 | ||
|
|
ef3d5bafd5 | ||
|
|
2d7b1b09af | ||
|
|
0572d48fde | ||
|
|
37984b8b99 | ||
|
|
6e63193f06 | ||
|
|
b2384b22a5 | ||
|
|
ccb76983ff | ||
|
|
318b55b8fe | ||
|
|
49ade9efbc | ||
|
|
d77515bd68 | ||
|
|
087bf1e152 | ||
|
|
c2994d583d | ||
|
|
127b0a63fe | ||
|
|
27aafd0ee1 |
95
CHANGELOG.md
95
CHANGELOG.md
@@ -1,3 +1,98 @@
|
||||
# [5.19.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.7...v5.19.0-dev.8) (2025-04-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Return YouTube Dislike:** Fix inconsistent label after disliking a Short ([ea92a2e](https://github.com/ReVanced/revanced-patches/commit/ea92a2e36c7aab3bd115f7d0ec40467179485b32))
|
||||
|
||||
# [5.19.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.6...v5.19.0-dev.7) (2025-04-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Return YouTube Dislike:** Correctly update label after disliking a Short with 20.07 ([0bb3e32](https://github.com/ReVanced/revanced-patches/commit/0bb3e32244fa10809aee5c4e549f77ed4054537e))
|
||||
|
||||
# [5.19.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.5...v5.19.0-dev.6) (2025-04-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify:** Remove ads sections from home ([#4722](https://github.com/ReVanced/revanced-patches/issues/4722)) ([0b9a5e7](https://github.com/ReVanced/revanced-patches/commit/0b9a5e7f89a89d971762b3539166d4f145111481))
|
||||
|
||||
# [5.19.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.4...v5.19.0-dev.5) (2025-04-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Custom theme:** Override more color resources ([#4690](https://github.com/ReVanced/revanced-patches/issues/4690)) ([d7a7a0b](https://github.com/ReVanced/revanced-patches/commit/d7a7a0b982dbafa181b04f984a5f7618fb067c2a))
|
||||
|
||||
# [5.19.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.3...v5.19.0-dev.4) (2025-04-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Seekbar:** Correctly hide the feed seekbar with target 20.07 ([ddc6e4c](https://github.com/ReVanced/revanced-patches/commit/ddc6e4c34fe35fa34bd859bf34e25645a23dbdc9))
|
||||
|
||||
# [5.19.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.2...v5.19.0-dev.3) (2025-04-02)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Proton Mail:** Add `Remove 'Sent from' signature` patch ([#4514](https://github.com/ReVanced/revanced-patches/issues/4514)) ([34c14c9](https://github.com/ReVanced/revanced-patches/commit/34c14c9b443092824d035afd77adb678c6f89e3e))
|
||||
|
||||
# [5.19.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.1...v5.19.0-dev.2) (2025-04-02)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Settings:** Add icons to the ReVanced settings ([#4496](https://github.com/ReVanced/revanced-patches/issues/4496)) ([d0c85f0](https://github.com/ReVanced/revanced-patches/commit/d0c85f044083d720c63a8ea4ff15d42eefeb9db7))
|
||||
|
||||
# [5.19.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.18.1-dev.2...v5.19.0-dev.1) (2025-04-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Twitter - Hide recommended users:** Make hiding work again by filtering for new entryId prefix ([#4456](https://github.com/ReVanced/revanced-patches/issues/4456)) ([ff846b0](https://github.com/ReVanced/revanced-patches/commit/ff846b0b7ef5060caaffedb08c1f901172f5b2d1))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Angulus:** Add `Hide ads` patch ([#4604](https://github.com/ReVanced/revanced-patches/issues/4604)) ([87c86b5](https://github.com/ReVanced/revanced-patches/commit/87c86b53a91b0054ac892a3f02bbe7bf83bbf813))
|
||||
* **Photomath:** Support latest version ([#4672](https://github.com/ReVanced/revanced-patches/issues/4672)) ([8e16483](https://github.com/ReVanced/revanced-patches/commit/8e1648322948151e4565fb0d86e0f37d0a02d73f))
|
||||
|
||||
## [5.18.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.18.1-dev.1...v5.18.1-dev.2) (2025-04-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube:** Combine multiple seekbar patches into a single patch ([#4705](https://github.com/ReVanced/revanced-patches/issues/4705)) ([503b7eb](https://github.com/ReVanced/revanced-patches/commit/503b7eb8d413ef7f248394f128f3b2a6f3192ba6))
|
||||
|
||||
## [5.18.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.18.0...v5.18.1-dev.1) (2025-03-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Remove background playback restrictions:** Do not show media controls when playing Shorts from the feed ([2ed675c](https://github.com/ReVanced/revanced-patches/commit/2ed675cdd058fb5876381a9d30dee5263f6b2e26))
|
||||
|
||||
# [5.18.0](https://github.com/ReVanced/revanced-patches/compare/v5.17.0...v5.18.0) (2025-03-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify:** Ignore optional attributes if not present ([#4688](https://github.com/ReVanced/revanced-patches/issues/4688)) ([84f5854](https://github.com/ReVanced/revanced-patches/commit/84f585492e4be3604c6c7680ffb3bebcea5a675f))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube:** Support version `20.07.39` ([#4677](https://github.com/ReVanced/revanced-patches/issues/4677)) ([c1379f6](https://github.com/ReVanced/revanced-patches/commit/c1379f6e520c683d2c9d6a490a69ca542168b3b3))
|
||||
|
||||
# [5.18.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.18.0-dev.1...v5.18.0-dev.2) (2025-03-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify:** Ignore optional attributes if not present ([#4688](https://github.com/ReVanced/revanced-patches/issues/4688)) ([84f5854](https://github.com/ReVanced/revanced-patches/commit/84f585492e4be3604c6c7680ffb3bebcea5a675f))
|
||||
|
||||
# [5.18.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.17.0...v5.18.0-dev.1) (2025-03-28)
|
||||
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -799,4 +800,14 @@ public class Utils {
|
||||
builder.getContext().setTheme(editTextDialogStyle);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a color resource or hex code to an int representation of the color.
|
||||
*/
|
||||
public static int getColorFromString(String colorString) throws IllegalArgumentException, Resources.NotFoundException {
|
||||
if (colorString.startsWith("#")) {
|
||||
return Color.parseColor(colorString);
|
||||
}
|
||||
return getResourceColor(colorString);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,11 @@ public class BaseSettings {
|
||||
|
||||
public static final EnumSetting<AppLanguage> REVANCED_LANGUAGE = new EnumSetting<>("revanced_language", AppLanguage.DEFAULT, true, "revanced_language_user_dialog_message");
|
||||
|
||||
/**
|
||||
* Use the icons declared in the preferences created during patching. If no icons or styles are declared then this setting does nothing.
|
||||
*/
|
||||
public static final BooleanSetting SHOW_MENU_ICONS = new BooleanSetting("revanced_show_menu_icons", TRUE, true);
|
||||
|
||||
public static final BooleanSetting SPOOF_VIDEO_STREAMS = new BooleanSetting("revanced_spoof_video_streams", TRUE, true, "revanced_spoof_video_streams_user_dialog_message");
|
||||
public static final EnumSetting<AppLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AppLanguage.DEFAULT, new AudioStreamLanguageOverrideAvailability());
|
||||
public static final BooleanSetting SPOOF_STREAMING_DATA_STATS_FOR_NERDS = new BooleanSetting("revanced_spoof_streaming_data_stats_for_nerds", TRUE, parent(SPOOF_VIDEO_STREAMS));
|
||||
|
||||
@@ -86,7 +86,6 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Initialize this instance, and do any custom behavior.
|
||||
* <p>
|
||||
@@ -95,7 +94,10 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
|
||||
* so all app specific {@link Setting} instances are loaded before this method returns.
|
||||
*/
|
||||
protected void initialize() {
|
||||
final var identifier = Utils.getResourceIdentifier("revanced_prefs", "xml");
|
||||
String preferenceResourceName = BaseSettings.SHOW_MENU_ICONS.get()
|
||||
? "revanced_prefs_icons"
|
||||
: "revanced_prefs";
|
||||
final var identifier = Utils.getResourceIdentifier(preferenceResourceName, "xml");
|
||||
if (identifier == 0) return;
|
||||
addPreferencesFromResource(identifier);
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package app.revanced.extension.spotify.layout.theme;
|
||||
|
||||
import android.graphics.Color;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class CustomThemePatch {
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static long getThemeColor(String colorString) {
|
||||
try {
|
||||
return Utils.getColorFromString(colorString);
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "Invalid custom color: " + colorString, ex);
|
||||
return Color.BLACK;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.spotify.home.evopage.homeapi.proto;
|
||||
|
||||
public final class Section {
|
||||
public static final int VIDEO_BRAND_AD_FIELD_NUMBER = 20;
|
||||
public static final int IMAGE_BRAND_AD_FIELD_NUMBER = 21;
|
||||
public int featureTypeCase_;
|
||||
}
|
||||
@@ -9,7 +9,6 @@ import app.revanced.extension.tiktok.settings.preference.categories.DownloadsPre
|
||||
import app.revanced.extension.tiktok.settings.preference.categories.FeedFilterPreferenceCategory;
|
||||
import app.revanced.extension.tiktok.settings.preference.categories.ExtensionPreferenceCategory;
|
||||
import app.revanced.extension.tiktok.settings.preference.categories.SimSpoofPreferenceCategory;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* Preference fragment for ReVanced settings
|
||||
|
||||
@@ -163,7 +163,7 @@ internal object TwiFucker {
|
||||
|
||||
private fun JSONObject.entryIsWhoToFollow(): Boolean =
|
||||
optString("entryId").let {
|
||||
it.startsWith("whoToFollow-") || it.startsWith("who-to-follow-") || it.startsWith("connect-module-")
|
||||
it.startsWith("whoToFollow-") || it.startsWith("who-to-follow-") || it.startsWith("connect-module-") || it.startsWith("who-to-subscribe-")
|
||||
}
|
||||
|
||||
private fun JSONObject.itemContainsPromotedUser(): Boolean =
|
||||
|
||||
@@ -45,13 +45,24 @@ public class ThemeHelper {
|
||||
return "@color/yt_black3";
|
||||
}
|
||||
|
||||
private static int getThemeColor(String resourceName, int defaultColor) {
|
||||
try {
|
||||
return Utils.getColorFromString(resourceName);
|
||||
} catch (Exception ex) {
|
||||
// User entered an invalid custom theme color.
|
||||
// Normally this should never be reached, and no localized strings are needed.
|
||||
Utils.showToastLong("Invalid custom theme color: " + resourceName);
|
||||
return defaultColor;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The dark theme color as specified by the Theme patch (if included),
|
||||
* or the dark mode background color unpatched YT uses.
|
||||
*/
|
||||
public static int getDarkThemeColor() {
|
||||
if (darkThemeColor == null) {
|
||||
darkThemeColor = getColorInt(darkThemeResourceName());
|
||||
darkThemeColor = getThemeColor(darkThemeResourceName(), Color.BLACK);
|
||||
}
|
||||
return darkThemeColor;
|
||||
}
|
||||
@@ -71,18 +82,11 @@ public class ThemeHelper {
|
||||
*/
|
||||
public static int getLightThemeColor() {
|
||||
if (lightThemeColor == null) {
|
||||
lightThemeColor = getColorInt(lightThemeResourceName());
|
||||
lightThemeColor = getThemeColor(lightThemeResourceName(), Color.WHITE);
|
||||
}
|
||||
return lightThemeColor;
|
||||
}
|
||||
|
||||
private static int getColorInt(String colorString) {
|
||||
if (colorString.startsWith("#")) {
|
||||
return Color.parseColor(colorString);
|
||||
}
|
||||
return Utils.getResourceColor(colorString);
|
||||
}
|
||||
|
||||
public static int getBackgroundColor() {
|
||||
return isDarkTheme() ? getDarkThemeColor() : getLightThemeColor();
|
||||
}
|
||||
@@ -96,6 +100,6 @@ public class ThemeHelper {
|
||||
? "yt_black3"
|
||||
: "yt_white1";
|
||||
|
||||
return getColorInt(colorName);
|
||||
return Utils.getColorFromString(colorName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package app.revanced.extension.youtube.patches;
|
||||
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
import app.revanced.extension.youtube.shared.ShortsPlayerState;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@@ -23,7 +24,13 @@ public class BackgroundPlaybackPatch {
|
||||
// 7. Close the Short
|
||||
// 8. Resume playing the regular video
|
||||
// 9. Minimize the app (PIP should appear)
|
||||
return !ShortsPlayerState.isOpen();
|
||||
if (ShortsPlayerState.isOpen()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if the video player is opened and it's not playing in the feed.
|
||||
PlayerType current = PlayerType.getCurrent();
|
||||
return !current.isNoneOrHidden() && current != PlayerType.INLINE_MINIMAL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,20 +2,16 @@ package app.revanced.extension.youtube.patches;
|
||||
|
||||
import static app.revanced.extension.youtube.returnyoutubedislike.ReturnYouTubeDislike.Vote;
|
||||
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.ShapeDrawable;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.GuardedBy;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
@@ -60,12 +56,12 @@ public class ReturnYouTubeDislikePatch {
|
||||
private static volatile ReturnYouTubeDislike lastLithoShortsVideoData;
|
||||
|
||||
/**
|
||||
* Because the litho Shorts spans are created after {@link ReturnYouTubeDislikeFilterPatch}
|
||||
* detects the video ids, after the user votes the litho will update
|
||||
* but {@link #lastLithoShortsVideoData} is not the correct data to use.
|
||||
* If this is true, then instead use {@link #currentVideoData}.
|
||||
* Because litho Shorts spans are created offscreen after {@link ReturnYouTubeDislikeFilterPatch}
|
||||
* detects the video ids, but the current Short can arbitrarily reload the same span,
|
||||
* then use the {@link #lastLithoShortsVideoData} if this value is greater than zero.
|
||||
*/
|
||||
private static volatile boolean lithoShortsShouldUseCurrentData;
|
||||
@GuardedBy("ReturnYouTubeDislikePatch.class")
|
||||
private static int useLithoShortsVideoDataCount;
|
||||
|
||||
/**
|
||||
* Last video id prefetched. Field is to prevent prefetching the same video id multiple times in a row.
|
||||
@@ -83,12 +79,28 @@ public class ReturnYouTubeDislikePatch {
|
||||
private static void clearData() {
|
||||
currentVideoData = null;
|
||||
lastLithoShortsVideoData = null;
|
||||
lithoShortsShouldUseCurrentData = false;
|
||||
synchronized (ReturnYouTubeDislike.class) {
|
||||
useLithoShortsVideoDataCount = 0;
|
||||
}
|
||||
|
||||
// Rolling number text should not be cleared,
|
||||
// as it's used if incognito Short is opened/closed
|
||||
// while a regular video is on screen.
|
||||
}
|
||||
|
||||
/**
|
||||
* @return If {@link #useLithoShortsVideoDataCount} was greater than zero.
|
||||
*/
|
||||
private static boolean decrementUseLithoDataIfNeeded() {
|
||||
synchronized (ReturnYouTubeDislikePatch.class) {
|
||||
if (useLithoShortsVideoDataCount > 0) {
|
||||
useLithoShortsVideoDataCount--;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Litho player for both regular videos and Shorts.
|
||||
@@ -152,10 +164,13 @@ public class ReturnYouTubeDislikePatch {
|
||||
return getShortsSpan(original, true);
|
||||
}
|
||||
|
||||
if (conversionContextString.contains("|shorts_like_button.eml")
|
||||
&& !Utils.containsNumber(original)) {
|
||||
Logger.printDebug(() -> "Replacing hidden likes count");
|
||||
return getShortsSpan(original, false);
|
||||
if (conversionContextString.contains("|shorts_like_button.eml")) {
|
||||
if (!Utils.containsNumber(original)) {
|
||||
Logger.printDebug(() -> "Replacing hidden likes count");
|
||||
return getShortsSpan(original, false);
|
||||
} else {
|
||||
decrementUseLithoDataIfNeeded();
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "onLithoTextLoaded failure", ex);
|
||||
@@ -170,7 +185,14 @@ public class ReturnYouTubeDislikePatch {
|
||||
return original;
|
||||
}
|
||||
|
||||
ReturnYouTubeDislike videoData = lastLithoShortsVideoData;
|
||||
final ReturnYouTubeDislike videoData;
|
||||
if (decrementUseLithoDataIfNeeded()) {
|
||||
// New Short is loading off screen.
|
||||
videoData = lastLithoShortsVideoData;
|
||||
} else {
|
||||
videoData = currentVideoData;
|
||||
}
|
||||
|
||||
if (videoData == null) {
|
||||
// The Shorts litho video id filter did not detect the video id.
|
||||
// This is normal in incognito mode, but otherwise is abnormal.
|
||||
@@ -178,19 +200,6 @@ public class ReturnYouTubeDislikePatch {
|
||||
return original;
|
||||
}
|
||||
|
||||
// Use the correct dislikes data after voting.
|
||||
if (lithoShortsShouldUseCurrentData) {
|
||||
if (isDislikesSpan) {
|
||||
lithoShortsShouldUseCurrentData = false;
|
||||
}
|
||||
videoData = currentVideoData;
|
||||
if (videoData == null) {
|
||||
Logger.printException(() -> "currentVideoData is null"); // Should never happen
|
||||
return original;
|
||||
}
|
||||
Logger.printDebug(() -> "Using current video data for litho span");
|
||||
}
|
||||
|
||||
return isDislikesSpan
|
||||
? videoData.getDislikeSpanForShort((Spanned) original)
|
||||
: videoData.getLikeSpanForShort((Spanned) original);
|
||||
@@ -445,7 +454,10 @@ public class ReturnYouTubeDislikePatch {
|
||||
ReturnYouTubeDislike videoData = ReturnYouTubeDislike.getFetchForVideoId(videoId);
|
||||
videoData.setVideoIdIsShort(true);
|
||||
lastLithoShortsVideoData = videoData;
|
||||
lithoShortsShouldUseCurrentData = false;
|
||||
synchronized (ReturnYouTubeDislikePatch.class) {
|
||||
// Use litho Shorts data for the next like and dislike spans.
|
||||
useLithoShortsVideoDataCount = 2;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean videoIdIsSame(@Nullable ReturnYouTubeDislike fetch, @Nullable String videoId) {
|
||||
@@ -480,13 +492,6 @@ public class ReturnYouTubeDislikePatch {
|
||||
for (Vote v : Vote.values()) {
|
||||
if (v.value == vote) {
|
||||
videoData.sendVote(v);
|
||||
|
||||
if (isNoneHiddenOrMinimized) {
|
||||
if (lastLithoShortsVideoData != null) {
|
||||
lithoShortsShouldUseCurrentData = true;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +226,7 @@ public final class SeekbarColorPatch {
|
||||
}
|
||||
|
||||
private static String loadRawResourceAsString(int resourceId) {
|
||||
//noinspection CharsetObjectCanBeUsed
|
||||
try (InputStream inputStream = Utils.getContext().getResources().openRawResource(resourceId);
|
||||
Scanner scanner = new Scanner(inputStream, StandardCharsets.UTF_8.name()).useDelimiter("\\A")) {
|
||||
return scanner.next();
|
||||
@@ -281,6 +282,20 @@ public final class SeekbarColorPatch {
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
* 19.49+
|
||||
*/
|
||||
public static int[] getPlayerLinearGradient(int[] original, int x0, int y1) {
|
||||
// This hook is used for both the player and the feed.
|
||||
// Feed usage always has x0 and y1 value of zero, and the player is always non zero.
|
||||
if (HIDE_SEEKBAR_THUMBNAIL_ENABLED && x0 == 0 && y1 == 0) {
|
||||
return HIDDEN_SEEKBAR_GRADIENT_COLORS;
|
||||
}
|
||||
return getPlayerLinearGradient(original);
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
* Pre 19.49
|
||||
*/
|
||||
public static int[] getPlayerLinearGradient(int[] original) {
|
||||
return SEEKBAR_CUSTOM_COLOR_ENABLED
|
||||
|
||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
||||
org.gradle.parallel = true
|
||||
android.useAndroidX = true
|
||||
kotlin.code.style = official
|
||||
version = 5.18.0-dev.1
|
||||
version = 5.19.0-dev.8
|
||||
|
||||
@@ -132,6 +132,10 @@ public final class app/revanced/patches/amazon/DeepLinkingPatchKt {
|
||||
public static final fun getDeepLinkingPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/angulus/ads/RemoveAdsPatchKt {
|
||||
public static final fun getAngulusPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/backdrops/misc/pro/ProUnlockPatchKt {
|
||||
public static final fun getProUnlockPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
@@ -396,6 +400,10 @@ public final class app/revanced/patches/pixiv/ads/HideAdsPatchKt {
|
||||
public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/protonmail/signature/RemoveSentFromSignaturePatchKt {
|
||||
public static final fun getRemoveSentFromSignaturePatch ()Lapp/revanced/patcher/patch/ResourcePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/rar/misc/annoyances/purchasereminder/HidePurchaseReminderPatchKt {
|
||||
public static final fun getHidePurchaseReminderPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
@@ -1096,6 +1104,14 @@ public final class app/revanced/patches/youtube/interaction/seekbar/EnableSlideT
|
||||
public static final fun getEnableSlideToSeekPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/interaction/seekbar/HideSeekbarPatchKt {
|
||||
public static final fun getHideSeekbarPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/interaction/seekbar/SeekbarPatchKt {
|
||||
public static final fun getSeekbarPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/interaction/seekbar/SeekbarThumbnailsPatchKt {
|
||||
public static final fun getSeekbarThumbnailsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package app.revanced.patches.angulus.ads
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
// Keywords to search for in case the method name changes:
|
||||
// dailyMeasurementCount
|
||||
// lastMeasurementDate
|
||||
// dailyAdResetCount
|
||||
// MeasurementPrefs
|
||||
|
||||
// This fingerprint targets a method that returns the daily measurement count.
|
||||
// This method is used to determine if the user has reached the daily limit of measurements.
|
||||
internal val getDailyMeasurementCountFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PRIVATE)
|
||||
returns("I")
|
||||
strings("dailyMeasurementCount")
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package app.revanced.patches.angulus.ads
|
||||
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.util.returnEarly
|
||||
|
||||
@Suppress("unused")
|
||||
val angulusPatch = bytecodePatch(name = "Hide ads") {
|
||||
compatibleWith("com.drinkplusplus.angulus")
|
||||
|
||||
execute {
|
||||
// Always return 0 as the daily measurement count.
|
||||
getDailyMeasurementCountFingerprint.method.returnEarly()
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ val getDeviceIdPatch = bytecodePatch(
|
||||
) {
|
||||
dependsOn(signatureDetectionPatch)
|
||||
|
||||
compatibleWith("com.microblink.photomath"("8.37.0"))
|
||||
compatibleWith("com.microblink.photomath")
|
||||
|
||||
execute {
|
||||
getDeviceIdFingerprint.method.replaceInstructions(
|
||||
|
||||
@@ -14,5 +14,5 @@ internal val checkSignatureFingerprint = fingerprint {
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT,
|
||||
)
|
||||
strings("signatures")
|
||||
}
|
||||
strings("SHA")
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ val hideUpdatePopupPatch = bytecodePatch(
|
||||
) {
|
||||
dependsOn(signatureDetectionPatch)
|
||||
|
||||
compatibleWith("com.microblink.photomath"("8.32.0"))
|
||||
compatibleWith("com.microblink.photomath")
|
||||
|
||||
execute {
|
||||
hideUpdatePopupFingerprint.method.addInstructions(
|
||||
|
||||
@@ -11,7 +11,7 @@ val unlockPlusPatch = bytecodePatch(
|
||||
) {
|
||||
dependsOn(signatureDetectionPatch, enableBookpointPatch)
|
||||
|
||||
compatibleWith("com.microblink.photomath"("8.37.0"))
|
||||
compatibleWith("com.microblink.photomath")
|
||||
|
||||
execute {
|
||||
isPlusUnlockedFingerprint.method.addInstructions(
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package app.revanced.patches.protonmail.signature
|
||||
|
||||
import app.revanced.patcher.patch.PatchException
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.util.findElementByAttributeValue
|
||||
import java.io.File
|
||||
|
||||
@Suppress("unused")
|
||||
val removeSentFromSignaturePatch = resourcePatch(
|
||||
name = "Remove 'Sent from' signature",
|
||||
description = "Removes the 'Sent from Proton Mail mobile' signature from emails.",
|
||||
) {
|
||||
compatibleWith("ch.protonmail.android")
|
||||
|
||||
execute {
|
||||
val stringResourceFiles = mutableListOf<File>()
|
||||
|
||||
get("res").walk().forEach { file ->
|
||||
if (file.isFile && file.name.equals("strings.xml", ignoreCase = true)) {
|
||||
stringResourceFiles.add(file)
|
||||
}
|
||||
}
|
||||
|
||||
var foundString = false
|
||||
stringResourceFiles.forEach { filePath ->
|
||||
document(filePath.absolutePath).use { document ->
|
||||
var node = document.documentElement.childNodes.findElementByAttributeValue(
|
||||
"name",
|
||||
"mail_settings_identity_mobile_footer_default_free"
|
||||
)
|
||||
|
||||
// String is not localized in all languages.
|
||||
if (node != null) {
|
||||
node.textContent = ""
|
||||
foundString = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundString) throw PatchException("Could not find 'sent from' string in resources")
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,8 @@ import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.BasePreference
|
||||
import app.revanced.patches.shared.misc.settings.preference.IntentPreference
|
||||
import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
|
||||
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference
|
||||
import app.revanced.util.ResourceGroup
|
||||
import app.revanced.util.copyResources
|
||||
import app.revanced.util.getNode
|
||||
@@ -36,14 +38,14 @@ fun settingsPatch (
|
||||
execute {
|
||||
copyResources(
|
||||
"settings",
|
||||
ResourceGroup("xml", "revanced_prefs.xml"),
|
||||
ResourceGroup("xml", "revanced_prefs.xml", "revanced_prefs_icons.xml"),
|
||||
)
|
||||
|
||||
addResources("shared", "misc.settings.settingsResourcePatch")
|
||||
}
|
||||
|
||||
finalize {
|
||||
fun Node.addPreference(preference: BasePreference, prepend: Boolean = false) {
|
||||
fun Node.addPreference(preference: BasePreference) {
|
||||
preference.serialize(ownerDocument) { resource ->
|
||||
// TODO: Currently, resources can only be added to "values", which may not be the correct place.
|
||||
// It may be necessary to ask for the desired resourceValue in the future.
|
||||
@@ -61,7 +63,7 @@ fun settingsPatch (
|
||||
val preferenceFileName = "res/xml/$fileName.xml"
|
||||
if (get(preferenceFileName).exists()) {
|
||||
document(preferenceFileName).use { document ->
|
||||
document.getNode("PreferenceScreen").addPreference(intent, true)
|
||||
document.getNode("PreferenceScreen").addPreference(intent)
|
||||
}
|
||||
modified = true
|
||||
}
|
||||
@@ -71,6 +73,30 @@ fun settingsPatch (
|
||||
}
|
||||
|
||||
// Add all preferences to the ReVanced fragment.
|
||||
document("res/xml/revanced_prefs_icons.xml").use { document ->
|
||||
val revancedPreferenceScreenNode = document.getNode("PreferenceScreen")
|
||||
preferences.forEach { revancedPreferenceScreenNode.addPreference(it) }
|
||||
}
|
||||
|
||||
// Because the icon preferences require declaring a layout resource,
|
||||
// there is no easy way to change to the Android default preference layout
|
||||
// after the preference is inflated.
|
||||
// Using two different preference files is the simplest and most robust solution.
|
||||
fun removeIconsAndLayout(preferences: Collection<BasePreference>) {
|
||||
preferences.forEach { preference ->
|
||||
preference.icon = null
|
||||
preference.layout = null
|
||||
|
||||
if (preference is PreferenceCategory) {
|
||||
removeIconsAndLayout(preference.preferences)
|
||||
}
|
||||
if (preference is PreferenceScreenPreference) {
|
||||
removeIconsAndLayout(preference.preferences)
|
||||
}
|
||||
}
|
||||
}
|
||||
removeIconsAndLayout(preferences)
|
||||
|
||||
document("res/xml/revanced_prefs.xml").use { document ->
|
||||
val revancedPreferenceScreenNode = document.getNode("PreferenceScreen")
|
||||
preferences.forEach { revancedPreferenceScreenNode.addPreference(it) }
|
||||
|
||||
@@ -19,10 +19,17 @@ abstract class BasePreference(
|
||||
val key: String? = null,
|
||||
val titleKey: String? = "${key}_title",
|
||||
val summaryKey: String? = "${key}_summary",
|
||||
val icon: String? = null,
|
||||
val layout: String? = null,
|
||||
icon: String? = null,
|
||||
layout: String? = null,
|
||||
val tag: String
|
||||
) {
|
||||
|
||||
var icon: String? = icon
|
||||
internal set
|
||||
|
||||
var layout: String? = layout
|
||||
internal set
|
||||
|
||||
/**
|
||||
* Serialize preference element to XML.
|
||||
* Overriding methods should invoke super and operate on its return value.
|
||||
|
||||
@@ -10,6 +10,7 @@ import app.revanced.patcher.patch.BytecodePatchContext
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.util.findFreeRegister
|
||||
import app.revanced.util.findInstructionIndicesReversedOrThrow
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
@@ -94,14 +95,14 @@ fun spoofVideoStreamsPatch(
|
||||
getReference<MethodReference>()?.name == "newUrlRequestBuilder"
|
||||
}
|
||||
val urlRegister = getInstruction<FiveRegisterInstruction>(newRequestBuilderIndex).registerD
|
||||
val freeRegister = getInstruction<OneRegisterInstruction>(newRequestBuilderIndex + 1).registerA
|
||||
val freeRegister = findFreeRegister(newRequestBuilderIndex, urlRegister)
|
||||
|
||||
addInstructions(
|
||||
newRequestBuilderIndex,
|
||||
"""
|
||||
move-object v$freeRegister, p1
|
||||
invoke-static { v$urlRegister, v$freeRegister }, $EXTENSION_CLASS_DESCRIPTOR->fetchStreams(Ljava/lang/String;Ljava/util/Map;)V
|
||||
""",
|
||||
move-object v$freeRegister, p1
|
||||
invoke-static { v$urlRegister, v$freeRegister }, $EXTENSION_CLASS_DESCRIPTOR->fetchStreams(Ljava/lang/String;Ljava/util/Map;)V
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package app.revanced.patches.spotify.layout.theme
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.util.*
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/spotify/layout/theme/CustomThemePatch;"
|
||||
|
||||
internal val customThemeByteCodePatch = bytecodePatch {
|
||||
dependsOn(sharedExtensionPatch)
|
||||
|
||||
val backgroundColor by spotifyBackgroundColor
|
||||
val backgroundColorSecondary by spotifyBackgroundColorSecondary
|
||||
|
||||
execute {
|
||||
fun MutableMethod.addColorChangeInstructions(literal: Long, colorString: String) {
|
||||
val index = indexOfFirstLiteralInstructionOrThrow(literal)
|
||||
val register = getInstruction<OneRegisterInstruction>(index).registerA
|
||||
|
||||
addInstructions(
|
||||
index + 1,
|
||||
"""
|
||||
const-string v$register, "$colorString"
|
||||
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getThemeColor(Ljava/lang/String;)J
|
||||
move-result-wide v$register
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
val encoreColorsClassName = with(encoreThemeFingerprint) {
|
||||
// Find index of the first static get found after the string constant.
|
||||
val encoreColorsFieldReferenceIndex = originalMethod.indexOfFirstInstructionOrThrow(
|
||||
stringMatches!!.first().index,
|
||||
Opcode.SGET_OBJECT
|
||||
)
|
||||
|
||||
originalMethod.getInstruction(encoreColorsFieldReferenceIndex)
|
||||
.getReference<FieldReference>()!!.definingClass
|
||||
}
|
||||
|
||||
val encoreColorsConstructorFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
|
||||
custom { method, classDef ->
|
||||
classDef.type == encoreColorsClassName &&
|
||||
method.containsLiteralInstruction(PLAYLIST_BACKGROUND_COLOR_LITERAL)
|
||||
}
|
||||
}
|
||||
|
||||
encoreColorsConstructorFingerprint.method.apply {
|
||||
// Playlist song list background color.
|
||||
addColorChangeInstructions(PLAYLIST_BACKGROUND_COLOR_LITERAL, backgroundColor!!)
|
||||
|
||||
// Share menu background color.
|
||||
addColorChangeInstructions(SHARE_MENU_BACKGROUND_COLOR_LITERAL, backgroundColorSecondary!!)
|
||||
}
|
||||
|
||||
homeCategoryPillColorsFingerprint.method.apply {
|
||||
// Home category pills background color.
|
||||
addColorChangeInstructions(HOME_CATEGORY_PILL_COLOR_LITERAL, backgroundColorSecondary!!)
|
||||
}
|
||||
|
||||
settingsHeaderColorFingerprint.method.apply {
|
||||
// Settings header background color.
|
||||
addColorChangeInstructions(SETTINGS_HEADER_COLOR_LITERAL, backgroundColorSecondary!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,59 +1,24 @@
|
||||
@file:Suppress("NAME_SHADOWING")
|
||||
|
||||
package app.revanced.patches.spotify.layout.theme
|
||||
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import org.w3c.dom.Element
|
||||
|
||||
@Suppress("unused")
|
||||
val customThemePatch = resourcePatch(
|
||||
name = "Custom theme",
|
||||
description = "Applies a custom theme.",
|
||||
description = "Applies a custom theme (defaults to amoled black)",
|
||||
use = false,
|
||||
) {
|
||||
compatibleWith("com.spotify.music")
|
||||
|
||||
val backgroundColor by stringOption(
|
||||
key = "backgroundColor",
|
||||
default = "@android:color/black",
|
||||
title = "Primary background color",
|
||||
description = "The background color. Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
dependsOn(customThemeByteCodePatch)
|
||||
|
||||
val backgroundColorSecondary by stringOption(
|
||||
key = "backgroundColorSecondary",
|
||||
default = "#ff282828",
|
||||
title = "Secondary background color",
|
||||
description = "The secondary background color. (e.g. search box, artist & podcast). Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
|
||||
val accentColor by stringOption(
|
||||
key = "accentColor",
|
||||
default = "#ff1ed760",
|
||||
title = "Accent color",
|
||||
description = "The accent color ('Spotify green' by default). Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
|
||||
val accentColorPressed by stringOption(
|
||||
key = "accentColorPressed",
|
||||
default = "#ff169c46",
|
||||
title = "Pressed dark theme accent color",
|
||||
description =
|
||||
"The color when accented buttons are pressed, by default slightly darker than accent. " +
|
||||
"Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
val backgroundColor by spotifyBackgroundColor()
|
||||
val backgroundColorSecondary by spotifyBackgroundColorSecondary()
|
||||
val accentColor by spotifyAccentColor()
|
||||
val accentColorPressed by spotifyAccentColorPressed()
|
||||
|
||||
execute {
|
||||
val backgroundColor = backgroundColor!!
|
||||
val backgroundColorSecondary = backgroundColorSecondary!!
|
||||
val accentColor = accentColor!!
|
||||
val accentColorPressed = accentColorPressed!!
|
||||
|
||||
document("res/values/colors.xml").use { document ->
|
||||
val resourcesNode = document.getElementsByTagName("resources").item(0) as Element
|
||||
|
||||
@@ -61,20 +26,37 @@ val customThemePatch = resourcePatch(
|
||||
for (i in 0 until childNodes.length) {
|
||||
val node = childNodes.item(i) as? Element ?: continue
|
||||
|
||||
node.textContent =
|
||||
when (node.getAttribute("name")) {
|
||||
"dark_base_background_elevated_base", "design_dark_default_color_background",
|
||||
"design_dark_default_color_surface", "gray_7", "gray_background", "gray_layer",
|
||||
"sthlm_blk",
|
||||
node.textContent = when (node.getAttribute("name")) {
|
||||
// Gradient next to user photo and "All" in home page
|
||||
"dark_base_background_base",
|
||||
// Main background
|
||||
"gray_7",
|
||||
// Left sidebar background in tablet mode
|
||||
"gray_10",
|
||||
// Add account, Settings and privacy, View Profile left sidebar background
|
||||
"dark_base_background_elevated_base",
|
||||
// Song/player background
|
||||
"bg_gradient_start_color", "bg_gradient_end_color",
|
||||
// Login screen
|
||||
"sthlm_blk", "sthlm_blk_grad_start", "stockholm_black",
|
||||
// Misc
|
||||
"image_placeholder_color",
|
||||
-> backgroundColor
|
||||
|
||||
"gray_15" -> backgroundColorSecondary
|
||||
// Track credits, merch in song player
|
||||
"track_credits_card_bg", "benefit_list_default_color", "merch_card_background",
|
||||
// Playlist list background in home page
|
||||
"opacity_white_10",
|
||||
// About artist background in song player
|
||||
"gray_15",
|
||||
// What's New pills background
|
||||
"dark_base_background_tinted_highlight"
|
||||
-> backgroundColorSecondary
|
||||
|
||||
"dark_brightaccent_background_base", "dark_base_text_brightaccent", "green_light" -> accentColor
|
||||
|
||||
"dark_brightaccent_background_press" -> accentColorPressed
|
||||
else -> continue
|
||||
}
|
||||
"dark_brightaccent_background_base", "dark_base_text_brightaccent", "green_light" -> accentColor
|
||||
"dark_brightaccent_background_press" -> accentColorPressed
|
||||
else -> continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package app.revanced.patches.spotify.layout.theme
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.util.containsLiteralInstruction
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal val encoreThemeFingerprint = fingerprint {
|
||||
strings("Encore theme was not provided.") // Partial string match.
|
||||
}
|
||||
|
||||
internal const val SETTINGS_HEADER_COLOR_LITERAL = 0xFF282828
|
||||
internal const val HOME_CATEGORY_PILL_COLOR_LITERAL = 0xFF333333
|
||||
internal const val PLAYLIST_BACKGROUND_COLOR_LITERAL = 0xFF121212
|
||||
internal const val SHARE_MENU_BACKGROUND_COLOR_LITERAL = 0xFF1F1F1F
|
||||
|
||||
internal val homeCategoryPillColorsFingerprint = fingerprint{
|
||||
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
|
||||
custom { method, _ ->
|
||||
method.containsLiteralInstruction(HOME_CATEGORY_PILL_COLOR_LITERAL) &&
|
||||
method.containsLiteralInstruction(0x33000000)
|
||||
}
|
||||
}
|
||||
|
||||
internal val settingsHeaderColorFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
|
||||
custom { method, _ ->
|
||||
method.containsLiteralInstruction(SETTINGS_HEADER_COLOR_LITERAL) &&
|
||||
method.containsLiteralInstruction(0)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package app.revanced.patches.spotify.layout.theme
|
||||
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
|
||||
internal val spotifyBackgroundColor = stringOption(
|
||||
key = "backgroundColor",
|
||||
default = "@android:color/black",
|
||||
title = "Primary background color",
|
||||
description = "The background color. Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
|
||||
internal val spotifyBackgroundColorSecondary = stringOption(
|
||||
key = "backgroundColorSecondary",
|
||||
default = "#FF121212",
|
||||
title = "Secondary background color",
|
||||
description = "The secondary background color. (e.g. playlist list, player arist, credits). Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
|
||||
internal val spotifyAccentColor = stringOption(
|
||||
key = "accentColor",
|
||||
default = "#FF1ED760",
|
||||
title = "Accent color",
|
||||
description = "The accent color ('Spotify green' by default). Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
|
||||
internal val spotifyAccentColorPressed = stringOption(
|
||||
key = "accentColorPressed",
|
||||
default = "#FF169C46",
|
||||
title = "Pressed dark theme accent color",
|
||||
description =
|
||||
"The color when accented buttons are pressed, by default slightly darker than accent. Can be a hex color or a resource reference.",
|
||||
required = true,
|
||||
)
|
||||
@@ -1,16 +1,16 @@
|
||||
package app.revanced.patches.spotify.misc
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal val accountAttributeFingerprint = fingerprint {
|
||||
custom { _, c -> c.endsWith("internal/AccountAttribute;") }
|
||||
custom { _, classDef -> classDef.endsWith("internal/AccountAttribute;") }
|
||||
}
|
||||
|
||||
internal val productStateProtoFingerprint = fingerprint {
|
||||
returns("Ljava/util/Map;")
|
||||
custom { _, classDef ->
|
||||
classDef.endsWith("ProductStateProto;")
|
||||
}
|
||||
custom { _, classDef -> classDef.endsWith("ProductStateProto;") }
|
||||
}
|
||||
|
||||
internal val buildQueryParametersFingerprint = fingerprint {
|
||||
@@ -21,3 +21,17 @@ internal val contextMenuExperimentsFingerprint = fingerprint {
|
||||
parameters("L")
|
||||
strings("remove_ads_upsell_enabled")
|
||||
}
|
||||
|
||||
internal val homeSectionFingerprint = fingerprint {
|
||||
custom { _, classDef -> classDef.endsWith("homeapi/proto/Section;") }
|
||||
}
|
||||
|
||||
internal val protobufListsFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
|
||||
custom { method, _ -> method.name == "emptyProtobufList" }
|
||||
}
|
||||
|
||||
internal val homeStructureFingerprint = fingerprint {
|
||||
opcodes(Opcode.IGET_OBJECT, Opcode.RETURN_OBJECT)
|
||||
custom { _, classDef -> classDef.endsWith("homeapi/proto/HomeStructure;") }
|
||||
}
|
||||
|
||||
@@ -11,8 +11,10 @@ import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/DisablePreciseSeekingGesturePatch;"
|
||||
|
||||
val disablePreciseSeekingGesturePatch = bytecodePatch(
|
||||
name = "Disable precise seeking gesture",
|
||||
description = "Adds an option to disable precise seeking when swiping up on the seekbar.",
|
||||
) {
|
||||
dependsOn(
|
||||
@@ -21,25 +23,12 @@ val disablePreciseSeekingGesturePatch = bytecodePatch(
|
||||
addResourcesPatch,
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
),
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "interaction.seekbar.disablePreciseSeekingGesturePatch")
|
||||
|
||||
PreferenceScreen.SEEKBAR.addPreferences(
|
||||
SwitchPreference("revanced_disable_precise_seeking_gesture"),
|
||||
)
|
||||
val extensionMethodDescriptor =
|
||||
"Lapp/revanced/extension/youtube/patches/DisablePreciseSeekingGesturePatch;"
|
||||
|
||||
allowSwipingUpGestureFingerprint.match(
|
||||
swipingUpGestureParentFingerprint.originalClassDef,
|
||||
@@ -47,7 +36,7 @@ val disablePreciseSeekingGesturePatch = bytecodePatch(
|
||||
addInstructionsWithLabels(
|
||||
0,
|
||||
"""
|
||||
invoke-static { }, $extensionMethodDescriptor->isGestureDisabled()Z
|
||||
invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->isGestureDisabled()Z
|
||||
move-result v0
|
||||
if-eqz v0, :disabled
|
||||
return-void
|
||||
@@ -62,7 +51,7 @@ val disablePreciseSeekingGesturePatch = bytecodePatch(
|
||||
addInstructionsWithLabels(
|
||||
0,
|
||||
"""
|
||||
invoke-static { }, $extensionMethodDescriptor->isGestureDisabled()Z
|
||||
invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->isGestureDisabled()Z
|
||||
move-result v0
|
||||
if-eqz v0, :disabled
|
||||
const/4 v0, 0x0
|
||||
|
||||
@@ -15,7 +15,6 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
val enableSeekbarTappingPatch = bytecodePatch(
|
||||
name = "Enable tap to seek",
|
||||
description = "Adds an option to enable tap to seek on the seekbar of the video player.",
|
||||
) {
|
||||
dependsOn(
|
||||
@@ -24,17 +23,6 @@ val enableSeekbarTappingPatch = bytecodePatch(
|
||||
addResourcesPatch,
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
),
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "interaction.seekbar.enableSeekbarTappingPatch")
|
||||
|
||||
|
||||
@@ -18,11 +18,9 @@ import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
internal const val EXTENSION_METHOD_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/SlideToSeekPatch;->isSlideToSeekDisabled(Z)Z"
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/SlideToSeekPatch;"
|
||||
|
||||
val enableSlideToSeekPatch = bytecodePatch(
|
||||
name = "Enable slide to seek",
|
||||
description = "Adds an option to enable slide to seek " +
|
||||
"instead of playing at 2x speed when pressing and holding in the video player."
|
||||
) {
|
||||
@@ -33,17 +31,6 @@ val enableSlideToSeekPatch = bytecodePatch(
|
||||
versionCheckPatch,
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
),
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "interaction.seekbar.enableSlideToSeekPatch")
|
||||
|
||||
@@ -59,6 +46,8 @@ val enableSlideToSeekPatch = bytecodePatch(
|
||||
val checkReference = slideToSeekFingerprint.method.getInstruction(checkIndex)
|
||||
.getReference<MethodReference>()!!
|
||||
|
||||
val extensionMethodDescriptor = "$EXTENSION_CLASS_DESCRIPTOR->isSlideToSeekDisabled(Z)Z"
|
||||
|
||||
// A/B check method was only called on this class.
|
||||
slideToSeekFingerprint.classDef.methods.forEach { method ->
|
||||
method.findInstructionIndicesReversed {
|
||||
@@ -70,7 +59,7 @@ val enableSlideToSeekPatch = bytecodePatch(
|
||||
addInstructions(
|
||||
index + 2,
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_METHOD_DESCRIPTOR
|
||||
invoke-static { v$register }, $extensionMethodDescriptor
|
||||
move-result v$register
|
||||
""",
|
||||
)
|
||||
@@ -95,7 +84,7 @@ val enableSlideToSeekPatch = bytecodePatch(
|
||||
addInstructions(
|
||||
targetIndex + 1,
|
||||
"""
|
||||
invoke-static { v$targetRegister }, $EXTENSION_METHOD_DESCRIPTOR
|
||||
invoke-static { v$targetRegister }, $extensionMethodDescriptor
|
||||
move-result v$targetRegister
|
||||
""",
|
||||
)
|
||||
@@ -109,7 +98,7 @@ val enableSlideToSeekPatch = bytecodePatch(
|
||||
addInstructions(
|
||||
insertIndex,
|
||||
"""
|
||||
invoke-static { v$targetRegister }, $EXTENSION_METHOD_DESCRIPTOR
|
||||
invoke-static { v$targetRegister }, $extensionMethodDescriptor
|
||||
move-result v$targetRegister
|
||||
""",
|
||||
)
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package app.revanced.patches.youtube.interaction.seekbar
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.layout.seekbar.seekbarColorPatch
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import app.revanced.patches.youtube.shared.seekbarFingerprint
|
||||
import app.revanced.patches.youtube.shared.seekbarOnDrawFingerprint
|
||||
|
||||
val hideSeekbarPatch = bytecodePatch(
|
||||
description = "Adds an option to hide the seekbar.",
|
||||
) {
|
||||
dependsOn(
|
||||
sharedExtensionPatch,
|
||||
settingsPatch,
|
||||
seekbarColorPatch,
|
||||
addResourcesPatch,
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "layout.hide.seekbar.hideSeekbarPatch")
|
||||
|
||||
PreferenceScreen.SEEKBAR.addPreferences(
|
||||
SwitchPreference("revanced_hide_seekbar"),
|
||||
SwitchPreference("revanced_hide_seekbar_thumbnail"),
|
||||
)
|
||||
|
||||
seekbarOnDrawFingerprint.match(seekbarFingerprint.originalClassDef).method.addInstructionsWithLabels(
|
||||
0,
|
||||
"""
|
||||
const/4 v0, 0x0
|
||||
invoke-static { }, Lapp/revanced/extension/youtube/patches/HideSeekbarPatch;->hideSeekbar()Z
|
||||
move-result v0
|
||||
if-eqz v0, :hide_seekbar
|
||||
return-void
|
||||
:hide_seekbar
|
||||
nop
|
||||
""",
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package app.revanced.patches.youtube.interaction.seekbar
|
||||
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
|
||||
@Suppress("unused")
|
||||
val seekbarPatch = bytecodePatch(
|
||||
name = "Seekbar",
|
||||
description = "Adds options to disable precise seeking when swiping up on the seekbar, " +
|
||||
"slide to seek instead of playing at 2x speed when pressing and holding, " +
|
||||
"tapping the player seekbar to seek, " +
|
||||
"and hiding the video player seekbar."
|
||||
) {
|
||||
dependsOn(
|
||||
disablePreciseSeekingGesturePatch,
|
||||
enableSlideToSeekPatch,
|
||||
enableSeekbarTappingPatch,
|
||||
hideSeekbarPatch,
|
||||
seekbarThumbnailsPatch
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.layout.seekbar.fullscreenSeekbarThumbnailsFingerprint
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.playservice.is_19_17_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.is_20_09_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
|
||||
@@ -17,7 +18,6 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/SeekbarThumbnailsPatch;"
|
||||
|
||||
val seekbarThumbnailsPatch = bytecodePatch(
|
||||
name = "Seekbar thumbnails",
|
||||
description = "Adds an option to use high quality fullscreen seekbar thumbnails. " +
|
||||
"Patching 19.16.39 adds an option to restore old seekbar thumbnails.",
|
||||
) {
|
||||
@@ -27,18 +27,13 @@ val seekbarThumbnailsPatch = bytecodePatch(
|
||||
versionCheckPatch,
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
)
|
||||
)
|
||||
|
||||
execute {
|
||||
if (is_20_09_or_greater) {
|
||||
// High quality seekbar thumbnails is partially broken in 20.09
|
||||
// and the code is completely removed in 20.10+
|
||||
return@execute
|
||||
}
|
||||
|
||||
addResources("youtube", "layout.seekbar.seekbarThumbnailsPatch")
|
||||
|
||||
if (is_19_17_or_greater) {
|
||||
|
||||
@@ -20,11 +20,10 @@ import app.revanced.patches.shared.misc.settings.preference.*
|
||||
import app.revanced.patches.youtube.misc.litho.filter.addLithoFilter
|
||||
import app.revanced.patches.youtube.misc.litho.filter.lithoFilterPatch
|
||||
import app.revanced.patches.youtube.misc.navigation.navigationBarHookPatch
|
||||
import app.revanced.patches.youtube.misc.playservice.is_19_47_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.is_20_07_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import app.revanced.util.findFreeRegister
|
||||
import app.revanced.util.findInstructionIndicesReversedOrThrow
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
@@ -123,7 +122,6 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
addResourcesPatch,
|
||||
hideLayoutComponentsResourcePatch,
|
||||
navigationBarHookPatch,
|
||||
versionCheckPatch
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
@@ -254,17 +252,16 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
(if (is_20_07_or_greater) parseElementFromBufferFingerprint
|
||||
else parseElementFromBufferLegacyFingerprint).let {
|
||||
it.method.apply {
|
||||
// Target code is a mess with a lot of register moves.
|
||||
// There is no simple way to find a free register for all versions so this is hard coded.
|
||||
val freeRegister = if (is_19_47_or_greater) 6 else 0
|
||||
val byteArrayParameter = "p3"
|
||||
val startIndex = it.patternMatch!!.startIndex
|
||||
val conversionContextRegister = getInstruction<TwoRegisterInstruction>(startIndex).registerA
|
||||
val returnEmptyComponentInstruction = instructions.last { it.opcode == Opcode.INVOKE_STATIC }
|
||||
val returnEmptyComponentRegister = (returnEmptyComponentInstruction as FiveRegisterInstruction).registerC
|
||||
val insertIndex = startIndex + 1
|
||||
val freeRegister = findFreeRegister(insertIndex, conversionContextRegister, returnEmptyComponentRegister)
|
||||
|
||||
addInstructionsWithLabels(
|
||||
startIndex + 1,
|
||||
insertIndex,
|
||||
"""
|
||||
invoke-static { v$conversionContextRegister, $byteArrayParameter }, $LAYOUT_COMPONENTS_FILTER_CLASS_DESCRIPTOR->filterMixPlaylists(Ljava/lang/Object;[B)Z
|
||||
move-result v$freeRegister
|
||||
@@ -272,7 +269,7 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
move-object v$returnEmptyComponentRegister, p1 # Required for 19.47
|
||||
goto :return_empty_component
|
||||
:show
|
||||
const/4 v$freeRegister, 0x0 # Restore register, required for 19.16
|
||||
nop
|
||||
""",
|
||||
ExternalLabel("return_empty_component", returnEmptyComponentInstruction),
|
||||
)
|
||||
|
||||
@@ -1,58 +1,11 @@
|
||||
package app.revanced.patches.youtube.layout.hide.seekbar
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.layout.seekbar.seekbarColorPatch
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import app.revanced.patches.youtube.shared.seekbarFingerprint
|
||||
import app.revanced.patches.youtube.shared.seekbarOnDrawFingerprint
|
||||
import app.revanced.patches.youtube.interaction.seekbar.hideSeekbarPatch
|
||||
|
||||
val hideSeekbarPatch = bytecodePatch(
|
||||
name = "Hide seekbar",
|
||||
description = "Adds an option to hide the seekbar.",
|
||||
) {
|
||||
@Deprecated("Patch was moved to app.revanced.patches.youtube.interaction.seekbar")
|
||||
val hideSeekbarPatch = bytecodePatch {
|
||||
dependsOn(
|
||||
sharedExtensionPatch,
|
||||
settingsPatch,
|
||||
seekbarColorPatch,
|
||||
addResourcesPatch,
|
||||
hideSeekbarPatch
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
),
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "layout.hide.seekbar.hideSeekbarPatch")
|
||||
|
||||
PreferenceScreen.SEEKBAR.addPreferences(
|
||||
SwitchPreference("revanced_hide_seekbar"),
|
||||
SwitchPreference("revanced_hide_seekbar_thumbnail"),
|
||||
)
|
||||
|
||||
seekbarOnDrawFingerprint.match(seekbarFingerprint.originalClassDef).method.addInstructionsWithLabels(
|
||||
0,
|
||||
"""
|
||||
const/4 v0, 0x0
|
||||
invoke-static { }, Lapp/revanced/extension/youtube/patches/HideSeekbarPatch;->hideSeekbar()Z
|
||||
move-result v0
|
||||
if-eqz v0, :hide_seekbar
|
||||
return-void
|
||||
:hide_seekbar
|
||||
nop
|
||||
""",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,8 @@ val returnYouTubeDislikePatch = bytecodePatch(
|
||||
key = "revanced_settings_screen_09",
|
||||
titleKey = "revanced_ryd_settings_title",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_09_ryd",
|
||||
layout = "@layout/preference_with_icon",
|
||||
intent = newIntent("revanced_ryd_settings_intent"),
|
||||
),
|
||||
)
|
||||
@@ -179,9 +181,6 @@ val returnYouTubeDislikePatch = bytecodePatch(
|
||||
|
||||
// region Hook rolling numbers.
|
||||
|
||||
// Do this last to allow patching old unsupported versions (if the user really wants),
|
||||
// On older unsupported version this will fail to match and throw an exception,
|
||||
// but everything will still work correctly anyway.
|
||||
val dislikesIndex = rollingNumberSetterFingerprint.patternMatch!!.endIndex
|
||||
|
||||
rollingNumberSetterFingerprint.method.apply {
|
||||
|
||||
@@ -84,31 +84,14 @@ internal val playerLinearGradientFingerprint = fingerprint {
|
||||
}
|
||||
|
||||
/**
|
||||
* 19.46 - 19.47
|
||||
* 19.25 - 19.47
|
||||
*/
|
||||
internal val playerLinearGradientLegacy1946Fingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
parameters("I", "I", "I", "I")
|
||||
internal val playerLinearGradientLegacyFingerprint = fingerprint {
|
||||
returns("V")
|
||||
opcodes(
|
||||
Opcode.FILLED_NEW_ARRAY,
|
||||
Opcode.MOVE_RESULT_OBJECT
|
||||
)
|
||||
custom { method, _ ->
|
||||
method.name == "setBounds" && method.containsLiteralInstruction(ytYoutubeMagentaColorId)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 19.25 - 19.45
|
||||
*/
|
||||
internal val playerLinearGradientLegacy1925Fingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
|
||||
parameters("Landroid/content/Context;")
|
||||
opcodes(
|
||||
Opcode.FILLED_NEW_ARRAY,
|
||||
Opcode.MOVE_RESULT_OBJECT
|
||||
)
|
||||
literal { ytYoutubeMagentaColorId }
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.seekbar
|
||||
|
||||
import app.revanced.patcher.Fingerprint
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@@ -310,14 +311,15 @@ val seekbarColorPatch = bytecodePatch(
|
||||
"""
|
||||
)
|
||||
|
||||
val playerFingerprint =
|
||||
if (is_19_49_or_greater) {
|
||||
playerLinearGradientFingerprint
|
||||
} else if (is_19_46_or_greater) {
|
||||
playerLinearGradientLegacy1946Fingerprint
|
||||
} else {
|
||||
playerLinearGradientLegacy1925Fingerprint
|
||||
}
|
||||
val playerFingerprint: Fingerprint
|
||||
val checkGradientCoordinates: Boolean
|
||||
if (is_19_49_or_greater) {
|
||||
playerFingerprint = playerLinearGradientFingerprint
|
||||
checkGradientCoordinates = true
|
||||
} else {
|
||||
playerFingerprint = playerLinearGradientLegacyFingerprint
|
||||
checkGradientCoordinates = false
|
||||
}
|
||||
|
||||
playerFingerprint.let {
|
||||
it.method.apply {
|
||||
@@ -326,10 +328,17 @@ val seekbarColorPatch = bytecodePatch(
|
||||
|
||||
addInstructions(
|
||||
index + 1,
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getPlayerLinearGradient([I)[I
|
||||
move-result-object v$register
|
||||
"""
|
||||
if (checkGradientCoordinates) {
|
||||
"""
|
||||
invoke-static { v$register, p0, p1 }, $EXTENSION_CLASS_DESCRIPTOR->getPlayerLinearGradient([III)[I
|
||||
move-result-object v$register
|
||||
"""
|
||||
} else {
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getPlayerLinearGradient([I)[I
|
||||
move-result-object v$register
|
||||
"""
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,9 +16,9 @@ import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
|
||||
import app.revanced.util.findFreeRegister
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
@@ -106,11 +106,12 @@ val openShortsInRegularPlayerPatch = bytecodePatch(
|
||||
getReference<MethodReference>()?.returnType ==
|
||||
"Lcom/google/android/libraries/youtube/player/model/PlaybackStartDescriptor;"
|
||||
}
|
||||
val freeRegister = getInstruction<FiveRegisterInstruction>(index).registerC
|
||||
val playbackStartRegister = getInstruction<OneRegisterInstruction>(index + 1).registerA
|
||||
val insertIndex = index + 2
|
||||
val freeRegister = findFreeRegister(insertIndex, playbackStartRegister)
|
||||
|
||||
addInstructionsWithLabels(
|
||||
index + 2,
|
||||
insertIndex,
|
||||
extensionInstructions(playbackStartRegister, freeRegister)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ private val sponsorBlockResourcePatch = resourcePatch {
|
||||
key = "revanced_settings_screen_10",
|
||||
titleKey = "revanced_sb_settings_title",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_10_sb",
|
||||
layout = "@layout/preference_with_icon",
|
||||
intent = newIntent("revanced_sb_settings_intent"),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
package app.revanced.patches.youtube.layout.startupshortsreset
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
@@ -12,11 +10,12 @@ import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.playservice.is_20_02_or_greater
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import app.revanced.util.addInstructionsAtControlFlowLabel
|
||||
import app.revanced.util.findFreeRegister
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import app.revanced.util.indexOfFirstInstructionReversedOrThrow
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
@@ -80,23 +79,19 @@ val disableResumingShortsOnStartupPatch = bytecodePatch(
|
||||
reference?.definingClass == "Lcom/google/common/util/concurrent/ListenableFuture;" &&
|
||||
reference.name == "isDone"
|
||||
}
|
||||
val originalInstructionRegister =
|
||||
getInstruction<FiveRegisterInstruction>(listenableInstructionIndex).registerC
|
||||
val freeRegister =
|
||||
getInstruction<OneRegisterInstruction>(listenableInstructionIndex + 1).registerA
|
||||
val freeRegister = findFreeRegister(listenableInstructionIndex)
|
||||
|
||||
addInstructionsWithLabels(
|
||||
listenableInstructionIndex + 1,
|
||||
addInstructionsAtControlFlowLabel(
|
||||
listenableInstructionIndex,
|
||||
"""
|
||||
invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->disableResumingStartupShortsPlayer()Z
|
||||
move-result v$freeRegister
|
||||
if-eqz v$freeRegister, :show
|
||||
return-void
|
||||
:show
|
||||
invoke-interface {v$originalInstructionRegister}, Lcom/google/common/util/concurrent/ListenableFuture;->isDone()Z
|
||||
nop
|
||||
"""
|
||||
)
|
||||
removeInstruction(listenableInstructionIndex)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.playertype.playerTypeHookPatch
|
||||
import app.revanced.patches.youtube.misc.playservice.is_19_34_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||
import app.revanced.util.findFreeRegister
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
@@ -42,13 +43,14 @@ val fixPlaybackSpeedWhilePlayingPatch = bytecodePatch{
|
||||
}
|
||||
|
||||
playbackSpeedInFeedsFingerprint.method.apply {
|
||||
val freeRegister = implementation!!.registerCount - parameters.size - 2
|
||||
val playbackSpeedIndex = indexOfGetPlaybackSpeedInstruction(this)
|
||||
val playbackSpeedRegister = getInstruction<TwoRegisterInstruction>(playbackSpeedIndex).registerA
|
||||
val returnIndex = indexOfFirstInstructionOrThrow(playbackSpeedIndex, Opcode.RETURN_VOID)
|
||||
val insertIndex = playbackSpeedIndex + 1
|
||||
val freeRegister = findFreeRegister(insertIndex, playbackSpeedRegister)
|
||||
|
||||
addInstructionsWithLabels(
|
||||
playbackSpeedIndex + 1,
|
||||
insertIndex,
|
||||
"""
|
||||
invoke-static { v$playbackSpeedRegister }, $EXTENSION_CLASS_DESCRIPTOR->playbackSpeedChanged(F)Z
|
||||
move-result v$freeRegister
|
||||
|
||||
@@ -8,7 +8,6 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.PatchException
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
@@ -16,12 +15,14 @@ import app.revanced.patches.youtube.misc.playservice.is_19_18_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.is_19_25_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.is_20_05_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||
import app.revanced.util.findFreeRegister
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import app.revanced.util.indexOfFirstInstructionReversedOrThrow
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.*
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
@@ -191,17 +192,7 @@ val lithoFilterPatch = bytecodePatch(
|
||||
},
|
||||
).registerA
|
||||
|
||||
// Find a free temporary register.
|
||||
val freeRegister = getInstruction<OneRegisterInstruction>(
|
||||
// Immediately before is a StringBuilder append constant character.
|
||||
indexOfFirstInstructionReversedOrThrow(insertHookIndex, Opcode.CONST_16),
|
||||
).registerA
|
||||
|
||||
// Verify the temp register will not clobber the method result register.
|
||||
if (stringBuilderRegister == freeRegister) {
|
||||
throw PatchException("Free register will clobber StringBuilder register")
|
||||
}
|
||||
|
||||
val freeRegister = findFreeRegister(insertHookIndex, identifierRegister, stringBuilderRegister)
|
||||
val invokeFilterInstructions = """
|
||||
invoke-static { v$identifierRegister, v$stringBuilderRegister }, $EXTENSION_CLASS_DESCRIPTOR->filter(Ljava/lang/String;Ljava/lang/StringBuilder;)Z
|
||||
move-result v$freeRegister
|
||||
|
||||
@@ -73,7 +73,22 @@ private val settingsResourcePatch = resourcePatch {
|
||||
appearanceStringId = resourceMappings["string", "app_theme_appearance_dark"]
|
||||
|
||||
arrayOf(
|
||||
ResourceGroup("drawable", "revanced_settings_icon.xml"),
|
||||
ResourceGroup("drawable",
|
||||
"revanced_settings_icon.xml",
|
||||
"revanced_settings_screen_00_about.xml",
|
||||
"revanced_settings_screen_01_ads.xml",
|
||||
"revanced_settings_screen_02_alt_thumbnails.xml",
|
||||
"revanced_settings_screen_03_feed.xml",
|
||||
"revanced_settings_screen_04_general.xml",
|
||||
"revanced_settings_screen_05_player.xml",
|
||||
"revanced_settings_screen_06_shorts.xml",
|
||||
"revanced_settings_screen_07_seekbar.xml",
|
||||
"revanced_settings_screen_08_swipe_controls.xml",
|
||||
"revanced_settings_screen_09_ryd.xml",
|
||||
"revanced_settings_screen_10_sb.xml",
|
||||
"revanced_settings_screen_11_misc.xml",
|
||||
"revanced_settings_screen_12_video.xml",
|
||||
),
|
||||
ResourceGroup("layout", "revanced_settings_with_toolbar.xml"),
|
||||
).forEach { resourceGroup ->
|
||||
copyResources("settings", resourceGroup)
|
||||
@@ -159,6 +174,8 @@ val settingsPatch = bytecodePatch(
|
||||
// Add an "about" preference to the top.
|
||||
preferences += NonInteractivePreference(
|
||||
key = "revanced_settings_screen_00_about",
|
||||
icon = "@drawable/revanced_settings_screen_00_about",
|
||||
layout = "@layout/preference_with_icon",
|
||||
summaryKey = null,
|
||||
tag = "app.revanced.extension.youtube.settings.preference.ReVancedYouTubeAboutPreference",
|
||||
selectable = true,
|
||||
@@ -170,6 +187,10 @@ val settingsPatch = bytecodePatch(
|
||||
)
|
||||
}
|
||||
|
||||
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||
SwitchPreference("revanced_show_menu_icons")
|
||||
)
|
||||
|
||||
PreferenceScreen.MISC.addPreferences(
|
||||
TextPreference(
|
||||
key = null,
|
||||
@@ -277,37 +298,53 @@ object PreferenceScreen : BasePreferenceScreen() {
|
||||
val ADS = Screen(
|
||||
key = "revanced_settings_screen_01_ads",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_01_ads",
|
||||
layout = "@layout/preference_with_icon",
|
||||
)
|
||||
val ALTERNATIVE_THUMBNAILS = Screen(
|
||||
key = "revanced_settings_screen_02_alt_thumbnails",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_02_alt_thumbnails",
|
||||
layout = "@layout/preference_with_icon",
|
||||
sorting = Sorting.UNSORTED,
|
||||
)
|
||||
val FEED = Screen(
|
||||
key = "revanced_settings_screen_03_feed",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_03_feed",
|
||||
layout = "@layout/preference_with_icon",
|
||||
)
|
||||
val GENERAL_LAYOUT = Screen(
|
||||
key = "revanced_settings_screen_04_general",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_04_general",
|
||||
layout = "@layout/preference_with_icon",
|
||||
)
|
||||
val PLAYER = Screen(
|
||||
key = "revanced_settings_screen_05_player",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_05_player",
|
||||
layout = "@layout/preference_with_icon",
|
||||
)
|
||||
|
||||
val SHORTS = Screen(
|
||||
key = "revanced_settings_screen_06_shorts",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_06_shorts",
|
||||
layout = "@layout/preference_with_icon",
|
||||
)
|
||||
|
||||
val SEEKBAR = Screen(
|
||||
key = "revanced_settings_screen_07_seekbar",
|
||||
summaryKey = null,
|
||||
)
|
||||
icon = "@drawable/revanced_settings_screen_07_seekbar",
|
||||
layout = "@layout/preference_with_icon",
|
||||
)
|
||||
val SWIPE_CONTROLS = Screen(
|
||||
key = "revanced_settings_screen_08_swipe_controls",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_08_swipe_controls",
|
||||
layout = "@layout/preference_with_icon",
|
||||
sorting = Sorting.UNSORTED,
|
||||
)
|
||||
|
||||
@@ -317,10 +354,14 @@ object PreferenceScreen : BasePreferenceScreen() {
|
||||
val MISC = Screen(
|
||||
key = "revanced_settings_screen_11_misc",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_11_misc",
|
||||
layout = "@layout/preference_with_icon",
|
||||
)
|
||||
val VIDEO = Screen(
|
||||
key = "revanced_settings_screen_12_video",
|
||||
summaryKey = null,
|
||||
icon = "@drawable/revanced_settings_screen_12_video",
|
||||
layout = "@layout/preference_with_icon",
|
||||
sorting = Sorting.BY_KEY,
|
||||
)
|
||||
|
||||
|
||||
@@ -15,13 +15,185 @@ import app.revanced.patches.shared.misc.mapping.get
|
||||
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
|
||||
import app.revanced.patches.shared.misc.mapping.resourceMappings
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.Opcode.*
|
||||
import com.android.tools.smali.dexlib2.iface.Method
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.Instruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.RegisterRangeInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.ThreeRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.WideLiteralInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.Reference
|
||||
import com.android.tools.smali.dexlib2.util.MethodUtil
|
||||
import java.util.EnumSet
|
||||
|
||||
/**
|
||||
* Starting from and including the instruction at index [startIndex],
|
||||
* finds the next register that is wrote to and not read from. If a return instruction
|
||||
* is encountered, then the lowest unused register is returned.
|
||||
*
|
||||
* This method can return a non 4-bit register, and the calling code may need to temporarily
|
||||
* swap register contents if a 4-bit register is required.
|
||||
*
|
||||
* @param startIndex Inclusive starting index.
|
||||
* @param registersToExclude Registers to exclude, and consider as used. For most use cases,
|
||||
* all registers used in injected code should be specified.
|
||||
* @throws IllegalArgumentException If a branch or conditional statement is encountered
|
||||
* before a suitable register is found.
|
||||
*/
|
||||
internal fun Method.findFreeRegister(startIndex: Int, vararg registersToExclude: Int): Int {
|
||||
if (implementation == null) {
|
||||
throw IllegalArgumentException("Method has no implementation: $this")
|
||||
}
|
||||
if (startIndex < 0 || startIndex >= instructions.count()) {
|
||||
throw IllegalArgumentException("startIndex out of bounds: $startIndex")
|
||||
}
|
||||
|
||||
// All registers used by an instruction.
|
||||
fun Instruction.getRegistersUsed() = when (this) {
|
||||
is FiveRegisterInstruction -> {
|
||||
when (registerCount) {
|
||||
1 -> listOf(registerC)
|
||||
2 -> listOf(registerC, registerD)
|
||||
3 -> listOf(registerC, registerD, registerE)
|
||||
4 -> listOf(registerC, registerD, registerE, registerF)
|
||||
else -> listOf(registerC, registerD, registerE, registerF, registerG)
|
||||
}
|
||||
}
|
||||
is ThreeRegisterInstruction -> listOf(registerA, registerB, registerC)
|
||||
is TwoRegisterInstruction -> listOf(registerA, registerB)
|
||||
is OneRegisterInstruction -> listOf(registerA)
|
||||
is RegisterRangeInstruction -> (startRegister until (startRegister + registerCount)).toList()
|
||||
else -> emptyList()
|
||||
}
|
||||
|
||||
// Register that is written to by an instruction.
|
||||
fun Instruction.getWriteRegister() : Int {
|
||||
// Two and three register instructions extend OneRegisterInstruction.
|
||||
if (this is OneRegisterInstruction) return registerA
|
||||
throw IllegalStateException("Not a write instruction: $this")
|
||||
}
|
||||
|
||||
val writeOpcodes = EnumSet.of(
|
||||
ARRAY_LENGTH,
|
||||
INSTANCE_OF,
|
||||
NEW_INSTANCE, NEW_ARRAY,
|
||||
MOVE, MOVE_FROM16, MOVE_16, MOVE_WIDE, MOVE_WIDE_FROM16, MOVE_WIDE_16, MOVE_OBJECT,
|
||||
MOVE_OBJECT_FROM16, MOVE_OBJECT_16, MOVE_RESULT, MOVE_RESULT_WIDE, MOVE_RESULT_OBJECT, MOVE_EXCEPTION,
|
||||
CONST, CONST_4, CONST_16, CONST_HIGH16, CONST_WIDE_16, CONST_WIDE_32,
|
||||
CONST_WIDE, CONST_WIDE_HIGH16, CONST_STRING, CONST_STRING_JUMBO,
|
||||
IGET, IGET_WIDE, IGET_OBJECT, IGET_BOOLEAN, IGET_BYTE, IGET_CHAR, IGET_SHORT,
|
||||
IGET_VOLATILE, IGET_WIDE_VOLATILE, IGET_OBJECT_VOLATILE,
|
||||
SGET, SGET_WIDE, SGET_OBJECT, SGET_BOOLEAN, SGET_BYTE, SGET_CHAR, SGET_SHORT,
|
||||
SGET_VOLATILE, SGET_WIDE_VOLATILE, SGET_OBJECT_VOLATILE,
|
||||
AGET, AGET_WIDE, AGET_OBJECT, AGET_BOOLEAN, AGET_BYTE, AGET_CHAR, AGET_SHORT,
|
||||
// Arithmetic and logical operations.
|
||||
ADD_DOUBLE_2ADDR, ADD_DOUBLE, ADD_FLOAT_2ADDR, ADD_FLOAT, ADD_INT_2ADDR,
|
||||
ADD_INT_LIT8, ADD_INT, ADD_LONG_2ADDR, ADD_LONG, ADD_INT_LIT16,
|
||||
AND_INT_2ADDR, AND_INT_LIT8, AND_INT_LIT16, AND_INT, AND_LONG_2ADDR, AND_LONG,
|
||||
DIV_DOUBLE_2ADDR, DIV_DOUBLE, DIV_FLOAT_2ADDR, DIV_FLOAT, DIV_INT_2ADDR,
|
||||
DIV_INT_LIT16, DIV_INT_LIT8, DIV_INT, DIV_LONG_2ADDR, DIV_LONG,
|
||||
DOUBLE_TO_FLOAT, DOUBLE_TO_INT, DOUBLE_TO_LONG,
|
||||
FLOAT_TO_DOUBLE, FLOAT_TO_INT, FLOAT_TO_LONG,
|
||||
INT_TO_BYTE, INT_TO_CHAR, INT_TO_DOUBLE, INT_TO_FLOAT, INT_TO_LONG, INT_TO_SHORT,
|
||||
LONG_TO_DOUBLE, LONG_TO_FLOAT, LONG_TO_INT,
|
||||
MUL_DOUBLE_2ADDR, MUL_DOUBLE, MUL_FLOAT_2ADDR, MUL_FLOAT, MUL_INT_2ADDR,
|
||||
MUL_INT_LIT16, MUL_INT_LIT8, MUL_INT, MUL_LONG_2ADDR, MUL_LONG,
|
||||
NEG_DOUBLE, NEG_FLOAT, NEG_INT, NEG_LONG,
|
||||
NOT_INT, NOT_LONG,
|
||||
OR_INT_2ADDR, OR_INT_LIT16, OR_INT_LIT8, OR_INT, OR_LONG_2ADDR, OR_LONG,
|
||||
REM_DOUBLE_2ADDR, REM_DOUBLE, REM_FLOAT_2ADDR, REM_FLOAT, REM_INT_2ADDR,
|
||||
REM_INT_LIT16, REM_INT_LIT8, REM_INT, REM_LONG_2ADDR, REM_LONG,
|
||||
RSUB_INT_LIT8, RSUB_INT,
|
||||
SHL_INT_2ADDR, SHL_INT_LIT8, SHL_INT, SHL_LONG_2ADDR, SHL_LONG,
|
||||
SHR_INT_2ADDR, SHR_INT_LIT8, SHR_INT, SHR_LONG_2ADDR, SHR_LONG,
|
||||
SUB_DOUBLE_2ADDR, SUB_DOUBLE, SUB_FLOAT_2ADDR, SUB_FLOAT, SUB_INT_2ADDR,
|
||||
SUB_INT, SUB_LONG_2ADDR, SUB_LONG,
|
||||
USHR_INT_2ADDR, USHR_INT_LIT8, USHR_INT, USHR_LONG_2ADDR, USHR_LONG,
|
||||
XOR_INT_2ADDR, XOR_INT_LIT16, XOR_INT_LIT8, XOR_INT, XOR_LONG_2ADDR, XOR_LONG,
|
||||
)
|
||||
|
||||
val branchOpcodes = EnumSet.of(
|
||||
GOTO, GOTO_16, GOTO_32,
|
||||
IF_EQ, IF_NE, IF_LT, IF_GE, IF_GT, IF_LE,
|
||||
IF_EQZ, IF_NEZ, IF_LTZ, IF_GEZ, IF_GTZ, IF_LEZ,
|
||||
PACKED_SWITCH_PAYLOAD, SPARSE_SWITCH_PAYLOAD
|
||||
)
|
||||
|
||||
val returnOpcodes = EnumSet.of(
|
||||
RETURN_VOID, RETURN, RETURN_WIDE, RETURN_OBJECT, RETURN_VOID_NO_BARRIER,
|
||||
THROW
|
||||
)
|
||||
|
||||
// Highest 4-bit register available, exclusive. Ideally return a free register less than this.
|
||||
val maxRegister4Bits = 16
|
||||
var bestFreeRegisterFound: Int? = null
|
||||
val usedRegisters = registersToExclude.toMutableSet()
|
||||
|
||||
for (i in startIndex until instructions.count()) {
|
||||
val instruction = getInstruction(i)
|
||||
val instructionRegisters = instruction.getRegistersUsed()
|
||||
|
||||
if (instruction.opcode in returnOpcodes) {
|
||||
// Method returns.
|
||||
usedRegisters.addAll(instructionRegisters)
|
||||
|
||||
// Use lowest register that hasn't been encountered.
|
||||
val freeRegister = (0 until implementation!!.registerCount).find {
|
||||
it !in usedRegisters
|
||||
}
|
||||
if (freeRegister != null) {
|
||||
return freeRegister
|
||||
}
|
||||
if (bestFreeRegisterFound != null) {
|
||||
return bestFreeRegisterFound
|
||||
}
|
||||
|
||||
// Somehow every method register was read from before any register was wrote to.
|
||||
// In practice this never occurs.
|
||||
throw IllegalArgumentException("Could not find a free register from startIndex: " +
|
||||
"$startIndex excluding: $registersToExclude")
|
||||
}
|
||||
|
||||
if (instruction.opcode in branchOpcodes) {
|
||||
if (bestFreeRegisterFound != null) {
|
||||
return bestFreeRegisterFound
|
||||
}
|
||||
// This method is simple and does not follow branching.
|
||||
throw IllegalArgumentException("Encountered a branch statement before a free register could be found")
|
||||
}
|
||||
|
||||
if (instruction.opcode in writeOpcodes) {
|
||||
val writeRegister = instruction.getWriteRegister()
|
||||
|
||||
if (writeRegister !in usedRegisters) {
|
||||
// Verify the register is only used for write and not also as a parameter.
|
||||
// If the instruction uses the write register once then it's not also a read register.
|
||||
if (instructionRegisters.count { register -> register == writeRegister } == 1) {
|
||||
if (writeRegister < maxRegister4Bits) {
|
||||
// Found an ideal register.
|
||||
return writeRegister
|
||||
}
|
||||
|
||||
// Continue searching for a 4-bit register if available.
|
||||
if (bestFreeRegisterFound == null || writeRegister < bestFreeRegisterFound) {
|
||||
bestFreeRegisterFound = writeRegister
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
usedRegisters.addAll(instructionRegisters)
|
||||
}
|
||||
|
||||
// Some methods can have array payloads at the end of the method after a return statement.
|
||||
// But in normal usage this cannot be reached since a branch or return statement
|
||||
// will be encountered before the end of the method.
|
||||
throw IllegalArgumentException("Start index is outside the range of normal control flow: $startIndex")
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Find the [MutableMethod] from a given [Method] in a [MutableClass].
|
||||
@@ -395,7 +567,7 @@ fun Method.findInstructionIndicesReversedOrThrow(opcode: Opcode): List<Int> {
|
||||
|
||||
internal fun MutableMethod.insertFeatureFlagBooleanOverride(literal: Long, extensionsMethod: String) {
|
||||
val literalIndex = indexOfFirstLiteralInstructionOrThrow(literal)
|
||||
val index = indexOfFirstInstructionOrThrow(literalIndex, Opcode.MOVE_RESULT)
|
||||
val index = indexOfFirstInstructionOrThrow(literalIndex, MOVE_RESULT)
|
||||
val register = getInstruction<OneRegisterInstruction>(index).registerA
|
||||
|
||||
val operation = if (register < 16) {
|
||||
@@ -423,7 +595,7 @@ fun BytecodePatchContext.forEachLiteralValueInstruction(
|
||||
classes.forEach { classDef ->
|
||||
classDef.methods.forEach { method ->
|
||||
method.implementation?.instructions?.forEachIndexed { index, instruction ->
|
||||
if (instruction.opcode == Opcode.CONST &&
|
||||
if (instruction.opcode == CONST &&
|
||||
(instruction as WideLiteralInstruction).wideLiteral == literal
|
||||
) {
|
||||
val mutableMethod = proxy(classDef).mutableClass.findMutableMethodOf(method)
|
||||
|
||||
@@ -22,7 +22,7 @@ Second \"item\" text"</string>
|
||||
<resources>
|
||||
<app id="shared">
|
||||
<patch id="misc.checks.checkEnvironmentPatch">
|
||||
<string name="revanced_check_environment_failed_title">فشلت عمليات التحقق</string>
|
||||
<string name="revanced_check_environment_failed_title">فشلت الفحوصات</string>
|
||||
<string name="revanced_check_environment_dialog_open_official_source_button">فتح الموقع الرسمي</string>
|
||||
<string name="revanced_check_environment_dialog_ignore_button">تجاهل</string>
|
||||
<string name="revanced_check_environment_failed_message"><h5>لا يبدو أن هذا التطبيق قد تم تعديله من قبلك.</h5><br>قد لا يعمل هذا التطبيق بشكل صحيح، <b>قد يكون ضارًا أو حتى خطيرًا للاستخدام</b>.<br><br>تشير هذه الفحوصات إلى أن هذا التطبيق تم تعديله مسبقًا أو تم الحصول عليه من شخص آخر:<br><br><small>%1$s</small><br>يوصى بشدة بـ <b>إلغاء تثبيت هذا التطبيق وتعديله بنفسك</b> للتأكد من أنك تستخدم تطبيقًا معتمدًا وآمنًا.<p><br>في حالة تجاهل هذا التحذير، سيتم عرضه مرتين فقط.</string>
|
||||
@@ -30,19 +30,22 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_check_environment_manager_not_expected_installer">لم يتم تثبيته بواسطة ReVanced Manager</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time">تم تعديله قبل أكثر من 10 دقائق</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time_days">تم التعديل منذ %s يوم</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time_invalid">تاريخ إنشاء APK تالف</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time_invalid">تاريخ بناء APK تالف</string>
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<string name="revanced_settings_submenu_title">الإعدادات</string>
|
||||
<string name="revanced_settings_confirm_user_dialog_title">هل ترغب في المتابعة؟</string>
|
||||
<string name="revanced_settings_reset">إعادة التعيين</string>
|
||||
<string name="revanced_settings_restart_title">تحديث وإعادة تشغيل</string>
|
||||
<string name="revanced_settings_restart_title">تحديث وإعادة التشغيل</string>
|
||||
<string name="revanced_settings_restart">إعادة التشغيل</string>
|
||||
<string name="revanced_settings_import">استيراد</string>
|
||||
<string name="revanced_settings_import_copy">نسخ</string>
|
||||
<string name="revanced_settings_import_reset">إعادة تعيين إعدادات ReVanced إلى الوضع الافتراضي</string>
|
||||
<string name="revanced_settings_import_success">تم استيراد %d إعدادات</string>
|
||||
<string name="revanced_settings_import_failure_parse">فشل الاستيراد: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">عرض أيقونات إعدادات ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">يتم عرض أيقونات الإعدادات</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">لا يتم عرض أيقونات الإعدادات</string>
|
||||
<string name="revanced_language_title">لغة ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"قد تكون الترجمات لبعض اللغات مفقودة أو غير مكتملة.
|
||||
|
||||
@@ -106,9 +109,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_debug_protobuffer_title">سجل بروتوكول التخزين المؤقت</string>
|
||||
<string name="revanced_debug_protobuffer_summary_on">تتضمن سجلات التصحيح التخزين المؤقت</string>
|
||||
<string name="revanced_debug_protobuffer_summary_off">لا تتضمن سجلات التصحيح التخزين المؤقت</string>
|
||||
<string name="revanced_debug_stacktrace_title">سجل عمليات التطبيق</string>
|
||||
<string name="revanced_debug_stacktrace_summary_on">تتضمن سجلات التصحيح سِجِل عمليات التطبيق</string>
|
||||
<string name="revanced_debug_stacktrace_summary_off">لا تتضمن سجلات التصحيح سِجِل عمليات التطبيق</string>
|
||||
<string name="revanced_debug_stacktrace_title">سجل تتبع المكدس</string>
|
||||
<string name="revanced_debug_stacktrace_summary_on">تتضمن سجلات التصحيح سجل تتبع المكدس</string>
|
||||
<string name="revanced_debug_stacktrace_summary_off">لا تتضمن سجلات التصحيح سجل تتبع المكدس</string>
|
||||
<string name="revanced_debug_toast_on_error_title">عرض ملاحظة عند وجود خطأ في ReVanced</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_on">يتم عرض ملاحظة في حالة حدوث خطأ</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_off">لا يتم عرض ملاحظة في حالة حدوث خطأ</string>
|
||||
@@ -214,9 +217,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_related_videos_title">إخفاء الفيديوهات ذات الصلة في الإجراءات السريعة</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">تم إخفاء الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">يتم عرض الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_image_shelf_title">إخفاء رفوف الصور في نتائج البحث</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">تم إخفاء رفوف الصورة</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">يتم عرض رفوف الصورة</string>
|
||||
<string name="revanced_hide_image_shelf_title">إخفاء رف الصورة في نتائج البحث</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">تم إخفاء رف الصورة</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">يتم عرض رف الصورة</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">إخفاء آخر المشاركات</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">تم إخفاء أحدث المشاركات</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">يتم عرض أحدث المشاركات</string>
|
||||
@@ -226,7 +229,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_artist_cards_title">إخفاء بطاقات الفنان</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">تم إخفاء بطاقات الفنان</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">يتم عرض بطاقات الفنان</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">إخفاء \"ملخص الفيديو الذي تم إنشاؤه بواسطة الذكاء الاصطناعي\"</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">إخفاء \'ملخص الفيديو الذي تم إنشاؤه بواسطة الذكاء الاصطناعي\'</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">تم إخفاء قسم ملخص الفيديو</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">يتم عرض قسم ملخص الفيديو</string>
|
||||
<string name="revanced_hide_attributes_section_title">إخفاء الصفات</string>
|
||||
@@ -253,31 +256,31 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_description_components_screen_title">وصف الفيديو</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">إخفاء أو عرض مكونات وصف الفيديو</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">شريط التصفية</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">إخفاء أو إظهار شريط الفلتر في الخلاصة ونتائج البحث ومقاطع الفيديو ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">إخفاء أو عرض شريط الفلتر في الموجز ونتائج البحث والفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">إخفاء في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">مخفي في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">يعرض في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">يُعرض في الموجز</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">إخفاء في نتائج البحث</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">مخفي في نتائج البحث</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">يظهر في نتائج البحث</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">يُعرض في نتائج البحث</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">إخفاء في الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">مخفي في الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">يعرض في الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">يُعرض في الفيديوهات ذات الصلة</string>
|
||||
<string name="revanced_comments_screen_title">التعليقات</string>
|
||||
<string name="revanced_comments_screen_summary">إخفاء أو عرض مكونات قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">إخفاء ملخص دردشة الذكاء الاصطناعي</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">إخفاء ملخص محادثات الذكاء الاصطناعي</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">تم إخفاء ملخص المحادثات</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">يتم عرض ملخص المحادثات</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">إخفاء ملخص تعليقات الذكاء الاصطناعي</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">ملخص التعليقات مخفي</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">ملخص التعليقات معروض</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">تم إخفاء ملخص التعليقات</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">يتم عرض ملخص التعليقات</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">إخفاء رأس \'تعليقات الأعضاء\'</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">تم إخفاء علامة تعليقات من الأعضاء</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">يتم عرض علامة تعليقات من الأعضاء</string>
|
||||
<string name="revanced_hide_comments_section_title">إخفاء قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">تم إخفاء قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">يتم عرض قسم التعليقات</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">إخفاء زر \'إنشاء مقطع Short\'</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">إخفاء زر \'إنشاء Short\'</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">تم إخفاء زر إنشاء Short</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">يتم عرض زر إنشاء Short</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_title">إخفاء أزرار الرموز التعبيرية والطوابع الزمنية</string>
|
||||
@@ -305,7 +308,7 @@ Second \"item\" text"</string>
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<string name="revanced_custom_filter_strings_summary">قائمة سلاسل منشئ مسار المكونات المراد تصفيتها مفصولة بسطر جديد</string>
|
||||
<string name="revanced_custom_filter_toast_invalid_syntax">فلتر مخصص غير صالح: %s</string>
|
||||
<string name="revanced_hide_keyword_content_screen_title">إخفاء محتوى الكلمات الرئيسية</string>
|
||||
<string name="revanced_hide_keyword_content_screen_title">إخفاء محتوى الكلمات المفتاحية</string>
|
||||
<string name="revanced_hide_keyword_content_screen_summary">إخفاء فيديوهات البحث والموجز باستخدام فلاتر الكلمات المفتاحية</string>
|
||||
<string name="revanced_hide_keyword_content_home_title">إخفاء فيديوهات الصفحة الرئيسية بواسطة الكلمات المفتاحية</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_on">تتم تصفية الفيديوهات في علامة التبويب \"الصفحة الرئيسية\" حسب الكلمات المفتاحية</string>
|
||||
@@ -335,11 +338,11 @@ Second \"item\" text"</string>
|
||||
<!-- Translations _must_ use a localized example. For languages that do not use spaces between words (Chinese, Japanese, etc.) the English AI example should be used since no localized examples exist. Or if using machine translations, or if nobody wants to think of a localized example, then the English 'ai' example should be left as-is. -->
|
||||
<string name="revanced_hide_keyword_content_about_whole_words_summary">سيؤدي وضع علامة اقتباس مزدوجة حول كلمة رئيسية/عبارة إلى منع التطابقات الجزئية لعناوين الفيديو وأسماء القنوات.<br><br>على سبيل المثال،<br><b>\"ai\"</b> سيخفي الفيديو: <b>How does AI work?</b><br>ولكن لن يخفي: <b>What does fair use mean?</b></string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">لا يمكن استخدام الكلمة الرئيسية: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_common_whole_word_required">إضافة اقتباسات لاستخدام الكلمة الرئيسية: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_conflicting">الكلمة الرئيسية لها بيانات متضاربة: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_length">الكلمة الرئيسية قصيرة جدًا وتتطلب اقتباسات: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">الكلمة الرئيسية سوف تخفي جميع الفيديوهات: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">لا يمكن استخدام الكلمة المفتاحية: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_common_whole_word_required">إضافة اقتباسات لاستخدام الكلمة المفتاحية: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_conflicting">الكلمة المفتاحية لها بيانات متضاربة: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_length">الكلمة المفتاحية قصيرة جدًا وتتطلب اقتباسات: %s</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">الكلمة المفتاحية سوف تخفي جميع الفيديوهات: %s</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">إخفاء الإعلانات العامة</string>
|
||||
@@ -359,20 +362,20 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">إخفاء بطاقات الرعاية الذاتية</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">تم إخفاء بطاقات الرعاية الذاتية</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">يتم عرض بطاقات الرعاية الذاتية</string>
|
||||
<string name="revanced_hide_products_banner_title">إخفاء لافتة \"عرض المنتجات\"</string>
|
||||
<string name="revanced_hide_products_banner_title">إخفاء لافتة \'عرض المنتجات\'</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">تم إخفاء البانر</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">يتم عرض البانر</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">إخفاء لافتة شاشة المتجر النهائية</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">تم إخفاء لافتة المتجر</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">يتم عرض لافتة المتجر</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">إخفاء رف مشغل التسوق</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">تم إخفاء رفوف التسوق</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">يتم عرض رفوف التسوق</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">تم إخفاء رف التسوق</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">يتم عرض رف التسوق</string>
|
||||
<string name="revanced_hide_shopping_links_title">إخفاء روابط التسوق في وصف الفيديو</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">تم إخفاء روابط التسوق في وصف الفيديو</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">يتم عرض روابط التسوق في وصف الفيديو</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">إخفاء زر \"زيارة المتجر\" على صفحات القناة</string>
|
||||
<string name="revanced_hide_visit_store_button_title">إخفاء زر \'زيارة المتجر\' على صفحات القناة</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">تم إخفاء الزر في صفحة القناة</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">يتم عرض الزر في صفحة القناة</string>
|
||||
<string name="revanced_hide_web_search_results_title">إخفاء نتائج بحث الويب</string>
|
||||
@@ -387,7 +390,7 @@ Second \"item\" text"</string>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">إخفاء ترقية YouTube Premium</string>
|
||||
<string name="revanced_hide_get_premium_summary_on">تم إخفاء عروض YouTube Premium الترويجية تحت مشغل الفيديو</string>
|
||||
<string name="revanced_hide_get_premium_summary_off">يتم عرض عروض YouTube Premium الترويجية تحت مشغل الفيديو</string>
|
||||
<string name="revanced_hide_get_premium_summary_off">يتم إظهار عروض YouTube Premium الترويجية تحت مشغل الفيديو</string>
|
||||
</patch>
|
||||
<patch id="ad.video.videoAdsPatch">
|
||||
<string name="revanced_hide_video_ads_title">إخفاء إعلانات الفيديو</string>
|
||||
@@ -430,9 +433,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">تم تمكين الإيماءة</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">تمكين النقر للبحث</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">تم تمكين النقر للتنقل</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">تم تعطيل النقر للبحث</string>
|
||||
<string name="revanced_seekbar_tapping_title">تمكين النقر للتمرير</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">تم تمكين النقر للتمرير</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">تم تعطيل النقر للتمرير</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">التحكم بالسطوع عن طريق ايماءة التمرير</string>
|
||||
@@ -667,17 +670,17 @@ Second \"item\" text"</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_off">تُعرض في الصفحة الرئيسية والفيديوهات ذات الصلة</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription 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_subscriptions_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_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_history_summary_off">تُعرض في سجل المشاهدة</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">إخفاء زر الانضمام</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">تم إخفاء زر الانضمام</string>
|
||||
@@ -766,7 +769,7 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
<string name="revanced_end_screen_suggested_video_title">إخفاء الفيديو المقترح في شاشة النهاية</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_on">"يتم إخفاء الفيديو المقترح في شاشة النهاية عند إيقاف التشغيل التلقائي
|
||||
<string name="revanced_end_screen_suggested_video_summary_on">"تم إخفاء الفيديو المقترح في شاشة النهاية عند إيقاف التشغيل التلقائي
|
||||
|
||||
يمكن تغيير التشغيل التلقائي في إعدادات YouTube:
|
||||
الإعدادات ← التشغيل ← تشغيل الفيديو التالي تلقائيًا"</string>
|
||||
@@ -864,7 +867,7 @@ Second \"item\" text"</string>
|
||||
|
||||
مصغرات شريط التقدم سوف تستخدم نفس جودة الفيديو الحالي.
|
||||
|
||||
تعمل هذه الميزة بشكل أفضل مع جودة فيديو 720p أو أقل وعند استخدام اتصال إنترنت سريع جداً."</string>
|
||||
تعمل هذه الميزة بشكل أفضل مع جودة فيديو 720p أو أقل وعند استخدام اتصال إنترنت سريع جدًا."</string>
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_title">استعادة مصغرات شريط التقدم القديمة</string>
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">مصغرات شريط التقدم ستظهر فوق شريط تقدم الفيديو</string>
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">مصغرات شريط التقدم ستظهر في ملء الشاشة</string>
|
||||
@@ -937,15 +940,15 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">لا تعرض مرة أخرى</string>
|
||||
<string name="revanced_sb_diff_segments">تغيير سلوك المقطع</string>
|
||||
<string name="revanced_sb_segments_sponsor">الراعي</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">الترويج المدفوع الأجر، والإحالات المدفوعة الأجر والإعلانات المباشرة. ليس للترويج الذاتي أو لصراعات مجانية للقضايا/المبدعين/المواقع الإلكترونية/المنتجات التي يحبون الحصول عليها</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">الترويج المدفوع، والإحالات المدفوعة، والإعلانات المباشرة. ليس للترويج الذاتي أو الترويج المجاني للقضايا/المبدعين/المواقع الإلكترونية/المنتجات التي يفضلونها</string>
|
||||
<string name="revanced_sb_segments_selfpromo">ترويج شخصي/غير مدفوع الأجر</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">مشابهة لـ \"الراعي\" باستثناء ما يتعلق بالإعلانات غير المدفوعة الأجر أو الذاتية. ويشمل ذلك أقسام عن السلع أو التبرعات أو المعلومات المتعلقة بمن تعاونوا مع ناشر المحتوى</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">مشابهة لـ \'الراعي\' باستثناء ما يتعلق بالإعلانات غير المدفوعة الأجر أو الذاتية. ويشمل ذلك أقسام عن السلع أو التبرعات أو المعلومات المتعلقة بمن تعاونوا مع ناشر المحتوى</string>
|
||||
<string name="revanced_sb_segments_interaction">تذكير بالتفاعل (اشتراك)</string>
|
||||
<string name="revanced_sb_segments_interaction_sum">تذكير قصير للإعجاب أو الاشتراك أو المتابعة في منتصف المحتوى. إذا كانت طويلة أو تتعلق بشيء محدد، فيجب أن تكون خاضعة للترويج الشخصي بدلاً من ذلك</string>
|
||||
<string name="revanced_sb_segments_highlight">الأبرز</string>
|
||||
<string name="revanced_sb_segments_highlight_sum">الجزء من الفيديو الذي يبحث عنه معظم الناس</string>
|
||||
<string name="revanced_sb_segments_intro">المقدمة/فاصل</string>
|
||||
<string name="revanced_sb_segments_intro_sum">فاصل زمني بدون محتوى فعلي. يمكن أن يكون وقفاً مؤقتاً، أو إطارًا ثابتاً، أو تكرارًا. لا يتضمن التحولات التي تحتوي على معلومات</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_preview">معاينة/موجز/ربط</string>
|
||||
@@ -1079,9 +1082,9 @@ Second \"item\" text"</string>
|
||||
تصميم الجهاز اللوحي
|
||||
• مشاركات المجتمع مخفية
|
||||
|
||||
تصميم السيارة
|
||||
تصميم Automotive
|
||||
• يتم فتح Shorts في المشغل العادي
|
||||
• يتم تنظيم الخلاصة حسب المواضيع والقنوات"</string>
|
||||
• يتم تنظيم الموجز حسب المواضيع والقنوات"</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<string name="revanced_spoof_app_version_title">خِداع إصدار التطبيق</string>
|
||||
@@ -1155,6 +1158,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">حديث 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">حديث 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">حديث 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">حديث 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">تمكين الزوايا المستديرة</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">الزوايا مستديرة</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">الزوايا مربعة</string>
|
||||
@@ -1174,14 +1178,14 @@ Second \"item\" text"</string>
|
||||
|
||||
يمكن سحب المشغل المصغر خارج الشاشة إلى اليسار أو اليمين"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">تم تعطيل إيماءة السحب الأفقية</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">إخفاء زر الإغلاق</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">تم إخفاء زر الإغلاق</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">يتم عرض زر الإغلاق</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">إخفاء أزرار التوسيع والإغلاق</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">إخفاء أزرار الواجهة</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">تم إخفاء أزرار الواجهة</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">يتم عرض أزرار الواجهة</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">إخفاء زري التوسيع والإغلاق</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"تم إخفاء الأزرار
|
||||
|
||||
مرر للتوسيع أو الإغلاق"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">يتم عرض أزرار التوسيع والإغلاق</string>
|
||||
اسحب للتوسيع أو الإغلاق"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">يتم عرض زري التوسيع والإغلاق</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">إخفاء النصوص الفرعية</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">تم إخفاء النصوص الفرعية</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">يتم عرض النصوص الفرعية</string>
|
||||
@@ -1217,7 +1221,7 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">علامة تبويب الصفحة الرئيسية</string>
|
||||
<string name="revanced_alt_thumbnail_home_title">علامة التبويب الصفحة الرئيسية</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">علامة التبويب الاشتراكات</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
@@ -1228,11 +1232,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & المصّغرات الأصلية</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_3">DeArrow & اللقطات الثابتة</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_4">اللقطات الثابتة</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_about_summary">"يوفر DeArrow مصغرات فيديو من مصادر جماعية لفيديوهات YouTube. هذه المصغرات غالبا ما تكون أكثر صلة من تلك المقدمة من YouTube
|
||||
<string name="revanced_alt_thumbnail_dearrow_about_summary">"يوفر DeArrow مصغرات فيديو من مصادر جماعية لفيديوهات YouTube. هذه المصغرات غالبًا ما تكون أكثر صلة من تلك المقدمة من YouTube
|
||||
|
||||
إذا تم تفعيلها، سيتم إرسال روابط الفيديو إلى خادم API ولن يتم إرسال أي بيانات أخرى. إذا كان الفيديو لا يحتوي على مصغرات DArrow، سيتم عرض المقاطع الأصلية أو اللقطات الثابتة
|
||||
إذا تم تفعيلها، سيتم إرسال روابط الفيديو إلى خادم API ولن يتم إرسال أي بيانات أخرى. إذا كان الفيديو لا يحتوي على مصغرات DeArrow، سيتم عرض المقاطع الأصلية أو اللقطات الثابتة
|
||||
|
||||
اضغط هنا لمعرفة المزيد عن DArrow"</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>
|
||||
@@ -1308,7 +1312,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">لاستخدام هذه الميزة، غيّر \"انتحال دفقات الفيديو\" إلى iOS TV</string>
|
||||
<string name="revanced_force_original_audio_not_available">لاستخدام هذه الميزة، غيّر \'Spoof Video Streams\' إلى iOS TV</string>
|
||||
</patch>
|
||||
<patch id="video.quality.rememberVideoQualityPatch">
|
||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||
@@ -1322,7 +1326,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remember_shorts_quality_last_selected_summary_on">تنطبق تغييرات الجودة على جميع فيديوهات Shorts</string>
|
||||
<string name="revanced_remember_shorts_quality_last_selected_summary_off">تنطبق تغييرات الجودة فقط على فيديو Short الحالي</string>
|
||||
<string name="revanced_shorts_quality_default_wifi_title">جودة Shorts الافتراضية على شبكة Wi-Fi</string>
|
||||
<string name="revanced_shorts_quality_default_mobile_title">جودة Shorts الافتراضية على شبكة الجوال</string>
|
||||
<string name="revanced_shorts_quality_default_mobile_title">جودة Shorts الافتراضية على شبكة الجوّال</string>
|
||||
<string name="revanced_remember_video_quality_mobile">الجوّال</string>
|
||||
<string name="revanced_remember_video_quality_wifi">Wi-Fi</string>
|
||||
<string name="revanced_remember_video_quality_toast">تم تغيير جودة %1$s الافتراضية إلى: %2$s</string>
|
||||
@@ -1358,7 +1362,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_disable_hdr_video_summary_off">تم تمكين فيديو HDR</string>
|
||||
</patch>
|
||||
<patch id="video.quality.advancedVideoQualityMenuPatch">
|
||||
<string name="revanced_advanced_video_quality_menu_title">إظهار قائمة جودة الفيديو المتقدمة</string>
|
||||
<string name="revanced_advanced_video_quality_menu_title">عرض قائمة جودة الفيديو المتقدمة</string>
|
||||
<string name="revanced_advanced_video_quality_menu_summary_on">يتم عرض قائمة جودة الفيديو المتقدمة</string>
|
||||
<string name="revanced_advanced_video_quality_menu_summary_off">لا يتم عرض قائمة جودة الفيديو المتقدمة</string>
|
||||
</patch>
|
||||
@@ -1392,7 +1396,7 @@ AVC لديه حد أقصى للدقة 1080p، لا يتوفر ترميز الص
|
||||
• مستوى الصوت الثابت غير متاح
|
||||
• فرض الصوت الأصلي غير متوفر"</string>
|
||||
<string name="revanced_spoof_video_streams_about_no_av1">• لا يوجد ترميز الفيديو AV1</string>
|
||||
<string name="revanced_spoof_video_streams_about_kids_videos">• الفيديوات العربية لا يمكن تشغيل أو في وضع التشغيل أو في حالة الخفية</string>
|
||||
<string name="revanced_spoof_video_streams_about_kids_videos">• قد لا يتم تشغيل الفيديوهات المخصصة للأطفال عند تسجيل الخروج أو عند استخدام وضع التصفح المتخفي</string>
|
||||
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">عرض في إحصاءات تقنية</string>
|
||||
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">يتم عرض نوع العميل في إحصاءات تقنية</string>
|
||||
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">تم إخفاء نوع العميل في إحصاءات تقنية</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced tənzimləmələr standarta təyin edildi</string>
|
||||
<string name="revanced_settings_import_success">%d tənzimləmə idxal edildi</string>
|
||||
<string name="revanced_settings_import_failure_parse">Uğursuz idxal prosesi: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">ReVanced tənzimləmə nişanların göstər</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Tənzimləmə nişanları göstərilir</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Tənzimləmə nişanları göstərilmir</string>
|
||||
<string name="revanced_language_title">ReVanced dili</string>
|
||||
<string name="revanced_language_user_dialog_message">"Bəzi dillər üçün tərcümələr əskik və ya səhv ola bilər.
|
||||
|
||||
@@ -226,6 +229,9 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
|
||||
<string name="revanced_hide_artist_cards_title">Sənətçi kartlarını gizlət</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Sənətçi kartları gizlidir</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Sənətçi kartları göstərilir</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">\"AI ilə yaradılan video xülasəsini\" gizlət</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Video xülasə bölməsi gizlədilib</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Video xülasə bölməsi göstərilir</string>
|
||||
<string name="revanced_hide_attributes_section_title">Atributları Gizlət</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">Seçilən yerlər, Oyunlar, Musiqi və qeyd edilən insanlar bölmələri gizlədilir</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">Seçilən yerlər, Oyunlar, Musiqi və qeyd edilən insanlar bölmələri görünür</string>
|
||||
@@ -262,8 +268,12 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Əlaqəli videolarda görünür</string>
|
||||
<string name="revanced_comments_screen_title">Şərhlər</string>
|
||||
<string name="revanced_comments_screen_summary">Şərhlər bölməsi elementlərin gizlət və ya göstər</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">AI Söhbət Xülasəsini Gizlət</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Söhbət yekunu gizlidir </string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Söhbət yekunu 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_summary_on">Ṣərh yekunu gizlidir </string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Şərh yekunu görünür</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">\'Üzvlərin şərhləri\' başlığını gizlət</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Üzvlərin şərhləri başlığı gizlidir</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Üzvlərin şərhləri başlığı görünür</string>
|
||||
@@ -423,6 +433,9 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">Jest aktivləşdirilib</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">Axtarmaq üçün toxun\'u aktivləşdir</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">Axtarmaq üçün toxun, aktivdir</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">Axtarmaq üçün toxun qapalıdır</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">Parlaqlıq jestini aktivləşdir</string>
|
||||
@@ -435,6 +448,9 @@ Ekranın sol tərəfində dikinə sürüşdürərək parlaqlığı tənzimləyin
|
||||
|
||||
Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənzimlə"</string>
|
||||
<string name="revanced_swipe_volume_summary_off">Tam ekran səs sürüşdürməsi qapalıdır</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">Sürüşdürmə jesti üçün sıxmanı aktiv et</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">Sürüşdürmə üçün sıxma aktivdir</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">Sürüşdürmə üçün sıxma qapalıdır</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">Əks-əlaqə reaksiyasını aktivləşdir</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">Əks-əlaqə reaksiyası aktivləşdirilib</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">Əks-əlaqə reaksiyası qeyri-aktivdir</string>
|
||||
@@ -542,6 +558,7 @@ Bu seçimi dəyişdirmə işə düşmürsə, Gizli rejimə keçməyə çalışı
|
||||
<string name="revanced_disable_translucent_status_bar_title">Yarımşəffaf mövqe cizgisin qapat</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_on">Mövqe cizgisi qeyri-şəffafdır</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_off">Mövqe cizgisi qeyri-şəffaf və ya şəffafdır</string>
|
||||
<string name="revanced_disable_translucent_status_bar_user_dialog_message">Bəzi cihazlarda bu xüsusiyyət aktivləşməsi sistem fəaliyyət cərgəsini şəffaf-a dəyişə bilər.</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_title">Açıq temada şəffaf cizgini qapat</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">İşıqlı rejim fəaliyyət cərgəsi qeyri-şəffafdır</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">İşıqlı rejim fəaliyyət cərgəsi qeyri-şəffaf və ya şəffafdır</string>
|
||||
@@ -1140,6 +1157,7 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
|
||||
<string name="revanced_miniplayer_type_entry_4">Müasir 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Müasir 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Müasir 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Müasir 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Dairəvi küncləri aktivləşdir</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Künclər dairəvidir</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Künclər kvadratdır</string>
|
||||
@@ -1159,9 +1177,9 @@ Kiçik oynadıcı ekranın istənilən küncünə sürüklənə bilər"</string>
|
||||
|
||||
Kiçik oynadıcı ekrandan sola və ya sağa sürüklənə bilər"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Üfüqi sürükləmə jesti qapatıldı</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">\"Bağla\" düyməsini gizlət</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">\"Bağla\" düyməsi gizlidir</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">\"Bağla\" düyməsi göstərilir</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Örtük düymələrini gizlət</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Örtük düymələri gizlidir</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Örtük düymələri görünür</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Genişləndir və bağla düymələrini gizlət</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Düymələr gizlidir
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Налады ReVanced скінуты да стандартных</string>
|
||||
<string name="revanced_settings_import_success">Імпартавана %d налад</string>
|
||||
<string name="revanced_settings_import_failure_parse">Памылка імпарту: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Паказваць значкі налад ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Значкі налад паказваюцца</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Значкі налад не паказваюцца</string>
|
||||
<string name="revanced_language_title">Мова ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Пераклады для некаторых моў могуць быць адсутнымі або няпоўнымі.
|
||||
|
||||
@@ -1156,6 +1159,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Сучасны 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Сучасны 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Сучасны 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Сучасны 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Включить закругленные углы</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Углы закруглены</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Углы квадратные</string>
|
||||
@@ -1175,14 +1179,14 @@ Second \"item\" text"</string>
|
||||
|
||||
Міні-прайгравальнік можна перацягнуць за межы экрана ўлева ці ўправа"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Горизонтальный жест перетаскивания отключен</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Скрыть кнопку закрытия</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Кнопка закрытия скрыта</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Кнопка закрытия отображается</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Схаваць кнопкі накладання</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Кнопкі накладання схаваныя</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Кнопкі накладання паказаны</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Схаваць кнопкі разгортвання і закрыцця</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Кнопкі схаваны
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Кнопкі схаваныя
|
||||
|
||||
Працягвайце пальцам, каб разгарнуць або закрыць"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Паказваюцца кнопкі разгарнуць і закрыць</string>
|
||||
Правядзіце пальцам, каб разгарнуць ці закрыць"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Кнопкі разгортвання і закрыцця паказаны</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Схаваць падтэксты</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Падтэксты схаваныя</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Паказваюцца падтэксты</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Настройките на ReVanced бяха нулирани</string>
|
||||
<string name="revanced_settings_import_success">Следните настройки бяха импортирани успешно: %d</string>
|
||||
<string name="revanced_settings_import_failure_parse">Импортирането беше неуспешно: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Показване на иконите на настройките на ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Иконите на настройките се показват</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Иконите на настройките не се показват</string>
|
||||
<string name="revanced_language_title">Език на ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Преводите на някои езици може да липсват или да са непълни.
|
||||
|
||||
@@ -1155,6 +1158,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Модерен 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Модерен 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Модерен 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Модерен 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Активирайте заоблени ъгли</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Ъглите са заоблени</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Ъглите са нормални</string>
|
||||
@@ -1174,14 +1178,14 @@ Second \"item\" text"</string>
|
||||
|
||||
Мини плейърът може да бъде плъзган извън екрана наляво или надясно"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Жестът за хоризонтално плъзгане е деактивиран</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Скриване на бутона за затваряне</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Бутонът за затваряне е скрит</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Показан е бутон за затваряне</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Бутони за разширяване и свиване на екрана</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Скриване на бутоните за наслагване</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Бутоните за наслагване са скрити</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Бутоните за наслагване са показани</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Скриване на бутоните за разгъване и затваряне</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Бутоните са скрити
|
||||
|
||||
Плъзнете, за да разгънете или затворите"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Бутони за разширяване и свиване на екрана са видими</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Бутоните за разгъване и затваряне са показани</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Екранни текстове, етикети</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Скрити</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Показват се</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced সেটিং ডিফল্ট সেট করা হয়েছে</string>
|
||||
<string name="revanced_settings_import_success">%d সেটিং আমদানি হয়েছে</string>
|
||||
<string name="revanced_settings_import_failure_parse">আমদানি করা যায়নি: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">ReVanced সেটিং আইকন দেখান</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">সেটিং আইকন দেখানো হয়েছে</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">সেটিং আইকন দেখানো হচ্ছে না</string>
|
||||
<string name="revanced_language_title">ReVanced ভাষা</string>
|
||||
<string name="revanced_language_user_dialog_message">"কিছু ভাষার জন্য অনুবাদ অনুপস্থিত বা অসম্পূর্ণ হতে পারে।
|
||||
|
||||
@@ -1155,6 +1158,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
||||
<string name="revanced_miniplayer_type_entry_4">মর্ডান ১</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">মর্ডান ২</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">মর্ডান ৩</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">আধুনিক ৪</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">গোলাকার কোণ সক্ষম করুন</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">কোণগুলি গোলাকার</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">কোণগুলি বর্গাকার</string>
|
||||
@@ -1174,14 +1178,14 @@ Miniplayer স্ক্রিনের যেকোনো কোণে টান
|
||||
|
||||
Miniplayer স্ক্রিন থেকে বামে বা ডানে টানা যাবে"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">অনুভূমিক ড্র্যাগ অঙ্গভঙ্গি অক্ষম</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">বন্ধ বোতাম লুকান</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">বন্ধ বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">বন্ধ বোতাম দেখানো হচ্ছে</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">বিস্তৃত ও বন্ধ করার বোতাম লুকান</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"বোতামগুলি লুকানো হয়
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">ওভারলে বোতাম লুকান</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">ওভারলে বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">ওভারলে বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">বিস্তৃত এবং বন্ধ বোতাম লুকান</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"বোতাম লুকানো আছে
|
||||
|
||||
বিস্তৃত করতে বা বন্ধ করতে সোয়াইপ করুন"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">বিস্তৃত এবং বন্ধ বোতাম দেখানো হচ্ছে</string>
|
||||
বিস্তৃত করতে বা বন্ধ করতে সোয়াইপ করুন"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">বিস্তৃত এবং বন্ধ করার বোতাম দেখানো হয়েছে</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">উপপাঠ লুকান</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">উপপাঠ লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">উপপাঠ প্রদর্শিত হয়েছে</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">La configuració de ReVanced s\'ha restablert als valors predeterminats</string>
|
||||
<string name="revanced_settings_import_success">S\'han importat %d configuracions</string>
|
||||
<string name="revanced_settings_import_failure_parse">No s\'ha pogut importar: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Mostra les icones de configuració de ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Es mostren les icones de configuració</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">No es mostren les icones de configuració</string>
|
||||
<string name="revanced_language_title">Llenguatge de ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Les traduccions per a algunes llengües poden faltar o ser incompletes.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Habilita cantonades arrodonides</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Les cantonades són arrodonides</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Les cantonades són quadrades</string>
|
||||
@@ -1173,14 +1177,14 @@ El minireproductor es pot arrossegar a qualsevol racó de la pantalla"</string>
|
||||
|
||||
El minireproductor es pot arrossegar fora de la pantalla cap a l'esquerra o la dreta"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gest d\'arrossegar horitzontalment deshabilitat</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Amaga el botó de tancament</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">El botó de tancament està amagat</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">El botó de tancament es mostra</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Amaga els botons d\'expansió i tancament</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Els botons estan ocults
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Amaga els botons de superposició</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Els botons de superposició estan amagats</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Es mostren els botons de superposició</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Amaga els botons per expandir i tancar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"S'han amagat els botons
|
||||
|
||||
Desliza para ampliar o cerrar"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Els botons d\'expansió i tancament es mostren</string>
|
||||
Llisca per expandir o tancar"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Es mostren els botons per expandir i tancar</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Amaga els subtítols</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Els subtítols estan amagats</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Els subtítols es mostren</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Nastavení ReVanced obnoveno do výchozího stavu</string>
|
||||
<string name="revanced_settings_import_success">Importováno %d nastavení</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importováni selhalo: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Zobrazit ikony nastavení ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ikony nastavení se zobrazují</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikony nastavení se nezobrazují</string>
|
||||
<string name="revanced_language_title">Jazyk ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Překlady pro některé jazyky mohou chybět nebo být neúplné.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderní 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderní 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderní 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderní 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Povolit zaoblené rohy</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Rohy jsou zaoblené</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Rohy jsou čtvercové</string>
|
||||
@@ -1173,14 +1177,14 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
|
||||
|
||||
\"Miniplayer\" lze přetáhnout z obrazovky doleva nebo doprava"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Horizontální posun je zakázán</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skrýt tlačítko zavření</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tlačítko zavření je skryto</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Tlačítko zavření je zobrazeno</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skrýt tlačítka pro rozbalení a zavření</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Tlačítka jsou skryta
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skrýt tlačítka překrytí</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tlačítka překrytí jsou skrytá</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Tlačítka překrytí jsou zobrazena</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skrýt tlačítka rozbalení a zavření</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Tlačítka jsou skrytá
|
||||
|
||||
Přejeďte prstem pro rozbalení nebo zavření"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Tlačítka pro rozbalení a zavření jsou zobrazena</string>
|
||||
Rozbalte nebo zavřete přejetím prstem"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Tlačítka rozbalení a zavření jsou zobrazena</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Skrýt podtexty</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Podtexty jsou skryty</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Podtexty jsou zobrazeny</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced-indstillinger nulstillet til standard</string>
|
||||
<string name="revanced_settings_import_success">%d indstillinger importeret</string>
|
||||
<string name="revanced_settings_import_failure_parse">Import mislykkedes: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Vis ReVanced-indstillingsikoner</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Indstillingsikoner vises</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Indstillingsikoner vises ikke</string>
|
||||
<string name="revanced_language_title">ReVanced-sprog</string>
|
||||
<string name="revanced_language_user_dialog_message">"Oversættelser for nogle sprog mangler muligvis eller er ufuldstændige.
|
||||
|
||||
@@ -1100,6 +1103,7 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderne 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderne 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderne 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderne 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Aktiver afrundede hjørner</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Hjørner er afrundede</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Hjørner er firkantede</string>
|
||||
@@ -1119,14 +1123,14 @@ Miniafspiller kan trækkes til et hvilket som helst hjørne af skærmen"</string
|
||||
|
||||
Miniafspiller kan trækkes ud over skærmen til venstre eller højre"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Vandret trækbevægelse deaktiveret</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skjul lukkeknap</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Luk knappen er skjult</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Luk knappen vises</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skjul udvid og luk knapper</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skjul overlay-knapper</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Overlay-knapper er skjult</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Overlay-knapper vises</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skjul udvid- og luk-knapper</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Knapper er skjult
|
||||
|
||||
Stryg for at udvide eller lukke"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Udvid og luk knapper vises</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Udvid- og luk-knapper vises</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Skjul undertekster</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Undertekster er skjult</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Undertekster er vist</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced-Einstellungen auf Standardwerte zurückgesetzt</string>
|
||||
<string name="revanced_settings_import_success">%d Einstellungen importiert</string>
|
||||
<string name="revanced_settings_import_failure_parse">Import fehlgeschlagen: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">ReVanced-Einstellungssymbole anzeigen</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Einstellungssymbole werden angezeigt</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Einstellungssymbole werden nicht angezeigt</string>
|
||||
<string name="revanced_language_title">ReVanced-Sprache</string>
|
||||
<string name="revanced_language_user_dialog_message">"Übersetzungen für einige Sprachen fehlen möglicherweise oder sind unvollständig.
|
||||
|
||||
@@ -1148,6 +1151,7 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Abgerundete Ecken aktivieren</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Ecken sind abgerundet</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Ecken sind Quadrat</string>
|
||||
@@ -1167,14 +1171,14 @@ Der Mini-Player kann in jede Ecke des Bildschirms gezogen werden"</string>
|
||||
|
||||
Der Mini-Player kann mit einer Wischgeste vom Bildschirm nach links oder rechts gezogen werden"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Horizontale Drag Geste deaktiviert</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Schließen-Button ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Schließen-Button ist ausgeblendet</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Schließen-Schaltfläche wird angezeigt</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ausklappen und Schließen der Tasten ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Overlay-Buttons ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Overlay-Buttons sind ausgeblendet</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Overlay-Buttons werden angezeigt</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Schaltflächen zum Erweitern und Schließen ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Schaltflächen sind ausgeblendet
|
||||
|
||||
Wischen Sie, um zu erweitern oder zu schließen"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Erweitern und Schließen Tasten werden angezeigt</string>
|
||||
Zum Erweitern oder Schließen wischen"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Schaltflächen zum Erweitern und Schließen werden angezeigt</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Untertexte ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subtexte sind ausgeblendet</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Untertexte werden angezeigt</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Επαναφέρθηκαν οι προεπιλεγμένες ρυθμίσεις ReVanced</string>
|
||||
<string name="revanced_settings_import_success">Έγινε εισαγωγή %d ρυθμίσεων</string>
|
||||
<string name="revanced_settings_import_failure_parse">Η εισαγωγή απέτυχε: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Εμφάνιση εικονιδίων στις ρυθμίσεις ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Τα εικονίδια ρυθμίσεων εμφανίζονται</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Τα εικονίδια ρυθμίσεων δεν εμφανίζονται</string>
|
||||
<string name="revanced_language_title">Γλώσσα ρυθμίσεων ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Οι μεταφράσεις για κάποιες γλώσσες ενδέχεται να λείπουν ή να είναι ελλιπείς.
|
||||
|
||||
@@ -1156,6 +1159,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Μοντέρνος 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Μοντέρνος 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Μοντέρνος 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Μοντέρνος 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Στρογγυλεμένες γωνίες</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Οι γωνίες είναι στρογγυλεμένες</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Οι γωνίες είναι τετράγωνες</string>
|
||||
@@ -1175,13 +1179,13 @@ Second \"item\" text"</string>
|
||||
|
||||
Η ελαχιστοποιημένη οθόνη μπορεί να συρθεί εκτός οθόνης προς τα αριστερά ή δεξιά"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Η χειρονομία οριζόντιας σύρσης είναι απενεργοποιημένη</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Κουμπί κλεισίματος</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Κουμπιά επικάλυψης οθόνης αναπαραγωγής</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Κρυμμένα</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Εμφανίζονται</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Κουμπιά επέκτασης και κλεισίματος</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Κρυμμένα
|
||||
|
||||
Σύρετε την ελαχιστοποιημένη οθόνη αναπαραγωγής για επέκταση ή κλείσιμο του βίντεο"</string>
|
||||
Σύρετε για να αναπτύξετε ή να κλείσετε"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Εμφανίζονται</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Κείμενα οθόνης αναπαραγωγής</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Κρυμμένα</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Configuración ReVanced restablecida por defecto</string>
|
||||
<string name="revanced_settings_import_success">Configuración importada de %d</string>
|
||||
<string name="revanced_settings_import_failure_parse">Error de importación: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Mostrar iconos de configuración de ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Se muestran los iconos de configuración</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">No se muestran los iconos de configuración</string>
|
||||
<string name="revanced_language_title">Idioma de ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Las traducciones para algunos idiomas pueden faltar o estar incompletas.
|
||||
|
||||
@@ -699,7 +702,7 @@ Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito."</st
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Etiqueta de ubicación oculta</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Etiqueta de ubicación mostrada</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_title">Ocultar el botón Guardar música</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Guardar botón de música está oculto</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">El botón Guardar música está oculto</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Mostrar el botón de guardar música</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Ocultar el botón Usar plantilla</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Botón de plantilla de uso está oculto</string>
|
||||
@@ -1143,6 +1146,7 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderna 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderna 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderna 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderno 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Habilitar esquinas redondeadas</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Las esquinas están redondeadas</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Las esquinas son cuadradas</string>
|
||||
@@ -1162,14 +1166,14 @@ El minireproductor se puede arrastrar a cualquier esquina de la pantalla"</strin
|
||||
|
||||
El minireproductor se puede arrastrar fuera de la pantalla hacia la izquierda o la derecha"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gesto de arrastre horizontal desactivado</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ocultar botón de cerrar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">El botón de cierre está oculto</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Se muestra el botón de cerrar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ocultar botones de expansión y cierre</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ocultar botones de superposición</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Los botones de superposición están ocultos</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Se muestran los botones de superposición</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ocultar botones de expandir y cerrar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Los botones están ocultos
|
||||
|
||||
Desliza para expandir o cerrar"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Mostrar los botones de ampliación y cierre</string>
|
||||
Desliza el dedo para expandir o cerrar"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Se muestran los botones de expandir y cerrar</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Ocultar subtextos</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Los subtextos están ocultos</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Los subtextos se muestran</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVancedi seaded on lähtestatud</string>
|
||||
<string name="revanced_settings_import_success">Imporditi %d seadet</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importimine ebaõnnestus: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Näita ReVancedi seadete ikoone</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Seadete ikoonid on näidatud</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Seadete ikoonid ei ole nähtavad</string>
|
||||
<string name="revanced_language_title">Revancedi keel</string>
|
||||
<string name="revanced_language_user_dialog_message">"Mõnede keelte tõlked võivad olla puudulikud või ebatäielikud.
|
||||
|
||||
@@ -1155,6 +1158,7 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
|
||||
<string name="revanced_miniplayer_type_entry_4">Kaasaegne 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Kaasaegne 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Kaasaegne 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moodne 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Lülita ümarate nurkade režiim sisse</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Nurgad on ümarad</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Nurgad on ruudukujulised</string>
|
||||
@@ -1174,14 +1178,14 @@ Minimaalset mängijat saab lohistada ekraani mis tahes nurka"</string>
|
||||
|
||||
Minimaalset mängijat saab lohistada ekraanilt vasakule või paremale"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Horisontaalse lohistamise žest on keelatud</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Peida sulgemisnupp</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Sulgemisnupp on peidetud</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Sulgemisnupp on nähtav</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Peida laiendamis- ja sulgemisnupud</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Peida ülekatteliidese nupud</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Ülekatteliidese nupud on peidetud</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Ülekatteliidese nupud on nähtaval</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Peida laiendus- ja sulgemisnupud</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nupud on peidetud
|
||||
|
||||
Pühkige laiendamiseks või sulgemiseks"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Laiendamis- ja sulgemisnupud on nähtavad</string>
|
||||
Laiendamiseks või sulgemiseks libista"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Laiendus- ja sulgemisnupud on nähtaval</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Peida alatähed</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Alatähed on peidetud</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Alatähed on nähtavad</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Revanced-asetukset nollattiin</string>
|
||||
<string name="revanced_settings_import_success">%d asetusta tuotiin</string>
|
||||
<string name="revanced_settings_import_failure_parse">Tuonti epäonnistui: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Näytä ReVanced-asetuskuvakkeet</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Asetuskuvakkeet näytetään</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Asetuskuvakkeita ei näytetä</string>
|
||||
<string name="revanced_language_title">ReVancedin kieli</string>
|
||||
<string name="revanced_language_user_dialog_message">"Joidenkin kielten käännökset saattavat puuttua tai olla puutteellisia.
|
||||
|
||||
@@ -226,6 +229,9 @@ Et saa ilmoituksia odottamattomista tapahtumista."</string>
|
||||
<string name="revanced_hide_artist_cards_title">Piilota artistikortit</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Artistikortit on piilotettu</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Artistikortit näytetään</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Piilota \"tekoälyn luoma videoyhteenveto\"</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Videon yhteenveto-osio on piilotettu</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Videon yhteenveto-osio näytetään</string>
|
||||
<string name="revanced_hide_attributes_section_title">Piilota Määritteet</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">Esitellyt paikat, Pelit, Musiikki ja Mainitut ihmiset -osiot on piilotettu</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">Esitellyt paikat, Pelit, Musiikki ja Mainitut ihmiset -osiot näytetään</string>
|
||||
@@ -262,8 +268,12 @@ Et saa ilmoituksia odottamattomista tapahtumista."</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Näytetään liittyvissä videoissa</string>
|
||||
<string name="revanced_comments_screen_title">Kommentit</string>
|
||||
<string name="revanced_comments_screen_summary">Piilota tai näytä kommenttiosion osia</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Piilota tekoälyn luoma chat-yhteenveto</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Chat-yhteenveto on piilotettu</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Chat-yhteenveto näytetään</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Piilota tekoälyn luoma kommenttiyhteenveto</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Kommenttien yhteenveto on piilotettu</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Kommenttien yhteenveto näytetään</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">Piilota \"Jäsenten kommentit\" -ylätunniste</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Jäsenten kommentit -ylätunniste on piilotettu</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Jäsenten kommentit -ylätunniste näytetään</string>
|
||||
@@ -423,6 +433,9 @@ Tämä ominaisuus on käytettävissä vain vanhemmilla laitteilla"</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">Ele on käytössä</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">Ota kelaus napauttamalla käyttöön</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">Kelaus napauttamalla on käytössä</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">Kelaus napauttamalla ei ole käytössä</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">Ota kirkkauden ele käyttöön</string>
|
||||
@@ -435,6 +448,9 @@ Säädä kirkkautta pyyhkäisemällä pystysuoraan näytön vasemmalla puolella"
|
||||
|
||||
Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta puolella"</string>
|
||||
<string name="revanced_swipe_volume_summary_off">Koko näytön äänenvoimakkuuden pyyhkäisy ei ole käytössä</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">Ota pyyhkäise painamalla -ele käyttöön</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">Pyyhkäise painamalla -ele on käytössä</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">Pyyhkäise painamalla -ele ei ole käytössä</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">Ota haptinen palaute käyttöön</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">Haptinen palaute on käytössä</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">Haptinen palaute ei ole käytössä</string>
|
||||
@@ -542,6 +558,7 @@ Jos tämän asetuksen muuttaminen ei tule voimaan, kokeile vaihtaa Incognito-til
|
||||
<string name="revanced_disable_translucent_status_bar_title">Poista läpikuultava tilapalkki käytöstä</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_on">Tilapalkki on läpinäkymätön</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_off">Tilapalkki on läpinäkymätön tai läpikuultava</string>
|
||||
<string name="revanced_disable_translucent_status_bar_user_dialog_message">Joillakin laitteilla tämän ominaisuuden käyttöönotto voi muuttaa järjestelmän navigointipalkin läpinäkyväksi.</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_title">Poista vaalea läpikuultava palkki käytöstä</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">Vaalean tilan navigointipalkki on läpinäkymätön</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Vaalean tilan navigointipalkki on läpinäkymätön tai läpikuultava</string>
|
||||
@@ -1141,6 +1158,7 @@ Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovel
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderni 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderni 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderni 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderni 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Ota pyöristetyt kulmat käyttöön</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Kulmat on pyöristetty</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Kulmat ovat suorakulmaisia</string>
|
||||
@@ -1160,9 +1178,9 @@ Minisoitin voidaan vetää mihin tahansa näytön kulmaan"</string>
|
||||
|
||||
Minisoitin voidaan vetää pois näytöltä vasemmalle tai oikealle"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Vaakasuuntainen vetoele ei ole käytössä</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Piilota sulje-painike</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Sulje-painike on piilotettu</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Sulje-painike näytetään</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Piilota peittokuvan painikkeet</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Peittokuvan painikkeet on piilotettu</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Peittokuvan painikkeet näytetään</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Piilota laajenna- ja sulje-painikkeet</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Painikkeet piilotetaan
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">I-reset ang mga ReVanced na setting sa default</string>
|
||||
<string name="revanced_settings_import_success">Na-import ang %d na mga setting</string>
|
||||
<string name="revanced_settings_import_failure_parse">Nabigo ang pag-import: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Ipakita ang mga icon ng setting ng ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ipinapakita ang mga icon ng setting</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Hindi ipinapakita ang mga icon ng setting</string>
|
||||
<string name="revanced_language_title">Wika ng ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Ang mga pagsasalin para sa ilang mga wika ay maaaring nawawala o hindi kumpleto.
|
||||
|
||||
@@ -1153,6 +1156,7 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderno 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderno 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Makabagong 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Paganahin ang mga bilugan na sulok</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Bilugan ang mga sulok</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Parihaba ang mga sulok</string>
|
||||
@@ -1172,14 +1176,14 @@ Ang \"miniplayer\" ay maaaring i-drag sa anumang sulok ng screen"</string>
|
||||
|
||||
Ang \"miniplayer\" ay maaaring i-drag palabas ng screen sa kaliwa o kanan"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Hindi pinagana ang pahalang na drag gesture</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Itago ang pindutan ng pagsara</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Nakatago ang pindutan ng pagsara</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Ipinapakita ang pindutan ng pagsara</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Itago ang mga button na palawakin at isara</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Ang mga pindutan ay nakatago
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Itago ang mga button ng overlay</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Nakatago ang mga button ng overlay</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Ipinapakita ang mga button ng overlay</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Itago ang mga button para palawakin at isara</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nakatago ang mga button
|
||||
|
||||
Mag-swipe upang palawakin o isara"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Ang mga pindutan ng palawakin at isara ay ipinapakita</string>
|
||||
Mag-swipe para palawakin o isara"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Ipinapakita ang mga button para palawakin at isara</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Itago ang mga subtext</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Nakatago ang mga subtext</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Ipinapakita ang mga subtext</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Paramètres ReVanced réinitialisés aux valeurs par défaut</string>
|
||||
<string name="revanced_settings_import_success">%d paramètres importés</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importation échouée : %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Afficher les icônes des paramètres ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Les icônes des paramètres sont affichées</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Les icônes des paramètres ne sont pas affichées</string>
|
||||
<string name="revanced_language_title">Langue de ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Il se peut que les traductions dans certaines langues soient manquantes ou incomplètes.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Si désactivé ultérieurement, il est recommandé d'effacer les données de l'a
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderne 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderne 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderne 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderne 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Activer les coins arrondis</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Les coins sont arrondis</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Les coins sont carrés</string>
|
||||
@@ -1173,13 +1177,13 @@ Le lecteur réduit peut être déplacé vers n'importe quel coin de l'écran"</s
|
||||
|
||||
Le lecteur réduit peut être déplacé hors de l'écran, à gauche comme à droite"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Geste de déplacement horizontal désactivé</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Masquer le bouton de fermeture</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Le bouton de fermeture est masqué</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Le bouton de fermeture est affiché</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Masquer les boutons en superposition</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Les boutons en superposition sont masqués</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Les boutons en superposition sont affichés</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Masquer les boutons Agrandir et Fermer</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Les boutons sont masqués
|
||||
|
||||
Balayez pour développer ou fermer"</string>
|
||||
Balayez pour agrandir ou fermer"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Les boutons Agrandir et Fermer sont affichés</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Masquer les sous-textes</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Les sous-textes sont masqués</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Athshocraigh socruithe ReVanced go réamhshocrú</string>
|
||||
<string name="revanced_settings_import_success">Iompórtáladh %d socruithe</string>
|
||||
<string name="revanced_settings_import_failure_parse">Theip ar allmhairiú: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Taispeáin deilbhíní socruithe ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Taispeántar deilbhíní socruithe</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ní thaispeántar deilbhíní socraithe</string>
|
||||
<string name="revanced_language_title">Teanga ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"D'fhéadfadh aistriúcháin do roinnt teangacha a bheith ar iarraidh nó mí-iomlán.
|
||||
|
||||
@@ -1155,6 +1158,7 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
|
||||
<string name="revanced_miniplayer_type_entry_4">Nua-aimseartha 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Nua-Aimseartha 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Nua-aimseartha 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Nua-aimseartha 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Cumasaigh coirnéil chothromú</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Déantar coirnéil a shlánú</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Tá coirnéil cearnach</string>
|
||||
@@ -1174,14 +1178,14 @@ Is féidir an mhion-imreoir a tharraingt go haon chúinne den scáileán"</strin
|
||||
|
||||
Is féidir an mhion-imreoir a tharraingt as an scáileán ar chlé nó ar dheis"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Díchumasaíodh an comhartha tarraingthe cothrománach</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Folaigh cnaipe dúnta</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tá an cnaipe dúnta i bhfolach</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Taispeántar an cnaipe dúnta</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Folaigh cnaipí leathnú agus dún</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Folaigh cnaipí forleathana</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tá cnaipí forleathana i bhfolach</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Taispeántar cnaipí forleathana</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Folaigh cnaipí leathnaithe agus dún</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Tá cnaipí i bhfolach
|
||||
|
||||
Swipe chun leathnú nó dúnadh"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Taispeántar cnaipí leathnaigh agus dún</string>
|
||||
Svaidhpeáil chun leathnú nó dúnadh"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Taispeántar cnaipí leathnaithe agus dún</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Folaigh fothéacsanna</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Tá fothéacsanna i bhfolach</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Taispeántar fothéacsanna</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">A ReVanced beállítások visszaállnak az alapértelmezettre</string>
|
||||
<string name="revanced_settings_import_success">%d beállítás importálva</string>
|
||||
<string name="revanced_settings_import_failure_parse">Sikertelen importálás: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">ReVanced beállításikonok megjelenítése</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">A beállításikonok láthatók</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">A beállítások ikonjai nem jelennek meg</string>
|
||||
<string name="revanced_language_title">ReVanced nyelve</string>
|
||||
<string name="revanced_language_user_dialog_message">"A fordítások hiányozhatnak vagy hiányosak lehetnek néhány nyelven.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Lekerekített sarkok engedélyezése</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">A sarkok lekerekítettek</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">A sarkok négyzet alakúak</string>
|
||||
@@ -1173,10 +1177,10 @@ A miniatűr képernyőt a képernyő bármely sarkába húzhatja"</string>
|
||||
|
||||
A miniatűr képernyőt a képernyő bal vagy jobb szélére húzhatja"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">A vízszintes húzómozdulat letiltva</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Bezárás gomb elrejtése</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">A Bezárás gomb el van rejtve</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">A Bezárás gomb látható</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Kibontás és bezárás gombok elrejtése</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Fedőgomb elrejtése</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">A fedőgombok rejtve vannak</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">A fedőgombok láthatók</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">A kibontás és bezárás gombok elrejtése</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"A gombok el vannak rejtve
|
||||
|
||||
Húzza el a képernyőt a kibontáshoz vagy bezáráshoz"</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced կարգավորումները վերադրվել են դեֆոլտային</string>
|
||||
<string name="revanced_settings_import_success">Import %d կարգավորում</string>
|
||||
<string name="revanced_settings_import_failure_parse">Import-ը ձախողվել է։ %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Ցուցադրել ReVanced-ի կարգավորումների պատկերակները</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Կարգավորումների պատկերակները ցուցադրվում են</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Կարգավորումների պատկերակները ցուցադրված չեն</string>
|
||||
<string name="revanced_language_title">ReVanced լեզվի</string>
|
||||
<string name="revanced_language_user_dialog_message">"Որոշ լեզուների թարգմանությունները կարող են լինել բացակայուն կամ անավարտ:
|
||||
|
||||
@@ -1155,6 +1158,7 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
|
||||
<string name="revanced_miniplayer_type_entry_4">Ժամանակակից 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Ժամանակակից 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Ժամանակակից 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Ժամանակակից 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Աктиվացնել կլորացված անկյունները</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Անկյունները կլորացված են</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Անկյունները քառակուսի են</string>
|
||||
@@ -1174,14 +1178,14 @@ Mini-player-ը կարող է գրավվել էկրանի ցանկացած անկ
|
||||
|
||||
Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի ձախ կամ աջ։"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Հորիզոնական քարշելու ժեստը անջատված է</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Թաքցնել փակման կոճակը</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Փակման կոճակը թաքցված է</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Փակման կոճակը ցուցադրվում է</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Թաքցնել ընդլայնման և փակման կոճակները</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Կոճակները թաքցվում են
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Թաքցնել վերադիր կոճակները</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Վերադիր կոճակները թաքցված են</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Վերադիր կոճակները ցուցադրվում են</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Թաքցնել ընդարձակման և փակման կոճակները</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Կոճակները թաքցված են
|
||||
|
||||
Գրավել՝ մեծացնելու կամ փակելու համար։"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Ընդլայնման և փակման կոճակները ցուցադրվում են</string>
|
||||
Սահեցրեք՝ ընդարձակելու կամ փակելու համար"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Ընդարձակման և փակման կոճակները ցուցադրվում են</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Թաքցնել ենթատեքստերը</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Ենթատեքստերը թաքցված են</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Ենթատեքստերը ցուցադրվում են</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Pengaturan ReVanced diatur ke setelan awal</string>
|
||||
<string name="revanced_settings_import_success">Mengimpor setelan %d</string>
|
||||
<string name="revanced_settings_import_failure_parse">Impor gagal: %s</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>
|
||||
<string name="revanced_language_title">Bahasa ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Terjemahan untuk beberapa bahasa mungkin hilang atau tidak lengkap.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Aktifkan sudut membulat</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Sudutnya membulat</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Sudutnya persegi</string>
|
||||
@@ -1173,14 +1177,14 @@ Miniplayer dapat diseret ke sudut layar mana pun"</string>
|
||||
|
||||
Miniplayer dapat diseret keluar layar ke kiri atau kanan"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gerakan seret horizontal dinonaktifkan</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Sembunyikan tombol tutup</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tombol tutup disembunyikan</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Tombol tutup ditampilkan</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Sembunyikan perbesar dan tutup</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Sembunyikan tombol hamparan</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tombol hamparan disembunyikan</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Tombol hamparan ditampilkan</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Sembunyikan tombol perluas dan tutup</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Tombol disembunyikan
|
||||
|
||||
Usap untuk memperluas atau menutup"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Tombol bentang dan tutup ditampilkan</string>
|
||||
Geser untuk memperluas atau menutup"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Tombol perluas dan tutup ditampilkan</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Sembunyikan subteks</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subteks disembunyikan</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Subteks ditampilkan</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Reimposta le impostazioni di ReVanced a quelle predefinite</string>
|
||||
<string name="revanced_settings_import_success">Importate %d impostazioni</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importazione non riuscita: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Mostra le icone delle impostazioni di ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Le icone delle impostazioni vengono mostrate</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Le icone delle impostazioni non vengono mostrate</string>
|
||||
<string name="revanced_language_title">Lingua di ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Le traduzioni per alcune lingue potrebbero essere mancanti o incomplete.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderno 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderno 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderno 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Abilita angoli arrotondati</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Gli angoli sono arrotondati</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Gli angoli sono quadrati</string>
|
||||
@@ -1173,13 +1177,13 @@ Il riproduttore minimizzato può essere trascinato in qualsiasi angolo dello sch
|
||||
|
||||
Il riproduttore minimizzato può essere trascinato fuori dallo schermo a sinistra o a destra"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gesto di trascinamento orizzontale disabilitato</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Nascondi pulsante di chiusura</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Il pulsante di chiusura è nascosto</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Il pulsante Chiudi è visibile</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Nascondi i pulsanti Espandi e Chiudi</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Nascondi i pulsanti di overlay</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">I pulsanti di overlay sono nascosti</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">I pulsanti di overlay sono visualizzati</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Nascondi i pulsanti di espansione e chiusura</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"I pulsanti sono nascosti
|
||||
|
||||
Scorrere per espandere o chiudere"</string>
|
||||
Scorri per espandere o chiudere"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">I pulsanti Espandi e chiudi sono visibili</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Nascondi sottotitoli</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">I sottotitoli sono nascosti</string>
|
||||
|
||||
@@ -1141,6 +1141,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">מודרני 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">מודרני 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">מודרני 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">מודרני 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">הפעל פינות מעוגלות</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">הפינות מעוגלות</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">הפינות מרובעות</string>
|
||||
@@ -1160,9 +1161,6 @@ Second \"item\" text"</string>
|
||||
|
||||
מיני-נגן ניתן לגרירה מחוץ למסך לשמאל או לימין"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">מחוות גרירה אופקית מושבתת</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">הסתר לחצן סגירה</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">לחצן סגירה מוסתר</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">לחצן סגירה מוצג</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">הסתר לחצני סגירה והרחבה</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"הלחצנים מוסתרים
|
||||
|
||||
|
||||
@@ -43,7 +43,10 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced 設定をデフォルトにリセット</string>
|
||||
<string name="revanced_settings_import_success">%d 個の設定をインポートしました</string>
|
||||
<string name="revanced_settings_import_failure_parse">インポート失敗: %s</string>
|
||||
<string name="revanced_language_title">ReVancedの言語</string>
|
||||
<string name="revanced_show_menu_icons_title">ReVanced 設定にアイコンを表示する</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">ReVanced 設定にアイコンが表示されます</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">ReVanced 設定にアイコンは表示されません</string>
|
||||
<string name="revanced_language_title">ReVanced の言語</string>
|
||||
<string name="revanced_language_user_dialog_message">"一部の言語の翻訳が不足しているか、不完全である可能性があります。
|
||||
|
||||
新しい言語を翻訳するには、 translate.revanced.app にアクセスしてください"</string>
|
||||
@@ -66,7 +69,7 @@ Second \"item\" text"</string>
|
||||
|
||||
下記ウェブサイト「Don't kill my app」の携帯電話メーカー別のガイドに従い、MicroG GmsCore に対するデバイスの設定を変更してください。
|
||||
|
||||
この操作はアプリが動作するために必要です。"</string>
|
||||
この操作はアプリが正常に動作するために必要です。"</string>
|
||||
<string name="gms_core_dialog_open_website_text">ウェブサイトを開く</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"問題を防ぐために、MicroG GmsCore に対する電池の最適化を必ず無効にしてください。
|
||||
|
||||
@@ -365,8 +368,8 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
|
||||
<string name="revanced_hide_products_banner_summary_on">動画上に「商品を表示」ボタンや商品ボタンは表示されません</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">動画上に「商品を表示」ボタンや商品ボタンが表示されます</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">終了画面のストア バナーを非表示</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">終了画面のストア バナーは表示されません</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">終了画面のストア バナーは表示されます</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">動画の終了画面にストア バナーは表示されません</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">動画の終了画面にストア バナーが表示されます</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">ストア広告を非表示</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">ストア広告は表示されません</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">ストア広告は表示されます</string>
|
||||
@@ -438,18 +441,18 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">明るさジェスチャーを有効にする</string>
|
||||
<string name="revanced_swipe_brightness_summary_on">"全画面表示の明るさジェスチャーは有効です
|
||||
<string name="revanced_swipe_brightness_summary_on">"全画面表示中の明るさジェスチャーは有効です
|
||||
|
||||
画面の左側を縦にスワイプして明るさを調節します"</string>
|
||||
<string name="revanced_swipe_brightness_summary_off">全画面表示の明るさジェスチャーは無効です</string>
|
||||
画面左側を縦にスワイプして明るさを調節します"</string>
|
||||
<string name="revanced_swipe_brightness_summary_off">全画面表示中の明るさジェスチャーは無効です</string>
|
||||
<string name="revanced_swipe_volume_title">音量ジェスチャーを有効にする</string>
|
||||
<string name="revanced_swipe_volume_summary_on">"全画面表示の音量ジェスチャーは有効です
|
||||
<string name="revanced_swipe_volume_summary_on">"全画面表示中の音量ジェスチャーは有効です
|
||||
|
||||
画面の右側を縦にスワイプして音量を調節します"</string>
|
||||
<string name="revanced_swipe_volume_summary_off">全画面表示の音量ジェスチャーは無効です</string>
|
||||
画面右側を縦にスワイプして音量を調節します"</string>
|
||||
<string name="revanced_swipe_volume_summary_off">全画面表示中の音量ジェスチャーは無効です</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">長押しスワイプを有効にする</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">画面を縦に長押しスワイプして明るさや音量を調節します</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">画面を縦にスワイプして明るさや音量を調節します</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">全画面表示中、画面を長押ししてから縦にスワイプして明るさや音量を調節します</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">全画面表示中、画面を縦にスワイプして明るさや音量を調節します</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">触覚フィードバックを有効にする</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">触覚フィードバックは有効です</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">触覚フィードバックは無効です</string>
|
||||
@@ -768,7 +771,7 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
<string name="revanced_end_screen_suggested_video_title">再生終了時に「関連動画」を表示しない</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_on">"自動再生を無効にすると、再生終了時に「関連動画」は表示されません
|
||||
<string name="revanced_end_screen_suggested_video_summary_on">"再生終了時に「関連動画」は表示されませんが、自動再生がオンの場合は自動で再生されます
|
||||
|
||||
自動再生の設定は YouTube の設定で変更できます:
|
||||
設定 → 再生 → 次の動画を自動再生"</string>
|
||||
@@ -872,29 +875,29 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">シーク位置のサムネイルがプレーヤー画面全体に表示されます</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">SponsorBlock を有効化</string>
|
||||
<string name="revanced_sb_enable_sb_sum">SponsorBlock はユーザーからの情報提供により 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>
|
||||
<string name="revanced_sb_enable_voting_sum_off">セグメント投票ボタンは表示されません</string>
|
||||
<string name="revanced_sb_square_layout">正方形のレイアウトを使用</string>
|
||||
<string name="revanced_sb_square_layout_sum_on">ボタンとコントロールが正方形になります</string>
|
||||
<string name="revanced_sb_square_layout_sum_off">ボタンとコントロールは丸みを帯びています</string>
|
||||
<string name="revanced_sb_enable_voting_sum_on">プレーヤー オーバーレイにセグメントへの投票ボタンが表示されます</string>
|
||||
<string name="revanced_sb_enable_voting_sum_off">プレーヤー オーバーレイにセグメントへの投票ボタンは表示されません</string>
|
||||
<string name="revanced_sb_square_layout">四角ボタンを使用する</string>
|
||||
<string name="revanced_sb_square_layout_sum_on">ボタンとコントロールの角は直角です</string>
|
||||
<string name="revanced_sb_square_layout_sum_off">ボタンとコントロールの角は丸角です</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">コンパクトな「スキップ」ボタンを使用</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">スキップボタンはコンパクトに表示されます</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">スキップボタンは最適なサイズで表示されます</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">「スキップ」ボタンを自動的に非表示</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_enable_compact_skip_button">コンパクトなスキップボタンを使用する</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">ボタンに「スキップ」とだけ表示されます</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">ボタンにカテゴリー名が表示されます</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">スキップボタンを自動的に非表示にする</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_general_skiptoast">スキップ時にトーストを表示</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">セグメントが自動的にスキップされたときにトースト ポップアップが表示されます。例を見るにはここをタップしてください</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">セグメントが自動的にスキップされたときにトースト ポップアップが表示されます。ここをタップするとサンプルが表示されます</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">トースト ポップアップは表示されません。例を見るにはここをタップしてください</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">セグメントを除いた再生時間を表示</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_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>
|
||||
@@ -936,59 +939,59 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
|
||||
|
||||
ユーザー ID はパスワードのようなものであり、共有しないでください。"</string>
|
||||
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">今後表示しない</string>
|
||||
<string name="revanced_sb_diff_segments">セグメントの動作を変更する</string>
|
||||
<string name="revanced_sb_diff_segments">セグメントのスキップ</string>
|
||||
<string name="revanced_sb_segments_sponsor">スポンサー</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">有料プロモーション, 有料紹介と直接広告. ない原因/原因/クリエイター/ウェブサイト/製品への自己宣伝または無料シャウトアウト 彼らが好きなもの</string>
|
||||
<string name="revanced_sb_segments_selfpromo">無報酬/セルフプロモーション</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">スポンサーと同様に、無給または自己宣伝の場合。商品、寄付、またはコラボレーション相手に関する情報を記載したセクションが含まれます</string>
|
||||
<string name="revanced_sb_segments_interaction">インタラクション リマインダー (チャンネル登録)</string>
|
||||
<string name="revanced_sb_segments_interaction_sum">コンテンツの途中で、購読したりフォローしたりするための短いリマインダーです。 それが長いまたは特定の何かについてである場合、それは代わりに自己宣伝の下にあるべきである。</string>
|
||||
<string name="revanced_sb_segments_highlight">強調表示</string>
|
||||
<string name="revanced_sb_segments_highlight_sum">動画の中で多くの人々が見たい部分</string>
|
||||
<string name="revanced_sb_segments_intro">休憩/イントロ アニメーション</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">有料の宣伝 、紹介、直接広告。自己宣伝や好みのクリエーター、ウェブサイト、製品、慈善活動などの無報酬の宣伝は含まれません</string>
|
||||
<string name="revanced_sb_segments_selfpromo">無報酬の宣伝 / 自己宣伝</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">無報酬または自己宣伝である、という点以外は「スポンサー」と同様です。商品、寄付、コラボ相手に関する宣伝を含みます</string>
|
||||
<string name="revanced_sb_segments_interaction">視聴者への催促 (登録)</string>
|
||||
<string name="revanced_sb_segments_interaction_sum">動画中に差し込まれる視聴者への高評価、チャンネル登録、フォローなどの短時間の催促。時間的に長い、または何か具体的なものに関する催促は「視聴者への催促」ではなく「自己宣伝」に分類すべきです</string>
|
||||
<string name="revanced_sb_segments_highlight">ハイライト</string>
|
||||
<string name="revanced_sb_segments_highlight_sum">動画の中で最も興味を引く場面</string>
|
||||
<string name="revanced_sb_segments_intro">幕間 / オープニング (イントロ)</string>
|
||||
<string name="revanced_sb_segments_intro_sum">実際のコンテンツを含まない間隔。一時停止、固定フレーム、繰り返しアニメーションを使用できます。情報を含むトランジションは含まれません。</string>
|
||||
<string name="revanced_sb_segments_outro">エンドカード/クレジット</string>
|
||||
<string name="revanced_sb_segments_outro">終了画面 / クレジット (アウトロ)</string>
|
||||
<string name="revanced_sb_segments_outro_sum">クレジットまたはYouTubeのエンドカードが表示される場合、情報を持つ結論にはなりません</string>
|
||||
<string name="revanced_sb_segments_preview">プレビュー/再読み込み/フック</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_sum">Tangential シーンは、ビデオの主な内容を理解する必要がないフィラーやユーモアにのみ追加されました。 コンテキストや背景の詳細を提供するセグメントが含まれていません</string>
|
||||
<string name="revanced_sb_segments_nomusic">音楽: 音楽ではない区間</string>
|
||||
<string name="revanced_sb_segments_nomusic_sum">ミュージックビデオでのみ使用できます。音楽がないミュージックビデオのセクションでは、別のカテゴリでカバーされていません。</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>
|
||||
<string name="revanced_sb_skip_button_compact">スキップ</string>
|
||||
<string name="revanced_sb_skip_button_compact_highlight">強調表示</string>
|
||||
<string name="revanced_sb_skip_button_sponsor">スポンサーをスキップ</string>
|
||||
<string name="revanced_sb_skip_button_selfpromo">プロモーションをスキップ</string>
|
||||
<string name="revanced_sb_skip_button_interaction">対話をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_highlight">スキップ</string>
|
||||
<string name="revanced_sb_skip_button_intro_beginning">イントロをスキップ</string>
|
||||
<string name="revanced_sb_skip_button_intro_middle">間隔をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_intro_end">間隔をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_outro">アウトロをスキップ</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_nomusic">音楽以外をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_compact_highlight">ハイライト</string>
|
||||
<string name="revanced_sb_skip_button_sponsor">「 スポンサー」をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_selfpromo">「自己宣伝」をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_interaction">「催促」をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_highlight">「ハイライト」までスキップ</string>
|
||||
<string name="revanced_sb_skip_button_intro_beginning">「イントロ」をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_intro_middle">「幕間」をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_intro_end">「幕間」をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_outro">「アウトロ」をスキップ</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_nomusic">「楽曲以外」をスキップ</string>
|
||||
<string name="revanced_sb_skip_button_unsubmitted">セグメントをスキップ</string>
|
||||
<string name="revanced_sb_skipped_sponsor">スキップしたスポンサー</string>
|
||||
<string name="revanced_sb_skipped_selfpromo">スキップしたセルフプロモーション</string>
|
||||
<string name="revanced_sb_skipped_interaction">スキップした迷惑なリマインダー</string>
|
||||
<string name="revanced_sb_skipped_highlight">ハイライト表示にスキップ</string>
|
||||
<string name="revanced_sb_skipped_intro_beginning">スキップしたイントロ</string>
|
||||
<string name="revanced_sb_skipped_intro_middle">スキップされた休憩時間</string>
|
||||
<string name="revanced_sb_skipped_intro_end">スキップされた休憩時間</string>
|
||||
<string name="revanced_sb_skipped_outro">スキップしたアウトロ</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_nomusic">スキップした無音</string>
|
||||
<string name="revanced_sb_skipped_sponsor">「スポンサー」をスキップしました</string>
|
||||
<string name="revanced_sb_skipped_selfpromo">「自己宣伝」をスキップしました</string>
|
||||
<string name="revanced_sb_skipped_interaction">「視聴者への催促」をスキップしました</string>
|
||||
<string name="revanced_sb_skipped_highlight">「ハイライト」までスキップしました</string>
|
||||
<string name="revanced_sb_skipped_intro_beginning">「イントロ」をスキップしました</string>
|
||||
<string name="revanced_sb_skipped_intro_middle">「幕間」をスキップしました</string>
|
||||
<string name="revanced_sb_skipped_intro_end">「幕間」をスキップしました</string>
|
||||
<string name="revanced_sb_skipped_outro">「アウトロ」をスキップしました</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_nomusic">「楽曲以外の区間」をスキップしました</string>
|
||||
<string name="revanced_sb_skipped_unsubmitted">未送信のセグメントをスキップしました</string>
|
||||
<string name="revanced_sb_skipped_multiple_segments">複数のセグメントをスキップ</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_automatically_once">1 回だけ自動的にスキップ</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>
|
||||
@@ -1053,9 +1056,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
|
||||
<string name="revanced_sb_stats_saved"><b>%s</b> 個のセグメントから人々を救いました</string>
|
||||
<string name="revanced_sb_stats_saved_sum_zero">ここをタップすると、世界的な統計とトップの貢献者を見ることができます</string>
|
||||
<string name="revanced_sb_stats_saved_sum">それは <b>%s</b> の生活です。<br>ここをタップしてリーダーボードを見る</string>
|
||||
<string name="revanced_sb_stats_self_saved"><b>%s</b> セグメントをスキップしました</string>
|
||||
<string name="revanced_sb_stats_self_saved">合計で <b>%s</b> 個のセグメントをスキップしました</string>
|
||||
<string name="revanced_sb_stats_self_saved_sum"><b>%s</b></string>
|
||||
<string name="revanced_sb_stats_self_saved_reset_title">スキップされたセグメントカウンターをリセットしますか?</string>
|
||||
<string name="revanced_sb_stats_self_saved_reset_title">スキップしたセグメントの合計をリセットしますか?</string>
|
||||
<string name="revanced_sb_stats_saved_hour_format">%1$s時間%2$s分</string>
|
||||
<string name="revanced_sb_stats_saved_minute_format">%1$s 分 %2$s 秒</string>
|
||||
<string name="revanced_sb_stats_saved_second_format">%s 秒</string>
|
||||
@@ -1100,11 +1103,11 @@ Automotive レイアウト
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - ナビゲーション アイコンが旧バージョン</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
<string name="revanced_change_start_page_title">起動画面</string>
|
||||
<string name="revanced_change_start_page_title">スタート画面</string>
|
||||
<string name="revanced_change_start_page_entry_default">デフォルト</string>
|
||||
<string name="revanced_change_start_page_entry_all_subscriptions">すべての登録チャンネル</string>
|
||||
<string name="revanced_change_start_page_entry_browse">チャンネル一覧</string>
|
||||
<string name="revanced_change_start_page_entry_courses">コース / 学び</string>
|
||||
<string name="revanced_change_start_page_entry_courses">学び</string>
|
||||
<string name="revanced_change_start_page_entry_explore">探索</string>
|
||||
<string name="revanced_change_start_page_entry_fashion">ファッションと美容</string>
|
||||
<string name="revanced_change_start_page_entry_gaming">ゲーム</string>
|
||||
@@ -1112,7 +1115,7 @@ Automotive レイアウト
|
||||
<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>
|
||||
<string name="revanced_change_start_page_entry_movies">映画</string>
|
||||
<string name="revanced_change_start_page_entry_movies">映画とテレビ</string>
|
||||
<string name="revanced_change_start_page_entry_music">音楽</string>
|
||||
<string name="revanced_change_start_page_entry_news">ニュース</string>
|
||||
<string name="revanced_change_start_page_entry_notifications">通知</string>
|
||||
@@ -1156,6 +1159,7 @@ Automotive レイアウト
|
||||
<string name="revanced_miniplayer_type_entry_4">モダン 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">モダン 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">モダン 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">モダン 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">角を丸くする</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">ミニプレーヤーの四角は丸角です</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">ミニプレーヤーの四角は直角です</string>
|
||||
@@ -1175,9 +1179,9 @@ Automotive レイアウト
|
||||
|
||||
ミニプレーヤーを画面の左または右端で最小化できます"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">横方向ドラッグ ジェスチャーは無効です</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">閉じるボタンを非表示</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">閉じるボタンは表示されません</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">閉じるボタンは表示されます</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">オーバーレイ ボタンを非表示</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">オーバーレイ ボタンは表示されません</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">オーバーレイ ボタンは表示されます</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">拡大ボタンと閉じるボタンを非表示</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"ボタンは表示されません
|
||||
|
||||
@@ -1186,7 +1190,7 @@ Automotive レイアウト
|
||||
<string name="revanced_miniplayer_hide_subtext_title">サブテキストを非表示</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">サブテキストは表示されません</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">サブテキストは表示されます</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_title">早送り / 巻き戻しボタンを非表示</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>
|
||||
@@ -1280,8 +1284,8 @@ DeArrow の詳細については、ここをタップしてください"</string
|
||||
<string name="revanced_spoof_device_dimensions_user_dialog_message">この機能を有効にすると、動画のカクつき、バッテリー寿命の悪化、および予期せぬ副作用を引き起こす可能性があります。</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<string name="microg_settings_title">GmsCore設定</string>
|
||||
<string name="microg_settings_summary">GmsCoreの設定</string>
|
||||
<string name="microg_settings_title">GmsCore 設定</string>
|
||||
<string name="microg_settings_summary">GmsCore の設定</string>
|
||||
</patch>
|
||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||
<string name="revanced_bypass_url_redirects_title">URL リダイレクトを回避する</string>
|
||||
@@ -1384,8 +1388,8 @@ DeArrow の詳細については、ここをタップしてください"</string
|
||||
|
||||
AVC の最大解像度は 1080p であり、Opus オーディオ コーデックは使用できず、動画の再生時に VP9 や AV1 より多くの通信量を使用します。"</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_tv_title">iOS クライアントの副作用</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• 映画や有料動画が再生されない場合があります
|
||||
• 一定音量は使用できません
|
||||
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• 映画や有料動画が再生されない可能性があります
|
||||
• 一定音量は利用できません
|
||||
• 動画が 1 秒早く終了します"</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_title">Android クライアントの副作用</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_summary">"• 音声トラック メニューが表示されません
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced 설정을 기본값으로 초기화합니다</string>
|
||||
<string name="revanced_settings_import_success">%d 설정을 가져왔습니다</string>
|
||||
<string name="revanced_settings_import_failure_parse">설정을 가져올 수 없습니다: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">ReVanced 설정 아이콘 표시하기</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">설정 아이콘을 표시합니다</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">설정 아이콘을 표시하지 않습니다</string>
|
||||
<string name="revanced_language_title">ReVanced 언어</string>
|
||||
<string name="revanced_language_user_dialog_message">"일부 언어의 번역이 누락되었거나 완료되지 않았을 수 있습니다
|
||||
|
||||
@@ -409,8 +412,8 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
<string name="revanced_remove_viewer_discretion_dialog_title">시청 경고 다이얼로그 제거하기</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_on">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제거합니다:\n• 연령 제한 동영상\n• 혐오감을 주는 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제거하지 않습니다:\n• 연령 제한 동영상\n• 혐오감을 주는 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_on">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제거합니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제거하지 않습니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -1155,6 +1158,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
||||
<string name="revanced_miniplayer_type_entry_4">모던 스타일 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">모던 스타일 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">모던 스타일 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">모던 스타일 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">둥근 모서리 활성화하기</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">모서리를 둥글게 활성화합니다</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">모서리를 각지게 활성화합니다</string>
|
||||
@@ -1174,9 +1178,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
||||
|
||||
• 미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">수평 드래그 제스처를 비활성화합니다</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">\'닫기\' 버튼 숨기기</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">\'닫기\' 버튼이 숨겨집니다\n\n• YouTube v19.24.xx까지 모던 스타일 1, 3에서 \'펼치기 & 닫기 버튼 숨기기\' 기능이 작동됩니다\n• YouTube v19.34.xx부터 모던 스타일 3에서만 \'닫기 버튼 숨기기\' 기능이 작동됩니다</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">\'닫기\' 버튼이 표시됩니다\n\n• YouTube v19.24.xx까지 모던 스타일 1, 3에서 \'펼치기 & 닫기 버튼 숨기기\' 기능이 작동됩니다\n• YouTube v19.34.xx부터 모던 스타일 3에서만 \'닫기 버튼 숨기기\' 기능이 작동됩니다</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">오버레이 버튼 숨기기</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">오버레이 버튼이 숨겨집니다.</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">오버레이 버튼이 표시됩니다.</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">\'펼치기\' & \'닫기\' 버튼 숨기기</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"'펼치기' & '닫기' 버튼이 숨겨집니다
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced nustatymai atstatyti į numatytuosius</string>
|
||||
<string name="revanced_settings_import_success">Importuota %d nustatymų</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importavimas nepavyko: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Rodyti „ReVanced“ nustatymų piktogramas</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Nustatymų piktogramos yra rodomos</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Nenurodomos nustatymų piktogramos</string>
|
||||
<string name="revanced_language_title">ReVanced kalba</string>
|
||||
<string name="revanced_language_user_dialog_message">"Kai kurių kalbų vertimai gali būti neišsamūs ar trūkti.
|
||||
|
||||
@@ -1156,6 +1159,7 @@ Jei vėliau išjungta, rekomenduojama išvalyti programos duomenis, kad būtų i
|
||||
<string name="revanced_miniplayer_type_entry_4">Modernus 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modernus 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modernus 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modernus 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Įgalinti suapvalintus kampus</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Kampai yra suapvalinti</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Kampai yra kvadratiniai</string>
|
||||
@@ -1175,9 +1179,9 @@ Jei vėliau išjungta, rekomenduojama išvalyti programos duomenis, kad būtų i
|
||||
|
||||
\"Miniplayer\" galima vilkti nuo ekrano į kairę arba dešinę"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Horizontalaus vilkimo gestas išjungtas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Slėpti uždarymo mygtuką</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Uždarymo mygtukas yra paslėptas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Uždarymo mygtukas yra rodomas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Slėpti perdangos mygtukus</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Perdangos mygtukai paslėpti</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Perdangos mygtukai rodomi</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Slėpti išplėtimo ir uždarymo mygtukus</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Mygtukai paslėpti
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced iestatījumi atiestatīti uz noklusējuma vērtībām</string>
|
||||
<string name="revanced_settings_import_success">Importēti %d iestatījumi</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importēšana neizdevās: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Rādīt ReVanced iestatījumu ikonas</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Iestatījumu ikonas tiek rādītas</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikonas iestatījumos netiek rādītas</string>
|
||||
<string name="revanced_language_title">ReVanced valoda</string>
|
||||
<string name="revanced_language_user_dialog_message">"Tulkojuma dažām valodām var būt nepilnīgs vai nebūt vispār.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Ja vēlāk tiks izslēgts, ieteicams notīrīt lietotnes datus, lai novērstu li
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderns 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderns 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderns 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderns 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Iespējot noapaļotus stūrus</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Stūri ir noapaļoti</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Stūri ir kvadrātveida</string>
|
||||
@@ -1173,13 +1177,13 @@ Miniatskaņotāju var pārvilkt uz jebkuru ekrāna stūri"</string>
|
||||
|
||||
Miniatskaņotāju var pārvilkt no ekrāna uz kreiso vai labo pusi"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Horizontāls velci ir atspējots</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Slēpt aizvēršanas pogu</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Aizvēršanas poga ir paslēpta</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Aizvēršanas poga ir redzama</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Slēpt izvēršanas un aizvēršanas pogas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Paslēpt pārklājuma pogas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Pārklājuma pogas ir paslēptas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Pārklājuma pogas ir redzamas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Paslēpt izvēršanas un aizvēršanas pogas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Pogas ir paslēptas
|
||||
|
||||
Pārvelciet, lai paplašinātu vai aizvērtu"</string>
|
||||
Velciet, lai izvērstu vai aizvērtu"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Izvēršanas un aizvēršanas pogas ir redzamas</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Slēpt apakštekstu</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Apakšteksts ir paslēpts</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced-instellingen zijn teruggezet naar de standaardinstellingen</string>
|
||||
<string name="revanced_settings_import_success">%d instellingen geïmporteerd</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importeren mislukt: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Pictogrammen voor ReVanced-instellingen weergeven</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Instellingspictogrammen worden weergegeven</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Pictogrammen voor instellingen worden niet weergegeven</string>
|
||||
<string name="revanced_language_title">ReVanced-taal</string>
|
||||
<string name="revanced_language_user_dialog_message">"Vertalingen voor sommige talen kunnen ontbreken of onvolledig zijn.
|
||||
|
||||
@@ -1096,6 +1099,7 @@ Als het later wordt uitgeschakeld, wordt aanbevolen om de app-gegevens te wissen
|
||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
||||
<string name="revanced_spoof_app_version_target_title">Doel voor vervalsen app-versie</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Herstel oude pictogrammen voor Shorts-speler</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Herstel oude navigatie-iconen</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
<string name="revanced_change_start_page_title">Startpagina instellen</string>
|
||||
@@ -1154,6 +1158,7 @@ Als het later wordt uitgeschakeld, wordt aanbevolen om de app-gegevens te wissen
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Schakel afgeronde hoeken in</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Hoeken zijn afgerond</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Hoeken zijn vierkant</string>
|
||||
@@ -1173,14 +1178,14 @@ De miniplayer kan naar elke hoek van het scherm worden gesleept"</string>
|
||||
|
||||
De miniplayer kan naar links of rechts van het scherm worden gesleept"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Horizontaal sleepgebaar uitgeschakeld</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Verberg de sluitknop</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">De sluitknop is verborgen</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">De sluitknop is zichtbaar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Verberg uitvouwen en sluiten knoppen</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Overlayknoppen verbergen</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Overlayknoppen zijn verborgen</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Overlayknoppen worden weergegeven</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Knoppen voor uitvouwen en sluiten verbergen</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Knoppen zijn verborgen
|
||||
|
||||
Veeg om uit te vouwen of te sluiten"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Uitvouwen en sluiten knoppen zijn zichtbaar</string>
|
||||
Swipe om uit te vouwen of te sluiten"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Knoppen voor uitvouwen en sluiten worden weergegeven</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Verberg subteksten</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subteksten zijn verborgen</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Subteksten zijn zichtbaar</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Przywrócono domyślne ustawienia ReVanced</string>
|
||||
<string name="revanced_settings_import_success">Zaimportowano %d ustawień</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importowanie nie powiodło się: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Pokaż ikony ustawień ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ikony ustawień są widoczne</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikony ustawień nie są wyświetlane</string>
|
||||
<string name="revanced_language_title">Język ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Tłumaczenia dla niektórych języków mogą być niepełne lub nieaktualne.
|
||||
|
||||
@@ -1155,6 +1158,7 @@ Jeśli później zostanie wyłączony, zaleca się wyczyszczenie danych aplikacj
|
||||
<string name="revanced_miniplayer_type_entry_4">Nowoczesny 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Nowoczesny 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Nowoczesny 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Nowoczesny 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Zaokrąglone narożniki</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Narożniki są zaokrąglone</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Narożniki są kwadratowe</string>
|
||||
@@ -1174,14 +1178,14 @@ Odtwarzacz można przeciągnąć do dowolnego rogu ekranu"</string>
|
||||
|
||||
Odtwarzacz można przeciągnąć poza ekran w lewo lub w prawo"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gest przeciągania w poziomie jest wyłączony</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Przycisk zamykania</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Przycisk zamykania jest ukryty</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Przycisk zamykania jest widoczny</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Przyciski rozszerzania i zamykania</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ukryj przyciski nakładki</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Przyciski nakładki są ukryte</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Przyciski nakładki są widoczne</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ukryj przyciski rozwijania i zamykania</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Przyciski są ukryte
|
||||
|
||||
Przesuń, aby rozwinąć lub zamknąć"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Przyciski są widoczne</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Przyciski rozwijania i zamykania są widoczne</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Podteksty</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Podteksty są ukryte</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Podteksty są widoczne</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Configurações do ReVanced redefinidas para o padrão</string>
|
||||
<string name="revanced_settings_import_success">Configurações %d importadas</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importação falhou: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Mostrar ícones de configuração do ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ícones de configuração são mostrados</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Os ícones de configuração não são mostrados</string>
|
||||
<string name="revanced_language_title">Idioma do ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"As traduções para alguns idiomas podem estar ausentes ou incompletas.\n\nPara traduzir novos idiomas, acesse translate.revanced.app"</string>
|
||||
<string name="revanced_language_DEFAULT">Idioma do aplicativo</string>
|
||||
@@ -1093,6 +1096,7 @@ Se posteriormente desativado, é recomendável limpar os dados do aplicativo par
|
||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
||||
<string name="revanced_spoof_app_version_target_title">Versão de spoofing alvo</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Restaurar ícones antigos do player dos Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurar ícones de navegação antigos</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
<string name="revanced_change_start_page_title">Definir página inicial</string>
|
||||
@@ -1151,6 +1155,7 @@ Se posteriormente desativado, é recomendável limpar os dados do aplicativo par
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderno 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderno 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderno 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Ativar cantos arredondados</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Os cantos são arredondados</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Os cantos são quadrados</string>
|
||||
@@ -1170,14 +1175,14 @@ O miniplayer pode ser arrastado para qualquer canto da tela"</string>
|
||||
|
||||
O miniplayer pode ser arrastado para fora da tela para a esquerda ou direita"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gesto de arrastar horizontal desativado</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ocultar botão fechar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">O botão fechar está oculto</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Botão fechar é mostrado</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ocultar botões de expansão e fechar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Os botões estão ocultos
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ocultar botões de sobreposição</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Botões de sobreposição estão ocultos</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Botões de sobreposição são mostrados</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ocultar botões de expandir e fechar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Botões estão ocultos
|
||||
|
||||
Deslize para expandir ou fechar"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Os botões de expansão e fechar são mostrados</string>
|
||||
Passe o dedo para expandir ou fechar"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Botões de expandir e fechar são mostrados</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Ocultar subtextos</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subtextos estão ocultos</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Subtextos são exibidos</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">As definições do ReVanced foram redefinidas para a predefinição</string>
|
||||
<string name="revanced_settings_import_success">Configurações importadas: %d</string>
|
||||
<string name="revanced_settings_import_failure_parse">A importação falhou: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Mostrar ícones de configuração do ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Os ícones de configuração são mostrados</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Os ícones de configuração não são mostrados</string>
|
||||
<string name="revanced_language_title">Idioma do ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"As traduções para algumas línguas podem estar em falta ou incompletas.
|
||||
|
||||
@@ -1155,6 +1158,7 @@ Nếu sau này tắt, bạn nên xóa dữ liệu ứng dụng để tránh lỗ
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderno 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderno 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderno 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Ativar cantos arredondados</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Bordas são arredondadas</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Os cantos estão quadrados</string>
|
||||
@@ -1174,14 +1178,14 @@ Miniplayer có thể được kéo đến bất kỳ góc nào của màn hình"
|
||||
|
||||
Miniplayer có thể được kéo ra khỏi màn hình sang trái hoặc phải"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gestos de arrastar horizontais desativados</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ocultar botão fechar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">O botão fechar está oculto</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Botão fechar é mostrado</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ocultar botões de expansão e fechamento</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nút bị ẩn
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ocultar botões de sobreposição</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Os botões de sobreposição estão ocultos</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Os botões de sobreposição são mostrados</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ocultar botões de expansão e fechar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Os botões estão ocultos
|
||||
|
||||
Vuốt để mở rộng hoặc đóng"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Botões de expansão e fechamento são mostrados</string>
|
||||
Deslize para expandir ou fechar"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Os botões de expansão e fechar são mostrados</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Ocultar subtextos</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subtextos estão ocultos</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Subtextos são exibidos</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Setările ReVanced au fost resetate la valorile implicite</string>
|
||||
<string name="revanced_settings_import_success">Au fost importate %d setări</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importare eșuată: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Afișați pictogramele de setări ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Pictogramele de setări sunt afișate</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Pictogramele setărilor nu sunt afișate</string>
|
||||
<string name="revanced_language_title">Limba ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Traducerile pentru unele limbi pot lipsi sau pot fi incomplete.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Dacă este dezactivat ulterior, se recomandă să ștergeți datele aplicației
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Activează colțurile rotunjite</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Colţurile sunt rotunjite</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Colţurile sunt pătrate</string>
|
||||
@@ -1173,14 +1177,14 @@ Miniplayerul poate fi tras în orice colț al ecranului"</string>
|
||||
|
||||
Miniplayerul poate fi tras pe ecran spre stânga sau spre dreapta"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gest de tragere orizontal dezactivat</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ascunde butonul de închidere</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Butonul de închidere este ascuns</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Butonul de închidere este afișat</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ascunde butoanele suprapuse</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Butoanele suprapuse sunt ascunse</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Butoanele suprapuse sunt afișate</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ascunde extinderea și închiderea butoanelor</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Butoanele sunt ascunse
|
||||
|
||||
Trageți pentru a extinde sau a închide"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Afișarea și închiderea butoanelor sunt afișate</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Butoanele de extindere și închidere sunt afișate</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Ascunde subtexte</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subtexte sunt ascunse</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Subtexte sunt afișate</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Настройки ReVanced восстановлены до значений по умолчанию</string>
|
||||
<string name="revanced_settings_import_success">Импортировано %d настроек</string>
|
||||
<string name="revanced_settings_import_failure_parse">Ошибка импорта: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Показать иконки в настройках ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Иконки в настройках ReVanced показаны</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Иконки в настройках ReVanced скрыты</string>
|
||||
<string name="revanced_language_title">Язык настроек ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Переводы для некоторых языков могут отсутствовать или быть неполными.
|
||||
|
||||
@@ -226,9 +229,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_artist_cards_title">Скрыть карточки исполнителей</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Карточки исполнителей под плеером скрыты</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Карточки исполнителей под плеером показаны</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Скрыть «Краткое содержание видео, созданное ИИ»</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Раздел с кратким содержанием видео скрыт</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Раздел с кратким содержанием видео показан</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Скрыть секцию AI-резюме видео</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Секция AI-резюме видео в описании видео скрыта</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Секция AI-резюме видео в описании видео показана</string>
|
||||
<string name="revanced_hide_attributes_section_title">Скрыть раздел атрибутов</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">Разделы \"Упомянутые или показанные места\", \"Игры\", \"Музыка\" и \"Люди, которых упоминали\" скрыты</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">Разделы \"Упомянутые или показанные места\", \"Игры\", \"Музыка\" и \"Люди, которых упоминали\" показаны</string>
|
||||
@@ -265,12 +268,12 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Панель фильтров в похожих видео показана</string>
|
||||
<string name="revanced_comments_screen_title">Комментарии</string>
|
||||
<string name="revanced_comments_screen_summary">Скрыть или показать компоненты раздела комментариев</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Скрыть сводку чата на базе ИИ</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Баннер \"Обзор чата\" в чатах прямых трансляций скрыт</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Баннер \"Обзор чата\" в чатах прямых трансляций показан</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Скрыть сводку комментариев на базе ИИ</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Сводка комментариев скрыта</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Сводка комментариев показана</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Скрыть секцию AI-обзора чата</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Секция AI-обзора чата в чатах прямых трансляций скрыта</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Секция AI-обзора чата в чатах прямых трансляций показана</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Скрыть вкладку AI-сводки по темам комментариев </string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Вкладка AI-сводки по темам комментариев скрыта </string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Вкладка AI-сводки по темам комментариев показана</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">Скрыть заголовок \"Комментарии спонсоров\"</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Заголовок \"Комментарии спонсоров\" в комментариях скрыт</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Заголовок \"Комментарии спонсоров\" в комментариях показан</string>
|
||||
@@ -430,9 +433,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">Жест покадровой перемотки включен</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">Включить нажатие для поиска</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">Нажатие для поиска включено</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">Нажатие для поиска отключено</string>
|
||||
<string name="revanced_seekbar_tapping_title">Включить перемотку нажатием</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">Перемотка нажатием на полосу прогресса включена</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">Перемотка нажатием на полосу прогресса отключена</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">Включить регулировку яркости жестом</string>
|
||||
@@ -555,7 +558,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_disable_translucent_status_bar_title">Отключить полупрозрачность строки состояния</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_on">Строка состояния непрозрачная</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_off">Строка состояния непрозрачная или полупрозрачная</string>
|
||||
<string name="revanced_disable_translucent_status_bar_user_dialog_message">На некоторых устройствах включение этой функции может сделать панель навигации системы прозрачной.</string>
|
||||
<string name="revanced_disable_translucent_status_bar_user_dialog_message">На некоторых устройствах включение данной опции может сделать системную панель навигации прозрачной.</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_title">Отключить полупрозрачность светлой панели навигации</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">Панель навигации при светлой теме непрозрачная</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Панель навигации при светлой теме непрозрачная или полупрозрачная</string>
|
||||
@@ -1155,6 +1158,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Современный 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Современный 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Современный 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Современный 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Включить закругление углов</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Углы миниплеера закруглены</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Углы миниплеера квадратны</string>
|
||||
@@ -1174,9 +1178,9 @@ Second \"item\" text"</string>
|
||||
|
||||
Миниплеер можно перетаскивать за пределы экрана влево или вправо"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Жест горизонтального перетаскивания отключен</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Скрыть кнопку закрытия</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Кнопка закрытия миниплеера скрыта</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Кнопка закрытия миниплеера показана</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Скрыть кнопки миниплеера</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Кнопки миниплеера скрыты</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Кнопки миниплеера показаны</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Скрыть кнопки разворачивания и закрытия</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Кнопки разворачивания и закрытия скрыты
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Nastavenia ReVanced sa obnovia na predvolené</string>
|
||||
<string name="revanced_settings_import_success">Počet importovaných nastavení: %d</string>
|
||||
<string name="revanced_settings_import_failure_parse">Import zlyhal: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Zobraziť ikony nastavení ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ikony nastavení sa zobrazujú</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikony nastavení sa nezobrazujú</string>
|
||||
<string name="revanced_language_title">Jazyk reVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Pre niektoré jazyky môžu chýbať preklady alebo môžu byť neúplné.
|
||||
|
||||
@@ -1145,6 +1148,7 @@ Ak sa neskôr vypne, odporúča sa vymazať údaje aplikácie, aby sa zabránilo
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderné 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderné 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderné 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderné 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Povoliť zaoblené rohy</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Rohy sú zaoblené</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Rohy sú štvorcové</string>
|
||||
@@ -1162,14 +1166,14 @@ Ak sa neskôr vypne, odporúča sa vymazať údaje aplikácie, aby sa zabránilo
|
||||
|
||||
Miniprehrávač sa dá potiahnuť mimo obrazovky doľava alebo doprava"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Zakázané je horizontálne posunutie</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skryť tlačidlo pre zatvorenie</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tlačidlo pre zatvorenie je skryté</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Tlačidlo pre zatvorenie je zobrazené</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skryť tlačidlá rozbalenia a zatvorenia</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skryť tlačidlá prekrytia</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Tlačidlá prekrytia sú skryté</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Zobrazujú sa tlačidlá prekrytia</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skryť tlačidlá na rozbalenie a zatvorenie</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Tlačidlá sú skryté
|
||||
|
||||
Potiahnite prstom na rozbalenie alebo zatvorenie"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Zobrazia sa tlačidlá rozbalenia a zatvorenia</string>
|
||||
Potiahnutím rozbalíte alebo zatvoríte"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Zobrazujú sa tlačidlá na rozbalenie a zatvorenie</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Skryť podtexty</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Podtexty sú skryté</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Zobrazia sa podtexty</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced nastavitve ponastavljene na privzeto</string>
|
||||
<string name="revanced_settings_import_success">Uvoženih %d nastavitev</string>
|
||||
<string name="revanced_settings_import_failure_parse">Uvoz ni uspel: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Pokaži ikone nastavitev ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ikone nastavitev so prikazane</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikone nastavitev niso prikazane</string>
|
||||
<string name="revanced_language_title">ReVanced jezik</string>
|
||||
<string name="revanced_language_user_dialog_message">"Prevodi za nekatere jezike morda manjkajo ali so nepopolni.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ To bo spremenilo videz in funkcije aplikacije, vendar se lahko pojavijo neznani
|
||||
<string name="revanced_miniplayer_type_entry_4">Sodobno 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Sodobno 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Sodobno 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Sodobno 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Omogoči zaobljene robove</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Robovi so zaobljeni</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Robovi so kvadratni</string>
|
||||
@@ -1173,9 +1177,9 @@ Minipredvajalnik lahko povlečete v kateri koli kot zaslona"</string>
|
||||
|
||||
Minipredvajalnik lahko povlečete z zaslona na levo ali desno"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Vodoravna kretnja vlečenja je onemogočena</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skrij gumb za zapiranje</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Gumb za zapiranje je skrit</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Gumb za zapiranje je prikazan</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Skrij prekrivne gumbe</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Prekrivni gumbi so skriti</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Prekrivni gumbi so prikazani</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Skrij gumbe za razširitev in zapiranje</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Gumbi so skriti
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Cilësimet e ReVanced u rivendosën në cilësimet e parazgjedhura</string>
|
||||
<string name="revanced_settings_import_success">Importuan %d cilësime</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importimi dështoi: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Shfaq ikonat e cilësimeve të ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ikonat e cilësimeve shfaqen</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikonat e cilësimeve nuk shfaqen</string>
|
||||
<string name="revanced_language_title">Gjuha e ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Përkthimet për disa gjuhë mund të jenë të humbura ose të paplota.
|
||||
|
||||
@@ -1153,6 +1156,7 @@ Nëse më vonë është çaktivizuar, është e rekomanduar të fshiheni të dh
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Aktivizo qoshet e rrumbullakosura</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Qoshet janë të rrumbullakosura</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Qoshet janë katrore</string>
|
||||
@@ -1172,13 +1176,13 @@ Miniplayer mund të tërhiqet në çdo qoshe të ekranit"</string>
|
||||
|
||||
Miniplayer mund të tërhiqet jashtë ekranit në të majtë ose në të djathtë"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Gjestet e tërheqjes horizontale janë të çaktivizuara</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Fsheh butonin e mbylljes</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Butoni i mbylljes është i fshehur</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Butoni i mbylljes është i dukshëm</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Fsheh butonat e zgjerimit dhe mbylljes</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Butonat janë të fshehura
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Fshih butonat e mbivendosjes</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Butonat e mbivendosjes janë të fshehur</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Butonat e mbivendosjes janë të dukshëm</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Fshih butonat e zgjerimit dhe mbylljes</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Butonat janë të fshehur
|
||||
|
||||
Lëviz gishtin për të zgjeruar ose mbyllur"</string>
|
||||
Rrëshqit për të zgjeruar ose mbyllur"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Butonat e zgjerimit dhe mbylljes janë të dukshëm</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Fsheh nëntekstet</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Nëntekstet janë të fshehura</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Podešavanja ReVanceda su vraćena na podrazumevane vrednosti</string>
|
||||
<string name="revanced_settings_import_success">Uvezeno %d podešavanja</string>
|
||||
<string name="revanced_settings_import_failure_parse">Neuspešan uvoz: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Prikaži ikonice podešavanja ReVanceda</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ikonice podešavanja su prikazane</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikonice podešavanja nisu prikazane</string>
|
||||
<string name="revanced_language_title">Jezik ReVanceda</string>
|
||||
<string name="revanced_language_user_dialog_message">"Prevodi za neke jezike mogu nedostajati ili biti nepotpuni.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Ako se kasnije isključi, preporučuje se da izbrišete podatke aplikacije da bi
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderan 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderan 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderan 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Moderan 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Omogući zaobljene uglove</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Uglovi su zaobljeni</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Uglovi su kvadratni</string>
|
||||
@@ -1173,14 +1177,14 @@ Mini-plejer se može prevući u bilo koji ugao ekrana"</string>
|
||||
|
||||
Mini-plejer se može prevući sa ekrana ulevo ili udesno"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Pokret horizontalnog prevlačenja je onemogućen</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Sakrij dugme za zatvaranje</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Dugme za zatvaranje je skriveno</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Dugme za zatvaranje je prikazano</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Sakrij dugmad za proširenje i zatvaranje</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Sakrij dugmad preklopa</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Dugmad preklopa su skrivena</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Dugmad preklopa su prikazana</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Sakrij dugmad za proširivanje i zatvaranje</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Dugmad su skrivena
|
||||
|
||||
Prevucite za proširenje ili zatvaranje"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Dugmad za proširenje i zatvaranje su prikazana</string>
|
||||
Prevucite da biste proširili ili zatvorili"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Dugmad za proširivanje i zatvaranje su prikazana</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Sakrij podtekstove</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Podtekstovi su skriveni</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Podtekstovi su prikazani</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Подешавања ReVanced-а су враћена на подразумеване вредности</string>
|
||||
<string name="revanced_settings_import_success">Увезено %d подешавања</string>
|
||||
<string name="revanced_settings_import_failure_parse">Неуспешан увоз: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Прикажи иконице подешавања ReVanced-а</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Иконице подешавања су приказане</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Иконице подешавања нису приказане</string>
|
||||
<string name="revanced_language_title">Језик ReVanced-a</string>
|
||||
<string name="revanced_language_user_dialog_message">"Преводи за неке језике могу недостајати или бити непотпуни.
|
||||
|
||||
@@ -1154,6 +1157,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Модеран 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Модеран 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Модеран 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Модеран 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Омогући заобљене углове</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Углови су заобљени</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Углови су квадратни</string>
|
||||
@@ -1173,14 +1177,14 @@ Second \"item\" text"</string>
|
||||
|
||||
Мини-плејер се може превући са екрана улево или удесно"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Покрет хоризонталног превлачења је онемогућен</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Сакриј дугме за затварање</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Дугме за затварање је скривено</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Дугме за затварање је приказано</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Сакриј дугмад за проширење и затварање</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Сакриј дугмад преклопа</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Дугмад преклопа су скривена</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Дугмад преклопа су приказана</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Сакриј дугмад за проширивање и затварање</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Дугмад су скривена
|
||||
|
||||
Превуците за проширење или затварање"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Дугмад за проширење и затварање су приказана</string>
|
||||
Превуците да бисте проширили или затворили"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Дугмад за проширивање и затварање су приказана</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Сакриј подтекстове</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Подтекстови су скривени</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Подтекстови су приказани</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced-inställningarna återställda till standard</string>
|
||||
<string name="revanced_settings_import_success">Importerade %d inställningar</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importen misslyckades: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Visa ikoner för ReVanced-inställningar</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Inställningsikoner visas</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ikoner för inställningar visas inte</string>
|
||||
<string name="revanced_language_title">Språket för ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Översättningar till vissa språk kan vara ofullständiga eller saknas.
|
||||
|
||||
@@ -1095,6 +1098,7 @@ Om det senare stängs av rekommenderas det att rensa appens data för att förhi
|
||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
||||
<string name="revanced_spoof_app_version_target_title">Spoof app-versionsmål</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Återställ gamla Shorts-spelarikoner</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Återställ gamla navigeringsikoner</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
<string name="revanced_change_start_page_title">Ställ in startsida</string>
|
||||
@@ -1153,6 +1157,7 @@ Om det senare stängs av rekommenderas det att rensa appens data för att förhi
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Aktivera rundade hörn</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Hörnen är rundade</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Hörnen är kvadratiska</string>
|
||||
@@ -1172,14 +1177,14 @@ Minispelaren kan dras till valfritt hörn av skärmen"</string>
|
||||
|
||||
Minispelare kan dras av skärmen till vänster eller höger"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Horisontell drag gest inaktiverad</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Dölj stängningsknappen</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Stäng knappen är dold</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Stäng knappen visas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Dölj expandera och stäng knappar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Knappar är dolda
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Dölj överlagringsknappar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Överlagringsknappar är dolda</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Överlagringsknappar visas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Dölj expanderings- och stängningsknappar</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Knapparna är dolda
|
||||
|
||||
Svep för att expandera eller stänga"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Expandera och stäng knappar visas</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Expanderings- och stängningsknappar visas</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Dölj undertexter</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Undertexter är dolda</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Undertexter visas</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">การตั้งค่า ReVanced ถูกตั้งค่าเป็นค่าเริ่มต้น</string>
|
||||
<string name="revanced_settings_import_success">นำเข้าการตั้งค่า %d</string>
|
||||
<string name="revanced_settings_import_failure_parse">การนำเข้าล้มเหลว: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">แสดงไอคอนการตั้งค่า ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">ไอคอนการตั้งค่าจะปรากฏขึ้น</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">ไม่แสดงไอคอนการตั้งค่า</string>
|
||||
<string name="revanced_language_title">ภาษา ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"การแปลบางภาษาอาจหายไปหรือไม่สมบูรณ์
|
||||
|
||||
@@ -1153,6 +1156,7 @@ User id ของคุณเหมือนกับรหัสผ่าน
|
||||
<string name="revanced_miniplayer_type_entry_4">ทันสมัย 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">ทันสมัย 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">ทันสมัย 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">ทันสมัย 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">เปิดใช้งานมุมโค้งมน</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">มุมโค้งมน</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">มุมเป็นสี่เหลี่ยม</string>
|
||||
@@ -1172,14 +1176,14 @@ User id ของคุณเหมือนกับรหัสผ่าน
|
||||
|
||||
สามารถลาก miniplayer ออกจากหน้าจอไปทางซ้ายหรือขวา"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">ท่าทางการลากแบบแนวนอนปิดใช้งานแล้ว</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">ซ่อนปุ่มปิด</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">ปุ่มปิดถูกซ่อน</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">ปุ่มปิดแสดงอยู่</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">ซ่อนปุ่มโอเวอร์เลย์</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">ปุ่มโอเวอร์เลย์ถูกซ่อน</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">ปุ่มโอเวอร์เลย์ถูกแสดง</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">ซ่อนปุ่มขยายและปิด</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"ปุ่มถูกซ่อน
|
||||
|
||||
ปัดเพื่อขยายหรือปิด"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">ปุ่มขยายและปิดแสดงอยู่</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">ปุ่มขยายและปิดถูกแสดง</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">ซ่อนข้อความย่อย</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">ข้อความย่อยถูกซ่อน</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">ข้อความย่อยแสดงอยู่</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced ayarları varsayılanlara sıfırlandı</string>
|
||||
<string name="revanced_settings_import_success">%d ayar içe aktarıldı</string>
|
||||
<string name="revanced_settings_import_failure_parse">İçe aktarılamadı: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">ReVanced ayar simgelerini göster</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Ayar simgeleri gösteriliyor</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Ayar simgeleri gösterilmiyor</string>
|
||||
<string name="revanced_language_title">ReVanced dili</string>
|
||||
<string name="revanced_language_user_dialog_message">"Bazı diller için çeviriler eksik veya tamamlanmamış olabilir.
|
||||
|
||||
@@ -1155,6 +1158,7 @@ Daha sonra kapatılırsa, arayüz hatalarını önlemek için uygulama verilerin
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Modern 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Yuvarlatılmış köşeleri etkinleştir</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Köşeler yuvarlatılmış</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Köşeler kare şeklinde</string>
|
||||
@@ -1174,9 +1178,9 @@ Mini oynatıcı, ekranın herhangi bir köşesine sürüklenebilir"</string>
|
||||
|
||||
Mini oynatıcı, ekranın dışına sağa veya sola sürüklenebilir"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Yatay sürükleme hareketi devre dışı</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Kapatma düğmesini gizle</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Kapatma düğmesi gizli</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Kapatma düğmesi görünür</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Katman düğmelerini gizle</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Katman düğmeleri gizli</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Katman düğmeleri görünür</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Büyütme ve kapatma düğmelerini gizle</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Düğmeler gizli
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Налаштування ReVanced скинуто до стандартних</string>
|
||||
<string name="revanced_settings_import_success">Імпортовано %d налаштувань</string>
|
||||
<string name="revanced_settings_import_failure_parse">Не вдалося імпортувати: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Показувати іконки в налаштуваннях ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Іконки в налаштуваннях показуються</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Іконки в налаштуваннях не показуються</string>
|
||||
<string name="revanced_language_title">Мова налаштувань ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Переклади для деяких мов можуть бути відсутні або неповні.
|
||||
|
||||
@@ -810,12 +813,12 @@ Second \"item\" text"</string>
|
||||
<!-- Video likes have been set to hidden by the video uploader. -->
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Приховано власником</string>
|
||||
<string name="revanced_ryd_enable_summary_on">Відмітки \"Не подобається\" показуються</string>
|
||||
<string name="revanced_ryd_enable_summary_off">Відмітки \"Не подобається\" приховано</string>
|
||||
<string name="revanced_ryd_enable_summary_off">Відмітки \"Не подобається\" не показуються</string>
|
||||
<string name="revanced_ryd_shorts_title">Відмітки \"Не подобається\" в Shorts</string>
|
||||
<string name="revanced_ryd_shorts_summary_on_disclaimer">"Відмітки \"Не подобається\" в Shorts показуються
|
||||
|
||||
Обмеження: Відмітки \"Не подобається\" не можуть показуватися в анонімному режимі"</string>
|
||||
<string name="revanced_ryd_shorts_summary_off">Відмітки \"Не подобається\" в Shorts приховано</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>
|
||||
@@ -1154,6 +1157,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Новітній 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Новітній 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Новітній 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Новітній 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Увімкнути закруглені кути</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Кути закруглені</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Кути квадратні</string>
|
||||
@@ -1173,9 +1177,9 @@ Second \"item\" text"</string>
|
||||
|
||||
Мініплеєр можна перетягнути за межі екрана вліво або вправо"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Жест горизонтального перетягування вимкнено</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Приховати кнопку закриття</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Кнопку закриття мініплеєру приховано</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Кнопка закриття мініплеєру показується</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Приховати кнопки накладання</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Кнопки накладання приховано</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Кнопки накладання показуються</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Кнопки розгортання та закриття</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Кнопки розгортання та закриття приховано
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">Khôi phục mặc định cài đặt ReVanced</string>
|
||||
<string name="revanced_settings_import_success">Đã nhập cài đặt %d</string>
|
||||
<string name="revanced_settings_import_failure_parse">Nhập thất bại: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Hiện biểu tượng cài đặt ReVanced</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Các biểu tượng cài đặt được hiện</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Các biểu tượng cài đặt không được hiện</string>
|
||||
<string name="revanced_language_title">Ngôn ngữ ReVanced</string>
|
||||
<string name="revanced_language_user_dialog_message">"Dịch cho một số ngôn ngữ có thể bị thiếu hoặc không đầy đủ.
|
||||
|
||||
@@ -227,8 +230,8 @@ Bạn sẽ không được thông báo về bất kỳ sự kiện bất ngờ n
|
||||
<string name="revanced_hide_artist_cards_summary_on">Thẻ nghệ sĩ được ẩn</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Thẻ nghệ sĩ được hiện</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Ẩn \'Tóm tắt video do AI tạo\'</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Phần tóm tắt video bị ẩn</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Phần tóm tắt video đang hiển thị</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Phần tóm tắt video được ẩn</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Phần tóm tắt video được hiện</string>
|
||||
<string name="revanced_hide_attributes_section_title">Ẩn Thuộc tính</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">Phần Địa điểm nổi bật, Trò chơi, Âm nhạc và Người được đề cập bị ẩn</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">Phần Địa điểm nổi bật, Trò chơi, Âm nhạc và Người được đề cập được hiện</string>
|
||||
@@ -269,8 +272,8 @@ Bạn sẽ không được thông báo về bất kỳ sự kiện bất ngờ n
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Tóm tắt trò chuyện được ẩn</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Tóm tắt trò chuyện được hiện</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Ẩn tóm tắt Bình luận AI</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Tóm tắt bình luận đã ẩn</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Tóm tắt bình luận được hiển thị</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Tóm tắt bình luận được ẩn</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Tóm tắt bình luận được hiện</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">Ẩn tiêu đề \'Bình luận bởi hội viên\'</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">Tiêu đề Bình luận bởi hội viên được ẩn</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">Tiêu đề Bình luận bởi hội viên được hiện</string>
|
||||
@@ -432,7 +435,7 @@ Tính năng này chỉ khả dụng cho các thiết bị cũ hơn"</string>
|
||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">Bật nhấn để tua</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">Nhấn để tua được bật</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">Nhấn để tua bị tắt</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">Nhấn để tua được tắt</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">Bật cử chỉ độ sáng</string>
|
||||
@@ -446,8 +449,8 @@ Tính năng này chỉ khả dụng cho các thiết bị cũ hơn"</string>
|
||||
Điều chỉnh âm lượng bằng cách vuốt dọc ở bên phải màn hình"</string>
|
||||
<string name="revanced_swipe_volume_summary_off">Vuốt âm lượng được tắt</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">Bật cử chỉ nhấn-để-vuốt</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">Nhấn-để-vuốt đã bật</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">Nhấn-để-vuốt đã tắt</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">Nhấn-để-vuốt được bật</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">Nhấn-để-vuốt được tắt</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">Bật phản hồi xúc giác</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">Phản hồi xúc giác đã bật</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">Phản hồi xúc giác đã tắt</string>
|
||||
@@ -622,7 +625,7 @@ Nếu việc thay đổi cài đặt này không có hiệu lực, hãy thử ch
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Ẩn các nút Trước & Tiếp theo</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Các nút được ẩn</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">Các nút được hiện</string>
|
||||
<string name="revanced_hide_cast_button_title">Ẩn nút Phát sóng</string>
|
||||
<string name="revanced_hide_cast_button_title">Ẩn nút truyền</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Nút Truyền được ẩn</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Nút Truyền được hiện</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' -->
|
||||
@@ -1095,7 +1098,7 @@ Nếu sau này tắt đi, bạn nên xóa dữ liệu ứng dụng để tránh
|
||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
||||
<string name="revanced_spoof_app_version_target_title">Phiên bản giả mạo mục tiêu</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Khôi phục biểu tượng trình phát Shorts cũ</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Cập nhật lại biểu tượng điều hướng cũ</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Khôi phục biểu tượng điều hướng cũ</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
<string name="revanced_change_start_page_title">Đặt trang bắt đầu</string>
|
||||
@@ -1154,6 +1157,7 @@ Nếu sau này tắt đi, bạn nên xóa dữ liệu ứng dụng để tránh
|
||||
<string name="revanced_miniplayer_type_entry_4">Hiện đại 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Hiện đại 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Hiện đại 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">Hiện đại 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">Bật góc bo tròn</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">Góc được bo tròn</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">Góc vuông</string>
|
||||
@@ -1173,11 +1177,11 @@ Trình phát nhỏ có thể được kéo đến bất kỳ góc nào của mà
|
||||
|
||||
Trình phát nhỏ có thể được kéo ra khỏi màn hình sang trái hoặc phải"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Cử chỉ kéo ngang được tắt</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ẩn nút đóng</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Nút đóng được ẩn</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Nút đóng được hiện</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">Ẩn các nút lớp phủ</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">Các nút lớp phủ được ẩn</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">Các nút lớp phủ được hiện</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">Ẩn các nút mở rộng và đóng</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nút bị ẩn
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"Nút được ẩn
|
||||
|
||||
Vuốt để mở rộng hoặc đóng"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">Các nút mở rộng và đóng được hiện</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced 设置重置为默认</string>
|
||||
<string name="revanced_settings_import_success">导入 %d 个设置</string>
|
||||
<string name="revanced_settings_import_failure_parse">导入失败:%s</string>
|
||||
<string name="revanced_show_menu_icons_title">显示ReVanced设置图标</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">设置图标已显示</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">未显示设置图标</string>
|
||||
<string name="revanced_language_title">ReVanced 语言</string>
|
||||
<string name="revanced_language_user_dialog_message">"某些语言的翻译可能缺失或不完整。
|
||||
|
||||
@@ -362,9 +365,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_products_banner_title">隐藏“查看商品”横幅</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">横幅已隐藏</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">横幅已显示</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">隐藏片尾画面商店横幅</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">商店横幅已隐藏</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">隐藏商店横幅</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">显示商店横幅</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">商店横幅已显示</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">隐藏播放器购物栏</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">购物展示栏已隐藏</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_off">购物展示栏已显示</string>
|
||||
@@ -877,8 +880,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_enable_voting_sum_on">显示片段投票按钮</string>
|
||||
<string name="revanced_sb_enable_voting_sum_off">不显示片段投票按钮</string>
|
||||
<string name="revanced_sb_square_layout">使用方形布局</string>
|
||||
<string name="revanced_sb_square_layout_sum_on">按钮和控件为方形</string>
|
||||
<string name="revanced_sb_square_layout_sum_off">按钮和控件已四舍五入</string>
|
||||
<string name="revanced_sb_square_layout_sum_on">使用方形的按钮和控件</string>
|
||||
<string name="revanced_sb_square_layout_sum_off">使用圆角的按钮和控件</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">使用紧凑的跳过按钮</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">跳过按钮样式为最小宽度</string>
|
||||
@@ -939,7 +942,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_segments_sponsor">赞助</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">付费推广、付费推荐和直接广告。不适用于自我推广或对他们喜欢的公益事业/创作者/网站/产品的免费宣传</string>
|
||||
<string name="revanced_sb_segments_selfpromo">非付费/自我推广</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">与 Sponsor 类似,但排除未付款或自我宣传。包括关于商品、捐款或他们与谁合作的信息的部分</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">与赞助类似,但没有报酬或是自我推广。包括与商品、捐款或合作方信息相关的部分</string>
|
||||
<string name="revanced_sb_segments_interaction">互动提醒 (订阅)</string>
|
||||
<string name="revanced_sb_segments_interaction_sum">视频中间简短提醒观众来点赞、订阅或关注。 如果片段较长,或是关于某个具体事物,则应分类为自我推广</string>
|
||||
<string name="revanced_sb_segments_highlight">重点</string>
|
||||
@@ -1100,6 +1103,7 @@ Second \"item\" text"</string>
|
||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
||||
<string name="revanced_spoof_app_version_target_title">伪装应用程序版本为</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - 恢复旧的 Shorts 播放器图标</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - 还原旧的导航图标</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.changeStartPagePatch">
|
||||
<string name="revanced_change_start_page_title">设置起始页</string>
|
||||
@@ -1158,6 +1162,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">现代 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">现代 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">现代 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">现代 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">启用圆角</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">已启用圆角</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">已禁用圆角</string>
|
||||
@@ -1177,14 +1182,14 @@ Second \"item\" text"</string>
|
||||
|
||||
迷你播放器可以拖动到屏幕的左侧或右侧"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">已禁用水平拖动</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">隐藏关闭按钮</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">关闭按钮已隐藏</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">关闭按钮已显示</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">隐藏悬浮窗按钮</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">悬浮窗按钮已隐藏</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">悬浮窗按钮已显示</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">隐藏展开和关闭按钮</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"按钮已隐藏
|
||||
|
||||
滑动以展开或关闭"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">展开和关闭按钮显示</string>
|
||||
滑动即可展开或关闭"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">展开和关闭按钮已显示</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">隐藏副标题</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">副标题已隐藏</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">副标题已显示</string>
|
||||
|
||||
@@ -43,6 +43,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">將 ReVanced 設定重設為預設值</string>
|
||||
<string name="revanced_settings_import_success">已匯入 %d 個設定</string>
|
||||
<string name="revanced_settings_import_failure_parse">無法匯入:%s</string>
|
||||
<string name="revanced_show_menu_icons_title">顯示 ReVanced 設定圖示</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">已顯示設定圖示</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">未顯示設定圖示</string>
|
||||
<string name="revanced_language_title">ReVanced 語言</string>
|
||||
<string name="revanced_language_user_dialog_message">"部分語言的翻譯可能缺少或不完整。
|
||||
|
||||
@@ -430,6 +433,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">已啟用手勢</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">啟用輕觸以跳轉</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">已啟用輕觸以跳轉</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">已停用輕觸以跳轉</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">啟用亮度手勢</string>
|
||||
@@ -455,7 +461,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_swipe_overlay_timeout_summary">覆蓋顯示的毫秒數</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_title">滑動覆蓋背景透明度</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_summary">不透明度值介於 0 到 100 之間</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast"> 滑動透明度必須介於 0 到 100 之間</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">滑動透明度必須介於 0 到 100 之間</string>
|
||||
<string name="revanced_swipe_threshold_title">滑動幅度臨界點</string>
|
||||
<string name="revanced_swipe_threshold_summary">滑動幅度臨界點</string>
|
||||
<string name="revanced_swipe_show_circular_overlay_title">顯示圓形覆蓋</string>
|
||||
@@ -549,6 +555,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_disable_translucent_status_bar_title">停用半透明狀態列</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_on">狀態列為不透明</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_off">狀態列為不透明或半透明</string>
|
||||
<string name="revanced_disable_translucent_status_bar_user_dialog_message">在部分裝置上,啟用這項功能可能會使系統導覽列變成透明。</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_title">停用淺色半透明狀態列</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">淺色模式導覽列為不透明</string>
|
||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">淺色模式導覽列為不透明或半透明</string>
|
||||
@@ -1149,6 +1156,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">現代 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">現代 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">現代 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">現代 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">啟用圓角</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">已將角落設為圓角</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">已將角落設為方角</string>
|
||||
@@ -1168,14 +1176,11 @@ Second \"item\" text"</string>
|
||||
|
||||
迷你播放器可水平拖曳至螢幕左右兩側之外"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">已停用水平拖曳手勢</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">隱藏「關閉」按鈕</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">已隱藏「關閉」按鈕</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">已顯示「關閉」按鈕</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">隱藏「展開」和「關閉」按鈕</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">隱藏展開和關閉按鈕</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"已隱藏按鈕
|
||||
|
||||
向上或向下滑動以展開或關閉"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">已顯示「展開」和「關閉」按鈕</string>
|
||||
滑動即可展開或關閉"</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_off">已顯示展開和關閉按鈕</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">隱藏字幕</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">已隱藏字幕</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">已顯示字幕</string>
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
All strings must have a unique path, even if the same string is declared in two different apps.
|
||||
This is because Crowdin requires temporarily flattening this file and removing the <app> and <patch> elements.
|
||||
|
||||
|
||||
Strings with new lines must be raw strings where they're wrapped in quotes and new lines are not encoded.
|
||||
Raw strings still requires escaping embedded double quotes but escaping embedded single quotes is optional.
|
||||
|
||||
@@ -43,6 +42,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings_import_reset">ReVanced settings reset to default</string>
|
||||
<string name="revanced_settings_import_success">Imported %d settings</string>
|
||||
<string name="revanced_settings_import_failure_parse">Import failed: %s</string>
|
||||
<string name="revanced_show_menu_icons_title">Show ReVanced setting icons</string>
|
||||
<string name="revanced_show_menu_icons_summary_on">Setting icons are shown</string>
|
||||
<string name="revanced_show_menu_icons_summary_off">Setting icons are not shown</string>
|
||||
<string name="revanced_language_title">ReVanced language</string>
|
||||
<string name="revanced_language_user_dialog_message">"Translations for some languages may be missing or incomplete.
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
https://github.com/google/material-design-icons/blob/9beae745bb758f3ad56654fb377ea5cf62be4915/symbols/android/content_copy/materialsymbolsoutlined/content_copy_wght200gradN25_24px.xml
|
||||
Changes made: Icon has been resized.
|
||||
|
||||
|
||||
Copyright 2022 Google
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -19,12 +18,11 @@ Copyright 2022 Google
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:tint="#FFFFFF"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="m 9.7348145,16.94238 q -0.5966913,0 -1.0062178,-0.39988 Q 8.319101,16.14259 8.319101,15.5599 V 5.88248 q 0,-0.58269 0.4094957,-0.9826 Q 9.1381232,4.5 9.7348145,4.5 h 7.1494615 q 0.596701,0 1.006218,0.39988 Q 18.3,5.29979 18.3,5.88248 v 9.67742 q 0,0.58269 -0.409506,0.9826 -0.409517,0.39988 -1.006218,0.39988 z m 0,-0.82949 h 7.1494615 q 0.212367,0 0.389322,-0.1728 0.176965,-0.17283 0.176965,-0.38019 V 5.88248 q 0,-0.20738 -0.176965,-0.38019 -0.176955,-0.1728 -0.389322,-0.1728 H 9.7348145 q -0.212336,0 -0.389322,0.1728 Q 9.1685373,5.6751 9.1685373,5.88248 v 9.67742 q 0,0.20736 0.1769552,0.38019 0.176986,0.1728 0.389322,0.1728 z M 7.1157237,19.5 Q 6.519022,19.5 6.1094957,19.10009 5.7,18.70021 5.7,18.1175 V 7.61058 H 6.5494363 V 18.1175 q 0,0.20738 0.1769552,0.38018 0.1769655,0.17281 0.3893322,0.17281 H 15.114611 V 19.5 Z M 9.1685373,16.11289 V 5.32949 Z"/>
|
||||
android:pathData="M9.73481,16.9424 Q9.13812,16.9424,8.72859,16.5425 Q8.3191,16.1426,8.3191,15.5599 L8.3191,5.88248 Q8.3191,5.29979,8.7286,4.89988 Q9.13812,4.5,9.73481,4.5 L16.8843,4.5 Q17.481,4.5,17.8905,4.89988 Q18.3,5.29979,18.3,5.88248 L18.3,15.5599 Q18.3,16.1426,17.8905,16.5425 Q17.481,16.9424,16.8843,16.9424 Z M9.73481,16.1129 L16.8843,16.1129 Q17.0967,16.1129,17.2736,15.9401 Q17.4506,15.7673,17.4506,15.5599 L17.4506,5.88248 Q17.4506,5.6751,17.2736,5.50229 Q17.0966,5.32949,16.8843,5.32949 L9.73481,5.32949 Q9.52248,5.32949,9.34549,5.50229 Q9.16854,5.6751,9.16854,5.88248 L9.16854,15.5599 Q9.16854,15.7673,9.34549,15.9401 Q9.52248,16.1129,9.73481,16.1129 Z M7.11572,19.5 Q6.51902,19.5,6.1095,19.1001 Q5.7,18.7002,5.7,18.1175 L5.7,7.61058 L6.54944,7.61058 L6.54944,18.1175 Q6.54944,18.3249,6.72639,18.4977 Q6.90336,18.6705,7.11572,18.6705 L15.1146,18.6705 L15.1146,19.5 Z M9.16854,16.1129 L9.16854,5.32949 Z"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<!--
|
||||
https://github.com/google/material-design-icons/blob/9beae745bb758f3ad56654fb377ea5cf62be4915/symbols/android/content_copy/materialsymbolsoutlined/content_copy_wght200gradN25_24px.xml
|
||||
https://github.com/google/material-design-icons/blob/9beae745bb758f3ad56654fb377ea5cf62be4915/symbols/android/schedule/materialsymbolsoutlined/schedule_wght300_24px.xml
|
||||
Changes made: This icon is the result of a combination of "content copy" and "schedule" icons.
|
||||
|
||||
Changes made: This icon is the result of a combination of "Content copy" and "Schedule" icons.
|
||||
|
||||
Copyright 2022 Google
|
||||
|
||||
@@ -20,12 +19,14 @@ Copyright 2022 Google
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:tint="#FFFFFF"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M 9.734375 4.5 C 9.3365813 4.5 9.0015328 4.6338045 8.7285156 4.9003906 C 8.4555191 5.1669968 8.3183594 5.4943533 8.3183594 5.8828125 L 8.3183594 15.560547 C 8.3183594 15.949005 8.4555191 16.276362 8.7285156 16.542969 C 9.0015328 16.809554 9.3365813 16.941406 9.734375 16.941406 L 11.259766 16.941406 C 11.220306 16.699026 11.199219 16.450296 11.199219 16.195312 C 11.199219 16.167903 11.200672 16.140551 11.201172 16.113281 L 9.734375 16.113281 C 9.5928176 16.113281 9.4636936 16.054651 9.3457031 15.939453 C 9.2277332 15.824233 9.1679687 15.698787 9.1679688 15.560547 L 9.1679688 5.8828125 C 9.1679688 5.7445594 9.2277329 5.6171596 9.3457031 5.5019531 C 9.4636936 5.3867533 9.5928176 5.3300781 9.734375 5.3300781 L 16.884766 5.3300781 C 17.026342 5.3300781 17.155468 5.3867532 17.273438 5.5019531 C 17.391413 5.6171596 17.451172 5.7445594 17.451172 5.8828125 L 17.451172 12.052734 C 17.453072 12.053553 17.455131 12.053788 17.457031 12.054688 C 17.760014 12.185563 18.041487 12.342729 18.300781 12.525391 L 18.300781 5.8828125 C 18.300781 5.4943533 18.163629 5.1669968 17.890625 4.9003906 C 17.617573 4.6338045 17.282565 4.5 16.884766 4.5 L 9.734375 4.5 z M 5.6992188 7.6113281 L 5.6992188 18.117188 C 5.6992188 18.505659 5.8363784 18.833024 6.109375 19.099609 C 6.382392 19.366216 6.717434 19.5 7.1152344 19.5 L 12.642578 19.5 C 12.600698 19.46116 12.558138 19.42142 12.517578 19.380859 C 12.299781 19.163062 12.107686 18.926178 11.939453 18.669922 L 7.1152344 18.669922 C 6.9736568 18.669922 6.8445393 18.613252 6.7265625 18.498047 C 6.6085926 18.382847 6.5488281 18.25544 6.5488281 18.117188 L 6.5488281 7.6113281 L 5.6992188 7.6113281 z M 15.75 12.5 C 15.231251 12.5 14.743359 12.598047 14.287109 12.794922 C 13.83086 12.991797 13.435156 13.260157 13.097656 13.597656 C 12.760157 13.935156 12.491797 14.33086 12.294922 14.787109 C 12.098047 15.243359 12 15.731251 12 16.25 C 12 16.768749 12.098047 17.256641 12.294922 17.712891 C 12.491797 18.16914 12.760157 18.564844 13.097656 18.902344 C 13.435156 19.239843 13.83086 19.508203 14.287109 19.705078 C 14.743359 19.901953 15.231251 20 15.75 20 C 16.268749 20 16.756641 19.901953 17.212891 19.705078 C 17.66914 19.508203 18.064844 19.239843 18.402344 18.902344 C 18.739843 18.564844 19.008203 18.16914 19.205078 17.712891 C 19.401953 17.256641 19.5 16.768749 19.5 16.25 C 19.5 15.731251 19.401953 15.243359 19.205078 14.787109 C 19.008203 14.33086 18.739843 13.935156 18.402344 13.597656 C 18.064844 13.260157 17.66914 12.991797 17.212891 12.794922 C 16.756641 12.598047 16.268749 12.5 15.75 12.5 z M 15.75 13.25 C 16.581249 13.25 17.288672 13.542578 17.873047 14.126953 C 18.457421 14.711327 18.75 15.418751 18.75 16.25 C 18.75 17.081249 18.457421 17.788672 17.873047 18.373047 C 17.288672 18.957421 16.581249 19.25 15.75 19.25 C 14.918751 19.25 14.211327 18.957421 13.626953 18.373047 C 13.042578 17.788672 12.75 17.081249 12.75 16.25 C 12.75 15.418751 13.042578 14.711327 13.626953 14.126953 C 14.211327 13.542578 14.918751 13.25 15.75 13.25 z M 15.375 14.375 L 15.375 16.400391 L 16.988281 18.011719 L 17.511719 17.488281 L 16.125 16.099609 L 16.125 14.375 L 15.375 14.375 z"/>
|
||||
android:pathData="M15.75,12.5 C15.2313,12.5,14.7434,12.5981,14.2871,12.7949 C13.8309,12.9918,13.4351,13.2601,13.0976,13.5976 C12.7601,13.9351,12.4917,14.3308,12.2949,14.7871 C12.098,15.2434,12,15.7313,12,16.25 C12,16.7687,12.0981,17.2566,12.2949,17.7129 C12.4918,18.1691,12.7601,18.5649,13.0976,18.9024 C13.4351,19.2399,13.8308,19.5083,14.2871,19.7051 C14.7434,19.902,15.2313,20,15.75,20 C16.2687,20,16.7566,19.9019,17.2129,19.7051 C17.6691,19.5082,18.0649,19.2399,18.4024,18.9024 C18.7399,18.5649,19.0083,18.1692,19.2051,17.7129 C19.402,17.2566,19.5,16.7687,19.5,16.25 C19.5,15.7313,19.402,15.2434,19.2051,14.7871 C19.0082,14.3309,18.7398,13.9352,18.4023,13.5977 C18.0648,13.2602,17.6691,12.9918,17.2129,12.7949 C16.7566,12.598,16.2687,12.5,15.75,12.5 Z M15.75,13.25 C16.5812,13.25,17.2887,13.5426,17.873,14.127 C18.4574,14.7113,18.75,15.4188,18.75,16.25 C18.75,17.0812,18.4574,17.7887,17.873,18.373 C17.2887,18.9574,16.5812,19.25,15.75,19.25 C14.9188,19.25,14.2113,18.9574,13.627,18.373 C13.0426,17.7887,12.75,17.0812,12.75,16.25 C12.75,15.4188,13.0426,14.7113,13.627,14.127 C14.2113,13.5426,14.9188,13.25,15.75,13.25 Z M15.375,14.375 L15.375,16.4004 L16.9883,18.0117 L17.5117,17.4883 L16.125,16.0996 L16.125,14.375 Z" />
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M9.73438,4.5 C9.33658,4.5,9.00153,4.6338,8.72852,4.90039 C8.45552,5.167,8.31836,5.49435,8.31836,5.88281 L8.31836,15.5605 C8.31836,15.949,8.45552,16.2764,8.72852,16.543 C9.00153,16.8096,9.33658,16.9414,9.73438,16.9414 L10.7969,16.9414 C10.7665,16.7154,10.75,16.4856,10.75,16.25 C10.75,16.2041,10.7528,16.1588,10.7539,16.1133 L9.73438,16.1133 C9.59282,16.1133,9.46369,16.0547,9.3457,15.9395 C9.22773,15.8242,9.16797,15.6988,9.16797,15.5605 L9.16797,5.88281 C9.16797,5.74456,9.22773,5.61716,9.3457,5.50195 C9.46369,5.38675,9.59282,5.33008,9.73438,5.33008 L16.8848,5.33008 C17.0263,5.33008,17.1555,5.38675,17.2734,5.50195 C17.3914,5.61716,17.4512,5.74456,17.4512,5.88281 L17.4512,11.5449 C17.535,11.5756,17.6189,11.6071,17.7012,11.6426 C17.9108,11.7331,18.1102,11.8362,18.3008,11.9492 L18.3008,5.88281 C18.3008,5.49435,18.1636,5.167,17.8906,4.90039 C17.6175,4.6338,17.2826,4.5,16.8848,4.5 L9.73438,4.5 Z M5.69922,7.61133 L5.69922,18.1172 C5.69922,18.5057,5.83638,18.833,6.10938,19.0996 C6.38239,19.3662,6.71743,19.5,7.11523,19.5 L11.9512,19.5 C11.7325,19.2446,11.539,18.9698,11.373,18.6699 L7.11523,18.6699 C6.97366,18.6699,6.84454,18.6133,6.72656,18.498 C6.60859,18.3828,6.54883,18.2554,6.54883,18.1172 L6.54883,7.61133 L5.69922,7.61133 Z" />
|
||||
</vector>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
https://github.com/google/material-design-icons/blob/9beae745bb758f3ad56654fb377ea5cf62be4915/symbols/android/download/materialsymbolsoutlined/download_wght200gradN25_24px.xml
|
||||
Changes made: Icon has been resized.
|
||||
|
||||
|
||||
Copyright 2022 Google
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -19,7 +18,6 @@ Copyright 2022 Google
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:tint="#FFFFFF"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Adapted from
|
||||
https://github.com/ReVanced/revanced-branding/blob/761f2107ac7962ed1713b0a8ae8db4c3e72849b4/assets/revanced-logo/revanced-logo-shape-dark.svg
|
||||
Resized to 16dp.
|
||||
Adapted from
|
||||
https://github.com/ReVanced/revanced-branding/blob/761f2107ac7962ed1713b0a8ae8db4c3e72849b4/assets/revanced-logo/revanced-logo-shape-dark.svg
|
||||
Changes made: Resized to 16dp.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:tint="?colorControlNormal"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="?ytTextPrimary"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M19.5872,3.99233 C19.6801,3.77185,19.8789,3.44672,19.7613,3.20362 C19.6963,3.06937,19.5861,3.00019,19.3558,3.00019 L19.1405,3.00019 C18.9457,3.00019,18.773,3.11962,18.6933,3.30335 C17.9185,5.13604,13.8142,14.8277,12.4461,18.066 C12.3664,18.2497,12.1937,18.3646,11.9989,18.3646 C11.8085,18.3646,11.6314,18.2498,11.5562,18.066 C10.1837,14.8278,6.08386,5.13603,5.30905,3.30335 C5.22936,3.11962,5.05669,3.00019,4.86188,3.00019 L4.64558,3.00019 C4.41535,3.00019,4.30543,3.06946,4.24052,3.20362 C4.1229,3.44674,4.32165,3.77185,4.41463,3.99233 C5.88012,7.46938,10.2054,17.7051,11.206,20.066 C11.3123,20.3232,11.5285,20.6,11.803,20.6 L12.2,20.6 C12.4701,20.6,12.6907,20.3232,12.797,20.066 C13.7932,17.7051,18.1217,7.4694,19.5872,3.9923 Z"
|
||||
android:strokeWidth="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="2" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="?ytTextPrimary"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M7.44206,3 C7.23397,3,7.04036,3.11405,6.9341,3.30237 C6.83227,3.49069,6.83227,3.72094,6.9341,3.90926 C7.99669,5.81085,10.4352,10.1975,11.4933,12.0991 C11.5996,12.2874,11.7911,12.4015,11.9992,12.4015 C12.2117,12.4015,12.4009,12.2875,12.5072,12.0991 C13.5654,10.1975,16.0062,5.81085,17.0643,3.90926 C17.1706,3.72094,17.1706,3.49069,17.0643,3.30237 C16.9625,3.11405,16.7665,3,16.5584,3 Z M8.91225,4.09059 L15.1052,4.09059 C15.2375,4.09059,15.361,4.16305,15.4258,4.28281 C15.4934,4.40257,15.4934,4.54965,15.4258,4.66941 C14.7529,5.8787,13.0031,8.89953,12.3302,10.1088 C12.2626,10.2286,12.1427,10.3032,12.0075,10.3032 C11.8752,10.3032,11.7545,10.2286,11.6869,10.1088 C11.014,8.89952,9.2653,5.8787,8.58956,4.66941 C8.52481,4.54965,8.52481,4.40257,8.58956,4.28281 C8.65713,4.16305,8.77992,4.09059,8.91225,4.09059 Z"
|
||||
android:strokeWidth="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="2" />
|
||||
</vector>
|
||||
</vector>
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
<!--
|
||||
https://github.com/google/material-design-icons/blob/9beae745bb758f3ad56654fb377ea5cf62be4915/symbols/android/info/materialsymbolsoutlined/info_wght200_24px.xml
|
||||
|
||||
Copyright 2022 Google
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?ytTextPrimary"
|
||||
android:pathData="M13,17h-2v-6h2V17zM13,7h-2v2h2V7zM12,3c-4.96,0 -9,4.04 -9,9s4.04,9 9,9c4.96,0 9,-4.04 9,-9S16.96,3 12,3M12,2c5.52,0 10,4.48 10,10s-4.48,10 -10,10C6.48,22 2,17.52 2,12S6.48,2 12,2L12,2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,27 @@
|
||||
<!--
|
||||
https://github.com/google/material-design-icons/blob/cde278b1c4bbca87b8b6d8eff846a8a6a3a4e2be/symbols/android/campaign/materialsymbolsoutlined/campaign_wght200_24px.xml
|
||||
|
||||
Copyright 2022 Google
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?ytTextPrimary"
|
||||
android:pathData="M17.9219,12.5 L17.9219,11.5 L21.1523,11.5 L21.1523,12.5 Z M19.0078,18.9609 L16.4219,17.0234 L17.0469,16.2305 L19.6289,18.168 Z M16.9688,7.69141 L16.3477,6.89844 L18.9297,4.96094 L19.5547,5.75391 Z M5.5,17.9609 L5.5,14.1523 L4.46094,14.1523 C4.01563,14.1523,3.63281,13.9961,3.31641,13.6836 C3.00391,13.3672,2.84766,12.9844,2.84766,12.5391 L2.84766,11.4609 C2.84766,11.0156,3.00391,10.6328,3.31641,10.3164 C3.63281,10.0039,4.01563,9.84766,4.46094,9.84766 L8.19141,9.84766 L12.1523,7.5 L12.1523,16.5 L8.19141,14.1523 L6.5,14.1523 L6.5,17.9609 Z M11.1523,14.7188 L11.1523,9.28125 L8.47266,10.8477 L4.46094,10.8477 C4.30859,10.8477,4.16797,10.9102,4.03906,11.0391 C3.91016,11.168,3.84766,11.3086,3.84766,11.4609 L3.84766,12.5391 C3.84766,12.6914,3.91016,12.832,4.03906,12.9609 C4.16797,13.0898,4.30859,13.1523,4.46094,13.1523 L8.47266,13.1523 Z M13.9219,14.8867 L13.9219,9.11328 C14.2578,9.42188,14.5273,9.82813,14.7305,10.332 C14.9375,10.8398,15.0391,11.3945,15.0391,12 C15.0391,12.6055,14.9375,13.1602,14.7305,13.668 C14.5273,14.1719,14.2578,14.5781,13.9219,14.8867 Z M7.5,12 Z M7.5,12" />
|
||||
</vector>
|
||||
@@ -0,0 +1,21 @@
|
||||
<!--
|
||||
https://github.com/ajayyy/DeArrow/blob/4d9e85b41382de0cc8ec2053789455b374b7a70d/public/icons/logo.svg
|
||||
Changes made: The DeArrow logo was resized.
|
||||
|
||||
Copyright 2023 Ajay Ramachandran <dev@ajay.app>
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:strokeColor="?ytTextPrimary"
|
||||
android:strokeWidth="1"
|
||||
android:pathData="M12.0814,1.99794 C9.37251,1.99794,6.97872,3.32778,5.20335,5.14149 C3.42798,6.9552,1.99794,9.39989,1.99794,12.1677 C1.99794,14.9355,3.10403,17.7107,4.87939,19.5244 C6.65476,21.3381,9.37195,21.9549,12.0814,21.9549 C14.7908,21.9549,17.0848,20.9067,18.8601,19.093 C20.6355,17.2793,22.002,14.9355,22.002,12.1677 C22.002,9.40046,20.8525,6.83638,19.0766,5.02267 C17.3013,3.20894,14.7903,1.99794,12.0814,1.99794 Z M11.9105,5.02102 C13.838,5.02102,15.5196,6.09439,16.7829,7.35711 C18.0462,8.61984,18.8878,10.3004,18.8878,12.2279 C18.8878,14.1554,18.2513,16.0427,16.988,17.3054 C15.7247,18.5681,13.8374,18.9333,11.9105,18.9333 C9.98355,18.9333,8.36976,18.2962,7.10645,17.0335 C5.84314,15.7708,5.11222,14.1554,5.11222,12.2278 C5.11222,10.3003,5.63697,8.47868,6.8997,7.21537 C8.16239,5.95218,9.98293,5.02102,11.9105,5.02102 Z" />
|
||||
<path
|
||||
android:fillColor="?ytTextPrimary"
|
||||
android:pathData="M15.3108,11.899 C15.3108,13.6514,13.8411,15.1264,12.0887,15.1264 C10.3363,15.1264,8.97704,13.6515,8.97704,11.899 C8.97704,10.1466,10.3363,8.71961,12.0887,8.71961 C13.8411,8.71961,15.3108,10.1466,15.3108,11.899 Z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,27 @@
|
||||
<!--
|
||||
https://github.com/google/material-design-icons/blob/9beae745bb758f3ad56654fb377ea5cf62be4915/symbols/android/dynamic_feed/materialsymbolsoutlined/dynamic_feed_wght200_24px.xml
|
||||
|
||||
Copyright 2022 Google
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?ytTextPrimary"
|
||||
android:pathData="M4.85,19.775Q4.15,19.775 3.688,19.312Q3.225,18.85 3.225,18.15V12.55H4.225V18.15Q4.225,18.375 4.425,18.575Q4.625,18.775 4.85,18.775H12.45V19.775ZM8.625,16Q7.925,16 7.463,15.537Q7,15.075 7,14.375V8.775H8V14.375Q8,14.625 8.188,14.812Q8.375,15 8.625,15H16.225V16ZM12.375,12.225Q11.7,12.225 11.238,11.762Q10.775,11.3 10.775,10.625V5.85Q10.775,5.15 11.238,4.687Q11.7,4.225 12.375,4.225H19.15Q19.85,4.225 20.312,4.687Q20.775,5.15 20.775,5.85V10.625Q20.775,11.3 20.312,11.762Q19.85,12.225 19.15,12.225ZM12.375,11.225H19.15Q19.375,11.225 19.575,11.037Q19.775,10.85 19.775,10.625V7.225H11.775V10.625Q11.775,10.85 11.963,11.037Q12.15,11.225 12.375,11.225Z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,27 @@
|
||||
<!--
|
||||
https://github.com/google/material-design-icons/blob/9beae745bb758f3ad56654fb377ea5cf62be4915/symbols/android/settings/materialsymbolsoutlined/settings_wght200_24px.xml
|
||||
|
||||
Copyright 2022 Google
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?ytTextPrimary"
|
||||
android:pathData="M12,9.5c1.38,0 2.5,1.12 2.5,2.5s-1.12,2.5 -2.5,2.5S9.5,13.38 9.5,12S10.62,9.5 12,9.5M12,8.5c-1.93,0 -3.5,1.57 -3.5,3.5s1.57,3.5 3.5,3.5s3.5,-1.57 3.5,-3.5S13.93,8.5 12,8.5L12,8.5zM13.22,3l0.55,2.2l0.13,0.51l0.5,0.18c0.61,0.23 1.19,0.56 1.72,0.98l0.4,0.32l0.5,-0.14l2.17,-0.62l1.22,2.11l-1.63,1.59l-0.37,0.36l0.08,0.51c0.05,0.32 0.08,0.64 0.08,0.98s-0.03,0.66 -0.08,0.98l-0.08,0.51l0.37,0.36l1.63,1.59l-1.22,2.11l-2.17,-0.62l-0.5,-0.14l-0.4,0.32c-0.53,0.43 -1.11,0.76 -1.72,0.98l-0.5,0.18l-0.13,0.51L13.22,21h-2.44l-0.55,-2.2l-0.13,-0.51l-0.5,-0.18C9,17.88 8.42,17.55 7.88,17.12l-0.4,-0.32l-0.5,0.14l-2.17,0.62L3.6,15.44l1.63,-1.59l0.37,-0.36l-0.08,-0.51C5.47,12.66 5.44,12.33 5.44,12s0.03,-0.66 0.08,-0.98l0.08,-0.51l-0.37,-0.36L3.6,8.56l1.22,-2.11l2.17,0.62l0.5,0.14l0.4,-0.32C8.42,6.45 9,6.12 9.61,5.9l0.5,-0.18l0.13,-0.51L10.78,3H13.22M14,2h-4L9.26,4.96c-0.73,0.27 -1.4,0.66 -2,1.14L4.34,5.27l-2,3.46l2.19,2.13C4.47,11.23 4.44,11.61 4.44,12s0.03,0.77 0.09,1.14l-2.19,2.13l2,3.46l2.92,-0.83c0.6,0.48 1.27,0.87 2,1.14L10,22h4l0.74,-2.96c0.73,-0.27 1.4,-0.66 2,-1.14l2.92,0.83l2,-3.46l-2.19,-2.13c0.06,-0.37 0.09,-0.75 0.09,-1.14s-0.03,-0.77 -0.09,-1.14l2.19,-2.13l-2,-3.46L16.74,6.1c-0.6,-0.48 -1.27,-0.87 -2,-1.14L14,2L14,2z" />
|
||||
</vector>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user