Compare commits

..

18 Commits

Author SHA1 Message Date
semantic-release-bot
0652c56d0d chore: Release v5.39.1-dev.1 [skip ci]
## [5.39.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.39.0...v5.39.1-dev.1) (2025-09-17)

### Bug Fixes

* **YouTube - Force original audio:** Show UI setting summary if spoofing to Android Studio ([b7026b7](b7026b7086))
2025-09-17 16:18:22 +00:00
LisoUseInAIKyrios
b7026b7086 fix(YouTube - Force original audio): Show UI setting summary if spoofing to Android Studio 2025-09-17 20:13:44 +04:00
semantic-release-bot
fa4f422a15 chore: Release v5.39.0 [skip ci]
# [5.39.0](https://github.com/ReVanced/revanced-patches/compare/v5.38.0...v5.39.0) (2025-09-17)

### Bug Fixes

* **YouTube - Spoof video streams:** Do not use Android Creator for livestreams ([cbe576b](cbe576bc38))
* **YouTube - Spoof video streams:** Show Android Studio in spoof stream menu ([c9f741e](c9f741e616))
* **YouTube Music - Spoof video streams:** Remove iPadOS client ([7eeffd3](7eeffd3392))

### Features

* **YouTube - Hide video action buttons:** Add "Hide Shop button" setting ([a84db7b](a84db7be7f))
2025-09-17 09:15:36 +00:00
LisoUseInAIKyrios
38e0cbd724 chore: Merge branch dev to main (#5907) 2025-09-17 13:12:21 +04:00
semantic-release-bot
0bdebd927d chore: Release v5.39.0-dev.2 [skip ci]
# [5.39.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.39.0-dev.1...v5.39.0-dev.2) (2025-09-17)

### Bug Fixes

* **YouTube - Spoof video streams:** Show Android Studio in spoof stream menu ([c9f741e](c9f741e616))
2025-09-17 09:01:12 +00:00
github-actions[bot]
3eac25cf7f chore: Sync translations (#5914) 2025-09-17 12:56:47 +04:00
LisoUseInAIKyrios
c9f741e616 fix(YouTube - Spoof video streams): Show Android Studio in spoof stream menu 2025-09-17 12:54:52 +04:00
semantic-release-bot
cba44ccfc8 chore: Release v5.39.0-dev.1 [skip ci]
# [5.39.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.38.1-dev.2...v5.39.0-dev.1) (2025-09-17)

### Features

* **YouTube - Hide video action buttons:** Add "Hide Shop button" setting ([a84db7b](a84db7be7f))
2025-09-17 07:19:06 +00:00
LisoUseInAIKyrios
a84db7be7f feat(YouTube - Hide video action buttons): Add "Hide Shop button" setting 2025-09-17 11:14:24 +04:00
semantic-release-bot
2520129ace chore: Release v5.38.1-dev.2 [skip ci]
## [5.38.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.38.1-dev.1...v5.38.1-dev.2) (2025-09-16)

### Bug Fixes

* **YouTube Music - Spoof video streams:** Remove iPadOS client ([7eeffd3](7eeffd3392))
2025-09-16 21:49:36 +00:00
LisoUseInAIKyrios
7eeffd3392 fix(YouTube Music - Spoof video streams): Remove iPadOS client 2025-09-17 01:44:48 +04:00
LisoUseInAIKyrios
6c3391164e chore: Remove spoof stream data migration since iPadOS can cause 1 minute playback failure for users in some regions 2025-09-16 23:44:01 +04:00
semantic-release-bot
0b8b46c73e chore: Release v5.38.1-dev.1 [skip ci]
## [5.38.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.38.0...v5.38.1-dev.1) (2025-09-16)

### Bug Fixes

* **YouTube - Spoof video streams:** Do not use Android Creator for livestreams ([cbe576b](cbe576bc38))
2025-09-16 19:27:03 +00:00
LisoUseInAIKyrios
cbe576bc38 fix(YouTube - Spoof video streams): Do not use Android Creator for livestreams 2025-09-16 23:24:07 +04:00
github-actions[bot]
3a29f2a805 chore: Sync translations (#5909) 2025-09-16 23:21:01 +04:00
LisoUseInAIKyrios
50069c7e05 chore: Fix merge typo 2025-09-16 17:26:48 +04:00
semantic-release-bot
2e9c9dc244 chore: Release v5.38.0 [skip ci]
# [5.38.0](https://github.com/ReVanced/revanced-patches/compare/v5.37.0...v5.38.0) (2025-09-16)

### Bug Fixes

* **Instagram - Hide navigation buttons:** Support v397.1.0.52.81 ([#5855](https://github.com/ReVanced/revanced-patches/issues/5855)) ([f11d1ef](f11d1ef990))
* **Spoof video streams:** Remove Android TV and iOS TV clients, add experimental VisionOS, add temporary fix for `Force original audio` to work with any spoof client ([#5861](https://github.com/ReVanced/revanced-patches/issues/5861)) ([abe3943](abe3943f98))
* **YouTube - Spoof video streams:** Show settings summary if `Force original audio` is enabled ([3776dda](3776dda710))
* **YouTube Music - Spoof video streams:** Fix playback issues when using a cellular network ([fa04c8e](fa04c8eecf))
* **YouTube Music:** Use correct light/dark mode settings UI ([1475643](1475643f84))

### Features

* **Instagram:** Add `Hide explore feed` patch ([#5856](https://github.com/ReVanced/revanced-patches/issues/5856)) ([1d65887](1d65887e01))
* **YouTube - Spoof video streams:** Add iPadOS client ([2726231](2726231404))
* **YouTube Music:** Add `Settings` patch ([#5838](https://github.com/ReVanced/revanced-patches/issues/5838)) ([5e20bd8](5e20bd80f1))
2025-09-16 13:01:23 +00:00
LisoUseInAIKyrios
56166896d9 chore: Merge branch dev to main (#5857) 2025-09-16 16:57:55 +04:00
109 changed files with 601 additions and 266 deletions

View File

@@ -1,3 +1,70 @@
## [5.39.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.39.0...v5.39.1-dev.1) (2025-09-17)
### Bug Fixes
* **YouTube - Force original audio:** Show UI setting summary if spoofing to Android Studio ([b7026b7](https://github.com/ReVanced/revanced-patches/commit/b7026b70865bc44de07b30f84ba8b8b608930d5b))
# [5.39.0](https://github.com/ReVanced/revanced-patches/compare/v5.38.0...v5.39.0) (2025-09-17)
### Bug Fixes
* **YouTube - Spoof video streams:** Do not use Android Creator for livestreams ([cbe576b](https://github.com/ReVanced/revanced-patches/commit/cbe576bc384ef5f5ee2fa341147925ed0dff568b))
* **YouTube - Spoof video streams:** Show Android Studio in spoof stream menu ([c9f741e](https://github.com/ReVanced/revanced-patches/commit/c9f741e616c7acab0cd4558e02b0c4ec18392c10))
* **YouTube Music - Spoof video streams:** Remove iPadOS client ([7eeffd3](https://github.com/ReVanced/revanced-patches/commit/7eeffd3392c57555342173103d3a417c038d0970))
### Features
* **YouTube - Hide video action buttons:** Add "Hide Shop button" setting ([a84db7b](https://github.com/ReVanced/revanced-patches/commit/a84db7be7fde2e9bb3ac41aec709a1681e845fe1))
# [5.39.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.39.0-dev.1...v5.39.0-dev.2) (2025-09-17)
### Bug Fixes
* **YouTube - Spoof video streams:** Show Android Studio in spoof stream menu ([c9f741e](https://github.com/ReVanced/revanced-patches/commit/c9f741e616c7acab0cd4558e02b0c4ec18392c10))
# [5.39.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.38.1-dev.2...v5.39.0-dev.1) (2025-09-17)
### Features
* **YouTube - Hide video action buttons:** Add "Hide Shop button" setting ([a84db7b](https://github.com/ReVanced/revanced-patches/commit/a84db7be7fde2e9bb3ac41aec709a1681e845fe1))
## [5.38.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.38.1-dev.1...v5.38.1-dev.2) (2025-09-16)
### Bug Fixes
* **YouTube Music - Spoof video streams:** Remove iPadOS client ([7eeffd3](https://github.com/ReVanced/revanced-patches/commit/7eeffd3392c57555342173103d3a417c038d0970))
## [5.38.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.38.0...v5.38.1-dev.1) (2025-09-16)
### Bug Fixes
* **YouTube - Spoof video streams:** Do not use Android Creator for livestreams ([cbe576b](https://github.com/ReVanced/revanced-patches/commit/cbe576bc384ef5f5ee2fa341147925ed0dff568b))
# [5.38.0](https://github.com/ReVanced/revanced-patches/compare/v5.37.0...v5.38.0) (2025-09-16)
### Bug Fixes
* **Instagram - Hide navigation buttons:** Support v397.1.0.52.81 ([#5855](https://github.com/ReVanced/revanced-patches/issues/5855)) ([f11d1ef](https://github.com/ReVanced/revanced-patches/commit/f11d1ef9907082512f139d4ab0e2e9f707de7e48))
* **Spoof video streams:** Remove Android TV and iOS TV clients, add experimental VisionOS, add temporary fix for `Force original audio` to work with any spoof client ([#5861](https://github.com/ReVanced/revanced-patches/issues/5861)) ([abe3943](https://github.com/ReVanced/revanced-patches/commit/abe3943f98fd86dcd74c7e07cf65d3c7fc24fef9))
* **YouTube - Spoof video streams:** Show settings summary if `Force original audio` is enabled ([3776dda](https://github.com/ReVanced/revanced-patches/commit/3776dda710a7780717b7e6f2cdc1333ab67b92fc))
* **YouTube Music - Spoof video streams:** Fix playback issues when using a cellular network ([fa04c8e](https://github.com/ReVanced/revanced-patches/commit/fa04c8eecfbdd0b6ed082b464ca9032536d71762))
* **YouTube Music:** Use correct light/dark mode settings UI ([1475643](https://github.com/ReVanced/revanced-patches/commit/1475643f84e9ee4af2ba360a2274001ff1570dad))
### Features
* **Instagram:** Add `Hide explore feed` patch ([#5856](https://github.com/ReVanced/revanced-patches/issues/5856)) ([1d65887](https://github.com/ReVanced/revanced-patches/commit/1d65887e015a067196f5a84db486fff355c96596))
* **YouTube - Spoof video streams:** Add iPadOS client ([2726231](https://github.com/ReVanced/revanced-patches/commit/2726231404384d87f101d825e10a17c944e8f1bd))
* **YouTube Music:** Add `Settings` patch ([#5838](https://github.com/ReVanced/revanced-patches/issues/5838)) ([5e20bd8](https://github.com/ReVanced/revanced-patches/commit/5e20bd80f138d7ca94f18857194c46e489c435dc))
# [5.38.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.38.0-dev.4...v5.38.0-dev.5) (2025-09-16)

View File

@@ -1,5 +1,6 @@
package app.revanced.extension.music.patches.spoof;
import static app.revanced.extension.music.settings.Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_VR_1_43_32;
import static app.revanced.extension.shared.spoof.ClientType.ANDROID_VR_1_61_48;
import static app.revanced.extension.shared.spoof.ClientType.VISIONOS;
@@ -7,7 +8,6 @@ import static app.revanced.extension.shared.spoof.ClientType.VISIONOS;
import java.util.List;
import app.revanced.extension.shared.spoof.ClientType;
import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
@SuppressWarnings("unused")
public class SpoofVideoStreamsPatch {
@@ -22,6 +22,7 @@ public class SpoofVideoStreamsPatch {
VISIONOS
);
StreamingDataRequest.setClientOrderToUse(availableClients, ANDROID_VR_1_43_32);
app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setClientsToUse(
availableClients, SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get());
}
}

View File

@@ -3,8 +3,12 @@ package app.revanced.extension.music.settings;
import static java.lang.Boolean.FALSE;
import static java.lang.Boolean.TRUE;
import static app.revanced.extension.shared.settings.Setting.parent;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.BooleanSetting;
import app.revanced.extension.shared.settings.EnumSetting;
import app.revanced.extension.shared.spoof.ClientType;
public class Settings extends BaseSettings {
@@ -18,4 +22,8 @@ public class Settings extends BaseSettings {
// Player
public static final BooleanSetting PERMANENT_REPEAT = new BooleanSetting("revanced_music_play_permanent_repeat", FALSE, true);
// Miscellaneous
public static final EnumSetting<ClientType> SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type",
ClientType.ANDROID_VR_1_43_32, true, parent(SPOOF_VIDEO_STREAMS));
}

View File

@@ -1,6 +1,4 @@
package app.revanced.extension.youtube;
import androidx.annotation.NonNull;
package app.revanced.extension.shared;
import java.nio.charset.StandardCharsets;
@@ -39,7 +37,7 @@ public final class ByteTrieSearch extends TrieSearch<byte[]> {
return replacement;
}
public ByteTrieSearch(@NonNull byte[]... patterns) {
public ByteTrieSearch(byte[]... patterns) {
super(new ByteTrieNode(), patterns);
}
}

View File

@@ -1,6 +1,4 @@
package app.revanced.extension.youtube;
import androidx.annotation.NonNull;
package app.revanced.extension.shared;
/**
* Text pattern searching using a prefix tree (trie).
@@ -28,7 +26,7 @@ public final class StringTrieSearch extends TrieSearch<String> {
}
}
public StringTrieSearch(@NonNull String... patterns) {
public StringTrieSearch(String... patterns) {
super(new StringTrieNode(), patterns);
}
}

View File

@@ -1,6 +1,5 @@
package app.revanced.extension.youtube;
package app.revanced.extension.shared;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.ArrayList;
@@ -57,11 +56,13 @@ public abstract class TrieSearch<T> {
if (searchTextLength - searchTextIndex < patternLength - patternStartIndex) {
return false; // Remaining search text is shorter than the remaining leaf pattern and they cannot match.
}
for (int i = searchTextIndex, j = patternStartIndex; j < patternLength; i++, j++) {
if (enclosingNode.getCharValue(searchText, i) != enclosingNode.getCharValue(pattern, j)) {
return false;
}
}
return callback == null || callback.patternMatched(searchText,
searchTextIndex - patternStartIndex, patternLength, callbackParameter);
}
@@ -136,7 +137,7 @@ public abstract class TrieSearch<T> {
* @param patternLength Length of the pattern.
* @param callback Callback, where a value of NULL indicates to always accept a pattern match.
*/
private void addPattern(@NonNull T pattern, int patternIndex, int patternLength,
private void addPattern(T pattern, int patternIndex, int patternLength,
@Nullable TriePatternMatchedCallback<T> callback) {
if (patternIndex == patternLength) { // Reached the end of the pattern.
if (endOfPatternCallback == null) {
@@ -145,6 +146,7 @@ public abstract class TrieSearch<T> {
endOfPatternCallback.add(callback);
return;
}
if (leaf != null) {
// Reached end of the graph and a leaf exist.
// Recursively call back into this method and push the existing leaf down 1 level.
@@ -159,6 +161,7 @@ public abstract class TrieSearch<T> {
leaf = new TrieCompressedPath<>(pattern, patternIndex, patternLength, callback);
return;
}
final char character = getCharValue(pattern, patternIndex);
final int arrayIndex = hashIndexForTableSize(children.length, character);
TrieNode<T> child = children[arrayIndex];
@@ -183,6 +186,7 @@ public abstract class TrieSearch<T> {
//noinspection unchecked
TrieNode<T>[] replacement = new TrieNode[replacementArraySize];
addNodeToArray(replacement, child);
boolean collision = false;
for (TrieNode<T> existingChild : children) {
if (existingChild != null) {
@@ -195,6 +199,7 @@ public abstract class TrieSearch<T> {
if (collision) {
continue;
}
children = replacement;
return;
}
@@ -234,6 +239,7 @@ public abstract class TrieSearch<T> {
if (leaf != null && leaf.matches(startNode, searchText, searchTextEndIndex, searchTextIndex, callbackParameter)) {
return true; // Leaf exists and it matched the search text.
}
List<TriePatternMatchedCallback<T>> endOfPatternCallback = node.endOfPatternCallback;
if (endOfPatternCallback != null) {
final int matchStartIndex = searchTextIndex - currentMatchLength;
@@ -246,6 +252,7 @@ public abstract class TrieSearch<T> {
}
}
}
TrieNode<T>[] children = node.children;
if (children == null) {
return false; // Reached a graph end point and there's no further patterns to search.
@@ -278,9 +285,11 @@ public abstract class TrieSearch<T> {
if (leaf != null) {
numberOfPointers += 4; // Number of fields in leaf node.
}
if (endOfPatternCallback != null) {
numberOfPointers += endOfPatternCallback.size();
}
if (children != null) {
numberOfPointers += children.length;
for (TrieNode<T> child : children) {
@@ -308,13 +317,13 @@ public abstract class TrieSearch<T> {
private final List<T> patterns = new ArrayList<>();
@SafeVarargs
TrieSearch(@NonNull TrieNode<T> root, @NonNull T... patterns) {
TrieSearch(TrieNode<T> root, T... patterns) {
this.root = Objects.requireNonNull(root);
addPatterns(patterns);
}
@SafeVarargs
public final void addPatterns(@NonNull T... patterns) {
public final void addPatterns(T... patterns) {
for (T pattern : patterns) {
addPattern(pattern);
}
@@ -325,7 +334,7 @@ public abstract class TrieSearch<T> {
*
* @param pattern Pattern to add. Calling this with a zero length pattern does nothing.
*/
public void addPattern(@NonNull T pattern) {
public void addPattern(T pattern) {
addPattern(pattern, root.getTextLength(pattern), null);
}
@@ -333,31 +342,31 @@ public abstract class TrieSearch<T> {
* @param pattern Pattern to add. Calling this with a zero length pattern does nothing.
* @param callback Callback to determine if searching should halt when a match is found.
*/
public void addPattern(@NonNull T pattern, @NonNull TriePatternMatchedCallback<T> callback) {
public void addPattern(T pattern, TriePatternMatchedCallback<T> callback) {
addPattern(pattern, root.getTextLength(pattern), Objects.requireNonNull(callback));
}
void addPattern(@NonNull T pattern, int patternLength, @Nullable TriePatternMatchedCallback<T> callback) {
void addPattern(T pattern, int patternLength, @Nullable TriePatternMatchedCallback<T> callback) {
if (patternLength == 0) return; // Nothing to match
patterns.add(pattern);
root.addPattern(pattern, 0, patternLength, callback);
}
public final boolean matches(@NonNull T textToSearch) {
public final boolean matches(T textToSearch) {
return matches(textToSearch, 0);
}
public boolean matches(@NonNull T textToSearch, @NonNull Object callbackParameter) {
public boolean matches(T textToSearch, Object callbackParameter) {
return matches(textToSearch, 0, root.getTextLength(textToSearch),
Objects.requireNonNull(callbackParameter));
}
public boolean matches(@NonNull T textToSearch, int startIndex) {
public boolean matches(T textToSearch, int startIndex) {
return matches(textToSearch, startIndex, root.getTextLength(textToSearch));
}
public final boolean matches(@NonNull T textToSearch, int startIndex, int endIndex) {
public final boolean matches(T textToSearch, int startIndex, int endIndex) {
return matches(textToSearch, startIndex, endIndex, null);
}
@@ -370,11 +379,11 @@ public abstract class TrieSearch<T> {
* @param callbackParameter Optional parameter passed to the callbacks.
* @return If any pattern matched, and it's callback halted searching.
*/
public boolean matches(@NonNull T textToSearch, int startIndex, int endIndex, @Nullable Object callbackParameter) {
public boolean matches(T textToSearch, int startIndex, int endIndex, @Nullable Object callbackParameter) {
return matches(textToSearch, root.getTextLength(textToSearch), startIndex, endIndex, callbackParameter);
}
private boolean matches(@NonNull T textToSearch, int textToSearchLength, int startIndex, int endIndex,
private boolean matches(T textToSearch, int textToSearchLength, int startIndex, int endIndex,
@Nullable Object callbackParameter) {
if (endIndex > textToSearchLength) {
throw new IllegalArgumentException("endIndex: " + endIndex

View File

@@ -5,9 +5,6 @@ import static java.lang.Boolean.TRUE;
import static app.revanced.extension.shared.settings.Setting.parent;
import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.AudioStreamLanguageOverrideAvailability;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.spoof.ClientType;
/**
* Settings shared across multiple apps.
* <p>
@@ -31,13 +28,4 @@ public class BaseSettings {
public static final BooleanSetting SPOOF_VIDEO_STREAMS = new BooleanSetting("revanced_spoof_video_streams", TRUE, true, "revanced_spoof_video_streams_user_dialog_message");
public static final EnumSetting<AppLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AppLanguage.DEFAULT, new AudioStreamLanguageOverrideAvailability());
public static final BooleanSetting SPOOF_STREAMING_DATA_STATS_FOR_NERDS = new BooleanSetting("revanced_spoof_streaming_data_stats_for_nerds", TRUE, parent(SPOOF_VIDEO_STREAMS));
// Client type must be last spoof setting due to cyclic references.
public static final EnumSetting<ClientType> SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_61_48, true, parent(SPOOF_VIDEO_STREAMS));
static {
if (SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.IOS_UNPLUGGED) {
Logger.printInfo(() -> "Migrating from iOS Unplugged to iPadOS");
SPOOF_VIDEO_STREAMS_CLIENT_TYPE.save(ClientType.IPADOS);
}
}
}

View File

@@ -31,7 +31,6 @@ public enum ClientType {
"132.0.6808.3",
"1.61.48",
false,
false,
"Android VR 1.61"
),
/**
@@ -50,7 +49,6 @@ public enum ClientType {
Objects.requireNonNull(ANDROID_VR_1_61_48.buildId),
"107.0.5284.2",
"1.43.32",
ANDROID_VR_1_61_48.requiresAuth,
ANDROID_VR_1_61_48.useAuth,
"Android VR 1.43"
),
@@ -71,8 +69,7 @@ public enum ClientType {
"132.0.6779.0",
"23.47.101",
true,
true,
"Android Creator"
"Android Studio"
),
/**
* Internal YT client for an unreleased YT client. May stop working at any time.
@@ -86,7 +83,6 @@ public enum ClientType {
"0.1",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15",
false,
false,
"visionOS"
),
/**
@@ -111,25 +107,7 @@ public enum ClientType {
"19.22.3",
"com.google.ios.youtube/19.22.3 (iPad7,6; U; CPU iPadOS 17_7_10 like Mac OS X; " + Locale.getDefault() + ")",
false,
false,
"iPadOS"
),
/**
* Obsolete and broken client. Here only to migrate data.
*/
@Deprecated
IOS_UNPLUGGED(
33,
"IOS_UNPLUGGED",
"Apple",
"iPhone16,2",
"iOS",
"18.2.22C152",
"8.49",
"dummy user-agent",
true,
true,
"iOS TV"
);
/**
@@ -197,12 +175,6 @@ public enum ClientType {
*/
public final String clientVersion;
/**
* If this client requires authentication and does not work
* if logged out or in incognito mode.
*/
public final boolean requiresAuth;
/**
* If the client should use authentication if available.
*/
@@ -227,7 +199,6 @@ public enum ClientType {
@NonNull String buildId,
@NonNull String cronetVersion,
String clientVersion,
boolean requiresAuth,
boolean useAuth,
String friendlyName) {
this.id = id;
@@ -241,7 +212,6 @@ public enum ClientType {
this.buildId = buildId;
this.cronetVersion = cronetVersion;
this.clientVersion = clientVersion;
this.requiresAuth = requiresAuth;
this.useAuth = useAuth;
this.friendlyName = friendlyName;
@@ -267,7 +237,6 @@ public enum ClientType {
String osVersion,
String clientVersion,
String userAgent,
boolean requiresAuth,
boolean useAuth,
String friendlyName) {
this.id = id;
@@ -278,7 +247,6 @@ public enum ClientType {
this.osVersion = osVersion;
this.clientVersion = clientVersion;
this.userAgent = userAgent;
this.requiresAuth = requiresAuth;
this.useAuth = useAuth;
this.friendlyName = friendlyName;
this.packageName = null;

View File

@@ -6,7 +6,9 @@ import android.text.TextUtils;
import androidx.annotation.Nullable;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
@@ -17,14 +19,6 @@ import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
@SuppressWarnings("unused")
public class SpoofVideoStreamsPatch {
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.VISIONOS;
@Nullable
private static volatile AppLanguage languageOverride;
/**
* Domain used for internet connectivity verification.
* It has an empty response body and is only used to check for a 204 response code.
@@ -40,15 +34,23 @@ public class SpoofVideoStreamsPatch {
private static final String INTERNET_CONNECTION_CHECK_URI_STRING = "https://www.google.com/gen_204";
private static final Uri INTERNET_CONNECTION_CHECK_URI = Uri.parse(INTERNET_CONNECTION_CHECK_URI_STRING);
private static final boolean SPOOF_STREAMING_DATA = BaseSettings.SPOOF_VIDEO_STREAMS.get();
@Nullable
private static volatile AppLanguage languageOverride;
private static volatile ClientType preferredClient = ClientType.ANDROID_VR_1_61_48;
/**
* @return If this patch was included during patching.
*/
private static boolean isPatchIncluded() {
public static boolean isPatchIncluded() {
return false; // Modified during patching.
}
public static boolean spoofingToClientWithNoMultiAudioStreams() {
return isPatchIncluded() && BaseSettings.SPOOF_VIDEO_STREAMS.get();
@Nullable
public static AppLanguage getLanguageOverride() {
return languageOverride;
}
/**
@@ -59,9 +61,15 @@ public class SpoofVideoStreamsPatch {
languageOverride = language;
}
@Nullable
public static AppLanguage getLanguageOverride() {
return languageOverride;
public static void setClientsToUse(List<ClientType> availableClients, ClientType client) {
preferredClient = Objects.requireNonNull(client);
StreamingDataRequest.setClientOrderToUse(availableClients, client);
}
public static boolean spoofingToClientWithNoMultiAudioStreams() {
return isPatchIncluded()
&& SPOOF_STREAMING_DATA
&& preferredClient != ClientType.IPADOS;
}
/**
@@ -276,8 +284,7 @@ public class SpoofVideoStreamsPatch {
public static final class AudioStreamLanguageOverrideAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
// Since all current clients are un-authenticated, this works for all spoof clients.
return BaseSettings.SPOOF_VIDEO_STREAMS.get();
return BaseSettings.SPOOF_VIDEO_STREAMS.get() && !preferredClient.useAuth;
}
}
}

View File

@@ -42,10 +42,10 @@ final class PlayerRoutes {
JSONObject context = new JSONObject();
AppLanguage language = SpoofVideoStreamsPatch.getLanguageOverride();
if (language == null || BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ANDROID_VR_1_43_32) {
if (language == null || clientType == ANDROID_VR_1_43_32) {
// Force original audio has not overrode the language.
// Or if YT has fallen over to the very last client (VR 1.43), then always
// use the app language because forcing an audio stream of specific languages
// Or if YT has fallen over to the last unauthenticated client (VR 1.43), then
// always use the app language because forcing an audio stream of specific languages
// can sometimes fail so it's better to try and load something rather than nothing.
language = BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get();
}

View File

@@ -1,5 +1,6 @@
package app.revanced.extension.shared.spoof.requests;
import static app.revanced.extension.shared.ByteTrieSearch.convertStringsToBytes;
import static app.revanced.extension.shared.spoof.requests.PlayerRoutes.GET_STREAMING_DATA;
import androidx.annotation.NonNull;
@@ -13,12 +14,18 @@ import java.net.HttpURLConnection;
import java.net.SocketTimeoutException;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import app.revanced.extension.shared.ByteTrieSearch;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseSettings;
@@ -93,6 +100,16 @@ public class StreamingDataRequest {
}
});
/**
* Strings found in the response if the video is a livestream.
*/
private static final ByteTrieSearch liveStreamBufferSearch = new ByteTrieSearch(
convertStringsToBytes(
"yt_live_broadcast",
"yt_premiere_broadcast"
)
);
private static volatile ClientType lastSpoofedClientType;
public static String getLastSpoofedClientName() {
@@ -160,7 +177,7 @@ public class StreamingDataRequest {
}
}
if (!authHeadersIncludes && clientType.requiresAuth) {
if (!authHeadersIncludes && clientType.useAuth) {
Logger.printDebug(() -> "Skipping client since user is not logged in: " + clientType
+ " videoId: " + videoId);
return null;
@@ -221,9 +238,13 @@ public class StreamingDataRequest {
while ((bytesRead = inputStream.read(buffer)) >= 0) {
baos.write(buffer, 0, bytesRead);
}
lastSpoofedClientType = clientType;
if (clientType == ClientType.ANDROID_CREATOR && liveStreamBufferSearch.matches(buffer)) {
Logger.printDebug(() -> "Skipping Android Studio as video is a livestream: " + videoId);
} else {
lastSpoofedClientType = clientType;
return ByteBuffer.wrap(baos.toByteArray());
return ByteBuffer.wrap(baos.toByteArray());
}
}
}
} catch (IOException ex) {

View File

@@ -10,7 +10,7 @@ import java.util.List;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.StringTrieSearch;
import app.revanced.extension.shared.StringTrieSearch;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")

View File

@@ -74,6 +74,10 @@ final class ButtonsFilter extends Filter {
Settings.HIDE_ASK_BUTTON,
"yt_fill_spark"
),
new ByteArrayFilterGroup(
Settings.HIDE_SHOP_BUTTON,
"yt_outline_bag"
),
new ByteArrayFilterGroup(
Settings.HIDE_STOP_ADS_BUTTON,
"yt_outline_slash_circle_left"

View File

@@ -14,7 +14,7 @@ import java.util.regex.Pattern;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.ByteTrieSearch;
import app.revanced.extension.shared.ByteTrieSearch;
import app.revanced.extension.youtube.settings.Settings;
/**

View File

@@ -1,6 +1,6 @@
package app.revanced.extension.youtube.patches.components;
import app.revanced.extension.youtube.StringTrieSearch;
import app.revanced.extension.shared.StringTrieSearch;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.shared.PlayerType;

View File

@@ -4,7 +4,7 @@ import androidx.annotation.NonNull;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.BooleanSetting;
import app.revanced.extension.youtube.ByteTrieSearch;
import app.revanced.extension.shared.ByteTrieSearch;
abstract class FilterGroup<T> {
final static class FilterGroupResult {

View File

@@ -5,9 +5,9 @@ import androidx.annotation.NonNull;
import java.util.*;
import java.util.function.Consumer;
import app.revanced.extension.youtube.ByteTrieSearch;
import app.revanced.extension.youtube.StringTrieSearch;
import app.revanced.extension.youtube.TrieSearch;
import app.revanced.extension.shared.ByteTrieSearch;
import app.revanced.extension.shared.StringTrieSearch;
import app.revanced.extension.shared.TrieSearch;
abstract class FilterGroupList<V, T extends FilterGroup<V>> implements Iterable<T> {

View File

@@ -14,9 +14,9 @@ import java.util.concurrent.atomic.AtomicReference;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.ByteTrieSearch;
import app.revanced.extension.youtube.StringTrieSearch;
import app.revanced.extension.youtube.TrieSearch;
import app.revanced.extension.shared.ByteTrieSearch;
import app.revanced.extension.shared.StringTrieSearch;
import app.revanced.extension.shared.TrieSearch;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.shared.NavigationBar;
import app.revanced.extension.youtube.shared.PlayerType;

View File

@@ -10,7 +10,7 @@ import androidx.annotation.Nullable;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.youtube.StringTrieSearch;
import app.revanced.extension.shared.StringTrieSearch;
import app.revanced.extension.youtube.patches.ChangeHeaderPatch;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.shared.NavigationBar;

View File

@@ -8,7 +8,7 @@ import java.util.List;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.youtube.StringTrieSearch;
import app.revanced.extension.shared.StringTrieSearch;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")

View File

@@ -12,7 +12,7 @@ import app.revanced.extension.youtube.patches.ReturnYouTubeDislikePatch;
import app.revanced.extension.youtube.patches.VideoInformation;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.youtube.TrieSearch;
import app.revanced.extension.shared.TrieSearch;
/**
* Searches for video id's in the proto buffer of Shorts dislike.

View File

@@ -8,9 +8,8 @@ import static app.revanced.extension.shared.spoof.ClientType.VISIONOS;
import java.util.List;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.spoof.ClientType;
import app.revanced.extension.shared.spoof.requests.StreamingDataRequest;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
public class SpoofVideoStreamsPatch {
@@ -22,14 +21,12 @@ public class SpoofVideoStreamsPatch {
List<ClientType> availableClients = List.of(
ANDROID_VR_1_61_48,
VISIONOS,
IPADOS,
// Creator must be next to last, because livestreams fetch successfully but don't playback.
ANDROID_CREATOR,
// VR 1.43 must be last as spoof streaming data handles it slightly differently.
ANDROID_VR_1_43_32
ANDROID_VR_1_43_32,
IPADOS
);
StreamingDataRequest.setClientOrderToUse(availableClients,
BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get());
app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setClientsToUse(
availableClients, Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get());
}
}

View File

@@ -41,6 +41,7 @@ import app.revanced.extension.shared.settings.LongSetting;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.settings.StringSetting;
import app.revanced.extension.shared.settings.preference.SharedPrefCategory;
import app.revanced.extension.shared.spoof.ClientType;
import app.revanced.extension.youtube.patches.AlternativeThumbnailsPatch.DeArrowAvailability;
import app.revanced.extension.youtube.patches.AlternativeThumbnailsPatch.StillImagesAvailability;
import app.revanced.extension.youtube.patches.AlternativeThumbnailsPatch.ThumbnailOption;
@@ -229,6 +230,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_REPORT_BUTTON = new BooleanSetting("revanced_hide_report_button", FALSE);
public static final BooleanSetting HIDE_SAVE_BUTTON = new BooleanSetting("revanced_hide_save_button", FALSE);
public static final BooleanSetting HIDE_SHARE_BUTTON = new BooleanSetting("revanced_hide_share_button", FALSE);
public static final BooleanSetting HIDE_SHOP_BUTTON = new BooleanSetting("revanced_hide_shop_button", FALSE);
public static final BooleanSetting HIDE_STOP_ADS_BUTTON = new BooleanSetting("revanced_hide_stop_ads_button", TRUE);
public static final BooleanSetting HIDE_THANKS_BUTTON = new BooleanSetting("revanced_hide_thanks_button", TRUE);
@@ -356,6 +358,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting REMOVE_TRACKING_QUERY_PARAMETER = new BooleanSetting("revanced_remove_tracking_query_parameter", TRUE);
public static final BooleanSetting SPOOF_DEVICE_DIMENSIONS = new BooleanSetting("revanced_spoof_device_dimensions", FALSE, true,
"revanced_spoof_device_dimensions_user_dialog_message");
public static final EnumSetting<ClientType> SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_61_48, true, parent(SPOOF_VIDEO_STREAMS));
public static final BooleanSetting DEBUG_PROTOBUFFER = new BooleanSetting("revanced_debug_protobuffer", FALSE, false,
"revanced_debug_protobuffer_user_dialog_message", parent(BaseSettings.DEBUG));

View File

@@ -0,0 +1,63 @@
package app.revanced.extension.youtube.settings.preference;
import static app.revanced.extension.shared.StringRef.str;
import android.content.Context;
import android.preference.SwitchPreference;
import android.util.AttributeSet;
import app.revanced.extension.shared.spoof.ClientType;
import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings({"deprecation", "unused"})
public class ForceOriginalAudioSwitchPreference extends SwitchPreference {
// Spoof stream patch is not included, or is not currently spoofing to Android Studio.
private static final boolean available = !SpoofVideoStreamsPatch.isPatchIncluded()
|| !(Settings.SPOOF_VIDEO_STREAMS.get()
&& Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_CREATOR);
{
if (!available) {
// Show why force audio is not available.
String summary = str("revanced_force_original_audio_not_available");
super.setSummary(summary);
super.setSummaryOn(summary);
super.setSummaryOff(summary);
super.setEnabled(false);
}
}
public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public ForceOriginalAudioSwitchPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ForceOriginalAudioSwitchPreference(Context context) {
super(context);
}
@Override
public void setEnabled(boolean enabled) {
if (!available) {
return;
}
super.setEnabled(enabled);
}
@Override
public void setSummary(CharSequence summary) {
if (!available) {
return;
}
super.setSummary(summary);
}
}

View File

@@ -15,6 +15,7 @@ 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;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings({"deprecation", "unused"})
public class SpoofStreamingDataSideEffectsPreference extends Preference {
@@ -69,7 +70,7 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference {
}
private void updateUI() {
ClientType clientType = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
ClientType clientType = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
if (currentClientType == clientType) {
return;
}
@@ -82,19 +83,19 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference {
String summary = str(clientType == ClientType.IPADOS
? "revanced_spoof_video_streams_about_ipados_summary"
// visionOS has same base side effects as Android VR.
// Same base side effects for Android VR, Android Studio, and visionOS.
: "revanced_spoof_video_streams_about_android_summary");
if (clientType == ClientType.IPADOS) {
summary = str("revanced_spoof_video_streams_about_no_av1")
+ '\n' + summary;
summary += '\n' + str("revanced_spoof_video_streams_about_no_av1");
} else if (clientType == ClientType.VISIONOS) {
summary = str("revanced_spoof_video_streams_about_experimental")
+ '\n' + summary
+ '\n' + str("revanced_spoof_video_streams_about_no_av1")
+ '\n' + str("revanced_spoof_video_streams_about_kids_videos");
} else {
summary += '\n' + str("revanced_spoof_video_streams_about_kids_videos");
} else if (clientType == ClientType.ANDROID_CREATOR) {
summary += '\n' + str("revanced_spoof_video_streams_about_no_av1")
+ '\n' + str("revanced_spoof_video_streams_about_kids_videos");
}
setSummary(summary);

View File

@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
version = 5.38.0-dev.5
version = 5.39.1-dev.1

View File

@@ -38,7 +38,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch(
)
},
executeBlock = {
addResources("shared", "misc.spoof.spoofVideoStreamsPatch")
addResources("music", "misc.fix.playback.spoofVideoStreamsPatch")
PreferenceScreen.MISC.addPreferences(
PreferenceScreenPreference(

View File

@@ -150,7 +150,6 @@ internal val nerdsStatsVideoFormatBuilderFingerprint = fingerprint {
}
internal val patchIncludedExtensionMethodFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
returns("Z")
parameters()
custom { method, classDef ->

View File

@@ -49,6 +49,7 @@ val hideButtonsPatch = resourcePatch(
SwitchPreference("revanced_hide_report_button"),
SwitchPreference("revanced_hide_save_button"),
SwitchPreference("revanced_hide_share_button"),
SwitchPreference("revanced_hide_shop_button"),
SwitchPreference("revanced_hide_stop_ads_button"),
SwitchPreference("revanced_hide_thanks_button"),
)

View File

@@ -57,7 +57,10 @@ val forceOriginalAudioPatch = bytecodePatch(
addResources("youtube", "video.audio.forceOriginalAudioPatch")
PreferenceScreen.VIDEO.addPreferences(
SwitchPreference("revanced_force_original_audio")
SwitchPreference(
key = "revanced_force_original_audio",
tag = "app.revanced.extension.youtube.settings.preference.ForceOriginalAudioSwitchPreference"
)
)
mainActivityOnCreateFingerprint.method.addInstruction(

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -621,6 +621,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">إخفاء المقطع</string>
<string name="revanced_hide_clip_button_summary_on">تم إخفاء زر إنشاء مقطع</string>
<string name="revanced_hide_clip_button_summary_off">يتم عرض زر إنشاء مقطع</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">إخفاء المتجر</string>
<string name="revanced_hide_shop_button_summary_on">زر المتجر مخفي</string>
<string name="revanced_hide_shop_button_summary_off">زر المتجر معروض</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">إخفاء حفظ</string>
<string name="revanced_hide_save_button_summary_on">زر الحفظ مخفي</string>
@@ -1472,8 +1476,7 @@ Second \"item\" text"</string>
<string name="revanced_force_original_audio_title">فرض لغة الصوت الأصلية</string>
<string name="revanced_force_original_audio_summary_on">استخدام لغة الصوت الأصلية</string>
<string name="revanced_force_original_audio_summary_off">استخدام الصوت الافتراضي</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">لاستخدام هذه الميزة، غيّر \'Spoof Video Streams\' إلى iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -89,10 +89,16 @@ Davam et düyməsinə toxun və optimallaşdırma dəyişikliklərin qəbul et."
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_screen_title">Video yayımları saxtalaşdır</string>
<string name="revanced_spoof_video_streams_screen_summary">Oynatma problemlərin önləmək üçün qəbuledici video yayımların saxtalaşdır</string>
<string name="revanced_spoof_video_streams_screen_title">Video yayımların saxtalaşdır</string>
<string name="revanced_spoof_video_streams_screen_summary">Oynatma problemlərin önləmək üçün qəbuledici video yayımların saxtalaşdır</string>
<string name="revanced_spoof_video_streams_title">Video yayımları saxtalaşdır</string>
<string name="revanced_spoof_video_streams_summary_on">"Video yayımları saxtalaşdırılıb
Əgər YouTube Premium istifadəçisisinizsə, bu tənzimlənmə tələb olunmaya bilər"</string>
<string name="revanced_spoof_video_streams_summary_off">"Video yayımları saxtalaşmayıb
Oynatma işləməyə bilər"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Bu tənzimləməni qapatmaq oynatma problemlərinə səbəb ola bilər.</string>
<string name="revanced_spoof_video_streams_client_type_title">İlkin qəbuledici</string>
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
@@ -615,6 +621,7 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
<string name="revanced_hide_clip_button_title">Kəsmə/ gizlət</string>
<string name="revanced_hide_clip_button_summary_on">Kəsmə düyməsi gizlidir</string>
<string name="revanced_hide_clip_button_summary_off">Kəsmə düyməsi göstərilir</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Saxlayın-ı Gizlət</string>
<string name="revanced_hide_save_button_summary_on">Saxlayın düyməsi gizlidir</string>
@@ -713,6 +720,9 @@ Bu seçimi dəyişdirmə işə düşmürsə, Gizli rejimə keçməyə çalışı
<string name="revanced_hide_player_flyout_audio_track_summary_on">Səs axını menyusu gizlidir</string>
<string name="revanced_hide_player_flyout_audio_track_summary_off">Səs axını menyusu göstərilir</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"Səs trek menyusu gizlidir
Səs treki menyusunu göstərmək üçün \"Video yayımları saxtalaşdır\"ı iPadOS-a dəyiş"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">\"VR-da İzləni\" gizlət</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">VR menyusunda izləmə gizlidir</string>
@@ -1462,8 +1472,7 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
<string name="revanced_force_original_audio_title">Orijinal səs dilini zorla</string>
<string name="revanced_force_original_audio_summary_on">Orijinal səs dilini istifadə</string>
<string name="revanced_force_original_audio_summary_off">İlkin səs istifadəsi</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Bu xüsusiyyəti istifadə etmək üçün \"Saxta video yayımların\" iOS TV-yə dəyiş</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1541,6 +1550,7 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
<string name="revanced_spoof_video_streams_about_android_title">Android saxtalaşdırma yan təsirləri</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Səs treki menyusu əlçatmazdır
• Sabit səs səviyyəsi yoxdur"</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• Video 01:00-da dayana bilər və ya bəzi bölgələrdə mövcud olmaya bilər</string>
<string name="revanced_spoof_video_streams_about_experimental">• Təcrübi qəbuledici və hər vaxt işləməyi dayandıra bilər</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 video kodlayıcı yoxdur</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz</string>
@@ -1549,6 +1559,7 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Qəbuledici nerd üçün Statistikada gizlidir</string>
<string name="revanced_spoof_video_streams_language_title">Səs yayım dili</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">Xüsusi səs dilini seçmək üçün \"Orijinal səs dilini zorlanı\" qapat</string>
</patch>
</app>
<app id="music">
@@ -1556,18 +1567,31 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
<string name="revanced_settings_music_screen_0_about_title">Haqqında</string>
<string name="revanced_settings_music_screen_1_ads_title">Reklamlar</string>
<string name="revanced_settings_music_screen_2_general_title">Ümumi</string>
<string name="revanced_settings_music_screen_3_player_title">Oyunçu</string>
<string name="revanced_settings_music_screen_3_player_title">Oynadıcı</string>
<string name="revanced_settings_music_screen_4_misc_title">Çoxvariantlı</string>
</patch>
<patch id="ad.video.hideVideoAdsPatch">
<string name="revanced_music_hide_video_ads_title">Video reklamlarını gizlət</string>
<string name="revanced_music_hide_video_ads_summary_on">Video reklamları gizlidir</string>
<string name="revanced_music_hide_video_ads_summary_off">Video reklamları görünür</string>
</patch>
<patch id="interaction.permanentrepeat.permanentRepeatPatch">
<string name="revanced_music_play_permanent_repeat_title">Kəsintisiz təkrarlamanı aktivləşdir</string>
<string name="revanced_music_play_permanent_repeat_summary_on">Kəsintisiz təkrarlama aktivdir</string>
<string name="revanced_music_play_permanent_repeat_summary_off">Kəsintisiz təkrarlama qapalıdır</string>
</patch>
<patch id="layout.compactheader.hideCategoryBar">
<string name="revanced_music_hide_category_bar_title">Kateqoriya cizgisin gizlət</string>
<string name="revanced_music_hide_category_bar_summary_on">Kateqoriya cizgisi gizlidir</string>
<string name="revanced_music_hide_category_bar_summary_off">Kateqoriya cizgisi görünür</string>
</patch>
<patch id="layout.premium.hideGetPremiumPatch">
<string name="revanced_music_hide_get_premium_label_title"> \'Musiqi Premiumu Əldə et\' etiketini gizlət</string>
<string name="revanced_music_hide_get_premium_label_summary_on">Etiket gizlidir</string>
<string name="revanced_music_hide_get_premium_label_summary_off">Etiket görünür</string>
</patch>
<patch id="layout.upgradebutton.hideUpgradeButtonPatch">
<string name="revanced_music_hide_upgrade_button_title">Təkmilləşdirmə düyməsini gizlət</string>
<string name="revanced_music_hide_upgrade_button_summary_on">Düymə gizlidir</string>
<string name="revanced_music_hide_upgrade_button_summary_off">Düymə görünür</string>
</patch>

View File

@@ -621,6 +621,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">Схаваць кліп</string>
<string name="revanced_hide_clip_button_summary_on">Кнопка кліпа схавана</string>
<string name="revanced_hide_clip_button_summary_off">Паказана кнопка кліпа</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Схаваць Краму</string>
<string name="revanced_hide_shop_button_summary_on">Кнопка \"Крама\" схавана</string>
<string name="revanced_hide_shop_button_summary_off">Кнопка \"Крама\" паказана</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Схаваць \"Захаваць\"</string>
<string name="revanced_hide_save_button_summary_on">Кнопка \"Захаваць\" схавана</string>
@@ -1473,8 +1477,7 @@ Second \"item\" text"</string>
<string name="revanced_force_original_audio_title">Вымушаная арыгінальная мова аўдыё</string>
<string name="revanced_force_original_audio_summary_on">Выкарыстоўваць арыгінальную мову аўдыя</string>
<string name="revanced_force_original_audio_summary_off">Выкарыстанне аўдыё па змаўчанні</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Каб выкарыстоўваць гэту функцыю, змяніце параметр \"Падрабляць відэаструмені\" на iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">Бутон за създаване на клип</string>
<string name="revanced_hide_clip_button_summary_on">Бутона за клип е скрит</string>
<string name="revanced_hide_clip_button_summary_off">Бутона за клип се показва</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Скрий магазин</string>
<string name="revanced_hide_shop_button_summary_on">Бутонът за магазин е скрит</string>
<string name="revanced_hide_shop_button_summary_off">Бутонът за магазин е показан</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Скриване на Запазване</string>
<string name="revanced_hide_save_button_summary_on">Бутонът за запазване е скрит</string>
@@ -1472,8 +1476,7 @@ Second \"item\" text"</string>
<string name="revanced_force_original_audio_title">Принудително оригинално аудио език</string>
<string name="revanced_force_original_audio_summary_on">Използване на оригиналния език на аудиото</string>
<string name="revanced_force_original_audio_summary_off">Използване на аудио по подразбиране</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">За да използвате тази функция, сменете „Фалшифициране на видео потоци“ на iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -617,6 +617,10 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_hide_clip_button_title">ক্লিপ লুকান</string>
<string name="revanced_hide_clip_button_summary_on">ক্লিপ বোতাম লুকিয়ে রয়েছে</string>
<string name="revanced_hide_clip_button_summary_off">ক্লিপ বোতাম প্রদর্শিত হয়েছে</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">শপ লুকান</string>
<string name="revanced_hide_shop_button_summary_on">শপ বাটন লুকানো আছে</string>
<string name="revanced_hide_shop_button_summary_off">শপ বাটন দেখানো আছে</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">সংরক্ষণ লুকান</string>
<string name="revanced_hide_save_button_summary_on">সংরক্ষণ বোতাম লুকানো আছে</string>
@@ -1468,8 +1472,7 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
<string name="revanced_force_original_audio_title">মূল অডিও ভাষা বলপূর্বক চালু করুন</string>
<string name="revanced_force_original_audio_summary_on">মূল অডিও ভাষা ব্যবহার করা হচ্ছে</string>
<string name="revanced_force_original_audio_summary_off">ডিফল্ট অডিও ব্যবহার করছে</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">এই বৈশিষ্ট্যটি ব্যবহার করতে, \'স্পুফ ভিডিও স্ট্রীম\' কে iOS TV-তে পরিবর্তন করুন</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -621,6 +621,10 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
<string name="revanced_hide_clip_button_title">Skrýt Klip</string>
<string name="revanced_hide_clip_button_summary_on">Tlačítko Klip je skryto</string>
<string name="revanced_hide_clip_button_summary_off">Tlačítko Klip je zobrazeno</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Skrýt Obchod</string>
<string name="revanced_hide_shop_button_summary_on">Tlačítko Obchod je skryté</string>
<string name="revanced_hide_shop_button_summary_off">Tlačítko Obchod je zobrazené</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Skrýt Uložit</string>
<string name="revanced_hide_save_button_summary_on">Tlačítko Uložit je skryté</string>
@@ -1472,8 +1476,6 @@ Povolením této funkce lze odemknout vyšší kvality videa"</string>
<string name="revanced_force_original_audio_title">Vynutit původní jazyk zvuku</string>
<string name="revanced_force_original_audio_summary_on">Použít původní jazyk zvuku</string>
<string name="revanced_force_original_audio_summary_off">Používání výchozího zvuku</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Chcete-li používat tuto funkci, změňte možnost „Zfalšovat datové proudy videa“ na iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
<string name="revanced_hide_clip_button_title">Skjul klip</string>
<string name="revanced_hide_clip_button_summary_on">Klip knappen er skjult</string>
<string name="revanced_hide_clip_button_summary_off">Klip knappen er vist</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Skjul butik</string>
<string name="revanced_hide_shop_button_summary_on">Butiksknappen er skjult</string>
<string name="revanced_hide_shop_button_summary_off">Butiksknappen vises</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Skjul Gem</string>
<string name="revanced_hide_save_button_summary_on">Knappen \"Gem\" er skjult</string>
@@ -1474,8 +1478,7 @@ Aktivering af dette kan låse op for højere videokvalitet"</string>
<string name="revanced_force_original_audio_title">Tving originalt lydsprog</string>
<string name="revanced_force_original_audio_summary_on">Bruger originalt lydsprog</string>
<string name="revanced_force_original_audio_summary_off">Brug standard lyd</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">For at bruge denne funktion skal du ændre \"Spoof videostreams\" til iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -616,6 +616,10 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver
<string name="revanced_hide_clip_button_title">Clip ausblenden</string>
<string name="revanced_hide_clip_button_summary_on">Clip-Button ist ausgeblendet</string>
<string name="revanced_hide_clip_button_summary_off">Clip-Taste wird angezeigt</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Shop ausblenden</string>
<string name="revanced_hide_shop_button_summary_on">Shop-Button ist ausgeblendet</string>
<string name="revanced_hide_shop_button_summary_off">Shop-Button wird angezeigt</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Speichern ausblenden</string>
<string name="revanced_hide_save_button_summary_on">Schaltfläche \"Speichern\" ist ausgeblendet</string>
@@ -1467,8 +1471,7 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
<string name="revanced_force_original_audio_title">Original Audio erzwingen</string>
<string name="revanced_force_original_audio_summary_on">Original-Audiosprache verwenden</string>
<string name="revanced_force_original_audio_summary_off">Standardaudio verwenden</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Um diese Funktion zu nutzen, ändere \"Video-Streams fälschen\" zu iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -623,6 +623,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">Κουμπί «Κλιπ»</string>
<string name="revanced_hide_clip_button_summary_on">Κρυμμένο</string>
<string name="revanced_hide_clip_button_summary_off">Εμφανίζεται</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Κουμπί «Αγορές»</string>
<string name="revanced_hide_shop_button_summary_on">Κρυμμένο</string>
<string name="revanced_hide_shop_button_summary_off">Εμφανίζεται</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Κουμπί «Αποθήκευση»</string>
<string name="revanced_hide_save_button_summary_on">Κρυμμένο</string>
@@ -721,7 +725,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_flyout_audio_track_summary_on">Κρυμμένο</string>
<string name="revanced_hide_player_flyout_audio_track_summary_off">Εμφανίζεται</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"Το μενού «Κομμάτι ήχου» είναι κρυμμένο
<string name="revanced_hide_player_flyout_audio_track_not_available">"Κρυμμένο
Για να εμφανίζεται το μενού κομματιού ήχου, αλλάξτε την «Παραποίηση ροών βίντεο» σε iPadOS"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
@@ -1471,8 +1475,7 @@ Second \"item\" text"</string>
<string name="revanced_force_original_audio_title">Εξαναγκασμός αρχικής γλώσσας ήχου</string>
<string name="revanced_force_original_audio_summary_on">Χρησιμοποιείται η αρχική γλώσσα ήχου</string>
<string name="revanced_force_original_audio_summary_off">Χρησιμοποιείται ο προεπιλεγμένος ήχος</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Για να χρησιμοποιήσετε αυτήν τη λειτουργία, αλλάξτε την επιλογή «Παραποίηση ροών βίντεο» σε iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1550,7 +1553,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_android_title">Παρενέργειες παραποίησης σε Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Το μενού «Κομμάτι ήχου» λείπει
Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη"</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">Το βίντεο ενδέχεται να σταματήσει στο 1:00 ή ενδέχεται να μην είναι διαθέσιμο σε ορισμένες περιοχές</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">Το βίντεο ενδέχεται να σταματήσει στο 1:00 ή να μην είναι διαθέσιμο σε ορισμένες περιοχές</string>
<string name="revanced_spoof_video_streams_about_experimental">• Πειραματικός πελάτης και μπορεί να σταματήσει να λειτουργεί ανά πάσα στιγμή</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Δεν υπάρχει ο κωδικοποιητής βίντεο AV1</string>
<string name="revanced_spoof_video_streams_about_kids_videos">Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται αν είστε αποσυνδεδεμένοι ή σε λειτουργία ανώνυμης περιήγησης</string>
@@ -1559,12 +1562,12 @@ Second \"item\" text"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Το πρόγραμμα πελάτη δεν εμφανίζεται στο μενού «Στατιστικά για σπασίκλες»</string>
<string name="revanced_spoof_video_streams_language_title">Γλώσσα ροής ήχου</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">Για να επιλέξετε μια συγκεκριμένη γλώσσα ήχου, απενεργοποιήστε το \'Επιβολή αρχικής γλώσσας ήχου\'</string>
<string name="revanced_spoof_video_streams_language_not_available">Για να επιλέξετε μια συγκεκριμένη γλώσσα ήχου, απενεργοποιήστε το «Εξαναγκασμός αρχικής γλώσσας ήχου»</string>
</patch>
</app>
<app id="music">
<patch id="misc.settings.settingsPatch">
<string name="revanced_settings_music_screen_0_about_title">Ομάδα προγραμματιστών</string>
<string name="revanced_settings_music_screen_0_about_title">Σχετικά με</string>
<string name="revanced_settings_music_screen_1_ads_title">Διαφημίσεις</string>
<string name="revanced_settings_music_screen_2_general_title">Γενικά</string>
<string name="revanced_settings_music_screen_3_player_title">Οθόνη αναπαραγωγής</string>
@@ -1581,17 +1584,17 @@ Second \"item\" text"</string>
<string name="revanced_music_play_permanent_repeat_summary_off">Η μόνιμη επανάληψη είναι απενεργοποιημένη</string>
</patch>
<patch id="layout.compactheader.hideCategoryBar">
<string name="revanced_music_hide_category_bar_title">Απόκρυψη γραμμής κατηγοριών</string>
<string name="revanced_music_hide_category_bar_summary_on">Η γραμμή κατηγοριών είναι κρυμμένη</string>
<string name="revanced_music_hide_category_bar_summary_off">Η γραμμή κατηγοριών εμφανίζεται</string>
<string name="revanced_music_hide_category_bar_title">Γραμμή κατηγοριών</string>
<string name="revanced_music_hide_category_bar_summary_on">Κρυμμένη</string>
<string name="revanced_music_hide_category_bar_summary_off">Εμφανίζεται</string>
</patch>
<patch id="layout.premium.hideGetPremiumPatch">
<string name="revanced_music_hide_get_premium_label_title">Απόκρυψη ετικέτας «Απόκτηση Music Premium»</string>
<string name="revanced_music_hide_get_premium_label_summary_on">Η ετικέτα είναι κρυμμένη</string>
<string name="revanced_music_hide_get_premium_label_summary_off">Η ετικέτα εμφανίζεται</string>
<string name="revanced_music_hide_get_premium_label_title">Ετικέτα «Αποκτήστε το Music Premium»</string>
<string name="revanced_music_hide_get_premium_label_summary_on">Κρυμμένη</string>
<string name="revanced_music_hide_get_premium_label_summary_off">Εμφανίζεται</string>
</patch>
<patch id="layout.upgradebutton.hideUpgradeButtonPatch">
<string name="revanced_music_hide_upgrade_button_title">Απόκρυψη κουμπιού αναβάθμισης</string>
<string name="revanced_music_hide_upgrade_button_title">Κουμπί «Αναβάθμιση»</string>
<string name="revanced_music_hide_upgrade_button_summary_on">Κρυμμένο</string>
<string name="revanced_music_hide_upgrade_button_summary_off">Εμφανίζεται</string>
</patch>

View File

@@ -621,6 +621,10 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"</s
<string name="revanced_hide_clip_button_title">Ocultar Recortar</string>
<string name="revanced_hide_clip_button_summary_on">El botón del recortar está oculto</string>
<string name="revanced_hide_clip_button_summary_off">Se muestra el botón de recortar</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Ocultar Tienda</string>
<string name="revanced_hide_shop_button_summary_on">El botón de la Tienda está oculto</string>
<string name="revanced_hide_shop_button_summary_off">El botón de la Tienda es visible</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Ocultar Guardar</string>
<string name="revanced_hide_save_button_summary_on">El botón de Guardar está oculto</string>
@@ -1463,8 +1467,7 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
<string name="revanced_force_original_audio_title">Forzar idioma de audio original</string>
<string name="revanced_force_original_audio_summary_on">Usar el idioma de audio original</string>
<string name="revanced_force_original_audio_summary_off">Utilizando audio predeterminado</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Para usar esta función, cambia \"Falsificar transmisiones de vídeo\" a iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"</st
<string name="revanced_hide_clip_button_title">Peida Lõik</string>
<string name="revanced_hide_clip_button_summary_on">Lõigu nupp on peidetud</string>
<string name="revanced_hide_clip_button_summary_off">Lõigu nupp on nähtav</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Peida pood</string>
<string name="revanced_hide_shop_button_summary_on">Poe nupp on peidetud</string>
<string name="revanced_hide_shop_button_summary_off">Poe nupp on nähtaval</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Peida Salvesta</string>
<string name="revanced_hide_save_button_summary_on">Nupp Salvesta on peidetud</string>
@@ -1472,8 +1476,7 @@ Selle lubamine võib avada kõrgema video kvaliteedi"</string>
<string name="revanced_force_original_audio_title">Sunni originaalheli keel</string>
<string name="revanced_force_original_audio_summary_on">Algse helikeele kasutamine</string>
<string name="revanced_force_original_audio_summary_off">Kasutan vaikeheli</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Selle funktsiooni kasutamiseks muuda valik „Pettemanööver videovoogudele” iOS TV peale</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -147,6 +147,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -621,6 +621,10 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu
<string name="revanced_hide_clip_button_title">Piilota Klippi</string>
<string name="revanced_hide_clip_button_summary_on">Klippi-painike on piilotettu</string>
<string name="revanced_hide_clip_button_summary_off">Klippi-painike näytetään</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Piilota Ostokset</string>
<string name="revanced_hide_shop_button_summary_on">Kauppa-painike on piilotettu</string>
<string name="revanced_hide_shop_button_summary_off">Kauppa-painike näytetään</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Piilota Tallenna</string>
<string name="revanced_hide_save_button_summary_on">Tallenna-painike on piilotettu</string>
@@ -1472,8 +1476,7 @@ Tämä voi avata korkealaatuisemmat videot"</string>
<string name="revanced_force_original_audio_title">Pakota alkuperäinen äänen kieli</string>
<string name="revanced_force_original_audio_summary_on">Käytetään alkuperäistä ääntä</string>
<string name="revanced_force_original_audio_summary_off">Käytetään oletusääntä</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Voit käyttää tätä ominaisuutta muuttamalla \"Naamioi videovirrat\" iOS TV:ksi</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc
<string name="revanced_hide_clip_button_title">Itago ang Clip</string>
<string name="revanced_hide_clip_button_summary_on">Nakatago ang clip button</string>
<string name="revanced_hide_clip_button_summary_off">Ang pindutan ng clip ay ipinapakita</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Itago ang Tindahan</string>
<string name="revanced_hide_shop_button_summary_on">Ang pindutan ng Tindahan ay nakatago</string>
<string name="revanced_hide_shop_button_summary_off">Ang pindutan ng Tindahan ay nakikita</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Itago ang I-save</string>
<string name="revanced_hide_save_button_summary_on">Nakatago ang button ng I-save</string>
@@ -1470,8 +1474,7 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"</st
<string name="revanced_force_original_audio_title">Pilitin ang orihinal na wika ng audio</string>
<string name="revanced_force_original_audio_summary_on">Ginagamit ang orihinal na wika ng audio</string>
<string name="revanced_force_original_audio_summary_off">Gumagamit ng default audio</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Para magamit ang feature na ito, palitan ang \'Magpanggap na video stream\' sa iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -94,10 +94,10 @@ Appuyez sur le bouton Continuer et autorisez les modifications."</string>
<string name="revanced_spoof_video_streams_title">Falsifier les flux vidéo</string>
<string name="revanced_spoof_video_streams_summary_on">"Les flux vidéo sont falsifiés
Si vous avez YouTube Premium, il est possible que ce paramètre ne soit pas nécessaire"</string>
Si vous êtes abonné à YouTube Premium, ce paramètre n'est peut-être pas nécessaire"</string>
<string name="revanced_spoof_video_streams_summary_off">"Les flux vidéo ne sont pas falsifiés
La lecture est susceptible de ne pas fonctionner"</string>
Il est possible que la lecture ne fonctionne pas"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">La désactivation de ce paramètre peut entraîner des problèmes de lecture.</string>
<string name="revanced_spoof_video_streams_client_type_title">Client par défaut</string>
</patch>
@@ -621,6 +621,10 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"</st
<string name="revanced_hide_clip_button_title">Masquer \"Clip\"</string>
<string name="revanced_hide_clip_button_summary_on">Le bouton Clip est masqué</string>
<string name="revanced_hide_clip_button_summary_off">Le bouton Clip est affiché</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Masquer la Boutique</string>
<string name="revanced_hide_shop_button_summary_on">Le bouton Boutique est masqué</string>
<string name="revanced_hide_shop_button_summary_off">Le bouton Boutique est affiché</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Masquer \"Enregistrer\"</string>
<string name="revanced_hide_save_button_summary_on">Le bouton Enregistrer est masqué</string>
@@ -1063,9 +1067,9 @@ Cette fonctionnalité fonctionne de manière optimale avec une qualité vidéo d
<string name="revanced_sb_general_min_duration">Durée minimale d\'un segment</string>
<string name="revanced_sb_general_min_duration_sum">Les segments dont la durée est inférieure à cette valeur (en secondes) ne seront ni affichés ni ignorés</string>
<string name="revanced_sb_general_min_duration_invalid">Durée invalide</string>
<string name="revanced_sb_general_uuid">Votre ID privé d\'utilisateur</string>
<string name="revanced_sb_general_uuid">Votre ID d\'utilisateur privé</string>
<string name="revanced_sb_general_uuid_sum">Cet identifiant doit rester confidentiel. Cet identifiant est comme un mot de passe et ne doit être partagé avec qui que ce soit. Si quelqu\'un venait à mettre la main dessus, il pourrait usurper votre identité.</string>
<string name="revanced_sb_general_uuid_invalid">L\'ID privé d\'utilisateur doit comporter au moins 30 caractères</string>
<string name="revanced_sb_general_uuid_invalid">ID d\'utilisateur privé trop court (30+ caractères)</string>
<string name="revanced_sb_general_api_url">Modifier l\'URL de l\'API</string>
<string name="revanced_sb_general_api_url_sum">L\'adresse utilisée par SponsorBlock pour contacter son serveur</string>
<string name="revanced_sb_api_url_reset">URL de l\'API réinitialisée</string>
@@ -1074,11 +1078,11 @@ Cette fonctionnalité fonctionne de manière optimale avec une qualité vidéo d
<string name="revanced_sb_settings_ie">Importer/Exporter les paramètres</string>
<string name="revanced_sb_settings_copy">Copier</string>
<string name="revanced_sb_settings_ie_sum">Votre configuration SponsorBlock au format JSON qui peut être importée/exportée vers ReVanced et les autres plateformes SponsorBlock</string>
<string name="revanced_sb_settings_ie_sum_warning">Votre configuration SponsorBlock au format JSON qui peut être importée/exportée vers ReVanced et d\'autres plateformes SponsorBlock. Votre ID privé d\'utilisateur y est présent, partagez-la avec prudence.</string>
<string name="revanced_sb_settings_ie_sum_warning">Votre configuration SponsorBlock au format JSON qui peut être importée/exportée vers ReVanced et d\'autres plateformes SponsorBlock. Votre ID d\'utilisateur privé y est présent, partagez-la avec prudence.</string>
<string name="revanced_sb_settings_import_successful">Paramètres importés avec succès</string>
<string name="revanced_sb_settings_import_failed">Échec de l\'importation : %s</string>
<string name="revanced_sb_settings_export_failed">Échec de l\'exportation : %s</string>
<string name="revanced_sb_settings_revanced_export_user_id_warning">"Vos paramètres contiennent un ID privé d'utilisateur.
<string name="revanced_sb_settings_revanced_export_user_id_warning">"Vos paramètres contiennent un ID d'utilisateur SponsorBlock privé.
Votre ID d'utilisateur est comme un mot de passe et ne doit jamais être partagé."</string>
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">Ne plus afficher</string>
@@ -1473,8 +1477,7 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"</str
<string name="revanced_force_original_audio_title">Forcer la langue audio d\'origine</string>
<string name="revanced_force_original_audio_summary_on">Utilisation de la langue audio d\'origine</string>
<string name="revanced_force_original_audio_summary_off">Utilisation de l\'audio par défaut</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Pour utiliser cette fonctionnalité, définissez \"Falsifier les flux vidéo\" sur iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile
<string name="revanced_hide_clip_button_title">Folaigh Gearrthóg</string>
<string name="revanced_hide_clip_button_summary_on">Tá an cnaipe gearrthóg i bhfolach</string>
<string name="revanced_hide_clip_button_summary_off">Taispeántar cnaipe gearrthóg</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Folaigh Siopa</string>
<string name="revanced_hide_shop_button_summary_on">Tá cnaipe an tSiopa i bhfolach</string>
<string name="revanced_hide_shop_button_summary_off">Tá cnaipe an tSiopa ar taispeáint</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Folaigh Sábháil</string>
<string name="revanced_hide_save_button_summary_on">Tá cnaipe sábhála i bhfolach</string>
@@ -1472,8 +1476,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
<string name="revanced_force_original_audio_title">Fórsaigh teanga bhunaidh na fuaime</string>
<string name="revanced_force_original_audio_summary_on">Ag úsáid teanga bhunaidh na fuaime</string>
<string name="revanced_force_original_audio_summary_off">Ag úsáid fuaim réamhshocraithe</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Chun an ghné seo a úsáid, athraigh \'Sruthanna físeáin bhréige\' go iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -621,6 +621,10 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"</st
<string name="revanced_hide_clip_button_title">Vágás gomb elrejtése</string>
<string name="revanced_hide_clip_button_summary_on">A klip gomb el van rejtve</string>
<string name="revanced_hide_clip_button_summary_off">A klip gomb látható</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Bolt elrejtése</string>
<string name="revanced_hide_shop_button_summary_on">A Bolt gomb elrejtve</string>
<string name="revanced_hide_shop_button_summary_off">A Bolt gomb látható</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Mentés elrejtése</string>
<string name="revanced_hide_save_button_summary_on">A mentés gomb rejtett</string>
@@ -1469,8 +1473,7 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"</s
<string name="revanced_force_original_audio_title">Eredeti hang kikényszerítése</string>
<string name="revanced_force_original_audio_summary_on">Eredeti hang használata a hang nyelvén</string>
<string name="revanced_force_original_audio_summary_off">Alapértelmezett hang használata</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">A funkció használatához módosítsa a „Videófolyamok hamisítása” beállítást iOS TV-re</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<string name="revanced_hide_clip_button_title">Թաքցնել Clip</string>
<string name="revanced_hide_clip_button_summary_on">Clip կոճակը թաքցված է</string>
<string name="revanced_hide_clip_button_summary_off">Clip կոճակը ցուցադրվում է</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Թաքցնել Խանութը</string>
<string name="revanced_hide_shop_button_summary_on">Խանութի կոճակը թաքնված է</string>
<string name="revanced_hide_shop_button_summary_off">Խանութի կոճակը ցուցադրվում է</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Թաքցնել պահելը</string>
<string name="revanced_hide_save_button_summary_on">Պահելու կոճակը թաքցված է</string>
@@ -1473,8 +1477,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
<string name="revanced_force_original_audio_title">Բնօրինակ ձայն օգտագործել լեզուն</string>
<string name="revanced_force_original_audio_summary_on">Օգտագործելով ձայնային օրիգինալ լեզուն</string>
<string name="revanced_force_original_audio_summary_off">Վերջնական ձայն օգտագործվում է</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Այս գործառույթն օգտագործելու համար փոխեք «Կեղծել տեսահոսքերը» iOS TV-ի</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -98,7 +98,7 @@ Jika Anda adalah pengguna YouTube Premium, setelan ini mungkin tidak diperlukan"
<string name="revanced_spoof_video_streams_summary_off">"Aliran video tidak dipalsukan
Pemutaran mungkin tidak berfungsi"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Mematikan pengaturan ini dapat menyebabkan masalah pemutaran.</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Menonaktifkan pengaturan ini mungkin menyebabkan masalah pemutaran.</string>
<string name="revanced_spoof_video_streams_client_type_title">Klien bawaan</string>
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
@@ -621,6 +621,10 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"</string
<string name="revanced_hide_clip_button_title">Sembunyikan Klip</string>
<string name="revanced_hide_clip_button_summary_on">Tombol klip disembunyikan</string>
<string name="revanced_hide_clip_button_summary_off">Tombol klip ditampilkan</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Sembunyikan Toko</string>
<string name="revanced_hide_shop_button_summary_on">Tombol Toko disembunyikan</string>
<string name="revanced_hide_shop_button_summary_off">Tombol Toko ditampilkan</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Sembunyikan Simpan</string>
<string name="revanced_hide_save_button_summary_on">Tombol Simpan disembunyikan</string>
@@ -721,7 +725,7 @@ Jika mengubah setelan ini tidak berpengaruh, coba beralih ke mode Penyamaran."</
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"Menu trek audio disembunyikan
Untuk menampilkan menu trek audio, ubah 'Spoof stream video' ke iPadOS"</string>
Untuk menampilkan menu trek audio, ubah 'Palsukan aliran video' ke iPadOS"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">Sembunyikan Tonton di VR</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">Menu tonton di VR disembunyikan</string>
@@ -1471,8 +1475,7 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
<string name="revanced_force_original_audio_title">Paksa bahasa audio asli</string>
<string name="revanced_force_original_audio_summary_on">Menggunakan bahasa audio asli</string>
<string name="revanced_force_original_audio_summary_off">Menggunakan audio bawaan</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Untuk menggunakan fitur ini, ubah \'Palsukan aliran video\' ke iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1548,9 +1551,9 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_about_title">Efek samping pemalsuan</string>
<string name="revanced_spoof_video_streams_about_android_title">Efek samping pemalsuan Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Menu trek audio tidak ada
<string name="revanced_spoof_video_streams_about_android_summary">"• Menu trek audio hilang
• Volume stabil tidak tersedia"</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• Video mungkin berhenti pada pukul 1:00, atau mungkin tidak tersedia di beberapa wilayah</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• Video mungkin berhenti pada menit 1:00, atau mungkin tidak tersedia di beberapa wilayah</string>
<string name="revanced_spoof_video_streams_about_experimental">• Klien eksperimental dan dapat berhenti berfungsi kapan saja</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Tidak ada codec video AV1</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran</string>

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -621,6 +621,10 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo"</string>
<string name="revanced_hide_clip_button_title">Nascondi Clip</string>
<string name="revanced_hide_clip_button_summary_on">Il pulsante Clip è nascosto</string>
<string name="revanced_hide_clip_button_summary_off">Il pulsante Clip è visibile</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Nascondi Acquisti</string>
<string name="revanced_hide_shop_button_summary_on">Il pulsante Acquisti è nascosto</string>
<string name="revanced_hide_shop_button_summary_off">Il pulsante Acquisti è visibile</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Nascondi Salva</string>
<string name="revanced_hide_save_button_summary_on">Il pulsante Salva è nascosto</string>
@@ -1471,8 +1475,7 @@ Abilitare questa opzione può sbloccare qualità video più elevate"</string>
<string name="revanced_force_original_audio_title">Forza la lingua audio originale</string>
<string name="revanced_force_original_audio_summary_on">Utilizza la lingua audio originale</string>
<string name="revanced_force_original_audio_summary_off">Utilizzo audio predefinito</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Per utilizzare questa funzionalità, cambia \'Spoof video streams\' in iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">הסתר קליפ</string>
<string name="revanced_hide_clip_button_summary_on">לחצן קליפ מוסתר</string>
<string name="revanced_hide_clip_button_summary_off">לחצן קליפ מוצג</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">הסתר \'חנות\'</string>
<string name="revanced_hide_shop_button_summary_on">הלחצן \'חנות\' מוסתר</string>
<string name="revanced_hide_shop_button_summary_off">הלחצן \'חנות\' מוצג</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">הסתר \'שמירה\'</string>
<string name="revanced_hide_save_button_summary_on">הלחצן \'שמירה\' מוסתר</string>
@@ -1474,8 +1478,7 @@ Second \"item\" text"</string>
<string name="revanced_force_original_audio_title">כפה שפת שמע מקורית</string>
<string name="revanced_force_original_audio_summary_on">שימוש בשפת שמע מקורית</string>
<string name="revanced_force_original_audio_summary_off">שימוש בשמע ברירת מחדל</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">כדי להשתמש בתכונה זו, שנה את \'זייף זרמי וידאו\' ל-iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -90,15 +90,15 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_spoof_video_streams_screen_title">動画ストリームを偽装</string>
<string name="revanced_spoof_video_streams_screen_summary">動画再生の失敗を回避するために、クライアントの動画ストリームを偽装します</string>
<string name="revanced_spoof_video_streams_screen_title">動画ストリームを偽装</string>
<string name="revanced_spoof_video_streams_screen_summary">再生の問題を防ぐためにクライアントのビデオストリームを偽装す</string>
<string name="revanced_spoof_video_streams_screen_summary">動画再生の失敗を回避するためにクライアントの動画ストリームを偽装しま</string>
<string name="revanced_spoof_video_streams_title">動画ストリームを偽装</string>
<string name="revanced_spoof_video_streams_summary_on">"動画ストリームは偽装されます
YouTube Premium ユーザーの場合、この設定は必要ない可能性があります"</string>
<string name="revanced_spoof_video_streams_summary_off">"ビデオストリーム偽装されていません
<string name="revanced_spoof_video_streams_summary_off">"動画ストリーム偽装されません
再生できない可能性があります"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">この設定をオフにすると、再生の問題が発生する可能性があります。</string>
再生に失敗する可能性があります"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">この設定を無効にすると、動画の再生に失敗するようになる可能性があります。</string>
<string name="revanced_spoof_video_streams_client_type_title">デフォルトのクライアント</string>
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
@@ -623,6 +623,10 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
<string name="revanced_hide_clip_button_title">クリップボタンを非表示</string>
<string name="revanced_hide_clip_button_summary_on">クリップボタンは表示されません</string>
<string name="revanced_hide_clip_button_summary_off">クリップボタンは表示されます</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">「ショップ」を非表示</string>
<string name="revanced_hide_shop_button_summary_on">ショップボタンは表示されません</string>
<string name="revanced_hide_shop_button_summary_off">ショップボタンは表示されます</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">「保存」を非表示にする</string>
<string name="revanced_hide_save_button_summary_on">「保存」ボタンは表示されません</string>
@@ -1474,8 +1478,7 @@ Automotive レイアウト
<string name="revanced_force_original_audio_title">オリジナルの音声を強制的に使用</string>
<string name="revanced_force_original_audio_summary_on">オリジナルの音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックは使用しません</string>
<string name="revanced_force_original_audio_summary_off">アプリが選択した音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックを使用する場合があります</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">この機能を使用するには、「動画ストリームを偽装」のクライアントを iOS TV に変更してください</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1553,7 +1556,7 @@ Automotive レイアウト
<string name="revanced_spoof_video_streams_about_android_title">Android クライアントの副作用</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• 「音声トラック」がフライアウト メニューに表示されない
• 「一定音量」が利用できない"</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• 動画1:00で停止する場合があります。または一部の地域で利用できない場合があります。</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• 動画が 01:00 で停止するまたは一部の地域で利用できない可能性がある</string>
<string name="revanced_spoof_video_streams_about_experimental">• 実験的なクライアントであり、いつでも動作しなくなる可能性がある</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 コーデックが利用できない</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある</string>
@@ -1562,14 +1565,14 @@ Automotive レイアウト
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">統計情報に現在のクライアントは表示されません</string>
<string name="revanced_spoof_video_streams_language_title">音声ストリームの言語</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">特定の音声言語を選択するには、「の音声言語を強制」をオフにしてください</string>
<string name="revanced_spoof_video_streams_language_not_available">特定の音声言語を選択するには、「オリジナルの音声を強制的に使用」を無効にしてください</string>
</patch>
</app>
<app id="music">
<patch id="misc.settings.settingsPatch">
<string name="revanced_settings_music_screen_0_about_title">ReVanced について</string>
<string name="revanced_settings_music_screen_1_ads_title">広告</string>
<string name="revanced_settings_music_screen_2_general_title">その他</string>
<string name="revanced_settings_music_screen_2_general_title">全般</string>
<string name="revanced_settings_music_screen_3_player_title">プレーヤー</string>
<string name="revanced_settings_music_screen_4_misc_title">その他</string>
</patch>
@@ -1579,24 +1582,24 @@ Automotive レイアウト
<string name="revanced_music_hide_video_ads_summary_off">動画広告は表示されます</string>
</patch>
<patch id="interaction.permanentrepeat.permanentRepeatPatch">
<string name="revanced_music_play_permanent_repeat_title">永続リピートを有効にする</string>
<string name="revanced_music_play_permanent_repeat_summary_on">永続リピート有効です</string>
<string name="revanced_music_play_permanent_repeat_summary_off">永続リピート無効です</string>
<string name="revanced_music_play_permanent_repeat_title">常時リピートを有効</string>
<string name="revanced_music_play_permanent_repeat_summary_on">常時リピート有効です\n\nリピート設定が保存され常時適用されます</string>
<string name="revanced_music_play_permanent_repeat_summary_off">常時リピート無効です\n\nリピート設定は保存されません</string>
</patch>
<patch id="layout.compactheader.hideCategoryBar">
<string name="revanced_music_hide_category_bar_title">カテゴリバーを非表示</string>
<string name="revanced_music_hide_category_bar_summary_on">カテゴリバーは表示です</string>
<string name="revanced_music_hide_category_bar_summary_on">カテゴリバーは表示されません</string>
<string name="revanced_music_hide_category_bar_summary_off">カテゴリバーは表示されます</string>
</patch>
<patch id="layout.premium.hideGetPremiumPatch">
<string name="revanced_music_hide_get_premium_label_title">Get Music Premium」ラベルを非表示</string>
<string name="revanced_music_hide_get_premium_label_summary_on">ラベルは表示です</string>
<string name="revanced_music_hide_get_premium_label_title">「Music Premium に登録」ラベルを非表示</string>
<string name="revanced_music_hide_get_premium_label_summary_on">ラベルは表示されません</string>
<string name="revanced_music_hide_get_premium_label_summary_off">ラベルは表示されます</string>
</patch>
<patch id="layout.upgradebutton.hideUpgradeButtonPatch">
<string name="revanced_music_hide_upgrade_button_title">アップグレードボタンを非表示</string>
<string name="revanced_music_hide_upgrade_button_summary_on">「メンバーになる」ボタンは表示されません</string>
<string name="revanced_music_hide_upgrade_button_summary_off">「メンバーになる」ボタンは表示されます</string>
<string name="revanced_music_hide_upgrade_button_title">アップグレード ボタンを非表示</string>
<string name="revanced_music_hide_upgrade_button_summary_on">ボタンは表示されません</string>
<string name="revanced_music_hide_upgrade_button_summary_off">ボタンは表示されます</string>
</patch>
</app>
<app id="twitch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -115,6 +115,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -619,6 +619,10 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
<string name="revanced_hide_clip_button_title">클립 버튼 숨기기</string>
<string name="revanced_hide_clip_button_summary_on">클립 버튼이 숨겨집니다</string>
<string name="revanced_hide_clip_button_summary_off">클립 버튼이 표시됩니다</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">쇼핑 버튼 숨기기</string>
<string name="revanced_hide_shop_button_summary_on">쇼핑 버튼이 숨겨집니다</string>
<string name="revanced_hide_shop_button_summary_off">쇼핑 버튼이 표시됩니다</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">저장 버튼 숨기기</string>
<string name="revanced_hide_save_button_summary_on">저장 버튼이 숨겨집니다</string>
@@ -1479,8 +1483,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요"</string>
<string name="revanced_force_original_audio_title">원본 오디오 스트림 언어 강제로 활성화하기</string>
<string name="revanced_force_original_audio_summary_on">원본 오디오 스트림 언어를 사용 중입니다</string>
<string name="revanced_force_original_audio_summary_off">기본 오디오 스트림 언어를 사용 중입니다</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">이 기능을 사용하려면, \'동영상 스트림 변경하기\'에서 기본 클라이언트를 iOS TV로 변경하세요</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1558,7 +1561,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요"</string>
<string name="revanced_spoof_video_streams_about_android_title">Android 변경에 따른 부작용</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• 오디오 트랙 메뉴가 표시되지 않습니다
• 안정적인 볼륨을 사용할 수 없습니다"</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• 동영상이 1:00에서 중지되거나 일부 지역에서 제공되지 않을 수 있습니다</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• 동영상이 1:00에 멈출 수 있으며, 일부 지역에서는 이용이 불가능할 수 있습니다</string>
<string name="revanced_spoof_video_streams_about_experimental">• 실험용 클라이언트이며 언제든지 작동이 중단될 수 있습니다</string>
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 코덱이 지원되지 않습니다</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다</string>
@@ -1567,7 +1570,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">동영상 스트림을 가져오는 데 사용되는 클라이언트가 전문 통계에서 표시되지 않습니다</string>
<string name="revanced_spoof_video_streams_language_title">오디오 스트림 언어</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">특정 오디오 언어를 선택하려면 \"원본 오디오 언어 강제 적용\"을 끄십시오.</string>
<string name="revanced_spoof_video_streams_language_not_available">특정 오디오 스트림 언어를 선택하려면, \'원본 오디오 스트림 언어 강제로 활성화하기\'를 끄세요</string>
</patch>
</app>
<app id="music">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -621,6 +621,10 @@ Reguliuokite garsumą braukdami vertikaliai dešinėje ekrano pusėje"</string>
<string name="revanced_hide_clip_button_title">Slėpti Iškarpą</string>
<string name="revanced_hide_clip_button_summary_on">Iškarpos mygtukas paslėptas</string>
<string name="revanced_hide_clip_button_summary_off">Iškarpos mygtukas rodomas</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Slėpti parduotuvę</string>
<string name="revanced_hide_shop_button_summary_on">Parduotuvės mygtukas paslėptas</string>
<string name="revanced_hide_shop_button_summary_off">Parduotuvės mygtukas rodomas</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Slėpti Išsaugoti</string>
<string name="revanced_hide_save_button_summary_on">Išsaugojimo mygtukas paslėptas</string>
@@ -1473,8 +1477,7 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v
<string name="revanced_force_original_audio_title">Priversti originalią garso kalbą</string>
<string name="revanced_force_original_audio_summary_on">Naudojama originali garso kalba</string>
<string name="revanced_force_original_audio_summary_off">Naudojamas numatytasis garsas</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Norėdami naudoti šią funkciją, pakeiskite „Klastoti vaizdo srautus“ į iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Regulējiet skaļumu, velkot vertikāli ekrāna labajā pusē"</string>
<string name="revanced_hide_clip_button_title">Paslēpt Izgriezt</string>
<string name="revanced_hide_clip_button_summary_on">Izgriezt poga ir paslēpta</string>
<string name="revanced_hide_clip_button_summary_off">Izgriezt poga ir redzama</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Paslēpt veikalu</string>
<string name="revanced_hide_shop_button_summary_on">Veikala poga ir paslēpta</string>
<string name="revanced_hide_shop_button_summary_off">Veikala poga ir redzama</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Paslēpt Saglabāt</string>
<string name="revanced_hide_save_button_summary_on">Poga Saglabāt ir paslēpta</string>
@@ -1473,8 +1477,7 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk
<string name="revanced_force_original_audio_title">Piespiest oriģinālo audio valodu</string>
<string name="revanced_force_original_audio_summary_on">Izmantot oriģinālo audio valodu</string>
<string name="revanced_force_original_audio_summary_off">Tiek izmantots noklusējuma audio</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Lai izmantotu šo funkciju, nomainiet \"Video straumju viltošana\" uz iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -102,6 +102,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -621,6 +621,10 @@ Pas het volume aan door verticaal over de rechterkant van het scherm te vegen"</
<string name="revanced_hide_clip_button_title">Fragment verbergen</string>
<string name="revanced_hide_clip_button_summary_on">Fragment knop is verborgen</string>
<string name="revanced_hide_clip_button_summary_off">Fragment knop wordt weergegeven</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Winkel verbergen</string>
<string name="revanced_hide_shop_button_summary_on">Winkelknop is verborgen</string>
<string name="revanced_hide_shop_button_summary_off">Winkelknop is weergegeven</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Opslaan verbergen</string>
<string name="revanced_hide_save_button_summary_on">Knop \"Opslaan\" is verborgen</string>
@@ -1470,8 +1474,7 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen"</string>
<string name="revanced_force_original_audio_title">Forceer de originele audiotaal</string>
<string name="revanced_force_original_audio_summary_on">De oorspronkelijke audiotaal gebruiken</string>
<string name="revanced_force_original_audio_summary_off">Standaard audio gebruiken</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Om deze functie te gebruiken, wijzig je \'Videostreams vervalsen\' in iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -617,6 +617,10 @@ Dostosuj głośność, przesuwając pionowo po prawej stronie ekranu"</string>
<string name="revanced_hide_clip_button_title">Przycisk od klipów</string>
<string name="revanced_hide_clip_button_summary_on">Przycisk tworzenia klipów jest ukryty</string>
<string name="revanced_hide_clip_button_summary_off">Przycisk tworzenia klipów jest widoczny</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Ukryj Sklep</string>
<string name="revanced_hide_shop_button_summary_on">Przycisk Sklep jest ukryty</string>
<string name="revanced_hide_shop_button_summary_off">Przycisk Sklep jest widoczny</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Ukryj Zapisz</string>
<string name="revanced_hide_save_button_summary_on">Przycisk Zapisz jest ukryty</string>
@@ -1468,8 +1472,7 @@ Włączenie tego może odblokować wyższe jakości wideo"</string>
<string name="revanced_force_original_audio_title">Wymuś język oryginalnego dźwięku</string>
<string name="revanced_force_original_audio_summary_on">Używanie oryginalnego języka audio</string>
<string name="revanced_force_original_audio_summary_off">Używanie domyślnego dźwięku</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Aby użyć tej funkcji, zmień opcję \"Fałszuj strumienie wideo\" na iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Ajuste o volume deslizando verticalmente no lado direito da tela"</string>
<string name="revanced_hide_clip_button_title">Ocultar Clipe</string>
<string name="revanced_hide_clip_button_summary_on">Botão clipe está oculto</string>
<string name="revanced_hide_clip_button_summary_off">O botão clipe é mostrado</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Ocultar Loja</string>
<string name="revanced_hide_shop_button_summary_on">O botão Loja está oculto</string>
<string name="revanced_hide_shop_button_summary_off">O botão Loja é exibido</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Ocultar Salvar</string>
<string name="revanced_hide_save_button_summary_on">O botão Salvar está oculto</string>
@@ -1469,8 +1473,7 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas"</string>
<string name="revanced_force_original_audio_title">Forçar idioma do áudio original</string>
<string name="revanced_force_original_audio_summary_on">Usar o idioma original do áudio</string>
<string name="revanced_force_original_audio_summary_off">Usando áudio padrão</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Para usar este recurso, altere \"Spoof video streams\" para iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Ajuste o volume deslizando verticalmente no lado direito da tela"</string>
<string name="revanced_hide_clip_button_title">Esconder clipe</string>
<string name="revanced_hide_clip_button_summary_on">O botão do clipe está escondido</string>
<string name="revanced_hide_clip_button_summary_off">Botão de corte é visível</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Ocultar Loja</string>
<string name="revanced_hide_shop_button_summary_on">O botão Loja está oculto</string>
<string name="revanced_hide_shop_button_summary_off">O botão Loja está exibido</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Ocultar Salvar</string>
<string name="revanced_hide_save_button_summary_on">O botão Salvar está oculto</string>
@@ -1472,8 +1476,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"</str
<string name="revanced_force_original_audio_title">Forçar idioma original do áudio</string>
<string name="revanced_force_original_audio_summary_on">Usando o idioma de áudio original</string>
<string name="revanced_force_original_audio_summary_off">Usando o áudio predefinido</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Para usar este recurso, altere \"Spoof video streams\" para iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Reglați volumul glisând vertical pe partea dreaptă a ecranului"</string>
<string name="revanced_hide_clip_button_title">Ascunde Clip</string>
<string name="revanced_hide_clip_button_summary_on">Butonul clip este ascuns</string>
<string name="revanced_hide_clip_button_summary_off">Butonul clipului este afișat</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Ascunde Magazinul</string>
<string name="revanced_hide_shop_button_summary_on">Butonul Magazin este ascuns</string>
<string name="revanced_hide_shop_button_summary_off">Butonul Magazin este afișat</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Ascunde Salvare</string>
<string name="revanced_hide_save_button_summary_on">Butonul Salvare este ascuns</string>
@@ -1471,8 +1475,7 @@ Activarea acestei opțiuni poate debloca calități video mai mari"</string>
<string name="revanced_force_original_audio_title">Forțează limba audio originală</string>
<string name="revanced_force_original_audio_summary_on">Folosind limba audio originală</string>
<string name="revanced_force_original_audio_summary_off">Utilizează audio implicit</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Pentru a utiliza această funcție, schimbați „Spoof video streams” în iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">Скрыть кнопку \"Создать клип\"</string>
<string name="revanced_hide_clip_button_summary_on">Кнопка \"Создать клип\" под плеером скрыта</string>
<string name="revanced_hide_clip_button_summary_off">Кнопка \"Создать клип\" под плеером показана</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Скрыть магазин</string>
<string name="revanced_hide_shop_button_summary_on">Кнопка \"Магазин\" в Shorts скрыта</string>
<string name="revanced_hide_shop_button_summary_off">Кнопка \"Магазин\" в Shorts показана</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Скрыть кнопку \"Сохранить\"</string>
<string name="revanced_hide_save_button_summary_on">Кнопка \"Сохранить\" скрыта</string>
@@ -1479,8 +1483,7 @@ Second \"item\" text"</string>
<string name="revanced_force_original_audio_title">Принудительно оригинальная звуковая дорожка</string>
<string name="revanced_force_original_audio_summary_on">Используется оригинальная звуковая дорожка</string>
<string name="revanced_force_original_audio_summary_off">Используется звуковая дорожка по умолчанию</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Для использования данной опции измените подмену видеопотока на тип клиента iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -619,6 +619,10 @@ Upravte hlasitosť posúvaním vertikálne na pravej strane obrazovky"</string>
<string name="revanced_hide_clip_button_title">Skryť klip</string>
<string name="revanced_hide_clip_button_summary_on">Tlačidlo klipu je skryté</string>
<string name="revanced_hide_clip_button_summary_off">Zobrazí sa tlačidlo klipu</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Skryť obchod</string>
<string name="revanced_hide_shop_button_summary_on">Tlačidlo Obchod je skryté</string>
<string name="revanced_hide_shop_button_summary_off">Tlačidlo Obchod je zobrazené</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Skryť Uložiť</string>
<string name="revanced_hide_save_button_summary_on">Tlačidlo Uložiť je skryté</string>
@@ -1465,8 +1469,7 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa"</string>
<string name="revanced_force_original_audio_title">Vynútiť pôvodný jazyk zvuku</string>
<string name="revanced_force_original_audio_summary_on">Používa sa pôvodný jazyk zvuku</string>
<string name="revanced_force_original_audio_summary_off">Používanie predvoleného zvuku</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Ak chcete používať túto funkciu, zmeňte možnosť „Zosmiešniť streamy videa“ na iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Prilagodite glasnost s potegom navpično na desni strani zaslona"</string>
<string name="revanced_hide_clip_button_title">Skrij Izrezek</string>
<string name="revanced_hide_clip_button_summary_on">Gumb Izrezek je skrit</string>
<string name="revanced_hide_clip_button_summary_off">Gumb Izrezek je prikazan</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Skrij Trgovino</string>
<string name="revanced_hide_shop_button_summary_on">Gumb Trgovina je skrit</string>
<string name="revanced_hide_shop_button_summary_off">Gumb Trgovina je prikazan</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Skrij Shrani</string>
<string name="revanced_hide_save_button_summary_on">Gumb Shrani je skrit</string>
@@ -1472,8 +1476,7 @@ Omogočanje tega lahko odklene višje kakovosti videa"</string>
<string name="revanced_force_original_audio_title">Izsili izvirni jezik zvoka</string>
<string name="revanced_force_original_audio_summary_on">Uporabi izvirni jezik zvoka</string>
<string name="revanced_force_original_audio_summary_off">Uporaba privzetega zvoka</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Če želite uporabiti to funkcijo, spremenite »Spoof video streams« v iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Përshtate shkëlqimin duke rrëshqitur vertikalisht në anën e majtë të ekra
<string name="revanced_hide_clip_button_title">Fsheh \"Klip\"</string>
<string name="revanced_hide_clip_button_summary_on">Butoni \"Klip\" është i fshehur</string>
<string name="revanced_hide_clip_button_summary_off">Butoni \"Klip\" është i dukshëm</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Fshih Dyqanin</string>
<string name="revanced_hide_shop_button_summary_on">Butoni i dyqanit është fshehur</string>
<string name="revanced_hide_shop_button_summary_off">Butoni i dyqanit është shfaqur</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Fshih Ruaj</string>
<string name="revanced_hide_save_button_summary_on">Butoni Ruaj është i fshehur</string>
@@ -1470,8 +1474,7 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video"</string>
<string name="revanced_force_original_audio_title">Forco gjuhën origjinale të audios</string>
<string name="revanced_force_original_audio_summary_on">Duke përdorur gjuhën origjinale audio</string>
<string name="revanced_force_original_audio_summary_off">Përdorimi i Zërit Parazgjedhur</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Për ta përdorur këtë veçori, ndryshoni \'Rrjedhat e videos tallëse\' në iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -89,13 +89,13 @@ Dodirnite dugme „Nastavi” i dozvolite promene optimizacije."</string>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_screen_title">Lažirani video strimovi</string>
<string name="revanced_spoof_video_streams_screen_summary">Lažiranje klijenta video strimova da bi se sprečili problemi sa reprodukcijom</string>
<string name="revanced_spoof_video_streams_screen_title">Lažiranje video tokova</string>
<string name="revanced_spoof_video_streams_screen_summary">Lažirajte video tokove klijenta da biste sprečili probleme sa reprodukcijom.</string>
<string name="revanced_spoof_video_streams_screen_title">Lažirani video strimovi</string>
<string name="revanced_spoof_video_streams_screen_summary">Lažiranje video strimova klijenta da bi se sprečili problemi sa reprodukcijom</string>
<string name="revanced_spoof_video_streams_title">Lažirani video strimovi</string>
<string name="revanced_spoof_video_streams_summary_on">"Video strimovi su lažirani
Ako ste korisnik YouTube Premiuma, ovo podešavanje možda neće biti potrebno"</string>
<string name="revanced_spoof_video_streams_summary_off">"Video tokovi nisu lažirani
<string name="revanced_spoof_video_streams_summary_off">"Video strimovi nisu lažirani
Reprodukcija možda neće raditi"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Isključivanje ovog podešavanja može izazvati probleme sa reprodukcijom.</string>
@@ -621,6 +621,10 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"</string
<string name="revanced_hide_clip_button_title">Sakrij dugme „Klip”</string>
<string name="revanced_hide_clip_button_summary_on">Dugme „Klip” je skriveno</string>
<string name="revanced_hide_clip_button_summary_off">Dugme „Klip” je prikazano</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Sakrij Prodavnicu</string>
<string name="revanced_hide_shop_button_summary_on">Dugme „Prodavnica” je skriveno</string>
<string name="revanced_hide_shop_button_summary_off">Dugme „Prodavnica” je prikazano</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Sakrij dugme „Sačuvaj”</string>
<string name="revanced_hide_save_button_summary_on">Dugme „Sačuvaj” je skriveno</string>
@@ -721,7 +725,7 @@ Ako se promena ove opcije ne primeni, pokušajte da pređete u režim bez arhivi
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"Meni „Audio snimak” je skriven
Da biste prikazali meni „Audio snimak”, promenite „Lažirani video strimovi” u iPadOS"</string>
Da biste prikazali meni „Audio snimak”, promenite opciju „Lažirani video strimovi” na iPadOS"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">Sakrij dugme „Gledaj u VR”</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">Dugme „Gledaj u VR” je skriveno</string>
@@ -1471,8 +1475,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"</string>
<string name="revanced_force_original_audio_title">Prisili originalni jezik zvuka</string>
<string name="revanced_force_original_audio_summary_on">Korišćenje originalnog jezika zvuka</string>
<string name="revanced_force_original_audio_summary_off">Korišćenje podrazumevanog zvuka</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Da biste koristili ovu funkciju, promenite opciju „Lažirani video strimovi” na iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1550,7 +1553,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"</string>
<string name="revanced_spoof_video_streams_about_android_title">Neželjeni efekti lažiranja na Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Meni „Audio snimak” nedostaje
• Opcija „Ujednačena jačina zvuka” nije dostupna"</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• Video se može zaustaviti u 1:00, ili možda neće biti dostupan u nekim regionima</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• Video se može zaustaviti u 1:00 ili možda neće biti dostupan u nekim regionima</string>
<string name="revanced_spoof_video_streams_about_experimental">• Eksperimentalni klijent i može prestati da radi bilo kada</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Nema video kodeka AV1</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja</string>
@@ -1559,12 +1562,12 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Tip klijenta je skriven u „Statistici za znalce”</string>
<string name="revanced_spoof_video_streams_language_title">Jezik audio strima</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">Da biste odabrali određeni audio jezik, isključite \'Prisiljavanje originalnog audio jezika\'</string>
<string name="revanced_spoof_video_streams_language_not_available">Da biste izabrali određeni jezik zvuka, isključite opciju „Prisili originalni jezik zvuka”</string>
</patch>
</app>
<app id="music">
<patch id="misc.settings.settingsPatch">
<string name="revanced_settings_music_screen_0_about_title">O</string>
<string name="revanced_settings_music_screen_0_about_title">O programu</string>
<string name="revanced_settings_music_screen_1_ads_title">Oglasi</string>
<string name="revanced_settings_music_screen_2_general_title">Opšte</string>
<string name="revanced_settings_music_screen_3_player_title">Plejer</string>
@@ -1586,7 +1589,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"</string>
<string name="revanced_music_hide_category_bar_summary_off">Traka kategorija je prikazana</string>
</patch>
<patch id="layout.premium.hideGetPremiumPatch">
<string name="revanced_music_hide_get_premium_label_title">Sakrij oznaku „Preuzmi Music Premium”</string>
<string name="revanced_music_hide_get_premium_label_title">Sakrij oznaku „Nabavite Music Premium”</string>
<string name="revanced_music_hide_get_premium_label_summary_on">Oznaka je skrivena</string>
<string name="revanced_music_hide_get_premium_label_summary_off">Oznaka je prikazana</string>
</patch>

View File

@@ -89,13 +89,13 @@ Second \"item\" text"</string>
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
<string name="revanced_spoof_video_streams_screen_title">Лажирани видео стримови</string>
<string name="revanced_spoof_video_streams_screen_summary">Лажирање клијента видео стримова да би се спречили проблеми са репродукцијом</string>
<string name="revanced_spoof_video_streams_screen_title">Фалсификујте видео стримове</string>
<string name="revanced_spoof_video_streams_screen_summary">Фалсификујте клијентске видео стримове да бисте спречили проблеме са репродукцијом</string>
<string name="revanced_spoof_video_streams_screen_title">Лажирани видео стримови</string>
<string name="revanced_spoof_video_streams_screen_summary">Лажирање видео стримова клијента да би се спречили проблеми са репродукцијом</string>
<string name="revanced_spoof_video_streams_title">Лажирани видео стримови</string>
<string name="revanced_spoof_video_streams_summary_on">"Видео стримови су лажирани
Ако сте корисник YouTube Premium-а, ово подешавање можда неће бити потребно"</string>
<string name="revanced_spoof_video_streams_summary_off">"Видео стримови нису фалсификовани
<string name="revanced_spoof_video_streams_summary_off">"Видео стримови нису лажирани
Репродукција можда неће радити"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">Искључивање овог подешавања може изазвати проблеме са репродукцијом.</string>
@@ -621,6 +621,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">Сакриј дугме „Клип”</string>
<string name="revanced_hide_clip_button_summary_on">Дугме „Клип” је скривено</string>
<string name="revanced_hide_clip_button_summary_off">Дугме „Клип” је приказано</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Сакриј дугме „Продавница”</string>
<string name="revanced_hide_shop_button_summary_on">Дугме „Продавница” је скривено</string>
<string name="revanced_hide_shop_button_summary_off">Дугме „Продавница” је приказано</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Сакриј дугме „Сачувај”</string>
<string name="revanced_hide_save_button_summary_on">Дугме „Сачувај” је скривено</string>
@@ -721,7 +725,7 @@ Second \"item\" text"</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_hide_player_flyout_audio_track_not_available">"Мени „Аудио снимак” је скривен
Да бисте приказали мени „Аудио снимак”, промените „Лажирани видео стримови” на iPadOS"</string>
Да бисте приказали мени „Аудио снимак”, промените опцију „Лажирани видео стримови” на iPadOS"</string>
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
<string name="revanced_hide_player_flyout_watch_in_vr_title">Сакриј дугме „Гледај у ВР”</string>
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">Дугме „Гледај у ВР” је скривено</string>
@@ -1474,8 +1478,7 @@ Second \"item\" text"</string>
<string name="revanced_force_original_audio_title">Присили оригинални језик звука</string>
<string name="revanced_force_original_audio_summary_on">Коришћење оригиналног језика звука</string>
<string name="revanced_force_original_audio_summary_off">Коришћење подразумеваног звука</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Да бисте користили ову функцију, промените „Лажирани видео стримови” на iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->
@@ -1553,7 +1556,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_video_streams_about_android_title">Нежељени ефекти лажирања на Android</string>
<string name="revanced_spoof_video_streams_about_android_summary">"• Мени „Аудио снимак” недостаје
• Опција „Уједначена јачина звука” није доступна"</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• Видео се може зауставити на 1:00, или можда неће бити доступан у неким регионима</string>
<string name="revanced_spoof_video_streams_about_ipados_summary">• Видео се може зауставити на 1:00 или можда неће бити доступан у неким регионима</string>
<string name="revanced_spoof_video_streams_about_experimental">• Експериментални клијент и може престати да ради било када</string>
<string name="revanced_spoof_video_streams_about_no_av1">• Нема видео кодека AV1</string>
<string name="revanced_spoof_video_streams_about_kids_videos">• Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања</string>
@@ -1562,7 +1565,7 @@ Second \"item\" text"</string>
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Тип клијента је скривен у „Статистици за зналце”</string>
<string name="revanced_spoof_video_streams_language_title">Језик аудио стрима</string>
<!-- 'Force original audio language' should use the same text as revanced_force_original_audio_title -->
<string name="revanced_spoof_video_streams_language_not_available">Да бисте изабрали одређени аудио језик, искључите „Принудно коришћење оригиналног аудио језика“</string>
<string name="revanced_spoof_video_streams_language_not_available">Да бисте изабрали одређени језик звука, искључите опцију „Присили оригинални језик звука”</string>
</patch>
</app>
<app id="music">
@@ -1589,7 +1592,7 @@ Second \"item\" text"</string>
<string name="revanced_music_hide_category_bar_summary_off">Трака категорија је приказана</string>
</patch>
<patch id="layout.premium.hideGetPremiumPatch">
<string name="revanced_music_hide_get_premium_label_title">Сакриј ознаку „Преузми Music Premium”</string>
<string name="revanced_music_hide_get_premium_label_title">Сакриј ознаку „Набавите Music Premium”</string>
<string name="revanced_music_hide_get_premium_label_summary_on">Ознака је скривена</string>
<string name="revanced_music_hide_get_premium_label_summary_off">Ознака је приказана</string>
</patch>

View File

@@ -621,6 +621,10 @@ Justera volymen genom att svepa vertikalt till höger på skärmen"</string>
<string name="revanced_hide_clip_button_title">Dölj Klipp</string>
<string name="revanced_hide_clip_button_summary_on">Knappen Klipp är dold</string>
<string name="revanced_hide_clip_button_summary_off">Knappen Klipp visas</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Dölj Butik</string>
<string name="revanced_hide_shop_button_summary_on">Knappen Butik är dold</string>
<string name="revanced_hide_shop_button_summary_off">Knappen Butik visas</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Dölj Spara</string>
<string name="revanced_hide_save_button_summary_on">Knappen Spara är dold</string>
@@ -1471,8 +1475,7 @@ Om du aktiverar detta kan högre videokvaliteter låsas upp"</string>
<string name="revanced_force_original_audio_title">Tvinga ursprungligt ljudspråk</string>
<string name="revanced_force_original_audio_summary_on">Använder ursprungligt ljudspråk</string>
<string name="revanced_force_original_audio_summary_off">Använder standardljud</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Om du vill använda den här funktionen ändrar du \"Förfalska videoströmmar\" till iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -100,6 +100,7 @@ Second \"item\" text"</string>
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
This button only shows if the user ip is from specific region such as the USA or EU. -->
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
</patch>
<patch id="layout.buttons.navigation.navigationButtonsPatch">

View File

@@ -619,6 +619,10 @@ Second \"item\" text"</string>
<string name="revanced_hide_clip_button_title">ซ่อนคลิป</string>
<string name="revanced_hide_clip_button_summary_on">ปุ่มคลิปถูกซ่อน</string>
<string name="revanced_hide_clip_button_summary_off">ปุ่มคลิปถูกแสดง</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">ซ่อนร้านค้า</string>
<string name="revanced_hide_shop_button_summary_on">ปุ่มร้านค้าถูกซ่อน</string>
<string name="revanced_hide_shop_button_summary_off">ปุ่มร้านค้าถูกแสดง</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">ซ่อนบันทึก</string>
<string name="revanced_hide_save_button_summary_on">ปุ่มบันทึกถูกซ่อน</string>
@@ -1474,8 +1478,7 @@ User id ของคุณเหมือนกับรหัสผ่าน
<string name="revanced_force_original_audio_title">บังคับใช้ภาษาเสียงต้นฉบับ</string>
<string name="revanced_force_original_audio_summary_on">กำลังใช้ภาษาเสียงต้นฉบับ</string>
<string name="revanced_force_original_audio_summary_off">กำลังใช้ออดิโอเริ่มต้น</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">หากต้องการใช้คุณสมบัตินี้ ให้เปลี่ยน \'ปลอมแปลงสตรีมวิดีโอ\' เป็น iOS TV</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

View File

@@ -621,6 +621,10 @@ Ekranın sağ tarafında dikey olarak kaydırarak sesi ayarlayın"</string>
<string name="revanced_hide_clip_button_title">Klip\'i gizle</string>
<string name="revanced_hide_clip_button_summary_on">Klip düğmesi gizli</string>
<string name="revanced_hide_clip_button_summary_off">Klip düğmesi görünür</string>
<!-- 'Shop' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_shop_button_title">Alışverişi gizle</string>
<string name="revanced_hide_shop_button_summary_on">Alışveriş düğmesi gizli</string>
<string name="revanced_hide_shop_button_summary_off">Alışveriş düğmesi görünür</string>
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_save_button_title">Kaydet\'i Gizle</string>
<string name="revanced_hide_save_button_summary_on">Kaydet düğmesi gizli</string>
@@ -1479,8 +1483,7 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir"</string>
<string name="revanced_force_original_audio_title">Orijinal ses dilini zorla</string>
<string name="revanced_force_original_audio_summary_on">Orijinal ses dili kullanılıyor</string>
<string name="revanced_force_original_audio_summary_off">Varsayılan ses kullanılıyor</string>
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
<string name="revanced_force_original_audio_not_available">Bu özelliği kullanmak için \'Video akışlarını taklit et\' ayarını iOS TV olarak değiştirin</string>
</patch>
<patch id="video.quality.rememberVideoQualityPatch">
<!-- Translations should use the same text as 'revanced_custom_playback_speeds_auto'. -->

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