mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-12-16 14:12:27 +01:00
Compare commits
28 Commits
v5.6.0-dev
...
v5.7.1-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a4c39a2ee | ||
|
|
99334d1e53 | ||
|
|
2850a6ed4e | ||
|
|
f28eb5105b | ||
|
|
69bed4d9fa | ||
|
|
a5f1efac27 | ||
|
|
b51be82cff | ||
|
|
b8635d0b88 | ||
|
|
78699c8bbf | ||
|
|
aeedec7fed | ||
|
|
32b614696b | ||
|
|
a0b63dfa23 | ||
|
|
f0f53cf72f | ||
|
|
cdb68209d1 | ||
|
|
7369f7b8d5 | ||
|
|
db521b940b | ||
|
|
25d7cc68ae | ||
|
|
9495064e6e | ||
|
|
64864c2cdb | ||
|
|
ad0ffb3328 | ||
|
|
06800324aa | ||
|
|
ec746cb05a | ||
|
|
67c5530ea6 | ||
|
|
cd08717783 | ||
|
|
7bac023ea5 | ||
|
|
1d0ec98bec | ||
|
|
3c603fac2d | ||
|
|
20a7ad4715 |
104
CHANGELOG.md
104
CHANGELOG.md
@@ -1,3 +1,107 @@
|
|||||||
|
## [5.7.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.7.0...v5.7.1-dev.1) (2024-12-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Spoof video streams:** Use Android VR authentication if using default audio language ([#4191](https://github.com/ReVanced/revanced-patches/issues/4191)) ([98773cc](https://github.com/ReVanced/revanced-patches/commit/98773cc7d46e5c9c7715b82c8006f1ccbcc5443c))
|
||||||
|
|
||||||
|
# [5.7.0](https://github.com/ReVanced/revanced-patches/compare/v5.6.0...v5.7.0) (2024-12-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Force original audio:** Use correct availability for settings UI ([a7eedcb](https://github.com/ReVanced/revanced-patches/commit/a7eedcb4cca6b7b12629c478c24c0899c80e3615))
|
||||||
|
* **YouTube - Spoof video stream:** Remove UI client type setting. Allow setting default audio language. ([#4184](https://github.com/ReVanced/revanced-patches/issues/4184)) ([99f3f29](https://github.com/ReVanced/revanced-patches/commit/99f3f29c649bf7693c05bbce2bb49bd53e05f050))
|
||||||
|
* **YouTube - Spoof video streams:** Remove iOS, add clients Android TV and Android Creator ([#4180](https://github.com/ReVanced/revanced-patches/issues/4180)) ([86abfb2](https://github.com/ReVanced/revanced-patches/commit/86abfb2b0d4675f0a1cb9ab244783075bfe89281))
|
||||||
|
* **YouTube:** Change fingerprints to support a wider range of target versions ([8a09174](https://github.com/ReVanced/revanced-patches/commit/8a09174def205a26ce49cb7815097e235069526a))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **YouTube:** Support version `19.47.53` ([#4182](https://github.com/ReVanced/revanced-patches/issues/4182)) ([2089e61](https://github.com/ReVanced/revanced-patches/commit/2089e613d36c45352db7d852aaee0087b1c3e1a4))
|
||||||
|
|
||||||
|
# [5.7.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.6.1-dev.4...v5.7.0-dev.1) (2024-12-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **YouTube:** Support version `19.47.53` ([#4182](https://github.com/ReVanced/revanced-patches/issues/4182)) ([2089e61](https://github.com/ReVanced/revanced-patches/commit/2089e613d36c45352db7d852aaee0087b1c3e1a4))
|
||||||
|
|
||||||
|
## [5.6.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.6.1-dev.3...v5.6.1-dev.4) (2024-12-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Spoof video stream:** Remove UI client type setting. Allow setting default audio language. ([#4184](https://github.com/ReVanced/revanced-patches/issues/4184)) ([99f3f29](https://github.com/ReVanced/revanced-patches/commit/99f3f29c649bf7693c05bbce2bb49bd53e05f050))
|
||||||
|
|
||||||
|
## [5.6.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.6.1-dev.2...v5.6.1-dev.3) (2024-12-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Force original audio:** Use correct availability for settings UI ([a7eedcb](https://github.com/ReVanced/revanced-patches/commit/a7eedcb4cca6b7b12629c478c24c0899c80e3615))
|
||||||
|
|
||||||
|
## [5.6.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.6.1-dev.1...v5.6.1-dev.2) (2024-12-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Spoof video streams:** Remove iOS, add clients Android TV and Android Creator ([#4180](https://github.com/ReVanced/revanced-patches/issues/4180)) ([86abfb2](https://github.com/ReVanced/revanced-patches/commit/86abfb2b0d4675f0a1cb9ab244783075bfe89281))
|
||||||
|
|
||||||
|
## [5.6.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.6.0...v5.6.1-dev.1) (2024-12-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube:** Change fingerprints to support a wider range of target versions ([8a09174](https://github.com/ReVanced/revanced-patches/commit/8a09174def205a26ce49cb7815097e235069526a))
|
||||||
|
|
||||||
|
# [5.6.0](https://github.com/ReVanced/revanced-patches/compare/v5.5.1...v5.6.0) (2024-12-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **Twitter - Change link sharing domain:** Use correct extension package ([ad7fab6](https://github.com/ReVanced/revanced-patches/commit/ad7fab67319ba23f267d27da9b74266965fc4be3))
|
||||||
|
* **YouTube - Force original audio:** Use correct original audio stream if app language is not English ([0d20171](https://github.com/ReVanced/revanced-patches/commit/0d2017133efac230887b5c2a331d87159df8af11))
|
||||||
|
* **YouTube - Hide layout components:** Hide new kind of community post ([#4155](https://github.com/ReVanced/revanced-patches/issues/4155)) ([08f68cb](https://github.com/ReVanced/revanced-patches/commit/08f68cb5d33f2cfe656d2f93d159c69981f31418))
|
||||||
|
* **YouTube - Miniplayer:** Use estimated maximum on screen size for devices with low density screens ([#4150](https://github.com/ReVanced/revanced-patches/issues/4150)) ([2694158](https://github.com/ReVanced/revanced-patches/commit/2694158c3c9935ede21c96832533222f850068df))
|
||||||
|
* **YouTube - Open Shorts in regular player:** Do not show the miniplayer after opening a Short while a video is playing ([894e366](https://github.com/ReVanced/revanced-patches/commit/894e36665d17d5a3a5728961d424dffc55faa50b))
|
||||||
|
* **YouTube - SponsorBlock:** Show create new segment error messages using a dialog ([#4148](https://github.com/ReVanced/revanced-patches/issues/4148)) ([5870906](https://github.com/ReVanced/revanced-patches/commit/587090636dfff0b358b15026cf7d47c65a4296dc))
|
||||||
|
* **YouTube - Spoof video streams:** Change default spoofing to iOS, allow setting a default language with Android VR ([#4171](https://github.com/ReVanced/revanced-patches/issues/4171)) ([171b4e7](https://github.com/ReVanced/revanced-patches/commit/171b4e7e40066e38fba773b7a6525e9a038779ef))
|
||||||
|
* **YouTube - Spoof video streams:** Update iOS client version ([df3aeed](https://github.com/ReVanced/revanced-patches/commit/df3aeed3b173e408fad80197a89ec5d003a2b328))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **YouTube:** Add `Open Shorts in regular player` patch ([#4153](https://github.com/ReVanced/revanced-patches/issues/4153)) ([c7c5e5b](https://github.com/ReVanced/revanced-patches/commit/c7c5e5b2b9cf63d8225bb6bd5e735ddf945b6c29))
|
||||||
|
|
||||||
|
# [5.6.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.5...v5.6.0-dev.6) (2024-12-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Spoof video streams:** Update iOS client version ([df3aeed](https://github.com/ReVanced/revanced-patches/commit/df3aeed3b173e408fad80197a89ec5d003a2b328))
|
||||||
|
|
||||||
|
# [5.6.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.4...v5.6.0-dev.5) (2024-12-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Spoof video streams:** Change default spoofing to iOS, allow setting a default language with Android VR ([#4171](https://github.com/ReVanced/revanced-patches/issues/4171)) ([171b4e7](https://github.com/ReVanced/revanced-patches/commit/171b4e7e40066e38fba773b7a6525e9a038779ef))
|
||||||
|
|
||||||
|
# [5.6.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.3...v5.6.0-dev.4) (2024-12-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Force original audio:** Use correct original audio stream if app language is not English ([0d20171](https://github.com/ReVanced/revanced-patches/commit/0d2017133efac230887b5c2a331d87159df8af11))
|
||||||
|
|
||||||
|
# [5.6.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.2...v5.6.0-dev.3) (2024-12-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **Twitter - Change link sharing domain:** Use correct extension package ([ad7fab6](https://github.com/ReVanced/revanced-patches/commit/ad7fab67319ba23f267d27da9b74266965fc4be3))
|
||||||
|
|
||||||
# [5.6.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.1...v5.6.0-dev.2) (2024-12-19)
|
# [5.6.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.1...v5.6.0-dev.2) (2024-12-19)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,8 @@ package app.revanced.extension.shared.settings;
|
|||||||
import static java.lang.Boolean.FALSE;
|
import static java.lang.Boolean.FALSE;
|
||||||
import static java.lang.Boolean.TRUE;
|
import static java.lang.Boolean.TRUE;
|
||||||
import static app.revanced.extension.shared.settings.Setting.parent;
|
import static app.revanced.extension.shared.settings.Setting.parent;
|
||||||
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.SpoofiOSAvailability;
|
|
||||||
|
|
||||||
import app.revanced.extension.shared.spoof.AudioStreamLanguage;
|
import app.revanced.extension.shared.spoof.AudioStreamLanguage;
|
||||||
import app.revanced.extension.shared.spoof.ClientType;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Settings shared across multiple apps.
|
* Settings shared across multiple apps.
|
||||||
@@ -22,9 +20,5 @@ public class BaseSettings {
|
|||||||
public static final IntegerSetting CHECK_ENVIRONMENT_WARNINGS_ISSUED = new IntegerSetting("revanced_check_environment_warnings_issued", 0, true, false);
|
public static final IntegerSetting CHECK_ENVIRONMENT_WARNINGS_ISSUED = new IntegerSetting("revanced_check_environment_warnings_issued", 0, true, false);
|
||||||
|
|
||||||
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 = new BooleanSetting("revanced_spoof_video_streams", TRUE, true, "revanced_spoof_video_streams_user_dialog_message");
|
||||||
public static final EnumSetting<AudioStreamLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AudioStreamLanguage.DEFAULT, new SpoofiOSAvailability());
|
public static final EnumSetting<AudioStreamLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AudioStreamLanguage.DEFAULT, parent(SPOOF_VIDEO_STREAMS));
|
||||||
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 SpoofiOSAvailability());
|
|
||||||
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));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,48 +4,36 @@ import android.os.Build;
|
|||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import app.revanced.extension.shared.settings.BaseSettings;
|
|
||||||
|
|
||||||
public enum ClientType {
|
public enum ClientType {
|
||||||
// Specific purpose for age restricted, or private videos, because the iOS client is not logged in.
|
|
||||||
// https://dumps.tadiphone.dev/dumps/oculus/eureka
|
// https://dumps.tadiphone.dev/dumps/oculus/eureka
|
||||||
ANDROID_VR(28,
|
ANDROID_VR_NO_AUTH( // Must be first so a default audio language can be set.
|
||||||
|
28,
|
||||||
"ANDROID_VR",
|
"ANDROID_VR",
|
||||||
"Quest 3",
|
"Quest 3",
|
||||||
"12",
|
"12",
|
||||||
"com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip",
|
"com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip",
|
||||||
"32", // Android 12.1
|
"32", // Android 12.1
|
||||||
"1.56.21",
|
"1.56.21",
|
||||||
true,
|
|
||||||
false),
|
false),
|
||||||
// Specific for kids videos.
|
// Fall over to authenticated ('hl' is ignored and audio is same as language set in users Google account).
|
||||||
IOS(5,
|
ANDROID_VR(
|
||||||
"IOS",
|
ANDROID_VR_NO_AUTH.id,
|
||||||
forceAVC()
|
ANDROID_VR_NO_AUTH.clientName,
|
||||||
? "iPhone12,5" // 11 Pro Max (last device with iOS 13)
|
ANDROID_VR_NO_AUTH.deviceModel,
|
||||||
: "iPhone16,2", // 15 Pro Max
|
ANDROID_VR_NO_AUTH.osVersion,
|
||||||
// iOS 13 and earlier uses only AVC. 14+ adds VP9 and AV1.
|
ANDROID_VR_NO_AUTH.userAgent,
|
||||||
forceAVC()
|
ANDROID_VR_NO_AUTH.androidSdkVersion,
|
||||||
? "13.7.17H35" // Last release of iOS 13.
|
ANDROID_VR_NO_AUTH.clientVersion,
|
||||||
: "17.5.1.21F90",
|
true),
|
||||||
forceAVC()
|
ANDROID_UNPLUGGED(
|
||||||
? "com.google.ios.youtube/17.40.5 (iPhone; U; CPU iOS 13_7 like Mac OS X)"
|
29,
|
||||||
: "com.google.ios.youtube/19.47.7 (iPhone; U; CPU iOS 17_5_1 like Mac OS X)",
|
"ANDROID_UNPLUGGED",
|
||||||
null,
|
"Google TV Streamer",
|
||||||
// Version number should be a valid iOS release.
|
"14",
|
||||||
// https://www.ipa4fun.com/history/185230
|
"com.google.android.apps.youtube.unplugged/8.49.0 (Linux; U; Android 14; GB) gzip",
|
||||||
forceAVC()
|
"34",
|
||||||
// Some newer versions can also force AVC,
|
"8.49.0",
|
||||||
// but 17.40 is the last version that supports iOS 13.
|
true); // Requires login.
|
||||||
? "17.40.5"
|
|
||||||
: "19.47.7",
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
);
|
|
||||||
|
|
||||||
private static boolean forceAVC() {
|
|
||||||
return BaseSettings.SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* YouTube
|
* YouTube
|
||||||
@@ -87,11 +75,6 @@ public enum ClientType {
|
|||||||
*/
|
*/
|
||||||
public final boolean canLogin;
|
public final boolean canLogin;
|
||||||
|
|
||||||
/**
|
|
||||||
* If a language code should be used.
|
|
||||||
*/
|
|
||||||
public final boolean useLanguageCode;
|
|
||||||
|
|
||||||
ClientType(int id,
|
ClientType(int id,
|
||||||
String clientName,
|
String clientName,
|
||||||
String deviceModel,
|
String deviceModel,
|
||||||
@@ -99,8 +82,7 @@ public enum ClientType {
|
|||||||
String userAgent,
|
String userAgent,
|
||||||
@Nullable String androidSdkVersion,
|
@Nullable String androidSdkVersion,
|
||||||
String clientVersion,
|
String clientVersion,
|
||||||
boolean canLogin,
|
boolean canLogin) {
|
||||||
boolean useLanguageCode) {
|
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.clientName = clientName;
|
this.clientName = clientName;
|
||||||
this.deviceModel = deviceModel;
|
this.deviceModel = deviceModel;
|
||||||
@@ -109,6 +91,5 @@ public enum ClientType {
|
|||||||
this.androidSdkVersion = androidSdkVersion;
|
this.androidSdkVersion = androidSdkVersion;
|
||||||
this.clientVersion = clientVersion;
|
this.clientVersion = clientVersion;
|
||||||
this.canLogin = canLogin;
|
this.canLogin = canLogin;
|
||||||
this.useLanguageCode = useLanguageCode;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,15 +17,30 @@ import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
|
|||||||
public class SpoofVideoStreamsPatch {
|
public class SpoofVideoStreamsPatch {
|
||||||
private static final boolean SPOOF_STREAMING_DATA = BaseSettings.SPOOF_VIDEO_STREAMS.get();
|
private static final boolean SPOOF_STREAMING_DATA = BaseSettings.SPOOF_VIDEO_STREAMS.get();
|
||||||
|
|
||||||
private static final boolean FIX_HLS_CURRENT_TIME = SPOOF_STREAMING_DATA
|
|
||||||
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any unreachable ip address. Used to intentionally fail requests.
|
* Any unreachable ip address. Used to intentionally fail requests.
|
||||||
*/
|
*/
|
||||||
private static final String UNREACHABLE_HOST_URI_STRING = "https://127.0.0.0";
|
private static final String UNREACHABLE_HOST_URI_STRING = "https://127.0.0.0";
|
||||||
private static final Uri UNREACHABLE_HOST_URI = Uri.parse(UNREACHABLE_HOST_URI_STRING);
|
private static final Uri UNREACHABLE_HOST_URI = Uri.parse(UNREACHABLE_HOST_URI_STRING);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return If this patch was included during patching.
|
||||||
|
*/
|
||||||
|
private static boolean isPatchIncluded() {
|
||||||
|
return false; // Modified during patching.
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class NotSpoofingAndroidAvailability implements Setting.Availability {
|
||||||
|
@Override
|
||||||
|
public boolean isAvailable() {
|
||||||
|
if (SpoofVideoStreamsPatch.isPatchIncluded()) {
|
||||||
|
return !BaseSettings.SPOOF_VIDEO_STREAMS.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Injection point.
|
* Injection point.
|
||||||
* Blocks /get_watch requests by returning an unreachable URI.
|
* Blocks /get_watch requests by returning an unreachable URI.
|
||||||
@@ -168,25 +183,4 @@ public class SpoofVideoStreamsPatch {
|
|||||||
|
|
||||||
return postData;
|
return postData;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Injection point.
|
|
||||||
*
|
|
||||||
* Fixes iOS livestreams starting from the beginning.
|
|
||||||
*/
|
|
||||||
public static boolean fixHLSCurrentTime(boolean original) {
|
|
||||||
if (FIX_HLS_CURRENT_TIME) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return original;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final class SpoofiOSAvailability implements Setting.Availability {
|
|
||||||
@Override
|
|
||||||
public boolean isAvailable() {
|
|
||||||
return BaseSettings.SPOOF_VIDEO_STREAMS.get()
|
|
||||||
&& BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,9 +37,7 @@ final class PlayerRoutes {
|
|||||||
JSONObject context = new JSONObject();
|
JSONObject context = new JSONObject();
|
||||||
|
|
||||||
JSONObject client = new JSONObject();
|
JSONObject client = new JSONObject();
|
||||||
if (clientType.useLanguageCode) {
|
client.put("hl", BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getIso639_1());
|
||||||
client.put("hl", BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getIso639_1());
|
|
||||||
}
|
|
||||||
client.put("clientName", clientType.clientName);
|
client.put("clientName", clientType.clientName);
|
||||||
client.put("clientVersion", clientType.clientVersion);
|
client.put("clientVersion", clientType.clientVersion);
|
||||||
client.put("deviceModel", clientType.deviceModel);
|
client.put("deviceModel", clientType.deviceModel);
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import java.util.concurrent.TimeoutException;
|
|||||||
import app.revanced.extension.shared.Logger;
|
import app.revanced.extension.shared.Logger;
|
||||||
import app.revanced.extension.shared.Utils;
|
import app.revanced.extension.shared.Utils;
|
||||||
import app.revanced.extension.shared.settings.BaseSettings;
|
import app.revanced.extension.shared.settings.BaseSettings;
|
||||||
|
import app.revanced.extension.shared.spoof.AudioStreamLanguage;
|
||||||
import app.revanced.extension.shared.spoof.ClientType;
|
import app.revanced.extension.shared.spoof.ClientType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,21 +36,26 @@ import app.revanced.extension.shared.spoof.ClientType;
|
|||||||
*/
|
*/
|
||||||
public class StreamingDataRequest {
|
public class StreamingDataRequest {
|
||||||
|
|
||||||
private static final ClientType[] CLIENT_ORDER_TO_USE;
|
private static final ClientType[] CLIENT_ORDER_TO_USE = ClientType.values();
|
||||||
|
|
||||||
private static final String AUTHORIZATION_HEADER = "Authorization";
|
private static final String AUTHORIZATION_HEADER = "Authorization";
|
||||||
|
|
||||||
private static final String[] REQUEST_HEADER_KEYS = {
|
private static final String[] REQUEST_HEADER_KEYS = {
|
||||||
AUTHORIZATION_HEADER, // Available only to logged-in users.
|
AUTHORIZATION_HEADER, // Available only to logged-in users.
|
||||||
"X-GOOG-API-FORMAT-VERSION",
|
"X-GOOG-API-FORMAT-VERSION",
|
||||||
"X-Goog-Visitor-Id"
|
"X-Goog-Visitor-Id"
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TCP connection and HTTP read timeout.
|
* TCP connection and HTTP read timeout.
|
||||||
*/
|
*/
|
||||||
private static final int HTTP_TIMEOUT_MILLISECONDS = 10 * 1000;
|
private static final int HTTP_TIMEOUT_MILLISECONDS = 10 * 1000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any arbitrarily large value, but must be at least twice {@link #HTTP_TIMEOUT_MILLISECONDS}
|
* 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 int MAX_MILLISECONDS_TO_WAIT_FOR_FETCH = 20 * 1000;
|
||||||
|
|
||||||
private static final Map<String, StreamingDataRequest> cache = Collections.synchronizedMap(
|
private static final Map<String, StreamingDataRequest> cache = Collections.synchronizedMap(
|
||||||
new LinkedHashMap<>(100) {
|
new LinkedHashMap<>(100) {
|
||||||
/**
|
/**
|
||||||
@@ -67,22 +73,8 @@ public class StreamingDataRequest {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
static {
|
|
||||||
ClientType[] allClientTypes = ClientType.values();
|
|
||||||
ClientType preferredClient = BaseSettings.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 String videoId;
|
||||||
|
|
||||||
private final Future<ByteBuffer> future;
|
private final Future<ByteBuffer> future;
|
||||||
|
|
||||||
private StreamingDataRequest(String videoId, Map<String, String> playerHeaders) {
|
private StreamingDataRequest(String videoId, Map<String, String> playerHeaders) {
|
||||||
@@ -172,13 +164,21 @@ public class StreamingDataRequest {
|
|||||||
// Show an error if the last client type fails, or if the debug is enabled then show for all attempts.
|
// Show an error if the last client type fails, or if the debug is enabled then show for all attempts.
|
||||||
final boolean showErrorToast = (++i == CLIENT_ORDER_TO_USE.length) || debugEnabled;
|
final boolean showErrorToast = (++i == CLIENT_ORDER_TO_USE.length) || debugEnabled;
|
||||||
|
|
||||||
|
if (clientType == ClientType.ANDROID_VR_NO_AUTH
|
||||||
|
&& BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get() == AudioStreamLanguage.DEFAULT) {
|
||||||
|
// Only use no auth Android VR if a non default audio language is selected.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
HttpURLConnection connection = send(clientType, videoId, playerHeaders, showErrorToast);
|
HttpURLConnection connection = send(clientType, videoId, playerHeaders, showErrorToast);
|
||||||
if (connection != null) {
|
if (connection != null) {
|
||||||
try {
|
try {
|
||||||
// gzip encoding doesn't response with content length (-1),
|
// gzip encoding doesn't response with content length (-1),
|
||||||
// but empty response body does.
|
// but empty response body does.
|
||||||
if (connection.getContentLength() == 0) {
|
if (connection.getContentLength() == 0) {
|
||||||
Logger.printDebug(() -> "Received empty response for video: " + videoId);
|
if (BaseSettings.DEBUG.get()) {
|
||||||
|
Logger.printException(() -> "Ignoring empty client response: " + clientType);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
try (InputStream inputStream = new BufferedInputStream(connection.getInputStream());
|
try (InputStream inputStream = new BufferedInputStream(connection.getInputStream());
|
||||||
ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
|
ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import app.revanced.extension.youtube.settings.Settings;
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class ForceOriginalAudioPatch {
|
public class ForceOriginalAudioPatch {
|
||||||
|
|
||||||
private static final String DEFAULT_AUDIO_TRACKS_IDENTIFIER = "original";
|
private static final String DEFAULT_AUDIO_TRACKS_SUFFIX = ".4";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Injection point.
|
* Injection point.
|
||||||
@@ -17,7 +17,7 @@ public class ForceOriginalAudioPatch {
|
|||||||
return isDefault;
|
return isDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (audioTrackDisplayName.isEmpty()) {
|
if (audioTrackId.isEmpty()) {
|
||||||
// Older app targets can have empty audio tracks and these might be placeholders.
|
// Older app targets can have empty audio tracks and these might be placeholders.
|
||||||
// The real audio tracks are called after these.
|
// The real audio tracks are called after these.
|
||||||
return isDefault;
|
return isDefault;
|
||||||
@@ -26,7 +26,7 @@ public class ForceOriginalAudioPatch {
|
|||||||
Logger.printDebug(() -> "default: " + String.format("%-5s", isDefault) + " id: "
|
Logger.printDebug(() -> "default: " + String.format("%-5s", isDefault) + " id: "
|
||||||
+ String.format("%-8s", audioTrackId) + " name:" + audioTrackDisplayName);
|
+ String.format("%-8s", audioTrackId) + " name:" + audioTrackDisplayName);
|
||||||
|
|
||||||
final boolean isOriginal = audioTrackDisplayName.contains(DEFAULT_AUDIO_TRACKS_IDENTIFIER);
|
final boolean isOriginal = audioTrackId.endsWith(DEFAULT_AUDIO_TRACKS_SUFFIX);
|
||||||
if (isOriginal) {
|
if (isOriginal) {
|
||||||
Logger.printDebug(() -> "Using audio: " + audioTrackId);
|
Logger.printDebug(() -> "Using audio: " + audioTrackId);
|
||||||
}
|
}
|
||||||
@@ -34,8 +34,8 @@ public class ForceOriginalAudioPatch {
|
|||||||
return isOriginal;
|
return isOriginal;
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
Logger.printException(() -> "isDefaultAudioStream failure", ex);
|
Logger.printException(() -> "isDefaultAudioStream failure", ex);
|
||||||
}
|
|
||||||
|
|
||||||
return isDefault;
|
return isDefault;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import static app.revanced.extension.shared.settings.Setting.migrateFromOldPrefe
|
|||||||
import static app.revanced.extension.shared.settings.Setting.migrateOldSettingToNew;
|
import static app.revanced.extension.shared.settings.Setting.migrateOldSettingToNew;
|
||||||
import static app.revanced.extension.shared.settings.Setting.parent;
|
import static app.revanced.extension.shared.settings.Setting.parent;
|
||||||
import static app.revanced.extension.shared.settings.Setting.parentsAny;
|
import static app.revanced.extension.shared.settings.Setting.parentsAny;
|
||||||
|
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.NotSpoofingAndroidAvailability;
|
||||||
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
|
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
|
||||||
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHideExpandCloseAvailability;
|
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHideExpandCloseAvailability;
|
||||||
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHorizontalDragAvailability;
|
import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHorizontalDragAvailability;
|
||||||
@@ -53,7 +54,7 @@ public class Settings extends BaseSettings {
|
|||||||
public static final StringSetting CUSTOM_PLAYBACK_SPEEDS = new StringSetting("revanced_custom_playback_speeds",
|
public static final StringSetting CUSTOM_PLAYBACK_SPEEDS = new StringSetting("revanced_custom_playback_speeds",
|
||||||
"0.25\n0.5\n0.75\n0.9\n0.95\n1.0\n1.05\n1.1\n1.25\n1.5\n1.75\n2.0\n3.0\n4.0\n5.0", true);
|
"0.25\n0.5\n0.75\n0.9\n0.95\n1.0\n1.05\n1.1\n1.25\n1.5\n1.75\n2.0\n3.0\n4.0\n5.0", true);
|
||||||
// Audio
|
// Audio
|
||||||
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE);
|
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new NotSpoofingAndroidAvailability());
|
||||||
|
|
||||||
// Ads
|
// Ads
|
||||||
public static final BooleanSetting HIDE_BUTTONED_ADS = new BooleanSetting("revanced_hide_buttoned_ads", TRUE);
|
public static final BooleanSetting HIDE_BUTTONED_ADS = new BooleanSetting("revanced_hide_buttoned_ads", TRUE);
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
package app.revanced.extension.youtube.settings.preference;
|
|
||||||
|
|
||||||
import static app.revanced.extension.shared.StringRef.str;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.preference.Preference;
|
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
import android.util.AttributeSet;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import app.revanced.extension.shared.Logger;
|
|
||||||
import app.revanced.extension.shared.Utils;
|
|
||||||
import app.revanced.extension.shared.settings.BaseSettings;
|
|
||||||
import app.revanced.extension.shared.settings.Setting;
|
|
||||||
import app.revanced.extension.shared.spoof.ClientType;
|
|
||||||
|
|
||||||
@SuppressWarnings({"deprecation", "unused"})
|
|
||||||
public class SpoofStreamingDataSideEffectsPreference extends Preference {
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
private ClientType currentClientType;
|
|
||||||
|
|
||||||
private final SharedPreferences.OnSharedPreferenceChangeListener listener = (sharedPreferences, str) -> {
|
|
||||||
// Because this listener may run before the ReVanced settings fragment updates Settings,
|
|
||||||
// this could show the prior config and not the current.
|
|
||||||
//
|
|
||||||
// Push this call to the end of the main run queue,
|
|
||||||
// so all other listeners are done and Settings is up to date.
|
|
||||||
Utils.runOnMainThread(this::updateUI);
|
|
||||||
};
|
|
||||||
|
|
||||||
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
|
||||||
super(context, attrs, defStyleAttr, defStyleRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs, int defStyleAttr) {
|
|
||||||
super(context, attrs, defStyleAttr);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs) {
|
|
||||||
super(context, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SpoofStreamingDataSideEffectsPreference(Context context) {
|
|
||||||
super(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addChangeListener() {
|
|
||||||
Setting.preferences.preferences.registerOnSharedPreferenceChangeListener(listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void removeChangeListener() {
|
|
||||||
Setting.preferences.preferences.unregisterOnSharedPreferenceChangeListener(listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onAttachedToHierarchy(PreferenceManager preferenceManager) {
|
|
||||||
super.onAttachedToHierarchy(preferenceManager);
|
|
||||||
updateUI();
|
|
||||||
addChangeListener();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPrepareForRemoval() {
|
|
||||||
super.onPrepareForRemoval();
|
|
||||||
removeChangeListener();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateUI() {
|
|
||||||
ClientType clientType = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
|
|
||||||
if (currentClientType == clientType) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Logger.printDebug(() -> "Updating spoof stream side effects preference");
|
|
||||||
setEnabled(BaseSettings.SPOOF_VIDEO_STREAMS.get());
|
|
||||||
|
|
||||||
String key = "revanced_spoof_video_streams_about_"
|
|
||||||
+ clientType.name().toLowerCase();
|
|
||||||
setTitle(str(key + "_title"));
|
|
||||||
setSummary(str(key + "_summary"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
|||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
android.useAndroidX = true
|
android.useAndroidX = true
|
||||||
kotlin.code.style = official
|
kotlin.code.style = official
|
||||||
version = 5.6.0-dev.2
|
version = 5.7.1-dev.1
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package app.revanced.patches.shared.misc.spoof
|
package app.revanced.patches.shared.misc.spoof
|
||||||
|
|
||||||
import app.revanced.patcher.fingerprint
|
import app.revanced.patcher.fingerprint
|
||||||
import app.revanced.util.literal
|
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
|
||||||
@@ -112,12 +111,11 @@ internal val buildMediaDataSourceFingerprint = fingerprint {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal const val HLS_CURRENT_TIME_FEATURE_FLAG = 45355374L
|
internal val patchIncludedExtensionMethodFingerprint = fingerprint {
|
||||||
|
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
|
||||||
internal val hlsCurrentTimeFingerprint = fingerprint {
|
returns("Z")
|
||||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
parameters()
|
||||||
parameters("Z", "L")
|
custom { method, classDef ->
|
||||||
literal {
|
classDef.type == EXTENSION_CLASS_DESCRIPTOR && method.name == "isPatchIncluded"
|
||||||
HLS_CURRENT_TIME_FEATURE_FLAG
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMu
|
|||||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||||
import app.revanced.util.getReference
|
import app.revanced.util.getReference
|
||||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||||
import app.revanced.util.insertFeatureFlagBooleanOverride
|
import app.revanced.util.returnEarly
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation
|
import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation
|
||||||
@@ -39,6 +39,12 @@ fun spoofVideoStreamsPatch(
|
|||||||
dependsOn(addResourcesPatch)
|
dependsOn(addResourcesPatch)
|
||||||
|
|
||||||
execute {
|
execute {
|
||||||
|
// region Enable extension helper method used by other patches
|
||||||
|
|
||||||
|
patchIncludedExtensionMethodFingerprint.method.returnEarly(true)
|
||||||
|
|
||||||
|
// endregion
|
||||||
|
|
||||||
// region Block /initplayback requests to fall back to /get_watch requests.
|
// region Block /initplayback requests to fall back to /get_watch requests.
|
||||||
|
|
||||||
val moveUriStringIndex = buildInitPlaybackRequestFingerprint.patternMatch!!.startIndex
|
val moveUriStringIndex = buildInitPlaybackRequestFingerprint.patternMatch!!.startIndex
|
||||||
@@ -202,15 +208,6 @@ fun spoofVideoStreamsPatch(
|
|||||||
}
|
}
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region Fix iOS livestream current time.
|
|
||||||
|
|
||||||
hlsCurrentTimeFingerprint.method.insertFeatureFlagBooleanOverride(
|
|
||||||
HLS_CURRENT_TIME_FEATURE_FLAG,
|
|
||||||
"$EXTENSION_CLASS_DESCRIPTOR->fixHLSCurrentTime(Z)Z"
|
|
||||||
)
|
|
||||||
|
|
||||||
// endregion
|
|
||||||
|
|
||||||
executeBlock()
|
executeBlock()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
|
|||||||
import app.revanced.patches.shared.misc.mapping.resourceMappings
|
import app.revanced.patches.shared.misc.mapping.resourceMappings
|
||||||
import app.revanced.patches.twitter.misc.extension.sharedExtensionPatch
|
import app.revanced.patches.twitter.misc.extension.sharedExtensionPatch
|
||||||
import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
|
import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
|
||||||
|
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
|
||||||
|
|
||||||
internal var tweetShareLinkTemplateId = -1L
|
internal var tweetShareLinkTemplateId = -1L
|
||||||
private set
|
private set
|
||||||
@@ -25,15 +25,7 @@ internal val changeLinkSharingDomainResourcePatch = resourcePatch {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method is used to build the link that is shared when the "Share via..." button is pressed.
|
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch;"
|
||||||
private const val FORMAT_METHOD_RESOURCE_REFERENCE =
|
|
||||||
"Lapp/revanced/extension/twitter/patches/links/ChangeLinkSharingDomainPatch;->" +
|
|
||||||
"formatResourceLink([Ljava/lang/Object;)Ljava/lang/String;"
|
|
||||||
|
|
||||||
// This method is used to build the link that is shared when the "Copy link" button is pressed.
|
|
||||||
private const val FORMAT_METHOD_REFERENCE =
|
|
||||||
"Lapp/revanced/extension/twitter/patches/links/ChangeLinkSharingDomainPatch;->" +
|
|
||||||
"formatLink(JLjava/lang/String;)Ljava/lang/String;"
|
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
val changeLinkSharingDomainPatch = bytecodePatch(
|
val changeLinkSharingDomainPatch = bytecodePatch(
|
||||||
@@ -71,7 +63,7 @@ val changeLinkSharingDomainPatch = bytecodePatch(
|
|||||||
addInstructions(
|
addInstructions(
|
||||||
0,
|
0,
|
||||||
"""
|
"""
|
||||||
invoke-static { p0, p1, p2 }, $FORMAT_METHOD_REFERENCE
|
invoke-static { p0, p1, p2 }, $EXTENSION_CLASS_DESCRIPTOR->formatLink(JLjava/lang/String;)Ljava/lang/String;
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
return-object p0
|
return-object p0
|
||||||
""",
|
""",
|
||||||
@@ -84,12 +76,12 @@ val changeLinkSharingDomainPatch = bytecodePatch(
|
|||||||
|
|
||||||
// Format the link with the new domain name register (1 instruction below the const).
|
// Format the link with the new domain name register (1 instruction below the const).
|
||||||
val formatLinkCallIndex = templateIdConstIndex + 1
|
val formatLinkCallIndex = templateIdConstIndex + 1
|
||||||
val formatLinkCall = getInstruction<Instruction35c>(formatLinkCallIndex)
|
val register = getInstruction<FiveRegisterInstruction>(formatLinkCallIndex).registerE
|
||||||
|
|
||||||
// Replace the original method call with the new method call.
|
// Replace the original method call with the new method call.
|
||||||
replaceInstruction(
|
replaceInstruction(
|
||||||
formatLinkCallIndex,
|
formatLinkCallIndex,
|
||||||
"invoke-static { v${formatLinkCall.registerE} }, $FORMAT_METHOD_RESOURCE_REFERENCE",
|
"invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->formatResourceLink([Ljava/lang/Object;)Ljava/lang/String;",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ val hideAdsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ val hideGetPremiumPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ val videoAdsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ val copyVideoUrlPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ val removeViewerDiscretionDialogPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ val downloadsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ val disablePreciseSeekingGesturePatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ val enableSeekbarTappingPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ val enableSlideToSeekPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ val seekbarThumbnailsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ val swipeControlsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ val autoCaptionsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ val customBrandingPatch = resourcePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ val changeHeaderPatch = resourcePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ val hideButtonsPatch = resourcePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ val navigationButtonsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ val hidePlayerOverlayButtonsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ val hideEndscreenCardsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ val disableFullscreenAmbientModePatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -133,6 +133,7 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ val hideInfoCardsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ val hidePlayerFlyoutMenuPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ val disableRollingNumberAnimationPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ val hideSeekbarPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ val hideShortsComponentsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ val disableSuggestedVideoEndScreenPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ val hideTimestampPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ val miniplayerPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ val playerPopupPanelsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ val playerControlsBackgroundPatch = resourcePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ val openVideosFullscreenPatch = bytecodePatch(
|
|||||||
compatibleWith(
|
compatibleWith(
|
||||||
"com.google.android.youtube"(
|
"com.google.android.youtube"(
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ val customPlayerOverlayOpacityPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ val returnYouTubeDislikePatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ val wideSearchbarPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ val shortsAutoplayPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ val openShortsInRegularPlayerPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ val sponsorBlockPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ val spoofAppVersionPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ val changeStartPagePatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ val disableResumingShortsOnStartupPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ val enableTabletLayoutPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ val themePatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ val alternativeThumbnailsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ val bypassImageRegionRestrictionsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ val announcementsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ val autoRepeatPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ val backgroundPlaybackPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ val enableDebuggingPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ val spoofDeviceDimensionsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -15,22 +15,16 @@ internal val onBackPressedFingerprint = fingerprint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal val recyclerViewScrollingFingerprint = fingerprint {
|
internal val scrollPositionFingerprint = fingerprint {
|
||||||
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
|
accessFlags(AccessFlags.PROTECTED, AccessFlags.FINAL)
|
||||||
returns("V")
|
returns("V")
|
||||||
parameters()
|
parameters("L")
|
||||||
opcodes(
|
opcodes(
|
||||||
Opcode.IGET_OBJECT,
|
Opcode.IF_NEZ,
|
||||||
Opcode.IGET_OBJECT,
|
Opcode.INVOKE_DIRECT,
|
||||||
Opcode.IF_EQZ,
|
Opcode.RETURN_VOID
|
||||||
Opcode.IGET_OBJECT,
|
|
||||||
Opcode.CHECK_CAST,
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.MOVE_RESULT,
|
|
||||||
Opcode.IF_LEZ,
|
|
||||||
Opcode.IGET_OBJECT,
|
|
||||||
Opcode.CONST_4,
|
|
||||||
)
|
)
|
||||||
|
strings("scroll_position")
|
||||||
}
|
}
|
||||||
|
|
||||||
internal val recyclerViewTopScrollingFingerprint = fingerprint {
|
internal val recyclerViewTopScrollingFingerprint = fingerprint {
|
||||||
|
|||||||
@@ -1,54 +1,49 @@
|
|||||||
package app.revanced.patches.youtube.misc.fix.backtoexitgesture
|
package app.revanced.patches.youtube.misc.fix.backtoexitgesture
|
||||||
|
|
||||||
import app.revanced.patcher.Fingerprint
|
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||||
import app.revanced.patcher.patch.bytecodePatch
|
import app.revanced.patcher.patch.bytecodePatch
|
||||||
|
import app.revanced.util.getReference
|
||||||
|
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||||
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||||
|
|
||||||
|
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/FixBackToExitGesturePatch;"
|
||||||
|
|
||||||
internal val fixBackToExitGesturePatch = bytecodePatch(
|
internal val fixBackToExitGesturePatch = bytecodePatch(
|
||||||
description = "Fixes the swipe back to exit gesture.",
|
description = "Fixes the swipe back to exit gesture.",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
execute {
|
execute {
|
||||||
/**
|
recyclerViewTopScrollingFingerprint.match(recyclerViewTopScrollingParentFingerprint.originalClassDef)
|
||||||
* Inject a call to a method from the extension.
|
.let {
|
||||||
*
|
it.method.addInstruction(
|
||||||
* @param targetMethod The target method to call.
|
it.patternMatch!!.endIndex,
|
||||||
*/
|
"invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->onTopView()V"
|
||||||
fun Fingerprint.injectCall(targetMethod: ExtensionMethod) = method.addInstruction(
|
)
|
||||||
patternMatch!!.endIndex,
|
}
|
||||||
targetMethod.toString(),
|
|
||||||
)
|
|
||||||
|
|
||||||
mapOf(
|
scrollPositionFingerprint.let {
|
||||||
recyclerViewTopScrollingFingerprint.also {
|
navigate(it.originalMethod)
|
||||||
it.match(recyclerViewTopScrollingParentFingerprint.originalClassDef)
|
.to(it.patternMatch!!.startIndex + 1)
|
||||||
} to ExtensionMethod(
|
.stop().apply {
|
||||||
methodName = "onTopView",
|
val index = indexOfFirstInstructionOrThrow {
|
||||||
),
|
opcode == Opcode.INVOKE_VIRTUAL && getReference<MethodReference>()?.definingClass ==
|
||||||
recyclerViewScrollingFingerprint to ExtensionMethod(
|
"Landroid/support/v7/widget/RecyclerView;"
|
||||||
methodName = "onScrollingViews",
|
}
|
||||||
),
|
|
||||||
onBackPressedFingerprint to ExtensionMethod(
|
addInstruction(
|
||||||
"p0",
|
index,
|
||||||
"onBackPressed",
|
"invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->onScrollingViews()V"
|
||||||
"Landroid/app/Activity;",
|
)
|
||||||
),
|
}
|
||||||
).forEach { (fingerprint, target) -> fingerprint.injectCall(target) }
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onBackPressedFingerprint.let {
|
||||||
|
it.method.addInstruction(
|
||||||
|
it.patternMatch!!.endIndex,
|
||||||
|
"invoke-static { p0 }, $EXTENSION_CLASS_DESCRIPTOR->onBackPressed(Landroid/app/Activity;)V"
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* A reference to a method from the extension for [fixBackToExitGesturePatch].
|
|
||||||
*
|
|
||||||
* @param register The method registers.
|
|
||||||
* @param methodName The method name.
|
|
||||||
* @param parameterTypes The parameters of the method.
|
|
||||||
*/
|
|
||||||
private class ExtensionMethod(
|
|
||||||
val register: String = "",
|
|
||||||
val methodName: String,
|
|
||||||
val parameterTypes: String = "",
|
|
||||||
) {
|
|
||||||
override fun toString() =
|
|
||||||
"invoke-static {$register}, Lapp/revanced/extension/youtube/patches/FixBackToExitGesturePatch;->$methodName($parameterTypes)V"
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ val gmsCoreSupportPatch = gmsCoreSupportPatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ val bypassURLRedirectsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ val openLinksExternallyPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ val removeTrackingQueryParameterPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch({
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -36,20 +37,11 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch({
|
|||||||
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
|
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
|
||||||
preferences = setOf(
|
preferences = setOf(
|
||||||
SwitchPreference("revanced_spoof_video_streams"),
|
SwitchPreference("revanced_spoof_video_streams"),
|
||||||
ListPreference(
|
|
||||||
"revanced_spoof_video_streams_client",
|
|
||||||
summaryKey = null,
|
|
||||||
),
|
|
||||||
ListPreference(
|
ListPreference(
|
||||||
"revanced_spoof_video_streams_language",
|
"revanced_spoof_video_streams_language",
|
||||||
summaryKey = null
|
summaryKey = null
|
||||||
),
|
),
|
||||||
SwitchPreference("revanced_spoof_video_streams_ios_force_avc"),
|
NonInteractivePreference("revanced_spoof_video_streams_about")
|
||||||
// Preference requires a title but the actual text is chosen at runtime.
|
|
||||||
NonInteractivePreference(
|
|
||||||
key = "revanced_spoof_video_streams_about_android_vr",
|
|
||||||
tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference"
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ val zoomHapticsPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
|
|||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
val forceOriginalAudioPatch = bytecodePatch(
|
val forceOriginalAudioPatch = bytecodePatch(
|
||||||
name = "Force original audio",
|
name = "Force original audio",
|
||||||
description = "Adds an option to always use the original audio track.",
|
description = "Adds an option to always use the original audio track. " +
|
||||||
|
"This patch does nothing if 'Spoof video streams' is enabled.",
|
||||||
) {
|
) {
|
||||||
dependsOn(
|
dependsOn(
|
||||||
sharedExtensionPatch,
|
sharedExtensionPatch,
|
||||||
@@ -49,6 +50,7 @@ val forceOriginalAudioPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ val rememberVideoQualityPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ val playbackSpeedPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ val restoreOldVideoQualityMenuPatch = bytecodePatch(
|
|||||||
"19.43.41",
|
"19.43.41",
|
||||||
"19.45.38",
|
"19.45.38",
|
||||||
"19.46.42",
|
"19.46.42",
|
||||||
|
"19.47.53",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1286,20 +1286,12 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
قد لا يعمل تشغيل الفيديو"</string>
|
قد لا يعمل تشغيل الفيديو"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">العميل الافتراضي</string>
|
<string name="revanced_spoof_video_streams_client_type_title">العميل الافتراضي</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">فرض AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">آثار جانبية وهمية</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">تم فرض ترميز الفيديو على AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"- قد لا يتم تشغيل مقاطع فيديو للأطفال
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">يتم تحديد ترميز الفيديو تلقائيًا</string>
|
- القائمة صوت المسار مفقودة
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"قد يؤدي تمكين هذا إلى تحسين عمر البطارية وإصلاح مشكلة تقطيع التشغيل.
|
- مستوى الصوت الثابت غير متاح
|
||||||
|
- خيار فرض الصوت الأصلي غير متاح"</string>
|
||||||
يتمتع تنسيق AVC بدقة قصوى تبلغ 1080P، برنامج ترميز الصوت Opus غير متوفر، وسيستخدم تشغيل الفيديو المزيد من بيانات الإنترنت مقارنةً بتنسيق VP9 أو AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">التأثيرات الجانبية لمحاكاة iOS</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• لا يمكن تشغيل مقاطع فيديو الأطفال الخاصة.
|
|
||||||
• تنتهي مقاطع الفيديو مبكرًا بمقدار 1 ثانية."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">التأثيرات الجانبية لمحاكاة Android VR</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• قد لا يتم تشغيل فيديوهات الأطفال
|
|
||||||
• تبدأ البثوث المباشرة من البداية
|
|
||||||
• قد تنتهي الفيديوهات قبل النهاية بثانية واحدة"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">لغة البث الصوتي الافتراضية</string>
|
<string name="revanced_spoof_video_streams_language_title">لغة البث الصوتي الافتراضية</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">لغة التطبيق</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">لغة التطبيق</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">العربية</string>
|
<string name="revanced_spoof_video_streams_language_AR">العربية</string>
|
||||||
|
|||||||
@@ -1287,20 +1287,12 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
|
|||||||
|
|
||||||
Video oynatma işləməyə bilər"</string>
|
Video oynatma işləməyə bilər"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Bu seçimi bağlamaq, video oynatma problemlərinə səbəb olar.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Bu seçimi bağlamaq, video oynatma problemlərinə səbəb olar.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">İlkin qəbuledici</string>
|
<string name="revanced_spoof_video_streams_client_type_title">İlkin qəbuledici</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Məcburi AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Yan effektlərin spoof edilməsi</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodlama AVC (H.264) -yə məcbur edilir</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Uşaq videoları işlənməyə bilər
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodlama birbaşa yoxlanılır</string>
|
• Səs izləri menyusunu itkindir
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Bunu fəallaşdırma, batareya ömrünü yaxşılaşdıra və oxutma ilişmələrini düzəldə bilər.
|
• Sabit səs mövcud deyil
|
||||||
|
• Orijinal səs məcburi olaraq mövcud deyil"</string>
|
||||||
AVC-nin maksimum dəqiqliyi 1080p-dir, Opus səs kodek əlçatan deyil və video oxutma, VP9 və ya AV1-dən daha çox internet datası 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">"◦ Xüsusi uşaq videoları bəlkə də oynanılmaya bilər
|
|
||||||
◦ Videolar 1 saniyə tez bitir"</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">"• Uşaq videoları oxudulmaya bilər
|
|
||||||
• Canlı yayımlar başdan başlayır
|
|
||||||
• Videolar 1 saniyə tez bitir"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">İlkin səs yayımı dili</string>
|
<string name="revanced_spoof_video_streams_language_title">İlkin səs yayımı dili</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Tətbiq dili</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Tətbiq dili</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Ərəbcə</string>
|
<string name="revanced_spoof_video_streams_language_AR">Ərəbcə</string>
|
||||||
|
|||||||
@@ -668,8 +668,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Кнопка выкарыстання шаблону схавана</string>
|
<string name="revanced_hide_shorts_use_template_button_summary_on">Кнопка выкарыстання шаблону схавана</string>
|
||||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Кнопка выкарыстання шаблону паказана</string>
|
<string name="revanced_hide_shorts_use_template_button_summary_off">Кнопка выкарыстання шаблону паказана</string>
|
||||||
<string name="revanced_hide_shorts_upcoming_button_title">Схаваць кнопку будучых</string>
|
<string name="revanced_hide_shorts_upcoming_button_title">Схаваць кнопку будучых</string>
|
||||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Кнопка ⬆️Будущие ролики⬆️ скрыта</string>
|
<string name="revanced_hide_shorts_upcoming_button_summary_on">Кнопка Будущие ролики скрыта</string>
|
||||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Кнопка ⬆️Будущие ролики⬆️ отображается</string>
|
<string name="revanced_hide_shorts_upcoming_button_summary_off">Кнопка Будущие ролики отображается</string>
|
||||||
<string name="revanced_hide_shorts_green_screen_button_title">Скрыть кнопку с зелёным экраном Shorts</string>
|
<string name="revanced_hide_shorts_green_screen_button_title">Скрыть кнопку с зелёным экраном Shorts</string>
|
||||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">Кнопка с зелёным экраном Shorts скрыта</string>
|
<string name="revanced_hide_shorts_green_screen_button_summary_on">Кнопка с зелёным экраном Shorts скрыта</string>
|
||||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">Кнопка с зелёным экраном Shorts отображается</string>
|
<string name="revanced_hide_shorts_green_screen_button_summary_off">Кнопка с зелёным экраном Shorts отображается</string>
|
||||||
@@ -1288,20 +1288,12 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
Прайграванне відэа можа не працаваць"</string>
|
Прайграванне відэа можа не працаваць"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем відэа.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем відэа.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Клиент по умолчанию</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Клиент по умолчанию</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Принудительно AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Падробка пабочных эфектаў</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Видеокодек принудительно установлен в AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Дзіцячыя відэа могуць не прайгравацца
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Видеокодек определяется автоматически</string>
|
• Панэль гукавых дарожак адсутнічае
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Уключэнне гэтага можа палепшыць тэрмін службы батарэі і выправіць заіканне відэа.
|
• Стабільная гучнасць недаступная
|
||||||
|
• Прымусова арыгінальная аўдыёдарожка недаступная"</string>
|
||||||
AVC мае максімальную раздзяляльнасць 1080p, аўдыякадэкар Opus недаступны, і відэа будзе выкарыстоўваць больш Інтэрнэт-даных, чым VP9 або AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">Пабочныя эфекты падмены iOS</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Прыватныя дзіцячыя відэа могуць не прайгравацца
|
|
||||||
• Відэа заканчваюцца на 1 секунду раней"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Побочные эффекты подмены Android VR</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Дзіцячыя відэа могуць не прайгравацца
|
|
||||||
• Трансляцыі ў прамым эфіры пачынаюцца з пачатку
|
|
||||||
• Відэа заканчваюцца на 1 секунду раней"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Язык потока аудио по умолчанию</string>
|
<string name="revanced_spoof_video_streams_language_title">Язык потока аудио по умолчанию</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Язык приложения</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Язык приложения</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Арабский</string>
|
<string name="revanced_spoof_video_streams_language_AR">Арабский</string>
|
||||||
|
|||||||
@@ -1286,20 +1286,12 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
Възпроизвеждането на видеоклипове може да не работи"</string>
|
Възпроизвеждането на видеоклипове може да не работи"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Деактивирането на тази настройка ще доведе до проблеми с възпроизвеждането на видео.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Деактивирането на тази настройка ще доведе до проблеми с възпроизвеждането на видео.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Клиент по подразбиране</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Клиент по подразбиране</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Принудително AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Фалшиви странични ефекти</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Видео кодек по подразбиране AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Детските видеоклипове може да не се възпроизвеждат
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Видео кодекът се определя автоматично</string>
|
• Липсва менюто за аудио запис
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Активирането на това може да подобри живота на батерията и да поправи заекването на възпроизвеждането.
|
• Не е наличен стабилен звук
|
||||||
|
• Принудително оригинално аудио не е налично"</string>
|
||||||
AVC има максимална разделителна способност от 1080p, аудио кодекът Opus не е наличен, а видеовъзпроизвеждането ще използва повече интернет данни от VP9 или AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">Cтранични ефекти от подмяната на iOS</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Възможно е частните детски видеоклипове да не се възпроизвеждат
|
|
||||||
• Видеоклиповете завършват 1 секунда по-рано"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Странични ефекти от подправяне на Android VR</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Детските видеоклипове може да не се възпроизвеждат
|
|
||||||
• Предаванията на живо започват от началото
|
|
||||||
• Видеоклиповете завършват 1 секунда по-рано"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Език по подразбиране на аудио потока</string>
|
<string name="revanced_spoof_video_streams_language_title">Език по подразбиране на аудио потока</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Език на приложението</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Език на приложението</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Арабски</string>
|
<string name="revanced_spoof_video_streams_language_AR">Арабски</string>
|
||||||
|
|||||||
@@ -1288,19 +1288,12 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
|
|||||||
|
|
||||||
ভিডিও প্লেব্যাক কাজ নাও করতে পারে"</string>
|
ভিডিও প্লেব্যাক কাজ নাও করতে পারে"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে।</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে।</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">ডিফল্ট ক্লায়েন্ট</string>
|
<string name="revanced_spoof_video_streams_client_type_title">ডিফল্ট ক্লায়েন্ট</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) ফোর্স করুন</string>
|
<string name="revanced_spoof_video_streams_about_title">স্পুফিং এর পার্শ্বপ্রতিক্রিয়া</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">ভিডিও কোডেক AVC (H.264) তে বাধ্য করা হয়েছে</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• বাচ্চাদের ভিডিও প্লে নাও হতে পারে
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">ভিডিও কোডেক স্বয়ংক্রিয়ভাবে নির্ধারিত হচ্ছে</string>
|
• অডিও ট্র্যাক মেনু অনুপস্থিত
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"এটি সক্রিয় করা ব্যাটারি লাইফ উন্নত করতে পারে এবং প্লেব্যাক হোঁচট খাওয়া ঠিক করতে পারে।
|
• স্থিতিশীল ভলিউম উপলব্ধ নয়
|
||||||
|
• জোর করে মূল অডিও উপলব্ধ নয়৷"</string>
|
||||||
AVC-এর সর্বোচ্চ রেজোলিউশন 1080p, Opus অডিও কোডেক উপলব্ধ নয় এবং ভিডিও প্লেব্যাক VP9 বা AV1 এর তুলনায় আরও ইন্টারনেট ডেটা ব্যবহার করবে।"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS স্পুফিং এর পার্শ্ব প্রতিক্রিয়া</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• বেসরকারি শিশু ভিডিও চলতে নাও পারে<br>• ভিডিওগুলি 1 সেকেন্ড আগে শেষ হয়"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR স্পুফিং এর পার্শ্ব প্রতিক্রিয়া</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• শিশু ভিডিওগুলি প্লে নাও হতে পারে
|
|
||||||
• লাইভস্ট্রিম শুরু থেকে শুরু হয়
|
|
||||||
• ভিডিও 1 সেকেন্ড আগে শেষ হয়"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">ডিফল্ট অডিও স্ট্রিম ভাষা</string>
|
<string name="revanced_spoof_video_streams_language_title">ডিফল্ট অডিও স্ট্রিম ভাষা</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">অ্যাপ ভাষা</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">অ্যাপ ভাষা</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">আরবি</string>
|
<string name="revanced_spoof_video_streams_language_AR">আরবি</string>
|
||||||
|
|||||||
@@ -1287,20 +1287,12 @@ Si actives aquesta opció, es poden desbloquejar qualitats de vídeo més altes"
|
|||||||
|
|
||||||
La reproducció de vídeo pot no funcionar"</string>
|
La reproducció de vídeo pot no funcionar"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Desactivar aquesta configuració pot causar problemes de reproducció de vídeo.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Desactivar aquesta configuració pot causar problemes de reproducció de vídeo.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Client predeterminat</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Client predeterminat</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Força AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Efectes secundaris de suplantació</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">El còdec de vídeo es força a AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• És possible que els vídeos infantils no es reprodueixin
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El còdec de vídeo es determina automàticament</string>
|
• Falta el menú de pista d'àudio
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Si actives aquesta opció, és possible que millori la durada de la bateria i es solucioni el tartamudeig de la reproducció.
|
• El volum estable no està disponible
|
||||||
|
• Força l'àudio original no està disponible"</string>
|
||||||
AVC té una resolució màxima de 1080p, el còdec d'àudio Opus no està disponible i la reproducció de vídeo utilitzarà més dades d'Internet que VP9 o AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">Efectes secundaris de la falsificació d\'iOS</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Els vídeos privats per a nens potser no es reprodueixen
|
|
||||||
• Els vídeos finalitzen 1 segon abans"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Efecte secundaris de la suplantació d\'Android VR</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Els vídeos de nens poden no reproduir-se
|
|
||||||
• Les emissions en directe comencen des del principi
|
|
||||||
• Els vídeos acaben 1 segon abans"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Idioma de la transmissió d\'àudio per defecte</string>
|
<string name="revanced_spoof_video_streams_language_title">Idioma de la transmissió d\'àudio per defecte</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de l\'aplicació</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de l\'aplicació</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Àrab</string>
|
<string name="revanced_spoof_video_streams_language_AR">Àrab</string>
|
||||||
|
|||||||
@@ -1286,20 +1286,12 @@ Povolením této funkce lze odemknout vyšší kvality videa"</string>
|
|||||||
|
|
||||||
Přehrávání videa nemusí fungovat"</string>
|
Přehrávání videa nemusí fungovat"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Vypnutí tohoto nastavení může způsobit problémy s přehráváním videa.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Vypnutí tohoto nastavení může způsobit problémy s přehráváním videa.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Výchozí klient</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Výchozí klient</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Vynutit AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Napodobování vedlejších účinků</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodek je vynucen na AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Dětská videa se nemusí přehrávat
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodek je určen automaticky</string>
|
• Chybí nabídka zvukových stop
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Povolením této funkce se může zlepšit výdrž baterie a opravit zadrhávání přehrávání.
|
• Stabilní hlasitost není k dispozici
|
||||||
|
• Vynucení původního zvuku není k dispozici"</string>
|
||||||
AVC má maximální rozlišení 1080p, audio kodek Opus není dostupný a přehrávání videa bude používat více internetových dat než VP9 nebo AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">Vedlejší účinky napodobování iOS</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Soukromá dětská videa se nemusí přehrávat
|
|
||||||
• Videa končí o 1 sekundu dříve"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Vedlejší účinky napodobování Android VR</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Videa pro děti se nemusí přehrát
|
|
||||||
• Livestreamy začínají od začátku
|
|
||||||
• Videa končí o 1 sekundu dříve"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Výchozí jazyk zvukového streamu</string>
|
<string name="revanced_spoof_video_streams_language_title">Výchozí jazyk zvukového streamu</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Jazyk aplikace</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Jazyk aplikace</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabsky</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabsky</string>
|
||||||
|
|||||||
@@ -1287,20 +1287,12 @@ Aktivering af dette kan låse op for højere videokvalitet"</string>
|
|||||||
|
|
||||||
Videoafspilning virker muligvis ikke"</string>
|
Videoafspilning virker muligvis ikke"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">At slå denne indstilling fra kan forårsage problemer med videoafspilning.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">At slå denne indstilling fra kan forårsage problemer med videoafspilning.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Standard klient</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Standard klient</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Gennemtving AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Overskrivning af bivirkninger</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video-codec er tvunget til AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Børnevideoer afspilles muligvis ikke
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-codec bestemmes automatisk</string>
|
• Menuen for lydspor mangler
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Aktivering af dette kan forbedre batterilevetiden og løse afspilningshakkethed.
|
• Stabil lydstyrke er ikke tilgængelig
|
||||||
|
• Force original lyd er ikke tilgængelig"</string>
|
||||||
AVC har en maksimal opløsning på 1080p, Opus lydcodec er ikke tilgængelig, og videoafspilning bruger mere 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">"• Private børnevideoer kan muligvis ikke afspilles
|
|
||||||
• Videoer slutter 1 sekund før"</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">"• Børnevideoer kan ikke afspilles
|
|
||||||
• Livestreams starter fra begyndelsen
|
|
||||||
• Videoer slutter 1 sekund tidligere"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Standard lyd-stream sprog</string>
|
<string name="revanced_spoof_video_streams_language_title">Standard lyd-stream sprog</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">App sprog</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">App sprog</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabisk</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabisk</string>
|
||||||
|
|||||||
@@ -1281,20 +1281,12 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
|
|||||||
|
|
||||||
Die Videowiedergabe funktioniert möglicherweise nicht"</string>
|
Die Videowiedergabe funktioniert möglicherweise nicht"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Standard-Client</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Standard-Client</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC erzwingen (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Spoofing-Nebenwirkungen</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video-Codec ist zu AVC gezwungen (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Kindervideos werden möglicherweise nicht abgespielt
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-Codec wird automatisch bestimmt</string>
|
• Audiospurmenü fehlt
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Dadurch kann die Akkulaufzeit verbessert und Stottern bei der Wiedergabe behoben werden.
|
• Eine stabile Lautstärke ist nicht verfügbar
|
||||||
|
• „Originalton erzwingen“ ist nicht verfügbar"</string>
|
||||||
AVC hat eine maximale Auflösung von 1080p, der Opus-Audiocodec ist nicht verfügbar und die Videowiedergabe verbraucht mehr Internetdaten als VP9 oder AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS Spoofing Nebeneffekte</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Private Kindervideos werden möglicherweise nicht abgespielt
|
|
||||||
• Videos enden 1 Sekunde früher"</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">"• Kindervideos werden möglicherweise nicht abgespielt
|
|
||||||
• Livestreams starten von Anfang an
|
|
||||||
• Videos enden 1 Sekunde früher"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Standard Audio Streamsprache</string>
|
<string name="revanced_spoof_video_streams_language_title">Standard Audio Streamsprache</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">App-Sprache</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">App-Sprache</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabisch</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabisch</string>
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_info_panels_title">Πάνελ πληροφοριών</string>
|
<string name="revanced_hide_info_panels_title">Πάνελ πληροφοριών</string>
|
||||||
<string name="revanced_hide_info_panels_summary_on">Κρυμμένα</string>
|
<string name="revanced_hide_info_panels_summary_on">Κρυμμένα</string>
|
||||||
<string name="revanced_hide_info_panels_summary_off">Εμφανίζονται</string>
|
<string name="revanced_hide_info_panels_summary_off">Εμφανίζονται</string>
|
||||||
<string name="revanced_hide_medical_panels_title">Πάνελ Ιατρικών Πληροφοριών</string>
|
<string name="revanced_hide_medical_panels_title">Πάνελ ιατρικών πληροφοριών</string>
|
||||||
<string name="revanced_hide_medical_panels_summary_on">Κρυμμένα</string>
|
<string name="revanced_hide_medical_panels_summary_on">Κρυμμένα</string>
|
||||||
<string name="revanced_hide_medical_panels_summary_off">Εμφανίζονται</string>
|
<string name="revanced_hide_medical_panels_summary_off">Εμφανίζονται</string>
|
||||||
<string name="revanced_hide_channel_bar_title">Γραμμή καναλιού</string>
|
<string name="revanced_hide_channel_bar_title">Γραμμή καναλιού</string>
|
||||||
@@ -524,7 +524,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_disable_translucent_navigation_bar_light_title">Απενεργοποίηση διαφανούς γραμμής στο φωτεινό θέμα</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_title">Απενεργοποίηση διαφανούς γραμμής στο φωτεινό θέμα</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">Η γραμμή πλοήγησης στο φωτεινό θέμα δεν είναι διαφανής</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">Η γραμμή πλοήγησης στο φωτεινό θέμα δεν είναι διαφανής</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Η διαφάνεια της γραμμής πλοήγησης στο φωτεινό θέμα ορίζεται αυτόματα</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Η διαφάνεια της γραμμής πλοήγησης στο φωτεινό θέμα ορίζεται αυτόματα</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_dark_title">Απενεργοποίηση ημιδιαφανούς γραμμής στο σκούρο θέμα</string>
|
<string name="revanced_disable_translucent_navigation_bar_dark_title">Απενεργοποίηση διαφανούς γραμμής στο σκούρο θέμα</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_dark_summary_on">Η γραμμή πλοήγησης στο σκούρο θέμα δεν είναι διαφανής</string>
|
<string name="revanced_disable_translucent_navigation_bar_dark_summary_on">Η γραμμή πλοήγησης στο σκούρο θέμα δεν είναι διαφανής</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Η διαφάνεια της γραμμής πλοήγησης στο σκούρο θέμα ορίζεται αυτόματα</string>
|
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Η διαφάνεια της γραμμής πλοήγησης στο σκούρο θέμα ορίζεται αυτόματα</string>
|
||||||
</patch>
|
</patch>
|
||||||
@@ -812,7 +812,7 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
Οι μικρογραφίες γραμμής αναζήτησης θα χρησιμοποιούν την ίδια ποιότητα με το τρέχον βίντεο.
|
Οι μικρογραφίες γραμμής αναζήτησης θα χρησιμοποιούν την ίδια ποιότητα με το τρέχον βίντεο.
|
||||||
|
|
||||||
Αυτή η δυνατότητα λειτουργεί καλύτερα με ποιότητα βίντεο 720p ή χαμηλότερη και όταν χρησιμοποιείται πολύ γρήγορη σύνδεση στο διαδίκτυο."</string>
|
Αυτή η δυνατότητα λειτουργεί καλύτερα με ποιότητα βίντεο 720p ή χαμηλότερη και όταν χρησιμοποιείται μια πολύ γρήγορη σύνδεση στο διαδίκτυο."</string>
|
||||||
<string name="revanced_restore_old_seekbar_thumbnails_title">Παλιές μικρογραφίες γραμμής προόδου</string>
|
<string name="revanced_restore_old_seekbar_thumbnails_title">Παλιές μικρογραφίες γραμμής προόδου</string>
|
||||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">Οι μικρογραφίες προεπισκόπησης θα εμφανίζονται πάνω από τη γραμμή προόδου</string>
|
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">Οι μικρογραφίες προεπισκόπησης θα εμφανίζονται πάνω από τη γραμμή προόδου</string>
|
||||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">Οι μικρογραφίες προεπισκόπησης θα εμφανίζονται σε πλήρη οθόνη</string>
|
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">Οι μικρογραφίες προεπισκόπησης θα εμφανίζονται σε πλήρη οθόνη</string>
|
||||||
@@ -1096,11 +1096,11 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
Η ελαχιστοποιημένη οθόνη αναπαραγωγής μπορεί να μετακινηθεί σε οποιαδήποτε γωνία της οθόνης"</string>
|
Η ελαχιστοποιημένη οθόνη αναπαραγωγής μπορεί να μετακινηθεί σε οποιαδήποτε γωνία της οθόνης"</string>
|
||||||
<string name="revanced_miniplayer_drag_and_drop_summary_off">Η λειτουργία μεταφοράς και απόθεσης είναι απενεργοποιημένη</string>
|
<string name="revanced_miniplayer_drag_and_drop_summary_off">Η λειτουργία μεταφοράς και απόθεσης είναι απενεργοποιημένη</string>
|
||||||
<string name="revanced_miniplayer_horizontal_drag_title">Ενεργοποίηση οριζόντιας χειρονομίας απόρριψης</string>
|
<string name="revanced_miniplayer_horizontal_drag_title">Χειρονομία οριζόντιας σύρσης</string>
|
||||||
<string name="revanced_miniplayer_horizontal_drag_summary_on">"Η χειρονομία οριζόντιας σύρσης είναι ενεργοποιημένη
|
<string name="revanced_miniplayer_horizontal_drag_summary_on">"Η χειρονομία οριζόντιας σύρσης είναι ενεργοποιημένη
|
||||||
|
|
||||||
Η ελαχιστοποιημένη οθόνη μπορεί να συρθεί εκτός οθόνης προς τα αριστερά ή δεξιά"</string>
|
Η ελαχιστοποιημένη οθόνη μπορεί να συρθεί εκτός οθόνης προς τα αριστερά ή δεξιά"</string>
|
||||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">Η οριζόντια χειρονομία είναι ανενεργή</string>
|
<string name="revanced_miniplayer_horizontal_drag_summary_off">Η χειρονομία οριζόντιας σύρσης είναι απενεργοποιημένη</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_title">Κουμπί κλεισίματος</string>
|
<string name="revanced_miniplayer_hide_expand_close_title">Κουμπί κλεισίματος</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">Κρυμμένο</string>
|
<string name="revanced_miniplayer_hide_expand_close_summary_on">Κρυμμένο</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_summary_off">Εμφανίζεται</string>
|
<string name="revanced_miniplayer_hide_expand_close_summary_off">Εμφανίζεται</string>
|
||||||
@@ -1109,7 +1109,7 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
Σύρετε την ελαχιστοποιημένη οθόνη αναπαραγωγής για επέκταση ή κλείσιμο του βίντεο"</string>
|
Σύρετε την ελαχιστοποιημένη οθόνη αναπαραγωγής για επέκταση ή κλείσιμο του βίντεο"</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">Εμφανίζονται</string>
|
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">Εμφανίζονται</string>
|
||||||
<string name="revanced_miniplayer_hide_subtext_title">Κείμενα στην οθόνη αναπαραγωγής</string>
|
<string name="revanced_miniplayer_hide_subtext_title">Κείμενα οθόνης αναπαραγωγής</string>
|
||||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Κρυμμένα</string>
|
<string name="revanced_miniplayer_hide_subtext_summary_on">Κρυμμένα</string>
|
||||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Εμφανίζονται</string>
|
<string name="revanced_miniplayer_hide_subtext_summary_off">Εμφανίζονται</string>
|
||||||
<string name="revanced_miniplayer_hide_rewind_forward_title">Κουμπιά παράλειψης και επιστροφής</string>
|
<string name="revanced_miniplayer_hide_rewind_forward_title">Κουμπιά παράλειψης και επιστροφής</string>
|
||||||
@@ -1118,7 +1118,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_miniplayer_width_dip_title">Αρχικό μέγεθος</string>
|
<string name="revanced_miniplayer_width_dip_title">Αρχικό μέγεθος</string>
|
||||||
<string name="revanced_miniplayer_width_dip_summary">Αρχικό μέγεθος οθόνης, σε pixel</string>
|
<string name="revanced_miniplayer_width_dip_summary">Αρχικό μέγεθος οθόνης, σε pixel</string>
|
||||||
<string name="revanced_miniplayer_width_dip_invalid_toast">Τα pixel πρέπει να είναι μεταξύ %1$s και %2$s</string>
|
<string name="revanced_miniplayer_width_dip_invalid_toast">Τα pixel πρέπει να είναι μεταξύ %1$s και %2$s</string>
|
||||||
<string name="revanced_miniplayer_opacity_title">Αδιαφάνεια επικάλυψης</string>
|
<string name="revanced_miniplayer_opacity_title">Αδιαφάνεια φόντου παρασκηνίου</string>
|
||||||
<string name="revanced_miniplayer_opacity_summary">Τιμή αδιαφάνειας μεταξύ 0-100, όπου το 0 είναι διαφανές</string>
|
<string name="revanced_miniplayer_opacity_summary">Τιμή αδιαφάνειας μεταξύ 0-100, όπου το 0 είναι διαφανές</string>
|
||||||
<string name="revanced_miniplayer_opacity_invalid_toast">Η αδιαφάνεια φόντου οθόνης αναπαραγωγής πρέπει να είναι μεταξύ 0-100</string>
|
<string name="revanced_miniplayer_opacity_invalid_toast">Η αδιαφάνεια φόντου οθόνης αναπαραγωγής πρέπει να είναι μεταξύ 0-100</string>
|
||||||
</patch>
|
</patch>
|
||||||
@@ -1286,20 +1286,12 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
Η αναπαραγωγή βίντεο ενδέχεται να μην λειτουργεί"</string>
|
Η αναπαραγωγή βίντεο ενδέχεται να μην λειτουργεί"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Προεπιλεγμένο πρόγραμμα πελάτη</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Προεπιλεγμένο πρόγραμμα πελάτη</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Εξαναγκασμός AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Παρενέργειες παραποίησης</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Ο κωδικοποιητής βίντεο έχει οριστεί υποχρεωτικά σε AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Ο κωδικοποιητής βίντεο ορίζεται αυτόματα</string>
|
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Η ενεργοποίηση αυτής της λειτουργίας μπορεί να βελτιώσει τη διάρκεια ζωής της μπαταρίας και να διορθώσει κολλήματα αναπαραγωγής.
|
|
||||||
|
|
||||||
Ο AVC ωστόσο έχει μέγιστη ανάλυση 1080p, ο κωδικοποιητής ήχου Opus δεν είναι διαθέσιμος και η αναπαραγωγή βίντεο θα χρησιμοποιεί περισσότερα δεδομένα internet από τον κωδικοποιητή VP9 ή τον AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">Παρενέργειες παραποίησης σε iOS</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Τα ιδιωτικά βίντεο για παιδιά ενδέχεται να μην αναπαράγονται
|
|
||||||
• Τα βίντεο τελειώνουν 1 δευτερόλεπτο νωρίτερα"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Παρενέργειες παραποίησης σε Android VR</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται
|
|
||||||
• Το μενού «Κομμάτι ήχου» λείπει
|
• Το μενού «Κομμάτι ήχου» λείπει
|
||||||
• Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη"</string>
|
• Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη
|
||||||
|
• Η λειτουργία εξαναγκασμού αρχικού ήχου δεν είναι διαθέσιμη"</string>
|
||||||
<string name="revanced_spoof_video_streams_language_title">Προεπιλεγμένη γλώσσα ροής ήχου</string>
|
<string name="revanced_spoof_video_streams_language_title">Προεπιλεγμένη γλώσσα ροής ήχου</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Γλώσσα εφαρμογής</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Γλώσσα εφαρμογής</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Αραβικά</string>
|
<string name="revanced_spoof_video_streams_language_AR">Αραβικά</string>
|
||||||
|
|||||||
@@ -1268,20 +1268,12 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
|
|||||||
|
|
||||||
Es posible que la reproducción de vídeo no funcione"</string>
|
Es posible que la reproducción de vídeo no funcione"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Desactivar esta configuración puede causar problemas de reproducción de vídeo.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Desactivar esta configuración puede causar problemas de reproducción de vídeo.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Cliente por defecto</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Cliente por defecto</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forzar AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Simulación de efectos secundarios</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Códec de vídeo se ve obligado a AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Es posible que los vídeos para niños no se reproduzcan
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El códec de vídeo se determina automáticamente</string>
|
• Falta el menú de pistas de audio
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Habilitar esto podría mejorar la duración de la batería y solucionar los tartamudeos de la reproducción.
|
• El volumen estable no está disponible
|
||||||
|
• Forzar audio original no está disponible"</string>
|
||||||
AVC tiene una resolución máxima de 1080p, el códec de audio Opus no está disponible 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">"• Es posible que los videos privados para niños no se reproduzcan
|
|
||||||
• Los videos terminan 1 segundo antes"</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">"• Es posible que los vídeos para niños no se reproduzcan
|
|
||||||
• Las transmisiones en vivo empiezan desde el principio
|
|
||||||
• Los vídeos terminan 1 segundo antes"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Idioma de flujo de audio por defecto</string>
|
<string name="revanced_spoof_video_streams_language_title">Idioma de flujo de audio por defecto</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de la aplicación</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de la aplicación</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Árabe</string>
|
<string name="revanced_spoof_video_streams_language_AR">Árabe</string>
|
||||||
|
|||||||
@@ -1288,20 +1288,12 @@ Selle lubamine võib avada kõrgema video kvaliteedi"</string>
|
|||||||
|
|
||||||
Video taasesitus ei pruugi toimida"</string>
|
Video taasesitus ei pruugi toimida"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Selle seade keelamine võib põhjustada videote taasesituse probleeme.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Selle seade keelamine võib põhjustada videote taasesituse probleeme.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Vaikimisi klient</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Vaikimisi klient</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Sunni AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Võltsitud kõrvalmõjud</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Videokodek on sunnitud AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Lastevideod ei pruugi esitada
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokodek määratakse automaatselt</string>
|
• Heliriba menüü puudub
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Selle lubamine võib parandada aku kestvust ja parandada video taasesituse peatumise probleemi.
|
• Stabiilset helitugevust ei ole saadaval
|
||||||
|
• Sunnitud originaalheli ei ole saadaval"</string>
|
||||||
AVC-l on maksimaalne resolutsioon 1080p, Opus-heli kodeerijat pole saadaval ja video taasesitus kasutab rohkem interneti andmeid kui VP9 või AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS-i võltsimise kõrvalmõjud</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Privaatseid lastevideoid ei pruugita esitada
|
|
||||||
• Videod lõpevad 1 sekund varem"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR spoofing-i kõrvalmõjud</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Lastevideod ei pruugi mängida
|
|
||||||
• Otseülekanded algavad algusest
|
|
||||||
• Videod lõpevad 1 sekundit enne aega"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Vaikimisi helivoolu keel</string>
|
<string name="revanced_spoof_video_streams_language_title">Vaikimisi helivoolu keel</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Rakenduse keel</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Rakenduse keel</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Araabia keel</string>
|
<string name="revanced_spoof_video_streams_language_AR">Araabia keel</string>
|
||||||
|
|||||||
@@ -1287,20 +1287,12 @@ Tämä voi avata korkealaatuisemmat videot"</string>
|
|||||||
|
|
||||||
Videon toisto ei välttämättä toimi"</string>
|
Videon toisto ei välttämättä toimi"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Tämän asetuksen poistaminen käytöstä voi aiheuttaa ongelmia videotoistossa.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Tämän asetuksen poistaminen käytöstä voi aiheuttaa ongelmia videotoistossa.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Oletusasiakasohjelma</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Oletusasiakasohjelma</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Pakota AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Sivuvaikutusten huijaaminen</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Videon koodekki pakotetaan AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Lapsille tarkoitetut videot eivät ehkä toistu
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokoodekki määritetään automaattisesti</string>
|
• Ääniraita-valikko puuttuu
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Tämän ottaminen käyttöön voi parantaa akun kestoa ja korjata toiston nykimistä.
|
• Vakioäänenvoimakkuus ei ole käytettävissä
|
||||||
|
• Pakota alkuperäinen ääni ei ole käytettävissä"</string>
|
||||||
AVC:llä on enimmäisresoluutio 1080p, Opus-äänikoodekkia ei ole käytettävissä ja videoiden toisto kuluttaa enemmän internet-dataa 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">"• Yksityisiä lasten videoita ei ehkä toisteta
|
|
||||||
• Videot päättyvät 1 sekunnin etuajassa"</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">"• Lasten videot eivät välttämättä toistu
|
|
||||||
• Suoratoistot alkavat alusta
|
|
||||||
• Videot päättyvät 1 sekuntia aikaisemmin"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Äänivirran oletuskieli</string>
|
<string name="revanced_spoof_video_streams_language_title">Äänivirran oletuskieli</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Sovelluksen kieli</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Sovelluksen kieli</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabia</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabia</string>
|
||||||
|
|||||||
@@ -1288,21 +1288,12 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"</st
|
|||||||
|
|
||||||
Ang paglalaro ng video ay maaaring hindi gumana"</string>
|
Ang paglalaro ng video ay maaaring hindi gumana"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback ng video.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback ng video.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Default client</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Default na kliyente</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Pilitin ang AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">**Spoofing** ng mga side effect</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Ang video codec ay napipilitang maging AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Ang mga video sa Bata ay maaaring hindi magpatugtog
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Awtomatikong natutukoy ang video codec</string>
|
• Nawawala ang menu ng track ng audio
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Ang pagpapagana nito ay maaaring mapabuti ang buhay ng baterya at ayusin ang pag-stutter ng paglalaro.
|
• Hindi magagamit ang matatag na volume
|
||||||
|
• Hindi magagamit ang pilitin ang orihinal na audio"</string>
|
||||||
Ang AVC ay may maximum na resolution na 1080p, ang Opus audio codec ay hindi magagamit, at ang paglalaro ng video ay gagamit ng mas maraming data sa internet kaysa sa VP9 o AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">Mga Epekto sa Gilid ng Pag-spoof ng iOS</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"
|
|
||||||
• Maaaring hindi ma-play ang mga pribadong video ng mga bata
|
|
||||||
• Nagtatapos ang mga video ng 1 segundo nang mas maaga"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Mga epekto sa gilid ng pag-spoof ng Android VR</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Ang mga video ng mga bata ay maaaring hindi maglaro
|
|
||||||
• Ang mga livestream ay magsisimula mula sa simula
|
|
||||||
• Ang mga video ay magtatapos ng 1 segundo nang maaga"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Default na wika ng audio stream</string>
|
<string name="revanced_spoof_video_streams_language_title">Default na wika ng audio stream</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Wika ng app</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Wika ng app</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabe</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabe</string>
|
||||||
|
|||||||
@@ -1287,20 +1287,12 @@ L'activation de cette option peut déverrouiller des qualités vidéo plus élev
|
|||||||
|
|
||||||
La lecture vidéo peut ne pas fonctionner"</string>
|
La lecture vidéo peut ne pas fonctionner"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Désactiver ce paramètre peut causer des problèmes de lecture vidéo.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Désactiver ce paramètre peut causer des problèmes de lecture vidéo.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Client par défaut</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Client par défaut</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forcer AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Effets inconnus de la falsification</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Le codec vidéo est forcé à AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Les vidéos pour enfants risquent de ne pas être lues
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Le codec vidéo est déterminé automatiquement</string>
|
• Le menu de la piste audio est manquant
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"L'activation de cette option peut améliorer l'autonomie de la batterie et corriger les saccades de lecture.
|
• Le volume stable n'est pas disponible
|
||||||
|
• Forcer l'audio d'origine n'est pas disponible"</string>
|
||||||
AVC a une résolution maximale de 1080p, le codec audio Opus n'est pas disponible 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 vidéos privées pour enfants ne peuvent pas être lues
|
|
||||||
• Les vidéos se terminent 1 seconde plus tôt"</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">"• Les vidéos pour enfants peuvent ne pas être lues
|
|
||||||
• Les diffusions en direct commencent depuis le début
|
|
||||||
• Les vidéos se terminent 1 seconde plus tôt"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Langue du flux audio par défaut</string>
|
<string name="revanced_spoof_video_streams_language_title">Langue du flux audio par défaut</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Langue de l\'application</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Langue de l\'application</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabe</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabe</string>
|
||||||
|
|||||||
@@ -1288,20 +1288,12 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
|
|||||||
|
|
||||||
D'fhéadfadh nach n-oibreoidh athsheinm físeáin"</string>
|
D'fhéadfadh nach n-oibreoidh athsheinm físeáin"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Seans go mbeidh fadhbanna athsheinm físe ag baint leis an socrú seo a mhúchadh.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Seans go mbeidh fadhbanna athsheinm físe ag baint leis an socrú seo a mhúchadh.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Cliant réamhshocraithe</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Cliant réamhshocraithe</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Fórsa AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Éifeachtaí taobheffects</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Tá códú físeáin á fhorchur ar AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Is féidir nach imreoidh físeáin leanaí
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Cinneadh go huathoibríoch an códú físeáin</string>
|
• Tá roghchlár rian fuaime ar iarraidh
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"D'fhéadfadh go mbainfeadh feabhas ar shaol ceallraí agus go ndéanfadh sé stuttering athsheinm a dheisiú trí é seo a chumasú.
|
• Níl sraithfhuaim shocair ar fáil
|
||||||
|
• Níl éiteach an fhuaime bhunaidh ar fáil"</string>
|
||||||
Tá uasmhéid réiteach 1080p ag AVC, níl an cód fuaime Opus ar fáil, agus úsáidfidh athsheinm físeáin níos mó sonraí idirlín ná 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í fhéadfaidh físeáin phríobháideacha leanaí a imirt
|
|
||||||
• Críochnaíonn físeáin 1 soicind go luath"</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">"• D'fhéadfadh nach n-imreoidh físeáin pháistí
|
|
||||||
• Tosóidh shruth beo ón tús
|
|
||||||
• Críochnóidh físeáin 1 soicind go luath"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Teanga réamhshocraithe sruth fuaime</string>
|
<string name="revanced_spoof_video_streams_language_title">Teanga réamhshocraithe sruth fuaime</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Teanga na feidhmchláir</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Teanga na feidhmchláir</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Araibis</string>
|
<string name="revanced_spoof_video_streams_language_AR">Araibis</string>
|
||||||
|
|||||||
@@ -1049,7 +1049,7 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
|
|||||||
<string name="revanced_disable_resuming_shorts_player_summary_off">A Shorts lejátszás folytatódik az alkalmazás indításakor</string>
|
<string name="revanced_disable_resuming_shorts_player_summary_off">A Shorts lejátszás folytatódik az alkalmazás indításakor</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.shortsplayer.shortsPlayerTypePatch">
|
<patch id="layout.shortsplayer.shortsPlayerTypePatch">
|
||||||
<string name="revanced_shorts_player_type_title">Nyissa meg a Shorts</string>
|
<string name="revanced_shorts_player_type_title">Shorts megnyitása ezzel:</string>
|
||||||
<string name="revanced_shorts_player_type_shorts">Shorts lejátszó</string>
|
<string name="revanced_shorts_player_type_shorts">Shorts lejátszó</string>
|
||||||
<string name="revanced_shorts_player_type_regular_player">Normál lejátszó</string>
|
<string name="revanced_shorts_player_type_regular_player">Normál lejátszó</string>
|
||||||
<string name="revanced_shorts_player_type_regular_player_fullscreen">Teljes képernyős normál lejátszó</string>
|
<string name="revanced_shorts_player_type_regular_player_fullscreen">Teljes képernyős normál lejátszó</string>
|
||||||
@@ -1285,20 +1285,12 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"</s
|
|||||||
|
|
||||||
A videólejátszás nem működhet"</string>
|
A videólejátszás nem működhet"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">A beállítás kikapcsolása videolejátszási problémákat okozhat.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">A beállítás kikapcsolása videolejátszási problémákat okozhat.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Alapértelmezett kliens</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Alapértelmezett kliens</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) kényszerítése</string>
|
<string name="revanced_spoof_video_streams_about_title">Hamisítás mellékhatásai</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">A videokodek AVC-re kényszerítve (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Gyermekvideók előfordulhat, hogy nem játszódnak le
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">A videokodek meghatározása automatikusan történik</string>
|
• Hiányzik a hangsáv menü
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Ennek engedélyezése javíthatja az akkumulátor üzemidejét, és megoldhatja a lejátszás dadogását.
|
• A stabil hangerő nem elérhető
|
||||||
|
• Az eredeti hang kényszerítése nem elérhető"</string>
|
||||||
Az AVC maximális felbontása 1080p, az Opus audio kodek nem érhető el, és a videólejátszás több internetes adatot fog használni, 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">"• A privát gyerekvideók nem játszhatók le
|
|
||||||
• A videók 1 másodperccel korábban érnek véget"</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">"• A gyermekeknek szóló videók nem játszódhatnak le
|
|
||||||
• Az élő közvetítések a kezdettől kezdődnek
|
|
||||||
• A videók 1 másodperccel korábban érnek véget"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Alapértelmezett hangfolyam nyelve</string>
|
<string name="revanced_spoof_video_streams_language_title">Alapértelmezett hangfolyam nyelve</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Alkalmazás nyelve</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Alkalmazás nyelve</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arab</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arab</string>
|
||||||
|
|||||||
@@ -1287,20 +1287,12 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
|
|||||||
|
|
||||||
Տեսանյութի վերարտադրումը կարող է չաշխատել։"</string>
|
Տեսանյութի վերարտադրումը կարող է չաշխատել։"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Այս կարգավորման անջատումը կարող է առաջացնել տեսանյութի վերարտադրման հետ կապված պրոբլեմներ</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Այս կարգավորման անջատումը կարող է առաջացնել տեսանյութի վերարտադրման հետ կապված պրոբլեմներ</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Դեֆոլտ կլիենտ</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Դեֆոլտ կլիենտ</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Անհրաժեշտ է AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Խաբեության կողմնակի ազդեցություններ</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Տեսանյութի կոդեկը սահմանվում է AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Մանկական տեսանյութերը կարող են չնվագարկվել
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Տեսանյութի կոդեկը սահմանվում է ավտոմատ</string>
|
• Աուդիո ուղու ընտրացանկը բացակայում է
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Այս կարգավորման միացումը կարող է բարելավել մարտկոցի կյանքը և լուծել վերարտադրության կտրուկ մեծացման խնդիրը։
|
• Կայուն ծավալը հասանելի չէ
|
||||||
|
• Պարտադրել բնօրինակ ձայնը հասանելի չէ"</string>
|
||||||
AVC-ն ունի առավելագույն 1080p լուծում, Opus ձայնային կոդավորումը հասանելի չէ, և տեսանյութի վերարտադրումը կօգտագործի ավելի շատ ինտերնետ տվյալներ, քան VP9 կամ AV1-ը։"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS փոփոխության կողմնակի ազդեցություններ</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Երեխաների համար նախատեսված մասնավոր տեսանյութերը կարող են չհեռարձակվել
|
|
||||||
• Տեսանյութերն ավարտվում են 1 վայրկյան շուտ"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR փոփոխության կողմնակի ազդեցություններ</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Երեխաների տեսանյութերը կարող է չվերարտադրվեն
|
|
||||||
• Livestream-ները սկսվում են սկզբից
|
|
||||||
• Տեսանյութերը ավարտվում են 1 վայրկյան առաջ։"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Ըստ նախապատվության, հնչյունային հոսքի լեզուն</string>
|
<string name="revanced_spoof_video_streams_language_title">Ըստ նախապատվության, հնչյունային հոսքի լեզուն</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Ծրագրի լեզուն</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Ծրագրի լեզուն</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Արաբերեն</string>
|
<string name="revanced_spoof_video_streams_language_AR">Արաբերեն</string>
|
||||||
|
|||||||
@@ -519,10 +519,10 @@ Catatan: Mengaktifkan ini juga akan memaksa menyembunyikan iklan video"</string>
|
|||||||
<string name="revanced_disable_translucent_status_bar_summary_on">Bilah status buram</string>
|
<string name="revanced_disable_translucent_status_bar_summary_on">Bilah status buram</string>
|
||||||
<string name="revanced_disable_translucent_status_bar_summary_off">Bilah status buram atau tembus pandang</string>
|
<string name="revanced_disable_translucent_status_bar_summary_off">Bilah status buram atau tembus pandang</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_title">Nonaktifkan bilah tembus cahaya terang</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_title">Nonaktifkan bilah tembus cahaya terang</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">Bilah navigasi mode terang tidak tembus cahaya</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">Bilah navigasi mode terang adalah buram</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Bilah navigasi mode terang buram atau tembus pandang</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">Bilah navigasi mode terang buram atau tembus pandang</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_dark_title">Nonaktifkan bilah tembus pandang gelap</string>
|
<string name="revanced_disable_translucent_navigation_bar_dark_title">Nonaktifkan bilah tembus pandang gelap</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_dark_summary_on">Bilah navigasi mode gelap tidak tembus cahaya</string>
|
<string name="revanced_disable_translucent_navigation_bar_dark_summary_on">Bilah navigasi mode gelap adalah buram</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Bilah navigasi mode gelap buram atau tembus pandang</string>
|
<string name="revanced_disable_translucent_navigation_bar_dark_summary_off">Bilah navigasi mode gelap buram atau tembus pandang</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.hide.player.flyoutmenupanel.hidePlayerFlyoutMenuPatch">
|
<patch id="layout.hide.player.flyoutmenupanel.hidePlayerFlyoutMenuPatch">
|
||||||
@@ -1230,7 +1230,7 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
|
|||||||
<patch id="video.audio.forceOriginalAudioPatch">
|
<patch id="video.audio.forceOriginalAudioPatch">
|
||||||
<string name="revanced_force_original_audio_title">Paksa audio asli</string>
|
<string name="revanced_force_original_audio_title">Paksa audio asli</string>
|
||||||
<string name="revanced_force_original_audio_summary_on">Menggunakan audio asli</string>
|
<string name="revanced_force_original_audio_summary_on">Menggunakan audio asli</string>
|
||||||
<string name="revanced_force_original_audio_summary_off">Menggunakan audio default</string>
|
<string name="revanced_force_original_audio_summary_off">Menggunakan audio bawaan</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="video.quality.rememberVideoQualityPatch">
|
<patch id="video.quality.rememberVideoQualityPatch">
|
||||||
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
<!-- Translations should use the same text as revanced_custom_playback_speeds_auto -->
|
||||||
@@ -1285,20 +1285,12 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
|
|||||||
|
|
||||||
Playback video mungkin tidak berfungsi"</string>
|
Playback video mungkin tidak berfungsi"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Mematikan pengaturan ini dapat menyebabkan masalah pemutaran video.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Mematikan pengaturan ini dapat menyebabkan masalah pemutaran video.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Klien bawaan</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Klien bawaan</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Paksa AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Efek Samping Pemalsuan</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Kodek video dipaksa ke AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Video anak-anak mungkin tidak dapat diputar
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Kodek video ditentukan otomatis</string>
|
• Menu trek audio tidak ada
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Mengaktifkan ini dapat meningkatkan masa pakai baterai dan memperbaiki masalah playback.
|
• Volume stabil tidak tersedia
|
||||||
|
• Paksa audio asli tidak tersedia"</string>
|
||||||
AVC memiliki resolusi maksimum 1080p, codec audio Opus tidak tersedia, dan playback 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">"• Video pribadi anak-anak mungkin tidak diputar
|
|
||||||
• Video berakhir 1 detik lebih awal"</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">"• Video anak-anak mungkin tidak dapat diputar
|
|
||||||
• Livestream dimulai dari awal
|
|
||||||
• Video berakhir 1 detik lebih awal"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Bahasa aliran audio bawaan</string>
|
<string name="revanced_spoof_video_streams_language_title">Bahasa aliran audio bawaan</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Bahasa aplikasi</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Bahasa aplikasi</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arab</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arab</string>
|
||||||
@@ -1341,7 +1333,7 @@ AVC memiliki resolusi maksimum 1080p, codec audio Opus tidak tersedia, dan playb
|
|||||||
<string name="revanced_spoof_video_streams_language_RO">Rumania</string>
|
<string name="revanced_spoof_video_streams_language_RO">Rumania</string>
|
||||||
<string name="revanced_spoof_video_streams_language_RU">Rusia</string>
|
<string name="revanced_spoof_video_streams_language_RU">Rusia</string>
|
||||||
<string name="revanced_spoof_video_streams_language_SK">Slovakia</string>
|
<string name="revanced_spoof_video_streams_language_SK">Slovakia</string>
|
||||||
<string name="revanced_spoof_video_streams_language_SL">Bahasa Slovenia</string>
|
<string name="revanced_spoof_video_streams_language_SL">Slovenia</string>
|
||||||
<string name="revanced_spoof_video_streams_language_SR">Serbia</string>
|
<string name="revanced_spoof_video_streams_language_SR">Serbia</string>
|
||||||
<string name="revanced_spoof_video_streams_language_SV">Swedia</string>
|
<string name="revanced_spoof_video_streams_language_SV">Swedia</string>
|
||||||
<string name="revanced_spoof_video_streams_language_SW">Swahili</string>
|
<string name="revanced_spoof_video_streams_language_SW">Swahili</string>
|
||||||
|
|||||||
@@ -1285,20 +1285,12 @@ Abilitare questa opzione può sbloccare qualità video più elevate"</string>
|
|||||||
|
|
||||||
La riproduzione video potrebbe non funzionare"</string>
|
La 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_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_client_type_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_about_title">Effetti collaterali della simulazione</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Il codec video è forzato ad AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• I video per bambini potrebbero non essere riprodotti
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Il codec video viene determinato automaticamente</string>
|
• Manca il menu della traccia audio
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Abilitare questa opzione potrebbe migliorare la durata della batteria e risolvere i rallentamenti nella riproduzione.
|
• Il volume stabile non è disponibile
|
||||||
|
• Forza l'audio originale non è disponibile"</string>
|
||||||
AVC ha una risoluzione massima di 1080p, il codec audio Opus non è disponibile e la riproduzione video utilizzerà più dati rispetto a VP9 o AV1."</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 per bambini privati potrebbero non essere riproducibili
|
|
||||||
• I video terminano 1 secondo prima"</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 essere riprodotti
|
|
||||||
• Le dirette iniziano dall'inizio
|
|
||||||
• I video terminano 1 secondo prima"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Lingua predefinita del flusso audio</string>
|
<string name="revanced_spoof_video_streams_language_title">Lingua predefinita del flusso audio</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Lingua app</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Lingua app</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabo</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabo</string>
|
||||||
|
|||||||
@@ -491,12 +491,6 @@ Mלות עם אותיות גדולות באמצע צריכות להיכנס עם
|
|||||||
<string name="revanced_spoof_video_streams_summary_off">"זרמי וידאו לא מזויפים
|
<string name="revanced_spoof_video_streams_summary_off">"זרמי וידאו לא מזויפים
|
||||||
|
|
||||||
ייתכן שהשמעת וידאו לא תעבוד"</string>
|
ייתכן שהשמעת וידאו לא תעבוד"</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"הפעלת אפשרות זו עשויה לשפר את חיי הסוללה ולתקן קרטוע בהשמעת וידאו.
|
|
||||||
|
|
||||||
AVC בעל רזולוציה מקסימלית של 1080p, קודק הסאונד Opus אינו זמין, והשמעת וידאו תשתמש בנתוני אינטרנט רבים יותר מ-VP9 או AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• סרטוני ילדים ייתכן שלא יפעלו
|
|
||||||
• שידורים חיים מתחילים מההתחלה
|
|
||||||
• סרטונים מסתיימים 1 שנייה לפני הזמן"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_EN">אנגלית</string>
|
<string name="revanced_spoof_video_streams_language_EN">אנגלית</string>
|
||||||
<string name="revanced_spoof_video_streams_language_FR">צרפתית</string>
|
<string name="revanced_spoof_video_streams_language_FR">צרפתית</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_check_environment_failed_title">チェックに失敗しました</string>
|
<string name="revanced_check_environment_failed_title">チェックに失敗しました</string>
|
||||||
<string name="revanced_check_environment_dialog_open_official_source_button">公式ウェブサイトを開く</string>
|
<string name="revanced_check_environment_dialog_open_official_source_button">公式ウェブサイトを開く</string>
|
||||||
<string name="revanced_check_environment_dialog_ignore_button">無視</string>
|
<string name="revanced_check_environment_dialog_ignore_button">無視</string>
|
||||||
<string name="revanced_check_environment_failed_message"><h5>このアプリは、あなたによってパッチが適用されていないようです。</h5><br>このアプリは正しく動作しない可能性があり、<b>有害または危険な可能性があります</b>。<br><br>これらのチェックは、このアプリが事前にパッチが適用されているか、または他のユーザーから取得されたことを示しています。<br><br><small>%1$s</small><br>このアプリを<b>アンインストールして、自分でパッチを適用することを強くお勧めします</b>。これにより、検証済みで安全なアプリを使用していることを確認できます。<p><br>無視した場合、この警告は2回のみ表示されます。</string>
|
<string name="revanced_check_environment_failed_message"><h5>このアプリは、あなたによってパッチが適用されていないようです。</h5><br>このアプリは正しく動作しない可能性があり、<b>有害または危険な可能性があります</b>。<br><br>これらのチェックは、このアプリがパッチ済みAPKであるか、または他のユーザーから取得されたことを示唆しています。<br><br><small>%1$s</small><br>このアプリを<b>アンインストールして、自分でパッチを適用する</b>ことを強くお勧めします。これにより、検証済みで安全なアプリを使用していることを確認できます。<p><br>無視した場合、この警告は2回のみ表示されます。</string>
|
||||||
<string name="revanced_check_environment_not_same_patching_device">別のデバイスにパッチを適用しました</string>
|
<string name="revanced_check_environment_not_same_patching_device">別のデバイス上でパッチを適用しました</string>
|
||||||
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager によってインストールされていません</string>
|
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager によってインストールされていません</string>
|
||||||
<string name="revanced_check_environment_not_near_patch_time">10分以上前にパッチを適用しました</string>
|
<string name="revanced_check_environment_not_near_patch_time">10分以上前にパッチを適用しました</string>
|
||||||
<string name="revanced_check_environment_not_near_patch_time_days">パッチ適用から %s 日</string>
|
<string name="revanced_check_environment_not_near_patch_time_days">パッチ適用から %s 日</string>
|
||||||
@@ -45,7 +45,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_pref_import_export_title">インポート/エクスポート</string>
|
<string name="revanced_pref_import_export_title">インポート/エクスポート</string>
|
||||||
<string name="revanced_pref_import_export_summary">Revanced設定のインポート/エクスポート</string>
|
<string name="revanced_pref_import_export_summary">Revanced設定のインポート/エクスポート</string>
|
||||||
<!-- Settings about dialog. -->
|
<!-- Settings about dialog. -->
|
||||||
<string name="revanced_settings_about_links_body">ReVancedパッチのバージョン <i>%s</i> を使用しています</string>
|
<string name="revanced_settings_about_links_body">ReVanced Patchesのバージョン <i>%s</i> を使用しています</string>
|
||||||
<string name="revanced_settings_about_links_dev_header">メモ</string>
|
<string name="revanced_settings_about_links_dev_header">メモ</string>
|
||||||
<string name="revanced_settings_about_links_dev_body">このバージョンはプレリリースで、予期しない問題が発生する可能性があります。</string>
|
<string name="revanced_settings_about_links_dev_body">このバージョンはプレリリースで、予期しない問題が発生する可能性があります。</string>
|
||||||
<string name="revanced_settings_about_links_header">公式リンク</string>
|
<string name="revanced_settings_about_links_header">公式リンク</string>
|
||||||
@@ -1287,19 +1287,12 @@ DeArrowの詳細については、ここをタップしてください。"</stri
|
|||||||
|
|
||||||
動画再生が機能しない可能性があります"</string>
|
動画再生が機能しない可能性があります"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">この設定をオフにすると、ビデオ再生の問題が発生する可能性があります。</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">この設定をオフにすると、ビデオ再生の問題が発生する可能性があります。</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">デフォルトのクライアント</string>
|
<string name="revanced_spoof_video_streams_client_type_title">デフォルトのクライアント</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">強制AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">クライアントを偽装することによる副作用</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">ビデオコーデックはAVCに強制されました (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• 子供向けビデオは再生できない場合があります
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">ビデオコーデックが自動的に決定されます</string>
|
• オーディオトラックメニューがありません
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"これにより、バッテリー寿命が向上し、再生のスタッタリングが修正される場合があります。
|
• 安定したボリュームが利用できない
|
||||||
|
• 強制的にオリジナルのオーディオを使用することはできません"</string>
|
||||||
AVCは、最大解像度が1080pであり、Opusオーディオコーデックは使用できません。また、動画再生はVP9またはAV1よりも多くのインターネットデータを使用します。"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">iOSのクライアント偽装での副作用</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• プライベートキッズの動画は再生されない場合があります。<br/>• 動画は1秒早く終了します"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android-VR クライアント偽装の副作用</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• キッズ動画は再生されない場合があります
|
|
||||||
• ライブストリームは最初から始まります
|
|
||||||
• 動画は1秒早く終了します"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">デフォルトのオーディオストリーム言語</string>
|
<string name="revanced_spoof_video_streams_language_title">デフォルトのオーディオストリーム言語</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">アプリの言語</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">アプリの言語</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">アラビア文字</string>
|
<string name="revanced_spoof_video_streams_language_AR">アラビア文字</string>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_check_environment_failed_title">환경 검사에 실패함</string>
|
<string name="revanced_check_environment_failed_title">환경 검사에 실패함</string>
|
||||||
<string name="revanced_check_environment_dialog_open_official_source_button">공식 홈페이지 열기</string>
|
<string name="revanced_check_environment_dialog_open_official_source_button">공식 홈페이지 열기</string>
|
||||||
<string name="revanced_check_environment_dialog_ignore_button">닫기</string>
|
<string name="revanced_check_environment_dialog_ignore_button">닫기</string>
|
||||||
<string name="revanced_check_environment_failed_message"><h5>이 앱은 사용자가 패치하지 않은 것 같습니다.</h5><br>이 앱은 제대로 작동하지 않을 수 있으며, <b>사용 시 해롭거나 심지어 위험할 수도 있습니다</b>.<br><br>이러한 검사는 이 앱이 사전에 패치되었거나 다른 사람으로부터 받은 것임을 의미합니다:<br><br><small>%1$s</small><br>검증되고 안전한 앱을 사용하고 있는지 확인하려면 <b>이 앱을 제거하고 직접 패치하는 것</b>을 강력히 권장합니다.<p><br>이 경고는 두 번만 표시됩니다.</string>
|
<string name="revanced_check_environment_failed_message"><h5>이 앱은 사용자가 패치하지 않은 것 같습니다.</h5><br>이 앱은 제대로 작동하지 않을 수 있으며, <b>사용 시 해롭거나 심지어 위험할 수도 있습니다</b>.<br><br>이러한 검사는 이 앱이 사전에 패치되었거나 다른 사람으로부터 받은 것임을 의미합니다:<br><br><small>%1$s</small><br>검증되고 안전한 앱을 사용하고 있는지 확인하려면 <b>이 앱을 제거하고 직접 패치하는 것</b>을 강력히 권장합니다.<p><br>이 경고는 두 번만 표시됩니다</string>
|
||||||
<string name="revanced_check_environment_not_same_patching_device">다른 기기에서 패치됨</string>
|
<string name="revanced_check_environment_not_same_patching_device">다른 기기에서 패치됨</string>
|
||||||
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager에 의해 설치되지 않음</string>
|
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager에 의해 설치되지 않음</string>
|
||||||
<string name="revanced_check_environment_not_near_patch_time">10분 이상 전에 패치됨</string>
|
<string name="revanced_check_environment_not_near_patch_time">10분 이상 전에 패치됨</string>
|
||||||
@@ -452,8 +452,8 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">자동 자막 비활성화하기</string>
|
<string name="revanced_auto_captions_title">자동 자막 비활성화하기</string>
|
||||||
<string name="revanced_auto_captions_summary_on">자막 사용이 강제된 동영상에서 자막을 비활성화합니다</string>
|
<string name="revanced_auto_captions_summary_on">자동 자막을 비활성화합니다</string>
|
||||||
<string name="revanced_auto_captions_summary_off">자막 사용이 강제된 동영상에서 자막을 활성화합니다</string>
|
<string name="revanced_auto_captions_summary_off">자동 자막을 활성화합니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">액션 버튼</string>
|
<string name="revanced_hide_buttons_screen_title">액션 버튼</string>
|
||||||
@@ -1054,7 +1054,7 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
|
|||||||
<string name="revanced_disable_resuming_shorts_player_summary_off">앱을 시작할 때, Shorts 플레이어를 다시 실행합니다</string>
|
<string name="revanced_disable_resuming_shorts_player_summary_off">앱을 시작할 때, Shorts 플레이어를 다시 실행합니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.shortsplayer.shortsPlayerTypePatch">
|
<patch id="layout.shortsplayer.shortsPlayerTypePatch">
|
||||||
<string name="revanced_shorts_player_type_title">Shorts를 사용하여 열기</string>
|
<string name="revanced_shorts_player_type_title">Shorts 재생 플레이어 유형</string>
|
||||||
<string name="revanced_shorts_player_type_shorts">Shorts 플레이어</string>
|
<string name="revanced_shorts_player_type_shorts">Shorts 플레이어</string>
|
||||||
<string name="revanced_shorts_player_type_regular_player">일반 플레이어</string>
|
<string name="revanced_shorts_player_type_regular_player">일반 플레이어</string>
|
||||||
<string name="revanced_shorts_player_type_regular_player_fullscreen">일반 플레이어 전체 화면</string>
|
<string name="revanced_shorts_player_type_regular_player_fullscreen">일반 플레이어 전체 화면</string>
|
||||||
@@ -1077,8 +1077,8 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
|
|||||||
<string name="revanced_miniplayer_screen_title">미니 플레이어</string>
|
<string name="revanced_miniplayer_screen_title">미니 플레이어</string>
|
||||||
<string name="revanced_miniplayer_screen_summary">앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다</string>
|
<string name="revanced_miniplayer_screen_summary">앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다</string>
|
||||||
<string name="revanced_miniplayer_type_title">미니 플레이어 유형</string>
|
<string name="revanced_miniplayer_type_title">미니 플레이어 유형</string>
|
||||||
<string name="revanced_miniplayer_type_entry_0">비활성화됨</string>
|
<string name="revanced_miniplayer_type_entry_0">사용하지 않음</string>
|
||||||
<string name="revanced_miniplayer_type_entry_1">홈 (기본값)</string>
|
<string name="revanced_miniplayer_type_entry_1">기본값</string>
|
||||||
<string name="revanced_miniplayer_type_entry_2">최소화</string>
|
<string name="revanced_miniplayer_type_entry_2">최소화</string>
|
||||||
<string name="revanced_miniplayer_type_entry_3">태블릿</string>
|
<string name="revanced_miniplayer_type_entry_3">태블릿</string>
|
||||||
<string name="revanced_miniplayer_type_entry_4">모던 스타일 1</string>
|
<string name="revanced_miniplayer_type_entry_4">모던 스타일 1</string>
|
||||||
@@ -1096,12 +1096,12 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
|
|||||||
<string name="revanced_miniplayer_drag_and_drop_title">드래그 & 드롭 활성화하기</string>
|
<string name="revanced_miniplayer_drag_and_drop_title">드래그 & 드롭 활성화하기</string>
|
||||||
<string name="revanced_miniplayer_drag_and_drop_summary_on">"드래그 & 드롭을 활성화합니다
|
<string name="revanced_miniplayer_drag_and_drop_summary_on">"드래그 & 드롭을 활성화합니다
|
||||||
|
|
||||||
• 미니 플레이어를 화면의 어느 곳이든 드래그할 수 있습니다"</string>
|
• 미니 플레이어를 화면 구석으로 드래그 할 수 있습니다"</string>
|
||||||
<string name="revanced_miniplayer_drag_and_drop_summary_off">드래그 & 드롭을 비활성화합니다</string>
|
<string name="revanced_miniplayer_drag_and_drop_summary_off">드래그 & 드롭을 비활성화합니다</string>
|
||||||
<string name="revanced_miniplayer_horizontal_drag_title">수평 드래그 제스처 활성화하기</string>
|
<string name="revanced_miniplayer_horizontal_drag_title">수평 드래그 제스처 활성화하기</string>
|
||||||
<string name="revanced_miniplayer_horizontal_drag_summary_on">"수평 드래그 제스처를 활성화합니다
|
<string name="revanced_miniplayer_horizontal_drag_summary_on">"수평 드래그 제스처를 활성화합니다
|
||||||
|
|
||||||
미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다"</string>
|
• 미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다"</string>
|
||||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">수평 드래그 제스처를 비활성화합니다</string>
|
<string name="revanced_miniplayer_horizontal_drag_summary_off">수평 드래그 제스처를 비활성화합니다</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_title">\'닫기\' 버튼 숨기기</string>
|
<string name="revanced_miniplayer_hide_expand_close_title">\'닫기\' 버튼 숨기기</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">\'닫기\' 버튼이 숨겨집니다</string>
|
<string name="revanced_miniplayer_hide_expand_close_summary_on">\'닫기\' 버튼이 숨겨집니다</string>
|
||||||
@@ -1109,7 +1109,7 @@ MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용
|
|||||||
<string name="revanced_miniplayer_hide_expand_close_legacy_title">\'펼치기\' & \'닫기\' 버튼 숨기기</string>
|
<string name="revanced_miniplayer_hide_expand_close_legacy_title">\'펼치기\' & \'닫기\' 버튼 숨기기</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">"'펼치기' & '닫기' 버튼이 숨겨집니다
|
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">"'펼치기' & '닫기' 버튼이 숨겨집니다
|
||||||
|
|
||||||
• 스와이프하여 미니 플레이어를 펼치거나 닫을 수 있습니다"</string>
|
• 미니 플레이어를 스와이프하여 펼치거나 닫을 수 있습니다"</string>
|
||||||
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">\'펼치기\' & \'닫기\' 버튼이 표시됩니다</string>
|
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">\'펼치기\' & \'닫기\' 버튼이 표시됩니다</string>
|
||||||
<string name="revanced_miniplayer_hide_subtext_title">서브텍스트 숨기기</string>
|
<string name="revanced_miniplayer_hide_subtext_title">서브텍스트 숨기기</string>
|
||||||
<string name="revanced_miniplayer_hide_subtext_summary_on">서브텍스트가 숨겨집니다\n\n• 왼쪽 하단에서 표시되는 \'유료 광고 포함\'과 같은 라벨</string>
|
<string name="revanced_miniplayer_hide_subtext_summary_on">서브텍스트가 숨겨집니다\n\n• 왼쪽 하단에서 표시되는 \'유료 광고 포함\'과 같은 라벨</string>
|
||||||
@@ -1289,20 +1289,12 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
|
|||||||
<string name="revanced_spoof_video_streams_summary_off">"스트리밍 데이터를 변경하지 않습니다
|
<string name="revanced_spoof_video_streams_summary_off">"스트리밍 데이터를 변경하지 않습니다
|
||||||
동영상 재생 문제가 발생할 수 있습니다"</string>
|
동영상 재생 문제가 발생할 수 있습니다"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">기본 클라이언트</string>
|
<string name="revanced_spoof_video_streams_client_type_title">기본 클라이언트</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) 강제로 활성화하기</string>
|
<string name="revanced_spoof_video_streams_about_title">변경에 따른 알려진 문제점</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">동영상 코덱을 AVC (H.264)로 강제 활성화합니다</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Kids 동영상이 재생되지 않을 수 있습니다
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">동영상 코덱을 자동으로 활성화합니다</string>
|
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"이 기능을 활성화하면 배터리 수명이 향상되고 재생 끊김 현상이 해결될 수 있습니다
|
|
||||||
|
|
||||||
AVC의 최대 화질 값은 1080p이며, OPUS 오디오 코덱을 사용할 수 없고, 동영상 재생 시 VP9 또는 AV1보다 더 많은 모바일 데이터가 사용되오니 주의하세요"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">\'iOS로 변경\'의 알려진 문제점</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• 비공개 Kids 동영상이 재생되지 않을 수 있습니다
|
|
||||||
• 동영상이 1초 일찍 종료될 수 있습니다"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">\'Android VR로 변경\'의 알려진 문제점</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Kids 동영상이 재생되지 않을 수 있습니다
|
|
||||||
• 오디오 트랙 메뉴가 표시되지 않습니다
|
• 오디오 트랙 메뉴가 표시되지 않습니다
|
||||||
• 안정적인 볼륨 메뉴가 비활성화된 채로 잠겨있습니다"</string>
|
• 안정적인 볼륨을 사용할 수 없습니다
|
||||||
|
• 원본 오디오 트랙을 강제로 활성화할 수 없습니다"</string>
|
||||||
<string name="revanced_spoof_video_streams_language_title">기본 오디오 트랙 언어</string>
|
<string name="revanced_spoof_video_streams_language_title">기본 오디오 트랙 언어</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">앱 언어</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">앱 언어</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">아랍어</string>
|
<string name="revanced_spoof_video_streams_language_AR">아랍어</string>
|
||||||
@@ -1369,7 +1361,7 @@ AVC의 최대 화질 값은 1080p이며, OPUS 오디오 코덱을 사용할 수
|
|||||||
<string name="revanced_embedded_ads_service_unavailable">%s 를 차단할 수 없기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
|
<string name="revanced_embedded_ads_service_unavailable">%s 를 차단할 수 없기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
|
||||||
<string name="revanced_embedded_ads_service_failed">%s 에서 오류가 발생했기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
|
<string name="revanced_embedded_ads_service_failed">%s 에서 오류가 발생했기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
|
||||||
<string name="revanced_block_embedded_ads_title">광고 차단 Proxy 서버 사용하기</string>
|
<string name="revanced_block_embedded_ads_title">광고 차단 Proxy 서버 사용하기</string>
|
||||||
<string name="revanced_block_embedded_ads_entry_1">사용하지 않기</string>
|
<string name="revanced_block_embedded_ads_entry_1">사용하지 않음</string>
|
||||||
<string name="revanced_block_embedded_ads_entry_2">Luminous Proxy</string>
|
<string name="revanced_block_embedded_ads_entry_2">Luminous Proxy</string>
|
||||||
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock Proxy</string>
|
<string name="revanced_block_embedded_ads_entry_3">PurpleAdBlock Proxy</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
|||||||
@@ -1288,20 +1288,12 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v
|
|||||||
|
|
||||||
Vaizdo įrašo atkūrimas gali neveikti"</string>
|
Vaizdo įrašo atkūrimas gali neveikti"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Išjungus šį nustatymą, gali kilti vaizdo įrašų atkūrimo problemų.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Išjungus šį nustatymą, gali kilti vaizdo įrašų atkūrimo problemų.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Numatytasis klientas</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Numatytasis klientas</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Priversti AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Apsimetimo šalutinis poveikis</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Vaizdo kodekas priverstinai nustatytas į AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Vaikų vaizdo įrašai gali būti nepaleidžiami
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Vaizdo kodekas nustatomas automatiškai</string>
|
• Nėra garso takelio meniu
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Įjungus šį nustatymą, gali pagerėti baterijos veikimo laikas ir būti ištaisytas vaizdo įrašo atkūrimo strigimas.
|
• Stabilus garsumas nepasiekiamas
|
||||||
|
• Priverstinis originalus garsas nepasiekiamas"</string>
|
||||||
AVC maksimalus rezoliucija yra 1080p, Opus garso kodekas nėra prieinamas, o vaizdo įrašo atkūrimas naudoja daugiau interneto duomenų nei VP9 arba AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS apgaulės šalutiniai poveikiai</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Privatūs vaikų vaizdo įrašai gali neveikti
|
|
||||||
• Vaizdo įrašai baigiasi 1 sekunde anksčiau"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR apgaulės šalutiniai poveikiai</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Vaikų vaizdo įrašai gali neveikti
|
|
||||||
• Tiesioginės transliacijos prasideda nuo pradžios
|
|
||||||
• Vaizdo įrašai baigiasi 1 sekundę anksčiau"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Numatytoji garso srauto kalba</string>
|
<string name="revanced_spoof_video_streams_language_title">Numatytoji garso srauto kalba</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Programėlės kalba</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Programėlės kalba</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arabų</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arabų</string>
|
||||||
|
|||||||
@@ -1285,20 +1285,12 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk
|
|||||||
|
|
||||||
Video atskaņošana var nedarboties"</string>
|
Video atskaņošana var nedarboties"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">Šī iestatījuma atspējošana var izraisīt video atskaņošanas problēmas.</string>
|
<string name="revanced_spoof_video_streams_user_dialog_message">Šī iestatījuma atspējošana var izraisīt video atskaņošanas problēmas.</string>
|
||||||
<string name="revanced_spoof_video_streams_client_title">Noklusētā klients</string>
|
<string name="revanced_spoof_video_streams_client_type_title">Noklusētā klients</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_title">Spiest AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_title">Maldināšanas blakusparādības</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodeks ir piespiests uz AVC (H.264)</string>
|
<string name="revanced_spoof_video_streams_about_summary">"• Bērnu videoklipi var netikt atskaņoti
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodeks tiek noteikts automātiski</string>
|
• Trūkst audio ierakstu izvēlnes
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"Šī iestatījuma ieslēgšana var uzlabot akumulatora darbības laiku un novērst video atskaņošanas stostīšanos.
|
• Stabils skaļums nav pieejams
|
||||||
|
• Force oriģinālais audio nav pieejams"</string>
|
||||||
AVC maksimālā izšķirtspēja ir 1080p, Opus audio kodeks nav pieejams, un video atskaņošana izmantos vairāk interneta datu nekā VP9 vai AV1."</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_title">iOS viltošanas blakusparādības</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_ios_summary">"• Privāti bērnu videoklipi, iespējams, netiek atskaņoti
|
|
||||||
• Video beidzas 1 sekundi agrāk"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR viltošanas blakusparādības</string>
|
|
||||||
<string name="revanced_spoof_video_streams_about_android_vr_summary">"• Bērnu videoklipi var nedarboties
|
|
||||||
• Tiešraides straumes sākas no sākuma
|
|
||||||
• Video beidzas 1 sekundi agrāk"</string>
|
|
||||||
<string name="revanced_spoof_video_streams_language_title">Noklusētā audio straumes valoda</string>
|
<string name="revanced_spoof_video_streams_language_title">Noklusētā audio straumes valoda</string>
|
||||||
<string name="revanced_spoof_video_streams_language_DEFAULT">Lietotnes valoda</string>
|
<string name="revanced_spoof_video_streams_language_DEFAULT">Lietotnes valoda</string>
|
||||||
<string name="revanced_spoof_video_streams_language_AR">Arābu</string>
|
<string name="revanced_spoof_video_streams_language_AR">Arābu</string>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user