diff --git a/.github/workflows/pull_strings.yml b/.github/workflows/pull_strings.yml index b27d9166aa..6af21c1dbb 100644 --- a/.github/workflows/pull_strings.yml +++ b/.github/workflows/pull_strings.yml @@ -1,6 +1,8 @@ name: Pull strings on: + schedule: + - cron: "0 */8 * * *" workflow_dispatch: jobs: @@ -21,16 +23,20 @@ jobs: uses: crowdin/github-action@v2 with: config: crowdin.yml + upload_sources: false download_translations: true localization_branch_name: feat/translations - create_pull_request: true - pull_request_title: "chore: Sync translations" - pull_request_body: "Sync translations from [crowdin.com/project/revanced](https://crowdin.com/project/revanced)" - pull_request_base_branch_name: "dev" - commit_message: "chore: Sync translations" - github_user_name: revanced-bot - github_user_email: github@revanced.app + create_pull_request: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} + + - name: Open pull request + if: github.event_name == 'workflow_dispatch' + uses: repo-sync/pull-request@v2 + with: + source_branch: feat/translations + destination_branch: dev + pr_title: "chore: Sync translations" + pr_body: "Sync translations from [crowdin.com/project/revanced](https://crowdin.com/project/revanced)" diff --git a/CHANGELOG.md b/CHANGELOG.md index 941ecf9e23..675ace934f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,60 @@ +# [5.6.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.5...v5.6.0-dev.6) (2024-12-20) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Update iOS client version ([df3aeed](https://github.com/ReVanced/revanced-patches/commit/df3aeed3b173e408fad80197a89ec5d003a2b328)) + +# [5.6.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.4...v5.6.0-dev.5) (2024-12-20) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Change default spoofing to iOS, allow setting a default language with Android VR ([#4171](https://github.com/ReVanced/revanced-patches/issues/4171)) ([171b4e7](https://github.com/ReVanced/revanced-patches/commit/171b4e7e40066e38fba773b7a6525e9a038779ef)) + +# [5.6.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.3...v5.6.0-dev.4) (2024-12-20) + + +### Bug Fixes + +* **YouTube - Force original audio:** Use correct original audio stream if app language is not English ([0d20171](https://github.com/ReVanced/revanced-patches/commit/0d2017133efac230887b5c2a331d87159df8af11)) + +# [5.6.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.2...v5.6.0-dev.3) (2024-12-20) + + +### Bug Fixes + +* **Twitter - Change link sharing domain:** Use correct extension package ([ad7fab6](https://github.com/ReVanced/revanced-patches/commit/ad7fab67319ba23f267d27da9b74266965fc4be3)) + +# [5.6.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.6.0-dev.1...v5.6.0-dev.2) (2024-12-19) + + +### Bug Fixes + +* **YouTube - Open Shorts in regular player:** Do not show the miniplayer after opening a Short while a video is playing ([894e366](https://github.com/ReVanced/revanced-patches/commit/894e36665d17d5a3a5728961d424dffc55faa50b)) + +# [5.6.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.5.2-dev.2...v5.6.0-dev.1) (2024-12-19) + + +### Features + +* **YouTube:** Add `Open Shorts in regular player` patch ([#4153](https://github.com/ReVanced/revanced-patches/issues/4153)) ([c7c5e5b](https://github.com/ReVanced/revanced-patches/commit/c7c5e5b2b9cf63d8225bb6bd5e735ddf945b6c29)) + +## [5.5.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.5.2-dev.1...v5.5.2-dev.2) (2024-12-17) + + +### Bug Fixes + +* **YouTube - Hide layout components:** Hide new kind of community post ([#4155](https://github.com/ReVanced/revanced-patches/issues/4155)) ([08f68cb](https://github.com/ReVanced/revanced-patches/commit/08f68cb5d33f2cfe656d2f93d159c69981f31418)) + +## [5.5.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.5.1...v5.5.2-dev.1) (2024-12-17) + + +### Bug Fixes + +* **YouTube - Miniplayer:** Use estimated maximum on screen size for devices with low density screens ([#4150](https://github.com/ReVanced/revanced-patches/issues/4150)) ([2694158](https://github.com/ReVanced/revanced-patches/commit/2694158c3c9935ede21c96832533222f850068df)) +* **YouTube - SponsorBlock:** Show create new segment error messages using a dialog ([#4148](https://github.com/ReVanced/revanced-patches/issues/4148)) ([5870906](https://github.com/ReVanced/revanced-patches/commit/587090636dfff0b358b15026cf7d47c65a4296dc)) + ## [5.5.1](https://github.com/ReVanced/revanced-patches/compare/v5.5.0...v5.5.1) (2024-12-16) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java index ad1741d9d9..4669e999a1 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java @@ -22,9 +22,9 @@ public class BaseSettings { public static final IntegerSetting CHECK_ENVIRONMENT_WARNINGS_ISSUED = new IntegerSetting("revanced_check_environment_warnings_issued", 0, true, false); public static final BooleanSetting SPOOF_VIDEO_STREAMS = new BooleanSetting("revanced_spoof_video_streams", TRUE, true, "revanced_spoof_video_streams_user_dialog_message"); - public static final EnumSetting SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AudioStreamLanguage.DEFAULT, new SpoofiOSAvailability()); + public static final EnumSetting SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AudioStreamLanguage.DEFAULT, parent(SPOOF_VIDEO_STREAMS)); public static final BooleanSetting SPOOF_VIDEO_STREAMS_IOS_FORCE_AVC = new BooleanSetting("revanced_spoof_video_streams_ios_force_avc", FALSE, true, "revanced_spoof_video_streams_ios_force_avc_user_dialog_message", new SpoofiOSAvailability()); - public static final EnumSetting SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client", ClientType.ANDROID_VR, true, parent(SPOOF_VIDEO_STREAMS)); + public static final EnumSetting SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.IOS, true, parent(SPOOF_VIDEO_STREAMS)); } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java index b29dce4318..e281cf50e4 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java @@ -16,21 +16,21 @@ public enum ClientType { "com.google.android.apps.youtube.vr.oculus/1.56.21 (Linux; U; Android 12; GB) gzip", "32", // Android 12.1 "1.56.21", - true, - false), + true + ), // Specific for kids videos. IOS(5, "IOS", forceAVC() ? "iPhone12,5" // 11 Pro Max (last device with iOS 13) - : "iPhone16,2", // 15 Pro Max + : "iPhone17,2", // 16 Pro Max // iOS 13 and earlier uses only AVC. 14+ adds VP9 and AV1. forceAVC() ? "13.7.17H35" // Last release of iOS 13. - : "17.5.1.21F90", + : "18.1.1.22B91", forceAVC() ? "com.google.ios.youtube/17.40.5 (iPhone; U; CPU iOS 13_7 like Mac OS X)" - : "com.google.ios.youtube/19.47.7 (iPhone; U; CPU iOS 17_5_1 like Mac OS X)", + : "com.google.ios.youtube/19.49.5 (iPhone; U; CPU iOS 18_1_1 like Mac OS X)", null, // Version number should be a valid iOS release. // https://www.ipa4fun.com/history/185230 @@ -38,9 +38,8 @@ public enum ClientType { // Some newer versions can also force AVC, // but 17.40 is the last version that supports iOS 13. ? "17.40.5" - : "19.47.7", - false, - true + : "19.49.5", + false ); private static boolean forceAVC() { @@ -87,11 +86,6 @@ private static boolean forceAVC() { */ public final boolean canLogin; - /** - * If a language code should be used. - */ - public final boolean useLanguageCode; - ClientType(int id, String clientName, String deviceModel, @@ -99,8 +93,7 @@ private static boolean forceAVC() { String userAgent, @Nullable String androidSdkVersion, String clientVersion, - boolean canLogin, - boolean useLanguageCode) { + boolean canLogin) { this.id = id; this.clientName = clientName; this.deviceModel = deviceModel; @@ -109,6 +102,5 @@ private static boolean forceAVC() { this.androidSdkVersion = androidSdkVersion; this.clientVersion = clientVersion; this.canLogin = canLogin; - this.useLanguageCode = useLanguageCode; } } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java index 8e480c40ee..fe3d684bb5 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java @@ -10,6 +10,7 @@ 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.EnumSetting; import app.revanced.extension.shared.settings.Setting; import app.revanced.extension.shared.spoof.requests.StreamingDataRequest; @@ -26,6 +27,27 @@ public class SpoofVideoStreamsPatch { private static final String UNREACHABLE_HOST_URI_STRING = "https://127.0.0.0"; private static final Uri UNREACHABLE_HOST_URI = Uri.parse(UNREACHABLE_HOST_URI_STRING); + /** + * @return If this patch was included during patching. + */ + private static boolean isPatchIncluded() { + return false; // Modified during patching. + } + + public static final class NotSpoofingAndroidVrAvailability implements Setting.Availability { + @Override + public boolean isAvailable() { + if (SpoofVideoStreamsPatch.isPatchIncluded()) { + EnumSetting clientType = BaseSettings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE; + return clientType.isAvailable() && clientType.get() != ClientType.ANDROID_VR; + } + + return true; + } + } + + + /** * Injection point. * Blocks /get_watch requests by returning an unreachable URI. diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/requests/PlayerRoutes.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/requests/PlayerRoutes.java index 5da5628e0b..9832a08a7f 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/requests/PlayerRoutes.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/requests/PlayerRoutes.java @@ -37,9 +37,7 @@ static String createInnertubeBody(ClientType clientType) { JSONObject context = new JSONObject(); JSONObject client = new JSONObject(); - if (clientType.useLanguageCode) { - client.put("hl", BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getIso639_1()); - } + client.put("hl", BaseSettings.SPOOF_VIDEO_STREAMS_LANGUAGE.get().getIso639_1()); client.put("clientName", clientType.clientName); client.put("clientVersion", clientType.clientVersion); client.put("deviceModel", clientType.deviceModel); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java index 4a34eb3cd6..91b2fe67a2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java @@ -6,7 +6,7 @@ @SuppressWarnings("unused") public class ForceOriginalAudioPatch { - private static final String DEFAULT_AUDIO_TRACKS_IDENTIFIER = "original"; + private static final String DEFAULT_AUDIO_TRACKS_SUFFIX = ".4"; /** * Injection point. @@ -17,7 +17,7 @@ public static boolean isDefaultAudioStream(boolean isDefault, String audioTrackI return isDefault; } - if (audioTrackDisplayName.isEmpty()) { + if (audioTrackId.isEmpty()) { // Older app targets can have empty audio tracks and these might be placeholders. // The real audio tracks are called after these. return isDefault; @@ -26,7 +26,7 @@ public static boolean isDefaultAudioStream(boolean isDefault, String audioTrackI Logger.printDebug(() -> "default: " + String.format("%-5s", isDefault) + " id: " + String.format("%-8s", audioTrackId) + " name:" + audioTrackDisplayName); - final boolean isOriginal = audioTrackDisplayName.contains(DEFAULT_AUDIO_TRACKS_IDENTIFIER); + final boolean isOriginal = audioTrackId.endsWith(DEFAULT_AUDIO_TRACKS_SUFFIX); if (isOriginal) { Logger.printDebug(() -> "Using audio: " + audioTrackId); } @@ -34,8 +34,8 @@ public static boolean isDefaultAudioStream(boolean isDefault, String audioTrackI return isOriginal; } catch (Exception ex) { Logger.printException(() -> "isDefaultAudioStream failure", ex); - } - return isDefault; + return isDefault; + } } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java index 9842f50598..be27811c92 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java @@ -82,7 +82,13 @@ public boolean isModern() { final int WIDTH_DIP_MIN = 170; // Seems to be the smallest that works. final int HORIZONTAL_PADDING_DIP = 15; // Estimated padding. // Round down to the nearest 5 pixels, to keep any error toasts easier to read. - final int WIDTH_DIP_MAX = 5 * ((deviceDipWidth - HORIZONTAL_PADDING_DIP) / 5); + final int estimatedWidthDipMax = 5 * ((deviceDipWidth - HORIZONTAL_PADDING_DIP) / 5); + // On some ultra low end devices the pixel width and density are the same number, + // which causes the estimate to always give a value of 1. + // Fix this by using a fixed size of double the min width. + final int WIDTH_DIP_MAX = estimatedWidthDipMax <= WIDTH_DIP_MIN + ? 2 * WIDTH_DIP_MIN + : estimatedWidthDipMax; Logger.printDebug(() -> "Screen dip width: " + deviceDipWidth + " maxWidth: " + WIDTH_DIP_MAX); int dipWidth = Settings.MINIPLAYER_WIDTH_DIP.get(); @@ -127,8 +133,10 @@ public boolean isModern() { private static final boolean HIDE_SUBTEXT_ENABLED = (CURRENT_TYPE == MODERN_1 || CURRENT_TYPE == MODERN_3) && Settings.MINIPLAYER_HIDE_SUBTEXT.get(); - private static final boolean HIDE_REWIND_FORWARD_ENABLED = - CURRENT_TYPE == MODERN_1 && Settings.MINIPLAYER_HIDE_REWIND_FORWARD.get(); + // 19.25 is last version that has forward/back buttons for phones, + // but buttons still show for tablets/foldable devices and they don't work well so always hide. + private static final boolean HIDE_REWIND_FORWARD_ENABLED = CURRENT_TYPE == MODERN_1 + && (VersionCheckPatch.IS_19_34_OR_GREATER || Settings.MINIPLAYER_HIDE_REWIND_FORWARD.get()); private static final boolean MINIPLAYER_ROUNDED_CORNERS_ENABLED = Settings.MINIPLAYER_ROUNDED_CORNERS.get(); @@ -145,6 +153,18 @@ public boolean isModern() { private static final int OPACITY_LEVEL; + static { + int opacity = Settings.MINIPLAYER_OPACITY.get(); + + if (opacity < 0 || opacity > 100) { + Utils.showToastLong(str("revanced_miniplayer_opacity_invalid_toast")); + Settings.MINIPLAYER_OPACITY.resetToDefault(); + opacity = Settings.MINIPLAYER_OPACITY.defaultValue; + } + + OPACITY_LEVEL = (opacity * 255) / 100; + } + public static final class MiniplayerHorizontalDragAvailability implements Setting.Availability { @Override public boolean isAvailable() { @@ -163,18 +183,6 @@ public boolean isAvailable() { } } - static { - int opacity = Settings.MINIPLAYER_OPACITY.get(); - - if (opacity < 0 || opacity > 100) { - Utils.showToastLong(str("revanced_miniplayer_opacity_invalid_toast")); - Settings.MINIPLAYER_OPACITY.resetToDefault(); - opacity = Settings.MINIPLAYER_OPACITY.defaultValue; - } - - OPACITY_LEVEL = (opacity * 255) / 100; - } - /** * Injection point. * diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenShortsInRegularPlayerPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenShortsInRegularPlayerPatch.java new file mode 100644 index 0000000000..abe3b0cfd7 --- /dev/null +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenShortsInRegularPlayerPatch.java @@ -0,0 +1,95 @@ +package app.revanced.extension.youtube.patches; + +import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton; + +import android.app.Activity; +import android.content.Intent; +import android.net.Uri; + +import java.lang.ref.WeakReference; + +import app.revanced.extension.shared.Logger; +import app.revanced.extension.youtube.settings.Settings; + +@SuppressWarnings("unused") +public class OpenShortsInRegularPlayerPatch { + + public enum ShortsPlayerType { + SHORTS_PLAYER, + REGULAR_PLAYER, + REGULAR_PLAYER_FULLSCREEN + } + + static { + if (!VersionCheckPatch.IS_19_46_OR_GREATER + && Settings.SHORTS_PLAYER_TYPE.get() == ShortsPlayerType.REGULAR_PLAYER_FULLSCREEN) { + // User imported newer settings to an older app target. + Logger.printInfo(() -> "Resetting " + Settings.SHORTS_PLAYER_TYPE); + Settings.SHORTS_PLAYER_TYPE.resetToDefault(); + } + } + + private static WeakReference mainActivityRef = new WeakReference<>(null); + + /** + * Injection point. + */ + public static void setMainActivity(Activity activity) { + mainActivityRef = new WeakReference<>(activity); + } + + /** + * Injection point. + */ + public static boolean openShort(String videoID) { + try { + ShortsPlayerType type = Settings.SHORTS_PLAYER_TYPE.get(); + if (type == ShortsPlayerType.SHORTS_PLAYER) { + return false; // Default unpatched behavior. + } + + if (videoID.isEmpty()) { + // Shorts was opened using launcher app shortcut. + // + // This check will not detect if the Shorts app shortcut is used + // while the app is running in the background (instead the regular player is opened). + // To detect that the hooked method map parameter can be checked + // if integer key 'com.google.android.apps.youtube.app.endpoint.flags' + // has bitmask 16 set. + // + // This use case seems unlikely if the user has the Shorts + // set to open in the regular player, so it's ignored as + // checking the map makes the patch more complicated. + Logger.printDebug(() -> "Ignoring Short with no videoId"); + return false; + } + + if (NavigationButton.getSelectedNavigationButton() == NavigationButton.SHORTS) { + return false; // Always use Shorts player for the Shorts nav button. + } + + final boolean forceFullScreen = (type == ShortsPlayerType.REGULAR_PLAYER_FULLSCREEN); + OpenVideosFullscreenHookPatch.setOpenNextVideoFullscreen(forceFullScreen); + + // Can use the application context and add intent flags of + // FLAG_ACTIVITY_NEW_TASK and FLAG_ACTIVITY_CLEAR_TOP + // But the activity context seems to fix random app crashes + // if Shorts urls are opened outside the app. + var context = mainActivityRef.get(); + + Intent videoPlayerIntent = new Intent( + Intent.ACTION_VIEW, + Uri.parse("https://youtube.com/watch?v=" + videoID) + ); + videoPlayerIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + videoPlayerIntent.setPackage(context.getPackageName()); + + context.startActivity(videoPlayerIntent); + return true; + } catch (Exception ex) { + OpenVideosFullscreenHookPatch.setOpenNextVideoFullscreen(null); + Logger.printException(() -> "openShort failure", ex); + return false; + } + } +} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenVideosFullscreen.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenVideosFullscreen.java deleted file mode 100644 index a15d7f6414..0000000000 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenVideosFullscreen.java +++ /dev/null @@ -1,14 +0,0 @@ -package app.revanced.extension.youtube.patches; - -import app.revanced.extension.youtube.settings.Settings; - -@SuppressWarnings("unused") -public class OpenVideosFullscreen { - - /** - * Injection point. - */ - public static boolean openVideoFullscreenPortrait(boolean original) { - return Settings.OPEN_VIDEOS_FULLSCREEN_PORTRAIT.get(); - } -} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenVideosFullscreenHookPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenVideosFullscreenHookPatch.java new file mode 100644 index 0000000000..62f9bbff9c --- /dev/null +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenVideosFullscreenHookPatch.java @@ -0,0 +1,41 @@ +package app.revanced.extension.youtube.patches; + +import androidx.annotation.Nullable; + +import app.revanced.extension.youtube.settings.Settings; + +@SuppressWarnings("unused") +public class OpenVideosFullscreenHookPatch { + + @Nullable + private static volatile Boolean openNextVideoFullscreen; + + public static void setOpenNextVideoFullscreen(@Nullable Boolean forceFullScreen) { + openNextVideoFullscreen = forceFullScreen; + } + + /** + * Changed during patching since this class is also + * used by {@link OpenVideosFullscreenHookPatch}. + */ + private static boolean isFullScreenPatchIncluded() { + return false; + } + + /** + * Injection point. + */ + public static boolean openVideoFullscreenPortrait(boolean original) { + Boolean openFullscreen = openNextVideoFullscreen; + if (openFullscreen != null) { + openNextVideoFullscreen = null; + return openFullscreen; + } + + if (!isFullScreenPatchIncluded()) { + return false; + } + + return Settings.OPEN_VIDEOS_FULLSCREEN_PORTRAIT.get(); + } +} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java index 74f082bf4c..c825b88d3d 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java @@ -9,4 +9,5 @@ public class VersionCheckPatch { public static final boolean IS_19_26_OR_GREATER = Utils.getAppVersionName().compareTo("19.26.00") >= 0; public static final boolean IS_19_29_OR_GREATER = Utils.getAppVersionName().compareTo("19.29.00") >= 0; public static final boolean IS_19_34_OR_GREATER = Utils.getAppVersionName().compareTo("19.34.00") >= 0; + public static final boolean IS_19_46_OR_GREATER = Utils.getAppVersionName().compareTo("19.46.00") >= 0; } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 1576dfec45..cd42c669bd 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -73,13 +73,14 @@ public LayoutComponentsFilter() { final var communityPosts = new StringFilterGroup( Settings.HIDE_COMMUNITY_POSTS, - "post_base_wrapper", + "post_base_wrapper", // may be obsolete and no longer needed. "text_post_root.eml", "images_post_root.eml", - "images_post_slim.eml", + "images_post_slim.eml", // may be obsolete and no longer needed. "images_post_root_slim.eml", "text_post_root_slim.eml", - "post_base_wrapper_slim.eml" + "post_base_wrapper_slim.eml", + "poll_post_root.eml" ); final var communityGuidelines = new StringFilterGroup( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index e5027a9cc3..c2995dd34f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -7,6 +7,7 @@ import static app.revanced.extension.shared.settings.Setting.migrateOldSettingToNew; import static app.revanced.extension.shared.settings.Setting.parent; import static app.revanced.extension.shared.settings.Setting.parentsAny; +import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.NotSpoofingAndroidVrAvailability; import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage; import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHideExpandCloseAvailability; import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHorizontalDragAvailability; @@ -16,6 +17,7 @@ import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType.MODERN_2; import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType.MODERN_3; import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType.MODERN_4; +import static app.revanced.extension.youtube.patches.OpenShortsInRegularPlayerPatch.ShortsPlayerType; import static app.revanced.extension.youtube.patches.SeekbarThumbnailsPatch.SeekbarThumbnailsHighQualityAvailability; import static app.revanced.extension.youtube.patches.VersionCheckPatch.IS_19_17_OR_GREATER; import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.IGNORE; @@ -52,7 +54,7 @@ public class Settings extends BaseSettings { public static final StringSetting CUSTOM_PLAYBACK_SPEEDS = new StringSetting("revanced_custom_playback_speeds", "0.25\n0.5\n0.75\n0.9\n0.95\n1.0\n1.05\n1.1\n1.25\n1.5\n1.75\n2.0\n3.0\n4.0\n5.0", true); // Audio - public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE); + public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new NotSpoofingAndroidVrAvailability()); // Ads public static final BooleanSetting HIDE_BUTTONED_ADS = new BooleanSetting("revanced_hide_buttoned_ads", TRUE); @@ -149,7 +151,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting MINIPLAYER_HORIZONTAL_DRAG = new BooleanSetting("revanced_miniplayer_horizontal_drag", FALSE, true, new MiniplayerHorizontalDragAvailability()); public static final BooleanSetting MINIPLAYER_HIDE_EXPAND_CLOSE = new BooleanSetting("revanced_miniplayer_hide_expand_close", FALSE, true, new MiniplayerHideExpandCloseAvailability()); public static final BooleanSetting MINIPLAYER_HIDE_SUBTEXT = new BooleanSetting("revanced_miniplayer_hide_subtext", FALSE, true, MINIPLAYER_TYPE.availability(MODERN_1, MODERN_3)); - public static final BooleanSetting MINIPLAYER_HIDE_REWIND_FORWARD = new BooleanSetting("revanced_miniplayer_hide_rewind_forward", FALSE, true, MINIPLAYER_TYPE.availability(MODERN_1)); + public static final BooleanSetting MINIPLAYER_HIDE_REWIND_FORWARD = new BooleanSetting("revanced_miniplayer_hide_rewind_forward", TRUE, true, MINIPLAYER_TYPE.availability(MODERN_1)); public static final BooleanSetting MINIPLAYER_ROUNDED_CORNERS = new BooleanSetting("revanced_miniplayer_rounded_corners", TRUE, true, MINIPLAYER_ANY_MODERN); public static final IntegerSetting MINIPLAYER_WIDTH_DIP = new IntegerSetting("revanced_miniplayer_width_dip", 192, true, MINIPLAYER_ANY_MODERN); public static final IntegerSetting MINIPLAYER_OPACITY = new IntegerSetting("revanced_miniplayer_opacity", 100, true, MINIPLAYER_TYPE.availability(MODERN_1)); @@ -224,6 +226,7 @@ public class Settings extends BaseSettings { // Shorts public static final BooleanSetting DISABLE_RESUMING_SHORTS_PLAYER = new BooleanSetting("revanced_disable_resuming_shorts_player", FALSE); public static final BooleanSetting DISABLE_SHORTS_BACKGROUND_PLAYBACK = new BooleanSetting("revanced_shorts_disable_background_playback", FALSE); + public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java index 9fa4a942a2..2d1324d093 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java @@ -507,7 +507,7 @@ private void addUserStats(@NonNull Preference loadingPlaceholder, @Nullable User Utils.showToastLong(str("revanced_sb_stats_username_changed")); } else { preference.setText(userName); // revert to previous - Utils.showToastLong(errorMessage); + SponsorBlockUtils.showErrorDialog(errorMessage); } }); }); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java index a8b62e7e69..3fdfe1f9fa 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java @@ -363,6 +363,16 @@ static void sendViewRequestAsync(@NonNull SponsorSegment segment) { } } + public static void showErrorDialog(String dialogMessage) { + Utils.runOnMainThreadNowOrLater(() -> + new AlertDialog.Builder(SponsorBlockViewController.getOverLaysViewGroupContext()) + .setMessage(dialogMessage) + .setPositiveButton(android.R.string.ok, null) + .setCancelable(false) + .show() + ); + } + public static void onEditByHandClicked() { try { Utils.verifyOnMainThread(); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java index f674898506..6a36a2525d 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java @@ -19,6 +19,7 @@ import app.revanced.extension.youtube.settings.Settings; import app.revanced.extension.youtube.sponsorblock.SponsorBlockSettings; +import app.revanced.extension.youtube.sponsorblock.SponsorBlockUtils; import app.revanced.extension.youtube.sponsorblock.objects.SegmentCategory; import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment; import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment.SegmentVote; @@ -142,6 +143,7 @@ public static SponsorSegment[] getSegments(@NonNull String videoId) { public static void submitSegments(@NonNull String videoId, @NonNull String category, long startTime, long endTime, long videoLength) { Utils.verifyOffMainThread(); + try { String privateUserId = SponsorBlockSettings.getSBPrivateUserID(); String start = String.format(Locale.US, TIME_TEMPLATE, startTime / 1000f); @@ -151,35 +153,29 @@ public static void submitSegments(@NonNull String videoId, @NonNull String categ HttpURLConnection connection = getConnectionFromRoute(SBRoutes.SUBMIT_SEGMENTS, privateUserId, videoId, category, start, end, duration); final int responseCode = connection.getResponseCode(); - final String messageToToast; - switch (responseCode) { - case HTTP_STATUS_CODE_SUCCESS: - messageToToast = str("revanced_sb_submit_succeeded"); - break; - case 409: - messageToToast = str("revanced_sb_submit_failed_duplicate"); - break; - case 403: - messageToToast = str("revanced_sb_submit_failed_forbidden", Requester.parseErrorStringAndDisconnect(connection)); - break; - case 429: - messageToToast = str("revanced_sb_submit_failed_rate_limit"); - break; - case 400: - messageToToast = str("revanced_sb_submit_failed_invalid", Requester.parseErrorStringAndDisconnect(connection)); - break; - default: - messageToToast = str("revanced_sb_submit_failed_unknown_error", responseCode, connection.getResponseMessage()); - break; - } - Utils.showToastLong(messageToToast); + String userMessage = switch (responseCode) { + case HTTP_STATUS_CODE_SUCCESS -> str("revanced_sb_submit_succeeded"); + case 409 -> str("revanced_sb_submit_failed_duplicate"); + case 403 -> str("revanced_sb_submit_failed_forbidden", + Requester.parseErrorStringAndDisconnect(connection)); + case 429 -> str("revanced_sb_submit_failed_rate_limit"); + case 400 -> str("revanced_sb_submit_failed_invalid", + Requester.parseErrorStringAndDisconnect(connection)); + default -> str("revanced_sb_submit_failed_unknown_error", + responseCode, connection.getResponseMessage()); + }; + + // Message might be about the users account or an error too large to show in a toast. + // Use a dialog instead. + SponsorBlockUtils.showErrorDialog(userMessage); } catch (SocketTimeoutException ex) { - // Always show, even if show connection toasts is turned off + Logger.printDebug(() -> "Timeout", ex); Utils.showToastLong(str("revanced_sb_submit_failed_timeout")); } catch (IOException ex) { + Logger.printDebug(() -> "IOException", ex); Utils.showToastLong(str("revanced_sb_submit_failed_unknown_error", 0, ex.getMessage())); } catch (Exception ex) { - Logger.printException(() -> "failed to submit segments", ex); + Logger.printException(() -> "failed to submit segments", ex); // Should never happen. } } @@ -218,19 +214,22 @@ private static void voteOrRequestCategoryChange(@NonNull SponsorSegment segment, : getConnectionFromRoute(SBRoutes.VOTE_ON_SEGMENT_QUALITY, uuid, segmentUuid, String.valueOf(voteOption.apiVoteType)); final int responseCode = connection.getResponseCode(); + String userMessage; switch (responseCode) { case HTTP_STATUS_CODE_SUCCESS: Logger.printDebug(() -> "Vote success for segment: " + segment); - break; + return; case 403: - Utils.showToastLong( - str("revanced_sb_vote_failed_forbidden", Requester.parseErrorStringAndDisconnect(connection))); + userMessage = str("revanced_sb_vote_failed_forbidden", + Requester.parseErrorStringAndDisconnect(connection)); break; default: - Utils.showToastLong( - str("revanced_sb_vote_failed_unknown_error", responseCode, connection.getResponseMessage())); + userMessage = str("revanced_sb_vote_failed_unknown_error", + responseCode, connection.getResponseMessage()); break; } + + SponsorBlockUtils.showErrorDialog(userMessage); } catch (SocketTimeoutException ex) { Utils.showToastShort(str("revanced_sb_vote_failed_timeout")); } catch (IOException ex) { diff --git a/gradle.properties b/gradle.properties index 8e84c676ce..ff1dbd330f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.5.1 +version = 5.6.0-dev.6 diff --git a/patches/api/patches.api b/patches/api/patches.api index c76a2d38fb..25d3d50601 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1177,6 +1177,10 @@ public final class app/revanced/patches/youtube/layout/player/background/PlayerC } public final class app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenKt { + public static final fun getOpenVideosFullscreen ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatchKt { public static final fun getOpenVideosFullscreenPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1210,6 +1214,10 @@ public final class app/revanced/patches/youtube/layout/shortsautoplay/ShortsAuto public static final fun getShortsAutoplayPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatchKt { + public static final fun getOpenShortsInRegularPlayerPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatchKt { public static final fun getSponsorBlockPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch.kt index 3ede5d48af..bd5a80f707 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch.kt @@ -2,7 +2,7 @@ package app.revanced.patches.shared.misc.checks import android.os.Build.* import app.revanced.patcher.Fingerprint -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.Patch import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.proxy.mutableTypes.encodedValue.MutableEncodedValue @@ -82,7 +82,7 @@ fun checkEnvironmentPatch( } } - fun invokeCheck() = mainActivityOnCreateFingerprint.method.addInstructions( + fun invokeCheck() = mainActivityOnCreateFingerprint.method.addInstruction( 0, "invoke-static/range { p0 .. p0 },$EXTENSION_CLASS_DESCRIPTOR->check(Landroid/app/Activity;)V", ) diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt index 0c82935360..c4a581c52a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt @@ -121,3 +121,12 @@ internal val hlsCurrentTimeFingerprint = fingerprint { HLS_CURRENT_TIME_FEATURE_FLAG } } + +internal val patchIncludedExtensionMethodFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Z") + parameters() + custom { method, classDef -> + classDef.type == EXTENSION_CLASS_DESCRIPTOR && method.name == "isPatchIncluded" + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index 004443ed15..417873c709 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -13,6 +13,7 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstructionOrThrow import app.revanced.util.insertFeatureFlagBooleanOverride +import app.revanced.util.returnEarly import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation @@ -39,6 +40,12 @@ fun spoofVideoStreamsPatch( dependsOn(addResourcesPatch) execute { + // region Enable extension helper method used by other patches + + patchIncludedExtensionMethodFingerprint.method.returnEarly(true) + + // endregion + // region Block /initplayback requests to fall back to /get_watch requests. val moveUriStringIndex = buildInitPlaybackRequestFingerprint.patternMatch!!.startIndex diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt index a985953d81..6780f25aa8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt @@ -11,8 +11,8 @@ import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.shared.misc.mapping.resourceMappings import app.revanced.patches.twitter.misc.extension.sharedExtensionPatch import app.revanced.util.indexOfFirstLiteralInstructionOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction -import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c internal var tweetShareLinkTemplateId = -1L private set @@ -25,15 +25,7 @@ internal val changeLinkSharingDomainResourcePatch = resourcePatch { } } -// This method is used to build the link that is shared when the "Share via..." button is pressed. -private const val FORMAT_METHOD_RESOURCE_REFERENCE = - "Lapp/revanced/extension/twitter/patches/links/ChangeLinkSharingDomainPatch;->" + - "formatResourceLink([Ljava/lang/Object;)Ljava/lang/String;" - -// This method is used to build the link that is shared when the "Copy link" button is pressed. -private const val FORMAT_METHOD_REFERENCE = - "Lapp/revanced/extension/twitter/patches/links/ChangeLinkSharingDomainPatch;->" + - "formatLink(JLjava/lang/String;)Ljava/lang/String;" +private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch;" @Suppress("unused") val changeLinkSharingDomainPatch = bytecodePatch( @@ -71,7 +63,7 @@ val changeLinkSharingDomainPatch = bytecodePatch( addInstructions( 0, """ - invoke-static { p0, p1, p2 }, $FORMAT_METHOD_REFERENCE + invoke-static { p0, p1, p2 }, $EXTENSION_CLASS_DESCRIPTOR->formatLink(JLjava/lang/String;)Ljava/lang/String; move-result-object p0 return-object p0 """, @@ -84,12 +76,12 @@ val changeLinkSharingDomainPatch = bytecodePatch( // Format the link with the new domain name register (1 instruction below the const). val formatLinkCallIndex = templateIdConstIndex + 1 - val formatLinkCall = getInstruction(formatLinkCallIndex) + val register = getInstruction(formatLinkCallIndex).registerE // Replace the original method call with the new method call. replaceInstruction( formatLinkCallIndex, - "invoke-static { v${formatLinkCall.registerE} }, $FORMAT_METHOD_RESOURCE_REFERENCE", + "invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->formatResourceLink([Ljava/lang/Object;)Ljava/lang/String;", ) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/Fingerprints.kt index d188d8442b..096ed695da 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/Fingerprints.kt @@ -14,3 +14,15 @@ internal val openVideosFullscreenPortraitFingerprint = fingerprint { OPEN_VIDEOS_FULLSCREEN_PORTRAIT_FEATURE_FLAG } } + +/** + * Used to enable opening regular videos fullscreen. + */ +internal val openVideosFullscreenHookPatchExtensionFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Z") + parameters() + custom { methodDef, classDef -> + methodDef.name == "isFullScreenPatchIncluded" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreen.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreen.kt index 621381ae5c..89311b08c0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreen.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreen.kt @@ -1,46 +1,9 @@ package app.revanced.patches.youtube.layout.player.fullscreen import app.revanced.patcher.patch.bytecodePatch -import app.revanced.patches.all.misc.resources.addResources -import app.revanced.patches.all.misc.resources.addResourcesPatch -import app.revanced.patches.shared.misc.settings.preference.SwitchPreference -import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch -import app.revanced.patches.youtube.misc.settings.PreferenceScreen -import app.revanced.patches.youtube.misc.settings.settingsPatch -import app.revanced.util.insertFeatureFlagBooleanOverride - -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/youtube/patches/OpenVideosFullscreen;" @Suppress("unused") -val openVideosFullscreenPatch = bytecodePatch( - name = "Open videos fullscreen", - description = "Adds an option to open videos in full screen portrait mode.", -) { - dependsOn( - sharedExtensionPatch, - settingsPatch, - addResourcesPatch, - ) - - compatibleWith( - "com.google.android.youtube"( - "19.46.42", - ) - ) - - execute { - openVideosFullscreenPortraitFingerprint.method.insertFeatureFlagBooleanOverride( - OPEN_VIDEOS_FULLSCREEN_PORTRAIT_FEATURE_FLAG, - "$EXTENSION_CLASS_DESCRIPTOR->openVideoFullscreenPortrait(Z)Z" - ) - - // Add resources and setting last, in case the user force patches an old incompatible version. - - addResources("youtube", "layout.player.fullscreen.openVideosFullscreen") - - PreferenceScreen.PLAYER.addPreferences( - SwitchPreference("revanced_open_videos_fullscreen_portrait") - ) - } -} +@Deprecated("Renamed to openVideosFullscreenPatch", ReplaceWith("openVideosFullscreenPatch")) +val openVideosFullscreen = bytecodePatch{ + dependsOn(openVideosFullscreenPatch) +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenHookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenHookPatch.kt new file mode 100644 index 0000000000..24896be997 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenHookPatch.kt @@ -0,0 +1,32 @@ +package app.revanced.patches.youtube.layout.player.fullscreen + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.youtube.layout.shortsplayer.openShortsInRegularPlayerPatch +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.playservice.is_19_46_or_greater +import app.revanced.patches.youtube.misc.playservice.versionCheckPatch +import app.revanced.util.insertFeatureFlagBooleanOverride + +internal const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/youtube/patches/OpenVideosFullscreenHookPatch;" + +/** + * Used by both [openVideosFullscreenPatch] and [openShortsInRegularPlayerPatch]. + */ +internal val openVideosFullscreenHookPatch = bytecodePatch { + dependsOn( + sharedExtensionPatch, + versionCheckPatch + ) + + execute { + if (!is_19_46_or_greater) { + return@execute + } + + openVideosFullscreenPortraitFingerprint.method.insertFeatureFlagBooleanOverride( + OPEN_VIDEOS_FULLSCREEN_PORTRAIT_FEATURE_FLAG, + "$EXTENSION_CLASS_DESCRIPTOR->openVideoFullscreenPortrait(Z)Z" + ) + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt new file mode 100644 index 0000000000..a196f65e8b --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt @@ -0,0 +1,46 @@ +package app.revanced.patches.youtube.layout.player.fullscreen + +import app.revanced.patcher.patch.PatchException +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.patches.youtube.misc.playservice.is_19_46_or_greater +import app.revanced.patches.youtube.misc.playservice.versionCheckPatch +import app.revanced.patches.youtube.misc.settings.PreferenceScreen +import app.revanced.patches.youtube.misc.settings.settingsPatch +import app.revanced.util.returnEarly + +@Suppress("unused") +val openVideosFullscreenPatch = bytecodePatch( + name = "Open videos fullscreen", + description = "Adds an option to open videos in full screen portrait mode.", +) { + dependsOn( + openVideosFullscreenHookPatch, + settingsPatch, + addResourcesPatch, + versionCheckPatch + ) + + compatibleWith( + "com.google.android.youtube"( + "19.46.42", + ) + ) + + execute { + if (!is_19_46_or_greater) { + throw PatchException("'Open videos fullscreen' requires 19.46.42 or greater") + } + + addResources("youtube", "layout.player.fullscreen.openVideosFullscreen") + + PreferenceScreen.PLAYER.addPreferences( + SwitchPreference("revanced_open_videos_fullscreen_portrait") + ) + + // Enable the logic for the user Setting to open regular videos fullscreen. + openVideosFullscreenHookPatchExtensionFingerprint.method.returnEarly(true) + } +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt index d667729e91..06a66a7bfb 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt @@ -1,5 +1,6 @@ package app.revanced.patches.youtube.layout.shortsautoplay +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch @@ -56,7 +57,7 @@ val shortsAutoplayPatch = bytecodePatch( } // Main activity is used to check if app is in pip mode. - mainActivityOnCreateFingerprint.method.addInstructions( + mainActivityOnCreateFingerprint.method.addInstruction( 1, "invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->" + "setMainActivity(Landroid/app/Activity;)V", diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/Fingerprints.kt new file mode 100644 index 0000000000..961ddef023 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/Fingerprints.kt @@ -0,0 +1,56 @@ +package app.revanced.patches.youtube.layout.shortsplayer + +import app.revanced.patcher.fingerprint +import app.revanced.util.literal +import com.android.tools.smali.dexlib2.AccessFlags + +/** + * Purpose of this method is not clear, and it's only used to identify + * the obfuscated name of the videoId() method in PlaybackStartDescriptor. + */ +internal val playbackStartFeatureFlagFingerprint = fingerprint { + returns("Z") + parameters( + "Lcom/google/android/libraries/youtube/player/model/PlaybackStartDescriptor;", + ) + literal { + 45380134L + } +} + +// Pre 19.25 +internal val shortsPlaybackIntentLegacyFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("V") + parameters( + "L", + "Ljava/util/Map;", + "J", + "Ljava/lang/String;", + "Z", + "Ljava/util/Map;" + ) + strings( + // None of these strings are unique. + "com.google.android.apps.youtube.app.endpoint.flags", + "ReelWatchFragmentArgs", + "reels_fragment_descriptor" + ) +} + +internal val shortsPlaybackIntentFingerprint = fingerprint { + accessFlags(AccessFlags.PROTECTED, AccessFlags.FINAL) + returns("V") + parameters( + "Lcom/google/android/libraries/youtube/player/model/PlaybackStartDescriptor;", + "Ljava/util/Map;", + "J", + "Ljava/lang/String;" + ) + strings( + // None of these strings are unique. + "com.google.android.apps.youtube.app.endpoint.flags", + "ReelWatchFragmentArgs", + "reels_fragment_descriptor" + ) +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt new file mode 100644 index 0000000000..5041b87e7f --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt @@ -0,0 +1,131 @@ +package app.revanced.patches.youtube.layout.shortsplayer + +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.ListPreference +import app.revanced.patches.youtube.layout.player.fullscreen.openVideosFullscreenHookPatch +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.navigation.navigationBarHookPatch +import app.revanced.patches.youtube.misc.playservice.is_19_25_or_greater +import app.revanced.patches.youtube.misc.playservice.is_19_46_or_greater +import app.revanced.patches.youtube.misc.playservice.versionCheckPatch +import app.revanced.patches.youtube.misc.settings.PreferenceScreen +import app.revanced.patches.youtube.misc.settings.settingsPatch +import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction +import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/youtube/patches/OpenShortsInRegularPlayerPatch;" + +@Suppress("unused") +val openShortsInRegularPlayerPatch = bytecodePatch( + name = "Open Shorts in regular player", + description = "Adds options to open Shorts in the regular video player.", +) { + dependsOn( + sharedExtensionPatch, + settingsPatch, + addResourcesPatch, + openVideosFullscreenHookPatch, + navigationBarHookPatch, + versionCheckPatch + ) + + compatibleWith( + "com.google.android.youtube"( + "18.38.44", + "18.49.37", + "19.16.39", + "19.25.37", + "19.34.42", + "19.43.41", + "19.45.38", + "19.46.42", + ), + ) + + execute { + addResources("youtube", "layout.shortsplayer.shortsPlayerTypePatch") + + PreferenceScreen.SHORTS.addPreferences( + if (is_19_46_or_greater) { + ListPreference( + key = "revanced_shorts_player_type", + summaryKey = null, + ) + } else { + ListPreference( + key = "revanced_shorts_player_type", + summaryKey = null, + entriesKey = "revanced_shorts_player_type_legacy_entries", + entryValuesKey = "revanced_shorts_player_type_legacy_entry_values" + ) + } + ) + + // Activity is used as the context to launch an Intent. + mainActivityOnCreateFingerprint.method.addInstruction( + 1, + "invoke-static/range { p0 .. p0 }, ${EXTENSION_CLASS_DESCRIPTOR}->" + + "setMainActivity(Landroid/app/Activity;)V", + ) + + // Find the obfuscated method name for PlaybackStartDescriptor.videoId() + val playbackStartVideoIdMethodName = playbackStartFeatureFlagFingerprint.method.let { + val stringMethodIndex = it.indexOfFirstInstructionOrThrow { + val reference = getReference() + reference?.definingClass == "Lcom/google/android/libraries/youtube/player/model/PlaybackStartDescriptor;" + && reference.returnType == "Ljava/lang/String;" + } + + navigate(it).to(stringMethodIndex).stop().name + } + + fun extensionInstructions(playbackStartRegister: Int, freeRegister: Int) = + """ + invoke-virtual { v$playbackStartRegister }, Lcom/google/android/libraries/youtube/player/model/PlaybackStartDescriptor;->$playbackStartVideoIdMethodName()Ljava/lang/String; + move-result-object v$freeRegister + invoke-static { v$freeRegister }, $EXTENSION_CLASS_DESCRIPTOR->openShort(Ljava/lang/String;)Z + move-result v$freeRegister + if-eqz v$freeRegister, :disabled + return-void + + :disabled + nop + """ + + if (!is_19_25_or_greater) { + shortsPlaybackIntentLegacyFingerprint.method.apply { + val index = indexOfFirstInstructionOrThrow { + getReference()?.returnType == + "Lcom/google/android/libraries/youtube/player/model/PlaybackStartDescriptor;" + } + val freeRegister = getInstruction(index).registerC + val playbackStartRegister = getInstruction(index + 1).registerA + + addInstructionsWithLabels( + index + 2, + extensionInstructions(playbackStartRegister, freeRegister) + ) + } + + return@execute + } + + shortsPlaybackIntentFingerprint.method.addInstructionsWithLabels( + 0, + """ + move-object/from16 v0, p1 + ${extensionInstructions(0, 1)} + """ + ) + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt index f318d838a1..e0d3a44f62 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt @@ -1,6 +1,6 @@ package app.revanced.patches.youtube.misc.announcements -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch @@ -41,7 +41,7 @@ val announcementsPatch = bytecodePatch( SwitchPreference("revanced_announcements"), ) - mainActivityOnCreateFingerprint.method.addInstructions( + mainActivityOnCreateFingerprint.method.addInstruction( // Insert index must be greater than the insert index used by GmsCoreSupport, // as both patch the same method and GmsCore check should be first. 1, diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt index 6437b12991..827c669033 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt @@ -1,6 +1,6 @@ package app.revanced.patches.youtube.misc.dns -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch @@ -31,7 +31,7 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch( execute { addResources("youtube", "misc.dns.checkWatchHistoryDomainNameResolutionPatch") - mainActivityOnCreateFingerprint.method.addInstructions( + mainActivityOnCreateFingerprint.method.addInstruction( // FIXME: Insert index must be greater than the insert index used by GmsCoreSupport, // as both patch the same method and GmsCoreSupport check should be first, // but the patch does not depend on GmsCoreSupport, so it should not be possible to enforce this diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt index 45bdfc0c89..fa53200bf5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt @@ -37,7 +37,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch({ preferences = setOf( SwitchPreference("revanced_spoof_video_streams"), ListPreference( - "revanced_spoof_video_streams_client", + "revanced_spoof_video_streams_client_type", summaryKey = null, ), ListPreference( @@ -45,8 +45,8 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch({ summaryKey = null ), SwitchPreference("revanced_spoof_video_streams_ios_force_avc"), - // Preference requires a title but the actual text is chosen at runtime. NonInteractivePreference( + // Requires a key and title but the actual text is chosen at runtime. key = "revanced_spoof_video_streams_about_android_vr", tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference" ), diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index c7e75e6797..bc1853f933 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -79,7 +79,6 @@ Second \"item\" text" الموجز المشغل التصميم العام - Shorts شريط تقدم الفيديو التحكم عن طريق إيماءة التمرير إعدادات متنوعة @@ -1050,6 +1049,12 @@ Second \"item\" text" لن يتم استئناف تشغيل مشغل Shorts عند بدء تشغيل التطبيق سيتم استئناف تشغيل مشغل Shorts عند بدء تشغيل التطبيق + + فتح مقاطع الـShorts باستخدام + مشغل Shorts + مشغل عادي + شاشة كاملة - مشغل عادي + التشغيل التلقائي لفيديوهات Shorts سيتم تشغيل فيديوهات Shorts تلقائيًا @@ -1281,7 +1286,7 @@ Second \"item\" text" قد لا يعمل تشغيل الفيديو" إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو. - العميل الافتراضي + العميل الافتراضي فرض AVC (H.264) تم فرض ترميز الفيديو على AVC (H.264) يتم تحديد ترميز الفيديو تلقائيًا @@ -1292,9 +1297,10 @@ Second \"item\" text" "• لا يمكن تشغيل مقاطع فيديو الأطفال الخاصة. • تنتهي مقاطع الفيديو مبكرًا بمقدار 1 ثانية." التأثيرات الجانبية لمحاكاة Android VR - "• قد لا يتم تشغيل فيديوهات الأطفال -• تبدأ البثوث المباشرة من البداية -• قد تنتهي الفيديوهات قبل النهاية بثانية واحدة" + "• مقطع فيديو الأطفال لتعمل تشغيل +• قائمة قائمة الصوت مفقودة +• لا يتوفر بستوي متوفر +• لا يتوفر بالصوت الأصلي لا يتوفر الأصلي" لغة البث الصوتي الافتراضية لغة التطبيق العربية diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index f58769bb85..7410e1d472 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 4777cb5f73..34c91b588f 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -79,7 +79,6 @@ Davam düyməsinə toxunun və optimallaşdırma dəyişikliklərinə icazə ver Axın Oynadıcı Ümumi tərtibat - \"Shorts\" Axtarış çubuğu Sürüşdürmə nəzarətçiləri Müxtəlif @@ -1050,6 +1049,12 @@ Sonradan söndürülərsə, UI səhvlərini qarşısını almaq üçün tətbiqi Tətbiq açılanda Shorts oynadıcı davam etməyəcək Tətbiq açılanda Shorts oynadıcı davam edəcək + + Shorts ilə + Shorts oynadıcı + Adi oynatıcı + Adi oynatıcı tam ekran + Shorts-ları avto-oynatma Shorts-lar avto-oynadılacaq @@ -1282,7 +1287,7 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər Video oynatma işləməyə bilər" Bu seçimi bağlamaq, video oynatma problemlərinə səbəb olar. - İlkin qəbuledici + İlkin qəbuledici Məcburi AVC (H.264) Video kodlama AVC (H.264) -yə məcbur edilir Video kodlama birbaşa yoxlanılır @@ -1293,9 +1298,10 @@ AVC-nin maksimum dəqiqliyi 1080p-dir, Opus səs kodek əlçatan deyil və video "◦ Xüsusi uşaq videoları bəlkə də oynanılmaya bilər ◦ Videolar 1 saniyə tez bitir" Android VR saxtakarlığı yan təsirləri - "• Uşaq videoları oxudulmaya bilər -• Canlı yayımlar başdan başlayır -• Videolar 1 saniyə tez bitir" + "• Uşaq videoları oynanmaya bilər +• Səs izləri menyusu yoxdur +• Sabit səs mövcud deyil +• Orijinal səsi məcbur etmək mümkün deyil" İlkin səs yayımı dili Tətbiq dili Ərəbcə diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 9c6be10407..10c8d65393 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -1051,6 +1051,12 @@ Second \"item\" text" Прайгравальнік Shorts не аднаўляецца пры запуску праграмы Прайгравальнік Shorts адновіцца пры запуску праграмы + + Адкрыць Shorts з + Прайгравальнік Shorts + Звычайны прайгравальнік + Звычайны прайгравальнік на ўвесь экран + Автовоспроизведение Shorts Shorts будут воспроизводиться автоматически @@ -1282,7 +1288,7 @@ Second \"item\" text" Прайграванне відэа можа не працаваць" Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем відэа. - Клиент по умолчанию + Клиент по умолчанию Принудительно AVC (H.264) Видеокодек принудительно установлен в AVC (H.264) Видеокодек определяется автоматически @@ -1294,8 +1300,9 @@ AVC мае максімальную раздзяляльнасць 1080p, аўд • Відэа заканчваюцца на 1 секунду раней" Побочные эффекты подмены Android VR "• Дзіцячыя відэа могуць не прайгравацца -• Трансляцыі ў прамым эфіры пачынаюцца з пачатку -• Відэа заканчваюцца на 1 секунду раней" +• Меню гукавых дарожак адсутнічае +• Стабільны гук недаступны +• Прымусовае выкарыстанне арыгінальнага аўдыё недаступна" Язык потока аудио по умолчанию Язык приложения Арабский diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 514f12db1d..55a49ec710 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -79,7 +79,6 @@ Second \"item\" text" Поток Плейър Общо оформление - Шорти Лента за прогрес на видеото Контроли с плъзгане Разни @@ -1050,6 +1049,12 @@ Second \"item\" text" Shorts плейъра при стартиране на приложението е скрит Shorts плейъра при стартиране на приложението се показва + + Отворете Shorts с + Играч на Shorts + Обикновен плейър + Обикновен плейър на цял екран + Автоматично пускане Shorts Shorts ще се пускат автоматично @@ -1281,7 +1286,7 @@ Second \"item\" text" Възпроизвеждането на видеоклипове може да не работи" Деактивирането на тази настройка ще доведе до проблеми с възпроизвеждането на видео. - Клиент по подразбиране + Клиент по подразбиране Принудително AVC (H.264) Видео кодек по подразбиране AVC (H.264) Видео кодекът се определя автоматично @@ -1292,9 +1297,10 @@ AVC има максимална разделителна способност о "• Възможно е частните детски видеоклипове да не се възпроизвеждат • Видеоклиповете завършват 1 секунда по-рано" Странични ефекти от подправяне на Android VR - "• Детските видеоклипове може да не се възпроизвеждат -• Предаванията на живо започват от началото -• Видеоклиповете завършват 1 секунда по-рано" + "• Може да възникнат проблеми при възпроизвеждане на детски видеоклипове +• Липсва меню за аудио песни +• Не е налично стабилно ниво на звука +• Не е налична опция за оригинално аудио" Език по подразбиране на аудио потока Език на приложението Арабски diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index c17ec0ba39..188dcd19a2 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -1050,6 +1050,12 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ অ্যাপের শুরুতে Shorts প্লেয়ার আবার চলবে না অ্যাপের শুরুতে Shorts প্লেয়ার আবার চলবে + + Shorts সঙ্গে খুলুন + Shorts প্লেয়ার + নিয়মিত প্লেয়ার + নিয়মিত প্লেয়ার পূর্ণ পর্দা + অটোপ্লে Shorts Shorts অটোপ্লে হবে @@ -1282,7 +1288,7 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট ভিডিও প্লেব্যাক কাজ নাও করতে পারে" এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে। - ডিফল্ট ক্লায়েন্ট + ডিফল্ট ক্লায়েন্ট AVC (H.264) ফোর্স করুন ভিডিও কোডেক AVC (H.264) তে বাধ্য করা হয়েছে ভিডিও কোডেক স্বয়ংক্রিয়ভাবে নির্ধারিত হচ্ছে @@ -1292,9 +1298,10 @@ AVC-এর সর্বোচ্চ রেজোলিউশন 1080p, Opus অ iOS স্পুফিং এর পার্শ্ব প্রতিক্রিয়া "• বেসরকারি শিশু ভিডিও চলতে নাও পারে<br>• ভিডিওগুলি 1 সেকেন্ড আগে শেষ হয়" Android VR স্পুফিং এর পার্শ্ব প্রতিক্রিয়া - "• শিশু ভিডিওগুলি প্লে নাও হতে পারে -• লাইভস্ট্রিম শুরু থেকে শুরু হয় -• ভিডিও 1 সেকেন্ড আগে শেষ হয়" + "• শিশুদের ভিডিও চালু নাও হতে পারে +• অডিও ট্র্যাক মেনু অনুপস্থিত +• স্থিতিশীল ভলিউম পাওয়া যাচ্ছে না +• আসল অডিও জোরপূর্বক পাওয়া যাচ্ছে না" ডিফল্ট অডিও স্ট্রিম ভাষা অ্যাপ ভাষা আরবি diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index 79be4ac234..857f99ab3a 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -1049,6 +1049,12 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi El reproductor de Shorts no es reprendrà a l\'inici de l\'aplicació El reproductor de Shorts es reprendrà a l\'inici de l\'aplicació + + Obre Youtube Shorts amb + Reproductor de Shorts + Reproductor normal + Reproductor normal a pantalla completa + Reprodueix automàticament els Shorts Els Shorts es reproduiran automàticament @@ -1281,7 +1287,7 @@ Si actives aquesta opció, es poden desbloquejar qualitats de vídeo més altes" La reproducció de vídeo pot no funcionar" Desactivar aquesta configuració pot causar problemes de reproducció de vídeo. - Client predeterminat + Client predeterminat Força AVC (H.264) El còdec de vídeo es força a AVC (H.264) El còdec de vídeo es determina automàticament @@ -1292,9 +1298,10 @@ AVC té una resolució màxima de 1080p, el còdec d'àudio Opus no està dispon "• Els vídeos privats per a nens potser no es reprodueixen • Els vídeos finalitzen 1 segon abans" Efecte secundaris de la suplantació d\'Android VR - "• Els vídeos de nens poden no reproduir-se -• Les emissions en directe comencen des del principi -• Els vídeos acaben 1 segon abans" + "• És possible que els vídeos infantils no es reprodueixin +• El menú de pistes d'àudio no està disponible +• El volum estable no està disponible +• L'opció Forçar àudio original no està disponible" Idioma de la transmissió d\'àudio per defecte Idioma de l\'aplicació Àrab diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index 31ee19dcc3..662c5b838e 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -1049,6 +1049,12 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán Přehrávač Shorts nebude obnoven při spuštění aplikace Přehrávač Shorts se po spuštění aplikace znovu spustí + + Otevřít Shorts s + Přehrávač Shorts + Běžný přehrávač + Normální přehrávač (celá obrazovka) + Automatické přehrávání Shorts Shorts se budou automaticky přehrávat @@ -1280,7 +1286,7 @@ Povolením této funkce lze odemknout vyšší kvality videa" Přehrávání videa nemusí fungovat" Vypnutí tohoto nastavení může způsobit problémy s přehráváním videa. - Výchozí klient + Výchozí klient Vynutit AVC (H.264) Video kodek je vynucen na AVC (H.264) Video kodek je určen automaticky @@ -1291,9 +1297,10 @@ AVC má maximální rozlišení 1080p, audio kodek Opus není dostupný a přehr "• Soukromá dětská videa se nemusí přehrávat • Videa končí o 1 sekundu dříve" Vedlejší účinky napodobování Android VR - "• Videa pro děti se nemusí přehrát -• Livestreamy začínají od začátku -• Videa končí o 1 sekundu dříve" + "• Dětská videa se nemusí přehrávat +• Chybí nabídka zvukových stop +• Není k dispozici stabilní hlasitost +• Není k dispozici vynucení původního zvuku" Výchozí jazyk zvukového streamu Jazyk aplikace Arabsky diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index aaee4c17fb..2bc437ad30 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -1050,6 +1050,12 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U Shorts-afspilleren genoptages ikke ved app-start Kortspilleren vil genoptage ved app-opstart + + Åbne Shorts med + Shorts-afspiller + Standardafspiller + Standardafspiller i fuld skærm + Automatisk afspilning af Shorts Shorts afspilles automatisk @@ -1281,7 +1287,7 @@ Aktivering af dette kan låse op for højere videokvalitet" Videoafspilning virker muligvis ikke" At slå denne indstilling fra kan forårsage problemer med videoafspilning. - Standard klient + Standard klient Gennemtving AVC (H.264) Video-codec er tvunget til AVC (H.264) Video-codec bestemmes automatisk @@ -1292,9 +1298,10 @@ AVC har en maksimal opløsning på 1080p, Opus lydcodec er ikke tilgængelig, og "• Private børnevideoer kan muligvis ikke afspilles • Videoer slutter 1 sekund før" Android VR spoofing bivirkninger - "• Børnevideoer kan ikke afspilles -• Livestreams starter fra begyndelsen -• Videoer slutter 1 sekund tidligere" + "• Børnevideoer afspilles muligvis ikke +• Lydspormenuen mangler +• Stabil lydstyrke er ikke tilgængelig +• Tving original lyd er ikke tilgængelig" Standard lyd-stream sprog App sprog Arabisk diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index 74bd8e178f..1be4fcc4bf 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -1044,6 +1044,12 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö Der Shorts Player wird beim Start der App nicht fortgesetzt Shorts-Player wird beim Start der App fortgesetzt + + Shorts mit + Shorts Spieler + Normaler Spieler + Normaler Spieler im Vollbildmodus + Shorts automatisch abspielen Shorts werden autoplay @@ -1275,7 +1281,7 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w Die Videowiedergabe funktioniert möglicherweise nicht" Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen. - Standard-Client + Standard-Client AVC erzwingen (H.264) Video-Codec ist zu AVC gezwungen (H.264) Video-Codec wird automatisch bestimmt @@ -1286,9 +1292,10 @@ AVC hat eine maximale Auflösung von 1080p, der Opus-Audiocodec ist nicht verfü "• Private Kindervideos werden möglicherweise nicht abgespielt • Videos enden 1 Sekunde früher" Android VR Spoofing Nebeneffekte - "• Kindervideos werden möglicherweise nicht abgespielt -• Livestreams starten von Anfang an -• Videos enden 1 Sekunde früher" + "• Kinder-Videos werden möglicherweise nicht abgespielt +• Audio-Spuren-Menü fehlt +• Stabile Lautstärke ist nicht verfügbar +• Erzwingen des Original-Audios ist nicht verfügbar" Standard Audio Streamsprache App-Sprache Arabisch diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 4b7a5ebf41..ddcccb64c3 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -65,7 +65,7 @@ Second \"item\" text" Άνοιγμα ιστοσελίδας "Οι βελτιστοποιήσεις μπαταρίας πρέπει να απενεργοποιηθούν για το MicroG GmsCore ώστε να αποφευχθούν προβλήματα. -Η απενεργοποίηση των βελτιστοποιήσεων μπαταρίας για το MicroG δεν θα επηρεάσει αρνητικά τη χρήση της μπαταρίας. +Η απενεργοποίηση των βελτιστοποιήσεων μπαταρίας για το MicroG δεν θα επηρεάσει αρνητικά την κατανάλωση ενέργειας. Πατήστε το κουμπί «Συνέχεια» και επιτρέψτε τις αλλαγές βελτιστοποίησης." Συνέχεια @@ -519,14 +519,14 @@ Second \"item\" text" Κρυμμένες Εμφανίζονται Απενεργοποίηση διαφανούς γραμμής κατάστασης - Η γραμμή κατάστασης είναι αδιαφανής - Η γραμμή κατάστασης είναι αδιαφανής ή διαφανής + Η γραμμή κατάστασης δεν είναι διαφανής + Η διαφάνεια της γραμμής κατάστασης ορίζεται αυτόματα Απενεργοποίηση διαφανούς γραμμής στο φωτεινό θέμα - Η γραμμή πλοήγησης στο φωτεινό θέμα είναι αδιαφανής - Η γραμμή πλοήγησης στο φωτεινό θέμα είναι αδιαφανής ή διαφανής + Η γραμμή πλοήγησης στο φωτεινό θέμα δεν είναι διαφανής + Η διαφάνεια της γραμμής πλοήγησης στο φωτεινό θέμα ορίζεται αυτόματα Απενεργοποίηση ημιδιαφανούς γραμμής στο σκούρο θέμα - Η γραμμή πλοήγησης στο σκούρο θέμα είναι αδιαφανής - Η γραμμή πλοήγησης στο σκούρο θέμα είναι αδιαφανής ή διαφανής + Η γραμμή πλοήγησης στο σκούρο θέμα δεν είναι διαφανής + Η διαφάνεια της γραμμής πλοήγησης στο σκούρο θέμα ορίζεται αυτόματα Αναδυόμενο μενού ρυθμίσεων @@ -1051,6 +1051,12 @@ Second \"item\" text" Η αναπαραγωγή Shorts δε θα συνεχίζεται κατά την εκκίνηση της εφαρμογής Η αναπαραγωγή Shorts θα συνεχίζεται κατά την εκκίνηση της εφαρμογής + + Άνοιγμα Shorts με + Οθόνη αναπαραγωγής Shorts + Οθόνη αναπαραγωγής κανονικών βίντεο + Πλήρη οθόνη αναπαραγωγής κανονικών βίντεο + Αυτόματη αναπαραγωγή Shorts Τα επόμενα Shorts θα αναπαράγονται αυτόματα @@ -1280,7 +1286,7 @@ Second \"item\" text" Η αναπαραγωγή βίντεο ενδέχεται να μην λειτουργεί" Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο. - Προεπιλεγμένο πρόγραμμα πελάτη + Προεπιλεγμένο πρόγραμμα πελάτη Εξαναγκασμός AVC (H.264) Ο κωδικοποιητής βίντεο έχει οριστεί υποχρεωτικά σε AVC (H.264) Ο κωδικοποιητής βίντεο ορίζεται αυτόματα @@ -1293,7 +1299,8 @@ Second \"item\" text" Παρενέργειες παραποίησης σε Android VR "• Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται • Το μενού «Κομμάτι ήχου» λείπει -• Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη" +• Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη +• Η λειτουργία εξαναγκασμού αρχικού ήχου δεν είναι διαθέσιμη" Προεπιλεγμένη γλώσσα ροής ήχου Γλώσσα εφαρμογής Αραβικά diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index a6a8168bdf..c70917b953 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -1031,6 +1031,12 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación El reproductor de Shorts no se reanudará al iniciar la aplicación El reproductor de Shorts se reanudará al iniciar la aplicación + + Abre Shorts con + Reproductor de Shorts + Reproductor normal + Reproductor normal en pantalla completa + Reproducción automática de Shorts Los Shorts se reproducirán automáticamente @@ -1262,7 +1268,7 @@ Habilitar esto puede desbloquear calidades de vídeo más altas" Es posible que la reproducción de vídeo no funcione" Desactivar esta configuración puede causar problemas de reproducción de vídeo. - Cliente por defecto + Cliente por defecto Forzar AVC (H.264) Códec de vídeo se ve obligado a AVC (H.264) El códec de vídeo se determina automáticamente @@ -1273,9 +1279,10 @@ AVC tiene una resolución máxima de 1080p, el códec de audio Opus no está dis "• Es posible que los videos privados para niños no se reproduzcan • Los videos terminan 1 segundo antes" Efectos secundarios para la falsificación de Android RV - "• Es posible que los vídeos para niños no se reproduzcan -• Las transmisiones en vivo empiezan desde el principio -• Los vídeos terminan 1 segundo antes" + "•Los videos para niños pueden no reproducirse +• Menú de pistas de audio no disponible +• Volumen estable no disponible +• Forzar audio original no disponible" Idioma de flujo de audio por defecto Idioma de la aplicación Árabe diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 9289e17114..5ec43193a4 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -1050,6 +1050,12 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et Shortsi esitaja ei jätka rakenduse käivitamisel Shortsi esitaja jätkub rakenduse käivitamisel + + Ava Shorts + Shorts esitusprogramm + Tavaline mängija + Tavaline mängija täisekraanil + Shortsi automaatne esitus Shortsid esitatakse automaatselt @@ -1282,7 +1288,7 @@ Selle lubamine võib avada kõrgema video kvaliteedi" Video taasesitus ei pruugi toimida" Selle seade keelamine võib põhjustada videote taasesituse probleeme. - Vaikimisi klient + Vaikimisi klient Sunni AVC (H.264) Videokodek on sunnitud AVC (H.264) Videokodek määratakse automaatselt @@ -1293,9 +1299,10 @@ AVC-l on maksimaalne resolutsioon 1080p, Opus-heli kodeerijat pole saadaval ja v "• Privaatseid lastevideoid ei pruugita esitada • Videod lõpevad 1 sekund varem" Android VR spoofing-i kõrvalmõjud - "• Lastevideod ei pruugi mängida -• Otseülekanded algavad algusest -• Videod lõpevad 1 sekundit enne aega" + "• Laste videod ei pruugi mängida +• Heliriba menüü pole saadaval +• Stabiilne helitugevus pole saadaval +• Originaalheli pole saadaval" Vaikimisi helivoolu keel Rakenduse keel Araabia keel diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 374661bc0d..69b6e3e4b7 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -1050,6 +1050,12 @@ Jos tämä ominaisuus kytketään myöhemmin pois, on suositeltavaa tyhjentää Shorts-soitin ei jatku sovelluksen käynnistyessä Shorts-soitin jatkuu sovelluksen käynnistyessä + + Avaa Shorts, kun + Shorts-soitin + Tavallinen toistin + Tavallinen toistin, koko näyttö + Shortsien automaattinen toisto Shortsit toistetaan automaattisesti @@ -1281,7 +1287,7 @@ Tämä voi avata korkealaatuisemmat videot" Videon toisto ei välttämättä toimi" Tämän asetuksen poistaminen käytöstä voi aiheuttaa ongelmia videotoistossa. - Oletusasiakasohjelma + Oletusasiakasohjelma Pakota AVC (H.264) Videon koodekki pakotetaan AVC (H.264) Videokoodekki määritetään automaattisesti @@ -1292,9 +1298,10 @@ AVC:llä on enimmäisresoluutio 1080p, Opus-äänikoodekkia ei ole käytettävis "• Yksityisiä lasten videoita ei ehkä toisteta • Videot päättyvät 1 sekunnin etuajassa" Android VR -naamioinnin haittavaikutukset - "• Lasten videot eivät välttämättä toistu -• Suoratoistot alkavat alusta -• Videot päättyvät 1 sekuntia aikaisemmin" + "• Lapsivideoita ei ehkä toisteta +• Ääniraita-valikko puuttuu +• Tasainen äänenvoimakkuus ei ole käytettävissä +• Pakota alkuperäinen ääni ei ole käytettävissä" Äänivirran oletuskieli Sovelluksen kieli Arabia diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 34d9a56c90..c2f6f87943 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -1050,6 +1050,12 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan Hindi magpapatuloy ang Shorts player sa pagsisimula ng app Magpapatuloy ang manlalaro ng shorts sa pagsisimula ng app + + Buksan ang Shorts gamit ang + Shorts player + Regular player + Regular player fullscreen + Awtomatikong pag-play ng Shorts Awtomatikong magpa-play ang mga Shorts @@ -1282,7 +1288,7 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video" Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback ng video. - Default client + Default na kliyente Pilitin ang AVC (H.264) Ang video codec ay napipilitang maging AVC (H.264) Awtomatikong natutukoy ang video codec @@ -1294,9 +1300,12 @@ Ang AVC ay may maximum na resolution na 1080p, ang Opus audio codec ay hindi mag • Maaaring hindi ma-play ang mga pribadong video ng mga bata • Nagtatapos ang mga video ng 1 segundo nang mas maaga" Mga epekto sa gilid ng pag-spoof ng Android VR - "• Ang mga video ng mga bata ay maaaring hindi maglaro -• Ang mga livestream ay magsisimula mula sa simula -• Ang mga video ay magtatapos ng 1 segundo nang maaga" + "• Maaaring hindi maipalabas ang mga video para sa mga bata +• Nawawala ang menu ng audio track +• Hindi available ang matatag na volume +• Hindi available ang puwersahang orihinal na audio + +" Default na wika ng audio stream Wika ng app Arabe diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 878f7d1504..3215d8bc70 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -1050,6 +1050,12 @@ Si cette option est désactivée par la suite, il est recommandé de vider les d Le lecteur de Shorts ne se relancera pas au démarrage de l\'application Le lecteur court reprendra au démarrage de l\'application + + Ouvrir Shorts avec + Lecteur Shorts + Lecteur classique + Lecteur classique en plein écran + Jouer les Shorts Les Shorts joueront automatiquement @@ -1281,7 +1287,7 @@ L'activation de cette option peut déverrouiller des qualités vidéo plus élev La lecture vidéo peut ne pas fonctionner" Désactiver ce paramètre peut causer des problèmes de lecture vidéo. - Client par défaut + Client par défaut Forcer AVC (H.264) Le codec vidéo est forcé à AVC (H.264) Le codec vidéo est déterminé automatiquement @@ -1292,9 +1298,10 @@ AVC a une résolution maximale de 1080p, le codec audio Opus n'est pas disponibl "• Les vidéos privées pour enfants ne peuvent pas être lues • Les vidéos se terminent 1 seconde plus tôt" Effets secondaires de l\'usurpation VR Android - "• Les vidéos pour enfants peuvent ne pas être lues -• Les diffusions en direct commencent depuis le début -• Les vidéos se terminent 1 seconde plus tôt" + "• Les vidéos pour enfants risquent de ne pas être lues +• Le menu de la piste audio est manquant +• Le volume stable n'est pas disponible +• Forcer l'audio d'origine n'est pas disponible" Langue du flux audio par défaut Langue de l\'application Arabe diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 8a1404694e..09cb7c419e 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -1050,6 +1050,12 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga Ní thosóidh an t-imreoir Shorts ar thosú an aip Athosóidh an t-imreoir Shorts ar thosú an aip + + Oscail Shorts le + Shorts seinnteoir + Imreoir Rialaigh + Imreoir Rialaigh lán-scáileán + Shorts Autoplay Seinnfidh Shorts go huathoibríoch @@ -1282,7 +1288,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" D'fhéadfadh nach n-oibreoidh athsheinm físeáin" Seans go mbeidh fadhbanna athsheinm físe ag baint leis an socrú seo a mhúchadh. - Cliant réamhshocraithe + Cliant réamhshocraithe Fórsa AVC (H.264) Tá códú físeáin á fhorchur ar AVC (H.264) Cinneadh go huathoibríoch an códú físeáin @@ -1293,9 +1299,10 @@ Tá uasmhéid réiteach 1080p ag AVC, níl an cód fuaime Opus ar fáil, agus ú "• Ní fhéadfaidh físeáin phríobháideacha leanaí a imirt • Críochnaíonn físeáin 1 soicind go luath" Fo-iarsmaí spoofing Android VR - "• D'fhéadfadh nach n-imreoidh físeáin pháistí -• Tosóidh shruth beo ón tús -• Críochnóidh físeáin 1 soicind go luath" + "• Fuairfí b'fhéidir nach mbeidh físeáin do pháistí ag seinm +• Tá an fhéilire raca fhuaime ar iarraidh +• Ní fheictear an toirt in úsáid +• Níl éisteacht leis an fuaim bhunúsach ar fáil" Teanga réamhshocraithe sruth fuaime Teanga na feidhmchláir Araibis diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 90bea664b7..8dbaf919a7 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -79,7 +79,6 @@ Kattintson a folytatás gombra, és engedélyezze az optimalizálási módosít Hírfolyam Lejátszó Általános elrendezés - Shorts Keresősáv Csúsztatási vezérlők Egyéb @@ -1049,6 +1048,12 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy A Shorts lejátszás nem indul el az alkalmazás indításakor A Shorts lejátszás folytatódik az alkalmazás indításakor + + Shorts megnyitása ezzel: + Shorts lejátszó + Normál lejátszó + Teljes képernyős normál lejátszó + Shorts automatikus lejátszása Shorts automatikusan elindul @@ -1280,7 +1285,7 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását" A beállítás kikapcsolása videolejátszási problémákat okozhat. - Alapértelmezett kliens + Alapértelmezett kliens AVC (H.264) kényszerítése A videokodek AVC-re kényszerítve (H.264) A videokodek meghatározása automatikusan történik @@ -1291,9 +1296,10 @@ Az AVC maximális felbontása 1080p, az Opus audio kodek nem érhető el, és a "• A privát gyerekvideók nem játszhatók le • A videók 1 másodperccel korábban érnek véget" Android VR-hamisítási mellékhatások - "• A gyermekeknek szóló videók nem játszódhatnak le -• Az élő közvetítések a kezdettől kezdődnek -• A videók 1 másodperccel korábban érnek véget" + "• A gyermekvideók nem játszódnak le +• Hiányzik a hangsáv menü +• A stabil hangerő nem érhető el +• Az eredeti hang kényszerítése nem érhető el" Alapértelmezett hangfolyam nyelve Alkalmazás nyelve Arab diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index 5ebb600974..e3fad9c2ba 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -1050,6 +1050,12 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ Shorts պլեյերը չի վերսկսվի կիրառության մեկնարկի ժամանակ Shorts պլեյերը կվերսկսվի կիրառության մեկնարկի ժամանակ + + Բացեք Shorts + Shorts կրող + Կանոնավոր նվագարկիչ + Կանոնավոր նվագարկիչ լիարժեք էկրանով + Ավտոմատ կարճ տեսանյութերի միացում Shorts-ը կվերարտադրվի ավտոմատ կերպով @@ -1281,7 +1287,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Տեսանյութի վերարտադրումը կարող է չաշխատել։" Այս կարգավորման անջատումը կարող է առաջացնել տեսանյութի վերարտադրման հետ կապված պրոբլեմներ - Դեֆոլտ կլիենտ + Դեֆոլտ կլիենտ Անհրաժեշտ է AVC (H.264) Տեսանյութի կոդեկը սահմանվում է AVC (H.264) Տեսանյութի կոդեկը սահմանվում է ավտոմատ @@ -1292,9 +1298,10 @@ AVC-ն ունի առավելագույն 1080p լուծում, Opus ձայնայ "• Երեխաների համար նախատեսված մասնավոր տեսանյութերը կարող են չհեռարձակվել • Տեսանյութերն ավարտվում են 1 վայրկյան շուտ" Android VR փոփոխության կողմնակի ազդեցություններ - "• Երեխաների տեսանյութերը կարող է չվերարտադրվեն -• Livestream-ները սկսվում են սկզբից -• Տեսանյութերը ավարտվում են 1 վայրկյան առաջ։" + "• Մանկական տեսանյութերը չեն կարող լինել +• Ձայնային ֆայլի ընտրացանկը բացակայում է +• Ստաբիլ ձայնի մակարդակը հասանելի չէ +• Իրական ձայնի հնարավորությունը հասանելի չէ" Ըստ նախապատվության, հնչյունային հոսքի լեզուն Ծրագրի լեզուն Արաբերեն diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 6b788a2546..1ab9ad4fd7 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -79,7 +79,6 @@ Ketuk tombol lanjutkan dan izinkan perubahan pengoptimalan." Umpan Pemutar Layout umum - Shorts Seekbar Kontrol geser Lain-lain @@ -1049,6 +1048,12 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah Pemutaran Shorts tidak akan dilanjutkan saat aplikasi dimulai Pemutaran Shorts akan dilanjutkan saat aplikasi dimulai + + Buka Shorts dengan + Pemutar Shorts + Pemutar biasa + Pemutar biasa layar penuh + Putar otomatis Shorts Shorts akan diputar otomatis @@ -1280,7 +1285,7 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi" Playback video mungkin tidak berfungsi" Mematikan pengaturan ini dapat menyebabkan masalah pemutaran video. - Klien bawaan + Klien bawaan Paksa AVC (H.264) Kodek video dipaksa ke AVC (H.264) Kodek video ditentukan otomatis @@ -1291,9 +1296,10 @@ AVC memiliki resolusi maksimum 1080p, codec audio Opus tidak tersedia, dan playb "• Video pribadi anak-anak mungkin tidak diputar • Video berakhir 1 detik lebih awal" Efek samping pemalsuan Android VR - "• Video anak-anak mungkin tidak dapat diputar -• Livestream dimulai dari awal -• Video berakhir 1 detik lebih awal" + "• Video anak mungkin tidak bisa diputar +• Menu trek audio tidak ada +• Volume stabil tidak tersedia +• Paksa audio asli tidak tersedia" Bahasa aliran audio bawaan Bahasa aplikasi Arab diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 431d6db884..ef0849cc4b 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -79,7 +79,6 @@ Tocca il pulsante Continua e consenti le modifiche di ottimizzazione." Feed Lettore Interfaccia generale - Shorts Barra di avanzamento Controlli a gesti Varie @@ -518,13 +517,13 @@ Nota: Abilitare questa opzione nasconde anche le pubblicità video" Le etichette sono visibili Disabilita la barra di stato traslucida La barra di stato è opaca - La barra di stato è opaca o translucida + La barra di stato è opaca o traslucida Disabilita la barra traslucida chiara La barra di navigazione in modalità chiara è opaca - La barra di navigazione in modalità chiara è opaca o translucida - Disabilita la barra scura traslucida + La barra di navigazione in modalità chiara è opaca o traslucida + Disabilita la barra traslucida scura La barra di navigazione in modalità scura è opaca - La barra di navigazione in modalità scura è opaca o translucida + La barra di navigazione in modalità scura è opaca o traslucida Menù a comparsa @@ -1049,6 +1048,12 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per Il player Shorts non riprenderà all\'avvio dell\'app Il player Shorts riprenderà all\'avvio dell\'app + + Apri Shorts con + Lettore Shorts + Lettore normale + Lettore normale a schermo intero + Riproduci automaticamente gli Short Gli Short verranno riprodotti automaticamente @@ -1280,7 +1285,7 @@ Abilitare questa opzione può sbloccare qualità video più elevate" La riproduzione video potrebbe non funzionare" Disattivando questa impostazione potrebbe causare problemi di riproduzione video. - Client predefinito + Client predefinito Forza AVC (H.264) Il codec video è forzato ad AVC (H.264) Il codec video viene determinato automaticamente @@ -1289,11 +1294,12 @@ La riproduzione video potrebbe non funzionare" AVC ha una risoluzione massima di 1080p, il codec audio Opus non è disponibile e la riproduzione video utilizzerà più dati rispetto a VP9 o AV1." Effetti collaterali simulazione iOS "• I video per bambini privati potrebbero non essere riproducibili -• I video terminano prima di 1 secondo" - Effetti collaterali simulazione Android VR - "• I video per bambini potrebbero non essere riprodotti -• Le dirette iniziano dall'inizio • I video terminano 1 secondo prima" + Effetti collaterali simulazione Android VR + "• I video per bambini potrebbero non essere riproducibili +• Il menu della traccia audio è mancante +• Il volume stabile non è disponibile +• Forzare l'audio originale non è disponibile" Lingua predefinita del flusso audio Lingua app Arabo diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 09b2de52cf..1470266189 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -399,6 +399,8 @@ Mלות עם אותיות גדולות באמצע צריכות להיכנס עם + + @@ -492,9 +494,6 @@ Mלות עם אותיות גדולות באמצע צריכות להיכנס עם "הפעלת אפשרות זו עשויה לשפר את חיי הסוללה ולתקן קרטוע בהשמעת וידאו. AVC בעל רזולוציה מקסימלית של 1080p, קודק הסאונד Opus אינו זמין, והשמעת וידאו תשתמש בנתוני אינטרנט רבים יותר מ-VP9 או AV1." - "• סרטוני ילדים ייתכן שלא יפעלו -• שידורים חיים מתחילים מההתחלה -• סרטונים מסתיימים 1 שנייה לפני הזמן" אנגלית צרפתית diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index aa49dbe6c4..402235f8d9 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -25,8 +25,8 @@ Second \"item\" text" チェックに失敗しました 公式ウェブサイトを開く 無視 - <h5>このアプリは、あなたによってパッチが適用されていないようです。</h5><br>このアプリは正しく動作しない可能性があり、<b>有害または危険な可能性があります</b>。<br><br>これらのチェックは、このアプリが事前にパッチが適用されているか、または他のユーザーから取得されたことを示しています。<br><br><small>%1$s</small><br>このアプリを<b>アンインストールして、自分でパッチを適用することを強くお勧めします</b>。これにより、検証済みで安全なアプリを使用していることを確認できます。<p><br>無視した場合、この警告は2回のみ表示されます。 - 別のデバイスにパッチを適用しました + <h5>このアプリは、あなたによってパッチが適用されていないようです。</h5><br>このアプリは正しく動作しない可能性があり、<b>有害または危険な可能性があります</b>。<br><br>これらのチェックは、このアプリがパッチ済みAPKであるか、または他のユーザーから取得されたことを示唆しています。<br><br><small>%1$s</small><br>このアプリを<b>アンインストールして、自分でパッチを適用する</b>ことを強くお勧めします。これにより、検証済みで安全なアプリを使用していることを確認できます。<p><br>無視した場合、この警告は2回のみ表示されます。 + 別のデバイス上でパッチを適用しました ReVanced Manager によってインストールされていません 10分以上前にパッチを適用しました パッチ適用から %s 日 @@ -45,7 +45,7 @@ Second \"item\" text" インポート/エクスポート Revanced設定のインポート/エクスポート - ReVancedパッチのバージョン <i>%s</i> を使用しています + ReVanced Patchesのバージョン <i>%s</i> を使用しています メモ このバージョンはプレリリースで、予期しない問題が発生する可能性があります。 公式リンク @@ -1050,6 +1050,12 @@ MicroG のバッテリー最適化を無効にしても、バッテリーの使 Shorts プレイヤーはアプリの起動時に再開しません Shorts プレイヤーはアプリの起動時に再開します + + Shortsを開く + Shortsプレイヤー + 通常のプレーヤー + 通常のプレーヤー(全画面) + Shorts の自動再生 Shorts は自動再生されます @@ -1281,7 +1287,7 @@ DeArrowの詳細については、ここをタップしてください。" この設定をオフにすると、ビデオ再生の問題が発生する可能性があります。 - デフォルトのクライアント + デフォルトのクライアント 強制AVC (H.264) ビデオコーデックはAVCに強制されました (H.264) ビデオコーデックが自動的に決定されます @@ -1291,9 +1297,10 @@ AVCは、最大解像度が1080pであり、Opusオーディオコーデック iOSのクライアント偽装での副作用 "• プライベートキッズの動画は再生されない場合があります。
• 動画は1秒早く終了します"
Android-VR クライアント偽装の副作用 - "• キッズ動画は再生されない場合があります -• ライブストリームは最初から始まります -• 動画は1秒早く終了します" + "• 子供向けビデオは再生できない場合があります +• オーディオトラックメニューがありません +• 安定したボリュームが利用できない +• 強制的にオリジナルのオーディオを使用することはできません" デフォルトのオーディオストリーム言語 アプリの言語 アラビア文字 diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text"
+ + diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 25bfd52a5a..5dadb8aea4 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -65,6 +65,8 @@ Second \"item\" text" 웹사이트 열기 "MicroG GmsCore를 배터리 최적화 목록에서 제외하여 앱 문제를 방지할 수 있습니다 +MicroG를 배터리 최적화 목록에서 제외하더라도, 배터리 사용량에 부정적인 영향을 미치지 않습니다 + 배터리 최적화 목록에서 제외하려면 '계속하기' 버튼을 누르세요" 계속하기 @@ -138,17 +140,17 @@ Second \"item\" text" 가입 버튼 숨기기 - 버튼이 숨겨집니다 - 버튼이 표시됩니다 + 가입 버튼이 숨겨집니다 + 가입 버튼이 표시됩니다 채널 프로필에서 추천 선반 숨기기 - 선반이 숨겨집니다 - 선반이 표시됩니다 + 추천 선반이 숨겨집니다 + 추천 선반이 표시됩니다 \'알림 받기\' 버튼 숨기기 - 버튼이 숨겨집니다 - 버튼이 표시됩니다 + \'알림 받기\' 버튼이 숨겨집니다 + \'알림 받기\' 버튼이 표시됩니다 \'시청자가 이 동영상도 시청함\' 추천 숨기기 추천이 숨겨집니다 @@ -156,8 +158,8 @@ Second \"item\" text" \'자세히 보기\' 버튼 숨기기 - 버튼이 숨겨집니다 - 버튼이 표시됩니다 + \'자세히 보기\' 버튼이 숨겨집니다 + \'자세히 보기\' 버튼이 표시됩니다 실시간 이모티콘 리액션 숨기기 실시간 이모티콘 리액션이 숨겨집니다 실시간 이모티콘 리액션이 표시됩니다 @@ -257,7 +259,7 @@ Second \"item\" text" 플레이어 하단에 있는 관련 동영상에서 카테고리 바가 표시됩니다 댓글 댓글 섹션에서 구성요소가 숨기거나 표시할 수 있습니다 - \'채팅 요약\' 숨기기 + 실시간 채팅에서 \'채팅 요약\' 숨기기 \'채팅 요약\'이 숨겨집니다 \'채팅 요약\'이 표시됩니다 \'회원별 댓글\' 헤더 숨기기 @@ -677,7 +679,7 @@ Second \"item\" text" 그린 스크린 버튼이 표시됩니다 해시태그 버튼 숨기기 해시태그 버튼이 숨겨집니다 - 해시태그 벼튼이 표시됩니다 + 해시태그 버튼이 표시됩니다 검색 추천 숨기기 검색 추천이 숨겨집니다 검색 추천이 표시됩니다 @@ -1051,6 +1053,12 @@ Second \"item\" text" 앱을 시작할 때, Shorts 플레이어를 다시 실행하지 않습니다 앱을 시작할 때, Shorts 플레이어를 다시 실행합니다 + + Shorts 재생 플레이어 유형 + Shorts 플레이어 + 일반 플레이어 + 일반 플레이어 전체 화면 + Shorts 자동재생 Shorts 동영상이 자동넘김됩니다 @@ -1070,7 +1078,7 @@ Second \"item\" text" 앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다 미니 플레이어 유형 비활성화됨 - 홈 (기본값) + 기본값 최소화 태블릿 모던 스타일 1 @@ -1088,12 +1096,12 @@ Second \"item\" text" 드래그 & 드롭 활성화하기 "드래그 & 드롭을 활성화합니다 -• 미니 플레이어를 화면의 어느 곳이든 드래그할 수 있습니다" +• 미니 플레이어를 화면 구석으로 드래그 할 수 있습니다" 드래그 & 드롭을 비활성화합니다 수평 드래그 제스처 활성화하기 "수평 드래그 제스처를 활성화합니다 -미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다" +• 미니 플레이어 절반 정도를 왼쪽 밖 또는 오른쪽 밖으로 드래그하여 숨길 수 있습니다" 수평 드래그 제스처를 비활성화합니다 \'닫기\' 버튼 숨기기 \'닫기\' 버튼이 숨겨집니다 @@ -1101,7 +1109,7 @@ Second \"item\" text" \'펼치기\' & \'닫기\' 버튼 숨기기 "'펼치기' & '닫기' 버튼이 숨겨집니다 -• 스와이프하여 미니 플레이어를 펼치거나 닫을 수 있습니다" +• 미니 플레이어를 스와이프하여 펼치거나 닫을 수 있습니다" \'펼치기\' & \'닫기\' 버튼이 표시됩니다 서브텍스트 숨기기 서브텍스트가 숨겨집니다\n\n• 왼쪽 하단에서 표시되는 \'유료 광고 포함\'과 같은 라벨 @@ -1145,13 +1153,13 @@ Second \"item\" text" 내 페이지 탭 플레이어: 재생목록, 관련 동영상, etc. 검색 결과 - 기본 썸네일 - DeArrow & 기본 썸네일 + 원본 썸네일 + DeArrow & 원본 썸네일 DeArrow & 스틸 컷 썸네일 스틸 컷 썸네일 "DeArrow는 YouTube 동영상에 크라우드 소싱된 썸네일을 제공합니다. 이러한 썸네일은 YouTube에서 제공하는 썸네일보다 관련성이 높은 경우가 많습니다 -이 설정을 활성화하면 동영상 URL이 API 서버로 전송되며, 다른 데이터는 전송되지 않습니다. 동영상에 DeArrow 썸네일이 없는 경우에는 기본 썸네일 또는 스틸 컷 썸네일이 표시됩니다 +이 설정을 활성화하면 동영상 URL이 API 서버로 전송되며, 다른 데이터는 전송되지 않습니다. 동영상에 DeArrow 썸네일이 없는 경우에는 원본 썸네일 또는 스틸 컷 썸네일이 표시됩니다 DeArrow에 대해 자세히 알아보려면 여기를 누르세요" API를 사용할 수 없을 때, 팝업 메시지 표시하기 @@ -1281,7 +1289,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요" "스트리밍 데이터를 변경하지 않습니다 동영상 재생 문제가 발생할 수 있습니다" 이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다 - 기본 클라이언트 + 기본 클라이언트 AVC (H.264) 강제로 활성화하기 동영상 코덱을 AVC (H.264)로 강제 활성화합니다 동영상 코덱을 자동으로 활성화합니다 @@ -1292,9 +1300,10 @@ AVC의 최대 화질 값은 1080p이며, OPUS 오디오 코덱을 사용할 수 "• 비공개 Kids 동영상이 재생되지 않을 수 있습니다 • 동영상이 1초 일찍 종료될 수 있습니다" \'Android VR로 변경\'의 알려진 문제점 - "• Kids 동영상이 재생되지 않을 수 있습니다 -• 일부 라이브 스트림이 처음부터 재생될 수 있습니다 -• 동영상이 1초 일찍 종료될 수 있습니다" + "• 어린이 동영상은 재생되지 않을 수 있습니다 +• 오디오 트랙 메뉴가 없습니다 +• 안정적인 볼륨을 사용할 수 없습니다 +• 원본 오디오를 강제로 사용할 수 없습니다" 기본 오디오 트랙 언어 앱 언어 아랍어 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 0718b22ca8..7e1a42577e 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -79,7 +79,6 @@ Palieskite mygtuką Tęsti ir leiskite optimizavimo pakeitimus." Naujienos Grotuvas Bendras išdėstymas - Šortai Paieškos juosta Braukimo valdikliai Įvairūs @@ -1051,6 +1050,12 @@ Jei vėliau išjungta, rekomenduojama išvalyti programos duomenis, kad būtų i \"Shorts\" grotuvas nebus atnaujintas paleidžiant programėlę \"Shorts\" grotuvas bus atnaujintas paleidžiant programėlę + + Atidarykite Šortus su + Shorts grotuvas + Paprastas grotuvas + Paprastas grotuvo viso ekrano režimas + \"Autoplay\" Shorts \"Shorts\" bus atliekama \"Autoplay\" @@ -1283,7 +1288,7 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v Vaizdo įrašo atkūrimas gali neveikti" Išjungus šį nustatymą, gali kilti vaizdo įrašų atkūrimo problemų. - Numatytasis klientas + Numatytasis klientas Priversti AVC (H.264) Vaizdo kodekas priverstinai nustatytas į AVC (H.264) Vaizdo kodekas nustatomas automatiškai @@ -1294,9 +1299,10 @@ AVC maksimalus rezoliucija yra 1080p, Opus garso kodekas nėra prieinamas, o vai "• Privatūs vaikų vaizdo įrašai gali neveikti • Vaizdo įrašai baigiasi 1 sekunde anksčiau" Android VR apgaulės šalutiniai poveikiai - "• Vaikų vaizdo įrašai gali neveikti -• Tiesioginės transliacijos prasideda nuo pradžios -• Vaizdo įrašai baigiasi 1 sekundę anksčiau" + "• Vaikų vaizdo įrašai gali neatsidarys +• Trūksta garso takelio meniu +• Stabilaus garso nėra +• Nėra galimybės priverstinai nustatyti originalaus garso" Numatytoji garso srauto kalba Programėlės kalba Arabų diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index 40380253e8..ff35bf2b7c 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -79,7 +79,6 @@ Nospiediet turpināt pogu un atļaujiet optimizācijas izmaiņas." Lente Atskaņotājs Vispārīga izkārtojums - Šorti Slīdņu skala Pārvelciet vadīklas Dažādi @@ -1049,6 +1048,12 @@ Ja vēlāk tiks izslēgts, ieteicams notīrīt lietotnes datus, lai novērstu li Shorts atskaņotājs neatjaunosies lietotnes palaišanas laikā Shorts atskaņotājs tiks atsākts lietotnes palaišanas laikā + + Atvērt Shorts ar + Shorts atskaņotājs + Parastais atskaņotājs + Pilnekrāna parastais atskaņotājs + Automātiskā īso videoklipu atskaņošana Shorts tiks atskaņoti automātiski @@ -1280,7 +1285,7 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk Video atskaņošana var nedarboties" Šī iestatījuma atspējošana var izraisīt video atskaņošanas problēmas. - Noklusētā klients + Noklusētā klients Spiest AVC (H.264) Video kodeks ir piespiests uz AVC (H.264) Video kodeks tiek noteikts automātiski @@ -1291,9 +1296,10 @@ AVC maksimālā izšķirtspēja ir 1080p, Opus audio kodeks nav pieejams, un vid "• Privāti bērnu videoklipi, iespējams, netiek atskaņoti • Video beidzas 1 sekundi agrāk" Android VR viltošanas blakusparādības - "• Bērnu videoklipi var nedarboties -• Tiešraides straumes sākas no sākuma -• Video beidzas 1 sekundi agrāk" + "• Bērnu videoklipi, iespējams, netiek atskaņoti +• Trūkst audioieraksta izvēlnes +• Nav pieejama stabila skaļuma +• Nav pieejams oriģinālā audioieraksta piespiedu iestatījums" Noklusētā audio straumes valoda Lietotnes valoda Arābu diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index 92489a4ba0..a376d2183c 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -1050,6 +1050,12 @@ Als het later wordt uitgeschakeld, wordt aanbevolen om de app-gegevens te wissen Shorts-speler wordt niet hervat bij het opstarten van de app Shorts-speler wordt hervat bij het opstarten van de app + + Shorts openen met + Shorts-speler + Normale speler + Normale speler op volledig scherm + Shorts automatisch afspelen Shorts worden automatisch afgespeeld @@ -1281,7 +1287,7 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen" Video-playback werkt mogelijk niet" Het uitschakelen van deze instelling kan afspeelproblemen veroorzaken. - Standaard client + Standaard client Dwing AVC (H.264) af Videoc codec is geforceerd naar AVC (H.264) Videoc codec wordt automatisch bepaald @@ -1293,8 +1299,9 @@ AVC heeft een maximale resolutie van 1080p, Opus audiocodec is niet beschikbaar • Video's eindigen 1 seconde eerder" Neveneffecten van Android VR-vervalsing "• Kindervideo's worden mogelijk niet afgespeeld -• Livestreams beginnen vanaf het begin -• Video's eindigen 1 seconde eerder" +• Het menu met audiotracks ontbreekt +• Stabiel volume is niet beschikbaar +• Originele audio forceren is niet beschikbaar" Standaardtaal voor audiostream App-taal Arabisch diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 64cec0db51..28597464bf 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -79,7 +79,6 @@ Naciśnij przycisk Kontynuuj i zezwól na zmiany optymalizacji." Strona główna Odtwarzacz Ogólny układ - Shorts Pasek postępu filmu Sterowanie przesuwaniem Pozostałe @@ -1050,6 +1049,12 @@ Jeśli później zostanie wyłączony, zaleca się wyczyszczenie danych aplikacj Odtwarzacz Shortsów nie będzie wznawiany przy starcie aplikacji Odtwarzacz Shortsów zostanie wznowiony przy starcie aplikacji + + Otwórz Shorts z + Odtwarzacz Shortsów + Odtwarzacz regularny + Odtwarzacz regularny na pełnym ekranie + Autoodtwarzanie Shortsów Shortsy będą odtwarzane automatycznie @@ -1281,7 +1286,7 @@ Włączenie tego może odblokować wyższe jakości wideo" Odtwarzanie wideo może nie działać" Wyłączenie tej opcji może spowodować problemy z odtwarzaniem filmów. - Domyślny klient + Domyślny klient Wymuś AVC (H.264) Kodek filmu jest wymuszony do AVC (H.264) Kodek filmu jest ustawiany automatycznie @@ -1292,9 +1297,10 @@ AVC ma maksymalną rozdzielczość 1080p, kodek audio Opus nie jest dostępny, a "• Prywatne filmy dla dzieci mogą nie być odtwarzane • Filmy kończą się 1 sekundę wcześniej" Efekty uboczne spoofingu Android VR - "• Filmy dla dzieci mogą się nie odtwarzać -• Transmisje na żywo rozpoczynają się od początku -• Filmy kończą się 1 sekundę wcześniej" + "• Filmy dla dzieci mogą nie być odtwarzane +• Brak menu ścieżki audio +• Stabilna głośność nie jest dostępna +• Opcja wymuszenia oryginalnego dźwięku nie jest dostępna" Domyślny język strumienia dźwięku Język aplikacji Arabski diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 46b0d4326f..0f5ecaff47 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -79,7 +79,6 @@ Toque no botão continuar e permita as mudanças de otimização. " Feed Reprodutor Layout geral - Shorts Barra de busca Controles deslizantes Outras configurações @@ -1049,6 +1048,12 @@ Se posteriormente desativado, é recomendável limpar os dados do aplicativo par Shorts não irá continuar reproduzindo ao iniciar o aplicativo Shorts irá continuar reproduzindo ao iniciar o aplicativo + + Abrir Shorts com + Reprodutor do Shorts + Player regular + Tela cheia do player regular + Reprodução automática nos Shorts Os Shorts vão ser reproduzidos automaticamente @@ -1280,7 +1285,7 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas" A reprodução de vídeo pode não funcionar" Desativar esta configuração pode causar problemas de reprodução de vídeo. - Cliente padrão + Cliente padrão Forçar AVC (H.264) O codec de vídeo é forçado para AVC (H.264) O codec de vídeo é determinado automaticamente @@ -1291,9 +1296,10 @@ AVC tem uma resolução máxima de 1080p, o codec de áudio Opus não está disp "• Vídeos privados para crianças podem não ser reproduzidos • Os vídeos terminam 1 segundo mais cedo" Efeitos colaterais do spoofing de Android VR - "• Vídeos infantis podem não ser reproduzidos -• As transmissões ao vivo começam do início -• Os vídeos terminam 1 segundo antes" + "• Vídeos infantis podem não ser reproduzidos +• O menu da trilha de áudio está ausente +• O volume estável não está disponível +• Forçar áudio original não está disponível" Idioma do fluxo de áudio padrão Idioma do aplicativo Árabe diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 86e5cc1743..e946191361 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -79,7 +79,6 @@ Nhấn nút tiếp tục và cho phép thay đổi tối ưu hóa." Recomendações Leitor Interface geral - Shorts Barra de pesquisa Controlos por Gestos Outros @@ -1050,6 +1049,12 @@ Nếu sau này tắt, bạn nên xóa dữ liệu ứng dụng để tránh lỗ Desativar a retomada do player do Shorts Shorts que o reprodutor continuará na inicialização do aplicativo + + Abrir  Shorts com + Reprodutor de Shorts + Reprodução normal + Reprodução normal em tela cheia + Reprodução automática de Shorts Shorts vão ser reproduzidos automaticamente @@ -1281,7 +1286,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn" Desativar essa configuração pode causar problemas de reprodução de vídeo. - Cliente padrão + Cliente padrão Forçar AVC (H.264) Codec de vídeo é forçado a AVC (H.264) Codec de vídeo é determinado automaticamente @@ -1292,9 +1297,10 @@ AVC có độ phân giải tối đa là 1080p, bộ giải mã âm thanh Opus k "• Vídeos privados de crianças podem não ser reproduzidos • Os vídeos terminam 1 segundo mais cedo" Android VR efeito de spoofing side - "• Video dành cho trẻ em có thể không phát -• Luồng trực tiếp bắt đầu từ đầu -• Video kết thúc sớm 1 giây" + "• Os vídeos para crianças podem não ser reproduzidos +• O menu de faixas de áudio está ausente +• O volume estável não está disponível +• Forçar áudio original não está disponível" Idioma padrão do fluxo de áudio Idioma do aplicativo Arábico diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 6a28e204b0..da2a3f645a 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -1049,6 +1049,12 @@ Dacă este dezactivat ulterior, se recomandă să ștergeți datele aplicației Playerul Shorts nu va relua la pornirea aplicației Scurtătura va fi reluată la pornirea aplicației + + Deschide Shorts cu + Player Shorts + Player obișnuit + Player Obișnuit pe tot ecranul + Redare automată Shorts Shorts-urile se vor reda automat @@ -1281,7 +1287,7 @@ Activarea acestei opțiuni poate debloca calități video mai mari" Este posibil ca redarea video să nu funcționeze" Dezactivarea acestei setări poate cauza probleme de redare video. - Client implicit + Client implicit Forțează AVC (H.264) Codecul video este forţat să facă AVC (H.264) Codecul video este determinat automat @@ -1292,9 +1298,10 @@ AVC are o rezoluție maximă de 1080p, codecul audio Opus nu este disponibil, ia "• Este posibil ca videoclipurile private pentru copii să nu fie redate • Videoclipurile se termină cu 1 secundă mai devreme" Reacţii adverse de spoofing Android VR - "• Videoclipurile pentru copii este posibil să nu fie redate -• Transmisiunile live încep de la început -• Videoclipurile se termină cu 1 secundă mai devreme" + "• Este posibil ca videoclipurile pentru copii să nu fie redate +• Lipsește meniul piesei audio +• Volumul stabil nu este disponibil +• Forțare sunetul original nu este disponibil" Limbă implicită flux audio Limba aplicației Arabă diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index c7371f3e64..d35bde81d4 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -516,15 +516,15 @@ Second \"item\" text" Подписи кнопок навигации Подписи кнопок навигации скрыты Подписи кнопок навигации отображены - Отключить полупрозрачную строку состояния + Полупрозрачная строка состояния Строка состояния непрозрачна Строка состояния непрозрачна или полупрозрачна - Отключить полупрозрачную светлую панель навигации - Светлая полупрозрачная панель навигации не будет отображаться - Панель навигации в светлом режиме непрозрачна или полупрозрачна - Отключить темную полупрозрачную панель навигации - Темная полупрозрачная панель навигации не будет отображаться - Панель навигации в темном режиме непрозрачна или полупрозрачна + Полупрозрачная светлая панель + Панель навигации при светлой теме непрозрачна + Панель навигации при светлой теме непрозрачна или полупрозрачна + Полупрозрачная темная панель + Панель навигации при темной теме непрозрачна + Панель навигации при темной теме непрозрачна или полупрозрачна Выдвижное меню плеера @@ -654,7 +654,7 @@ Second \"item\" text" Кнопка \"Магазин\" в Shorts отображена Кнопка \"Супер спасибо\" Кнопка \"Супер спасибо\" скрыта - Кнопка \"Супер спасибо\" показывается + Кнопка \"Супер спасибо\" отображена Товары с тегом Товары с тегом в Shorts скрыты Товары с тегом в Shorts отображены @@ -736,8 +736,8 @@ Second \"item\" text" Всплывающие панели плеера - Автоматически всплывающие панели (плейлист или живой чат) в плеере скрыты - Автоматически всплывающие панели (плейлист или живой чат) в плеере отображены + Автоматически всплывающие панели в плеере скрыты + Автоматически всплывающие панели в плеере отображены Видео в полноэкранном портрете @@ -763,9 +763,9 @@ Second \"item\" text" Дизлайки в Shorts отображены "Дизлайки в Shorts отображены -Ограничение: Дизлайки могут не отображаться в режиме инкогнито" +Ограничение: дизлайки могут не отображаться в режиме инкогнито" Дизлайки в Shorts скрыты - Варианты отображения дизлайков + Стиль отображения дизлайков Дизлайки отображаются как проценты Дизлайки отображаются как число @@ -1050,6 +1050,12 @@ Second \"item\" text" Возобновление плеера Shorts при запуске приложения отключено Возобновление плеера Shorts при запуске приложения включено + + Открывать Shorts с + Плеер Shorts + Обычный плеер + Обычный плеер в полноэкранном режиме + Автопроигрывание Shorts Shorts будут автоматически воспроизводиться одно за другим @@ -1225,7 +1231,7 @@ Second \"item\" text" Виброотклик при масштабировании включен - Использовать оригинальный звук + Принудительно оригинальный звук Используется оригинальный звук Используется звук по умолчанию @@ -1282,7 +1288,7 @@ Second \"item\" text" Воспроизведение видео может не работать" Отключение этой настройки может вызвать проблемы с воспроизведением видео. - Клиент по умолчанию + Клиент по умолчанию Принудительно AVC (H.264) Видео кодек принудительно установлен на AVC (H.264) Видео кодек определяется автоматически @@ -1290,12 +1296,13 @@ Second \"item\" text" AVC имеет максимальное разрешение 1080p, аудио кодек Opus недоступен, и воспроизведение видео будет использовать больше интернет данных в сравнении с VP9 или AV1." Побочные эффекты подмены на iOS - "\u2022 Язеное на неявершенные параметры для детей -\u2022 Видео завершаются 1 секундоа раньше" + "• Видео для детей могут не воспроизводиться +• Видео заканчиваются на 1 секунду раньше" Побочные эффекты подмены на Android VR "• Видео для детей могут не воспроизводиться -• Меню выбора аудиодорожки отсутствует -• Недоступна стабильная громкость" +• Отсутствует меню звуковых дорожек +• Недоступен стабильный уровень громкости +• Недоступен перевод аудио на родной язык" Язык аудио потока по умолчанию Язык приложения Арабский @@ -1359,12 +1366,12 @@ AVC имеет максимальное разрешение 1080p, аудио Аудиореклама разблокирована - %s недоступен, реклама может показываться. Попробуйте изменить службу блокировки рекламы в настройках. - %s вернул ошибку, реклама может показываться. Попробуйте изменить службу блокировки рекламы в настройках. + %s недоступен, реклама может отображаться. Попробуйте изменить службу блокировки рекламы в настройках. + %s вернул ошибку, реклама может отображаться. Попробуйте изменить службу блокировки рекламы в настройках. Встроенная реклама в видео Отключено - Luminous proxy - PurpleAdBlock proxy + Luminous прокси + PurpleAdBlock прокси Реклама в видео diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 0632609853..a09f875f05 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -1040,6 +1040,12 @@ Ak sa neskôr vypne, odporúča sa vymazať údaje aplikácie, aby sa zabránilo Prehrávač Shorts videí sa pri spustení aplikácie neobnoví Prehrávač Shorts videí sa obnoví pri spustení aplikácie + + Otvoriť Shorts s + Prehrávač Shorts + Bežný prehrávač + Bežný prehrávač na celú obrazovku + Automaticky prehrávať Shorts Shorts sa automaticky prehrajú @@ -1269,7 +1275,7 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa" Prehrávanie videa nemusí fungovať" Vypnutie tohto nastavenia môže spôsobiť problémy s prehrávaním videa. - Predvolený klient + Predvolený klient Vynútiť AVC (H.264) Video kodek je vynútený na AVC (H.264) Video kodek je urçovaný automaticky @@ -1281,8 +1287,9 @@ AVC má maximálne rozlíšenie 1080p, zvukový kodek Opus nie je dostupný a pr • Videa končí o 1 sekundu dříve" Vedľajťie účinky falošného prehrávača pre VR na Androide "• Detské videá sa nemusia prehrávať -• Živé prenosy sa spúšťajú od začiatku -• Videá končia o 1 sekundu skôr" +• Chýba ponuka zvukových stôp +• Stabilná hlasitosť nie je k dispozícii +• Vynútený pôvodný zvuk nie je k dispozícii" Predvolený jazyk zvukového streamu Jazyk aplikácie Arabčina diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 6868fac703..d75fa6858e 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -1049,6 +1049,12 @@ To bo spremenilo videz in funkcije aplikacije, vendar se lahko pojavijo neznani Predvajalnik Shorts se ne bo nadaljeval ob zagonu aplikacije Predvajalnik Shorts se bo nadaljeval ob zagonu aplikacije + + Odpri Shorts z + Predvajalnik Shorts + Redni predvajalnik + Redni predvajalnik v celozaslonskem načinu + Samodejno predvajanje Shorts Shorts se bodo samodejno predvajali @@ -1281,7 +1287,7 @@ Omogočanje tega lahko odklene višje kakovosti videa" Predvajanje videa morda ne bo delovalo" Izklop te nastavitve lahko povzroči težave s predvajanjem videoposnetkov. - Privzeti odjemalec + Privzeti odjemalec Prisili AVC (H.264) Video kodek je prisiljen v AVC (H.264) Video kodek se določi samodejno @@ -1292,9 +1298,10 @@ AVC ima največjo ločljivost 1080p, zvočni kodek Opus ni na voljo, predvajanje "• Zasebni videoposnetki za otroke morda ne bodo predvajani • Videoposnetki se končajo 1 sekundo prej" Neželeni učinki pretvarjanja Android VR - "• Otroški videoposnetki se morda ne bodo predvajali -• Livestreami se začnejo od začetka -• Videoposnetki se končajo 1 sekundo prej" + "• Otroški videoposnetki morda ne bodo predvajani +• Meni zvočnih posnetkov manjka +• Stabilen zvok ni na voljo +• Prisilno predvajanje izvornega zvoka ni na voljo" Privzeti jezik zvočnega toka Jezik aplikacije Arabski diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index a5a5c97e1a..2e15376c40 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -1048,6 +1048,12 @@ Nëse më vonë është çaktivizuar, është e rekomanduar të fshiheni të dh Lojtari Shorts nuk do të rifillojë në fillimin e aplikacionit Lojtari Shorts do të rifillojë në fillimin e aplikacionit + + Hap Shorts me + Lojtari i Shorts + Lojtari i zakonshëm + Lojtari i zakonshëm në ekran të plotë + Autoplay Shorts Shorts do të luajnë automatikisht @@ -1279,7 +1285,7 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video" Shikimi i videove mund të mos funksionojë" Çaktivizimi i kësaj cilësimi mund të shkaktojë probleme me luajtjen e videos. - Klient i përdoruesit + Klient i përdoruesit Deforco AVC (H.264) Kodeku i videos është deforcuar në AVC (H.264) Kodeku i videos përcaktohet automatikisht @@ -1290,9 +1296,7 @@ AVC ka një rezolucion maksimum prej 1080p, kodeku audio Opus nuk është i disp "• Videot private për fëmijë mund të mos luhen • Videot përfundojnë 1 sekond më herët" Efekte anësore të spoofimit të Android VR - "• Videot për fëmijë mund të mos luhen -• Transmetimet Live fillojnë nga fillimi -• Videot përfundojnë 1 sekond më herët" + "• Video për fëmijë mund të mos luhen\n• Menua e së shkuarit me zë është e humbur\n• Volumi i qëndrueshëm nuk është i disponueshëm\n• Forcimi i zërit origjinal nuk është i disponueshëm" Gjuha e rrjedhës së audios standarde Gjuha e aplikacionit Arabisht diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index f6065b0f10..74c9c54677 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -516,15 +516,15 @@ Napomena: Omogućavanje ovoga prisilno sakriva i video oglase" Sakrij oznake dugmadi za navigaciju Oznake dugmadi za navigaciju su skrivene Oznake dugmadi za navigaciju su prikazane - Onemogući prozirnu traku stanja + Onemogući prozirnu statusnu traku Statusna traka je neprozirna Statusna traka je neprozirna ili prozirna - Onemogući prozirnu svetlu traku - Svetla traka za navigaciju je neprozirna - Navigacijska traka u svetlom modu je neprozirna ili prozirna - Onemogući tamnu prozirnu traku - Tamna traka za navigaciju je neprozirna - Navigacijska traka u tamnom modu je neprozirna ili prozirna + Onemogući svetlu prozirnu traku za navigaciju + Traka za navigaciju u svetlom režimu je neprozirna + Traka za navigaciju u svetlom režimu je neprozirna ili prozirna + Onemogući tamnu prozirnu traku za navigaciju + Traka za navigaciju u tamnom režimu je neprozirna + Traka za navigaciju u tamnom režimu je neprozirna ili prozirna Padajući meni @@ -1027,7 +1027,7 @@ Ako se kasnije isključi, preporučuje se da izbrišete podatke aplikacije da bi 17.33.42 - Vraća staru policu plejliste - Podešavanje početne stranice + Polazna stranica Podrazumevana Pretraga kanala Istraži @@ -1049,6 +1049,12 @@ Ako se kasnije isključi, preporučuje se da izbrišete podatke aplikacije da bi Shorts plejer neće nastaviti reprodukciju pri pokretanju aplikacije Shorts plejer će nastaviti reprodukciju pri pokretanju aplikacije + + Otvorite Shorts pomoću + Shorts plejera + Običnog plejera + Običnog plejera u režimu celog ekranu + Autoplej Shorts videa Shorts videi će se automatski puštati @@ -1107,16 +1113,16 @@ Prevucite za proširenje ili zatvaranje" Sakrij dugmad za premotavanje unapred i unazad Dugmad za premotavanje unapred i unazad su skrivena Dugmad za premotavanje unapred i unazad su prikazana - Početna veličina - Početna veličina ekrana, u pikselima + Polazna veličina + Polazna veličina ekrana, u pikselima Veličina piksela mora biti između %1$s i %2$s Neprozirnost preklopa Vrednost neprozirnosti između 0 i 100, gde je 0 prozirno Neprozirnost preklopa mini-plejera mora biti između 0 i 100 - Omogući ekran učitavanja s gradijentom - Ekran učitavanja će imati pozadinu s gradijentom + Omogući gradijentnu pozadinu ekrana učitavanja + Ekran učitavanja će imati gradijentnu pozadinu Ekran učitavanja će imati običnu pozadinu @@ -1280,7 +1286,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" Reprodukcija videa možda neće raditi" Isključivanje ove opcije će možda izazvati probleme sa reprodukcijom videa. - Podrazumevani klijent + Podrazumevani klijent Prisili AVC (H.264) Video kodek je prisilno podešen na AVC (H.264) Video kodek je određen automatski @@ -1288,10 +1294,13 @@ Reprodukcija videa možda neće raditi" AVC ima maksimalnu rezoluciju od 1080p, audio kodek Opus nije dostupan, a reprodukcija videa će koristiti više internet podataka nego VP9 ili AV1." Neželjeni efekti lažiranja na iOS - Neželjeni efekti lažiranja na Android VR - "• Dečji videi se možda neće puštati -• Strimovi uživo počinju od početka + "• Privatni dečji videi se možda neće puštati • Videi će se završiti 1 sekundu ranije" + Neželjeni efekti lažiranja na Android VR + "• Dečiji video možda neće biti pušteni +• Menija za zvučnu numeru nedostaje +• Dostupno stabilna jačina zvuka +• Forsiranje originalnog zvuka nije dostupno" Podrazumevani jezik audio strima Jezik aplikacije Arapski diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 96aa90ccc4..2dca92012f 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -79,7 +79,6 @@ Second \"item\" text" Фид Плејер Општи изглед - Шорцеви Трака за премотавање Контроле превлачења Разно @@ -516,15 +515,15 @@ Second \"item\" text" Сакриј ознаке дугмади за навигацију Ознаке дугмади за навигацију су скривене Ознаке дугмади за навигацију су приказане - Онемогући провидну статусну траку - Statusna traka je neprozirna - Statusna traka je neprozirna ili providna - Онемогући светлу провидну траку - Светли режим траке за навигацију је непрозиран - Navigaciona traka u svetlom režimu je neprozirna ili providna - Onemogući providnu tamnu traku - Тамни режим траке за навигацију је непрозиран - Navigaciona traka u tamnom režimu je neprozirna ili providna + Онемогући прозирну статусну траку + Статусна трака је непрозирна + Статусна трака је непрозирна или прозирна + Онемогући светлу прозирну траку за навигацију + Трака за навигацију у светлом режиму је непрозирна + Трака за навигацију у светлом режиму је непрозирна или прозирна + Онемогући тамну прозирну траку за навигацију + Трака за навигацију у тамном режиму је непрозирна + Трака за навигацију у тамном режиму је непрозирна или прозирна Падајући мени @@ -1027,7 +1026,7 @@ Second \"item\" text" 17.33.42 - Враћа стару полицу плејлисте - Подешавање почетне странице + Полазна страница Подразумевана Претрага канала Истражи @@ -1049,6 +1048,12 @@ Second \"item\" text" Shorts плејер неће наставити репродукцију при покретању апликације Shorts плејер ће наставити репродукцију при покретању апликације + + Отворите Shorts помоћу + Shorts плејера + Обичног плејера + Обичног плејера у режиму целог екрана + Аутоплеј Shorts видеа Shorts видеи ће се аутоматски пуштати @@ -1107,16 +1112,16 @@ Second \"item\" text" Сакриј дугмад за премотавање унапред и уназад Дугмад за премотавање унапред и уназад су скривена Дугмад за премотавање унапред и уназад су приказана - Почетна величина - Почетна величина екрана, у пикселима + Полазна величина + Полазна величина екрана, у пикселима Величина пиксела мора бити између %1$s и %2$s Непрозирност преклопа Вредност непрозирности између 0 и 100, где је 0 прозирно Непрозирност преклопа мини-плејера мора бити између 0 и 100 - Омогући екран учитавања с градијентом - Екран учитавања ће имати позадину с градијентом + Омогући градијентну позадину екрана учитавања + Екран учитавања ће имати градијентну позадину Екран учитавања ће имати обичну позадину @@ -1280,7 +1285,7 @@ Second \"item\" text" Репродукција видеа можда неће радити" Искључивање ове опције ће можда изазвати проблеме са репродукцијом видеа. - Подразумевани клијент + Подразумевани клијент Присили AVC (H.264) Видео кодек је присилно подешен на AVC (H.264) Видео кодек је одређен аутоматски @@ -1291,9 +1296,10 @@ AVC има максималну резолуцију од 1080p, аудио ко "• Приватни дечји видеи се можда неће пуштати • Видеи ће се завршити 1 секунду раније" Нежељени ефекти лажирања на Android VR - "• Дечји видеи се можда неће пуштати -• Стримови уживо почињу од почетка -• Видеи ће се завршити 1 секунду раније" + "• Дечији видео снимци се можда неће репродуковати +• Мени аудио записа недостаје +• Стабилна јачина звука није доступна +• Присилни оригинални звук није доступан" Подразумевани језик аудио стрима Језик апликације Арапски diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index b9474f13d5..cc2617d69c 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -1049,6 +1049,12 @@ Om det senare stängs av rekommenderas det att rensa appens data för att förhi Shorts spelare kommer inte att återupptas vid appstart Shorts spelare kommer att återupptas vid appstart + + Öppna Shorts med + Shorts spelare + Vanlig spelare + Vanlig spelare, helskärm + Shorts automatisk uppspelning Shorts kommer automatiskt spela upp @@ -1280,7 +1286,7 @@ Att aktivera detta kan låsa upp högre videokvalitet" Videouppspelning kanske inte fungerar" Att stänga av den här inställningen kan orsaka videouppspelningsproblem. - Standard klient + Standard klient Tvinga AVC (H.264) Video-codec tvingas till AVC (H.264) Video-codec bestäms automatiskt @@ -1291,9 +1297,10 @@ AVC har en maximal upplösning på 1080p, Opus-ljudcodec är inte tillgänglig o "• Privata barnvideor kanske inte spelas upp • Videor slutar 1 sekund för tidigt" Android VR förfalskning biverkningar - "• Barnvideor kanske inte spelas upp -• Livestreams startar från början -• Videor avslutas 1 sekund för tidigt" + "- Barnvideoklipp kanske inte spelas +- Ljudspårsmenyn saknas +- Stabil volym är inte tillgänglig +- Tvinga originalspråk är inte tillgänglig" Standard ljudströmningsspråk Appens språk Arabiska diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index c96dc1b0da..1007906674 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -1050,6 +1050,12 @@ User id ของคุณเหมือนกับรหัสผ่าน เครื่องเล่น Shorts จะไม่กลับมาทำงานต่อเมื่อเริ่มต้นแอป เครื่องเล่น Shorts จะกลับมาทำงานต่อเมื่อเริ่มต้นแอป + + เปิด \"Shorts\" ด้วย + Shorts Player + เครื่องเล่นปกติ + เครื่องเล่นปกติ (เต็มหน้าจอ) + เล่น Shorts อัตโนมัติ Shorts จะเล่นอัตโนมัติ @@ -1281,7 +1287,7 @@ User id ของคุณเหมือนกับรหัสผ่าน การเล่นวิดีโออาจไม่ทํางาน" การปิดการตั้งค่านี้ อาจทำให้เกิดปัญหาในการเล่นวิดีโอ - ไคลเอ็นต์เริ่มต้น + ไคลเอ็นต์เริ่มต้น บังคับใช้ AVC (H.264) บังคับใช้โคเดกวิดีโอเป็น AVC (H.264) โคเดกวิดีโอถูกกำหนดโดยอัตโนมัติ @@ -1293,8 +1299,9 @@ AVC มีความละเอียดสูงสุดที่ 1080p โ • วิดีโอสิ้นสุดก่อนกำหนด 1 วินาที" ผลข้างเคียงของการปลอมแปลง VR สำหรับ Android "• วิดีโอเด็กอาจเล่นไม่ได้ -• การถ่ายทอดสดเริ่มต้นจากจุดเริ่มต้น -• วิดีโอสิ้นสุดเร็ว 1 วินาที" +• เมนูแทร็กเสียงหายไป +• ปรับระดับเสียงคงที่ไม่ได้ +• บังคับเสียงต้นฉบับไม่ได้" ภาษาสตรีมเสียงเริ่มต้น ภาษาแอป อาหรับ diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index ef51ae18f3..830e41f1ce 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -30,7 +30,7 @@ Second \"item\" text" ReVanced Manager tarafından yüklenmemiş 10 dakikadan daha uzun bir süre önce yamalanmış %s gün önce yamalanmış - APK derleme tarihi yanlış + APK derleme tarihi bozuk ReVanced Ayarları @@ -57,13 +57,13 @@ Second \"item\" text" MicroG GmsCore yüklü değil. Yükleyin. Eylem gerekiyor - "MicroG GmsCore, arka planda çalışmak için izin alamıyor. + "MicroG GmsCore'nin arka planda çalışma izni yok. Telefonunuz için \"Uygulamamı sonlandırma\" kılavuzunu izleyin ve talimatları MicroG kurulumunuza uygulayın. Bu, uygulamanın çalışması için gereklidir." Websitesini aç - "Sorunsuz bir çalışma için MicroG GmsCore pil optimizasyonları devre dışı bırakılmalıdır. + "Sorunları önlemek için MicroG GmsCore pil optimizasyonları devre dışı bırakılmalıdır. MicroG için pil optimizasyonlarını devre dışı bırakmak, pil kullanımını olumsuz etkilemeyecektir. @@ -79,7 +79,6 @@ Devam düğmesine dokunun ve optimizasyon değişikliklerine izin verin."Akış Oynatıcı Genel düzen - Shorts Zaman çubuğu Kaydırma kontrolleri Çeşitli @@ -97,7 +96,7 @@ Devam düğmesine dokunun ve optimizasyon değişikliklerine izin verin."Hata ayıklama kayıtları etkin Hata ayıklama kayıtları devre dışı Protocol buffer\'ın kaydını tut - Hata ayıklama kayıtları proto bufffer\'ı içeriyor + Hata ayıklama kayıtları proto buffer\'ı içeriyor Hata ayıklama kayıtları proto buffer\'ı içermiyor Stack traces\'in kaydını tut Hata ayıklama kayıtları stack traces\'i içeriyor @@ -111,54 +110,54 @@ Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz." Beğen / Abone ol düğmesi parlamasını devre dışı bırak - Beğen ve abone ol butonu, üzerine gelindiğinde parlamayacak - Beğen ve abone ol butonu, üzerine gelindiğinde parlayacak + Beğen ve abone ol düğmesi, bahsedildiğinde parlamayacak + Beğen ve abone ol düğmesi, bahsedildiğinde parlayacak Albüm kartlarını gizle - Albüm kartları gizleniyor - Albüm kartları gösteriliyor - Bağış etkinliklerini gizle - Bağış etkinliği kutuları gizleniyor - Bağış etkinliği kutuları gösteriliyor - Alttaki mikrofon butonunu gizle - Alttaki mikrofon butonu gizleniyor - Alttaki mikrofon butonu gösteriliyor + Albüm kartları gizli + Albüm kartları görünür + Bağış etkinliği kutularını gizle + Bağış etkinliği kutuları gizli + Bağış etkinliği kutuları görünür + Alttaki mikrofon düğmesini gizle + Mikrofon düğmesi gizli + Mikrofon düğmesi görünür Kanal filigranını gizle - Filigran gizleniyor - Filigran gösteriliyor + Filigran gizli + Filigran görünür Yatay rafları gizle - "Gizlenen raflar şunlardır: + "Şunlar gibi raflar gizlenir: • Son dakika haberleri • İzlemeye devam et • Daha fazla kanal keşfet • Alışveriş • Tekrar izle" - Raflar gösteriliyor + Raflar görünür - \'Katıl\' butonunu gizle - Buton gizleniyor - Buton gösteriliyor + \'Katıl\' düğmesini gizle + Düğme gizli + Düğme görünür Kanal sayfasındaki \'Sizin için\' rafını gizle - Raf gizleniyor - Raf gösteriliyor + Raf gizli + Raf görünür \'Hatırlatma oluştur\' düğmesini gizle - Buton gizleniyor - Buton gösteriliyor + Düğme gizli + Düğme görünür \'İnsanlar şunu da izledi\' önerilerini gizle - Öneriler gizleniyor - Öneriler gösteriliyor + Öneriler gizli + Öneriler görünür - \'Daha fazla göster\' butonunu gizle - Buton gizleniyor - Buton gösteriliyor + \'Daha fazla göster\' düğmesini gizle + Düğme gizli + Düğme görünür Süreli tepkileri gizle - Süreli tepkiler gizleniyor - Süreli tepkiler gösteriliyor + Süreli tepkiler gizli + Süreli tepkiler görünür Kanal yönergelerini gizle Kanal yönergeleri gizli Kanal yönergeleri görünür @@ -176,104 +175,104 @@ Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz." Kompakt afişler görünür Filmler kısmını gizle Filmler kısmı gizli - Filmler kısmı gösteriliyor + Filmler kısmı görünür Akış anketlerini gizle - Akış anketleri gizleniyor - Akış anketleri gösteriliyor - Topluluk yönergelerini gizle - Topluluk yönergeleri gizleniyor - Topluluk yönergeleri gösteriliyor - Abone topluluk yönergelerini gizle - Aboneler topluluk kuralları gizli - Abone topluluk yönergeleri gösteriliyor + Akış anketleri gizli + Akış anketleri görünür + Topluluk kurallarını gizle + Topluluk kuralları gizli + Topluluk kuralları görünür + Abone topluluk kurallarını gizle + Abone topluluk kuralları gizli + Abone topluluk kuralları görünür Kanal üyeleri rafını gizle - Kanal üyeleri rafı gizleniyor - Kanal üyeleri rafı gösteriliyor + Kanal üyeleri rafı gizli + Kanal üyeleri rafı görünür Acil durum kutularını gizle - Acil durum kutuları gizleniyor - Acil durum kutuları gösteriliyor + Acil durum kutuları gizli + Acil durum kutuları görünür Bilgi panellerini gizle - Bilgi panelleri gizleniyor + Bilgi panelleri gizli Bilgi panelleri görünür Tıbbi bilgi panellerini gizle - Tıbbi bilgi panelleri gizleniyor - Tıbbi bilgi panelleri gösteriliyor + Tıbbi bilgi panelleri gizli + Tıbbi bilgi panelleri görünür Kanal çubuğunu gizle - Kanal çubuğu gizleniyor - Kanal çubuğu gösteriliyor + Kanal çubuğu gizli + Kanal çubuğu görünür Hazır Oyunlar\'ı gizle - Hazır Oyunlar gizleniyor - Hazır Oyunlar gösteriliyor + Hazır Oyunlar gizli + Hazır Oyunlar görünür Tam ekrandaki hızlı eylemleri gizle Hızlı eylemler gizli - Hızlı eylemler gösteriliyor - Hızlı eylemlerdeki alakalı videoları gizle - Alâkalı videolar gizleniyor + Hızlı eylemler görünür + Hızlı eylemlerdeki alâkalı videoları gizle + Alâkalı videolar gizli Alâkalı videolar görünür Arama sonuçlarındaki resim rafını gizle - Resim rafı gizleniyor + Resim rafı gizli Resim rafı görünür Son gönderileri gizle - Son gönderiler gizleniyor - Son gönderiler gösteriliyor + Son gönderiler gizli + Son gönderiler görünür Mix oynatma listelerini gizle - Mix oynatma listeleri gizleniyor - Mix oynatma listeleri gösteriliyor + Mix oynatma listeleri gizli + Mix oynatma listeleri görünür Sanatçı kartlarını gizle - Sanatçı kartları gizlendi + Sanatçı kartları gizli Sanatçı kartları görünür Nitelikler bölümünü gizle Öne çıkan yerler, Oyunlar ve Müzik bölümleri gizli - Öne çıkan yerler, Oyunlar ve Müzik bölümleri görünüyor + Öne çıkan yerler, Oyunlar ve Müzik bölümleri görünür Bölümler kısmını gizle Bölümler kısmı gizli - Bölümler kısmı görünüyor + Bölümler kısmı görünür \"Podcast\'i keşfedin\" bölümünü gizle - \"Podcast\'ı keşfedin\" bölümünü gizli - \"Podcast\'ı keşfedin\" bölümü görünüyor + \"Podcast\'ı keşfedin\" bölümü gizli + \"Podcast\'ı keşfedin\" bölümü görünür Bilgi kartları kısmını gizle - Bilgi kartları kısmı gizleniyor - Bilgi kartları kısmı gösteriliyor - \'Anahtar kavramlar\' bölümünü gizle - \'Anahtar kavramlar\' bölümü gizli - \'Anahtar kavramlar\' bölümü görünüyor - Transkript bölümünü gizle - Transkript kısmı gizleniyor - Transkript kısmı gösteriliyor + Bilgi kartları kısmı gizli + Bilgi kartları kısmı görünür + \'Anahtar kavramlar\' kısmını gizle + \'Anahtar kavramlar\' kısmı gizli + \'Anahtar kavramlar\' kısmı görünür + Transkript kısmını gizle + Transkript kısmı gizli + Transkript kısmı görünür Video açıklaması Video açıklamasındaki öğeleri gizle veya göster Filtreleme çubuğu Akışta, arama sonuçlarında ve ilgili videolardaki filtreleme çubuğunu gizle veya göster Akıştakini gizle - Akıştaki gizleniyor - Akıştaki gösteriliyor + Akıştaki gizli + Akıştaki görünür Arama sonuçlarındakini gizle - Arama sonuçlarındaki gizleniyor - Arama sonuçlarındaki gösteriliyor + Arama sonuçlarındaki gizli + Arama sonuçlarındaki görünür Alakalı videolardakini gizle - Alakalı videolardaki gizleniyor - Alakalı videolardaki gösteriliyor + Alakalı videolardaki gizli + Alakalı videolardaki görünür Yorumlar Yorumlar kısmındaki öğeleri gizle veya göster - \"Sohbet özetini\" Gizle - \'Sohbet özeti\' gizlendi - \'Sohbet özeti\' gösteriliyor - \'Üyeler tarafından yapılan yorumlar\' başlığını gizle + \'Sohbet özetini\' gizle + \'Sohbet özeti\' gizli + \'Sohbet özeti\' görünür + \'Üyelerin yorumları\' başlığını gizle \'Üyelerin yorumları\' başlığı gizli - \'Üyeler tarafından yapılan yorumlar\' başlığı görünüyor + \'Üyelerin yorumları\' başlığı görünür Yorumlar kısmını gizle - Yorumlar bölümü gizli - Yorumlar bölümü gösteriliyor + Yorumlar kısmı gizli + Yorumlar kısmı görünür \'Short oluştur\' düğmesini gizle \'Short oluştur\' düğmesi gizli - \'Short oluştur\' butonu gösteriliyor + \'Short oluştur\' düğmesi görünür Önizlenen yorumu gizle - Önizlenen yorum gizleniyor - Önizlenen yorum gösteriliyor - Teşekkürler butonunu gizle + Önizlenen yorum gizli + Önizlenen yorum görünür + Teşekkürler düğmesini gizle Teşekkürler düğmesi gizli Teşekkürler düğmesi görünür - Zaman damgasını ve emoji butonlarını gizle + Zaman ve emoji düğmelerini gizle Zaman ve emoji düğmeleri gizli Zaman ve emoji düğmeleri görünür @@ -284,7 +283,7 @@ Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz." Bir Doodle şu anda bölgenizde gösteriliyorsa ve bu gizleme ayarı açıksa, arama çubuğunun altındaki filtre çubuğu da gizlenecektir." Özel filtre - Özel filtre ile öğeleri gizle + Özel filtreler kullanarak öğeleri gizle Özel filtreyi etkinleştir Özel filtre etkin Özel filtre devre dışı @@ -293,20 +292,20 @@ Bir Doodle şu anda bölgenizde gösteriliyorsa ve bu gizleme ayarı açıksa, a Yeni satırla ayrılmış olarak filtrelenecek öğe yolu oluşturucu dizelerinin listesi Geçersiz özel filtre: %s Anahtar kelimeyle içerik gizle - Anahtar kelime filtreleriyle arama ve akıştaki videoları gizle + Anahtar kelime filtreleriyle arama sonuçlarındaki ve akıştaki videoları gizle Ana sayfadaki videoları anahtar kelimelerle gizle - Ana sayfa sekmesindeki videolar anahtar kelimelerle filtreleniyor - Ana sayfa sekmesindeki videolar anahtar kelimelerle filtrelenmiyor + Ana sayfa sekmesindeki videolar anahtar kelimelerle filtrelenir + Ana sayfa sekmesindeki videolar anahtar kelimelerle filtrelenmez Aboneliklerdeki videoları anahtar kelimelerle gizle - Abonelikler sekmesindeki videolar anahtar kelimelerle filtreleniyor - Abonelikler sekmesindeki videolar anahtar kelimelerle filtrelenmiyor + Abonelikler sekmesindeki videolar anahtar kelimelerle filtrelenir + Abonelikler sekmesindeki videolar anahtar kelimelerle filtrelenmez Arama sonuçlarını anahtar kelimelerle filtrele - Arama sonuçları anahtar kelimelerle filtreleniyor - Arama sonuçları anahtar kelimelerle filtrelenmiyor - Gizlemek için anahtar kelimeler + Arama sonuçları anahtar kelimelerle filtrelenir + Arama sonuçları anahtar kelimelerle filtrelenmez + Gizlenecek anahtar kelimeler - "Gizlenecek anahtar kelimeler ve ifadeler, yeni satırlarla ayrılmış + "Yeni satırlarla ayrılmış gizlenecek anahtar kelimeler ve ifadeler Anahtar kelimeler kanal adları veya video başlıklarında gösterilen herhangi bir metin olabilir @@ -317,7 +316,7 @@ Ortadaki harfleri büyük olan kelimeler, büyük/küçük harf kullanımına g Sınırlamalar • Shorts, kanal adı ile gizlenemez • Bazı kullanıcı arayüzü bileşenleri gizlenemeyebilir -• Bir anahtar kelime aranması sonuç göstermeyebilir." +• Bir anahtar kelime aranması sonuç göstermeyebilir" Tam kelimeleri eşleştir Bir anahtar kelimeyi veya ifadeyi tırnak işareti içine almak, video başlıkları ve kanal adlarının kısmi eşleşmelerini önleyecektir<br><br>Örneğin,<br><br>\"ai\"</b>, <b>AI nasıl çalışır?</b> başlıklı videoyu gizleyecektir<br>ama <b>Air süspansiyon inceleme</b> başlıklı videoyu gizlemeyecektir @@ -326,67 +325,67 @@ Sınırlamalar Kullanmak için tırnak içine alın: %s Anahtar kelimede çelişki var: %s Kelime kısa, tırnak içine alın: %s - Anahtar kelime bütün videoları gizler: %s + Kelime bütün videoları gizler: %s Genel reklamları gizle - Genel reklamlar gizleniyor - Genel reklamlar gösteriliyor - Tam ekran reklamlarını gizle - "Tam ekran reklamları gizlenir + Genel reklamlar gizli + Genel reklamlar görünür + Tam ekran reklamları gizle + "Tam ekran reklamlar gizli -Bu özellik yalnızca eski cihazlar için kullanılabilir." - Tam ekran reklamları gösteriliyor - Butonlu reklamları gizle - Butonlu reklamlar gizleniyor - Butonlu reklamlar gösteriliyor - Ücretli tanıtım yazısını gizle +Bu özellik yalnızca eski cihazlarda kullanılabilir" + Tam ekran reklamlar görünür + Düğmeli reklamları gizle + Düğmeli reklamlar gizli + Düğmeli reklamlar görünür + Ücretli tanıtım etiketini gizle Ücretli tanıtım etiketi gizli Ücretli tanıtım etiketi görünür Kendine sponsor kartları gizle - Kendine sponsor kartlar gizleniyor - Kendine sponsor kartlar gösteriliyor + Kendine sponsor kartlar gizli + Kendine sponsor kartlar görünür Ürünleri görme afişini gizle - Afiş gizleniyor - Afiş gösteriliyor + Afiş gizli + Afiş görünür Oynatıcı alışveriş rafını gizle Alışveriş rafı gizli Alışveriş rafı görünür Video açıklamasındaki alışveriş bağlantılarını gizle - Alışveriş bağlantıları gizleniyor - Alışveriş bağlantıları gösteriliyor + Alışveriş bağlantıları gizli + Alışveriş bağlantıları görünür - Kanal sayfalarındaki \'Mağazayı ziyaret et\' butonunu gizle - Buton gizleniyor - Buton gösteriliyor + Kanal sayfalarındaki \'Mağazayı ziyaret et\' düğmesini gizle + Düğme gizli + Düğme görünür Web arama sonuçlarını gizle - Web arama sonuçları gizleniyor - Web arama sonuçları gösteriliyor + Web arama sonuçları gizli + Web arama sonuçları görünür Ürün afişlerini gizle - Ürün afişleri gizleniyor - Ürün afişleri gösteriliyor + Ürün afişleri gizli + Ürün afişleri görünür - Tam ekran reklamlarını gizleme yalnızca eski cihazlarda çalışır + Tam ekran reklamlar sadece eski cihazlarda gizlenebilir YouTube Premium promosyonlarını gizle - Videonun altındaki YouTube Premium promosyonları gizleniyor - Videonun altındaki YouTube Premium promosyonları gösteriliyor + Video oynatıcısı altındaki YouTube Premium promosyonları gizli + Video oynatıcısı altındaki YouTube Premium promosyonları görünür Video reklamlarını gizle - Video reklamları gizleniyor - Video reklamları gösteriliyor + Video reklamları gizli + Video reklamları görünür URL panoya kopyalandı Zaman damgalı URL kopyalandı - Video URL\'sini kopyalama butonunu göster - Buton gösteriliyor. Video URL\'sini kopyalamak için dokunun. Zaman damgalı URL\'yi kopyalamak için basılı tutun - Buton gizleniyor + Video URL\'sini kopyalama düğmesini göster + Düğme görünür. Video URL\'sini kopyalamak için dokunun. Zaman damgalı URL\'yi kopyalamak için basılı tutun + Düğme gösterilmez Zaman damgalı URL\'yi kopyalama düğmesini göster - Düğme görünür. Zamanlı video URLsini kopyalamak için dokunun. Zaman olmadan kopyalamak için basılı tutun - Buton gösterilmiyor + Düğme görünür. Zaman damgalı video URLsini kopyalamak için dokunun. Zaman damgası olmadan kopyalamak için basılı tutun + Düğme gösterilmez İzleyici takdiri iletişim kutusunu kaldır @@ -398,12 +397,12 @@ Bu özellik yalnızca eski cihazlar için kullanılabilir." Harici indirmeler Harici indirici kullanmak için ayarlar Harici indirme düğmesini göster - Oynatıcıda indirme butonu gösteriliyor - Oynatıcıda indirme butonu gösteriliyor + İndirme düğmesi oynatıcıda gösterilir + İndirme düğmesi oynatıcıda gösterilmez - İndirme işlemi butonunu geçersiz kıl - İndirme butonu harici indiricinizi açar - İndirme butonu yerel uygulama içi indiriciyi açar + İndirme eylem düğmesini kullan + İndirme düğmesi harici indiricinizi açar + İndirme düğmesi yerel uygulama içi indiriciyi açar İndirici paket adı NewPipe veya Seal gibi yüklü olan harici indirici uygulamanızın paket adı %s yüklü değil. Lütfen yükleyin. @@ -428,95 +427,95 @@ Bu özellik yalnızca eski cihazlar için kullanılabilir." Basılı tutup kaydırma hareketini etkinleştir Basılı tutup kaydırma hareketi etkin Basılı tutup kaydırma hareketi devre dışı - Titireşimli geri bildirimi etkinleştir + Titreşimli geri bildirimi etkinleştir Titreşimli geri bildirim etkin Titreşimli geri bildirim devre dışı Parlaklığı kaydet ve geri yükle - Tam ekrana girip çıkarken parlaklık kaydediliyor ve sonrasında tekrar geri yükleniyor - Tam ekrana girip çıkarken parlaklık kaydedilip sonrasında tekrar geri yüklenmiyor - Kaydırarak otomatik parlaklığı etkinleştir - Kaydırarak parlaklığı en düşüğe ayarlamak otomatik parlaklığı etkinleştiriyor - Kaydırarak parlaklığı en düşüğe ayarlamak otomatik parlaklığı etkinleştirmiyor + Tam ekrana girip çıkarken parlaklığı kaydet ve geri yükle + Tam ekrana girip çıkarken parlaklığı kaydetme ve geri yükleme + Otomatik parlaklık hareketini etkinleştir + Parlaklık hareketinin en düşük değerine kadar kaydırma otomatik parlaklığı etkinleştirir + Parlaklık hareketinin en düşük değerine kadar kaydırma otomatik parlaklığı etkinleştirmez Oto Kaydırma paneli zaman aşımı Panelin görünür olduğu milisaniye miktarı Kaydırma paneli metin boyutu Kaydırma paneli için metin boyutu - Kaydırma paneli opaklığı - Kaydırma panelinin opaklık değeri + Kaydırma paneli görünürlüğü + Kaydırma paneli arka planının görünürlüğü Kaydırma büyüklük eşiği Kaydırma işleminin gerçekleşmesi için eşik miktarı Altyazıların kendiliğinden açılmasını devre dışı bırak - Altyazılar kendiliğinden açılmıyor + Altyazılar kendiliğinden açılmaz Altyazılar kendiliğinden açılabilir - Eylem butonları - Videonun altındaki butonları gizle veya göster - \"Beğen\" ve \"Beğenme\" butonlarını gizle - \"Beğen\" ve \"Beğenme\" butonları gizleniyor - \"Beğen\" ve \"Beğenme\" butonları gösteriliyor + Eylem düğmeleri + Videoların altındaki düğmeleri gizle veya göster + \"Beğen\" ve \"Beğenme\" düğmelerini gizle + \"Beğen\" ve \"Beğenme\" düğmeleri gizli + \"Beğen\" ve \"Beğenme\" düğmeleri görünür - \'Paylaş\' butonunu gizle - \'Paylaş\' butonu gizleniyor - \'Paylaş\' butonu gösteriliyor + \'Paylaş\' düğmesini gizle + \'Paylaş\' düğmesi gizli + \'Paylaş\' düğmesi görünür - \"Bildir\" butonunu gizle - \"Bildir\" butonu gizleniyor - \"Bildir\" butonu gösteriliyor + \'Bildir\' düğmesini gizle + \'Bildir\' düğmesi gizli + \'Bildir\' düğmesi görünür - \"Remix\" butonunu gizle - \"Remix\" butonu gizleniyor - \"Remix\" butonu gösteriliyor + \'Remix\' düğmesini gizle + \'Remix\' düğmesi gizli + \'Remix\' düğmesi görünür - \"İndir\" butonunu gizle - \"İndir\" butonu gizleniyor - \"İndir\" butonu gösteriliyor + \'İndir\' düğmesini gizle + \"İndir\" düğmesi gizli + \"İndir\" düğmesi görünür - \"Teşekkürler\" butonunu gizle - \"Teşekkürler\" butonu gizleniyor - \"Teşekkürler\" butonu gösteriliyor + \"Teşekkürler\" düğmesini gizle + \"Teşekkürler\" düğmesi gizli + \"Teşekkürler\" düğmesi görünür - \"Klip\" butonunu gizle - \"Klip\" butonu gizleniyor - \"Klip\" butonu gösteriliyor + \"Klip\" düğmesini gizle + \"Klip\" düğmesi gizli + \"Klip\" düğmesi görünür - \"Kaydet\" butonunu gizle - \"Kaydet\" butonu gizleniyor - \"Kaydet\" butonu gösteriliyor + \"Kaydet\" düğmesini gizle + \"Kaydet\" düğmesi gizli + \"Kaydet\" düğmesi görünür - Gezinme butonları - Gezinme çubuğundaki butonları gizle veya değiştir + Gezinme düğmeleri + Gezinme çubuğundaki düğmeleri gizle veya değiştir - \"Ana Sayfa\" butonunu gizle - \"Ana Sayfa\" butonu gizleniyor - \"Ana Sayfa\" butonu gösteriliyor + \"Ana Sayfa\" düğmesini gizle + \"Ana Sayfa\" düğmesi gizli + \"Ana Sayfa\" düğmesi görünür - \"Shorts\" butonunu gizle - \"Shorts\" butonu gizleniyor - \"Shorts\" butonu gösteriliyor + \"Shorts\" düğmesini gizle + \"Shorts\" düğmesi gizli + \"Shorts\" düğmesi görünür - \"Oluştur\" butonunu gizle - \"Oluştur\" butonu gizleniyor - \"Oluştur\" butonu gösteriliyor + \"Oluştur\" düğmesini gizle + \"Oluştur\" düğmesi gizli + \"Oluştur\" düğmesi görünür - \"Abonelikler\" butonunu gizle - \"Abonelikler\" butonu gizleniyor - \"Abonelikler\" butonu gösteriliyor + \"Abonelikler\" düğmesini gizle + \"Abonelikler\" düğmesi gizli + \"Abonelikler\" düğmesi görünür - \"Oluştur\" butonunun ve \"Bildirimler\" butonunun yerlerini değiştir + \"Oluştur\" ve \"Bildirimler\" düğmelerinin yerlerini değiştir "Oluştur düğmesi Bildirimler düğmesi ile değiştirilir -Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorunlu olarak gizler." - \"Oluştur\" butonunun ve \"Bildirimler\" butonunun yerleri değiştirilmiyor +Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorla gizler" + Oluştur düğmesi Bildirimler düğmesi ile değiştirilmez Gezinme düğmeleri etiketlerini gizle Etiketler gizli Etiketler görünür - Saydam Durum Çubuğunu Devre Dışı Bırak + Yarı saydam durum çubuğunu devre dışı bırak Durum çubuğu opak Durum çubuğu opak veya yarı saydam Aydınlık temada yarı saydam çubuğu devre dışı bırak @@ -530,76 +529,76 @@ Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorunlu olarak gizl Açılır menü Oynatıcı açılır menü öğelerini gizle veya göster - \"Altyazılar\" butonunu gizle - \"Altyazılar\" butonu gizleniyor - \"Altyazılar\" butonu gösteriliyor + \"Altyazılar\" düğmesini gizle + \"Altyazılar\" menüsü gizli + \"Altyazılar\" menüsü görünür - \"Ek ayarlar\" butonunu gizle - \"Ek ayarlar\" butonu gizleniyor - \"Ek ayarlar\" butonu gösteriliyor + \"Ek ayarlar\" düğmesini gizle + \"Ek ayarlar\" menüsü gizli + \"Ek ayarlar\" menüsü görünür Uyku zamanlayıcısını gizle Uyku zamanlayıcısı menüsü gizli Uyku zamanlayıcısı menüsü görünür - \"Videoyu döngüye al\" butonunu gizle - \"Videoyu döngüye al\" butonu gizleniyor - \"Videoyu döngüye al\" butonu gösteriliyor + \"Videoyu döngüye al\" düğmesini gizle + \"Videoyu döngüye al\" düğmesi gizli + \"Videoyu döngüye al\" düğmesi görünür - \"Ambiyans modu\" butonunu gizle - \"Ambiyans modu\" butonu gizleniyor - \"Ambiyans modu\" butonu gösteriliyor - Sabit sesi gizle + \"Ambiyans modu\" düğmesini gizle + \"Ambiyans modu\" düğmesi gizli + \"Ambiyans modu\" düğmesi görünür + \"Sabit ses\" düğmesini gizle Sabit ses menüsü görünür Sabit ses menüsü gizli - \"Yardım ve geri bildirim\" butonunu gizle - \"Yardım ve geri bildirim\" butonu gizleniyor - \"Yardım ve geri bildirim\" butonu gösteriliyor + \"Yardım ve geri bildirim\" düğmesini gizle + \"Yardım ve geri bildirim\" düğmesi gizli + \"Yardım ve geri bildirim\" düğmesi görünür - \"Oynatma hızı\" butonunu gizle - \"Oynatma hızı\" butonu gizleniyor - \"Oynatma hızı\" butonu gösteriliyor + \"Oynatma hızı\" düğmesini gizle + \"Oynatma hızı\" düğmesi gizli + \"Oynatma hızı\" düğmesi görünür - \"Daha fazla bilgi\" butonunu gizle - \"Daha fazla bilgi\" butonu gizleniyor - \"Daha fazla bilgi\" butonu gösteriliyor + \"Daha fazla bilgi\" düğmesini gizle + \"Daha fazla bilgi\" düğmesi gizli + \"Daha fazla bilgi\" düğmesi görünür - \"Ekranı kilitle\" butonunu gizle - \"Ekranı kilitle\" butonu gizleniyor - \"Ekranı kilitle\" butonu gösteriliyor + \"Ekranı kilitle\" düğmesini gizle + \"Ekranı kilitle\" düğmesi gizli + \"Ekranı kilitle\" düğmesi görünür - \"Ses parçası\" butonunu gizle - \"Ses parçası\" butonu gizleniyor - \"Ses parçası\" butonu gösteriliyor + \"Ses parçası\" düğmesini gizle + \"Ses parçası\" düğmesi gizli + \"Ses parçası\" düğmesi görünür - \"VR modunda izle\" butonunu gizle - \"VR modunda izle\" butonu gizleniyor - \"VR modunda izle\" butonu gösteriliyor + \"VR modunda izle\" düğmesini gizle + \"VR modunda izle\" düğmesi gizli + \"VR modunda izle\" düğmesi görünür Video kalite menüsü alt bilgisini gizle Video kalite menüsü alt bilgisi gizli Video kalite menüsü alt bilgisi görünür - Önceki & Sonraki video butonlarını gizle - Önceki ve Sonraki video butonları gizleniyor - Önceki ve Sonraki video butonları gösteriliyor - Yansıtma butonunu gizle - Yansıtma butonu gizleniyor - Yansıtma butonu gösteriliyor + Önceki & Sonraki video düğmelerini gizle + Düğmeler gizli + Düğmeler görünür + \"Yayınla\" düğmesini gizle + \"Yayınla\" düğmesi gizli + \"Yayınla\" düğmesi görünür - Altyazı butonunu gizle - Altyazı butonu gizleniyor - Altyazı butonu gösteriliyor - Otomatik oynatma butonunu gizle - Otomatik oynatma butonu gizleniyor - Otomatik oynatma butonu gösteriliyor + Altyazı düğmesini gizle + Altyazı düğmesi gizli + Altyazı düğmesi görünür + Otomatik oynatma düğmesini gizle + Otomatik oynatma düğmesi gizli + Otomatik oynatma düğmesi görünür Bitiş ekranı kartlarını gizle - Bitiş ekranı kartları gizleniyor - Bitiş ekranı kartları gösteriliyor + Bitiş ekranı kartları gizli + Bitiş ekranı kartları görünür Tam ekranda ambiyans modunu devre dışı bırak @@ -608,8 +607,8 @@ Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorunlu olarak gizl Bilgi kartlarını gizle - Bilgi kartları gizleniyor - Bilgi kartları gösteriliyor + Bilgi kartları gizli + Bilgi kartları görünür Kayan sayı animasyonlarını devre dışı bırak @@ -618,34 +617,34 @@ Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorunlu olarak gizl Video oynatıcıdaki zaman çubuğunu gizle - Video oynatıcıdaki zaman çubuğu gizleniyor - Video oynatıcıdaki zaman çubuğu gösteriliyor + Video oynatıcıdaki zaman çubuğu gizli + Video oynatıcıdaki zaman çubuğu görünür Video kapak fotoğraflarındaki zaman çubuğunu gizle - Video kapak fotoğraflarındaki zaman çubuğu gizleniyor - Video kapak fotoğraflarındaki zaman çubuğu gösteriliyor + Video kapak fotoğraflarındaki zaman çubuğu gizli + Video kapak fotoğraflarındaki zaman çubuğu görünür Shorts oynatıcı - Shorts oynatıcısındaki bileşenleri gizleyin veya gösterin + Shorts oynatıcısındaki bileşenleri gizle veya göster - Ana Sayfa sekmesinde Shorts videolarını gizle - Ana Sayfa sekmesinde Shorts videoları gizleniyor - Ana Sayfa sekmesinde Shorts videoları gösteriliyor + Ana Sayfa akışında Shorts videolarını gizle + Ana Sayfa akışında Shorts videoları gizli + Ana Sayfa akışında Shorts videoları görünür - Abonelikler sekmesinde Shorts videolarını gizle - Abonelikler sekmesinde Shorts videoları gizleniyor - Abonelikler sekmesinde Shorts videoları gösteriliyor + Abonelikler akışında Shorts videolarını gizle + Abonelikler akışında Shorts videoları gizli + Abonelikler akışında Shorts videoları görünür Arama sonuçlarında Shorts videolarını gizle - Arama sonuçlarında Shorts videoları gizleniyor - Arama sonuçlarında Shorts videoları gösteriliyor + Arama sonuçlarında Shorts videoları gizli + Arama sonuçlarında Shorts videoları görünür - \"Katıl\" butonunu gizle - \"Katıl\" butonu gizleniyor - \"Katıl\" butonu gösteriliyor + \"Katıl\" düğmesini gizle + \"Katıl\" düğmesi gizli + \"Katıl\" düğmesi görünür - \"Abone ol\" butonunu gizle - \"Abone ol\" butonu gizleniyor - \"Abone ol\" butonu gösteriliyor + \"Abone ol\" düğmesini gizle + \"Abone ol\" düğmesi gizli + \"Abone ol\" düğmesi görünür Duraklama katmanı düğmelerini gizle Duraklama katmanı düğmeleri gizli Duraklama katmanı düğmeleri görünür @@ -685,32 +684,32 @@ Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorunlu olarak gizl Beğeni çeşmesini gizle Beğeni düğmesi çeşme animasyonu gizli Beğeni düğmesi çeşme animasyonu görünür - \"Beğen\" butonunu gizle - \"Beğen\" butonu gizleniyor - \"Beğen\" butonu gösteriliyor - \"Beğenme\" butonunu gizle - \"Beğenme\" butonu gizleniyor - \"Beğenme\" butonu gösteriliyor - \"Yorumlar\" butonunu gizle - \"Yorumlar\" butonu gizleniyor - \"Yorumlar\" butonu gösteriliyor + \"Beğen\" düğmesini gizle + \"Beğen\" düğmesi gizli + \"Beğen\" butonu görünür + \"Beğenme\" düğmesini gizle + \"Beğenme\" düğmesi gizli + \"Beğenme\" düğmesi görünür + \"Yorumlar\" düğmesini gizle + \"Yorumlar\" düğmesi gizli + \"Yorumlar\" düğmesi görünür - \"Remix\" butonunu gizle - \"Remix\" butonu gizleniyor - \"Remix\" butonu gösteriliyor + \"Remix\" düğmesini gizle + \"Remix\" düğmesi gizli + \"Remix\" düğmesi görünür - \"Paylaş\" butonunu gizle - \"Paylaş\" butonu gizleniyor - Paylaş düğmesi gösteriliyor + \"Paylaş\" düğmesini gizle + \"Paylaş\" düğmesi gizli + \"Paylaş\" düğmesi görünür Bilgi panelini gizle - Bilgi paneli gizleniyor - Bilgi paneli gösteriliyor + Bilgi paneli gizli + Bilgi paneli görünür Kanal çubuğunu gizle - Kanal çubuğu gizleniyor - Kanal çubuğu gösteriliyor + Kanal çubuğu gizli + Kanal çubuğu görünür Video başlığını gizle - Video başlığı gizleniyor - Video başlığı gösteriliyor + Başlık gizli + Başlık görünür Ses bilgisi etiketini gizle Bilgi etiketi gizli Bilgi etiketi görünür @@ -718,26 +717,26 @@ Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorunlu olarak gizl Video bağlantısı etiketi gizli Video bağlantısı etiketi görünür Ses düğmesini gizle - Ses düğmesi gizlendi - Ses düğmesi gösteriliyor + Ses düğmesi gizli + Ses düğmesi görünür Gezinme çubuğunu gizle - Gezinme çubuğu gizleniyor - Gezinme çubuğu gösteriliyor + Gezinme çubuğu gizli + Gezinme çubuğu görünür - Önerilen video bitiş ekranını gizle + Önerilen video bitiş ekranını devre dışı bırak Önerilen videolar devre dışı bırakılacak Önerilen videolar gösterilecek Video zaman damgasını gizle - Video zaman damgası gizleniyor - Video zaman damgası gösteriliyor + Video zaman damgası gizli + Video zaman damgası görünür Oynatıcı açılır panellerini gizle - Oynatıcı açılır panelleri gizleniyor - Oynatıcı açılır panelleri gösteriliyor + Oynatıcı açılır panelleri gizli + Oynatıcı açılır panelleri görünür Videoları tam ekran portre modunda aç @@ -745,49 +744,49 @@ Not: Bunu etkinleştirmek aynı zamanda video reklamlarını zorunlu olarak gizl Videolar tam ekranda açılmaz - Oynatıcı opaklığı + Oynatıcı paneli opaklığı 0-100 arasında opaklık değeri, 0 şeffaftır - Oynatıcı şeffaflığı 0-100 arasında olmalıdır + Oynatıcı katmanı opaklığı 0-100 arasında olmalıdır Beğenmeme sayıları zaman aşımına uğradı Beğenmeme sayıları kullanılamıyor (durum %d) - Beğenmeme sayıları kullanılamıyor API sınırına ulaşıldı + Beğenmeme sayıları kullanılamıyor (API sınırına ulaşıldı) Beğenmeme sayıları kullanılamıyor (%s) - ReturnYouTubeDislike ile oylamak için yeniden yükleyin + ReturnYouTubeDislike ile oylamak için videoyu yenileyin Beğenmeme sayıları gösteriliyor Beğenmeme sayıları gösterilmiyor Shorts\'ta beğenmeme sayılarını göster Beğenmeme sayıları Shorts\'ta gösteriliyor - "Shorts'ta beğenmemeler gösterilir + "Beğenmeme sayıları Shorts'ta gösteriliyor -Sınırlama: Beğenmemeler gizli modda görünmeyebilir." +Sınırlama: Beğenmemeler gizli modda görünmeyebilir" Beğenmeme sayıları Shorts\'ta gösterilmiyor Yüzdelik dilim olarak beğenmeme sayıları Beğenmeme sayıları yüzdelik dilim olarak gösteriliyor - Beğenmeme sayıları miktar olarak gösteriliyor + Beğenmeme sayıları sayı olarak gösterilir Kompakt beğen düğmesi En az genişlik için tasarlanmış beğen düğmesi En iyi görünüm için tasarlanmış beğen düğmesi API kullanılamadığında bir tost bildirimi göster - Return YouTube Dislike kullanılamadığında tost bildirimi gösteriliyor - Return YouTube Dislike kullanılamadığında tost bildirimi gösterilmiyor + Return YouTube Dislike kullanılamadığında tost bildirimi gösterilir + Return YouTube Dislike kullanılamadığında tost bildirimi gösterilmez Hakkında - Veri, Return YouTube Dislike APIsinden sağlanır. Daha fazla öğrenmek için dokunun + Veri, Return YouTube Dislike API\'sinden sağlanır. Daha fazla bilgi için dokunun Bu cihazın ReturnYouTubeDislike API istatistikleri Ortalama API yanıt süresi En düşük API yanıt süresi En yüksek API yanıt süresi Son videodaki API yanıt süresi - Beğenmeme sayıları geçici olarak kullanılamıyor - İstemci API sınırı var - API\'dan gelen oylar, çağrı sayısı + Beğenmeme sayıları geçici olarak kullanılamıyor - İstemci API sınırında + API\'den oy isteme çağrısı sayısı Hiç çağrı yapılmadı %d çağrı yapıldı - API\'den oyları getirirken yaşanan zaman aşımı sayısı + API\'den oylar istenirken yaşanan zaman aşımı sayısı Hiçbir çağrı zaman aşımına uğramadı %d çağrı zaman aşımına uğradı API istemci sınırları @@ -817,11 +816,11 @@ Bu özellik, 720p veya daha düşük video kalitesi ve çok hızlı bir internet SponsorBlock\'u etkinleştir - SponsorBlock, YouTube videolarındaki sıkıcı bölümleri atlamaya yarayan kitle kaynaklı bir sistemdir + SponsorBlock, YouTube videolarındaki sıkıcı bölümleri atlamaya yarayan topluluk kaynaklı bir sistemdir Görünüm Oylama düğmesini göster - Kısım oylama düğmesi gösteriliyor - Kısım oylama düğmesi gösterilmiyor + Kısım oylama düğmesi gösterilir + Kısım oylama düğmesi gösterilmez Ufak atlama düğmesi kullan En az genişlik için tasarlanmış atlama düğmesi @@ -832,20 +831,20 @@ Bu özellik, 720p veya daha düşük video kalitesi ve çok hızlı bir internet Otomatik olarak atlarken tost bildirimi göster Kısım otomatik olarak atlandığında tost bildirimi görünür. Örnek görmek için dokunun Tost bildirimi görünmez. Örnek görmek için buraya dokunun - Bölümler çıkarıldığında kalan video süresini göster - Bölümler olmaksızın video uzunluğu; tüm video uzunluğunun yanında parantez içinde gösterilir - Tüm video uzunluğu gösteriliyor - Yeni kısımlar oluştur + Kısımlar çıkarıldığında kalan video süresini göster + Video uzunluğu eksi bütün kısımlar, tam video uzunluğunun yanında parantez içinde gösterilir + Tam video uzunluğu gösterilir + Yeni kısım oluşturma Yeni kısım oluşturma düğmesini göster - Yeni kısım oluşturma butonu gösteriliyor - Yeni kısım oluşturma butonu gösterilmiyor + Yeni kısım oluşturma düğmesi gösterilir + Yeni kısım oluşturma düğmesi gösterilmez Yeni kısım oluştururken atlanacak süre - Yeni bölüm oluştururkenki atlama düğmelerinin oynatacağı milisaniye miktarı + Yeni bölüm oluştururkenki atlama düğmelerinin atlayacağı milisaniye miktarı Değer pozitif bir sayı olmalıdır - Kılavuzu görüntüle - Kılavuz, yeni kısımlar oluşturma kurallarını ve ipuçlarını içerir - Kılavuzu takip edin - Yeni kısımlar oluşturmadan önce SponsorBlock kılavuzunu okuyun + Yönergeleri görüntüle + Yönergeler, yeni kısım oluşturma kurallarını ve ipuçlarını içerir + Yönergeleri takip edin + Yeni kısım oluşturmadan önce SponsorBlock yönergelerini okuyun Zaten okudum Göster Genel @@ -853,23 +852,23 @@ Bu özellik, 720p veya daha düşük video kalitesi ve çok hızlı bir internet SponsorBlock kullanılamadığında bir tost bildirimi gösterilir SponsorBlock kullanılamadığında bir tost bildirimi gösterilmez Atlama sayısı izlemeyi etkinleştir - SponsorBlock liderlik tablosunun ne kadar zaman kazanıldığını bilmesini sağlar. Bir kısım her atlandığında liderlik tablosuna bir mesaj gönderilir + SponsorBlock liderlik tablosunun ne kadar zaman kazanıldığını bilmesini sağlar. Her bir kısım atlandığında liderlik tablosuna bir mesaj gönderilir Atlama sayısı izleme etkin değil - En az bölüm süresi - Bu değerden (saniye cinsinden) kısa olan bölümler gösterilmeyecek ve atlanmayacaktır - Geçersiz zaman süresi + En az kısım süresi + Bu değerden (saniye cinsinden) kısa olan kısımlar gösterilmeyecek ve atlanmayacaktır + Geçersiz süre Özel kullanıcı kimliğiniz - Bu gizli tutulmalıdır. Bu bir şifreye benzer ve diğerleriyle paylaşılmaması gerekir. Birinin eline geçerse, sizi taklit edebilir + Bu gizli tutulmalıdır. Bu bir şifreye benzer ve başkalarıyla paylaşılmaması gerekir. Birinin eline geçerse, sizi taklit edebilirler Özel kullanıcı kimliğiniz en az 30 karakter olmalıdır - API URLsini değiştir + API URL\'sini değiştir SponsorBlock\'un sunucuya çağrı yapmak için kullandığı adres - API URLsi sıfırlandı - A\'PI URLsi geçersiz - API URLsi değiştirildi + API URL\'si sıfırlandı + API URL\'si geçersiz + API URL\'si değiştirildi Ayarları içe/dışa aktar Kopyala ReVanced\'e ve diğer SponsorBlock platformlarına aktarılabilecek SponsorBlock JSON yapılandırmanız - ReVanced ve diğer SponsorBlock platformlarına aktarılabilen SponsorBlock JSON yapılandırmanız. Bu, özel kullanıcı kimliğinizi içerir. Bunu dikkatli paylaştığınızdan emin olun + ReVanced\'e ve diğer SponsorBlock platformlarına aktarılabilecek SponsorBlock JSON yapılandırmanız. Bu, özel kullanıcı kimliğinizi içerir. Bunu dikkatli paylaştığınızdan emin olun Ayarlar başarıyla içe aktarıldı İçe aktarılamadı: %s Dışa aktarılamadı: %s @@ -878,7 +877,7 @@ Bu özellik, 720p veya daha düşük video kalitesi ve çok hızlı bir internet Kullanıcı kimliğiniz bir şifre gibidir ve asla paylaşılmamalıdır. " Bir daha gösterme - Bölüm davranışını değiştir + Kısım davranışını değiştir Sponsor Ücretli tanıtım, ücretli yönlendirmeler ve doğrudan reklamlar. Kendi reklamı veya beğendiği amaçlara/üreticilere/sitelere/ürünlere atıfta bulunmalar için değil Karşılıksız/Kendi Reklamı @@ -886,13 +885,13 @@ Kullanıcı kimliğiniz bir şifre gibidir ve asla paylaşılmamalıdır. Etkileşim Hatırlatıcısı (Abone Ol) İçeriğin ortasında beğenme, abone olma veya takip etme için hatırlatmalar. Eğer uzunsa veya belirli birşey hakkındaysa kendi reklamı kategorisinde olmalıdır Vurgu - Videoda çoğu kişinin aradığı bölümü + Videonun çoğu kişinin aradığı bölümü Ara/Giriş Animasyonu Gerçek içerik barındırmayan aralıklar. Duraklama, sabit kare veya tekrar eden bir animasyon olabilir. Bilgi içeren geçişleri içermez Bitiş Ekranı/Jenerik Jenerik veya YouTube bitiş kartlarının göründüğü zaman. Bilgi içeren çıkarımlar için değil - Önİzleme/Özet - Videoda veya bir dizinin diğer videolarında neler olduğunu gösteren, tüm bilgilerin başka bir yerde tekrarlandığı klip koleksiyonu + Ön İzleme/Özet/İma + Videoda veya bir dizinin diğer videolarında neler olduğunu ve nelerin geleceğini gösteren, tüm bilgilerin başka bir yerde tekrarlandığı klip koleksiyonu Konuyla Alakasız/Şaka Videonun içeriğini anlamak için gerekli olmayan, sadece videoyu doldurmak veya mizah için eklenen alakasız sahneler. İçerik veya arka plan detaylarını içeren kısımları içermez Müzik: Müzik Olmayan Kısım @@ -907,62 +906,62 @@ Kullanıcı kimliğiniz bir şifre gibidir ve asla paylaşılmamalıdır. Arayı atla Arayı atla Bitişi atla - Önizlemeyi atla - Önizlemeyi atla + Ön izlemeyi atla + Ön izlemeyi atla Özeti atla Doldurma bölümü atla Müziksiz kısmı atla Kısmı atla Sponsor atlandı - Tanıtım atlandı + Kendi reklamı atlandı Sıkıcı hatırlatma atlandı Vurguya atlandı Giriş atlandı Ara atlandı Ara atlandı Bitiş atlandı - Önizleme atlandı - Önizleme atlandı + Ön izleme atlandı + Ön izleme atlandı Özet atlandı Doldurma bölüm atlandı Müziksiz kısım atlandı Gönderilmemiş kısım atlandı Birden fazla kısım atlandı Otomatik atla - Bir defalık otomatik olarak atla + Bir defalık otomatik atla Atla düğmesi göster Zaman çubuğunda göster Devre dışı bırak - Bölüm gönderilemedi: %s + Kısım gönderilemedi: %s SponsorBlock geçici olarak kullanılamıyor - Bölüm gönderilemedi (durum: %1$d %2$s) - Segment gönderilemiyor. Hız sınırlaması (aynı kullanıcıdan veya IP\'den çok fazla) - Kısım gönderilemedi: %s - "Segment gönderilemiyor. -Zaten var" - Bölüm başarıyla gönderildi + Kısım gönderilemedi (durum: %1$d %2$s) + Kısım gönderilemiyor. Sınırlandı (aynı kullanıcıdan veya IP\'den çok fazla) + Kısım gönderilemiyor: %s + "Kısım gönderilemiyor. +Aynısı mevcut" + Kısım başarıyla gönderildi - SponsorBlock geçici kullanılamıyor (API zaman aşımı) + SponsorBlock zaman aşımına uğradı SponsorBlock geçici olarak kullanılamıyor (durum %d) SponsorBlock geçici olarak kullanılamıyor - Bölüm oylanamıyor (API zaman aşımına uğradı) - Bölüm oylanamıyor (durum %1$d %2$s) - Bölüm oylanamıyor: %s + Kısım oylanamıyor (API zaman aşımına uğradı) + Kısım oylanamıyor (durum %1$d %2$s) + Kısım oylanamıyor: %s Olumlu oy Olumsuz oy Kategori değiştir - Oylanılacak bir bölüm yok - Bölümün kategorisini seçin + Oylanılacak bir kısım yok + Kısmın kategorisini seçin Kategori, ayarlarda etkin değil. Göndermek için etkinleştirin. - Yeni SponsorBlock bölümü - %s bu kısmın başlangıcı mı, bitişi mi olarak ayarlansın? + Yeni SponsorBlock kısmı + %s yeni kısmın başlangıcı mı, bitişi mi olarak ayarlansın? başlangıç bitiş şimdi - Bölümün başladığı zaman - Bölümün bittiği zaman + Kısmın başladığı zaman + Kısmın bittiği zaman Süreler doğru mu? - "Segment şuradan: + "Kısım şu süreler arasında: %1$s ile @@ -973,9 +972,9 @@ ile Göndermeye hazır mısınız?" Başlangıç bitişten önce olmalıdır Önce zaman çubuğunda iki yer işaretleyin - Bölümü önizleyin ve sorunsuz bir şekilde atladığından emin olun - Bölümün zamanlamasını el ile ayarlayın - Bölümün başlangıcını mı, bitişini mi düzenlemek istiyorsunuz? + Kısmı ön izleyin ve sorunsuz bir şekilde atladığından emin olun + Kısmın zamanlamasını el ile ayarlayın + Kısmın başlangıcını mı, bitişini mi düzenlemek istiyorsunuz? Geçersiz süre girildi İstatistikler @@ -1006,25 +1005,25 @@ Göndermeye hazır mısınız?" Rengi sıfırla Sıfırla Hakkında - Veri, SponsorBlock APIsi tarafından sağlanıyor. Daha fazla öğrenmek için ve diğer platformlar için indirmeleri görmek için dokunun + Veri, SponsorBlock API\'sinden sağlanır. Daha fazla bilgi ve diğer platformlar için indirmeleri görmek için dokunun Uygulama sürümünü taklit et Sürüm taklit ediliyor Sürüm taklit edilmiyor - "Uygulama sürümü, YouTube'un eski bir sürümüne dönüştürülecektir. + "Uygulama sürümü, YouTube'un eski bir sürümü olarak taklit edilecektir. Bu, uygulamanın görünümünü ve özelliklerini değiştirecektir, ancak bilinmeyen yan etkiler ortaya çıkabilir. -Daha sonra kapatılırsa, UI hatalarını önlemek için uygulama verilerinin temizlenmesi önerilir." +Daha sonra kapatılırsa, arayüz hatalarını önlemek için uygulama verilerinin temizlenmesi önerilir." - Taklit edilecek uygulama sürümü + Uygulama sürümü taklidi hedefi 19.35.36 - Eski Shorts oynatıcı simgelerini geri getir 18.33.40 - Gizli modda Shorts için RYD\'yi onar - 18.20.39 - Geniş video hızı & kalite menüsünü geri getir - 18.08.39 - Kitaplık sekmesini geri getir + 18.20.39 - Geniş video hızı & kalitesi menüsünü geri getir + 18.09.39 - Kitaplık sekmesini geri getir 17.33.42 - Eski oynatma listesi rafını geri getir @@ -1047,8 +1046,14 @@ Daha sonra kapatılırsa, UI hatalarını önlemek için uygulama verilerinin te Shorts oynatıcıya devam edilmesini devre dışı bırak - Shorts oynatıcı açılışta devam etmeyecek - Shorts oynatıcı açılışta devam edecek + Shorts oynatıcı uygulama açıldığında devam etmeyecek + Shorts oynatıcı uygulama açıldığında devam edecek + + + Shorts\'u şununla aç + Shorts oynatıcı + Normal oynatıcı + Normal oynatıcı tam ekran Shorts\'u otomatik oynat @@ -1079,28 +1084,28 @@ Daha sonra kapatılırsa, UI hatalarını önlemek için uygulama verilerinin te Köşeler yuvarlatılmış Köşeler kare şeklinde Boyutlandırmak için çift dokunmayı ve sıkıştırmayı etkinleştir - "Çift dokunma eylemi ve boyutlandırmak için sıkıştırma etkinleştirildi + "Boyutlandırmak için çift dokunma ve sıkıştırma etkin -• Miniplayer boyutunu artırmak için çift dokunun -• Orijinal boyuta geri dönmek için tekrar çift dokunun." +• Mini oynatıcı boyutunu artırmak için çift dokunun +• Orijinal boyuta geri dönmek için tekrar çift dokunun" Boyutlandırmak için çift dokunma ve sıkıştırma devre dışı Sürükleyip bırakmayı etkinleştir - "Sürükle ve bırak etkinleştirildi + "Sürükle ve bırak etkin -Miniplayer, ekranın herhangi bir köşesine sürüklenebilir." - Sürükleyip bırakma devre dışı +Mini oynatıcı, ekranın herhangi bir köşesine sürüklenebilir" + Sürükle ve bırak devre dışı Yatay sürükleme hareketini etkinleştir - "Yatay sürükle hareketi etkinleştirildi + "Yatay sürükleme hareketi etkin -Miniplayer, ekrandan sola veya sağa sürüklenebilir." +Mini oynatıcı, ekranın dışına sağa veya sola sürüklenebilir" Yatay sürükleme hareketi devre dışı Kapatma düğmesini gizle Kapatma düğmesi gizli Kapatma düğmesi görünür Büyüt ve kapat düğmelerini gizle - "Düğmeler gizlendi + "Düğmeler gizli -Genişletmek veya kapatmak için kaydırın." +Genişletmek veya kapatmak için kaydırın" Büyütme ve kapatma düğmeleri görünür Alt metinleri gizle Alt metinler gizli @@ -1111,9 +1116,9 @@ Genişletmek veya kapatmak için kaydırın." Başlangıç boyutu Başlangıçtaki boyut, piksel cinsinden Piksel boyutu %1$s ve %2$s arasında olmalıdır - Katman şeffaflığı + Katman opaklığı 0-100 arasında opaklık değeri, 0 şeffaftır - Katman şeffaflığı 0-100 arasında olmalıdır + Katman opaklığı 0-100 arasında olmalıdır Gradyan yükleme ekranını etkinleştir @@ -1122,35 +1127,35 @@ Genişletmek veya kapatmak için kaydırın." Özel zaman çubuğu rengini etkinleştir - Özel zaman çubuğu rengi gösteriliyor - Orijinal zaman çubuğu rengi gösteriliyor + Özel zaman çubuğu rengi gösterilir + Orijinal zaman çubuğu rengi gösterilir Özel zaman çubuğu rengi Zaman çubuğunun rengi Geçersiz zaman çubuğu renk değeri Resimlerin bölge kısıtlamalarını atla - Resim sunucusu kullanılıyor: yt4.ggpht.com - "Orijinal resim ana bilgisayarını kullanıyor + yt4.ggpht.com resim sunucusu kullanılır + "Orijinal resim sunucusu kullanılır -Bunu etkinleştirmek, bazı bölgelerde engellenen eksik resimleri düzeltebilir." +Bunu etkinleştirmek, bazı bölgelerde engellenen eksik resimleri düzeltebilir" - \"Ana Sayfa\" sekmesinde + \"Ana Sayfa\" sekmesi - \"Abonelikler\" sekmesinde + \"Abonelikler\" sekmesi \"Siz\" sekmesi Oynatıcı çalma listeleri, öneriler - Arama sonuçlarında + Arama sonuçları Orijinal küçük resimler - DeArrow ve Orijinal küçük resimleri + DeArrow & Orijinal küçük resimler DeArrow & Hareketsiz Yakalamalar Hareketsiz yakalamalar "DeArrow, YouTube videoları için topluluk kaynaklı küçük resimler sağlar. Bu küçük resimler, YouTube tarafından sağlananlardan genellikle daha alakalıdır. -Etkinleştirilirse, video URL'leri API sunucusuna gönderilecek ve başka hiçbir veri gönderilmeyecektir. Bir videoda DeArrow küçük resimleri yoksa, orijinal veya durağan yakalamalar gösterilir +Etkinleştirilirse, video URL'leri API sunucusuna gönderilecek ve başka hiçbir veri gönderilmeyecektir. Bir videoda DeArrow küçük resmi yoksa, orijinal küçük resim veya hareketsiz yakalamalar gösterilir DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun" API kullanılamadığında bir tost bildirimi göster @@ -1158,12 +1163,12 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun" DeArrow kullanılamadığında tost bildirimi gösterilmez DeArrow API uç noktası DeArrow küçük resim önbelleğinin URL\'si - Hareketsiz video kareleri - Video içinden kareler, her videonun başından/ortasından/sonundan alınır. Bu resimler YouTube\'da yerleşiktir ve harici bir API kullanılmaz - Hızlı video içi kareleri kullan - Orta kalite video içinden kareler kullanılıyor. Kapak resimleri daha hızlı yüklenecektir, fakat canlı yayınlar, yayınlanmayan veya çok eski videolar boş kapak resimleri gösterebilir - Yüksek kalite video içi kareler kullanılıyor - Karenin alınacağı video zamanı + Hareketsiz video yakalamaları + Hareketsiz yakalamalar, her videonun başından/ortasından/sonundan alınır. Bu resimler YouTube\'da yerleşiktir ve harici bir API kullanılmaz + Hızlı hareketsiz yakalamaları kullan + Orta kalite hareketsiz yakalamalar kullanılıyor. Kapak resimleri daha hızlı yüklenecektir, fakat canlı yayınlar, yayınlanmayan veya çok eski videolar boş kapak resimleri gösterebilir + Yüksek kalite hareketsiz yakalamalar kullanılıyor + Hareketsiz yakalamanın alınacağı video zamanı Video başlangıcı Video ortası Video sonu @@ -1173,11 +1178,11 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun" ReVanced duyurularını göster - Başlangıçta duyurular gösteriliyor - Başlangıçta duyurular gösterilmiyor + Başlangıçta duyurular gösterilir + Başlangıçta duyurular gösterilmez Başlangıçta duyuruları göster Duyuru sağlayıcısına bağlanılamadı - Yoksay + Yok say Uyarı @@ -1191,10 +1196,10 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun" Cihaz boyutlarını taklit et - "Cihaz boyutları dönüştürüldü + "Cihaz boyutları taklit edilir Daha yüksek video kaliteleri açılabilir, ancak video oynatmada takılma, daha kötü pil ömrü ve bilinmeyen yan etkiler yaşayabilirsiniz" - "Cihaz boyutları dönüştürülmedi + "Cihaz boyutları taklit edilmez Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Bunu etkinleştirmek video oynatma takılmaları, daha kötü pil ömrü, ve bilinmeyen yan etkiler yaşamanıza sebep olabilir. @@ -1225,15 +1230,15 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Orijinal sesi zorla - Orijinal sesi kullanma - Varsayılan sesi kullanma + Orijinal ses kullanılıyor + Varsayılan ses kullanılıyor Oto Video kalitesi değişikliklerini hatırla - Kalite değişiklikleri tüm videolara uygulanacak - Kalite değişimleri sadece oynatılan videoya uygulanıyor + Kalite değişiklikleri tüm videolara uygulanır + Kalite değişiklikleri sadece oynatılan videoya uygulanır Wi-Fi ağındaki varsayılan video kalitesi Mobil ağdaki varsayılan video kalitesi mobil ağ @@ -1242,13 +1247,13 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Hız diyaloğu düğmesini göster - Buton gösteriliyor - Düğme gizli + Düğme gösterilir + Düğme gösterilmez Özel oynatma hızı menüsü - Özel oynatma hızı menüsü görünür - Özel oynatma hızı menüsü görünmez + Özel oynatma hızı menüsü gösterilir + Özel oynatma hızı menüsü gösterilmez Özel oynatma hızları Özel oynatma hızları ekle veya değiştir Özel hızlar %s\'den az olmalıdır @@ -1257,31 +1262,31 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Oynatma hızı değişikliklerini hatırla - Oynatma hızı değişiklikleri tüm videolara uygulanacak - Oynatma hızı değişiklikleri yalnızca geçerli videoya uygulanacak + Oynatma hızı değişiklikleri tüm videolara uygulanır + Oynatma hızı değişiklikleri yalnızca geçerli videoya uygulanır Varsayılan oynatma hızı Varsayılan hız %s olarak değiştirildi Eski video kalite menüsünü geri getir - Eski video kalite menüsü gösteriliyor - Eski video kalite menüsü gösterilmiyor + Eski video kalite menüsü gösterilir + Eski video kalite menüsü gösterilmez Kaydırarak sardırmayı etkinleştir Kaydırarak sardırma etkin - Kaydırarak saydırma etkin değil + Kaydırarak sardırma etkin değil Video akışlarını taklit et Oynatma sorunlarını önlemek için istemci video akışlarını taklit et Video akışlarını taklit et - Video akışları taklit ediliyor - "Video akışları dönüştürülmüyor + Video akışları taklit edilir + "Video akışları taklit edilmez Video oynatma çalışmayabilir" Bu ayarı devre dışı bırakmak video oynatma sorunlarına yol açabilir. - Varsayılan istemci + Varsayılan istemci AVC\'yi (H.264) zorla Video kodeği AVC\'ye zorlanıyor (H.264) Video kodeği otomatik olarak ayarlanır @@ -1289,16 +1294,17 @@ Video oynatma çalışmayabilir" AVC'nin maksimum çözünürlüğü 1080p'dir, Opus ses kodeği mevcut değildir ve video oynatma VP9 veya AV1'den daha fazla internet verisi kullanacaktır." iOS taklidi yan etkileri - "• Özel çocuk videoları oynatılmayabilir + "• Çocuklara özel gizli videolar oynatılmayabilir • Videolar 1 saniye erken biter" Android VR taklidi yan etkileri - "• Çocuk videoları oynatılmayabilir -• Canlı yayınlar baştan başlar -• Videolar 1 saniye erken biter" + "• Çocuklara özel gizli videoları oynatılmayabilir +• Ses parçası menüsü eksik +• Sabit ses özelliği kullanılamaz +• Orijinal sesi zorlama kullanılamaz" Varsayılan ses akışı dili Uygulama dili Arapça - Azerbaycanca + Azerice Bulgarca Bengalce Katalanca @@ -1327,7 +1333,7 @@ AVC'nin maksimum çözünürlüğü 1080p'dir, Opus ses kodeği mevcut değildir Moğolca Marathice Malayca - Birmanca + Burmaca Flemenkçe Odiyaca Pencapça @@ -1367,8 +1373,8 @@ AVC'nin maksimum çözünürlüğü 1080p'dir, Opus ses kodeği mevcut değildir Video reklamlarını engelle - Video reklamları engelleniyor - Video reklamları engellenmiyor + Video reklamları engellenir + Video reklamları engellenmez mesaj silindi @@ -1379,8 +1385,8 @@ AVC'nin maksimum çözünürlüğü 1080p'dir, Opus ses kodeği mevcut değildir Kanal Puanlarını otomatik olarak topla - Kanal Puanları otomatik olarak toplanıyor - Kanal Puanları otomatik olarak toplanmıyor + Kanal Puanları otomatik olarak toplanır + Kanal Puanları otomatik olarak toplanmaz diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 011c25906f..7a5ac07e61 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -79,7 +79,6 @@ Second \"item\" text" Стрічка Плеєр Загальні налаштування - Шорти Панель прогресу Керування жестами Різне @@ -519,10 +518,10 @@ Second \"item\" text" Вимкнути напівпрозорість рядка стану Рядок стану непрозорий Рядок стану непрозорий або напівпрозорий - Вимкнути світлу напівпрозору панель + Вимкнути напівпрозорість світлої панелі Панель навігації світлого режиму непрозора Панель навігації світлого режиму непрозора або напівпрозора - Вимкнути темну напівпрозору панель + Вимкнути напівпрозорість темної панелі Панель навігації темного режиму непрозора Панель навігації темного режиму непрозора або напівпрозора @@ -1049,6 +1048,12 @@ Second \"item\" text" Плеєр Shorts вимкнуто при запуску додатку Плеєр Shorts увімкнуто при запуску додатку + + Відкривати Shorts через + Плеєр Shorts + Звичайний плеєр + Звичайний плеєр на весь екран + Автовідтворення Shorts Shorts будуть автоматично відтворюватися одне за одним @@ -1280,7 +1285,7 @@ Second \"item\" text" Відтворення відео може не працювати" Вимкнення цього параметра може спричинити проблеми відтворення відео. - Клієнт за замовчуванням + Клієнт за замовчуванням Примусово AVC (H.264) Примусово увімкнено відеокодек AVC (H.264) Відеокодек визначається автоматично @@ -1291,9 +1296,10 @@ AVC має максимальну роздільну здатність 1080p, "• Відео для дітей можуть не відтворюватися • Відео закінчуються на 1 секунду раніше" Побічні ефекти підробки Android VR: - "• Відео для дітей можуть не відтворюватися -• Меню звукової доріжки відсутнє -• Стабілізація гучності недоступна" + "• Дитячі відео можуть не відтворюватися +• Меню звукових доріжок відсутнє +• Немає можливості стабільного регулювання гучності +• Немає можливості примусового відтворення оригінального звуку" Стандартна мова аудіопотоку Мова застосунку Арабська diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index d13e411bd3..8a53d430fb 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -1049,6 +1049,12 @@ Nếu sau này tắt đi, bạn nên xóa dữ liệu ứng dụng để tránh Trinh phát Shorts sẽ không tiếp tục khi ứng dụng khởi chạy Trinh phát Shorts sẽ tiếp tục khi ứng dụng khởi chạy + + Mở Shorts bằng + Trình phát Shorts + Trình phát thông thường + Trình phát thông thường toàn màn hình + Tự động phát Shorts Shorts sẽ phát tự động @@ -1201,7 +1207,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn" Cài đặt GmsCore - Các cài dặt cho GmsCore + Các cài đặt cho GmsCore Vượt chuyển hướng URL @@ -1281,7 +1287,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn" Việc tắt cài đặt này có thể gây ra sự cố phát nền video. - Máy khách mặc định + Máy khách mặc định AVC (H.264) ép buộc Bộ giải mã video bị ép về AVC (H.264) Bộ giải mã video được tự động xác định @@ -1292,9 +1298,10 @@ AVC có độ phân giải tối đa là 1080p, bộ giải mã âm thanh Opus k "• Video riêng tư của trẻ em có thể không phát • Video kết thúc sớm 1 giây" Tác dụng phụ của giả mạo Android VR - "• Video thiếu nhi có thể không phát -• Luồng trực tiếp bắt đầu từ đầu -• Video kết thúc sớm 1 giây" + "• Video trẻ em có thể không phát được +• Thiếu menu âm thanh +• Không có âm lượng ổn định +• Không có tùy chọn Âm thanh gốc" Ngôn ngữ âm thanh mặc định Ngôn ngữ ứng dụng Tiếng Ả Rập diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 1c61f6b519..f1714468d6 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -1050,6 +1050,12 @@ Second \"item\" text" Shorts 播放器不会在应用启动时恢复 Shorts 播放器将在应用启动时恢复 + + 使用 Shorts 播放器打开 + Shorts 播放器 + 普通播放器 + 普通播放器全屏 + 自动播放 Shorts Shorts 将自动播放 @@ -1282,7 +1288,7 @@ Second \"item\" text" 视频播放可能无法正常工作" 关闭此选项可能会导致视频不能正常播放。 - 默认客户端 + 默认客户端 强制使用 AVC (H.264) 视频编解码器已强制使用 AVC (H.264) 视频编解码器会自动确定 @@ -1294,8 +1300,9 @@ AVC 的最大分辨率为 1080p,Opus 音频编解码器不可用,视频播 • 视频提前 1 秒结束" Android VR 伪装副作用 "• 儿童视频可能无法播放 -• 直播从头开始 -• 视频提前 1 秒结束" +• 缺少音轨菜单 +• 稳定音量不可用 +• 强制原始音频不可用" 默认音频流语言 应用语言 阿拉伯语 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index f60eca670a..3ab9147b7f 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -1051,6 +1051,12 @@ Second \"item\" text" Shorts 播放器將不會在應用程式啟動後復原 Shorts 播放器將會在應用程式啟動後復原 + + 開啟 YouTube Shorts + Shorts 播放器 + 一般播放器 + 一般播放器全螢幕 + 自動播放 Shorts Shorts 將自動播放 @@ -1283,7 +1289,7 @@ Second \"item\" text" 影片播放可能無法正常運作" 關閉此設定可能會導致影片播放發生問題 - 預設用戶端 + 預設用戶端 強制 AVC (H.264) 強制以 AVC (H.264) 作為影片解碼器 自動選擇影片解碼器 @@ -1295,9 +1301,10 @@ AVC 的最高解析度為 1080p,不支援 Opus 音訊格式,影片播放會 "• 私人兒童影片可能無法播放 • 影片提前 1 秒結束" Android VR 欺騙副作用 - "• 兒童影片可能無法播放 -• 直播從頭開始 -• 影片提前 1 秒結束" + "• 影片可能無法撥放 +• 音訊曲目選單遺失 +• 穩定音量不可用 +• 強迫使用原始音訊不可用" 預設音訊串流語言 應用程式語言 阿拉伯語 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index 5e60c4d728..0e825a4c30 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -164,6 +164,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index c600e86b7e..3ce8ff5e39 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -1,12 +1,12 @@ - + Android VR iOS - + ANDROID_VR IOS @@ -221,6 +221,28 @@ BROWSE + + + @string/revanced_shorts_player_type_shorts + @string/revanced_shorts_player_type_regular_player + + + + SHORTS_PLAYER + REGULAR_PLAYER + + + @string/revanced_shorts_player_type_shorts + @string/revanced_shorts_player_type_regular_player + @string/revanced_shorts_player_type_regular_player_fullscreen + + + + SHORTS_PLAYER + REGULAR_PLAYER + REGULAR_PLAYER_FULLSCREEN + + @string/revanced_alt_thumbnail_options_entry_1 diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index bb502a992b..dc826d49b9 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1058,6 +1058,12 @@ If later turned off, it is recommended to clear the app data to prevent UI bugs. Shorts player will not resume on app startup Shorts player will resume on app startup + + Open Shorts with + Shorts player + Regular player + Regular player fullscreen + Autoplay Shorts Shorts will autoplay @@ -1290,7 +1296,7 @@ Enabling this can unlock higher video qualities" Video playback may not work" Turning off this setting may cause video playback issues. - Default client + Default client Force AVC (H.264) Video codec is forced to AVC (H.264) Video codec is determined automatically @@ -1303,7 +1309,8 @@ AVC has a maximum resolution of 1080p, Opus audio codec is not available, and vi Android VR spoofing side effects "• Kids videos may not play • Audio track menu is missing -• Stable volume is not available" +• Stable volume is not available +• Force original audio is not available" Default audio stream language App language Arabic