mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-12-09 19:03:55 +01:00
Compare commits
20 Commits
v5.2.0-dev
...
v5.2.1-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85bfa4ca91 | ||
|
|
9bcde94724 | ||
|
|
0cfd8e6760 | ||
|
|
3265372035 | ||
|
|
57a8e47041 | ||
|
|
cd476c1227 | ||
|
|
064be93ee2 | ||
|
|
f74fd7113f | ||
|
|
628afc22bc | ||
|
|
8686bd9f20 | ||
|
|
534996f251 | ||
|
|
ca4a16dbd8 | ||
|
|
e33082f765 | ||
|
|
18360464a9 | ||
|
|
968e6e9b69 | ||
|
|
02732ab432 | ||
|
|
77aea074a9 | ||
|
|
fe15213cf9 | ||
|
|
046bd3ec88 | ||
|
|
d6bc998365 |
67
CHANGELOG.md
67
CHANGELOG.md
@@ -1,3 +1,70 @@
|
||||
## [5.2.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.2...v5.2.1-dev.3) (2024-11-29)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube Music - Hide category bar:** Add support for latest release ([#3968](https://github.com/ReVanced/revanced-patches/issues/3968)) ([b63fdeb](https://github.com/ReVanced/revanced-patches/commit/b63fdeb10b504468307a77bd5de69407906848bf))
|
||||
|
||||
## [5.2.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.1...v5.2.1-dev.2) (2024-11-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4019](https://github.com/ReVanced/revanced-patches/issues/4019)) ([d89ad65](https://github.com/ReVanced/revanced-patches/commit/d89ad6501a7cdb3c074c6204dac7960ca3e252f1))
|
||||
|
||||
## [5.2.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.2.0...v5.2.1-dev.1) (2024-11-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4014](https://github.com/ReVanced/revanced-patches/issues/4014)) ([c8eced5](https://github.com/ReVanced/revanced-patches/commit/c8eced54704017df4e91e536dbef1e9514306f67))
|
||||
|
||||
# [5.2.0](https://github.com/ReVanced/revanced-patches/compare/v5.1.0...v5.2.0) (2024-11-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **My Expenses - Unlock pro:** Constrain compatible version to working version ([#3974](https://github.com/ReVanced/revanced-patches/issues/3974)) ([ba3bf69](https://github.com/ReVanced/revanced-patches/commit/ba3bf69df07ec8dab46868c3940ebd56db0cd137))
|
||||
* **YouTube - Hide Shorts components:** Add missing options to patch ([65f62fc](https://github.com/ReVanced/revanced-patches/commit/65f62fcd5ac340616a96542c64faf2af2a60df28))
|
||||
* **YouTube - Playback speed:** Allow long press 2x speed when using custom playback speeds ([#3990](https://github.com/ReVanced/revanced-patches/issues/3990)) ([79a543a](https://github.com/ReVanced/revanced-patches/commit/79a543a57470638f983862c61270e046f3ac5cb7))
|
||||
* **YouTube - Settings:** Do not clip settings menus when using an Android 15 device ([#3999](https://github.com/ReVanced/revanced-patches/issues/3999)) ([7382a02](https://github.com/ReVanced/revanced-patches/commit/7382a020b8322a7abc016a4569bc15f9caf05546))
|
||||
* **YouTube - Settings:** Show navigation back button in setting sub menus ([#3991](https://github.com/ReVanced/revanced-patches/issues/3991)) ([e61686c](https://github.com/ReVanced/revanced-patches/commit/e61686c1039ae29e443273e4da4ec63956216841))
|
||||
* **YouTube - Spoof video streams:** Log out the iOS client to restore kids videos playback ([#4000](https://github.com/ReVanced/revanced-patches/issues/4000)) ([cc2ac4e](https://github.com/ReVanced/revanced-patches/commit/cc2ac4e4cd15ca2a23d60abd160d915bc98f99b4))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **TikTok:** Add ReVanced settings about screen ([#4009](https://github.com/ReVanced/revanced-patches/issues/4009)) ([12ea26b](https://github.com/ReVanced/revanced-patches/commit/12ea26b10ddea5ad39da1d35e2b8fd0b48c15d88))
|
||||
* **VSCO:** Remove non functional `Unlock pro` patch ([4fddb19](https://github.com/ReVanced/revanced-patches/commit/4fddb1930bc7adeee3b60ae9cd346b143e88bd42))
|
||||
* **YouTube - Theme:** Apply custom seekbar color to splash screen animation ([#3978](https://github.com/ReVanced/revanced-patches/issues/3978)) ([98d57e2](https://github.com/ReVanced/revanced-patches/commit/98d57e28af7206099867474b7aa3760cd4fe333f))
|
||||
* **YouTube:** Support version `19.46.42` ([#4010](https://github.com/ReVanced/revanced-patches/issues/4010)) ([122aac6](https://github.com/ReVanced/revanced-patches/commit/122aac6aee8ef0737f18564f11bbc2a6addf4a6b))
|
||||
|
||||
# [5.2.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.2.0-dev.6...v5.2.0-dev.7) (2024-11-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Settings:** Do not clip settings menus when using an Android 15 device ([#3999](https://github.com/ReVanced/revanced-patches/issues/3999)) ([7382a02](https://github.com/ReVanced/revanced-patches/commit/7382a020b8322a7abc016a4569bc15f9caf05546))
|
||||
|
||||
# [5.2.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.2.0-dev.5...v5.2.0-dev.6) (2024-11-27)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube:** Support version `19.46.42` ([#4010](https://github.com/ReVanced/revanced-patches/issues/4010)) ([122aac6](https://github.com/ReVanced/revanced-patches/commit/122aac6aee8ef0737f18564f11bbc2a6addf4a6b))
|
||||
|
||||
# [5.2.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.2.0-dev.4...v5.2.0-dev.5) (2024-11-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Spoof video streams:** Log out the iOS client to restore kids videos playback ([#4000](https://github.com/ReVanced/revanced-patches/issues/4000)) ([cc2ac4e](https://github.com/ReVanced/revanced-patches/commit/cc2ac4e4cd15ca2a23d60abd160d915bc98f99b4))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **TikTok:** Add ReVanced settings about screen ([#4009](https://github.com/ReVanced/revanced-patches/issues/4009)) ([12ea26b](https://github.com/ReVanced/revanced-patches/commit/12ea26b10ddea5ad39da1d35e2b8fd0b48c15d88))
|
||||
|
||||
# [5.2.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.2.0-dev.3...v5.2.0-dev.4) (2024-11-26)
|
||||
|
||||
|
||||
|
||||
@@ -8,12 +8,14 @@ import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.Insets;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.preference.*;
|
||||
import android.util.TypedValue;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowInsets;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toolbar;
|
||||
|
||||
@@ -310,6 +312,18 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
|
||||
.findViewById(android.R.id.content)
|
||||
.getParent();
|
||||
|
||||
// Fix required for Android 15 and YT 19.45+
|
||||
// FIXME:
|
||||
// On Android 15 the text layout is not aligned the same as the parent
|
||||
// screen and it looks a little off. Otherwise this works.
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
rootView.setOnApplyWindowInsetsListener((v, insets) -> {
|
||||
Insets statusInsets = insets.getInsets(WindowInsets.Type.statusBars());
|
||||
v.setPadding(0, statusInsets.top, 0, 0);
|
||||
return insets;
|
||||
});
|
||||
}
|
||||
|
||||
Toolbar toolbar = new Toolbar(childScreen.getContext());
|
||||
toolbar.setTitle(childScreen.getTitle());
|
||||
toolbar.setNavigationIcon(getBackButtonDrawable());
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package app.revanced.extension.shared.settings.preference;
|
||||
|
||||
import static app.revanced.extension.shared.StringRef.sf;
|
||||
import static app.revanced.extension.shared.StringRef.str;
|
||||
import static app.revanced.extension.youtube.requests.Route.Method.GET;
|
||||
|
||||
@@ -13,6 +12,8 @@ import android.content.res.Configuration;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.preference.Preference;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Window;
|
||||
@@ -37,7 +38,7 @@ import app.revanced.extension.youtube.requests.Requester;
|
||||
import app.revanced.extension.youtube.requests.Route;
|
||||
|
||||
/**
|
||||
* Opens a dialog showing the links from {@link SocialLinksRoutes}.
|
||||
* Opens a dialog showing official links.
|
||||
*/
|
||||
@SuppressWarnings({"unused", "deprecation"})
|
||||
public class ReVancedAboutPreference extends Preference {
|
||||
@@ -72,7 +73,16 @@ public class ReVancedAboutPreference extends Preference {
|
||||
return Color.BLACK;
|
||||
}
|
||||
|
||||
private String createDialogHtml(WebLink[] socialLinks) {
|
||||
/**
|
||||
* Apps that do not support bundling resources must override this.
|
||||
*
|
||||
* @return A localized string to display for the key.
|
||||
*/
|
||||
protected String getString(String key, Object ... args) {
|
||||
return str(key, args);
|
||||
}
|
||||
|
||||
private String createDialogHtml(WebLink[] aboutLinks) {
|
||||
final boolean isNetworkConnected = Utils.isNetworkConnected();
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
@@ -91,7 +101,7 @@ public class ReVancedAboutPreference extends Preference {
|
||||
builder.append("<img style=\"width: 100px; height: 100px;\" "
|
||||
// Hide the image if it does not load.
|
||||
+ "onerror=\"this.style.display='none';\" "
|
||||
+ "src=\"https://revanced.app/favicon.ico\" />");
|
||||
+ "src=\"").append(AboutLinksRoutes.aboutLogoUrl).append("\" />");
|
||||
}
|
||||
|
||||
String patchesVersion = Utils.getPatchesReleaseVersion();
|
||||
@@ -103,29 +113,29 @@ public class ReVancedAboutPreference extends Preference {
|
||||
|
||||
builder.append("<p>")
|
||||
// Replace hyphens with non breaking dashes so the version number does not break lines.
|
||||
.append(useNonBreakingHyphens(str("revanced_settings_about_links_body", patchesVersion)))
|
||||
.append(useNonBreakingHyphens(getString("revanced_settings_about_links_body", patchesVersion)))
|
||||
.append("</p>");
|
||||
|
||||
// Add a disclaimer if using a dev release.
|
||||
if (patchesVersion.contains("dev")) {
|
||||
builder.append("<h3>")
|
||||
// English text 'Pre-release' can break lines.
|
||||
.append(useNonBreakingHyphens(str("revanced_settings_about_links_dev_header")))
|
||||
.append(useNonBreakingHyphens(getString("revanced_settings_about_links_dev_header")))
|
||||
.append("</h3>");
|
||||
|
||||
builder.append("<p>")
|
||||
.append(str("revanced_settings_about_links_dev_body"))
|
||||
.append(getString("revanced_settings_about_links_dev_body"))
|
||||
.append("</p>");
|
||||
}
|
||||
|
||||
builder.append("<h2 style=\"margin-top: 30px;\">")
|
||||
.append(str("revanced_settings_about_links_header"))
|
||||
.append(getString("revanced_settings_about_links_header"))
|
||||
.append("</h2>");
|
||||
|
||||
builder.append("<div>");
|
||||
for (WebLink social : socialLinks) {
|
||||
for (WebLink link : aboutLinks) {
|
||||
builder.append("<div style=\"margin-bottom: 20px;\">");
|
||||
builder.append(String.format("<a href=\"%s\">%s</a>", social.url, social.name));
|
||||
builder.append(String.format("<a href=\"%s\">%s</a>", link.url, link.name));
|
||||
builder.append("</div>");
|
||||
}
|
||||
builder.append("</div>");
|
||||
@@ -137,25 +147,44 @@ public class ReVancedAboutPreference extends Preference {
|
||||
{
|
||||
setOnPreferenceClickListener(pref -> {
|
||||
// Show a progress spinner if the social links are not fetched yet.
|
||||
if (!SocialLinksRoutes.hasFetchedLinks() && Utils.isNetworkConnected()) {
|
||||
if (!AboutLinksRoutes.hasFetchedLinks() && Utils.isNetworkConnected()) {
|
||||
// Show a progress spinner, but only if the api fetch takes more than a half a second.
|
||||
final long delayToShowProgressSpinner = 500;
|
||||
ProgressDialog progress = new ProgressDialog(getContext());
|
||||
progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
||||
progress.show();
|
||||
Utils.runOnBackgroundThread(() -> fetchLinksAndShowDialog(progress));
|
||||
|
||||
Handler handler = new Handler(Looper.getMainLooper());
|
||||
Runnable showDialogRunnable = progress::show;
|
||||
handler.postDelayed(showDialogRunnable, delayToShowProgressSpinner);
|
||||
|
||||
Utils.runOnBackgroundThread(() ->
|
||||
fetchLinksAndShowDialog(handler, showDialogRunnable, progress));
|
||||
} else {
|
||||
// No network call required and can run now.
|
||||
fetchLinksAndShowDialog(null);
|
||||
fetchLinksAndShowDialog(null, null, null);
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
private void fetchLinksAndShowDialog(@Nullable ProgressDialog progress) {
|
||||
WebLink[] socialLinks = SocialLinksRoutes.fetchSocialLinks();
|
||||
String htmlDialog = createDialogHtml(socialLinks);
|
||||
private void fetchLinksAndShowDialog(@Nullable Handler handler,
|
||||
Runnable showDialogRunnable,
|
||||
@Nullable ProgressDialog progress) {
|
||||
WebLink[] links = AboutLinksRoutes.fetchAboutLinks();
|
||||
String htmlDialog = createDialogHtml(links);
|
||||
|
||||
// Enable to randomly force a delay to debug the spinner logic.
|
||||
final boolean debugSpinnerDelayLogic = false;
|
||||
//noinspection ConstantConditions
|
||||
if (debugSpinnerDelayLogic && handler != null && Math.random() < 0.5f) {
|
||||
Utils.doNothingForDuration((long) (Math.random() * 4000));
|
||||
}
|
||||
|
||||
Utils.runOnMainThreadNowOrLater(() -> {
|
||||
if (handler != null) {
|
||||
handler.removeCallbacks(showDialogRunnable);
|
||||
}
|
||||
if (progress != null) {
|
||||
progress.dismiss();
|
||||
}
|
||||
@@ -224,7 +253,7 @@ class WebViewDialog extends Dialog {
|
||||
|
||||
class WebLink {
|
||||
final boolean preferred;
|
||||
final String name;
|
||||
String name;
|
||||
final String url;
|
||||
|
||||
WebLink(JSONObject json) throws JSONException {
|
||||
@@ -243,7 +272,7 @@ class WebLink {
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ReVancedSocialLink{" +
|
||||
return "WebLink{" +
|
||||
"preferred=" + preferred +
|
||||
", name='" + name + '\'' +
|
||||
", url='" + url + '\'' +
|
||||
@@ -251,25 +280,21 @@ class WebLink {
|
||||
}
|
||||
}
|
||||
|
||||
class SocialLinksRoutes {
|
||||
class AboutLinksRoutes {
|
||||
/**
|
||||
* Simple link to the website donate page,
|
||||
* rather than fetching and parsing the donation links using the API.
|
||||
* Backup icon url if the API call fails.
|
||||
*/
|
||||
public static final WebLink DONATE_LINK = new WebLink(true,
|
||||
sf("revanced_settings_about_links_donate").toString(),
|
||||
"https://revanced.app/donate");
|
||||
public static volatile String aboutLogoUrl = "https://revanced.app/favicon.ico";
|
||||
|
||||
/**
|
||||
* Links to use if fetch links api call fails.
|
||||
*/
|
||||
private static final WebLink[] NO_CONNECTION_STATIC_LINKS = {
|
||||
new WebLink(true, "ReVanced.app", "https://revanced.app"),
|
||||
DONATE_LINK,
|
||||
new WebLink(true, "ReVanced.app", "https://revanced.app")
|
||||
};
|
||||
|
||||
private static final String SOCIAL_LINKS_PROVIDER = "https://api.revanced.app/v2";
|
||||
private static final Route.CompiledRoute GET_SOCIAL = new Route(GET, "/socials").compile();
|
||||
private static final String SOCIAL_LINKS_PROVIDER = "https://api.revanced.app/v4";
|
||||
private static final Route.CompiledRoute GET_SOCIAL = new Route(GET, "/about").compile();
|
||||
|
||||
@Nullable
|
||||
private static volatile WebLink[] fetchedLinks;
|
||||
@@ -278,7 +303,7 @@ class SocialLinksRoutes {
|
||||
return fetchedLinks != null;
|
||||
}
|
||||
|
||||
static WebLink[] fetchSocialLinks() {
|
||||
static WebLink[] fetchAboutLinks() {
|
||||
try {
|
||||
if (hasFetchedLinks()) return fetchedLinks;
|
||||
|
||||
@@ -298,11 +323,22 @@ class SocialLinksRoutes {
|
||||
}
|
||||
|
||||
JSONObject json = Requester.parseJSONObjectAndDisconnect(connection);
|
||||
JSONArray socials = json.getJSONArray("socials");
|
||||
aboutLogoUrl = json.getJSONObject("branding").getString("logo");
|
||||
|
||||
List<WebLink> links = new ArrayList<>();
|
||||
|
||||
links.add(DONATE_LINK); // Show donate link first.
|
||||
JSONArray donations = json.getJSONObject("donations").getJSONArray("links");
|
||||
for (int i = 0, length = donations.length(); i < length; i++) {
|
||||
WebLink link = new WebLink(donations.getJSONObject(i));
|
||||
if (link.preferred) {
|
||||
// This could be localized, but TikTok does not support localized resources.
|
||||
// All link names returned by the api are also non localized.
|
||||
link.name = "Donate";
|
||||
links.add(link);
|
||||
}
|
||||
}
|
||||
|
||||
JSONArray socials = json.getJSONArray("socials");
|
||||
for (int i = 0, length = socials.length(); i < length; i++) {
|
||||
WebLink link = new WebLink(socials.getJSONObject(i));
|
||||
links.add(link);
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
package app.revanced.extension.tiktok.settings.preference;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.settings.preference.ReVancedAboutPreference;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class ReVancedTikTokAboutPreference extends ReVancedAboutPreference {
|
||||
|
||||
/**
|
||||
* Because resources cannot be added to TikTok,
|
||||
* these strings are copied from the shared strings.xml file.
|
||||
*
|
||||
* Changes here must also be made in strings.xml
|
||||
*/
|
||||
private final Map<String, String> aboutStrings = Map.of(
|
||||
"revanced_settings_about_links_body", "You are using ReVanced Patches version <i>%s</i>",
|
||||
"revanced_settings_about_links_dev_header", "Note",
|
||||
"revanced_settings_about_links_dev_body", "This version is a pre-release and you may experience unexpected issues",
|
||||
"revanced_settings_about_links_header", "Official links"
|
||||
);
|
||||
|
||||
{
|
||||
//noinspection deprecation
|
||||
setTitle("About");
|
||||
}
|
||||
|
||||
public ReVancedTikTokAboutPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
}
|
||||
public ReVancedTikTokAboutPreference(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
public ReVancedTikTokAboutPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
public ReVancedTikTokAboutPreference(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getString(String key, Object ... args) {
|
||||
String format = aboutStrings.get(key);
|
||||
|
||||
if (format == null) {
|
||||
Logger.printException(() -> "Unknown key: " + key);
|
||||
return "";
|
||||
}
|
||||
|
||||
return String.format(format, args);
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,14 @@ import android.content.Context;
|
||||
import android.preference.PreferenceScreen;
|
||||
|
||||
import app.revanced.extension.shared.settings.BaseSettings;
|
||||
import app.revanced.extension.tiktok.settings.preference.ReVancedTikTokAboutPreference;
|
||||
import app.revanced.extension.tiktok.settings.preference.TogglePreference;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class ExtensionPreferenceCategory extends ConditionalPreferenceCategory {
|
||||
public ExtensionPreferenceCategory(Context context, PreferenceScreen screen) {
|
||||
super(context, screen);
|
||||
setTitle("Extension");
|
||||
setTitle("Miscellaneous");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -20,6 +21,8 @@ public class ExtensionPreferenceCategory extends ConditionalPreferenceCategory {
|
||||
|
||||
@Override
|
||||
public void addPreferences(Context context) {
|
||||
addPreference(new ReVancedTikTokAboutPreference(context));
|
||||
|
||||
addPreference(new TogglePreference(context,
|
||||
"Enable debug log",
|
||||
"Show extension debug log.",
|
||||
|
||||
@@ -8,6 +8,17 @@ import android.os.Build;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
public enum ClientType {
|
||||
// Specific purpose for age restricted, or private videos, because the iOS client is not logged in.
|
||||
ANDROID_VR(28,
|
||||
"Quest 3",
|
||||
"12",
|
||||
"com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip",
|
||||
"32", // Android 12.1
|
||||
"1.56.21",
|
||||
"ANDROID_VR",
|
||||
true
|
||||
),
|
||||
// Specific for kids videos.
|
||||
// https://dumps.tadiphone.dev/dumps/oculus/eureka
|
||||
IOS(5,
|
||||
// iPhone 15 supports AV1 hardware decoding.
|
||||
@@ -25,14 +36,9 @@ public enum ClientType {
|
||||
null,
|
||||
// Version number should be a valid iOS release.
|
||||
// https://www.ipa4fun.com/history/185230
|
||||
"19.10.7"
|
||||
),
|
||||
ANDROID_VR(28,
|
||||
"Quest 3",
|
||||
"12",
|
||||
"com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip",
|
||||
"32", // Android 12.1
|
||||
"1.56.21"
|
||||
"19.10.7",
|
||||
"IOS",
|
||||
false
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -44,7 +50,7 @@ public enum ClientType {
|
||||
/**
|
||||
* Device model, equivalent to {@link Build#MODEL} (System property: ro.product.model)
|
||||
*/
|
||||
public final String model;
|
||||
public final String deviceModel;
|
||||
|
||||
/**
|
||||
* Device OS version.
|
||||
@@ -63,17 +69,37 @@ public enum ClientType {
|
||||
@Nullable
|
||||
public final String androidSdkVersion;
|
||||
|
||||
/**
|
||||
* Client name.
|
||||
*/
|
||||
public final String clientName;
|
||||
|
||||
/**
|
||||
* App version.
|
||||
*/
|
||||
public final String appVersion;
|
||||
public final String clientVersion;
|
||||
|
||||
ClientType(int id, String model, String osVersion, String userAgent, @Nullable String androidSdkVersion, String appVersion) {
|
||||
/**
|
||||
* If the client can access the API logged in.
|
||||
*/
|
||||
public final boolean canLogin;
|
||||
|
||||
ClientType(int id,
|
||||
String deviceModel,
|
||||
String osVersion,
|
||||
String userAgent,
|
||||
@Nullable String androidSdkVersion,
|
||||
String clientVersion,
|
||||
String clientName,
|
||||
boolean canLogin
|
||||
) {
|
||||
this.id = id;
|
||||
this.model = model;
|
||||
this.deviceModel = deviceModel;
|
||||
this.osVersion = osVersion;
|
||||
this.userAgent = userAgent;
|
||||
this.androidSdkVersion = androidSdkVersion;
|
||||
this.appVersion = appVersion;
|
||||
this.clientVersion = clientVersion;
|
||||
this.clientName = clientName;
|
||||
this.canLogin = canLogin;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,15 +12,13 @@ import app.revanced.extension.youtube.requests.Requester;
|
||||
import app.revanced.extension.youtube.requests.Route;
|
||||
|
||||
final class PlayerRoutes {
|
||||
private static final String YT_API_URL = "https://youtubei.googleapis.com/youtubei/v1/";
|
||||
|
||||
static final Route.CompiledRoute GET_STREAMING_DATA = new Route(
|
||||
Route.Method.POST,
|
||||
"player" +
|
||||
"?fields=streamingData" +
|
||||
"&alt=proto"
|
||||
).compile();
|
||||
|
||||
private static final String YT_API_URL = "https://youtubei.googleapis.com/youtubei/v1/";
|
||||
/**
|
||||
* TCP connection and HTTP read timeout
|
||||
*/
|
||||
@@ -30,15 +28,15 @@ final class PlayerRoutes {
|
||||
}
|
||||
|
||||
static String createInnertubeBody(ClientType clientType) {
|
||||
JSONObject innerTubeBody = new JSONObject();
|
||||
JSONObject innerTubeBody = new JSONObject();
|
||||
|
||||
try {
|
||||
JSONObject context = new JSONObject();
|
||||
|
||||
JSONObject client = new JSONObject();
|
||||
client.put("clientName", clientType.name());
|
||||
client.put("clientVersion", clientType.appVersion);
|
||||
client.put("deviceModel", clientType.model);
|
||||
client.put("clientVersion", clientType.clientVersion);
|
||||
client.put("deviceModel", clientType.deviceModel);
|
||||
client.put("osVersion", clientType.osVersion);
|
||||
if (clientType.androidSdkVersion != null) {
|
||||
client.put("androidSdkVersion", clientType.androidSdkVersion);
|
||||
@@ -57,7 +55,9 @@ final class PlayerRoutes {
|
||||
return innerTubeBody.toString();
|
||||
}
|
||||
|
||||
/** @noinspection SameParameterValue*/
|
||||
/**
|
||||
* @noinspection SameParameterValue
|
||||
*/
|
||||
static HttpURLConnection getPlayerResponseConnectionFromRoute(Route.CompiledRoute route, ClientType clientType) throws IOException {
|
||||
var connection = Requester.getConnectionFromCompiledRoute(YT_API_URL, route);
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ import app.revanced.extension.youtube.settings.Settings;
|
||||
/**
|
||||
* Video streaming data. Fetching is tied to the behavior YT uses,
|
||||
* where this class fetches the streams only when YT fetches.
|
||||
*
|
||||
* <p>
|
||||
* Effectively the cache expiration of these fetches is the same as the stock app,
|
||||
* since the stock app would not use expired streams and therefor
|
||||
* the extension replace stream hook is called only if YT
|
||||
@@ -37,38 +37,20 @@ import app.revanced.extension.youtube.settings.Settings;
|
||||
public class StreamingDataRequest {
|
||||
|
||||
private static final ClientType[] CLIENT_ORDER_TO_USE;
|
||||
|
||||
static {
|
||||
ClientType[] allClientTypes = ClientType.values();
|
||||
ClientType preferredClient = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
|
||||
|
||||
CLIENT_ORDER_TO_USE = new ClientType[allClientTypes.length];
|
||||
CLIENT_ORDER_TO_USE[0] = preferredClient;
|
||||
|
||||
int i = 1;
|
||||
for (ClientType c : allClientTypes) {
|
||||
if (c != preferredClient) {
|
||||
CLIENT_ORDER_TO_USE[i++] = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static final String AUTHORIZATION_HEADER = "Authorization";
|
||||
private static final String[] REQUEST_HEADER_KEYS = {
|
||||
"Authorization", // Available only to logged in users.
|
||||
AUTHORIZATION_HEADER, // Available only to logged-in users.
|
||||
"X-GOOG-API-FORMAT-VERSION",
|
||||
"X-Goog-Visitor-Id"
|
||||
};
|
||||
|
||||
/**
|
||||
* TCP connection and HTTP read timeout.
|
||||
*/
|
||||
private static final int HTTP_TIMEOUT_MILLISECONDS = 10 * 1000;
|
||||
|
||||
/**
|
||||
* Any arbitrarily large value, but must be at least twice {@link #HTTP_TIMEOUT_MILLISECONDS}
|
||||
*/
|
||||
private static final int MAX_MILLISECONDS_TO_WAIT_FOR_FETCH = 20 * 1000;
|
||||
|
||||
private static final Map<String, StreamingDataRequest> cache = Collections.synchronizedMap(
|
||||
new LinkedHashMap<>(100) {
|
||||
/**
|
||||
@@ -86,8 +68,32 @@ public class StreamingDataRequest {
|
||||
}
|
||||
});
|
||||
|
||||
static {
|
||||
ClientType[] allClientTypes = ClientType.values();
|
||||
ClientType preferredClient = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
|
||||
|
||||
CLIENT_ORDER_TO_USE = new ClientType[allClientTypes.length];
|
||||
CLIENT_ORDER_TO_USE[0] = preferredClient;
|
||||
|
||||
int i = 1;
|
||||
for (ClientType c : allClientTypes) {
|
||||
if (c != preferredClient) {
|
||||
CLIENT_ORDER_TO_USE[i++] = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final String videoId;
|
||||
private final Future<ByteBuffer> future;
|
||||
|
||||
private StreamingDataRequest(String videoId, Map<String, String> playerHeaders) {
|
||||
Objects.requireNonNull(playerHeaders);
|
||||
this.videoId = videoId;
|
||||
this.future = Utils.submitOnBackgroundThread(() -> fetch(videoId, playerHeaders));
|
||||
}
|
||||
|
||||
public static void fetchRequest(String videoId, Map<String, String> fetchHeaders) {
|
||||
// Always fetch, even if there is a existing request for the same video.
|
||||
// Always fetch, even if there is an existing request for the same video.
|
||||
cache.put(videoId, new StreamingDataRequest(videoId, fetchHeaders));
|
||||
}
|
||||
|
||||
@@ -119,6 +125,10 @@ public class StreamingDataRequest {
|
||||
connection.setReadTimeout(HTTP_TIMEOUT_MILLISECONDS);
|
||||
|
||||
for (String key : REQUEST_HEADER_KEYS) {
|
||||
if (!clientType.canLogin && key.equals(AUTHORIZATION_HEADER)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String value = playerHeaders.get(key);
|
||||
if (value != null) {
|
||||
connection.setRequestProperty(key, value);
|
||||
@@ -186,15 +196,6 @@ public class StreamingDataRequest {
|
||||
return null;
|
||||
}
|
||||
|
||||
private final String videoId;
|
||||
private final Future<ByteBuffer> future;
|
||||
|
||||
private StreamingDataRequest(String videoId, Map<String, String> playerHeaders) {
|
||||
Objects.requireNonNull(playerHeaders);
|
||||
this.videoId = videoId;
|
||||
this.future = Utils.submitOnBackgroundThread(() -> fetch(videoId, playerHeaders));
|
||||
}
|
||||
|
||||
public boolean fetchCompleted() {
|
||||
return future.isDone();
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ import app.revanced.extension.youtube.patches.AlternativeThumbnailsPatch.StillIm
|
||||
import app.revanced.extension.youtube.patches.AlternativeThumbnailsPatch.ThumbnailOption;
|
||||
import app.revanced.extension.youtube.patches.AlternativeThumbnailsPatch.ThumbnailStillTime;
|
||||
import app.revanced.extension.youtube.patches.spoof.ClientType;
|
||||
import app.revanced.extension.youtube.patches.spoof.SpoofAppVersionPatch;
|
||||
import app.revanced.extension.youtube.patches.spoof.SpoofVideoStreamsPatch;
|
||||
import app.revanced.extension.youtube.sponsorblock.SponsorBlockSettings;
|
||||
|
||||
@@ -197,7 +196,7 @@ public class Settings extends BaseSettings {
|
||||
// General layout
|
||||
public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.ORIGINAL, true);
|
||||
public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message");
|
||||
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "18.38.44" : "17.33.42", true, parent(SPOOF_APP_VERSION));
|
||||
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "19.35.36" : "17.33.42", true, parent(SPOOF_APP_VERSION));
|
||||
public static final BooleanSetting TABLET_LAYOUT = new BooleanSetting("revanced_tablet_layout", FALSE, true, "revanced_tablet_layout_user_dialog_message");
|
||||
public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true);
|
||||
public static final BooleanSetting BYPASS_IMAGE_REGION_RESTRICTIONS = new BooleanSetting("revanced_bypass_image_region_restrictions", FALSE, true);
|
||||
@@ -272,12 +271,12 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting SPOOF_DEVICE_DIMENSIONS = new BooleanSetting("revanced_spoof_device_dimensions", FALSE, true,
|
||||
"revanced_spoof_device_dimensions_user_dialog_message");
|
||||
public static final BooleanSetting BYPASS_URL_REDIRECTS = new BooleanSetting("revanced_bypass_url_redirects", TRUE);
|
||||
public static final BooleanSetting ANNOUNCEMENTS = new BooleanSetting("revanced_announcements", TRUE, false, false);
|
||||
public static final BooleanSetting ANNOUNCEMENTS = new BooleanSetting("revanced_announcements", 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 BooleanSetting SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC = new BooleanSetting("revanced_spoof_video_streams_ios_force_avc", FALSE, true,
|
||||
"revanced_spoof_video_streams_ios_force_avc_user_dialog_message", new SpoofVideoStreamsPatch.ForceiOSAVCAvailability());
|
||||
public static final EnumSetting<ClientType> SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client", ClientType.ANDROID_VR, true, parent(SPOOF_VIDEO_STREAMS));
|
||||
public static final IntegerSetting ANNOUNCEMENT_LAST_ID = new IntegerSetting("revanced_announcement_last_id", -1);
|
||||
public static final IntegerSetting ANNOUNCEMENT_LAST_ID = new IntegerSetting("revanced_announcement_last_id", -1, false, false);
|
||||
public static final BooleanSetting CHECK_WATCH_HISTORY_DOMAIN_NAME = new BooleanSetting("revanced_check_watch_history_domain_name", TRUE, false, false);
|
||||
public static final BooleanSetting REMOVE_TRACKING_QUERY_PARAMETER = new BooleanSetting("revanced_remove_tracking_query_parameter", TRUE);
|
||||
public static final IntegerSetting CHECK_ENVIRONMENT_WARNINGS_ISSUED = new IntegerSetting("revanced_check_environment_warnings_issued", 0, true, false);
|
||||
@@ -380,7 +379,7 @@ public class Settings extends BaseSettings {
|
||||
migrateOldSettingToNew(DEPRECATED_HIDE_PLAYER_FLYOUT_VIDEO_QUALITY_FOOTER, HIDE_PLAYER_FLYOUT_VIDEO_QUALITY_FOOTER);
|
||||
|
||||
// Old spoof versions that no longer work reliably.
|
||||
if (SpoofAppVersionPatch.isSpoofingToLessThan(SPOOF_APP_VERSION_TARGET.defaultValue)) {
|
||||
if (SPOOF_APP_VERSION_TARGET.get().compareTo(SPOOF_APP_VERSION_TARGET.defaultValue) < 0) {
|
||||
Logger.printInfo(() -> "Resetting spoof app version target");
|
||||
SPOOF_APP_VERSION_TARGET.resetToDefault();
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
||||
org.gradle.parallel = true
|
||||
android.useAndroidX = true
|
||||
kotlin.code.style = official
|
||||
version = 5.2.0-dev.4
|
||||
version = 5.2.1-dev.3
|
||||
|
||||
@@ -15,8 +15,6 @@ internal val constructCategoryBarFingerprint = fingerprint {
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.IPUT_OBJECT,
|
||||
Opcode.CONST,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.NEW_INSTANCE,
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.INVOKE_VIRTUAL
|
||||
)
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ val hideAdsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ val hideGetPremiumPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ val videoAdsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ val copyVideoUrlPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ val removeViewerDiscretionDialogPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ val downloadsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ val disablePreciseSeekingGesturePatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ val enableSeekbarTappingPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ val enableSlideToSeekPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ val seekbarThumbnailsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ val swipeControlsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ val autoCaptionsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ val customBrandingPatch = resourcePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ val changeHeaderPatch = resourcePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ val hideButtonsPatch = resourcePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ val navigationButtonsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ val hidePlayerOverlayButtonsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ val hideEndscreenCardsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ val disableFullscreenAmbientModePatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -129,6 +129,7 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ val hideInfoCardsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ val hidePlayerFlyoutMenuPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ val disableRollingNumberAnimationPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ val hideSeekbarPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -189,6 +189,7 @@ val hideShortsComponentsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ val disableSuggestedVideoEndScreenPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ val hideTimestampPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -169,6 +169,7 @@ val miniplayerPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ val playerPopupPanelsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ val playerControlsBackgroundPatch = resourcePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ val customPlayerOverlayOpacityPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ val returnYouTubeDislikePatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ val wideSearchbarPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ val shortsAutoplayPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -118,6 +118,7 @@ val sponsorBlockPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -35,10 +35,11 @@ val spoofAppVersionPatch = bytecodePatch(
|
||||
"18.38.44",
|
||||
"18.49.37",
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
// "19.25.37", // Cannot be supported because the lowest spoof target is higher.
|
||||
// "19.34.42", // Cannot be supported because the lowest spoof target is higher.
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ val changeStartPagePatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ val disableResumingShortsOnStartupPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ val enableTabletLayoutPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -201,6 +201,7 @@ val themePatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ val alternativeThumbnailsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ val bypassImageRegionRestrictionsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ val announcementsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ val autoRepeatPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ val backgroundPlaybackPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ val enableDebuggingPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ val spoofDeviceDimensionsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ val spoofVideoStreamsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ val gmsCoreSupportPatch = gmsCoreSupportPatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ val bypassURLRedirectsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ val openLinksExternallyPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ val removeTrackingQueryParameterPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ val zoomHapticsPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ val rememberVideoQualityPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ val playbackSpeedPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -81,6 +81,7 @@ val restoreOldVideoQualityMenuPatch = bytecodePatch(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.45.38",
|
||||
"19.46.42",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">ملاحظة</string>
|
||||
<string name="revanced_settings_about_links_dev_body">هذا الإصدار هو إصدار مسبق، وقد تواجه مشاكل غير متوقعة</string>
|
||||
<string name="revanced_settings_about_links_header">الروابط الرسمية</string>
|
||||
<string name="revanced_settings_about_links_donate">تبرع</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">18.38.44 - استعادة أيقونات مشغل Shorts القديمة</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - استعادة أيقونات مشغل Shorts القديمة</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - استعادة RYD على Shorts بوضع التخفي</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - استعادة قائمة سرعة الفيديو العريضة & الجودة</string>
|
||||
@@ -1204,9 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">لا يحتوي جهازك على فك تشفير الأجهزة VP9، وهذا الإعداد يعمل دائما عند تمكين تزييف العميل</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">قد يؤدي تمكين هذا إلى تحسين عمر البطارية وإصلاح مشكلة تقطيع التشغيل.\n\nيتمتع تنسيق AVC بدقة قصوى تبلغ 1080P، وسيستخدم تشغيل الفيديو المزيد من بيانات الإنترنت مقارنةً بتنسيق VP9 أو AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">التأثيرات الجانبية لمحاكاة iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• قد لا يتم تشغيل الأفلام أو الفيديوهات المدفوعة\n• تبدأ البثوث المباشرة من البداية\n• قد تنتهي الفيديوهات قبل النهاية بثانية واحدة\n• لا يوجد ترميز الصوت Opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• قد لا يتم تشغيل فيديوهات الأطفال الخاصة\n• تبدأ البثوث المباشر من البداية\n• قد تنتهي الفيديوهات قبل النهاية بثانية واحدة\n• لا يوجد ترميز الصوت opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">التأثيرات الجانبية لمحاكاة Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• قائمة المقطع الصوتي مفقودة\n• مستوى الصوت الثابت غير متوفر</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• قد لا يتم تشغيل فيديوهات الأطفال\n• قائمة المقطع الصوتي مفقودة\n• مستوى الصوت الثابت غير متوفر</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Qeyd</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Bu versiya ilkin buraxılışdır və gözlənilməz problemlərlə üzləşə bilərsiniz</string>
|
||||
<string name="revanced_settings_about_links_header">Rəsmi bağlantılar</string>
|
||||
<string name="revanced_settings_about_links_donate">İanə ver</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Saxta tətbiq versiyası hədəfi</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Köhnə Shorts oynadıcı işarələrin bərpa et</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Köhnə Shorts oynadıcı işarələrin bərpa et</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Shorts gizli rejimində RYD-ni bərpa et</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Geniş video sürəti & keyfiyyət menyusunu bərpa et</string>
|
||||
@@ -1204,9 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Cihazınızın VP9 hardware decoding\'i yoxdur və bu seçim, \"Qəbuledicini saxtalaşdırma\" aktivləşdikdə həmişəlikdir</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Bunu aktivləşdirmə batareya ömrünü yaxşılaşdıra və oynatma donmasını düzəldə bilər.\n\nAVC maksimum 1080p görüntü imkanına malikdir və video oynadılması VP9 və ya AV1-dən daha çox internet məlumatı istifadə edəcək.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS saxtakarlığı yan təsirləri</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Filmlər və ya ödənişli videolar oynadılmaya bilər\n• Canlı yayımlar əvvəldən başlayır\n• Videolar 1 saniyə tez bitə bilər\n• Opus səs kodlama yoxdur</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Şəxsi uşaq videoları oynadılmaya bilər\n• Canlı yayımlar başdan başlayır\n• Videolar 1 saniyə tez bitə bilər\n• Opus səs kodlama yoxdur</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR saxtakarlığı yan təsirləri</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Səs axını menyusu əskikdir\n• Stabil səs səviyyəsi əlçatan deyil</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Uşaq videoları oynadılmaya bilər\n• Səs treki menyusu əskikdir\n• Sabit səs həcmi əlçatan deyil</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -51,6 +51,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Нататка</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Гэтая версія з\"яўляецца папярэдняй версіяй, і вы можаце сутыкнуцца з непрадбачанымі праблемамі</string>
|
||||
<string name="revanced_settings_about_links_header">Афіцыйныя спасылкі</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Забележка</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Тази версия е предварителна, така че може да срещнете неочаквани проблеми</string>
|
||||
<string name="revanced_settings_about_links_header">Официални линкове</string>
|
||||
<string name="revanced_settings_about_links_donate">Дарение</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">18.38.44 - Възстановете старите икони на Shorts в плейъра</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Възстановете старите икони на Shorts в плейъра</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Възстановете RYD в режим „инкогнито“ на Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Възстановяване на видео скорост & в менюто за качество</string>
|
||||
@@ -1204,9 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Вашето устройство няма хардуерно VP9 декодиране и тази настройка винаги е активирана, когато е активно подправяне на клиента</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Активирането на това може да подобри живота на батерията и да коригира прекъсванията при възпроизвеждане.\n\nAVC има максимална разделителна способност от 1080p и възпроизвеждането на видео ще използва повече интернет данни от VP9 или AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Cтранични ефекти от подмяната на iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Филми или платени видеоклипове може да не се възпроизвеждат\n• Потоците на живо започват отначало\n• Видеоклиповете може да завършват 1 секунда по-рано\n• Няма аудиокодек Opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Платените видеоклипове за деца може да не се възпроизвеждат\n• Потоците на живо започват отначало\n• Видеоклиповете може да завършват 1 секунда по-рано\n• Няма аудиокодек Opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Странични ефекти от подправяне на Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Липсва менюто за избор аудио\n• Не е налична стабилна сила на звука</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Детските видеоклипове може да не се възпроизвеждат\n• Липсва менюто за аудио запис\n• Не е налична стабилна сила на звука</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -59,7 +59,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">দ্রষ্টব্য</string>
|
||||
<string name="revanced_settings_about_links_dev_body">এই সংস্করণ একটি প্রাক-প্রকাশনা এবং এতে আপনি অনাকাঙ্খিত সমস্যার সম্মুখিন হতে পারেন</string>
|
||||
<string name="revanced_settings_about_links_header">অফিশ্যাল লিংকসমূহ</string>
|
||||
<string name="revanced_settings_about_links_donate">দান করুন</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -37,6 +37,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<string name="revanced_settings_reset">Restablir</string>
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -61,7 +61,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Poznámka</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Tato verze je předběžná verze a můžete zaznamenat neočekávané problémy</string>
|
||||
<string name="revanced_settings_about_links_header">Oficiální odkazy</string>
|
||||
<string name="revanced_settings_about_links_donate">Přispět</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -963,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Cíl pro spontánní verzi aplikace</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Obnovuje staré ikony Shorts přehrávače</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Obnovuje staré ikony Shorts přehrávače</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Obnovení RYD v krátkém anonymním režimu</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Obnovení široké rychlosti videa & kvalitní menu</string>
|
||||
@@ -1205,9 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Vaše zařízení nemá hardwarové dekódování VP9 a toto nastavení je vždy zapnuto, když je aktivní spoofování klienta</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Povolení této funkce může zlepšit životnost baterie a opravit stahování přehrávání.\n\nAVC má maximální rozlišení 1080p a video přehrávání bude používat více dat než VP9 nebo AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Boční efekty iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Filmy nebo placená videa nemusí přehrávat\n• Živočišné rekony začínající od začátku\n• Videa mohou skončit 1 sekundu na začátku\n• Žádný opus audio kodek</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Soukromá dětská videa nemusí přehrávat\n• Živočišná zvířata začínající od začátku\n• Videa mohou skončit 1 sekundu na začátku\n• Žádný opus zvukový kodek</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Boční efekty Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Menu zvukové stopy chybí\n• Stabilní hlasitost není k dispozici</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Dětská videa nemusí přehrát\n• Menu zvukové stopy chybí\n• Stabilní hlasitost není k dispozici</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -61,7 +61,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Bemærkning</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Denne version er en pre-release og du kan opleve uventede problemer</string>
|
||||
<string name="revanced_settings_about_links_header">Officielle links</string>
|
||||
<string name="revanced_settings_about_links_donate">Donér</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -952,7 +953,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 version mål</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Gendan gamle Shorts player ikoner</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Gendan gamle Shorts spillerikoner</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Gendan RYD på Shorts inkognitotilstand</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Gendan bred video hastighed & kvalitet menu</string>
|
||||
@@ -1187,9 +1188,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Din enhed har ikke VP9 hardwareafkodning, og denne indstilling er altid tændt, når Client spoofing er aktiveret</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Aktivering af dette kan forbedre batteriets levetid og rette afspilningsstuttering.\n\nAVC har en maksimal opløsning på 1080p, og videoafspilning vil bruge flere internetdata end VP9 eller AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS forfalskning bivirkninger</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Film eller betalte videoer kan ikke afspille\n• Livestreams starter fra begyndelsen\n• Videoer kan ende 1 sekund tidlig\n• Ingen opus lydkode</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Private børn videoer kan ikke afspille\n• Livestreams starter fra begyndelsen\n• Videoer kan ende 1 sekund tidlig\n• Ingen opus audio codec</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR spoofing bivirkninger</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Menuen Lydspor mangler\n• Stabil lydstyrke er ikke tilgængelig</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids videoer afspiller muligvis ikke\n• Menuen for lydspor mangler\n• Stabil lydstyrke er ikke tilgængelig</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -61,7 +61,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Notiz</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Diese Version ist eine Vorabversion und du könntest unerwartete Probleme haben</string>
|
||||
<string name="revanced_settings_about_links_header">Offizielle Links</string>
|
||||
<string name="revanced_settings_about_links_donate">Spenden</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -963,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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-Versionsziel</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Alte Shorts Spielersymbole wiederherstellen</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Alte Shorts Spielersymbole wiederherstellen</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD auf Shorts Inkognito-Modus wiederherstellen</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Wiederherstellen der breiten Videogeschwindigkeit & Qualitätsmenü</string>
|
||||
@@ -1205,9 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Ihr Gerät hat keine VP9-Hardware-Dekodierung, und diese Einstellung ist immer aktiviert, wenn Client-Spoofing aktiviert ist</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Das Aktivieren kann die Akkulaufzeit verbessern und die Wiedergabe-Stutting beheben.\n\nAVC hat eine maximale Auflösung von 1080p, und die Videowiedergabe wird mehr Internet-Daten als VP9 oder AV1 verwenden.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS Spoofing Nebeneffekte</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Filme oder bezahlte Videos werden möglicherweise nicht abgespielt\n• Livestreams starten von Anfang an\n• Videos enden möglicherweise 1 Sekunde früher\n• kein Opus-Audiocodec</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Videos für Privatkinder dürfen nicht\nabspielen • Livestreams beginnen von Anfang an\n• Videos können 1 Sekunde früher\n• Kein opus Audio Codec</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR Spoofing Nebeneffekte</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Audio Track Menü fehlt\n• Stabile Lautstärke ist nicht verfügbar</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Kindervideos dürfen nicht\nabspielen • Audiospurmenü fehlt\n• Stabile Lautstärke ist nicht verfügbar</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Σημείωση</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Αυτή η έκδοση είναι σε πρώιμο στάδιο, επομένως πιθανότατα να αντιμετωπίσετε απρόοπτα προβλήματα</string>
|
||||
<string name="revanced_settings_about_links_header">Επίσημοι σύνδεσμοι</string>
|
||||
<string name="revanced_settings_about_links_donate">Δωρεά</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">18.38.44 - Επαναφορά των παλαιών κουμπιών της οθόνης αναπαραγωγής των Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Επαναφορά των παλαιών κουμπιών της οθόνης αναπαραγωγής των Shorts</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Επαναφορά λειτουργικότητας του RYD στα Shorts σε λειτουργία ανώνυμης περιήγησης</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Επαναφορά ευρύτερου μενού ταχύτητας & ποιότητας βίντεο</string>
|
||||
@@ -1204,9 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Η συσκευή σας δεν διαθέτει αποκωδικοποίηση υλικού VP9, και αυτή η ρύθμιση είναι πάντα ενεργή όταν είναι ενεργοποιημένη η παραποίηση προγράμματος πελάτη</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Ενεργοποιώντας αυτόν τον κωδικοποιητή ίσως να βελτιώσει κατανάλωση ενέργειας και ίσως διορθώσει κολλήματα αναπαραγωγής.\n\nΟ AVC έχει μέγιστη ανάλυση 1080p, και καταναλώνει περισσότερα δεδομένα internet από τον VP9 ή τον AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Παρενέργειες παραποίησης σε iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Οι ταινίες ή τα επί πληρωμή βίντεο ενδέχεται να μην αναπαράγονται\n• Οι ζωντανές μεταδόσεις ξεκινούν από την αρχή κατά την αναπαραγωγή\n• Τα βίντεο μπορεί να τελειώνουν 1 δευτερόλεπτο νωρίτερα\n• Ο κωδικοποιητής ήχου opus δεν είναι διαθέσιμος</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Ιδιωτικά βίντεο για παιδιά ενδεχομένως να μην αναπαράγονται\n• Οι ζωντανές μεταδόσεις ξεκινούν από την αρχή\n• Τα βίντεο ενδέχεται να λήξουν 1 δευτερόλεπτο νωρίτερα\n• Δεν υπάρχει κωδικοποιητής ήχου opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Παρενέργειες παραποίησης σε Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Το μενού «Κομμάτι ήχου» λείπει\n• Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται\n• Το μενού «Κομμάτι ήχου» λείπει\n• Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Nota</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Esta versión es un pre-lanzamiento y puede que experimentes problemas inesperados</string>
|
||||
<string name="revanced_settings_about_links_header">Enlaces oficiales</string>
|
||||
<string name="revanced_settings_about_links_donate">Donar</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Destino de versión de la aplicación Spoof</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Restaurar iconos antiguos del reproductor de Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restaurar iconos antiguos del reproductor de Shorts</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurar RYD en Shorts de modo incógnito</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurar la velocidad de vídeo ancha & menú de calidad</string>
|
||||
@@ -1204,9 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Su dispositivo no tiene decodificación de hardware VP9, y esta configuración siempre está encendida cuando el cliente spoofing está habilitado</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activar esto puede mejorar la vida de la batería y corregir el retraso en la reproducción.\n\nAVC tiene una resolución máxima de 1080p, y la reproducción de vídeo utilizará más datos de Internet que VP9 o AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Efectos secundarios para la falsificación de iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Las películas o vídeos de pago pueden no reproducirse\n• Los directos empiezan desde el principio\n• Los vídeos pueden terminar 1 segundo antes\n• No hay códec de audio de Opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Los vídeos de niños privados no pueden reproducir\n• Livestreams comienzan desde el principio\n• Los vídeos pueden terminar 1 segundo antes de\n• No hay código de audio de opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Efectos secundarios para la falsificación de Android RV</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Falta el menú de pista de audio\n• El volumen estable no está disponible</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Los vídeos infantiles no pueden reproducir\n• Falta el menú de pista de audio\n• El volumen estable no está disponible</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -61,7 +61,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Huomautus</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Tämä versio on ennakkojulkaisuversio, joten voit kokea odottamattomia ongelmia</string>
|
||||
<string name="revanced_settings_about_links_header">Viralliset linkit</string>
|
||||
<string name="revanced_settings_about_links_donate">Lahjoita</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -964,7 +965,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Naamioitava kohdeversio</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Vanhojen Shorts-pelaajan kuvakkeiden palauttaminen</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Vanhojen Shorts-pelaajan kuvakkeiden palauttaminen</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Palauita RYD Shorts-videoissa incognito-tilassa</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Palauta laaja videonopeus- ja laatuvalikko</string>
|
||||
@@ -1206,9 +1207,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Laitteessasi ei ole VP9-laitteiston dekoodausta, ja tämä asetus on aina päällä, kun asiakkaan spoofing on käytössä</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Tämän käyttöönotto voi parantaa akun kestoa ja korjata toistoa stuttering.\n\nAVC on suurin resoluutio 1080p, ja videon toisto käyttää enemmän internet-tietoja kuin VP9 tai AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS-naamioinnin haittavaikutukset</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Elokuvat tai maksetut videot eivät välttämättä toistu\n• Suoratoistot alkavat alusta\n• Videot saattavat päättyä 1 sekuntia etuajassa\n• Ei Opus-äänikoodekkia</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Yksityiset lapset videot eivät välttämättä pelaa\n• Livestreams alusta alkaen\n• Videot saattavat päättyä 1 sekunnin alkupuolella\n• Ei opus-äänikoodekkia</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR -naamioinnin haittavaikutukset</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Ääniraitavalikko puuttuu\n• Tasainen äänenvoimakkuus ei ole käytettävissä</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Lapset videot eivät välttämättä soita\n• Ääniraidan valikko puuttuu\n• Vakaa äänenvoimakkuus ei ole käytettävissä</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -51,6 +51,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Tandaan</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Ang bersyon na ito ay isang pre-release at maaari kang makaranas ng mga hindi inaasahang isyu</string>
|
||||
<string name="revanced_settings_about_links_header">Mga opisyal na link</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -61,7 +61,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Note</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Cette version est une pré-version et vous pourriez rencontrer des problèmes inattendus</string>
|
||||
<string name="revanced_settings_about_links_header">Liens officiels</string>
|
||||
<string name="revanced_settings_about_links_donate">Faire un don</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -963,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Falsifier la cible de version de l\'application</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Restaurer les anciennes icônes des joueurs Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Restaurer les anciennes icônes de joueur à court terme</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Restaurer RYD en mode incognito Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Restaurer une grande vitesse vidéo & menu qualité</string>
|
||||
@@ -1205,9 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Votre appareil ne possède pas de décodage matériel VP9, et ce paramètre est toujours activé lorsque la falsification du client est activée</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activer ceci peut améliorer la durée de vie de la batterie et corriger les erreurs de lecture.\n\nAVC a une résolution maximale de 1080p, et la lecture vidéo utilisera plus de données internet que VP9 ou AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Effets secondaires d\'usurpation iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Les films ou les vidéos payantes ne peuvent pas lire\n• Les Livestreams commencent depuis le début\n• Les vidéos peuvent se terminer 1 seconde tôt\n• Pas de codec audio opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Les vidéos privées des enfants ne peuvent pas être lues\n• Les live reams commencent à partir de\n• Les vidéos peuvent se terminer 1 seconde tôt\n• Aucun codec audio opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Effets secondaires de l\'usurpation VR Android</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Le menu de la piste audio manque\n• Le volume stable n\'est pas disponible</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Les vidéos des enfants peuvent ne pas lire\n• Le menu de la piste audio manque\n• Le volume stable n\'est pas disponible</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Nóta</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Is réamh-eisiúint é an leagan seo agus d\'fhéadfadh fadhbanna gan choinne a bheith agat</string>
|
||||
<string name="revanced_settings_about_links_header">Naisc oifigiúla</string>
|
||||
<string name="revanced_settings_about_links_donate">Síntiúis</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Sprioc leagan aip spoof</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Athchóirigh sean-deilbhíní imreoir Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Athchóirigh sean-deilbhíní imreoir Shorts</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Athchóirigh RYD ar mhodh incognito Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Athchóirigh luas leathan físe & roghchlár cáilíochta</string>
|
||||
@@ -1204,9 +1205,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Níl díchódú crua-earraí VP9 ar do ghléas, agus bíonn an socrú seo ar siúl i gcónaí nuair atá spoofing Cliant cumasaithe</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Má dhéantar é seo a chumasú, d\'fhéadfadh sé go bhfeabhsófaí saol na gceallraí agus go n-athshocraigh sé stopáil athsheinm.\n\nTá uas-taifeach 1080p ag AVC, agus úsáidfidh athsheinm físe níos mó sonraí idirlín ná mar a úsáideann VP9 nó AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Fo-iarsmaí spoofing iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Ní féidir le scannáin nó físeáin íoctha a sheinm\n• Tosaíonn sruthanna beo ón tús\n• Seans go gcríochnóidh físeáin 1 soicind go luath\n• Gan codec fuaime opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Fo-iarsmaí spoofing Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Tá roghchlár rian fuaime in easnamh\n• Níl an toirt cobhsaí ar fáil</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -37,6 +37,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<string name="revanced_settings_reset">रीसेट करें</string>
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Megjegyzés</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Ez a verzió egy előzetes kiadás, és nem kívánt hibákat tapasztalhat</string>
|
||||
<string name="revanced_settings_about_links_header">Hivatalos linkek</string>
|
||||
<string name="revanced_settings_about_links_donate">Támogatás</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Hamisított alkalmazásverzió célja</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - A régi Shorts lejátszó ikonok visszaállítása</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - A régi Shorts lejátszó ikonok visszaállítása</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - RYD visszaállítása Shorts inkognitó módban</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Széles videósebesség és minőség menü visszaállítása</string>
|
||||
@@ -1012,6 +1013,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_miniplayer_type_title">Minilejátszó típus</string>
|
||||
<string name="revanced_miniplayer_type_entry_0">Kikapcsolva</string>
|
||||
<string name="revanced_miniplayer_type_entry_1">Eredeti</string>
|
||||
<string name="revanced_miniplayer_type_entry_2">Minimális</string>
|
||||
<string name="revanced_miniplayer_type_entry_3">Tablet</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Modern 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
@@ -1203,9 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Eszközén nincs VP9 hardveres dekódolás, és ez a beállítás mindig be van kapcsolva, ha az ügyfélhamisítás engedélyezve van</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Ennek engedélyezése javíthatja az akkumulátor élettartamát, és kijavíthatja a lejátszás akadozását.\n\nAz AVC maximális felbontása 1080p, és a videolejátszás több internetadatot használ, mint a VP9 vagy az AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS hamisítási mellékhatások</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Előfordulhat, hogy a filmeket és a fizetős videókat nem lehet lejátszani\n• Az élő közvetítések elölről kezdődnek.\n• A videók 1 másodperccel korábban véget érhetnek\n• Nincs opus audiokodek</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Előfordulhat, hogy a privát gyerekeknek készült videókat nem lehet lejátszani\n• Az élő közvetítések az elejétől kezdődnek.\n• A videók 1 másodperccel korábban véget érhetnek\n• Nincs opus audiokodek</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR-hamisítási mellékhatások</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Hiányzik a hangsáv menü\n• A stabil hangerő nem érhető el</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Előfordulhat, hogy a gyerekvideókat nem lehet lejátszani\n• Hiányzik a hangsáv menü\n• A stabil hangerő nem érhető el</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Catatan</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Versi ini adalah pra-rilis dan Anda mungkin mengalami masalah yang tidak terduga</string>
|
||||
<string name="revanced_settings_about_links_header">Tautan resmi</string>
|
||||
<string name="revanced_settings_about_links_donate">Donasi</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -962,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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">Target versi app yang dipalsukan</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Pulihkan ikon pemutar Shorts lama</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Pulihkan ikon pemutar Shorts lama</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Pulihkan RYD pada mode penyamaran Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Pulihkan menu kecepatan & kualitas video lebar</string>
|
||||
@@ -1204,9 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Perangkat Anda tidak memiliki dekode perangkat keras VP9, dan pengaturan ini selalu aktif saat pemalsuan Klien diaktifkan</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Menyalakan ini dapat meningkatkan masa pakai baterai dan memperbaiki gangguan pemutaran.\n\nAVC memiliki resolusi maksimum 1080p, dan pemutaran video akan menggunakan lebih banyak data internet daripada VP9 atau AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Efek samping pemalsuan iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Film atau video berbayar mungkin tidak dapat diputar\n• Siaran langsung dimulai dari awal\n• Video mungkin berakhir 1 detik lebih awal\n• Tidak ada codec audio opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• Video anak-anak pribadi mungkin tidak dapat diputar\n• Siaran langsung dimulai dari awal\n• Video mungkin berakhir 1 detik lebih awal\n• Tidak ada codec audio opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Efek samping pemalsuan Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Menu trek audio hilang\n• Volume stabil tidak tersedia</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Video anak-anak mungkin tidak dapat diputar\n• Menu trek audio tidak ada\n• Volume stabil tidak tersedia</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
|
||||
@@ -36,6 +36,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
@@ -60,7 +60,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_about_links_dev_header">Nota</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Questa versione è una pre-release e potresti riscontrare problemi inaspettati</string>
|
||||
<string name="revanced_settings_about_links_header">Link ufficiali</string>
|
||||
<string name="revanced_settings_about_links_donate">Dona</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -137,7 +138,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Sezione \'Per te\' visibile</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Nascondi il pulsante \'Notificami\'</string>
|
||||
<string name="revanced_hide_notify_me_button_title">Nascondi il pulsante \'Avvisami\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Il pulsante è nascosto</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Il pulsante è visibile</string>
|
||||
<!-- 'People also watch' should be translated using the same localized wording YouTube displays. -->
|
||||
@@ -173,7 +174,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_movies_section_title">Nascondi la sezione film</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">La sezione film è nascosta</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">La sezione film è visibile</string>
|
||||
<string name="revanced_hide_feed_survey_title">Nascondi sondaggi nel feed</string>
|
||||
<string name="revanced_hide_feed_survey_title">Nascondi i sondaggi nei feed</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">I sondaggi nel feed sono nascosti</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">I sondaggi nel feed sono visibili</string>
|
||||
<string name="revanced_hide_community_guidelines_title">Nascondi le linee guida della community</string>
|
||||
@@ -198,17 +199,17 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_channel_bar_summary_on">La barra del canale è nascosta</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">La barra dei canali è visibile</string>
|
||||
<string name="revanced_hide_playables_title">Nascondi Sala Giochi</string>
|
||||
<string name="revanced_hide_playables_summary_on">I riproducibili sono nascosti</string>
|
||||
<string name="revanced_hide_playables_summary_off">I riproducibili sono mostrati</string>
|
||||
<string name="revanced_hide_playables_summary_on">I giochi sono nascosti</string>
|
||||
<string name="revanced_hide_playables_summary_off">I giochi sono visibili</string>
|
||||
<string name="revanced_hide_quick_actions_title">Nascondi azioni rapide a schermo intero</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Le azioni rapide sono nascoste</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Le azioni rapide sono visibili</string>
|
||||
<string name="revanced_hide_related_videos_title">Nascondi video correlati nelle azioni rapide</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Video correlati nascosti</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Video correlati visibili</string>
|
||||
<string name="revanced_hide_image_shelf_title">Nascondi lo scaffale immagine nei risultati di ricerca</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Lo scaffale dell\'immagine è nascosto</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Il ripiano immagine è visibile</string>
|
||||
<string name="revanced_hide_image_shelf_title">Nascondi pubblicità con immagini nei risultati di ricerca</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Le pubblicità con immagini sono nascoste </string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Le pubblicità con immagini sono visibili </string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Nascondi i post più recenti</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Gli ultimi post sono nascosti</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Gli ultimi post sono mostrati</string>
|
||||
@@ -239,12 +240,12 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_description_components_screen_title">Descrizione del video</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Mostra o nascondi i componenti della descrizione del video</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Barra dei filtri</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Nascondi o mostra la barra dei filtri nel feed, nella ricerca e nei video correlati</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Mostra o nascondi la barra dei filtri nel feed, nella ricerca e nei video correlati</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Nascondi nel feed</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Nascosto nel feed</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">È nascosto nel feed</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">È visibile nel feed</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Nascondi nella ricerca</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Nascosto nella ricerca</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">È nascosto nella ricerca</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">È visibile nella ricerca</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Nascondi nei video correlati</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Nascosto nei video correlati</string>
|
||||
@@ -321,13 +322,13 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_buttoned_ads_summary_on">Le pubblicità a pulsante sono nascoste</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_off">Le pubblicità a pulsante sono visibili</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Nascondi etichetta promozione a pagamento</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">L\'etichetta promozionale a pagamento è nascosta</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">L\'etichetta promozionale pagata è mostrata</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">L\'etichetta della promozione a pagamento è nascosta</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">L\'etichetta della promozione a pagamento è visibile</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Nascondi le carte autosponsorizzate</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Le carte autosponsorizzate sono nascoste</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Vengono mostrate le carte autosponsorizzate</string>
|
||||
<string name="revanced_hide_products_banner_title">Nascondi banner per visualizzare i prodotti</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Banner nascosto</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Il banner è nascosto</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">Il banner è visibile</string>
|
||||
<string name="revanced_hide_player_store_shelf_title">Nascondi la sezione Negozio</string>
|
||||
<string name="revanced_hide_player_store_shelf_summary_on">Lo scaffale è nascosto</string>
|
||||
@@ -342,9 +343,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_web_search_results_title">Nascondi i risultati della ricerca web</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">I risultati della ricerca web sono nascosti</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">I risultati della ricerca web sono mostrati</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Nascondi banner merchandise</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">I banner merceologici sono nascosti</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Vengono mostrati i banner di merce</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Nascondi i banner sul merchandising</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">I banner sul merchandising sono nascosti</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">I banner sul merchandising sono visibili</string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<string name="revanced_hide_fullscreen_ads_feature_not_available_toast">Nascondi gli annunci a schermo intero funziona solo con dispositivi più vecchi</string>
|
||||
</patch>
|
||||
@@ -469,7 +470,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_playlist_button_summary_off">Il pulsante Salva nella playlist è visibile</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.navigationButtonsPatch">
|
||||
<string name="revanced_navigation_buttons_screen_title">Navigation buttons</string>
|
||||
<string name="revanced_navigation_buttons_screen_title">Pulsanti di navigazione</string>
|
||||
<string name="revanced_navigation_buttons_screen_summary">Nascondi o cambia i pulsanti nella barra di navigazione</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
<string name="revanced_hide_home_button_title">Nascondi Home</string>
|
||||
@@ -484,12 +485,12 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_create_button_summary_on">Il pulsante Crea è nascosto</string>
|
||||
<string name="revanced_hide_create_button_summary_off">Il pulsante Crea è visibile</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_hide_subscriptions_button_title">Nascondi Abbonamenti</string>
|
||||
<string name="revanced_hide_subscriptions_button_title">Nascondi Iscrizioni</string>
|
||||
<string name="revanced_hide_subscriptions_button_summary_on">Il pulsante di sottoscrizioni è nascosto</string>
|
||||
<string name="revanced_hide_subscriptions_button_summary_off">Il pulsante Iscrizioni è visibile</string>
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_switch_create_with_notifications_button_title">Cambia Crea con le notifiche</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">Il pulsante Crea viene scambiato con il pulsante Notifiche\n\nNota: Abilitando questo nasconde anche gli annunci video</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">Il pulsante Crea viene scambiato con il pulsante Notifiche\n\nNota: Abilitando questo nasconde anche le pubblicità video</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_off">Il pulsante Crea non è cambiato con il pulsante Notifiche</string>
|
||||
<string name="revanced_hide_navigation_button_labels_title">Nascondi etichette dei pulsanti di navigazione</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_on">Le etichette sono nascoste</string>
|
||||
@@ -523,7 +524,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_player_flyout_stable_volume_summary_on">Il menu Volume Stabile è nascosto</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_help_title">Nascondi Guida e feedback</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_on">Il menu Guida e Feedback è nascosto</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_on">Il menu Guida e feedback è nascosto</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_off">Il menu Guida e feedback è visibile</string>
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_speed_title">Nascondi Velocità di riproduzione</string>
|
||||
@@ -554,7 +555,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Nascondi i pulsanti video precedenti & successivi</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">I pulsanti sono nascosti</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">I pulsanti sono visibili</string>
|
||||
<string name="revanced_hide_cast_button_title">Nascondi pulsante cast</string>
|
||||
<string name="revanced_hide_cast_button_title">Nascondi il pulsante Trasmetti</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Il pulsante Trasmetti è nascosto</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Il pulsante Trasmetti è visibile</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' -->
|
||||
@@ -581,14 +582,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_info_cards_summary_off">Le schede informative verranno mostrate</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.rollingnumber.disableRollingNumberAnimationPatch">
|
||||
<string name="revanced_disable_rolling_number_animations_title">Disabilita animazioni numero rolling</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_on">I numeri di rolling non sono animati</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_off">I numeri di rotolamento sono animati</string>
|
||||
<string name="revanced_disable_rolling_number_animations_title">Disattiva l\'effetto contatore dei numeri</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_on">L\'effetto contatore dei numeri è disattivato</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_off">L\'effetto contatore dei numeri è attivato</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
<string name="revanced_hide_seekbar_title">Nascondi la barra di ricerca nel lettore video</string>
|
||||
<string name="revanced_hide_seekbar_summary_on">La barra di ricerca del lettore video è nascosta</string>
|
||||
<string name="revanced_hide_seekbar_summary_off">La barra di ricerca del lettore video è mostrata</string>
|
||||
<string name="revanced_hide_seekbar_title">Nascondi la barra di avanzamento nel player video</string>
|
||||
<string name="revanced_hide_seekbar_summary_on">La barra di avanzamento nel player video è nascosta</string>
|
||||
<string name="revanced_hide_seekbar_summary_off">La barra di avanzamento nel player video video è visibile</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_title">Nascondi la barra di avanzamento nelle miniature video</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_on">La barra di avanzamento nelle miniature dei video è nascosta</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_off">La barra di avanzamento nelle miniature dei video è visibile</string>
|
||||
@@ -601,9 +602,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shorts_home_summary_on">Gli Shorts nella schermata Home sono nascosti</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Gli Shorts nella schermata Home sono visibili</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Nascondi gli Shorts della scheda Iscrizioni</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Nascondi gli Shorts nella scheda Iscrizioni</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Gli Shorts della schermata Iscrizioni sono nascosti</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Gli Shorts della schermata Iscrizioni sono visibili</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Gli Shorts nella schermata Iscrizioni sono visibili</string>
|
||||
<string name="revanced_hide_shorts_search_title">Nascondi gli Shorts dei risultati di ricerca</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Gli Shorts nei risultati di ricerca sono nascosti</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Vengono visualizzati gli Shorts nei risultati di ricerca</string>
|
||||
@@ -642,7 +643,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">Nascondi il pulsante Schermo verde</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">Il pulsante Schermo verde è nascosto</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">Il pulsante Schermo verde è visibile</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">Nascondi pulsante hashtag</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_title">Nascondi il pulsante Hashtag</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_on">Il pulsante Hashtag è nascosto</string>
|
||||
<string name="revanced_hide_shorts_hashtag_button_summary_off">Il pulsante Hashtag è visibile</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Nascondi i suggerimenti di ricerca</string>
|
||||
@@ -664,7 +665,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shorts_comments_button_summary_on">Il pulsante Commenti è nascosto</string>
|
||||
<string name="revanced_hide_shorts_comments_button_summary_off">Il pulsante Commenti è visibile</string>
|
||||
<!-- 'remix' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_remix_button_title">Nascondi pulsante remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_title">Nascondi il pulsante Remix</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_on">Il pulsante Remix è nascosto</string>
|
||||
<string name="revanced_hide_shorts_remix_button_summary_off">Il pulsante Remix è visibile</string>
|
||||
<!-- 'share' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
@@ -736,7 +737,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_ryd_compact_layout_summary_off">Pulsante Mi Piace riadattato per la migliore visualizzazione</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_title">Mostra un toast se l\'API non è disponibile</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Una notifica è mostrata se Return YouTube Dislike non è disponibile</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nessuna notifica è mostrata se Return YouTube Dislike non è disponibile</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nessuna notifica viene mostrata se Return YouTube Dislike non è disponibile</string>
|
||||
<string name="revanced_ryd_about">Informazioni</string>
|
||||
<string name="revanced_ryd_attribution_summary">I dati vengono forniti dall\'API Return YouTube Dislike. Tocca qui per saperne di più</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
@@ -837,7 +838,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_segments_sponsor">Sponsorizzazione</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">Promozione a pagamento, rinvii a pagamento e pubblicità diretta. Non per auto-promozione o gridare gratis a cause/creatori/siti web/prodotti che gradiscono</string>
|
||||
<string name="revanced_sb_segments_selfpromo">Non pagata/Auto Promozione</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">Simile a \'Sponsor\' tranne che per la promozione non pagata o autopromozionale. Include sezioni su merci, donazioni, o informazioni su chi hanno collaborato con</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">Simili agli Sponsor, ma sono promozioni non pagate o autopromozioni. Questo include segmenti sul merchandising, donazioni o informazioni dei collaboratori del video</string>
|
||||
<string name="revanced_sb_segments_interaction">Promemoria di interazione (iscrizione)</string>
|
||||
<string name="revanced_sb_segments_interaction_sum">Un breve promemoria per piacere, iscriversi o seguirli nel mezzo dei contenuti. Se è lungo o su qualcosa di specifico, dovrebbe invece essere sotto auto-promozione</string>
|
||||
<string name="revanced_sb_segments_highlight">Evidenzia</string>
|
||||
@@ -853,7 +854,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_segments_nomusic">Musica: Sezione Non-Musicale</string>
|
||||
<string name="revanced_sb_segments_nomusic_sum">Solo per l\'uso in video musicali. Sezioni di video musicali senza musica, che non sono già coperti da un\'altra categoria</string>
|
||||
<string name="revanced_sb_skip_button_compact">Salta</string>
|
||||
<string name="revanced_sb_skip_button_compact_highlight">Highlight</string>
|
||||
<string name="revanced_sb_skip_button_compact_highlight">Momento saliente</string>
|
||||
<string name="revanced_sb_skip_button_sponsor">Salta sponsor</string>
|
||||
<string name="revanced_sb_skip_button_selfpromo">Salta promozione</string>
|
||||
<string name="revanced_sb_skip_button_interaction">Salta promemoria</string>
|
||||
@@ -955,14 +956,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_about_api_sum">I dati sono forniti dall\'API di SponsorBlock. Tocca qui per saperne di più e vedere i download per altre piattaforme</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<string name="revanced_spoof_app_version_title">Versione di Spoof app</string>
|
||||
<string name="revanced_spoof_app_version_summary_on">Versione spoofed</string>
|
||||
<string name="revanced_spoof_app_version_summary_off">Versione non spoofed</string>
|
||||
<string name="revanced_spoof_app_version_user_dialog_message">La versione dell\'app sarà spoofed per una versione più vecchia di YouTube.\n\nQuesto cambierà l\'aspetto e le caratteristiche dell\'app, ma possono verificarsi effetti collaterali sconosciuti.\n\nSe in seguito è disattivato, si consiglia di cancellare i dati dell\'app per prevenire i bug dell\'UI.</string>
|
||||
<string name="revanced_spoof_app_version_title">Simula la versione dell\'app</string>
|
||||
<string name="revanced_spoof_app_version_summary_on">La simulazione della versione dell\'app è attivata</string>
|
||||
<string name="revanced_spoof_app_version_summary_off">La simulazione della versione dell\'app è disattivata</string>
|
||||
<string name="revanced_spoof_app_version_user_dialog_message">La versione dell\'app sarà camuffata ad una versione precedente di YouTube.\n\nQuesto cambierà l\'aspetto e le caratteristiche dell\'app, ma potrebbero verificarsi effetti collaterali sconosciuti.\n\nSe in seguito verrà disattivato, si consiglia di cancellare i dati dell\'app per evitare bug dell\'interfaccia.</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
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 destinazione versione app</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.38.44 - Ripristinare vecchie icone del player Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_title">Simula la versione dell\'app bersaglio</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.16.39 - Ripristinare vecchie icone del player Shorts</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - Ripristina RYD negli Shorts in modalità incognito</string>
|
||||
<string name="revanced_spoof_app_version_target_legacy_entry_2">18.20.39 - Ripristina velocità video larga & menu qualità</string>
|
||||
@@ -1001,8 +1002,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_shorts_autoplay_background_summary_off">Gli Short in background si ripeteranno</string>
|
||||
</patch>
|
||||
<patch id="layout.tablet.enableTabletLayoutPatch">
|
||||
<string name="revanced_tablet_layout_title">Abilita disposizione tablet</string>
|
||||
<string name="revanced_tablet_layout_summary_on">Disposizione tablet abilitata</string>
|
||||
<string name="revanced_tablet_layout_title">Attiva l\'interfaccia da tablet</string>
|
||||
<string name="revanced_tablet_layout_summary_on">Il layout da tablet è abilitato</string>
|
||||
<string name="revanced_tablet_layout_summary_off">Il layout del tablet è disabilitato</string>
|
||||
<string name="revanced_tablet_layout_user_dialog_message">I post della comunità non vengono visualizzati sui layout dei tablet</string>
|
||||
</patch>
|
||||
@@ -1068,21 +1069,21 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</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">Scheda home</string>
|
||||
<string name="revanced_alt_thumbnail_home_title">Scheda Home</string>
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Scheda abbonamento</string>
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Scheda Iscrizioni</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">È scheda</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Playlist giocatori, raccomandazioni</string>
|
||||
<string name="revanced_alt_thumbnail_library_title">Scheda Per Te</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">Playlist e video consigliati</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">Risultati della ricerca</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">Original thumbnails</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">Miniature originali</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & miniature originali</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_3">DeArrow & Cattura ancora</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_4">Catture ancora</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_4">Istantanea</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_about_summary">DeArrow fornisce miniature di origine folla per i video di YouTube. Queste miniature sono spesso più rilevanti di quelle fornite da YouTube\n\nSe abilitato, URL video verranno inviati al server API e non vengono inviati altri dati. Se un video non dispone di miniature DeArrow, poi le acquisizioni originali o ancora vengono mostrate\n\nTocca qui per saperne di più su DeArrow</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">Mostra una notifica se l\'API non è disponibile</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">Una notifica è visibile se DeArrow non è disponibile</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">Nessuna notifica è visibile se DeArrow non è disponibile</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">Nessuna notifica viene mostrata se DeArrow non è disponibile</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_api_url_title">Endpoint API di DeArrow</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">L\'URL dell\'endpoint della cache delle miniature di DeArrow</string>
|
||||
<string name="revanced_alt_thumbnail_stills_about_title">Istantanea</string>
|
||||
@@ -1108,7 +1109,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.dns.checkWatchHistoryDomainNameResolutionPatch">
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_title">Attenzione</string>
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_message">La cronologia dell\'orologio non è stata salvata.<br><br>Questo molto probabilmente è causato da un blocco annunci DNS o da un proxy di rete.<br><br>Per risolvere questo problema, whitelist <b>s.youtube.com</b> o disattiva tutti i DNS bloccanti e proxy.</string>
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_message">La tua cronologia di visualizzazione non è stata salvata.<br><br>Questo è molto probabilmente dovuto da un blocco annunci DNS o da un proxy di rete.<br><br>Per risolvere questo problema, inserisci nella whitelist <b>s.youtube.com</b> o disattiva tutti i DNS bloccanti e proxy.</string>
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_ignore">Non mostrare più</string>
|
||||
</patch>
|
||||
<patch id="misc.autorepeat.autoRepeatPatch">
|
||||
@@ -1117,10 +1118,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_auto_repeat_summary_off">La ripetizione automatica è disattivata</string>
|
||||
</patch>
|
||||
<patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch">
|
||||
<string name="revanced_spoof_device_dimensions_title">Camuffa le dimensioni del dispositivo</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_on">Dimensioni del dispositivo simulate\n\nLe qualità video più elevate potrebbero essere sbloccate, ma si possono verificare stuttering nella riproduzione video, peggiore durata della batteria ed effetti collaterali sconosciuti</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_off">Dimensioni dispositivo non simulate\n\nAbilitare questo può sbloccare qualità video superiori</string>
|
||||
<string name="revanced_spoof_device_dimensions_user_dialog_message">Abilitando questo può causare stuttering nella riproduzione video, peggiore durata della batteria ed effetti collaterali sconosciuti.</string>
|
||||
<string name="revanced_spoof_device_dimensions_title">Simula le dimensioni del dispositivo</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_on">Le dimensioni del dispositivo sono simulate\n\nLe qualità video più elevate potrebbero essere sbloccate, ma si possono verificare stuttering nella riproduzione video, peggiorare durata della batteria e causare effetti collaterali sconosciuti</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_off">Le dimensioni dispositivo non sono simulate\n\nAbilitare questo può sbloccare qualità video più elevate</string>
|
||||
<string name="revanced_spoof_device_dimensions_user_dialog_message">Abilitando questo può causare stuttering nella riproduzione del video, peggiorare la durata della batteria e causare effetti collaterali sconosciuti.</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<string name="microg_settings_title">Impostazioni di GmsCore</string>
|
||||
@@ -1191,22 +1192,22 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_slide_to_seek_summary_off">Scorri per avanzare non è abilitato</string>
|
||||
</patch>
|
||||
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
|
||||
<string name="revanced_spoof_video_streams_screen_title">Spoof flussi video</string>
|
||||
<string name="revanced_spoof_video_streams_screen_summary">Abbandonare i flussi video client per evitare problemi di riproduzione</string>
|
||||
<string name="revanced_spoof_video_streams_title">Spoof flussi video</string>
|
||||
<string name="revanced_spoof_video_streams_summary_on">I flussi video sono spoofed</string>
|
||||
<string name="revanced_spoof_video_streams_summary_off">I flussi video non sono spoofed\n\nLa riproduzione video potrebbe non funzionare</string>
|
||||
<string name="revanced_spoof_video_streams_screen_title">Simula il client del flusso video</string>
|
||||
<string name="revanced_spoof_video_streams_screen_summary">Simula il client del flusso video per evitare problemi di riproduzione</string>
|
||||
<string name="revanced_spoof_video_streams_title">Simula il client del flusso video</string>
|
||||
<string name="revanced_spoof_video_streams_summary_on">Il client del flusso video è simulato</string>
|
||||
<string name="revanced_spoof_video_streams_summary_off">Il client del flusso video non è simulato\n\nLa riproduzione video potrebbe non funzionare</string>
|
||||
<string name="revanced_spoof_video_streams_user_dialog_message">Disattivando questa impostazione potrebbe causare problemi di riproduzione video.</string>
|
||||
<string name="revanced_spoof_video_streams_client_title">Client predefinito</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forza AVC (H.264)</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Il codec video è AVC (H.264)</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Il codec video è VP9 o AV1</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Il tuo dispositivo non ha la decodifica hardware VP9 e questa impostazione è sempre attiva quando lo spoof del client è abilitato</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_no_hardware_vp9_summary_on">Il tuo dispositivo non ha la decodifica hardware VP9 e questa impostazione è sempre attiva quando la simulazione del client è abilitato</string>
|
||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">L\'attivazione di questa impostazione potrebbe migliorare la durata della batteria e risolvere il problema della riproduzione a scatti.\n\nNota: AVC ha una risoluzione massima di 1080p e la riproduzione userà più dati internet rispetto a VP9 o AV1.</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Effetti collaterali spoofing iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• I film o i video a pagamento potrebbero non essere riprodotti\n• Le dirette iniziano dall\'inizio\n• I video potrebbero terminare 1 secondo prima\n• Nessun codec audio Opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Effetti collaterali spoofing Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Il menu Traccia audio è mancante\n• Il menu Volume stabile non è disponibile</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_title">Effetti collaterali simulazione iOS</string>
|
||||
<string name="revanced_spoof_video_streams_about_ios_summary">• I video privati per bambini potrebbero non essere riprodotti\n• Le dirette iniziano dall\'inizio\n• I video potrebbero terminare 1 secondo prima\n• Nessun codec audio Opus</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Effetti collaterali simulazione Android VR</string>
|
||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">• I video per bambini potrebbero non riprodurre\n• Il menu traccia audio è mancante\n• Volume stabile non è disponibile</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="twitch">
|
||||
@@ -1219,14 +1220,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_embedded_ads_service_unavailable">%s non è disponibile. Le pubblicità potrebbero apparire. Prova a passare ad un altro servizio di blocco pubblicità nelle impostazioni.</string>
|
||||
<string name="revanced_embedded_ads_service_failed">Il server %s ha restituito un errore. Le pubblicità potrebbero apparire. Prova a passare ad un altro servizio di blocco pubblicità nelle impostazioni.</string>
|
||||
<string name="revanced_block_embedded_ads_title">Blocca pubblicità video incorporata</string>
|
||||
<string name="revanced_block_embedded_ads_entry_1">Disattivato</string>
|
||||
<string name="revanced_block_embedded_ads_entry_1">Disabilitato</string>
|
||||
<string name="revanced_block_embedded_ads_entry_2">Luminous proxy</string>
|
||||
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock proxy</string>
|
||||
</patch>
|
||||
<patch id="ad.video.videoAdsPatch">
|
||||
<string name="revanced_block_video_ads_title">Blocca pubblicità video</string>
|
||||
<string name="revanced_block_video_ads_summary_on">Le pubblicità del video sono bloccate</string>
|
||||
<string name="revanced_block_video_ads_summary_off">Annunci video sbloccati</string>
|
||||
<string name="revanced_block_video_ads_summary_on">Le pubblicità video sono bloccate</string>
|
||||
<string name="revanced_block_video_ads_summary_off">Le pubblicità video sono sbloccate</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">messaggio eliminato</string>
|
||||
@@ -1236,28 +1237,28 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_show_deleted_messages_entry_3">Mostra i messaggi eliminati come testo sbarrato</string>
|
||||
</patch>
|
||||
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
|
||||
<string name="revanced_auto_claim_channel_points_title">Richiama automaticamente i punti del canale</string>
|
||||
<string name="revanced_auto_claim_channel_points_summary_on">I punti del canale vengono rivendicati automaticamente</string>
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">I punti del canale non vengono rivendicati automaticamente</string>
|
||||
<string name="revanced_auto_claim_channel_points_title">Riscatta automaticamente i punti del canale</string>
|
||||
<string name="revanced_auto_claim_channel_points_summary_on">I punti del canale vengono riscattati automaticamente</string>
|
||||
<string name="revanced_auto_claim_channel_points_summary_off">I punti del canale non vengono riscattati automaticamente</string>
|
||||
</patch>
|
||||
<patch id="debug.debugModePatch">
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
<string name="revanced_twitch_debug_mode_title">Abilita la modalità debug Twitch</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">La modalità debug Twitch è abilitata (non consigliato)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">La modalità debug Twitch è disabilitata</string>
|
||||
<string name="revanced_twitch_debug_mode_title">Abilita la modalità debug di Twitch</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_on">La modalità debug di Twitch è abilitata (non consigliato)</string>
|
||||
<string name="revanced_twitch_debug_mode_summary_off">La modalità debug di Twitch è disabilitata</string>
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsPatch">
|
||||
<string name="revanced_settings">Impostazioni Avanzate</string>
|
||||
<string name="revanced_ads_screen_title">Annunci</string>
|
||||
<string name="revanced_settings">Impostazioni di ReVanced</string>
|
||||
<string name="revanced_ads_screen_title">Pubblicità</string>
|
||||
<string name="revanced_ads_screen_summary">Impostazioni blocco pubblicità</string>
|
||||
<string name="revanced_chat_screen_title">Chat</string>
|
||||
<string name="revanced_chat_screen_summary">Impostazioni chat</string>
|
||||
<string name="revanced_chat_screen_summary">Impostazioni della chat</string>
|
||||
<string name="revanced_misc_screen_title">Varie</string>
|
||||
<string name="revanced_misc_screen_summary">Impostazioni varie</string>
|
||||
<string name="revanced_general_category_title">Impostazioni generali</string>
|
||||
<string name="revanced_other_category_title">Altre impostazioni</string>
|
||||
<string name="revanced_client_ads_category_title">Annunci lato client</string>
|
||||
<string name="revanced_surestream_ads_category_title">Pubblicità surestremismo lato server</string>
|
||||
<string name="revanced_client_ads_category_title">Pubblicità lato client</string>
|
||||
<string name="revanced_surestream_ads_category_title">Pubblicità surestream lato server</string>
|
||||
<string name="revanced_twitch_debug_title">Log di debug</string>
|
||||
<string name="revanced_twitch_debug_summary_on">I log di debug sono abilitati</string>
|
||||
<string name="revanced_twitch_debug_summary_off">I log di debug sono disabilitati</string>
|
||||
|
||||
@@ -43,6 +43,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_pref_import_export_title">יבוא/ ייצוא</string>
|
||||
<string name="revanced_pref_import_export_summary">יבוא/ ייצוא הגדרות ReVanced</string>
|
||||
<!-- Settings about dialog. -->
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
and changes made here must also be made there. -->
|
||||
</patch>
|
||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user