Compare commits

..

15 Commits

Author SHA1 Message Date
semantic-release-bot
feac2ab439 chore: Release v5.4.0-dev.5 [skip ci]
# [5.4.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.4...v5.4.0-dev.5) (2024-12-10)

### Bug Fixes

* **YouTube - Spoof video streams:** Resolve playback of age restricted videos ([#4096](https://github.com/ReVanced/revanced-patches/issues/4096)) ([32be03c](32be03c28d))
2024-12-10 20:46:59 +00:00
LisoUseInAIKyrios
32be03c28d fix(YouTube - Spoof video streams): Resolve playback of age restricted videos (#4096) 2024-12-11 00:42:56 +04:00
github-actions[bot]
6a345eee37 chore: Sync translations (#4093) 2024-12-10 21:26:57 +04:00
LisoUseInAIKyrios
61be7731e3 refactor(YouTube - Spoof streaming data): Add more debug logging 2024-12-10 21:12:38 +04:00
semantic-release-bot
8295356f88 chore: Release v5.4.0-dev.4 [skip ci]
# [5.4.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.3...v5.4.0-dev.4) (2024-12-10)

### Bug Fixes

* **YouTube - Spoof video streams:** Fix error toast that is sometimes shown ([#4090](https://github.com/ReVanced/revanced-patches/issues/4090)) ([3ec2577](3ec25778eb))
2024-12-10 16:30:47 +00:00
LisoUseInAIKyrios
3ec25778eb fix(YouTube - Spoof video streams): Fix error toast that is sometimes shown (#4090) 2024-12-10 20:27:22 +04:00
LisoUseInAIKyrios
3faf0ac160 refactor(YouTube Music): Show error toast if GmsCore Support is included with root installation 2024-12-10 15:15:02 +04:00
LisoUseInAIKyrios
3ff559878b refactor(YouTube - Miniplayer): Use 'Default' language to describe unpatched Miniplayer type 2024-12-10 03:13:39 +04:00
LisoUseInAIKyrios
ed9c78da1e chore(YouTube - Spoof video streams): Improve error logging 2024-12-10 02:56:40 +04:00
semantic-release-bot
eefb59020e chore: Release v5.4.0-dev.3 [skip ci]
# [5.4.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.2...v5.4.0-dev.3) (2024-12-09)

### Bug Fixes

* **TikTok - Settings:** Use correct colors for dark mode ([#4087](https://github.com/ReVanced/revanced-patches/issues/4087)) ([18f1884](18f18849f3))
2024-12-09 20:50:09 +00:00
LisoUseInAIKyrios
18f18849f3 fix(TikTok - Settings): Use correct colors for dark mode (#4087) 2024-12-10 00:46:53 +04:00
semantic-release-bot
b172c38284 chore: Release v5.4.0-dev.2 [skip ci]
# [5.4.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.1...v5.4.0-dev.2) (2024-12-09)

### Bug Fixes

* **TikTok - SIM Spoof:** Change patch to default off to fix login ([#4084](https://github.com/ReVanced/revanced-patches/issues/4084)) ([3c47bff](3c47bfff1a))

### Features

* Add Internal data documents provider patch ([#3830](https://github.com/ReVanced/revanced-patches/issues/3830)) ([89c45af](89c45afcc6))
2024-12-09 17:52:14 +00:00
github-actions[bot]
5b15602896 chore: Sync translations (#4085) 2024-12-09 21:49:37 +04:00
Tim Schneeberger
89c45afcc6 feat: Add Internal data documents provider patch (#3830)
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2024-12-09 18:46:31 +01:00
LisoUseInAIKyrios
3c47bfff1a fix(TikTok - SIM Spoof): Change patch to default off to fix login (#4084) 2024-12-09 18:45:42 +01:00
75 changed files with 1445 additions and 445 deletions

View File

@@ -1,3 +1,36 @@
# [5.4.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.4...v5.4.0-dev.5) (2024-12-10)
### Bug Fixes
* **YouTube - Spoof video streams:** Resolve playback of age restricted videos ([#4096](https://github.com/ReVanced/revanced-patches/issues/4096)) ([839a404](https://github.com/ReVanced/revanced-patches/commit/839a4045f1bb1759d89047834e0b7695781e82a3))
# [5.4.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.3...v5.4.0-dev.4) (2024-12-10)
### Bug Fixes
* **YouTube - Spoof video streams:** Fix error toast that is sometimes shown ([#4090](https://github.com/ReVanced/revanced-patches/issues/4090)) ([4c46cb2](https://github.com/ReVanced/revanced-patches/commit/4c46cb27a02c6f29626cd769b6a8e825645d5b16))
# [5.4.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.2...v5.4.0-dev.3) (2024-12-09)
### Bug Fixes
* **TikTok - Settings:** Use correct colors for dark mode ([#4087](https://github.com/ReVanced/revanced-patches/issues/4087)) ([6bd22ff](https://github.com/ReVanced/revanced-patches/commit/6bd22ffa7e8af4d8f5d2d3b1711bd92c44b4e4aa))
# [5.4.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.4.0-dev.1...v5.4.0-dev.2) (2024-12-09)
### Bug Fixes
* **TikTok - SIM Spoof:** Change patch to default off to fix login ([#4084](https://github.com/ReVanced/revanced-patches/issues/4084)) ([f4659a3](https://github.com/ReVanced/revanced-patches/commit/f4659a328eaf600e1e5f02a66fa2af4b6d8dc7c1))
### Features
* Add Internal data documents provider patch ([#3830](https://github.com/ReVanced/revanced-patches/issues/3830)) ([cb22f65](https://github.com/ReVanced/revanced-patches/commit/cb22f652ed678d81ffda9ece659b3971225d6931))
# [5.4.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.3.0...v5.4.0-dev.1) (2024-12-09) # [5.4.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.3.0...v5.4.0-dev.1) (2024-12-09)

View File

@@ -0,0 +1,3 @@
dependencies {
compileOnly(libs.annotation)
}

View File

@@ -0,0 +1,334 @@
package app.revanced.extension.all.misc.directory.documentsprovider;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.ProviderInfo;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor;
import android.provider.DocumentsContract;
import android.provider.DocumentsProvider;
import android.system.ErrnoException;
import android.system.Os;
import android.system.StructStat;
import android.util.Log;
import android.webkit.MimeTypeMap;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Objects;
/**
* A DocumentsProvider that allows access to the app's internal data directory.
*/
public class InternalDataDocumentsProvider extends DocumentsProvider {
private static final String[] rootColumns =
{"root_id", "mime_types", "flags", "icon", "title", "summary", "document_id"};
private static final String[] directoryColumns =
{"document_id", "mime_type", "_display_name", "last_modified", "flags",
"_size", "full_path", "lstat_info"};
private static final int S_IFLNK = 0x8000;
private String packageName;
private File dataDirectory;
/**
* Recursively delete a file or directory and all its children.
*
* @param root The file or directory to delete.
* @return True if the file or directory and all its children were successfully deleted.
*/
private static boolean deleteRecursively(File root) {
// If root is a directory, delete all children first
if (root.isDirectory()) {
try {
// Only delete recursively if the directory is not a symlink
if ((Os.lstat(root.getPath()).st_mode & S_IFLNK) != S_IFLNK) {
File[] files = root.listFiles();
if (files != null) {
for (File file : files) {
if (!deleteRecursively(file)) {
return false;
}
}
}
}
} catch (ErrnoException e) {
Log.e("InternalDocumentsProvider", "Failed to lstat " + root.getPath(), e);
}
}
// Delete file or empty directory
return root.delete();
}
/**
* Resolve the MIME type of a file based on its extension.
*
* @param file The file to resolve the MIME type for.
* @return The MIME type of the file.
*/
private static String resolveMimeType(File file) {
if (file.isDirectory()) {
return DocumentsContract.Document.MIME_TYPE_DIR;
}
String name = file.getName();
int indexOfExtDot = name.lastIndexOf('.');
if (indexOfExtDot < 0) {
// No extension
return "application/octet-stream";
}
String extension = name.substring(indexOfExtDot + 1).toLowerCase();
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
return mimeType != null ? mimeType : "application/octet-stream";
}
@Override
public final boolean onCreate() {
return true;
}
@Override
public final void attachInfo(Context context, ProviderInfo providerInfo) {
super.attachInfo(context, providerInfo);
this.packageName = context.getPackageName();
this.dataDirectory = context.getFilesDir().getParentFile();
}
@Override
public final String createDocument(String parentDocumentId, String mimeType, String displayName) throws FileNotFoundException {
File directory = resolveDocumentId(parentDocumentId);
File file = new File(directory, displayName);
// If file already exists, append a number to the name
int i = 2;
while (file.exists()) {
file = new File(directory, displayName + " (" + i + ")");
i++;
}
try {
// Create the file or directory
if (mimeType.equals(DocumentsContract.Document.MIME_TYPE_DIR) ? file.mkdir() : file.createNewFile()) {
// Return the document ID of the new entity
if (!parentDocumentId.endsWith("/")) {
parentDocumentId = parentDocumentId + "/";
}
return parentDocumentId + file.getName();
}
} catch (IOException e) {
// Do nothing. We are throwing a FileNotFoundException later if the file could not be created.
}
throw new FileNotFoundException("Failed to create document in " + parentDocumentId + " with name " + displayName);
}
@Override
public final void deleteDocument(String documentId) throws FileNotFoundException {
File file = resolveDocumentId(documentId);
if (!deleteRecursively(file)) {
throw new FileNotFoundException("Failed to delete document " + documentId);
}
}
@Override
public final String getDocumentType(String documentId) throws FileNotFoundException {
return resolveMimeType(resolveDocumentId(documentId));
}
@Override
public final boolean isChildDocument(String parentDocumentId, String documentId) {
return documentId.startsWith(parentDocumentId);
}
@Override
public final String moveDocument(String sourceDocumentId, String sourceParentDocumentId, String targetParentDocumentId) throws FileNotFoundException {
File source = resolveDocumentId(sourceDocumentId);
File dest = resolveDocumentId(targetParentDocumentId);
File file = new File(dest, source.getName());
if (!file.exists() && source.renameTo(file)) {
// Return the new document ID
if (targetParentDocumentId.endsWith("/")) {
return targetParentDocumentId + file.getName();
}
return targetParentDocumentId + "/" + file.getName();
}
throw new FileNotFoundException("Failed to move document from " + sourceDocumentId + " to " + targetParentDocumentId);
}
@Override
public final ParcelFileDescriptor openDocument(String documentId, String mode, CancellationSignal signal) throws FileNotFoundException {
File file = resolveDocumentId(documentId);
return ParcelFileDescriptor.open(file, ParcelFileDescriptor.parseMode(mode));
}
@Override
public final Cursor queryChildDocuments(String parentDocumentId, String[] projection, String sortOrder) throws FileNotFoundException {
if (parentDocumentId.endsWith("/")) {
parentDocumentId = parentDocumentId.substring(0, parentDocumentId.length() - 1);
}
if (projection == null) {
projection = directoryColumns;
}
MatrixCursor cursor = new MatrixCursor(projection);
File children = resolveDocumentId(parentDocumentId);
// Collect all children
File[] files = children.listFiles();
if (files != null) {
for (File file : files) {
addRowForDocument(cursor, parentDocumentId + "/" + file.getName(), file);
}
}
return cursor;
}
@Override
public final Cursor queryDocument(String documentId, String[] projection) throws FileNotFoundException {
if (projection == null) {
projection = directoryColumns;
}
MatrixCursor cursor = new MatrixCursor(projection);
addRowForDocument(cursor, documentId, null);
return cursor;
}
@Override
public final Cursor queryRoots(String[] projection) {
ApplicationInfo info = Objects.requireNonNull(getContext()).getApplicationInfo();
String appName = info.loadLabel(getContext().getPackageManager()).toString();
if (projection == null) {
projection = rootColumns;
}
MatrixCursor cursor = new MatrixCursor(projection);
MatrixCursor.RowBuilder row = cursor.newRow();
row.add(DocumentsContract.Root.COLUMN_ROOT_ID, this.packageName);
row.add(DocumentsContract.Root.COLUMN_DOCUMENT_ID, this.packageName);
row.add(DocumentsContract.Root.COLUMN_SUMMARY, this.packageName);
row.add(DocumentsContract.Root.COLUMN_FLAGS,
DocumentsContract.Root.FLAG_LOCAL_ONLY |
DocumentsContract.Root.FLAG_SUPPORTS_IS_CHILD);
row.add(DocumentsContract.Root.COLUMN_TITLE, appName);
row.add(DocumentsContract.Root.COLUMN_MIME_TYPES, "*/*");
row.add(DocumentsContract.Root.COLUMN_ICON, info.icon);
return cursor;
}
@Override
public final void removeDocument(String documentId, String parentDocumentId) throws FileNotFoundException {
deleteDocument(documentId);
}
@Override
public final String renameDocument(String documentId, String displayName) throws FileNotFoundException {
File file = resolveDocumentId(documentId);
if (!file.renameTo(new File(file.getParentFile(), displayName))) {
throw new FileNotFoundException("Failed to rename document from " + documentId + " to " + displayName);
}
// Return the new document ID
return documentId.substring(0, documentId.lastIndexOf('/', documentId.length() - 2)) + "/" + displayName;
}
/**
* Resolve a file instance for a given document ID.
*
* @param fullContentPath The document ID to resolve.
* @return File object for the given document ID.
* @throws FileNotFoundException If the document ID is invalid or the file does not exist.
*/
private File resolveDocumentId(String fullContentPath) throws FileNotFoundException {
if (!fullContentPath.startsWith(this.packageName)) {
throw new FileNotFoundException(fullContentPath + " not found");
}
String path = fullContentPath.substring(this.packageName.length());
// Resolve the relative path within /data/data/{PKG}
File file;
if (path.equals("/") || path.isEmpty()) {
file = this.dataDirectory;
} else {
// Remove leading slash
String relativePath = path.substring(1);
file = new File(this.dataDirectory, relativePath);
}
if (!file.exists()) {
throw new FileNotFoundException(fullContentPath + " not found");
}
return file;
}
/**
* Add a row containing all file properties to a MatrixCursor for a given document ID.
*
* @param cursor The cursor to add the row to.
* @param documentId The document ID to add the row for.
* @param file The file to add the row for. If null, the file will be resolved from the document ID.
* @throws FileNotFoundException If the file does not exist.
*/
private void addRowForDocument(MatrixCursor cursor, String documentId, File file) throws FileNotFoundException {
if (file == null) {
file = resolveDocumentId(documentId);
}
int flags = 0;
if (file.isDirectory()) {
// Prefer list view for directories
flags = flags | DocumentsContract.Document.FLAG_DIR_PREFERS_LAST_MODIFIED;
}
if (file.canWrite()) {
if (file.isDirectory()) {
flags = flags | DocumentsContract.Document.FLAG_DIR_SUPPORTS_CREATE;
}
flags = flags | DocumentsContract.Document.FLAG_SUPPORTS_WRITE |
DocumentsContract.Document.FLAG_SUPPORTS_DELETE |
DocumentsContract.Document.FLAG_SUPPORTS_RENAME |
DocumentsContract.Document.FLAG_SUPPORTS_MOVE;
}
MatrixCursor.RowBuilder row = cursor.newRow();
row.add(DocumentsContract.Document.COLUMN_DOCUMENT_ID, documentId);
row.add(DocumentsContract.Document.COLUMN_DISPLAY_NAME, file.getName());
row.add(DocumentsContract.Document.COLUMN_SIZE, file.length());
row.add(DocumentsContract.Document.COLUMN_MIME_TYPE, resolveMimeType(file));
row.add(DocumentsContract.Document.COLUMN_LAST_MODIFIED, file.lastModified());
row.add(DocumentsContract.Document.COLUMN_FLAGS, flags);
// Custom columns
row.add("full_path", file.getAbsolutePath());
// Add lstat column
String path = file.getPath();
try {
StringBuilder sb = new StringBuilder();
StructStat lstat = Os.lstat(path);
sb.append(lstat.st_mode);
sb.append(";");
sb.append(lstat.st_uid);
sb.append(";");
sb.append(lstat.st_gid);
// Append symlink target if it is a symlink
if ((lstat.st_mode & S_IFLNK) == S_IFLNK) {
sb.append(";");
sb.append(Os.readlink(path));
}
row.add("lstat_info", sb.toString());
} catch (Exception ex) {
Log.e("InternalDocumentsProvider", "Failed to get lstat info for " + path, ex);
}
}
}

View File

@@ -24,7 +24,9 @@ import java.net.URL;
* @noinspection unused * @noinspection unused
*/ */
public class GmsCoreSupport { public class GmsCoreSupport {
public static final String ORIGINAL_UNPATCHED_PACKAGE_NAME = "com.google.android.youtube"; private static final String PACKAGE_NAME_YOUTUBE = "com.google.android.youtube";
private static final String PACKAGE_NAME_YOUTUBE_MUSIC = "com.google.android.apps.youtube.music";
private static final String GMS_CORE_PACKAGE_NAME private static final String GMS_CORE_PACKAGE_NAME
= getGmsCoreVendorGroupId() + ".android.gms"; = getGmsCoreVendorGroupId() + ".android.gms";
private static final Uri GMS_CORE_PROVIDER private static final Uri GMS_CORE_PROVIDER
@@ -74,7 +76,8 @@ public class GmsCoreSupport {
// Verify the user has not included GmsCore for a root installation. // Verify the user has not included GmsCore for a root installation.
// GmsCore Support changes the package name, but with a mounted installation // GmsCore Support changes the package name, but with a mounted installation
// all manifest changes are ignored and the original package name is used. // all manifest changes are ignored and the original package name is used.
if (context.getPackageName().equals(ORIGINAL_UNPATCHED_PACKAGE_NAME)) { String packageName = context.getPackageName();
if (packageName.equals(PACKAGE_NAME_YOUTUBE) || packageName.equals(PACKAGE_NAME_YOUTUBE_MUSIC)) {
Logger.printInfo(() -> "App is mounted with root, but GmsCore patch was included"); Logger.printInfo(() -> "App is mounted with root, but GmsCore patch was included");
// Cannot use localize text here, since the app will load // Cannot use localize text here, since the app will load
// resources from the unpatched app and all patch strings are missing. // resources from the unpatched app and all patch strings are missing.
@@ -143,12 +146,10 @@ public class GmsCoreSupport {
private static String getGmsCoreDownload() { private static String getGmsCoreDownload() {
final var vendorGroupId = getGmsCoreVendorGroupId(); final var vendorGroupId = getGmsCoreVendorGroupId();
//noinspection SwitchStatementWithTooFewBranches //noinspection SwitchStatementWithTooFewBranches
switch (vendorGroupId) { return switch (vendorGroupId) {
case "app.revanced": case "app.revanced" -> "https://github.com/revanced/gmscore/releases/latest";
return "https://github.com/revanced/gmscore/releases/latest"; default -> vendorGroupId + ".android.gms";
default: };
return vendorGroupId + ".android.gms";
}
} }
// Modified by a patch. Do not touch. // Modified by a patch. Do not touch.

View File

@@ -6,6 +6,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.os.Build; import android.os.Build;
@@ -499,6 +500,12 @@ public class Utils {
); );
} }
public static boolean isDarkModeEnabled(Context context) {
Configuration config = context.getResources().getConfiguration();
final int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK;
return currentNightMode == Configuration.UI_MODE_NIGHT_YES;
}
/** /**
* Automatically logs any exceptions the runnable throws. * Automatically logs any exceptions the runnable throws.
* *

View File

@@ -54,9 +54,7 @@ public class ReVancedAboutPreference extends Preference {
} }
protected boolean isDarkModeEnabled() { protected boolean isDarkModeEnabled() {
Configuration config = getContext().getResources().getConfiguration(); return Utils.isDarkModeEnabled(getContext());
final int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK;
return currentNightMode == Configuration.UI_MODE_NIGHT_YES;
} }
/** /**

View File

@@ -10,15 +10,17 @@ public enum ClientType {
// Specific purpose for age restricted, or private videos, because the iOS client is not logged in. // Specific purpose for age restricted, or private videos, because the iOS client is not logged in.
// https://dumps.tadiphone.dev/dumps/oculus/eureka // https://dumps.tadiphone.dev/dumps/oculus/eureka
ANDROID_VR(28, ANDROID_VR(28,
"ANDROID_VR",
"Quest 3", "Quest 3",
"12", "12",
"com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip", "com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip",
"32", // Android 12.1 "32", // Android 12.1
"1.56.21", "1.56.21",
true true,
), true),
// Specific for kids videos. // Specific for kids videos.
IOS(5, IOS(5,
"IOS",
forceAVC() forceAVC()
? "iPhone12,5" // 11 Pro Max (last device with iOS 13) ? "iPhone12,5" // 11 Pro Max (last device with iOS 13)
: "iPhone16,2", // 15 Pro Max : "iPhone16,2", // 15 Pro Max
@@ -37,8 +39,22 @@ public enum ClientType {
// but 17.40 is the last version that supports iOS 13. // but 17.40 is the last version that supports iOS 13.
? "17.40.5" ? "17.40.5"
: "19.47.7", : "19.47.7",
false false,
); true),
/**
* Android VR with no language code.
* Used for age restricted videos and YouTube Music to disable stable volume.
*/
ANDROID_VR_NO_HL(
ANDROID_VR.id,
ANDROID_VR.clientName,
ANDROID_VR.deviceModel,
ANDROID_VR.osVersion,
ANDROID_VR.userAgent,
ANDROID_VR.androidSdkVersion,
ANDROID_VR.clientVersion,
ANDROID_VR.canLogin,
false);
private static boolean forceAVC() { private static boolean forceAVC() {
return BaseSettings.SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC.get(); return BaseSettings.SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC.get();
@@ -50,6 +66,8 @@ public enum ClientType {
*/ */
public final int id; public final int id;
public final String clientName;
/** /**
* Device model, equivalent to {@link Build#MODEL} (System property: ro.product.model) * Device model, equivalent to {@link Build#MODEL} (System property: ro.product.model)
*/ */
@@ -82,20 +100,28 @@ public enum ClientType {
*/ */
public final boolean canLogin; public final boolean canLogin;
/**
* If a language code should be used.
*/
public final boolean useLanguageCode;
ClientType(int id, ClientType(int id,
String clientName,
String deviceModel, String deviceModel,
String osVersion, String osVersion,
String userAgent, String userAgent,
@Nullable String androidSdkVersion, @Nullable String androidSdkVersion,
String clientVersion, String clientVersion,
boolean canLogin boolean canLogin,
) { boolean useLanguageCode) {
this.id = id; this.id = id;
this.clientName = clientName;
this.deviceModel = deviceModel; this.deviceModel = deviceModel;
this.osVersion = osVersion; this.osVersion = osVersion;
this.userAgent = userAgent; this.userAgent = userAgent;
this.androidSdkVersion = androidSdkVersion; this.androidSdkVersion = androidSdkVersion;
this.clientVersion = clientVersion; this.clientVersion = clientVersion;
this.canLogin = canLogin; this.canLogin = canLogin;
this.useLanguageCode = useLanguageCode;
} }
} }

View File

@@ -6,7 +6,6 @@ import androidx.annotation.Nullable;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.Utils;
@@ -87,10 +86,19 @@ public class SpoofVideoStreamsPatch {
try { try {
Uri uri = Uri.parse(url); Uri uri = Uri.parse(url);
String path = uri.getPath(); String path = uri.getPath();
// 'heartbeat' has no video id and appears to be only after playback has started. // 'heartbeat' has no video id and appears to be only after playback has started.
if (path != null && path.contains("player") && !path.contains("heartbeat")) { // 'refresh' has no video id and appears to happen when waiting for a livestream to start.
String videoId = Objects.requireNonNull(uri.getQueryParameter("id")); if (path != null && path.contains("player") && !path.contains("heartbeat")
StreamingDataRequest.fetchRequest(videoId, requestHeaders); && !path.contains("refresh")) {
String id = uri.getQueryParameter("id");
if (id == null) {
Logger.printException(() -> "Ignoring request that has no video id." +
" Url: " + url + " headers: " + requestHeaders);
return;
}
StreamingDataRequest.fetchRequest(id, requestHeaders);
} }
} catch (Exception ex) { } catch (Exception ex) {
Logger.printException(() -> "buildRequest failure", ex); Logger.printException(() -> "buildRequest failure", ex);

View File

@@ -35,8 +35,10 @@ final class PlayerRoutes {
JSONObject context = new JSONObject(); JSONObject context = new JSONObject();
JSONObject client = new JSONObject(); JSONObject client = new JSONObject();
client.put("hl", BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getIso639_1()); if (clientType.useLanguageCode) {
client.put("clientName", clientType.name()); client.put("hl", BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getIso639_1());
}
client.put("clientName", clientType.clientName);
client.put("clientVersion", clientType.clientVersion); client.put("clientVersion", clientType.clientVersion);
client.put("deviceModel", clientType.deviceModel); client.put("deviceModel", clientType.deviceModel);
client.put("osVersion", clientType.osVersion); client.put("osVersion", clientType.osVersion);

View File

@@ -115,8 +115,7 @@ public class StreamingDataRequest {
Objects.requireNonNull(playerHeaders); Objects.requireNonNull(playerHeaders);
final long startTime = System.currentTimeMillis(); final long startTime = System.currentTimeMillis();
String clientTypeName = clientType.name(); Logger.printDebug(() -> "Fetching video streams for: " + videoId + " using client: " + clientType);
Logger.printDebug(() -> "Fetching video streams for: " + videoId + " using client: " + clientType.name());
try { try {
HttpURLConnection connection = PlayerRoutes.getPlayerResponseConnectionFromRoute(GET_STREAMING_DATA, clientType); HttpURLConnection connection = PlayerRoutes.getPlayerResponseConnectionFromRoute(GET_STREAMING_DATA, clientType);
@@ -124,12 +123,16 @@ public class StreamingDataRequest {
connection.setReadTimeout(HTTP_TIMEOUT_MILLISECONDS); connection.setReadTimeout(HTTP_TIMEOUT_MILLISECONDS);
for (String key : REQUEST_HEADER_KEYS) { for (String key : REQUEST_HEADER_KEYS) {
if (!clientType.canLogin && key.equals(AUTHORIZATION_HEADER)) {
continue;
}
String value = playerHeaders.get(key); String value = playerHeaders.get(key);
if (value != null) { if (value != null) {
if (key.equals(AUTHORIZATION_HEADER)) {
if (!clientType.canLogin) {
Logger.printDebug(() -> "Not including request header: " + key);
continue;
}
}
Logger.printDebug(() -> "Including request header: " + key);
connection.setRequestProperty(key, value); connection.setRequestProperty(key, value);
} }
} }
@@ -142,8 +145,10 @@ public class StreamingDataRequest {
final int responseCode = connection.getResponseCode(); final int responseCode = connection.getResponseCode();
if (responseCode == 200) return connection; if (responseCode == 200) return connection;
handleConnectionError(clientTypeName + " not available with response code: " // This situation likely means the patches are outdated.
+ responseCode + " message: " + connection.getResponseMessage(), // Use a toast message that suggests updating.
handleConnectionError("Playback error (App is outdated?) " + clientType + ": "
+ responseCode + " response: " + connection.getResponseMessage(),
null, showErrorToasts); null, showErrorToasts);
} catch (SocketTimeoutException ex) { } catch (SocketTimeoutException ex) {
handleConnectionError("Connection timeout", ex, showErrorToasts); handleConnectionError("Connection timeout", ex, showErrorToasts);
@@ -172,17 +177,19 @@ public class StreamingDataRequest {
try { try {
// gzip encoding doesn't response with content length (-1), // gzip encoding doesn't response with content length (-1),
// but empty response body does. // but empty response body does.
if (connection.getContentLength() != 0) { if (connection.getContentLength() == 0) {
try (InputStream inputStream = new BufferedInputStream(connection.getInputStream())) { Logger.printDebug(() -> "Received empty response for video: " + videoId);
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) { } else {
byte[] buffer = new byte[2048]; try (InputStream inputStream = new BufferedInputStream(connection.getInputStream());
int bytesRead; ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
while ((bytesRead = inputStream.read(buffer)) >= 0) {
baos.write(buffer, 0, bytesRead);
}
return ByteBuffer.wrap(baos.toByteArray()); byte[] buffer = new byte[2048];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) >= 0) {
baos.write(buffer, 0, bytesRead);
} }
return ByteBuffer.wrap(baos.toByteArray());
} }
} }
} catch (IOException ex) { } catch (IOException ex) {

View File

@@ -1,9 +1,20 @@
package app.revanced.extension.tiktok; package app.revanced.extension.tiktok;
import static app.revanced.extension.shared.Utils.isDarkModeEnabled;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.ColorInt;
import app.revanced.extension.shared.settings.StringSetting; import app.revanced.extension.shared.settings.StringSetting;
public class Utils { public class Utils {
private static final long[] DEFAULT_MIN_MAX_VALUES = {0L, Long.MAX_VALUE};
// Edit: This could be handled using a custom Setting<Long[]> class // Edit: This could be handled using a custom Setting<Long[]> class
// that saves its value to preferences and JSON using the formatted String created here. // that saves its value to preferences and JSON using the formatted String created here.
public static long[] parseMinMax(StringSetting setting) { public static long[] parseMinMax(StringSetting setting) {
@@ -20,6 +31,29 @@ public class Utils {
} }
setting.save("0-" + Long.MAX_VALUE); setting.save("0-" + Long.MAX_VALUE);
return new long[]{0L, Long.MAX_VALUE}; return DEFAULT_MIN_MAX_VALUES;
}
// Colors picked by hand. These should be replaced with the styled resources TikTok uses.
private static final @ColorInt int TEXT_DARK_MODE_TITLE = Color.WHITE;
private static final @ColorInt int TEXT_DARK_MODE_SUMMARY
= Color.argb(255, 170, 170, 170);
private static final @ColorInt int TEXT_LIGHT_MODE_TITLE = Color.BLACK;
private static final @ColorInt int TEXT_LIGHT_MODE_SUMMARY
= Color.argb(255, 80, 80, 80);
public static void setTitleAndSummaryColor(Context context, View view) {
final boolean darkModeEnabled = isDarkModeEnabled(context);
TextView title = view.findViewById(android.R.id.title);
title.setTextColor(darkModeEnabled
? TEXT_DARK_MODE_TITLE
: TEXT_LIGHT_MODE_TITLE);
TextView summary = view.findViewById(android.R.id.summary);
summary.setTextColor(darkModeEnabled
? TEXT_DARK_MODE_SUMMARY
: TEXT_LIGHT_MODE_SUMMARY);
} }
} }

View File

@@ -1,17 +1,18 @@
package app.revanced.extension.tiktok.feedfilter; package app.revanced.extension.tiktok.feedfilter;
import app.revanced.extension.tiktok.settings.Settings;
import com.ss.android.ugc.aweme.feed.model.Aweme; import com.ss.android.ugc.aweme.feed.model.Aweme;
import com.ss.android.ugc.aweme.feed.model.AwemeStatistics; import com.ss.android.ugc.aweme.feed.model.AwemeStatistics;
import static app.revanced.extension.tiktok.Utils.parseMinMax; import app.revanced.extension.tiktok.Utils;
import app.revanced.extension.tiktok.settings.Settings;
public final class LikeCountFilter implements IFilter { public final class LikeCountFilter implements IFilter {
final long minLike; final long minLike;
final long maxLike; final long maxLike;
LikeCountFilter() { LikeCountFilter() {
long[] minMax = parseMinMax(Settings.MIN_MAX_LIKES); long[] minMax = Utils.parseMinMax(Settings.MIN_MAX_LIKES);
minLike = minMax[0]; minLike = minMax[0];
maxLike = minMax[1]; maxLike = minMax[1];
} }

View File

@@ -1,17 +1,17 @@
package app.revanced.extension.tiktok.feedfilter; package app.revanced.extension.tiktok.feedfilter;
import app.revanced.extension.tiktok.Utils;
import app.revanced.extension.tiktok.settings.Settings; import app.revanced.extension.tiktok.settings.Settings;
import com.ss.android.ugc.aweme.feed.model.Aweme; import com.ss.android.ugc.aweme.feed.model.Aweme;
import com.ss.android.ugc.aweme.feed.model.AwemeStatistics; import com.ss.android.ugc.aweme.feed.model.AwemeStatistics;
import static app.revanced.extension.tiktok.Utils.parseMinMax;
public class ViewCountFilter implements IFilter { public class ViewCountFilter implements IFilter {
final long minView; final long minView;
final long maxView; final long maxView;
ViewCountFilter() { ViewCountFilter() {
long[] minMax = parseMinMax(Settings.MIN_MAX_VIEWS); long[] minMax = Utils.parseMinMax(Settings.MIN_MAX_VIEWS);
minView = minMax[0]; minView = minMax[0];
maxView = minMax[1]; maxView = minMax[1];
} }

View File

@@ -19,7 +19,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting DOWNLOAD_WATERMARK = new BooleanSetting("down_watermark", TRUE); public static final BooleanSetting DOWNLOAD_WATERMARK = new BooleanSetting("down_watermark", TRUE);
public static final BooleanSetting CLEAR_DISPLAY = new BooleanSetting("clear_display", FALSE); public static final BooleanSetting CLEAR_DISPLAY = new BooleanSetting("clear_display", FALSE);
public static final FloatSetting REMEMBERED_SPEED = new FloatSetting("REMEMBERED_SPEED", 1.0f); public static final FloatSetting REMEMBERED_SPEED = new FloatSetting("REMEMBERED_SPEED", 1.0f);
public static final BooleanSetting SIM_SPOOF = new BooleanSetting("simspoof", TRUE, true); public static final BooleanSetting SIM_SPOOF = new BooleanSetting("simspoof", FALSE, true);
public static final StringSetting SIM_SPOOF_ISO = new StringSetting("simspoof_iso", "us"); public static final StringSetting SIM_SPOOF_ISO = new StringSetting("simspoof_iso", "us");
public static final StringSetting SIMSPOOF_MCCMNC = new StringSetting("simspoof_mccmnc", "310160"); public static final StringSetting SIMSPOOF_MCCMNC = new StringSetting("simspoof_mccmnc", "310160");
public static final StringSetting SIMSPOOF_OP_NAME = new StringSetting("simspoof_op_name", "T-Mobile"); public static final StringSetting SIMSPOOF_OP_NAME = new StringSetting("simspoof_op_name", "T-Mobile");

View File

@@ -16,10 +16,10 @@ import android.widget.RadioButton;
import android.widget.RadioGroup; import android.widget.RadioGroup;
import app.revanced.extension.shared.settings.StringSetting; import app.revanced.extension.shared.settings.StringSetting;
import app.revanced.extension.tiktok.Utils;
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public class DownloadPathPreference extends DialogPreference { public class DownloadPathPreference extends DialogPreference {
private final Context context;
private final String[] entryValues = {"DCIM", "Movies", "Pictures"}; private final String[] entryValues = {"DCIM", "Movies", "Pictures"};
private String mValue; private String mValue;
@@ -29,11 +29,10 @@ public class DownloadPathPreference extends DialogPreference {
public DownloadPathPreference(Context context, String title, StringSetting setting) { public DownloadPathPreference(Context context, String title, StringSetting setting) {
super(context); super(context);
this.context = context; setTitle(title);
this.setTitle(title); setSummary(Environment.getExternalStorageDirectory().getPath() + "/" + setting.get());
this.setSummary(Environment.getExternalStorageDirectory().getPath() + "/" + setting.get()); setKey(setting.key);
this.setKey(setting.key); setValue(setting.get());
this.setValue(setting.get());
} }
public String getValue() { public String getValue() {
@@ -59,6 +58,7 @@ public class DownloadPathPreference extends DialogPreference {
childDownloadPath = getValue().substring(getValue().indexOf("/") + 1); childDownloadPath = getValue().substring(getValue().indexOf("/") + 1);
mediaPathIndex = findIndexOf(currentMedia); mediaPathIndex = findIndexOf(currentMedia);
Context context = getContext();
LinearLayout dialogView = new LinearLayout(context); LinearLayout dialogView = new LinearLayout(context);
RadioGroup mediaPath = new RadioGroup(context); RadioGroup mediaPath = new RadioGroup(context);
mediaPath.setLayoutParams(new RadioGroup.LayoutParams(-1, -2)); mediaPath.setLayoutParams(new RadioGroup.LayoutParams(-1, -2));
@@ -79,12 +79,10 @@ public class DownloadPathPreference extends DialogPreference {
downloadPath.addTextChangedListener(new TextWatcher() { downloadPath.addTextChangedListener(new TextWatcher() {
@Override @Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
} }
@Override @Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
} }
@Override @Override
@@ -99,6 +97,13 @@ public class DownloadPathPreference extends DialogPreference {
return dialogView; return dialogView;
} }
@Override
protected void onBindView(View view) {
super.onBindView(view);
Utils.setTitleAndSummaryColor(getContext(), view);
}
@Override @Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) { protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
builder.setTitle("Download Path"); builder.setTitle("Download Path");

View File

@@ -2,16 +2,26 @@ package app.revanced.extension.tiktok.settings.preference;
import android.content.Context; import android.content.Context;
import android.preference.EditTextPreference; import android.preference.EditTextPreference;
import android.view.View;
import app.revanced.extension.shared.settings.StringSetting; import app.revanced.extension.shared.settings.StringSetting;
import app.revanced.extension.tiktok.Utils;
@SuppressWarnings("deprecation")
public class InputTextPreference extends EditTextPreference { public class InputTextPreference extends EditTextPreference {
public InputTextPreference(Context context, String title, String summary, StringSetting setting) { public InputTextPreference(Context context, String title, String summary, StringSetting setting) {
super(context); super(context);
this.setTitle(title); setTitle(title);
this.setSummary(summary); setSummary(summary);
this.setKey(setting.key); setKey(setting.key);
this.setText(setting.get()); setText(setting.get());
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
Utils.setTitleAndSummaryColor(getContext(), view);
} }
} }

View File

@@ -1,5 +1,6 @@
package app.revanced.extension.tiktok.settings.preference; package app.revanced.extension.tiktok.settings.preference;
import android.annotation.SuppressLint;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@@ -14,11 +15,10 @@ import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import app.revanced.extension.shared.settings.StringSetting; import app.revanced.extension.shared.settings.StringSetting;
import app.revanced.extension.tiktok.Utils;
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public class RangeValuePreference extends DialogPreference { public class RangeValuePreference extends DialogPreference {
private final Context context;
private String minValue; private String minValue;
private String maxValue; private String maxValue;
@@ -29,7 +29,6 @@ public class RangeValuePreference extends DialogPreference {
public RangeValuePreference(Context context, String title, String summary, StringSetting setting) { public RangeValuePreference(Context context, String title, String summary, StringSetting setting) {
super(context); super(context);
this.context = context;
setTitle(title); setTitle(title);
setSummary(summary); setSummary(summary);
setKey(setting.key); setKey(setting.key);
@@ -53,41 +52,52 @@ public class RangeValuePreference extends DialogPreference {
return mValue; return mValue;
} }
@SuppressLint("SetTextI18n")
@Override @Override
protected View onCreateDialogView() { protected View onCreateDialogView() {
minValue = getValue().split("-")[0]; minValue = getValue().split("-")[0];
maxValue = getValue().split("-")[1]; maxValue = getValue().split("-")[1];
Context context = getContext();
LinearLayout dialogView = new LinearLayout(context); LinearLayout dialogView = new LinearLayout(context);
dialogView.setOrientation(LinearLayout.VERTICAL); dialogView.setOrientation(LinearLayout.VERTICAL);
// Min view
LinearLayout minView = new LinearLayout(context); LinearLayout minView = new LinearLayout(context);
minView.setOrientation(LinearLayout.HORIZONTAL); minView.setOrientation(LinearLayout.HORIZONTAL);
dialogView.addView(minView);
TextView min = new TextView(context); TextView min = new TextView(context);
min.setText("Min: "); min.setText("Min: ");
minView.addView(min); minView.addView(min);
EditText minEditText = new EditText(context); EditText minEditText = new EditText(context);
minEditText.setInputType(InputType.TYPE_CLASS_NUMBER); minEditText.setInputType(InputType.TYPE_CLASS_NUMBER);
minEditText.setText(minValue); minEditText.setText(minValue);
minView.addView(minEditText); minView.addView(minEditText);
dialogView.addView(minView);
// Max view
LinearLayout maxView = new LinearLayout(context); LinearLayout maxView = new LinearLayout(context);
maxView.setOrientation(LinearLayout.HORIZONTAL); maxView.setOrientation(LinearLayout.HORIZONTAL);
dialogView.addView(maxView);
TextView max = new TextView(context); TextView max = new TextView(context);
max.setText("Max: "); max.setText("Max: ");
maxView.addView(max); maxView.addView(max);
EditText maxEditText = new EditText(context); EditText maxEditText = new EditText(context);
maxEditText.setInputType(InputType.TYPE_CLASS_NUMBER); maxEditText.setInputType(InputType.TYPE_CLASS_NUMBER);
maxEditText.setText(maxValue); maxEditText.setText(maxValue);
maxView.addView(maxEditText); maxView.addView(maxEditText);
dialogView.addView(maxView);
minEditText.addTextChangedListener(new TextWatcher() { minEditText.addTextChangedListener(new TextWatcher() {
@Override @Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
} }
@Override @Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
} }
@Override @Override
@@ -98,12 +108,10 @@ public class RangeValuePreference extends DialogPreference {
maxEditText.addTextChangedListener(new TextWatcher() { maxEditText.addTextChangedListener(new TextWatcher() {
@Override @Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
} }
@Override @Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
} }
@Override @Override
@@ -111,12 +119,21 @@ public class RangeValuePreference extends DialogPreference {
maxValue = editable.toString(); maxValue = editable.toString();
} }
}); });
return dialogView; return dialogView;
} }
@Override
protected void onBindView(View view) {
super.onBindView(view);
Utils.setTitleAndSummaryColor(getContext(), view);
}
@Override @Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) { protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
builder.setPositiveButton(android.R.string.ok, (dialog, which) -> this.onClick(dialog, DialogInterface.BUTTON_POSITIVE)); builder.setPositiveButton(android.R.string.ok, (dialog, which)
-> this.onClick(dialog, DialogInterface.BUTTON_POSITIVE));
builder.setNegativeButton(android.R.string.cancel, null); builder.setNegativeButton(android.R.string.cancel, null);
} }

View File

@@ -18,14 +18,12 @@ import org.jetbrains.annotations.NotNull;
public class ReVancedPreferenceFragment extends AbstractPreferenceFragment { public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
@Override @Override
protected void syncSettingWithPreference(@NonNull @NotNull Preference pref, protected void syncSettingWithPreference(@NonNull Preference pref,
@NonNull @NotNull Setting<?> setting, @NonNull Setting<?> setting,
boolean applySettingToPreference) { boolean applySettingToPreference) {
if (pref instanceof RangeValuePreference) { if (pref instanceof RangeValuePreference rangeValuePref) {
RangeValuePreference rangeValuePref = (RangeValuePreference) pref;
Setting.privateSetValueFromString(setting, rangeValuePref.getValue()); Setting.privateSetValueFromString(setting, rangeValuePref.getValue());
} else if (pref instanceof DownloadPathPreference) { } else if (pref instanceof DownloadPathPreference downloadPathPref) {
DownloadPathPreference downloadPathPref = (DownloadPathPreference) pref;
Setting.privateSetValueFromString(setting, downloadPathPref.getValue()); Setting.privateSetValueFromString(setting, downloadPathPref.getValue());
} else { } else {
super.syncSettingWithPreference(pref, setting, applySettingToPreference); super.syncSettingWithPreference(pref, setting, applySettingToPreference);

View File

@@ -1,13 +1,15 @@
package app.revanced.extension.tiktok.settings.preference; package app.revanced.extension.tiktok.settings.preference;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.view.View;
import java.util.Map; import java.util.Map;
import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.settings.preference.ReVancedAboutPreference; import app.revanced.extension.shared.settings.preference.ReVancedAboutPreference;
import app.revanced.extension.tiktok.Utils;
@SuppressWarnings("deprecation")
public class ReVancedTikTokAboutPreference extends ReVancedAboutPreference { public class ReVancedTikTokAboutPreference extends ReVancedAboutPreference {
/** /**
@@ -23,22 +25,11 @@ public class ReVancedTikTokAboutPreference extends ReVancedAboutPreference {
"revanced_settings_about_links_header", "Official links" "revanced_settings_about_links_header", "Official links"
); );
{
//noinspection deprecation
setTitle("About");
}
public ReVancedTikTokAboutPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public ReVancedTikTokAboutPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public ReVancedTikTokAboutPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ReVancedTikTokAboutPreference(Context context) { public ReVancedTikTokAboutPreference(Context context) {
super(context); super(context);
setTitle("About");
setSummary("About ReVanced");
} }
@Override @Override
@@ -52,4 +43,11 @@ public class ReVancedTikTokAboutPreference extends ReVancedAboutPreference {
return String.format(format, args); return String.format(format, args);
} }
@Override
protected void onBindView(View view) {
super.onBindView(view);
Utils.setTitleAndSummaryColor(getContext(), view);
}
} }

View File

@@ -2,16 +2,26 @@ package app.revanced.extension.tiktok.settings.preference;
import android.content.Context; import android.content.Context;
import android.preference.SwitchPreference; import android.preference.SwitchPreference;
import android.view.View;
import app.revanced.extension.shared.settings.BooleanSetting; import app.revanced.extension.shared.settings.BooleanSetting;
import app.revanced.extension.tiktok.Utils;
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public class TogglePreference extends SwitchPreference { public class TogglePreference extends SwitchPreference {
public TogglePreference(Context context, String title, String summary, BooleanSetting setting) { public TogglePreference(Context context, String title, String summary, BooleanSetting setting) {
super(context); super(context);
this.setTitle(title); setTitle(title);
this.setSummary(summary); setSummary(summary);
this.setKey(setting.key); setKey(setting.key);
this.setChecked(setting.get()); setChecked(setting.get());
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
Utils.setTitleAndSummaryColor(getContext(), view);
} }
} }

View File

@@ -18,7 +18,7 @@ public final class ChangeStartPagePatch {
/** /**
* Unmodified type, and same as un-patched. * Unmodified type, and same as un-patched.
*/ */
ORIGINAL("", null), DEFAULT("", null),
/** /**
* Browse id. * Browse id.

View File

@@ -30,7 +30,7 @@ public final class MiniplayerPatch {
*/ */
DISABLED(false, null), DISABLED(false, null),
/** Unmodified type, and same as un-patched. */ /** Unmodified type, and same as un-patched. */
ORIGINAL(null, null), DEFAULT(null, null),
/** /**
* Exactly the same as MINIMAL and only here for migration of user settings. * Exactly the same as MINIMAL and only here for migration of user settings.
* Eventually this should be deleted. * Eventually this should be deleted.
@@ -182,7 +182,7 @@ public final class MiniplayerPatch {
* effectively disabling the miniplayer. * effectively disabling the miniplayer.
*/ */
public static boolean getMiniplayerOnCloseHandler(boolean original) { public static boolean getMiniplayerOnCloseHandler(boolean original) {
return CURRENT_TYPE == ORIGINAL return CURRENT_TYPE == DEFAULT
? original ? original
: CURRENT_TYPE == DISABLED; : CURRENT_TYPE == DISABLED;
} }
@@ -201,7 +201,7 @@ public final class MiniplayerPatch {
* Injection point. * Injection point.
*/ */
public static boolean getModernMiniplayerOverride(boolean original) { public static boolean getModernMiniplayerOverride(boolean original) {
return CURRENT_TYPE == ORIGINAL return CURRENT_TYPE == DEFAULT
? original ? original
: CURRENT_TYPE.isModern(); : CURRENT_TYPE.isModern();
} }
@@ -229,7 +229,7 @@ public final class MiniplayerPatch {
* Injection point. * Injection point.
*/ */
public static boolean getModernFeatureFlagsActiveOverride(boolean original) { public static boolean getModernFeatureFlagsActiveOverride(boolean original) {
if (CURRENT_TYPE == ORIGINAL) { if (CURRENT_TYPE == DEFAULT) {
return original; return original;
} }
@@ -240,7 +240,7 @@ public final class MiniplayerPatch {
* Injection point. * Injection point.
*/ */
public static boolean enableMiniplayerDoubleTapAction(boolean original) { public static boolean enableMiniplayerDoubleTapAction(boolean original) {
if (CURRENT_TYPE == ORIGINAL) { if (CURRENT_TYPE == DEFAULT) {
return original; return original;
} }
@@ -251,7 +251,7 @@ public final class MiniplayerPatch {
* Injection point. * Injection point.
*/ */
public static boolean enableMiniplayerDragAndDrop(boolean original) { public static boolean enableMiniplayerDragAndDrop(boolean original) {
if (CURRENT_TYPE == ORIGINAL) { if (CURRENT_TYPE == DEFAULT) {
return original; return original;
} }

View File

@@ -142,7 +142,7 @@ public class Settings extends BaseSettings {
public static final IntegerSetting PLAYER_OVERLAY_OPACITY = new IntegerSetting("revanced_player_overlay_opacity", 100, true); public static final IntegerSetting PLAYER_OVERLAY_OPACITY = new IntegerSetting("revanced_player_overlay_opacity", 100, true);
public static final BooleanSetting OPEN_VIDEOS_FULLSCREEN_PORTRAIT = new BooleanSetting("revanced_open_videos_fullscreen_portrait", FALSE); public static final BooleanSetting OPEN_VIDEOS_FULLSCREEN_PORTRAIT = new BooleanSetting("revanced_open_videos_fullscreen_portrait", FALSE);
// Miniplayer // Miniplayer
public static final EnumSetting<MiniplayerType> MINIPLAYER_TYPE = new EnumSetting<>("revanced_miniplayer_type", MiniplayerType.ORIGINAL, true); public static final EnumSetting<MiniplayerType> MINIPLAYER_TYPE = new EnumSetting<>("revanced_miniplayer_type", MiniplayerType.DEFAULT, true);
private static final Availability MINIPLAYER_ANY_MODERN = MINIPLAYER_TYPE.availability(MODERN_1, MODERN_2, MODERN_3, MODERN_4); private static final Availability MINIPLAYER_ANY_MODERN = MINIPLAYER_TYPE.availability(MODERN_1, MODERN_2, MODERN_3, MODERN_4);
public static final BooleanSetting MINIPLAYER_DOUBLE_TAP_ACTION = new BooleanSetting("revanced_miniplayer_double_tap_action", TRUE, true, MINIPLAYER_ANY_MODERN); public static final BooleanSetting MINIPLAYER_DOUBLE_TAP_ACTION = new BooleanSetting("revanced_miniplayer_double_tap_action", TRUE, true, MINIPLAYER_ANY_MODERN);
public static final BooleanSetting MINIPLAYER_DRAG_AND_DROP = new BooleanSetting("revanced_miniplayer_drag_and_drop", TRUE, true, MINIPLAYER_ANY_MODERN); public static final BooleanSetting MINIPLAYER_DRAG_AND_DROP = new BooleanSetting("revanced_miniplayer_drag_and_drop", TRUE, true, MINIPLAYER_ANY_MODERN);
@@ -204,7 +204,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message"); public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message");
public static final BooleanSetting TABLET_LAYOUT = new BooleanSetting("revanced_tablet_layout", FALSE, true, "revanced_tablet_layout_user_dialog_message"); public static final BooleanSetting TABLET_LAYOUT = new BooleanSetting("revanced_tablet_layout", FALSE, true, "revanced_tablet_layout_user_dialog_message");
public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true); public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true);
public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.ORIGINAL, true); public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.DEFAULT, true);
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "19.35.36" : "17.33.42", true, parent(SPOOF_APP_VERSION)); public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", IS_19_17_OR_GREATER ? "19.35.36" : "17.33.42", true, parent(SPOOF_APP_VERSION));
// Custom filter // Custom filter
public static final BooleanSetting CUSTOM_FILTER = new BooleanSetting("revanced_custom_filter", FALSE); public static final BooleanSetting CUSTOM_FILTER = new BooleanSetting("revanced_custom_filter", FALSE);

View File

@@ -0,0 +1,85 @@
package app.revanced.extension.youtube.settings.preference;
import static app.revanced.extension.shared.StringRef.str;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.Preference;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
import androidx.annotation.Nullable;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.spoof.ClientType;
@SuppressWarnings({"deprecation", "unused"})
public class SpoofStreamingDataSideEffectsPreference extends Preference {
@Nullable
private ClientType currentClientType;
private final SharedPreferences.OnSharedPreferenceChangeListener listener = (sharedPreferences, str) -> {
// Because this listener may run before the ReVanced settings fragment updates Settings,
// this could show the prior config and not the current.
//
// Push this call to the end of the main run queue,
// so all other listeners are done and Settings is up to date.
Utils.runOnMainThread(this::updateUI);
};
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public SpoofStreamingDataSideEffectsPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SpoofStreamingDataSideEffectsPreference(Context context) {
super(context);
}
private void addChangeListener() {
Setting.preferences.preferences.registerOnSharedPreferenceChangeListener(listener);
}
private void removeChangeListener() {
Setting.preferences.preferences.unregisterOnSharedPreferenceChangeListener(listener);
}
@Override
protected void onAttachedToHierarchy(PreferenceManager preferenceManager) {
super.onAttachedToHierarchy(preferenceManager);
updateUI();
addChangeListener();
}
@Override
protected void onPrepareForRemoval() {
super.onPrepareForRemoval();
removeChangeListener();
}
private void updateUI() {
ClientType clientType = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get();
if (currentClientType == clientType) {
return;
}
Logger.printDebug(() -> "Updating spoof stream side effects preference");
setEnabled(BaseSettings.SPOOF_VIDEO_STREAMS.get());
String key = "revanced_spoof_video_streams_about_"
+ clientType.name().toLowerCase();
setTitle(str(key + "_title"));
setSummary(str(key + "_summary"));
}
}

View File

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

View File

@@ -60,6 +60,10 @@ public final class app/revanced/patches/all/misc/directory/ChangeDataDirectoryLo
public static final fun getChangeDataDirectoryLocationPatch ()Lapp/revanced/patcher/patch/BytecodePatch; public static final fun getChangeDataDirectoryLocationPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
} }
public final class app/revanced/patches/all/misc/directory/documentsprovider/ExportInternalDataDocumentsProviderPatchKt {
public static final fun getExportInternalDataDocumentsProviderPatch ()Lapp/revanced/patcher/patch/ResourcePatch;
}
public final class app/revanced/patches/all/misc/hex/HexPatchKt { public final class app/revanced/patches/all/misc/hex/HexPatchKt {
public static final fun getHexPatch ()Lapp/revanced/patcher/patch/RawResourcePatch; public static final fun getHexPatch ()Lapp/revanced/patcher/patch/RawResourcePatch;
} }

View File

@@ -1,58 +1,19 @@
package app.revanced.patches.all.misc.directory package app.revanced.patches.all.misc.directory
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.all.misc.transformation.transformInstructionsPatch import app.revanced.patches.all.misc.directory.documentsprovider.exportInternalDataDocumentsProviderPatch
import app.revanced.util.getReference
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
import com.android.tools.smali.dexlib2.immutable.reference.ImmutableMethodReference
import com.android.tools.smali.dexlib2.util.MethodUtil
@Suppress("unused") @Suppress("unused")
@Deprecated(
"Superseded by internalDataDocumentsProviderPatch",
ReplaceWith("internalDataDocumentsProviderPatch"),
)
val changeDataDirectoryLocationPatch = bytecodePatch( val changeDataDirectoryLocationPatch = bytecodePatch(
name = "Change data directory location", // name = "Change data directory location",
description = "Changes the data directory in the application from " + description = "Changes the data directory in the application from " +
"the app internal storage directory to /sdcard/android/data accessible by root-less devices." + "the app internal storage directory to /sdcard/android/data accessible by root-less devices." +
"Using this patch can cause unexpected issues with some apps.", "Using this patch can cause unexpected issues with some apps.",
use = false, use = false,
) { ) {
dependsOn( dependsOn(exportInternalDataDocumentsProviderPatch)
transformInstructionsPatch(
filterMap = filter@{ _, _, instruction, instructionIndex ->
val reference = instruction.getReference<MethodReference>() ?: return@filter null
if (!MethodUtil.methodSignaturesMatch(reference, MethodCall.GetDir.reference)) {
return@filter null
}
return@filter instructionIndex
},
transform = { method, index ->
val getDirInstruction = method.getInstruction<Instruction35c>(index)
val contextRegister = getDirInstruction.registerC
val dataRegister = getDirInstruction.registerD
method.replaceInstruction(
index,
"invoke-virtual { v$contextRegister, v$dataRegister }, " +
"Landroid/content/Context;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;",
)
},
),
)
}
private enum class MethodCall(
val reference: MethodReference,
) {
GetDir(
ImmutableMethodReference(
"Landroid/content/Context;",
"getDir",
listOf("Ljava/lang/String;", "I"),
"Ljava/io/File;",
),
),
} }

View File

@@ -0,0 +1,58 @@
package app.revanced.patches.all.misc.directory.documentsprovider
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.patch.resourcePatch
import app.revanced.util.asSequence
import app.revanced.util.getNode
@Suppress("unused")
val exportInternalDataDocumentsProviderPatch = resourcePatch(
name = "Export internal data documents provider",
description = "Exports a documents provider that grants access to the internal data directory of this app " +
"to file managers and other apps that support the Storage Access Framework.",
use = false,
) {
dependsOn(
bytecodePatch {
extendWith("extensions/all/misc/directory/export-internal-data-documents-provider.rve")
},
)
execute {
val documentsProviderClass =
"app.revanced.extension.all.misc.directory.documentsprovider.InternalDataDocumentsProvider"
document("AndroidManifest.xml").use { document ->
// Check if the provider is already declared
if (document.getElementsByTagName("provider")
.asSequence()
.any { it.attributes.getNamedItem("android:name")?.nodeValue == documentsProviderClass }
) {
return@execute
}
val authority =
document.getNode("manifest").attributes.getNamedItem("package").let {
// Select a URI authority name that is unique to the current app
"${it.nodeValue}.$documentsProviderClass"
}
// Register the documents provider
with(document.getNode("application")) {
document.createElement("provider").apply {
setAttribute("android:name", documentsProviderClass)
setAttribute("android:authorities", authority)
setAttribute("android:exported", "true")
setAttribute("android:grantUriPermissions", "true")
setAttribute("android:permission", "android.permission.MANAGE_DOCUMENTS")
document.createElement("intent-filter").apply {
document.createElement("action").apply {
setAttribute("android:name", "android.content.action.DOCUMENTS_PROVIDER")
}.let(this::appendChild)
}.let(this::appendChild)
}.let(this::appendChild)
}
}
}
}

View File

@@ -45,8 +45,11 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch({
summaryKey = null summaryKey = null
), ),
SwitchPreference("revanced_spoof_video_streams_ios_force_avc"), SwitchPreference("revanced_spoof_video_streams_ios_force_avc"),
NonInteractivePreference("revanced_spoof_video_streams_about_android_vr"), // Preference requires a title but the actual text is chosen at runtime.
NonInteractivePreference("revanced_spoof_video_streams_about_ios"), NonInteractivePreference(
key = "revanced_spoof_video_streams_about_android_vr",
tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference"
),
), ),
), ),
) )

View File

@@ -1017,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">تغيير نمط المشغل المصغر داخل التطبيق</string> <string name="revanced_miniplayer_screen_summary">تغيير نمط المشغل المصغر داخل التطبيق</string>
<string name="revanced_miniplayer_type_title">نوع المشغل المصغر</string> <string name="revanced_miniplayer_type_title">نوع المشغل المصغر</string>
<string name="revanced_miniplayer_type_entry_0">معطّل</string> <string name="revanced_miniplayer_type_entry_0">معطّل</string>
<string name="revanced_miniplayer_type_entry_1">الأصلي</string> <string name="revanced_miniplayer_type_entry_1">إفتراضي</string>
<string name="revanced_miniplayer_type_entry_2">الحد الأدنى</string> <string name="revanced_miniplayer_type_entry_2">الحد الأدنى</string>
<string name="revanced_miniplayer_type_entry_3">الجهاز اللوحي</string> <string name="revanced_miniplayer_type_entry_3">الجهاز اللوحي</string>
<string name="revanced_miniplayer_type_entry_4">حديث 1</string> <string name="revanced_miniplayer_type_entry_4">حديث 1</string>
@@ -1209,11 +1209,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">يتم تحديد رمز الفيديو تلقائياً</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">يتم تحديد رمز الفيديو تلقائياً</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">تمكين هذا قد يحسّن عمر البطارية وإصلاح تشغيل التشغيل.\n\nAVC لها حد أقصى قدره 1080p، رمز الصوت Opus غير متوفر. وسيستخدم تشغيل الفيديو بيانات إنترنت أكثر من VP9 أو AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">تمكين هذا قد يحسّن عمر البطارية وإصلاح تشغيل التشغيل.\n\nAVC لها حد أقصى قدره 1080p، رمز الصوت Opus غير متوفر. وسيستخدم تشغيل الفيديو بيانات إنترنت أكثر من VP9 أو AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">التأثيرات الجانبية لمحاكاة iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">التأثيرات الجانبية لمحاكاة iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• قد لا يتم تشغيل فيديوهات الأطفال الخاصة\n• تبدأ البثوث المباشرة من البداية\n• قد تنتهي الفيديوهات قبل النهاية بثانية واحدة</string> <string name="revanced_spoof_video_streams_about_ios_summary">• قد لا تشغل مقاطع فيديو الأطفال الخاصون\n• قد لا تشغل مقاطع الفيديو المقيدة العمر\n• تبدأ Livestreams من بداية\n• تنتهي مقاطع الفيديو 1 ثانية في وقت مبكر</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">التأثيرات الجانبية لمحاكاة Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">التأثيرات الجانبية لمحاكاة Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• قد لا يتم تشغيل فيديوهات الأطفال\n• قائمة المقطع الصوتي مفقودة\n• مستوى الصوت الثابت غير متوفر</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• قد لا تشغل مقاطع فيديو الأطفال\n• قد لا تشغل مقاطع الفيديو المقيدة العمر\n• تبدأ Livestreams من بداية\n• تنتهي مقاطع الفيديو 1 ثانية في وقت مبكر</string>
<string name="revanced_spoof_video_streams_language_">يتم تزييف تدفقات الفيديو</string> <string name="revanced_spoof_video_streams_language_title">لغة البث الصوتي الافتراضية</string>
<string name="revanced_spoof_video_streams_language_title">لغة البث الصوتي المفضلة</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">لغة التطبيق</string> <string name="revanced_spoof_video_streams_language_DEFAULT">لغة التطبيق</string>
<string name="revanced_spoof_video_streams_language_AR">العربية</string> <string name="revanced_spoof_video_streams_language_AR">العربية</string>
<string name="revanced_spoof_video_streams_language_AZ">الأذربيجانية</string> <string name="revanced_spoof_video_streams_language_AZ">الأذربيجانية</string>

View File

@@ -710,6 +710,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Oynadıcıılan pəncərə panelləri göstərilir</string> <string name="revanced_hide_player_popup_panels_summary_off">Oynadıcıılan pəncərə panelləri göstərilir</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Videoları tam ekran təsvirində aç</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videolar tam ekranda açılır</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Videolar tam ekranda açılmır</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Oynadıcı örtüyünün qeyri-şəffaflığı</string> <string name="revanced_player_overlay_opacity_title">Oynadıcı örtüyünün qeyri-şəffaflığı</string>
@@ -1014,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Tətbiqdə kiçildilən oynadıcı üslubunu dəyişdir</string> <string name="revanced_miniplayer_screen_summary">Tətbiqdə kiçildilən oynadıcı üslubunu dəyişdir</string>
<string name="revanced_miniplayer_type_title">Kiçik oynadıcı növü</string> <string name="revanced_miniplayer_type_title">Kiçik oynadıcı növü</string>
<string name="revanced_miniplayer_type_entry_0">Qeyri-aktivdir</string> <string name="revanced_miniplayer_type_entry_0">Qeyri-aktivdir</string>
<string name="revanced_miniplayer_type_entry_1">Orijinal</string> <string name="revanced_miniplayer_type_entry_1">İlkin</string>
<string name="revanced_miniplayer_type_entry_2">Ən kiçik</string> <string name="revanced_miniplayer_type_entry_2">Ən kiçik</string>
<string name="revanced_miniplayer_type_entry_3">Planşet</string> <string name="revanced_miniplayer_type_entry_3">Planşet</string>
<string name="revanced_miniplayer_type_entry_4">Müasir 1</string> <string name="revanced_miniplayer_type_entry_4">Müasir 1</string>
@@ -1202,11 +1205,67 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Bu seçimi bağlamaq, video oynatma problemlərinə səbəb olar.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Bu seçimi bağlamaq, video oynatma problemlərinə səbəb olar.</string>
<string name="revanced_spoof_video_streams_client_title">İlkin qəbuledici</string> <string name="revanced_spoof_video_streams_client_title">İlkin qəbuledici</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Məcburi AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Məcburi AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodlama AVC (H.264) -yə məcbur edilir</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodlama birbaşa yoxlanılır</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Bunu aktivləşdirmə batareya ömrün yaxşılaşdıra və oynatma donmasını düzəldə bilər.\n\nAVC maksimum 1080p görüntü imkanına malikdir, Opus səs kodlama əlçatan deyil və video oynatma VP9 və ya AV1-dən daha çox internet resursu işlədəcək.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS saxtakarlığı yan təsirləri</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS saxtakarlığı yan təsirləri</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Uşaq videoları oxudulmaya bilər\n• Canlı yayımlar başdan başlayır\n• Videolar 1 saniyə tez bitə bilər</string> <string name="revanced_spoof_video_streams_about_ios_summary">Şəxsi uşaq videoları oynadıla bilməz\n• Yaş məhdudiyyətli videolar oynadıla bilməz\n• Canlı yayımlar əvvəldən başlayır\n• Videolar 1 saniyə tez bitir</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR saxtakarlığı yan təsirləri</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR saxtakarlığı yan təsirləri</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">Uşaq videoları oynadılmaya bilər\n• Səs treki menyusu əskikdir\n• Sabit səs həcmi əlçatan deyil</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">Uşaq videoları oynadıla bilməz\n• Yaş məhdudiyyətli videolar oynadıla bilməz\n• Canlı yayımlar əvvəldən başlayır\n• Videolar 1 saniyə tez bitir</string>
<string name="revanced_spoof_video_streams_language_">Video yayımları saxtalaşdırılır</string> <string name="revanced_spoof_video_streams_language_title">İlkin səs yayımı dili</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Tətbiq dili</string>
<string name="revanced_spoof_video_streams_language_AR">Ərəbcə</string>
<string name="revanced_spoof_video_streams_language_AZ">Azərbaycanca</string>
<string name="revanced_spoof_video_streams_language_BG">Bolqarca</string>
<string name="revanced_spoof_video_streams_language_BN">Benqalca</string>
<string name="revanced_spoof_video_streams_language_CA">Katalanca</string>
<string name="revanced_spoof_video_streams_language_CS">Çexcə</string>
<string name="revanced_spoof_video_streams_language_DA">Danimarka dili</string>
<string name="revanced_spoof_video_streams_language_DE">Almanca</string>
<string name="revanced_spoof_video_streams_language_EL">Yunanca</string>
<string name="revanced_spoof_video_streams_language_EN">İngiliscə</string>
<string name="revanced_spoof_video_streams_language_ES">İspanca</string>
<string name="revanced_spoof_video_streams_language_ET">Estonca</string>
<string name="revanced_spoof_video_streams_language_FA">Farsca</string>
<string name="revanced_spoof_video_streams_language_FI">Fincə</string>
<string name="revanced_spoof_video_streams_language_FR">Fransızca</string>
<string name="revanced_spoof_video_streams_language_GU">Qücərat dili</string>
<string name="revanced_spoof_video_streams_language_HI">Hindcə</string>
<string name="revanced_spoof_video_streams_language_HR">Xorvatca</string>
<string name="revanced_spoof_video_streams_language_HU">Macarca</string>
<string name="revanced_spoof_video_streams_language_ID">İndoneziya dili</string>
<string name="revanced_spoof_video_streams_language_IT">İtalyanca</string>
<string name="revanced_spoof_video_streams_language_JA">Yaponca</string>
<string name="revanced_spoof_video_streams_language_KK">Qazaxca</string>
<string name="revanced_spoof_video_streams_language_KO">Koreyaca</string>
<string name="revanced_spoof_video_streams_language_LT">Litvaca</string>
<string name="revanced_spoof_video_streams_language_LV">Letonca</string>
<string name="revanced_spoof_video_streams_language_MK">Makedon Dili</string>
<string name="revanced_spoof_video_streams_language_MN">Monqolca</string>
<string name="revanced_spoof_video_streams_language_MR">Marathi dili</string>
<string name="revanced_spoof_video_streams_language_MS">Malay dili</string>
<string name="revanced_spoof_video_streams_language_MY">Birman dili</string>
<string name="revanced_spoof_video_streams_language_NL">Hollandca</string>
<string name="revanced_spoof_video_streams_language_OR">Oriya dili</string>
<string name="revanced_spoof_video_streams_language_PA">Pəncabca</string>
<string name="revanced_spoof_video_streams_language_PL">Polyak dili</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portuqalca (Braziliya)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portuqalca (Portəgiz)</string>
<string name="revanced_spoof_video_streams_language_RO">Rumınca</string>
<string name="revanced_spoof_video_streams_language_RU">Rusca</string>
<string name="revanced_spoof_video_streams_language_SK">Slovak dili</string>
<string name="revanced_spoof_video_streams_language_SL">Sloven dili</string>
<string name="revanced_spoof_video_streams_language_SR">Serbcə</string>
<string name="revanced_spoof_video_streams_language_SV">İsveçcə</string>
<string name="revanced_spoof_video_streams_language_SW">Suahili dili</string>
<string name="revanced_spoof_video_streams_language_TA">Tamilcə</string>
<string name="revanced_spoof_video_streams_language_TE">Teluquca</string>
<string name="revanced_spoof_video_streams_language_TH">Tay dili</string>
<string name="revanced_spoof_video_streams_language_TR">Türkcə</string>
<string name="revanced_spoof_video_streams_language_UK">Ukrayna dili</string>
<string name="revanced_spoof_video_streams_language_UR">Urduca</string>
<string name="revanced_spoof_video_streams_language_VI">Vyetnamca</string>
<string name="revanced_spoof_video_streams_language_ZH">Çincə</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -919,7 +919,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Змяніце стыль мінімізаванага плэера ў праграме</string> <string name="revanced_miniplayer_screen_summary">Змяніце стыль мінімізаванага плэера ў праграме</string>
<string name="revanced_miniplayer_type_title">Тып мініплэера</string> <string name="revanced_miniplayer_type_title">Тып мініплэера</string>
<string name="revanced_miniplayer_type_entry_0">Інваліды</string> <string name="revanced_miniplayer_type_entry_0">Інваліды</string>
<string name="revanced_miniplayer_type_entry_1">Арыгінал</string> <string name="revanced_miniplayer_type_entry_1">Па змаўчанні</string>
<string name="revanced_miniplayer_type_entry_3">Планшэт</string> <string name="revanced_miniplayer_type_entry_3">Планшэт</string>
<string name="revanced_miniplayer_type_entry_4">Сучасны 1</string> <string name="revanced_miniplayer_type_entry_4">Сучасны 1</string>
<string name="revanced_miniplayer_type_entry_5">Сучасны 2</string> <string name="revanced_miniplayer_type_entry_5">Сучасны 2</string>

View File

@@ -710,6 +710,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Изскачащите панели на плейъра се показват</string> <string name="revanced_hide_player_popup_panels_summary_off">Изскачащите панели на плейъра се показват</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Отваряне на видеоклипове в портретен режим на цял екран</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Видеоклиповете се отварят на цял екран</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Видеоклиповете Не се отварят на цял екран</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Прозрачност на настройките в Плеара</string> <string name="revanced_player_overlay_opacity_title">Прозрачност на настройките в Плеара</string>
@@ -1014,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Променете стила на минимизирания екран за възпроизвеждане</string> <string name="revanced_miniplayer_screen_summary">Променете стила на минимизирания екран за възпроизвеждане</string>
<string name="revanced_miniplayer_type_title">Минимизиран тип екран за гледане</string> <string name="revanced_miniplayer_type_title">Минимизиран тип екран за гледане</string>
<string name="revanced_miniplayer_type_entry_0">Деактивирано</string> <string name="revanced_miniplayer_type_entry_0">Деактивирано</string>
<string name="revanced_miniplayer_type_entry_1">Оригинал</string> <string name="revanced_miniplayer_type_entry_1">По подразбиране</string>
<string name="revanced_miniplayer_type_entry_2">Минимално</string> <string name="revanced_miniplayer_type_entry_2">Минимално</string>
<string name="revanced_miniplayer_type_entry_3">Таблет</string> <string name="revanced_miniplayer_type_entry_3">Таблет</string>
<string name="revanced_miniplayer_type_entry_4">Модерен 1</string> <string name="revanced_miniplayer_type_entry_4">Модерен 1</string>
@@ -1202,10 +1205,13 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Деактивирането на тази настройка ще доведе до проблеми с възпроизвеждането на видео.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Деактивирането на тази настройка ще доведе до проблеми с възпроизвеждането на видео.</string>
<string name="revanced_spoof_video_streams_client_title">Клиент по подразбиране</string> <string name="revanced_spoof_video_streams_client_title">Клиент по подразбиране</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Принудително AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Принудително AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Видео кодек по подразбиране AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Видео кодекът се определя автоматично</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Активирането на това може да подобри живота на батерията и да коригира прекъсванията при възпроизвеждане.\n\nAVC има максимална разделителна способност от 1080p, аудиокодек Opus не е наличен и възпроизвеждането на видео ще използва повече интернет данни от VP9 или AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">ранични ефекти от подмяната на iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">ранични ефекти от подмяната на iOS</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Странични ефекти от подправяне на Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Странични ефекти от подправяне на Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Детските видеоклипове може да не се възпроизвеждат\n• Липсва менюто за аудио запис\n• Не е налична стабилна сила на звука</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Език на приложението</string>
<string name="revanced_spoof_video_streams_language_">Видео потоците са подправени</string> <string name="revanced_spoof_video_streams_language_BG">Български</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -910,7 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">অ্যাপের মধ্যকার মিনিমাইজড প্লেয়ার এর ধরণ পরিবর্তন করুন</string> <string name="revanced_miniplayer_screen_summary">অ্যাপের মধ্যকার মিনিমাইজড প্লেয়ার এর ধরণ পরিবর্তন করুন</string>
<string name="revanced_miniplayer_type_title">মিনিপ্লেয়ার ধরণ</string> <string name="revanced_miniplayer_type_title">মিনিপ্লেয়ার ধরণ</string>
<string name="revanced_miniplayer_type_entry_0">নিষ্ক্রিয় হয়েছে</string> <string name="revanced_miniplayer_type_entry_0">নিষ্ক্রিয় হয়েছে</string>
<string name="revanced_miniplayer_type_entry_1">আসল</string> <string name="revanced_miniplayer_type_entry_1">পূর্ব-নির্ধারিত</string>
<string name="revanced_miniplayer_type_entry_3">ট্যাবলেট</string> <string name="revanced_miniplayer_type_entry_3">ট্যাবলেট</string>
<string name="revanced_miniplayer_type_entry_4">মর্ডান ১</string> <string name="revanced_miniplayer_type_entry_4">মর্ডান ১</string>
<string name="revanced_miniplayer_type_entry_5">মর্ডান ২</string> <string name="revanced_miniplayer_type_entry_5">মর্ডান ২</string>
@@ -1068,7 +1068,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে।</string> <string name="revanced_spoof_video_streams_user_dialog_message">এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে।</string>
<string name="revanced_spoof_video_streams_client_title">ডিফল্ট ক্লায়েন্ট</string> <string name="revanced_spoof_video_streams_client_title">ডিফল্ট ক্লায়েন্ট</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) ফোর্স করুন</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) ফোর্স করুন</string>
<string name="revanced_spoof_video_streams_language_">ভিডিও স্ট্রিম স্পুফ করা হয়েছে</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -1018,7 +1018,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Změnit styl přehrávače minimalizovaného nastavení</string> <string name="revanced_miniplayer_screen_summary">Změnit styl přehrávače minimalizovaného nastavení</string>
<string name="revanced_miniplayer_type_title">Typ minipřehrávače</string> <string name="revanced_miniplayer_type_title">Typ minipřehrávače</string>
<string name="revanced_miniplayer_type_entry_0">Vypnuto</string> <string name="revanced_miniplayer_type_entry_0">Vypnuto</string>
<string name="revanced_miniplayer_type_entry_1">Původní</string> <string name="revanced_miniplayer_type_entry_1">Výchozí</string>
<string name="revanced_miniplayer_type_entry_2">Minimální</string> <string name="revanced_miniplayer_type_entry_2">Minimální</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Moderní 1</string> <string name="revanced_miniplayer_type_entry_4">Moderní 1</string>
@@ -1210,11 +1210,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Kodek videa je určen automaticky</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Kodek videa je určen automaticky</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Povolení této funkce může zlepšit životnost baterie a opravit stahování přehrávání.\n\nAVC má maximální rozlišení 1080p, Opus audio kodek není k dispozici, a přehrávání videa bude používat více dat na internetu než VP9 nebo AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Povolení této funkce může zlepšit životnost baterie a opravit stahování přehrávání.\n\nAVC má maximální rozlišení 1080p, Opus audio kodek není k dispozici, a přehrávání videa bude používat více dat na internetu než VP9 nebo AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Boční efekty iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Boční efekty iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Soukromé děti videa nemusí přehrávat\n• Živočišné rekony začínající od začátku\n• Videa mohou skončit 1 sekundu</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Soukromé děti videa nemusí přehrávat\n• Věkově omezená videa nemusí přehrát\n• Živočišné sny začínající od začátku\n• Videa končí 1 sekundu na začátku</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Boční efekty Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Boční efekty Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Dětská videa nemusí přehrát\n• Menu zvukové stopy chybí\n• Stabilní hlasitost není k dispozici</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Dětská videa nemusí přehrávat\n• Věkově omezená videa nemusí přehrát\n• Životní sny začínající od začátku\n• Videa ukončí 1 sekundu</string>
<string name="revanced_spoof_video_streams_language_">Video streamy jsou falešné</string> <string name="revanced_spoof_video_streams_language_title">Výchozí jazyk audio streamu</string>
<string name="revanced_spoof_video_streams_language_title">Preferovaný jazyk audio streamu</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Jazyk aplikace</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Jazyk aplikace</string>
<string name="revanced_spoof_video_streams_language_AR">Arabština</string> <string name="revanced_spoof_video_streams_language_AR">Arabština</string>
<string name="revanced_spoof_video_streams_language_AZ">Ázerbájdžán</string> <string name="revanced_spoof_video_streams_language_AZ">Ázerbájdžán</string>

View File

@@ -1000,7 +1000,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Ændre stilen for den i app minimeret afspiller</string> <string name="revanced_miniplayer_screen_summary">Ændre stilen for den i app minimeret afspiller</string>
<string name="revanced_miniplayer_type_title">Type af miniplayer</string> <string name="revanced_miniplayer_type_title">Type af miniplayer</string>
<string name="revanced_miniplayer_type_entry_0">Deaktiveret</string> <string name="revanced_miniplayer_type_entry_0">Deaktiveret</string>
<string name="revanced_miniplayer_type_entry_1">Oprindelig</string> <string name="revanced_miniplayer_type_entry_1">Standard</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string> <string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Moderne 1</string> <string name="revanced_miniplayer_type_entry_4">Moderne 1</string>
@@ -1192,11 +1192,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-codec bestemmes automatisk</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-codec bestemmes automatisk</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Aktivering af dette kan forbedre batteriets levetid og rette afspilningsstuttering.\n\nAVC har en maksimal opløsning på 1080p, Opus audio codec er ikke tilgængelig, og videoafspilning vil bruge flere internetdata end VP9 eller AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Aktivering af dette kan forbedre batteriets levetid og rette afspilningsstuttering.\n\nAVC har en maksimal opløsning på 1080p, Opus audio codec er ikke tilgængelig, og videoafspilning vil bruge flere internetdata end VP9 eller AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS forfalskning bivirkninger</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS forfalskning bivirkninger</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Private børn videoer kan ikke afspille\n• Livestreams starter fra begyndelsen\n• Videoer kan ende 1 sekund tidlig</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Private børn videoer kan ikke afspille\n• Aldersbegrænsede videoer kan ikke afspille\n• Livestreams starter fra begyndelsen\n• Videoer slutter 1 sekund tidlig</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR spoofing bivirkninger</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR spoofing bivirkninger</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids videoer afspiller muligvis ikke\n• Menuen for lydspor mangler\n• Stabil lydstyrke er ikke tilgængelig</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids videoer spiller muligvis ikke\n• Aldersbegrænsede videoer spiller muligvis ikke\n• Livestreams starter fra begyndelsen\n• Videoer slutter 1 sekund tidlig</string>
<string name="revanced_spoof_video_streams_language_">Video streams er spoofed</string> <string name="revanced_spoof_video_streams_language_title">Standard lyd-stream sprog</string>
<string name="revanced_spoof_video_streams_language_title">Foretrukket lyd-stream sprog</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App sprog</string> <string name="revanced_spoof_video_streams_language_DEFAULT">App sprog</string>
<string name="revanced_spoof_video_streams_language_AR">Arabisk</string> <string name="revanced_spoof_video_streams_language_AR">Arabisk</string>
<string name="revanced_spoof_video_streams_language_AZ">Aserbajdsjansk</string> <string name="revanced_spoof_video_streams_language_AZ">Aserbajdsjansk</string>

View File

@@ -1018,7 +1018,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Ändere den Stil des in App minimierten Players</string> <string name="revanced_miniplayer_screen_summary">Ändere den Stil des in App minimierten Players</string>
<string name="revanced_miniplayer_type_title">Minispielertyp</string> <string name="revanced_miniplayer_type_title">Minispielertyp</string>
<string name="revanced_miniplayer_type_entry_0">Deaktiviert</string> <string name="revanced_miniplayer_type_entry_0">Deaktiviert</string>
<string name="revanced_miniplayer_type_entry_1">Original</string> <string name="revanced_miniplayer_type_entry_1">Standard</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string> <string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Tablets</string> <string name="revanced_miniplayer_type_entry_3">Tablets</string>
<string name="revanced_miniplayer_type_entry_4">Modern 1</string> <string name="revanced_miniplayer_type_entry_4">Modern 1</string>
@@ -1210,11 +1210,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-Codec wird automatisch bestimmt</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-Codec wird automatisch bestimmt</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Das Aktivieren kann die Akkulaufzeit verbessern und die Wiedergabe-Stutting beheben.\n\nAVC hat eine maximale Auflösung von 1080p, Opus Audio Codec ist nicht verfügbar und Video-Wiedergabe wird mehr Internet-Daten als VP9 oder AV1 verwenden.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Das Aktivieren kann die Akkulaufzeit verbessern und die Wiedergabe-Stutting beheben.\n\nAVC hat eine maximale Auflösung von 1080p, Opus Audio Codec ist nicht verfügbar und Video-Wiedergabe wird mehr Internet-Daten als VP9 oder AV1 verwenden.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS Spoofing Nebeneffekte</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS Spoofing Nebeneffekte</string>
<string name="revanced_spoof_video_streams_about_ios_summary">Videos für private Kinder dürfen nicht\nabspielen • Livestreams beginnen von Anfang an\n• Videos können 1 Sekunde früher enden</string> <string name="revanced_spoof_video_streams_about_ios_summary">Private Kindervideos dürfen nicht\nabspielen • Altersbeschränkte Videos dürfen nicht\n• Livestreams beginnen von Anfang an\n• Videos enden 1 Sekunde früh</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR Spoofing Nebeneffekte</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR Spoofing Nebeneffekte</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Kindervideos dürfen nicht\nabspielen • Audiospurmenü fehlt\n• Stabile Lautstärke ist nicht verfügbar</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Kindervideos dürfen nicht\nabspielen • Altersbeschränkte Videos dürfen nicht\n• Livestreams beginnen von Anfang an\n• Videos enden 1 Sekunde früh</string>
<string name="revanced_spoof_video_streams_language_">Video-Streams sind gefälscht</string> <string name="revanced_spoof_video_streams_language_title">Standard Audio Streamsprache</string>
<string name="revanced_spoof_video_streams_language_title">Bevorzugte Audio-Stream-Sprache</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App-Sprache</string> <string name="revanced_spoof_video_streams_language_DEFAULT">App-Sprache</string>
<string name="revanced_spoof_video_streams_language_AR">Arabisch</string> <string name="revanced_spoof_video_streams_language_AR">Arabisch</string>
<string name="revanced_spoof_video_streams_language_AZ">Aserbaidschan</string> <string name="revanced_spoof_video_streams_language_AZ">Aserbaidschan</string>

View File

@@ -1017,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Αλλάξτε το στυλ της ελαχιστοποιημένης οθόνης αναπαραγωγής</string> <string name="revanced_miniplayer_screen_summary">Αλλάξτε το στυλ της ελαχιστοποιημένης οθόνης αναπαραγωγής</string>
<string name="revanced_miniplayer_type_title">Τύπος ελαχιστοποιημένης οθόνης αναπαραγωγής</string> <string name="revanced_miniplayer_type_title">Τύπος ελαχιστοποιημένης οθόνης αναπαραγωγής</string>
<string name="revanced_miniplayer_type_entry_0">Ανενεργή</string> <string name="revanced_miniplayer_type_entry_0">Ανενεργή</string>
<string name="revanced_miniplayer_type_entry_1">Αρχικός</string> <string name="revanced_miniplayer_type_entry_1">Προεπιλογή</string>
<string name="revanced_miniplayer_type_entry_2">Ελάχιστη</string> <string name="revanced_miniplayer_type_entry_2">Ελάχιστη</string>
<string name="revanced_miniplayer_type_entry_3">Ταμπλετ</string> <string name="revanced_miniplayer_type_entry_3">Ταμπλετ</string>
<string name="revanced_miniplayer_type_entry_4">Μοντέρνα 1</string> <string name="revanced_miniplayer_type_entry_4">Μοντέρνα 1</string>
@@ -1209,11 +1209,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Ο κωδικοποιητής βίντεο ορίζεται αυτόματα</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Ο κωδικοποιητής βίντεο ορίζεται αυτόματα</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Η ενεργοποίηση αυτού μπορεί να βελτιώσει τη διάρκεια ζωής της μπαταρίας και να διορθώσει κολλήματα αναπαραγωγής.\n\nΟ AVC έχει μέγιστη ανάλυση 1080p, ο κωδικοποιητής ήχου Opus δεν είναι διαθέσιμος και η αναπαραγωγή βίντεο θα καταναλώνει περισσότερα δεδομένα internet από τον VP9 ή τον AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Η ενεργοποίηση αυτού μπορεί να βελτιώσει τη διάρκεια ζωής της μπαταρίας και να διορθώσει κολλήματα αναπαραγωγής.\n\nΟ AVC έχει μέγιστη ανάλυση 1080p, ο κωδικοποιητής ήχου Opus δεν είναι διαθέσιμος και η αναπαραγωγή βίντεο θα καταναλώνει περισσότερα δεδομένα internet από τον VP9 ή τον AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Παρενέργειες παραποίησης σε iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Παρενέργειες παραποίησης σε iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">Ιδιωτικά βίντεο για παιδιά ενδεχομένως να μην αναπαράγονται\n• Οι ζωντανές μεταδόσεις ξεκινούν από την αρχή\n• Τα βίντεο ενδέχεται να λήξουν 1 δευτερόλεπτο νωρίτερα</string> <string name="revanced_spoof_video_streams_about_ios_summary">Τα ιδιωτικά βίντεο για παιδιά μπορεί να μην παίζουν\n• Τα βίντεο περιορισμένης ηλικίας μπορεί να μην παίζουν\n• Livestreams ξεκινούν από την αρχή\n• Τα βίντεο λήγουν 1 δευτερόλεπτο νωρίς</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Παρενέργειες παραποίησης σε Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Παρενέργειες παραποίησης σε Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται\n• Το μενού «Κομμάτι ήχου» λείπει\n• Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">Τα βίντεο για παιδιά μπορεί να μην παίζουν\n• Τα βίντεο με περιορισμένη ηλικία δεν μπορούν να παίξουν\n• Livestreams ξεκινούν από την αρχή\n• Τα βίντεο λήγουν 1 δευτερόλεπτο νωρίς</string>
<string name="revanced_spoof_video_streams_language_">Οι ροές βίντεο παραποιούνται</string> <string name="revanced_spoof_video_streams_language_title">Προεπιλεγμένη γλώσσα ροής ήχου</string>
<string name="revanced_spoof_video_streams_language_title">Προτιμώμενη γλώσσα ροής ήχου</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Γλώσσα εφαρμογής</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Γλώσσα εφαρμογής</string>
<string name="revanced_spoof_video_streams_language_AR">Αραβικά</string> <string name="revanced_spoof_video_streams_language_AR">Αραβικά</string>
<string name="revanced_spoof_video_streams_language_AZ">Αζερμπαϊτζανικά</string> <string name="revanced_spoof_video_streams_language_AZ">Αζερμπαϊτζανικά</string>
@@ -1241,9 +1240,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_language_KO">Κορεάτικα</string> <string name="revanced_spoof_video_streams_language_KO">Κορεάτικα</string>
<string name="revanced_spoof_video_streams_language_LT">Λιθουανικά</string> <string name="revanced_spoof_video_streams_language_LT">Λιθουανικά</string>
<string name="revanced_spoof_video_streams_language_LV">Λετονικά</string> <string name="revanced_spoof_video_streams_language_LV">Λετονικά</string>
<string name="revanced_spoof_video_streams_language_MK">Σλαβομακεδονικά</string> <string name="revanced_spoof_video_streams_language_MK">Μακεδονικά</string>
<string name="revanced_spoof_video_streams_language_MN">Μογγολικά</string> <string name="revanced_spoof_video_streams_language_MN">Μογγολικά</string>
<string name="revanced_spoof_video_streams_language_MR">Μαραθικά</string> <string name="revanced_spoof_video_streams_language_MR">Μαράτι</string>
<string name="revanced_spoof_video_streams_language_MS">Μαλαισιανά</string> <string name="revanced_spoof_video_streams_language_MS">Μαλαισιανά</string>
<string name="revanced_spoof_video_streams_language_MY">Βιρμανικά</string> <string name="revanced_spoof_video_streams_language_MY">Βιρμανικά</string>
<string name="revanced_spoof_video_streams_language_NL">Ολλανδικά</string> <string name="revanced_spoof_video_streams_language_NL">Ολλανδικά</string>

View File

@@ -1017,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Cambiar el estilo del reproductor minimizado de la aplicación</string> <string name="revanced_miniplayer_screen_summary">Cambiar el estilo del reproductor minimizado de la aplicación</string>
<string name="revanced_miniplayer_type_title">Tipo de minreproductor</string> <string name="revanced_miniplayer_type_title">Tipo de minreproductor</string>
<string name="revanced_miniplayer_type_entry_0">Desactivado</string> <string name="revanced_miniplayer_type_entry_0">Desactivado</string>
<string name="revanced_miniplayer_type_entry_1">Original</string> <string name="revanced_miniplayer_type_entry_1">Predeterminado</string>
<string name="revanced_miniplayer_type_entry_2">Mínimo</string> <string name="revanced_miniplayer_type_entry_2">Mínimo</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Moderna 1</string> <string name="revanced_miniplayer_type_entry_4">Moderna 1</string>
@@ -1209,11 +1209,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El códec de vídeo se determina automáticamente</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">El códec de vídeo se determina automáticamente</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activar esto puede mejorar la vida de la batería y corregir el retraso en la reproducción.\n\nAVC tiene una resolución máxima de 1080p, el código de audio Opus no está disponible. y la reproducción de vídeo utilizará más datos de Internet que VP9 o AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activar esto puede mejorar la vida de la batería y corregir el retraso en la reproducción.\n\nAVC tiene una resolución máxima de 1080p, el código de audio Opus no está disponible. y la reproducción de vídeo utilizará más datos de Internet que VP9 o AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Efectos secundarios para la falsificación de iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Efectos secundarios para la falsificación de iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Los vídeos de niños privados no pueden reproducir\n• Livestreams comienzan desde el principio\n• Los vídeos pueden terminar temprano 1 segundo</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Los vídeos de niños privados no pueden reproducir\n• Los vídeos restringidos por edad no pueden reproducir\n• Los Livestreams comienzan desde el principio\n• Los vídeos terminan 1 segundo antes de tiempo</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Efectos secundarios para la falsificación de Android RV</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Efectos secundarios para la falsificación de Android RV</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Los vídeos infantiles no pueden reproducir\n• Falta el menú de pista de audio\n• El volumen estable no está disponible</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Los vídeos infantiles no pueden reproducir\n• Los vídeos restringidos por edad no pueden reproducir\n• Los Livestreams comienzan desde el principio\n• Los vídeos terminan 1 segundo temprano</string>
<string name="revanced_spoof_video_streams_language_">El stream de vídeo está falsificado</string> <string name="revanced_spoof_video_streams_language_title">Idioma de flujo de audio por defecto</string>
<string name="revanced_spoof_video_streams_language_title">Idioma de flujo de audio preferido</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de la aplicación</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Idioma de la aplicación</string>
<string name="revanced_spoof_video_streams_language_AR">Árabe</string> <string name="revanced_spoof_video_streams_language_AR">Árabe</string>
<string name="revanced_spoof_video_streams_language_AZ">Бессия</string> <string name="revanced_spoof_video_streams_language_AZ">Бессия</string>

View File

@@ -182,6 +182,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">Väljas</string> <string name="revanced_miniplayer_type_entry_0">Väljas</string>
<string name="revanced_miniplayer_type_entry_1">Vaikimisi</string>
</patch> </patch>
<patch id="layout.theme.themePatch"> <patch id="layout.theme.themePatch">
</patch> </patch>

View File

@@ -1019,7 +1019,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Muuta sovelluksen tyyliä pienennetyssä soittimessa</string> <string name="revanced_miniplayer_screen_summary">Muuta sovelluksen tyyliä pienennetyssä soittimessa</string>
<string name="revanced_miniplayer_type_title">Minisoittimen tyyppi</string> <string name="revanced_miniplayer_type_title">Minisoittimen tyyppi</string>
<string name="revanced_miniplayer_type_entry_0">Pois käytöstä</string> <string name="revanced_miniplayer_type_entry_0">Pois käytöstä</string>
<string name="revanced_miniplayer_type_entry_1">Alkuperäinen</string> <string name="revanced_miniplayer_type_entry_1">Oletus</string>
<string name="revanced_miniplayer_type_entry_2">Minimaali</string> <string name="revanced_miniplayer_type_entry_2">Minimaali</string>
<string name="revanced_miniplayer_type_entry_3">Tabletti</string> <string name="revanced_miniplayer_type_entry_3">Tabletti</string>
<string name="revanced_miniplayer_type_entry_4">Moderni 1</string> <string name="revanced_miniplayer_type_entry_4">Moderni 1</string>
@@ -1211,11 +1211,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokoodekki määritetään automaattisesti</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokoodekki määritetään automaattisesti</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Tämän käyttöönotto voi parantaa akun kestoa ja korjata toistoa stuttering.\n\nAVC on enintään 1080p, Opus audio koodekki ei ole käytettävissä, ja videon toisto käyttää enemmän internet-tietoja kuin VP9 tai AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Tämän käyttöönotto voi parantaa akun kestoa ja korjata toistoa stuttering.\n\nAVC on enintään 1080p, Opus audio koodekki ei ole käytettävissä, ja videon toisto käyttää enemmän internet-tietoja kuin VP9 tai AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS-naamioinnin haittavaikutukset</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS-naamioinnin haittavaikutukset</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Yksityiset lapset videot eivät välttämättä pelaa\n• Livestreams alkaa alusta\n• Videot saattavat päättyä 1 sekunti aikaisin</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Yksityiset lapset videot eivät välttämättä pelaa\n• Ikä rajoitettu videoita ei voi pelata\n• Livestreams alkaa alusta\n• Videot päättyy 1 sekunti aikaisin</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR -naamioinnin haittavaikutukset</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR -naamioinnin haittavaikutukset</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Lapset videot eivät välttämättä soita\n• Ääniraidan valikko puuttuu\n• Vakaa äänenvoimakkuus ei ole käytettävissä</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Lapset videot eivät välttämättä pelaa\n• Ikä rajoitettu videot eivät voi pelata\n• Livestreams alkaa alusta\n• Videot päättyy 1 sekunti aikaisin</string>
<string name="revanced_spoof_video_streams_language_">Videostriimit naamioidaan</string> <string name="revanced_spoof_video_streams_language_title">Äänivirran oletuskieli</string>
<string name="revanced_spoof_video_streams_language_title">Ensisijainen äänen suoratoistokieli</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Sovelluksen kieli</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Sovelluksen kieli</string>
<string name="revanced_spoof_video_streams_language_AR">Arabia</string> <string name="revanced_spoof_video_streams_language_AR">Arabia</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaidžan</string> <string name="revanced_spoof_video_streams_language_AZ">Azerbaidžan</string>

View File

@@ -912,7 +912,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Baguhin ang istilo ng in app minimized na player</string> <string name="revanced_miniplayer_screen_summary">Baguhin ang istilo ng in app minimized na player</string>
<string name="revanced_miniplayer_type_title">Uri ng miniplayer</string> <string name="revanced_miniplayer_type_title">Uri ng miniplayer</string>
<string name="revanced_miniplayer_type_entry_0">Hindi</string> <string name="revanced_miniplayer_type_entry_0">Hindi</string>
<string name="revanced_miniplayer_type_entry_1">Orihinal</string> <string name="revanced_miniplayer_type_entry_1">Regular</string>
<string name="revanced_miniplayer_type_entry_3">Tableta</string> <string name="revanced_miniplayer_type_entry_3">Tableta</string>
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string> <string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
<string name="revanced_miniplayer_type_entry_5">Moderno 2</string> <string name="revanced_miniplayer_type_entry_5">Moderno 2</string>

View File

@@ -1018,7 +1018,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Changer le style du lecteur réduit dans l\'application</string> <string name="revanced_miniplayer_screen_summary">Changer le style du lecteur réduit dans l\'application</string>
<string name="revanced_miniplayer_type_title">Type de Miniplayer</string> <string name="revanced_miniplayer_type_title">Type de Miniplayer</string>
<string name="revanced_miniplayer_type_entry_0">Désactivé</string> <string name="revanced_miniplayer_type_entry_0">Désactivé</string>
<string name="revanced_miniplayer_type_entry_1">Original</string> <string name="revanced_miniplayer_type_entry_1">Par défaut</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string> <string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Tablette</string> <string name="revanced_miniplayer_type_entry_3">Tablette</string>
<string name="revanced_miniplayer_type_entry_4">Moderne 1</string> <string name="revanced_miniplayer_type_entry_4">Moderne 1</string>
@@ -1210,11 +1210,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Le codec vidéo est déterminé automatiquement</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Le codec vidéo est déterminé automatiquement</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activer ceci peut améliorer la durée de vie de la batterie et corriger les erreurs de lecture.\n\nAVC a une résolution maximale de 1080p, le codec audio Opus n\'est pas disponible, et la lecture vidéo utilisera plus de données Internet que VP9 ou AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activer ceci peut améliorer la durée de vie de la batterie et corriger les erreurs de lecture.\n\nAVC a une résolution maximale de 1080p, le codec audio Opus n\'est pas disponible, et la lecture vidéo utilisera plus de données Internet que VP9 ou AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Effets secondaires d\'usurpation iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Effets secondaires d\'usurpation iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Les vidéos privées des enfants peuvent ne pas jouer à\n• Les live reams commencent dès le début\n• Les vidéos peuvent se terminer 1 seconde plus tôt</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Les vidéos privées des enfants peuvent ne pas jouer à\n• Les vidéos à l\'âge restreint peuvent ne pas lire\n• Les vidéos en direct commencent dès le début\n• Les vidéos se terminent 1 seconde plus tôt</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Effets secondaires de l\'usurpation VR Android</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Effets secondaires de l\'usurpation VR Android</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Les vidéos des enfants peuvent ne pas lire\n• Le menu de la piste audio manque\n• Le volume stable n\'est pas disponible</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Les vidéos pour enfants ne peuvent pas lire\n• Les vidéos à l\'âge restreint peuvent ne pas lire\n• Les vidéos en direct commencent dès le début\n• Les vidéos se terminent 1 seconde plus tôt</string>
<string name="revanced_spoof_video_streams_language_">Les flux vidéo sont falsifiés</string> <string name="revanced_spoof_video_streams_language_title">Langue du flux audio par défaut</string>
<string name="revanced_spoof_video_streams_language_title">Langue préférée du flux audio</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Langue de l\'application</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Langue de l\'application</string>
<string name="revanced_spoof_video_streams_language_AR">Arabe</string> <string name="revanced_spoof_video_streams_language_AR">Arabe</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaïdjan</string> <string name="revanced_spoof_video_streams_language_AZ">Azerbaïdjan</string>

View File

@@ -1014,7 +1014,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Athraigh stíl an imreora íoslaghdaithe san aip</string> <string name="revanced_miniplayer_screen_summary">Athraigh stíl an imreora íoslaghdaithe san aip</string>
<string name="revanced_miniplayer_type_title">Cineál Miniplayer</string> <string name="revanced_miniplayer_type_title">Cineál Miniplayer</string>
<string name="revanced_miniplayer_type_entry_0">Díchumasaithe</string> <string name="revanced_miniplayer_type_entry_0">Díchumasaithe</string>
<string name="revanced_miniplayer_type_entry_1">Bunaidh</string> <string name="revanced_miniplayer_type_entry_1">Réamhshocraithe</string>
<string name="revanced_miniplayer_type_entry_2">Íosta</string> <string name="revanced_miniplayer_type_entry_2">Íosta</string>
<string name="revanced_miniplayer_type_entry_3">Táibléad</string> <string name="revanced_miniplayer_type_entry_3">Táibléad</string>
<string name="revanced_miniplayer_type_entry_4">Nua-aimseartha 1</string> <string name="revanced_miniplayer_type_entry_4">Nua-aimseartha 1</string>
@@ -1203,10 +1203,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_client_title">Cliant réamhshocraithe</string> <string name="revanced_spoof_video_streams_client_title">Cliant réamhshocraithe</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Fórsa AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Fórsa AVC (H.264)</string>
<string name="revanced_spoof_video_streams_about_ios_title">Fo-iarsmaí spoofing iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Fo-iarsmaí spoofing iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">Ní féidir físeáin phríobháideacha do pháistí a sheinm\n• Tosaíonn sruthanna beo ón tús\n• Féadfaidh físeáin críochnú 1 soicind go luath</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Fo-iarsmaí spoofing Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Fo-iarsmaí spoofing Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Ní fhéadfaidh físeáin leanaí a sheinm\n• Tá an roghchlár rian fuaime ar iarraidh\n• Níl an toirt cobhsaí ar fáil</string>
<string name="revanced_spoof_video_streams_language_">Tá sruthanna físe spoofed</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -181,6 +181,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">Onemogućeno</string> <string name="revanced_miniplayer_type_entry_0">Onemogućeno</string>
<string name="revanced_miniplayer_type_entry_1">Zadano</string>
</patch> </patch>
<patch id="layout.theme.themePatch"> <patch id="layout.theme.themePatch">
</patch> </patch>

View File

@@ -710,6 +710,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">A lejátszó előugró panelei megjelennek</string> <string name="revanced_hide_player_popup_panels_summary_off">A lejátszó előugró panelei megjelennek</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Nyissa meg a videókat teljes képernyős portréban</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">A videók teljes képernyőn nyílnak meg</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">A videók nem nyílnak meg teljes képernyőn</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Lejátszó fedőrétegének átlátszatlansága</string> <string name="revanced_player_overlay_opacity_title">Lejátszó fedőrétegének átlátszatlansága</string>
@@ -1014,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Módosítsa az alkalmazáson belüli kisméretű lejátszó stílusát</string> <string name="revanced_miniplayer_screen_summary">Módosítsa az alkalmazáson belüli kisméretű lejátszó stílusát</string>
<string name="revanced_miniplayer_type_title">Minilejátszó típus</string> <string name="revanced_miniplayer_type_title">Minilejátszó típus</string>
<string name="revanced_miniplayer_type_entry_0">Kikapcsolva</string> <string name="revanced_miniplayer_type_entry_0">Kikapcsolva</string>
<string name="revanced_miniplayer_type_entry_1">Eredeti</string> <string name="revanced_miniplayer_type_entry_1">Alapértelmezett</string>
<string name="revanced_miniplayer_type_entry_2">Minimális</string> <string name="revanced_miniplayer_type_entry_2">Minimális</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Modern 1</string> <string name="revanced_miniplayer_type_entry_4">Modern 1</string>
@@ -1202,11 +1205,64 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">A beállítás kikapcsolása videolejátszási problémákat okozhat.</string> <string name="revanced_spoof_video_streams_user_dialog_message">A beállítás kikapcsolása videolejátszási problémákat okozhat.</string>
<string name="revanced_spoof_video_streams_client_title">Alapértelmezett kliens</string> <string name="revanced_spoof_video_streams_client_title">Alapértelmezett kliens</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) kényszerítése</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) kényszerítése</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">A videokodek AVC-re kényszerítve (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">A videokodek meghatározása automatikusan történik</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Ennek engedélyezése javíthatja az akkumulátor élettartamát, és kijavíthatja a lejátszás akadozását.\n\nAz AVC maximális felbontása 1080p, az Opus audiokodek nem érhető el, és a videolejátszás több internetadatot használ, mint a VP9 vagy az AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS hamisítási mellékhatások</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS hamisítási mellékhatások</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Előfordulhat, hogy a privát gyerekeknek szóló videók nem játszhatók le\n• Az élő közvetítések elölről kezdődnek\n• A videók 1 másodperccel korábban véget érhetnek</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR-hamisítási mellékhatások</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR-hamisítási mellékhatások</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Előfordulhat, hogy a gyerekvideókat nem lehet lejátszani\n• Hiányzik a hangsáv menü\n• A stabil hangerő nem érhető el</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Alkalmazás nyelve</string>
<string name="revanced_spoof_video_streams_language_">A videó stream hamisítva</string> <string name="revanced_spoof_video_streams_language_AR">Arab</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbajdzsáni</string>
<string name="revanced_spoof_video_streams_language_BG">Bolgár</string>
<string name="revanced_spoof_video_streams_language_BN">Bengáli</string>
<string name="revanced_spoof_video_streams_language_CA">Katalán</string>
<string name="revanced_spoof_video_streams_language_CS">Cseh</string>
<string name="revanced_spoof_video_streams_language_DA">Dán</string>
<string name="revanced_spoof_video_streams_language_DE">Német</string>
<string name="revanced_spoof_video_streams_language_EL">Görög</string>
<string name="revanced_spoof_video_streams_language_EN">Angol</string>
<string name="revanced_spoof_video_streams_language_ES">Spanyol</string>
<string name="revanced_spoof_video_streams_language_ET">Észt</string>
<string name="revanced_spoof_video_streams_language_FA">Perzsa</string>
<string name="revanced_spoof_video_streams_language_FI">Finn</string>
<string name="revanced_spoof_video_streams_language_FR">Francia</string>
<string name="revanced_spoof_video_streams_language_GU">Gudzsaráti</string>
<string name="revanced_spoof_video_streams_language_HI">Hindi</string>
<string name="revanced_spoof_video_streams_language_HR">Horvát</string>
<string name="revanced_spoof_video_streams_language_HU">Magyar</string>
<string name="revanced_spoof_video_streams_language_ID">Indonéz</string>
<string name="revanced_spoof_video_streams_language_IT">Olasz</string>
<string name="revanced_spoof_video_streams_language_JA">Japán</string>
<string name="revanced_spoof_video_streams_language_KK">Kazah</string>
<string name="revanced_spoof_video_streams_language_KO">Koreai</string>
<string name="revanced_spoof_video_streams_language_LT">Litván</string>
<string name="revanced_spoof_video_streams_language_LV">Lett</string>
<string name="revanced_spoof_video_streams_language_MK">Macedón</string>
<string name="revanced_spoof_video_streams_language_MN">Mongol</string>
<string name="revanced_spoof_video_streams_language_MR">Maráthi</string>
<string name="revanced_spoof_video_streams_language_MS">Maláj</string>
<string name="revanced_spoof_video_streams_language_MY">Burmai</string>
<string name="revanced_spoof_video_streams_language_NL">Holland</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string>
<string name="revanced_spoof_video_streams_language_PA">Pandzsábi</string>
<string name="revanced_spoof_video_streams_language_PL">Lengyel</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugál (Brazil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugál (Portugália)</string>
<string name="revanced_spoof_video_streams_language_RO">Román</string>
<string name="revanced_spoof_video_streams_language_RU">Orosz</string>
<string name="revanced_spoof_video_streams_language_SK">Szlovák</string>
<string name="revanced_spoof_video_streams_language_SL">Szlovén</string>
<string name="revanced_spoof_video_streams_language_SR">Szerb</string>
<string name="revanced_spoof_video_streams_language_SV">Svéd</string>
<string name="revanced_spoof_video_streams_language_SW">Szuahéli</string>
<string name="revanced_spoof_video_streams_language_TA">Tamil</string>
<string name="revanced_spoof_video_streams_language_TE">Telugu</string>
<string name="revanced_spoof_video_streams_language_TH">Tháj</string>
<string name="revanced_spoof_video_streams_language_TR">Török</string>
<string name="revanced_spoof_video_streams_language_UK">Ukrán</string>
<string name="revanced_spoof_video_streams_language_UR">Urdu</string>
<string name="revanced_spoof_video_streams_language_VI">Vietnámi</string>
<string name="revanced_spoof_video_streams_language_ZH">Kínai</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -710,6 +710,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Panel popup pemutar ditampilkan</string> <string name="revanced_hide_player_popup_panels_summary_off">Panel popup pemutar ditampilkan</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Buka video dalam potret layar penuh</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Video terbuka dalam layar penuh</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Video tidak terbuka dalam layar penuh</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Opasitas hamparan pemutar</string> <string name="revanced_player_overlay_opacity_title">Opasitas hamparan pemutar</string>
@@ -1014,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Mengubah gaya pemutar aplikasi saat diciuitkan</string> <string name="revanced_miniplayer_screen_summary">Mengubah gaya pemutar aplikasi saat diciuitkan</string>
<string name="revanced_miniplayer_type_title">Jenis pemutar mini</string> <string name="revanced_miniplayer_type_title">Jenis pemutar mini</string>
<string name="revanced_miniplayer_type_entry_0">Nonaktif</string> <string name="revanced_miniplayer_type_entry_0">Nonaktif</string>
<string name="revanced_miniplayer_type_entry_1">Asli</string> <string name="revanced_miniplayer_type_entry_1">Bawaan</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string> <string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Modern 1</string> <string name="revanced_miniplayer_type_entry_4">Modern 1</string>
@@ -1202,11 +1205,64 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Mematikan pengaturan ini dapat menyebabkan masalah pemutaran video.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Mematikan pengaturan ini dapat menyebabkan masalah pemutaran video.</string>
<string name="revanced_spoof_video_streams_client_title">Klien bawaan</string> <string name="revanced_spoof_video_streams_client_title">Klien bawaan</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Paksa AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Paksa AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Kodek video dipaksa ke AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Kodek video ditentukan otomatis</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Mengaktifkan ini dapat meningkatkan daya tahan baterai dan memperbaiki pemutaran yang tersendat-sendat.\n\nAVC memiliki resolusi maksimum 1080p, kodek audio Opus tidak tersedia, dan pemutaran video akan menggunakan lebih banyak data internet daripada VP9 atau AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Efek samping pemalsuan iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Efek samping pemalsuan iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Video privat anak-anak tidak dapat diputar\n• Siaran langsung dimulai dari awal\n• Video akan berakhir 1 detik lebih awal</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Efek samping pemalsuan Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Efek samping pemalsuan Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Video anak-anak mungkin tidak dapat diputar\n• Menu trek audio tidak ada\n• Volume stabil tidak tersedia</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Bahasa aplikasi</string>
<string name="revanced_spoof_video_streams_language_">Aliran video dipalsukan</string> <string name="revanced_spoof_video_streams_language_AR">Arab</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaijan</string>
<string name="revanced_spoof_video_streams_language_BG">Bulgaria</string>
<string name="revanced_spoof_video_streams_language_BN">Bengali</string>
<string name="revanced_spoof_video_streams_language_CA">Catalan</string>
<string name="revanced_spoof_video_streams_language_CS">Ceko</string>
<string name="revanced_spoof_video_streams_language_DA">Denmark</string>
<string name="revanced_spoof_video_streams_language_DE">Jerman</string>
<string name="revanced_spoof_video_streams_language_EL">Yunani</string>
<string name="revanced_spoof_video_streams_language_EN">Inggris</string>
<string name="revanced_spoof_video_streams_language_ES">Spanyol</string>
<string name="revanced_spoof_video_streams_language_ET">Estonia</string>
<string name="revanced_spoof_video_streams_language_FA">Persia</string>
<string name="revanced_spoof_video_streams_language_FI">Finlandia</string>
<string name="revanced_spoof_video_streams_language_FR">Perancis</string>
<string name="revanced_spoof_video_streams_language_GU">Gujarat</string>
<string name="revanced_spoof_video_streams_language_HI">Hindi</string>
<string name="revanced_spoof_video_streams_language_HR">Kroasia</string>
<string name="revanced_spoof_video_streams_language_HU">Hungaria</string>
<string name="revanced_spoof_video_streams_language_ID">Indonesia</string>
<string name="revanced_spoof_video_streams_language_IT">Italia</string>
<string name="revanced_spoof_video_streams_language_JA">Jepang</string>
<string name="revanced_spoof_video_streams_language_KK">Kazakh</string>
<string name="revanced_spoof_video_streams_language_KO">Korea</string>
<string name="revanced_spoof_video_streams_language_LT">Lithuania</string>
<string name="revanced_spoof_video_streams_language_LV">Latvia</string>
<string name="revanced_spoof_video_streams_language_MK">Makedonia</string>
<string name="revanced_spoof_video_streams_language_MN">Mongolia</string>
<string name="revanced_spoof_video_streams_language_MR">Marathi</string>
<string name="revanced_spoof_video_streams_language_MS">Melayu</string>
<string name="revanced_spoof_video_streams_language_MY">Myanmar</string>
<string name="revanced_spoof_video_streams_language_NL">Belanda</string>
<string name="revanced_spoof_video_streams_language_OR">Oriya</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string>
<string name="revanced_spoof_video_streams_language_PL">Polandia</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugis (Brasil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugis (Portugal)</string>
<string name="revanced_spoof_video_streams_language_RO">Rumania</string>
<string name="revanced_spoof_video_streams_language_RU">Rusia</string>
<string name="revanced_spoof_video_streams_language_SK">Slovakia</string>
<string name="revanced_spoof_video_streams_language_SL">Slovene</string>
<string name="revanced_spoof_video_streams_language_SR">Serbia</string>
<string name="revanced_spoof_video_streams_language_SV">Swedia</string>
<string name="revanced_spoof_video_streams_language_SW">Swahili</string>
<string name="revanced_spoof_video_streams_language_TA">Tamil</string>
<string name="revanced_spoof_video_streams_language_TE">Telugu</string>
<string name="revanced_spoof_video_streams_language_TH">Thai</string>
<string name="revanced_spoof_video_streams_language_TR">Turki</string>
<string name="revanced_spoof_video_streams_language_UK">Ukraina</string>
<string name="revanced_spoof_video_streams_language_UR">Urdu</string>
<string name="revanced_spoof_video_streams_language_VI">Vietnam</string>
<string name="revanced_spoof_video_streams_language_ZH">China</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -205,20 +205,20 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_quick_actions_summary_on">Le azioni rapide sono nascoste</string> <string name="revanced_hide_quick_actions_summary_on">Le azioni rapide sono nascoste</string>
<string name="revanced_hide_quick_actions_summary_off">Le azioni rapide sono visibili</string> <string name="revanced_hide_quick_actions_summary_off">Le azioni rapide sono visibili</string>
<string name="revanced_hide_related_videos_title">Nascondi video correlati nelle azioni rapide</string> <string name="revanced_hide_related_videos_title">Nascondi video correlati nelle azioni rapide</string>
<string name="revanced_hide_related_videos_summary_on">Video correlati nascosti</string> <string name="revanced_hide_related_videos_summary_on">I video correlati sono nascosti</string>
<string name="revanced_hide_related_videos_summary_off">Video correlati visibili</string> <string name="revanced_hide_related_videos_summary_off">Video correlati visibili</string>
<string name="revanced_hide_image_shelf_title">Nascondi pubblicità con immagini nei risultati di ricerca</string> <string name="revanced_hide_image_shelf_title">Nascondi pubblicità con immagini nei risultati di ricerca</string>
<string name="revanced_hide_image_shelf_summary_on">Le pubblicità con immagini sono nascoste </string> <string name="revanced_hide_image_shelf_summary_on">Le pubblicità con immagini sono nascoste </string>
<string name="revanced_hide_image_shelf_summary_off">Le pubblicità con immagini sono visibili </string> <string name="revanced_hide_image_shelf_summary_off">Le pubblicità con immagini sono visibili </string>
<string name="revanced_hide_latest_posts_ads_title">Nascondi i post più recenti</string> <string name="revanced_hide_latest_posts_ads_title">Nascondi i post più recenti</string>
<string name="revanced_hide_latest_posts_ads_summary_on">Gli ultimi post sono nascosti</string> <string name="revanced_hide_latest_posts_ads_summary_on">I post più recenti sono nascosti</string>
<string name="revanced_hide_latest_posts_ads_summary_off">Gli ultimi post sono mostrati</string> <string name="revanced_hide_latest_posts_ads_summary_off">I post più recenti sono visibili</string>
<string name="revanced_hide_mix_playlists_title">Nascondi playlist mix</string> <string name="revanced_hide_mix_playlists_title">Nascondi le playlist miste</string>
<string name="revanced_hide_mix_playlists_summary_on">Le playlist Mix sono nascoste</string> <string name="revanced_hide_mix_playlists_summary_on">Le playlist miste sono nascoste</string>
<string name="revanced_hide_mix_playlists_summary_off">Vengono mostrate playlist di Mix</string> <string name="revanced_hide_mix_playlists_summary_off">Le playlist miste sono visibili</string>
<string name="revanced_hide_artist_cards_title">Nascondi le carte artista</string> <string name="revanced_hide_artist_cards_title">Nascondi le schede artista</string>
<string name="revanced_hide_artist_cards_summary_on">Le carte dell\'artista sono nascoste</string> <string name="revanced_hide_artist_cards_summary_on">Le schede artista sono nascoste</string>
<string name="revanced_hide_artist_cards_summary_off">Vengono mostrate le carte dell\'artista</string> <string name="revanced_hide_artist_cards_summary_off">Le schede artista sono visibili</string>
<string name="revanced_hide_attributes_section_title">Nascondi la sezione attributi</string> <string name="revanced_hide_attributes_section_title">Nascondi la sezione attributi</string>
<string name="revanced_hide_attributes_section_summary_on">Le sezioni \'Luoghi in evidenza\', Giochi e Musica sono nascoste</string> <string name="revanced_hide_attributes_section_summary_on">Le sezioni \'Luoghi in evidenza\', Giochi e Musica sono nascoste</string>
<string name="revanced_hide_attributes_section_summary_off">Le sezioni \'Luoghi in evidenza\', Giochi e Musica sono visibili</string> <string name="revanced_hide_attributes_section_summary_off">Le sezioni \'Luoghi in evidenza\', Giochi e Musica sono visibili</string>
@@ -324,9 +324,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_paid_promotion_label_title">Nascondi etichetta promozione a pagamento</string> <string name="revanced_hide_paid_promotion_label_title">Nascondi etichetta promozione a pagamento</string>
<string name="revanced_hide_paid_promotion_label_summary_on">L\'etichetta della promozione a pagamento è nascosta</string> <string name="revanced_hide_paid_promotion_label_summary_on">L\'etichetta della promozione a pagamento è nascosta</string>
<string name="revanced_hide_paid_promotion_label_summary_off">L\'etichetta della promozione a pagamento è visibile</string> <string name="revanced_hide_paid_promotion_label_summary_off">L\'etichetta della promozione a pagamento è visibile</string>
<string name="revanced_hide_self_sponsor_ads_title">Nascondi le carte autosponsorizzate</string> <string name="revanced_hide_self_sponsor_ads_title">Nascondi le schede autopromozionali</string>
<string name="revanced_hide_self_sponsor_ads_summary_on">Le carte autosponsorizzate sono nascoste</string> <string name="revanced_hide_self_sponsor_ads_summary_on">Le schede autopromozionali sono nascoste</string>
<string name="revanced_hide_self_sponsor_ads_summary_off">Vengono mostrate le carte autosponsorizzate</string> <string name="revanced_hide_self_sponsor_ads_summary_off">Le schede autopromozionali sono visibili</string>
<string name="revanced_hide_products_banner_title">Nascondi banner per visualizzare i prodotti</string> <string name="revanced_hide_products_banner_title">Nascondi banner per visualizzare i prodotti</string>
<string name="revanced_hide_products_banner_summary_on">Il banner è nascosto</string> <string name="revanced_hide_products_banner_summary_on">Il banner è nascosto</string>
<string name="revanced_hide_products_banner_summary_off">Il banner è visibile</string> <string name="revanced_hide_products_banner_summary_off">Il banner è visibile</string>
@@ -710,9 +710,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">I pannelli popup del player sono visibili</string> <string name="revanced_hide_player_popup_panels_summary_off">I pannelli popup del player sono visibili</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Apri video in verticale a schermo intero</string> <string name="revanced_open_videos_fullscreen_portrait_title">Apri i video in verticale a schermo intero</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Video aperti a schermo intero</string> <string name="revanced_open_videos_fullscreen_portrait_summary_on">I video vengono aperti a schermo intero</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">I video non aprono schermo intero</string> <string name="revanced_open_videos_fullscreen_portrait_summary_off">I video non vengono aperti a schermo intero</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Opacità sovrapposizione del player</string> <string name="revanced_player_overlay_opacity_title">Opacità sovrapposizione del player</string>
@@ -1017,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Cambia lo stile del miniplayer nell\'app</string> <string name="revanced_miniplayer_screen_summary">Cambia lo stile del miniplayer nell\'app</string>
<string name="revanced_miniplayer_type_title">Tipo di Miniplayer</string> <string name="revanced_miniplayer_type_title">Tipo di Miniplayer</string>
<string name="revanced_miniplayer_type_entry_0">Disattivato</string> <string name="revanced_miniplayer_type_entry_0">Disattivato</string>
<string name="revanced_miniplayer_type_entry_1">Originale</string> <string name="revanced_miniplayer_type_entry_1">Predefinito</string>
<string name="revanced_miniplayer_type_entry_2">Minimale</string> <string name="revanced_miniplayer_type_entry_2">Minimale</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string> <string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
@@ -1207,16 +1207,15 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forza AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Forza AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Il codec video è forzato ad AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Il codec video è forzato ad AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Il codec video viene determinato automaticamente</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Il codec video viene determinato automaticamente</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Abilitando questo si potrebbe migliorare la durata della batteria e correggere la riproduzione della balbuzia.\n\nAVC ha una risoluzione massima di 1080p, il codec audio Opus non è disponibile, e la riproduzione video utilizzerà più dati internet di VP9 o AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">L\'attivazione di questa impostazione potrebbe migliorare la durata della batteria e risolvere il problema della riproduzione a scatti.\n\nNota: AVC ha una risoluzione massima di 1080p, il codec Opus non è disponibile e la riproduzione userà più dati internet rispetto a VP9 o AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Effetti collaterali simulazione iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Effetti collaterali simulazione iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• I video privati per bambini potrebbero non riprodurre\n• Livestreams start from the beginning\n• Video potrebbero terminare 1 secondo presto</string> <string name="revanced_spoof_video_streams_about_ios_summary">• I video privati per bambini potrebbero non riprodurre\n• I video con limitazioni di età potrebbero non riprodurre\n• I Livestreams iniziano dall\'inizio\n• I video terminano 1 secondo presto</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Effetti collaterali simulazione Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Effetti collaterali simulazione Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• I video per bambini potrebbero non riprodurre\n• Il menu traccia audio è mancante\n• Volume stabile non è disponibile</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• I video per bambini potrebbero non riprodurre\n• È possibile che i video con limitazioni di età non riproducano\n• Livestreams start from the start\n• Video end 1 second early</string>
<string name="revanced_spoof_video_streams_language_">Il client del flusso video è simulato</string> <string name="revanced_spoof_video_streams_language_title">Lingua predefinita del flusso audio</string>
<string name="revanced_spoof_video_streams_language_title">Lingua del flusso audio preferita</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Lingua app</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Lingua app</string>
<string name="revanced_spoof_video_streams_language_AR">Arabo</string> <string name="revanced_spoof_video_streams_language_AR">Arabo</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaigian</string> <string name="revanced_spoof_video_streams_language_AZ">Azerbaigiano</string>
<string name="revanced_spoof_video_streams_language_BG">Bulgaro</string> <string name="revanced_spoof_video_streams_language_BG">Bulgaro</string>
<string name="revanced_spoof_video_streams_language_BN">Bengalese</string> <string name="revanced_spoof_video_streams_language_BN">Bengalese</string>
<string name="revanced_spoof_video_streams_language_CA">Catalano</string> <string name="revanced_spoof_video_streams_language_CA">Catalano</string>
@@ -1229,7 +1228,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_language_ET">Estone</string> <string name="revanced_spoof_video_streams_language_ET">Estone</string>
<string name="revanced_spoof_video_streams_language_FA">Persiano</string> <string name="revanced_spoof_video_streams_language_FA">Persiano</string>
<string name="revanced_spoof_video_streams_language_FI">Finlandese</string> <string name="revanced_spoof_video_streams_language_FI">Finlandese</string>
<string name="revanced_spoof_video_streams_language_FR">Français</string> <string name="revanced_spoof_video_streams_language_FR">Francese</string>
<string name="revanced_spoof_video_streams_language_GU">Gujarati</string> <string name="revanced_spoof_video_streams_language_GU">Gujarati</string>
<string name="revanced_spoof_video_streams_language_HI">Hindi</string> <string name="revanced_spoof_video_streams_language_HI">Hindi</string>
<string name="revanced_spoof_video_streams_language_HR">Croato</string> <string name="revanced_spoof_video_streams_language_HR">Croato</string>
@@ -1237,7 +1236,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_language_ID">Indonesiano</string> <string name="revanced_spoof_video_streams_language_ID">Indonesiano</string>
<string name="revanced_spoof_video_streams_language_IT">Italiano</string> <string name="revanced_spoof_video_streams_language_IT">Italiano</string>
<string name="revanced_spoof_video_streams_language_JA">Giapponese</string> <string name="revanced_spoof_video_streams_language_JA">Giapponese</string>
<string name="revanced_spoof_video_streams_language_KK">Kazakh</string> <string name="revanced_spoof_video_streams_language_KK">Kazako</string>
<string name="revanced_spoof_video_streams_language_KO">Coreano</string> <string name="revanced_spoof_video_streams_language_KO">Coreano</string>
<string name="revanced_spoof_video_streams_language_LT">Lituano</string> <string name="revanced_spoof_video_streams_language_LT">Lituano</string>
<string name="revanced_spoof_video_streams_language_LV">Lettone</string> <string name="revanced_spoof_video_streams_language_LV">Lettone</string>

View File

@@ -35,32 +35,20 @@ This is because Crowdin requires temporarily flattening this file and removing t
<patch id="misc.checks.checkEnvironmentPatch"> <patch id="misc.checks.checkEnvironmentPatch">
</patch> </patch>
<patch id="misc.settings.settingsResourcePatch"> <patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_reset">איפוס</string>
<string name="revanced_settings_restart">הפעלה מחדש</string>
<string name="revanced_settings_import">ייבוא</string>
<string name="revanced_settings_import_copy">העתק</string>
<string name="revanced_settings_import_reset">הגדרות ReVanced אופסו לברירת המחדל</string>
<string name="revanced_pref_import_export_title">יבוא/ ייצוא</string>
<string name="revanced_pref_import_export_summary">יבוא/ ייצוא הגדרות ReVanced</string>
<!-- Settings about dialog. --> <!-- Settings about dialog. -->
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code, <!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
and changes made here must also be made there. --> and changes made here must also be made there. -->
</patch> </patch>
<patch id="misc.gms.gmsCoreSupportResourcePatch"> <patch id="misc.gms.gmsCoreSupportResourcePatch">
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. --> <!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="gms_core_dialog_continue_text">המשך</string>
</patch> </patch>
</app> </app>
<app id="youtube"> <app id="youtube">
<patch id="misc.settings.settingsPatch"> <patch id="misc.settings.settingsPatch">
<string name="revanced_settings_screen_00_about_title">אודות</string>
<string name="revanced_settings_screen_11_misc_title">שונות</string>
<string name="revanced_settings_screen_12_video_title">וידאו</string>
</patch> </patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch"> <patch id="misc.backgroundplayback.backgroundPlaybackPatch">
</patch> </patch>
<patch id="misc.debugging.enableDebuggingPatch"> <patch id="misc.debugging.enableDebuggingPatch">
<string name="revanced_debug_screen_title">איתור באגים</string>
</patch> </patch>
<patch id="layout.hide.general.hideLayoutComponentsPatch"> <patch id="layout.hide.general.hideLayoutComponentsPatch">
<!-- 'Join' should be translated using the same localized wording YouTube displays. <!-- 'Join' should be translated using the same localized wording YouTube displays.
@@ -98,7 +86,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
<patch id="interaction.seekbar.enableSeekbarTappingPatch"> <patch id="interaction.seekbar.enableSeekbarTappingPatch">
</patch> </patch>
<patch id="interaction.swipecontrols.swipeControlsResourcePatch"> <patch id="interaction.swipecontrols.swipeControlsResourcePatch">
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">אוטומטי</string>
</patch> </patch>
<patch id="layout.autocaptions.autoCaptionsPatch"> <patch id="layout.autocaptions.autoCaptionsPatch">
</patch> </patch>
@@ -134,8 +121,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. --> <!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
</patch> </patch>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch"> <patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<string name="revanced_hide_cast_button_summary_on">לחצן שידור מסך מוסתר</string>
<string name="revanced_hide_cast_button_summary_off">לחצן שידור מסך מוצג</string>
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' --> <!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
</patch> </patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch"> <patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
@@ -143,8 +128,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch"> <patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch> </patch>
<patch id="layout.hide.infocards.hideInfocardsResourcePatch"> <patch id="layout.hide.infocards.hideInfocardsResourcePatch">
<string name="revanced_hide_info_cards_summary_on">כרטיסי המידע מוסתרים</string>
<string name="revanced_hide_info_cards_summary_off">כרטיסי המידע מוצגים</string>
</patch> </patch>
<patch id="layout.hide.rollingnumber.disableRollingNumberAnimationPatch"> <patch id="layout.hide.rollingnumber.disableRollingNumberAnimationPatch">
</patch> </patch>
@@ -172,7 +155,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. --> <!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. --> <!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' --> <!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
<string name="revanced_ryd_about">אודות</string>
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. --> <!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
</patch> </patch>
<patch id="layout.searchbar.wideSearchbarPatch"> <patch id="layout.searchbar.wideSearchbarPatch">

View File

@@ -997,7 +997,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">アプリの最小化プレイヤーのスタイルを変更する</string> <string name="revanced_miniplayer_screen_summary">アプリの最小化プレイヤーのスタイルを変更する</string>
<string name="revanced_miniplayer_type_title">ミニプレーヤータイプ</string> <string name="revanced_miniplayer_type_title">ミニプレーヤータイプ</string>
<string name="revanced_miniplayer_type_entry_0">無効</string> <string name="revanced_miniplayer_type_entry_0">無効</string>
<string name="revanced_miniplayer_type_entry_1">オリジナル</string> <string name="revanced_miniplayer_type_entry_1">既定</string>
<string name="revanced_miniplayer_type_entry_2">最小</string> <string name="revanced_miniplayer_type_entry_2">最小</string>
<string name="revanced_miniplayer_type_entry_3">タブレット</string> <string name="revanced_miniplayer_type_entry_3">タブレット</string>
<string name="revanced_miniplayer_type_entry_4">モダン 1</string> <string name="revanced_miniplayer_type_entry_4">モダン 1</string>
@@ -1188,8 +1188,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">これを有効にするとバッテリー寿命が延長され、再生が停止する可能性があります。\n\nAVCの最大解像度は1080pで、Opusオーディオコーデックは利用できません。 動画再生は、VP9やAV1よりも多くのインターネットデータを使用します。</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">これを有効にするとバッテリー寿命が延長され、再生が停止する可能性があります。\n\nAVCの最大解像度は1080pで、Opusオーディオコーデックは利用できません。 動画再生は、VP9やAV1よりも多くのインターネットデータを使用します。</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOSのクライアント偽装での副作用</string> <string name="revanced_spoof_video_streams_about_ios_title">iOSのクライアント偽装での副作用</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android-VR クライアント偽装の副作用</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android-VR クライアント偽装の副作用</string>
<string name="revanced_spoof_video_streams_language_">ビデオストリームはなりすましています</string> <string name="revanced_spoof_video_streams_language_title">デフォルトのオーディオストリーム言語</string>
<string name="revanced_spoof_video_streams_language_title">優先オーディオストリーム言語</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">アプリの言語</string> <string name="revanced_spoof_video_streams_language_DEFAULT">アプリの言語</string>
<string name="revanced_spoof_video_streams_language_AR">アラビア文字</string> <string name="revanced_spoof_video_streams_language_AR">アラビア文字</string>
<string name="revanced_spoof_video_streams_language_AZ">アゼルバイジャン語</string> <string name="revanced_spoof_video_streams_language_AZ">アゼルバイジャン語</string>

View File

@@ -711,6 +711,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">플레이어 팝업 패널이 표시됩니다\n• 재생목록, 실시간 채팅, etc.</string> <string name="revanced_hide_player_popup_panels_summary_off">플레이어 팝업 패널이 표시됩니다\n• 재생목록, 실시간 채팅, etc.</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">동영상을 전체 화면 세로 모드로 열기</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">동영상을 전체 화면으로 엽니다</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">동영상을 전체 화면으로 열지 않습니다</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">플레이어 오버레이 불투명도</string> <string name="revanced_player_overlay_opacity_title">플레이어 오버레이 불투명도</string>
@@ -965,7 +968,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_app_version_user_dialog_message">앱 버전을 YouTube 이전 앱 버전으로 변경합니다\n\n이 경우 앱 레이아웃과 기능이 변경되지만 알려지지 않은 문제점이 발생할 수 있습니다\n\n나중에 이 설정을 비활성화하면 앱 레이아웃 버그를 방지하기 위해 앱 데이터를 지우는 것이 좋습니다</string> <string name="revanced_spoof_app_version_user_dialog_message">앱 버전을 YouTube 이전 앱 버전으로 변경합니다\n\n이 경우 앱 레이아웃과 기능이 변경되지만 알려지지 않은 문제점이 발생할 수 있습니다\n\n나중에 이 설정을 비활성화하면 앱 레이아웃 버그를 방지하기 위해 앱 데이터를 지우는 것이 좋습니다</string>
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'. <!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch --> This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
<string name="revanced_spoof_app_version_target_title">변경할 앱 버전 설정</string> <string name="revanced_spoof_app_version_target_title">변경할 앱 버전</string>
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - 이전 Shorts 플레이어 아이콘을 복원합니다</string> <string name="revanced_spoof_app_version_target_entry_1">19.35.36 - 이전 Shorts 플레이어 아이콘을 복원합니다</string>
<!-- 'RYD' is 'Return YouTube Dislike' --> <!-- 'RYD' is 'Return YouTube Dislike' -->
<string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - 시크릿 모드에서 Shorts RYD를 복원합니다</string> <string name="revanced_spoof_app_version_target_legacy_entry_1">18.33.40 - 시크릿 모드에서 Shorts RYD를 복원합니다</string>
@@ -1013,9 +1016,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_screen_title">미니 플레이어</string> <string name="revanced_miniplayer_screen_title">미니 플레이어</string>
<string name="revanced_miniplayer_screen_summary">앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다</string> <string name="revanced_miniplayer_screen_summary">앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다</string>
<string name="revanced_miniplayer_type_title">미니 플레이어 유형 설정</string> <string name="revanced_miniplayer_type_title">미니 플레이어 유형</string>
<string name="revanced_miniplayer_type_entry_0">비활성화됨</string> <string name="revanced_miniplayer_type_entry_0">비활성화됨</string>
<string name="revanced_miniplayer_type_entry_1">기기 기본값 사용</string> <string name="revanced_miniplayer_type_entry_1">홈 (기본값)</string>
<string name="revanced_miniplayer_type_entry_2">최소화</string> <string name="revanced_miniplayer_type_entry_2">최소화</string>
<string name="revanced_miniplayer_type_entry_3">태블릿</string> <string name="revanced_miniplayer_type_entry_3">태블릿</string>
<string name="revanced_miniplayer_type_entry_4">최신 스타일 1</string> <string name="revanced_miniplayer_type_entry_4">최신 스타일 1</string>
@@ -1024,18 +1027,18 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_rounded_corners_title">둥근 모서리 활성화하기</string> <string name="revanced_miniplayer_rounded_corners_title">둥근 모서리 활성화하기</string>
<string name="revanced_miniplayer_rounded_corners_summary_on">모서리를 둥글게 활성화합니다</string> <string name="revanced_miniplayer_rounded_corners_summary_on">모서리를 둥글게 활성화합니다</string>
<string name="revanced_miniplayer_rounded_corners_summary_off">모서리를 각지게 활성화합니다</string> <string name="revanced_miniplayer_rounded_corners_summary_off">모서리를 각지게 활성화합니다</string>
<string name="revanced_miniplayer_double_tap_action_title">두 번 누르기 및 핀치하여 크기 조정 활성화하기</string> <string name="revanced_miniplayer_double_tap_action_title">\'두 번 누르기\'\'핀치하여 크기 조정\' 활성화하기</string>
<string name="revanced_miniplayer_double_tap_action_summary_on">두 번 누르기 동작 및 핀치하여 크기 조정을 활성화합니다\n\n• 두 번 눌러서 미니 플레이어 크기를 확대합니다\n• 다시 두 번 눌러서 원래 크기로 복원니다</string> <string name="revanced_miniplayer_double_tap_action_summary_on">\'두 번 누르기 동작\'\'핀치하여 크기 조정\'을 활성화합니다\n\n• 두 번 눌러서 미니 플레이어 크기를 늘릴 수 있습니다\n• 다시 두 번 누르면 원래 크기로 복원니다</string>
<string name="revanced_miniplayer_double_tap_action_summary_off">두 번 누르기 동작 및 핀치하여 크기 조정을 비활성화합니다</string> <string name="revanced_miniplayer_double_tap_action_summary_off">\'두 번 누르기 동작\'\'핀치하여 크기 조정\'을 비활성화합니다</string>
<string name="revanced_miniplayer_drag_and_drop_title">드래그 &amp; 드롭 활성화하기</string> <string name="revanced_miniplayer_drag_and_drop_title">드래그 &amp; 드롭 활성화하기</string>
<string name="revanced_miniplayer_drag_and_drop_summary_on">드래그 &amp; 드롭을 활성화합니다\n\n• 미니 플레이어를 화면의 어느 곳이든 드래그할 수 있습니다</string> <string name="revanced_miniplayer_drag_and_drop_summary_on">드래그 &amp; 드롭을 활성화합니다\n\n• 미니 플레이어를 화면의 어느 곳이든 드래그할 수 있습니다</string>
<string name="revanced_miniplayer_drag_and_drop_summary_off">드래그 &amp; 드롭을 비활성화합니다</string> <string name="revanced_miniplayer_drag_and_drop_summary_off">드래그 &amp; 드롭을 비활성화합니다</string>
<string name="revanced_miniplayer_horizontal_drag_title">수평 드래그 제스처 활성화하기</string> <string name="revanced_miniplayer_horizontal_drag_title">수평 드래그 제스처 활성화하기</string>
<string name="revanced_miniplayer_horizontal_drag_summary_on">수평 드래그 제스처를 활성화합니다\n\n미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다</string> <string name="revanced_miniplayer_horizontal_drag_summary_on">수평 드래그 제스처를 활성화합니다\n\n미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다</string>
<string name="revanced_miniplayer_horizontal_drag_summary_off">수평 드래그 제스처를 비활성화합니다</string> <string name="revanced_miniplayer_horizontal_drag_summary_off">수평 드래그 제스처를 비활성화합니다</string>
<string name="revanced_miniplayer_hide_expand_close_title">닫기 버튼 숨기기</string> <string name="revanced_miniplayer_hide_expand_close_title">\'닫기\' 버튼 숨기기</string>
<string name="revanced_miniplayer_hide_expand_close_summary_on">닫기 버튼이 숨겨집니다</string> <string name="revanced_miniplayer_hide_expand_close_summary_on">\'닫기\' 버튼이 숨겨집니다</string>
<string name="revanced_miniplayer_hide_expand_close_summary_off">닫기 버튼이 표시됩니다</string> <string name="revanced_miniplayer_hide_expand_close_summary_off">\'닫기\' 버튼이 표시됩니다</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_title">\'펼치기\' &amp; \'닫기\' 버튼 숨기기</string> <string name="revanced_miniplayer_hide_expand_close_legacy_title">\'펼치기\' &amp; \'닫기\' 버튼 숨기기</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">\'펼치기\' &amp; \'닫기\' 버튼이 숨겨집니다\n\n• 스와이프하여 미니 플레이어를 펼치거나 닫을 수 있습니다</string> <string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">\'펼치기\' &amp; \'닫기\' 버튼이 숨겨집니다\n\n• 스와이프하여 미니 플레이어를 펼치거나 닫을 수 있습니다</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">\'펼치기\' &amp; \'닫기\' 버튼이 표시됩니다</string> <string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">\'펼치기\' &amp; \'닫기\' 버튼이 표시됩니다</string>
@@ -1061,7 +1064,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_seekbar_custom_color_title">사용자 정의 재생바 색상 활성화하기</string> <string name="revanced_seekbar_custom_color_title">사용자 정의 재생바 색상 활성화하기</string>
<string name="revanced_seekbar_custom_color_summary_on">사용자 정의 재생바 색상을 활성화합니다</string> <string name="revanced_seekbar_custom_color_summary_on">사용자 정의 재생바 색상을 활성화합니다</string>
<string name="revanced_seekbar_custom_color_summary_off">기본 재생바 색상을 활성화합니다</string> <string name="revanced_seekbar_custom_color_summary_off">기본 재생바 색상을 활성화합니다</string>
<string name="revanced_seekbar_custom_color_value_title">사용자 정의 재생바 색상 설정</string> <string name="revanced_seekbar_custom_color_value_title">사용자 정의 재생바 색상</string>
<string name="revanced_seekbar_custom_color_value_summary">재생바 색상</string> <string name="revanced_seekbar_custom_color_value_summary">재생바 색상</string>
<string name="revanced_seekbar_custom_color_invalid">잘못된 재생바 색상값입니다</string> <string name="revanced_seekbar_custom_color_invalid">잘못된 재생바 색상값입니다</string>
</patch> </patch>
@@ -1083,14 +1086,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow &amp; 기본 썸네일</string> <string name="revanced_alt_thumbnail_options_entry_2">DeArrow &amp; 기본 썸네일</string>
<string name="revanced_alt_thumbnail_options_entry_3">DeArrow &amp; 스틸 컷 썸네일</string> <string name="revanced_alt_thumbnail_options_entry_3">DeArrow &amp; 스틸 컷 썸네일</string>
<string name="revanced_alt_thumbnail_options_entry_4">스틸 컷 썸네일</string> <string name="revanced_alt_thumbnail_options_entry_4">스틸 컷 썸네일</string>
<string name="revanced_alt_thumbnail_dearrow_about_summary">DeArrow는 YouTube 동영상에 크라우드 소싱된 썸네일을 제공합니다. 이러한 썸네일은 YouTube에서 제공하는 썸네일보다 관련성이 높은 경우가 많습니다\n\n이 설정을 활성화하면 동영상 URL이 API 서버로 전송되며 다른 데이터는 전송되지 않습니다. 동영상에 DeArrow 썸네일이 없는 경우에는 기본 썸네일 또는 스틸 컷 썸네일이 표시됩니다\n\nDeArrow에 대해 자세히 알아보려면 여기를 누르세요</string> <string name="revanced_alt_thumbnail_dearrow_about_summary">DeArrow는 YouTube 동영상에 크라우드 소싱된 썸네일을 제공합니다. 이러한 썸네일은 YouTube에서 제공하는 썸네일보다 관련성이 높은 경우가 많습니다\n\n이 설정을 활성화하면 동영상 URL이 API 서버로 전송되며, 다른 데이터는 전송되지 않습니다. 동영상에 DeArrow 썸네일이 없는 경우에는 기본 썸네일 또는 스틸 컷 썸네일이 표시됩니다\n\nDeArrow에 대해 자세히 알아보려면 여기를 누르세요</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">API를 사용할 수 없을 때, 팝업 메시지 표시하기</string> <string name="revanced_alt_thumbnail_dearrow_connection_toast_title">API를 사용할 수 없을 때, 팝업 메시지 표시하기</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">DeArrow를 사용할 수 없을 때, 팝업 메시지를 표시합니다</string> <string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">DeArrow를 사용할 수 없을 때, 팝업 메시지를 표시합니다</string>
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">DeArrow를 사용할 수 없을 때, 팝업 메시지를 표시하지 않습니다</string> <string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">DeArrow를 사용할 수 없을 때, 팝업 메시지를 표시하지 않습니다</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_title">DeArrow API 엔드포인트</string> <string name="revanced_alt_thumbnail_dearrow_api_url_title">DeArrow API 엔드포인트</string>
<string name="revanced_alt_thumbnail_dearrow_api_url_summary">DeArrow 썸네일 캐시 엔드포인트 URL입니다. 이것이 무슨 역할을 하는지 모르는 경우에는 이 URL을 변경하지 마세요</string> <string name="revanced_alt_thumbnail_dearrow_api_url_summary">DeArrow 썸네일 캐시 엔드포인트 URL입니다. 이것이 무슨 역할을 하는지 모르는 경우에는 이 URL을 변경하지 마세요</string>
<string name="revanced_alt_thumbnail_stills_about_title">스틸 컷 썸네일</string> <string name="revanced_alt_thumbnail_stills_about_title">스틸 컷 썸네일</string>
<string name="revanced_alt_thumbnail_stills_about_summary">스틸 컷 썸네일은 각 동영상의 시작 / 중간 / 끝 부분에서 캡쳐된 이미지입니다. 이러한 이미지는 YouTube에 내장되어 있으며 외부 API는 사용되지 않습니다</string> <string name="revanced_alt_thumbnail_stills_about_summary">스틸 컷 썸네일은 각 동영상의 시작 / 중간 / 끝 부분에서 캡쳐된 이미지입니다. 이러한 이미지는 YouTube에 내장되어 있으며, 외부 API는 사용되지 않습니다</string>
<string name="revanced_alt_thumbnail_stills_fast_title">일반화질 스틸 컷 썸네일 표시하기</string> <string name="revanced_alt_thumbnail_stills_fast_title">일반화질 스틸 컷 썸네일 표시하기</string>
<string name="revanced_alt_thumbnail_stills_fast_summary_on">일반화질 스틸 컷 썸네일을 표시합니다. 썸네일을 빠르게 불러오지만 실시간 스트림, 비공개, 오래된 동영상에서는 아무것도 표시되지 않은 썸네일이 표시될 수 있습니다</string> <string name="revanced_alt_thumbnail_stills_fast_summary_on">일반화질 스틸 컷 썸네일을 표시합니다. 썸네일을 빠르게 불러오지만 실시간 스트림, 비공개, 오래된 동영상에서는 아무것도 표시되지 않은 썸네일이 표시될 수 있습니다</string>
<string name="revanced_alt_thumbnail_stills_fast_summary_off">고화질 스틸 컷 썸네일을 표시합니다</string> <string name="revanced_alt_thumbnail_stills_fast_summary_off">고화질 스틸 컷 썸네일을 표시합니다</string>
@@ -1122,7 +1125,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch"> <patch id="misc.dimensions.spoof.spoofDeviceDimensionsPatch">
<string name="revanced_spoof_device_dimensions_title">기기 크기 정보 변경하기</string> <string name="revanced_spoof_device_dimensions_title">기기 크기 정보 변경하기</string>
<string name="revanced_spoof_device_dimensions_summary_on">기기 크기 정보를 변경합니다\n\n이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있지만, 동영상 재생이 끊기거나 배터리 수명이 단축될 수 있으며 알려지지 않은 문제점도 발생할 수 있습니다</string> <string name="revanced_spoof_device_dimensions_summary_on">기기 크기 정보를 변경합니다\n\n이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있지만, 동영상 재생이 끊기거나 배터리 수명이 단축될 수 있으며, 알려지지 않은 문제점도 발생할 수 있습니다</string>
<string name="revanced_spoof_device_dimensions_summary_off">기기 크기 정보를 변경하지 않습니다\n\n이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있습니다</string> <string name="revanced_spoof_device_dimensions_summary_off">기기 크기 정보를 변경하지 않습니다\n\n이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있습니다</string>
<string name="revanced_spoof_device_dimensions_user_dialog_message">이 설정을 활성화하면 동영상 재생이 끊기거나 배터리 수명이 단축되고 알려지지 않은 문제점이 발생할 수 있습니다</string> <string name="revanced_spoof_device_dimensions_user_dialog_message">이 설정을 활성화하면 동영상 재생이 끊기거나 배터리 수명이 단축되고 알려지지 않은 문제점이 발생할 수 있습니다</string>
</patch> </patch>
@@ -1203,11 +1206,67 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다</string> <string name="revanced_spoof_video_streams_user_dialog_message">이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다</string>
<string name="revanced_spoof_video_streams_client_title">기본 클라이언트</string> <string name="revanced_spoof_video_streams_client_title">기본 클라이언트</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) 강제로 활성화하기</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) 강제로 활성화하기</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">동영상 코덱을 AVC (H.264)로 강제 활성화합니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">동영상 코덱을 자동으로 활성화합니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">이 기능을 활성화하면 배터리 수명이 향상되고 재생 끊김 현상이 해결될 수 있습니다\n\nAVC (H.264)의 최대 화질 값은 1080p이며, OPUS 오디오 코덱을 사용할 수 없고, 동영상 재생 시 VP9 또는 AV1보다 더 많은 모바일 데이터가 사용되오니 주의하세요</string>
<string name="revanced_spoof_video_streams_about_ios_title">\'iOS로 변경\'의 알려진 문제점</string> <string name="revanced_spoof_video_streams_about_ios_title">\'iOS로 변경\'의 알려진 문제점</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• 비공개 Kids 동영상이 재생되지 않을 수 있습니다\n• 일부 실시간 스트림이 처음부터 재생될 수 있습니다\n• 동영상이 1초 일찍 종료될 수 있습니다</string> <string name="revanced_spoof_video_streams_about_ios_summary">• 비공개 Kids 동영상이 재생되지 않을 수 있습니다\n• 연령 제한 동영상이 재생되지 않을 수 있습니다\n• 일부 라이브 스트림이 처음부터 재생될 수 있습니다\n• 동영상이 1초 일찍 종료될 수 있습니다</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">\'Android VR로 변경\'의 알려진 문제점</string> <string name="revanced_spoof_video_streams_about_android_vr_title">\'Android VR로 변경\'의 알려진 문제점</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids 동영상이 재생되지 않을 수 있습니다\n• 오디오 트랙 메뉴가 표시되지 않습니다\n• 안정적인 볼륨 메뉴가 비활성화된 채로 잠겨있습니다</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids 동영상이 재생되지 않을 수 있습니다\n• 연령 제한 동영상이 재생되지 않을 수 있습니다\n• 일부 라이브 스트림이 처음부터 재생될 수 있습니다\n• 동영상이 1초 일찍 종료될 수 있습니다</string>
<string name="revanced_spoof_video_streams_language_">스트리밍 데이터를 변경합니다</string> <string name="revanced_spoof_video_streams_language_title">기본 오디오 트랙 언어</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">앱 언어</string>
<string name="revanced_spoof_video_streams_language_AR">아랍어</string>
<string name="revanced_spoof_video_streams_language_AZ">아제르바니잔어</string>
<string name="revanced_spoof_video_streams_language_BG">불가리아어</string>
<string name="revanced_spoof_video_streams_language_BN">뱅골어</string>
<string name="revanced_spoof_video_streams_language_CA">카타로니아어</string>
<string name="revanced_spoof_video_streams_language_CS">체코어</string>
<string name="revanced_spoof_video_streams_language_DA">덴마크어</string>
<string name="revanced_spoof_video_streams_language_DE">독일어</string>
<string name="revanced_spoof_video_streams_language_EL">그리스어</string>
<string name="revanced_spoof_video_streams_language_EN">영어</string>
<string name="revanced_spoof_video_streams_language_ES">스페인어</string>
<string name="revanced_spoof_video_streams_language_ET">에스토니아어</string>
<string name="revanced_spoof_video_streams_language_FA">페르시아어</string>
<string name="revanced_spoof_video_streams_language_FI">핀란드어</string>
<string name="revanced_spoof_video_streams_language_FR">프랑스어</string>
<string name="revanced_spoof_video_streams_language_GU">구자라트어</string>
<string name="revanced_spoof_video_streams_language_HI">힌디어</string>
<string name="revanced_spoof_video_streams_language_HR">크로아티아어</string>
<string name="revanced_spoof_video_streams_language_HU">헝가리어</string>
<string name="revanced_spoof_video_streams_language_ID">인도네시아어</string>
<string name="revanced_spoof_video_streams_language_IT">이틸리아어</string>
<string name="revanced_spoof_video_streams_language_JA">일본어</string>
<string name="revanced_spoof_video_streams_language_KK">키자흐스탄어</string>
<string name="revanced_spoof_video_streams_language_KO">한국어</string>
<string name="revanced_spoof_video_streams_language_LT">리투아니아어</string>
<string name="revanced_spoof_video_streams_language_LV">라트비아어</string>
<string name="revanced_spoof_video_streams_language_MK">마케도니아어</string>
<string name="revanced_spoof_video_streams_language_MN">몽골어</string>
<string name="revanced_spoof_video_streams_language_MR">마라티어</string>
<string name="revanced_spoof_video_streams_language_MS">말레이어</string>
<string name="revanced_spoof_video_streams_language_MY">버마어</string>
<string name="revanced_spoof_video_streams_language_NL">네덜란드어</string>
<string name="revanced_spoof_video_streams_language_OR">오리야어</string>
<string name="revanced_spoof_video_streams_language_PA">펀잡어</string>
<string name="revanced_spoof_video_streams_language_PL">폴란드어</string>
<string name="revanced_spoof_video_streams_language_PT_BR">포르투갈어 (브라질)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">포르투갈어 (포르트갈)</string>
<string name="revanced_spoof_video_streams_language_RO">루마니아어</string>
<string name="revanced_spoof_video_streams_language_RU">러시아어</string>
<string name="revanced_spoof_video_streams_language_SK">슬로바키아어</string>
<string name="revanced_spoof_video_streams_language_SL">슬로베니아어</string>
<string name="revanced_spoof_video_streams_language_SR">세르비아어</string>
<string name="revanced_spoof_video_streams_language_SV">스웨덴어</string>
<string name="revanced_spoof_video_streams_language_SW">스와힐리어</string>
<string name="revanced_spoof_video_streams_language_TA">타밀어</string>
<string name="revanced_spoof_video_streams_language_TE">텔루구어</string>
<string name="revanced_spoof_video_streams_language_TH">태국어</string>
<string name="revanced_spoof_video_streams_language_TR">터키어</string>
<string name="revanced_spoof_video_streams_language_UK">우크라이나어</string>
<string name="revanced_spoof_video_streams_language_UR">우르두어</string>
<string name="revanced_spoof_video_streams_language_VI">베트남어</string>
<string name="revanced_spoof_video_streams_language_ZH">중국어</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -185,6 +185,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">Išjungta</string> <string name="revanced_miniplayer_type_entry_0">Išjungta</string>
<string name="revanced_miniplayer_type_entry_1">Numatytasis</string>
</patch> </patch>
<patch id="layout.theme.themePatch"> <patch id="layout.theme.themePatch">
</patch> </patch>

View File

@@ -182,6 +182,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">Atspējots</string> <string name="revanced_miniplayer_type_entry_0">Atspējots</string>
<string name="revanced_miniplayer_type_entry_1">Noklusējums</string>
</patch> </patch>
<patch id="layout.theme.themePatch"> <patch id="layout.theme.themePatch">
</patch> </patch>

View File

@@ -990,7 +990,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Endre stil på appen til den minimerte spilleren</string> <string name="revanced_miniplayer_screen_summary">Endre stil på appen til den minimerte spilleren</string>
<string name="revanced_miniplayer_type_title">Type Minispiller</string> <string name="revanced_miniplayer_type_title">Type Minispiller</string>
<string name="revanced_miniplayer_type_entry_0">Deaktivert</string> <string name="revanced_miniplayer_type_entry_0">Deaktivert</string>
<string name="revanced_miniplayer_type_entry_1">Opprinnelig</string>
<string name="revanced_miniplayer_type_entry_2">Minimalt</string> <string name="revanced_miniplayer_type_entry_2">Minimalt</string>
<string name="revanced_miniplayer_type_entry_3">Nettbrett</string> <string name="revanced_miniplayer_type_entry_3">Nettbrett</string>
<string name="revanced_miniplayer_type_entry_4">Moderne 1</string> <string name="revanced_miniplayer_type_entry_4">Moderne 1</string>
@@ -1179,11 +1178,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokodek bestemmes automatisk</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videokodek bestemmes automatisk</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Aktivering av dette kan forbedre batterilevetiden og korrigere avspilling med avvik.\n\nAVC har en maksimal oppløsning på 1080p, Opus lydkodek er ikke tilgjengelig. og videoavspilling vil bruke flere Internett-data enn VP9 eller AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Aktivering av dette kan forbedre batterilevetiden og korrigere avspilling med avvik.\n\nAVC har en maksimal oppløsning på 1080p, Opus lydkodek er ikke tilgjengelig. og videoavspilling vil bruke flere Internett-data enn VP9 eller AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS med bivirkninger</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS med bivirkninger</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Private kids-videoer spiller kanskje ikke\n• Livestreams start fra begynnelsen\n• Videoer kan ende med 1 andre tidlig</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Private kids-videoer spiller kanskje ikke\n• Alder begrensede videoer spiller kanskje ikke\n• direktestrømming starter på begynnelsen\n• Videoer slutter 1 sekund tidlig</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR opplever bivirkninger</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR opplever bivirkninger</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Barn kan ikke spille\n• Lydspormeny mangler\n• Stabilt volum er ikke tilgjengelig</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Barn som ikke spiller\n• Alder begrensede videoer kan kanskje ikke spille\n• direktestrømming starter på begynnelsen\n• Videoer slutten 1 sekund tidlig</string>
<string name="revanced_spoof_video_streams_language_">Videostrømmer er skjevet</string> <string name="revanced_spoof_video_streams_language_title">Standard lydstrømmespråk</string>
<string name="revanced_spoof_video_streams_language_title">Foretrukket lydstrømsspråk</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App språk</string> <string name="revanced_spoof_video_streams_language_DEFAULT">App språk</string>
<string name="revanced_spoof_video_streams_language_AR">Arabisk</string> <string name="revanced_spoof_video_streams_language_AR">Arabisk</string>
<string name="revanced_spoof_video_streams_language_AZ">Aserbajdsjansk</string> <string name="revanced_spoof_video_streams_language_AZ">Aserbajdsjansk</string>

View File

@@ -1002,7 +1002,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">De stijl van de in de app geminimaliseerde speler wijzigen</string> <string name="revanced_miniplayer_screen_summary">De stijl van de in de app geminimaliseerde speler wijzigen</string>
<string name="revanced_miniplayer_type_title">Miniplayer type</string> <string name="revanced_miniplayer_type_title">Miniplayer type</string>
<string name="revanced_miniplayer_type_entry_0">Uitgeschakeld</string> <string name="revanced_miniplayer_type_entry_0">Uitgeschakeld</string>
<string name="revanced_miniplayer_type_entry_1">Origineel</string> <string name="revanced_miniplayer_type_entry_1">Standaard</string>
<string name="revanced_miniplayer_type_entry_2">Minimaal</string> <string name="revanced_miniplayer_type_entry_2">Minimaal</string>
<string name="revanced_miniplayer_type_entry_3">Telefoon</string> <string name="revanced_miniplayer_type_entry_3">Telefoon</string>
<string name="revanced_miniplayer_type_entry_4">Moderne 1</string> <string name="revanced_miniplayer_type_entry_4">Moderne 1</string>
@@ -1194,11 +1194,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videocodec wordt automatisch bepaald</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Videocodec wordt automatisch bepaald</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Het inschakelen hiervan kan de batterijduur verbeteren en het terugspringen corrigeren.\n\nAVC heeft een maximale resolutie van 1080p, Opus audiocodec is niet beschikbaar. en afspelen van video\'s zal meer internetgegevens gebruiken dan VP9 of AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Het inschakelen hiervan kan de batterijduur verbeteren en het terugspringen corrigeren.\n\nAVC heeft een maximale resolutie van 1080p, Opus audiocodec is niet beschikbaar. en afspelen van video\'s zal meer internetgegevens gebruiken dan VP9 of AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS vervalste bijwerkingen</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS vervalste bijwerkingen</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Privé-kinderen video\'s mogen niet afspelen\n• Livestreams beginnen vanaf het begin\n• Video\'s kunnen 1 seconde vroeg eindigen</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Privé-kinderen video\'s kunnen mogelijk niet afspelen\n• Leeftijd beperkte video\'s kunnen mogelijk niet afspelen\n• Livestreams starten vanaf het begin\n• Video\'s eindigen 1 seconde eerder</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR vervalste bijeffecten</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR vervalste bijeffecten</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids video\'s mogen niet afspelen\n• Audio track menu ontbreekt\n• Stabiel volume is niet beschikbaar</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids video\'s mogen niet afspelen\n• Leeftijd beperkte video\'s mogen niet afspelen\n• Livestreams beginnen vanaf het begin\n• Video\'s eindigen 1 seconde eerder</string>
<string name="revanced_spoof_video_streams_language_">Videostreams zijn vervalst</string> <string name="revanced_spoof_video_streams_language_title">Standaard taal audio stream</string>
<string name="revanced_spoof_video_streams_language_title">Voorkeurstaal audio stream</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App taal</string> <string name="revanced_spoof_video_streams_language_DEFAULT">App taal</string>
<string name="revanced_spoof_video_streams_language_AR">Arabisch</string> <string name="revanced_spoof_video_streams_language_AR">Arabisch</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbeidzjaans</string> <string name="revanced_spoof_video_streams_language_AZ">Azerbeidzjaans</string>

View File

@@ -711,8 +711,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Wyskakujące panele odtwarzacza są widoczne</string> <string name="revanced_hide_player_popup_panels_summary_off">Wyskakujące panele odtwarzacza są widoczne</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Otwórz filmy w trybie pełnoekranowym</string> <string name="revanced_open_videos_fullscreen_portrait_title">Filmy w trybie pełnoekranowym</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Filmy otwarte w trybie pełnoekranowym</string> <string name="revanced_open_videos_fullscreen_portrait_summary_on">Filmy otwierają się w trybie pełnoekranowym</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Filmy nie otwierają się w trybie pełnoekranowym</string> <string name="revanced_open_videos_fullscreen_portrait_summary_off">Filmy nie otwierają się w trybie pełnoekranowym</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
@@ -1018,7 +1018,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Zmień styl zminimalizowanego odtwarzacza aplikacji</string> <string name="revanced_miniplayer_screen_summary">Zmień styl zminimalizowanego odtwarzacza aplikacji</string>
<string name="revanced_miniplayer_type_title">Typ miniodtwarzacza</string> <string name="revanced_miniplayer_type_title">Typ miniodtwarzacza</string>
<string name="revanced_miniplayer_type_entry_0">Wyłączony</string> <string name="revanced_miniplayer_type_entry_0">Wyłączony</string>
<string name="revanced_miniplayer_type_entry_1">Oryginalny</string> <string name="revanced_miniplayer_type_entry_1">Domyślny</string>
<string name="revanced_miniplayer_type_entry_2">Minimalny</string> <string name="revanced_miniplayer_type_entry_2">Minimalny</string>
<string name="revanced_miniplayer_type_entry_3">Tabletowy</string> <string name="revanced_miniplayer_type_entry_3">Tabletowy</string>
<string name="revanced_miniplayer_type_entry_4">Nowoczesny 1</string> <string name="revanced_miniplayer_type_entry_4">Nowoczesny 1</string>
@@ -1206,68 +1206,67 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Wyłączenie tej opcji może spowodować problemy z odtwarzaniem filmów.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Wyłączenie tej opcji może spowodować problemy z odtwarzaniem filmów.</string>
<string name="revanced_spoof_video_streams_client_title">Domyślny klient</string> <string name="revanced_spoof_video_streams_client_title">Domyślny klient</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Wymuś AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Wymuś AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Kodek wideo jest wymuszone do AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Kodek filmu jest wymuszony do AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Kodek wideo jest ustawiany automatycznie</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Kodek filmu jest ustawiany automatycznie</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Włączenie tego może poprawić żywotność baterii i naprawić stłuczenie odtwarzania.\n\nAVC ma maksymalną rozdzielczość 1080p, kodek audio Opus jest niedostępny, a odtwarzanie wideo wykorzysta więcej danych internetowych niż VP9 lub AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Włączenie tej opcji może poprawić żywotność baterii i wyeliminować zacinanie się odtwarzania.\n\nAVC ma maksymalną rozdzielczość 1080p, kodek Opus nie jest dostępny, a odtwarzanie wideo zużywa więcej danych internetowych niż VP9 czy AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Efekty uboczne spoofingu iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Efekty uboczne spoofingu iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">Prywatne filmy dla dzieci mogą się nie odtwarzać\n• Transmisje na żywo rozpoczynają się od początku\n• Filmy mogą zakończ się o sekundę wcześniej</string> <string name="revanced_spoof_video_streams_about_ios_summary">Filmy prywatne dzieci mogą nie odtwarzać\n• Filmy ograniczone wiekiem mogą nie odtwarzać\n• Livestreams zaczynają się od początku\n• Filmy kończą się 1 sekundą na początku</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Efekty uboczne spoofingu Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Efekty uboczne spoofingu Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Filmy dla dzieci mogą się nie odtwarzać\n• Brakuje menu od ścieżki dźwiękowej\n• Stabilna głośność jest niedostępna</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Filmy dziecięce mogą nie odtwarzać\n• Filmy ograniczone wiekiem mogą nie odtwarzać\n• Livestreams zaczynają się od początku\n• Filmy kończą się 1 sekundą na początku</string>
<string name="revanced_spoof_video_streams_language_">Oszukiwanie strumienia jest włączone</string> <string name="revanced_spoof_video_streams_language_title">Domyślny język strumienia dźwięku</string>
<string name="revanced_spoof_video_streams_language_title">Preferowany język strumienia audio</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Język aplikacji</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Język aplikacji</string>
<string name="revanced_spoof_video_streams_language_AR">arabski</string> <string name="revanced_spoof_video_streams_language_AR">arabski</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbejdżański</string> <string name="revanced_spoof_video_streams_language_AZ">azerbejdżański</string>
<string name="revanced_spoof_video_streams_language_BG">bułgarski</string> <string name="revanced_spoof_video_streams_language_BG">bułgarski</string>
<string name="revanced_spoof_video_streams_language_BN">Bengali</string> <string name="revanced_spoof_video_streams_language_BN">bengalski</string>
<string name="revanced_spoof_video_streams_language_CA">kataloński</string> <string name="revanced_spoof_video_streams_language_CA">kataloński</string>
<string name="revanced_spoof_video_streams_language_CS">czeski</string> <string name="revanced_spoof_video_streams_language_CS">czeski</string>
<string name="revanced_spoof_video_streams_language_DA">duński</string> <string name="revanced_spoof_video_streams_language_DA">duński</string>
<string name="revanced_spoof_video_streams_language_DE">niemiecki</string> <string name="revanced_spoof_video_streams_language_DE">niemiecki</string>
<string name="revanced_spoof_video_streams_language_EL">grecki</string> <string name="revanced_spoof_video_streams_language_EL">grecki</string>
<string name="revanced_spoof_video_streams_language_EN">Angielski</string> <string name="revanced_spoof_video_streams_language_EN">angielski</string>
<string name="revanced_spoof_video_streams_language_ES">hiszpański</string> <string name="revanced_spoof_video_streams_language_ES">hiszpański</string>
<string name="revanced_spoof_video_streams_language_ET">estoński</string> <string name="revanced_spoof_video_streams_language_ET">estoński</string>
<string name="revanced_spoof_video_streams_language_FA">perski</string> <string name="revanced_spoof_video_streams_language_FA">perski</string>
<string name="revanced_spoof_video_streams_language_FI">fiński</string> <string name="revanced_spoof_video_streams_language_FI">fiński</string>
<string name="revanced_spoof_video_streams_language_FR">Francuski</string> <string name="revanced_spoof_video_streams_language_FR">francuski</string>
<string name="revanced_spoof_video_streams_language_GU">Gujarati</string> <string name="revanced_spoof_video_streams_language_GU">gudżaracki</string>
<string name="revanced_spoof_video_streams_language_HI">Hindi</string> <string name="revanced_spoof_video_streams_language_HI">hinduski</string>
<string name="revanced_spoof_video_streams_language_HR">chorwacki</string> <string name="revanced_spoof_video_streams_language_HR">chorwacki</string>
<string name="revanced_spoof_video_streams_language_HU">węgierski</string> <string name="revanced_spoof_video_streams_language_HU">węgierski</string>
<string name="revanced_spoof_video_streams_language_ID">indonezyjski</string> <string name="revanced_spoof_video_streams_language_ID">indonezyjski</string>
<string name="revanced_spoof_video_streams_language_IT">włoski</string> <string name="revanced_spoof_video_streams_language_IT">włoski</string>
<string name="revanced_spoof_video_streams_language_JA">japoński</string> <string name="revanced_spoof_video_streams_language_JA">japoński</string>
<string name="revanced_spoof_video_streams_language_KK">Kazakh</string> <string name="revanced_spoof_video_streams_language_KK">kazachski</string>
<string name="revanced_spoof_video_streams_language_KO">koreański</string> <string name="revanced_spoof_video_streams_language_KO">koreański</string>
<string name="revanced_spoof_video_streams_language_LT">litewski</string> <string name="revanced_spoof_video_streams_language_LT">litewski</string>
<string name="revanced_spoof_video_streams_language_LV">łotewski</string> <string name="revanced_spoof_video_streams_language_LV">łotewski</string>
<string name="revanced_spoof_video_streams_language_MK">macedoński</string> <string name="revanced_spoof_video_streams_language_MK">macedoński</string>
<string name="revanced_spoof_video_streams_language_MN">mongolski</string> <string name="revanced_spoof_video_streams_language_MN">mongolski</string>
<string name="revanced_spoof_video_streams_language_MR">Marathi</string> <string name="revanced_spoof_video_streams_language_MR">maratyjski</string>
<string name="revanced_spoof_video_streams_language_MS">Malajski</string> <string name="revanced_spoof_video_streams_language_MS">malajski</string>
<string name="revanced_spoof_video_streams_language_MY">Burmese</string> <string name="revanced_spoof_video_streams_language_MY">birmański</string>
<string name="revanced_spoof_video_streams_language_NL">Holenderski</string> <string name="revanced_spoof_video_streams_language_NL">holenderski</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string> <string name="revanced_spoof_video_streams_language_OR">Orija</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string> <string name="revanced_spoof_video_streams_language_PA">pendżabski</string>
<string name="revanced_spoof_video_streams_language_PL">polski</string> <string name="revanced_spoof_video_streams_language_PL">polski</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portugalski (Brazylia)</string> <string name="revanced_spoof_video_streams_language_PT_BR">portugalski (Brazylia)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portugalski (Portugalia)</string> <string name="revanced_spoof_video_streams_language_PT_PT">portugalski (Portugalia)</string>
<string name="revanced_spoof_video_streams_language_RO">rumuński</string> <string name="revanced_spoof_video_streams_language_RO">rumuński</string>
<string name="revanced_spoof_video_streams_language_RU">rosyjski</string> <string name="revanced_spoof_video_streams_language_RU">rosyjski</string>
<string name="revanced_spoof_video_streams_language_SK">Słowacki</string> <string name="revanced_spoof_video_streams_language_SK">słowacki</string>
<string name="revanced_spoof_video_streams_language_SL">Slovene</string> <string name="revanced_spoof_video_streams_language_SL">słoweński</string>
<string name="revanced_spoof_video_streams_language_SR">serbski</string> <string name="revanced_spoof_video_streams_language_SR">serbski</string>
<string name="revanced_spoof_video_streams_language_SV">Szwedzki</string> <string name="revanced_spoof_video_streams_language_SV">szwedzki</string>
<string name="revanced_spoof_video_streams_language_SW">Sahili</string> <string name="revanced_spoof_video_streams_language_SW">suahilijski</string>
<string name="revanced_spoof_video_streams_language_TA">Tamil</string> <string name="revanced_spoof_video_streams_language_TA">tamilski</string>
<string name="revanced_spoof_video_streams_language_TE">Telugu</string> <string name="revanced_spoof_video_streams_language_TE">Telugu</string>
<string name="revanced_spoof_video_streams_language_TH">tajski</string> <string name="revanced_spoof_video_streams_language_TH">tajski</string>
<string name="revanced_spoof_video_streams_language_TR">turecki</string> <string name="revanced_spoof_video_streams_language_TR">turecki</string>
<string name="revanced_spoof_video_streams_language_UK">ukraiński</string> <string name="revanced_spoof_video_streams_language_UK">ukraiński</string>
<string name="revanced_spoof_video_streams_language_UR">Urdu</string> <string name="revanced_spoof_video_streams_language_UR">Urdu</string>
<string name="revanced_spoof_video_streams_language_VI">Vietnamese</string> <string name="revanced_spoof_video_streams_language_VI">wietnamski</string>
<string name="revanced_spoof_video_streams_language_ZH">Chiński</string> <string name="revanced_spoof_video_streams_language_ZH">chiński</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -1015,7 +1015,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Alterar o estilo do player minimizado no aplicativo</string> <string name="revanced_miniplayer_screen_summary">Alterar o estilo do player minimizado no aplicativo</string>
<string name="revanced_miniplayer_type_title">Tipo de miniplayer</string> <string name="revanced_miniplayer_type_title">Tipo de miniplayer</string>
<string name="revanced_miniplayer_type_entry_0">Desativado</string> <string name="revanced_miniplayer_type_entry_0">Desativado</string>
<string name="revanced_miniplayer_type_entry_1">Original</string> <string name="revanced_miniplayer_type_entry_1">Padrão</string>
<string name="revanced_miniplayer_type_entry_2">Mínimo</string> <string name="revanced_miniplayer_type_entry_2">Mínimo</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string> <string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
@@ -1204,10 +1204,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_client_title">Cliente padrão</string> <string name="revanced_spoof_video_streams_client_title">Cliente padrão</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Forçar AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Forçar AVC (H.264)</string>
<string name="revanced_spoof_video_streams_about_ios_title">Efeitos colaterais do spoofing de iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Efeitos colaterais do spoofing de iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Vídeos privados para crianças não podem ser reproduzidos\n• As transmissões ao vivo começam do início\n• Os vídeos podem terminar 1 segundo antes</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Efeitos colaterais do spoofing de Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Efeitos colaterais do spoofing de Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Os vídeos infantis podem não ser reproduzidos\n• O menu da faixa de áudio está ausente\n• O volume estável não está disponível</string>
<string name="revanced_spoof_video_streams_language_">Fluxo de vídeo spoofado</string>
<string name="revanced_spoof_video_streams_language_EN">Inglês</string> <string name="revanced_spoof_video_streams_language_EN">Inglês</string>
</patch> </patch>
</app> </app>

View File

@@ -1017,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Alterar o estilo do player minimizado no aplicativo</string> <string name="revanced_miniplayer_screen_summary">Alterar o estilo do player minimizado no aplicativo</string>
<string name="revanced_miniplayer_type_title">Tipo de minijogador</string> <string name="revanced_miniplayer_type_title">Tipo de minijogador</string>
<string name="revanced_miniplayer_type_entry_0">Desativado</string> <string name="revanced_miniplayer_type_entry_0">Desativado</string>
<string name="revanced_miniplayer_type_entry_1">Original</string> <string name="revanced_miniplayer_type_entry_1">Padrão</string>
<string name="revanced_miniplayer_type_entry_2">Mínimo</string> <string name="revanced_miniplayer_type_entry_2">Mínimo</string>
<string name="revanced_miniplayer_type_entry_3">Tábua</string> <string name="revanced_miniplayer_type_entry_3">Tábua</string>
<string name="revanced_miniplayer_type_entry_4">Moderno 1</string> <string name="revanced_miniplayer_type_entry_4">Moderno 1</string>
@@ -1209,11 +1209,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Codec de vídeo é determinado automaticamente</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Codec de vídeo é determinado automaticamente</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Habilitar isso pode melhorar a duração da bateria e corrigir travamentos na reprodução.\n\nAVC tem uma resolução máxima de 1080p, codec de áudio de Opus não está disponível, e a reprodução de vídeo usará mais dados na internet do que VP9 ou AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Habilitar isso pode melhorar a duração da bateria e corrigir travamentos na reprodução.\n\nAVC tem uma resolução máxima de 1080p, codec de áudio de Opus não está disponível, e a reprodução de vídeo usará mais dados na internet do que VP9 ou AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Efeitos colaterais de iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Efeitos colaterais de iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Crianças privadas podem não reproduzir\n• Livestreams iniciados desde o início\n• Vídeos podem terminar 1 segundo cedo</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Crianças privadas podem não reproduzir\n• Vídeos com restrições de idade podem não reproduzir\n• Livestreams começando desde o início\n• Vídeos terminam 1 segundo mais cedo</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR efeito de spoofing side</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR efeito de spoofing side</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• As crianças podem não reproduzir\n• O menu da faixa de áudio está faltando\n• Volume estável não está disponível</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• As crianças podem não reproduzir\n• A idade de vídeos pode não reproduzir\n• Livestreams iniciando desde o início\n• Vídeos terminam 1 segundo mais cedo</string>
<string name="revanced_spoof_video_streams_language_">Fluxos de vídeo são falsificados</string> <string name="revanced_spoof_video_streams_language_title">Idioma padrão do fluxo de áudio</string>
<string name="revanced_spoof_video_streams_language_title">Idioma preferencial do áudio stream</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Idioma do aplicativo</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Idioma do aplicativo</string>
<string name="revanced_spoof_video_streams_language_AR">Arábico</string> <string name="revanced_spoof_video_streams_language_AR">Arábico</string>
<string name="revanced_spoof_video_streams_language_AZ">azerbaijano</string> <string name="revanced_spoof_video_streams_language_AZ">azerbaijano</string>

View File

@@ -991,7 +991,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Schimbă stilul aplicaţiei minimizat jucătorul</string> <string name="revanced_miniplayer_screen_summary">Schimbă stilul aplicaţiei minimizat jucătorul</string>
<string name="revanced_miniplayer_type_title">Tip minijucător</string> <string name="revanced_miniplayer_type_title">Tip minijucător</string>
<string name="revanced_miniplayer_type_entry_0">Dezactivat</string> <string name="revanced_miniplayer_type_entry_0">Dezactivat</string>
<string name="revanced_miniplayer_type_entry_1">Originală</string> <string name="revanced_miniplayer_type_entry_1">Implicit</string>
<string name="revanced_miniplayer_type_entry_2">Minimă</string> <string name="revanced_miniplayer_type_entry_2">Minimă</string>
<string name="revanced_miniplayer_type_entry_3">Tabletă</string> <string name="revanced_miniplayer_type_entry_3">Tabletă</string>
<string name="revanced_miniplayer_type_entry_4">Modern 1</string> <string name="revanced_miniplayer_type_entry_4">Modern 1</string>
@@ -1170,10 +1170,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Codecul video este forţat să facă AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Codecul video este forţat să facă AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Codecul video este determinat automat</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Codecul video este determinat automat</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activarea acestei funcții ar putea îmbunătăți durata de viață a bateriei și repara blocajul de redare.\n\nAVC are o rezoluție maximă de 1080p, codec audio Opus nu este disponibil, iar redarea video va utiliza mai multe date internet decât VP9 sau AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Activarea acestei funcții ar putea îmbunătăți durata de viață a bateriei și repara blocajul de redare.\n\nAVC are o rezoluție maximă de 1080p, codec audio Opus nu este disponibil, iar redarea video va utiliza mai multe date internet decât VP9 sau AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_summary">Este posibil ca videoclipurile private pentru copii să nu se redea\n• Livestream-urile încep de la începutul\n• Videoclipurile se pot termina cu o secundă mai devreme</string> <string name="revanced_spoof_video_streams_about_ios_summary">Videoclipurile private pentru copii ar putea să nu redea\n• Vârsta limitată a videoclipurilor ar putea să nu redea\n• Livestreams începe de la începutul\n• Videoclipuri sfârșit cu 1 secundă mai devreme</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Reacţii adverse de spoofing Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Reacţii adverse de spoofing Android VR</string>
<string name="revanced_spoof_video_streams_language_">Fluxurile video sunt falsificate</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Este posibil ca videoclipurile cu copii să nu redea\n• Vârsta limitată a videoclipurilor ar putea să nu redea\n• Livestreams începe de la începutul\n• Videoclipuri sfârșit de 1 secundă mai devreme</string>
<string name="revanced_spoof_video_streams_language_title">Limba de transmisiune audio preferată</string> <string name="revanced_spoof_video_streams_language_title">Limbă implicită flux audio</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Limba aplicației</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Limba aplicației</string>
<string name="revanced_spoof_video_streams_language_AR">Arabă</string> <string name="revanced_spoof_video_streams_language_AR">Arabă</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaidjan</string> <string name="revanced_spoof_video_streams_language_AZ">Azerbaidjan</string>

View File

@@ -82,7 +82,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_settings_screen_03_feed_title">Лента</string> <string name="revanced_settings_screen_03_feed_title">Лента</string>
<string name="revanced_settings_screen_04_player_title">Плеер</string> <string name="revanced_settings_screen_04_player_title">Плеер</string>
<string name="revanced_settings_screen_05_general_title">Основной интерфейс</string> <string name="revanced_settings_screen_05_general_title">Основной интерфейс</string>
<string name="revanced_settings_screen_07_seekbar_title">Прогресс воспроизведения</string> <string name="revanced_settings_screen_07_seekbar_title">Полоса прогресса</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Управление жестами</string> <string name="revanced_settings_screen_08_swipe_controls_title">Управление жестами</string>
<string name="revanced_settings_screen_11_misc_title">Прочие</string> <string name="revanced_settings_screen_11_misc_title">Прочие</string>
<string name="revanced_settings_screen_12_video_title">Видео</string> <string name="revanced_settings_screen_12_video_title">Видео</string>
@@ -275,7 +275,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_doodles_title">YouTube Doodles</string> <string name="revanced_hide_doodles_title">YouTube Doodles</string>
<string name="revanced_hide_doodles_summary_on">Doodles на панели поиска скрыты</string> <string name="revanced_hide_doodles_summary_on">Doodles на панели поиска скрыты</string>
<string name="revanced_hide_doodles_summary_off">Doodles на панели поиска отображены</string> <string name="revanced_hide_doodles_summary_off">Doodles на панели поиска отображены</string>
<string name="revanced_hide_doodles_user_dialog_message">YouTube Doodles появляются несколько дней в году.\n\nЕсли в Вашем регионе в настоящее время показывается Doodle, и этот параметр скрытия включен, то панель фильтров под панелью поиска будет также скрыта.</string> <string name="revanced_hide_doodles_user_dialog_message">YouTube Doodles появляются несколько дней в году.\n\nЕсли в Вашем регионе в настоящее время показывается Doodle, и данная опция скрытия активна, то панель фильтров под панелью поиска будет также скрыта.</string>
<string name="revanced_custom_filter_screen_title">Пользовательский фильтр</string> <string name="revanced_custom_filter_screen_title">Пользовательский фильтр</string>
<string name="revanced_custom_filter_screen_summary">Скрыть компоненты с помощью пользовательских фильтров</string> <string name="revanced_custom_filter_screen_summary">Скрыть компоненты с помощью пользовательских фильтров</string>
<string name="revanced_custom_filter_title">Пользовательский фильтр</string> <string name="revanced_custom_filter_title">Пользовательский фильтр</string>
@@ -397,8 +397,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="interaction.seekbar.enableSeekbarTappingPatch"> <patch id="interaction.seekbar.enableSeekbarTappingPatch">
<string name="revanced_seekbar_tapping_title">Перемотка нажатием</string> <string name="revanced_seekbar_tapping_title">Перемотка нажатием</string>
<string name="revanced_seekbar_tapping_summary_on">Перемотка нажатием на прогресс воспроизведения включена</string> <string name="revanced_seekbar_tapping_summary_on">Перемотка нажатием на полосу прогресса включена</string>
<string name="revanced_seekbar_tapping_summary_off">Перемотка нажатием на прогресс воспроизведения отключена</string> <string name="revanced_seekbar_tapping_summary_off">Перемотка нажатием на полосу прогресса отключена</string>
</patch> </patch>
<patch id="interaction.swipecontrols.swipeControlsResourcePatch"> <patch id="interaction.swipecontrols.swipeControlsResourcePatch">
<string name="revanced_swipe_brightness_title">Регулировка яркости жестом</string> <string name="revanced_swipe_brightness_title">Регулировка яркости жестом</string>
@@ -588,12 +588,12 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_disable_rolling_number_animations_summary_off">Анимированные счетчики просмотров, лайков и дизлайков включены</string> <string name="revanced_disable_rolling_number_animations_summary_off">Анимированные счетчики просмотров, лайков и дизлайков включены</string>
</patch> </patch>
<patch id="layout.hide.seekbar.hideSeekbarPatch"> <patch id="layout.hide.seekbar.hideSeekbarPatch">
<string name="revanced_hide_seekbar_title">Прогресс воспроизведения</string> <string name="revanced_hide_seekbar_title">Полоса прогресса в плеере</string>
<string name="revanced_hide_seekbar_summary_on">Прогресс воспроизведения в плеере скрыт</string> <string name="revanced_hide_seekbar_summary_on">Полоса прогресса в плеере скрыта</string>
<string name="revanced_hide_seekbar_summary_off">Прогресс воспроизведения в плеере отображен</string> <string name="revanced_hide_seekbar_summary_off">Полоса прогресса в плеере отображена</string>
<string name="revanced_hide_seekbar_thumbnail_title">Миниатюры</string> <string name="revanced_hide_seekbar_thumbnail_title">Полоса прогресса в миниатюрах</string>
<string name="revanced_hide_seekbar_thumbnail_summary_on">Миниатюры прогресса воспроизведения скрыты</string> <string name="revanced_hide_seekbar_thumbnail_summary_on">Полоса прогресса в миниатюрах скрыта</string>
<string name="revanced_hide_seekbar_thumbnail_summary_off">Миниатюры прогресса воспроизведения отображены</string> <string name="revanced_hide_seekbar_thumbnail_summary_off">Полоса прогресса в миниатюрах отображена</string>
</patch> </patch>
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch"> <patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
<string name="revanced_shorts_player_screen_title">Плеер Shorts</string> <string name="revanced_shorts_player_screen_title">Плеер Shorts</string>
@@ -623,7 +623,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_shorts_shop_button_title">Кнопка \"Магазин\"</string> <string name="revanced_hide_shorts_shop_button_title">Кнопка \"Магазин\"</string>
<string name="revanced_hide_shorts_shop_button_summary_on">Кнопка \"Магазин\" в Shorts скрыта</string> <string name="revanced_hide_shorts_shop_button_summary_on">Кнопка \"Магазин\" в Shorts скрыта</string>
<string name="revanced_hide_shorts_shop_button_summary_off">Кнопка \"Магазин\" в Shorts отображена</string> <string name="revanced_hide_shorts_shop_button_summary_off">Кнопка \"Магазин\" в Shorts отображена</string>
<string name="revanced_hide_shorts_super_thanks_button_title">Скрыть кнопку \"Супер спасибо\"</string> <string name="revanced_hide_shorts_super_thanks_button_title">Кнопка \"Супер спасибо\"</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Кнопка \"Супер спасибо\" скрыта</string> <string name="revanced_hide_shorts_super_thanks_button_summary_on">Кнопка \"Супер спасибо\" скрыта</string>
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Кнопка \"Супер спасибо\" показывается</string> <string name="revanced_hide_shorts_super_thanks_button_summary_off">Кнопка \"Супер спасибо\" показывается</string>
<string name="revanced_hide_shorts_tagged_products_title">Товары с тегом</string> <string name="revanced_hide_shorts_tagged_products_title">Товары с тегом</string>
@@ -711,9 +711,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Автоматически всплывающие панели (плейлист или живой чат) в плеере отображены</string> <string name="revanced_hide_player_popup_panels_summary_off">Автоматически всплывающие панели (плейлист или живой чат) в плеере отображены</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Открыть видео в полноэкранном портрете</string> <string name="revanced_open_videos_fullscreen_portrait_title">Видео в полноэкранном портрете</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Видео открыть полноэкранный режим</string> <string name="revanced_open_videos_fullscreen_portrait_summary_on">Видео открываются в полноэкранном портретном режиме</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Видео не открывают полноэкранный режим</string> <string name="revanced_open_videos_fullscreen_portrait_summary_off">Видео не открываются в полноэкранном портретном режиме</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Непрозрачность оверлея плеера</string> <string name="revanced_player_overlay_opacity_title">Непрозрачность оверлея плеера</string>
@@ -771,14 +771,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.seekbar.seekbarThumbnailsPatch"> <patch id="layout.seekbar.seekbarThumbnailsPatch">
<string name="revanced_seekbar_thumbnails_high_quality_title">Миниатюры высокого качества</string> <string name="revanced_seekbar_thumbnails_high_quality_title">Миниатюры высокого качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Миниатюры прогресса воспроизведения высокого качества</string> <string name="revanced_seekbar_thumbnails_high_quality_summary_on">Миниатюры полосы прогресса высокого качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Миниатюры прогресса воспроизведения среднего качества</string> <string name="revanced_seekbar_thumbnails_high_quality_summary_off">Миниатюры полосы прогресса среднего качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Полноэкранные миниатюры прогресса воспроизведения высокого качества</string> <string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">Полноэкранные миниатюры полосы прогресса высокого качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Полноэкранные миниатюры прогресса воспроизведения среднего качества</string> <string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">Полноэкранные миниатюры полосы прогресса среднего качества</string>
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">Данная опция также восстановит миниатюры в прямых трансляциях, у которых они отсутствуют в прогрессе воспроизведения.\n\nМиниатюры прогресса воспроизведения будут использовать такое же качество, как и текущее видео.\n\nДанная опция работает лучше с качеством видео 720p или ниже, и при использовании очень быстрого подключения к Интернету.</string> <string name="revanced_seekbar_thumbnails_high_quality_dialog_message">Данная опция также восстановит миниатюры в прямых трансляциях, которые не имеют миниатюр полосы прогресса.\n\nМиниатюры полосы прогресса будут использовать такое же качество, как и текущее видео.\n\nДанная опция работает лучше с качеством видео 720p или ниже, и при использовании очень быстрого подключения к Интернету.</string>
<string name="revanced_restore_old_seekbar_thumbnails_title">Восстановление старых миниатюр</string> <string name="revanced_restore_old_seekbar_thumbnails_title">Старые миниатюры</string>
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">Старые миниатюры восстановлены - миниатюры прогресса воспроизведения отображаются над ним</string> <string name="revanced_restore_old_seekbar_thumbnails_summary_on">Миниатюры полосы прогресса отображаются над полосой прогресса</string>
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">Миниатюры прогресса воспроизведения отображаются в полноэкранном режиме</string> <string name="revanced_restore_old_seekbar_thumbnails_summary_off">Миниатюры полосы прогресса отображаются в полноэкранном режиме</string>
</patch> </patch>
<patch id="layout.sponsorblock.sponsorBlockResourcePatch"> <patch id="layout.sponsorblock.sponsorBlockResourcePatch">
<string name="revanced_sb_enable_sb">Включить SponsorBlock</string> <string name="revanced_sb_enable_sb">Включить SponsorBlock</string>
@@ -893,7 +893,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_sb_skip_automatically">Пропускать автоматически</string> <string name="revanced_sb_skip_automatically">Пропускать автоматически</string>
<string name="revanced_sb_skip_automatically_once">Пропускать автоматически один раз</string> <string name="revanced_sb_skip_automatically_once">Пропускать автоматически один раз</string>
<string name="revanced_sb_skip_showbutton">Кнопка пропуска</string> <string name="revanced_sb_skip_showbutton">Кнопка пропуска</string>
<string name="revanced_sb_skip_seekbaronly">Отображать в прогрессе воспроизведения</string> <string name="revanced_sb_skip_seekbaronly">Отображать в полосе прогресса</string>
<string name="revanced_sb_skip_ignore">Отключить</string> <string name="revanced_sb_skip_ignore">Отключить</string>
<string name="revanced_sb_submit_failed_invalid">Не удалось отправить сегмент: %s</string> <string name="revanced_sb_submit_failed_invalid">Не удалось отправить сегмент: %s</string>
<string name="revanced_sb_submit_failed_timeout">SponsorBlock временно не работает</string> <string name="revanced_sb_submit_failed_timeout">SponsorBlock временно не работает</string>
@@ -1018,7 +1018,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Стиль свернутого мини-плеера </string> <string name="revanced_miniplayer_screen_summary">Стиль свернутого мини-плеера </string>
<string name="revanced_miniplayer_type_title">Тип мини-плеера</string> <string name="revanced_miniplayer_type_title">Тип мини-плеера</string>
<string name="revanced_miniplayer_type_entry_0">Отключено</string> <string name="revanced_miniplayer_type_entry_0">Отключено</string>
<string name="revanced_miniplayer_type_entry_1">Оригинал</string> <string name="revanced_miniplayer_type_entry_1">По умолчанию</string>
<string name="revanced_miniplayer_type_entry_2">Минимальный</string> <string name="revanced_miniplayer_type_entry_2">Минимальный</string>
<string name="revanced_miniplayer_type_entry_3">Планшет</string> <string name="revanced_miniplayer_type_entry_3">Планшет</string>
<string name="revanced_miniplayer_type_entry_4">Современный 1</string> <string name="revanced_miniplayer_type_entry_4">Современный 1</string>
@@ -1042,9 +1042,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_hide_expand_close_legacy_title">Кнопки \"Развернуть\" и \"Закрыть\"</string> <string name="revanced_miniplayer_hide_expand_close_legacy_title">Кнопки \"Развернуть\" и \"Закрыть\"</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">Кнопки скрыты\n\nПроведите по мини-плееру для разворачивания или закрытия</string> <string name="revanced_miniplayer_hide_expand_close_legacy_summary_on">Кнопки скрыты\n\nПроведите по мини-плееру для разворачивания или закрытия</string>
<string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">Кнопки разворачивания и закрытия отображены</string> <string name="revanced_miniplayer_hide_expand_close_legacy_summary_off">Кнопки разворачивания и закрытия отображены</string>
<string name="revanced_miniplayer_hide_subtext_title">Скрыть подтексты</string> <string name="revanced_miniplayer_hide_subtext_title">Подтексты</string>
<string name="revanced_miniplayer_hide_subtext_summary_on">Субтексты скрыты</string> <string name="revanced_miniplayer_hide_subtext_summary_on">Подтексты скрыты</string>
<string name="revanced_miniplayer_hide_subtext_summary_off">Подтексты показаны</string> <string name="revanced_miniplayer_hide_subtext_summary_off">Подтексты отображены</string>
<string name="revanced_miniplayer_hide_rewind_forward_title">Кнопки перемотки</string> <string name="revanced_miniplayer_hide_rewind_forward_title">Кнопки перемотки</string>
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">Кнопки перемотки вперед и назад скрыты</string> <string name="revanced_miniplayer_hide_rewind_forward_summary_on">Кнопки перемотки вперед и назад скрыты</string>
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">Кнопки перемотки вперед и назад отображены</string> <string name="revanced_miniplayer_hide_rewind_forward_summary_off">Кнопки перемотки вперед и назад отображены</string>
@@ -1061,12 +1061,12 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_gradient_loading_screen_summary_off">Экран загрузки имеет сплошной фон</string> <string name="revanced_gradient_loading_screen_summary_off">Экран загрузки имеет сплошной фон</string>
</patch> </patch>
<patch id="layout.theme.themeResourcePatch"> <patch id="layout.theme.themeResourcePatch">
<string name="revanced_seekbar_custom_color_title">Цвет прогресса воспроизведения</string> <string name="revanced_seekbar_custom_color_title">Цвет полосы прогресса</string>
<string name="revanced_seekbar_custom_color_summary_on">Пользовательский цвет прогресса воспроизведения отображен</string> <string name="revanced_seekbar_custom_color_summary_on">Пользовательский цвет полосы прогресса отображен</string>
<string name="revanced_seekbar_custom_color_summary_off">Оригинальный цвет прогресса воспроизведения отображен</string> <string name="revanced_seekbar_custom_color_summary_off">Оригинальный цвет полосы прогресса отображен</string>
<string name="revanced_seekbar_custom_color_value_title">Пользовательский цвет</string> <string name="revanced_seekbar_custom_color_value_title">Пользовательский цвет</string>
<string name="revanced_seekbar_custom_color_value_summary">Редактировать цвет прогресса воспроизведения</string> <string name="revanced_seekbar_custom_color_value_summary">Редактировать цвет полосы прогресса</string>
<string name="revanced_seekbar_custom_color_invalid">Неверное значение цвета прогресса воспроизведения</string> <string name="revanced_seekbar_custom_color_invalid">Неверное значение цвета полосы прогресса</string>
</patch> </patch>
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch"> <patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
<string name="revanced_bypass_image_region_restrictions_title">Обход ограничений региона</string> <string name="revanced_bypass_image_region_restrictions_title">Обход ограничений региона</string>
@@ -1115,7 +1115,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="misc.dns.checkWatchHistoryDomainNameResolutionPatch"> <patch id="misc.dns.checkWatchHistoryDomainNameResolutionPatch">
<string name="revanced_check_watch_history_domain_name_dialog_title">Внимание</string> <string name="revanced_check_watch_history_domain_name_dialog_title">Внимание</string>
<string name="revanced_check_watch_history_domain_name_dialog_message">Ваша история просмотра не сохраняется.&lt;br&gt;&lt;br&gt;Скорее всего, это из-за блокировщика рекламы DNS или сетевого прокси.&lt;br&gt;&lt;br&gt;Чтобы это исправить, добавьте &lt;b&gt;s.youtube.com&lt;/b&gt; в белый список блокировщика или отключите все блокировщики DNS и прокси.</string> <string name="revanced_check_watch_history_domain_name_dialog_message">Ваша история просмотра не сохраняется.&lt;br&gt;&lt;br&gt;Вероятнее всего это вызвано DNS блокировщиком рекламы или сетевым прокси.&lt;br&gt;&lt;br&gt;Чтобы это исправить, добавьте &lt;b&gt;s.youtube.com&lt;/b&gt; в белый список блокировщика рекламы или отключите все блокировщики DNS и прокси.</string>
<string name="revanced_check_watch_history_domain_name_dialog_ignore">Не показывать снова</string> <string name="revanced_check_watch_history_domain_name_dialog_ignore">Не показывать снова</string>
</patch> </patch>
<patch id="misc.autorepeat.autoRepeatPatch"> <patch id="misc.autorepeat.autoRepeatPatch">
@@ -1206,21 +1206,18 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Отключение этой настройки может вызвать проблемы с воспроизведением видео.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Отключение этой настройки может вызвать проблемы с воспроизведением видео.</string>
<string name="revanced_spoof_video_streams_client_title">Клиент по умолчанию</string> <string name="revanced_spoof_video_streams_client_title">Клиент по умолчанию</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Принудительно AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Принудительно AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Видео кодек привязан к AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Видео кодек принудительно установлен на AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Видео кодек определяется автоматически</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Видео кодек определяется автоматически</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Включение этого параметра может улучшить время работы батареи и исправить затяжку воспроизведения.\n\nAVC имеет максимальное разрешение 1080p, аудио кодек Opus недоступен, и воспроизведение видео будет использовать больше интернет-данных, чем VP9 или AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Активация данной опции может улучшить время работы батареи и исправить задержки воспроизведения.\n\nAVC имеет максимальное разрешение 1080p, аудио кодек Opus недоступен, и воспроизведение видео будет использовать больше интернет данных в сравнении с VP9 или AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Побочные эффекты подмены на iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Побочные эффекты подмены на iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Видео частных детей не могут играть\n• Livestreams начинается с начала\n• Видео может закончиться 1 секунду рано</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Побочные эффекты подмены на Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Побочные эффекты подмены на Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Детские видео могут не воспроизводиться\n• Пункт меню \"Звуковая дорожка\" отсутвтует\n• Пункт меню \"Постоянный уровень громкости\" недоступен</string> <string name="revanced_spoof_video_streams_language_title">Язык аудио потока по умолчанию</string>
<string name="revanced_spoof_video_streams_language_">Видеопотоки подменены</string>
<string name="revanced_spoof_video_streams_language_title">Предпочитаемый язык аудио потока</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Язык приложения</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Язык приложения</string>
<string name="revanced_spoof_video_streams_language_AR">Арабский</string> <string name="revanced_spoof_video_streams_language_AR">Арабский</string>
<string name="revanced_spoof_video_streams_language_AZ">Азербайджан</string> <string name="revanced_spoof_video_streams_language_AZ">Азербайджанский</string>
<string name="revanced_spoof_video_streams_language_BG">Болгарский</string> <string name="revanced_spoof_video_streams_language_BG">Болгарский</string>
<string name="revanced_spoof_video_streams_language_BN">Бенгальский</string> <string name="revanced_spoof_video_streams_language_BN">Бенгальский</string>
<string name="revanced_spoof_video_streams_language_CA">Каталанский</string> <string name="revanced_spoof_video_streams_language_CA">Каталонский</string>
<string name="revanced_spoof_video_streams_language_CS">Чешский</string> <string name="revanced_spoof_video_streams_language_CS">Чешский</string>
<string name="revanced_spoof_video_streams_language_DA">Датский</string> <string name="revanced_spoof_video_streams_language_DA">Датский</string>
<string name="revanced_spoof_video_streams_language_DE">Немецкий</string> <string name="revanced_spoof_video_streams_language_DE">Немецкий</string>
@@ -1231,42 +1228,42 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_language_FA">Персидский</string> <string name="revanced_spoof_video_streams_language_FA">Персидский</string>
<string name="revanced_spoof_video_streams_language_FI">Финский</string> <string name="revanced_spoof_video_streams_language_FI">Финский</string>
<string name="revanced_spoof_video_streams_language_FR">Французский</string> <string name="revanced_spoof_video_streams_language_FR">Французский</string>
<string name="revanced_spoof_video_streams_language_GU">Gujarati</string> <string name="revanced_spoof_video_streams_language_GU">Гуджарати</string>
<string name="revanced_spoof_video_streams_language_HI">Хинди</string> <string name="revanced_spoof_video_streams_language_HI">Хинди</string>
<string name="revanced_spoof_video_streams_language_HR">Хорватский</string> <string name="revanced_spoof_video_streams_language_HR">Хорватский</string>
<string name="revanced_spoof_video_streams_language_HU">Венгерский</string> <string name="revanced_spoof_video_streams_language_HU">Венгерский</string>
<string name="revanced_spoof_video_streams_language_ID">Индонезийский</string> <string name="revanced_spoof_video_streams_language_ID">Индонезийский</string>
<string name="revanced_spoof_video_streams_language_IT">Итальянский</string> <string name="revanced_spoof_video_streams_language_IT">Итальянский</string>
<string name="revanced_spoof_video_streams_language_JA">Японский</string> <string name="revanced_spoof_video_streams_language_JA">Японский</string>
<string name="revanced_spoof_video_streams_language_KK">Kazakh</string> <string name="revanced_spoof_video_streams_language_KK">Казахский</string>
<string name="revanced_spoof_video_streams_language_KO">Корейский</string> <string name="revanced_spoof_video_streams_language_KO">Корейский</string>
<string name="revanced_spoof_video_streams_language_LT">Литовский</string> <string name="revanced_spoof_video_streams_language_LT">Литовский</string>
<string name="revanced_spoof_video_streams_language_LV">Латышский</string> <string name="revanced_spoof_video_streams_language_LV">Латышский</string>
<string name="revanced_spoof_video_streams_language_MK">Македонский</string> <string name="revanced_spoof_video_streams_language_MK">Македонский</string>
<string name="revanced_spoof_video_streams_language_MN">Монгольский</string> <string name="revanced_spoof_video_streams_language_MN">Монгольский</string>
<string name="revanced_spoof_video_streams_language_MR">Маратти</string> <string name="revanced_spoof_video_streams_language_MR">Маратхи</string>
<string name="revanced_spoof_video_streams_language_MS">Малай</string> <string name="revanced_spoof_video_streams_language_MS">Малайский</string>
<string name="revanced_spoof_video_streams_language_MY">Burmese</string> <string name="revanced_spoof_video_streams_language_MY">Бирманский</string>
<string name="revanced_spoof_video_streams_language_NL">Голландский</string> <string name="revanced_spoof_video_streams_language_NL">Голландский</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string> <string name="revanced_spoof_video_streams_language_OR">Одиа</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string> <string name="revanced_spoof_video_streams_language_PA">Панджаби</string>
<string name="revanced_spoof_video_streams_language_PL">Польский</string> <string name="revanced_spoof_video_streams_language_PL">Польский</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Португальский (Бразилия)</string> <string name="revanced_spoof_video_streams_language_PT_BR">Португальский (Бразилия)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Португальский (Португалия)</string> <string name="revanced_spoof_video_streams_language_PT_PT">Португальский (Португалия)</string>
<string name="revanced_spoof_video_streams_language_RO">Румынский</string> <string name="revanced_spoof_video_streams_language_RO">Румынский</string>
<string name="revanced_spoof_video_streams_language_RU">Русский</string> <string name="revanced_spoof_video_streams_language_RU">Русский</string>
<string name="revanced_spoof_video_streams_language_SK">Словацкий</string> <string name="revanced_spoof_video_streams_language_SK">Словацкий</string>
<string name="revanced_spoof_video_streams_language_SL">Slovene</string> <string name="revanced_spoof_video_streams_language_SL">Словенский</string>
<string name="revanced_spoof_video_streams_language_SR">Сербский</string> <string name="revanced_spoof_video_streams_language_SR">Сербский</string>
<string name="revanced_spoof_video_streams_language_SV">Шведский</string> <string name="revanced_spoof_video_streams_language_SV">Шведский</string>
<string name="revanced_spoof_video_streams_language_SW">Суахили</string> <string name="revanced_spoof_video_streams_language_SW">Суахили</string>
<string name="revanced_spoof_video_streams_language_TA">Tamil</string> <string name="revanced_spoof_video_streams_language_TA">Тамильский</string>
<string name="revanced_spoof_video_streams_language_TE">Telugu</string> <string name="revanced_spoof_video_streams_language_TE">Телугу</string>
<string name="revanced_spoof_video_streams_language_TH">Тайский</string> <string name="revanced_spoof_video_streams_language_TH">Тайский</string>
<string name="revanced_spoof_video_streams_language_TR">Турецкий</string> <string name="revanced_spoof_video_streams_language_TR">Турецкий</string>
<string name="revanced_spoof_video_streams_language_UK">Украинский</string> <string name="revanced_spoof_video_streams_language_UK">Украинский</string>
<string name="revanced_spoof_video_streams_language_UR">Урду</string> <string name="revanced_spoof_video_streams_language_UR">Урду</string>
<string name="revanced_spoof_video_streams_language_VI">Vietnamese</string> <string name="revanced_spoof_video_streams_language_VI">Вьетнамский</string>
<string name="revanced_spoof_video_streams_language_ZH">Китайский</string> <string name="revanced_spoof_video_streams_language_ZH">Китайский</string>
</patch> </patch>
</app> </app>

View File

@@ -923,7 +923,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Zmeňte štýl minimalizovaného prehrávača v aplikácii</string> <string name="revanced_miniplayer_screen_summary">Zmeňte štýl minimalizovaného prehrávača v aplikácii</string>
<string name="revanced_miniplayer_type_title">Typ miniprehrávača</string> <string name="revanced_miniplayer_type_title">Typ miniprehrávača</string>
<string name="revanced_miniplayer_type_entry_0">Vypnuté</string> <string name="revanced_miniplayer_type_entry_0">Vypnuté</string>
<string name="revanced_miniplayer_type_entry_1">Originál</string> <string name="revanced_miniplayer_type_entry_1">Predvolené</string>
<string name="revanced_miniplayer_type_entry_4">Moderné 1</string> <string name="revanced_miniplayer_type_entry_4">Moderné 1</string>
<string name="revanced_miniplayer_type_entry_5">Moderné 2</string> <string name="revanced_miniplayer_type_entry_5">Moderné 2</string>
<string name="revanced_miniplayer_type_entry_6">Moderné 3</string> <string name="revanced_miniplayer_type_entry_6">Moderné 3</string>

View File

@@ -40,22 +40,53 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_settings_restart_title">Osvežitev in ponovni zagon</string> <string name="revanced_settings_restart_title">Osvežitev in ponovni zagon</string>
<string name="revanced_settings_restart">Ponovni zagon</string> <string name="revanced_settings_restart">Ponovni zagon</string>
<string name="revanced_settings_import">Uvoz</string> <string name="revanced_settings_import">Uvoz</string>
<string name="revanced_pref_import_export_title">Uvoz in izvoz</string>
<string name="revanced_pref_import_export_summary">Uvoz oz. izvoz nastavitev za ReVanced</string>
<!-- Settings about dialog. --> <!-- Settings about dialog. -->
<string name="revanced_settings_about_links_body">Uporabljate verzijo &lt;i&gt;%s&lt;/i&gt; ReVanced popravkov</string>
<string name="revanced_settings_about_links_dev_header">Opomba</string>
<string name="revanced_settings_about_links_dev_body">Ta verzija je predrazličica, posledično vas lahko doletijo nepričakovane težave</string>
<string name="revanced_settings_about_links_header">Uradne povezave</string>
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code, <!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
and changes made here must also be made there. --> and changes made here must also be made there. -->
</patch> </patch>
<patch id="misc.gms.gmsCoreSupportResourcePatch"> <patch id="misc.gms.gmsCoreSupportResourcePatch">
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. --> <!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
<string name="gms_core_toast_not_installed_message">MicroG GmsCore ni nameščen. Namestite ga.</string>
<string name="gms_core_dialog_title">Ukrepanje je potrebno</string>
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">MicroG GmsCore nima dovoljenj za poganjanje v ozadju.\n\nSledite navodilom \"Don\'t kill my app\" za vaš telefon in jih opravite za vašo MicroG namestitev.\n\nTo je zahtevano za večino aplikacij, da lahko delujejo.</string>
<string name="gms_core_dialog_open_website_text">Odprite spletno stran</string>
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">Optimizacije baterije za MicroG GmsCore morajo biti izklopljene, da se prepreči težave.\n\nKliknite na gumb za nadaljevanje in izklopite optimizacije baterije.</string>
<string name="gms_core_dialog_continue_text">Naprej</string>
</patch> </patch>
</app> </app>
<app id="youtube"> <app id="youtube">
<patch id="misc.settings.settingsPatch"> <patch id="misc.settings.settingsPatch">
<string name="revanced_settings_screen_00_about_title">O programu</string> <string name="revanced_settings_screen_00_about_title">O programu</string>
<string name="revanced_settings_screen_01_ads_title">Oglasi</string>
<string name="revanced_settings_screen_02_alt_thumbnails_title">Alternativne sličice</string>
<string name="revanced_settings_screen_03_feed_title">Pregled</string>
<string name="revanced_settings_screen_04_player_title">Predvajalnik</string>
<string name="revanced_settings_screen_05_general_title">Splošna postavitev</string>
<string name="revanced_settings_screen_07_seekbar_title">Časovna vrstica</string>
<string name="revanced_settings_screen_08_swipe_controls_title">Nastavitve drsanja</string>
<string name="revanced_settings_screen_11_misc_title">Razno</string>
<string name="revanced_settings_screen_12_video_title">Video</string>
</patch> </patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch"> <patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Izključite predvajanje Shortsev v ozadju</string>
<string name="revanced_shorts_disable_background_playback_summary_on">Predvajanje Shortsev v ozadju je izključeno</string>
<string name="revanced_shorts_disable_background_playback_summary_off">Predvajanje Shortsev v ozadju je vključeno</string>
</patch> </patch>
<patch id="misc.debugging.enableDebuggingPatch"> <patch id="misc.debugging.enableDebuggingPatch">
<string name="revanced_debug_screen_title">Razhroščevanje</string> <string name="revanced_debug_screen_title">Razhroščevanje</string>
<string name="revanced_debug_screen_summary">Vključite oz. izključite razvijalske možnosti</string>
<string name="revanced_debug_title">Razhroščevalno beleženje</string>
<string name="revanced_debug_summary_on">Razhroščevalno beleženje je vključeno</string>
<string name="revanced_debug_summary_off">Razhroščevalno beleženje je izključeno</string>
<string name="revanced_debug_protobuffer_title">Beleženje protocol bufferjev</string>
<string name="revanced_debug_protobuffer_summary_on">Razhroščevalne beležnice vključujejo protocol bufferje</string>
<string name="revanced_debug_protobuffer_summary_off">Razhroščevalne beležnice ne vključujejo protocol bufferjev</string>
</patch> </patch>
<patch id="layout.hide.general.hideLayoutComponentsPatch"> <patch id="layout.hide.general.hideLayoutComponentsPatch">
<!-- 'Join' should be translated using the same localized wording YouTube displays. <!-- 'Join' should be translated using the same localized wording YouTube displays.
@@ -194,6 +225,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">Onemogočeno</string> <string name="revanced_miniplayer_type_entry_0">Onemogočeno</string>
<string name="revanced_miniplayer_type_entry_1">Privzeto</string>
</patch> </patch>
<patch id="layout.theme.themePatch"> <patch id="layout.theme.themePatch">
</patch> </patch>

View File

@@ -711,6 +711,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Iskačuće table u plejeru su prikazane</string> <string name="revanced_hide_player_popup_panels_summary_off">Iskačuće table u plejeru su prikazane</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Otvori videe preko celog ekrana uspravno</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videi se otvaraju preko celog ekrana uspravno</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Videi se ne otvaraju preko celog ekrana uspravno</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Neprozirnost preklopa plejera</string> <string name="revanced_player_overlay_opacity_title">Neprozirnost preklopa plejera</string>
@@ -1015,7 +1018,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Promenite stil minimiziranog plejera u aplikaciji</string> <string name="revanced_miniplayer_screen_summary">Promenite stil minimiziranog plejera u aplikaciji</string>
<string name="revanced_miniplayer_type_title">Tip mini-plejera</string> <string name="revanced_miniplayer_type_title">Tip mini-plejera</string>
<string name="revanced_miniplayer_type_entry_0">Onemogućeno</string> <string name="revanced_miniplayer_type_entry_0">Onemogućeno</string>
<string name="revanced_miniplayer_type_entry_1">Originalni</string> <string name="revanced_miniplayer_type_entry_1">Podrazumevana</string>
<string name="revanced_miniplayer_type_entry_2">Minimalan</string> <string name="revanced_miniplayer_type_entry_2">Minimalan</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Moderan 1</string> <string name="revanced_miniplayer_type_entry_4">Moderan 1</string>
@@ -1203,12 +1206,67 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Isključivanje ove opcije će možda izazvati probleme sa reprodukcijom videa.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Isključivanje ove opcije će možda izazvati probleme sa reprodukcijom videa.</string>
<string name="revanced_spoof_video_streams_client_title">Podrazumevani klijent</string> <string name="revanced_spoof_video_streams_client_title">Podrazumevani klijent</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Prisili AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Prisili AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodek je prisilno podešen na AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodek je određen automatski</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Ako ovo omogućite, možda će se produžiti trajanje baterije i popraviti zastoj pri reprodukciji.\n\nAVC ima maksimalnu rezoluciju od 1080p, audio kodek Opus nije dostupan i reprodukcija videa će koristiti više internet podataka nego VP9 ili AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Neželjeni efekti lažiranja na iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Neželjeni efekti lažiranja na iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Privatni dečji videi se možda neće puštati\n• Strimovi uživo počinju od početka\n• Videi će se možda završiti 1 sekundu ranije</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Privatni dečji videi se možda neće puštati\n• Starosno ograničeni videi se možda neće puštati\n• Strimovi uživo počinju od početka\n• Videi će se završiti 1 sekundu ranije</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Neželjeni efekti lažiranja na Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Neželjeni efekti lažiranja na Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Dečji videi se možda neće puštati\n• Meni „Audio snimak” nedostaje\n• Ujednačena jačina zvuka nije dostupna</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Dečji videi se možda neće puštati\n• Starosno ograničeni videi se možda neće puštati\n• Strimovi uživo počinju od početka\n• Videi će se završiti 1 sekundu ranije</string>
<string name="revanced_spoof_video_streams_language_">Video strimovi su lažirani</string> <string name="revanced_spoof_video_streams_language_title">Podrazumevani jezik audio strima</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Jezik aplikacije</string>
<string name="revanced_spoof_video_streams_language_AR">arapski</string>
<string name="revanced_spoof_video_streams_language_AZ">azerbejdžanski</string>
<string name="revanced_spoof_video_streams_language_BG">bugarski</string>
<string name="revanced_spoof_video_streams_language_BN">bengalski</string>
<string name="revanced_spoof_video_streams_language_CA">katalonski</string>
<string name="revanced_spoof_video_streams_language_CS">češki</string>
<string name="revanced_spoof_video_streams_language_DA">danski</string>
<string name="revanced_spoof_video_streams_language_DE">nemački</string>
<string name="revanced_spoof_video_streams_language_EL">grčki</string>
<string name="revanced_spoof_video_streams_language_EN">engleski</string> <string name="revanced_spoof_video_streams_language_EN">engleski</string>
<string name="revanced_spoof_video_streams_language_ES">španski</string>
<string name="revanced_spoof_video_streams_language_ET">estonski</string>
<string name="revanced_spoof_video_streams_language_FA">persijski</string>
<string name="revanced_spoof_video_streams_language_FI">finski</string>
<string name="revanced_spoof_video_streams_language_FR">francuski</string>
<string name="revanced_spoof_video_streams_language_GU">gudžarati</string>
<string name="revanced_spoof_video_streams_language_HI">hindi</string>
<string name="revanced_spoof_video_streams_language_HR">hrvatski</string>
<string name="revanced_spoof_video_streams_language_HU">mađarski</string>
<string name="revanced_spoof_video_streams_language_ID">indonežanski</string>
<string name="revanced_spoof_video_streams_language_IT">italijanski</string>
<string name="revanced_spoof_video_streams_language_JA">japanski</string>
<string name="revanced_spoof_video_streams_language_KK">kazaški</string>
<string name="revanced_spoof_video_streams_language_KO">korejski</string>
<string name="revanced_spoof_video_streams_language_LT">litvanski</string>
<string name="revanced_spoof_video_streams_language_LV">letonski</string>
<string name="revanced_spoof_video_streams_language_MK">makedonski</string>
<string name="revanced_spoof_video_streams_language_MN">mongolski</string>
<string name="revanced_spoof_video_streams_language_MR">marati</string>
<string name="revanced_spoof_video_streams_language_MS">malajski</string>
<string name="revanced_spoof_video_streams_language_MY">burmanski</string>
<string name="revanced_spoof_video_streams_language_NL">holandski</string>
<string name="revanced_spoof_video_streams_language_OR">odija</string>
<string name="revanced_spoof_video_streams_language_PA">pandžapski</string>
<string name="revanced_spoof_video_streams_language_PL">poljski</string>
<string name="revanced_spoof_video_streams_language_PT_BR">portugalski (Brazil)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">portugalski (Portugalija)</string>
<string name="revanced_spoof_video_streams_language_RO">rumunski</string>
<string name="revanced_spoof_video_streams_language_RU">ruski</string>
<string name="revanced_spoof_video_streams_language_SK">slovački</string>
<string name="revanced_spoof_video_streams_language_SL">slovenački</string>
<string name="revanced_spoof_video_streams_language_SR">srpski</string>
<string name="revanced_spoof_video_streams_language_SV">švedski</string>
<string name="revanced_spoof_video_streams_language_SW">svahili</string>
<string name="revanced_spoof_video_streams_language_TA">tamilski</string>
<string name="revanced_spoof_video_streams_language_TE">telugu</string>
<string name="revanced_spoof_video_streams_language_TH">tajski</string>
<string name="revanced_spoof_video_streams_language_TR">turski</string>
<string name="revanced_spoof_video_streams_language_UK">ukrajinski</string>
<string name="revanced_spoof_video_streams_language_UR">urdu</string>
<string name="revanced_spoof_video_streams_language_VI">vijetnamski</string>
<string name="revanced_spoof_video_streams_language_ZH">kineski</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -711,6 +711,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Искачуће табле у плејеру су приказане</string> <string name="revanced_hide_player_popup_panels_summary_off">Искачуће табле у плејеру су приказане</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Отвори видее преко целог екрана усправно</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Видеи се отварају преко целог екрана усправно</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Видеи се не отварају преко целог екрана усправно</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Непрозирност преклопа плејера</string> <string name="revanced_player_overlay_opacity_title">Непрозирност преклопа плејера</string>
@@ -1015,7 +1018,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Промените стил минимизираног плејера у апликацији</string> <string name="revanced_miniplayer_screen_summary">Промените стил минимизираног плејера у апликацији</string>
<string name="revanced_miniplayer_type_title">Тип мини-плејера</string> <string name="revanced_miniplayer_type_title">Тип мини-плејера</string>
<string name="revanced_miniplayer_type_entry_0">Онемогућено</string> <string name="revanced_miniplayer_type_entry_0">Онемогућено</string>
<string name="revanced_miniplayer_type_entry_1">Оригинални</string> <string name="revanced_miniplayer_type_entry_1">Подразумевана</string>
<string name="revanced_miniplayer_type_entry_2">Минималан</string> <string name="revanced_miniplayer_type_entry_2">Минималан</string>
<string name="revanced_miniplayer_type_entry_3">Таблет</string> <string name="revanced_miniplayer_type_entry_3">Таблет</string>
<string name="revanced_miniplayer_type_entry_4">Модеран 1</string> <string name="revanced_miniplayer_type_entry_4">Модеран 1</string>
@@ -1203,12 +1206,67 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Искључивање ове опције ће можда изазвати проблеме са репродукцијом видеа.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Искључивање ове опције ће можда изазвати проблеме са репродукцијом видеа.</string>
<string name="revanced_spoof_video_streams_client_title">Подразумевани клијент</string> <string name="revanced_spoof_video_streams_client_title">Подразумевани клијент</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Присили AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Присили AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Видео кодек је присилно подешен на AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Видео кодек је одређен аутоматски</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Ако ово омогућите, можда ће се продужити трајање батерије и поправити застој при репродукцији.\n\nAVC има максималну резолуцију од 1080p, аудио кодек Opus није доступан и репродукција видеа ће користити више интернет података него VP9 или AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Нежељени ефекти лажирања на iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Нежељени ефекти лажирања на iOS</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Приватни дечји видеи се можда неће пуштати\n• Стримови уживо почињу од почетка\n• Видеи ће се можда завршити 1 секунду раније</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Приватни дечји видеи се можда неће пуштати\n• Старосно ограничени видеи се можда неће пуштати\n• Стримови уживо почињу од почетка\n• Видеи ће се завршити 1 секунду раније</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Нежељени ефекти лажирања на Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Нежељени ефекти лажирања на Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Дечји видеи се можда неће пуштати\n• Мени „Аудио снимак” недостаје\n• Уједначена јачина звука није доступна</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Дечји видеи се можда неће пуштати\n• Старосно ограничени видеи се можда неће пуштати\n• Стримови уживо почињу од почетка\n• Видеи ће се завршити 1 секунду раније</string>
<string name="revanced_spoof_video_streams_language_">Видео стримови су лажирани</string> <string name="revanced_spoof_video_streams_language_title">Подразумевани језик аудио стрима</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Језик апликације</string>
<string name="revanced_spoof_video_streams_language_AR">арапски</string>
<string name="revanced_spoof_video_streams_language_AZ">азербејџански</string>
<string name="revanced_spoof_video_streams_language_BG">бугарски</string>
<string name="revanced_spoof_video_streams_language_BN">бенгалски</string>
<string name="revanced_spoof_video_streams_language_CA">каталонски</string>
<string name="revanced_spoof_video_streams_language_CS">чешки</string>
<string name="revanced_spoof_video_streams_language_DA">дански</string>
<string name="revanced_spoof_video_streams_language_DE">немачки</string>
<string name="revanced_spoof_video_streams_language_EL">грчки</string>
<string name="revanced_spoof_video_streams_language_EN">енглески</string> <string name="revanced_spoof_video_streams_language_EN">енглески</string>
<string name="revanced_spoof_video_streams_language_ES">шпански</string>
<string name="revanced_spoof_video_streams_language_ET">естонски</string>
<string name="revanced_spoof_video_streams_language_FA">персијски</string>
<string name="revanced_spoof_video_streams_language_FI">фински</string>
<string name="revanced_spoof_video_streams_language_FR">француски</string>
<string name="revanced_spoof_video_streams_language_GU">гуџарати</string>
<string name="revanced_spoof_video_streams_language_HI">хинди</string>
<string name="revanced_spoof_video_streams_language_HR">хрватски</string>
<string name="revanced_spoof_video_streams_language_HU">мађарски</string>
<string name="revanced_spoof_video_streams_language_ID">индонежански</string>
<string name="revanced_spoof_video_streams_language_IT">италијански</string>
<string name="revanced_spoof_video_streams_language_JA">јапански</string>
<string name="revanced_spoof_video_streams_language_KK">казашки</string>
<string name="revanced_spoof_video_streams_language_KO">корејски</string>
<string name="revanced_spoof_video_streams_language_LT">литвански</string>
<string name="revanced_spoof_video_streams_language_LV">летонски</string>
<string name="revanced_spoof_video_streams_language_MK">македонски</string>
<string name="revanced_spoof_video_streams_language_MN">монголски</string>
<string name="revanced_spoof_video_streams_language_MR">марати</string>
<string name="revanced_spoof_video_streams_language_MS">малајски</string>
<string name="revanced_spoof_video_streams_language_MY">бурмански</string>
<string name="revanced_spoof_video_streams_language_NL">холандски</string>
<string name="revanced_spoof_video_streams_language_OR">одија</string>
<string name="revanced_spoof_video_streams_language_PA">панџапски</string>
<string name="revanced_spoof_video_streams_language_PL">пољски</string>
<string name="revanced_spoof_video_streams_language_PT_BR">португалски (Бразил)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">португалски (Португалија)</string>
<string name="revanced_spoof_video_streams_language_RO">румунски</string>
<string name="revanced_spoof_video_streams_language_RU">руски</string>
<string name="revanced_spoof_video_streams_language_SK">словачки</string>
<string name="revanced_spoof_video_streams_language_SL">словеначки</string>
<string name="revanced_spoof_video_streams_language_SR">српски</string>
<string name="revanced_spoof_video_streams_language_SV">шведски</string>
<string name="revanced_spoof_video_streams_language_SW">свахили</string>
<string name="revanced_spoof_video_streams_language_TA">тамилски</string>
<string name="revanced_spoof_video_streams_language_TE">телугу</string>
<string name="revanced_spoof_video_streams_language_TH">тајски</string>
<string name="revanced_spoof_video_streams_language_TR">турски</string>
<string name="revanced_spoof_video_streams_language_UK">украјински</string>
<string name="revanced_spoof_video_streams_language_UR">урду</string>
<string name="revanced_spoof_video_streams_language_VI">вијетнамски</string>
<string name="revanced_spoof_video_streams_language_ZH">кинески</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -1017,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Ändra stilen på appen minimerad spelare</string> <string name="revanced_miniplayer_screen_summary">Ändra stilen på appen minimerad spelare</string>
<string name="revanced_miniplayer_type_title">Miniplayer typ</string> <string name="revanced_miniplayer_type_title">Miniplayer typ</string>
<string name="revanced_miniplayer_type_entry_0">Inaktiverad</string> <string name="revanced_miniplayer_type_entry_0">Inaktiverad</string>
<string name="revanced_miniplayer_type_entry_1">Ursprunglig</string> <string name="revanced_miniplayer_type_entry_1">Standard</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string> <string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Surfplatta</string> <string name="revanced_miniplayer_type_entry_3">Surfplatta</string>
<string name="revanced_miniplayer_type_entry_4">Modern 1</string> <string name="revanced_miniplayer_type_entry_4">Modern 1</string>
@@ -1209,11 +1209,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-codec bestäms automatiskt</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video-codec bestäms automatiskt</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Aktivering av detta kan förbättra batteriets livslängd och åtgärda uppspelningshjälp.\n\nAVC har en maximal upplösning på 1080p, Opus audio codec är inte tillgänglig, och videouppspelning kommer att använda mer internetdata än VP9 eller AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Aktivering av detta kan förbättra batteriets livslängd och åtgärda uppspelningshjälp.\n\nAVC har en maximal upplösning på 1080p, Opus audio codec är inte tillgänglig, och videouppspelning kommer att använda mer internetdata än VP9 eller AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS förfalskning biverkningar</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS förfalskning biverkningar</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Privata barn videor får inte spela\n• Livestreams börjar från början\n• Videor kan sluta 1 sekund tidigt</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Privata barnvideor kanske inte spelar\n• Åldersbegränsade videor kanske inte spelar\n• Livestreams börjar från början\n• Videor slutar 1 sekund tidigt</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR förfalskning biverkningar</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR förfalskning biverkningar</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Barnvideor kanske inte spelar\n• Ljudspårsmenyn saknas\n• Stabil volym är inte tillgänglig</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Barnvideor kanske inte spelar\n• Åldersbegränsade videor kanske inte spelar\n• Livestreams börjar från början\n• Videor slutar 1 sekund tidigt</string>
<string name="revanced_spoof_video_streams_language_">Videoströmmar är förfalskade</string> <string name="revanced_spoof_video_streams_language_title">Standard ljudströmningsspråk</string>
<string name="revanced_spoof_video_streams_language_title">Föredraget ljudströmspråk</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Appens språk</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Appens språk</string>
<string name="revanced_spoof_video_streams_language_AR">Arabiska</string> <string name="revanced_spoof_video_streams_language_AR">Arabiska</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbajdzjanska</string> <string name="revanced_spoof_video_streams_language_AZ">Azerbajdzjanska</string>

View File

@@ -194,6 +194,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">முடக்கப்பட்டது</string> <string name="revanced_miniplayer_type_entry_0">முடக்கப்பட்டது</string>
<string name="revanced_miniplayer_type_entry_1">இயல்புநிலை</string>
</patch> </patch>
<patch id="layout.theme.themePatch"> <patch id="layout.theme.themePatch">
</patch> </patch>

View File

@@ -253,6 +253,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.miniplayer.miniplayerPatch"> <patch id="layout.miniplayer.miniplayerPatch">
<string name="revanced_miniplayer_type_entry_0">ปิดการใช้งานอยู่</string> <string name="revanced_miniplayer_type_entry_0">ปิดการใช้งานอยู่</string>
<string name="revanced_miniplayer_type_entry_1">ค่าเริ่มต้น</string>
</patch> </patch>
<patch id="layout.theme.themePatch"> <patch id="layout.theme.themePatch">
</patch> </patch>

View File

@@ -710,6 +710,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_hide_player_popup_panels_summary_off">Oynatıcıılır panelleri gösteriliyor</string> <string name="revanced_hide_player_popup_panels_summary_off">Oynatıcıılır panelleri gösteriliyor</string>
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Videoları tam ekran portre modunda aç</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Videolar tam ekranda açılır</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Videolar tam ekranda açılmaz</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Oynatıcı opaklığı</string> <string name="revanced_player_overlay_opacity_title">Oynatıcı opaklığı</string>
@@ -1014,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Uygulama içi küçültülmüş oynatıcının tarzını değiştir</string> <string name="revanced_miniplayer_screen_summary">Uygulama içi küçültülmüş oynatıcının tarzını değiştir</string>
<string name="revanced_miniplayer_type_title">Mini oynatıcı tipi</string> <string name="revanced_miniplayer_type_title">Mini oynatıcı tipi</string>
<string name="revanced_miniplayer_type_entry_0">Devre dışı</string> <string name="revanced_miniplayer_type_entry_0">Devre dışı</string>
<string name="revanced_miniplayer_type_entry_1">Orijinal</string> <string name="revanced_miniplayer_type_entry_1">Varsayılan</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string> <string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Modern 1</string> <string name="revanced_miniplayer_type_entry_4">Modern 1</string>
@@ -1202,10 +1205,64 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Bu ayarı devre dışı bırakmak video oynatma sorunlarına yol açabilir.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Bu ayarı devre dışı bırakmak video oynatma sorunlarına yol açabilir.</string>
<string name="revanced_spoof_video_streams_client_title">Varsayılan istemci</string> <string name="revanced_spoof_video_streams_client_title">Varsayılan istemci</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC\'yi (H.264) zorla</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">AVC\'yi (H.264) zorla</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Video kodeği AVC\'ye zorlanıyor (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video kodeği otomatik olarak ayarlanır</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Bunu etkinleştirmek batarya ömrünü iyileştirebilir ve oynatma takılmalarını düzeltebilir.\n\nAVC\'de maksimum 1080p çözünürlük vardır, Opus ses kodeği kullanılamaz ve video oynatma VP9 veya AV1\'e göre daha fazla internet verisi kullanır.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS taklidi yan etkileri</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS taklidi yan etkileri</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR taklidi yan etkileri</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR taklidi yan etkileri</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Çocuklara özel videolar oynatılamayabilir\n• Ses parçası menüsü eksik\n• Sabit ses özelliği kullanılamaz</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Uygulama dili</string>
<string name="revanced_spoof_video_streams_language_">Video akışları taklit ediliyor</string> <string name="revanced_spoof_video_streams_language_AR">Arapça</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaycanca</string>
<string name="revanced_spoof_video_streams_language_BG">Bulgarca</string>
<string name="revanced_spoof_video_streams_language_BN">Bengalce</string>
<string name="revanced_spoof_video_streams_language_CA">Katalanca</string>
<string name="revanced_spoof_video_streams_language_CS">Çekçe</string>
<string name="revanced_spoof_video_streams_language_DA">Danca</string>
<string name="revanced_spoof_video_streams_language_DE">Almanca</string>
<string name="revanced_spoof_video_streams_language_EL">Yunanca</string>
<string name="revanced_spoof_video_streams_language_EN">İngilizce</string>
<string name="revanced_spoof_video_streams_language_ES">İspanyolca</string>
<string name="revanced_spoof_video_streams_language_ET">Estonca</string>
<string name="revanced_spoof_video_streams_language_FA">Farsça</string>
<string name="revanced_spoof_video_streams_language_FI">Fince</string>
<string name="revanced_spoof_video_streams_language_FR">Fransızca</string>
<string name="revanced_spoof_video_streams_language_GU">Guceratça</string>
<string name="revanced_spoof_video_streams_language_HI">Hintçe</string>
<string name="revanced_spoof_video_streams_language_HR">Hırvatça</string>
<string name="revanced_spoof_video_streams_language_HU">Macarca</string>
<string name="revanced_spoof_video_streams_language_ID">Endonezce</string>
<string name="revanced_spoof_video_streams_language_IT">İtalyanca</string>
<string name="revanced_spoof_video_streams_language_JA">Japonca</string>
<string name="revanced_spoof_video_streams_language_KK">Kazakça</string>
<string name="revanced_spoof_video_streams_language_KO">Korece</string>
<string name="revanced_spoof_video_streams_language_LT">Litvanca</string>
<string name="revanced_spoof_video_streams_language_LV">Letonca</string>
<string name="revanced_spoof_video_streams_language_MK">Makedonca</string>
<string name="revanced_spoof_video_streams_language_MN">Moğolca</string>
<string name="revanced_spoof_video_streams_language_MR">Marathice</string>
<string name="revanced_spoof_video_streams_language_MS">Malayca</string>
<string name="revanced_spoof_video_streams_language_MY">Birmanca</string>
<string name="revanced_spoof_video_streams_language_NL">Flemenkçe</string>
<string name="revanced_spoof_video_streams_language_OR">Odiyaca</string>
<string name="revanced_spoof_video_streams_language_PA">Pencapça</string>
<string name="revanced_spoof_video_streams_language_PL">Lehçe</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Portekizce (Brezilya)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Portekizce (Portekiz)</string>
<string name="revanced_spoof_video_streams_language_RO">Romence</string>
<string name="revanced_spoof_video_streams_language_RU">Rusça</string>
<string name="revanced_spoof_video_streams_language_SK">Slovakça</string>
<string name="revanced_spoof_video_streams_language_SL">Slovence</string>
<string name="revanced_spoof_video_streams_language_SR">Sırpça</string>
<string name="revanced_spoof_video_streams_language_SV">İsveççe</string>
<string name="revanced_spoof_video_streams_language_SW">Svahilice</string>
<string name="revanced_spoof_video_streams_language_TA">Tamilce</string>
<string name="revanced_spoof_video_streams_language_TE">Teluguca</string>
<string name="revanced_spoof_video_streams_language_TH">Taylandca</string>
<string name="revanced_spoof_video_streams_language_TR">Türkçe</string>
<string name="revanced_spoof_video_streams_language_UK">Ukraynaca</string>
<string name="revanced_spoof_video_streams_language_UR">Urduca</string>
<string name="revanced_spoof_video_streams_language_VI">Vietnamca</string>
<string name="revanced_spoof_video_streams_language_ZH">Çince</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -711,8 +711,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
</patch> </patch>
<patch id="layout.player.fullscreen.openVideosFullscreen"> <patch id="layout.player.fullscreen.openVideosFullscreen">
<string name="revanced_open_videos_fullscreen_portrait_title">Відкривати відео в портретному режимі</string> <string name="revanced_open_videos_fullscreen_portrait_title">Відкривати відео в портретному режимі</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Відео відкриваються в повноекранному режимі</string> <string name="revanced_open_videos_fullscreen_portrait_summary_on">Відео відкриваються в повноекранному портретному режимі</string>
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Відео не відкривають на весь екран</string> <string name="revanced_open_videos_fullscreen_portrait_summary_off">Відео не відкриваються в повноекранному портретному режимі</string>
</patch> </patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch"> <patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">Затемнення плеєра при натисканні</string> <string name="revanced_player_overlay_opacity_title">Затемнення плеєра при натисканні</string>
@@ -1017,7 +1017,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Змінити стиль згорнутого мініплеєра</string> <string name="revanced_miniplayer_screen_summary">Змінити стиль згорнутого мініплеєра</string>
<string name="revanced_miniplayer_type_title">Тип мініплеєра</string> <string name="revanced_miniplayer_type_title">Тип мініплеєра</string>
<string name="revanced_miniplayer_type_entry_0">Вимкнуто</string> <string name="revanced_miniplayer_type_entry_0">Вимкнуто</string>
<string name="revanced_miniplayer_type_entry_1">Оригінальний</string> <string name="revanced_miniplayer_type_entry_1">Стандартний</string>
<string name="revanced_miniplayer_type_entry_2">Мінімальний</string> <string name="revanced_miniplayer_type_entry_2">Мінімальний</string>
<string name="revanced_miniplayer_type_entry_3">Планшетний</string> <string name="revanced_miniplayer_type_entry_3">Планшетний</string>
<string name="revanced_miniplayer_type_entry_4">Новітній 1</string> <string name="revanced_miniplayer_type_entry_4">Новітній 1</string>
@@ -1205,16 +1205,13 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">Вимкнення цього параметра може спричинити проблеми відтворення відео.</string> <string name="revanced_spoof_video_streams_user_dialog_message">Вимкнення цього параметра може спричинити проблеми відтворення відео.</string>
<string name="revanced_spoof_video_streams_client_title">Клієнт за замовчуванням</string> <string name="revanced_spoof_video_streams_client_title">Клієнт за замовчуванням</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">Примусово AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">Примусово AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Відео кодек змушений до AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_on">Примусово увімкнено відеокодек AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Відеокодек визначається автоматично</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Відеокодек визначається автоматично</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Увімкнення цієї функції може збільшити час роботи акумулятора та виправити режим зупинки відтворення.\n\nAVC має максимальну роздільну здатність 1080p, відсутній аудіо-кодек Opus і відтворення відео буде використовувати більше даних Інтернету, ніж VP9 або AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Увімкнення цієї опції може збільшити час роботи від акумулятора та виправити затримки відтворення.\n\nAVC має максимальну роздільну здатність 1080p, відсутній аудіо кодек OPUS, а відтворення відео використовуватиме більше інтернет-даних, ніж на кодеках VP9 або AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">Побічні ефекти підробки iOS:</string> <string name="revanced_spoof_video_streams_about_ios_title">Побічні ефекти підробки iOS:</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Приватні дитячі відео можуть не відтворюватися\n• Прямі трансляції починаються з початку\n• Відео можуть закінчуватися на 1 секунду раніше</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Побічні ефекти підробки Android VR:</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Побічні ефекти підробки Android VR:</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Дитячі відео можуть не відтворюватися\n• Меню звукової доріжки відсутнє\n• Меню стабілізації гучності недоступне</string> <string name="revanced_spoof_video_streams_language_title">Мова аудіо-потоків за замовчуванням</string>
<string name="revanced_spoof_video_streams_language_">Відеопотоки підроблено</string> <string name="revanced_spoof_video_streams_language_DEFAULT">Мова застосунку</string>
<string name="revanced_spoof_video_streams_language_title">Бажана мова аудіо-потоків</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">Мова додатку</string>
<string name="revanced_spoof_video_streams_language_AR">Арабська</string> <string name="revanced_spoof_video_streams_language_AR">Арабська</string>
<string name="revanced_spoof_video_streams_language_AZ">Азербайджанська</string> <string name="revanced_spoof_video_streams_language_AZ">Азербайджанська</string>
<string name="revanced_spoof_video_streams_language_BG">Болгарська</string> <string name="revanced_spoof_video_streams_language_BG">Болгарська</string>
@@ -1227,45 +1224,45 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_language_EN">Англійська</string> <string name="revanced_spoof_video_streams_language_EN">Англійська</string>
<string name="revanced_spoof_video_streams_language_ES">Іспанська</string> <string name="revanced_spoof_video_streams_language_ES">Іспанська</string>
<string name="revanced_spoof_video_streams_language_ET">Естонська</string> <string name="revanced_spoof_video_streams_language_ET">Естонська</string>
<string name="revanced_spoof_video_streams_language_FA">Фарсі</string> <string name="revanced_spoof_video_streams_language_FA">Перська</string>
<string name="revanced_spoof_video_streams_language_FI">Фінська</string> <string name="revanced_spoof_video_streams_language_FI">Фінська</string>
<string name="revanced_spoof_video_streams_language_FR">Français</string> <string name="revanced_spoof_video_streams_language_FR">Французька</string>
<string name="revanced_spoof_video_streams_language_GU">Gujarati</string> <string name="revanced_spoof_video_streams_language_GU">Гуджараті</string>
<string name="revanced_spoof_video_streams_language_HI">Гінді</string> <string name="revanced_spoof_video_streams_language_HI">Хінді</string>
<string name="revanced_spoof_video_streams_language_HR">Хорватська</string> <string name="revanced_spoof_video_streams_language_HR">Хорватська</string>
<string name="revanced_spoof_video_streams_language_HU">Угорська</string> <string name="revanced_spoof_video_streams_language_HU">Угорська</string>
<string name="revanced_spoof_video_streams_language_ID">Індонезійська</string> <string name="revanced_spoof_video_streams_language_ID">Індонезійська</string>
<string name="revanced_spoof_video_streams_language_IT">Італійська</string> <string name="revanced_spoof_video_streams_language_IT">Італійська</string>
<string name="revanced_spoof_video_streams_language_JA">Японська</string> <string name="revanced_spoof_video_streams_language_JA">Японська</string>
<string name="revanced_spoof_video_streams_language_KK">Kazakh</string> <string name="revanced_spoof_video_streams_language_KK">Казахська</string>
<string name="revanced_spoof_video_streams_language_KO">Корейська</string> <string name="revanced_spoof_video_streams_language_KO">Корейська</string>
<string name="revanced_spoof_video_streams_language_LT">Литовська</string> <string name="revanced_spoof_video_streams_language_LT">Литовська</string>
<string name="revanced_spoof_video_streams_language_LV">Латиська</string> <string name="revanced_spoof_video_streams_language_LV">Латвійська</string>
<string name="revanced_spoof_video_streams_language_MK">Македонська</string> <string name="revanced_spoof_video_streams_language_MK">Македонська</string>
<string name="revanced_spoof_video_streams_language_MN">Монгольська</string> <string name="revanced_spoof_video_streams_language_MN">Монгольська</string>
<string name="revanced_spoof_video_streams_language_MR">Маратхі</string> <string name="revanced_spoof_video_streams_language_MR">Маратхі</string>
<string name="revanced_spoof_video_streams_language_MS">Малайська</string> <string name="revanced_spoof_video_streams_language_MS">Малайська</string>
<string name="revanced_spoof_video_streams_language_MY">Burmese</string> <string name="revanced_spoof_video_streams_language_MY">Бірманська</string>
<string name="revanced_spoof_video_streams_language_NL">Голландська</string> <string name="revanced_spoof_video_streams_language_NL">Голландська</string>
<string name="revanced_spoof_video_streams_language_OR">Odia</string> <string name="revanced_spoof_video_streams_language_OR">Одійська</string>
<string name="revanced_spoof_video_streams_language_PA">Punjabi</string> <string name="revanced_spoof_video_streams_language_PA">Пенджабі</string>
<string name="revanced_spoof_video_streams_language_PL">Польська</string> <string name="revanced_spoof_video_streams_language_PL">Польська</string>
<string name="revanced_spoof_video_streams_language_PT_BR">Португальська (Бразилія)</string> <string name="revanced_spoof_video_streams_language_PT_BR">Португальська (Бразилія)</string>
<string name="revanced_spoof_video_streams_language_PT_PT">Португальська (Португалія)</string> <string name="revanced_spoof_video_streams_language_PT_PT">Португальська (Португалія)</string>
<string name="revanced_spoof_video_streams_language_RO">Румунська</string> <string name="revanced_spoof_video_streams_language_RO">Румунська</string>
<string name="revanced_spoof_video_streams_language_RU">Російська</string> <string name="revanced_spoof_video_streams_language_RU">Російська</string>
<string name="revanced_spoof_video_streams_language_SK">Словацька</string> <string name="revanced_spoof_video_streams_language_SK">Словацька</string>
<string name="revanced_spoof_video_streams_language_SL">Slovene</string> <string name="revanced_spoof_video_streams_language_SL">Словенська</string>
<string name="revanced_spoof_video_streams_language_SR">Сербська</string> <string name="revanced_spoof_video_streams_language_SR">Сербська</string>
<string name="revanced_spoof_video_streams_language_SV">Шведська</string> <string name="revanced_spoof_video_streams_language_SV">Шведська</string>
<string name="revanced_spoof_video_streams_language_SW">Суахілі</string> <string name="revanced_spoof_video_streams_language_SW">Суахілі</string>
<string name="revanced_spoof_video_streams_language_TA">Tamil</string> <string name="revanced_spoof_video_streams_language_TA">Тамільська</string>
<string name="revanced_spoof_video_streams_language_TE">Telugu</string> <string name="revanced_spoof_video_streams_language_TE">Телугу</string>
<string name="revanced_spoof_video_streams_language_TH">Тайська</string> <string name="revanced_spoof_video_streams_language_TH">Тайська</string>
<string name="revanced_spoof_video_streams_language_TR">Турецька</string> <string name="revanced_spoof_video_streams_language_TR">Турецька</string>
<string name="revanced_spoof_video_streams_language_UK">Українська</string> <string name="revanced_spoof_video_streams_language_UK">Українська</string>
<string name="revanced_spoof_video_streams_language_UR">Урду</string> <string name="revanced_spoof_video_streams_language_UR">Урду</string>
<string name="revanced_spoof_video_streams_language_VI">Vietnamese</string> <string name="revanced_spoof_video_streams_language_VI">В\'єтнамська</string>
<string name="revanced_spoof_video_streams_language_ZH">Китайська</string> <string name="revanced_spoof_video_streams_language_ZH">Китайська</string>
</patch> </patch>
</app> </app>

View File

@@ -1014,7 +1014,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Thay đổi kiểu trình phát thu nhỏ trong ứng dụng</string> <string name="revanced_miniplayer_screen_summary">Thay đổi kiểu trình phát thu nhỏ trong ứng dụng</string>
<string name="revanced_miniplayer_type_title">Loại trình phát thu nhỏ</string> <string name="revanced_miniplayer_type_title">Loại trình phát thu nhỏ</string>
<string name="revanced_miniplayer_type_entry_0">Đã tắt</string> <string name="revanced_miniplayer_type_entry_0">Đã tắt</string>
<string name="revanced_miniplayer_type_entry_1">Nguyên bản</string> <string name="revanced_miniplayer_type_entry_1">Mặc định</string>
<string name="revanced_miniplayer_type_entry_2">Thu gọn</string> <string name="revanced_miniplayer_type_entry_2">Thu gọn</string>
<string name="revanced_miniplayer_type_entry_3">Máy tính bảng</string> <string name="revanced_miniplayer_type_entry_3">Máy tính bảng</string>
<string name="revanced_miniplayer_type_entry_4">Hiện đại 1</string> <string name="revanced_miniplayer_type_entry_4">Hiện đại 1</string>
@@ -1204,8 +1204,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) ép buộc</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">AVC (H.264) ép buộc</string>
<string name="revanced_spoof_video_streams_about_ios_title">Tác dụng phụ của giả mạo iOS</string> <string name="revanced_spoof_video_streams_about_ios_title">Tác dụng phụ của giả mạo iOS</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Tác dụng phụ của giả mạo Android VR</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Tác dụng phụ của giả mạo Android VR</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Video trẻ em có thể không phát được \n • Menu chọn bản âm thanh không khả dụng \n • Âm lượng ổn định không có sẵn</string>
<string name="revanced_spoof_video_streams_language_">Luồng video đã được giả mạo</string>
</patch> </patch>
</app> </app>
<app id="twitch"> <app id="twitch">

View File

@@ -1000,7 +1000,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">更改应用最小化播放器中的样式</string> <string name="revanced_miniplayer_screen_summary">更改应用最小化播放器中的样式</string>
<string name="revanced_miniplayer_type_title">最小播放器类型</string> <string name="revanced_miniplayer_type_title">最小播放器类型</string>
<string name="revanced_miniplayer_type_entry_0">已禁用</string> <string name="revanced_miniplayer_type_entry_0">已禁用</string>
<string name="revanced_miniplayer_type_entry_1">原始文件</string> <string name="revanced_miniplayer_type_entry_1">默认</string>
<string name="revanced_miniplayer_type_entry_2">最小化</string> <string name="revanced_miniplayer_type_entry_2">最小化</string>
<string name="revanced_miniplayer_type_entry_3">平板电脑</string> <string name="revanced_miniplayer_type_entry_3">平板电脑</string>
<string name="revanced_miniplayer_type_entry_4">现代1</string> <string name="revanced_miniplayer_type_entry_4">现代1</string>
@@ -1191,11 +1191,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">视频编解码器自动确定</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">视频编解码器自动确定</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">启用这可能会改善电池寿命并修复播放停顿。\n\nAVC 最大分辨率为1080p, Opus 音频编解码器不可用。 视频播放将使用比VP9或AV1更多的网络数据。</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">启用这可能会改善电池寿命并修复播放停顿。\n\nAVC 最大分辨率为1080p, Opus 音频编解码器不可用。 视频播放将使用比VP9或AV1更多的网络数据。</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS 伪装副作用</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS 伪装副作用</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• 私人孩子视频可能无法播放\n• 生命线从开头开始\n• 视频可能提前结束 1 秒</string> <string name="revanced_spoof_video_streams_about_ios_summary">• 私人孩子视频可能无法播放\n• 受年龄限制的视频可能无法播放\n• Livestreams 开始于开头\n• 视频结束后1秒。</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR 伪装副作用</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR 伪装副作用</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• 儿童视频可能无法播放\n• 音轨菜单丢失\n• 稳定音量</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• 儿童视频可能无法播放\n• 年龄限制视频可能无法播放\n• Livestreams 开始于开始于\n• 视频结束1</string>
<string name="revanced_spoof_video_streams_language_">视频流已被破坏了</string> <string name="revanced_spoof_video_streams_language_title">默认音频流语言</string>
<string name="revanced_spoof_video_streams_language_title">首选音频流语言</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">应用语言</string> <string name="revanced_spoof_video_streams_language_DEFAULT">应用语言</string>
<string name="revanced_spoof_video_streams_language_AR">阿拉伯语</string> <string name="revanced_spoof_video_streams_language_AR">阿拉伯语</string>
<string name="revanced_spoof_video_streams_language_AZ">阿塞拜疆文</string> <string name="revanced_spoof_video_streams_language_AZ">阿塞拜疆文</string>

View File

@@ -1014,7 +1014,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">更改應用程式內縮小播放器的樣式</string> <string name="revanced_miniplayer_screen_summary">更改應用程式內縮小播放器的樣式</string>
<string name="revanced_miniplayer_type_title">迷你播放器類型</string> <string name="revanced_miniplayer_type_title">迷你播放器類型</string>
<string name="revanced_miniplayer_type_entry_0">已停用</string> <string name="revanced_miniplayer_type_entry_0">已停用</string>
<string name="revanced_miniplayer_type_entry_1">原始</string> <string name="revanced_miniplayer_type_entry_1">預設</string>
<string name="revanced_miniplayer_type_entry_2">最小化</string> <string name="revanced_miniplayer_type_entry_2">最小化</string>
<string name="revanced_miniplayer_type_entry_3">平板</string> <string name="revanced_miniplayer_type_entry_3">平板</string>
<string name="revanced_miniplayer_type_entry_4">現代樣式 1</string> <string name="revanced_miniplayer_type_entry_4">現代樣式 1</string>
@@ -1203,11 +1203,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_user_dialog_message">關閉此設定可能會導致影片播放發生問題</string> <string name="revanced_spoof_video_streams_user_dialog_message">關閉此設定可能會導致影片播放發生問題</string>
<string name="revanced_spoof_video_streams_client_title">預設用戶端</string> <string name="revanced_spoof_video_streams_client_title">預設用戶端</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">強制 AVC (H.264)</string> <string name="revanced_spoof_video_streams_ios_force_avc_title">強制 AVC (H.264)</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">強制以 AVC (H.264) 作為影片解碼器</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">自動選擇影片解碼器</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">啟用此功能可能會改善電池續航力並修復播放卡頓問題。\n\nAVC 的最大解析度為 1080p且影片播放將使用比 VP9 或 AV1 更多的網路數據(音源解碼器暫不可用)。</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS 欺騙副作用</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS 欺騙副作用</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• 私人的兒童影片有可能不會播放\n• 從直播起始處播放\n• 影片可能會提早一秒結束</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR 欺騙副作用</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR 欺騙副作用</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• 私人的兒童影片有可能不會播放\n• 找不到音樂曲目選單\n• 音量平衡不可用</string>
<string name="revanced_spoof_video_streams_language_">已欺騙影片串流</string>
<string name="revanced_spoof_video_streams_language_EN">英文</string> <string name="revanced_spoof_video_streams_language_EN">英文</string>
</patch> </patch>
</app> </app>

View File

@@ -155,7 +155,7 @@
<string-array name="revanced_miniplayer_type_entry_values"> <string-array name="revanced_miniplayer_type_entry_values">
<!-- Enum names from the extension. --> <!-- Enum names from the extension. -->
<item>DISABLED</item> <item>DISABLED</item>
<item>ORIGINAL</item> <item>DEFAULT</item>
<item>MINIMAL</item> <item>MINIMAL</item>
<item>TABLET</item> <item>TABLET</item>
<item>MODERN_1</item> <item>MODERN_1</item>
@@ -172,7 +172,7 @@
</string-array> </string-array>
<string-array name="revanced_miniplayer_type_legacy_entry_values"> <string-array name="revanced_miniplayer_type_legacy_entry_values">
<!-- Enum names from the extension. --> <!-- Enum names from the extension. -->
<item>ORIGINAL</item> <item>DEFAULT</item>
<item>MINIMAL</item> <item>MINIMAL</item>
<item>TABLET</item> <item>TABLET</item>
<item>MODERN_1</item> <item>MODERN_1</item>
@@ -201,7 +201,7 @@
</string-array> </string-array>
<string-array name="revanced_change_start_page_entry_values"> <string-array name="revanced_change_start_page_entry_values">
<!-- Enum names from extension --> <!-- Enum names from extension -->
<item>ORIGINAL</item> <item>DEFAULT</item>
<!-- Intent Action --> <!-- Intent Action -->
<item>SEARCH</item> <item>SEARCH</item>
<item>SHORTS</item> <item>SHORTS</item>

View File

@@ -1028,7 +1028,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_miniplayer_screen_summary">Change the style of the in app minimized player</string> <string name="revanced_miniplayer_screen_summary">Change the style of the in app minimized player</string>
<string name="revanced_miniplayer_type_title">Miniplayer type</string> <string name="revanced_miniplayer_type_title">Miniplayer type</string>
<string name="revanced_miniplayer_type_entry_0">Disabled</string> <string name="revanced_miniplayer_type_entry_0">Disabled</string>
<string name="revanced_miniplayer_type_entry_1">Original</string> <string name="revanced_miniplayer_type_entry_1">Default</string>
<string name="revanced_miniplayer_type_entry_2">Minimal</string> <string name="revanced_miniplayer_type_entry_2">Minimal</string>
<string name="revanced_miniplayer_type_entry_3">Tablet</string> <string name="revanced_miniplayer_type_entry_3">Tablet</string>
<string name="revanced_miniplayer_type_entry_4">Modern 1</string> <string name="revanced_miniplayer_type_entry_4">Modern 1</string>
@@ -1229,11 +1229,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video codec is determined automatically</string> <string name="revanced_spoof_video_streams_ios_force_avc_summary_off">Video codec is determined automatically</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Enabling this might improve battery life and fix playback stuttering.\n\nAVC has a maximum resolution of 1080p, Opus audio codec is not available, and video playback will use more internet data than VP9 or AV1.</string> <string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">Enabling this might improve battery life and fix playback stuttering.\n\nAVC has a maximum resolution of 1080p, Opus audio codec is not available, and video playback will use more internet data than VP9 or AV1.</string>
<string name="revanced_spoof_video_streams_about_ios_title">iOS spoofing side effects</string> <string name="revanced_spoof_video_streams_about_ios_title">iOS spoofing side effects</string>
<string name="revanced_spoof_video_streams_about_ios_summary">• Private kids videos may not play\n• Livestreams start from the beginning\n• Videos may end 1 second early</string> <string name="revanced_spoof_video_streams_about_ios_summary">• Private kids videos may not play\n• Livestreams start from the beginning\n• Videos end 1 second early</string>
<string name="revanced_spoof_video_streams_about_android_vr_title">Android VR spoofing side effects</string> <string name="revanced_spoof_video_streams_about_android_vr_title">Android VR spoofing side effects</string>
<string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids videos may not play\n• Audio track menu is missing\n• Stable volume is not available</string> <string name="revanced_spoof_video_streams_about_android_vr_summary">• Kids videos may not play\n• Livestreams start from the beginning\n• Videos end 1 second early</string>
<string name="revanced_spoof_video_streams_language_">Video streams are spoofed</string> <string name="revanced_spoof_video_streams_language_title">Default audio stream language</string>
<string name="revanced_spoof_video_streams_language_title">Preferred audio stream language</string>
<string name="revanced_spoof_video_streams_language_DEFAULT">App language</string> <string name="revanced_spoof_video_streams_language_DEFAULT">App language</string>
<string name="revanced_spoof_video_streams_language_AR">Arabic</string> <string name="revanced_spoof_video_streams_language_AR">Arabic</string>
<string name="revanced_spoof_video_streams_language_AZ">Azerbaijani</string> <string name="revanced_spoof_video_streams_language_AZ">Azerbaijani</string>