diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f040d689..07b7f48ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,122 @@ +# [4.14.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.14...v4.14.0-dev.15) (2024-09-17) + + +### Bug Fixes + +* **YouTube:** Fix issues related to playback by replace streaming data ([#3582](https://github.com/ReVanced/revanced-patches/issues/3582)) ([dfa94d7](https://github.com/ReVanced/revanced-patches/commit/dfa94d70f65150d6ef24ea6378b8e6a317055186)) + +# [4.14.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.13...v4.14.0-dev.14) (2024-09-17) + + +### Features + +* **YouTube Music:** Make working patches compatible with latest versions ([#3556](https://github.com/ReVanced/revanced-patches/issues/3556)) ([12f6f19](https://github.com/ReVanced/revanced-patches/commit/12f6f1966ad04631451940f7b64d785c3ef481a0)) + +# [4.14.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.12...v4.14.0-dev.13) (2024-09-17) + + +### Features + +* **YouTube - Hide Shorts components:** Hide 'Use this sound' button ([#3647](https://github.com/ReVanced/revanced-patches/issues/3647)) ([33fc090](https://github.com/ReVanced/revanced-patches/commit/33fc09061431d4aa457d743c09a0de31ec566df1)) + +# [4.14.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.11...v4.14.0-dev.12) (2024-09-14) + + +### Bug Fixes + +* **Soundcloud - Hide ads:** Support latest version ([#3628](https://github.com/ReVanced/revanced-patches/issues/3628)) ([66e7e33](https://github.com/ReVanced/revanced-patches/commit/66e7e33efce9b702fdfcc2b9803e9da8491c1f08)) + +# [4.14.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.10...v4.14.0-dev.11) (2024-09-12) + + +### Features + +* **Sync for Reddit:** Rename patch to `Use /user/ endpoint` ([98ead49](https://github.com/ReVanced/revanced-patches/commit/98ead493380932cb105530f4ba992673fd364d82)) + +# [4.14.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.9...v4.14.0-dev.10) (2024-09-12) + + +### Features + +* **Sync for Reddit:** Add `Fix /user/ endpoint` patch ([46d11f3](https://github.com/ReVanced/revanced-patches/commit/46d11f3530fcdae9ed08b7e93aac235638a92dff)) + +# [4.14.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.8...v4.14.0-dev.9) (2024-09-09) + + +### Features + +* **YouTube:** Add donation link to settings about screen ([#3626](https://github.com/ReVanced/revanced-patches/issues/3626)) ([0684ab5](https://github.com/ReVanced/revanced-patches/commit/0684ab5f183631de5720352049cfd293daa58eb0)) + +# [4.14.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.7...v4.14.0-dev.8) (2024-09-09) + + +### Bug Fixes + +* **YouTube - SponsorBlock:** Add summary text to 'view my segments' button ([df80b9f](https://github.com/ReVanced/revanced-patches/commit/df80b9f92f0d981b9a40b7756d74f8ccc3dcb1e9)) + +# [4.14.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.6...v4.14.0-dev.7) (2024-09-06) + + +### Features + +* Add `Check environment` patch ([#3610](https://github.com/ReVanced/revanced-patches/issues/3610)) ([fbcbdaf](https://github.com/ReVanced/revanced-patches/commit/fbcbdafa4938a35b5fdec46aae7b250a84b9c139)) + +# [4.14.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.5...v4.14.0-dev.6) (2024-09-06) + + +### Features + +* Add `Change data directory location` patch ([#3602](https://github.com/ReVanced/revanced-patches/issues/3602)) ([5998029](https://github.com/ReVanced/revanced-patches/commit/59980292809cc0626bf49a160eeb05a1523c4eda)) + +# [4.14.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.4...v4.14.0-dev.5) (2024-09-06) + + +### Bug Fixes + +* **Pixiv - Hide ads:** Fix for latest version ([#3616](https://github.com/ReVanced/revanced-patches/issues/3616)) ([98956e8](https://github.com/ReVanced/revanced-patches/commit/98956e8f1a41347bb435720bbf984969469a7110)) + +# [4.14.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.3...v4.14.0-dev.4) (2024-09-01) + + +### Bug Fixes + +* **YouTube - ReturnYouTubeDislike:** Show estimated like count for videos with hidden likes ([#3601](https://github.com/ReVanced/revanced-patches/issues/3601)) ([005be82](https://github.com/ReVanced/revanced-patches/commit/005be82d71b2a42387b1b57035930b20f4663794)) + +# [4.14.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.2...v4.14.0-dev.3) (2024-08-30) + + +### Features + +* **YouTube - Keyword filter:** Add syntax to match whole keywords and not substrings ([#3592](https://github.com/ReVanced/revanced-patches/issues/3592)) ([f5fb351](https://github.com/ReVanced/revanced-patches/commit/f5fb3512cfafe214ba6a6d25ba0825ae1884a0ff)) + +# [4.14.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v4.14.0-dev.1...v4.14.0-dev.2) (2024-08-24) + + +### Features + +* **Duolingo:** Add `Disable ads` and `Enable debug menu` patch ([#3422](https://github.com/ReVanced/revanced-patches/issues/3422)) ([d0a8599](https://github.com/ReVanced/revanced-patches/commit/d0a8599f76ce653e5d7c98069ad3c58b9ab9c5eb)) + +# [4.14.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v4.13.4-dev.2...v4.14.0-dev.1) (2024-08-22) + + +### Features + +* **YouTube - Spoof client:** Allow forcing AVC codec with iOS ([#3570](https://github.com/ReVanced/revanced-patches/issues/3570)) ([1a49d1f](https://github.com/ReVanced/revanced-patches/commit/1a49d1f3c2a343d05d0abc07c143add486246fd0)) + +## [4.13.4-dev.2](https://github.com/ReVanced/revanced-patches/compare/v4.13.4-dev.1...v4.13.4-dev.2) (2024-08-20) + + +### Bug Fixes + +* **YouTube - SponsorBlock:** Handle if the user enters an invalid number into any SB settings ([37b3dd1](https://github.com/ReVanced/revanced-patches/commit/37b3dd1e789f8bb16fa1b9dd582e39c89dbe730c)) + +## [4.13.4-dev.1](https://github.com/ReVanced/revanced-patches/compare/v4.13.3...v4.13.4-dev.1) (2024-08-18) + + +### Bug Fixes + +* **SwissID:** Rename `Remove Google Play Integrity Integrity check` to `Remove Google Play Integrity check` ([#3558](https://github.com/ReVanced/revanced-patches/issues/3558)) ([0f5a771](https://github.com/ReVanced/revanced-patches/commit/0f5a771a5cff5684b4a8fd317f4938fe2cf3cbbe)) + ## [4.13.3](https://github.com/ReVanced/revanced-patches/compare/v4.13.2...v4.13.3) (2024-08-15) diff --git a/api/revanced-patches.api b/api/revanced-patches.api index 7b5140448..f94f26b01 100644 --- a/api/revanced-patches.api +++ b/api/revanced-patches.api @@ -16,6 +16,14 @@ public final class app/revanced/patches/all/connectivity/wifi/spoof/SpoofWifiPat public fun transform (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Lkotlin/Triple;)V } +public final class app/revanced/patches/all/directory/ChangeDataDirectoryLocationPatch : app/revanced/patches/all/misc/transformation/BaseTransformInstructionsPatch { + public static final field INSTANCE Lapp/revanced/patches/all/directory/ChangeDataDirectoryLocationPatch; + public fun filterMap (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;I)Ljava/lang/Integer; + public synthetic fun filterMap (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;I)Ljava/lang/Object; + public fun transform (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;I)V + public synthetic fun transform (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Ljava/lang/Object;)V +} + public final class app/revanced/patches/all/interaction/gestures/PredictiveBackGesturePatch : app/revanced/patcher/patch/ResourcePatch { public static final field INSTANCE Lapp/revanced/patches/all/interaction/gestures/PredictiveBackGesturePatch; public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V @@ -243,6 +251,18 @@ public final class app/revanced/patches/cieid/restrictions/root/BypassRootChecks public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V } +public final class app/revanced/patches/duolingo/ad/DisableAdsPatch : app/revanced/patcher/patch/BytecodePatch { + public static final field INSTANCE Lapp/revanced/patches/duolingo/ad/DisableAdsPatch; + public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V + public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V +} + +public final class app/revanced/patches/duolingo/debug/EnableDebugMenuPatch : app/revanced/patcher/patch/BytecodePatch { + public static final field INSTANCE Lapp/revanced/patches/duolingo/debug/EnableDebugMenuPatch; + public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V + public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V +} + public final class app/revanced/patches/facebook/ads/story/HideStoryAdsPatch : app/revanced/patcher/patch/BytecodePatch { public static final field INSTANCE Lapp/revanced/patches/facebook/ads/story/HideStoryAdsPatch; public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V @@ -808,6 +828,12 @@ public final class app/revanced/patches/reddit/customclients/syncforreddit/fix/s public static final field INSTANCE Lapp/revanced/patches/reddit/customclients/syncforreddit/fix/slink/FixSLinksPatch; } +public final class app/revanced/patches/reddit/customclients/syncforreddit/fix/user/UseUserEndpointPatch : app/revanced/patcher/patch/BytecodePatch { + public static final field INSTANCE Lapp/revanced/patches/reddit/customclients/syncforreddit/fix/user/UseUserEndpointPatch; + public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V + public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V +} + public final class app/revanced/patches/reddit/customclients/syncforreddit/misc/integrations/IntegrationsPatch : app/revanced/patches/shared/misc/integrations/BaseIntegrationsPatch { public static final field INSTANCE Lapp/revanced/patches/reddit/customclients/syncforreddit/misc/integrations/IntegrationsPatch; } @@ -842,6 +868,12 @@ public final class app/revanced/patches/serviceportalbund/detection/root/RootDet public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V } +public abstract class app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch : app/revanced/patcher/patch/BytecodePatch { + public fun (Lapp/revanced/patcher/fingerprint/MethodFingerprint;Ljava/util/Set;Lapp/revanced/patches/shared/misc/integrations/BaseIntegrationsPatch;)V + public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V + public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V +} + public final class app/revanced/patches/shared/misc/fix/verticalscroll/VerticalScrollPatch : app/revanced/patcher/patch/BytecodePatch { public static final field INSTANCE Lapp/revanced/patches/shared/misc/fix/verticalscroll/VerticalScrollPatch; public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V @@ -1850,6 +1882,10 @@ public final class app/revanced/patches/youtube/misc/backgroundplayback/Backgrou public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V } +public final class app/revanced/patches/youtube/misc/check/CheckEnvironmentPatch : app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch { + public static final field INSTANCE Lapp/revanced/patches/youtube/misc/check/CheckEnvironmentPatch; +} + public final class app/revanced/patches/youtube/misc/debugging/DebuggingPatch : app/revanced/patcher/patch/ResourcePatch { public static final field INSTANCE Lapp/revanced/patches/youtube/misc/debugging/DebuggingPatch; public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V @@ -1880,6 +1916,12 @@ public final class app/revanced/patches/youtube/misc/fix/playback/SpoofSignature public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V } +public final class app/revanced/patches/youtube/misc/fix/playback/SpoofVideoStreamsPatch : app/revanced/patcher/patch/BytecodePatch { + public static final field INSTANCE Lapp/revanced/patches/youtube/misc/fix/playback/SpoofVideoStreamsPatch; + public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V + public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V +} + public final class app/revanced/patches/youtube/misc/fix/playback/UserAgentClientSpoofPatch : app/revanced/patches/all/misc/transformation/BaseTransformInstructionsPatch { public static final field INSTANCE Lapp/revanced/patches/youtube/misc/fix/playback/UserAgentClientSpoofPatch; public synthetic fun filterMap (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;I)Ljava/lang/Object; diff --git a/build.gradle.kts b/build.gradle.kts index a9e0830e2..9ed141678 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,6 +31,8 @@ dependencies { implementation(libs.guava) // Used in JsonGenerator. implementation(libs.gson) + // Android API stubs defined here. + compileOnly(project(":stub")) } kotlin { diff --git a/gradle.properties b/gradle.properties index b93c41dd5..de120faae 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ org.gradle.parallel = true org.gradle.caching = true kotlin.code.style = official -version = 4.13.3 +version = 4.14.0-dev.15 diff --git a/patches.json b/patches.json deleted file mode 100644 index 656ae5794..000000000 --- a/patches.json +++ /dev/null @@ -1 +0,0 @@ -[{"name":"Video ads","description":"Adds an option to remove ads in the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide ads","description":"Adds options to remove general ads.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Spoof device dimensions","description":"Adds an option to spoof the device dimensions which unlocks higher video qualities if they aren\u0027t available on the device.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Always repeat","description":"Adds an option to always repeat videos when they end.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Minimized playback","description":"Unlocks options for picture-in-picture and background playback.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove tracking query parameter","description":"Adds an option to remove the tracking info from links you share.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Announcements","description":"Adds an option to show announcements from ReVanced on app startup.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Bypass URL redirects","description":"Adds an option to bypass URL redirects and open the original URL directly.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Open links externally","description":"Adds an option to always open links in your browser instead of in the in-app-browser.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"GmsCore support","description":"Allows patched Google apps to run without root and under a different package name by using GmsCore instead of Google Play Services.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":true,"options":[{"key":"gmsCoreVendor","default":"com.mgoogle","values":{"Vanced":"com.mgoogle","ReVanced":"app.revanced"},"title":"GmsCore Vendor","description":"The group id of the GmsCore vendor.","required":true}]},{"name":"Client spoof","description":"Adds options to spoof the client to allow video playback.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable zoom haptics","description":"Adds an option to disable haptics when zooming.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Enable debugging","description":"Adds options for debugging.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"HDR auto brightness","description":"Adds an option to make the brightness of HDR videos follow the system default.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Restore old video quality menu","description":"Adds an option to restore the old video quality menu with specific video resolution options.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Playback speed","description":"Adds options to customize available playback speeds and to remember the last playback speed selected.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remember video quality","description":"Adds an option to remember the last video quality selected.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Enable slide to seek","description":"Adds an option to enable slide to seek instead of playing at 2x speed when pressing and holding in the video player. Including this patch may cause issues with tapping or double tapping the video player overlay.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Disable precise seeking gesture","description":"Adds an option to disable precise seeking when swiping up on the seekbar.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Seekbar tapping","description":"Adds an option to enable tap-to-seek on the seekbar of the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove viewer discretion dialog","description":"Adds an option to remove the dialog that appears when opening a video that has been age-restricted by accepting it automatically. This does not bypass the age restriction.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"External downloads","description":"Adds support to download and save YouTube videos using an external downloader app.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Copy video URL","description":"Adds options to display buttons in the video player to copy video URLs.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Swipe controls","description":"Adds options to enable and configure volume and brightness swipe controls.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Restore old seekbar thumbnails","description":"Adds an option to restore the old seekbar thumbnails that appear above the seekbar while seeking instead of fullscreen thumbnails.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable player popup panels","description":"Adds an option to disable panels (such as live chat) from opening automatically.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Change header","description":"Applies a custom header in the top left corner within the app. Defaults to the ReVanced header.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":false,"requiresIntegrations":false,"options":[{"key":"header","default":"revanced*borderless","values":{"YouTube":"header*","YouTube Premium":"premium*header","ReVanced":"revanced*","ReVanced (borderless logo)":"revanced*borderless"},"title":"Header","description":"The header to apply to the app.\n\nIf a path to a folder is provided, the folder must contain one or more of the following folders, depending on the DPI of the device:\n\n- drawable-xxxhdpi\n- drawable-xxhdpi\n- drawable-xhdpi\n- drawable-hdpi\n- drawable-mdpi\n\nEach of the folders must contain all of the following files:\n\n- yt_wordmark_header_light.png\n- yt_wordmark_header_dark.png\n\nThe image dimensions must be as follows:\n- drawable-xxxhdpi: 512px x 192px\n- drawable-xxhdpi: 387px x 144px\n- drawable-xhdpi: 258px x 96px\n- drawable-hdpi: 194px x 72px\n- drawable-mdpi: 129px x 48px","required":true}]},{"name":"Custom branding","description":"Applies a custom app name and icon. Defaults to \"YouTube ReVanced\" and the ReVanced logo.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":false,"requiresIntegrations":false,"options":[{"key":"appName","default":"YouTube ReVanced","values":{"YouTube ReVanced":"YouTube ReVanced","YT ReVanced":"YT ReVanced","YT":"YT","YouTube":"YouTube"},"title":"App name","description":"The name of the app.","required":false},{"key":"iconPath","default":"ReVanced*Logo","values":{"ReVanced Logo":"ReVanced*Logo"},"title":"App icon","description":"The icon to apply to the app.\n\nIf a path to a folder is provided, the folder must contain the following folders:\n\n- mipmap-xxxhdpi\n- mipmap-xxhdpi\n- mipmap-xhdpi\n- mipmap-hdpi\n- mipmap-mdpi\n\nEach of these folders must contain the following files:\n\n- adaptiveproduct_youtube_background_color_108.png\n- adaptiveproduct_youtube_foreground_color_108.png\n- ic_launcher.png\n- ic_launcher_round.png","required":false}]},{"name":"Enable tablet layout","description":"Adds an option to spoof the device form factor to a tablet which enables the tablet layout.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Wide searchbar","description":"Adds an option to replace the search icon with a wide search bar. This will hide the YouTube logo when active.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Tablet mini player","description":"Adds an option to enable the tablet mini player layout.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide captions button","description":"Adds an option to hide the captions button in the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide autoplay button","description":"Adds an option to hide the autoplay button in the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide cast button","description":"Adds an option to hide the cast button in the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide player buttons","description":"Adds an option to hide the previous and next buttons in the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Navigation buttons","description":"Adds options to hide and change navigation buttons (such as the Shorts button).","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide video action buttons","description":"Adds options to hide action buttons (such as the Download button) under videos.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Custom player overlay opacity","description":"Adds an option to change the opacity of the video player background when player controls are visible.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove player controls background","description":"Removes the dark background surrounding the video player controls.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"SponsorBlock","description":"Adds options to enable and configure SponsorBlock, which can skip undesired video segments such as sponsored content.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Alternative thumbnails","description":"Adds options to replace video thumbnails using the DeArrow API or image captures from the video.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable resuming Shorts on startup","description":"Adds an option to disable the Shorts player from resuming on app startup when Shorts were last being watched.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Theme","description":"Adds options for theming and applies a custom background theme (dark background theme defaults to amoled black).","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[{"key":"darkThemeBackgroundColor","default":"@android:color/black","values":{"Amoled black":"@android:color/black","Material You":"@android:color/system_neutral1_900","Classic (old YouTube)":"#FF212121","Catppuccin (Mocha)":"#FF181825","Dark pink":"#FF290025","Dark blue":"#FF001029","Dark green":"#FF002905","Dark yellow":"#FF282900","Dark orange":"#FF291800","Dark red":"#FF290000"},"title":"Dark theme background color","description":"Can be a hex color (#AARRGGBB) or a color resource reference.","required":false},{"key":"lightThemeBackgroundColor","default":"@android:color/white","values":{"White":"@android:color/white","Material You":"@android:color/system_neutral1_50","Catppuccin (Latte)":"#FFE6E9EF","Light pink":"#FFFCCFF3","Light blue":"#FFD1E0FF","Light green":"#FFCCFFCC","Light yellow":"#FFFDFFCC","Light orange":"#FFFFE6CC","Light red":"#FFFFD6D6"},"title":"Light theme background color","description":"Can be a hex color (#AARRGGBB) or a color resource reference.","required":false}]},{"name":"Spoof app version","description":"Adds an option to trick YouTube into thinking you are running an older version of the app. This can be used to restore old UI elements and features.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Change start page","description":"Adds an option to set which page the app opens in instead of the homepage.","compatiblePackages":[{"name":"com.google.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide seekbar","description":"Adds an option to hide the seekbar.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Comments","description":"Adds options to hide components related to comments.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide breaking news shelf","description":"Adds an option to hide the breaking news shelf on the homepage tab.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide Shorts components","description":"Adds options to hide components related to YouTube Shorts.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable rolling number animations","description":"Adds an option to disable rolling number animations of video view count, user likes, and upload time.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide floating microphone button","description":"Adds an option to hide the floating microphone button when searching.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide endscreen cards","description":"Adds an option to hide suggested video cards at the end of videos.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide crowdfunding box","description":"Adds an option to hide the crowdfunding box between the player and video description.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable suggested video end screen","description":"Adds an option to disable the suggested video end screen at the end of videos.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable fullscreen ambient mode","description":"Adds an option to disable the ambient mode when in fullscreen.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide \u0027Load more\u0027 button","description":"Adds an option to hide the button under videos that loads similar videos.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide album cards","description":"Adds an option to hide album cards below artist descriptions.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide filter bar","description":"Adds options to hide the category bar at the top of video feeds.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Player flyout menu","description":"Adds options to hide menu items that appear when pressing the gear icon in the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide layout components","description":"Adds options to hide general layout components.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide timestamp","description":"Adds an option to hide the timestamp in the bottom left of the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide info cards","description":"Adds an option to hide info cards that creators add in the video player.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable auto captions","description":"Adds an option to disable captions from being automatically enabled.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.32.39","18.37.36","18.38.44","18.43.45","18.44.41","18.45.43","18.48.39","18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Return YouTube Dislike","description":"Adds an option to show the dislike count of videos using the Return YouTube Dislike API.","compatiblePackages":[{"name":"com.google.android.youtube","versions":["18.49.37","19.01.34","19.02.39","19.03.35","19.03.36","19.04.37"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"com.ithebk.expensemanager","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide story ads","description":"Hides the ads in the Facebook app stories.","compatiblePackages":[{"name":"com.facebook.katana","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable blog notification reminder","description":"Disables the reminder to enable notifications for blogs you visit.","compatiblePackages":[{"name":"com.tumblr","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable in-app update","description":"Disables the in-app update check and update prompt.","compatiblePackages":[{"name":"com.tumblr","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable gift message popup","description":"Disables the popup suggesting to buy TumblrMart items for other people.","compatiblePackages":[{"name":"com.tumblr","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable Tumblr Live","description":"Disable the Tumblr Live tab button and dashboard carousel.","compatiblePackages":[{"name":"com.tumblr","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable dashboard ads","description":"Disables ads in the dashboard.","compatiblePackages":[{"name":"com.tumblr","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable typing indicator","description":"Disables the indicator while typing a message.","compatiblePackages":[{"name":"com.facebook.orca","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable switching emoji to sticker","description":"Disables switching from emoji to sticker search mode in message input field.","compatiblePackages":[{"name":"com.facebook.orca","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide inbox ads","description":"Hides ads in inbox.","compatiblePackages":[{"name":"com.facebook.orca","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"com.wakdev.apps.nfctools.se","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"com.awedea.nyx","versions":["2.2.7"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable mandatory login","description":null,"compatiblePackages":[{"name":"com.adobe.lrmobile","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock premium","description":null,"compatiblePackages":[{"name":"com.adobe.lrmobile","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock subscription features","description":"Unlocks \"Routes\", \"Matched Runs\" and \"Segment Efforts\".","compatiblePackages":[{"name":"com.strava","versions":["320.12"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable subscription suggestions","description":null,"compatiblePackages":[{"name":"com.strava","versions":["320.12"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove broadcasts restriction","description":"Enables starting/stopping NetGuard via broadcasts.","compatiblePackages":[{"name":"eu.faircode.netguard","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Spoof signature","description":"Spoofs the signature of the app.","compatiblePackages":[{"name":"at.gv.oe.app","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove root detection","description":"Removes the check for root permissions and unlocked bootloader.","compatiblePackages":[{"name":"at.gv.oe.app","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":"Unlocks pro features.","compatiblePackages":[{"name":"com.vsco.cam","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable ads","description":null,"compatiblePackages":[{"name":"com.myprog.hexedit","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Settings","description":"Adds ReVanced settings to TikTok.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":["32.5.3"]},{"name":"com.zhiliaoapp.musically","versions":["32.5.3"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable login requirement","description":null,"compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":null},{"name":"com.zhiliaoapp.musically","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Fix Google login","description":"Allows logging in with a Google account.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":null},{"name":"com.zhiliaoapp.musically","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"SIM spoof","description":"Spoofs the information which is retrieved from the SIM card.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":null},{"name":"com.zhiliaoapp.musically","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Show seekbar","description":"Shows progress bar for all video.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":null},{"name":"com.zhiliaoapp.musically","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Playback speed","description":"Enables the playback speed option for all videos and retains the speed configurations in between videos.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":["32.5.3"]},{"name":"com.zhiliaoapp.musically","versions":["32.5.3"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remember clear display","description":"Remembers the clear display configurations in between videos.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":["32.5.3"]},{"name":"com.zhiliaoapp.musically","versions":["32.5.3"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Downloads","description":"Removes download restrictions and changes the default path to download to.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":["32.5.3"]},{"name":"com.zhiliaoapp.musically","versions":["32.5.3"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Feed filter","description":"Removes ads, livestreams, stories, image videos and videos with a specific amount of views or likes from the feed.","compatiblePackages":[{"name":"com.ss.android.ugc.trill","versions":["32.5.3"]},{"name":"com.zhiliaoapp.musically","versions":["32.5.3"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove root detection","description":"Removes the check for root permissions and unlocked bootloader.","compatiblePackages":[{"name":"at.gv.bka.serviceportal","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"ginlemon.iconpackstudio","versions":["2.2 build 016"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"org.totschnig.myexpenses","versions":["3.4.9"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Block video ads","description":"Blocks video ads in streams and VODs.","compatiblePackages":[{"name":"tv.twitch.android.app","versions":["15.4.1","16.1.0","16.9.1"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Block embedded ads","description":"Blocks embedded stream ads using services like Luminous or PurpleAdBlocker.","compatiblePackages":[{"name":"tv.twitch.android.app","versions":["15.4.1","16.1.0","16.9.1"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Block audio ads","description":"Blocks audio ads in streams and VODs.","compatiblePackages":[{"name":"tv.twitch.android.app","versions":["15.4.1","16.1.0","16.9.1"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Settings","description":"Adds settings menu to Twitch.","compatiblePackages":[{"name":"tv.twitch.android.app","versions":["15.4.1","16.1.0","16.9.1"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Debug mode","description":"Enables Twitch\u0027s internal debugging mode.","compatiblePackages":[{"name":"tv.twitch.android.app","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Show deleted messages","description":"Shows deleted chat messages behind a clickable spoiler.","compatiblePackages":[{"name":"tv.twitch.android.app","versions":["15.4.1","16.1.0","16.9.1"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Auto claim channel points","description":"Automatically claim Channel Points.","compatiblePackages":[{"name":"tv.twitch.android.app","versions":["15.4.1","16.1.0","16.9.1"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide ads","description":null,"compatiblePackages":[{"name":"com.nis.app","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"com.candylink.openvpn","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove bootloader detection","description":"Removes the check for an unlocked bootloader.","compatiblePackages":[{"name":"at.gv.bmf.bmf2go","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove root detection","description":"Removes the check for root permissions.","compatiblePackages":[{"name":"at.gv.bmf.bmf2go","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Music video ads","description":"Removes ads in the music player.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Bypass certificate checks","description":"Bypasses certificate checks which prevent YouTube Music from working on Android Auto.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"GmsCore support","description":"Allows patched Google apps to run without root and under a different package name by using GmsCore instead of Google Play Services.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":true,"options":[{"key":"gmsCoreVendor","default":"com.mgoogle","values":{"Vanced":"com.mgoogle","ReVanced":"app.revanced"},"title":"GmsCore Vendor","description":"The group id of the GmsCore vendor.","required":true}]},{"name":"Permanent repeat","description":"Permanently remember your repeating preference even if the playlist ends or another track is played.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Permanent shuffle","description":"Permanently remember your shuffle preference even if the playlist ends or another track is played.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Minimized playback music","description":"Enables minimized playback on Kids music.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove upgrade button","description":"Removes the upgrade tab from the pivot bar.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Compact header","description":"Hides the music category bar at the top of the homepage.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Hide get premium","description":"Removes all \"Get Premium\" evidences from the avatar menu.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Background play","description":"Enables playing music in the background.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Exclusive audio playback","description":"Enables the option to play audio without video.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Codecs unlock","description":"Adds more audio codec options. The new audio codecs usually result in better audio quality.","compatiblePackages":[{"name":"com.google.android.apps.youtube.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide ads","description":null,"compatiblePackages":[{"name":"jp.pxv.android","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Show on lockscreen","description":"Shows student id and student ticket on lockscreen.","compatiblePackages":[{"name":"de.tudortmund.app","versions":null}],"use":true,"requiresIntegrations":true,"options":[]},{"name":"Unlock pro","description":"Unlocks all pro features.","compatiblePackages":[{"name":"co.windyapp.android","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock premium","description":null,"compatiblePackages":[{"name":"io.yuka.android","versions":["4.29"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Change package name","description":"Appends \".revanced\" to the package name by default. Changing the package name of the app can lead to unexpected issues.","compatiblePackages":null,"use":false,"requiresIntegrations":false,"options":[{"key":"packageName","default":"Default","values":{"Default":"Default"},"title":"Package name","description":"The name of the package to rename the app to.","required":true}]},{"name":"Override certificate pinning","description":"Overrides certificate pinning, allowing to inspect traffic via a proxy.","compatiblePackages":null,"use":false,"requiresIntegrations":false,"options":[]},{"name":"Enable Android debugging","description":"Enables Android debugging capabilities. This can slow down the app.","compatiblePackages":null,"use":false,"requiresIntegrations":false,"options":[]},{"name":"Remove screen capture restriction","description":"Removes the restriction of capturing audio from apps that normally wouldn\u0027t allow it.","compatiblePackages":null,"use":false,"requiresIntegrations":true,"options":[]},{"name":"Export all activities","description":"Makes all app activities exportable.","compatiblePackages":null,"use":false,"requiresIntegrations":false,"options":[]},{"name":"Predictive back gesture","description":"Enables the predictive back gesture introduced on Android 13.","compatiblePackages":null,"use":false,"requiresIntegrations":false,"options":[]},{"name":"Spoof SIM country","description":"Spoofs country information returned by the SIM card provider.","compatiblePackages":null,"use":false,"requiresIntegrations":false,"options":[{"key":"networkCountryIso","default":null,"values":{"Andorra":"AD","United Arab Emirates":"AE","Afghanistan":"AF","Antigua \u0026 Barbuda":"AG","Anguilla":"AI","Albania":"AL","Armenia":"AM","Angola":"AO","Antarctica":"AQ","Argentina":"AR","American Samoa":"AS","Austria":"AT","Australia":"AU","Aruba":"AW","Åland Islands":"AX","Azerbaijan":"AZ","Bosnia \u0026 Herzegovina":"BA","Barbados":"BB","Bangladesh":"BD","Belgium":"BE","Burkina Faso":"BF","Bulgaria":"BG","Bahrain":"BH","Burundi":"BI","Benin":"BJ","St. Barthélemy":"BL","Bermuda":"BM","Brunei":"BN","Bolivia":"BO","Caribbean Netherlands":"BQ","Brazil":"BR","Bahamas":"BS","Bhutan":"BT","Bouvet Island":"BV","Botswana":"BW","Belarus":"BY","Belize":"BZ","Canada":"CA","Cocos (Keeling) Islands":"CC","Congo - Kinshasa":"CD","Central African Republic":"CF","Congo - Brazzaville":"CG","Switzerland":"CH","Côte d’Ivoire":"CI","Cook Islands":"CK","Chile":"CL","Cameroon":"CM","China":"CN","Colombia":"CO","Costa Rica":"CR","Cuba":"CU","Cape Verde":"CV","Curaçao":"CW","Christmas Island":"CX","Cyprus":"CY","Czechia":"CZ","Germany":"DE","Djibouti":"DJ","Denmark":"DK","Dominica":"DM","Dominican Republic":"DO","Algeria":"DZ","Ecuador":"EC","Estonia":"EE","Egypt":"EG","Western Sahara":"EH","Eritrea":"ER","Spain":"ES","Ethiopia":"ET","Finland":"FI","Fiji":"FJ","Falkland Islands":"FK","Micronesia":"FM","Faroe Islands":"FO","France":"FR","Gabon":"GA","United Kingdom":"GB","Grenada":"GD","Georgia":"GE","French Guiana":"GF","Guernsey":"GG","Ghana":"GH","Gibraltar":"GI","Greenland":"GL","Gambia":"GM","Guinea":"GN","Guadeloupe":"GP","Equatorial Guinea":"GQ","Greece":"GR","South Georgia \u0026 South Sandwich Islands":"GS","Guatemala":"GT","Guam":"GU","Guinea-Bissau":"GW","Guyana":"GY","Hong Kong SAR China":"HK","Heard \u0026 McDonald Islands":"HM","Honduras":"HN","Croatia":"HR","Haiti":"HT","Hungary":"HU","Indonesia":"ID","Ireland":"IE","Israel":"IL","Isle of Man":"IM","India":"IN","British Indian Ocean Territory":"IO","Iraq":"IQ","Iran":"IR","Iceland":"IS","Italy":"IT","Jersey":"JE","Jamaica":"JM","Jordan":"JO","Japan":"JP","Kenya":"KE","Kyrgyzstan":"KG","Cambodia":"KH","Kiribati":"KI","Comoros":"KM","St. Kitts \u0026 Nevis":"KN","North Korea":"KP","South Korea":"KR","Kuwait":"KW","Cayman Islands":"KY","Kazakhstan":"KZ","Laos":"LA","Lebanon":"LB","St. Lucia":"LC","Liechtenstein":"LI","Sri Lanka":"LK","Liberia":"LR","Lesotho":"LS","Lithuania":"LT","Luxembourg":"LU","Latvia":"LV","Libya":"LY","Morocco":"MA","Monaco":"MC","Moldova":"MD","Montenegro":"ME","St. Martin":"MF","Madagascar":"MG","Marshall Islands":"MH","Macedonia":"MK","Mali":"ML","Myanmar (Burma)":"MM","Mongolia":"MN","Macau SAR China":"MO","Northern Mariana Islands":"MP","Martinique":"MQ","Mauritania":"MR","Montserrat":"MS","Malta":"MT","Mauritius":"MU","Maldives":"MV","Malawi":"MW","Mexico":"MX","Malaysia":"MY","Mozambique":"MZ","Namibia":"NA","New Caledonia":"NC","Niger":"NE","Norfolk Island":"NF","Nigeria":"NG","Nicaragua":"NI","Netherlands":"NL","Norway":"NO","Nepal":"NP","Nauru":"NR","Niue":"NU","New Zealand":"NZ","Oman":"OM","Panama":"PA","Peru":"PE","French Polynesia":"PF","Papua New Guinea":"PG","Philippines":"PH","Pakistan":"PK","Poland":"PL","St. Pierre \u0026 Miquelon":"PM","Pitcairn Islands":"PN","Puerto Rico":"PR","Palestinian Territories":"PS","Portugal":"PT","Palau":"PW","Paraguay":"PY","Qatar":"QA","Réunion":"RE","Romania":"RO","Serbia":"RS","Russia":"RU","Rwanda":"RW","Saudi Arabia":"SA","Solomon Islands":"SB","Seychelles":"SC","Sudan":"SD","Sweden":"SE","Singapore":"SG","St. Helena":"SH","Slovenia":"SI","Svalbard \u0026 Jan Mayen":"SJ","Slovakia":"SK","Sierra Leone":"SL","San Marino":"SM","Senegal":"SN","Somalia":"SO","Suriname":"SR","South Sudan":"SS","São Tomé \u0026 Príncipe":"ST","El Salvador":"SV","Sint Maarten":"SX","Syria":"SY","Swaziland":"SZ","Turks \u0026 Caicos Islands":"TC","Chad":"TD","French Southern Territories":"TF","Togo":"TG","Thailand":"TH","Tajikistan":"TJ","Tokelau":"TK","Timor-Leste":"TL","Turkmenistan":"TM","Tunisia":"TN","Tonga":"TO","Turkey":"TR","Trinidad \u0026 Tobago":"TT","Tuvalu":"TV","Taiwan":"TW","Tanzania":"TZ","Ukraine":"UA","Uganda":"UG","U.S. Outlying Islands":"UM","United States":"US","Uruguay":"UY","Uzbekistan":"UZ","Vatican City":"VA","St. Vincent \u0026 Grenadines":"VC","Venezuela":"VE","British Virgin Islands":"VG","U.S. Virgin Islands":"VI","Vietnam":"VN","Vanuatu":"VU","Wallis \u0026 Futuna":"WF","Samoa":"WS","Yemen":"YE","Mayotte":"YT","South Africa":"ZA","Zambia":"ZM","Zimbabwe":"ZW"},"title":"Network ISO Country Code","description":"ISO-3166-1 alpha-2 country code equivalent for the SIM provider\u0027s country code.","required":false},{"key":"simCountryIso","default":null,"values":{"Andorra":"AD","United Arab Emirates":"AE","Afghanistan":"AF","Antigua \u0026 Barbuda":"AG","Anguilla":"AI","Albania":"AL","Armenia":"AM","Angola":"AO","Antarctica":"AQ","Argentina":"AR","American Samoa":"AS","Austria":"AT","Australia":"AU","Aruba":"AW","Åland Islands":"AX","Azerbaijan":"AZ","Bosnia \u0026 Herzegovina":"BA","Barbados":"BB","Bangladesh":"BD","Belgium":"BE","Burkina Faso":"BF","Bulgaria":"BG","Bahrain":"BH","Burundi":"BI","Benin":"BJ","St. Barthélemy":"BL","Bermuda":"BM","Brunei":"BN","Bolivia":"BO","Caribbean Netherlands":"BQ","Brazil":"BR","Bahamas":"BS","Bhutan":"BT","Bouvet Island":"BV","Botswana":"BW","Belarus":"BY","Belize":"BZ","Canada":"CA","Cocos (Keeling) Islands":"CC","Congo - Kinshasa":"CD","Central African Republic":"CF","Congo - Brazzaville":"CG","Switzerland":"CH","Côte d’Ivoire":"CI","Cook Islands":"CK","Chile":"CL","Cameroon":"CM","China":"CN","Colombia":"CO","Costa Rica":"CR","Cuba":"CU","Cape Verde":"CV","Curaçao":"CW","Christmas Island":"CX","Cyprus":"CY","Czechia":"CZ","Germany":"DE","Djibouti":"DJ","Denmark":"DK","Dominica":"DM","Dominican Republic":"DO","Algeria":"DZ","Ecuador":"EC","Estonia":"EE","Egypt":"EG","Western Sahara":"EH","Eritrea":"ER","Spain":"ES","Ethiopia":"ET","Finland":"FI","Fiji":"FJ","Falkland Islands":"FK","Micronesia":"FM","Faroe Islands":"FO","France":"FR","Gabon":"GA","United Kingdom":"GB","Grenada":"GD","Georgia":"GE","French Guiana":"GF","Guernsey":"GG","Ghana":"GH","Gibraltar":"GI","Greenland":"GL","Gambia":"GM","Guinea":"GN","Guadeloupe":"GP","Equatorial Guinea":"GQ","Greece":"GR","South Georgia \u0026 South Sandwich Islands":"GS","Guatemala":"GT","Guam":"GU","Guinea-Bissau":"GW","Guyana":"GY","Hong Kong SAR China":"HK","Heard \u0026 McDonald Islands":"HM","Honduras":"HN","Croatia":"HR","Haiti":"HT","Hungary":"HU","Indonesia":"ID","Ireland":"IE","Israel":"IL","Isle of Man":"IM","India":"IN","British Indian Ocean Territory":"IO","Iraq":"IQ","Iran":"IR","Iceland":"IS","Italy":"IT","Jersey":"JE","Jamaica":"JM","Jordan":"JO","Japan":"JP","Kenya":"KE","Kyrgyzstan":"KG","Cambodia":"KH","Kiribati":"KI","Comoros":"KM","St. Kitts \u0026 Nevis":"KN","North Korea":"KP","South Korea":"KR","Kuwait":"KW","Cayman Islands":"KY","Kazakhstan":"KZ","Laos":"LA","Lebanon":"LB","St. Lucia":"LC","Liechtenstein":"LI","Sri Lanka":"LK","Liberia":"LR","Lesotho":"LS","Lithuania":"LT","Luxembourg":"LU","Latvia":"LV","Libya":"LY","Morocco":"MA","Monaco":"MC","Moldova":"MD","Montenegro":"ME","St. Martin":"MF","Madagascar":"MG","Marshall Islands":"MH","Macedonia":"MK","Mali":"ML","Myanmar (Burma)":"MM","Mongolia":"MN","Macau SAR China":"MO","Northern Mariana Islands":"MP","Martinique":"MQ","Mauritania":"MR","Montserrat":"MS","Malta":"MT","Mauritius":"MU","Maldives":"MV","Malawi":"MW","Mexico":"MX","Malaysia":"MY","Mozambique":"MZ","Namibia":"NA","New Caledonia":"NC","Niger":"NE","Norfolk Island":"NF","Nigeria":"NG","Nicaragua":"NI","Netherlands":"NL","Norway":"NO","Nepal":"NP","Nauru":"NR","Niue":"NU","New Zealand":"NZ","Oman":"OM","Panama":"PA","Peru":"PE","French Polynesia":"PF","Papua New Guinea":"PG","Philippines":"PH","Pakistan":"PK","Poland":"PL","St. Pierre \u0026 Miquelon":"PM","Pitcairn Islands":"PN","Puerto Rico":"PR","Palestinian Territories":"PS","Portugal":"PT","Palau":"PW","Paraguay":"PY","Qatar":"QA","Réunion":"RE","Romania":"RO","Serbia":"RS","Russia":"RU","Rwanda":"RW","Saudi Arabia":"SA","Solomon Islands":"SB","Seychelles":"SC","Sudan":"SD","Sweden":"SE","Singapore":"SG","St. Helena":"SH","Slovenia":"SI","Svalbard \u0026 Jan Mayen":"SJ","Slovakia":"SK","Sierra Leone":"SL","San Marino":"SM","Senegal":"SN","Somalia":"SO","Suriname":"SR","South Sudan":"SS","São Tomé \u0026 Príncipe":"ST","El Salvador":"SV","Sint Maarten":"SX","Syria":"SY","Swaziland":"SZ","Turks \u0026 Caicos Islands":"TC","Chad":"TD","French Southern Territories":"TF","Togo":"TG","Thailand":"TH","Tajikistan":"TJ","Tokelau":"TK","Timor-Leste":"TL","Turkmenistan":"TM","Tunisia":"TN","Tonga":"TO","Turkey":"TR","Trinidad \u0026 Tobago":"TT","Tuvalu":"TV","Taiwan":"TW","Tanzania":"TZ","Ukraine":"UA","Uganda":"UG","U.S. Outlying Islands":"UM","United States":"US","Uruguay":"UY","Uzbekistan":"UZ","Vatican City":"VA","St. Vincent \u0026 Grenadines":"VC","Venezuela":"VE","British Virgin Islands":"VG","U.S. Virgin Islands":"VI","Vietnam":"VN","Vanuatu":"VU","Wallis \u0026 Futuna":"WF","Samoa":"WS","Yemen":"YE","Mayotte":"YT","South Africa":"ZA","Zambia":"ZM","Zimbabwe":"ZW"},"title":"Sim ISO Country Code","description":"ISO-3166-1 alpha-2 country code equivalent for the SIM provider\u0027s country code.","required":false}]},{"name":"Remove screenshot restriction","description":"Removes the restriction of taking screenshots in apps that normally wouldn\u0027t allow it.","compatiblePackages":null,"use":false,"requiresIntegrations":true,"options":[]},{"name":"Spoof Wi-Fi connection","description":"Spoofs an existing Wi-Fi connection.","compatiblePackages":null,"use":false,"requiresIntegrations":true,"options":[]},{"name":"Remove device restrictions","description":"Removes restrictions from using the app on any device. Requires mounting patched app over original.","compatiblePackages":[{"name":"com.google.android.apps.recorder","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Spoof device ID","description":"Spoofs device ID to mitigate manual bans by developers.","compatiblePackages":[{"name":"com.microblink.photomath","versions":["8.32.0"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock plus","description":null,"compatiblePackages":[{"name":"com.microblink.photomath","versions":["8.32.0"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide update popup","description":"Prevents the update popup from showing up.","compatiblePackages":[{"name":"com.microblink.photomath","versions":["8.32.0"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide timeline ads","description":"Removes ads from the timeline.","compatiblePackages":[{"name":"com.instagram.android","versions":["275.0.0.27.98"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide ads","description":null,"compatiblePackages":[{"name":"com.reddit.frontpage","versions":null}],"use":true,"requiresIntegrations":true,"options":[]},{"name":"Sanitize sharing links","description":"Removes (tracking) query parameters from the URLs when sharing links.","compatiblePackages":[{"name":"com.reddit.frontpage","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"ml.docilealligator.infinityforreddit","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"infinity://localhost\".","required":true}]},{"name":"Unlock subscription","description":"Unlocks the subscription feature but requires a custom client ID.","compatiblePackages":[{"name":"ml.docilealligator.infinityforreddit","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"free.reddit.news","versions":null},{"name":"reddit.news","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"dbrady://relay\".","required":true}]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"com.andrewshu.android.reddit","versions":null},{"name":"com.andrewshu.android.redditdonation","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"redditisfun://auth\".","required":true}]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"o.o.joey","versions":null},{"name":"o.o.joey.pro","versions":null},{"name":"o.o.joey.dev","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"https://127.0.0.1:65023/authorize_callback\".","required":true}]},{"name":"Disable ads","description":null,"compatiblePackages":[{"name":"o.o.joey","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"com.onelouder.baconreader","versions":null},{"name":"com.onelouder.baconreader.premium","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"http://baconreader.com/auth\".","required":true}]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"com.rubenmayayo.reddit","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"http://rubenmayayo.com\".","required":true}]},{"name":"Disable Sync for Lemmy bottom sheet","description":"Disables the bottom sheet at the startup that asks you to signup to \"Sync for Lemmy\".","compatiblePackages":[{"name":"com.laurencedawson.reddit_sync","versions":["v23.06.30-13:39"]},{"name":"com.laurencedawson.reddit_sync.pro","versions":null},{"name":"com.laurencedawson.reddit_sync.dev","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"com.laurencedawson.reddit_sync","versions":null},{"name":"com.laurencedawson.reddit_sync.pro","versions":null},{"name":"com.laurencedawson.reddit_sync.dev","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"http://redditsync/auth\".","required":true}]},{"name":"Fix /s/ links","description":"Fixes the issue where /s/ links do not work.","compatiblePackages":[{"name":"com.laurencedawson.reddit_sync","versions":null},{"name":"com.laurencedawson.reddit_sync.pro","versions":null},{"name":"com.laurencedawson.reddit_sync.dev","versions":null}],"use":true,"requiresIntegrations":true,"options":[]},{"name":"Disable ads","description":null,"compatiblePackages":[{"name":"com.laurencedawson.reddit_sync","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Spoof client","description":"Restores functionality of the app by using custom client ID.","compatiblePackages":[{"name":"me.ccrama.redditslide","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"client-id","default":null,"values":null,"title":"OAuth client ID","description":"The Reddit OAuth client ID. You can get your client ID from https://www.reddit.com/prefs/apps. The application type has to be \"Installed app\" and the redirect URI has to be set to \"http://www.ccrama.me\".","required":true}]},{"name":"Unlock premium Reddit icons","description":null,"compatiblePackages":[{"name":"com.reddit.frontpage","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Disable screenshot popup","description":"Disables the popup that shows up when taking a screenshot.","compatiblePackages":[{"name":"com.reddit.frontpage","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"tv.trakt.trakt","versions":["1.1.1"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide recommended users","description":null,"compatiblePackages":[{"name":"com.twitter.android","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide ads","description":"Hides ads.","compatiblePackages":[{"name":"com.twitter.android","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Dynamic color","description":"Replaces the default X (Formerly Twitter) Blue with the user\u0027s Material You palette.","compatiblePackages":[{"name":"com.twitter.android","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock downloads","description":"Unlocks the ability to download any video.","compatiblePackages":[{"name":"com.twitter.android","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide view count","description":"Hides the view count of Posts.","compatiblePackages":[{"name":"com.twitter.android","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Pro unlock","description":null,"compatiblePackages":[{"name":"com.backdrops.wallpapers","versions":["4.52"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove ads","description":null,"compatiblePackages":[{"name":"net.binarymode.android.irplus","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock pro","description":null,"compatiblePackages":[{"name":"com.zombodroid.MemeGenerator","versions":["4.6364","4.6370","4.6375","4.6377"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Enable on demand","description":"Enables listening to songs on-demand, allowing to play any song from playlists, albums or artists without limitations. This does not remove ads.","compatiblePackages":[{"name":"com.spotify.lite","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide premium navbar","description":"Removes the premium tab from the navbar.","compatiblePackages":[{"name":"com.spotify.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Custom theme","description":"Applies a custom theme.","compatiblePackages":[{"name":"com.spotify.music","versions":null}],"use":true,"requiresIntegrations":false,"options":[{"key":"backgroundColor","default":"@android:color/black","values":null,"title":"Primary background color","description":"The background color. Can be a hex color or a resource reference.","required":true},{"key":"backgroundColorSecondary","default":"#ff282828","values":null,"title":"Secondary background color","description":"The secondary background color. (e.g. search box, artist \u0026 podcast). Can be a hex color or a resource reference.","required":true},{"key":"accentColor","default":"#ff1ed760","values":null,"title":"Accent color","description":"The accent color (\u0027Spotify green\u0027 by default). Can be a hex color or a resource reference.","required":true},{"key":"accentColorPressed","default":"#ff169c46","values":null,"title":"Pressed dark theme accent color","description":"The color when accented buttons are pressed, by default slightly darker than accent. Can be a hex color or a resource reference.","required":true}]},{"name":"Bypass root checks","description":"Removes the restriction to use the app with root permissions or on a custom ROM.","compatiblePackages":[{"name":"it.ipzs.cieid","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove file size limit","description":"Allows opening files larger than 2 MB in the text editor.","compatiblePackages":[{"name":"pl.solidexplorer2","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Promo code unlock","description":"Disables the validation of promo code. Any code will work to unlock all features.","compatiblePackages":[{"name":"de.dwd.warnapp","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove debugging detection","description":"Removes the USB and wireless debugging checks.","compatiblePackages":[{"name":"com.scb.phone","versions":null}],"use":false,"requiresIntegrations":false,"options":[]},{"name":"Remove badge tab","description":"Removes the badge tab from the activity tab.","compatiblePackages":[{"name":"com.sony.songpal.mdr","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Remove notification badge","description":"Removes the red notification badge from the activity tab.","compatiblePackages":[{"name":"com.sony.songpal.mdr","versions":["10.1.0"]}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide ads","description":"Hides most of the ads across the app.","compatiblePackages":[{"name":"com.myfitnesspal.android","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Unlock themes","description":"Unlocks all themes that are inaccessible until a certain level is reached.","compatiblePackages":[{"name":"com.ticktick.task","versions":null}],"use":true,"requiresIntegrations":false,"options":[]},{"name":"Hide ads","description":"Removes general ads.","compatiblePackages":[{"name":"com.vanced.android.youtube","versions":null}],"use":true,"requiresIntegrations":false,"options":[]}] \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 432b20014..0988585a0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -5,3 +5,5 @@ buildCache { isEnabled = "CI" !in System.getenv() } } + +include(":stub") diff --git a/src/main/kotlin/app/revanced/patches/all/directory/ChangeDataDirectoryLocationPatch.kt b/src/main/kotlin/app/revanced/patches/all/directory/ChangeDataDirectoryLocationPatch.kt new file mode 100644 index 000000000..42d48f7d2 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/all/directory/ChangeDataDirectoryLocationPatch.kt @@ -0,0 +1,73 @@ +package app.revanced.patches.all.directory + +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction +import app.revanced.patcher.patch.annotation.Patch +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.patches.all.misc.transformation.BaseTransformInstructionsPatch +import app.revanced.util.getReference +import com.android.tools.smali.dexlib2.iface.ClassDef +import com.android.tools.smali.dexlib2.iface.Method +import com.android.tools.smali.dexlib2.iface.instruction.Instruction +import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c +import com.android.tools.smali.dexlib2.iface.reference.MethodReference +import com.android.tools.smali.dexlib2.immutable.reference.ImmutableMethodReference +import com.android.tools.smali.dexlib2.util.MethodUtil + +@Patch( + name = "Change data directory location", + description = "Changes the data directory in the application from " + + "the app internal storage directory to /sdcard/android/data accessible by root-less devices." + + "Using this patch can cause unexpected issues with some apps.", + use = false, +) +@Suppress("unused") +object ChangeDataDirectoryLocationPatch : BaseTransformInstructionsPatch() { + override fun filterMap( + classDef: ClassDef, + method: Method, + instruction: Instruction, + instructionIndex: Int, + ): Int? { + val reference = instruction.getReference() ?: return null + + if (!MethodUtil.methodSignaturesMatch(reference, MethodCall.GetDir.reference)) { + return null + } + + return instructionIndex + } + + override fun transform( + mutableMethod: MutableMethod, + entry: Int, + ) = transformMethodCall(entry, mutableMethod) + + private fun transformMethodCall( + instructionIndex: Int, + mutableMethod: MutableMethod, + ) { + val getDirInstruction = mutableMethod.getInstruction(instructionIndex) + val contextRegister = getDirInstruction.registerC + val dataRegister = getDirInstruction.registerD + + mutableMethod.replaceInstruction( + instructionIndex, + "invoke-virtual { v$contextRegister, v$dataRegister }, " + + "Landroid/content/Context;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;", + ) + } + + private enum class MethodCall( + val reference: MethodReference, + ) { + GetDir( + ImmutableMethodReference( + "Landroid/content/Context;", + "getDir", + listOf("Ljava/lang/String;", "I"), + "Ljava/io/File;", + ), + ), + } +} diff --git a/src/main/kotlin/app/revanced/patches/all/misc/resources/AddResourcesPatch.kt b/src/main/kotlin/app/revanced/patches/all/misc/resources/AddResourcesPatch.kt index bde5c9848..2fd1df393 100644 --- a/src/main/kotlin/app/revanced/patches/all/misc/resources/AddResourcesPatch.kt +++ b/src/main/kotlin/app/revanced/patches/all/misc/resources/AddResourcesPatch.kt @@ -83,8 +83,9 @@ object AddResourcesPatch : ResourcePatch(), MutableMap(insertIndex).registerA + + addInstructions( + insertIndex, + "const/4 v$register, 0x1" + ) + } + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/duolingo/ad/fingerprints/InitializeMonetizationDebugSettingsFingerprint.kt b/src/main/kotlin/app/revanced/patches/duolingo/ad/fingerprints/InitializeMonetizationDebugSettingsFingerprint.kt new file mode 100644 index 000000000..62247e115 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/duolingo/ad/fingerprints/InitializeMonetizationDebugSettingsFingerprint.kt @@ -0,0 +1,21 @@ +package app.revanced.patches.duolingo.ad.fingerprints + +import app.revanced.patcher.extensions.or +import app.revanced.patcher.fingerprint.MethodFingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode + +internal object InitializeMonetizationDebugSettingsFingerprint : MethodFingerprint( + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, + parameters = listOf( + "Z", // disableAds + "Z", // useDebugBilling + "Z", // showManageSubscriptions + "Z", // alwaysShowSuperAds + "Lcom/duolingo/debug/FamilyQuestOverride;", + ), + opcodes = listOf( + Opcode.IPUT_BOOLEAN + ) +) diff --git a/src/main/kotlin/app/revanced/patches/duolingo/debug/EnableDebugMenuPatch.kt b/src/main/kotlin/app/revanced/patches/duolingo/debug/EnableDebugMenuPatch.kt new file mode 100644 index 000000000..8b1a66d60 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/duolingo/debug/EnableDebugMenuPatch.kt @@ -0,0 +1,35 @@ +package app.revanced.patches.duolingo.debug + +import app.revanced.patcher.data.BytecodeContext +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.annotation.CompatiblePackage +import app.revanced.patcher.patch.annotation.Patch +import app.revanced.patches.duolingo.debug.fingerprints.InitializeBuildConfigProviderFingerprint +import app.revanced.util.resultOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction + +@Patch( + name = "Enable debug menu", + compatiblePackages = [CompatiblePackage("com.duolingo", ["5.158.4"])], + use = false +) +@Suppress("unused") +object EnableDebugMenuPatch : BytecodePatch( + setOf(InitializeBuildConfigProviderFingerprint) +) { + override fun execute(context: BytecodeContext) { + InitializeBuildConfigProviderFingerprint.resultOrThrow().let { + it.mutableMethod.apply { + val insertIndex = it.scanResult.patternScanResult!!.startIndex + val register = getInstruction(insertIndex).registerA + + addInstructions( + insertIndex, + "const/4 v$register, 0x1" + ) + } + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/duolingo/debug/fingerprints/InitializeBuildConfigProviderFingerprint.kt b/src/main/kotlin/app/revanced/patches/duolingo/debug/fingerprints/InitializeBuildConfigProviderFingerprint.kt new file mode 100644 index 000000000..edd3d9bd9 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/duolingo/debug/fingerprints/InitializeBuildConfigProviderFingerprint.kt @@ -0,0 +1,25 @@ +package app.revanced.patches.duolingo.debug.fingerprints + +import app.revanced.patcher.extensions.or +import app.revanced.patcher.fingerprint.MethodFingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode + +/** + * The `BuildConfigProvider` class has two booleans: + * + * - `isChina`: (usually) compares "play" with "china"...except for builds in China + * - `isDebug`: compares "release" with "debug" <-- we want to force this to `true` + */ +internal object InitializeBuildConfigProviderFingerprint : MethodFingerprint( + returnType = "V", + accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, + strings = listOf( + "debug", + "release", + "china", + ), + opcodes = listOf( + Opcode.IPUT_BOOLEAN + ) +) diff --git a/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt b/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt index b374f4cb7..447575ec6 100644 --- a/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt +++ b/src/main/kotlin/app/revanced/patches/music/ad/video/HideVideoAds.kt @@ -13,16 +13,7 @@ import app.revanced.util.exception name = "Hide video ads", description = "Hides ads that appear while listening to or streaming music videos, podcasts, or songs.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ], ) @Suppress("unused") diff --git a/src/main/kotlin/app/revanced/patches/music/audio/codecs/CodecsUnlockPatch.kt b/src/main/kotlin/app/revanced/patches/music/audio/codecs/CodecsUnlockPatch.kt index 8559376cd..53d95ed15 100644 --- a/src/main/kotlin/app/revanced/patches/music/audio/codecs/CodecsUnlockPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/audio/codecs/CodecsUnlockPatch.kt @@ -12,16 +12,7 @@ import com.android.tools.smali.dexlib2.Opcode @Patch( description = "Adds more audio codec options. The new audio codecs usually result in better audio quality.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ] ) @Deprecated("This patch is no longer needed as the feature is now enabled by default.") diff --git a/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt b/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt index 3b3a7637b..b8d691cf0 100644 --- a/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt +++ b/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/EnableExclusiveAudioPlayback.kt @@ -12,16 +12,7 @@ import app.revanced.util.exception name = "Enable exclusive audio playback", description = "Enables the option to play audio without video.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ] ) @Suppress("unused") diff --git a/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt b/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt index 73e7c4587..7a7a472ad 100644 --- a/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt @@ -14,16 +14,7 @@ import app.revanced.patches.music.interaction.permanentrepeat.fingerprints.Repea name = "Permanent repeat", description = "Permanently remember your repeating preference even if the playlist ends or another track is played.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ], use = false ) diff --git a/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt b/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt index 9db0a9ca7..ba762aafa 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt @@ -14,16 +14,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction name = "Hide category bar", description = "Hides the category bar at the top of the homepage.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ], use = false, ) diff --git a/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt b/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt index 50fc512cb..f82fdf2d1 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/premium/HideGetPremiumPatch.kt @@ -17,16 +17,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction name = "Hide 'Get Music Premium' label", description = "Hides the \"Get Music Premium\" label from the account menu and settings.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ] ) @Suppress("unused") diff --git a/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/RemoveUpgradeButtonPatch.kt b/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/RemoveUpgradeButtonPatch.kt index feca2a3b9..5ae927177 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/RemoveUpgradeButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/RemoveUpgradeButtonPatch.kt @@ -23,16 +23,7 @@ import com.android.tools.smali.dexlib2.iface.reference.FieldReference name = "Remove upgrade button", description = "Removes the upgrade tab from the pivot bar.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ] ) @Suppress("unused") diff --git a/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt b/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt index d09055396..8a0e939d2 100644 --- a/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatch.kt @@ -13,16 +13,7 @@ import app.revanced.patches.music.misc.androidauto.fingerprints.CheckCertificate name = "Bypass certificate checks", description = "Bypasses certificate checks which prevent YouTube Music from working on Android Auto.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ] ) @Suppress("unused") diff --git a/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt b/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt index a618cf024..2c25010e0 100644 --- a/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/misc/backgroundplayback/BackgroundPlaybackPatch.kt @@ -14,16 +14,7 @@ import app.revanced.util.resultOrThrow name = "Remove background playback restrictions", description = "Removes restrictions on background playback, including playing kids videos in the background.", compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ] - ) + CompatiblePackage("com.google.android.apps.youtube.music") ] ) @Suppress("unused") diff --git a/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt b/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt index 035d069c5..1b6a7a6ec 100644 --- a/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt @@ -23,16 +23,7 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch( integrationsPatchDependency = IntegrationsPatch::class, gmsCoreSupportResourcePatch = GmsCoreSupportResourcePatch, compatiblePackages = setOf( - CompatiblePackage( - "com.google.android.apps.youtube.music", - setOf( - "6.45.54", - "6.51.53", - "7.01.53", - "7.02.52", - "7.03.52", - ), - ), + CompatiblePackage("com.google.android.apps.youtube.music"), ), fingerprints = setOf( CastDynamiteModuleV2Fingerprint, diff --git a/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt b/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt index b0479749c..b5b745975 100644 --- a/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt @@ -1,28 +1,25 @@ package app.revanced.patches.pixiv.ads -import app.revanced.util.exception import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch -import app.revanced.patches.pixiv.ads.fingerprints.IsNotPremiumFingerprint +import app.revanced.patches.pixiv.ads.fingerprints.ShouldShowAdsFingerprint +import app.revanced.util.exception @Patch( name = "Hide ads", - compatiblePackages = [CompatiblePackage("jp.pxv.android")] + compatiblePackages = [CompatiblePackage("jp.pxv.android")], ) @Suppress("unused") -object HideAdsPatch : BytecodePatch(setOf(IsNotPremiumFingerprint)) { - // Always return false in the "isNotPremium" method which normally returns !this.accountManager.isPremium. - // However, this is not the method that controls the user's premium status. - // Instead, this method is used to determine whether ads should be shown. +object HideAdsPatch : BytecodePatch(setOf(ShouldShowAdsFingerprint)) { override fun execute(context: BytecodeContext) = - IsNotPremiumFingerprint.result?.mutableClass?.virtualMethods?.first()?.addInstructions( + ShouldShowAdsFingerprint.result?.mutableMethod?.addInstructions( 0, """ const/4 v0, 0x0 return v0 - """ - ) ?: throw IsNotPremiumFingerprint.exception -} \ No newline at end of file + """, + ) ?: throw ShouldShowAdsFingerprint.exception +} diff --git a/src/main/kotlin/app/revanced/patches/pixiv/ads/fingerprints/IsNotPremiumFingerprint.kt b/src/main/kotlin/app/revanced/patches/pixiv/ads/fingerprints/IsNotPremiumFingerprint.kt deleted file mode 100644 index 6618af0ed..000000000 --- a/src/main/kotlin/app/revanced/patches/pixiv/ads/fingerprints/IsNotPremiumFingerprint.kt +++ /dev/null @@ -1,21 +0,0 @@ -package app.revanced.patches.pixiv.ads.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags - - -internal object IsNotPremiumFingerprint : MethodFingerprint( - "V", - AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, - listOf("L"), - strings = listOf("pixivAccountManager"), - customFingerprint = custom@{ _, classDef -> - // The "isNotPremium" method is the only method in the class. - if (classDef.virtualMethods.count() != 1) return@custom false - - classDef.virtualMethods.first().let { isNotPremiumMethod -> - isNotPremiumMethod.parameterTypes.size == 0 && isNotPremiumMethod.returnType == "Z" - } - } -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/pixiv/ads/fingerprints/ShouldShowAdsFingerprint.kt b/src/main/kotlin/app/revanced/patches/pixiv/ads/fingerprints/ShouldShowAdsFingerprint.kt new file mode 100644 index 000000000..cd8d303bc --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/pixiv/ads/fingerprints/ShouldShowAdsFingerprint.kt @@ -0,0 +1,14 @@ +package app.revanced.patches.pixiv.ads.fingerprints + +import app.revanced.patcher.extensions.or +import app.revanced.patcher.fingerprint.MethodFingerprint +import com.android.tools.smali.dexlib2.AccessFlags + + +internal object ShouldShowAdsFingerprint : MethodFingerprint( + "Z", + AccessFlags.PUBLIC or AccessFlags.FINAL, + customFingerprint = { methodDef, classDef -> + classDef.type.endsWith("AdUtils;") && methodDef.name == "shouldShowAds" + } +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/UseUserEndpointPatch.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/UseUserEndpointPatch.kt new file mode 100644 index 000000000..bafff0b45 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/UseUserEndpointPatch.kt @@ -0,0 +1,61 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user + +import app.revanced.patcher.data.BytecodeContext +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction +import app.revanced.patcher.fingerprint.MethodFingerprint +import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.annotation.CompatiblePackage +import app.revanced.patcher.patch.annotation.Patch +import app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints.* +import app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints.OAuthFriendRequestFingerprint +import app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints.OAuthSubredditInfoRequestHelperFingerprint +import app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints.OAuthUnfriendRequestFingerprint +import app.revanced.util.getReference +import app.revanced.util.resultOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.StringReference + +@Patch( + name = "Use /user/ endpoint", + description = "Replaces the deprecated endpoint for viewing user profiles /u with /user, that used to fix a bug.", + compatiblePackages = [ + CompatiblePackage("com.laurencedawson.reddit_sync"), + CompatiblePackage("com.laurencedawson.reddit_sync.pro"), + CompatiblePackage("com.laurencedawson.reddit_sync.dev"), + ], + use = false, +) +@Suppress("unused") +object UseUserEndpointPatch : BytecodePatch( + fingerprints = setOf( + OAuthFriendRequestFingerprint, + OAuthSubredditInfoRequestConstructorFingerprint, + OAuthSubredditInfoRequestHelperFingerprint, + OAuthUnfriendRequestFingerprint, + OAuthUserIdRequestFingerprint, + OAuthUserInfoRequestFingerprint, + ), +) { + override fun execute(context: BytecodeContext) { + arrayOf( + OAuthFriendRequestFingerprint, + OAuthSubredditInfoRequestConstructorFingerprint, + OAuthSubredditInfoRequestHelperFingerprint, + OAuthUnfriendRequestFingerprint, + OAuthUserIdRequestFingerprint, + OAuthUserInfoRequestFingerprint, + ).map(MethodFingerprint::resultOrThrow).map { + it.scanResult.stringsScanResult!!.matches.first().index to it.mutableMethod + }.forEach { (userPathStringIndex, method) -> + val userPathStringInstruction = method.getInstruction(userPathStringIndex) + val userPathStringRegister = userPathStringInstruction.registerA + val fixedUserPathString = userPathStringInstruction.getReference()!!.string.replace("u/", "user/") + + method.replaceInstruction( + userPathStringIndex, + "const-string v$userPathStringRegister, \"${fixedUserPathString}\"", + ) + } + } +} diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/BaseUserEndpointFingerprint.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/BaseUserEndpointFingerprint.kt new file mode 100644 index 000000000..cccd9d102 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/BaseUserEndpointFingerprint.kt @@ -0,0 +1,10 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints + +import app.revanced.patcher.fingerprint.MethodFingerprint + +internal abstract class BaseUserEndpointFingerprint(source: String, accessFlags: Int? = null) : + MethodFingerprint( + accessFlags = accessFlags, + strings = listOf("u/"), + customFingerprint = { _, classDef -> classDef.sourceFile == source }, + ) diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthFriendRequestFingerprint.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthFriendRequestFingerprint.kt new file mode 100644 index 000000000..82522e88a --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthFriendRequestFingerprint.kt @@ -0,0 +1,3 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints + +internal object OAuthFriendRequestFingerprint : BaseUserEndpointFingerprint("OAuthFriendRequest.java") diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthSubredditInfoRequestConstructorFingerprint.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthSubredditInfoRequestConstructorFingerprint.kt new file mode 100644 index 000000000..61326f9b9 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthSubredditInfoRequestConstructorFingerprint.kt @@ -0,0 +1,10 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints + +import app.revanced.patcher.extensions.or +import com.android.tools.smali.dexlib2.AccessFlags + +internal object OAuthSubredditInfoRequestConstructorFingerprint : + BaseUserEndpointFingerprint( + "OAuthSubredditInfoRequest.java", + AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, + ) diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthSubredditInfoRequestHelperFingerprint.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthSubredditInfoRequestHelperFingerprint.kt new file mode 100644 index 000000000..a2e648f4a --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthSubredditInfoRequestHelperFingerprint.kt @@ -0,0 +1,10 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints + +import app.revanced.patcher.extensions.or +import com.android.tools.smali.dexlib2.AccessFlags + +internal object OAuthSubredditInfoRequestHelperFingerprint : + BaseUserEndpointFingerprint( + "OAuthSubredditInfoRequest.java", + AccessFlags.PRIVATE or AccessFlags.STATIC, + ) diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUnfriendRequestFingerprint.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUnfriendRequestFingerprint.kt new file mode 100644 index 000000000..e2e527b63 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUnfriendRequestFingerprint.kt @@ -0,0 +1,3 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints + +internal object OAuthUnfriendRequestFingerprint : BaseUserEndpointFingerprint("OAuthUnfriendRequest.java") diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUserIdRequestFingerprint.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUserIdRequestFingerprint.kt new file mode 100644 index 000000000..871a604ae --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUserIdRequestFingerprint.kt @@ -0,0 +1,3 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints + +internal object OAuthUserIdRequestFingerprint : BaseUserEndpointFingerprint("OAuthUserIdRequest.java") diff --git a/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUserInfoRequestFingerprint.kt b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUserInfoRequestFingerprint.kt new file mode 100644 index 000000000..78cd6e8c5 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/reddit/customclients/syncforreddit/fix/user/fingerprints/OAuthUserInfoRequestFingerprint.kt @@ -0,0 +1,3 @@ +package app.revanced.patches.reddit.customclients.syncforreddit.fix.user.fingerprints + +internal object OAuthUserInfoRequestFingerprint : BaseUserEndpointFingerprint("OAuthUserInfoRequest.java") diff --git a/src/main/kotlin/app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch.kt b/src/main/kotlin/app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch.kt new file mode 100644 index 000000000..0411a0c51 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/shared/misc/checks/BaseCheckEnvironmentPatch.kt @@ -0,0 +1,116 @@ +package app.revanced.patches.shared.misc.checks + +import android.os.Build.* +import app.revanced.patcher.data.BytecodeContext +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.fingerprint.MethodFingerprint +import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.util.proxy.mutableTypes.encodedValue.MutableEncodedValue +import app.revanced.patcher.util.proxy.mutableTypes.encodedValue.MutableLongEncodedValue +import app.revanced.patcher.util.proxy.mutableTypes.encodedValue.MutableStringEncodedValue +import app.revanced.patches.all.misc.resources.AddResourcesPatch +import app.revanced.patches.shared.misc.checks.fingerprints.PatchInfoBuildFingerprint +import app.revanced.patches.shared.misc.checks.fingerprints.PatchInfoFingerprint +import app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch +import app.revanced.util.exception +import app.revanced.util.resultOrThrow +import com.android.tools.smali.dexlib2.immutable.value.ImmutableLongEncodedValue +import com.android.tools.smali.dexlib2.immutable.value.ImmutableStringEncodedValue +import java.nio.charset.StandardCharsets +import java.security.MessageDigest +import kotlin.io.encoding.Base64 +import kotlin.io.encoding.ExperimentalEncodingApi + +abstract class BaseCheckEnvironmentPatch( + private val mainActivityOnCreateFingerprint: MethodFingerprint, + compatiblePackages: Set, + integrationsPatch: BaseIntegrationsPatch, +) : BytecodePatch( + description = "Checks, if the application was patched by, otherwise warns the user.", + compatiblePackages = compatiblePackages, + dependencies = setOf( + AddResourcesPatch::class, + integrationsPatch::class, + ), + fingerprints = setOf( + PatchInfoFingerprint, + PatchInfoBuildFingerprint, + mainActivityOnCreateFingerprint, + ), +) { + override fun execute(context: BytecodeContext) { + AddResourcesPatch(BaseCheckEnvironmentPatch::class) + + setPatchInfo() + invokeCheck() + } + + private fun setPatchInfo() { + PatchInfoFingerprint.setClassFields( + "PATCH_TIME" to System.currentTimeMillis().encoded, + ) + + fun setBuildInfo() { + PatchInfoBuildFingerprint.setClassFields( + "PATCH_BOARD" to BOARD.encodedAndHashed, + "PATCH_BOOTLOADER" to BOOTLOADER.encodedAndHashed, + "PATCH_BRAND" to BRAND.encodedAndHashed, + "PATCH_CPU_ABI" to CPU_ABI.encodedAndHashed, + "PATCH_CPU_ABI2" to CPU_ABI2.encodedAndHashed, + "PATCH_DEVICE" to DEVICE.encodedAndHashed, + "PATCH_DISPLAY" to DISPLAY.encodedAndHashed, + "PATCH_FINGERPRINT" to FINGERPRINT.encodedAndHashed, + "PATCH_HARDWARE" to HARDWARE.encodedAndHashed, + "PATCH_HOST" to HOST.encodedAndHashed, + "PATCH_ID" to ID.encodedAndHashed, + "PATCH_MANUFACTURER" to MANUFACTURER.encodedAndHashed, + "PATCH_MODEL" to MODEL.encodedAndHashed, + "PATCH_ODM_SKU" to ODM_SKU.encodedAndHashed, + "PATCH_PRODUCT" to PRODUCT.encodedAndHashed, + "PATCH_RADIO" to RADIO.encodedAndHashed, + "PATCH_SKU" to SKU.encodedAndHashed, + "PATCH_SOC_MANUFACTURER" to SOC_MANUFACTURER.encodedAndHashed, + "PATCH_SOC_MODEL" to SOC_MODEL.encodedAndHashed, + "PATCH_TAGS" to TAGS.encodedAndHashed, + "PATCH_TYPE" to TYPE.encodedAndHashed, + "PATCH_USER" to USER.encodedAndHashed, + ) + } + + try { + Class.forName("android.os.Build") + // This only works on Android, + // because it uses Android APIs. + setBuildInfo() + } catch (_: ClassNotFoundException) { } + } + + private fun invokeCheck() = mainActivityOnCreateFingerprint.result?.mutableMethod?.addInstructions( + 0, + "invoke-static/range { p0 .. p0 },$INTEGRATIONS_CLASS_DESCRIPTOR->check(Landroid/app/Activity;)V", + ) ?: throw mainActivityOnCreateFingerprint.exception + + private companion object { + private const val INTEGRATIONS_CLASS_DESCRIPTOR = + "Lapp/revanced/integrations/shared/checks/CheckEnvironmentPatch;" + + @OptIn(ExperimentalEncodingApi::class) + private val String.encodedAndHashed + get() = MutableStringEncodedValue( + ImmutableStringEncodedValue( + Base64.encode(MessageDigest.getInstance("SHA-1") + .digest(this.toByteArray(StandardCharsets.UTF_8))), + ), + ) + + private val Long.encoded get() = MutableLongEncodedValue(ImmutableLongEncodedValue(this)) + + private fun MethodFingerprint.setClassFields(vararg fieldNameValues: Pair) { + val fieldNameValueMap = mapOf(*fieldNameValues) + + resultOrThrow().mutableClass.fields.forEach { field -> + field.initialValue = fieldNameValueMap[field.name] ?: return@forEach + } + } + } +} diff --git a/src/main/kotlin/app/revanced/patches/shared/misc/checks/fingerprints/PatchInfoBuildFingerprint.kt b/src/main/kotlin/app/revanced/patches/shared/misc/checks/fingerprints/PatchInfoBuildFingerprint.kt new file mode 100644 index 000000000..106dde705 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/shared/misc/checks/fingerprints/PatchInfoBuildFingerprint.kt @@ -0,0 +1,7 @@ +package app.revanced.patches.shared.misc.checks.fingerprints + +import app.revanced.patcher.fingerprint.MethodFingerprint + +internal object PatchInfoBuildFingerprint : MethodFingerprint( + customFingerprint = { _, classDef -> classDef.type == "Lapp/revanced/integrations/shared/checks/PatchInfo\$Build;" }, +) diff --git a/src/main/kotlin/app/revanced/patches/shared/misc/checks/fingerprints/PatchInfoFingerprint.kt b/src/main/kotlin/app/revanced/patches/shared/misc/checks/fingerprints/PatchInfoFingerprint.kt new file mode 100644 index 000000000..48d7d7dcc --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/shared/misc/checks/fingerprints/PatchInfoFingerprint.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.shared.misc.checks.fingerprints + +import app.revanced.patcher.fingerprint.MethodFingerprint + +internal object PatchInfoFingerprint : MethodFingerprint( + customFingerprint = { _, classDef -> + classDef.type == "Lapp/revanced/integrations/shared/checks/PatchInfo;" + }, +) diff --git a/src/main/kotlin/app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportPatch.kt b/src/main/kotlin/app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportPatch.kt index 26958a2d3..5969d2c29 100644 --- a/src/main/kotlin/app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportPatch.kt +++ b/src/main/kotlin/app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportPatch.kt @@ -115,8 +115,8 @@ abstract class BaseGmsCoreSupportPatch( // Verify GmsCore is installed and whitelisted for power optimizations and background usage. mainActivityOnCreateFingerprint.result?.mutableMethod?.apply { - // Temporary fix for Google photos integration. - var setContextIndex = indexOfFirstInstruction { + // Temporary fix for patches with an integrations patch that hook the onCreate method as well. + val setContextIndex = indexOfFirstInstruction { val reference = getReference() ?: return@indexOfFirstInstruction false reference.toString() == "Lapp/revanced/integrations/shared/Utils;->setContext(Landroid/content/Context;)V" diff --git a/src/main/kotlin/app/revanced/patches/soundcloud/ad/HideAdsPatch.kt b/src/main/kotlin/app/revanced/patches/soundcloud/ad/HideAdsPatch.kt index 4f538458a..ea94b3f2a 100644 --- a/src/main/kotlin/app/revanced/patches/soundcloud/ad/HideAdsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/soundcloud/ad/HideAdsPatch.kt @@ -62,7 +62,7 @@ object HideAdsPatch : BytecodePatch( // Prevent verification of an HTTP header containing the user's current plan, which would contradict the previous patch. InterceptFingerprint.resultOrThrow().let { result -> - val conditionIndex = result.scanResult.patternScanResult!!.endIndex + val conditionIndex = result.scanResult.patternScanResult!!.endIndex + 1 result.mutableMethod.addInstruction( conditionIndex, "return-object p1", diff --git a/src/main/kotlin/app/revanced/patches/soundcloud/ad/fingerprints/InterceptFingerprint.kt b/src/main/kotlin/app/revanced/patches/soundcloud/ad/fingerprints/InterceptFingerprint.kt index d9f1e5874..d38975357 100644 --- a/src/main/kotlin/app/revanced/patches/soundcloud/ad/fingerprints/InterceptFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/soundcloud/ad/fingerprints/InterceptFingerprint.kt @@ -9,14 +9,13 @@ internal object InterceptFingerprint : MethodFingerprint( accessFlags = AccessFlags.PUBLIC.value, parameters = listOf("L"), opcodes = listOf( - Opcode.INVOKE_INTERFACE, Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT, - Opcode.IF_EQZ, + Opcode.INVOKE_INTERFACE, + Opcode.MOVE_RESULT_OBJECT ), strings = listOf("SC-Mob-UserPlan", "Configuration"), customFingerprint = { _, classDef -> - classDef.sourceFile == "ApiUserPlanInterceptor.java" + classDef.sourceFile == "ApiUserPlanInterceptor.java" || + classDef.sourceFile == "ApiUserPlanInterceptor.kt" }, ) diff --git a/src/main/kotlin/app/revanced/patches/swissid/integritycheck/RemoveGooglePlayIntegrityCheck.kt b/src/main/kotlin/app/revanced/patches/swissid/integritycheck/RemoveGooglePlayIntegrityCheck.kt index e65105cc3..fbe318d24 100644 --- a/src/main/kotlin/app/revanced/patches/swissid/integritycheck/RemoveGooglePlayIntegrityCheck.kt +++ b/src/main/kotlin/app/revanced/patches/swissid/integritycheck/RemoveGooglePlayIntegrityCheck.kt @@ -9,7 +9,7 @@ import app.revanced.patches.swissid.integritycheck.fingerprints.CheckIntegrityFi import app.revanced.util.resultOrThrow @Patch( - name = "Remove Google Play Integrity Integrity check", + name = "Remove Google Play Integrity check", description = "Removes the Google Play Integrity check. With this it's possible to use SwissID on custom ROMS." + "If the device is rooted, root permissions must be hidden from the app.", compatiblePackages = [CompatiblePackage("com.swisssign.swissid.mobile")], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt index 66e025790..bff904da0 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt @@ -138,8 +138,10 @@ object HideLayoutComponentsPatch : BytecodePatch( SwitchPreference("revanced_hide_keyword_content_search"), TextPreference("revanced_hide_keyword_content_phrases", inputType = InputType.TEXT_MULTI_LINE), NonInteractivePreference("revanced_hide_keyword_content_about"), - ), - ), + NonInteractivePreference(key = "revanced_hide_keyword_content_about_whole_words", + tag = "app.revanced.integrations.youtube.settings.preference.HtmlPreference") + ) + ) ) SettingsPatch.PreferenceScreen.GENERAL_LAYOUT.addPreferences( diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsResourcePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsResourcePatch.kt index 598ec8580..67bd46b55 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsResourcePatch.kt @@ -38,6 +38,7 @@ object HideShortsComponentsResourcePatch : ResourcePatch() { SwitchPreference("revanced_hide_shorts_subscribe_button"), SwitchPreference("revanced_hide_shorts_paused_overlay_buttons"), SwitchPreference("revanced_hide_shorts_save_sound_button"), + SwitchPreference("revanced_hide_shorts_use_this_sound_button"), SwitchPreference("revanced_hide_shorts_shop_button"), SwitchPreference("revanced_hide_shorts_tagged_products"), SwitchPreference("revanced_hide_shorts_search_suggestions"), diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/check/CheckEnvironmentPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/check/CheckEnvironmentPatch.kt new file mode 100644 index 000000000..01fd6814c --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/check/CheckEnvironmentPatch.kt @@ -0,0 +1,13 @@ +package app.revanced.patches.youtube.misc.check + +import app.revanced.patches.shared.misc.checks.BaseCheckEnvironmentPatch +import app.revanced.patches.youtube.misc.integrations.IntegrationsPatch +import app.revanced.patches.youtube.shared.fingerprints.MainActivityOnCreateFingerprint + +@Suppress("unused") +object CheckEnvironmentPatch : + BaseCheckEnvironmentPatch( + mainActivityOnCreateFingerprint = MainActivityOnCreateFingerprint, + integrationsPatch = IntegrationsPatch, + compatiblePackages = setOf(CompatiblePackage("com.google.android.youtube")), + ) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofClientPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofClientPatch.kt index 1c097fa49..619d46c9c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofClientPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofClientPatch.kt @@ -1,390 +1,11 @@ package app.revanced.patches.youtube.misc.fix.playback import app.revanced.patcher.data.BytecodeContext -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.extensions.InstructionExtensions.getInstructions -import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction -import app.revanced.patcher.extensions.or import app.revanced.patcher.patch.BytecodePatch -import app.revanced.patcher.patch.PatchException -import app.revanced.patcher.patch.annotation.CompatiblePackage -import app.revanced.patcher.patch.annotation.Patch -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable -import app.revanced.patches.all.misc.resources.AddResourcesPatch -import app.revanced.patches.shared.misc.settings.preference.PreferenceScreen -import app.revanced.patches.shared.misc.settings.preference.SwitchPreference -import app.revanced.patches.youtube.misc.backgroundplayback.BackgroundPlaybackPatch -import app.revanced.patches.youtube.misc.fix.playback.fingerprints.* -import app.revanced.patches.youtube.misc.playertype.PlayerTypeHookPatch -import app.revanced.patches.youtube.misc.settings.SettingsPatch -import app.revanced.util.getReference -import app.revanced.util.indexOfFirstInstructionOrThrow -import app.revanced.util.resultOrThrow -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation -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.FieldReference -import com.android.tools.smali.dexlib2.iface.reference.TypeReference -import com.android.tools.smali.dexlib2.immutable.ImmutableMethod -import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter -@Patch( - name = "Spoof client", - description = "Spoofs the client to allow video playback.", - dependencies = [ - SettingsPatch::class, - AddResourcesPatch::class, - UserAgentClientSpoofPatch::class, - // Required since iOS livestream fix partially enables background playback. - BackgroundPlaybackPatch::class, - PlayerTypeHookPatch::class, - ], - compatiblePackages = [ - CompatiblePackage( - "com.google.android.youtube", - [ - // This patch works with these versions, - // but the dependent background playback patch does not. - // "18.37.36", - // "18.38.44", - // "18.43.45", - // "18.44.41", - // "18.45.43", - "18.48.39", - "18.49.37", - "19.01.34", - "19.02.39", - "19.03.36", - "19.04.38", - "19.05.36", - "19.06.39", - "19.07.40", - "19.08.36", - "19.09.38", - "19.10.39", - "19.11.43", - "19.12.41", - "19.13.37", - "19.14.43", - "19.15.36", - "19.16.39", - ], - ), - ], -) +@Deprecated("This patch is obsolete.", replaceWith = ReplaceWith("SpoofVideoStreamsPatch")) object SpoofClientPatch : BytecodePatch( - setOf( - // Client type spoof. - BuildInitPlaybackRequestFingerprint, - BuildPlayerRequestURIFingerprint, - SetPlayerRequestClientTypeFingerprint, - CreatePlayerRequestBodyFingerprint, - CreatePlayerRequestBodyWithModelFingerprint, - CreatePlayerRequestBodyWithVersionReleaseFingerprint, - - // Player gesture config. - PlayerGestureConfigSyntheticFingerprint, - - // Player speed menu item. - CreatePlaybackSpeedMenuItemFingerprint, - - // Video qualities missing. - BuildRequestFingerprint, - - // Livestream audio only background playback. - PlayerResponseModelBackgroundAudioPlaybackFingerprint, - ) + dependencies = setOf(SpoofVideoStreamsPatch::class), ) { - private const val INTEGRATIONS_CLASS_DESCRIPTOR = - "Lapp/revanced/integrations/youtube/patches/spoof/SpoofClientPatch;" - private const val CLIENT_INFO_CLASS_DESCRIPTOR = - "Lcom/google/protos/youtube/api/innertube/InnertubeContext\$ClientInfo;" - private const val REQUEST_CLASS_DESCRIPTOR = - "Lorg/chromium/net/ExperimentalUrlRequest;" - private const val REQUEST_BUILDER_CLASS_DESCRIPTOR = - "Lorg/chromium/net/ExperimentalUrlRequest\$Builder;" - - override fun execute(context: BytecodeContext) { - AddResourcesPatch(this::class) - - SettingsPatch.PreferenceScreen.MISC.addPreferences( - PreferenceScreen( - key = "revanced_spoof_client_screen", - sorting = PreferenceScreen.Sorting.UNSORTED, - preferences = setOf( - SwitchPreference("revanced_spoof_client"), - SwitchPreference("revanced_spoof_client_use_ios"), - ), - ), - ) - - // region Block /initplayback requests to fall back to /get_watch requests. - - BuildInitPlaybackRequestFingerprint.resultOrThrow().let { - val moveUriStringIndex = it.scanResult.patternScanResult!!.startIndex - - it.mutableMethod.apply { - val targetRegister = getInstruction(moveUriStringIndex).registerA - - addInstructions( - moveUriStringIndex + 1, - """ - invoke-static { v$targetRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->blockInitPlaybackRequest(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$targetRegister - """, - ) - } - } - - // endregion - - // region Block /get_watch requests to fall back to /player requests. - - BuildPlayerRequestURIFingerprint.resultOrThrow().let { - val invokeToStringIndex = it.scanResult.patternScanResult!!.startIndex - - it.mutableMethod.apply { - val uriRegister = getInstruction(invokeToStringIndex).registerC - - addInstructions( - invokeToStringIndex, - """ - invoke-static { v$uriRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->blockGetWatchRequest(Landroid/net/Uri;)Landroid/net/Uri; - move-result-object v$uriRegister - """, - ) - } - } - - // endregion - - // region Get field references to be used below. - - val (clientInfoField, clientInfoClientTypeField, clientInfoClientVersionField) = - SetPlayerRequestClientTypeFingerprint.resultOrThrow().let { result -> - // Field in the player request object that holds the client info object. - val clientInfoField = result.mutableMethod - .getInstructions().find { instruction -> - // requestMessage.clientInfo = clientInfoBuilder.build(); - instruction.opcode == Opcode.IPUT_OBJECT && - instruction.getReference()?.type == CLIENT_INFO_CLASS_DESCRIPTOR - }?.getReference() ?: throw PatchException("Could not find clientInfoField") - - // Client info object's client type field. - val clientInfoClientTypeField = result.mutableMethod - .getInstruction(result.scanResult.patternScanResult!!.endIndex) - .getReference() ?: throw PatchException("Could not find clientInfoClientTypeField") - - // Client info object's client version field. - val clientInfoClientVersionField = result.mutableMethod - .getInstruction(result.scanResult.stringsScanResult!!.matches.first().index + 1) - .getReference() - ?: throw PatchException("Could not find clientInfoClientVersionField") - - Triple(clientInfoField, clientInfoClientTypeField, clientInfoClientVersionField) - } - - val clientInfoClientModelField = CreatePlayerRequestBodyWithModelFingerprint.resultOrThrow().let { - val getClientModelIndex = - CreatePlayerRequestBodyWithModelFingerprint.indexOfBuildModelInstruction(it.method) - - // The next IPUT_OBJECT instruction after getting the client model is setting the client model field. - val index = it.mutableMethod.indexOfFirstInstructionOrThrow(getClientModelIndex) { - opcode == Opcode.IPUT_OBJECT - } - - it.mutableMethod.getInstruction(index).getReference() - ?: throw PatchException("Could not find clientInfoClientModelField") - } - - val clientInfoOsVersionField = CreatePlayerRequestBodyWithVersionReleaseFingerprint.resultOrThrow().let { - val getOsVersionIndex = - CreatePlayerRequestBodyWithVersionReleaseFingerprint.indexOfBuildVersionReleaseInstruction(it.method) - - // The next IPUT_OBJECT instruction after getting the client os version is setting the client os version field. - val index = it.mutableMethod.indexOfFirstInstructionOrThrow(getOsVersionIndex) { - opcode == Opcode.IPUT_OBJECT - } - - it.mutableMethod.getInstruction(index).getReference() - ?: throw PatchException("Could not find clientInfoOsVersionField") - } - - // endregion - - // region Spoof client type for /player requests. - - CreatePlayerRequestBodyFingerprint.resultOrThrow().let { result -> - val setClientInfoMethodName = "patch_setClientInfo" - val checkCastIndex = result.scanResult.patternScanResult!!.startIndex - var clientInfoContainerClassName: String - - result.mutableMethod.apply { - val checkCastInstruction = getInstruction(checkCastIndex) - val requestMessageInstanceRegister = checkCastInstruction.registerA - clientInfoContainerClassName = checkCastInstruction.getReference()!!.type - - addInstruction( - checkCastIndex + 1, - "invoke-static { v$requestMessageInstanceRegister }," + - " ${result.classDef.type}->$setClientInfoMethodName($clientInfoContainerClassName)V", - ) - } - - // Change client info to use the spoofed values. - // Do this in a helper method, to remove the need of picking out multiple free registers from the hooked code. - result.mutableClass.methods.add( - ImmutableMethod( - result.mutableClass.type, - setClientInfoMethodName, - listOf(ImmutableMethodParameter(clientInfoContainerClassName, null, "clientInfoContainer")), - "V", - AccessFlags.PRIVATE or AccessFlags.STATIC, - null, - null, - MutableMethodImplementation(3), - ).toMutable().apply { - addInstructions( - """ - invoke-static { }, $INTEGRATIONS_CLASS_DESCRIPTOR->isClientSpoofingEnabled()Z - move-result v0 - if-eqz v0, :disabled - - iget-object v0, p0, $clientInfoField - - # Set client type to the spoofed value. - iget v1, v0, $clientInfoClientTypeField - invoke-static { v1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->getClientTypeId(I)I - move-result v1 - iput v1, v0, $clientInfoClientTypeField - - # Set client model to the spoofed value. - iget-object v1, v0, $clientInfoClientModelField - invoke-static { v1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->getClientModel(Ljava/lang/String;)Ljava/lang/String; - move-result-object v1 - iput-object v1, v0, $clientInfoClientModelField - - # Set client version to the spoofed value. - iget-object v1, v0, $clientInfoClientVersionField - invoke-static { v1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->getClientVersion(Ljava/lang/String;)Ljava/lang/String; - move-result-object v1 - iput-object v1, v0, $clientInfoClientVersionField - - # Set client os version to the spoofed value. - iget-object v1, v0, $clientInfoOsVersionField - invoke-static { v1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->getOsVersion(Ljava/lang/String;)Ljava/lang/String; - move-result-object v1 - iput-object v1, v0, $clientInfoOsVersionField - - :disabled - return-void - """, - ) - }, - ) - } - - // endregion - - // region Fix player gesture if spoofing to iOS. - - PlayerGestureConfigSyntheticFingerprint.resultOrThrow().let { - val endIndex = it.scanResult.patternScanResult!!.endIndex - val downAndOutLandscapeAllowedIndex = endIndex - 3 - val downAndOutPortraitAllowedIndex = endIndex - 9 - - arrayOf( - downAndOutLandscapeAllowedIndex, - downAndOutPortraitAllowedIndex, - ).forEach { index -> - val gestureAllowedMethod = context.toMethodWalker(it.mutableMethod) - .nextMethod(index, true) - .getMethod() as MutableMethod - - gestureAllowedMethod.apply { - val isAllowedIndex = getInstructions().lastIndex - val isAllowed = getInstruction(isAllowedIndex).registerA - - addInstructions( - isAllowedIndex, - """ - invoke-static { v$isAllowed }, $INTEGRATIONS_CLASS_DESCRIPTOR->enablePlayerGesture(Z)Z - move-result v$isAllowed - """, - ) - } - } - } - - // endregion - - // region Fix livestream audio only background play if spoofing to iOS. - // This force enables audio background playback. - - PlayerResponseModelBackgroundAudioPlaybackFingerprint.resultOrThrow().mutableMethod.addInstructions( - 0, - """ - invoke-static { }, $INTEGRATIONS_CLASS_DESCRIPTOR->overrideBackgroundAudioPlayback()Z - move-result v0 - if-eqz v0, :do_not_override - return v0 - :do_not_override - nop - """ - ) - - // endregion - - // Fix playback speed menu item if spoofing to iOS. - - CreatePlaybackSpeedMenuItemFingerprint.resultOrThrow().let { - val scanResult = it.scanResult.patternScanResult!! - if (scanResult.startIndex != 0) throw PatchException("Unexpected start index: ${scanResult.startIndex}") - - it.mutableMethod.apply { - // Find the conditional check if the playback speed menu item is not created. - val shouldCreateMenuIndex = - indexOfFirstInstructionOrThrow(scanResult.endIndex) { opcode == Opcode.IF_EQZ } - val shouldCreateMenuRegister = getInstruction(shouldCreateMenuIndex).registerA - - addInstructions( - shouldCreateMenuIndex, - """ - invoke-static { v$shouldCreateMenuRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->forceCreatePlaybackSpeedMenu(Z)Z - move-result v$shouldCreateMenuRegister - """, - ) - } - } - - // endregion - - // region Fix video qualities missing, if spoofing to iOS by overriding the user agent. - - BuildRequestFingerprint.resultOrThrow().let { result -> - result.mutableMethod.apply { - val buildRequestIndex = getInstructions().lastIndex - 2 - val requestBuilderRegister = getInstruction(buildRequestIndex).registerC - - val newRequestBuilderIndex = result.scanResult.patternScanResult!!.endIndex - val urlRegister = getInstruction(newRequestBuilderIndex).registerD - - // Replace "requestBuilder.build(): Request" with "overrideUserAgent(requestBuilder, url): Request". - replaceInstruction( - buildRequestIndex, - "invoke-static { v$requestBuilderRegister, v$urlRegister }, " + - "$INTEGRATIONS_CLASS_DESCRIPTOR->" + - "overrideUserAgent(${REQUEST_BUILDER_CLASS_DESCRIPTOR}Ljava/lang/String;)" + - REQUEST_CLASS_DESCRIPTOR - ) - } - } - - // endregion - } -} + override fun execute(context: BytecodeContext) {} +} \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignaturePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignaturePatch.kt index c82597b3a..850d0d2c5 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignaturePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignaturePatch.kt @@ -1,239 +1,12 @@ package app.revanced.patches.youtube.misc.fix.playback import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions -import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels -import app.revanced.patcher.extensions.InstructionExtensions.getInstruction -import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.BytecodePatch -import app.revanced.patcher.patch.annotation.Patch -import app.revanced.patcher.util.smali.ExternalLabel -import app.revanced.patches.all.misc.resources.AddResourcesPatch -import app.revanced.patches.shared.misc.settings.preference.PreferenceScreen -import app.revanced.patches.shared.misc.settings.preference.PreferenceScreen.Sorting -import app.revanced.patches.shared.misc.settings.preference.SwitchPreference -import app.revanced.patches.youtube.misc.fix.playback.fingerprints.* -import app.revanced.patches.youtube.misc.playertype.PlayerTypeHookPatch -import app.revanced.patches.youtube.misc.settings.SettingsPatch -import app.revanced.patches.youtube.video.information.VideoInformationPatch -import app.revanced.patches.youtube.video.playerresponse.PlayerResponseMethodHookPatch -import app.revanced.util.exception -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.ReferenceInstruction -@Patch( - description = "Spoofs the signature to prevent playback issues.", - dependencies = [ - SettingsPatch::class, - PlayerTypeHookPatch::class, - PlayerResponseMethodHookPatch::class, - VideoInformationPatch::class, - SpoofSignatureResourcePatch::class, - AddResourcesPatch::class, - ], -) -@Deprecated("This patch will be removed in the future.") +@Deprecated("This patch is obsolete.", replaceWith = ReplaceWith("SpoofVideoStreamsPatch")) object SpoofSignaturePatch : BytecodePatch( - setOf( - PlayerResponseModelImplGeneralFingerprint, - PlayerResponseModelImplLiveStreamFingerprint, - PlayerResponseModelImplRecommendedLevelFingerprint, - StoryboardRendererSpecFingerprint, - StoryboardRendererDecoderSpecFingerprint, - StoryboardRendererDecoderRecommendedLevelFingerprint, - StoryboardThumbnailParentFingerprint, - SpoofSignaturePatchScrubbedPreviewLayoutFingerprint, - StatsQueryParameterFingerprint, - ParamsMapPutFingerprint, - ), + dependencies = setOf(SpoofVideoStreamsPatch::class), ) { - private const val INTEGRATIONS_CLASS_DESCRIPTOR = - "Lapp/revanced/integrations/youtube/patches/spoof/SpoofSignaturePatch;" - - override fun execute(context: BytecodeContext) { - AddResourcesPatch(this::class) - - SettingsPatch.PreferenceScreen.MISC.addPreferences( - PreferenceScreen( - key = "revanced_spoof_signature_verification_screen", - sorting = Sorting.UNSORTED, - preferences = setOf( - SwitchPreference("revanced_spoof_signature_verification_enabled"), - SwitchPreference("revanced_spoof_signature_in_feed_enabled"), - SwitchPreference("revanced_spoof_storyboard"), - ), - ), - ) - - // Hook the player parameters. - PlayerResponseMethodHookPatch += PlayerResponseMethodHookPatch.Hook.ProtoBufferParameter( - "$INTEGRATIONS_CLASS_DESCRIPTOR->spoofParameter(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;", - ) - - // Force the seekbar time and chapters to always show up. - // This is used if the storyboard spec fetch fails, for viewing paid videos, - // or if storyboard spoofing is turned off. - StoryboardThumbnailParentFingerprint.result?.classDef?.let { classDef -> - StoryboardThumbnailFingerprint.also { - it.resolve( - context, - classDef, - ) - }.result?.let { - val endIndex = it.scanResult.patternScanResult!!.endIndex - // Replace existing instruction to preserve control flow label. - // The replaced return instruction always returns false - // (it is the 'no thumbnails found' control path), - // so there is no need to pass the existing return value to integrations. - it.mutableMethod.replaceInstruction( - endIndex, - """ - invoke-static {}, $INTEGRATIONS_CLASS_DESCRIPTOR->getSeekbarThumbnailOverrideValue()Z - """, - ) - // Since this is end of the method must replace one line then add the rest. - it.mutableMethod.addInstructions( - endIndex + 1, - """ - move-result v0 - return v0 - """, - ) - } ?: throw StoryboardThumbnailFingerprint.exception - } - - // If storyboard spoofing is turned off, then hide the empty seekbar thumbnail view. - SpoofSignaturePatchScrubbedPreviewLayoutFingerprint.result?.apply { - val endIndex = scanResult.patternScanResult!!.endIndex - mutableMethod.apply { - val imageViewFieldName = getInstruction(endIndex).reference - addInstructions( - implementation!!.instructions.lastIndex, - """ - iget-object v0, p0, $imageViewFieldName # copy imageview field to a register - invoke-static {v0}, $INTEGRATIONS_CLASS_DESCRIPTOR->seekbarImageViewCreated(Landroid/widget/ImageView;)V - """, - ) - } - } ?: throw SpoofSignaturePatchScrubbedPreviewLayoutFingerprint.exception - - /** - * Hook StoryBoard renderer url - */ - arrayOf( - PlayerResponseModelImplGeneralFingerprint, - PlayerResponseModelImplLiveStreamFingerprint, - ).forEach { fingerprint -> - fingerprint.result?.let { - it.mutableMethod.apply { - val getStoryBoardIndex = it.scanResult.patternScanResult!!.endIndex - val getStoryBoardRegister = - getInstruction(getStoryBoardIndex).registerA - - addInstructions( - getStoryBoardIndex, - """ - invoke-static { v$getStoryBoardRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->getStoryboardRendererSpec(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$getStoryBoardRegister - """, - ) - } - } ?: throw fingerprint.exception - } - - // Hook recommended seekbar thumbnails quality level. - StoryboardRendererDecoderRecommendedLevelFingerprint.result?.let { - val moveOriginalRecommendedValueIndex = it.scanResult.patternScanResult!!.endIndex - val originalValueRegister = it.mutableMethod - .getInstruction(moveOriginalRecommendedValueIndex).registerA - - it.mutableMethod.addInstructions( - moveOriginalRecommendedValueIndex + 1, - """ - invoke-static { v$originalValueRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->getRecommendedLevel(I)I - move-result v$originalValueRegister - """, - ) - } ?: throw StoryboardRendererDecoderRecommendedLevelFingerprint.exception - - // Hook the recommended precise seeking thumbnails quality level. - PlayerResponseModelImplRecommendedLevelFingerprint.result?.let { - it.mutableMethod.apply { - val moveOriginalRecommendedValueIndex = it.scanResult.patternScanResult!!.endIndex - val originalValueRegister = - getInstruction(moveOriginalRecommendedValueIndex).registerA - - addInstructions( - moveOriginalRecommendedValueIndex, - """ - invoke-static { v$originalValueRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->getRecommendedLevel(I)I - move-result v$originalValueRegister - """, - ) - } - } ?: throw PlayerResponseModelImplRecommendedLevelFingerprint.exception - - StoryboardRendererSpecFingerprint.result?.let { - it.mutableMethod.apply { - val storyBoardUrlParams = 0 - - addInstructionsWithLabels( - 0, - """ - if-nez p$storyBoardUrlParams, :ignore - invoke-static { p$storyBoardUrlParams }, $INTEGRATIONS_CLASS_DESCRIPTOR->getStoryboardRendererSpec(Ljava/lang/String;)Ljava/lang/String; - move-result-object p$storyBoardUrlParams - """, - ExternalLabel("ignore", getInstruction(0)), - ) - } - } ?: throw StoryboardRendererSpecFingerprint.exception - - // Hook the seekbar thumbnail decoder and use a NULL spec for live streams. - StoryboardRendererDecoderSpecFingerprint.result?.let { - val storyBoardUrlIndex = it.scanResult.patternScanResult!!.startIndex + 1 - val storyboardUrlRegister = - it.mutableMethod.getInstruction(storyBoardUrlIndex).registerA - - it.mutableMethod.addInstructions( - storyBoardUrlIndex + 1, - """ - invoke-static { v$storyboardUrlRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->getStoryboardDecoderRendererSpec(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$storyboardUrlRegister - """, - ) - } ?: throw StoryboardRendererDecoderSpecFingerprint.exception - - // Fix stats not being tracked. - // Due to signature spoofing "adformat" is present in query parameters made for /stats requests, - // even though, for regular videos, it should not be. - // This breaks stats tracking. - // Replace the ad parameter with the video parameter in the query parameters. - StatsQueryParameterFingerprint.result?.let { - val putMethod = ParamsMapPutFingerprint.result?.method?.toString() - ?: throw ParamsMapPutFingerprint.exception - - it.mutableMethod.apply { - val adParamIndex = it.scanResult.stringsScanResult!!.matches.first().index - val videoParamIndex = adParamIndex + 3 - - // Replace the ad parameter with the video parameter. - replaceInstruction(adParamIndex, getInstruction(videoParamIndex)) - - // Call paramsMap.put instead of paramsMap.putIfNotExist - // because the key is already present in the map. - val putAdParamIndex = adParamIndex + 1 - val putIfKeyNotExistsInstruction = getInstruction(putAdParamIndex) - replaceInstruction( - putAdParamIndex, - "invoke-virtual { " + - "v${putIfKeyNotExistsInstruction.registerC}, " + - "v${putIfKeyNotExistsInstruction.registerD}, " + - "v${putIfKeyNotExistsInstruction.registerE} }, " + - putMethod, - ) - } - } ?: throw StatsQueryParameterFingerprint.exception - } + override fun execute(context: BytecodeContext) {} } + diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignatureResourcePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignatureResourcePatch.kt index c29c94381..ae164ebf1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignatureResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofSignatureResourcePatch.kt @@ -2,18 +2,8 @@ package app.revanced.patches.youtube.misc.fix.playback import app.revanced.patcher.data.ResourceContext import app.revanced.patcher.patch.ResourcePatch -import app.revanced.patcher.patch.annotation.Patch -import app.revanced.patches.shared.misc.mapping.ResourceMappingPatch -@Patch(dependencies = [ResourceMappingPatch::class]) @Deprecated("This patch will be removed in the future.") object SpoofSignatureResourcePatch : ResourcePatch() { - internal var scrubbedPreviewThumbnailResourceId: Long = -1 - - override fun execute(context: ResourceContext) { - scrubbedPreviewThumbnailResourceId = ResourceMappingPatch[ - "id", - "thumbnail", - ] - } + override fun execute(context: ResourceContext) {} } diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofVideoStreamsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofVideoStreamsPatch.kt new file mode 100644 index 000000000..828b54784 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/SpoofVideoStreamsPatch.kt @@ -0,0 +1,287 @@ +package app.revanced.patches.youtube.misc.fix.playback + +import app.revanced.patcher.data.BytecodeContext +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.extensions.InstructionExtensions.getInstructions +import app.revanced.patcher.extensions.or +import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.annotation.CompatiblePackage +import app.revanced.patcher.patch.annotation.Patch +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable +import app.revanced.patches.all.misc.resources.AddResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.ListPreference +import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference +import app.revanced.patches.shared.misc.settings.preference.PreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.patches.youtube.misc.fix.playback.fingerprints.BuildInitPlaybackRequestFingerprint +import app.revanced.patches.youtube.misc.fix.playback.fingerprints.BuildMediaDataSourceFingerprint +import app.revanced.patches.youtube.misc.fix.playback.fingerprints.BuildPlayerRequestURIFingerprint +import app.revanced.patches.youtube.misc.fix.playback.fingerprints.BuildRequestFingerprint +import app.revanced.patches.youtube.misc.fix.playback.fingerprints.CreateStreamingDataFingerprint +import app.revanced.patches.youtube.misc.fix.playback.fingerprints.ProtobufClassParseByteBufferFingerprint +import app.revanced.patches.youtube.misc.settings.SettingsPatch +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.resultOrThrow +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation +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.TwoRegisterInstruction +import com.android.tools.smali.dexlib2.iface.reference.FieldReference +import com.android.tools.smali.dexlib2.iface.reference.MethodReference +import com.android.tools.smali.dexlib2.immutable.ImmutableMethod +import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter + +@Patch( + name = "Spoof video streams", + description = "Spoofs the client video streams to allow video playback.", + dependencies = [ + SettingsPatch::class, + AddResourcesPatch::class, + UserAgentClientSpoofPatch::class, + ], + compatiblePackages = [ + CompatiblePackage( + "com.google.android.youtube", + [ + "18.37.36", + "18.38.44", + "18.43.45", + "18.44.41", + "18.45.43", + "18.48.39", + "18.49.37", + "19.01.34", + "19.02.39", + "19.03.36", + "19.04.38", + "19.05.36", + "19.06.39", + "19.07.40", + "19.08.36", + "19.09.38", + "19.10.39", + "19.11.43", + "19.12.41", + "19.13.37", + "19.14.43", + "19.15.36", + "19.16.39", + ], + ), + ], +) +object SpoofVideoStreamsPatch : BytecodePatch( + setOf( + BuildInitPlaybackRequestFingerprint, + BuildPlayerRequestURIFingerprint, + CreateStreamingDataFingerprint, + BuildMediaDataSourceFingerprint, + BuildRequestFingerprint, + ProtobufClassParseByteBufferFingerprint, + ), +) { + private const val INTEGRATIONS_CLASS_DESCRIPTOR = + "Lapp/revanced/integrations/youtube/patches/spoof/SpoofVideoStreamsPatch;" + + override fun execute(context: BytecodeContext) { + AddResourcesPatch(this::class) + + SettingsPatch.PreferenceScreen.MISC.addPreferences( + PreferenceScreen( + key = "revanced_spoof_video_streams_screen", + sorting = PreferenceScreen.Sorting.UNSORTED, + preferences = setOf( + SwitchPreference("revanced_spoof_video_streams"), + ListPreference( + "revanced_spoof_video_streams_client_type", + summaryKey = null, + entriesKey = "revanced_spoof_video_streams_client_type_entries", + entryValuesKey = "revanced_spoof_video_streams_client_type_entry_values", + ), + SwitchPreference( + "revanced_spoof_video_streams_ios_force_avc", + tag = "app.revanced.integrations.youtube.settings.preference.ForceAVCSpoofingPreference", + ), + NonInteractivePreference("revanced_spoof_video_streams_about_ios"), + NonInteractivePreference("revanced_spoof_video_streams_about_android_vr"), + ), + ), + ) + + // region Block /initplayback requests to fall back to /get_watch requests. + + BuildInitPlaybackRequestFingerprint.resultOrThrow().let { + val moveUriStringIndex = it.scanResult.patternScanResult!!.startIndex + + it.mutableMethod.apply { + val targetRegister = getInstruction(moveUriStringIndex).registerA + + addInstructions( + moveUriStringIndex + 1, + """ + invoke-static { v$targetRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->blockInitPlaybackRequest(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$targetRegister + """, + ) + } + } + + // endregion + + // region Block /get_watch requests to fall back to /player requests. + + BuildPlayerRequestURIFingerprint.resultOrThrow().let { + val invokeToStringIndex = it.scanResult.patternScanResult!!.startIndex + + it.mutableMethod.apply { + val uriRegister = getInstruction(invokeToStringIndex).registerC + + addInstructions( + invokeToStringIndex, + """ + invoke-static { v$uriRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->blockGetWatchRequest(Landroid/net/Uri;)Landroid/net/Uri; + move-result-object v$uriRegister + """, + ) + } + } + + // endregion + + // region Get replacement streams at player requests. + + BuildRequestFingerprint.resultOrThrow().mutableMethod.apply { + val newRequestBuilderIndex = indexOfFirstInstructionOrThrow { + opcode == Opcode.INVOKE_VIRTUAL && + getReference()?.name == "newUrlRequestBuilder" + } + val urlRegister = getInstruction(newRequestBuilderIndex).registerD + val freeRegister = getInstruction(newRequestBuilderIndex + 1).registerA + + addInstructions( + newRequestBuilderIndex, + """ + move-object v$freeRegister, p1 + invoke-static { v$urlRegister, v$freeRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->fetchStreams(Ljava/lang/String;Ljava/util/Map;)V + """, + ) + } + + // endregion + + // region Replace the streaming data with the replacement streams. + + CreateStreamingDataFingerprint.resultOrThrow().let { result -> + result.mutableMethod.apply { + val setStreamDataMethodName = "patch_setStreamingData" + val resultMethodType = result.mutableClass.type + val videoDetailsIndex = result.scanResult.patternScanResult!!.endIndex + val videoDetailsRegister = getInstruction(videoDetailsIndex).registerA + val videoDetailsClass = getInstruction(videoDetailsIndex).getReference()!!.type + + addInstruction( + videoDetailsIndex + 1, + "invoke-direct { p0, v$videoDetailsRegister }, " + + "$resultMethodType->$setStreamDataMethodName($videoDetailsClass)V", + ) + + val protobufClass = ProtobufClassParseByteBufferFingerprint.resultOrThrow().mutableMethod.definingClass + val setStreamingDataIndex = result.scanResult.patternScanResult!!.startIndex + + val playerProtoClass = getInstruction(setStreamingDataIndex + 1) + .getReference()!!.definingClass + + val setStreamingDataField = getInstruction(setStreamingDataIndex).getReference() + + val getStreamingDataField = getInstruction( + indexOfFirstInstructionOrThrow { + opcode == Opcode.IGET_OBJECT && getReference()?.definingClass == playerProtoClass + } + ).getReference() + + // Use a helper method to avoid the need of picking out multiple free registers from the hooked code. + result.mutableClass.methods.add( + ImmutableMethod( + resultMethodType, + setStreamDataMethodName, + listOf(ImmutableMethodParameter(videoDetailsClass, null, "videoDetails")), + "V", + AccessFlags.PRIVATE or AccessFlags.FINAL, + null, + null, + MutableMethodImplementation(9), + ).toMutable().apply { + addInstructionsWithLabels( + 0, + """ + invoke-static { }, $INTEGRATIONS_CLASS_DESCRIPTOR->isSpoofingEnabled()Z + move-result v0 + if-eqz v0, :disabled + + # Get video id. + iget-object v2, p1, $videoDetailsClass->c:Ljava/lang/String; + if-eqz v2, :disabled + + # Get streaming data. + invoke-static { v2 }, $INTEGRATIONS_CLASS_DESCRIPTOR->getStreamingData(Ljava/lang/String;)Ljava/nio/ByteBuffer; + move-result-object v3 + if-eqz v3, :disabled + + # Parse streaming data. + sget-object v4, $playerProtoClass->a:$playerProtoClass + invoke-static { v4, v3 }, $protobufClass->parseFrom(${protobufClass}Ljava/nio/ByteBuffer;)$protobufClass + move-result-object v5 + check-cast v5, $playerProtoClass + + # Set streaming data. + iget-object v6, v5, $getStreamingDataField + if-eqz v6, :disabled + iput-object v6, p0, $setStreamingDataField + + :disabled + return-void + """, + ) + }, + ) + } + } + + // endregion + + // region Remove /videoplayback request body to fix playback. + // This is needed when using iOS client as streaming data source. + + BuildMediaDataSourceFingerprint.resultOrThrow().let { + it.mutableMethod.apply { + val targetIndex = getInstructions().lastIndex + + // Instructions are added just before the method returns, + // so there's no concern of clobbering in-use registers. + addInstructions( + targetIndex, + """ + # Field a: Stream uri. + # Field c: Http method. + # Field d: Post data. + move-object v0, p0 # method has over 15 registers and must copy p0 to a lower register. + iget-object v1, v0, $definingClass->a:Landroid/net/Uri; + iget v2, v0, $definingClass->c:I + iget-object v3, v0, $definingClass->d:[B + invoke-static { v1, v2, v3 }, $INTEGRATIONS_CLASS_DESCRIPTOR->removeVideoPlaybackPostBody(Landroid/net/Uri;I[B)[B + move-result-object v1 + iput-object v1, v0, $definingClass->d:[B + """, + ) + } + } + + // endregion + } +} diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/BuildMediaDataSourceFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/BuildMediaDataSourceFingerprint.kt new file mode 100644 index 000000000..ad00203cc --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/BuildMediaDataSourceFingerprint.kt @@ -0,0 +1,22 @@ +package app.revanced.patches.youtube.misc.fix.playback.fingerprints + +import app.revanced.patcher.extensions.or +import app.revanced.patcher.fingerprint.MethodFingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal object BuildMediaDataSourceFingerprint : MethodFingerprint( + accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, + returnType = "V", + parameters = listOf( + "Landroid/net/Uri;", + "J", + "I", + "[B", + "Ljava/util/Map;", + "J", + "J", + "Ljava/lang/String;", + "I", + "Ljava/lang/Object;" + ) +) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/BuildRequestFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/BuildRequestFingerprint.kt index 49c4a76ee..8156547e1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/BuildRequestFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/BuildRequestFingerprint.kt @@ -3,13 +3,34 @@ package app.revanced.patches.youtube.misc.fix.playback.fingerprints import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.MethodFingerprint import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode internal object BuildRequestFingerprint : MethodFingerprint( accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC, returnType = "Lorg/chromium/net/UrlRequest;", - opcodes = listOf( - Opcode.INVOKE_DIRECT, - Opcode.INVOKE_VIRTUAL - ) + customFingerprint = { methodDef, _ -> + // Different targets have slightly different parameters + + // Earlier targets have parameters: + //L + //Ljava/util/Map; + //[B + //L + //L + //L + //Lorg/chromium/net/UrlRequest$Callback; + + // Later targets have parameters: + //L + //Ljava/util/Map; + //[B + //L + //L + //L + //Lorg/chromium/net/UrlRequest\$Callback; + //L + + val parameterTypes = methodDef.parameterTypes + (parameterTypes.size == 7 || parameterTypes.size == 8) + && parameterTypes[1] == "Ljava/util/Map;" // URL headers. + } ) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlaybackSpeedMenuItemFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlaybackSpeedMenuItemFingerprint.kt deleted file mode 100644 index 035771ce2..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlaybackSpeedMenuItemFingerprint.kt +++ /dev/null @@ -1,34 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -internal object CreatePlaybackSpeedMenuItemFingerprint : MethodFingerprint( - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - returnType = "V", - opcodes = listOf( - Opcode.IGET_OBJECT, // First instruction of the method - Opcode.IGET_OBJECT, - Opcode.IGET_OBJECT, - Opcode.CONST_4, - Opcode.IF_EQZ, - Opcode.INVOKE_INTERFACE, - null // MOVE_RESULT or MOVE_RESULT_OBJECT, Return value controls the creation of the playback speed menu item. - ), - // 19.01 and earlier is missing the second parameter. - // Since this fingerprint is somewhat weak, work around by checking for both method parameter signatures. - customFingerprint = custom@{ methodDef, _ -> - // 19.01 and earlier parameters are: "[L" - // 19.02+ parameters are "[L", "F" - val parameterTypes = methodDef.parameterTypes - val firstParameter = parameterTypes.firstOrNull() - - if (firstParameter == null || !firstParameter.startsWith("[L")) { - return@custom false - } - - parameterTypes.size == 1 || (parameterTypes.size == 2 && parameterTypes[1] == "F") - } -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyFingerprint.kt deleted file mode 100644 index 5abe29e67..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyFingerprint.kt +++ /dev/null @@ -1,15 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.Opcode - -internal object CreatePlayerRequestBodyFingerprint : MethodFingerprint( - returnType = "V", - parameters = listOf("L"), - opcodes = listOf( - Opcode.CHECK_CAST, - Opcode.IGET, - Opcode.AND_INT_LIT16, - ), - strings = listOf("ms"), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyWithModelFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyWithModelFingerprint.kt deleted file mode 100644 index eb9133005..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyWithModelFingerprint.kt +++ /dev/null @@ -1,31 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.patches.youtube.misc.fix.playback.fingerprints.CreatePlayerRequestBodyWithModelFingerprint.indexOfBuildModelInstruction -import app.revanced.util.containsWideLiteralInstructionValue -import app.revanced.util.getReference -import app.revanced.util.indexOfFirstInstruction -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.iface.Method -import com.android.tools.smali.dexlib2.iface.reference.FieldReference - -internal object CreatePlayerRequestBodyWithModelFingerprint : MethodFingerprint( - returnType = "L", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = listOf(), - customFingerprint = { methodDef, _ -> - methodDef.containsWideLiteralInstructionValue(1073741824) && - indexOfBuildModelInstruction(methodDef) >= 0 - }, -) { - fun indexOfBuildModelInstruction(methodDef: Method) = - methodDef.indexOfFirstInstruction { - val reference = getReference() - reference?.definingClass == "Landroid/os/Build;" && - reference.name == "MODEL" && - reference.type == "Ljava/lang/String;" - } -} - - diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyWithVersionReleaseFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyWithVersionReleaseFingerprint.kt deleted file mode 100644 index 1fba488be..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreatePlayerRequestBodyWithVersionReleaseFingerprint.kt +++ /dev/null @@ -1,31 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.patches.youtube.misc.fix.playback.fingerprints.CreatePlayerRequestBodyWithVersionReleaseFingerprint.indexOfBuildVersionReleaseInstruction -import app.revanced.util.containsWideLiteralInstructionValue -import app.revanced.util.getReference -import app.revanced.util.indexOfFirstInstruction -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.iface.Method -import com.android.tools.smali.dexlib2.iface.reference.FieldReference - -internal object CreatePlayerRequestBodyWithVersionReleaseFingerprint : MethodFingerprint( - returnType = "L", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = listOf(), - customFingerprint = { methodDef, _ -> - methodDef.containsWideLiteralInstructionValue(1073741824) && - indexOfBuildVersionReleaseInstruction(methodDef) >= 0 - }, -) { - fun indexOfBuildVersionReleaseInstruction(methodDef: Method) = - methodDef.indexOfFirstInstruction { - val reference = getReference() - reference?.definingClass == "Landroid/os/Build\$VERSION;" && - reference.name == "RELEASE" && - reference.type == "Ljava/lang/String;" - } -} - - diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreateStreamingDataFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreateStreamingDataFingerprint.kt new file mode 100644 index 000000000..c9b2221c9 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/CreateStreamingDataFingerprint.kt @@ -0,0 +1,24 @@ +package app.revanced.patches.youtube.misc.fix.playback.fingerprints + +import app.revanced.patcher.extensions.or +import app.revanced.patcher.fingerprint.MethodFingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode + +internal object CreateStreamingDataFingerprint : MethodFingerprint( + accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, + returnType = "V", + parameters = listOf("L"), + opcodes = listOf( + Opcode.IPUT_OBJECT, + Opcode.IGET_OBJECT, + Opcode.IF_NEZ, + Opcode.SGET_OBJECT, + Opcode.IPUT_OBJECT + ), + customFingerprint = { methodDef, classDef -> + classDef.fields.any { field -> + field.name == "a" && field.type.endsWith("/StreamingDataOuterClass\$StreamingData;") + } + }, +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/ParamsMapPutFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/ParamsMapPutFingerprint.kt deleted file mode 100644 index bb93acc88..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/ParamsMapPutFingerprint.kt +++ /dev/null @@ -1,25 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object ParamsMapPutFingerprint : MethodFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = listOf( - "Ljava/lang/String;", - "Ljava/lang/String;", - ), - opcodes = listOf( - Opcode.CONST_4, - Opcode.CONST_4, - Opcode.CONST_4, - Opcode.MOVE_OBJECT, - Opcode.MOVE_OBJECT, - Opcode.MOVE_OBJECT, - Opcode.INVOKE_DIRECT_RANGE, - ), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerGestureConfigSyntheticFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerGestureConfigSyntheticFingerprint.kt deleted file mode 100644 index d691d7cfc..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerGestureConfigSyntheticFingerprint.kt +++ /dev/null @@ -1,49 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.util.getReference -import app.revanced.util.indexOfFirstInstruction -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.iface.Method -import com.android.tools.smali.dexlib2.iface.reference.MethodReference - -internal object PlayerGestureConfigSyntheticFingerprint : MethodFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = listOf("Ljava/lang/Object;"), - opcodes = listOf( - Opcode.SGET_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT, - Opcode.IF_EQZ, - Opcode.IF_EQZ, - Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, // playerGestureConfig.downAndOutLandscapeAllowed. - Opcode.MOVE_RESULT, - Opcode.CHECK_CAST, - Opcode.IPUT_BOOLEAN, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, // playerGestureConfig.downAndOutPortraitAllowed. - Opcode.MOVE_RESULT, - Opcode.IPUT_BOOLEAN, - Opcode.RETURN_VOID, - ), - customFingerprint = { methodDef, classDef -> - fun indexOfDownAndOutAllowedInstruction(methodDef: Method) = - methodDef.indexOfFirstInstruction { - val reference = getReference() - reference?.definingClass == "Lcom/google/android/libraries/youtube/innertube/model/media/PlayerConfigModel;" && - reference.parameterTypes.isEmpty() && - reference.returnType == "Z" - } - - // This method is always called "a" because this kind of class always has a single method. - methodDef.name == "a" && classDef.methods.count() == 2 && - indexOfDownAndOutAllowedInstruction(methodDef) >= 0 - }, -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelBackgroundAudioPlaybackFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelBackgroundAudioPlaybackFingerprint.kt deleted file mode 100644 index afe153219..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelBackgroundAudioPlaybackFingerprint.kt +++ /dev/null @@ -1,25 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -internal object PlayerResponseModelBackgroundAudioPlaybackFingerprint : MethodFingerprint( - returnType = "Z", - accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC, - parameters = listOf("Lcom/google/android/libraries/youtube/innertube/model/player/PlayerResponseModel;"), - opcodes = listOf( - Opcode.CONST_4, - Opcode.IF_EQZ, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT, - Opcode.IF_NEZ, - Opcode.GOTO, - Opcode.RETURN, - null, // Opcode.CONST_4 or Opcode.MOVE - Opcode.RETURN, - ) -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplGeneralFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplGeneralFingerprint.kt deleted file mode 100644 index 9328dd45c..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplGeneralFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.util.containsWideLiteralInstructionValue -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object PlayerResponseModelImplGeneralFingerprint : MethodFingerprint( - returnType = "Ljava/lang/String;", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = emptyList(), - opcodes = listOf( - Opcode.RETURN_OBJECT, - Opcode.CONST_4, - Opcode.RETURN_OBJECT, - ), - customFingerprint = handler@{ methodDef, _ -> - if (!methodDef.definingClass.endsWith("/PlayerResponseModelImpl;")) return@handler false - - methodDef.containsWideLiteralInstructionValue(55735497) - }, -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplLiveStreamFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplLiveStreamFingerprint.kt deleted file mode 100644 index 480bdb11f..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplLiveStreamFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.util.containsWideLiteralInstructionValue -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object PlayerResponseModelImplLiveStreamFingerprint : MethodFingerprint( - returnType = "Ljava/lang/String;", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = emptyList(), - opcodes = listOf( - Opcode.RETURN_OBJECT, - Opcode.CONST_4, - Opcode.RETURN_OBJECT, - ), - customFingerprint = handler@{ methodDef, _ -> - if (!methodDef.definingClass.endsWith("/PlayerResponseModelImpl;")) return@handler false - - methodDef.containsWideLiteralInstructionValue(70276274) - }, -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplRecommendedLevelFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplRecommendedLevelFingerprint.kt deleted file mode 100644 index 11de5b7fe..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/PlayerResponseModelImplRecommendedLevelFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.util.containsWideLiteralInstructionValue -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object PlayerResponseModelImplRecommendedLevelFingerprint : MethodFingerprint( - returnType = "I", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = emptyList(), - opcodes = listOf( - Opcode.SGET_OBJECT, - Opcode.IGET, - Opcode.RETURN, - ), - customFingerprint = handler@{ methodDef, _ -> - if (!methodDef.definingClass.endsWith("/PlayerResponseModelImpl;")) return@handler false - - methodDef.containsWideLiteralInstructionValue(55735497) - }, -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/ProtobufClassParseByteBufferFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/ProtobufClassParseByteBufferFingerprint.kt new file mode 100644 index 000000000..b5fb83749 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/ProtobufClassParseByteBufferFingerprint.kt @@ -0,0 +1,19 @@ +package app.revanced.patches.youtube.misc.fix.playback.fingerprints + +import app.revanced.patcher.extensions.or +import app.revanced.patcher.fingerprint.MethodFingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode + +internal object ProtobufClassParseByteBufferFingerprint : MethodFingerprint( + accessFlags = AccessFlags.PROTECTED or AccessFlags.STATIC, + parameters = listOf("L", "Ljava/nio/ByteBuffer;"), + returnType = "L", + opcodes = listOf( + Opcode.SGET_OBJECT, + Opcode.INVOKE_STATIC, + Opcode.MOVE_RESULT_OBJECT, + Opcode.RETURN_OBJECT, + ), + customFingerprint = { methodDef, _ -> methodDef.name == "parseFrom" }, +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/SetPlayerRequestClientTypeFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/SetPlayerRequestClientTypeFingerprint.kt deleted file mode 100644 index 78c240ef4..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/SetPlayerRequestClientTypeFingerprint.kt +++ /dev/null @@ -1,13 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.util.patch.LiteralValueFingerprint -import com.android.tools.smali.dexlib2.Opcode - -internal object SetPlayerRequestClientTypeFingerprint : LiteralValueFingerprint( - opcodes = listOf( - Opcode.IGET, - Opcode.IPUT, // Sets ClientInfo.clientId. - ), - strings = listOf("10.29"), - literalSupplier = { 134217728 } -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/SpoofSignaturePatchScrubbedPreviewLayoutFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/SpoofSignaturePatchScrubbedPreviewLayoutFingerprint.kt deleted file mode 100644 index c15d94db9..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/SpoofSignaturePatchScrubbedPreviewLayoutFingerprint.kt +++ /dev/null @@ -1,28 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patches.youtube.misc.fix.playback.SpoofSignatureResourcePatch -import app.revanced.util.patch.LiteralValueFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object SpoofSignaturePatchScrubbedPreviewLayoutFingerprint : LiteralValueFingerprint( - accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL, - returnType = "V", - parameters = listOf("Landroid/content/Context;", "Landroid/util/AttributeSet;", "I", "I"), - opcodes = listOf( - Opcode.INVOKE_STATIC, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT, - Opcode.INVOKE_VIRTUAL, - Opcode.CONST, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT_OBJECT, - Opcode.CHECK_CAST, - Opcode.IPUT_OBJECT, // preview imageview - ), - // This resource is used in ~ 40 different locations, but this method has a distinct list of parameters to match to. - literalSupplier = { SpoofSignatureResourcePatch.scrubbedPreviewThumbnailResourceId }, -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StatsQueryParameterFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StatsQueryParameterFingerprint.kt deleted file mode 100644 index 24c812136..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StatsQueryParameterFingerprint.kt +++ /dev/null @@ -1,8 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.fingerprint.MethodFingerprint - -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object StatsQueryParameterFingerprint : MethodFingerprint( - strings = listOf("adunit"), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererDecoderRecommendedLevelFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererDecoderRecommendedLevelFingerprint.kt deleted file mode 100644 index 482ca51a1..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererDecoderRecommendedLevelFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -/** - * Resolves to the same method as [StoryboardRendererDecoderSpecFingerprint]. - */ -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object StoryboardRendererDecoderRecommendedLevelFingerprint : MethodFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = listOf("Lcom/google/android/libraries/youtube/innertube/model/player/PlayerResponseModel;"), - opcodes = listOf( - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.IPUT_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT, - ), - strings = listOf("#-1#"), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererDecoderSpecFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererDecoderSpecFingerprint.kt deleted file mode 100644 index a2a31800f..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererDecoderSpecFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -/** - * Resolves to the same method as [StoryboardRendererDecoderRecommendedLevelFingerprint]. - */ -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object StoryboardRendererDecoderSpecFingerprint : MethodFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = listOf("Lcom/google/android/libraries/youtube/innertube/model/player/PlayerResponseModel;"), - opcodes = listOf( - Opcode.INVOKE_INTERFACE, // First instruction of the method. - Opcode.MOVE_RESULT_OBJECT, - Opcode.CONST_4, - Opcode.CONST_4, - Opcode.IF_NEZ, - ), - strings = listOf("#-1#"), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererSpecFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererSpecFingerprint.kt deleted file mode 100644 index cc00d0ccd..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardRendererSpecFingerprint.kt +++ /dev/null @@ -1,13 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags - -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object StoryboardRendererSpecFingerprint : MethodFingerprint( - accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC, - returnType = "L", - parameters = listOf("Ljava/lang/String;", "J"), - strings = listOf("\\|"), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardThumbnailFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardThumbnailFingerprint.kt deleted file mode 100644 index 88e368db5..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardThumbnailFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -/** - * Resolves using the class found in [StoryboardThumbnailParentFingerprint]. - */ -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object StoryboardThumbnailFingerprint : MethodFingerprint( - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - returnType = "Z", - parameters = listOf(), - opcodes = listOf( - Opcode.MOVE_RESULT, - Opcode.IF_GTZ, - Opcode.GOTO, - Opcode.CONST_4, - Opcode.RETURN, - Opcode.RETURN, // Last instruction of method. - ), -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardThumbnailParentFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardThumbnailParentFingerprint.kt deleted file mode 100644 index f8e449405..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/fix/playback/fingerprints/StoryboardThumbnailParentFingerprint.kt +++ /dev/null @@ -1,18 +0,0 @@ -package app.revanced.patches.youtube.misc.fix.playback.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags - -/** - * Here lies code that creates the seekbar thumbnails. - * - * An additional change here might force the thumbnails to be created, - * or possibly a change somewhere else (maybe involving YouTube 18.23.35 class `hte`) - */ -@Deprecated("Fingerprint is obsolete and will be deleted soon") -internal object StoryboardThumbnailParentFingerprint : MethodFingerprint( - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - returnType = "Landroid/graphics/Bitmap;", - strings = listOf("Storyboard regionDecoder.decodeRegion exception - "), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt index 67a47c71d..e74a3d11e 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt @@ -32,12 +32,11 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch( CompatiblePackage( "com.google.android.youtube", setOf( - // Patch supports these versions but ClientSpoof does not. - // "18.37.36", - // "18.38.44", - // "18.43.45", - // "18.44.41", - // "18.45.43", + "18.37.36", + "18.38.44", + "18.43.45", + "18.44.41", + "18.45.43", "18.48.39", "18.49.37", "19.01.34", diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt index 6f96dcffa..819b9d3b9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt @@ -15,6 +15,7 @@ import app.revanced.patches.shared.misc.settings.preference.IntentPreference import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference import app.revanced.patches.shared.misc.settings.preference.PreferenceScreen.Sorting import app.revanced.patches.shared.misc.settings.preference.TextPreference +import app.revanced.patches.youtube.misc.check.CheckEnvironmentPatch import app.revanced.patches.youtube.misc.integrations.IntegrationsPatch import app.revanced.patches.youtube.misc.settings.fingerprints.LicenseActivityOnCreateFingerprint import app.revanced.patches.youtube.misc.settings.fingerprints.SetThemeFingerprint @@ -30,6 +31,9 @@ import java.io.Closeable IntegrationsPatch::class, SettingsResourcePatch::class, AddResourcesPatch::class, + // Currently there is no easy way to make a mandatory patch, + // so for now this is a dependent of this patch. + CheckEnvironmentPatch::class, ], ) object SettingsPatch : diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsResourcePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsResourcePatch.kt index 2783a0266..28833df23 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsResourcePatch.kt @@ -28,8 +28,6 @@ object SettingsResourcePatch : BaseSettingsResourcePatch( override fun execute(context: ResourceContext) { super.execute(context) - AddResourcesPatch(this::class) - // Used for a fingerprint from SettingsPatch. appearanceStringId = ResourceMappingPatch["string", "app_theme_appearance_dark"] diff --git a/src/main/resources/addresources/values-af-rZA/strings.xml b/src/main/resources/addresources/values-af-rZA/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/src/main/resources/addresources/values-af-rZA/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-am-rET/strings.xml b/src/main/resources/addresources/values-am-rET/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-am-rET/strings.xml +++ b/src/main/resources/addresources/values-am-rET/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-ar-rSA/strings.xml b/src/main/resources/addresources/values-ar-rSA/strings.xml index fe130a1da..78736c64b 100644 --- a/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + فشلت عمليات التحقق + فتح الموقع الرسمي + تجاهل + <h5>لا يبدو أن هذا التطبيق قد تم تعديله من قبلك.</h5><br>قد لا يعمل هذا التطبيق بشكل صحيح، <b>قد يكون ضارًا أو حتى خطيرًا للاستخدام</b>.<br><br>تشير هذه الفحوصات إلى أن هذا التطبيق تم تعديله مسبقًا أو تم الحصول عليه من شخص آخر:<br><br><small>%1$s</small><br>يوصى بشدة بـ <b>إلغاء تثبيت هذا التطبيق وتعديله بنفسك</b> للتأكد من أنك تستخدم تطبيقًا معتمدًا وآمنًا.<p><br>في حالة تجاهل هذا التحذير، سيتم عرضه مرتين فقط. + تم تعديله على جهاز مختلف + لم يتم تثبيته بواسطة ReVanced Manager + تم تعديله قبل أكثر من 10 دقائق + تم التعديل منذ %s يوم + تاريخ إنشاء APK تالف + هل ترغب في المتابعة؟ إعادة التعيين @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t إعادة تعيين إعدادات ReVanced إلى الوضع الافتراضي تم استيراد %d إعدادات فشل الاستيراد: %s + استيراد / تصدير + استيراد / تصدير إعدادات ReVanced + + أنت تستخدم إصدار ReVanced Patches <i>%s</i> + ملاحظة + هذا الإصدار هو إصدار مسبق، وقد تواجه مشاكل غير متوقعة + الروابط الرسمية + تبرع @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - أنت تستخدم إصدار ReVanced Patches <i>%s</i> - ملاحظة - هذا الإصدار هو إصدار مسبق، وقد تواجه مشاكل غير متوقعة - الروابط الرسمية - استيراد / تصدير - استيراد / تصدير إعدادات ReVanced - لمحة الإعلانات @@ -242,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t الكلمات المفتاحية المراد إخفاؤها - الكلمات المفتاحية والعبارات المراد إخفاؤها، مفصولة بأسطر جديد\n\nالكلمات التي تحتوي على أحرف كبيرة في الوسط يجب إدخالها مع التغليف (مثل: iPhone, TikTok, Leblanc) + الكلمات والعبارات الرئيسية التي يجب إخفاؤها، مفصولة بسطر جديد\n\nالكلمات الرئيسية يمكن أن تكون أسماء قنوات أو أي نص يظهر في عناوين الفيديو\n\nيجب إدخال الكلمات التي تحتوي على أحرف كبيرة في الوسط بإستخدام الأحرف الكبيرة (مثال: iPhone، TikTok، LeBlanc) حول تصفية الكلمات المفتاحية - الصفحة الرئيسية/الاشتراك/نتائج البحث يتم تصفيتها لإخفاء المحتوى الذي يطابق عبارات الكلمات المفتاحية\n\nالتقييد\n• بعض المقاطع القصيرة قد لا تكون مخفية\n• بعض مكونات واجهة المستخدم قد لا تكون مخفية\n• البحث عن كلمة رئيسية قد لا يظهر أي نتائج + الصفحة الرئيسية/الاشتراكات/نتائج الإشتراك/يتم تصفية نتائج البحث لإخفاء المحتوى الذي يتطابق مع عبارات الكلمات الرئيسية\n\nالقيود\n• لا يمكن إخفاء فيديوهات Shorts بواسطة اسم القناة\n• قد لا تكون بعض مكونات واجهة المستخدم مخفية\n• قد لا تظهر نتائج بحث عن كلمة رئيسية + مطابقة الكلمات بأكملها + + سيؤدي وضع علامة اقتباس مزدوجة حول كلمة رئيسية/عبارة إلى منع التطابقات الجزئية لعناوين الفيديو وأسماء القنوات.<br><br>على سبيل المثال،<br><b>\"ai\"</b> سيخفي الفيديو: <b>How does AI work?</b><br>ولكن لن يخفي: <b>What does fair use mean?</b> - الكلمة المفتاحية غير صالحة. لا يمكن استخدام: \'%s\' كعامل تصفية - - الكلمة المفتاحية غير صالحة. \'%1$s\' أقل من %2$d حرفًا - الكلمة الرئيسية \'%s\' سوف تخفي جميع الفيديوهات + لا يمكن استخدام الكلمة الرئيسية: %s + إضافة اقتباسات لاستخدام الكلمة الرئيسية: %s + الكلمة الرئيسية لها بيانات متضاربة: %s + الكلمة الرئيسية قصيرة جدًا وتتطلب اقتباسات: %s + الكلمة الرئيسية سوف تخفي جميع الفيديوهات: %s إخفاء الإعلانات العامة @@ -615,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t إخفاء حفظ الصوت إلى زر قائمة التشغيل تم إخفاء حفظ الصوت في قائمة التشغيل يتم عرض حفظ الصوت في قائمة التشغيل + إخفاء زر استخدام هذا الصوت + تم إخفاء زر استخدام هذا الصوت + يتم عرض زر استخدام هذا الصوت إخفاء اقتراحات البحث تم إخفاء اقتراحات البحث يتم عرض اقتراحات البحث @@ -678,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t شفافية واجهة المشغل يجب أن تكون بين 0-100 - مخفي لم يعجبني غير متاح مؤقتًا (انتهت مهلة API) لم يعجبني غير متاح (الحالة %d) @@ -774,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t تم تعطيل تتبع مرات التخطي الحد الأدنى لمدة المقطع لن يتم عرض المقاطع الأقصر من هذه القيمة (بالثواني) أو تخطيها + المدة الزمنية غير صالحة معرف المستخدم الفريد الخاص بك يجب أن يبقى هذا خاصًا. انه مثل كلمة المرور ولا ينبغي مشاركته مع أي شخص. إذا كان شخص ما يملك هذا، فيمكنه انتحال شخصيتك يجب أن يكون معرف المستخدم الخاص 30 حرفًا على الأقل @@ -874,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t الوقت الذي يبدأ عنده المقطع الوقت الذي ينتهي عنده المقطع هل الأوقات صحيحة؟ - المقطع من\n\n%1$s\nto\n%2$s\n\n(%3$s)\n\nReady to جاهز للإرسال؟ يجب أن تكون البداية قبل النهاية ضع علامة على موقعين في شريط الوقت أولًا @@ -894,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t تم تغيير اسم المستخدم بنجاح سمعتك هي <b>%.2f</b> لقد أنشأت <b>%s</b> مقطع + اضغط هنا لعرض المقاطع الخاصة بك متصدرين SponsorBlock لقد قمت بحفظ الناس من <b>%s</b> مقطع اضغط هنا لرؤية الإحصائيات العالمية وأبرز المساهمين @@ -926,7 +943,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 18.20.39 - استعادة سرعة الفيديو الواسعة & قائمة الجودة 18.09.39 - استعادة علامة تبويب المكتبة 17.41.37 - استعادة رف قائمة التشغيل القديم - 17.30.34 - استعادة تصميم واجهة المستخدم القديم + 17.33.42 - استعادة تصميم واجهة المستخدم القديم تعيين صفحة البداية @@ -1115,21 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t تم تمكين Slide to Seek تم تعطيل Slide to Seek - - Spoof Client - محاكاة العميل لمنع مشكلات التشغيل - Spoof Client - يتم محاكاة العميل - لا يتم محاكاة العميل\n\nقد لا يعمل تشغيل الفيديو - إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو. - Spoof Client to iOS - تتم حاليًا محاكاة العميل إلـى iOS\n\nالآثار الجانبية تشمل:\n• قد لا يكون فيديو HDR متوفرًا\n• لا يعمل سجل المشاهدة مع حساب العلامة التجارية - تتم حاليًا محاكاة العميل إلـى Android VR\n\nالآثار الجانبية تشمل:\n• لا يوجد فيديو HDR\n• فيديوهات الأطفال لا يتم تشغيلهم\n• مقاطع الفيديو الموقوفة يمكن أن تستأنف عشوائياً\n• جودة منخفضة لمصغرات شريط التقدم\n• زر التنزيل مخفي\n• بطاقات نهاية الشاشة مخفية - محاكاة مصغرات العميل غير متوفرة (انتهت مهلة API) - محاكاة مصغرات العميل غير متوفرة مؤقتًا: %s - - - + + Spoof Video Streams + تزييف تدفقات الفيديو الخاصة بالعميل لمنع حدوث مشكلات أثناء التشغيل + Spoof Video Streams + يتم تزييف تدفقات الفيديو + لا يتم تزييف تدفقات الفيديو\n\nقد لا يعمل تشغيل الفيديو + إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو. + العميل الافتراضي + فرض AVC (H.264) + ترميز الفيديو هو AVC (H.264) + ترميز الفيديو هو VP9 أو AV1 + لا يحتوي جهازك على فك تشفير الأجهزة VP9، وهذا الإعداد يعمل دائما عند تمكين تزييف العميل + قد يؤدي تمكين هذا إلى تحسين عمر البطارية وإصلاح مشكلة تقطيع التشغيل.\n\nيتمتع تنسيق AVC بدقة قصوى تبلغ 1080P، وسيستخدم تشغيل الفيديو المزيد من بيانات الإنترنت مقارنةً بتنسيق VP9 أو AV1. + التأثيرات الجانبية لمحاكاة iOS + • قد لا يتم تشغيل الأفلام أو الفيديوهات المدفوعة\n• يبدأ البث المباشر من البداية + التأثيرات الجانبية لمحاكاة Android VR + • قائمة المقطع الصوتي مفقودة diff --git a/src/main/resources/addresources/values-as-rIN/strings.xml b/src/main/resources/addresources/values-as-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/src/main/resources/addresources/values-as-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-az-rAZ/strings.xml b/src/main/resources/addresources/values-az-rAZ/strings.xml index 1b9407519..e4c1e8745 100644 --- a/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Yoxlamalar uğursuz oldu + Xidməti veb saytı aç + Yan keç + <h5>Bu tətbiq sizin tərəfinizdən yamaqlanmayıb.</h5><br>Bu tətbiq düzgün işləməyə bilər, <b>istifadə etmək zərərli və ya hətta təhlükəli ola bilər</b>.<br><br><br>Bu yoxlamalar bu tətbiqin əvvəldən yamaqlandığını və ya başqasından əldə edildiyini göstərir:<br><br><small>%1$s</small><br> <br>onu silməyiniz və özünüz yamaqlamağınız tövsiyə olunur. </b>təsdiqlənmiş və təhlükəsiz tətbiq istifadə etdiyinizə əmin olmaq üçün. <p><br> İnkar edilməzsə, bu xəbərdarlıq yalnız iki dəfə göstəriləcək. + Fərqli cihazda yamaqlanıb + ReVanced Manager tərəfindən quraşdırılmayıb + 10 dəqiqədən çox əvvəl yamaqlanıb + %s gün əvvəl yamaqlanıb + APK quruluş tarixi pozulub + Davam etmək istəyirsiniz? Sıfırla @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced tənzimləmələr standarta təyin edildi %d tənzimləmə idxal edildi Uğursuz idxal prosesi: %s + İdxal/İxrac et + ReVanced tənzimləmələrin idxal/ixrac et + + ReVanced Patches <i>%s</i> versiyasını istifadə edirsiniz + Qeyd + Bu versiya ilkin buraxılışdır və gözlənilməz problemlərlə üzləşə bilərsiniz + Rəsmi bağlantılar + İanə ver @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced Patches <i>%s</i> versiyasını istifadə edirsiniz - Qeyd - Bu versiya ilkin buraxılışdır və gözlənilməz problemlərlə üzləşə bilərsiniz - Rəsmi bağlantılar - İdxal/İxrac et - ReVanced tənzimləmələrin idxal/ixrac et - Haqqında Reklamlar @@ -242,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Gizlədiləcək açar sözlər - Yeni sətirlərlə ayrılmış gizlədiləcək açar sözlər və ifadələr\n\nOrtada böyük hərf olan sözlər korpusla birlikdə daxil edilməlidir (yəni: iPhone, TikTok, LeBlanc) + Yeni sətirlərlə ayrılmış gizlədiləcək açar sözlər və frazalar\n\nAçar sözlər kanal adları və ya video adlarında göstərilən istənilən mətn ola bilər\n\nOrtada böyük hərf olan sözlər korpusla birlikdə qeyd edilməlidir (yəni: iPhone, TikTok, LeBlanc) Açar söz filtrləməsi haqqında - Əsas səhifə/Abunəlik/Axtarış nəticələri açar söz ifadələrinə uyğunlaşan məzmunu gizlətmək üçün filtrlənir\n\nMəhdudiyyətlər\n• Bəzi Shorts gizlənə bilməz\n• Bəzi UI elementləri gizlənə bilməz\n• Açar söz axtarışı heç bir nəticə göstərməyə bilər + Əsas səhifə/Abunəlik/Axtarış nəticələri açar söz ifadələrinə uyğunlaşan məzmunu gizlətmək üçün filtrlənir\n\nMəhdudiyyətlər\n• Shorts-lar kanal adına görə gizlənə bilməz\n• Bəzi UI hissəcikləri gizlədilə bilməz\n• Açar söz axtarışında nəticə olmaya bilər + Bütün sözləri uyğunlaşdır + + Açar söz/frazanın qoşa dırnaqlarla əhatə olunması video adları və kanal adlarının qismən uyğunlaşmasına mane olacaq <br><br>Məsələn,<br><b>\"ai\"</b> videonu gizlədəcək:<b>How does AI work?</b><br> lakin gizlətməyəcək: Düzgün;<b>What does fair use mean?</b> - Etibarsız açar sözü. \'%s\' istifadə edilə bilməz - - Etibarsız açar sözü. \'%1$s\', %2$d simvoldan azdır - \"%s\" açar sözü, bütün videolarda gizlədiləcək + Açar söz istifadə edilə bilmir: %s + Açar söz istifadəsi üçün istinad əlavə et: %s + Açar sözün ziddiyyətli hissəcikləri var: %s + Açar söz çox qısadır və istinad tələb edir: %s + Açar söz, bütün videoları gizlədəcək: %s Ümumi reklamları gizlət @@ -307,7 +322,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Düymə göstərilmir - İzləyici mülahizə dialoqunu sil + İzləyici mülahizə dialoqun sil Dialoq silindi Dialoq göstərilir Bu, yaş məhdudiyyətini ötürmür. Sadəcə avtomatik qəbul edir. @@ -615,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Səsi pleylistdə saxlama düyməsini gizlət Səsi pleylistdə saxlama gizlidir Səsi pleylistdə saxlama göstərilir + \"Bu səsi istifadə et\" düyməsini gizlət + \"Bu səsi istifadə et\" düyməsi gizlidir + \"Bu səsi istifadə et\" düyməsi göstərilir Axtarış təkliflərini gizlət Axtarış təklifləri gizlədilib Axtarış təklifləri göstərilir @@ -678,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Oynadıcı örtüyünün qeyri-şəffaflığı 0-100 arası olmalıdır - Gizli \"Bəyənməmə\" müvəqqəti əlçatmazdır(API vaxtı bitdi) Bəyənməmə əlçatmazdır (status %d) @@ -774,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ötürmə sayının izlənməsi aktiv deyil Minimum bölüm müddəti Bölümlər bu dəyərdən (saniyə olaraq) daha qısadırsa göstərilməyəcək və ya ötürülməyəcək + Etibarsız vaxt müddəti Şəxsi istifadəçi kimliyiniz Bu gizli saxlanılmalıdır. Bu, parol kimidir və heç kimlə paylaşılmamalıdır. Kimsə bunu bilsə, onlar sizi təqlid edə bilər Şəxsi istifadəçi kimliyiniz ən az 30 simvol uzunluğunda olmalıdır @@ -874,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Bölüm başladığı vaxt Bölümün bitmə vaxtı Vaxtlar düzgündür? - Bölüm \n\n%1$s\n\n%2$s\n\n(%3$s)\n\nTəqdim etməyə hazırsınız? Başlanğıc sondan əvvəl olmalıdır Əvvəlcə vaxt çubuğunda iki yeri doldur @@ -894,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t İstifadəçi adı uğurla dəyişdirildi Nüfuzunuz <b>%.2f</b> <b>%s</b> bölüm yaratdınız + Bölümlərinizə baxmaq üçün bura toxunun SponsorBlock liderlik lövhəsi İnsanları <b>%s</b> bölümdən xilas etdiniz Qlobal statistikaları və başlıca töhfəçiləri görmək üçün bura toxunun @@ -1007,7 +1024,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Axtarış nəticələri Orijinal miniatürlər DeArrow & Orijinal miniatürlər - DeArrow & Kadr çəkilişləri + DeArrow & Kadr çəkilişlər Kadr çəkilişləri DeArrow YouTube videoları üçün bölük mənbəli miniatürlər təchiz edir. Bu miniatürlər hər zaman YouTube tərəfindən təmin edilənlərdən daha uyğun olur\n\nƏgər aktivləşdirilərsə, video URL-lər API serverinə göndəriləcək və başqa heç bir məlumat göndərilməyəcək. Videoda DeArrow miniatürləri yoxdursa, orijinal və ya hələ də kadr çəkilişləri göstərilir\n\nDeArrow haqqında ətraflı öyrənmək üçün bura toxun API əlçatan deyilsə ani bildiriş göstər @@ -1038,6 +1055,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Xәbәrdarlıq + Baxış tarixçəniz saxlanmır.<br><br>Bu çox güman ki, DNS reklam bloklayıcı və ya şəbəkə proksisinə görədir.<br><br>.Bunu düzəltmək üçün s.youtube.com-u</b> <b>ağ siyahıya salın və ya bütün DNS bloklayıcıları və proksiləri bağlayın. Təkrar göstərmə @@ -1114,20 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Axtarmaq üçün sürüşdürmə aktivdir Axtarmaq üçün sürüşdürmə aktiv deyil - - Qəbuledicini saxtalaşdır - Oynatma problemlərinin olmaması üçün client-i saxtalaşdır - Qəbuledicini saxtalaşdır - Qəbuledici saxtalaşdırıldı - Qəbuledici dəyişməyib\n\nVideo oynatma işləməyə bilər - Bu seçimin bağlanması, video oynatma problemlərinə səbəb ola bilər. - Qəbuledicini iOS olaraq saxtalaşdır - Qəbuledici hazırda Android VR\'ə saxtalaşdırılıb. Yan təsirlərə daxildir:\n• HDR video yoxdur\n• Uşaq videoları oynadılmır\n• Fasilə verilmiş videolar gözlənilmədən davam edə bilər\n• Aşağı keyfiyyətli Shorts axtarma çubuğu miniatürləri\n• \"Yüklə\" fəaliyyət düyməsi gizlidir\n• Bitiş ekran kartları gizlidir - Client kiçik şəkillərini təqlid etmə əlçatmazdır (API vaxtı bitdi) - Client kiçik şəkillərini təqlid etmə müvəqqəti əlçatmazdır: %s - - - + + Video yayımları təqlid et + Oxutma problemlərini önləmək üçün client video yayımlarını təqlid et + Video yayımları təqlid et + Video yayımları təqlid edilir + Video yayımları təqlid edilmir\n\nVideo oxutma işləməyə bilər + Bu ayarı söndürmək, video oxutma problemlərinə səbəb ola bilər. + İlkin client + Məcburi AVC (H.264) + Video kodlaşdırma: AVC (H.264) + Video kodlaşdırma: VP9 və ya AV1 + Cihazınızda VP9 hardware decoding yoxdur və bu ayar, \"Client təqlid etmə\" fəal olduqda həmişə açıqdır + Bunu fəallaşdırmaq, batareya ömrünü uzada və oxutmadakı ilişmələri düzəldə bilər.\n\nAVC, maksimum 1080p dəqiqliyinə sahibdir və video oxutma, VP9 və ya AV1-ə görə daha çox internet datası istifadə edəcək. + iOS təqlidinin yan təsirləri + • Filmlər və ya ödənişli videolar oxudulmaya bilər\n• Canlı yayımlar başdan başlayır + Android VR təqlidinin yan təsirləri + • Səs trek menyusu əskikdir diff --git a/src/main/resources/addresources/values-be-rBY/strings.xml b/src/main/resources/addresources/values-be-rBY/strings.xml index 168840c09..9a32f79b3 100644 --- a/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/src/main/resources/addresources/values-be-rBY/strings.xml @@ -32,6 +32,8 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Вы хочаце працягнуць? Скінуць @@ -42,6 +44,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Налады ReVanced скінуты да стандартных Імпартавана %d налад Памылка імпарту: %s + Імпарт / Экспарт + Імпарт / Экспарт налад ReVanced + + Вы выкарыстоўваеце версію ReVanced Patches <i>%s</i> + Нататка + Гэтая версія з\"яўляецца папярэдняй версіяй, і вы можаце сутыкнуцца з непрадбачанымі праблемамі + Афіцыйныя спасылкі @@ -54,14 +63,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - Вы выкарыстоўваеце версію ReVanced Patches <i>%s</i> - Нататка - Гэтая версія з\"яўляецца папярэдняй версіяй, і вы можаце сутыкнуцца з непрадбачанымі праблемамі - Афіцыйныя спасылкі - Імпарт / Экспарт - Імпарт / Экспарт налад ReVanced - Пра праграму Аб\"явы @@ -242,14 +243,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ключавыя словы, якія трэба схаваць - Ключавыя словы і фразы, якія трэба схаваць, падзеленыя новымі радкамі\n\nСловы з вялікімі літарамі пасярэдзіне трэба ўводзіць з вялікім рэгістрам (напрыклад: iPhone, TikTok, LeBlanc) Аб фільтрацыі ключавых слоў - Галоўная/Падпіска/Вынікі пошуку фільтруюцца, каб схаваць змесціва, якое супадае з ключавымі фразамі\n\nАбмежаванні\n• Некаторыя шорты могуць быць не схаваны\n• Некаторыя кампаненты карыстальніцкага інтэрфейсу могуць быць не схаваны\n• Пошук па ключавым слове можа не даць вынікаў + - Няправільнае ключавое слова. Немагчыма выкарыстоўваць: \"%s\" у якасці фільтра - - Няправільнае ключавое слова. \"%1$s\" змяшчае менш за %2$d сімвалаў - Ключавое слова \"%s\" схавае ўсе відэа Схаваць агульную рэкламу @@ -430,7 +426,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Кнопка \"Дадому\" схавана Паказана кнопка \"Дадому\". - Схаваць шорты + Схаваць кнопку \"Shorts\" Кнопка Shorts схавана Паказана кнопка Shorts @@ -678,7 +674,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Непразрыстасць накладання прайгравальніка павінна быць паміж 0-100 - Схаваны Адзнакі \"Не падабаецца\" часова недаступныя (час чакання API скончыўся) Дызлайкі недаступныя (статус %d) @@ -874,8 +869,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Час пачатку сегмента Час заканчэння сегмента Ці правільны час? - Сегмент ад\n\n%1$s\nда\n%2$s\n\n(%3$s)\n\nГатовы адправіць? Пачынаць трэба раней за канец Спачатку адзначце два месцы на панэлі часу @@ -1114,20 +1107,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Слайд для пошуку ўключаны Слайд для пошуку не ўключаны - - Падман кліента - Падробка кліента, каб прадухіліць праблемы з прайграваннем - Падман кліента - Кліент падроблены - Кліент не падроблены\n\nПрайграванне відэа можа не працаваць - Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем відэа. - Падробка кліента для iOS - Кліент у цяперашні час падроблены для Android VR. Пабочныя эфекты ўключаюць:\n• Няма HDR-відэа\n• Дзіцячыя відэа не прайграваюцца\n• Прыпыненыя відэа могуць аднаўляцца выпадковым чынам\n• Нізкая якасць мініяцюр на панэлі пошуку Shorts\n• Кнопка дзеяння Спампаваць схавана\n• Карткі канцавога экрана схаваны - Мініяцюры кліента Spoof недаступныя (час чакання API скончыўся) - Мініяцюры кліента Spoof часова недаступныя: %s - - - + + Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем відэа. diff --git a/src/main/resources/addresources/values-bg-rBG/strings.xml b/src/main/resources/addresources/values-bg-rBG/strings.xml index c5243ea3d..a5b8d4d21 100644 --- a/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -32,28 +32,47 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Проверката е неуспешна + Отворете официалния уебсайт + Пропусни + <h5>Изглежда, че това приложение не е коригирано от вас.</h5><br>Това приложение може да не функционира правилно, <b>може да бъде вредно или дори опасно за използване</b>.< br><br>Тези проверки предполагат, че това приложение е предварително коригирано или получено от някой друг:<br><br><small>%1$s</small><br>Силно се препоръчва да <b>деинсталирайте това приложение и го поправете сами</b> за да сте сигурни, че използвате валидирано и защитено приложение.<p><br>Ако бъде пренебрегнато, това предупреждение ще се покаже само два пъти. + Коригирано на друго устройство + Не е инсталиран ReVanced Manager + Редактирано преди повече от 10 минути + Коригирано преди %s дни + Датата на компилация на APK е повредена + - Желаете ли да продължите? + Искате ли да продължите? Нулиране - Опреснете и рестартирайте + Рестартирай и опресни Рестартиране Импортиране Копиране Настройките на ReVanced бяха нулирани Следните настройки бяха импортирани успешно: %d Импортирането беше неуспешно: %s + Импортиране / Експортиране + Импортиране / Експортиране на ReVanced настройките + + Вие използвате версията на ReVanced Patches<i>%s</i> + Забележка + Тази версия е предварителна, така че може да срещнете неочаквани проблеми + Официални линкове + Дарение + GmsCore не е инсталиран. Инсталирайте го. + Нужно е действие + MicroG GmsCore не може да работи във фонов режим.\n\nМоля, следвайте ръководството \"Don\'t kill my app“ за вашия телефон и приложете инструкциите на MicroG.\n\nТова е необходимо, за да работи приложението. Отвори сайта + За да избегнете проблеми е необходимо да изключите оптимизацията на батерията за GmsCore.\n\nНатиснете \"Продолжи\" и изкючере оптимизацията на батерията. + Продължи - - Забележка - Импортиране / Експортиране - Импортиране / Експортиране на ReVanced настройките - Относно Реклами @@ -61,8 +80,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Поток Плейър Общо оформление - Shorts - Seekbar + Лента за прогрес на видеото Контроли с плъзгане Разни Видео @@ -85,28 +103,39 @@ This is because Crowdin requires temporarily flattening this file and removing t Ако изключите системните съобщения, ще скриете всички уведомления за ReVanced грешки. \n\nНяма да бъдете уведомени, ако настъпят неочаквани събития. + Деактивирайте подсветката на бутона Харесвам /Абонамент + Бутоните „Харесвам“ и „Абониране“ няма да светят, когато бъдат натиснати + Бутоните „Харесвам“ и „Абониране“ ще светят, когато бъдат натиснати Скриване на сивия разделител Сивите разделители са скрити Сивите разделители са показани Скриване на водния знак на канала Водният знак е скрит Водният знак е показан + Хоризонтални секции + Хоризонталните секции са скрити:\n• Извънредни новини\n• Продължете да гледате\n• Разгледайте още канали\n• Пазаруване\n• Гледайте отново + Хоризонтални секции се показват + Скриване на бутона \'Присъедини се\' Бутонът е скрит Бутонът е показан + Скриване на секцията \'За вас\' в страницата на канала Рафтът е скрит Рафтът е показан + Скриване на бутона \"Уведоми ме\" Бутонът е скрит Бутонът е показан + Скриване на препоръките \'Други харесват също\' Препоръките са скрити Препоръките са показани + Скриване на бутона \"Покажи още\" Бутонът е скрит Бутонът е показан Скриване на времевите реакции @@ -157,6 +186,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Скриване на лентата на канала Лентата на канала е скрита Лентата на канала е показана + Игри в YouTube + Игри в YouTube са скрити + Игрите в YouTube се показват Скриване на бързите действия в режим на цял екран Бързите действия в режим на цял екран са скрити Бързите действия в режим на цял екран са показани @@ -178,9 +210,22 @@ This is because Crowdin requires temporarily flattening this file and removing t Скриване на рафта за чипове Рафтът за чипове е скрит Рафтът за чипове е показан + Скриване на секцията с атрибути + „Популярни места“, „Игри“ и „Музика“ под описанието са скрити + „Популярни места“, „Игри“ и „Музика“ под описанието се показват + Скриване на секцията с заглавия + Секцията с заглавия е скрита + Секцията с заглавия се показва + Скриване секцията „Разгледайте подкаста“ + \"Разгледайте подкаста\" е скрита + \"Разгледайте подкаста\" се показва Скриване на раздела за информационни карти Разделът за информационни карти е скрит Разделът за информационни карти е показан + Раздел „Ключови понятия“ + Раздел „Ключови понятия“ са скрит + Раздел „Ключови понятия“ се показва + Скриване на раздела за транскрипция Разделът за транскрипция е скрит Разделът за транскрипция е показан Описание на видеото @@ -200,6 +245,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Видеоклиповете на началния екран са филтрирани с ключови думи Видеоклиповете на началния екран не са филтрирани с ключови думи Скриване на видеоклипове от абонаменти с ключови думи + Видеоклиповете в раздела за абонаменти са са филтрирани с ключови думи Видеоклиповете в раздела за абонаменти са са филтрирани с ключови думи Скриване на резултати от търсения с ключови думи Резултатите от търсения са филтрирани с ключови думи @@ -207,20 +253,32 @@ This is because Crowdin requires temporarily flattening this file and removing t Ключови думи, които да бъдат скрити - Ключови думи и фрази, които да бъдат скрити, разделени с нови редове\n\nДуми с главни букви в средата трябва да бъдат въведени с големи букви (например: iPhone, TikTok, LeBlanc) + Ключови думи и фрази за скриване, разделени с нови редове\n\nКлючовите думи могат да бъдат имена на канали или всеки текст, показан в заглавията на видеоклиповете\n\nДумите с главни букви в средата трябва да бъдат въведени с малки букви (напр.: iPhone, TikTok, LeBlanc) За филтриране с ключови думи - Начало/Абонамент/Резултатите от търсенето се филтрират, за да се скрие съдържанието, което съответства на ключовите фрази\n\nОграничения\n• Някои кратки видеоклипове може да не са скрити\n• Някои компоненти на потребителския интерфейс може да не са скрити\n• Търсенето на ключова дума може да не покаже резултати - + Начало/Абонамент/Резултатите от търсенето се филтрират, за да се скрие съдържание, което съответства на ключови фрази\n\nОграничения\n• Shorts не могат да бъдат скрити от името на канала\n• Някои компоненти на потребителския интерфейс може да не са скрити\n• Търсенето по ключова дума може да не покаже резултати + Съвпадение на всички думи + + Ограждането на ключова дума/фраза с двойни кавички ще предотврати частични съвпадения на заглавия на видеоклипове и имена на канали<br><br>Например,<br><b>\"ai\"</b> ще скрие видеоклипа: <b>How does AI work?</b><br>но няма да скрие: <b>What does fair use mean?</b> + Не можете да използвате ключовата дума: %s + Добавете кавички, за да използвате ключова дума: %s + Ключовата дума има противоречиви твърдения: %s + Ключовата дума е твърде кратка и изисква кавички: %s + Всички видеа с ключовата дума ще бъдат скрити: %s Скриване на общите реклами Общите реклами са скрити Общите реклами са показани Скриване на рекламите в режим на цял екран + Рекламите на цял екран са скрити\n\in Тази функция е достъпна само за по-стари устройства Рекламите в режим на цял екран са показани + Скриване на рекламни бутони Рекламите като бутон са скрити Рекламите като бутон са показани + Скриване на платените промоции + Промоционалните етикети са скрити + Промоционалните етикети се показват Скриване на самоспонсорирани карти Самоспонсорираните карти са скрити Самоспонсорираните карти са показани @@ -231,6 +289,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Връзките за пазаруване са скрити Връзките за пазаруване са показани + Скрийте бутона „Посетете магазина“ на страниците на каналите Бутонът е скрит Бутонът е показан Скриване на резултатите от уеб търсенето @@ -240,6 +299,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Банерите за стоки са скрити Банерите за стоки са показани + Скр. на реклами на цял екран, за по-стари устройства Скриване на YouTube Premium промоции @@ -255,14 +315,17 @@ This is because Crowdin requires temporarily flattening this file and removing t URL адресът е копиран в клипборда URL адресът с времеви отпечатък е копиран Показване на бутона за копиране на URL адреса на видеоклипа + Показан е бутон. Докоснете, за да копирате URL на видеото. Докоснете и задръжте, за да копирате URL адреса на видеоклипа с клеймо за време Бутонът не е показан Показване на бутона за копиране на URL адреса на времевия отпечатък на видеоклипа + Показан е бутон. Докоснете, за да копирате URL адреса на видеоклипа с клеймо за време. Докоснете и задръжте, за да копирате видеоклип без клеймо за време Бутонът не е показан Скриване на прозореца за възрастово ограничение Диалоговият прозорец ще бъде премахнат Диалоговият прозорец ще бъде показан + Тази функция не заобикаля възрастовото ограничение. Тя просто приема възрастовата граница автоматично. Външни изтегляния @@ -276,6 +339,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Бутонът за изтегляне отваря вграденото приложение за изтегляне Име на пакета на изтеглящото приложение Име на пакета на приложението за изтегляне, като NewPipe или Seal + %s не е инсталиран. Инсталирайте го. Деактивиране на жеста за точно търсене @@ -303,6 +367,10 @@ This is because Crowdin requires temporarily flattening this file and removing t Запазване и възстановяване на яркостта Запазване и възстаовяване яркостта при включване или изключване на цял екран Не се запазва или възстаовява яркостта при включване или изключване на цял екран + Задаване на яркост чрез плъзгане + Плъзгането надолу до най-ниската стойност на жеста за яркост, за да се активира автоматичната яркост + Плъзгането надолу до най-ниската стойност на жеста за яркост, без дасе активира автоматичната яркост + Авто Задръжка на плъзгащата контрола Време за което плъзгащата контрола е видима Размер на текста при плъзгане @@ -313,200 +381,760 @@ This is because Crowdin requires temporarily flattening this file and removing t Праг преди да се осъществи плъзгането + Автоматични Субтитри + Автоматичните Субтитри са деактивирани + Автоматичните Субтитри са активирани + Бутони за действия + Скриване или показване на бутони под видеото + Бутони \"Харесвам\" и \"Не харесвам\" + Бутоните \"Харесвам\" и \"Не харесвам\" са скрити + Бутоните \"Харесвам\" и \"Не харесвам\" се показват + Скриване на споделянето + Бутона за споделяне е скрит + Бутона за споделяне се показва + Бутон за доклади + Бутона за докладване е скрит + Бутона за докладване се показва + Бутон за ремикс + Бутона за ремикс е скрит + Бутона за ремикс се показва + Бутон за изтегляне + Бутона за изтегляне е скрит + Бутона за изтегляне се показва + Бутон за благодарност + Бутона за благодарност е скрит + Бутона за благодарност се показва + Бутон за създаване на клип + Бутона за клип е скрит + Бутона за клип се показва + Бутон за Запазване в плейлиста + Бутонът за Запазване в плейлиста е скрит + Бутонът за Запазване в плейлиста се показва + Бутона за авт. изпълнение + Бутона за авт. изпълнение е скрит + Бутона за авт. изпълнение се показва + Бутона за Субтитри + Бутона за субтити е скрит + Бутона за субтити се показва + Бутон за предаване на Тв + Бутонът за предаване е скрит + Бутонът за предаване се показва + Бутони за навигация + Скриване или промяна на бутоните в лентата за навигация + Бутон за Начало + Бутона за начало е скрит + Бутона за начало се показва + Бутон за Кратки клипове + Бутона за кратки клипове е скрит + Бутона за кратки клипове се показва + Бутон за създаване на клип + Бутонът за създаване е скрит + Бутона за създаване се показва + Абонаменти + Бутона за абонаменти е скрит + Бутона за абонаменти се показва + Заменете бутона „Създаване“ с бутона „Известия“ + Бутонът за създаване се заменя с бутона за известия\n\nЗабележка: Активирането на тази опция също скрива видеореклами + Бутоните \"Създаване\" и \"Известия\" не са разменени + Имена на бутоните на лентата за навигация + Етикетите са скрити + Етикетите се показват + Падащо меню + Скриване или показване на елементи от падащото меню на плейъра + Меню \"Субтитри\" + Менюто за субтитрие скрито + Менюто за субтитрие се показва + Меню \"Допълнителни настройки\" + Допълнителните настройки са скрити + Допълнителните настройки се показват + \"Повторно възпроизвеждане\" + Менюто за повторение е скрито + Менюто за повторение се показва + Подсветка около видеото + Менюто за подсветка около видеото е скрито + Менюто за подсветка около видеото се показва + Помощ & Отзиви + Менюто & за помощ е скрито + Менюто & за помощ се показва + Скриване на скоростта на възпроизвеждане + Менюто за скорост на видеото е скрито + Менюто за скорост на видеото се показва + \"Допълнителна информация\" + \"Допълнителна информация\" е скрита + \"Допълнителна информация\" се показва + \"Заключен екран\" + Менюто на заключен екран е скрито + Менюто на заключен екран се показва + Избор на Аудио + Менюто за избор на Аудио е скрито + Менюто за избор на Аудио се показва + Гледайте във VR + Менюто за гледане в VR е скрито + Менюто за гледане в VR се показва + Бутони за Предишно & Следващо видео + Бутоните са скрити + Бутоните се показват + \"Карти на албумите\" + Албумните карти са скрити + Албумните карти се показват + Коментари + Скриване или показване на секцията за коментари + Скриване на „Коментари, направени от членове“ + „Коментари от членове“ са скрити + „Коментари от членове“ се показват + Скриване на секцията с коментари + Секцията с коментари е скрита + Секцията с коментари се показва + Бутон за създаване на Shorts + Бутон за създаване на Shorts е скрит + Бутон за създаване на Shorts се показва + Преглед на коментари + Прегледа на коментари е скрит + Прегледа на коментари се показва + Бутон за благодарност + Бутона за благодарност е скрит + Бутона за благодарност се показва + Бутони в лентата на прогреса и емотикони + Бутоните са скрити + Бутоните се показват + Дарителска кутия + Кутията за дарения е скрита + Кутията за дарения се показва + Скриване на препоръките в края + Препоръките в края са скрити + Препоръките в края се показват + Лента с филтри + Скриване или показване на лентата с категории в емисията, резултатите от търсенето и свързаните видеоклипове + Скриване на горната лента с категории в емисията + Скрита + Показва се + Филтъри на търсене + Панелът с филтъри на търсене е скрит + Панелът с филтъри на търсене се показва + Скриване в сродни видеоклипове + Скриване в сродни видеоклипове + Показано в сродни видеоклипове + Плаващ бутон за микрофона + Бутонът на микрофона е скрит + Показан е бутон на микрофона + Деактивирайте подсветка около видеото на цял екран + Подсветката в режим на цял екран е деактивирана + Подсветката в режим на цял екран е активирана + Скриване на инфо. карти + Информационните карти са скрити + Информационните карти се показват + Анимация на числа в реално време + Анимацията е деактивирана + Анимацията е активирана + Скриване на лента за време на плейъра + Лентата за време на плейъра е скрита + Лентата за време на плейъра се показва + Скр. лента за време при миниатюрите + Лентата за време при миниатюрите е скрита + Лентата за време при миниатюрите се показва + Скриване на Shorts в началната лента + Shorts в началната лента са скрити + Shorts в началната лента са показани + Shorts в раздел „Абонаменти“ + Shorts в раздел „Абонаменти“ са скрити + Shorts в раздел „Абонаменти“ се показват + Shorts в резултатите от търсенето + Shorts в резултатите от търсенето са скрити + Shorts в резултатите от търсенето се показват + Бутон за присъединяване + Бутона за присъединяване е скрит + Бутона за присъединяване се показва + Скрийте бутона „Абониране“ + Бутонът „Абониране“ е скрит + Бутонът „Абониране“ се показва + Показване на бутони при пауза + Бутоните при пауза се скриват + Бутоните при пауза се показват + Скриване на бутона за пазаруване + Бутона за пазаруване е скрит + Бутона за пазаруване се показва + Бутон \"Специални благодарности\" + Бутон \"Специални благодарности\" е скрит + Бутон \"Специални благодарности\" се показва + Скриване на маркираните продукти + Скрити + Показват се + Етикет за местоположение + Етикет за местоположение е скрит + Етикет за местоположение се показва + Бутон за запазване на аудиото в плейлиста + Бутонът за Запазване в плейлиста е скрит + Бутонът за Запазване в плейлиста се показва + Скриване на предложенията за търсене + Предложенията за търсене са скрити + Предложенията за търсене се показват + Скриване на бутона за харесване + Бутона за харесване е скрит + Бутона за харесване се показва + Скриване на бутона за нехаресване + Бутона за нехаресване е скрит + Бутона за нехаресване се показва + Скриване на бутона за коментари + Бутон за коментари е скрит + Бутон за коментари се показва + Бутон за ремикс + Бутона за ремикс е скрит + Бутона за ремикс се показва + Бутон за споделяне + Бутона за споделяне е скрит + Бутона за споделяне се показва + Информационни панели + Информационните панели са скрити + Информационните панели се показват Скриване на лентата на канала Лентата на канала е скрита Лентата на канала е показана + Заглавие на видеото + Заглавието е скрито + Заглавието се показва + Скриване на музикални метаданни + Метаданни са скрити + Метаданни се показват + Скриване на етикет за връзка към видеоклипа + Етикетът за видео връзка е скрит + Етикетът за видео връзка се показва + Скрийте бутона „Звук“ + Бутона за Звук е скрит + Бутона за Звук се показва + Скриване лентата за навигация + Навигационната лента е скрита + Навигационната лента се показва + Препоръчани видеоклипове в края + Препоръчаните видеоклипове в края са скрити + Препоръчаните видеоклипове в края се показват + Скриване на клеймото за време на видеоклипа + Скрито + Показва се + Изскачащи панели на плейъра + Изскачащите панели на плейъра са скрити + Изскачащите панели на плейъра се показват + Прозрачност на настройките в Плеара + Стойност на прозрачност между 0-100, където 0 е прозрачно + Прозрачността на менюто на плейъра трябва да бъде между 0-100 - Скрито + Нехаресванията временно не са налични (API timed out) + Нехаресванията не са налични (status %d) + Нехаресванията не са достъпни (достигнат лимит на API) + Нехаресванията не са налични (%s) + Презареди видеото за гласуване с ReturnYouTubeDislike + Нехаресванията се показват + Нехаресванията не се показват + Пок. нехаресвания в кратките клипове + Нехаресванията се показват в кратките клипове + Нехаресвания, показани в Shorts\n\nОграничение: Нехаресванията може да не се показват в режим „инкогнито“ + Нехаресванията са скрити в кратките клипове + Нехаресвания като процент + Нехаресванията се показват като процент + Нехаресванията се показват като число + Компактен бутон за харесване + Включен компактен бутон \"Харесва ми\" + Най-добър изглед на бутона за харесване + Показване на известие, ако API не е наличен + Показва известие, ако Return YouTube Dislike не е наличен + Не се показва известие, ако ReturnYouTube Dislike не е наличен Относно + Данните за нехаресване са от Return YouTube Dislike API. Докоснете за да научите повече + Статистика Return YouTube Dislike API на това устройство + Време за отговор на API, средно + Време за отговор на API, минимално + Време за отговор на API, максимално + Време за отговор на API, последно видео + Нехаресванията временно не са налични - в сила е лимитът API клиента + API получава гласове, брой заявки + Неуспешни мрежови заявки + %d мрежови заявки + API извлича гласове, брой изчаквания + Мрежовите заявки нямаха изчакване + %d изтече времето за изчакване на мрежовите повиквания + Ограничения на скоростта на API клиент + Ограниченията на скоростта на клиента на Api не са открити + Открити са ограничения на скоростта на клиента на Api %d пъти + %d милисекунди + Широка лента за търсене + Широката лента за търсене е включена + Широката лента за търсене е изключена + Стари миниатюри на времевата линия + Над лентата за възпроизвеждане се появяват миниатюри + Миниатюрите се показват в режим на цял екран Включване на SponsorBlock + SponsorBlock е система за прескачане на досадни части и реклами от видеоклиповете в YouTube Облик + Бутона за гласуване + Бутона за гласуване на част се показва + Бутона за гласуване на част е скрит + Компактен бутон за пропускане + Мин. ширина на бутона за пропускане + Най-добър изглед на бутона за пропускане + Авт. скриване на бутона за пропускане + Бутона за пропускане се скрива след няколко секунди + Бутона за пропускане се показва за цялата част + Показв. известие при автом. пропуск. част + Показване на известие при автоматично пропусната част. Докоснете тук за пример + Известието не се показва. Докоснете тук за пример + Показване на дължината на видеото без сигментите + Дължината на видеото без всички части показана в скоби до цялата дължина + Цялата дължина на видето се показва + Създаване на нови части + Показване на бутона за нова част + Бутона създаване за нова част се показва + Бутона създаване за нова част не се показва + Настройване стъпка на новата част + Милисекундите с който се преместват бутоните за настройка при създаване на част + Стойността трябва да е положително число Преглед на ръководните линии + Указанията съдържат правила и съвети за създаване на нови части + Следвайте указанията + Прочетете указанията на SponsorBlock преди да създадете нови части Вече прочетох + Покажи ми Общи + Показване на известие, ако API не е наличен + Показва се известие, ако SponsorBlock не е наличен + Показва се известие, ако SponsorBlock не е наличен + Прослед. на броя пропускания + Показва в класацията на SponsorBlock колко време е спестено. Съобщение се изпраща при всяка пропусната част + Прослед. на броя пропускания е изключен + Минимална продължителност на сегмента + Части, по-кратки от тази стойност (в секунди) няма да бъдат пропускани или показвани + Невалидна времетраене + Вашият уникален потребителски id Това трябва да се държи тайно. То е като парола и не трябва да се споделя с никого. Ако някой го има, то той може да се представи вместо вас + Личният Id трябва да е с дължина поне 30 знака + Промяна URL на API + Адресът, който SponsorBlock използва за свързване към сървъра Нулиране URL адреса на API + URL адресът е невалиден URL адресът на API е променен Настройки за внасяне и изнасяне Копиране + Вашата JSON конфигурация на SponsorBlock може да бъде импортирана/експортирана в ReVanced и други платформи на SponsorBlock + Вашата SponsorBlock JSON конфигурация която може да се импортира/експортира до ReVanced или други платформи ползващи SponsorBlock. Това включва вашия потребителски id. Споделяйте това разумно + Настройките са успешно въстановени + Неуспешно импортиране: %s + Неуспешно експортиране на %s + Вашите настройки на SponsorBlock съдържат лично Id.\n\nВашето Id е като парола и не трябва да се споделя с никого\n + Не показвай отново + Промени поведението на сигмента Спонсор + Платена промоция, платени препоръки и директни реклами. Не за самореклама или безплатни препоръки за каузи/създатели/уебсайтове/продукти, които се харесват на автора + Неплатена/Самореклама + Подобно на „Спонсор“, с изключение на неплатено или самореклама. Включва раздели за стоки, дарения или информация за това с кого са си сътрудничили + Напомняне за действие (абониране) + Кратко напомняне да харесате, абонирате или последвате в средата на съдържанието. Ако е дълго или за нещо конкретно, вместо това трябва да бъде самореклама + Акценти + Частта от видеото която повечето хора търсят + Пауза / Начална анимация + Интервал без реално съдържание. Може да бъде пауза, статичен кадър, повтаряща се анимация. Това не трябва да се използва за преходи, съдържащи информация + Карти в края/Пояснения + Информация или когато се показват крайните карти на YouTube. Не за заключения с информация + Кратък преглед/Обобщение + Колекция от клипове, които показват какво предстои в този видеоклип или в други видеоклипове от поредицата, където цялата информация се повтаря по-късно във видеоклипа + Пълнеж/Шеги + Сцени извън темата, добавени само за пълнеж или хумор, които не са необходими за разбирането на основното съдържание на видеоклипа. Това не трябва да включва сегменти, предоставящи контекст или справочни данни + Музика: Част без музика + За използване само в музикални видеоклипове. Това трябва да се използва само за части от музикални видеоклипове, които вече не са обхванати от друга категория + Пропусни + Акценти + Пропусни спонсор + Пропусни промоция + Пропусни подканване + Пропусни до акценти + Пропуснете въведението + Пропусни пауза + Пропусни пауза + Пропусни заключение + Пропусни преглед + Пропусни преглед + Пропуснете обобщението + Пропусни пълнеж + Пропусни част без музика + Пропускане на сегмент + Пропуснат спонсор + Пропусната самореклама + Пропуснато досадно напомняне + Пропуснато до акцент + Пропуснато въведение + Пропусни паузи + Пропусни паузи + Пропуснато заключение + Пропуснат преглед + Пропуснат преглед + Пропуснато повторение + Пропуснат пълнеж + Пропусната част без музика + Пропуснат неизпратен сегмент + Пропуснати множество части Да се прескача от само себе си + Авт. пропускане веднъж + Показвай бутон за пропускане + Показв. в лентата за време Изключване + Не може да се изпрати сегмент: %s + SponsorBlock временно не работи + Не могат да се изпратят сигменти: (статус:%1$d %2$s) + Не може да се изпрати частта.\nБроят е ограничен (Твърде много от един и същ потребител, IP) + Не може да се изпрати частта: %s + Не може да се изпрати частта.\nВече съществува + Частта е изпратена успешно + SponsorBlock временно не е наличен (API timed out) + SponsorBlock временно не е наличен (status %d) + SponsorBlock временно не е наличен + Не може да се гласува за сегмент (API timed out) + Не може да се гласува за частите: (статус: %1$d %2$s) + Не може да се гласува за част: %s Положителен вот Отрицателен вот Промяна на категорията + Няма сегменти, за които да гласувате + Изберете категория сегмент + Категорията е изкл. в настройките. Вкл. я за да можете да изпратите. + Нова част в SponsorBlock + Задаване на %s като начало или край на нов раздел? начало край сега - + Частта започва от + Частта свършва до + Времената точни ли са? + Сегментът продължава от\n\n%1$s\nдо\n%2$s\n\n(%3$s)\n\nГотов ли е за изпращане? + Началото трябва да бъде преди края + Първо маркирайте две места в лентата за времето + Преглед и проверка на частта за нормално пропускане + Ръчно редактиране на времената на частта Желаете ли да редактирате времената за начало или край на частта? + Зададено е невалидно време Статистика + Статистиката е враменно недостъпна (API не работи) Зареждане... SponsorBlock е изключено + Вашето потреб. име: <b>%s</b> + Докоснете за промяна потребителското име + Не може да се промени потреб. име: Състояние: %1$d%2$s Потребителското име е успешно променено + Репутацията ви е <b>%.2f</b> + Създадохте <b>%s</b> части + Докоснете тук, за да видите вашите сегменти + SponsorBlock класация + Спасихте хората от <b>%s</b> части + Докоснете за да видите статистиката и тези допринесли най-много + Това е <b>%s</b> от живота им.<br>Щракнете, за да видите класацията + Пропуснали сте <b>%s</b> части + Това е <b>%s</b> + Нулиране на брояча на пропуснати части? + %1$s часове %2$s минути + %1$s минути %2$s секунди + %s секунди + Цвят: Цветът е променен + Възстанови цвета + Невалидна стойност за цвета + Възстановяване на цвят Нулиране Относно + Данните са предоставени от SponsorBlock API. Докоснете тук за повече информация и изтеглияния + Подлъгване за версията на приложението + Подправена версия + Не подправена версия + Версията на приложението YouTube ще бъде променена на по-стара.\n\nТова ще промени външния вид и функциите на приложението.\n\nно ако по-късно се деактивира, се препоръчва да изчистите данните на приложението, за да избегнете грешки в потребителския интерфейс. + Подлъгване за версията на + 18.33.40 - Възстановете RYD в режим „инкогнито“ на Shorts + 18.20.39 - Възстановяване на видео скорост & в менюто за качество + 18.09.39 - Възстановяване на таб \"Библиотека\" + 17.41.37 - Връщане на секцията с плейлиста към стария стил + 17.33.42 - Възстановява стария изглед + Задай начална страница По подразбиране + Начало + Търсене + Абонаменти + Разгледайте Shorts + Раздел \"Вие\" + Харесани видеа + История + Популярни + Скриване на Shorts плейъра при стартиране + Shorts плейъра при стартиране на приложението е скрит + Shorts плейъра при стартиране на приложението се показва + Включи режим за таблет + Режим за таблет е вкл. + Режим за таблет е изкл. + Публикациите в общността не се показват на оформления за таблет + Минимизиран екран за възпроизвеждане + Променете стила на минимизирания екран за възпроизвеждане + Минимизиран тип екран за гледане + Оригинал + Телефон + Таблет + Модерен 1 + Модерен 2 + Модерен 3 + Бутони за разширяване и свиване на екрана + Скрит.\n(плъзнете минимизирания екран на плейъра, за да разширите или затворите видеоклипа) + Бутони за разширяване и свиване на екрана са видими + Екранни текстове, етикети + Скрити + Показват се + Бутони за напред и назад + Бутони за напред и назад са скрити + Бутони за напред и назад са показани + Прозрачност на менютата + Стойност на прозрачност между 0-100, където 0 е прозрачно + Прозрачността на менюто трябва да бъде между 0-100 + Фон на екрана при зареждане на видео + Екранът за зареждане ще има градиентен фон + Екранът за зареждане ще има плътен фон + Промяна на цвета на индикатора за време + Показва се персонализиран цвят на лентата за напредък + Показва се оригиналния цвят на лентата за напредък + Персонализиран цвят на лентата за напредък + Цветове на лентата за напредък + Невалидна стойност на цвета. Използвй стойност по подразбиране. + Прескочете забраната за зареждане на изображение + Домейнът yt4.ggpht.com се използва за зареждане на изображения + Оригиналният домейн се използва за зареждане на изображения\n\nАктивирането на тази настройка може да коригира зареждането на изображения, които са блокирани в някои региони + Раздел Начало + Раздел Абонаменти + Раздел \"Вие\" + Плейлисти, предложения + Резултати от търсенето + Оригинални миниатюри + DeArrow & оригинални миниатюри + DeArrow & Неподвижни кадри + Неподвижни кадри + DeArrow предоставя миниатюри на публиката за видеоклипове. Тези миниатюри често са по-подходящи от тези, предоставени от самия YouTube. Ако е активирано, URL адресите на видео ще бъдат изпратени до API сървъра, без да се изпращат други данни. Ако видеоклипът няма миниатюри на DeArrow, ще се покажат или неговите оригинални миниатюри, или заснети кадри. Щракнете, за да научите повече за DeArrow + Показване на известие, ако API не е наличен + Показва се известие, ако DeArrow не е наличен + Показва се известие, ако DeArrow не е наличен + Крайна точка на API на DeArrow + URL адресът на крайната точка за съхранение на миниатюри DeArrow + Неподвижни миниатюри + Неподвижните снимки се правят от началото / средата / края на всеки видеоклип. Тези изображения са вградени в YouTube и не се използва външен API + Използване на бързо заснемане на кадри + Използват се кадри със средно качество. Миниатюрите ще се зареждат по-бързо, но видеоклипове на живо, неиздадени или много стари може да показват празни миниатюри + Използване на висококачествени снимки + Времето на видеоклипа, от който ще бъдат взети кадрите + Начало на видеото + Средата на видеото + Края на видеото + DeArrow временно не е наличен. (код на състоянието: %s) + DeArrow временно не е наличен + Показване на ReVanced съобщения + Съобщенията се показват при стартиране + Съобщенията не се показват при стартиране + Показване на съобщения при стартиране + Неуспешно свързване с доставчик на съобщения Отхвърли Предупреждение + Историята ви на гледане не се запазва.<br><br>Това най-вероятно е причинено от DNS блокиращ реклами или мрежов прокси.<br><br>За да коригирате това, поставете <b>s.youtube в белия списък.com</b> или изключете всички DNS блокери и проксита. + Не показвай отново + Автоматично повтаряне на текущия видеоклип + Включено автоматично повтаряне на текущия видеоклип + Изключено автоматично повтаряне на текущия видеоклип + Лъжливи параметри на устройството + Подправената резолюция на устройството\n\nМоже да се отключи по-високо качество на видеото, но може да изпитате засичане при възпроизвеждане на видео, по-лош живот на батерията и неизвестни странични ефекти + Резолюцията на устройството не е подправена\n\nАктивирането на това не може да отключи по-високо качество на видеото + Разрешаването на това може да причини прекъсване на възпроизвеждането на видео, влошен живот на батерията и неизвестни странични ефекти. + GmsCore Настройки + Настройки на GmsCore + Заобикаляне на URL пренасочване + URL пренасочванията се заобикалят + URL пренасочванията не се заобикалят + Отваряне на връзки в браузъра + Отваряне на външни връзки + Отваряне на връзки в приложението + Премахнете параметъра на заявката за проследяване + Параметърът на заявката за проследяване е премахнат от връзките + Параметърът на заявката за проследяване не е премахнат от връзките + Деактивиране на вибрация при мащабиране + Вибрациите са деактивирани + Вибрациите са активирани + Автоматично качество + Запомни промените в качеството на видеото + Промените в качеството се отнасят за всички видеоклипове + Промените в качеството се отнасят само за текущия видеоклип + Предпочитано качество при Wi-Fi + Предпочитано качество при мобилни данни + мобилни данни + wi-fi + Променено стандартно %1$s качество на: %2$s + Показване бутон за скорост Бутонът е показан Бутонът не е показан + Персонализирани скорости на възпроизвеждане + Добавете или променете наличните скорости на възпроизвеждане + Персоналната скорост трябва да е по-малка от %s. Използване на стойности по подразбиране. + Невалидни персонализирани скорости на възпроизвеждане. Използване на стойности по подразбиране. + Запомни промените в скоростта на възпроизвеждане + Промените в скоростта на възпроизвеждане се отнасят за всички видеоклипове + Промените в скоростта на възпроизвеждане се отнасят само за текущия видеоклип + Скорост на възпроизвеждане по подразбиране + Скоростта по подразбиране е променена на: %s + Възстановете старото меню за качество на видеото + Показва се старото меню за видео качество + Старото меню за видео качество е скрито + Активиране на слайд за превъртане + Слайд за превъртане е активиран + Слайд за превъртане е деактивиран - - - - + + Деактивирането на тази настройка ще доведе до проблеми с възпроизвеждането на видео. + Активирането на това може да подобри живота на батерията и да коригира прекъсванията при възпроизвеждане.\n\nAVC има максимална разделителна способност от 1080p и възпроизвеждането на видео ще използва повече интернет данни от VP9 или AV1. + Cтранични ефекти от подмяната на iOS + Странични ефекти от подправяне на Android VR @@ -514,22 +1142,53 @@ This is because Crowdin requires temporarily flattening this file and removing t + Аудио реклами + Аудио рекламата е блокирана + Аудио рекламата е разблокирана + %s е недостъпен. Може да се показват реклами. Опитайте друга услуга за блокиране на реклами. + %s сървърът върна грешка. Може да се показват реклами. Опитайте да превключите друга услуга за блокиране на реклами. + Блокиране на вградени видеореклами Деактивирано + Luminous прокси + PurpleAdBlock прокси + Видео реклами + Видео рекламата е блокирана + Видео рекламата е разблокирана + съобщението е изтрито + Покажи изтритите съобщения + Не показвай изтритите съобщения + Скрийте изтритите съобщения зад спойлер + Показване на изтритите съобщения като зачеркнат текст + Автоматично изискване на Channel Points + Автоматично изискване на Channel Points + Channel Points в канала не се изискват автоматично + Активирайте режима за отстраняване на грешки в Twitch + Режимът за отстраняване на грешки в Twitch е активиран (не се препоръчва) + Режимът за отстраняване на грешки в Twitch е деактивиран + Настройки на ReVanced Реклами + Настройки за блокиране на реклами + Чатове + Настройки на чата Разни + Допълнителни настройки + Основни настройки + Други настройки + Клиентска реклама + Сърварна реклама Дневник на отстраняването на грешки Дневникът за остраняване на грешки е активиран Дневникът за остраняване на грешки е деактивиран diff --git a/src/main/resources/addresources/values-bn-rBD/strings.xml b/src/main/resources/addresources/values-bn-rBD/strings.xml index 42b6fa26b..3a9fd6c26 100644 --- a/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -32,6 +32,8 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + আপনি কি এগিয়ে যেতে ইচ্ছুক? আবার সেট করুন @@ -42,6 +44,13 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced সেটিং ডিফল্ট সেট করা হয়েছে %d সেটিং আমদানি হয়েছে আমদানি করা যায়নি: %s + আমদানি এবং রপ্তানি + ReVanced সেটিং আমদানি বা রপ্তানি করুন + + আপনি ReVanced প্যাচ সংস্করণ <i>%s</i> ব্যবহার করছেন + দ্রষ্টব্য + এই সংস্করণ একটি প্রাক-প্রকাশনা এবং এতে আপনি অনাকাঙ্খিত সমস্যার সম্মুখিন হতে পারেন + অফিশ্যাল লিংকসমূহ @@ -54,14 +63,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - আপনি ReVanced প্যাচ সংস্করণ <i>%s</i> ব্যবহার করছেন - দ্রষ্টব্য - এই সংস্করণ একটি প্রাক-প্রকাশনা এবং এতে আপনি অনাকাঙ্খিত সমস্যার সম্মুখিন হতে পারেন - অফিশ্যাল লিংকসমূহ - আমদানি এবং রপ্তানি - ReVanced সেটিং আমদানি বা রপ্তানি করুন - সম্পর্কিত বিজ্ঞাপন @@ -201,6 +202,7 @@ This is because Crowdin requires temporarily flattening this file and removing t চিপ শেলপ প্রদর্শিত হয়েছে বৈশিষ্ট্য বিভাগ লুকান \'বৈশিষ্ট্যযুক্ত স্থান\', গেম এবং সঙ্গীত বিভাগগুলি লুকানো আছে + \'বৈশিষ্ট্যযুক্ত স্থান\', গেম এবং সঙ্গীত বিভাগগুলি প্রদর্শিত হয়েছে তথ্য কার্ড সেকশন লুকান তথ্য কার্ড সেকশন লুকিয়ে রয়েছে তথ্য কার্ড সেকশন প্রদর্শিত হয়েছে @@ -231,13 +233,9 @@ This is because Crowdin requires temporarily flattening this file and removing t লুকানোর জন্য কীওয়ার্ড - লুকানোর জন্য কীওয়ার্ড এবং বাক্যাংশ, নতুন লাইনে পৃথক করা\n\nশব্দের মাঝে বড় হাতের অক্ষর থাকলে তা অবশ্যই সঠিক আবরণে লিখতে হবে (উদাহরণ: iPhone, TikTok, LeBlanc) কীওয়ার্ড ফিল্টারিং সম্পর্কে - প্রধান পাতা/সাবস্ক্রিপশন/অনুসন্ধান ফলাফল গুলো কীওয়ার্ড বাক্যাংশের সাথে মিলিয়ে লুকানোর জন্য ফিল্টার করা হয়েছে\n\nসীমাবদ্ধতা\n• কিছু Shorts নাও লুকানো হতে পারে\n• কিছু ইউআই উপাদান নাও লুকানো হতে পারে\n• কোন কীওয়ার্ড সার্চ করলে কোন ফলাফল নাও দেখাতে পারে + - অবৈধ কীওয়ার্ড ফিল্টার \'%s\' ব্যবহার করা যাবে না - - ত্রুটিপূর্ণ কীওয়ার্ড। \'%1$s\' টি %2$d অক্ষর থেকে কম সাধারণ বিজ্ঞাপন লুকান @@ -603,7 +601,6 @@ This is because Crowdin requires temporarily flattening this file and removing t প্লেয়ার ওভারলে অস্বচ্ছতা অবশ্যই ০-১০০ এর মধ্যে হতে হবে - লুকিয়ে রয়েছে অপছন্দ সাময়িকভাবে উপলভ্য নয় (API সময় শেষ হয়েছে) অপছন্দ উপলভ্য নয় (অবস্থা %d) @@ -798,8 +795,6 @@ This is because Crowdin requires temporarily flattening this file and removing t সেগমেন্টটি শুরু হওয়ার সময় সেগমেন্টটি শেষ হওয়ার সময় সময়কাল কি সঠিক? - সেগমেন্ট সময়কাল\n\n%1$s\nথেকে\n%2$s\n\n(%3$s)\n\nজমা করার জন্য প্রস্তুত? শুরু অবশ্যই শেষের আগে হতে হবে আগে সময় বারে দুটি অবস্থান চিহ্নিত করুন @@ -1036,19 +1031,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ভিডিওর নির্দিষ্ট অংশে যেতে টানুন সক্রিয় করা হয়েছে ভিডিওর নির্দিষ্ট অংশে যেতে টানুন সক্রিয় করা হয়নি - - ক্লায়েন্ট স্পুফ করুন - প্লেব্যাক সমস্যা প্রতিরোধ করতে ক্লায়েন্ট স্পুফ করুন - ক্লায়েন্ট স্পুফ করুন - ক্লায়েন্ট স্পুফ করা হয়েছে - ক্লায়েন্ট স্পুফ করা হয়নি\n\nভিডিও প্লেব্যাক ঠিকমতো কাজ নাও করতে পারে - এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে। - ক্লায়েন্ট iOS এ স্পুফ করুন - ক্লায়েন্ট স্পুফ থাম্বনেইল সাময়িকভাবে উপলভ্য নয় (API সময় শেষ হয়েছে) - স্পুফ ক্লায়েন্ট থাম্বনেইল সাময়িকভাবে উপলভ্য নয়: %s - - - + + এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে। diff --git a/src/main/resources/addresources/values-bs-rBA/strings.xml b/src/main/resources/addresources/values-bs-rBA/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-ca-rES/strings.xml b/src/main/resources/addresources/values-ca-rES/strings.xml index 4ca265e47..6b952133b 100644 --- a/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/src/main/resources/addresources/values-ca-rES/strings.xml @@ -32,16 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Restablir + - - Quant a @@ -59,7 +60,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -175,8 +176,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Aparença - S\'està carregant... Restablir @@ -243,10 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-cs-rCZ/strings.xml b/src/main/resources/addresources/values-cs-rCZ/strings.xml index 6a8740fca..bd08e97de 100644 --- a/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Kontroly selhaly + Otevřít oficiální webovou stránku + Ignorovat + <h5>Zdá se, že tuto aplikaci neupravujete.</h5><br>Tato aplikace nemusí fungovat správně, <b>může být škodlivá nebo dokonce nebezpečná pro použití</b>.<br><br>Z těchto kontrol vyplývá, že tato aplikace je předem upravena nebo získána od někoho jiného:<br><br><small>%1$s</small><br>Je důrazně doporučeno <b>odinstalovat tuto aplikaci a opravit ji sami</b> , abyste se ujistili, že používáte ověřenou a bezpečnou aplikaci.<p><br>Pokud je ignorováno, toto varování se zobrazí pouze dvakrát. + Upraveno na jiném zařízení + Není nainstalován ReVanced Manager + Upraveno před více než 10 minutami + Patchnuto před %s dny + APK datum sestavení je poškozeno + ReVanced Přejete si pokračovat? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Nastavení Revanced resetováno do výchozího stavu Importováno %d nastavení Importováni selhalo: %s + Import / Export + Importovat/ exportovat nastavení ReVanced + + Používáte ReVanced Patches verze <i>%s</i> + Poznámka + Tato verze je předběžná verze a můžete zaznamenat neočekávané problémy + Oficiální odkazy + Přispět @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Používáte ReVanced Patches verze <i>%s</i> - Poznámka - Tato verze je předběžná verze a můžete zaznamenat neočekávané problémy - Oficiální odkazy - Import / Export - Importovat/ exportovat nastavení ReVanced - O aplikaci Reklamy @@ -71,7 +81,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Přísun Přehrávač Celkové rozložení - Shorts Lišta Ovládání gesty Ostatní @@ -245,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Klíčová slova ke skrytí - klíčová slova a fráze ke skrytí, odděleno novými řádky\n\nSlova s velkými písmeny uprostřed musí být zadána s pláštěm (ie: iPhone, TikTok, LeBlanc) + klíčová slova a fráze ke skrytí, odděleno novými řádky\n\nKlíčová slova mohou být jména kanálů nebo jakýkoli text zobrazený v nadpisech videa\n\nSlova s velkými písmeny uprostřed musí být zadána se skříní (např: iPhone, iPhone, TikTok, LeBlanc) O filtrování klíčových slov - Výsledky domovského/předplatného/vyhledávání jsou filtrovány pro skrytí obsahu, který odpovídá výrazům klíčových slov\n\nOmezení\n• Některé krátkosti nemusí být skryty\n• Některé komponenty uživatelského rozhraní nemusí být skryté\n• Hledání klíčových slov nemusí zobrazovat žádné výsledky + Výsledky domovského/předplatného/vyhledávání jsou filtrovány pro skrytí obsahu, který odpovídá výrazům klíčových slov\n\nOmezení\n• Krátké nelze skrýt podle názvu kanálu\n• Některé komponenty uživatelského rozhraní nemusí být skryté\n• Hledání klíčového slova nemusí zobrazovat žádné výsledky + Porovnat celá slova + + Zaokrouhlení klíčového slova/fráze s dvojitými uvozovkami zabrání částečným shodám s názvy videí a kanálů<br><br>Například<br><b>\"ai\"</b> skryje video: <b>How does AI work?</b><br>, ale nebude skrýt: <b>What does fair use mean?</b> - Neplatné klíčové slovo. Nelze použít: \'%s\' jako filtr - - Neplatné klíčové slovo. \'%1$s\' je menší než %2$d znaků - Klíčové slovo \'%s\' skryje všechna videa + Nelze použít klíčové slovo: %s + Přidat uvozovky pro použití klíčového slova: %s + Klíčové slovo obsahuje protichůdné deklarace: %s + Klíčové slovo je příliš krátké a vyžaduje uvozovky: %s + Klíčové slovo skryje všechna videa: %s Skrýt obecné reklamy @@ -433,7 +446,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Tlačítko Domů je skryté Tlačítko Domů je zobrazeno - Skrýt krátké + Skrýt Shorts Tlačítko \"Shorts\" je skryté Tlačítko \"Shorts\" je viditelné @@ -618,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Skrýt zvuk do playlistu Uložit zvuk do playlistu je skrytý Ukládat zvuk do seznamu skladeb je zobrazen + Skrýt toto tlačítko zvuku + Použít toto zvukové tlačítko je skryté + Použít toto zvukové tlačítko je zobrazeno Skrýt návrhy hledání Návrhy hledání jsou skryty Návrhy hledání jsou zobrazeny @@ -681,7 +697,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Průhlednost překrytí přehrávače musí být od 0 do 100 - Hidden Líbí se mi dočasně nedostupné (vypršel časový limit API) Nelíbí se mi nedostupné (status %d) @@ -777,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Přeskočit počet sledování není povoleno Minimální doba trvání segmentu Segmenty kratší než tato hodnota (v sekundách) nebudou zobrazeny nebo přeskočeny + Neplatná doba trvání Vaše soukromé ID uživatele Toto by mělo být ponecháno v soukromí. To je jako heslo a nemělo by být s nikým sdíleno. Pokud to někdo má, mohou vás zosobnit Soukromé ID uživatele musí mít alespoň 30 znaků @@ -877,8 +893,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Čas začátku segmentu Čas ukončení segmentu v Mají časy pravdu? - Segment je od\n\n%1$s\ndo\n%2$s\n\n(%3$s)\n\nPřipraveno k odeslání? Začátek musí být před koncem Nejdříve označte dvě místa v časové liště @@ -897,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Uživatelské jméno bylo úspěšně změněno Tvá reputace je <b>%.2f</b> Vytvořili jste <b>%s</b> segmenty + Klepnutím sem zobrazíte své segmenty Žebříček SponsorBlock Uložili jste lidi z <b>%s</b> segmentů Klepnutím sem zobrazíte globální statistiky a nejlepší přispěvatelé @@ -978,7 +993,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Skrýt přeskočit tlačítka vpřed a zpět Přeskočit vpřed a zpět jsou skryty Přeskočit vpřed a zpět jsou zobrazeny - Overlay opacity + Neprůhlednost překrytí Neprůhlednost mezi 0-100, kde 0 je průhledná Neprůhlednost překrytí minipřehrávače musí být mezi 0-100 @@ -1119,35 +1134,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Posunutí pro vyhledání je povoleno Posunutí k vyhledání není povoleno - - Sponzor - Spořič klienta, aby zabránil problémům s přehráváním - Sponzor - Klient je falešný - Klient není spoofed\n\nPřehrávání videa nemusí fungovat - Vypnutí tohoto nastavení může způsobit problémy při přehrávání videa. - Spořič do iOS - Klient je v současné době spokojen s iOS\n\nBoční efekty zahrnují:\n• HDR video nemusí být k dispozici\n• Historie sledování nefunguje s obchodním účtem - Klient je v současné době spout s Androidem VR. Boční efekty zahrnují:\n• No HDR video\n• Dětská videa nepřehrávají\n• Pozastavená videa mohou náhodně pokračovat\n• Nízká kvalita krátkých náhledů ve vyhledávacím panelu\n• Tlačítko pro stažení akce je skryté\n• Karty s ukončenou obrazovkou jsou skryté - Náhledy klientů nejsou k dispozici (vypršel časový limit API) - Spouštění náhledů klientů dočasně není k dispozici: %s - - - - Podpis aplikace - Podpis aplikace zabraňující problémům při přehrávání - Podpis aplikace - Podpis aplikace spoofed\n\nBoční efekty zahrnují:\n• Rozšířená bitrate není k dispozici\n• Videa nelze stáhnout\n• Žádné náhledy pro placená videa - Podpis aplikace není falešný\n\nPřehrávání videa nemusí fungovat - Vypnutí tohoto nastavení způsobí problémy při přehrávání videa. - Podpis aplikace do kanálu - Podpis aplikace spoofed\n\nBoční efekty zahrnují:\n• Video kanálu chybí titulky\n• Automaticky přehrávaná videa se zobrazí ve vaší historii sledování - Podpis aplikace není falešný pro videa s kanálem\n\nPřed zjištěním problémů s přehráváním se videa kanálu budou přehrávat méně než 1 minutu - Příběh - Skládací krabice - Storyboard není falešný\n\nBoční efekty zahrnují:\n• Žádný ambientní režim\n• Náhledy v panelu vyhledávání jsou skryté - Spoof storyboard dočasně není k dispozici (vypršel časový limit API) - Příběhová deska dočasně není k dispozici: %s + + Spouštěcí video streamy + Spouštět klientské video streamy, aby se zabránilo problémům s přehráváním + Spouštěcí video streamy + Video streamy jsou falešné + Video streamy nejsou falešné\n\nPřehrávání videa nemusí fungovat + Vypnutí tohoto nastavení může způsobit problémy při přehrávání videa. + Výchozí klient + Síla AVC (H.264) + Video kodek je AVC (H.264) + Video kodek je VP9 nebo AV1 + Vaše zařízení nemá hardwarové dekódování VP9 a toto nastavení je vždy zapnuto, když je aktivní spoofování klienta + Povolení této funkce může zlepšit životnost baterie a opravit stahování přehrávání.\n\nAVC má maximální rozlišení 1080p a video přehrávání bude používat více dat než VP9 nebo AV1. + Boční efekty iOS + • Filmy nebo placené videa nemusí hrát\n• Živočišné rekony začínají od začátku + Boční efekty Android VR + • Menu zvukové stopy chybí diff --git a/src/main/resources/addresources/values-da-rDK/strings.xml b/src/main/resources/addresources/values-da-rDK/strings.xml index 75e981fbf..f05adbfa4 100644 --- a/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/src/main/resources/addresources/values-da-rDK/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Kontrol mislykkedes + Åbn officielle hjemmeside + Ignorer + <h5>Denne app ser ikke ud til at være lappet af dig.</h5><br>Denne app fungerer muligvis ikke korrekt, <b>kan være skadeligt eller endda farligt at bruge</b>.<br><br>Disse kontroller antyder, at denne app er pre-lappet eller opnået fra en anden:<br><br><small>%1$s</small><br>Det anbefales kraftigt at <b>afinstallere denne app og lappe den selv</b> for at sikre, at du bruger en valideret og sikker app.<p><br>Hvis ignoreret, vil denne advarsel kun blive vist to gange. + Rettet på en anden enhed + Ikke installeret af ReVanced Manager + Patched mere end 10 minutter siden + Patched %s dage siden + APK byggedato er ødelagt + ReVanced Ønsker du at fortsætte? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced indstillinger nulstillet til standard Importerede %d indstillinger Import mislykkedes: %s + Import / Eksport + Importer / Eksport ReVanced indstillinger + + Du bruger ReVanced Patches version <i>%s</i> + Bemærkning + Denne version er en pre-release og du kan opleve uventede problemer + Officielle links + Donér @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Du bruger ReVanced Patches version <i>%s</i> - Bemærkning - Denne version er en pre-release og du kan opleve uventede problemer - Officielle links - Import / Eksport - Importer / Eksport ReVanced indstillinger - Om Annoncer @@ -244,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Nøgleord at skjule - Nøgleord og sætninger at skjule, adskilt af nye linjer\n\nOrd med store bogstaver i midten skal indtastes med casing (dvs. iPhone, TikTok, LeBlanc) + Nøgleord og sætninger at skjule, adskilt af nye linjer\n\nSøgeord kan være kanalnavne eller enhver tekst vist i video titler\n\nOrd med store bogstaver i midten skal indtastes med casing (dvs. iPhone, TikTok, LeBlanc) Om søgeord filtrering - Hjem/Abonnement/Søgeresultater filtreres for at skjule indhold, der matcher søgeordssætninger\n\nBegrænsninger\n• Nogle Shorts er muligvis ikke skjult\n• Nogle UI-komponenter er muligvis ikke skjult\n• Søger efter et søgeord, kan ikke vise nogen resultater + Hjem/Abonnement/Søgeresultater filtreres for at skjule indhold, der matcher søgeordssætninger\n\nBegrænsninger\n• Korte kan ikke skjules ved kanalnavn\n• Nogle UI-komponenter kan ikke skjules\n• Søger efter et søgeord, kan ikke vise nogen resultater + Match hele ord + + Omkring et nøgleord/sætning med dobbelt-citater vil forhindre partielle kampe af videotitler og kanalnavne<br><br>For eksempel<br><b>\"ai\"</b> vil skjule videoen: <b>How does AI work?</b><br>, men skjuler ikke: <b>What does fair use mean?</b> - Ugyldigt søgeord. Kan ikke bruge: \'%s\' som et filter - - Ugyldigt søgeord. \'%1$s\' er mindre end %2$d tegn - Nøgleord \'%s\' vil skjule alle videoer + Kan ikke bruge søgeord: %s + Tilføj tilbud for at bruge søgeord: %s + Nøgleord har modstridende erklæringer: %s + Nøgleord er for kort og kræver tilbud: %s + Nøgleord vil skjule alle videoer: %s Skjul generelle annoncer @@ -616,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Skjul gem lyd til afspilningslisteknappen Gem lyd til afspilningslisten er skjult Gem lyd til afspilningslisten vises + Skjul brug denne lydknap + Brug denne lydknap er skjult + Brug denne lydknap vises Skjul søgeforslag Søgeforslag er skjult Søgeforslag er vist @@ -679,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Spiller overlay gennemsigtighed skal være mellem 0-100 - Hidden Dislikerer midlertidigt ikke tilgængelig (API-timeout ud) Dislikationer er ikke tilgængelige (status %d) @@ -775,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Overspring tælling er ikke aktiveret Minimum linjestykketid Segmenter kortere end denne værdi (i sekunder) vil ikke blive vist eller sprunget over + Ugyldig tidsvarighed Dit private bruger-id Dette bør holdes privat. Dette er ligesom en adgangskode og bør ikke deles med nogen. Hvis nogen har dette, kan de udgive dig Privat bruger-id skal være mindst 30 tegn langt @@ -875,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Tidspunkt for segmentet begynder på Tidspunkt for segmentet slutter på Er tiderne korrekte? - Segmentet er fra\n\n%1$s\ntil\n%2$s\n\n(%3$s)\n\nKlar til at indsende? Start skal være før slutningen Markér to steder på tidsbjælken først @@ -895,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Brugernavn ændret Dit omdømme er <b>%.2f</b> Du har oprettet <b>%s</b> segmenter + Tryk her for at se dine segmenter SponsorBlokér leaderboard Du har gemt folk fra <b>%s</b> segmenter Tryk her for at se de globale statistikker og topbidragsydere @@ -975,7 +991,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Skjul overspring fremad og tilbage knapper Spring frem og tilbage er skjult Spring frem og tilbage vises - Overlay opacity + Overlay uigennemsigtighed Gennemsigtighedsværdi mellem 0-100, hvor 0 er gennemsigtig Miniplayer overlay gennemsigtighed skal være mellem 0-100 @@ -1116,35 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Dias for at søge er aktiveret Dias til søgning er ikke aktiveret - - Spoof klient - Spoof klienten for at forhindre afspilningsproblemer - Spoof klient - Kunden er spoofed - Klienten er ikke forfalsket\n\nVideoafspilning fungerer muligvis ikke - At slå denne indstilling fra kan forårsage problemer med videoafspilning. - Spoof klient til iOS - Klienten er i øjeblikket spoofed til iOS\n\nBivirkninger omfatter:\n• HDR-video er muligvis ikke tilgængelig\n• Watch historie fungerer ikke med en brandkonto - Klienten er i øjeblikket spoofed til Android VR. Bivirkninger omfatter:\n• Ingen HDR-video\n• Kids videoer ikke afspilning\n• Pause videoer kan tilfældigt genoptage\n• Lav kvalitet Shorts søgelinje miniaturer\n• Download handling knap er skjult\n• End screen cards are hidden - Spoof klient miniaturer ikke tilgængelige (API timemed out) - Spoof klient miniaturer midlertidigt ikke tilgængelige: %s - - - - Spoof app signatur - Spoof app-signaturen for at forhindre afspilningsproblemer - Spoof app signatur - App signatur spoofed\n\nBivirkninger omfatter:\n• Forbedret bitrate er ikke tilgængelig\n• Videoer kan ikke downloades\n• Ingen søgelinje miniaturer til betalte videoer - App signatur ikke forfalsket\n\nVideo afspilning fungerer muligvis ikke - At slå denne indstilling fra vil forårsage problemer med videoafspilning. - Spoof app signatur i feed - App signatur spoofed\n\nBivirkninger omfatter:\n• Feed videoer mangler undertekster\n• Automatisk afspillede feed videoer vil blive vist i din ur historie - App signatur ikke spoofed for feed videoer\n\nFeed videoer vil spille i mindre end 1 minut, før der opstår afspilningsproblemer - Spoof storyboard - Storyboard spoofed - Storyboard ikke forfalsket\n\nBivirkninger omfatter:\n• Ingen omgivende tilstand\n• Seekbar miniaturer er skjult - Spoof storyboard midlertidigt ikke tilgængelig (API timemed out) - Spoof storyboard midlertidigt ikke tilgængelig: %s + + Spoof video streams + Spoof klienten video streams for at forhindre afspilning problemer + Spoof video streams + Video streams er spoofed + Videostreams er ikke forfalskede\n\nVideoafspilning fungerer muligvis ikke + At slå denne indstilling fra kan forårsage problemer med videoafspilning. + Standard klient + Gennemtving AVC (H.264) + Video codec er AVC (H.264) + Video-codec er VP9 eller AV1 + Din enhed har ikke VP9 hardwareafkodning, og denne indstilling er altid tændt, når Client spoofing er aktiveret + Aktivering af dette kan forbedre batteriets levetid og rette afspilningsstuttering.\n\nAVC har en maksimal opløsning på 1080p, og videoafspilning vil bruge flere internetdata end VP9 eller AV1. + iOS forfalskning bivirkninger + • Film eller betalte videoer kan ikke afspille\n• Livestreams starter fra starten + Android VR spoofing bivirkninger + • Menuen Lydspor mangler diff --git a/src/main/resources/addresources/values-de-rDE/strings.xml b/src/main/resources/addresources/values-de-rDE/strings.xml index ab1180e78..ab8b3e6a2 100644 --- a/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/src/main/resources/addresources/values-de-rDE/strings.xml @@ -32,6 +32,15 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Überprüfungen fehlgeschlagen + Offizielle Webseite öffnen + Ignorieren + Auf einem anderen Gerät gepatcht + Nicht von ReVanced Manager installiert + Vor mehr als 10 Minuten gepatcht + APK-Erstellungsdatum ist beschädigt + ReVanced Möchtest du fortfahren? @@ -43,6 +52,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced Einstellungen auf Standard zurückgesetzt %d Einstellungen importiert Import fehlgeschlagen: %s + Importieren / Exportieren + ReVanced Einstellungen importieren / exportieren + + Du verwendest ReVanced Patches Version <i>%s</i> + Notiz + Diese Version ist eine Vorabversion und du könntest unerwartete Probleme haben + Offizielle Links + Spenden @@ -55,15 +72,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Du verwendest ReVanced Patches Version <i>%s</i> - Notiz - Diese Version ist eine Vorabversion und du könntest unerwartete Probleme haben - Offizielle Links - Importieren / Exportieren - ReVanced Einstellungen importieren / exportieren - Über Werbung @@ -71,7 +79,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Feed Player Generelles Layout - Shorts Suchleiste Wischgesten Sonstiges @@ -245,14 +252,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Zu versteckende Stichwörter - Stichwörter und zu versteckende Phrasen durch neue Zeilen\n\ngetrennte Wörter mit Großbuchstaben in der Mitte müssen mit dem Gehäuse eingegeben werden (z.B. iPhone, TikTok, LeBlanc) + Stichwörter und zu versteckende Phrasen durch neue Zeilen\n\ngetrennte Schlüsselwörter können Kanalnamen oder beliebiger Text sein, der in den Videotiteln\n\nWörter mit Großbuchstaben in der Mitte angezeigt werden muss mit dem Gehäuse eingegeben werden (z.B. iPhone, TikTok, LeBlanc) Über Keyword-Filterung - Home/Abonnement/Suchergebnisse werden gefiltert, um Inhalte auszublenden, die den Schlüsselwörtern entsprechen\n\nBeschränkungen\n • Einige Shorts könnten nicht ausgeblendet werden\n• Einige UI-Komponenten könnten nicht ausgeblendet werden\n• Suche nach einem Schlüsselwort könnte keine Ergebnisse liefern + Home/Abonnement/Suchergebnisse werden gefiltert, um Inhalte zu verstecken, die den Schlüsselwörtern\n\nBeschränkungen\nentsprechen • Shorts können nicht mit dem Kanalnamen\nversteckt werden • Einige UI-Komponenten können nicht versteckt werden\n• Suche nach einem Stichwort kann keine Ergebnisse zeigen + Ganze Wörter abgleichen + + Durch das Umschließen mit doppelten Anführungszeichen wird verhindert, dass teilweise Videotitel und Kanalnamen<br><br><br><b>\"ai\"</b> wird das Video ausblenden: <b>How does AI work?</b><br>aber nicht versteckt: <b>What does fair use mean?</b> - Ungültiges Schlüsselwort. Kann nicht verwenden: \'%s\' als Filter - - Ungültiges Schlüsselwort. \'%1$s\' ist weniger als %2$d Zeichen - Schlüsselwort \'%s\' wird alle Videos ausblenden + Kann Schlüsselwort nicht verwenden: %s + Zitate hinzufügen, um Schlüsselwort zu verwenden: %s + Schlüsselwort hat widersprüchliche Erklärungen: %s + Keyword ist zu kurz und erfordert Anführungszeichen: %s + Stichwort wird alle Videos ausblenden: %s Allgemeine Werbung ausblenden @@ -376,7 +387,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Aktionstasten Verstecke oder zeige Schaltflächen unter Videos - Gefällt mir + Verstecke Likes und Dislikes \"Gefällt mir\"-Tasten sind ausgeblendet \"Gefällt mir\"-Tasten werden angezeigt @@ -618,15 +629,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Speicherton in Wiedergabelisten-Button ausblenden Ton in Wiedergabeliste speichern ist ausgeblendet Ton in Wiedergabeliste speichern wird angezeigt + Diese Sound-Taste ausblenden + Diese Sound-Taste ist ausgeblendet + Diese Sound-Taste wird angezeigt Suchvorschläge ausblenden Suchvorschläge sind ausgeblendet Suchvorschläge werden angezeigt - Verstecke wie Button + Verstecke \"Gefällt mir\" Button \"Gefällt mir\" Button ist ausgeblendet \"Gefällt mir\" Button wird angezeigt - Verstecke nicht wie Button - Nicht wie Button ist ausgeblendet - Button wird angezeigt + Verstecke \"Gefällt mir nicht\" Button + \"Gefällt mir nicht\" Button ist ausgeblendet + \"Gefällt mir nicht\" Button wird angezeigt Kommentar-Button ausblenden Kommentar-Button ist ausgeblendet Kommentar-Button wird angezeigt @@ -681,11 +695,10 @@ This is because Crowdin requires temporarily flattening this file and removing t Spieler-Overlay-Deckkraft muss zwischen 0-100 liegen - Nicht anzeigen Dislikes vorläufig nicht verfügbar (API Timeout) Dislikes nicht verfügbar (Status %d) - Nicht verfügbar (Client-API-Limit erreicht) + Dislikes nicht verfügbar (Client-API-Limit erreicht) Dislikes nicht verfügbar (%s) Video neu laden, um mit Return YouTube Dislike abzustimmen @@ -699,7 +712,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Dislikes als Prozentsatz angezeigt Dislikes als Nummer angezeigt - Kompakt wie Button + Kompakter \"Gefällt mir\" Button \"Gefällt mir\" Button für minimale Breite \"Gefällt mir\" Button für das beste Aussehen Einen Toast anzeigen, wenn die API nicht verfügbar ist @@ -777,6 +790,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Überspringungszähler ist nicht aktiviert Mindestdauer der Segmente Segmente kürzer als dieser Wert (in Sekunden) werden nicht angezeigt oder übersprungen + Ungültige Zeitdauer Ihre private Benutzer-Id Das sollte vertraulich behandelt werden. Das ist wie ein Passwort und sollte mit niemandem geteilt werden. Wenn jemand das hat, kann er sich für dich ausgeben Private Benutzer-Id muss mindestens 30 Zeichen lang sein @@ -877,8 +891,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Das Segiment beginnt ab Das Segiment endet bei Sind diese Zeiten richtig? - Das Segment ist von\n\n\n%1$s\nbis\n%2$s\n\n(%3$s)\n\nBereit zum Absenden? Start muss vor dem Ende sein Markieren sie zuerst zwei Punkte auf der Zeitleiste @@ -889,7 +901,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Statistiken Statistiken vorübergehend nicht verfügbar (API ist herunter) - Lädt ... + Lädt... SponsorBlock ist deaktiviert Ihr Benutzername: <b>%s</b> Tippe hier, um deinen Benutzernamen zu ändern @@ -897,6 +909,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Benutzername wurde geändert Dein Ruf ist <b>%.2f</b> Du hast <b>%s</b> Segmente erstellt + Tippen Sie hier, um Ihre Segmente anzuzeigen SponsorBlock Rangliste Du hast den Leuten <b>%s</b> Segmente erspart Hier tippen, um die globalen Statistiken und Top-Beitragszahler zu sehen @@ -943,7 +956,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Shorts Tab - Geiked Videos + Videos, die ich mag Verlauf Beliebt @@ -978,7 +991,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Vorwärts- und Rückwärts-Buttons ausblenden Vorwärts skippen und zurück sind ausgeblendet Vorwärts und zurück springen werden angezeigt - Overlay opacity + Deckkraft der Überlagerung Deckkraft Wert zwischen 0-100, wobei 0 transparent ist Miniplayer-Overlay-Deckkraft muss zwischen 0-100 liegen @@ -1042,7 +1055,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Warnung - Ihr Beobachtungsverlauf wird nicht gespeichert.<br><br>Dies wird höchstwahrscheinlich durch einen DNS-Werbeblocker oder einen Netzwerkproxy verursacht.<br><br>Um dies zu beheben, ist die Whitelist <b>s.youtube.com</b> oder schalten Sie alle DNS-Blocker und Proxies aus. + Ihr Verlauf wird nicht gespeichert.<br><br>Dies wird höchstwahrscheinlich durch einen DNS-Werbeblocker oder einen Netzwerkproxy verursacht.<br><br>Um dies zu beheben, setze <b>s.youtube.com</b> auf die Whitelist oder schalten Sie alle DNS-Blocker und Proxies aus. Nicht wieder anzeigen @@ -1119,35 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide zum Suchen ist aktiviert Slide zum Suchen ist nicht aktiviert - - Spoof-Client - Spoof des Clients, um Wiedergabeprobleme zu verhindern - Spoof-Client - Client ist getäuscht - Client ist nicht gefälscht\n\nVideo-Wiedergabe funktioniert möglicherweise nicht - Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen. - Spoof-Client zu iOS - Der Client ist derzeit zu iOS\n\nSeiteneffekten gefälscht:\n• HDR-Video ist möglicherweise nicht verfügbar\n• Verlauf funktioniert nicht mit einem Markenkonto - Der Client ist derzeit auf Android VR gespoofed. Nebeneffekte können sein:\n• Kein HDR Video\n• Kindervideos spielen nicht\n• Pausierte Videos könnten zufällig wieder aufgenommen werden\n• Niedrige Qualität der Shorts-Suchleisten-Thumbnails\n• Download-Button ist ausgeblendet\n• Endbildschirm-Karten werden versteckt - Spoof-Thumbnails nicht verfügbar (API-Zeitüberschreitung) - Spoof-Client-Thumbnails vorübergehend nicht verfügbar: %s - - - - Spoof-App-Signatur - Spoof der App-Signatur, um Wiedergabeprobleme zu vermeiden - Spoof-App-Signatur - App-Signatur gefälscht\n\nNebeneffekte beinhalten:\n• Erweiterte Bitrate ist nicht verfügbar\n• Videos können nicht\nheruntergeladen werden • Keine Suchleisten-Vorschaubilder für bezahlte Videos - App-Signatur nicht gefälscht\n\nVideowiedergabe funktioniert möglicherweise nicht - Das Deaktivieren dieser Einstellung führt zu Videowiedergabeproblemen. - Spoof-App-Signatur im Feed - App-Signatur gefälscht\n\nNebeneffekte beinhalten:\n• Feed-Videos fehlen Untertitel\n• Automatisch abgespielte Feed-Videos werden in Ihrem Überwachungsverlauf angezeigt - App-Signatur für Feed-Videos nicht gefälscht\n\nFeed Videos werden weniger als 1 Minute vor Wiedergabeproblemen abgespielt - Spoof-Storyboard - Storyboard gefälscht - Storyboard nicht gefälscht\n\nNebeneffekte beinhalten:\n• Kein Umgebungsmodus\n• Suchleisten-Thumbnails werden ausgeblendet - Spoof-Storyboard vorübergehend nicht verfügbar (API Timeout) - Spoof Storyboard vorübergehend nicht verfügbar: %s + + Spoof-Video-Streams + Spoof der Client-Videostreams um Wiedergabeprobleme zu verhindern + Spoof-Video-Streams + Video-Streams sind gefälscht + Video-Streams sind nicht gefälscht\n\nVideo-Wiedergabe funktioniert möglicherweise nicht + Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen. + Standard-Client + AVC erzwingen (H.264) + Video Codec ist AVC (H.264) + Video Codec ist VP9 oder AV1 + Ihr Gerät hat keine VP9-Hardware-Dekodierung, und diese Einstellung ist immer aktiviert, wenn Client-Spoofing aktiviert ist + Das Aktivieren kann die Akkulaufzeit verbessern und die Wiedergabe-Stutting beheben.\n\nAVC hat eine maximale Auflösung von 1080p, und die Videowiedergabe wird mehr Internet-Daten als VP9 oder AV1 verwenden. + iOS Spoofing Nebeneffekte + • Filme oder bezahlte Videos dürfen nicht\nabspielen • Livestreams beginnen von Anfang an + Android VR Spoofing Nebeneffekte + • Audiospurmenü fehlt diff --git a/src/main/resources/addresources/values-el-rGR/strings.xml b/src/main/resources/addresources/values-el-rGR/strings.xml index 5e54aa60a..05cce46f3 100644 --- a/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/src/main/resources/addresources/values-el-rGR/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Αποτυχία ελέγχων + Άνοιγμα επίσημης ιστοσελίδας + Παράλειψη + <h5>Αυτή η εφαρμογή δεν φαίνεται να έχει τροποποιηθεί από εσάς.</h5><br>Αυτή η εφαρμογή μπορεί να μην λειτουργεί σωστά, <b>θα μπορούσε να είναι επιβλαβής ή ακόμα και επικίνδυνη για χρήση</b>.<br><br>Αυτοί οι έλεγχοι υποδηλώνουν ότι αυτή η εφαρμογή έχει τροποποιηθεί στο παρελθόν ή λήφθηκε από κάποιον άλλο:<br><br><small>%1$s</small><br>Συνιστάται έντονα να απεγκαταστήσετε την εφαρμογή <br>και να την τροποποιήσετε μόνοι σας<br> για να διασφαλίσετε ότι χρησιμοποιείτε μια επικυρωμένη και ασφαλή εφαρμογή.<p><br>Εάν αγνοηθεί, αυτή η προειδοποίηση θα εμφανιστεί μόνο δύο φορές. + Τροποποιήθηκε σε διαφορετική συσκευή + Δεν έχει εγκατασταθεί μέσω του ReVanced Manager + Τροποποιήθηκε πάνω από 10 λεπτά πριν + Τροποποιήθηκε πριν %s μέρες + Ημερομηνία κατασκευής του APK είναι κατεστραμμένη + Θέλετε να συνεχίσετε; Επαναφορά @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Επαναφέρθηκαν οι προεπιλεγμένες ρυθμίσεις ReVanced Έγινε εισαγωγή %d ρυθμίσεων Η εισαγωγή απέτυχε: %s + Εισαγωγή / Εξαγωγή + Εισαγωγή / Εξαγωγή ρυθμίσεων ReVanced + + Χρησιμοποιείτε τις τροποποιήσεις ReVanced έκδοσης <i>%s</i> + Σημείωση + Αυτή η έκδοση είναι σε πρώιμο στάδιο, επομένως πιθανότατα να αντιμετωπίσετε απρόοπτα προβλήματα + Επίσημοι σύνδεσμοι + Δωρεά @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - Χρησιμοποιείτε τις τροποποιήσεις ReVanced έκδοσης <i>%s</i> - Σημείωση - Αυτή η έκδοση είναι σε πρώιμο στάδιο, επομένως πιθανότατα να αντιμετωπίσετε απρόοπτα προβλήματα - Επίσημοι σύνδεσμοι - Εισαγωγή / Εξαγωγή - Εισαγωγή / Εξαγωγή ρυθμίσεων ReVanced - Σχετικά με Διαφημίσεις @@ -69,7 +80,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Ροή Οθόνη αναπαραγωγής Γενική διάταξη - Shorts Γραμμή προόδου βίντεο Έλεγχος με κατακόρυφη σάρωση οθόνης Διάφορα @@ -243,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Λέξεις-κλειδιά για απόκρυψη - Λέξεις-κλειδιά και φράσεις προς απόκρυψη, διαχωρισμένες η μία κάτω από την άλλη\n\nΔώστε προσοχή στα πεζά και κεφάλαια γράμματα διότι ισχύει ευαισθησία πεζότητας (π.χ.: iPhone, TikTok, LeBlanc) + Λέξεις-κλειδιά και φράσεις προς απόκρυψη, διαχωρισμένες η μία κάτω από την άλλη\n\nΛέξεις-κλειδιά μπορεί να είναι ονόματα καναλιών ή οποιοδήποτε κείμενο εμφανίζεται σε τίτλους βίντεο\n\nΔώστε προσοχή στα πεζά και κεφάλαια γράμματα διότι ισχύει ευαισθησία πεζότητας (π.χ.: iPhone, TikTok, LeBlanc) Σχετικά με το φιλτράρισμα λέξεων-κλειδιών - Οι καρτέλες «Αρχική», «Εγγραφές» και τα αποτελέσματα αναζήτησης φιλτράρονται για απόκρυψη περιεχομένου που ταιριάζει με τις λέξεις-κλειδιά\n\nΠεριορισμοί\n• Κάποια Shorts ενδέχεται να μην κρύβονται\n• Κάποια στοιχεία UI ενδέχεται να μην κρύβονται\n• Η αναζήτηση για μια λέξη-κλειδί ενδέχεται να μην εμφανίζει κανένα αποτέλεσμα + Οι καρτέλες «Αρχική», «Εγγραφές» και τα αποτελέσματα αναζήτησης φιλτράρονται για απόκρυψη περιεχομένου που ταιριάζει με τις λέξεις-κλειδιά\n\nΠεριορισμοί\n• Τα Shorts δε γίνεται να κρυφτούν με βάση το όνομα καναλιού\n• Κάποια στοιχεία UI ενδέχεται να μην κρύβονται\n• Η αναζήτηση για μια λέξη-κλειδί ενδέχεται να μην εμφανίζει κανένα αποτέλεσμα + Ταίριασμα ολόκληρων λέξεων + + Περιβάλλοντας μια λέξη-κλειδί / φράση με διπλά εισαγωγικά θα αποτρέψει μερικές αντιστοιχίες των τίτλων βίντεο και των ονομάτων καναλιών<br><br>Για παράδειγμα,<br><b>\"ai\"</b> θα κρύψει το βίντεο: <b>How does AI work?</b><br>αλλά δεν θα κρύψει: <b>What does fair use mean?</b> - Μη έγκυρη λέξη-κλειδί. Αδυναμία χρήσης: \'%s\' ως φίλτρο - - Μη έγκυρη λέξη-κλειδί. Το \'%1$s\' είναι μικρότερο από %2$d χαρακτήρες - Η λέξη «%s» θα κρύψει όλα τα βίντεο + Αδυναμία χρήσης λέξης-κλειδί: %s + Προσθήκη εισαγωγικών για χρήση λέξης-κλειδί: %s + Λέξη-κλειδί έχει αντικρουόμενες δηλώσεις: %s + Η λέξη-κλειδί είναι πολύ σύντομη και απαιτεί εισαγωγικά: %s + Θα κρυφτούν όλα τα βίντεο με την λέξη-κλειδί: %s Γενικές διαφημίσεις @@ -616,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Κουμπί αποθήκευσης ήχου σε λίστα αναπαραγωγής Κρυμμένο Εμφανίζεται + Κουμπί «Χρήση αυτού του ήχου» + Κρυμμένο + Εμφανίζεται Προτάσεις αναζήτησης Κρυμμένες Εμφανίζονται @@ -679,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Η αδιαφάνεια φόντου οθόνης αναπαραγωγής πρέπει να είναι μεταξύ 0-100 - Κρυμμένα Dislike προσωρινά μη διαθέσιμα (καθυστέρηση API) Δεδομένα dislike μη διαθέσιμα (κατάσταση %d) @@ -775,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ο μετρητής παραλείψεων δεν είναι ενεργός Ελάχιστη διάρκεια τμήματος Τμήματα μικρότερα από την καθορισμένη τιμή (σε δευτερόλεπτα) δεν θα εμφανίζονται ούτε θα παραλείπονται + Μη έγκυρη διάρκεια χρόνου Το ιδιωτικό σας αναγνωριστικό χρήστη Αυτό πρέπει να μείνει μυστικό. Είναι σαν έναν κωδικό που δεν πρέπει να μοιραστείτε με κανέναν. Εάν κάποιος αποκτήσει αυτόν τον κωδικό, μπορεί να σας υποδυθεί Το ιδιωτικό αναγνωριστικό χρήστη πρέπει να είναι τουλάχιστον 30 χαρακτήρες @@ -875,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Χρόνος έναρξης του τμήματος Χρόνος λήξης του τμήματος Είναι σωστοί οι χρόνοι; - Το τμήμα είναι από\n\n%1$s\nσε\n%2$s\n\n(%3$s)\n\nΈτοιμο για υποβολή; Η αρχή πρέπει να είναι πριν από το τέλος Σημειώστε δύο σημεία στην γραμμή προόδου πρώτα @@ -895,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Το όνομα χρήστη άλλαξε επιτυχώς Η φήμη σας είναι <b>%.2f</b> Δημιουργήσατε <b>%s</b> τμήματα + Πατήστε για να δείτε τα τμήματα σας Πίνακας κατάταξης SponsorBlock Έχετε σώσει τους συνανθρώπους σας από <b>%s</b> τμήματα Πατήστε για να δείτε τα παγκόσμια στατιστικά και τους κορυφαίους συνεισφέροντες @@ -1117,22 +1133,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Η αναζήτηση στη γραμμή προόδου με χειρονομία οριζόντιας σάρωσης είναι ενεργοποιημένη Η αναζήτηση στη γραμμή προόδου με χειρονομία σάρωσης είναι απενεργοποιημένη - - Παραποίηση προγράμματος πελάτη - Παραποίηση του προγράμματος πελάτη για την αποφυγή προβλημάτων αναπαραγωγής - Παραποίηση προγράμματος πελάτη - Το πρόγραμμα πελάτη παραποιείται - Το πρόγραμμα πελάτη δεν παραποιείται\n\nΗ αναπαραγωγή βίντεο ενδέχεται να μη λειτουργεί - Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο. - Παραποίηση σε iOS - Ο πελάτης αυτή τη στιγμή παραποιείται ως iOS\n\nΟι παρενέργειες περιλαμβάνουν:\n• Δεν υπάρχει η ποιότητα HDR στα βίντεο\n• Το ιστορικό παρακολούθησης δε λειτουργεί σε ολοκαίνουριους λογαριασμούς - Ο πελάτης αυτή τη στιγμή παραποιείται ως Android VR. Οι παρενέργειες περιλαμβάνουν:\n• Δεν υπάρχει η ποιότητα HDR στα βίντεο\n• Δεν λειτουργεί η αναπαραγωγή στα βίντεο για παιδιά\n• Βίντεο που έχετε θέσει σε παύση μπορεί να συνεχίσουν να παίζουν τυχαία\n• Χαμηλή ποιότητα μικρογραφιών μπάρας αναζήτησης στα shorts\n• Το κουμπί λήψης είναι πάντα κρυμμένο\n• Οι κάρτες τελικής οθόνης είναι πάντα κρυμμένες - Μικρογραφίες προεπισκόπησης μη διαθέσιμες (καθυστέρηση API) - Μικρογραφίες προεπισκόπησης προσωρινά μη διαθέσιμες: %s - - - - Η εγκυρότητα της εφαρμογής δεν παραποιείται για βίντεο στη ροή\n\nΤα βίντεο στη ροή θα αναπαράγονται για λιγότερο από 1 λεπτό πριν αντιμετωπίσουν προβλήματα αναπαραγωγής + + Παραποίηση ροών βίντεο + Παραποίηση ροών βίντεο του προγράμματος πελάτη για την αποφυγή προβλημάτων αναπαραγωγής + Παραποίηση ροών βίντεο + Οι ροές βίντεο παραποιούνται + Οι ροές βίντεο δεν παραποιούνται\n\nΗ αναπαραγωγή βίντεο ενδέχεται να μην λειτουργεί + Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο. + Προεπιλεγμένο πρόγραμμα πελάτη + Εξαναγκασμός AVC (H.264) + Ο κωδικοποιητής βίντεο είναι ο AVC (H.264) + Ο κωδικοποιητής βίντεο είναι ο VP9 ή ο AV1 + Η συσκευή σας δεν διαθέτει αποκωδικοποίηση υλικού VP9, και αυτή η ρύθμιση είναι πάντα ενεργή όταν είναι ενεργοποιημένη η παραποίηση προγράμματος πελάτη + Ενεργοποιώντας αυτόν τον κωδικοποιητή ίσως να βελτιώσει κατανάλωση ενέργειας και ίσως διορθώσει κολλήματα αναπαραγωγής.\n\nΟ AVC έχει μέγιστη ανάλυση 1080p, και καταναλώνει περισσότερα δεδομένα internet από τον VP9 ή τον AV1. + Παρενέργειες παραποίησης σε iOS + • Οι ταινίες ή τα επί πληρωμή βίντεο ενδέχεται να μην αναπαράγονται\n• Οι ζωντανές μεταδόσεις ξεκινούν από την αρχή κατά την αναπαραγωγή + Παρενέργειες παραποίησης σε Android VR + • Το μενού «Κομμάτι ήχου» λείπει diff --git a/src/main/resources/addresources/values-es-rAR/strings.xml b/src/main/resources/addresources/values-es-rAR/strings.xml deleted file mode 100644 index 207437ab6..000000000 --- a/src/main/resources/addresources/values-es-rAR/strings.xml +++ /dev/null @@ -1,1206 +0,0 @@ - - - - - - ReVanced - ¿Desea continuar? - Restablecer - Actualizar y reiniciar - Reiniciar - Importar - Copiar - Configuración revanzada restablecida por defecto - Ajustes importados de %d - Importación fallida: %s - - - - MicroG GmsCore no está instalado. Instálala. - Acción necesaria - MicroG GmsCore no tiene permiso para ejecutarse en segundo plano.\n\nSigue la guía \"No cerrar mi aplicación\" para tu teléfono y aplica las instrucciones a tu instalación de MicroG.\n\nEsto es necesario para que la aplicación funcione. - Abrir sitio web - Las optimizaciones de la batería de MicroG GmsCore deben estar deshabilitadas para evitar problemas.\n\nPulse el botón continuar y desactive las optimizaciones de la batería. - Continuar - - - - - ReVanced - Estás usando la versión <i>%s</i> de ReVanced Patches - Nota - Esta versión es un prelanzamiento y podrías experimentar problemas inesperados - Links oficiales - Importar / Exportar - Importar / Exportar ajustes reVanced - - - Acerca de - Anuncios - Miniuñas alternativas - Alimentación - Jugador - Diseño general - Acortes - Barra - Controles de deslizamiento - Misc - Vídeo - - - Depuración - Activar o desactivar las opciones de depuración - Depurar registro - Los registros de depuración están habilitados - Los registros de depuración están desactivados - Búfer de protocolo de registro - Los registros de depuración incluyen el búfer proto - Los registros de depuración no incluyen el búfer proto - Registrar stack traces - Los registros de depuración incluyen stack trace - Los registros de depuración no incluyen stack trace - Mostrar brindis en error ReVanced - Toast mostrado si ocurre un error - Toast no se muestra si ocurre un error - Desactivar los errores toasts oculta todas las notificaciones de error ReVanced\n\nNo se le notificará de ningún evento inesperado. - - - Desactivar como / botón de suscripción brillo - El botón de \"Me gusta\" y \"suscribir\" no brillará cuando se mencione - El botón de \"Me gusta\" y \"Suscribir\" brillará cuando se mencione - Ocultar separador gris - Los separadores de grises están ocultos - Se muestran los separadores grises - Ocultar marca de agua del canal - Marca de agua oculta - Marca de agua mostrada - Ocultar shelves horizontales - Los estantes están ocultos como:\n• Romper noticias\n• Continuar viendo\n• Explorar más canales\n• Comprar\n• Verlo de nuevo - Se muestran las estanterías - - Ocultar botón \'Unirse\' - Botón oculto - Se muestra el botón - - Ocultar shelf \'Para ti\' en la página del canal - Estante oculto - Estante mostrado - - Ocultar el botón \'Notificarme\' - Botón oculto - Se muestra el botón - - Ocultar recomendaciones \"Personas también observadas\" - Recomendaciones ocultas - Se muestran las recomendaciones - - Ocultar botón \'Mostrar más\' - Botón oculto - Se muestra el botón - Ocultar reacciones temporizadas - Las reacciones temporizadas están ocultas - Se muestran reacciones temporizadas - Ocultar la cabecera de resultados de búsqueda - Encabezado de estante oculto - Encabezado del estante se muestra - Ocultar pautas de canal - Las pautas del canal están ocultas - Se muestran las pautas del canal - Ocultar chip expandible en videos - Las fichas expandibles están ocultas - Se muestran fichas expandibles - Ocultar pie de página del menú de calidad de vídeo - Pie de menú de calidad de vídeo oculto - El pie del menú de calidad de vídeo se muestra - Ocultar mensajes comunitarios - Los mensajes de la comunidad están ocultos - Se muestran las publicaciones de la comunidad - Ocultar banners compactos - Los banners de pacto están ocultos - Se muestran los banners compactos - Ocultar sección de películas - La sección de películas está oculta - Se muestra la sección de películas - Ocultar encuestas - Las encuestas de la fuente están ocultas - Se muestran encuestas de la fuente - Ocultar directrices comunitarias - Las directrices comunitarias están ocultas - Se muestran las directrices comunitarias - Ocultar directrices de la comunidad de suscriptores - Las directrices comunitarias de los suscriptores están ocultas - Se muestran las pautas de la comunidad de suscriptores - Ocultar shelf del miembro del canal - La shelf del miembro del canal está oculta - Se muestra la shelf del miembro del canal - Ocultar cajas de emergencia - Las cajas de emergencia están ocultas - Se muestran cajas de emergencia - Ocultar paneles de información - Los paneles de información están ocultos - Los paneles de información se muestran - Ocultar paneles médicos - Los paneles médicos están ocultos - Se muestran paneles médicos - Ocultar barra de canal - Barra de canales oculta - Barra de canales mostrada - Ocultar reproducibles - Los reproductores están ocultos - Se muestran los reproductores - Ocultar acciones rápidas en pantalla completa - Las acciones rápidas están ocultas - Se muestran acciones rápidas - Ocultar vídeos relacionados en acciones rápidas - Vídeos relacionados están ocultos - Vídeos relacionados se muestran - Ocultar la imagen en los resultados de búsqueda - El shelf de la imagen está oculto - Pantalla de imagen mostrada - Ocultar últimos mensajes - Los últimos mensajes están ocultos - Se muestran los últimos mensajes - Ocultar listas de mezcla - Las listas de reproducción mixtas están ocultas - Mezclar listas de reproducción son mostradas - Ocultar tarjetas de artistas - Las tarjetas de artistas están ocultas - Se muestran las tarjetas del artista - Ocultar shelf de fichas - La shelf de chips está oculta - Se muestra la shelf de chips - Ocultar sección de atributos - \'Lugares destacados\', Las secciones de juegos y música están ocultas - \'Lugares destacados\', Se muestran las secciones de juegos y música - Ocultar sección de capítulos - La sección de capítulos está oculta - Se muestra la sección de capítulos - Ocultar la sección \'Explorar el podcast\' - La sección \'Explorar el podcast\' está oculta - Se muestra la sección \'Explorar el podcast\' - Ocultar sección de tarjetas de información - La sección de tarjetas de información está oculta - Se muestra la sección de tarjetas de información - Ocultar sección de transcripción - La sección transcripción está oculta - Se muestra la sección transcripción - Descripción del vídeo - Ocultar o mostrar componentes de descripción de vídeo - Filtro personalizado - Ocultar componentes usando filtros personalizados - Activar filtro personalizado - Filtro personalizado activado - Filtro personalizado desactivado - Filtro personalizado - - Lista de cadenas del constructor de rutas del componente para filtrar separadas por una nueva línea - Filtro personalizado no válido: %s - Ocultar contenido de palabra clave - Ocultar videos de búsqueda y feed usando filtros de palabras clave - Ocultar videos domésticos por palabras clave - Los videos en la pestaña de inicio son filtrados por palabras clave - Los videos en la pestaña de inicio no son filtrados por palabras clave - Ocultar vídeos de suscripción por palabras clave - Los videos en la pestaña de suscripciones son filtrados por palabras clave - Los videos en la pestaña de suscripciones no son filtrados por palabras clave - Ocultar resultados de búsqueda por palabras clave - Los resultados de la búsqueda son filtrados por palabras clave - Los resultados de la búsqueda no son filtrados por palabras clave - Palabras clave a ocultar - - Palabras clave y frases para ocultar, separadas por nuevas líneas\n\nLas palabras con letras mayúsculas en el centro deben ser ingresadas con la caja (por ejemplo: iPhone, TikTok, LeBlanc) - Acerca del filtrado de palabras clave - Los resultados de inicio/suscripción/búsqueda se filtran para ocultar contenido que coincide con las frases de palabras clave\n\nLimitaciones\n• Algunos cortos pueden no estar ocultos\n• Algunos componentes de la interfaz pueden no estar ocultos\n• Buscar una palabra clave no puede mostrar resultados - - Palabra clave inválida. No se puede usar: \'%s\' como filtro - - Palabra clave no válida. \'%1$s\' es menor de %2$d caracteres - La palabra clave \'$s\' oculta todos los vídeos - - - Ocultar anuncios generales - Los anuncios generales están ocultos - Se muestran anuncios generales - Ocultar anuncios a pantalla completa - Los anuncios a pantalla completa están ocultos\n\nEsta función solo está disponible para dispositivos más antiguos - Se muestran anuncios a pantalla completa - Ocultar anuncios botonados - Los anuncios bloqueados están ocultos - Se muestran anuncios botonados - Ocultar etiqueta de promoción de pago - Etiqueta de promoción pagada está oculta - Etiqueta de promoción pagada se muestra - Ocultar tarjetas autopatrocinadas - Las tarjetas autopatrocinadas están ocultas - Se muestran las tarjetas autopatrocinadas - Ocultar banner para ver los productos - Banner oculto - Banner mostrado - Ocultar enlaces de compras en la descripción de vídeo - Enlaces de compras están ocultos - Se muestran enlaces de compras - - Ocultar el botón \'Visitar tienda\' en las páginas del canal - Botón oculto - Botón visible - Ocultar resultados de búsqueda web - Los resultados de búsqueda web están ocultos - Se muestran los resultados de la búsqueda web - Ocultar banners de mercandise - Los banners de mercadería están ocultos - Se muestran los banners de Mercandise - - Ocultar anuncios a pantalla completa sólo funciona con dispositivos antiguos - - - Ocultar promociones de YouTube Premium - Las promociones de YouTube Premium en el reproductor de vídeo están ocultas - Se muestran las promociones de YouTube Premium en el reproductor de vídeo - - - Ocultar video anuncios - Los anuncios de vídeo están ocultos - Los anuncios de vídeo se muestran - - - URL copiada al portapapeles - URL con marca de tiempo copiada - Mostrar botón URL de copia de vídeo - El botón se muestra. Toque para copiar la URL del vídeo. Mantenga pulsado para copiar la URL del vídeo con la marca de tiempo - El botón no se muestra - Mostrar botón URL de la marca de tiempo - El botón se muestra. Toque para copiar la URL del vídeo con la marca de tiempo. Toque y mantenga pulsado para copiar el vídeo sin marca de tiempo - El botón no se muestra - - - Eliminar diálogo de discreción del visor - Se eliminará el diálogo - Se mostrará el diálogo - Esto no pasa por alto la restricción de edad, sino que simplemente la acepta automáticamente. - - - Descarga externa - Configuración para el uso de un descargador externo - Mostrar botón externo de descarga - Botón de descarga mostrado en el reproductor - Botón de descarga no mostrado en el reproductor - - Reemplazar el botón de descarga - El botón de descarga abre su descarga externa - El botón de descarga abre el descargador nativo en la aplicación - Nombre del paquete del descargado - Nombre del paquete de su aplicación de descarga externa instalada, como NewPipe o Seal - %s no está instalado. Por favor, instálelo. - - - Desactivar gesto de búsqueda preciso - El gesto está desactivado - Gesto habilitado - - - Habilitar toque en la barra de búsqueda - Seekbar toping está habilitado - Seekbar toping está desactivado - - - Activar gesto de brillo - Deslizar brillo está habilitado - Deslizar brillo está desactivado - Activar gesto de volumen - Deslizar volumen está habilitado - Deslizar volumen está desactivado - Activar gesto de pulsar para deslizar - Pulsar para deslizar está habilitado - Pulsar para deslizar está desactivado - Activar respuesta háptica - Comentarios hápticos habilitados - Respuesta háptica deshabilitada - Guardar y restaurar brillo - Guardar y restaurar brillo al salir o entrar en pantalla completa - No guardar ni restaurar brillo al salir o entrar en pantalla completa - Activar gesto de brillo automático - Deslizar hacia abajo hasta el valor más bajo del gesto de brillo permite el brillo automático - Deslizar hacia abajo hasta el valor más bajo no habilita el brillo automático - Auto - Tiempo de espera del deslizado - La cantidad de milisegundos que la superposición es visible - Deslizar tamaño de texto superpuesto - El tamaño del texto para la capa de deslizamiento - Deslizar visibilidad de fondo - Visibilidad del fondo del deslizamiento - Umbral de magnitud del deslizamiento - La cantidad de umbral para que se desliza - - - Desactivar auto subtítulos - Los títulos automáticos están desactivados - Los títulos automáticos están habilitados - - - Botones de acción - Ocultar o mostrar botones en videos - Ocultar me gusta y no me gusta - Botones \"Me gusta\" y \"no me gusta\" están ocultos - Se muestran botones \"Me gusta\" y \"no me gusta\" - - Ocultar Compartir - El botón Compartir está oculto - Se muestra el botón Compartir - - Ocultar informe - El botón Reportar está oculto - Se muestra el botón Reportar - - Ocultar Remix - El botón Remix está oculto - Se muestra el botón Remix - - Ocultar descarga - El botón de descarga está oculto - Se muestra el botón de descarga - - Ocultar Gracias - El botón de gracias está oculto - Se muestra el botón de gracias - - Ocultar Recortar - El botón del clip está oculto - Se muestra el botón de clip - - Ocultar Guardar en lista - El botón Guardar a la lista de reproducción está oculto - Mostrar el botón Guardar a la lista - - - Ocultar botón de reproducción automática - El botón de reproducción automática está oculto - Se muestra el botón de reproducción automática - - - - Ocultar botón de subtítulos - Botón de subtítulos oculto - Botón de subtítulos mostrado - - - Ocultar botón de reparto - El botón de envío está oculto - Se muestra el botón de envío - - - Navigation buttons - Ocultar o cambiar botones en la barra de navegación - - Ocultar Inicio - El botón de inicio está oculto - Se muestra el botón de inicio - - Ocultar breves - Botón corto oculto - Se muestra el botón de breves - - Ocultar Crear - El botón Crear está oculto - Se muestra el botón de crear - - Ocultar suscripciones - El botón de suscripciones está oculto - Se muestra el botón de suscripciones - - Cambiar Create con notificaciones - El botón Crear cambia con el botón de Notificaciones\n\nNota: Activar esto también oculta anuncios de vídeo por la fuerza - El botón Crear no se cambia con el botón de notificaciones - Ocultar etiquetas de botón de navegación - Las etiquetas están ocultas - Las etiquetas se muestran - - - Flyout menu - Ocultar o mostrar elementos del menú de vuelo del jugador - - Ocultar leyendas - Menú de subtítulos oculto - Menú de subtítulos mostrado - - Ocultar ajustes adicionales - Menú de configuración adicional oculto - Se muestra el menú de configuración adicional - - Ocultar video de bucle - El menú de video Loop está oculto - El menú de Loop video se muestra - - Ocultar modo ambiente - Menú de modo ambiente oculto - Se muestra el menú de modo ambiente - - Ocultar Ayuda & Comentarios - El menú de ayuda & comentarios está oculto - Se muestra el menú Ayuda & comentarios - - Ocultar velocidad de reproducción - Menú de velocidad de reproducción oculto - Mostrar menú de velocidad de reproducción - - Ocultar más información - El menú de más información está oculto - Se muestra el menú de más información - - Ocultar pantalla de bloqueo - El menú de la pantalla de bloqueo está oculto - Se muestra el menú de pantalla de bloqueo - - Ocultar pista de audio - El menú de pista de audio está oculto - El menú de pista de audio se muestra - - Ocultar reloj en VR - Ver en el menú VR está oculto - Ver en el menú VR se muestra - - - Ocultar botones de vídeo anteriores & siguiente - Los botones están ocultos - Los botones se muestran - - - Ocultar álbumes - Las tarjetas de álbum están ocultas - Se muestran las tarjetas de álbum - - - Comentarios - Ocultar o mostrar los componentes de sección de comentarios - Ocultar encabezado \'Comentarios por miembros\' - El encabezado \'Comentarios por miembros\' está oculto - La cabecera \'Comentarios por miembros\' se muestra - Ocultar sección de comentarios - La sección de comentarios está oculta - Sección de comentarios mostrada - Ocultar botón \'Crear un corto\' - El botón \'Crear un corto\' está oculto - Se muestra el botón \'Crear un corto\' - Ocultar comentario de vista previa - El comentario de la vista previa está oculto - Vista previa del comentario se muestra - Ocultar botón de gracias - El botón de gracias está oculto - Se muestra el botón de gracias - Ocultar botones de hora y emoji - Botones Timestamp y emoji están ocultos - Se muestran los botones Timestamp y emoji - - - Ocultar caja de recaudación - La caja de Crowdfunding está oculta - Se muestra la caja de Crowdfunding - - - Ocultar tarjetas de pantalla final - Las tarjetas de pantalla de fin están ocultas - Se muestran las tarjetas de la pantalla final - - - Barra de filtros - Ocultar o mostrar la barra de filtros en el feed, la búsqueda y vídeos relacionados - Ocultar en el feed - Escondido en el feed - Mostrar en el feed - Ocultar en búsqueda - Oculto en la búsqueda - Mostrar en búsqueda - Ocultar en vídeos relacionados - Escondido en videos relacionados - Mostrar en vídeos relacionados - - - Ocultar botón de micrófono flotante - Botón de micrófono oculto - Botón del micrófono mostrado - - - Desactivar el modo ambiente en pantalla completa - Modo ambiente desactivado - Modo ambiente activado - - - Ocultar tarjetas de información - Las tarjetas de información están ocultas - Se muestran las tarjetas de información - - - Desactivar animaciones de número de rodamiento - Los números de registro no están animados - Los números de registro son animados - - - Ocultar barra de búsqueda en el reproductor de vídeo - La barra de búsqueda del reproductor de vídeo está oculta - La barra de búsqueda del reproductor de vídeo se muestra - Ocultar barra de búsqueda en miniaturas de vídeo - La barra de búsqueda de miniaturas está oculta - La barra de búsqueda de miniaturas se muestra - - - - Ocultar breves en el feed de inicio - Los cortos en la alimentación de inicio están ocultos - Se muestran los cortos en la alimentación de inicio - - Ocultar breves en el feed de suscripción - Los cortos en el feed de suscripción están ocultos - Se muestran los cortos en el feed de suscripción - Ocultar breves en los resultados de búsqueda - Los breves resultados de búsqueda están ocultos - Se muestran breves en los resultados de búsqueda - - Ocultar botón de unirse - Botón de unión oculto - Se muestra el botón de unirse - - Ocultar botón de suscripción - El botón de suscripción está oculto - Se muestra el botón de suscripción - Ocultar botones de superposición en pausa - Los botones de superposición pausados están ocultos - Se muestran los botones de superposición pausados - Ocultar botón de tienda - El botón de la tienda está oculto - Se muestra el botón de la tienda - Ocultar botón de súper gracias - El botón de súper gracias está oculto - Se muestra el botón de supergracias - Ocultar productos etiquetados - Los productos etiquetados están ocultos - Los productos etiquetados se muestran - Ocultar etiqueta de ubicación - Etiqueta de ubicación oculta - Etiqueta de ubicación mostrada - Ocultar sonido guardado al botón de lista de reproducción - Guardar sonido en lista de reproducción está oculto - Guardar sonido en la lista de reproducción se muestra - Ocultar sugerencias de búsqueda - Las sugerencias de búsqueda están ocultas - Se muestran sugerencias de búsqueda - Ocultar botón me gusta - El botón Me gusta está oculto - Se muestra el botón Me Gusta - Ocultar botón no me gusta - El botón no me gusta está oculto - El botón no me gusta se muestra - Ocultar botón de comentarios - El botón de comentarios está oculto - Se muestra el botón de comentarios - - Ocultar botón de remezcla - El botón Remix está oculto - Se muestra el botón Remix - - Ocultar botón Compartir - El botón Compartir está oculto - Se muestra el botón Compartir - Ocultar panel de información - Panel de información oculto - Se muestra el panel de información - Ocultar barra de canal - Barra de canales oculta - Barra de canales mostrada - Ocultar título de vídeo - El título está oculto - El título se muestra - Ocultar etiqueta de metadatos de sonido - Etiqueta de metadatos oculta - Etiqueta de metadatos mostrada - Ocultar etiqueta de enlace de vídeo completo - Etiqueta de enlace de vídeo oculto - Etiqueta de enlace de vídeo mostrada - Ocultar botón de sonido - Botón de sonido oculto - Se muestra el botón de sonido - Ocultar barra de navegación - Barra de navegación oculta - Se muestra la barra de navegación - - - Desactivar pantalla de final de vídeo sugerida - Vídeos sugeridos serán desactivados - Se mostrarán vídeos sugeridos - - - Ocultar fecha y hora de vídeo - Marca de tiempo oculta - Marca de tiempo mostrada - - - Ocultar paneles emergentes del jugador - Los paneles emergentes del jugador están ocultos - Se muestran paneles emergentes del jugador - - - Opacidad de superposición del jugador - Valor de potencia entre 0-100, donde 0 es transparente - Opacidad de superposición del jugador debe estar entre 0-100 - - - Hidden - - No me gusta no disponible temporalmente - Dislikes no disponibles (estado %d) - No me gusta no disponible - Dislikes no disponibles (%s) - - Recargar vídeo para votar usando Return YouTube Dislike - Dislikes son mostrados - No se muestran Dislikes - Mostrar no me gusta en Shorts - Dislikes mostrados en Shorts - Dislikes mostrados en Cortos\n\nLimitación: Las Dislikes no pueden aparecer en modo incógnito - Dislikes ocultos en Shorts - Desliza como porcentaje - Dislikes mostrados como porcentaje - Dislikes mostrados como número - - Botón de compacto - Botón \"Me gusta\" para el ancho mínimo - Botón \"Me gusta\" para una mejor apariencia - Mostrar un brindis si la API no está disponible - Toast se muestra si Devolución de YouTube Dislike no está disponible - Toast no se muestra si Devolución de YouTube Dislike no está disponible - Acerca de - Los datos son proporcionados por la API de Retorno de YouTube. Pulse aquí para aprender más - - Devuelve las estadísticas de la API de este dispositivo - Tiempo de respuesta de la API, promedio - Tiempo de respuesta de API, mínimo - Tiempo de respuesta de la API, máximo - Tiempo de respuesta API, último vídeo - Dislikes temporalmente no disponible - Límite de tasa de cliente API en efecto - Votaciones de la API, número de llamadas - No hay llamadas de red - Llamadas de red %d realizadas - Votos de búsqueda de API, número de tiempos de espera - No hay llamadas de red agotadas - Tiempo de espera de llamadas de red %d - Límites de velocidad del cliente API - No se encontraron límites de tasa de clientes - Límite de tasa de cliente encontrado %d veces - %d milisegundos - - - Habilitar barra de búsqueda ancha - Barra de búsqueda ancha habilitada - Barra de búsqueda ancha desactivada - - - Restaurar antiguas miniaturas de la barra de búsqueda - Las miniaturas de la barra de búsqueda aparecerán por encima de la barra de búsqueda - Las miniaturas de Seekbar aparecerán en pantalla completa - - - Activar SponsorBlock - SponsorBlock es un sistema de fuentes múltiples para omitir partes molestas de vídeos de YouTube - Apariencia - Mostrar botón de voto - Se muestra el botón de voto del segmento - El botón de voto del segmento no se muestra - - Usar botón compacto de saltar - Omitir botón con estilo para el ancho mínimo - Omitir botón con estilo para la mejor apariencia - Ocultar automáticamente el botón omitir - Omitir botón se oculta después de unos segundos - Saltar botón mostrado para todo el segmento - Mostrar un brindis al saltar automáticamente - Toast se muestra cuando un segmento se omite automáticamente. Pulse aquí para ver un ejemplo - Toast no se muestra. Toque aquí para ver un ejemplo - Mostrar longitud de vídeo sin segmentos - Longitud del vídeo menos todos los segmentos, mostrados en paréntesis junto a la longitud completa del vídeo - Longitud completa del vídeo mostrada - Creando nuevos segmentos - Mostrar botón crear nuevo segmento - Se muestra el botón de crear un nuevo segmento - No se muestra el botón de crear un nuevo segmento - Ajustar nuevo paso de segmento - Número de milisegundos que los botones de ajuste de tiempo se mueven al crear nuevos segmentos - El valor debe ser un número positivo - Ver pautas - Las directrices contienen reglas y consejos para crear nuevos segmentos - Siga las pautas - Lee las directrices de SponsorBlock antes de crear nuevos segmentos - Ya leido - Muéstrame - General - Mostrar un brindis si la API no está disponible - Toast se muestra si SponsorBlock no está disponible - Toast no se muestra si SponsorBlock no está disponible - Habilitar rastreo del conteo de saltos - Permite que la tabla de clasificación de SponsorBlock sepa cuánto tiempo se ha ahorrado. Un mensaje se envía al tablero de clasificación cada vez que se omite un segmento - El rastreo del conteo de saltos no está habilitado - Duración mínima del segmento - Los segmentos más cortos que este valor (en segundos) no se mostrarán o se omitirán - Tu id de usuario privado - Esto debería mantenerse en privado. Esto es como una contraseña y no debe ser compartido con nadie. Si alguien tiene esto, puede suplantarte - El id de usuario privado debe tener al menos 30 caracteres - Cambiar URL API - La dirección que SponsorBlock utiliza para hacer llamadas al servidor - API URL reset - La URL de API no es válida - URL de API cambiada - Importar / Exportar ajustes - Copiar - Su configuración JSON de SponsorBlock que puede importarse/exportarse a ReVanced y otras plataformas SponsorBlock - Su configuración JSON de SponsorBlock que puede importarse/exportarse a ReVanced y otras plataformas SponsorBlock. Esto incluye tu id de usuario privado. Asegúrate de compartirlo sabiamente - Configuración importada correctamente - Error al importar: %s - Error al exportar: %s - Tu configuración contiene un usuario privado de SponsorBlock.\n\nTu id de usuario es como una contraseña y nunca debe ser compartida.\n - No mostrar de nuevo - Cambiar comportamiento del segmento - Patrocinador - Promoción pagada, referencias pagadas y anuncios directos. No para autopromoción o gritos gratuitos a causas/creadores/sitios web/productos que les gustan - Promover no pagado/autoestima - Similar a \'Patrocinador\' excepto por falta de pago o autopromoción. Incluye secciones sobre meritud, donaciones o información sobre con quién colaboraron - Recordatorio de interacción (enviar) - Un pequeño recordatorio para gustar, suscribirse o seguirlos en medio del contenido. Si es largo o sobre algo específico, debería estar bajo autopromoción - Resaltar - La parte del vídeo que la mayoría de la gente está buscando - Intermisión/Animación de introducción - Un intervalo sin contenido real. Podría ser una pausa, marco estático o animación de repetición. No incluye transiciones que contengan información - Tarjetas/Créditos - Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información - Vista previa/Recapitular/Juego - Colección de clips que muestran lo que viene o lo que pasó en el vídeo o en otros videos de una serie, donde toda la información se repite en otro lugar - Rellenar tangente/chistes - Escenas tangenciales añadidas sólo para relleno o humor que no están obligadas a entender el contenido principal del vídeo. No incluye segmentos proporcionando detalles de contexto o fondo - Música: Sección no musical - Sólo para usar en vídeos de música. Secciones de vídeos de música sin música, que no están cubiertas por otra categoría - Saltar - Resaltar - Saltar patrocinador - Saltar promoción - Saltar interacción - Omitir a resaltado - Saltar intro - Omitir intermisión - Omitir intermisión - Skip outro - Saltar vista previa - Saltar vista previa - Saltar resumen - Saltar relleno - Omitir no música - Saltar segmento - Patrocinador omitido - Autopromoción omitida - Recordatorio omitido - Saltado a destacar - Intro omitido - Intermisión omitida - Intermisión omitida - Saltar outro - Vista previa omitida - Vista previa omitida - Resumen omitido - Relleno omitido - Se omitió una sección de no-música - Se omitió el segmento no enviado - Se omitieron varios segmentos - Saltar automáticamente - Saltar automáticamente una vez - Mostrar un botón saltar - Mostrar en la barra de búsqueda - Desactivar - No se puede enviar el segmento: %s - SponsorBlock está temporalmente abajo - No se puede enviar el segmento (estado: %1$d %2$s) - No se puede enviar el segmento.\nTasa limitada (demasiados usuarios o IP) - No se puede enviar el segmento: %s - No se puede enviar el segmento.\nYa existe - Segmento enviado correctamente - - SponsorBlock temporalmente no está disponible (API) - SponsorBlock temporalmente no disponible (estado %d) - SponsorBlock temporalmente no está disponible - No se puede votar por el segmento (API) - No se puede votar por el segmento (estado: %1$d %2$s) - No se puede votar por el segmento: %s - Upvote - Bajar voto - Cambiar categoría - No hay segmentos para votar - Elegir la categoría del segmento - Categoría está desactivada en la configuración. Habilitar la categoría para enviar. - Nuevo segmento de SponsorBlock - - Establecer %1$02d:%2$02d:%3$03d como inicio o final de un nuevo segmento? - empezar - fin - ahora - Tiempo que el segmento comienza en - Tiempo que el segmento termina en - ¿Son correctos los tiempos? - - El segmento es desde\n\n%1$s\nhasta\n%2$s\n\n(%3$s)\n\n¿Listo para enviarlo? - Inicio debe ser antes del final - Marcar dos ubicaciones en la barra de tiempo primero - Previsualizar el segmento y asegurarse de que se salta sin problemas - Editar temporización del segmento manualmente - ¿Quiere editar el cronograma para el inicio o fin del segmento? - Tiempo dado no válido - Estadísticas - - Estadísticas temporalmente no disponibles (API está caída) - Cargando... - SponsorBlock está desactivado - Tu nombre de usuario: <b>%s</b> - Pulsa aquí para cambiar tu nombre de usuario - No se puede cambiar el nombre de usuario: %1$d %2$s - Nombre de usuario cambiado correctamente - Tu reputación es <b>%.2f</b> - Has creado segmentos <b>%s</b> - Tabla de clasificación de SponsorBlock - Has salvado personas de segmentos <b>%s</b> - Pulsa aquí para ver las estadísticas globales y los mejores colaboradores - Eso es <b>%s</b> de sus vidas.<br>Toca aquí para ver la tabla de clasificación - Te has saltado segmentos <b>%s</b> - Eso es <b>%s</b> - ¿Restablecer contador de segmentos saltados? - %1$s horas %2$s minutos - %1$s minutos %2$s segundos - %s segundos - Color: - Color cambiado - Reinicio de color - Código de color inválido - Reiniciar color - Restablecer - Acerca de - Los datos son proporcionados por la API de SponsorBlock. Pulsa aquí para aprender más y ver las descargas de otras plataformas - - - Versión de la aplicación Spoof - Versión falseada - Versión no falseada - La versión de la aplicación será suplantada por una versión anterior de YouTube.\n\nEsto cambiará la apariencia y las funciones de la aplicación, pero pueden ocurrir efectos secundarios desconocidos.\n\nSi luego se desactiva, se recomienda borrar los datos de la aplicación para prevenir errores de interfaz de usuario. - - Destino de versión de la aplicación Spoof - - 18.33.40 - Restaurar RYD en modo incógnito cortos - 18.20.39 - Restaurar la velocidad de vídeo ancha & menú de calidad - 18.09.39 - Restaurar pestaña de biblioteca - 17.41.37 - Restaurar la vieja lista de reproducción shelf - 17.33.42 - Restaurar la disposición antigua de la interfaz de usuario - - - Establecer página de inicio - Predeterminado - - Inicio - Buscar - - Suscripciones - Explorar - Acortes - - Pestaña - Vídeos gustados - - Historial - Tendencias - - - Desactivar reanudación del reproductor - El reproductor corto no se reanudará al iniciar la aplicación - El reproductor corto se reanudará al iniciar la aplicación - - - Habilitar diseño de tablet - Diseño de tablet habilitado - Diseño de tablet deshabilitado - Los mensajes de la comunidad no se muestran en los diseños de tablet - - - Minijugador - Cambiar el estilo del reproductor minimizado de la aplicación - Tipo de minijugador - Original - Teléfono - Tablet - Moderna 1 - Moderna 2 - Moderna 3 - Ocultar botones de expansión y cierre - Los botones están ocultos\n(desliza el minijugador para expandir o cerrar) - Mostrar los botones de ampliación y cierre - Ocultar subtextos - Los subtextos están ocultos - Los subtextos se muestran - Ocultar botones de omitir hacia adelante y atrás - Saltar adelante y atrás están ocultos - Saltar adelante y atrás se muestran - Overlay opacity - Valor de potencia entre 0-100, donde 0 es transparente - La opacidad de superposición del Miniplayer debe estar entre 0-100 - - - Activar la pantalla de carga del degradado - La pantalla de carga tendrá un fondo de degradado - La pantalla de carga tendrá un fondo sólido - - - Activar el color personalizado de la barra de búsqueda - Se muestra el color personalizado de la barra de búsqueda - Se muestra el color original de la barra de búsqueda - Color personalizado de la barra de búsqueda - El color de la barra de ajustes - Valor de color de la barra de búsqueda inválido. Usando el valor por defecto. - - - - Pestaña - - Pestaña de suscripción - - Pestaña - Listas de reproducción, recomendaciones - Resultados de búsqueda - Original thumbnails - Deflecha & miniaturas originales - Flecha & Todavía capturas - Sigue capturando - DeFlecha proporciona miniaturas de origen crowd para vídeos de YouTube. Estas uñas suelen ser más relevantes que las proporcionadas por YouTube\n\nSi están activadas, las URL de vídeo se enviarán al servidor API y no se enviarán otros datos. Si un video no tiene miniaturas de Flecha Deprimida, entonces las capturas originales o todavía se muestran\n\nPulsa aquí para aprender más sobre DeFlecha - Mostrar un brindis si la API no está disponible - Toast se muestra si DeFlecha no está disponible - Toast no se muestra si DeFlecha no está disponible - DeArrow API endpoint - La URL del final de la caché en miniatura de DeArrow - Todavía captura de vídeo - Las capturas se toman desde el principio/medio/final de cada vídeo. Estas imágenes están incorporadas en YouTube y no se utiliza ninguna API externa - Usar capturas aún rápidas - Usar captura de calidad media todavía. Las miniaturas se cargarán más rápido, pero streams en vivo, no liberados o vídeos muy antiguos pueden mostrar miniaturas en blanco - Usando capturas de alta calidad - Tiempo de vídeo desde el que tomar aún las capturas - Inicio del vídeo - Medio del vídeo - Fin del vídeo - - DeArrow no disponible. (código de estado: %s) - DeFlecha temporalmente no disponible - - - Mostrar anuncios revalorizados - Los anuncios se muestran al iniciar - Los anuncios no se muestran al iniciar - Mostrar anuncios al iniciar - Error al conectar con el proveedor de anuncios - Descartar - - - Activar autorepetición - Auto-repetición habilitada - Auto-repetición desactivada - - - Dimensiones del dispositivo - Dimensiones del dispositivo falseadas\n\nCalidad de vídeo más alta puede ser desbloqueada, pero puede experimentar la reproducción de vídeo, peor duración de la batería y efectos secundarios desconocidos - Dimensiones del dispositivo no falseadas\n\nHabilitar esto puede desbloquear mayores calidades de vídeo - Activar esto puede causar retraso en la reproducción de vídeo, peor duración de la batería y efectos secundarios desconocidos. - - - Ajustes de GmsCore - Configuración de GmsCore - - - Redirecciones URL Bypass - Se omiten las redirecciones URL - No se omiten las redirecciones URL - - - Abrir enlaces en el navegador - Abriendo enlaces externamente - Abrir enlaces en la aplicación - - - Reproducción en segundo plano - Esta configuración se puede encontrar en Ajustes -> Fondo - - - Quitar parámetro de consulta de rastreo - Parámetro de la consulta de seguimiento se elimina de los enlaces - Parámetro de la consulta de seguimiento no se elimina de los enlaces - - - Desactivar hábitos de zoom - Hápticas desactivadas - Haptics están habilitados - - - Calidad automática - Recordar cambios de calidad de vídeo - Los cambios de calidad se aplican a todos los vídeos - Los cambios de calidad sólo se aplican al vídeo actual - Calidad de vídeo predeterminada en la red Wi-Fi - Calidad de vídeo predeterminada en la red móvil - móvil - wifi - Cambió la calidad predeterminada %1$s a: %2$s - - - Mostrar botón de diálogo de velocidad - Botón visible - El botón no se muestra - - - Velocidades de reproducción personalizadas - Añadir o cambiar las velocidades de reproducción disponibles - Velocidades personalizadas deben ser inferiores a %s. Utilizando valores predeterminados. - Velocidades de reproducción personalizadas no válidas. Utilizando valores predeterminados. - - - Recordar cambios de velocidad de reproducción - Los cambios de velocidad de reproducción se aplican a todos los vídeos - Los cambios de velocidad de reproducción sólo se aplican al vídeo actual - Velocidad de reproducción por defecto - Cambió la velocidad predeterminada a: %s - - - Restaurar menú de calidad de vídeo antiguo - Se muestra el antiguo menú de calidad de vídeo - El antiguo menú de calidad de vídeo no se muestra - - - Habilitar diapositiva para buscar - Deslizar para buscar está activado - Slide to seek no está habilitado - - - Cliente Spoof - Fusiona al cliente para evitar problemas de reproducción - Cliente Spoof - Cliente falseado - El cliente no está falsificado\n\nEs posible que la reproducción de vídeo no funcione - Desactivar esta configuración puede causar problemas de reproducción de vídeo. - Spoof cliente a iOS - El cliente está actualmente falseado a iOS\n\nLos efectos laterales incluyen:\n• No hay vídeo HDR\n• Es posible que el historial del reloj no funcione\n• Puede que falten más calidad de vídeo\n• Los streams en vivo no pueden reproducirse como audio solo\n• streams en vivo no disponibles en Android 8.0 - El cliente está actualmente falseado a Android VR\n\nLos efectos laterales incluyen:\n• No hay vídeo HDR\n• Los vídeos para niños no se reproducirán\n• Los vídeos en pausa pueden reanudarse aleatoriamente\n• Las miniaturas de barras cortas de baja calidad\n• El botón de descarga siempre está oculto\n• Las tarjetas de la pantalla final siempre están ocultas - Las miniaturas del cliente de Spoof no están disponibles (API) - Las miniaturas del cliente Spoof temporalmente no están disponibles: %s - - - - Firma de aplicación Spoof - Espoya la firma de la aplicación para evitar problemas de reproducción - Firma de aplicación Spoof - La firma de la aplicación falseada\n\nLos efectos laterales incluyen:\n• La tasa de bits mejorada no está disponible\n• Los vídeos no se pueden descargar\n• No hay miniaturas en la barra de búsqueda para vídeos pagados - La firma de la aplicación no está falseada\n\nLa reproducción de vídeo puede no funcionar - Desactivar esta configuración causará problemas de reproducción de vídeo. - Spoof firma de aplicación en el feed - La firma de la aplicación está falseada\n\nLos efectos laterales incluyen:\n• Los vídeos alimentarios no tienen subtítulos\n• Los vídeos reproducidos automáticamente se mostrarán en tu historial de relojes - Firma de la aplicación no simulada para videos de feed\n\nLos vídeos alimentarios se reproducirán durante menos de 1 minuto antes de encontrar problemas de reproducción - Cuadro de historias - Cuadro de historias falseado - El storyboard no está falseado\n\nLos efectos laterales incluyen:\n• Sin modo ambiente\n• Las miniaturas de la barra de búsqueda están ocultas - El storyboard espía no está disponible temporalmente (API) - El storyboard espía no está disponible temporalmente: %s - - - - Activar brillo HDR automático - Brillo automático HDR está habilitado - Brillo automático HDR está desactivado - - - - - Bloquear anuncios de audio - Anuncios de audio bloqueados - Anuncios de audio desbloqueados - - - %s no está disponible. Los anuncios pueden mostrarse. Intenta cambiar a otro servicio de bloque de anuncios en la configuración. - El servidor %s devolvió un error. Los anuncios pueden mostrar. Intente cambiar a otro servicio de bloque de anuncios en la configuración. - Bloquear anuncios de vídeo incrustados - Desactivado - Proxy luminoso - Proxy MoradoAdBlock - - - Bloquear anuncios de vídeo - Los anuncios de vídeo están bloqueados - Los anuncios de vídeo están desbloqueados - - - mensaje eliminado - Mostrar mensajes borrados - No mostrar mensajes borrados - Ocultar mensajes eliminados detrás de un spoiler - Mostrar mensajes borrados como texto cruzado - - - Reclamar automáticamente los puntos de canal - Los puntos de canal se reclaman automáticamente - Los puntos de canal no se reclaman automáticamente - - - - Activar modo de depuración de Twitch - El modo de depuración de Twitch está habilitado (no recomendado) - El modo de depuración de Twitch está desactivado - - - Ajustes de ReVanced - Anuncios - Ajustes de bloqueo de anuncios - Chatear - Ajustes del chat - Misc - Ajustes multifuncionales - Ajustes generales - Otros ajustes - Anuncios del cliente - Anuncios del lado del servidor - Depurar registro - Los registros de depuración están habilitados - Los registros de depuración están desactivados - - - diff --git a/src/main/resources/addresources/values-es-rES/strings.xml b/src/main/resources/addresources/values-es-rES/strings.xml index 669897ba9..6954c0213 100644 --- a/src/main/resources/addresources/values-es-rES/strings.xml +++ b/src/main/resources/addresources/values-es-rES/strings.xml @@ -32,6 +32,15 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Comprobaciones fallidas + Abrir sitio web oficial + Ignorar + Parcheado en un dispositivo diferente + No instalado por ReVanced Manager + Parcheado hace más de 10 minutos + La fecha de compilación de APK está dañada + ¿Desea continuar? Restablecer @@ -39,9 +48,17 @@ This is because Crowdin requires temporarily flattening this file and removing t Reiniciar Importar Copiar - Configuración revanzada restablecida por defecto + Configuración ReVanced restablecida por defecto Configuración importada de %d Error de importación: %s + Importar / Exportar + Importar / Exportar ajustes de ReVanced + + Estás usando la versión de ReVanced Patches <i>%s</i> + Nota + Esta versión es un pre-lanzamiento y puede que experimentes problemas inesperados + Enlaces oficiales + Donar @@ -54,15 +71,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Estás usando la versión de ReVanced Patches <i>%s</i> - Nota - Esta versión es un pre-lanzamiento y puede que experimentes problemas inesperados - Enlaces oficiales - Importar / Exportar - Importar / Exportar ajustes de ReVanced - Acerca de Anuncios @@ -90,7 +98,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Mostrar brindis en error ReVanced Toast mostrado si ocurre un error Toast no se muestra si ocurre un error - Desactivar los errores toasts oculta todas las notificaciones de error ReVanced\n\nNo se le notificará de ningún evento inesperado. + Desactivar los brindis de errores oculta todas las notificaciones de error ReVanced\n\nNo se le notificará de ningún evento inesperado. Desactivar el brillo del botón de like / suscripción @@ -102,8 +110,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar marca de agua del canal Marca de agua oculta Marca de agua mostrada - Ocultar shelves horizontales - Los estantes están ocultos como:\n• Romper noticias\n• Continuar viendo\n• Explorar más canales\n• Comprar\n• Verlo de nuevo + Ocultar estantes horizontales + Los estantes están ocultos como:\n• Noticias de último momento\n• Continuar viendo\n• Explorar más canales\n• Comprar\n• Verlo de nuevo Se muestran las estanterías @@ -111,7 +119,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Botón oculto Se muestra el botón - Ocultar shelf \'Para ti\' en la página del canal + Ocultar estantería \'Para ti\' en la página del canal Estante oculto Estante mostrado - Ocultar recomendaciones \"Personas también observadas\" + Ocultar recomendaciones \"Las personas también vieron\" Recomendaciones ocultas Se muestran las recomendaciones - Palabras clave y frases para ocultar, separadas por nuevas líneas\n\nLas palabras con letras mayúsculas en el centro deben ser ingresadas con la caja (por ejemplo: iPhone, TikTok, LeBlanc) + Palabras clave y frases para ocultar, separadas por nuevas líneas\n\nLas palabras clave pueden ser nombres de canales o cualquier texto que se muestre en los títulos de vídeo\n\nLas palabras con letras mayúsculas en el medio deben ser ingresadas con la mayúscula (por ejemplo: iPhone, TikTok, LeBlanc) Acerca del filtrado de palabras clave - Los resultados de inicio/suscripción/búsqueda se filtran para ocultar contenido que coincide con las frases de palabras clave\n\nLimitaciones\n• Algunos cortos pueden no estar ocultos\n• Algunos componentes de la interfaz pueden no estar ocultos\n• Buscar una palabra clave no puede mostrar resultados + Los resultados de inicio/suscripción/búsqueda se filtran para ocultar el contenido que coincide con las frases de palabras clave\n\nLimitaciones\n• Los cortos no se pueden ocultar con el nombre del canal\n• Algunos componentes de la interfaz pueden no estar ocultos\n• Buscar una palabra clave no puede mostrar resultados + Coincidir palabras completas + - Palabra clave inválida. No se puede usar: \'%s\' como filtro - - Palabra clave no válida. \'%1$s\' es menor de %2$d caracteres - La palabra clave \'%s\' oculta todos los vídeos + No se puede usar la palabra clave: %s + Añadir comillas para usar palabra clave: %s + La palabra clave tiene declaraciones en conflicto: %s + La palabra clave es demasiado corta y requiere comillas: %s + Palabra clave ocultará todos los vídeos: %s Ocultar anuncios generales @@ -514,9 +525,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar sección de comentarios La sección de comentarios está oculta Sección de comentarios mostrada - Ocultar botón \'Crear un corto\' - El botón \'Crear un corto\' está oculto - Se muestra el botón \'Crear un corto\' + Ocultar botón \'Crear un Short\' + El botón \'Crear un Short\' está oculto + Se muestra el botón \'Crear un Short\' Ocultar comentario de vista previa El comentario de la vista previa está oculto Vista previa del comentario se muestra @@ -580,16 +591,16 @@ This is because Crowdin requires temporarily flattening this file and removing t - Ocultar breves en el feed de inicio - Los cortos en la alimentación de inicio están ocultos - Se muestran los cortos en la alimentación de inicio + Ocultar Shorts en el Inicio + Los Shorts en el Inicio están ocultos + Se muestran los Shorts en el Inicio - Ocultar breves en el feed de suscripción - Los cortos en el feed de suscripción están ocultos - Se muestran los cortos en el feed de suscripción - Ocultar breves en los resultados de búsqueda - Los breves resultados de búsqueda están ocultos - Se muestran breves en los resultados de búsqueda + Ocultar Shorts en las suscripciones + Los Shorts en las suscripciones están ocultos + Se muestran los Shorts en las suscripciones + Ocultar Shorts en los resultados de búsqueda + Los Shorts en resultados de búsqueda están ocultos + Se muestran Shorts en los resultados de búsqueda Ocultar botón de unirse Botón de unión oculto @@ -616,6 +627,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar sonido guardado al botón de lista de reproducción Guardar sonido en lista de reproducción está oculto Guardar sonido en la lista de reproducción se muestra + Ocultar usar este botón de sonido + Usar este botón de sonido está oculto + Usar este botón de sonido se muestra Ocultar sugerencias de búsqueda Las sugerencias de búsqueda están ocultas Se muestran sugerencias de búsqueda @@ -679,7 +693,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Opacidad del reproductor debe estar entre 0 y 100 - Oculto No me gusta no disponible temporalmente Dislikes no disponibles (estado %d) @@ -691,8 +704,8 @@ This is because Crowdin requires temporarily flattening this file and removing t No se muestran Dislikes Mostrar no me gusta en Shorts Dislikes mostrados en Shorts - Dislikes mostrados en Cortos\n\nLimitación: Las Dislikes no pueden aparecer en modo incógnito - Dislikes ocultos en Shorts + No me Gusta mostrados en Shorts\n\nLimitación: Los No me Gusta no pueden aparecer en modo incógnito + No me Gusta ocultos en Shorts Desliza como porcentaje Dislikes mostrados como porcentaje Dislikes mostrados como número @@ -761,9 +774,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Número de milisegundos que los botones de ajuste de tiempo se mueven al crear nuevos segmentos El valor debe ser un número positivo Ver normas - Las directrices contienen reglas y consejos para crear nuevos segmentos + Las pautas contienen reglas y consejos para crear nuevos segmentos Siga las pautas - Lee las directrices de SponsorBlock antes de crear nuevos segmentos + Lee las pautas de SponsorBlock antes de crear nuevos segmentos Ya leído Múestrame General @@ -775,6 +788,7 @@ This is because Crowdin requires temporarily flattening this file and removing t El rastreo del conteo de saltos no está habilitado Duración mínima del segmento Los segmentos más cortos que este valor (en segundos) no se mostrarán o se omitirán + Duración de tiempo no válida Tu id de usuario privado Esto debería mantenerse privado. Es como una contraseña y no debe ser compartido con nadie. Si alguien obtiene esto, podran usarlo para suplantarte El id de usuario privado debe tener al menos 30 caracteres @@ -875,8 +889,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Segundo en el que el segmento comienza Segundo en el que el segmento finaliza ¿Los tiempos son correctos? - El segmento es desde\n\n%1$s\nhasta\n%2$s\n\n(%3$s)\n\n¿Listo para enviarlo? Inicio debe ser antes del final Primero, marca dos instantes en la barra de tiempo @@ -895,6 +907,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Nombre de usuario cambiado con éxito Tu reputación es <b>%.2f</b> Has creado segmentos <b>%s</b> + Pulsa aquí para ver tus segmentos Tabla de clasificación de SponsorBlock Has salvado personas de segmentos <b>%s</b> Pulsa aquí para ver las estadísticas globales y los mejores colaboradores @@ -923,10 +936,10 @@ This is because Crowdin requires temporarily flattening this file and removing t This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch --> Destino de versión de la aplicación Spoof - 18.33.40 - Restaurar RYD en modo incógnito cortos + 18.33.40 - Restaurar RYD en Shorts de modo incógnito 18.20.39 - Restaurar la velocidad de vídeo ancha & menú de calidad 18.09.39 - Restaurar pestaña de biblioteca - 17.41.37 - Restaurar la vieja lista de reproducción shelf + 17.41.37 - Restaurar el estante viejo de lista de reproducción 17.33.42 - Restaurar la disposición antigua de la interfaz de usuario @@ -938,7 +951,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Suscripciones Explorar - Acortes Pestaña Vídeos gustados @@ -948,8 +960,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Desactivar reanudación del reproductor - El reproductor corto no se reanudará al iniciar la aplicación - El reproductor corto se reanudará al iniciar 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 Habilitar diseño de tablet @@ -976,7 +988,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar botones de omitir hacia adelante y atrás Saltar adelante y atrás están ocultos Saltar adelante y atrás se muestran - Overlay opacity + Opacidad de la capa superpuesta Valor de potencia entre 0-100, donde 0 es transparente Opacidad de reproductor debe estar en 0 -100 @@ -994,7 +1006,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Valor de color de la barra de búsqueda inválido. Usando el valor por defecto. - Restricciones de región de imagen bypass + Evitar restricción regional de imágenes Usando host de imagen yt4.ggpht.com Utilizando el host de imágenes original\n\nHabilitar esto puede arreglar las imágenes faltantes que están bloqueadas en algunas regiones @@ -1040,6 +1052,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Advertencia + Tu historial no está siendo guardado.<br><br>Esto puede ser por un bloqueador de anuncios DNS o Proxy.<br><br>Para arreglarlo, permita el dominio <b>s.youtube.com</b> o desactive el bloqueador DNS o Proxy. No mostrar de nuevo @@ -1116,35 +1129,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Deslizar para buscar está activado Slide to seek no está habilitado - - Cliente Spoof - Fusiona al cliente para evitar problemas de reproducción - Cliente Spoof - Cliente falseado - El cliente no está falsificado\n\nEs posible que la reproducción de vídeo no funcione - Desactivar esta configuración puede causar problemas de reproducción de vídeo. - Spoof cliente a iOS - El cliente está actualmente falseado a iOS\n\nLos efectos laterales incluyen:\n• El vídeo HDR puede no estar disponible\n• El historial de visualización no funciona con una cuenta de marca - El cliente está actualmente falseado a Android VR. Los efectos laterales incluyen:\n• No hay vídeo HDR\n• Los niños vídeos no se reproducirán\n• Los vídeos en pausa pueden reanudarse aleatoriamente\n• Las miniaturas de barras cortas de baja calidad\n• El botón de acción está oculto\n• Las tarjetas de pantalla final están ocultas - Las miniaturas del cliente de Spoof no están disponibles (API) - Las miniaturas del cliente Spoof temporalmente no están disponibles: %s - - - - Firma de aplicación Spoof - Espoya la firma de la aplicación para evitar problemas de reproducción - Firma de aplicación Spoof - La firma de la aplicación falseada\n\nLos efectos laterales incluyen:\n• La tasa de bits mejorada no está disponible\n• Los vídeos no se pueden descargar\n• No hay miniaturas en la barra de búsqueda para vídeos pagados - La firma de la aplicación no está falseada\n\nLa reproducción de vídeo puede no funcionar - Desactivar esta configuración causará problemas de reproducción de vídeo. - Spoof firma de aplicación en el feed - La firma de la aplicación está falseada\n\nLos efectos laterales incluyen:\n• Los vídeos alimentarios no tienen subtítulos\n• Los vídeos reproducidos automáticamente se mostrarán en tu historial de relojes - Firma de la aplicación no simulada para videos de feed\n\nLos vídeos alimentarios se reproducirán durante menos de 1 minuto antes de encontrar problemas de reproducción - Cuadro de historias - Cuadro de historias falseado - El storyboard no está falseado\n\nLos efectos laterales incluyen:\n• Sin modo ambiente\n• Las miniaturas de la barra de búsqueda están ocultas - El storyboard espía no está disponible temporalmente (API) - El storyboard espía no está disponible temporalmente: %s + + Flujos de video espía + Espoya los flujos de vídeo del cliente para evitar problemas de reproducción + Flujos de video espía + Los flujos de vídeo están falsificados + Los streams de vídeo no están falseados\n\nLa reproducción de vídeo puede no funcionar + Desactivar esta configuración puede causar problemas de reproducción de vídeo. + Cliente por defecto + Forzar AVC (H.264) + Codec de vídeo AVC (H.264) + El códec de vídeo es VP9 o AV1 + Su dispositivo no tiene decodificación de hardware VP9, y esta configuración siempre está encendida cuando el cliente spoofing está habilitado + Activar esto puede mejorar la vida de la batería y corregir el retraso en la reproducción.\n\nAVC tiene una resolución máxima de 1080p, y la reproducción de vídeo utilizará más datos de Internet que VP9 o AV1. + Efectos secundarios para falseo de iOS + • Las películas o los vídeos de pago no pueden reproducir\n• Las imágenes comienzan desde el principio + Efectos secundarios de falsear RV de Android + • Falta el menú de pista de audio diff --git a/src/main/resources/addresources/values-es-rMX/strings.xml b/src/main/resources/addresources/values-es-rMX/strings.xml deleted file mode 100644 index f252f8524..000000000 --- a/src/main/resources/addresources/values-es-rMX/strings.xml +++ /dev/null @@ -1,1206 +0,0 @@ - - - - - - ReVanced - ¿Como quisieras continuar? - Reiniciar - Refrescar y reiniciar - Reiniciar - Importar - Copiar - Ajustes de ReVanced reestablecidos a por defecto - Importar ajustes %d - Importación fallida: %s - - - - MicroG GmsCore no está instalado. Instálala. - Acción necesaria - MicroG GmsCore no tiene permiso para ejecutarse en segundo plano.\n\nSigue la guía \"Don\'t kill my app\" para tu teléfono y aplica las instrucciones a tu instalación de MicroG.\n\nEsto es necesario para que la aplicación funcione. - Abrir sitio web - Las optimizaciones de la batería de MicroG GmsCore deben estar deshabilitadas para evitar problemas.\n\nPulse el botón continuar y desactive las optimizaciones de la batería. - Continuar - - - - - ReVanced - Estás usando la versión de ReVanced Patches <i>%s</i> - Nota - Esta versión es un pre-lanzamiento y puede que experimentes problemas inesperados - Enlaces oficiales - Importar / Exportar - Importar / Exportar ajustes de ReVanced - - - Acerca de - Anuncios - Miniaturas alternativas - Pagina Principal - Reproductor - Diseño general - Shorts - Barra de búsqueda - Controles de deslizamiento - Misc - Vídeo - - - Depuración - Activar o desactivar opciones de depuración - Registro de depuración - Los registros de depuración están activados - Los registros de depuración están desactivados - Búfer de protocolo de registro - Los registros de depuración incluyen proto buffer - Los registros de depuración no incluyen proto buffer - Registrar rastros de pila - Los registros de depuración incluyen seguimiento de pila - Los registros de depuración no incluyen seguimiento de pila - Mostrar un mensaje emergente en caso de error de ReVanced - Se muestra un mensaje emergente si ocurre un error - No se muestra un mensaje emergente si ocurre un error - Al desactivar los mensajes de error se ocultan todas las notificaciones de errores de ReVanced.\n\nNo se le notificará ningún evento inesperado. - - - Desactivar como / botón de suscripción brillo - El botón de \"Me gusta\" y \"suscribir\" no brillará cuando se mencione - El botón de \"Me gusta\" y \"Suscribir\" brillará cuando se mencione - Ocultar separador gris - Los separadores grises están ocultos - Se muestran separadores grises - Ocultar marcar de agua del canal - La marca de agua está oculta - La marca de agua se muestra - Ocultar shelves horizontales - Los estantes están ocultos como:\n• Romper noticias\n• Continuar viendo\n• Explorar más canales\n• Comprar\n• Verlo de nuevo - Se muestran las estanterías - - Ocultar botón \'Unirse\' - El botón está oculto - El botón de muestra - - Ocultar shelf \'Para ti\' en la página del canal - Panel ocultó - Se muestra el panel - - Ocultar el botón \'Notificarme\' - El botón está oculto - El botón de muestra - - Ocultar recomendaciones \"Personas también observadas\" - Las recomendaciones están ocultas - Se muestran las recomendaciones - - Ocultar botón \'Mostrar más\' - El botón está oculto - El botón de muestra - Ocultar reacciones cronometradas - Las reacciones cronometradas están ocultas - Se muestran las reacciones cronometradas - Ocultar la cabecera de la estantería de resultados - El encabezado del estante está oculto - Se muestra el encabezado del estante - Ocultar directrices de canales - Las directrices del canal están ocultas - Se muestran las directrices del canal - Ocultar chip expandible en videos - Las fichas expandibles están ocultas - Se muestran fichas expandibles - Ocultar pie de página del menú de calidad de vídeo - Pie de menú de calidad de vídeo oculto - El pie del menú de calidad de vídeo se muestra - Ocultar mensajes comunitarios - Los mensajes de la comunidad están ocultos - Se muestran las publicaciones de la comunidad - Ocultar banners compactos - Los banners de pacto están ocultos - Se muestran los banners compactos - Ocultar sección de películas - La sección de películas está oculta - Se muestra la sección de películas - Ocultar encuestas - Las encuestas de la fuente están ocultas - Se muestran encuestas de la fuente - Ocultar directrices comunitarias - Las directrices comunitarias están ocultas - Se muestran las directrices comunitarias - Ocultar directrices de la comunidad de suscriptores - Las directrices comunitarias de los suscriptores están ocultas - Se muestran las pautas de la comunidad de suscriptores - Ocultar shelf del miembro del canal - La shelf del miembro del canal está oculta - Se muestra la shelf del miembro del canal - Ocultar cajas de emergencia - Las cajas de emergencia están ocultas - Se muestran cajas de emergencia - Ocultar paneles de información - Los paneles de información están ocultos - Los paneles de información se muestran - Ocultar paneles médicos - Los paneles médicos están ocultos - Se muestran paneles médicos - Ocultar barra de canal - Barra de canales oculta - Barra de canales mostrada - Ocultar reproducibles - Los reproductores están ocultos - Se muestran los reproductores - Ocultar acciones rápidas en pantalla completa - Las acciones rápidas están ocultas - Se muestran acciones rápidas - Ocultar vídeos relacionados en acciones rápidas - Vídeos relacionados están ocultos - Vídeos relacionados se muestran - Ocultar la imagen en los resultados de búsqueda - El shelf de la imagen está oculto - Pantalla de imagen mostrada - Ocultar últimos mensajes - Los últimos mensajes están ocultos - Se muestran los últimos mensajes - Ocultar listas de mezcla - Las listas de reproducción mixtas están ocultas - Mezclar listas de reproducción son mostradas - Ocultar tarjetas de artistas - Las tarjetas de artistas están ocultas - Se muestran las tarjetas del artista - Ocultar shelf de fichas - La shelf de chips está oculta - Se muestra la shelf de chips - Ocultar sección de atributos - \'Lugares destacados\', Las secciones de juegos y música están ocultas - \'Lugares destacados\', Se muestran las secciones de juegos y música - Ocultar sección de capítulos - La sección de capítulos está oculta - Se muestra la sección de capítulos - Ocultar la sección \'Explorar el podcast\' - La sección \'Explorar el podcast\' está oculta - Se muestra la sección \'Explorar el podcast\' - Ocultar sección de tarjetas de información - La sección de tarjetas de información está oculta - Se muestra la sección de tarjetas de información - Ocultar sección de transcripción - La sección transcripción está oculta - Se muestra la sección transcripción - Descripción del vídeo - Ocultar o mostrar componentes de descripción de vídeo - Filtro personalizado - Ocultar componentes usando filtros personalizados - Activar filtro personalizado - Filtro personalizado activado - Filtro personalizado desactivado - Filtro personalizado - - Lista de cadenas del constructor de rutas del componente para filtrar separadas por una nueva línea - Filtro personalizado no válido: %s - Ocultar contenido de palabra clave - Ocultar videos de búsqueda y feed usando filtros de palabras clave - Ocultar videos domésticos por palabras clave - Los videos en la pestaña de inicio son filtrados por palabras clave - Los videos en la pestaña de inicio no son filtrados por palabras clave - Ocultar vídeos de suscripción por palabras clave - Los videos en la pestaña de suscripciones son filtrados por palabras clave - Los videos en la pestaña de suscripciones no son filtrados por palabras clave - Ocultar resultados de búsqueda por palabras clave - Los resultados de la búsqueda son filtrados por palabras clave - Los resultados de la búsqueda no son filtrados por palabras clave - Palabras clave a ocultar - - Palabras clave y frases para ocultar, separadas por nuevas líneas\n\nLas palabras con letras mayúsculas en el centro deben ser ingresadas con la caja (por ejemplo: iPhone, TikTok, LeBlanc) - Acerca del filtrado de palabras clave - Los resultados de inicio/suscripción/búsqueda se filtran para ocultar contenido que coincide con las frases de palabras clave\n\nLimitaciones\n• Algunos cortos pueden no estar ocultos\n• Algunos componentes de la interfaz pueden no estar ocultos\n• Buscar una palabra clave no puede mostrar resultados - - Clave inválida. No se puede usar \'%s\' como filtro - - Clave inválida. \'%1$s\' es menor que %2$d caracteres - La palabra clave \'$s\' oculta todos los vídeos - - - Ocultar anuncios generales - Los anuncios generales están ocultos - Se muestran anuncios generales - Ocultar anuncios a pantalla completa - Los anuncios a pantalla completa están ocultos\n\nEsta función solo está disponible para dispositivos más antiguos - Se muestran anuncios a pantalla completa - Ocultar anuncios botonados - Los anuncios bloqueados están ocultos - Se muestran anuncios botonados - Ocultar etiqueta de promoción de pago - Etiqueta de promoción pagada está oculta - Etiqueta de promoción pagada se muestra - Ocultar tarjetas autopatrocinadas - Las tarjetas autopatrocinadas están ocultas - Se muestran las tarjetas autopatrocinadas - Ocultar banner para ver los productos - Banner oculto - Banner mostrado - Ocultar enlaces de compras en la descripción de vídeo - Enlaces de compras están ocultos - Se muestran enlaces de compras - - Ocultar el botón \'Visitar tienda\' en las páginas del canal - El botón está oculto - El botón de muestra - Ocultar resultados de búsqueda web - Los resultados de búsqueda web están ocultos - Se muestran los resultados de la búsqueda web - Ocultar banners de mercandise - Los banners de mercadería están ocultos - Se muestran los banners de Mercandise - - Ocultar anuncios a pantalla completa sólo funciona con dispositivos antiguos - - - Ocultar promociones de YouTube Premium - Las promociones de YouTube Premium en el reproductor de vídeo están ocultas - Se muestran las promociones de YouTube Premium en el reproductor de vídeo - - - Ocultar video anuncios - Los anuncios de vídeo están ocultos - Los anuncios de vídeo se muestran - - - URL copiada al portapapeles - URL con marca de tiempo copiada - Mostrar botón URL de copia de vídeo - El botón se muestra. Toque para copiar la URL del vídeo. Mantenga pulsado para copiar la URL del vídeo con la marca de tiempo - El botón no se muestra - Mostrar botón URL de la marca de tiempo - El botón se muestra. Toque para copiar la URL del vídeo con la marca de tiempo. Toque y mantenga pulsado para copiar el vídeo sin marca de tiempo - El botón no se muestra - - - Eliminar diálogo de discreción del visor - Se eliminará el diálogo - Se mostrará el diálogo - Esto no pasa por alto la restricción de edad, sino que simplemente la acepta automáticamente. - - - Descarga externa - Configuración para el uso de un descargador externo - Mostrar botón externo de descarga - Botón de descarga mostrado en el reproductor - Botón de descarga no mostrado en el reproductor - - Reemplazar el botón de descarga - El botón de descarga abre su descarga externa - El botón de descarga abre el descargador nativo en la aplicación - Nombre del paquete del descargado - Nombre del paquete de su aplicación de descarga externa instalada, como NewPipe o Seal - %s no está instalado. Instálalo. - - - Desactivar gesto de búsqueda preciso - El gesto está desactivado - Gesto habilitado - - - Habilitar toque en la barra de búsqueda - Seekbar toping está habilitado - Seekbar toping está desactivado - - - Activar gesto de brillo - Deslizar brillo está habilitado - Deslizar brillo está desactivado - Activar gesto de volumen - Deslizar volumen está habilitado - Deslizar volumen está desactivado - Activar gesto de pulsar para deslizar - Pulsar para deslizar está habilitado - Pulsar para deslizar está desactivado - Activar respuesta háptica - Comentarios hápticos habilitados - Respuesta háptica deshabilitada - Guardar y restaurar brillo - Guardar y restaurar brillo al salir o entrar en pantalla completa - No guardar ni restaurar brillo al salir o entrar en pantalla completa - Activar gesto de brillo automático - Deslizar hacia abajo hasta el valor más bajo del gesto de brillo permite el brillo automático - Deslizar hacia abajo hasta el valor más bajo no habilita el brillo automático - Auto - Tiempo de espera del deslizado - La cantidad de milisegundos que la superposición es visible - Deslizar tamaño de texto superpuesto - El tamaño del texto para la capa de deslizamiento - Deslizar visibilidad de fondo - Visibilidad del fondo del deslizamiento - Umbral de magnitud del deslizamiento - La cantidad de umbral para que se desliza - - - Desactivar auto subtítulos - Los títulos automáticos están desactivados - Los títulos automáticos están habilitados - - - Botones de acción - Ocultar o mostrar botones en videos - Ocultar me gusta y no me gusta - Botones \"Me gusta\" y \"no me gusta\" están ocultos - Se muestran botones \"Me gusta\" y \"no me gusta\" - - Ocultar Compartir - El botón Compartir está oculto - Se muestra el botón Compartir - - Ocultar informe - El botón Reportar está oculto - Se muestra el botón Reportar - - Ocultar Remix - El botón Remix está oculto - Se muestra el botón Remix - - Ocultar descarga - El botón de descarga está oculto - Se muestra el botón de descarga - - Ocultar Gracias - El botón de gracias está oculto - Se muestra el botón de gracias - - Ocultar Recortar - El botón del recortar está oculto - Se muestra el botón de clip - - Ocultar Guardar en lista - El botón Guardar a la lista de reproducción está oculto - Mostrar el botón Guardar a la lista - - - Ocultar botón de reproducción automática - El botón de reproducción automática está oculto - Se muestra el botón de reproducción automática - - - - Ocultar botón de subtítulos - Botón de subtítulos oculto - Botón de subtítulos mostrado - - - Ocultar botón de reparto - El botón de trasmitir se encuentra oculto - El botón de trasmitir está visible - - - Navigation buttons - Ocultar o cambiar botones en la barra de navegación - - Ocultar Inicio - El botón de inicio está oculto - Se muestra el botón de inicio - - Ocultar breves - Botón corto oculto - Se muestra el botón de breves - - Ocultar Crear - El botón Crear está oculto - Se muestra el botón de crear - - Ocultar suscripciones - El botón de suscripciones está oculto - Se muestra el botón de suscripciones - - Cambiar Create con notificaciones - El botón Crear cambia con el botón de Notificaciones\n\nNota: Activar esto también oculta anuncios de vídeo por la fuerza - El botón Crear no se cambia con el botón de notificaciones - Ocultar etiquetas de botón de navegación - Las etiquetas están ocultas - Las etiquetas se muestran - - - Flyout menu - Ocultar o mostrar elementos del menú de vuelo del jugador - - Ocultar leyendas - Menú de subtítulos oculto - Menú de subtítulos mostrado - - Ocultar ajustes adicionales - Menú de configuración adicional oculto - Se muestra el menú de configuración adicional - - Ocultar video de bucle - El menú de video Loop está oculto - El menú de Loop video se muestra - - Ocultar modo ambiente - Menú de modo ambiente oculto - Se muestra el menú de modo ambiente - - Ocultar Ayuda & Comentarios - El menú de ayuda & comentarios está oculto - Se muestra el menú Ayuda & comentarios - - Ocultar velocidad de reproducción - Menú de velocidad de reproducción oculto - Mostrar menú de velocidad de reproducción - - Ocultar más información - El menú de más información está oculto - Se muestra el menú de más información - - Ocultar pantalla de bloqueo - El menú de la pantalla de bloqueo está oculto - Se muestra el menú de pantalla de bloqueo - - Ocultar pista de audio - El menú de pista de audio está oculto - El menú de pista de audio se muestra - - Ocultar reloj en VR - Ver en el menú VR está oculto - Ver en el menú VR se muestra - - - Ocultar botones de vídeo anteriores & siguiente - Los botones están ocultos - Los botones se muestran - - - Ocultar álbumes - Las tarjetas de álbum están ocultas - Se muestran las tarjetas de álbum - - - Comentarios - Ocultar o mostrar los componentes de sección de comentarios - Ocultar encabezado \'Comentarios por miembros\' - El encabezado \'Comentarios por miembros\' está oculto - La cabecera \'Comentarios por miembros\' se muestra - Ocultar sección de comentarios - La sección de comentarios está oculta - Sección de comentarios mostrada - Ocultar botón \'Crear un corto\' - El botón \'Crear un corto\' está oculto - Se muestra el botón \'Crear un corto\' - Ocultar comentario de vista previa - El comentario de la vista previa está oculto - Vista previa del comentario se muestra - Ocultar botón de gracias - El botón de gracias está oculto - Se muestra el botón de gracias - Ocultar botones de hora y emoji - Botones Timestamp y emoji están ocultos - Se muestran los botones Timestamp y emoji - - - Ocultar caja de recaudación - La caja de Crowdfunding está oculta - Se muestra la caja de Crowdfunding - - - Ocultar tarjetas de pantalla final - Las tarjetas de pantalla de fin están ocultas - Se muestran las tarjetas de la pantalla final - - - Barra de filtros - Ocultar o mostrar la barra de filtros en el feed, la búsqueda y vídeos relacionados - Ocultar en el feed - Escondido en el feed - Mostrar en el feed - Ocultar en búsqueda - Oculto en la búsqueda - Mostrar en búsqueda - Ocultar en vídeos relacionados - Escondido en videos relacionados - Mostrar en vídeos relacionados - - - Ocultar botón de micrófono flotante - Botón de micrófono oculto - Botón del micrófono mostrado - - - Desactivar el modo ambiente en pantalla completa - Modo ambiente desactivado - Modo ambiente activado - - - Ocultar tarjetas de información - Las tarjetas de información están ocultas - Se muestran las tarjetas de información - - - Desactivar animaciones de número de rodamiento - Los números de registro no están animados - Los números de registro son animados - - - Ocultar barra de búsqueda en el reproductor de vídeo - La barra de búsqueda del reproductor de vídeo está oculta - La barra de búsqueda del reproductor de vídeo se muestra - Ocultar barra de búsqueda en miniaturas de vídeo - La barra de búsqueda de miniaturas está oculta - La barra de búsqueda de miniaturas se muestra - - - - Ocultar breves en el feed de inicio - Los cortos en la alimentación de inicio están ocultos - Se muestran los cortos en la alimentación de inicio - - Ocultar breves en el feed de suscripción - Los cortos en el feed de suscripción están ocultos - Se muestran los cortos en el feed de suscripción - Ocultar breves en los resultados de búsqueda - Los breves resultados de búsqueda están ocultos - Se muestran breves en los resultados de búsqueda - - Ocultar botón de unirse - Botón de unión oculto - Se muestra el botón de unirse - - Ocultar botón de suscripción - El botón de suscripción está oculto - Se muestra el botón de suscripción - Ocultar botones de superposición en pausa - Los botones de superposición pausados están ocultos - Se muestran los botones de superposición pausados - Ocultar botón de tienda - El botón de la tienda está oculto - Se muestra el botón de la tienda - Ocultar botón de súper gracias - El botón de súper gracias está oculto - Se muestra el botón de supergracias - Ocultar productos etiquetados - Los productos etiquetados están ocultos - Los productos etiquetados se muestran - Ocultar etiqueta de ubicación - Etiqueta de ubicación oculta - Etiqueta de ubicación mostrada - Ocultar sonido guardado al botón de lista de reproducción - Guardar sonido en lista de reproducción está oculto - Guardar sonido en la lista de reproducción se muestra - Ocultar sugerencias de búsqueda - Las sugerencias de búsqueda están ocultas - Se muestran sugerencias de búsqueda - Ocultar botón me gusta - El botón Me gusta está oculto - Se muestra el botón Me Gusta - Ocultar botón no me gusta - El botón no me gusta está oculto - El botón no me gusta se muestra - Ocultar botón de comentarios - El botón de comentarios está oculto - Se muestra el botón de comentarios - - Ocultar botón de remezcla - El botón Remix está oculto - Se muestra el botón Remix - - Ocultar botón Compartir - El botón Compartir está oculto - Se muestra el botón Compartir - Ocultar panel de información - Panel de información oculto - Se muestra el panel de información - Ocultar barra de canal - Barra de canales oculta - Barra de canales mostrada - Ocultar título de vídeo - El título está oculto - El título se muestra - Ocultar etiqueta de metadatos de sonido - Etiqueta de metadatos oculta - Etiqueta de metadatos mostrada - Ocultar etiqueta de enlace de vídeo completo - Etiqueta de enlace de vídeo oculto - Etiqueta de enlace de vídeo mostrada - Ocultar botón de sonido - Botón de sonido oculto - Se muestra el botón de sonido - Ocultar barra de navegación - Barra de navegación oculta - Se muestra la barra de navegación - - - Desactivar pantalla de final de vídeo sugerida - Vídeos sugeridos serán desactivados - Se mostrarán vídeos sugeridos - - - Ocultar fecha y hora de vídeo - Marca de tiempo oculta - Marca de tiempo mostrada - - - Ocultar paneles emergentes del jugador - Los paneles emergentes del jugador están ocultos - Se muestran paneles emergentes del jugador - - - Opacidad de superposición del jugador - Valor de potencia entre 0-100, donde 0 es transparente - Opacidad de superposición del jugador debe estar entre 0-100 - - - Hidden - - No me gusta no disponibles temp. (API expirada) - Dislikes no disponibles (estado %d) - No me gusta no disponibles (límite de API alcanzado) - Dislikes no disponibles (%s) - - Recargar vídeo para votar usando Return YouTube Dislike - Dislikes son mostrados - No se muestran Dislikes - Mostrar no me gusta en Shorts - Dislikes mostrados en Shorts - Dislikes mostrados en Cortos\n\nLimitación: Las Dislikes no pueden aparecer en modo incógnito - Dislikes ocultos en Shorts - Desliza como porcentaje - Dislikes mostrados como porcentaje - Dislikes mostrados como número - - Botón de compacto - Botón \"Me gusta\" para el ancho mínimo - Botón \"Me gusta\" para una mejor apariencia - Mostrar un brindis si la API no está disponible - Toast se muestra si Devolución de YouTube Dislike no está disponible - Toast no se muestra si Devolución de YouTube Dislike no está disponible - Acerca de - Los datos son proporcionados por la API de Retorno de YouTube. Pulse aquí para aprender más - - Devuelve las estadísticas de la API de este dispositivo - Tiempo de respuesta de la API, promedio - Tiempo de respuesta de API, mínimo - Tiempo de respuesta de la API, máximo - Tiempo de respuesta API, último vídeo - Dislikes temporalmente no disponible - Límite de tasa de cliente API en efecto - Votaciones de la API, número de llamadas - No hay llamadas de red - Llamadas de red %d realizadas - Votos de búsqueda de API, número de tiempos de espera - No hay llamadas de red agotadas - Tiempo de espera de llamadas de red %d - Límites de velocidad del cliente API - No se encontraron límites de tasa de clientes - Límite de tasa de cliente encontrado %d veces - %d milisegundos - - - Habilitar barra de búsqueda ancha - Barra de búsqueda ancha habilitada - Barra de búsqueda ancha desactivada - - - Restaurar antiguas miniaturas de la barra de búsqueda - Las miniaturas de la barra de búsqueda aparecerán por encima de la barra de búsqueda - Las miniaturas de Seekbar aparecerán en pantalla completa - - - Activar SponsorBlock - SponsorBlock es un sistema de fuentes múltiples para omitir partes molestas de vídeos de YouTube - Apariencia - Mostrar botón de voto - Se muestra el botón de voto del segmento - El botón de voto del segmento no se muestra - - Usar botón compacto de saltar - Omitir botón con estilo para el ancho mínimo - Omitir botón con estilo para la mejor apariencia - Ocultar automáticamente el botón omitir - Omitir botón se oculta después de unos segundos - Saltar botón mostrado para todo el segmento - Mostrar un brindis al saltar automáticamente - Toast se muestra cuando un segmento se omite automáticamente. Pulse aquí para ver un ejemplo - Toast no se muestra. Toque aquí para ver un ejemplo - Mostrar longitud de vídeo sin segmentos - Longitud del vídeo menos todos los segmentos, mostrados en paréntesis junto a la longitud completa del vídeo - Longitud completa del vídeo mostrada - Creando nuevos segmentos - Mostrar botón crear nuevo segmento - Se muestra el botón de crear un nuevo segmento - No se muestra el botón de crear un nuevo segmento - Ajustar nuevo paso de segmento - Número de milisegundos que los botones de ajuste de tiempo se mueven al crear nuevos segmentos - El valor debe ser un número positivo - Ver pautas - Las directrices contienen reglas y consejos para crear nuevos segmentos - Siga las pautas - Lee las directrices de SponsorBlock antes de crear nuevos segmentos - Ya leido - Muéstrame - General - Mostrar un brindis si la API no está disponible - Toast se muestra si SponsorBlock no está disponible - Toast no se muestra si SponsorBlock no está disponible - Habilitar rastreo del conteo de saltos - Permite que la tabla de clasificación de SponsorBlock sepa cuánto tiempo se ha ahorrado. Un mensaje se envía al tablero de clasificación cada vez que se omite un segmento - El rastreo del conteo de saltos no está habilitado - Duración mínima del segmento - Los segmentos más cortos que este valor (en segundos) no se mostrarán o se omitirán - Tu id de usuario privado - Esto debería mantenerse en privado. Esto es como una contraseña y no debe ser compartido con nadie. Si alguien tiene esto, puede suplantarte - El id de usuario privado debe tener al menos 30 caracteres - Cambiar URL API - La dirección que SponsorBlock utiliza para hacer llamadas al servidor - API URL reset - La URL de API no es válida - URL de API cambiada - Importar / Exportar ajustes - Copiar - Su configuración JSON de SponsorBlock que puede importarse/exportarse a ReVanced y otras plataformas SponsorBlock - Su configuración JSON de SponsorBlock que puede importarse/exportarse a ReVanced y otras plataformas SponsorBlock. Esto incluye tu id de usuario privado. Asegúrate de compartirlo sabiamente - Configuración importada correctamente - Error al importar: %s - Error al exportar: %s - Tu configuración contiene un usuario privado de SponsorBlock.\n\nTu id de usuario es como una contraseña y nunca debe ser compartida.\n - No mostrar de nuevo - Cambiar comportamiento del segmento - Patrocinador - Promoción pagada, referencias pagadas y anuncios directos. No para autopromoción o gritos gratuitos a causas/creadores/sitios web/productos que les gustan - Promover no pagado/autoestima - Similar a \'Patrocinador\' excepto por falta de pago o autopromoción. Incluye secciones sobre meritud, donaciones o información sobre con quién colaboraron - Recordatorio de interacción (enviar) - Un pequeño recordatorio para gustar, suscribirse o seguirlos en medio del contenido. Si es largo o sobre algo específico, debería estar bajo autopromoción - Resaltar - La parte del vídeo que la mayoría de la gente está buscando - Intermisión/Animación de introducción - Un intervalo sin contenido real. Podría ser una pausa, marco estático o animación de repetición. No incluye transiciones que contengan información - Tarjetas/Créditos - Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información - Vista previa/Recapitular/Juego - Colección de clips que muestran lo que viene o lo que pasó en el vídeo o en otros videos de una serie, donde toda la información se repite en otro lugar - Rellenar tangente/chistes - Escenas tangenciales añadidas sólo para relleno o humor que no están obligadas a entender el contenido principal del vídeo. No incluye segmentos proporcionando detalles de contexto o fondo - Música: Sección no musical - Sólo para usar en vídeos de música. Secciones de vídeos de música sin música, que no están cubiertas por otra categoría - Saltar - Resaltar - Saltar patrocinador - Saltar promoción - Saltar interacción - Omitir a resaltado - Saltar intro - Omitir intermisión - Omitir intermisión - Skip outro - Saltar vista previa - Saltar vista previa - Saltar resumen - Saltar relleno - Omitir no música - Saltar segmento - Patrocinador omitido - Autopromoción omitida - Recordatorio omitido - Saltado a destacar - Intro omitido - Intermisión omitida - Intermisión omitida - Saltar outro - Vista previa omitida - Vista previa omitida - Resumen omitido - Relleno omitido - Se omitió una sección de no-música - Se omitió el segmento no enviado - Se omitieron varios segmentos - Saltar automáticamente - Saltar automáticamente una vez - Mostrar un botón saltar - Mostrar en la barra de búsqueda - Desactivar - No se puede enviar el segmento: %s - SponsorBlock está temporalmente abajo - No se puede enviar el segmento (estado: %1$d %2$s) - No se puede enviar el segmento.\nTasa limitada (demasiados usuarios o IP) - No se puede enviar el segmento: %s - No se puede enviar el segmento.\nYa existe - Segmento enviado correctamente - - SponsorBlock temporalmente no está disponible (API) - SponsorBlock temporalmente no disponible (estado %d) - SponsorBlock temporalmente no está disponible - No se puede votar por el segmento (API) - No se puede votar por el segmento (estado: %1$d %2$s) - No se puede votar por el segmento: %s - Upvote - Bajar voto - Cambiar categoría - No hay segmentos para votar - Elegir la categoría del segmento - Categoría desactivada en ajustes. Activa categoría para enviar. - Nuevo segmento de SponsorBlock - - Establecer %1$02d:%2$02d:%3$03d como inicio o final de un nuevo segmento? - empezar - fin - ahora - Tiempo que el segmento comienza en - Tiempo que el segmento termina en - ¿Son correctos los tiempos? - - El segmento es desde\n\n%1$s\nhasta\n%2$s\n\n(%3$s)\n\n¿Listo para enviarlo? - Inicio debe ser antes del final - Marca dos ubicaciones en barra de tiempo - Previsualizar el segmento y asegurarse de que se salta sin problemas - Editar temporización del segmento manualmente - ¿Quiere editar el cronograma para el inicio o fin del segmento? - Tiempo dado no válido - Estadísticas - - Estadísticas temporalmente no disponibles (API está caída) - Cargando... - SponsorBlock está desactivado - Tu nombre de usuario: <b>%s</b> - Pulsa aquí para cambiar tu nombre de usuario - No se puede cambiar el nombre de usuario: %1$d %2$s - Nombre de usuario cambiado correctamente - Tu reputación es <b>%.2f</b> - Has creado segmentos <b>%s</b> - Tabla de clasificación de SponsorBlock - Has salvado personas de segmentos <b>%s</b> - Pulsa aquí para ver las estadísticas globales y los mejores colaboradores - Eso es <b>%s</b> de sus vidas.<br>Toca aquí para ver la tabla de clasificación - Te has saltado segmentos <b>%s</b> - Eso es <b>%s</b> - ¿Restablecer contador de segmentos saltados? - %1$s horas %2$s minutos - %1$s minutos %2$s segundos - %s segundos - Color: - Color cambiado - Reinicio de color - Código de color inválido - Reiniciar color - Reiniciar - Acerca de - Los datos son proporcionados por la API de SponsorBlock. Pulsa aquí para aprender más y ver las descargas de otras plataformas - - - Versión de la aplicación Spoof - Versión falseada - Versión no falseada - La versión de la aplicación será suplantada por una versión anterior de YouTube.\n\nEsto cambiará la apariencia y las funciones de la aplicación, pero pueden ocurrir efectos secundarios desconocidos.\n\nSi luego se desactiva, se recomienda borrar los datos de la aplicación para prevenir errores de interfaz de usuario. - - Destino de versión de la aplicación Spoof - - 18.33.40 - Restaurar RYD en modo incógnito cortos - 18.20.39 - Restaurar la velocidad de vídeo ancha & menú de calidad - 18.09.39 - Restaurar pestaña de biblioteca - 17.41.37 - Restaurar la vieja lista de reproducción shelf - 17.33.42 - Restaurar la disposición antigua de la interfaz de usuario - - - Establecer página de inicio - Por defecto - - Inicio - Buscar - - Suscripciones - Explorar - Shorts - - Pestaña - Vídeos gustados - - Historial - Tendencias - - - Desactivar reanudación del reproductor - El reproductor corto no se reanudará al iniciar la aplicación - El reproductor corto se reanudará al iniciar la aplicación - - - Habilitar diseño de tablet - Diseño de tablet habilitado - Diseño de tablet deshabilitado - Los mensajes de la comunidad no se muestran en los diseños de tablet - - - Minijugador - Cambiar el estilo del reproductor minimizado de la aplicación - Tipo de minijugador - Original - Teléfono - Tablet - Moderna 1 - Moderna 2 - Moderna 3 - Ocultar botones de expansión y cierre - Los botones están ocultos\n(desliza el minijugador para expandir o cerrar) - Mostrar los botones de ampliación y cierre - Ocultar subtextos - Los subtextos están ocultos - Los subtextos se muestran - Ocultar botones de omitir hacia adelante y atrás - Saltar adelante y atrás están ocultos - Saltar adelante y atrás se muestran - Overlay opacity - Valor de potencia entre 0-100, donde 0 es transparente - La opacidad de superposición del Miniplayer debe estar entre 0-100 - - - Activar la pantalla de carga del degradado - La pantalla de carga tendrá un fondo de degradado - La pantalla de carga tendrá un fondo sólido - - - Activar el color personalizado de la barra de búsqueda - Se muestra el color personalizado de la barra de búsqueda - Se muestra el color original de la barra de búsqueda - Color personalizado de la barra de búsqueda - El color de la barra de ajustes - Color de barra de b. inválido. Usando por defecto. - - - - Pestaña - - Pestaña de suscripción - - Pestaña - Listas de reproducción, recomendaciones - Resultados de búsqueda - Original thumbnails - Deflecha & miniaturas originales - Flecha & Todavía capturas - Sigue capturando - DeFlecha proporciona miniaturas de origen crowd para vídeos de YouTube. Estas uñas suelen ser más relevantes que las proporcionadas por YouTube\n\nSi están activadas, las URL de vídeo se enviarán al servidor API y no se enviarán otros datos. Si un video no tiene miniaturas de Flecha Deprimida, entonces las capturas originales o todavía se muestran\n\nPulsa aquí para aprender más sobre DeFlecha - Mostrar un brindis si la API no está disponible - Toast se muestra si DeFlecha no está disponible - Toast no se muestra si DeFlecha no está disponible - DeArrow API endpoint - La URL del final de la caché en miniatura de DeArrow - Todavía captura de vídeo - Las capturas se toman desde el principio/medio/final de cada vídeo. Estas imágenes están incorporadas en YouTube y no se utiliza ninguna API externa - Usar capturas aún rápidas - Usar captura de calidad media todavía. Las miniaturas se cargarán más rápido, pero streams en vivo, no liberados o vídeos muy antiguos pueden mostrar miniaturas en blanco - Usando capturas de alta calidad - Tiempo de vídeo desde el que tomar aún las capturas - Inicio del vídeo - Medio del vídeo - Fin del vídeo - - DeArrow temporalmente no disponible (código estado: %s) - DeFlecha temporalmente no disponible - - - Mostrar anuncios revalorizados - Los anuncios se muestran al iniciar - Los anuncios no se muestran al iniciar - Mostrar anuncios al iniciar - Error al conectar con el proveedor de anuncios - Descartar - - - Activar autorepetición - Auto-repetición habilitada - Auto-repetición desactivada - - - Dimensiones del dispositivo - Dimensiones del dispositivo falseadas\n\nCalidad de vídeo más alta puede ser desbloqueada, pero puede experimentar la reproducción de vídeo, peor duración de la batería y efectos secundarios desconocidos - Dimensiones del dispositivo no falseadas\n\nHabilitar esto puede desbloquear mayores calidades de vídeo - Activar esto puede causar retraso en la reproducción de vídeo, peor duración de la batería y efectos secundarios desconocidos. - - - Ajustes de GmsCore - Configuración de GmsCore - - - Redirecciones URL Bypass - Se omiten las redirecciones URL - No se omiten las redirecciones URL - - - Abrir enlaces en el navegador - Abriendo enlaces externamente - Abrir enlaces en la aplicación - - - Reproducción en segundo plano - Esta configuración se puede encontrar en Ajustes -> Fondo - - - Quitar parámetro de consulta de rastreo - Parámetro de la consulta de seguimiento se elimina de los enlaces - Parámetro de la consulta de seguimiento no se elimina de los enlaces - - - Desactivar hábitos de zoom - Hápticas desactivadas - Haptics están habilitados - - - Calidad automática - Recordar cambios de calidad de vídeo - Los cambios de calidad se aplican a todos los vídeos - Los cambios de calidad sólo se aplican al vídeo actual - Calidad de vídeo predeterminada en la red Wi-Fi - Calidad de vídeo predeterminada en la red móvil - móvil - wifi - Cambió la calidad predeterminada %1$s a: %2$s - - - Mostrar botón de diálogo de velocidad - El botón de muestra - El botón no se muestra - - - Velocidades de reproducción personalizadas - Añadir o cambiar las velocidades de reproducción disponibles - Velocidades personalizadas deben ser inferiores a %s. Usando predets. - Vels. de rep. personalizadas inválidas. Usando predets. - - - Recordar cambios de velocidad de reproducción - Los cambios de velocidad de reproducción se aplican a todos los vídeos - Los cambios de velocidad de reproducción sólo se aplican al vídeo actual - Velocidad de reproducción por defecto - Cambió la velocidad predeterminada a: %s - - - Restaurar menú de calidad de vídeo antiguo - Se muestra el antiguo menú de calidad de vídeo - El antiguo menú de calidad de vídeo no se muestra - - - Habilitar diapositiva para buscar - Deslizar para buscar está activado - Slide to seek no está habilitado - - - Cliente Spoof - Fusiona al cliente para evitar problemas de reproducción - Cliente Spoof - Cliente falseado - El cliente no está falsificado\n\nEs posible que la reproducción de vídeo no funcione - Desactivar esta configuración puede causar problemas de reproducción de vídeo. - Spoof cliente a iOS - El cliente está actualmente falseado a iOS\n\nLos efectos laterales incluyen:\n• No hay vídeo HDR\n• Es posible que el historial del reloj no funcione\n• Puede que falten más calidad de vídeo\n• Los streams en vivo no pueden reproducirse como audio solo\n• streams en vivo no disponibles en Android 8.0 - El cliente está actualmente falseado a Android VR\n\nLos efectos laterales incluyen:\n• No hay vídeo HDR\n• Los vídeos para niños no se reproducirán\n• Los vídeos en pausa pueden reanudarse aleatoriamente\n• Las miniaturas de barras cortas de baja calidad\n• El botón de descarga siempre está oculto\n• Las tarjetas de la pantalla final siempre están ocultas - Las miniaturas del cliente de Spoof no están disponibles (API) - Las miniaturas del cliente Spoof temporalmente no están disponibles: %s - - - - Firma de aplicación Spoof - Espoya la firma de la aplicación para evitar problemas de reproducción - Firma de aplicación Spoof - La firma de la aplicación falseada\n\nLos efectos laterales incluyen:\n• La tasa de bits mejorada no está disponible\n• Los vídeos no se pueden descargar\n• No hay miniaturas en la barra de búsqueda para vídeos pagados - La firma de la aplicación no está falseada\n\nLa reproducción de vídeo puede no funcionar - Desactivar esta configuración causará problemas de reproducción de vídeo. - Spoof firma de aplicación en el feed - La firma de la aplicación está falseada\n\nLos efectos laterales incluyen:\n• Los vídeos alimentarios no tienen subtítulos\n• Los vídeos reproducidos automáticamente se mostrarán en tu historial de relojes - Firma de la aplicación no simulada para videos de feed\n\nLos vídeos alimentarios se reproducirán durante menos de 1 minuto antes de encontrar problemas de reproducción - Cuadro de historias - Cuadro de historias falseado - El storyboard no está falseado\n\nLos efectos laterales incluyen:\n• Sin modo ambiente\n• Las miniaturas de la barra de búsqueda están ocultas - El storyboard espía no está disponible temporalmente (API) - El storyboard espía no está disponible temporalmente: %s - - - - Activar brillo HDR automático - Brillo automático HDR está habilitado - Brillo automático HDR está desactivado - - - - - Bloquear anuncios de audio - Anuncios de audio bloqueados - Anuncios de audio desbloqueados - - - %s no está disponible. Los anuncios pueden mostrarse. Intenta cambiar a otro bloqueador en ajustes. - El servidor %s devolvió un error. Puede haber anuncios. Intenta cambiar a otro bloqueador en la configuración. - Bloquear anuncios de vídeo incrustados - Desactivado - Proxy luminoso - Proxy MoradoAdBlock - - - Bloquear anuncios de vídeo - Los anuncios de vídeo están bloqueados - Los anuncios de vídeo están desbloqueados - - - mensaje eliminado - Mostrar mensajes borrados - No mostrar mensajes borrados - Ocultar mensajes eliminados detrás de un spoiler - Mostrar mensajes borrados como texto cruzado - - - Reclamar automáticamente los puntos de canal - Los puntos de canal se reclaman automáticamente - Los puntos de canal no se reclaman automáticamente - - - - Activar modo de depuración de Twitch - El modo de depuración de Twitch está habilitado (no recomendado) - El modo de depuración de Twitch está desactivado - - - Ajustes de ReVanced - Anuncios - Ajustes de bloqueo de anuncios - Chatear - Ajustes del chat - Otros - Ajustes multifuncionales - Ajustes generales - Otros ajustes - Anuncios del cliente - Anuncios del lado del servidor - Registro de depuración - Los registros de depuración están activados - Los registros de depuración están desactivados - - - diff --git a/src/main/resources/addresources/values-et-rEE/strings.xml b/src/main/resources/addresources/values-et-rEE/strings.xml index 55b04092e..719d9fa29 100644 --- a/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/src/main/resources/addresources/values-et-rEE/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-eu-rES/strings.xml b/src/main/resources/addresources/values-eu-rES/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/src/main/resources/addresources/values-eu-rES/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-fa-rIR/strings.xml b/src/main/resources/addresources/values-fa-rIR/strings.xml index 90f59abaf..0ada3d9d4 100644 --- a/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-fi-rFI/strings.xml b/src/main/resources/addresources/values-fi-rFI/strings.xml index 5acce163a..361c2cd4b 100644 --- a/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -32,6 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Tarkistukset epäonnistui + Avaa virallinen sivusto + Ohita + <h5>Tämä sovellus ei näytä olevan sinun korjaamasi.</h5><br>Tämä sovellus ei ehkä toimi oikein, <b>voi olla haitallista tai jopa vaarallista käyttää</b>.<br><br>Nämä tarkastukset merkitsevät, että tämä sovellus on esiasennettu tai saatu joltain muulta:<br><br><small>%1$s</small><br>On erittäin suositeltavaa <b>poistaa tämä sovellus ja korjata se itse</b> varmistaaksesi, että käytät validoitua ja turvallista sovellusta.<p><br>Jos tämä varoitus jätetään huomiotta, se näytetään vain kahdesti. + Paikattu eri laitteella + Ei asennettu ReVanced Manager + Paikattu yli 10 minuuttia sitten + APK käännöspäivä on vioittunut + ReVanced Haluatko jatkaa? @@ -43,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Revanced asetukset palautettu oletukseksi Tuotu %d asetukset Tuonti epäonnistui: %s + Tuo / Vie + Tuo / Vie ReVanced asetukset + + Käytät ReVanced Patches versiota <i>%s</i> + Huomautus + Tämä versio on ennakkojulkaisuversio, joten voit kokea odottamattomia ongelmia + Viralliset linkit + Lahjoita @@ -55,15 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Käytät ReVanced Patches versiota <i>%s</i> - Huomautus - Tämä versio on ennakkojulkaisuversio, joten voit kokea odottamattomia ongelmia - Viralliset linkit - Tuo / Vie - Tuo / Vie ReVanced asetukset - Tietoja Mainokset @@ -244,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Piilotetut avainsanat - Piilotettavia avainsanoja ja lauseita, erotettuna uusilla riveillä\n\nKeskellä olevat isot kirjaimet on syötettävä niin kuin ne on sanassa (esim. iPhone, TikTok, LeBlanc) + Piilotettavia avainsanoja ja lauseita, erotettuna uusilla riveillä\n\nAvainsanat voivat olla kanavien nimiä tai videon otsikoissa\n\nSuurilla kirjaimilla varustetut sanat täytyy syöttää kotelon kanssa (esim. iPhone, TikTok, LeBlanc) Tietoja avainsanan suodatuksesta - Koti/Tilaukset/Hakutulokset suodatetaan ja piilotetaan avainsanalauseita käyttäen\n\nRajoitukset\n• Joitakin Shortteja ei välttämättä piiloteta\n• Joitakin käyttöliittymän komponentteja ei välttämättä piiloteta\n• Avainsanan haku ei välttämättä näytä tuloksia + Etusivu/Tilaus / Hakutulokset suodatetaan piilottamaan sisältö, joka vastaa avainsanalauseita\n\nRajoitukset\n• Shortteja ei voi piilottaa kanavan nimellä\n• Joitakin UI-komponentteja ei välttämättä ole piilotettu\n• Haetaan hakusanalla ei ole tuloksia. + Täsmää koko sanaan + + Hakusanan / lauseen ympäröiminen kaksoislainauksilla estää videon osittaisia vastaavuuksia ja kanavien nimiä<br><br>Esimerkiksi,<br><b>\"ai\"</b> piilottaa videon: <b>How does AI work?</b><br>mutta ei piilota: <b>What does fair use mean?</b> - Virheellinen avainsana. Ei voida käyttää: \'%s\' suodattimena - - Virheellinen avainsana. \'%1$s\' on pienempi kuin %2$d merkkiä - Avainsana \'%s\' piilottaa kaikki videot + Avainsanaa ei voi käyttää: %s + Lisää lainauksia käyttämään avainsanaan: %s + Avainsanalla on ristiriitaiset ilmoitukset: %s + Avainsana on liian lyhyt ja vaatii lainausmerkkejä: %s + Avainsana piilottaa kaikki videot: %s Piilota yleiset mainokset @@ -432,9 +445,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Kotinäppäin on piilotettu Kotinäppäin näytetään - Piilota Shortsit - Shortsit painike on piilotettu - Shortsit painike näytetään + Piilota Shorts + Shorts painike on piilotettu + Shorts painike näytetään Piilota Luo Luo painike on piilotettu @@ -617,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Piilota tallennettava ääni soittolistapainikkeeseen Tallenna ääni soittolistalle on piilotettu Tallenna ääni soittolistalle näytetään + Piilota käytä tätä äänipainiketta + Käytä tätä äänipainiketta on piilotettu + Käytä tätä äänipainiketta näytetään Piilota hakuehdotukset Hakuehdotukset on piilotettu Hakuehdotukset näytetään @@ -680,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Soittimen peittoalueen läpinäkyvyyden on oltava välillä 0-100 - Hidden Alapeukutus ei ole tilapäisesti käytettävissä Eivät tykkää ei saatavilla (tila %d) @@ -776,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ohitusmäärän seuranta ei ole käytössä Osion vähimmäiskesto Tätä arvoa (sekunteina) lyhyempiä osioita ei näytetä tai ohiteta + Virheellinen kellonaika Yksityinen käyttäjätunnuksesi Tämä pitäisi pitää yksityisenä. Tämä on kuin salasana, eikä sitä pitäisi jakaa kenenkään kanssa. Jos jollakulla on tämä, he voivat esiintyä sinuna Yksityisen käyttäjätunnuksen on oltava vähintään 30 merkkiä pitkä @@ -876,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Aika jolloin osio alkaa Aika jolloin osio päättyy Ovatko ajat oikein? - Osio alkaa\n\n%1$s\nja loppuu\n%2$s\n\n(%3$s)\n\nValmis lähettämään? Alku on oltava ennen loppua Merkitse ensin kaksi sijaintia aikapalkissa @@ -896,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Käyttäjänimen vaihto onnistui Maineesi on <b>%.2f</b> Olet luonut <b>%s</b> osiota + Napauta tästä nähdäksesi segmentit SponsorBlock tulostaulu Olet pelastanut ihmisiä <b>%s</b> segmentiltä Napauta tästä nähdäksesi globaalit tilastot ja ylimmät avustajat @@ -977,7 +992,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Piilota ohita etu- ja takapainikkeet Ohita eteenpäin ja takaisin on piilotettu Ohita eteenpäin ja takaisin näytetään - Overlay opacity + Valikon peiton läpinäkyvyys Läpinäkyvyysarvo välillä 0–100, jossa 0 on läpinäkyvä Miniplayer peittokuvan läpinäkyvyyden on oltava välillä 0-100 @@ -1117,35 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Liu\'uta etsiäksesi on käytössä Liu\'uta etsiäksesi ei ole käytössä - - Naamioi pääte - Naamioi pääte toisto-ongelmien estämiseksi - Naamioi pääte - Pääte on naamioitu - Päätettä ei ole naamioitu\n\nVideon toisto ei ehkä toimi - Tämän asetuksen poistaminen käytöstä voi aiheuttaa videon toiston ongelmia. - Naamioi pääte iOS:ksi - Asiakas on tällä hetkellä pilkottu iOS\n\nSivuvaikutukset ovat:\n• HDR video ei ehkä ole saatavilla\n• Watch historia ei toimi tuotemerkin tilin - Pääte on baamioitu Android VR:ksi. Sivuvaikutuksia ovat:\n• Ei HDR-videota\n• Lasten videot eivät toistu\n• Pysäytetyt videot voivat jatkaa toistoa satunnaisesti\n• Huonolaatuiset Shorts-liukusäätimen pikkukuvat\n• Lataa-toimintapainike on piilotettu\n• Loppunäytön kortit on piilotettu - Spoof asiakkaan pikkukuvat ei ole käytettävissä (API ajastettu) - Spoof asiakkaan pikkukuvat tilapäisesti ei käytettävissä: %s - - - - Hämärä sovelluksen allekirjoitus - Ota sovelluksen allekirjoitus haltuun estääksesi toiston ongelmia - Hämärä sovelluksen allekirjoitus - Sovelluksen allekirjoitus pilaantunut\n\nSivutehosteita ovat:\n• Parannettu bitrate ei ole käytettävissä\n• Videoita ei voi ladata\n• Ei seekbar pikkukuvia maksullisille videoille - Sovelluksen allekirjoitus ei ole pilaantunut\n\nVideon toisto ei ehkä toimi - Tämän asetuksen poistaminen käytöstä aiheuttaa videon toiston ongelmia. - Hämärä sovelluksen allekirjoitus syötteessä - Sovelluksen allekirjoitus pilkottu\n\nSivutehosteet ovat:\n• Syötteen videot puuttuvat tekstitykset\n• Automaattisesti soitettu syöte videot näkyvät katsella historian - Sovelluksen allekirjoitus ei haju syötevideoille\n\nSyötevideot pelaavat alle 1 minuutin ennen toisto-ongelmien kohtaamista - Huijaus tarinalauta - Storyboard spoofed - Storyboard ei spoofed\n\nSivutehosteita ovat:\n• Ei ympäröivää tilaa\n• Seekbar pikkukuvat on piilotettu - Spoof storyboard tilapäisesti ei ole käytettävissä (API aikakatkaistu) - Spoof storyboard väliaikaisesti ei käytettävissä: %s + + Spoof video streams + Spoof asiakkaan videovirrat estää toiston ongelmia + Spoof video streams + Videon purot ovat puolattu + Videon suoratoistot eivät ole spoofed\n\nVideon toisto ei ehkä toimi + Tämän asetuksen poistaminen käytöstä voi aiheuttaa videon toiston ongelmia. + Oletus asiakas + Pakota AVC (H.264) + Videokoodekki on AVC (H.264) + Videokoodekki on VP9 tai AV1 + Laitteessasi ei ole VP9-laitteiston dekoodausta, ja tämä asetus on aina päällä, kun asiakkaan spoofing on käytössä + Tämän käyttöönotto voi parantaa akun kestoa ja korjata toistoa stuttering.\n\nAVC on suurin resoluutio 1080p, ja videon toisto käyttää enemmän internet-tietoja kuin VP9 tai AV1. + iOS:n havainnot haittavaikutuksista + • Elokuvat tai maksetut videot eivät välttämättä pelaa\n• Livestreams alkavat alusta + Android VR havaintoon sivuvaikutukset + • Ääniraidan valikko puuttuu diff --git a/src/main/resources/addresources/values-fil-rPH/strings.xml b/src/main/resources/addresources/values-fil-rPH/strings.xml index 89689f21c..d6484ffe3 100644 --- a/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -32,6 +32,8 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Gusto mo bang magpatuloy? I-reset @@ -42,6 +44,13 @@ This is because Crowdin requires temporarily flattening this file and removing t I-reset ang mga ReVanced na setting sa default Na-import ang %d na mga setting Nabigo ang pag-import: %s + Mag-import / Mag-export + I-import / I-export ang mga setting ng ReVanced + + Gumagamit ka ng bersyon ng ReVanced Patches <i>%s</i> + Tandaan + Ang bersyon na ito ay isang pre-release at maaari kang makaranas ng mga hindi inaasahang isyu + Mga opisyal na link @@ -54,14 +63,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - Gumagamit ka ng bersyon ng ReVanced Patches <i>%s</i> - Tandaan - Ang bersyon na ito ay isang pre-release at maaari kang makaranas ng mga hindi inaasahang isyu - Mga opisyal na link - Mag-import / Mag-export - I-import / I-export ang mga setting ng ReVanced - Tungkol Mga ad @@ -236,14 +237,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Mga keyword na itatago - Ang mga keyword at pariralang itatago, na pinaghihiwalay ng mga bagong linya\n\nAng mga salitang may malalaking letra sa gitna ay dapat ilagay kasama ng casing (ibig sabihin: iPhone, TikTok, LeBlanc) Tungkol sa pag-filter ng keyword - Home/Subscription/Ang mga resulta ng paghahanap ay sinasala upang itago ang nilalaman na tumutugma sa mga parirala ng keyword\n\nMga Limitasyon\n• Maaaring hindi maitago ang ilang Shorts\n• Maaaring hindi maitago ang ilang bahagi ng UI\n• Maaaring walang resulta ang paghahanap para sa isang keyword + - Di-wastong keyword. Hindi magagamit ang: \"%s\" bilang filter - - Di-wastong keyword. Ang \"%1$s\" ay mas mababa sa %2$d character - Itatago ng keyword na \"%s\" ang lahat ng video Itago ang mga pangkalahatang ad @@ -670,7 +666,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Ang opacity ng overlay ng player ay dapat nasa pagitan ng 0-100 - Nakatago Pansamantalang hindi available ang mga hindi gusto (nag-time out ang API) Hindi available ang mga hindi gusto (status %d) @@ -860,8 +855,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Oras na magsisimula ang segment sa Oras na nagtatapos ang segment sa Tama ba ang mga oras? - Ang segment ay mula sa\n\n%1$s\nto\n%2$s\n\n(%3$s)\n\nHanda nang isumite? Ang simula ay dapat bago ang katapusan Markahan muna ang dalawang lokasyon sa time bar @@ -1088,17 +1081,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Naka-enable ang slide to seek Hindi pinagana ang slide to seek - - Panggagaya ang kliyente upang maiwasan ang mga isyu sa pag-playback - Na-spoof ang kliyente - Hindi na-spoof ang kliyente\n\nMaaaring hindi gumana ang pag-playback ng video - Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback ng video. - Spoof client sa iOS - Hindi available ang mga thumbnail ng spoof client (nag-time out ang API) - Pansamantalang hindi available ang mga thumbnail ng spoof client: %s - - - + + Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback ng video. diff --git a/src/main/resources/addresources/values-fr-rFR/strings.xml b/src/main/resources/addresources/values-fr-rFR/strings.xml index 6890d628d..a00595004 100644 --- a/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -32,6 +32,15 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Les vérifications ont échoué + Ouvrir le site web officiel + Ignorer + Corrigé sur un autre appareil + Non installé par ReVanced Manager + Corrigé il y a plus de 10 minutes + La date de compilation APK est corrompue + ReVanced Souhaitez-vous continuer ? @@ -40,9 +49,17 @@ This is because Crowdin requires temporarily flattening this file and removing t Redémarrer Importer Copier - Réglages ReVanced réinitialisés à la valeur par défaut + Réglages ReVanced réinitialisés aux valeurs par défaut %d paramètres importés Échec de l\'importation : %s + Importer / Exporter + Importer / Exporter les paramètres ReVanced + + Vous utilisez la version de ReVanced Patches <i>%s</i> + Note + Cette version est une pré-version et vous pourriez rencontrer des problèmes inattendus + Liens officiels + Faire un don @@ -55,15 +72,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Vous utilisez la version de ReVanced Patches <i>%s</i> - Note - Cette version est une pré-version et vous pourriez rencontrer des problèmes inattendus - Liens officiels - Importer / Exporter - Importer / Exporter les paramètres ReVanced - À propos Publicités @@ -82,10 +90,10 @@ This is because Crowdin requires temporarily flattening this file and removing t Journal de débogage Les journaux de débogage sont activés Les journaux de débogage sont désactivés - Mémoire tampon du protocole de log + Mémoire tampon du protocole de journal Les journaux de débogage incluent le proto buffer Les journaux de débogage n\'incluent pas le proto buffer - Loguer les traces de stack + Enregistrer les traces de la pile Les journaux de débogage incluent la trace de la pile Les journaux de débogage n\'incluent pas la trace de pile Afficher le toast en cas d\'erreur ReVanced @@ -135,9 +143,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Masquer le tiroir d\'en-tête des résultats de recherche Le tiroir d\'en-tête est masqué Le tiroir d\'en-tête est affiché - Masquer les règlements de la chaîne - Les règlements de la chaîne sont masqués - Les règlements de la chaîne sont affichés + Masquer les règles de la chaîne + Les règles de la chaîne sont masqués + Les règles de la chaîne sont affichés Masquer les options extensibles sous les vidéos Les puces extensibles sont masquées Les puces extensibles sont affichées @@ -244,14 +252,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Mots-clés à cacher - Mots-clés et phrases à cacher, séparés par de nouvelles lignes\n\nLes mots avec des lettres majuscules au milieu doivent être saisis en respectant la casse (ex : iPhone, TikTok, LeBlanc) + Mots-clés et phrases à cacher, séparés par les nouvelles lignes\n\nLes mots-clés peuvent être des noms de canaux ou tout texte affiché dans les titres vidéo\n\nLes mots avec des lettres majuscules au milieu doivent être saisis avec la casse (i: iPhone, TikTok, LeBlanc) À propos du filtrage par mots-clés - Les onglets \"Accueil\" et \"Abonnements\" ainsi que les résultats de la recherche sont filtrés pour masquer le contenu correspondant à des phrases clés\n\nLimitations\n• Il se peut que certains Shorts ne soient pas masqués\n• Il se peut que certains composants de l\'interface utilisateur ne soient pas masqués\n• Les recherches par mots-clés ne pourraient pas donner de résultats + Les résultats d\'accueil/abonnement/recherche sont filtrés pour masquer le contenu qui correspond aux expressions clés\n\nLimitations\n• Les courts ne peuvent pas être cachés par le nom du canal\n• Certains composants de l\'interface utilisateur ne peuvent pas être cachés\n• La recherche d\'un mot clé peut n\'afficher aucun résultat + Correspond à des mots entiers + + Arrondir un mot-clé/phrase avec des guillemets doubles empêchera les correspondances partielles des titres vidéo et des noms de chaîne<br><br>Par exemple,<br><b>\"ai\"</b> masquera la vidéo : <b>How does AI work?</b><br>mais ne se cachera pas : <b>What does fair use mean?</b> - Mot-clé invalide. Impossible d\'utiliser : \'%s\' comme filtre - - Mot-clé invalide. \'%1$s\' contient moins de %2$d caractères - Le mot-clé «%s» masquera toutes les vidéos + Impossible d\'utiliser le mot clé : %s + Ajouter des guillemets pour utiliser le mot clé: %s + Le mot clé a des déclarations conflictuelles : %s + Le mot clé est trop court et nécessite des guillemets : %s + Le mot-clé masquera toutes les vidéos : %s Masquer les pubs générales @@ -432,7 +444,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Le bouton Accueil est caché Le bouton d\'accueil est affiché - Cacher les shorts + Cacher les Shorts Le bouton Shorts est masqué Le bouton Shorts est affiché @@ -617,6 +629,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Masquer le bouton Enregistrer le son dans la liste de lecture Enregistrer le son dans la playlist est masqué Enregistrer le son dans la playlist est affiché + Masquer le bouton \"Utiliser ce son\" + Utiliser ce bouton de son est caché + Le bouton \"Utiliser ce son\" est affiché Masquer les suggestions de recherche Les suggestions de recherche sont masquées Suggestions de recherche affichées @@ -680,7 +695,6 @@ This is because Crowdin requires temporarily flattening this file and removing t L\'opacité de l\'overlay du joueur doit être comprise entre 0 et 100 - Masqué API des dislikes temporairement indisponible N\'aime pas disponible (statut %d) @@ -776,6 +790,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Le suivi du comptage des sauts n\'est pas activé Durée minimale du segment Les segments plus courts que cette valeur (en secondes) ne seront pas affichés ou ignorés + Durée non valide Votre identifiant d\'utilisateur privé Cela doit rester confidentiel. Il a l\'équivalent un mot de passe et ne doit être partagé avec personne. Si quelqu\'un l\'obtient, il pourra se faire passer pour vous L\'identifiant d\'utilisateur privé doit comporter au moins 30 caractères @@ -876,8 +891,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Instant de début du segment Instant de fin du segment Est-ce que ces valeurs sont correctes? - Le segment est de\n\n%1$s\nà\n%2$s\n\n(%3$s)\n\nPrêt à soumettre ? Le début doit être avant la fin Marquez d\'abord deux emplacements sur la barre de temps @@ -896,6 +909,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Changement de nom d’utilisateur effectué Votre réputation est <b>%.2f</b> Vous avez créé <b>%s</b> segments + Appuyez ici pour voir vos segments Classement du SponsorBlock Vous avez sauvé des personnes des segments <b>%s</b> Appuyez ici pour voir les statistiques globales et les meilleurs contributeurs @@ -1117,35 +1131,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Glisser pour chercher est activé Glisser à chercher n\'est pas activé - - Tromper le client - Tromper le client pour empêcher les problèmes de lecture - Tromper le client - Le client est trompé - Le client n\'est pas trompé\n\nLa lecture de la vidéo peut ne pas fonctionner - Désactiver ce paramètre peut causer des problèmes de lecture vidéo. - Falsifier le client vers iOS - Le client est actuellement falsifié vers iOS\n\nLes effets secondaires incluent :\n• La vidéo HDR peut ne pas être disponible\n• Regarder l\'historique ne fonctionne pas avec un compte de marque - Le client est actuellement falsifié vers Android VR. Effets secondaires incluant:\n• Aucune vidéo HDR\n• Les vidéos des enfants ne lisent pas\n• Les vidéos en pause peuvent reprendre aléatoirement\n• Les Shorts de basse qualité sur les vignettes de la barre de recherche\n• Le bouton d\'action de téléchargement est caché\n• Les cartes d\'écran de fin sont cachées - Tromper les vignettes du client non disponibles (API expirée) - Tromper les vignettes du client temporairement indisponibles : %s - - - - Falsifier la signature de l\'application - Falsifier la signature de l\'application pour empêcher les problèmes de lecture - Falsifier la signature de l\'application - La signature de l\'application falsifiée\n\nLes effets secondaires comprennent :\n• Le débit amélioré n\'est pas disponible\n• Les vidéos ne peuvent pas être téléchargées\n• Aucune vignette de barre de recherche pour les vidéos payantes - La signature de l\'application n\'a pas été falsifiée\n\nLa lecture de la vidéo peut ne pas fonctionner - Désactiver ce paramètre causera des problèmes de lecture vidéo. - Falsifier la signature de l\'application dans le flux - La signature de l\'application falsifiée\n\nLes effets secondaires comprennent :\n• Les vidéos des flux manquent de sous-titres\n• Les vidéos des flux automatiquement jouées apparaîtront dans votre historique de montre - La signature de l\'application n\'a pas été falsifiée pour les flux de vidéos\n\nLes vidéos en flux seront lues pendant moins d\'une minute avant de rencontrer des problèmes de lecture - Falsifier le storyboard - Feuille de contes - Le storyboard n\'a pas falsifié\n\nLes effets secondaires incluent :\n• Aucun mode ambiant\n• Les vignettes de Seekbar sont cachées - Spoof storyboard temporairement indisponible (API expirée) - Falsification de storyboard temporairement indisponible : %s + + Falsifier les flux vidéo + Falsifier les flux vidéo du client pour éviter les problèmes de lecture + Falsifier les flux vidéo + Les flux vidéo sont falsifiés + Les flux vidéo ne sont pas falsifiés\n\nLa lecture de la vidéo pourrait ne pas fonctionner + Désactiver ce paramètre peut causer des problèmes de lecture vidéo. + Client par défaut + Forcer AVC (H.264) + Le codec vidéo est AVC (H.264) + Le codec vidéo est VP9 ou AV1 + Votre appareil ne possède pas de décodage matériel VP9, et ce paramètre est toujours activé lorsque la falsification du client est activée + Activer ceci peut améliorer la durée de vie de la batterie et corriger les erreurs de lecture.\n\nAVC a une résolution maximale de 1080p, et la lecture vidéo utilisera plus de données internet que VP9 ou AV1. + Effets secondaires d\'usurpation iOS + • Les films ou les vidéos payantes pourraient ne pas être lus\n• Les diffusions en direct commencent au début + Effets secondaires de l\'usurpation VR Android + • Le menu de la piste audio est manquant diff --git a/src/main/resources/addresources/values-ga-rIE/strings.xml b/src/main/resources/addresources/values-ga-rIE/strings.xml new file mode 100644 index 000000000..89d044e40 --- /dev/null +++ b/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -0,0 +1,1196 @@ + + + + + + Theip ar sheiceálacha + Oscailt láithreán gréasáin oifigiúil + Déan neamhaird de + <h5>Is cosúil nach bhfuil an aip seo paiteanta agat.</h5><br>Seans nach bhfeidhmeoidh an aip seo i gceart, <b>d\'fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>Tugann na seiceálacha seo le tuiscint go bhfuil an aip seo réamhphatáilte nó faighte ó dhuine éigin eile:<br><br><small>%1$s</small><br> <b>díshuiteáil an aip seo agus paiste tú féin</b> chun a chinntiú go bhfuil tú ag úsáid aip atá bailíochtaithe agus slán.<p><br>Má dhéantar neamhaird de, ní thaispeánfar an rabhadh seo ach faoi dhó. + Paisteáilte ar ghléas eile + Gan a bheith suiteáilte ag ReVanced Manager + Patched níos mó ná 10 nóiméad ó shin + Patáilte %s lá ó shin + Tá dáta tógála APK truaillithe + + + Ar mhaith leat dul ar aghaidh? + Athshocraigh + Athnuachan agus atosaigh + Athosaigh + Allmhairiú + Cóipeáil + Athshocraigh socruithe ReVanced go réamhshocrú + Socruithe %d allmhairithe + Theip ar allmhairiú: %s + Iompórtáil / Easpórtáil + Iompórtáil / Easpórtáil socruithe ReVanced + + Tá tú ag baint úsáide as leagan <i>%s</i> ReVanced Patches + Nóta + Is réamh-eisiúint é an leagan seo agus d\'fhéadfadh fadhbanna gan choinne a bheith agat + Naisc oifigiúla + Síntiúis + + + + Níl microG GMScore suiteáilte. Suiteáil é. + Gníomhaíocht a theast + Níl cead ag MicroG GMScore reáchtáil sa chúlra. \n\ n Lean an treoir “Ná maraigh mo aip” do do ghuthán, agus cuir na treoracha i bhfeidhm ar do shuiteáil MicroG. \n\ n Tá sé seo ag teastáil chun go n-oibreoidh an aip. + Suíomh Gréasáin oscailte + Ní mór barrfheabhsú ceallraí microG GMScore a dhíchumasú chun saincheisteanna a chosc. \n\ n Tapáil ar an gcnaipe leanúint agus déan barrfheabhsú ceallraí a dhíchumasú. + Lean ar aghaidh + + + + + Maidir + Fógraí + Mionsamhlacha malartacha + Fotha + Imreoir + Leagan amach ginearálta + Barr Seardaigh + Rialuithe Swipe + Misc + Físeán + + + Dífhabhtú + Cumasaigh nó díchumasaigh roghanna dífhabhtaithe + Logáil dífhabhtaithe + Tá logaí dífhabhtaithe cumasaithe + Tá logaí dífhabhtaithe díchumasaithe + Maolán prótacal logála + Cuimsíonn logaí dífhabhtaithe maolán + Ní chuimsíonn logaí dífhabhtaithe maolán proto + Rianta cruach logála + Cuimsíonn logaí dífhabhtaithe rian cruach + Ní chuimsíonn logaí dífhabhtaithe rian cruach + Taispeáin tósta ar earráid ReVanced + Taispeántar tósta má tharlaíonn earráid + Ní thaispeántar tósta má tharlaíonn earráid + Folaíonn toastanna earráide a mhúchadh gach fógra earráide ReVanced. \n\n Ní chuirfear in iúl duit faoi aon imeachtaí gan choinne. + + + Díchumasaigh cosúil/liostáil chnaipe glow + Ní ghlacfaidh an cnaipe Like agus Liostáil nuair a luaitear + Taispeánfaidh an cnaipe Like agus Liostáil nuair a luait + Folaigh deighilteoir liath + Tá deighilteoirí liath i bhfolach + Taispeántar deighilteoirí liath + Folaigh comhartha uisce cainéal + Tá comhartha uisce i bhfolach + Taispeántar comhartha uisce + Folaigh seilfeanna cothromán + Tá na seilfeanna i bhfolach ar nós:\n• Nuacht nua\n• Lean ort ag féachaint\n• Déan iniúchadh ar níos mó cainéal\n• Siopadóireacht\n• Féach air arís + Taispeántar seilfeanna + + Folaigh cnaipe \'Bí\' + Tá an cnaipe i bhfolach + Taispeántar an cnaipe + + Folaigh seilf \'Do duits\' ar leathanach cainéil + Tá an seilf i bhfolach + Taispeántar an seilf + + Folaigh cnaipe \'Cuir in iúl dom\' + Tá an cnaipe i bhfolach + Taispeántar an cnaipe + + Folaigh moltaí \'D\'fhéach daoine freastalaí\' + Tá moltaí i bhfolach + Taispeántar moltaí + + Folaigh cnaipe \'Taispeáin tuilleadh\' + Tá an cnaipe i bhfolach + Taispeántar an cnaipe + Folaigh frithghníomhartha ama + Tá frithghníomhartha ama i bhfolach + Taispeántar frithghníomhartha ama + Ceanntásc seilf torthaí cuardaigh + Tá ceanntásc na seilfe i bhfolach + Taispeántar ceanntásc na seilfe + Folaigh treoirlínte cainéal + Tá treoirlínte cainéal i bhfolach + Taispeántar treoirlínte cainéal + Folaigh sliseanna inmhéadaithe faoi fhíseáin + Tá sceallóga leathnaithe i bhfolach + Taispeántar sceallóga leathnaithe + Folaigh buntásc roghchlár cáilíochta físe + Tá buntásc an roghchláir cáilíochta físeáin folaithe + Taispeántar buntásc roghchlár cáilíochta físeáin + Folaigh postálacha pobail + Tá postálacha pobail i bhfolach + Taispeántar postálacha pobail + Folaigh meirgí dlúth + Tá meirgí dlúth i bhfolach + Taispeántar meirgí dlúth + Folaigh rannán scannáin + Tá an chuid Scannáin i bhfolach + Taispeántar an rannán scannáin + Folaigh suirbhéanna beatha + Tá suirbhéanna beatha i bhfolach + Taispeántar suirbhéanna beatha + Folaigh treoirlínte pobail + Tá treoirlínte pobail i bhfolach + Léirítear treoirlínte pobail + Folaigh treoirlínte pobail do shíntiúsóirí + Tá treoirlínte pobail síntiúsóirí i bhfolach + Taispeántar treoirlínte pobail do shíntiúsóirí + Folaigh seilf ball cainéil + Tá seilf ball chainéil i bhfolach + Taispeántar seilf ball chainéil + Folaigh boscaí éigeandála + Tá bosca éigeandála i bhfolach + Taispeántar boscaí éigeandála + Folaigh painéil faisnéise + Tá painéil faisnéise i bhfolach + Taispeántar painéil faisnéise + Folaigh painéil leighis + Tá painéil leighis i bhfolach + Taispeántar painéil leighis + Folaigh barra cainéal + Tá barra cainéal i bhfolach + Taispeántar barra cainéal + Folaigh Rudaí Inimeartha + Tá míreanna súgartha i bhfolach + Taispeántar míreanna inimeartha + Folaigh gníomhartha gasta i lánscáileán + Tá gníomhartha gasta i bhfolach + Taispeántar gníomhartha tapa + Folaigh físeáin gaolmhara i ngníomhartha + Tá físeáin bhainteacha i bhfolach + Taispeántar físeáin gaolmhara + Folaigh seilf íomhá sna torthaí cuardaigh + Tá seilf íomhá i bhfolach + Taispeántar seilf íomhá + Folaigh na postanna is déanaí + Tá poist is déanaí i bhfolach + Taispeántar na poist is déanaí + Folaigh seinmliostaí meascán + Tá seinmliostaí measctha i bhfolach + Taispeántar seinmliostaí measctha + Folaigh cártaí ealaíontóirí + Tá cártaí ealaíontóirí i bhfolach + Taispeántar cártaí ealaíonta + Folaigh seilf sliseanna + Tá seilf sliseanna i bhfolach + Taispeántar seilf sliseanna + Folaigh roinn tréithe + Tá rannáin \'Áiteanna Réadmhaí\', Cluichí agus Ceol i bhfolach + Taispeántar \'Áiteanna faoi Thrácht\', rannóga Cluichí agus Ceoil + Folaigh alt na gCaibidlí + Tá an chuid Caibidil i bhfolach + Taispeántar cuid na Caibidlí + Folaigh an chuid \'Déan iniúchadh ar an bpodchraoladh \' + Tá an chuid \'Iniúchadh ar an podchraoladh \'i bhfolach + Taispeántar an chuid \'Déan iniúchadh ar an bpodchraoladh \' + Folaigh roinn cártaí faisnéise + Tá an chuid cártaí faisnéise i bhfolach + Taispeántar rannán cártaí faisnéise + Folaigh an rannán \'Príomhchoincheapa\' + Tá an chuid \'Príomhchoincheapa” i bhfolach + Taispeántar alt ‘Príomhchoincheapa’ + Folaigh an chuid Trasscríbhinne + Tá an chuid trasscríbhinne i bhfolach + Taispeántar alt an tras-scríbhinn + Cur síos físeán + Folaigh nó taispeáint comhpháirteanna tuairisc + Scagaire saincheaptha + Folaigh comhpháirteanna ag baint úsáide as + Cumasaigh scagaire saincheaptha + Tá scagaire saincheaptha cumasaithe + Tá scagaire saincheaptha míchumasaithe + Scagaire saincheaptha + + Liosta de na teaghráin tógála cosáin comhpháirteanna le scagadh scartha le líne nua + Scagaire saincheaptha neamhbhailí: %s + Folaigh ábhair eochairfhocal + Folaigh físeáin chuardaigh agus fotha ag baint úsáide as scagairí eochairfhocail + Folaigh físeáin bhaile de réir eochair + Scagtar físeáin sa chluaisín baile de réir eochairfhocail + Ní scagtar físeáin sa chluaisín baile de réir eochairfhocail + Folaigh físeáin síntiúis ag eochair + Déantar físeáin sa chluaisín síntiús a scagadh de réir eochairfhocail + Ní scagtar físeáin sa chluaisín síntiúis ag eochairfhocail + Folaigh torthaí cuardaigh de réir eochair + Déantar torthaí cuardaigh a scagadh de réir eochairfhocail + Ní scagtar torthaí cuardaigh ag eochairfhocail + Eochairfhocail le cur i bhfolach + + Eochairfhocail agus frásaí le cur i bhfolach, scartha le línte nua\n\nIs féidir le heochairfhocail a bheith ina n-ainmneacha cainéal nó in aon téacs a thaispeántar i dteideal físeáin\n\nNí mór focail a bhfuil litreacha móra sa lár a chur isteach leis an gcásáil (. i. iPhone, TikTok, LeBlanc) + Maidir le scagadh eochairfhocal + Déantar torthaí Baile/Síntiúis/Cuardaigh a scagadh chun inneachar a mheaitseálann frásaí eochairfhocail a chur i bhfolach\n\nTeorainneacha\n• Ní féidir shorts a chur i bhfolach le hainm an chainéil\n• Seans nach mbeidh roinnt comhpháirteanna Chomhéadain i bhfolach\n• Seans nach dtaispeánfar torthaí nuair a chuardaítear eochairfhocal + Meaitseáil focail iomlána + + Má bhaineann tú eochairfhocal/frása le comharthaí athfhriotail dhúbailte, cuirfear cosc ​​ar mheaitseáil pháirteach de theidil físeáin agus ainmneacha cainéal<br><br>Mar shampla,<br><b>\"ai\"</b> ceilteoidh sé an físeán: <b>Conas a oibríonn AI?</b><br>ach ní cheiltfidh sé: <b>Cad is brí le hainm féinig?</b> + + Ní féidir eochairfhocal a úsáid: %s + Cuir comharthaí athfhriotail leis le húsáid eochairfhocal: %s + Tá dearbhuithe contrártha ag eochairfhocal: %s + Tá an eochairfhocal ró-ghearr agus teastaíonn comharthaí athfhriotail: %s + Folaigh eochairfhocal gach físeán: %s + + + Folaigh fógraí ginearálta + Tá fógraí ginearálta i bhfolach + Taispeántar fógraí ginearálta + Folaigh fógraí lánscáileáin + Tá fógraí lánscáileáin i bhfolach\n\in Níl an ghné seo ar fáil ach do ghléasanna níos sine + Taispeántar fógraí lánscáileáin + Folaigh fógraí cnaipe + Tá fógraí cnaipe i bhfolach + Taispeántar fógraí cnaipe + Folaigh lipéad chun cinn íoctha + Tá an lipéad promóisin íoctha i bhfolach + Taispeántar lipéad promóisin íoctha + Folaigh cártaí féin-urraithe + Tá cártaí féin-urraithe i bhfolach + Taispeántar cártaí féin-urraithe + Folaigh meirge chun táirgí a fheiceáil + Tá bratach i bhfolach + Taispeántar an bhratach + Folaigh naisc siopadóireachta sa chur síos físeáin + Tá naisc siopadóireachta i bhfolach + Taispeántar naisc siopadóireachta + + Folaigh an cnaipe \'Tabhair cuairt ar an siopa\' ar leathanaigh chainéil + Tá an cnaipe i bhfolach + Taispeántar an cnaipe + Folaigh torthaí cuardaigh gréasáin + Tá torthaí cuardaigh gréasáin i bhfolach + Taispeántar torthaí cuardaigh gréasáin + Folaigh meirgí marsantais + Tá meirgí marsantais i bhfolach + Taispeántar meirgí marsantais + + Ní oibríonn folaigh fógraí lánscáileáin ach le gléasanna níos sine + + + Folaigh cur chun cinn Préimhe YouTube + Tá cur chun cinn YouTube Premium faoi seinnteoir físe i bhfolach + Taispeántar cur chun cinn préimhe YouTube faoi seinnteoir físe + + + Folaigh fógraí físe + Tá fógraí físe i bhfolach + Taispeántar fógraí físe + + + URL cóipeáilte chuig gearr + URL le stampa ama cóipeáilte + Taispeáin cnaipe URL físe cóipeáil + Taispeántar an cnaipe. Tapáil chun URL físe a chóipeáil. Tapáil agus coinnigh chun URL físe a chóipeáil le stampa ama + Ní thaispeántar an cnaipe + Taispeáin cnaipe URL stampa ama cóipeáil + Taispeántar an cnaipe. Tapáil chun URL físe a chóipeáil le stampa ama. Tapáil agus coinnigh chun físeán a chóipeáil gan stampa ama + Ní thaispeántar an cnaipe + + + Bain dialóg rogha féachana + Bainfear dialóg + Taispeánfar dialóg + Ní sheachnaíonn sé seo an srian aoise. Ní ghlacann sé leis go huathoibríoch. + + + Íosluchtaigh seachtracha + Socruithe chun íoslódálaí seachtrach a úsáid + Taispeáin cnaipe íoslódála + Íoslódáil an cnaipe a thaispeáint ar an imreoir + Níl an cnaipe íoslódála ar taispeáint sa imreoir + + Sáraigh an cnaipe gníomh íoslódála + Osclaíonn an cnaipe íoslódála do íoslódálaí seachtrach + Osclaíonn an cnaipe íoslódála an t-íoslódálaí dúchais in-app + Ainm pacáiste íoslódáil + Ainm pacáiste d\'aip íoslódála seachtrach suiteáilte, mar shampla NewPipe nó Seal + Níl %s suiteáilte. Suiteáil é le do thoil. + + + Díchumasaigh comhartha cuardaigh beacht + Tá comhartha míchumasaithe + Tá comhartha cumasaithe + + + Cumasaigh tapáil barra iarratais + Tá tapáil Seekbar cumasaithe + Tá tapáil Seekbar díchumasaithe + + + Cumasaigh comhartha gile + Tá slip gile cumasaithe + Tá slide gile díchumasaithe + Cumasaigh comhartha toirte + Tá slide toirte cumasaithe + Tá slide toirt díchumasaithe + Cumasaigh gothaí brúigh-go-swipe + Tá brúigh-go-swipe cumasaithe + Tá brúigh-go-swipe díchumasaithe + Cumasaigh aiseolas haptic + Tá aiseolas haptic cumasaithe + Tá aiseolas haptic míchumasaithe + Sábháil agus athchóirigh gile + Sábháil agus cuir gile ar ais agus tú ag imeacht nó ag dul isteach i lánscáileán + Ná sábháil agus athchóirigh gile agus tú ag imeacht nó ag dul isteach sa scáileán iomlán + Cumasaigh gotha uathoibríoch + Cumasaíonn scioradh síos go dtí an luach is ísle den chomhartha gile uathoibríoch + Ní chumasaíonn uathoibríoch a tharraingt síos go dtí an luach is ísle + Auto + Amach forleagtha Swipe + Tá méid na milleasoicind an forleagan le feiceáil + Méid téacs forleagtha Swipe + Méid an téacs le haghaidh forleagan swipe + Swipe infheictheacht chúlra + Infheictheacht an chúlra forleagan swipe + Tairseach méid swipe + Méid an tairseach le haghaidh sruthú tarlú + + + Díchumasaigh fotheidil uathoibríoch + Tá fotheidil uathoibríoch díchumasaithe + Tá fotheidil uathoibríoch cumasaithe + + + Cnaipí gníomh + Folaigh nó taispeáin cnaipí faoi fhíseáin + Folaigh Like agus Dislike + Tá cnaipí Cosúil agus Dislike i bhfolach + Taispeántar cnaipí Cosúil agus Dislike + + Folaigh Comhroinn + Tá cnaipe Comhroinn i bhfolach + Taispeántar an cnaipe Comhroinn + + Folaigh Tuairisc + Tá an cnaipe tuairisce i bhfolach + Taispeántar an cnaipe tuairisce + + Folaigh Remix + Tá cnaipe Remix i bhfolach + Taispeántar cnaipe Remix + + Folaigh Íoslódáil + Tá an cnaipe íosluchtaithe i bhfolach + Taispeántar cnaipe íoslódáil + + Folaigh Go raibh maith agat + Tá cnaipe buíochas i bhfolach + Taispeántar cnaipe buíochas + + Folaigh Gearrthóg + Tá an cnaipe gearrthóg i bhfolach + Taispeántar cnaipe gearrthóg + + Folaigh Sábháil chuig seinmliosta + Tá cnaipe Sábháil go seinmliosta i bhfolach + Taispeántar cnaipe Sábháil go seinmliosta + + + Folaigh cnaipe autoplay + Tá cnaipe Autoplay i bhfolach + Taispeántar cnaipe Autoplay + + + + Folaigh cnaipe fotheidil + Tá cnaipe fotheidil i bhfolach + Taispeántar cnaipe fotheidil + + + Folaigh cnaipe teilgthe + Tá cnaipe teilgthe i bhfolach + Taispeántar cnaipe teilgthe + + + Cnaipí nascleanúna + Folaigh nó athraigh cnaipí sa bharra nascleanúna + + Folaigh Baile + Tá cnaipe baile i bhfolach + Taispeántar cnaipe baile + + Folaigh Shorts + Tá cnaipe shorts i bhfolach + Taispeántar cnaipe shorts + + Folaigh Cruthaigh + Tá cnaipe Cruthaigh i bhfolach + Taispeántar cnaipe Cruthaigh + + Folaigh Síntiúis + Tá cnaipe síntiús i bhfolach + Taispeántar cnaipe síntiúis + + Athraigh Cruthaigh le Fógraí + Athraítear cnaipe Cruthaigh le cnaipe Fógraí\n\nNóta: Folaíonn sé seo fógraí físe go foréigeantach freisin + Ní athraítear cnaipe Cruthaigh le cnaipe Fógraí + Folaigh lipéid cnaipe nascleanú + Tá lipéid i bhfolach + Taispeántar lipéid + + + Roghchlár Flyout + Folaigh nó taispeáin míreanna roghchlár flyout an imreora + + Fotheidil i bhfolach + Tá roghchlár fotheidil i bhfolach + Taispeántar roghchlár fotheidil + + Folaigh Socruithe Breise + Tá roghchlár socruithe breise i bhfolach + Taispeántar roghchlár socruithe breise + + Folaigh físeán lúb + Tá roghchlár físe lúb i bhfolach + Taispeántar roghchlár físe lúb + + Folaigh modh comhthimpeallach + Tá roghchlár mód chomhthimpeallach + Taispeántar roghchlár mód comhthimpeallach + + Folaigh Cabhair & aiseolas + Cabhair & Tá an roghchlár aiseolais i bhfolach + Cabhair & Taispeántar roghchlár aiseolais + + Folaigh luas athsheinm + Tá roghchlár luas athsheinm i bhfolach + Taispeántar roghchlár luas athsheinm + + Folaigh Tuilleadh eolais + Tá tuilleadh eolais i bhfolach + Taispeántar roghchlár níos mó faisnéise + + Folaigh scáileán Glas + Tá roghchlár scáileán glas i bhfolach + Taispeántar roghchlár scáileáin glas + + Folaigh Rian Fuaime + Tá roghchlár rian fuaime i bhfolach + Taispeántar roghchlár rian fuaime + + Folaigh Watch i VR + Tá faire i roghchlár VR i bhfolach + Taispeántar an faire sa roghchlár VR + + + Folaigh & cnaipí físeáin seo chugainn + Tá cnaipí i bhfolach + Taispeántar cnaipí + + + Folaigh cártaí albam + Tá cártaí albam i bhfolach + Taispeántar cártaí albam + + + Tuairimí + Folaigh nó taispeáin comhpháirteanna na rannóige tuairimí + Folaigh ceanntásc \'Tuairimí ag baill \' + Tá ceanntásc \'Tuairimí ag comhaltaí \'i bhfolach + Taispeántar ceanntásc \'Tuairimí ag comhaltaí\' + Folaigh roinn tuairimí + Tá an chuid tuairimí i bhfolach + Taispeántar an chuid tuairimí + Folaigh cnaipe \'Cruthaigh gearr\' + Tá cnaipe \'Cruthaigh gearr\' i bhfolach + Taispeántar cnaipe \'Cruthaigh gearr\' + Folaigh trácht réamhamharc + Tá trácht réamhamhar i bhfolach + Taispeántar trácht réamhamharc + Folaigh cnaipe buíochas + Tá cnaipe buíochas i bhfolach + Taispeántar cnaipe buíochas + Folaigh cnaipí ama agus emoji + Tá cnaipí ama agus emoji i bhfolach + Taispeántar cnaipí ama agus emoji + + + Folaigh bosca slua-mhaoiniú + Tá bosca crowdfunding i bhfolach + Taispeántar bosca slua-mhaoiniú + + + Folaigh cártaí scáileáin deireadh + Tá cártaí scáileáin deiridh i bhfolach + Taispeántar cártaí scáileáin deireadh + + + Barra scagaire + Folaigh nó taispeáin an barra scagaire sna físeáin beatha, cuardaigh agus gaolmhara + Folaigh i mbeatha + I bhfolach i mbeatha + Taispeántar i mbeatha + Folaigh i gcuardach + I bhfolach i gcuardach + Taispeántar i gcuardach + Folaigh i bhfíseáin gaolmhara + I bhfolach i bhfíseáin ghaolmhara + Taispeántar i bhfíseáin ghaolmhara + + + Cnaipe micreafón ar snámh + Cnaipe micreafón folach + Taispeántar an cnaipe micreafón + + + Díchumasaigh modh comhthimpeallach sa scáile + Díchumasaíodh mód comhthimpeallach + Mód comhthimpeallach cumasaithe + + + Folaigh cártaí faisnéise + Tá cártaí faisnéise i bhfolach + Taispeántar cártaí faisnéise + + + Díchumasaigh beochan uimhreacha + Níl uimhreacha rollta beoite + Tá uimhreacha rollta beoite + + + Folaigh an barra cuardaigh i seinnteoir físeáin + Tá barra cuardaigh seinnteoir físe i bhfolach + Taispeántar barra cuardaigh an t-imreoir físeán + Folaigh an barra cuardaigh sna mionsamhlacha físeáin + Tá barra cuardaigh mionsamhail i bhfolach + Taispeántar barra cuardaigh mionsamhail + + + + Folaigh Shorts i mbeatha baile + Tá shorts i mbeatha baile i bhfolach + Taispeántar gearrthóga i mbeatha baile + + Folaigh Shorts i mbeatha síntiúis + Tá Shorts i mbeatha síntiúis i bhfolach + Taispeántar Shorts i mbeatha síntiúis + Folaigh Shorts i dtorthaí cuardaigh + Tá Shorts i dtorthaí cuardaigh i bhfolach + Taispeántar Shorts i dtorthaí cuardaigh + + Folaigh cnaipe ceangail + Tá an cnaipe Bí i bhfolach + Taispeántar an cnaipe Bí isteach + + Folaigh cnaipe liostáil + Tá cnaipe liostáil i bhfolach + Taispeántar cnaipe liostáil + Folaigh na cnaipí forleagan sosaithe + Tá cnaipí forleagtha sos i bhfolach + Taispeántar cnaipí forleagtha sos + Folaigh cnaipe siopa + Tá cnaipe siopa i bhfolach + Taispeántar cnaipe siopa + Folaigh cnaipe sár-bhuíochas + Tá cnaipe sár-bhuíochas i bhfolach + Taispeántar cnaipe sár-bhuíochas + Folaigh táirgí clibeáilte + Tá táirgí clib i bhfolach + Taispeántar táirgí clibeáilte + Folaigh lipéad suímh + Tá lipéad suímh i bhfolach + Taispeántar lipéad suímh + Folaigh fuaim a shábháil go cnaipe seinmliosta + Tá fuaim a shábháil go seinmliosta i bhfolach + Taispeántar fuaim a shábháil go seinmliosta + Folaigh moltaí cuardaigh + Tá moltaí cuardaigh i bhfolach + Taispeántar moltaí cuardaigh + Folaigh cosúil le cnaipe + Tá an cnaipe Cosúil i bhfolach + Taispeántar an cnaipe Cosúil + Folaigh cnaipe neamhthaitníonn + Taispeántar an cnaipe nach dtaitníonn leis + Taispeántar an cnaipe nach dtaitníonn leis + Folaigh cnaipe tuairimí + Tá an cnaipe tuairimí i bhfolach + Taispeántar cnaipe tuairimí + + Folaigh an cnaipe remix + Tá cnaipe Remix i bhfolach + Taispeántar cnaipe Remix + + Folaigh cnaipe comhroinnte + Tá cnaipe Comhroinn i bhfolach + Taispeántar an cnaipe Comhroinn + Folaigh painéal faisnéise + Tá painéal faisnéise i bhfolach + Taispeántar painéal faisnéise + Folaigh barra cainéal + Tá barra cainéal i bhfolach + Taispeántar barra cainéal + Folaigh teideal físeáin + Tá an teideal i bhfolach + Taispeántar an teideal + Folaigh lipéad meiteashonraí fuaime + Tá lipéad meiteashonraí folach + Léirítear lipéad meiteashonraí + Folaigh lipéad nasc físe iomlán + Tá lipéad nasc físe i bhfolach + Taispeántar lipéad nasc físe + Folaigh an cnaipe fuaime + Tá cnaipe fuaime i bhfolach + Taispeántar cnaipe fuaime + Folaigh barra nascleanúna + Tá barra nascleanúna i bhfolach + Taispeántar barra nascleanúna + + + Díchumasaigh scáileán deireadh físe molta + Déanfar na físeáin mholta a dhíchumasú + Taispeánfar físeáin mholta + + + Folaigh stampa ama an fhíseáin + Tá stampa ama i bhfolach + Taispeántar stampa ama + + + Folaigh painéil aníos imreoir + Tá painéil aníos imreoirí i bhfolach + Taispeántar painéil aníos imreoirí + + + Trédhearcacht forleagtha an imreoir + Luach trédhearcachta idir 0-100, áit a bhfuil 0 trédhearcach + Caithfidh trédhearcacht forleagtha imreoirí a bheith idir 0-100 + + + + Ní dtaitníonn sé ar fáil go sealadach (API amuigh amach) + Ní dtaitníonn sé ar fáil (stádas %d) + Ní dtaitníonn sé ar fáil (sroichte teorainn API cliant) + Ní dtaitníonn sé ar fáil (%s) + + Athlódáil físeán chun vótáil ag baint úsáide as Return YouTube Dislike + Taispeántar rudaí nach dtaitníonn leo + Ní thaispeántar nach dtaitníonn leat + Taispeáin neamhthaitníonn ar Shorts + Naitníonn a thaispeántar ar Shorts + Na rudaí nach dtaitníonn leo a thaispeántar ar Shorts\n\nTeorainn: Seans nach dtaispeánfar na rudaí nach dtaitníonn leo sa mhód anaithnid + Ní thaitníonn sé i bhfolach ar Shorts + Ní dtaitníonn mar chéatadán + Ná dtaitníonn a thaispeántar + Taispeántar na rudaí nach dtaitníonn leo mar uimhir + + Cnaipe dlúth cosúil + Cosúil le cnaipe stíleáilte don leithead íosta + Cosúil le cnaipe stíleáilte don chuma is fearr + Taispeáin tósta mura bhfuil API ar fáil + Taispeántar tósta mura bhfuil Return YouTube Dislike ar fáil + Ní thaispeántar tóst mura bhfuil Return YouTube Dislike ar fáil + Maidir + Soláthraíonn an API Return YouTube Dislike sonraí. Tapáil anseo chun tuilleadh a fhoghlaim + + Staitisticí API returnieYouTubeDislike den fheiste seo + Am freagartha API, meán + Am freagartha API, íosmhéid + Am freagartha API, uasmhéid + Am freagartha API, físeán deireanach + Ní dtaitníonn sé ar fáil go sealadach - Teorainn ráta API cliant i bhfeidhm + Vótaí a fháil API, líon na nglaonna + Ní dhéantar aon ghlaonna líonra + %d glaonna líonra déanta + Vótaí a fháil API, líon na n-imeachtaí ama + Níor aimsíodh aon ghlaonna líonra + Chuaigh %d glaoch líonra thar am + Teorainneacha ráta cliant API + Níor tharla aon teorainneacha rátaí cliant + Bhí teorainn ráta cliant ag teacht %d uair + %d milleasoicind + + + Cumasaigh barra cuardaigh leathan + Tá barra cuardaigh leathan cumasaithe + Tá barra cuardaigh leathan míchumasaithe + + + Cuir sean-mionsamhlacha barra cuardaigh ar ais + Beidh mionsamhlacha Seekbar le feiceáil os cionn an barra cuardaigh + Beidh mionsamhlacha Seekbar le feiceáil ar an scáileán + + + Cumasaigh SponsorBlock + Is córas foinse slua-fhoinse é SponsorBlock chun codanna cráite de fhíseáin YouTube a scipeáil + Dealramh + Taispeáin cnaipe vótá + Taispeántar cnaipe vótála deigh + Ní thaispeántar cnaipe vótála deireadh + + Úsáid cnaipe scipeála dlúth + Sceip cnaipe stíleáilte don leithead íosta + Sceip cnaipe stíleáilte chun an chuma is fearr + Folaigh cnaipe scipeála go huath + Folaíonn cnaipe scipeáil tar éis cúpla soicindí + Cnaipe scipeála ar taispeáint don deighleog iomlán + Taispeáin tósta agus tú ag scipeáil go huathoibríoch + Taispeántar tósta nuair a scipeántar deighleog go huathoibríoch. Tapáil anseo chun sampla a fheiceáil + Ní thaispeántar tósta. Tapáil anseo chun sampla a fheiceáil + Taispeáin fad físeáin gan codanna + Fad físeáin lúide gach mír, léirithe i lúibíní in aice le fad iomlán an fhíse + Taispeántar fad físe iomlán + Deighleoga nua a chruthú + Taispeáin cruthaigh cnaipe deighleog + Taispeántar cnaipe deighleog nua Cruthaigh + Ní thaispeántar cnaipe deighleog nua Cruthaigh + Coigeartaigh céim deighleog nua + Líon na milleasoicind a ghluaiseann na cnaipí coigeartaithe ama nuair a bhíonn teascáin nua á gcruthú + Caithfidh luach a bheith ina uimhir dheimhneach + Féach treoirlín + Tá rialacha agus leideanna i dtreoirlínte chun deighleoga nua + Lean na treoirlínte + Léigh na treoirlínte SponsorBlock sula gcruthóidh tú + Léigh cheana féin + Taispeáin dom + Ginearálta + Taispeáin tósta mura bhfuil API ar fáil + Taispeántar tósta mura bhfuil SponsorBlock ar fáil + Ní thaispeántar tósta mura bhfuil SponsorBlock ar fáil + Cumasaigh scip-rianú comhairimh + Ligeann sí do chlár ceannairí SponsorBlock cá mhéad ama a shábháiltear. Seoltar teachtaireacht chuig an gclár ceannairí gach uair a fhágtar mírlíne + Níl rianú comhaireamh scipeála cumasaithe + Fad íosta deighleog + Ní thaispeánfar ná ní scipeánfar deighleoga níos giorra ná an luach seo (i soicindí) + Fad ama neamhbhailí + Do id úsáideora príobháideach + Ba cheart é seo a choinneáil príobháideach. Is cosúil le pasfhocal é seo agus níor cheart é a roinnt le haon duine. Má tá sé seo ag duine, is féidir leo aithris a dhéanamh ort + Caithfidh id úsáideora príobháideach a bheith 30 carachtar ar a laghad + Athraigh URL API + An seoladh a úsáideann SponsorBlock chun glaonna a dhéanamh ar an bhfreastalaí + Athshocrú URL API + Tá URL API neamhbhailí + Athraigh URL API + Socruithe Iompórtála/Easpórtála + Cóipeáil + Do chumraíocht SponsorBlock JSON is féidir a allmhairiú/onnmhairiú chuig Revanced agus ardáin SponsorBlock eile + Do chumraíocht SponsorBlock JSON is féidir a allmhairiú/onnmhairiú chuig Revanced agus ardáin SponsorBlock eile. Cuimsíonn sé seo d\'aitheantas úsáideora príobháideach. Bí cinnte é seo a roinnt + D\'éirigh leis na socruithe a iompórtáil + Theip ar iompórtáil: %s + Theip ar easpórtáil: %s + Tá aitheantas úsáideora príobháideach SponsorBlock i do shocruithe.\n\nTá d\'aitheantas úsáideora cosúil le pasfhocal agus níor cheart é a roinnt choíche.\n + Ná taispeáin arís + Athraigh iompar deighleog + Urraitheoir + Ardú céime íoctha, atreoruithe íoctha agus fógraí díreacha Ní le haghaidh féin-chur chun cinn nó tuairimí saor in aisce do chúisea/cruthaitheoirí/láithreáin ghréasáin agus táirgí is maith leo + Neamhíocta/Féin-Chur Chun Cinn + Cosúil le \'Urraitheoir\' ach amháin i gcás ardú céime neamhíoctha nó féin. Áirítear leis rannóga faoi earraí, síntiúis, nó faisnéis faoi na daoine ar chomhoibrigh siad leo + Meabhrúchán Idirghníomhaíochta (Liostáil) + Meabhrúchán gairid ar mhaith leat, liostáil leo nó iad a leanúint i lár an ábhair. Má tá sé fada nó thart ar rud éigin ar leith, ba chóir é a chur chun cinn féin + Aibhsigh + An chuid den fhíseán atá ag cuardach mórchuid na ndaoine + Beochan Idirmheán/Intro + Eatraimh gan ábhar iarbhír. D\'fhéadfadh sé a bheith ina sos, fráma statach, nó beochan athrá. Ní chuimsíonn sé aistrithe ina bhfuil faisnéis + Cártaí Deiridh/Creidiúintí + Creidmheasanna nó nuair a thaispeántar na cártaí YouTube. Ní le haghaidh conclúidí le faisnéis + Réamhamhar/Athbhreithniú/Crúca + Bailiúchán gearrthóga a thaispeánann cad atá ag teacht suas nó cad a tharla san fhíseán nó i bhfíseáin eile de shraith, áit a ndéantar gach faisnéis arís eile in áit eile + Tadhall Líonta/Greann + Ní chuirtear radhairc tangensiúla ach le haghaidh líonta nó greann nach gá chun príomhábhar an fhíseáin a thuiscint. Ní chuimsíonn sé deighleoga a sholáthraíonn sonraí comhthéacs + Ceol: Rannóg Neamh-Cheoil + Le húsáid amháin i bhfíseáin ceoil. Rannóga d\'fhíseáin ceoil gan ceol, nach bhfuil clúdaithe ag catagóir eile cheana féin + Scip + Aibhsigh + Scip urraitheoir + Scip réamhfhógrán + Scip idirghníomhú + Scip go dtí an buaicphointe + Scip intreoir + Scip idirghabháil + Scip idirghabháil + Scip an forchríoch + Scip réamhamharc + Scip réamhamharc + Scip an achoimre + Scip líonadh + Scip neamh-cheol + Scip deighleog + Urra scipeáilte + Féin-chur chun cinn scipeáilte + Meabhrúchán ciapach scipeáilte + Scipeáilte chun aird a tharraingt + Réamhrá scipeáilte + Idirmheas scipeáilte + Idirmheas scipeáilte + Scipeáilte an forchríoch + Scipeáilte an réamhléiriú + Scipeáilte an réamhléiriú + Athbhreithniú scipeáilte + Líonadh scipeáilte + Scaoileadh rannán neamh-cheoil + Deighleog gan curtha isteach scipeáilte + Scipeáilte go leor deighleoga + Scip go huathoibríoch + Scip go huathoibríoch uair amháin + Taispeáin cnaipe scipeála + Taispeáin i mbarra lorg + Díchumasaigh + Ní féidir deighleog a chur isteach: %s + Tá SponsorBlock síos go sealadach + Ní féidir deighleog a chur isteach (stádas: %1$d %2$s) + Ní féidir deighleog a chur isteach. \nRáta Teoranta (an iomarca ón úsáideoir céanna nó ón IP céanna) + Ní féidir an deighleog a chur isteach: %s + Ní féidir an deighleog a chur isteach. \nTá ann cheana féin + Déileog curtha isteach go rathúil + + Níl SponsorBlock ar fáil go sealadach (API amuigh amach) + Níl SponsorBlock ar fáil go sealadach (stádas %d) + Níl SponsorBlock ar fáil go sealadach + Ní féidir vótáil a dhéanamh don deighleog (API amuigh amach) + Ní féidir vótáil a dhéanamh don deighleog (stádas: %1$d %2$s) + Ní féidir vótáil a dhéanamh don deighleog: %s + Vótáil suas + Vótáil sios + Athraigh catagóir + Níl aon deighleoga le vótáil orthu + Roghnaigh catagóir deighleog + Tá catagóir díchumasaithe i socruithe. Cumasaigh catagóir a chur isteach. + Deighleog nua SponsorBlock + Socraigh %s mar thús nó deireadh deighleog nua? + tús + deireadh + anois + Am a thosaíonn an deighleog ag + Am a chríochnaíonn an deighleog ag + An bhfuil na hamanna ceart? + Tá an deighleog ó\n\n%1$s\nchun\n%2$s\n\n(%3$s)\n\nRéidh le cur isteach? + Caithfidh an tús a bheith roimh an deireadh + Marcáil dhá shuíomh ar an mbarra ama ar dtús + Réamhamharc ar an deighleog, agus cinntigh go scipeánann sé + Cuir uainiú deighleog in eagar + Ar mhaith leat an t-am a chur in eagar do thús nó deireadh an deighleog? + Am neamhbhailí tugtha + Staitisticí + + Níl stats ar fáil go sealadach (tá API síos) + Á lódáil... + Tá SponsorBlock míchumasaithe + D\'ainm úsáideora: <b>%s</b> + Tapáil anseo chun d\'ainm úsáideora a athrú + Ní féidir ainm úsáideora a athrú: Stádas: %1$d %2$s + Athraíodh ainm úsáideora + Tá do chlú <b>%.2f</b> + Chruthaigh tú <b>%s</b> deighleoga + Tapáil anseo chun do mhíreanna a fheiceáil + Clár ceannairí SponsorBlock + Tá daoine sábháilte agat ó <b>%s</b> deighleoga + Tapáil anseo chun na stats domhanda agus na rannpháirtithe is fearr a fheiceáil + Sin é <b>%s</b> dá saol.<br>Tapáil anseo chun an clár ceannairí a fheiceáil + Rinne tú scipeáil ar <b>%s</b> deighleoga + Sin é <b>%s</b> + Athshocrú cuntar deighleoga scipeáilte? + %1$s uaireanta %2$s nóiméad + %1$s nóiméad %2$s soicind + %s soicindí + Dath: + Athraigh dath + Athshocrú dath + Cód dath neamhbhailí + Athshocraigh dath + Athshocraigh + Maidir + Soláthraíonn an API SponsorBlock sonraí. Tapáil anseo chun níos mó a fhoghlaim agus íoslódálacha a fheiceáil d\'ardáin eile + + + Leagan aip spoof + Leagan spoofed + Leagan gan bhfoláiste + Déanfar an leagan aipe a chur in oiriúint do leagan níos sine de YouTube.\n\nAthróidh sé seo cuma agus gnéithe na haipe, ach seans go dtarlóidh fo-iarmhairtí anaithnide.\n\nMá tá sé múchta níos déanaí, moltar sonraí na haipe a ghlanadh go dtí cosc a chur ar fhabhtanna Chomhéadain. + + Sprioc leagan aip spoof + + 18.33.40 - Athchóirigh RYD ar mhodh incognito Shorts + 18.20.39 - Athchóirigh luas leathan físe & roghchlár cáilíochta + 18.09.39 - Athchóirigh cluaisín leabharlainne + 17.41.37 - Athchóirigh sean-seilf seinmliostaí + 17.33.42 - Athchóirigh sean leagan amach Chomhéadain + + + Socraigh leathanach tosaigh + Réamhshocraithe + + Baile + Cuardaigh + + Síntiúis + Déan iniúchadh + + Tú cluaisín + Físeáin a thaitin + + Stair + Ag treocht + + + Díchumasaigh an t-imreoir Shorts atá ag tosú arís + Ní thosóidh an t-imreoir shorts ar thosú an aip + Athosóidh an t-imreoir Shorts ar thosú an aip + + + Cumasaigh leagan amach na táibléad + Tá leagan amach an táibléad cumasaithe + Tá leagan amach an táibléad díchumasaithe + Ní thaispeánann poist phobail ar leagan amach táibléad + + + Miniplayer + Athraigh stíl an imreora íoslaghdaithe san aip + Cineál Miniplayer + Bunaidh + Fón + Táibléad + Nua-aimseartha 1 + Nua-Aimseartha 2 + Nua-aimseartha 3 + Folaigh cnaipí leathnú agus dún + Tá cnaipí i bhfolach\n(sleamhnaigh miniplayer chun leathnú nó dúnadh) + Taispeántar cnaipí leathnaigh agus dún + Folaigh fothéacsanna + Tá fothéacsanna i bhfolach + Taispeántar fothéacsanna + Folaigh cnaipí scipeáil ar aghaidh agus ar ais + Tá scipeanna ar aghaidh agus ar ais i bhfolach + Taispeántar scipeáil ar aghaidh agus ar ais + Trédhearcacht forleagan + Luach trédhearcachta idir 0-100, áit a bhfuil 0 trédhearcach + Caithfidh trédhearcacht forleagtha mionaimreora a bheith idir 0-100 + + + Cumasaigh scáileán luchtaithe + Beidh cúlra grádáin ag an scáileán lódála + Beidh cúlra láidir ag scáileán luchtaithe + + + Cumasaigh dath barra cuardaigh saincheaptha + Taispeántar dath barra cuardaigh saincheaptha + Taispeántar dath barr cuardaigh bunaidh + Dath barra cuardaigh saincheaptha + Dath an bharra cuardaigh + Luach dath barra cuardaigh neamhbhailí. Ag úsáid luach réamhshocraithe. + + + Seachbhóthar srianta réigiún íomhá + Ag baint úsáide as óstach íomhá yt4.ggpht.com + Ag baint úsáide as óstach íomhá bunaidh\n\nAg cumasú seo is féidir íomhánna atá ar iarraidh a shocrú atá bac orthu + + + + Cluaisín Baile + + Cluaisín síntiúis + + Tú cluaisín + Seinnliostaí imreoirí, moltaí + Torthaí cuardaigh + Mionsamhlacha bunaidh + DeArrow & Mionsamhlacha bunaidh + DeArrow & Gabhálacha fós + Gabhann fós + Soláthraíonn DeArrow mionsamhlacha foinse slua-fhoinse do físeáin YouTube. Is minic a bhíonn na mionsamhlacha seo níos ábhartha ná iad siúd a sholáthraíonn YouTube\n\nMá tá sé cumasaithe, seolfar URLanna físe chuig an bhfreastalaí API agus ní sheoltar aon sonraí eile. Mura bhfuil mionsamhlacha DeArrow ag físeán, taispeántar na gabhálacha bunaidh nó na gabhála fós\n\nTapáil anseo chun tuilleadh a fhoghlaim faoi DeArrow + Taispeáin tósta mura bhfuil API ar fáil + Taispeántar tósta mura bhfuil DeArrow ar fáil + Ní thaispeántar tósta mura bhfuil DeArrow ar fáil + Deirphointe API DeArrow + URL críochphointe taisce mionsamhail DeArrow + Gabhann físeán fós + Tógtar gabhála fós ó thos/lán/deireadh gach físeáin. Tá na híomhánna seo tógtha isteach i YouTube agus ní úsáidtear aon API seachtrach + Úsáid gabhálacha gasta fós + Ag baint úsáide as ardchaighdeán meánach Luchtaítear mionsamhlacha níos gasta, ach d\'fhéadfadh sruthanna beo, físeáin neamh-eisithe nó físeáin an-sean mionsamhlacha bána a thais + Ag baint úsáide as ardchaighdeáin fós gabhálacha + Am físe le gabháil fós a ghlacadh uaidh + Tús an fhíseáin + Lár an fhíseáin + Deireadh an fhíseáin + + Níl DeArrow ar fáil go sealadach (cód stádais: %s) + Níl DeArrow ar fáil go sealadach + + + Taispeáin fógraí ReVanced + Taispeántar fógraí ar thosú + Ní thaispeántar fógraí ar thosú + Taispeáin fógraí ar thosú + Theip ar nascadh le soláthraí fógraí + Díbhunaigh + + + Rabhadh + Níl do stair faire á sábháil.<br><br>Is é is dóichí gur seachfhreastalaí fógraí DNS nó seachfhreastalaí líonra is cúis leis seo.<br><br> Chun é seo a réiteach, déan liosta bán <b>s.youtube.com</b> nó gach seachfhreastalaí DNS a mhúchadh. + Ná taispeáin arís + + + Cumasaigh uath-athdhéanta + Tá uath-athdhéanta cumasaithe + Tá uath-athdhéanta díchumasaithe + + + Toisí feiste spoof + D\'fhéadfaí toisí feiste a dhíghlasáil\n\nD\'fhéadfaí cáilíochtaí físe níos airde a dhíghlasáil ach d\'fhéadfadh go mbeadh stuttering athsheinm físe agat, saol ceallraí níos measa, agus fo-iars + Toisí feiste nach ndéantar spoofed\n\nA chumasú seo is féidir cáilíochtaí físe níos airde a dhíghlasáil + D\'fhéadfadh sé seo a bheith ina chúis le stuttering athsheinm físe, saol ceallraí níos measa, agus fo-iarmhairtí anaithnid. + + + Socruithe GMScore + Socruithe le haghaidh GMScore + + + Atreoracha seachbhóthar URL + Seachnaítear atreoruithe URL + Ní chuirtear athsheoltaí URL + + + Oscail naisc sa bhrabhsála + Naisc a oscailt go seachtrach + Naisc a oscailt san aip + + + Bain paraiméadar ceist rianaithe + Baintear paraiméadar ceisteanna rianaithe ó naisc + Ní bhaintear paraiméadar fiosrúcháin rianaithe ó naisc + + + Díchumasaigh súmáil haptics + Tá Haptics díchumasaithe + Tá Haptics cumasaithe + + + Cáilíocht uathoibríoch + Cuimhnigh athruithe ar cháilíocht + Baineann athruithe cáilíochta le gach físeán + Ní bhaineann athruithe cáilíochta ach leis an bhfíseán reatha + Cáilíocht físe réamhshocraithe ar líonra + Cáilíocht físe réamhshocraithe ar líonra + soghluaiste + wifi + Athraigh cáilíocht réamhshocraithe %1$s go dtí: %2$s + + + Taispeáin cnaipe dialóg luais + Taispeántar an cnaipe + Ní thaispeántar an cnaipe + + + Luas athsheinm saincheaptha + Cuir nó athraigh na luasanna athsheinm atá ar fáil + Caithfidh luasanna saincheaptha a bheith níos lú ná %s. Úsáid luachanna réamhshocraithe. + Luasanna athsheinm saincheaptha neamhí Luachanna réamhshocraithe a úsáid. + + + Cuimhnigh athruithe ar luas athsheinm + Baineann athruithe luais athsheinm le gach físeáin + Ní bhaineann athruithe luas athsheinm ach leis an bhfíseán reatha + Luas athsheinm réamhshocraithe + Athraigh luas réamhshocraithe go: %s + + + Athchóirigh sean-roghchlár cáilíochta físeáin + Taispeántar sean-roghchlár cáilíochta físeáin + Ní thaispeántar sean-roghchlár cáilíochta físeáin + + + Cumasaigh sleamhnán a lorg + Tá sleamhnán le lorg cumasaithe + Níl sleamhnán le lorg cumasaithe + + + Seans go mbeidh fadhbanna athsheinm físe ag baint leis an socrú seo a mhúchadh. + Má dhéantar é seo a chumasú, d\'fhéadfadh sé go bhfeabhsófaí saol na gceallraí agus go n-athshocraigh sé stopáil athsheinm.\n\nTá uas-taifeach 1080p ag AVC, agus úsáidfidh athsheinm físe níos mó sonraí idirlín ná mar a úsáideann VP9 nó AV1. + Fo-iarsmaí spoofing iOS + Fo-iarsmaí spoofing Android VR + + + + + + + + Cuir bac ar fógraí fuaime + Cuirtear bac ar fhógraí fuaime + Déantar fógraí fuaime díbhocáilte + + + Níl %s ar fáil. Is féidir fógraí a thaispeáint Bain triail as aistriú chuig seirbhís bloc fógraí eile i socruithe. + Chuir freastalaí %s earráid ar ais. Is féidir fógraí a thaispeáint Bain triail as aistriú chuig seirbhís bloc fógraí eile i socruithe. + Bloc ar fhógraí físe leabaithe + Díchumasaithe + Proxy lonrúil + Seachfhreastalaí PurpleAdBlock + + + Bloc ar fhógraí físe + Cuirtear bac ar fhógraí físe + Déantar fógraí físe a dhíbhlocáil + + + teachtaireacht scriosta + Taispeáin teachtaireachtaí scriosta + Ná taispeáin teachtaireachtaí scriosta + Folaigh teachtaireachtaí scriosta taobh thiar de spoiler + Taispeáin teachtaireachtaí scriosta mar théacs trasnaithe + + + Tóg Pointí Cainte go huathoibríoch + Éilítear Pointí Cainéal go huathoibríoch + Ní éilítear Pointí Cainéal go huathoibríoch + + + + Cumasaigh modh dífhabhtú Twitch + Tá modh dífhabhtaithe Twitch cumasaithe (ní mholtar) + Tá modh dífhabhtaithe Twitch díchumasaithe + + + Socruithe ReVanced + Fógraí + Socruithe blocála fógraí + Comhrá + Socruithe comhrá + Misc + Socruithe ilghnéitheacha + Socruithe ginearálta + Socruithe eile + Fógraí taobh an chliaint + Fógraí surestream ar thaobh an fhreastalaí + Logáil dífhabhtaithe + Tá logaí dífhabhtaithe cumasaithe + Tá logaí dífhabhtaithe díchumasaithe + + + diff --git a/src/main/resources/addresources/values-gl-rES/strings.xml b/src/main/resources/addresources/values-gl-rES/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/src/main/resources/addresources/values-gl-rES/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-gu-rIN/strings.xml b/src/main/resources/addresources/values-gu-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-hi-rIN/strings.xml b/src/main/resources/addresources/values-hi-rIN/strings.xml index b8028e674..546abac18 100644 --- a/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -32,16 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + रीसेट करें + - - विवरण @@ -59,7 +60,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -175,8 +176,6 @@ This is because Crowdin requires temporarily flattening this file and removing t स्वरूप - लोड हो रहा है... रीसेट करें @@ -244,10 +243,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-hr-rHR/strings.xml b/src/main/resources/addresources/values-hr-rHR/strings.xml index 31c8255d3..394abff1b 100644 --- a/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-hu-rHU/strings.xml b/src/main/resources/addresources/values-hu-rHU/strings.xml index 0ac7f429d..19f3f9c8e 100644 --- a/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Az ellenőrzések sikertelenek + Hivatalos webhelyet megnyitása + Mellőzés + <h5>Úgy tűnik, hogy ezt az alkalmazást nem Ön javította.</h5><br>Lehet, hogy ez az alkalmazás nem működik megfelelően, <b>ártalmas vagy akár veszélyes is lehet a használata</b>.< br><br>Ezek az ellenőrzések arra utalnak, hogy ez az alkalmazás előre javítva van, vagy valaki mástól szerezte be:<br><br><small>%1$s</small><br>Erősen ajánlott <b>távolítsa el ezt az alkalmazást, és saját maga javítsa meg</b> annak biztosítása érdekében, hogy érvényesített és biztonságos alkalmazást használjon.<p><br>Ha figyelmen kívül hagyja, ez a figyelmeztetés csak kétszer jelenik meg. + Patchelve egy másik eszközön + Nem a ReVanced Manager telepítette + Több mint 10 perce patchelve + %s napja patchelve + Az APK felépítési dátuma sérült + Szeretné folytatni? Visszaállítás @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t A ReVanced beállítások visszaállnak az alapértelmezettre %d beállítás importálva Sikertelen importálás: %s + Import / Export + ReVanced beállítások importálása / exportálása + + A ReVanced Patchek <i>%s<i> verzióját használja + Megjegyzés + Ez a verzió egy előzetes kiadás, és nem kívánt hibákat tapasztalhat + Hivatalos linkek + Támogatás @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - A ReVanced Patchek <i>%s<i> verzióját használja - Megjegyzés - Ez a verzió egy előzetes kiadás, és nem kívánt hibákat tapasztalhat - Hivatalos linkek - Import / Export - ReVanced beállítások importálása / exportálása - Rólunk Hirdetések @@ -69,7 +80,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Hírfolyam Lejátszó Általános elrendezés - Shorts Keresősáv Csúsztatási vezérlők Egyéb @@ -243,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Elrejtendő kulcsszavak - Elrejtendő kulcsszavak és kifejezések, új sorokkal elválasztva.\n\nA szóközépen nagy betűt tartalmazó szavaknál a kis- és nagybetűknek a megfelelő helyen kell lennie (pl: iPhone, TikTok, LeBlanc) + Elrejteni kívánt kulcsszavak és kifejezések, új sorokkal elválasztva\n\nA kulcsszavak lehetnek csatornanevek vagy bármilyen szöveg, amely a videók címében látható\n\nA középen nagybetűs szavakat a kis- és nagybetűkkel együtt kell megadni (pl. iPhone, TikTok, LeBlanc) A kulcsszó alapú szűrésről - A Kezdőlap/Feliratkozások/Keresés eredményei a kulcsszóval megegyező tartalom elrejtésére vannak szűrve\n\nKorlátozások\n• Néhány Shorts lehet, hogy nem lesz elrejtve\n• Néhány UI elem lehet, hogy nem lesz elrejtve\n• Előfordulhat, hogy a kulcsszó keresése nem hoz eredményt + A Főoldal/Feliratkozás/Keresési eredményeket a rendszer kiszűri, hogy elrejtse a kulcsszókifejezéseknek megfelelő tartalmat.\n\nKorlátozások\n• A rövidfilmeket nem lehet elrejteni a csatornanév alapján\n• Előfordulhat, hogy egyes kezelőfelület-összetevők nincsenek elrejtve\n• A kulcsszó keresése nem ad eredményt + Párosítson egész szavakat + + Ha egy kulcsszót/kifejezést dupla idézőjelekkel vesz körül, akkor elkerülhető a videócímek és a csatornanevek részleges egyezése<br><br>Például:<br><b>\"ai\"</b> elrejti a videót: <b>Hogyan működik az AI?</b><br>de nem rejti el: <b>Mit jelent a fair use?</b> - Érvénytelen kulcsszó.\'%s\'nem használható szűrőként - - Helytelen kulcsszó. \'%1$s\' kevesebb, mint %2$d karakter - \'%s\' kulcsszó elrejti az összes videót + Nem használható kulcsszó: %s + Adjon hozzá idézeteket a következő kulcsszóhoz: %s + A kulcsszónak ütköző deklarációi vannak: %s + A kulcsszó túl rövid, és idézőjeleket igényel: %s + A kulcsszó elrejti az összes videót: %s Általános hirdetések elrejtése @@ -679,7 +693,6 @@ This is because Crowdin requires temporarily flattening this file and removing t A lejátszó fedvény átlátszatlanságának 0 és 100 között kell lennie - Rejtett A nem tetszik funkció átmenetileg nem elérhető A nem tetszik funkció nem elérhető (állapot: %d) @@ -775,6 +788,7 @@ This is because Crowdin requires temporarily flattening this file and removing t A kihagyások számának követése nem engedélyezett Minimális szegmens időtartam A beállított értéknél (másodpercben) rövidebb szakaszokat nem hagyja ki vagy nem jeleníti meg + Érvénytelen időtartam Az Ön privát felhasználói azonosítója Ezt bizalmasan kell kezelni. Olyan mint egy jelszó és senkivel sem ajánlott megosztani. Ha valaki megszerzi, meg tudja személyesíteni önt A privát felhasználói azonosítónak legalább 30 karakter hosszúnak kell lennie @@ -875,8 +889,6 @@ This is because Crowdin requires temporarily flattening this file and removing t A szakasz kezdetének időpontja: A szakasz végének időpontja: Helyesek az időpontok? - A szegmens:\n\n%1$s\n\n%2$s\n\n(%3$s)\n\nKészen áll a beküldésre? A kezdetnek a vége előtt kell lennie Előbb jelöljön meg két pontot az idősávon @@ -895,6 +907,7 @@ This is because Crowdin requires temporarily flattening this file and removing t A felhasználónév sikeresen módosítva Az ön hírneve: <b>%.2f</b> <b>%s</b> szegmenst készítettél + Koppintson ide a szegmensek megtekintéséhez SponsorBlock ranglista <b>%s</b> szegmenstől mentettél meg másokat Koppintson ide a globális statisztikák és a kiemelt közreműködők megtekintéséhez @@ -1040,6 +1053,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Figyelmeztetés + A megtekintési előzmények mentése nem történik meg.<br><br>Ezt valószínűleg egy DNS-hirdetésblokkoló vagy hálózati proxy okozza.<br><br>A probléma megoldásához vegye fel az engedélyezőlistára az <b>s.youtube.com</b> domaint vagy kapcsolja ki az összes DNS-blokkolót és proxyt. Ne jelenjen meg többet @@ -1116,20 +1130,11 @@ This is because Crowdin requires temporarily flattening this file and removing t A csúsztatás a kereséshez engedélyezve van A csúsztatás a kereséshez nincs engedélyezve - - Hamis kliens - Hamisítsa meg a klienst a lejátszási problémák elkerülése érdekében - Hamis kliens - A kliens meghamisítva - A kliens nincs hamisítva\n\nLehet, hogy a videólejátszás nem működik - A beállítás kikapcsolása videolejátszási problémákat okozhat. - Hamis kliens iOS-re - A kliens jelenleg Android VR-re van hamisítva. A mellékhatások a következők:\n• Nincs HDR-videó\n• A gyerekeknek készült videók nem játszhatók le\n• A szüneteltetett videók véletlenszerűen folytatódhatnak\n• Rossz minőségű rövidfilmek kereshető indexképei\n• Letöltés művelet gomb el van rejtve\n• A záróképernyő-kártyák el vannak rejtve - Hamis kliens miniatűrök nem érhetők el (API időtúllépés) - A hamis kliens miniatűrök átmenetileg nem érhetők el: %s - - - + + A beállítás kikapcsolása videolejátszási problémákat okozhat. + Ennek engedélyezése javíthatja az akkumulátor élettartamát, és kijavíthatja a lejátszás akadozását.\n\nAz AVC maximális felbontása 1080p, és a videolejátszás több internetadatot használ, mint a VP9 vagy az AV1. + iOS hamisítási mellékhatások + Android VR-hamisítási mellékhatások diff --git a/src/main/resources/addresources/values-hy-rAM/strings.xml b/src/main/resources/addresources/values-hy-rAM/strings.xml index 0883784ad..a97b42f8b 100644 --- a/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-in-rID/strings.xml b/src/main/resources/addresources/values-in-rID/strings.xml index 34da25117..3e6b69585 100644 --- a/src/main/resources/addresources/values-in-rID/strings.xml +++ b/src/main/resources/addresources/values-in-rID/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Pemeriksaan gagal + Buka situs resminya + Abaikan + <h5>Aplikasi ini tampaknya tidak dipatch oleh Anda.</h5><br>Aplikasi ini mungkin tidak berfungsi dengan baik, <b>bisa berbahaya atau bahkan membahayakan untuk digunakan</b>.<br><br>Pemeriksaan ini berarti bahwa aplikasi ini telah dipatch sebelumnya atau diperoleh dari orang lain:<br><br><small>%1$s</small><br>Sangat disarankan untuk <b>mencopot pemasangan aplikasi ini dan mempatchnya sendiri</b> guna memastikan Anda menggunakan aplikasi yang tervalidasi dan aman.<p><br>Jika diabaikan, peringatan ini hanya akan ditampilkan dua kali. + Dipatch pada perangkat yang berbeda + Tidak dipasang oleh ReVanced Manager + Dipatch lebih dari 10 menit yang lalu + Dipatch %s hari yang lalu + Tanggal pembuatan APK rusak + Apakah Anda ingin melanjutkan? Setel ulang @@ -39,29 +50,29 @@ This is because Crowdin requires temporarily flattening this file and removing t Mulai ulang Impor Salin - Pengaturan ReVanced direset ke setelan awal + Pengaturan ReVanced diatur ke setelan awal Mengimpor setelan %d Impor gagal: %s - - - - MicroG GmsCore belum dipasang. Pasang dulu. - Perlu tindakan - MicroG GmsCore tidak memiliki izin untuk berjalan di latar belakang.\n\nIkuti panduan \"Don\'t kill my app\" untuk ponsel Anda, dan terapkan petunjuk tersebut pada pemasangan MicroG Anda.\n\nIni diperlukan supaya aplikasi dapat berfungsi. - Buka situs - Pengoptimalan baterai MicroG GmsCore harus dinonaktifkan untuk mencegah masalah.\n\nKetuk tombol lanjutkan dan matikan pengoptimalan baterai. - Lanjut - - - - + Impor / Ekspor + Impor / Ekspor setelan ReVanced + Anda menggunakan ReVanced Patches versi <i>%s</i> Catatan Versi ini prarilis dan kemungkinan akan ada masalah tak terduga Tautan resmi - Impor / Ekspor - Impor / Ekspor setelan ReVanced + Donasi + + + MicroG GmsCore belum dipasang. Pasang dulu. + Tindakan diperlukan + MicroG GmsCore tidak memiliki izin untuk berjalan di latar belakang.\n\nIkuti panduan \"Don\'t kill my app\" untuk ponsel Anda, dan terapkan petunjuk tersebut pada pemasangan MicroG Anda.\n\nIni diperlukan supaya aplikasi dapat berfungsi. + Buka situs + Pengoptimalan baterai MicroG GmsCore harus dinonaktifkan untuk mencegah masalah.\n\nKetuk tombol lanjutkan dan matikan pengoptimalan baterai. + Lanjutkan + + + Tentang Iklan @@ -100,7 +111,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Pemisah abu-abu ditampilkan Sembunyikan watermark saluran Tanda air disembunyikan - Watermark ditampilkan + Tanda air ditampilkan Sembunyikan rak mendatar Rak berikut disembunyikan:\n• Berita sela\n• Lanjut menonton\n• Jelajahi saluran lain\n• Belanja\n• Tonton lagi Rak ditampilkan @@ -139,9 +150,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Sembunyikan opsi deret di bawah video Opsi deret disembunyikan Chip yang dapat diperluas ditampilkan - Sembunyikan footer menu mutu video - Footer menu mutu video disembunyikan - Footer menu mutu video ditampilkan + Sembunyikan footer menu kualitas video + Footer menu kualitas video disembunyikan + Footer menu kualitas video ditampilkan Sembunyikan post. komunitas Post. komunitas disembunyikan Postingan komunitas ditampilkan @@ -151,8 +162,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Sembunyikan bagian film Bagian film disembunyikan Bagian film ditampilkan - Sembunyikan survei - Survei disembunyikan + Sembunyikan umpan survei + Survei umpan balik disembunyikan Survei umpan balik ditampilkan Sembunyikan pedoman komunitas Pedoman komunitas disembunyikan @@ -211,6 +222,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Sembunyikan kartu info Kartu info sudah disembunyikan Bagian kartu info sudah ditampilkan + Sembunyikan bagian \'Konsep kunci\' + Bagian \'Konsep kunci\' disembunyikan + Bagian \'Konsep kunci\' ditampilkan Sembunyikan bagian transkrip Bagian transkrip sudah disembunyikan Bagian transkrip sudah ditampilkan @@ -239,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Kata kunci yang ingin disembunyikan - Kata kunci dan frasa yang ingin disembunyikan, dipisahkan dengan baris baru\n\nKata dengan huruf kapital di tengah harus dimasukkan dengan huruf besar (contoh: iPhone, TikTok, LeBlanc) + Kata kunci dan frasa yang akan disembunyikan, dipisahkan dengan baris baru\n\nKata kunci dapat berupa nama saluran atau teks apapun yang ditampilkan dalam judul video\n\nKata-kata dengan huruf kapital di tengah harus dimasukkan dengan huruf besar (misalnya: iPhone, TikTok, LeBlanc) Tentang penyaringan kata kunci - Beranda/Langganan/Hasil penelusuran disaring untuk menyembunyikan konten yang cocok dengan frasa kata kunci\n\nBatasan\n• Beberapa video Shorts mungkin tidak disembunyikan\n• Beberapa komponen UI mungkin tidak disembunyikan\n• Penelusuran dengan kata kunci mungkin tidak menunjukkan hasil + Beranda/Langganan/Hasil pencarian disaring untuk menyembunyikan konten yang cocok dengan frasa kata kunci\n\nKeterbatasan\n• Shorts tidak dapat disembunyikan berdasarkan nama saluran\n• Beberapa komponen UI mungkin tidak disembunyikan\n• Pencarian kata kunci mungkin tidak menampilkan hasil apapun + Cocokkan seluruh kata + + Melingkupi kata kunci/frasa dengan tanda kutip ganda akan mencegah pencocokan sebagian judul video dan nama saluran<br><br>Misalnya,<br><b>\"ai\"</b> akan menyembunyikan video: <b>Bagaimana cara kerja AI?</b><br>tetapi tidak akan menyembunyikan: <b>Apa yang dimaksud dengan Jakarta Fair?</b> - Kata kunci tidak sah: \'%s\' - - Kata kunci tidak sah. \'%1$s\' kurang dari %2$d karakter - Kata kunci \'%s\' akan menyembunyikan semua video + Tidak dapat menggunakan kata kunci: %s + Tambahkan tanda kutip untuk menggunakan kata kunci: %s + Kata kunci punya keterangan yang bertentangan: %s + Katakunci terlalu pendek dan butuh tanda kutip: %s + Kata kunci akan menyembunyikan semua video: %s Sembunyikan iklan umum @@ -454,9 +472,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Menu caption disembunyikan Menu caption ditampilkan - Sembunyikan P\'aturan tambahan - Menu p\'aturan tambahan disembunyikan - Menu p\'aturan tambahan ditampilkan + Sembunyikan Pengaturan tambahan + Menu pengaturan tambahan disembunyikan + Menu pengaturan tambahan ditampilkan Sembunyikan Ulangi video Menu ulangi video disembunyikan @@ -612,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Sembunyikan tombol simpan suara ke daftar putar Simpan suara ke daftar putar disembunyikan Simpan suara ke daftar putar ditampilkan + Sembunyikan gunakan tombol suara ini + Gunakan tombol suara ini disembunyikan + Gunakan tombol suara ini ditampilkan Sembunyikan saran penelusuran Saran penelusuran disembunyikan Saran penelusuran ditampilkan @@ -675,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Opasitas overlay pemutar harus di antara 0-100 - Tersembunyi Dislike sementara tidak tersedia (waktu API habis) Dislike tidak tersedia (status %d) @@ -771,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Pelacakan melewati hitungan tidak dinyalakan Durasi minimum segmen Segmen yang lebih pendek pada dari nilai ini (detik) tidak akan ditampilkan atau dilewati + Durasi waktu tidak valid ID user pribadi Anda Ini harus dijaga kerahasiaannya. Seperti kata sandi dan tidak disarankan untuk dibagikan dengan siapa pun. Jika seseorang mendapatkan ini, mereka dapat menyamar sebagai Anda ID user harus tidak lebih dari 30 karakter @@ -871,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Waktu segmen dimulai pada Waktu segmen diakhiri pada Apakah waktunya benar? - Segmen dari\n\n%1$s\nke\n%2$s\n\n(%3$s)\n\nSiap dikirim? Awal harus sebelum akhir Tandai terlebih dahulu dua lokasi di kotak waktu @@ -891,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Nama pengguna berhasil diubah Reputasi Anda: <b>%.2f</b> Anda telah membuat segmen <b>%s</b> + Ketuk di sini untuk melihat segmen Anda Papan peringkat SponsorBlock Anda menghindarkan orang dari segmen <b>%s</b> Tekan di sini untuk melihat data global dan kontributor utama @@ -943,50 +963,115 @@ This is because Crowdin requires temporarily flattening this file and removing t Matikan melanjutkan pemutar video Shorts + Pemutaran Shorts tidak akan dilanjutkan saat aplikasi dimulai + Pemutaran Shorts akan dilanjutkan saat aplikasi dimulai + Aktifkan tata letak tablet + Tata letak tablet diaktifkan + Tata letak tablet dinonaktifkan + Tidak ada postingan komunitas untuk tablet Pemutar Mini - Orisinal + Mengubah gaya pemutar aplikasi saat diciuitkan + Jenis miniplayer + Asli Ponsel Tablet Modern 1 Modern 2 Modern 3 + Sembunyikan perbesar dan tutup + Tombol disembunyikan\n(usap miniplayer untuk membentang/tutup) + Tombol bentang dan tutup ditampilkan Sembunyikan subteks + Subteks disembunyikan + Subteks ditampilkan + Sembunyikan percepat dan kembali + Kembali dan percepat disembunyikan + Kembali dan percepat ditampilkan Kelegapan hamparan + Nilai opasitas antara 0-100, di mana 0 adalah transparan + Opasiti overlay miniplayer harus antara 0-100 + Aktifkan layar pemuatan gradien + Layar pemuatan akan memiliki latar belakang gradien + Layar pemuatan akan memiliki latar belakang yang solid + Aktifkan warna bilah pencarian khusus + Warna bilah pencarian khusus ditampilkan + Warna bilah pencarian asli ditampilkan + Warna seekbar kustom + Warna dari seekbar + Nilai warna bilah pencarian tidak sah. - Abaikan batasan daerah gambar + Abaikan pembatasan wilayah gambar Menggunakan sumber yt4.ggpht.com Menggunakan sumber gambar asli\n\nMengaktifkan ini akan memperbaiki gambar hilang di daerah tertentu + Tab beranda + Tab langganan + Tab Anda + Daftar putar video, anjuran + Hasil pencarian + Thumbnail asli + DeArrow & Thumbnail asli + DeArrow & Gambar diam + Tangkapan diam + DeArrow menyediakan thumbnail yang dibuat oleh banyak orang untuk video YouTube. Thumbnail ini seringkali lebih relevan daripada yang disediakan oleh YouTube\n\nJika dinyalakan, URL video akan dikirim ke server API dan tidak ada data lain yang dikirim. Jika video tidak memiliki thumbnail DeArrow, maka rekaman asli atau gambar diam akan ditampilkan\n\nKetuk di sini untuk mempelajari lebih lanjut tentang DeArrow + Tampilkan pemberitahuan halus jika API tidak tersedia + Pemberitahuan halus ditampilkan jika DeArrow tidak tersedia + Pemberitahuan halus tidak ditampilkan jika DeArrow tidak tersedia + Titik akhir API DeArrow + URL titik akhir cache thumbnail DeArrow + Tangkapan video diam + Tangkapan gambar diam diambil dari awal/tengah/akhir setiap video. Gambar-gambar ini dibuat di YouTube dan tidak ada API eksternal yang digunakan + Gunakan tangkapan diam cepat + Menggunakan tangkapan kualitas sedang. Gambar mini akan dimuat lebih cepat, tetapi siaran langsung, video yang belum dirilis, atau video yang sangat lama mungkin menampilkan gambar mini kosong + Menggunakan gambar diam berkualitas tinggi + Lama waktu menangkap layar video + Awal video + Pertengahan video + Akhir video + DeArrow sementara ini tidak tersedia (kode status: %s) + DeArrow sementara ini tidak tersedia + Tampilkan pengumuman ReVanced + Pengumuman dimunculkan di awal buka + Pengumuman tidak dimunculkan di awal buka + Tampilkan pengumuman di awal buka + Gagal menghubungkan ke penyedia pengumuman Abaikan Peringatan + Riwayat tontonan Anda tidak disimpan.<br><br>Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.<br><br>Untuk memperbaikinya, masukkan daftar putih <b>s.youtube.com</b> atau matikan semua pemblokir DNS dan proksi. Jangan tampilkan lagi + Aktifkan ulang-otomatis + Ulang-otomatis diaktifkan + Ulang-otomatis dinonaktifkan + Palsukan dimensi perangkat Dimensi perangkat dipalsukan\n\nAkan ada resolusi video lebih tinggi tapi video jadi patah-patah, baterai terkuras, dan efek samping tidak jelas Dimensi perangkat tidak dipalsukan\n\nMengaktifkan ini akan ada resolusi video lebih tinggi Mengaktifkan ini menyebabkan video jadi patah-patah, baterai terkuras, dan efek samping tidak jelas. + Pengaturan GmsCore + Pengaturan untuk GmsCore Abaikan pengalihan URL @@ -994,41 +1079,76 @@ This is because Crowdin requires temporarily flattening this file and removing t Pengalihan URL tidak diabaikan + Buka tautan di peramban + Membuka tautan di eksternal + Membuka tautan di aplikasi + Hapus parameter kueri pelacakan + Parameter kueri pelacakan dihapus dari tautan + Parameter kueri pelacakan tidak dihapus dari tautan + Matikan getaran zoom + Sentuh getar dinonaktifkan + Sentuh getar diaktifkan - Mutu video otomatis - Ingat perubahan mutu video - Perubahan mutu diatur ke semua video - Perubahan mutu hanya diatur di video saat ini - Mutu video ke bawaan di jejaring Wi-Fi - Mutu video ke bawaan di jejaring seluler + Kualitas otomatis + Ingat perubahan kualitas video + Perubahan kualitas diatur ke semua video + Perubahan kualitas hanya diatur di video saat ini + Kualitas video bawaan di jaringan Wi-Fi + Kualitas video bawaan di jaringan selular seluler wifi - Mutu bawaan %1$s diubah ke: %2$s + Kualitas bawaan %1$s diubah ke: %2$s + Tampilkan tombol dialog kecepatan Tombol ditampilkan Tombol tidak ditampilkan + Kecepatan putar kustom + Tambah atau ubah kecepatan putar yang tersedia + Kecepatan khusus harus kurang dari %s. Menggunakan nilai bawaan. + Kecepatan pemutaran khusus tidak sah. + Ingat perubahan kecepatan pemutaran + Perubahan kecepatan pemutaran berlaku untuk semua video + Perubahan kecepatan pemutaran berlaku untuk video saat ini + Kecepatan pemutaran bawaan + Mengubah kecepatan bawaan menjadi: %s - Pulihkan menu lawas mutu video - Menu lawas mutu video ditampilkan - Menu lawas mutu video tidak ditampilkan + Pulihkan menu kualitas video lawas + Menu kualitas video lawas ditampilkan + Menu kualitas video lawas tidak ditampilkan + Nyalakan geser untuk mencari + Geser untuk mencari dinyalakan + Geser untuk mencari tidak dinyalakan - - - - + + Palsukan aliran video + Palsukan klien aliran video untuk mencegah masalah pemutaran + Palsukan aliran video + Aliran video dipalsukan + Aliran video tidak dipalsukan\n\nPemutaran video mungkin tidak berfungsi + Mematikan pengaturan ini dapat menyebabkan masalah pemutaran video. + Klien bawaan + Paksa AVC (H.264) + Kodek video adalah AVC (H.264) + Kodek video adalah VP9 atau AV1 + Perangkat Anda tidak memiliki dekode perangkat keras VP9, ​​dan pengaturan ini selalu aktif saat pemalsuan Klien diaktifkan + Menyalakan ini dapat meningkatkan masa pakai baterai dan memperbaiki gangguan pemutaran.\n\nAVC memiliki resolusi maksimum 1080p, dan pemutaran video akan menggunakan lebih banyak data internet daripada VP9 atau AV1. + Efek samping pemalsuan iOS + • Film atau video berbayar mungkin tidak dapat diputar\n• Siaran langsung dimulai dari awal + Efek samping pemalsuan Android VR + • Menu trek audio hilang @@ -1036,13 +1156,29 @@ This is because Crowdin requires temporarily flattening this file and removing t + Blokir iklan audio + Iklan audio diblokir + Iklan audio tidak diblokir + %s tidak tersedia. Iklan mungkin muncul. Coba beralih ke layanan pemblokir iklan lain di pengaturan. + Server %s mengalami kesalahan. Iklan mungkin muncul. Coba beralih ke layanan pemblokir iklan lain di pengaturan. + Blokir iklan video yang disematkan Nonaktif + Proksi Luminous + Proksi PurpleAdBlock + Blokir iklan video + Iklan video diblokir + Iklan video tidak diblokir + pesan terhapus + Tampilkan pesan yang terhapus + Jangan tampilkan pesan yang terhapus + Sembunyikan pesan yang dihapus di balik spoiler + Tampilkan pesan yang dihapus sebagai teks yang dicoret Klaim Poin Saluran secara otomatis @@ -1051,10 +1187,22 @@ This is because Crowdin requires temporarily flattening this file and removing t + Nyalakan mode debug Twitch + Mode debug Twitch dinyalakan (tidak disarankan) + Mode debug Twitch dimatikan + Pengaturan ReVanced Iklan + Pengaturan pemblokir iklan + Obrolan + Pengaturan obrolan Lainnya + Pengaturan lain-lain + Pengaturan umum + Pengaturan lainnya + Iklan sisi klien + Iklan surestream di sisi server Log awakutu Log awakutu diaktifkan Log awakutu dinonaktifkan diff --git a/src/main/resources/addresources/values-is-rIS/strings.xml b/src/main/resources/addresources/values-is-rIS/strings.xml index 6ba094d0d..d7394f015 100644 --- a/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/src/main/resources/addresources/values-is-rIS/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-it-rIT/strings.xml b/src/main/resources/addresources/values-it-rIT/strings.xml index fdce3f5df..4be5ebba7 100644 --- a/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/src/main/resources/addresources/values-it-rIT/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Controlli falliti + Apri sito ufficiale + Ignora + <h5>Questa app non sembra essere patched da te.</h5><br>Questa app potrebbe non funzionare correttamente, <b>potrebbe essere dannosa o addirittura pericolosa da usare</b>.<br><br>Questi controlli implicano che questa app sia pre-patchata o ottenuta da qualcun altro:<br><br><small>%1$s</small><br>Si consiglia vivamente di <b>disinstallare questa app e patch te stesso</b> per assicurarsi di utilizzare un\'app convalidata e sicura.<p><br>Se ignorato, questo avviso verrà visualizzato solo due volte. + Patchato su un altro dispositivo + Non installato da ReVanced Manager + Patched more than 10 minutes ago + Patched %s days ago + La data di compilazione APK è danneggiata + Sei sicuro di voler continuare? Reimposta @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Reimposta le impostazioni di ReVanced a quelle di default Importate %d impostazioni Importazione fallita: %s + Importa / Esporta + Importa / Esporta impostazioni ReVanced + + Stai usando la versione <i>%s</i> di ReVanced Patches + Nota + Questa versione è una pre-release e potresti riscontrare problemi inaspettati + Link ufficiali + Dona @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - Stai usando la versione <i>%s</i> di ReVanced Patches - Nota - Questa versione è una pre-release e potresti riscontrare problemi inaspettati - Link ufficiali - Importa / Esporta - Importa / Esporta impostazioni ReVanced - Informazioni Annunci @@ -242,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Parole chiave da nascondere - Parole chiave e frasi da nascondere, separate da nuove linee\n\nLe parole con lettere maiuscole nel centro devono essere inserite con il budello (ie: iPhone, TikTok, LeBlanc) + Parole chiave e frasi da nascondere, separate da nuove righe\n\nLe parole chiave possono essere nomi di canali o qualsiasi testo mostrato nei titoli video\n\nLe parole con lettere maiuscole nel centro devono essere inserite con il contenitore (es: iPhone, TikTok, LeBlanc) Informazioni sul filtro delle parole chiave - Home/Abbonamento/I risultati della ricerca sono filtrati per nascondere il contenuto che corrisponde alle frasi di parole chiave\n\nLimitazioni\n• Alcuni Shorts potrebbero non essere nascosti\n• Alcuni componenti dell\'interfaccia utente potrebbero non essere nascosti\n• La ricerca di una parola chiave potrebbe non mostrare alcun risultato + Home/Abbonamento/I risultati della ricerca sono filtrati per nascondere il contenuto che corrisponde alle frasi di parole chiave\n\nLimitazioni\n• I resort non possono essere nascosti dal nome del canale\n• Alcuni componenti dell\'interfaccia utente potrebbero non essere nascosti\n• La ricerca di una parola chiave potrebbe non mostrare alcun risultato + Corrispondenza parole intere + + Circondare una parola chiave/frase con doppie virgolette impedirà partite parziali di titoli video e nomi di canali<br><br>Per esempio,<br><b>\"ai\"</b> nasconderà il video: <b>How does AI work?</b><br>ma non si nasconde: <b>What does fair use mean?</b> - Parola chiave non valida. Impossibile utilizzare: \'%s\' come filtro - - Parola chiave non valida. \'%1$s\' è minore di %2$d caratteri - La parola chiave \'%s\' nasconderà tutti i video + Impossibile usare la parola chiave: %s + Aggiungi preventivi per usare la parola chiave: %s + La parola chiave ha dichiarazioni in conflitto: %s + Parola chiave troppo corta e richiede preventivi: %s + Parola chiave nasconderà tutti i video: %s Nascondi gli annunci generali @@ -615,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Nascondi il pulsante Salva suono nella playlist Salva il suono nella scaletta è nascosto Il suono di salvataggio nella scaletta è mostrato + Nascondi il pulsante audio + Usa questo pulsante audio è nascosto + Usa questo pulsante audio è mostrato Nascondi suggerimenti di ricerca I suggerimenti di ricerca sono nascosti I suggerimenti di ricerca sono mostrati @@ -678,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t L\'opacità della sovrapposizione del lettore deve essere compresa tra 0-100 - Nascosto API dei Dislike temporaneamente non disponibile Non piace (stato %d) @@ -774,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Il tracciamento del contatore Skip non è abilitato Durata minima segmento I segmenti più corti di questo valore (in secondi) non verranno mostrati o saltati + Durata del tempo non valida Id utente privato Questo dovrebbe essere tenuto privato. Questo è come una password e non dovrebbe essere condiviso con nessuno. Se qualcuno possiede questo ID, ti può impersonare L\'id utente privato deve essere lungo almeno 30 caratteri @@ -874,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Minutaggio dell\'inizio del segmento Minutaggio della fine del segmento I valori sono corretti? - Il segmento parte da\n\n%1$s\na\n%2$s\n\n(%3$s)\n\nPronto per l\'invio? L\'inizio deve essere prima della fine Segna prima due posizioni sulla barra di avanzamento @@ -894,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Il tuo nome utente è stato correttamente modificato La tua reputazione è <b>%.2f</b> Hai creato segmenti <b>%s</b> + Tocca qui per visualizzare i tuoi segmenti Classifica di SponsorBlock Hai salvato le persone dai segmenti <b>%s</b> Tocca qui per vedere le statistiche globali e i migliori contributori @@ -1115,21 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t La diapositiva per cercare è abilitata La diapositiva per cercare non è abilitata - - Simula client - Simula il client per prevenire problemi di riproduzione - Simula client - Il client è simulato - Il client non è simulato\n\nLa riproduzione video potrebbe non funzionare - Disattivare questa impostazione potrebbe causare problemi di riproduzione video. - Spoof client per iOS - Il client è attualmente spoofed per iOS\n\nGli effetti collaterali includono:\n• video HDR potrebbe non essere disponibile\n• La cronologia degli orologi non funziona con un account di marca - Il client è attualmente spoofed per Android VR. Gli effetti collaterali includono:\n• Nessun video HDR\n• I video per bambini non riproducono\n• I video in pausa possono riprendere casualmente\n• Bassa qualità Pantaloncini seekbar miniature\n• Il pulsante di azione per scaricare è nascosto\n• Le schede dello schermo finale sono nascoste - Le miniature del client non sono disponibili (timeout API) - Miniature del client Spoof temporaneamente non disponibili: %s - - - + + Spoof flussi video + Abbandonare i flussi video client per evitare problemi di riproduzione + Spoof flussi video + I flussi video sono spoofed + I flussi video non sono spoofed\n\nLa riproduzione video potrebbe non funzionare + Disattivare questa impostazione potrebbe causare problemi di riproduzione video. + Client predefinito + Forza AVC (H.264) + Il codec video è AVC (H.264) + Il codec video è VP9 o AV1 + Il tuo dispositivo non ha la decodifica hardware VP9, e questa impostazione è sempre attiva quando lo spoofing client è abilitato + Abilitando questo si potrebbe migliorare la durata della batteria e correggere la riproduzione della balbuzia.\n\nAVC ha una risoluzione massima di 1080p, e la riproduzione video utilizzerà più dati internet di VP9 o AV1. + iOS spoofing effetti collaterali + • I film o i video a pagamento potrebbero non riprodurre\n• Livestreams start dall\'inizio + Android VR spoofing effetti collaterali + • Manca il menu traccia audio diff --git a/src/main/resources/addresources/values-iw-rIL/strings.xml b/src/main/resources/addresources/values-iw-rIL/strings.xml index 506a375b9..e7a9ec66a 100644 --- a/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -32,16 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + איפוס + - - אודות שונות @@ -61,7 +62,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -167,7 +168,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - מוסתר @@ -221,8 +221,6 @@ This is because Crowdin requires temporarily flattening this file and removing t סוף עכשיו האם הזמנים נכונים? - סמן שני מיקומים על סרגל הזמן תחילה נרשם זמן לא חוקי נתונים @@ -298,10 +296,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-ja-rJP/strings.xml b/src/main/resources/addresources/values-ja-rJP/strings.xml index e14acc851..34a5c4fdd 100644 --- a/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -32,6 +32,15 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + チェックに失敗しました + 公式ウェブサイトを開く + 無視 + 別のデバイスにパッチを適用しました + ReVanced Manager によってインストールされていません + 10分以上前にパッチを適用しました + APKビルド日付が破損しています + ReVanced 続行しますか? @@ -43,6 +52,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Revanced設定をデフォルトにリセット %d の設定をインポートしました インポート失敗: %s + インポート/エクスポート + Revanced設定のインポート/エクスポート + + ReVancedパッチのバージョン <i>%s</i> を使用しています + メモ + このバージョンはプレリリースで、予期しない問題が発生する可能性があります。 + 公式リンク + 寄付 @@ -55,15 +72,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - ReVancedパッチのバージョン <i>%s</i> を使用しています - メモ - このバージョンはプレリリースで、予期しない問題が発生する可能性があります。 - 公式リンク - インポート/エクスポート - Revanced設定のインポート/エクスポート - このアプリについて 広告 @@ -104,6 +112,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 透かしは非表示です 透かしは表示されます 横方向の欄を隠す + 非表示になっている棚は次のとおりです\n• 速報ニュース\n• 視聴を続ける\n• 他のチャンネルを探す\n• ショッピング\n• もう一度見る 欄が表示されます @@ -243,14 +252,16 @@ This is because Crowdin requires temporarily flattening this file and removing t 隠すキーワード - 非表示にするキーワードとフレーズ (改行区切り)\n\n中央に大文字を含む単語は大文字と小文字を区別する必要があります (iPhone、TikTok、LeBlancなど) + 非表示にするキーワードとフレーズ 新しい行で区切られた\n\nキーワードは、チャンネル名またはビデオタイトル\n\n中央に大文字を含む単語は、大文字小文字で入力する必要があります (iPhoneなど)。 TikTok, LeBlanc) キーワードフィルタリングについて - ホーム/登録/検索結果は、キーワードフレーズに一致するコンテンツを非表示にするためにフィルタリングされます\n\n制限事項:\n• 一部のショートは非表示にされない場合があります\n• 一部のUIコンポーネントが非表示にされない場合があります\n• キーワードを検索しても結果が表示されない場合があります + 単語全体を一致させる + - 無効なキーワードです。フィルタとして使用できません: \'%s\' - - 無効なキーワードです。\'%1$s\' は %2$d 文字未満です - キーワード \'%s\' はすべての動画を非表示にします + キーワードを使用できません: %s + キーワード %sを使用する引用符を追加 + キーワードに矛盾する宣言があります: %s + キーワードが短すぎるため見積もりが必要です: %s + キーワードはすべてのビデオを非表示にします: %s 一般的な広告を非表示 @@ -399,6 +410,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 「Thanks」ボタンは非表示です 「Thanks」ボタンは表示されます + クリップを非表示 クリップボタンは非表示です クリップボタンは表示されます @@ -615,15 +627,18 @@ This is because Crowdin requires temporarily flattening this file and removing t プレイリストに保存ボタンを隠す プレイリストにサウンドを保存します。 プレイリストにサウンドを保存する + このサウンドボタンを非表示にする + このサウンドボタンを非表示にする + このサウンドボタンを使用する 検索候補を非表示 検索候補が非表示になります 検索候補が表示されます 「いいね」ボタンを隠す Like button is hidden いいねボタンが表示されます - 好ましくないボタンを隠す - 嫌いなボタンは非表示です - 嫌いなボタンが表示されます + 低評価ボタンを隠す + 低評価ボタンは非表示です + 低評価ボタンは表示されます コメントボタンを隠す コメントボタンは非表示です コメントボタンが表示されます @@ -678,39 +693,38 @@ This is because Crowdin requires temporarily flattening this file and removing t プレイヤーオーバーレイの不透明度は0-100の間でなければなりません - 非表示 - Dislikes temporarily not available(API タイムアウト) - 低評価数は一時的に利用できません (ステータス %d) - Disfavs not available(client API limit reached) - 嫌いは利用できません(%s) + Return YouTube Dislike は一時的に利用できません (API タイムアウト) + Return YouTube Dislikeは利用できません (ステータス %d) + Return YouTube Dislikeは利用できません (API レート制限) + Return YouTube Dislikeは利用できません (%s) - Return YouTube 嫌いで投票するにはビデオを再読み込みしてください - 嫌がらせが表示されます - 不快感は表示されません - ショーツで嫌いを表示する - ショートパンツに表示される嫌われています - ショートで低評価数を表示します\n\n制限: シークレットモードでは低評価数が表示されないことがあります - ショーツに隠された嫌いなもの - パーセントで嫌いです - パーセンテージで表示されている嫌いです - 番号として表示されていないお気に入りの数 + Return YouTube Dislikeを使用するにはビデオを再読み込みしてください + 低評価数が表示されます + 低評価数は表示されません + Shortsで低評価数を表示する + Shortsで低評価数が表示されます + Shortsで低評価数を表示します\n\n制限: シークレットモードでは低評価数が表示されないことがあります + Shortsの低評価数は非表示です + 低評価数をパーセントで表示する + 低評価数はパーセントで表示されます + 低評価数は数字で表示されます - コンパクトないいねボタン - スタイルボタンの最小幅のスタイル - 最高の外観のためにスタイル化されたボタン + コンパクトな高評価ボタン + ボタンはコンパクトに表示されます + ボタンは最適なサイズで表示されます API が利用できない場合はトーストを表示 - リターンYouTubeの嫌いが利用できない場合トーストが表示されます - Return YouTube 嫌いが利用できない場合はトーストは表示されません + Return YouTube Dislikeが利用できない場合、トーストが表示されます + Return YouTube Dislikeが利用できない場合でもトーストは表示されません このアプリについて - データはリターンYouTubeの嫌いなAPIによって提供されます。詳細はここをタップしてください + このデータはReturn YouTube Dislike APIによって提供されています。詳細はここをタップしてください - ReturnYouTube嫌いなこのデバイスのAPI統計 + このデバイスでのReturnYouTubeDislike API 統計情報 API 応答時間、平均 API応答時間、最小値 API応答時間、最大値 API応答時間、最後の動画 - Dislikes temporarily not available - Client API rate limit in effective + 低評価数は一時的に利用できません - Client API のレート制限が原因です API fetch votes, number of calls ネットワーク通話がありません %d ネットワーク通話 @@ -718,13 +732,13 @@ This is because Crowdin requires temporarily flattening this file and removing t ネットワーク通話がタイムアウトされていません %d ネットワーク呼び出しがタイムアウトしました APIクライアントのレート制限 - クライアントレート制限が見つかりません + クライアントレート制限は発生していません クライアントレート制限が %d 回発生しました %d ミリ秒前 ワイド検索バーを有効にする - 幅広い検索バーが有効です + ワイド検索バーは有効です ワイド検索バーは無効です @@ -741,21 +755,21 @@ This is because Crowdin requires temporarily flattening this file and removing t セグメント投票ボタンは表示されません コンパクトスキップボタンを使用 - スキップボタンの最小幅のスタイル - スキップボタンでスタイルを最適化する + スキップボタンはコンパクトに表示されます + スキップボタンは最適なサイズで表示されます スキップボタンを自動的に隠す - Skip button hides after a few seconds + スキップボタンは数秒後に非表示になります スキップボタンをセグメント全体に表示する 自動スキップ時にトーストを表示 セグメントが自動的にスキップされたときにトーストが表示されます。例を見るにはここをタップしてください トーストは表示されません。例を見るにはここをタップしてください - セグメントなしでビデオの長さを表示 - 動画の長さから全てのセグメントを除いた全ての動画の長さの横に括弧で表示 - フルビデオの長さを表示 + セグメントを除いたビデオの時間を表示 + 動画からセグメントを除いた時間が、動画全体の長さの横に括弧で表示されます。 + ビデオのすべての再生時間を表示 新しいセグメントを作成する - 新しいセグメント作成ボタンを表示 - 新しいセグメントを作成ボタンが表示されます - 新規セグメント作成ボタンは表示されません + 新しいセグメントの作成ボタンを表示 + 新しいセグメントを作成するボタンが表示されます + 新しいセグメントを作成するボタンは表示されません 新しいセグメントステップを調整する 新しいセグメントを作成する際の時間調節ボタンの移動時間 (単位: ミリ秒) 値は正の数でなければなりません @@ -768,12 +782,13 @@ This is because Crowdin requires temporarily flattening this file and removing t 一般設定 API が利用できない場合はトーストを表示 SponsorBlockが利用できない場合はトーストが表示されます - SponsorBlockが利用できない場合はトーストは表示されません + SponsorBlockが利用できない場合でもトーストは表示されません スキップ数の追跡を有効にする SponsorBlockリーダーボードは、どれだけの時間が節約されたかを知ることができます。セグメントがスキップされるたびにメッセージがリーダーボードに送信されます。 スキップカウント追跡が有効になっていません 最小のセグメントの長さ 設定値 (単位: 秒) より短いセグメントはスキップされず、プレーヤーにも表示されません + 無効な時間の長さ あなたのプライベート ユーザー ID これは非公開にする必要があります。パスワードのようなもので誰とも共有するべきではありません。誰かがこれを持っている場合、あなたになりすますことができます プライベートユーザーIDは30文字以上でなければなりません @@ -785,11 +800,11 @@ This is because Crowdin requires temporarily flattening this file and removing t 設定のインポート/エクスポート コピー ReVancedや他のSponsorBlockプラットフォームにインポート/エクスポートできるSponsorBlock JSON設定 - ReVancedや他のSponsorBlockプラットフォームにインポート/エクスポートできるSponsorBlock JSON設定。 これにはプライベートユーザーIDが含まれます。これを賢く共有してください + ReVancedや他のSponsorBlockプラットフォームにインポート/エクスポートできるSponsorBlock JSON設定。 これにはプライベートユーザーIDが含まれます。共有する際は十分注意してください 設定が正常にインポートされました インポートに失敗しました: %s エクスポートに失敗しました: %s - あなたの設定にはプライベートスポンサーブロックのユーザーIDが含まれています。\n\nあなたのユーザーIDはパスワードのようなもので、それは決して共有されるべきではありません。\n + この設定にはSponsorBlockのプライベート ユーザーIDが含まれています。\n\nユーザーIDはパスワードのようなものですから、誰とも共有しないでください 今後表示しない セグメントの動作を変更する スポンサー @@ -849,7 +864,7 @@ This is because Crowdin requires temporarily flattening this file and removing t セグメントを送信できません: %s SponsorBlockは一時的にダウンしています セグメントを送信できませんでした(状態: %1$d %2$s) - セグメントを送信できません。\nレート制限 (同じユーザーまたは IP アドレスの多すぎます) + セグメントを送信できません。\nレート制限 (同じユーザーまたは IP アドレスからのリクエストが多すぎます) セグメントを送信できません: %s セグメントを送信できません。\n既に存在します セグメントが正常に送信されました @@ -874,9 +889,7 @@ This is because Crowdin requires temporarily flattening this file and removing t セグメントの開始時刻 セグメントの終了時刻 これらの変更は正しいですか? - - The segment is from\n\n%1$s\nto\n%2$s\n\n(%3$s)\n\nReady to submit? + このセグメントは\n\n%1$s\nから\n%2$s\n\n(%3$s) です。\n\n送信してもよろしいですか? 開始は終了前にする必要があります 最初にタイムバーに 2 つの場所をマークしてください セグメントをプレビューし、スムーズにスキップするようにします @@ -893,9 +906,10 @@ This is because Crowdin requires temporarily flattening this file and removing t ユーザー名を変更できませんでした。ステータス: %1$d %2$s ユーザー名は正常に変更されました あなたの評判は <b>%.2f</b> - <b>%s</b> セグメントを作成しました + <b>%s</b> 個のセグメントを作成しました + セグメントを見るにはここをタップしてください SponsorBlockリーダーボード - <b>%s</b> セグメントから人を保存しました + <b>%s</b> 個のセグメントから人々を救いました ここをタップすると、世界的な統計とトップの貢献者を見ることができます それは <b>%s</b> の生活です。<br>ここをタップしてリーダーボードを見る <b>%s</b> セグメントをスキップしました @@ -911,18 +925,18 @@ This is because Crowdin requires temporarily flattening this file and removing t 色をリセット リセット このアプリについて - SponsorBlock APIによって提供されるデータです。詳細はこちらをタップして他のプラットフォームのダウンロードをご覧ください。 + SponsorBlock APIによって提供されるデータです。詳細はこちらをタップしてください。 アプリのバージョンを偽装する バージョン偽装済み - バージョンはなりすましではありません + バージョンは偽装されていません アプリのバージョンが以前のバージョンのYouTubeに偽装されます。\n\nこれによりアプリの外観や機能が変更されますが、予期せぬ結果が発生する可能性があります。\n\n後でオフにした場合は、UIのバグを防ぐためにアプリのデータを消去することをお勧めします。 アプリバージョンのターゲットを偽装する - 18.33.40 - ショートシークレットシークレットモードでRYDを復元 + 18.33.40 - シークレットモード使用時のShortsのRYDを復元 18.20.39 - ワイドビデオスピード & クオリティメニューを復元 18.09.39 - ライブラリタブを復元 17.41.37 - 古いプレイリストシェルフを復元する @@ -938,33 +952,33 @@ This is because Crowdin requires temporarily flattening this file and removing t サブスクリプション 探索 - あなたタブ - いいね!された動画 + マイページ + 高評価した動画 - 沿革 + 履歴 トレンド - Shortsプレイヤーの再開を無効にする - Shortsプレーヤーはアプリの起動時に再開しません - ショートプレイヤーはアプリの起動時に再開します + Shorts プレイヤーの再開を無効にする + Shorts プレイヤーはアプリの起動時に再開しません + Shorts プレイヤーはアプリの起動時に再開します タブレットのレイアウトを有効にする タブレットのレイアウトは有効です タブレットのレイアウトは無効です - タブレットのレイアウトにコミュニティ投稿が表示されません + タブレットのレイアウトではコミュニティ投稿は表示されません ミニプレイヤー アプリの最小化プレイヤーのスタイルを変更する ミニプレーヤータイプ オリジナル - 電話番号 + 携帯 タブレット - Modern 1 - モダン2 - モダン3 + モダン 1 + モダン 2 + モダン 3 展開と閉じるボタンを非表示 拡大/縮小のボタンを非表示にします\n(ミニプレーヤーをスワイプして拡大/縮小できます) 展開と閉じる ボタンが表示されます @@ -974,7 +988,7 @@ This is because Crowdin requires temporarily flattening this file and removing t スキップと戻るボタンを隠す スキップとバックが非表示になります スキップとバックが表示されます - Overlay opacity + オーバーレイの不透明度 透明度の値は 0〜100 の範囲で、0 が透明です ミニプレーヤーオーバーレイの不透明度は0-100の間でなければなりません @@ -992,8 +1006,9 @@ This is because Crowdin requires temporarily flattening this file and removing t シークバーの色の値が無効です。デフォルト値を使用してください。 - 画像領域の制限をバイパスする - イメージホストの使用 yt4.ggpht.com + 画像表示の地域制限をバイパスする + 画像表示の地域制限を回避するために、 yt4.ggpht.com から画像を取得します。 + オリジナルの画像ホストを使用する\n\nこれを有効にすると、一部の地域でブロックされている欠落画像を修正できます @@ -1001,27 +1016,27 @@ This is because Crowdin requires temporarily flattening this file and removing t サブスクリプションタブ - あなたタブ - プレイヤーのプレイリスト、推奨事項 + マイページ タブ + プレイリスト、おすすめ 検索結果 - Original thumbnails + オリジナルのサムネイル DeArrow & オリジナルのサムネイル - DeArrow & 静止画撮影 - 静止画撮影 + DeArrow & 静止画サムネイル + 静止画サムネイル DeArrowはYouTube動画のためにクラウドソースされたサムネイルを提供します。これらのサムネイルは、YouTubeが提供するものよりも関連性が高いことがよくあります\n\n有効にすると、ビデオのURLがAPIサーバーに送信され、他のデータは送信されません。ビデオにDeArrowサムネイルがない場合は、オリジナルのサムネイルまたは静止画キャプチャが表示されます\n\nDeArrowについて詳しく知るにはここをタップしてください API が利用できない場合はトーストを表示 DeArrowが利用できない場合はトーストが表示されます - DeArrowが利用できない場合はトーストは表示されません + DeArrowが利用できない場合でもトーストは表示されません DeArrow API endpoint DeArrowサムネイルキャッシュエンドポイントのURL - 静止画撮影 + 静止画サムネイル 静止画は各動画の最初/中/終わりから撮影されます。これらの画像はYouTubeに組み込まれており、外部 API は使用されていません。 高速静止画を使用する - 中品質の静止画キャプチャを使用します。サムネイルの読み込みは速くなりますが、ライブストリーム、未発表、または非常に古い動画には空白のサムネイルが表示されることがあります。 + 中品質の静止画キャプチャを使用します。サムネイルの読み込みは速くなりますが、ライブ、未公開、または非常に古い動画には空白のサムネイルが表示されることがあります。 高品質のキャプチャを使用する - 動画を撮影する時間 + 取得する静止画サムネイルの時間 ビデオの始まり - ビデオの中央 + ビデオの中盤 ビデオの終わり DeArrowは一時的に利用できません(ステータスコード: %s) @@ -1033,20 +1048,21 @@ This is because Crowdin requires temporarily flattening this file and removing t 起動時にお知らせは表示されません 起動時にお知らせを表示する アナウンスプロバイダーへの接続に失敗しました - 取り消し + 無視 警告 + 再生履歴は保存されていません。<br><br>これは、DNS 広告ブロッカーまたはネットワーク プロキシが原因である可能性があります。<br><br>この問題を解決するには、<b>s.youtube.com</b> をホワイトリストに追加するか、すべての DNS ブロッカーとプロキシをオフにしてください。 今後表示しない - 自動繰り返しを有効化 - 自動繰り返し処理は有効です - 自動繰り返し処理は無効です + 自動ループ再生を有効化 + 自動ループ再生は有効です + 自動ループ再生は無効です 端末の寸法を偽装する - 端末の寸法なりすまし\n\nより高いビデオ品質がロック解除される可能性がありますが、ビデオ再生のステタリング、バッテリー寿命の悪化、および未知の副作用が発生する可能性があります + 端末の寸法なりすまし\n\nより高いビデオ品質がロック解除される可能性がありますが、ビデオ再生のスタッタリング、バッテリー寿命の悪化、および未知の副作用が発生する可能性があります デバイスの寸法は偽装されていません\n\nこれを有効にすると、より高い画質のビデオが再生可能になります これを有効にすると、ビデオ再生の吃音、バッテリー寿命の悪化、および不明な副作用を引き起こす可能性があります。 @@ -1070,9 +1086,9 @@ This is because Crowdin requires temporarily flattening this file and removing t トラッキングクエリパラメータはリンクから削除されません - ズームハプティクスを無効にする - ハプティクスは無効です - ハプティクスは有効です + ズームした際の触覚機能を無効にする + 触覚機能は無効です + 触覚機能は有効です 自動品質 @@ -1113,28 +1129,22 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide to seek is enabled Slide to seek is not enabled - - クライアントを偽装する - 再生の問題を防ぐためにクライアントを偽装します - クライアントを偽装する - クライアントは偽装されています - クライアントは偽装されていません\n\nビデオ再生が動作しない可能性があります - この設定をオフにすると、ビデオ再生の問題が発生する可能性があります。 - クライアントを iOS に偽装する - クライアントのサムネイルを一時的に偽装できません: %s - - - - アプリの署名を偽装する - アプリの署名を偽装して再生の問題を防ぎます - アプリの署名を偽装する - アプリ署名なりすまし\n\n副作用:\n• 強化されたビットレートは利用できません\n• 動画をダウンロードできません\n• 有料動画にシークバーのサムネイルがありません - この設定をオフにすると、ビデオ再生の問題が発生します。 - フィードにアプリの署名を偽装する - アプリの署名がフィード動画になりすましではありません\n\nフィードの動画は再生に問題が発生する前に1分未満再生されます - ストーリーボードを偽装する - ストーリーボードのなりすまし - 一時的にストーリーボードを偽装できません: %s + + 動画ストリームを偽装する + 再生の問題を防ぐために、クライアントのビデオストリームを偽装します + 動画ストリームを偽装する + ビデオストリームはなりすましています + この設定をオフにすると、ビデオ再生の問題が発生する可能性があります。 + デフォルトのクライアント + 強制AVC (H.264) + ビデオコーデックは AVC (H.264) です + ビデオコーデックはVP9またはAV1です + お使いのデバイスにはVP9ハードウェアデコードがありません。この設定はクライアントのスプーフィングが有効になっているときに常に有効になります + これを有効にするとバッテリー寿命と再生の途切れが改善する可能性があります。\n\nAVCの最大解像度は1080pで、ビデオ再生はVP9やAV1よりも多くの通信量を使用します。 + iOSのクライアント偽装での副作用 + • 動画や有料動画は、\n• ライブストリームは最初から再生されません + Android-VR クライアント偽装の副作用 + • オーディオトラックメニューがありません diff --git a/src/main/resources/addresources/values-ka-rGE/strings.xml b/src/main/resources/addresources/values-ka-rGE/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-kk-rKZ/strings.xml b/src/main/resources/addresources/values-kk-rKZ/strings.xml index a1467390d..10827c2ae 100644 --- a/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-km-rKH/strings.xml b/src/main/resources/addresources/values-km-rKH/strings.xml index f9782b05a..3bc97e7d8 100644 --- a/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/src/main/resources/addresources/values-km-rKH/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-kn-rIN/strings.xml b/src/main/resources/addresources/values-kn-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-ko-rKR/strings.xml b/src/main/resources/addresources/values-ko-rKR/strings.xml index 9a7fea507..631ad7c1a 100644 --- a/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + 확인에 실패함 + 공식 홈페이지 열기 + 무시 + <h5>이 앱은 사용자가 패치하지 않은 것 같습니다.</h5><br>이 앱은 제대로 작동하지 않을 수 있으며, <b>사용 시 해롭거나 심지어 위험할 수도 있습니다</b>.<br><br>이러한 확인은 이 앱이 사전 패치되었거나 다른 사람에게서 얻은 것임을 의미합니다:<br><br><small>%1$s</small><br>검증되고 안전한 앱을 사용하고 있는지 확인하려면 <b>이 앱을 제거하고 직접 패치하는 것</b>을 강력히 권장합니다.<p><br>이 경고를 무시하면 두 번만 표시됩니다. + 다른 기기에서 패치됨 + ReVanced Manager에 의해 설치되지 않음 + 10분 이상 전에 패치됨 + %s 일 전에 패치됨 + APK 빌드 날짜가 손상됨 + ReVanced 계속하시겠습니까? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced 설정을 기본값으로 초기화합니다 %d 설정을 가져왔습니다 설정을 가져올 수 없습니다: %s + 가져오기 / 내보내기 + ReVanced 설정을 가져오거나 내보낼 수 있습니다 + + ReVanced Patches <i>%s</i><br>버전을 사용 중입니다 + 알림 + 개발자 버전이므로<br>알려지지 않은 문제점이<br>발생할 수 있습니다 + 공식 링크 + 후원 @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - ReVanced Patches <i>%s</i><br>버전을 사용 중입니다 - 알림 - 개발자 버전이므로<br>알려지지 않은 문제점이<br>발생할 수 있습니다 - 공식 링크 - 가져오기 / 내보내기 - ReVanced 설정을 가져오거나 내보낼 수 있습니다 - 정보 광고 @@ -71,7 +81,6 @@ This is because Crowdin requires temporarily flattening this file and removing t 피드 플레이어 일반 - Shorts 재생바 스와이프 제스처 기타 @@ -139,9 +148,9 @@ This is because Crowdin requires temporarily flattening this file and removing t 채널 가이드라인 숨기기 채널 가이드라인이 숨겨집니다 채널 가이드라인이 표시됩니다 - 썸네일 하단에서 동영상 관련 정보 숨기기 - 다음 정보들이 숨겨집니다:\n동영상 설명, 챕터, 주요 순간, 스크립트,\n재생목록의 동영상, 이 동영상에 나온 제품 - 다음 정보들이 표시됩니다:\n동영상 설명, 챕터, 주요 순간, 스크립트,\n재생목록의 동영상, 이 동영상에 나온 제품 + 펼쳐볼 수 있는 정보 숨기기 + 썸네일 하단에서 다음 정보들이 숨겨집니다:\n동영상 설명, 챕터, 주요 순간, 스크립트,\n재생목록의 동영상, 이 동영상에 나온 제품 + 썸네일 하단에서 다음 정보들이 표시됩니다:\n동영상 설명, 챕터, 주요 순간, 스크립트,\n재생목록의 동영상, 이 동영상에 나온 제품 화질 설정 메뉴에서 하단 설명 숨기기 화질 설정 메뉴에서 하단 설명이 숨겨집니다 화질 설정 메뉴에서 하단 설명이 표시됩니다 @@ -245,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t 키워드 필터 - 필터링할 키워드 및 구문을 줄바꿈으로 구분하여 설정합니다\n\n영어 키워드는 대소문자를 구분하여 입력해야 합니다 + 필터링할 키워드 및 구문을 줄바꿈으로 구분하여 설정합니다\n\n• 필터링 키워드는 채널 이름 또는 동영상 제목에 표시되는 모든 텍스트가 될 수 있습니다\n• 가운데 대문자가 있는 단어는 대소문자를 함께 입력해야 합니다 (예: iPhone, TikTok, LeBlanc) 키워드 필터링 정보 - 홈 피드 / 구독 피드 / 검색 결과에서 키워드와 일치하는 콘텐츠가 숨겨집니다\n\n알려진 문제점:\n• 일부 Shorts는 숨겨지지 않을 수 있습니다\n• 일부 화면 구성요소가 숨겨지지 않을 수 있습니다\n• 필터링 키워드를 검색하면 결과가 표시되지 않을 수 있습니다 + 홈 / 구독 / 검색 결과가 필터링되어 키워드 구문과 일치하는 콘텐츠가 숨겨집니다\n\n알려진 문제점:\n• 채널 이름으로 Shorts는 숨길 수 없습니다\n• 일부 화면 구성요소는 숨겨지지 않을 수 있습니다\n• 필터링 키워드를 검색하면 검색 결과가 표시되지 않을 수 있습니다 + 전체 단어 일치시키기 + + 필터링할 키워드 및 구문을 큰따옴표로 묶으면 동영상 제목과 채널 이름이 부분적으로 일치하지 않도록 방지할 수 있습니다<br><br>예를 들어,<br><b>\"ai\"</b>라는 키워드로 <b>AI 커리어 완벽 가이드</b>라는 제목의 동영상을 숨길 수 있지만, <b>생성형AI가 바꿔놓은 세계</b> 또는 <b>What does fair use mean?</b>라는 제목의 동영상은 숨길 수 없습니다 - 잘못된 키워드입니다. \'%s\'를 필터로 사용할 수 없습니다 - - \'%1$s\'는 잘못된 키워드입니다. 필터링 키워드는 %2$d 글자 이상이어야 합니다. - 키워드 \'%s\'를 사용하면 모든 동영상이 숨겨집니다 + 키워드를 사용할 수 없습니다: %s + 따옴표를 추가하여 키워드를 사용합니다: %s + 키워드에 충돌하는 선언이 있습니다: %s + 키워드가 너무 짧아서 따옴표가 필요합니다: %s + 키워드가 모든 동영상을 숨깁니다: %s 일반 레이아웃 광고 숨기기 @@ -290,9 +303,9 @@ This is because Crowdin requires temporarily flattening this file and removing t \'전체 화면 광고 숨기기\'는 구형 기기에서만 사용할 수 있습니다 - YouTube Premium 광고 숨기기 - YouTube Premium 광고가 숨겨집니다 - YouTube Premium 광고가 표시됩니다 + YouTube Premium 프로모션 숨기기 + YouTube Premium 프로모션이 숨겨집니다 + YouTube Premium 프로모션이 표시됩니다 동영상 광고 숨기기 @@ -313,7 +326,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 시청 경고 다이얼로그 제거하기 다이얼로그가 숨겨집니다 다이얼로그가 표시됩니다 - 이 설정은 연령 제한(성인인증 절차)을 우회할 수 없고, 다이얼로그를 자동으로 허용하기만 합니다 + • 이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다\n• 성인인증이 필요한 동영상에서 인증을 하려 할 때, 휴대폰 번호가 필요하다고 알려주는 소형 팝업창(다이얼로그) 없이 바로 휴대폰 번호 인증 페이지가 표시됩니다 외부 다운로드 @@ -569,8 +582,8 @@ This is because Crowdin requires temporarily flattening this file and removing t 롤링 넘버 애니메이션 비활성화하기 - 다음 롤링 넘버 애니메이션을 비활성화합니다\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 개수, 조회수 롤링 애니메이션 (동영상 설명) - 다음 롤링 넘버 애니메이션을 활성화합니다\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 개수, 조회수 롤링 애니메이션 (동영상 설명) + 다음 롤링 넘버 애니메이션을 비활성화합니다\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 수, 조회수 롤링 애니메이션 (동영상 설명) + 다음 롤링 넘버 애니메이션을 활성화합니다\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 수, 조회수 롤링 애니메이션 (동영상 설명) 동영상 플레이어 재생바 숨기기 @@ -618,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t (재생목록에) 음악 저장 버튼 숨기기 (재생목록에) 음악 저장 버튼이 숨겨집니다 (재생목록에) 음악 저장 버튼이 표시됩니다 + \'이 사운드 사용\' 버튼 숨기기 + \'이 사운드 사용\' 버튼이 숨겨집니다 + \'이 사운드 사용\' 버튼이 표시됩니다 검색 추천 숨기기 검색 추천이 숨겨집니다 검색 추천이 표시됩니다 @@ -681,23 +697,22 @@ This is because Crowdin requires temporarily flattening this file and removing t 플레이어 오버레이 불투명도는 0-100 사이여야 합니다 - 숨겨짐 - 싫어요 개수를 일시적으로 표시할 수 없습니다 (API 시간 초과) - 싫어요 개수를 표시할 수 없습니다 (상태 코드: %d) - 싫어요 개수를 표시할 수 없습니다 (클라이언트 API 제한 도달) - 싫어요 개수를 표시할 수 없습니다 (%s) + 싫어요 수를 일시적으로 표시할 수 없습니다 (API 시간 초과) + 싫어요 수를 표시할 수 없습니다 (상태 코드: %d) + 싫어요 수를 표시할 수 없습니다 (클라이언트 API 제한 도달) + 싫어요 수를 표시할 수 없습니다 (%s) ReturnYouTubeDislike를 사용하여 투표하려면 동영상을 다시 로드하세요 - 싫어요 개수를 표시합니다 - 싫어요 개수를 표시하지 않습니다 - Shorts에서 싫어요 개수 표시하기 - Shorts에서 싫어요 개수를 표시합니다 - Shorts에서 싫어요 개수를 표시합니다\n\n알려진 문제점: 사용자가 로그인을 하지 않았거나 시크릿 모드에서는 싫어요 개수가 표시되지 않을 수 있습니다 - Shorts에서 싫어요 개수를 표시하지 않습니다 - 싫어요 개수를 퍼센트로 표시하기 - 싫어요 개수를 퍼센트로 표시합니다 - 싫어요 개수를 숫자로 표시합니다 + 싫어요 수를 표시합니다 + 싫어요 수를 표시하지 않습니다 + Shorts에서 싫어요 수 표시하기 + Shorts에서 싫어요 수를 표시합니다 + Shorts에서 싫어요 수를 표시합니다\n\n알려진 문제점: 사용자가 로그인을 하지 않았거나 시크릿 모드에서는 싫어요 수가 표시되지 않을 수 있습니다 + Shorts에서 싫어요 수를 표시하지 않습니다 + 싫어요 수를 퍼센트로 표시하기 + 싫어요 수를 퍼센트로 표시합니다 + 싫어요 수를 숫자로 표시합니다 좋아요 버튼에서 구분선 숨기기 좋아요 버튼에서 구분선을 표시하지 않습니다 @@ -706,14 +721,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReturnYouTubeDislike를 사용할 수 없을 때, 팝업 메시지를 표시합니다 ReturnYouTubeDislike를 사용할 수 없을 때, 팝업 메시지를 표시하지 않습니다 정보 - 싫어요 개수의 데이터는 Return YouTube Dislike API에 의해 제공됩니다. 자세한 내용을 보려면 여기를 누르세요 + 싫어요 수의 데이터는 Return YouTube Dislike API에 의해 제공됩니다. 자세한 내용을 보려면 여기를 누르세요 이 기기의 ReturnYouTubeDislike API 사용 통계 평균 API 응답 시간 최소 API 응답 시간 최대 API 응답 시간 최근 동영상 API 응답 시간 - 싫어요 개수를 일시적으로 표시할 수 없습니다 - 클라이언트 API 속도 제한이 적용됨 + 싫어요 수를 일시적으로 표시할 수 없습니다 - 클라이언트 API 속도 제한이 적용됨 API 투표 가져오기, 호출 횟수 네트워크 호출한 적이 없습니다 %d 건의 네트워크 호출이 이루어졌습니다 @@ -777,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 건너뛴 횟수 기록을 비활성화합니다 건너뛸 최소 구간 길이 설정한 값(초)보다 작은 구간은 건너뛰지 않으며, 재생바에도 표시되지 않습니다 + 잘못된 지속 시간입니다 비공개 사용자 아이디 비공개 사용자 아이디는 SponsorBlock 서버에서 구간을 제출하거나 건너뛴 구간 정보를 기록하는데 사용되는 고유 아이디 입니다. 절대 다른 이에게 공개하지 마세요 비공개 사용자 아이디는 30자 이상이어야 합니다 @@ -877,8 +893,6 @@ This is because Crowdin requires temporarily flattening this file and removing t 구간의 시작 구간의 끝 설정된 구간이 정확합니까? - 선택한 구간이\n\n%1$s\n부터\n%2$s\n\n(%3$s) 까지 입니다\n\n이렇게 제출하시겠습니까? 구간의 시작 또는 끝을 잘못 설정하였습니다 먼저 재생바에서 시작 지점과 끝 지점을 표시하세요 @@ -897,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 사용자 이름을 성공적으로 변경하였습니다 사용자의 평판: <b>%.2f</b> 제출 횟수: <b>%s</b> + 구간을 보려면 여기를 누르세요 SponsorBlock 리더보드 다른 분들이 <b>%s</b>개의 구간을 건너뛸 수 있게 해주셨습니다 글로벌 기록 또는 상위 기여자를 확인하려면 여기를 누르세요 @@ -942,7 +957,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 탐색 Shorts - 나 (보관함) + 내 페이지 좋아요 표시한 동영상 기록 @@ -1006,7 +1021,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 구독 탭 - 나(보관함) 탭 + 내 페이지 탭 플레이어: 재생목록, 관련 동영상, etc. 검색 결과 기본 썸네일 @@ -1042,6 +1057,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Warning + 시청 기록이 저장되지 않습니다.<br><br> DNS 광고 차단기 또는 네트워크 프록시로 인해 발생한 문제일 가능성이 높습니다.<br><br> 이 문제를 해결하려면 <b>s.youtube.com</b>을 허용 목록에서 제외하거나 모든 DNS 차단기 및 프록시를 해제하세요. 다시 보지 않기 @@ -1118,26 +1134,23 @@ This is because Crowdin requires temporarily flattening this file and removing t 슬라이드하여 탐색을 활성화합니다 슬라이드하여 탐색을 비활성화합니다 - - 클라이언트 변경하기 - 클라이언트를 변경하여 재생 문제를 방지할 수 있습니다 - 클라이언트 변경하기 - 클라이언트를 변경합니다 - 클라이언트를 변경하지 않습니다\n동영상 재생 문제가 발생할 수 있습니다 - 이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다 - iOS 클라이언트로 변경하기 - 클라이언트를 Android VR 클라이언트로 변경합니다\n\n알려진 문제점: \n• HDR 동영상이 재생되지 않을 수 있습니다\n• Kids 동영상을 재생할 수 없습니다\n• 일시 정지된 동영상이 갑자기 다시 시작될 수 있습니다\n• 저화질 Shorts 재생바 썸네일이 표시됩니다\n• 플레이어 하단에서 오프라인 저장 버튼이 표시되지 않습니다\n• 최종 화면 카드가 표시되지 않습니다 - 클라이언트 썸네일을 사용할 수 없습니다 (응답 시간 초과) - 클라이언트 썸네일을 일시적으로 사용할 수 없습니다: %s - - - - 새로운 동영상 화질 설정을 활성화합니다 - 새로운 동영상 화질 설정을 활성화합니다 - 이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다. - 피드 동영상에 대한 앱 서명 변경하기 - 스토리보드 변경하기 - 스토리보드를 일시적으로 변경할 수 없습니다: %s + + 동영상 스트림 변경하기 + 동영상 스트림을 변경하여 재생 문제를 방지할 수 있습니다 + 동영상 스트림 변경하기 + 동영상 스트림을 변경합니다 + 동영상 스트림을 변경하지 않습니다\n동영상 재생 문제가 발생할 수 있습니다 + 이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다 + 기본 클라이언트 + AVC (H.264) 강제로 활성화하기 + 동영상 코덱을 AVC (H.264)로 활성화합니다 + 동영상 코덱을 VP9 또는 AV1으로 활성화합니다 + 이 기기는 VP9 하드웨어 디코딩을 지원하지 않습니다. 그러므로 \'클라이언트 변경하기\'가 활성화된 경우에는 이 설정은 항상 켜져 있습니다 + 이 설정을 활성화하면 배터리 수명이 향상되고 재생 끊김 현상이 해결될 수 있습니다\n\nAVC의 최대 화질 값은 1080p이며 동영상을 재생하면 VP9 또는 AV1보다 더 많은 인터넷 데이터가 사용됩니다 + \'iOS로 변경\'의 알려진 문제점 + • 영화 또는 유료 동영상이 재생되지 않을 수 있습니다\n• 되감기가 가능한 실시간 스트림이 라이브 중인 시점이 아닌 처음부터 재생될 수 있습니다 + \'Android VR로 변경\'의 알려진 문제점 + • 오디오 트랙 메뉴가 표시되지 않습니다\n• 안정적인 볼륨 메뉴가 비활성화된 채로 잠겨있습니다 diff --git a/src/main/resources/addresources/values-ky-rKG/strings.xml b/src/main/resources/addresources/values-ky-rKG/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-lo-rLA/strings.xml b/src/main/resources/addresources/values-lo-rLA/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-lt-rLT/strings.xml b/src/main/resources/addresources/values-lt-rLT/strings.xml index d36e4f455..94586827b 100644 --- a/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-lv-rLV/strings.xml b/src/main/resources/addresources/values-lv-rLV/strings.xml index 81194320d..5f69c090c 100644 --- a/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-mk-rMK/strings.xml b/src/main/resources/addresources/values-mk-rMK/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-ml-rIN/strings.xml b/src/main/resources/addresources/values-ml-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-mn-rMN/strings.xml b/src/main/resources/addresources/values-mn-rMN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-mr-rIN/strings.xml b/src/main/resources/addresources/values-mr-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-ms-rMY/strings.xml b/src/main/resources/addresources/values-ms-rMY/strings.xml index 4aec8ef4f..675080765 100644 --- a/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-my-rMM/strings.xml b/src/main/resources/addresources/values-my-rMM/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/src/main/resources/addresources/values-my-rMM/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-nb-rNO/strings.xml b/src/main/resources/addresources/values-nb-rNO/strings.xml index 4ef0e6d02..c1bf8b4ab 100644 --- a/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Sjekker mislyktes + Åpne offisiell nettside + Ignorer + <h5>Denne appen ser ikke ut til å bli patchet av deg.</h5><br>Denne appen kan kanskje ikke fungere riktig, <b>kan være skadelig eller til og med farlig å bruke</b>.<br><br>Disse sjekker innebærer at denne appen blir videresendt eller innhentet fra noen annet:<br><br><small>%1$s</small><br>Det er sterkt anbefalt for <b>ved avinstallering av denne appen, og send den selv</b> for å forsikre deg om at du bruker en validert og sikker app.<p><br>Hvis ignorert, vil denne advarselen bare bli vist to ganger. + Patchet på en annen enhet + Ikke installert av ReVanced Manager + Patchet for over 10 minutter siden + Patched %s dager siden + APK byggedato er skadet + ReVanced Ønsker du å fortsette? @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Forbedrede innstillinger tilbakestilt til standard Importerte %d innstillinger Import mislyktes: %s + Import / Eksport + Import / Export ReVanced Settings + + Du bruker Revananserte Patches versjon <i>%s</i> + Notat + Denne versjonen er en forhåndsutgivelse, og du kan oppleve uventede problemer + Offisielle lenker + Doner @@ -54,15 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Du bruker Revananserte Patches versjon <i>%s</i> - Notat - Denne versjonen er en forhåndsutgivelse, og du kan oppleve uventede problemer - Offisielle lenker - Import / Eksport - Import / Export ReVanced Settings - Om Reklame @@ -240,13 +250,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Nøkkelord for å skjule - Nøkkelord og fraser å gjemme seg; atskilt av nye linjer\n\nord med store bokstaver i midten må angis med bokstaven i forhenget (ie: iPhone, TikTok, LeBlanc) + Nøkkelord og fraser å gjemme seg; atskilt med nye linjer\n\nnøkkelord kan være kanalnavn eller tekst som vises i videotitler\n\nord med store bokstaver i midten må angis med kasus (ie: iPhone, TikTok, bland Om nøkkelordfiltrering + Hjemme/Abonnement/Søkeresultater filtreres for å skjule innhold som matcher nøkkelordfraser\n\nBegrensninger\n• Butikker kan ikke skjules med kanalnavn\n• Noen UI komponenter kan ikke skjules\n• Ved å søke etter et nøkkelord kan det ikke være noen treff + Sammenlign hele ord + + Å sirkulere en søkeord/frase med doble sitater vil hindre delvis treff med videotitler og kanalnavn<br><br>For eksempel,<br><b>\"ai\"</b> vil skjule videoen: <b>How does AI work?</b><br>men vil ikke gjemme: <b>What does fair use mean?</b> - Ugyldig søkeord. Kan ikke bruke: \'%s\' som et filter - - Ugyldig nøkkelord. \'%1$s\' er mindre enn %2$d tegn - Nøkkelord \'%s\' vil skjule alle videoer + Kan ikke bruke nøkkelord: %s + Legg til tilbud for å bruke nøkkelord: %s + Nøkkelord har motstridende deklarasjoner: %s + Nøkkelordet er for kort og krever atferd: %s + Søkeord vil skjule alle videoer: %s Skjul generelle annonser @@ -611,6 +626,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Skjul lyd fra spilleliste knapp Lagre lyd i spillelisten er skjult Lagre lyd i spilleliste vises + Skjul bruk av denne lydknappen + Bruk denne lydknappen er skjult + Bruk denne lydknappen vises Skjul søkeforslag Søkeforslag er skjult Søk forslag vises @@ -674,7 +692,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Spiller overlegg opasitet må være mellom 0-100 - Hidden Misliker ikke tilgjengelig (%s) @@ -767,6 +784,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Hopp over tellersporing er ikke aktivert Minste segmentvarighet Segmenter kortere enn denne verdien (i sekunder) vil ikke bli vist eller hoppet over + Ugyldig tidsvarighet Din private bruker-ID Dette burde holdes privat. Dette er som et passord og burde ikke deles med noen. Hvis noen har dette, kan de impersonere deg Privat bruker-ID må være minst 30 tegn @@ -864,8 +882,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Tidsrom segmentet begynner ved Tid segmentet slutter ved Er tidene riktig? - Segmentet er fra\n\n%1$s\ntil\n%2$s\n\n(%3$s)\n\nklar til å sende? Start må være før slutten Marker to lokasjoner på tidslinjen først @@ -884,6 +900,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Brukernavnet ble endret Ditt omdømme er <b>%.2f</b> Du har opprettet segmenter for <b>%s</b> + Trykk her for å se segmentene dine SponsorBlock leaderboard Du har lagret folk fra <b>%s</b> segmenter Trykk her for å se den globale statistikken og de øverste bidragsyterne @@ -962,7 +979,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Skjul hopp forover og tilbake knapper Hopp over og tilbake er skjult Hopp over og tilbake vises - Overlay opacity Gjennomsiktighet mellom 0-100, der 0 er gjennomsiktig Minispiller overlegg opasitet må være mellom 0-100 @@ -1102,34 +1118,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide for å søke er aktivert Slide for å søke er ikke aktivert - - Etterligning av kunde - Spot klienten for å forhindre problemer med avspilling - Etterligning av kunde - Klienten er spoofed - Klienten er ikke spoofed\n\nVideo playback fungerer kanskje ikke - Ved å slå av denne innstillingen kan problemer med videoavspilling. - Forside klienten til iOS - Klienten er for øyeblikket oppslitt til iOS\n\nSide effects include:\n• HDR video er kanskje ikke tilgjengelig\n• Se historien fungerer ikke med en merkevarekonto - Klienten er for øyeblikket skummet til Android VR. sideeffekter inkluderer:\n• Ingen HDR video\n• Barn videoer ikke spiller tilbake\n• Paused videoer kan tilfeldig gjenoppta\n• Lavkvalitet shorts søkbar miniatyrbilder\n• Last ned handlingsknappen er skjult\n• Sluttskjermkort er skjult - Etterligning av klient miniatyrbilder er ikke tilgjengelige (API tidsavbrutt) - Spoav klientens miniatyrbilder er midlertidig ikke tilgjengelig: %s - - - - Falsk app signatur - Etterlign appens signatur for å forhindre problemer i avspillingen - Falsk app signatur - Appen signatur som ikke er spoofed\n\nVideoavspilling fungerer kanskje ikke - Ved å slå av denne innstillingen, vil avspilling av video forårsake. - Falsk appens signatur i feeden - App-signatur spoofed\n\nBivirkninger inkluderer:\n• Feed videoer mangler undertekster\n• Spillte feed videoer vises automatisk i overvåkningshistorien - App-signatur som ikke spobefant seg for feed videoene\n\nFeed-videoer spilles av mindre enn 1 minutt før det møter spillproblemer - Kjøringstavle - Storjboard skremt - Oppsprukket\n\nSide omfatter:\n• Ingen omgivelsesmodus\n• Miniatyrbilder i Seekbar - Spoof Storyboard midlertidig ikke tilgjengelig (API tidsavbrutt) - Forsprang midlertidig ikke tilgjengelig: %s + + Spoof video strømmer + Forkort klientens videostrømmer for å forhindre avspillingsproblemer + Spoof video strømmer + Videostrømmer er skjevet + Videostrømmer er ikke skummet\n\nVideoavspilling vil kanskje ikke virke + Ved å slå av denne innstillingen kan problemer med videoavspilling. + Standard klient + Tving AVC (H.264) + Videokodek er AVC (H.264) + Videokodek er VP9 eller AV1 + Din enhet har ikke VP9, dekotering av maskinvare og denne innstillingen er alltid på når spoofing av klient er aktivert + Aktivering av dette kan forbedre batterilevetiden og korrigere avspilling med avvik.\n\nAVC har en maksimal oppløsning på 1080p, og videoavspilling vil bruke flere Internettdata enn VP9 eller AV1. + iOS med bivirkninger + • Filmer eller betalte videoer spiller ikke\n• Start av direktestrømming i begynnelsen + Android VR opplever bivirkninger + • Lydspormeny mangler diff --git a/src/main/resources/addresources/values-ne-rIN/strings.xml b/src/main/resources/addresources/values-ne-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-nl-rNL/strings.xml b/src/main/resources/addresources/values-nl-rNL/strings.xml index 4df03bfc2..95b58a99c 100644 --- a/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Controle mislukt + Open officiële website + Negeren + <h5>Deze app lijkt niet te worden gepatched door jou.</h5><br>Deze app werkt mogelijk niet goed. <b>kan schadelijk of zelfs gevaarlijk zijn om</b>te gebruiken.<br><br>Deze controles impliceren dat deze app vooraf wordt gepatenteerd of verkregen is van iemand anders:<br><br><small>%1$s</small><br>Het wordt sterk aangeraden om deze app <b>te verwijderen en het zelf te repareren</b> om ervoor te zorgen dat je een gevalideerde en beveiligde app gebruikt.<p><br>wanneer genegeerd, zal deze waarschuwing slechts twee keer worden weergegeven. + Opgenomen op een ander apparaat + Niet geïnstalleerd door ReVanced Manager + Meer dan 10 minuten geleden besteld + Gekochte %s dagen geleden + APK build datum is beschadigd + ReVanced Wilt u doorgaan? @@ -40,30 +51,29 @@ This is because Crowdin requires temporarily flattening this file and removing t Herstarten Importeren Kopiëren - Verbeterde instellingen hersteld naar standaard - Geïmporteerde %d instellingen + ReVanced instellingen hersteld naar standaard + %d instellingen geïmporteerd Importeren mislukt: %s + Importeren / Exporteren + Importeer / Exporteer ReVanced instellingen + + U gebruikt ReVanced Patches versie <i>%s</i> + Notitie + Deze versie is een pre-release en je kunt onverwachte problemen ondervinden + Officiële links + Doneren MicroG GmsCore is niet geïnstalleerd. Installeer het. Actie vereist - MicroG GmsCore heeft geen toestemming om op de achtergrond uit te voeren.\n\nVolg de \"Vermoord mijn app niet\" handleiding voor je telefoon en pas de instructies toe op je MicroG installatie.\n\nDit is vereist om de app te laten werken. + MicroG GsmCore heeft geen toestemming om op de achtergrond te werken.\n\nVolg de \"Vermoord mijn app niet\" handleiding voor je telefoon en pas de instructies toe op je MicroG installatie.\n\nDit is vereist om de app te laten werken. Website openen MicroG GmsCore batterij optimalisaties moeten worden uitgeschakeld om problemen te voorkomen.\n\nDruk op de knop \'Doorgaan\' en schakel batterij optimalisaties uit. Doorgaan - - ReVanced - U gebruikt ReVanced Patches versie <i>%s</i> - Notitie - Deze versie is een pre-release en je kunt onverwachte problemen ondervinden - Officiële links - Importeren / exporteren - Import / Export ReVanced instellingen - Over Advertenties @@ -77,29 +87,29 @@ This is because Crowdin requires temporarily flattening this file and removing t Video - Foutopsporing + Debugging Debugging opties in- of uitschakelen Logboek foutopsporing - Debug logs zijn ingeschakeld - Debug logs zijn uitgeschakeld + Debug logboeken zijn ingeschakeld + Debug logboeken zijn uitgeschakeld Log protocol buffer - Debug logs omvatten de proto-buffer + Debug logs bevatten proto-buffer Debug logs bevatten geen proto-buffer Log stack sporen Debug logs omvatten stack trace Debug logs bevatten geen stack trace - Toon toast bij ReVanced error + Toon toastmelding bij ReVanced error Toastmelding weergegeven als er een fout optreedt - Toast niet weergegeven als er een fout optreedt + Toastmelding niet weergegeven als er een fout optreedt Uitschakelen van foutmeldingen verbergt alle ReVanced error meldingen.\n\nJe wordt niet op de hoogte gesteld van onverwachte gebeurtenissen. - Uitschakelen zoals / inschrijfknop gloed - De knop \'Like\' en \'abonneren\' zal niet gloeien wanneer deze vermeld wordt + Uitschakelen like- / abonneer-knop gloed + De knop \'like\' en \'abonneren\' zal niet gloeien wanneer deze genoemd wordt \'Like en abonneren\' knop zal gloeien wanneer genoemd - Grijs scheidingsteken verbergen - Grijze scheidingstekens zijn verborgen - Grijze scheidingstekens worden weergegeven + Grijze scheidingsbalken verbergen + Grijze scheidingsbalken zijn verborgen + Grijze scheidingsbalken worden weergegeven Verberg kanaal watermerk Watermerk is verborgen Watermerk wordt getoond @@ -244,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Trefwoorden om te verbergen - Trefwoorden en zinnen te verbergen, gescheiden door nieuwe regels\n\nWoorden met hoofdletters in het midden moeten worden ingevoerd met de behuizing (bv: iPhone, TikTok, LeBlanc) + Trefwoorden en zinnen te verbergen, gescheiden door nieuwe regels\n\nTrefwoorden kunnen kanaalnamen zijn of elke tekst getoond in videocategorie\n\nwoorden met hoofdletters in het midden moeten worden ingevoerd met het behuizing (bijvoorbeeld iPhone, TikTok, Lei) Over trefwoord filteren - Home/Abonnement/Zoekresultaten worden gefilterd om inhoud te verbergen die overeenkomt met trefwoordzinnen\n\nBeperkingen\n• Sommige Shorts zijn mogelijk niet verborgen\n• Sommige UI-componenten zijn mogelijk niet verborgen\n• Zoeken naar een trefwoord levert mogelijk geen resultaten op + Thuis/Abonnement/Zoekresultaten worden gefilterd om de inhoud te verbergen die overeenkomt met trefwoordzinnen\n\nBeperkingen\n• Kortingen kunnen niet worden verborgen met kanaalnaam\n• Sommige componenten van de UI kunnen niet verborgen zijn\n• Zoeken naar een sleutelwoord kan geen resultaten laten zien + Koppel hele woorden + + Omkeren van een trefwoord/zin met dubbele aanhalingstekens zal voorkomen dat deel-matches van videotitels en kanaalnamen<br><br>Bijvoorbeeld,<br><b>\"ai\"</b> verbergt de video: <b>How does AI work?</b><br>maar zal deze niet verbergen: <b>What does fair use mean?</b> - Ongeldig sleutelwoord. Kan niet gebruiken: \'%s\' als filter - - Ongeldig sleutelwoord. \'%1$s\' is minder dan %2$d tekens - Trefwoord \'%s\' verbergt alle video\'s + Kan trefwoord niet gebruiken: %s + Voeg offertes toe om trefwoord te gebruiken: %s + Sleutelwoord bevat tegenstrijdige verklaringen: %s + Trefwoord is te kort en vereist quotes: %s + Trefwoord zal alle video\'s verbergen: %s Algemene advertenties verbergen @@ -529,7 +543,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Tijdstempel en emoji-knoppen worden getoond - crowdfunding box verbergen + Crowdfunding box verbergen Crowdfunding box is verborgen Crowdfunding box wordt getoond @@ -617,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Geluid opslaan naar afspeellijst knop verbergen Geluid opslaan in afspeellijst is verborgen Geluid opslaan in de afspeellijst wordt weergegeven + Gebruik deze geluidsknop verbergen + Gebruik van deze geluidsknop is verborgen + Gebruik deze geluidsknop wordt weergegeven Zoeksuggesties verbergen Zoeksuggesties zijn verborgen Zoeksuggesties worden getoond @@ -680,14 +697,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Speler overlay transparantie moet tussen 0-100 liggen - Hidden Dislikes tijdelijk niet beschikbaar (API time-out) Niet beschikbaar (status %d) Niet beschikbaar (client API limiet bereikt) Niet beschikbaar (%s) - Herlaad video om te stemmen met behulp van Return YouTube Dislike + Herlaad video om te stemmen via Return YouTube Dislike Dislikes worden weergegeven Dislikes worden niet weergegeven Toon onlikes op Shorts @@ -776,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Tel tracking overslaan is niet ingeschakeld Minimale segmentduur Segmenten korter dan deze waarde (in seconden) worden niet getoond of overgeslagen + Ongeldige tijdsduur Je privégebruikers-id Dit moet privé blijven. Dit is als een wachtwoord en moet met niemand worden gedeeld. Als iemand dit heeft, kunnen zij u imiteren Privé gebruikers-id moet ten minste 30 tekens lang zijn @@ -799,7 +816,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Onbetaalde/zelf-promotie Vergelijkbaar met \'Sponsor\' behalve onbetaalde of zelfpromotie. Inclusief secties over goederen, donaties of informatie over wie ze hebben samengewerkt Interactie Herinnering (Abonneren) - Een korte herinnering om ze leuk te vinden, te abonneren of te volgen in het midden van de inhoud. Als het lang is of iets specifieks is, moet het in plaats daarvan onder zelfpromotie vallen. + Een korte herinnering om te liken, te abonneren of te volgen tussen de inhoud in. Als het lang of iets specifieks is, moet het in plaats daarvan onder zelfpromotie vallen Markeren Het deel van de video waarnaar de meeste mensen op zoek zijn Intermissie/Intro Animatie @@ -851,7 +868,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Kon segment niet indienen: %s SponsorBlock is tijdelijk niet beschikbaar Kon segment niet verzenden (status: %1$d %2$s) - Segment verzenden niet mogelijk.\n-tarief gelimiteerd (te veel van dezelfde gebruiker of IP) + Segment verzenden niet mogelijk.\n Tarief gelimiteerd (te veel van dezelfde gebruiker of IP) Kan de groep niet indienen: %s Kan het segment niet indienen.\nBestaat al Segment succesvol ingediend @@ -876,8 +893,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Tijd waarop het segment begint Tijd waarop het segment eindigt Zijn de tijden correct? - Het segment is van\n\n%1$s\nnaar\n%2$s\n\n(%3$s)\n\nklaar om te indienen? De start moet voor het einde zijn Markeer eerst twee locaties op de tijdbalk @@ -896,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Gebruikersnaam succesvol gewijzigd Je reputatie is <b>%.2f</b> Je hebt <b>%s</b> segmenten aangemaakt + Tik hier om je segmenten te bekijken SponsorBlock scorebord Je hebt mensen gered van <b>%s</b> segmenten Tik hier om de globale statistieken en de top bijdragers te zien @@ -903,7 +919,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Je hebt <b>%s</b> segmenten overgeslagen Dat is <b>%s</b> Reset overgeslagen segmenten teller? - %1$@ uren %2$@ minuten + %1$s uren %2$s minuten %1$s minuten %2$s seconden %s seconden Kleur: @@ -976,9 +992,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Voor- en achterkant knoppen verbergen Vooruit en achterkant zijn verborgen Spring vooruit en achterkant worden weergegeven - Overlay opacity + Dekking van de overlay Transparantiewaarde tussen 0-100, waarbij 0 transparant is - Miniplayer overlay transparantie moet tussen de 0-100 zijn + Minispeler overlay transparantie moet tussen de 0-100 zijn Kleurovergang laden scherm inschakelen @@ -1117,35 +1133,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide om te zoeken is ingeschakeld Slide om te zoeken is niet ingeschakeld - - Ontwijk klant - De client bederven om afspeelproblemen te voorkomen - Ontwijk klant - Klant is vervalst - Client is niet vervalst\n\nVideo afspelen werkt mogelijk niet - Het uitschakelen van deze instelling kan problemen met het afspelen van video veroorzaken. - Klant naar iOS vervalsen - Klant is momenteel gespoofd naar iOS\n\nSide effecten zoals:\n• HDR video is mogelijk niet beschikbaar\n• Bekijk geschiedenis werkt niet met een merk account - Cliënt is momenteel ondergesneeuwd naar Android VR. Side effecten inclusief:\n• Geen HDR video\n• Kinderen video\'s spelen niet af\n• Gepauzeerde video\'s kunnen willekeurig hervatten\n• Slechte kwaliteit zoekbalkminiaturen\n• Download actieknop is verborgen\n• Eindscherm kaarten zijn verborgen - Klant miniaturen niet beschikbaar (API timed out) - Klant miniaturen tijdelijk niet beschikbaar: %s - - - - Handtekening nabootsen - Handtekening nabootsen om afspeelproblemen te voorkomen - Handtekening nabootsen - App signature gespoofed\n\nSide effecten omvatten:\n• Verbeterde bitrate is niet beschikbaar\n• Video\'s kunnen niet worden gedownload\n• Geen zoekbalk miniaturen voor betaalde video\'s - App handtekening niet vervalst door een\n\nVideo afspelen werkt mogelijk niet - Als je deze instelling uitschakelt, ontstaan er problemen bij het afspelen van de video. - Handtekening nabootsen in feed - App signature vervalste\n\nSide effecten omvatten:\n• Feed video\'s missen ondertitels\n• Automatisch afgespeelde feed video\'s verschijnen in je watch geschiedenis - App handtekening niet gespoofed voor feed video\'s\n\nFeed zullen minder dan 1 minuut afspelen voor het afspelen van problemen - Verhaalbord nabootsen - Storyboard vervalst - Storyboard niet vervalst\n\nSide effecten zijn:\n• Geen omgevingsmodus\n• Zoekbar miniaturen zijn verborgen - Verhaalbord tijdelijk niet beschikbaar (API timed out) - Verhaalbord tijdelijk niet beschikbaar: %s + + Videostreams omzeilen + Videostreams van de client bederven om afspeelproblemen te voorkomen + Videostreams omzeilen + Videostreams zijn vervalst + Videostreams zijn niet gespoofd\n\nVideo afspelen werkt mogelijk niet + Het uitschakelen van deze instelling kan problemen met het afspelen van video veroorzaken. + Standaard client + Forceer AVC (H.264) + Videocodec is AVC (H.264) + Videocodec is VP9 of AV1 + Je apparaat heeft geen VP9 hardware-decodering en deze instelling is altijd ingeschakeld wanneer \'Client spoofing\' is ingeschakeld + Het inschakelen hiervan kan de batterijduur verbeteren en het terugspringen corrigeren.\n\nAVC heeft een maximale resolutie van 1080p, en het afspelen van video\'s zal meer internetgegevens gebruiken dan VP9 of AV1. + iOS vervalste bijwerkingen + • Films of betaalde video\'s kunnen mogelijk niet afspelen\n• Livestreams starten vanaf het begin. + Android VR vervalste bijeffecten + • Audio track menu ontbreekt diff --git a/src/main/resources/addresources/values-or-rIN/strings.xml b/src/main/resources/addresources/values-or-rIN/strings.xml index 8d3696ca4..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/src/main/resources/addresources/values-or-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -207,7 +206,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - ଚେତାଵନୀ @@ -235,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-pa-rIN/strings.xml b/src/main/resources/addresources/values-pa-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-pl-rPL/strings.xml b/src/main/resources/addresources/values-pl-rPL/strings.xml index 327ad25ed..6bf49d0bd 100644 --- a/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Sprawdzanie nie powiodło się + Otwórz oficjalną stronę internetową + Ignoruj + <h5>Ta aplikacja nie wydaje się być przez ciebie naprawiana.</h5><br>Ta aplikacja może nie działać poprawnie, <b>może być szkodliwa lub nawet niebezpieczna dla użycia</b>.<br><br>Te sprawdzenia oznaczają, że ta aplikacja jest wstępnie przygotowana lub uzyskana od kogoś innego:<br><br><small>%1$s</small><br>Zdecydowanie zaleca się odinstalować aplikację <b>i zaktualizować ją samodzielnie</b> , aby upewnić się, że używasz zweryfikowanej i bezpiecznej aplikacji.<p><br>Jeśli zignorowane, to ostrzeżenie będzie wyświetlane tylko dwukrotnie. + Ulepszono na innym urządzeniu + Nie zainstalowany przez ReVanced Manager + Ponad 10 minut temu + Dostosuj %s dni temu + Data kompilacji APK jest uszkodzona + ReVanced Czy chcesz kontynuować? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Przywrócono domyślne ustawienia ReVanced Zaimportowano ustawienia %d Importowanie nie powiodło się: %s + Zaimportuj / Wyeksportuj + Zaimportuj / Wyeksportuj ustawienia ReVanced + + Używasz wersji <i>%s</i> Łatek ReVanced + Uwaga + Ta wersja jest wersją wstępną i mogą wystąpić nieoczekiwane problemy + Oficjalne linki + Wesprzyj @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Używasz wersji <i>%s</i> Łatek ReVanced - Uwaga - Ta wersja jest wersją wstępną i mogą wystąpić nieoczekiwane problemy - Oficjalne linki - Zaimportuj / Wyeksportuj - Zaimportuj / Wyeksportuj ustawienia ReVanced - O aplikacji Reklamy @@ -244,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Słowa kluczowe do ukrycia - Słowa kluczowe i frazy do ukrycia, oddzielone nowymi wierszami\n\nSłowa z wielkimi literami w środku muszą być wpisane z obudową (np. iPhone, TikTok, LeBlanc) + Słowa kluczowe i frazy do ukrycia, oddzielone nowymi wierszami\n\nSłowa kluczowe mogą być nazwami kanałów lub dowolnymi tekstami pokazanymi w tytułach wideo\n\nSłowa z wielkimi literami w środku muszą być wpisane z obudową (np. iPhone, TikTok, LeBlanc) O filtrowaniu słów kluczowych - Wyniki strony głównej/Subskrypcji/Wyszukiwarki są filtrowane w celu ukrycia treści pasującej do słów kluczowych\n\nOgraniczenia\n• Niektóre Shorts mogą nie być ukryte\n• Niektóre komponenty interfejsu użytkownika nie mogą być ukryte\n• Wyszukiwanie słowa kluczowego może nie pokazywać wyników + Wyniki strony głównej/Subskrypcji/Wyszukiwarki są filtrowane w celu ukrycia treści pasującej do słów kluczowych\n\nOgraniczenia\n• Skróty nie mogą być ukryte przez nazwę kanału\n• Niektóre komponenty interfejsu użytkownika nie mogą być ukryte\n• Wyszukiwanie słowa kluczowego może nie pokazywać wyników + Dopasuj całe słowa + + Otwarcie słowa kluczowego/frazy podwójnymi cudzysłowami uniemożliwi częściowe dopasowanie tytułów wideo i nazw kanałów<br><br>Na przykład,<br><b>\"ai\"</b> ukryje wideo: <b>How does AI work?</b><br>ale nie ukry: <b>What does fair use mean?</b> - Nieprawidłowe słowo kluczowe. Nie można użyć: \'%s\' jako filtr - - Nieprawidłowe słowo kluczowe. \'%1$s\' jest mniejsze niż %2$d znaków - Słowo kluczowe \'%s\' ukryje wszystkie filmy + Nie można użyć słowa kluczowego: %s + Dodaj cudzysłowy, aby użyć słowa kluczowego: %s + Słowo kluczowe zawiera sprzeczne deklaracje: %s + Słowo kluczowe jest zbyt krótkie i wymaga cytatów: %s + Słowo kluczowe ukryje wszystkie filmy: %s Ukryj reklamy ogólne @@ -617,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ukryj dźwięk do przycisku playlisty Zapisz dźwięk na liście odtwarzania jest ukryty Zapisz dźwięk na liście odtwarzania + Ukryj ten przycisk dźwięku + Użyj tego przycisku dźwięku jest ukryty + Użyj tego przycisku dźwięku jest pokazany Ukryj sugestie wyszukiwania Sugestie wyszukiwania są ukryte Sugestie wyszukiwania są wyświetlane @@ -680,7 +697,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Przezroczystość nakładki odtwarzacza musi być pomiędzy 0-100 - Ukryte Brak polubień (status %d) @@ -776,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Pomiń licznik śledzenia nie jest włączony Minimalna długość segmentu Segmenty krótsze niż ta wartość (w sekundach) nie będą wyświetlane lub pominięte + Nieprawidłowy czas trwania Twój prywatny identyfikator użytkownika Ta informacja jest poufna i działa jak hasło. Użytkownik, który ma do niej dostęp, może zgłaszać treści jako ty ID użytkownika prywatnego musi mieć co najmniej 30 znaków @@ -869,14 +886,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Wybierz kategorię segmentu Kategoria jest wyłączona w ustawieniach. Włącz kategorię do wysyłania. Nowy segment SponsorBlock\'a + Ustawić %s jako początek lub koniec nowego segmentu? początek koniec aktualnie Czas rozpoczęcia segmentu od Czas zakończenia segmentu od Czy te czasy są poprawne? - Segment jest od\n\n%1$s\ndo\n%2$s\n\n(%3$s)\n\nGotowy do wysłania? Początek musi być przed końcem Najpierw zaznacz dwie lokalizacje na pasku czasu @@ -895,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Nazwa użytkownika została zmieniona Twoja reputacja to <b>%.2f</b> Stworzyłeś segmenty <b>%s</b> + Dotknij tutaj, aby zobaczyć swoje segmenty Tablica wyników SponsorBlock Zapisałeś ludzi z segmentów <b>%s</b> Dotknij tutaj, aby zobaczyć globalne statystyki i najlepszych współtwórców @@ -976,7 +993,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ukryj przyciski przeskakujące do przodu i do tyłu Pomiń do przodu i z powrotem są ukryte Pomiń do przodu i do tyłu są wyświetlane - Overlay opacity + Przezroczystość nakładki Wartość przezroczystości między 0-100, gdzie 0 jest przezroczysty Przezroczystość nakładki musi być pomiędzy 0-100 @@ -1117,35 +1134,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Przesuń, aby przeszukiwać jest włączony Przesuń, aby przeszukiwać nie jest włączony - - Zespoofowany klient - Zespoofuj klienta, aby zapobiec problemom z odtwarzaniem - Zespoofowany klient - Klient jest zespoofowany - Klient nie jest zespoofowany\n\nOdtwarzanie wideo może nie działać - Wyłączenie tego ustawienia może spowodować problemy z odtwarzaniem wideo. - Zespoofuj klient do wersji iOS - Klient jest obecnie spoofed to iOS\n\nEfekty niepożądane obejmują:\n• Wideo HDR może nie być dostępne\n• Historia zegarka nie działa z kontem markowym - Klient jest obecnie spoofed na Androida VR. Efekty niepożądane obejmują:\n• Brak filmu HDR\n• Filmy dziecięce nie odtwarza\n• Wstrzymane filmy mogą losowo wznawiać\n• Niska jakość miniatur paska wyszukiwania skrótów\n• Przycisk pobierania jest ukryty\n• Karty ekranu końcowego są ukryte - Miniatury klienta nie są dostępne (limit czasu API) - Miniaturki klienta tymczasowo nie są dostępne: %s - - - - Podpis plamki - Słuchaj podpisu aplikacji, aby zapobiec problemom z odtwarzaniem - Podpis plamki - Podpis aplikacji spofed\n\nEfekty uboczne obejmują:\n• Zwiększona przepływność nie jest dostępna\n• Filmy nie mogą być pobrane\n• Brak miniatur paska wyszukiwania dla płatnych filmów - Podpis aplikacji nie sfałszowany\n\nOdtwarzanie wideo może nie działać - Wyłączenie tego ustawienia spowoduje problemy z odtwarzaniem wideo. - Znaki aplikacji w kanale - Podpis aplikacji spoofed\n\nEfekty niepożądane obejmują:\n• Filmy RSS nie zawierają napisów\n• Odtwarzane automatycznie filmy wideo pojawią się w historii zegarka - Podpis aplikacji nie spofed dla filmów kanału\n\nFilmy RSS będą odtwarzać przez mniej niż 1 minutę przed napotkaniem problemów z odtwarzaniem - Szlifowanie tablicy - Splofed Soryboard - Nie spofed\n\nEfekty uboczne obejmują:\n• Brak trybu otoczenia\n• Miniatury paska wyszukiwania są ukryte - Słupek tablicy czasowo niedostępny (limit czasu API) - Szlifowanie tablicy storycowej tymczasowo niedostępne: %s + + Słuchanie strumieni wideo + Słuchaj strumienia wideo klienta, aby zapobiec problemom z odtwarzaniem + Słuchanie strumieni wideo + Strumienie wideo są spoofowane + Strumienie wideo nie jest spoofed\n\nOdtwarzanie wideo może nie działać + Wyłączenie tego ustawienia może spowodować problemy z odtwarzaniem wideo. + Domyślny klient + Siła AVC (H.264) + Kodek wideo to AVC (H.264) + Kodek wideo to VP9 lub AV1 + Twoje urządzenie nie posiada dekodowania VP9, a to ustawienie jest zawsze włączone, gdy spoofing klienta jest włączony + Włączenie tego może poprawić żywotność baterii i naprawić stłuczenie odtwarzania.\n\nAVC ma maksymalną rozdzielczość 1080p, a odtwarzanie wideo wykorzysta więcej danych internetowych niż VP9 lub AV1. + iOS spoofing działania niepożądane + • Filmy lub płatne filmy mogą nie odtwarzać\n• Livestreams zaczynają się od początku + Działania niepożądane związane z systemem Android VR + • Brakuje menu ścieżki audio diff --git a/src/main/resources/addresources/values-pt-rBR/strings.xml b/src/main/resources/addresources/values-pt-rBR/strings.xml index d276a47ad..2cf0214cd 100644 --- a/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Verificação falhou + Abrir o site oficial + Ignorar + <h5>Este aplicativo não parece ter sido patcheado por você.</h5><br>Este app pode não funcionar corretamente, <b>pode ser prejudicial ou até mesmo perigoso de usar</b>.<br><br>Essas verificações indicam que este app foi pré-patcheado ou obtido de outra pessoa<br><br><small>%1$s</small><br>É altamente recomendável <b>desinstalar este app e você mesmo patchear</b> para garantir que você esteja usando um app validado e seguro.<p><<br>Se ignorado, este aviso será exibido apenas duas vezes. + Patcheado em um dispositivo diferente + Não instalado pelo ReVanced Manager + Patcheado há mais de 10 minutos + Patcheado há %s dias + Data de compilação do APK está corrompida + ReVanced Você deseja prosseguir? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Configurações ReVanced redefinidas para o padrão Configurações %d importadas Importação falhou: %s + Importar / Exportar + Importar / Exportar Configurações do ReVanced + + Você está usando os Patches ReVanced versão <i>%s</i> + Observação + Esta versão é um pré-lançamento e você pode ter problemas inesperados + Links oficiais + Doar @@ -55,26 +74,17 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Você está usando os Patches ReVanced versão <i>%s</i> - Observação - Esta versão é um pré-lançamento e você pode ter problemas inesperados - Links oficiais - Importar / Exportar - Importar / Exportar Configurações do ReVanced - Sobre Anúncios Miniaturas alternativas - Tela Inicial + Feed Reprodutor Layout geral Barra de busca Controles deslizantes Outras configurações - Video + Vídeo Depuração @@ -98,7 +108,7 @@ This is because Crowdin requires temporarily flattening this file and removing t O botão de curtir e de inscrever-se não vai brilhar quando clicado O botão de curtir e de inscrever-se vai brilhar quando clicado Ocultar separador cinza - Separador cinza está oculto + Os separadores cinza está oculto Separador cinza não está oculto Ocultar marca d\'água do canal Marca d\'água está oculta @@ -143,7 +153,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Cartão expansível não está oculto Ocultar rodapé do menu de qualidade de vídeo Rodapé do menu de qualidade de vídeo está oculto - Rodapé do menu de qualidade de vídeo não está oculto + Rodapé do menu de qualidade de vídeo não está ocultos Ocultar publicações da comunidade Publicações da comunidade está oculto Publicações da comunidade não está oculto @@ -244,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Palavras-chave para ocultar - Palavras-chave e frases para ocultar, separados por novas linhas\n\nPalavras com letras maiúsculas no meio devem ser inseridas com letras maiúsculas (ex: iPhone, TikTok, LeBlanc) + Palavras-chave e frases a serem ocultadas, separadas por novas linhas\n\nPalavras-chave podem ser nomes de canais ou qualquer texto mostrado em títulos de vídeos\n\nPalavras com letras maiúsculas no meio devem ser inseridas com maiúsculas e minúsculas (por exemplo: iPhone, TikTok, LeBlanc) Sobre a filtragem com palavra-chave - Início/Inscrições/Busca resultados são filtrados para ocultar conteúdo que corresponde às frases chave\n\nLimitações\n• Alguns Shorts podem não ser ocultados\n• Alguns componentes da UI podem não ser ocultados\n• Procurar por uma palavra-chave pode não mostrar resultados + Home/Assinatura/Busca Resultados são filtrados para ocultar conteúdo que corresponde às palavras chaves\n\nLimitações\n• Shorts não podem ser ocultados pelo nome do canal\n• Alguns componentes do UI podem não ser ocultados\n• Procurar por uma palavra-chave pode não mostrar Resultados + Corresponder palavras inteiras + + Colocar uma palavra-chave/frase entre aspas duplas impedirá correspondências parciais de títulos de vídeos e nomes de canais<br><br>Por exemplo,<br><b>\"ia\"</b> ocultará o vídeo: <b>Como funciona a IA?</b><br>mas não ocultará: <b>Como detectar fraudes por e-mail?</b> - Palavra-chave inválida. Não pode usar: \'%s\' como um filtro - - Palavra-chave inválida. \'%1$s\' é menor que %2$d caracteres - Palavra-chave \'%s\' irá ocultar todos os vídeos + Impossível usar a palavra-chave: %s + Adicionar aspas para usar a palavra-chave: %s + A palavra-chave tem declarações conflitantes: %s + A palavra-chave é muito curta e requer aspas: %s + A palavra-chave irá ocultar todos os vídeos: %s Ocultar anúncios gerais @@ -263,9 +277,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar anúncios com botões Os anúncios com botões estão ocultos Anúncios com botões não estão ocultos - Ocultar rótulo de promoção paga - O rótulo de promoção pago está oculto - Rótulo de promoção pago é mostrado + Ocultar o rótulo de promoção paga + O rótulo de promoção paga está oculto + O rótulo de promoção paga é mostrada Ocultar cartões auto-patrocinados Cartões autopatrocinados estão ocultos Cartões autopatrocinados não estão ocultos @@ -326,12 +340,12 @@ This is because Crowdin requires temporarily flattening this file and removing t Botão de download abre o download nativo Nome do pacote do app de download Nome do pacote do seu app de baixar externo instalado, como NewPipe ou Seal - %s não está instalado. Por favor, instale-o. + %s não está instalado. Por favor, instale. Desativar gesto de busca precisa Gesto desativado - Gesto ativado + O gesto está ativado Ativar toque na barra de busca @@ -355,8 +369,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Salvar e restaurar o brilho quando sair ou entrar em tela cheia Não salvar e restaurar o brilho ao sair ou entrar em tela cheia Ativar gesto de brilho automático - Deslizando para baixo até o menor valor do gesto de brilho, habilite o brilho automático - Deslizando para baixo até o menor valor não habilita o brilho automático + Deslizar para baixo até o menor valor do gesto de brilho, ativa o brilho automático + Deslizar para baixo até o menor valor do gesto de brilho, não ativa o brilho automático Automático Tempo limite da sobreposição no gesto A quantidade de milissegundos em que a sobreposição é visível @@ -433,8 +447,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Botão de início não está oculto Ocultar Shorts - Botão shorts está oculto - Botão de shorts não está oculto + O botão Shorts está oculto + O botão Shorts é mostrado Ocultar Criar Botão criar está oculto @@ -448,11 +462,11 @@ This is because Crowdin requires temporarily flattening this file and removing t O botão Criar é alternado com o botão Notificações\n\nNota: Ativar isso também forçar a ocultação de anúncios de vídeo Botão criar não está alternado com o botão notificações Ocultar rótulos dos botões de navegação - Marcadores estão ocultos - Marcadores são mostrados + Rótulos são ocultos + Rótulos são mostrados - Menu suspenso + Menu flutuante Ocultar ou mostrar itens no menu suspenso do reprodutor Ocultar Legendas @@ -515,9 +529,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar seção de comentários Seção de comentários está oculta Seção de comentários exibida - Ocultar botão \'Criar curto\' - O botão \'Criar curto\' está oculto - O botão \'Criar Atalho\' é mostrado + Ocultar botão \'Criar um Short\' + O botão \'Criar um Short\' está oculto + O botão \'Criar um Short\' é exibido Ocultar prévia de comentário Prévia de comentário está oculta Prévia de comentário não está oculta @@ -582,14 +596,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar Shorts na tela inicial - Shorts na tela inicial estão ocultos - Shorts na tela inicial não estão ocultos + Os Shorts no feed inicial estão ocultos + Shorts no feed inicial são mostrados Ocultar Shorts na tela inscrições Shorts na tela inscrições estão ocultos Shorts na tela inscrições não estão ocultos Ocultar Shorts nos resultados de pesquisa - Shorts no resultados de pesquisa estão ocultos + Os shorts no feed de assinatura são exibidos Shorts nos resultados da pesquisa são mostrados Ocultar botão seja membro @@ -680,7 +694,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Opacidade do jogador deve estar entre 0-100 - Ocultar Não gostei indisponível por um tempo (API expirou) Não gostei indisponível (status %d) @@ -776,6 +789,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Rastreamento de contagem de pulos não está ativado Duração mínima de segmento Segmentos menores que este valor (em segundos) não serão mostrados ou pulados + Duração de tempo inválida Seu id privado de usuário Isso deve ser mantido em particular. Isto é como uma senha e não deve ser compartilhado com ninguém. Se alguém tiver isso, ele pode se passar por você ID do usuário privado deve ter pelo menos 30 caracteres @@ -876,8 +890,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Tempo em que o segmento começa Tempo em que o segmento termina Os tempos estão corretos? - O segmento é de\n\n%1$s\na\n%2$s\n\n(%3$s)\n\nPronto para enviar? O início deve ser antes do fim Marque dois locais na barra de tempo primeiro @@ -896,6 +908,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Nome de usuário alterado com sucesso Sua reputação é <b>%.2f</b> Você criou <b>%s</b> segmentos + Toque aqui para ver seus segmentos Placar do SponsorBlock Você salvou pessoas de <b>%s</b> segmentos Toque aqui para ver as estatísticas globais e os principais colaboradores @@ -977,7 +990,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar botões pular para frente e para trás Pular para frente e para trás estão escondidos Pular para frente e para trás são mostrados - Overlay opacity + Opacidade de sobreposição Valor de opacidade entre 0-100, onde 0 é transparente Opacidade da sobreposição de minijogador deve estar entre 0-100 @@ -1118,35 +1131,10 @@ This is because Crowdin requires temporarily flattening this file and removing t Gesto na barra de busca está ativado Gesto na barra de busca está desativado - - Cliente de Spoof - Spoof do cliente para evitar problemas de reprodução - Cliente de Spoof - Cliente é falsificado - Cliente não é falsificado\n\nA reprodução de vídeo pode não funcionar - Desativar essa configuração pode causar problemas de reprodução de vídeo. - Cliente Spoof para iOS - O cliente está simulando para o iOS\n\nEfeitos adversos incluem:\n• O HDR pode não estar disponível\n• O histórico de exibição não funciona com uma conta de Marca - O cliente está falsificado para o Android VR. Os efeitos colaterais incluem:\n• Sem vídeo HDR\n• Vídeos infantis não são reproduzidos\n• Vídeos pausados podem ser retomados aleatoriamente\n• Miniaturas da barra de busca de Shorts de baixa qualidade\n• O botão de ação de download está oculto\n• Os cards da tela final estão ocultos - Miniaturas Spoof client não disponíveis (API timeout) - Miniaturas Spoof client temporariamente não disponíveis: %s - - - - Assinatura falsa app - Disfarçar a assinatura do app para impedir problemas de reprodução - Assinatura falsa app - A assinatura do aplicativo falsificado\n\nEfeitos laterais incluem:\n• Taxa de bits melhorada não está disponível\n• Os vídeos não podem ser baixados\n• Nenhuma miniatura na barra de busca para vídeos pagos - Assinatura do app não falsificado\n\nA reprodução de vídeo pode não funcionar - Desativar essa configuração causará problemas de reprodução de vídeo. - Assinatura falsa app no feed - A assinatura de apps spoofed\n\nEfeitos colaterais incluem:\n• Feed videos não possuem legendas\n• Vídeos alimentados automaticamente aparecerão em seu histórico de assistidos - Assinatura de aplicativos não oculta para vídeos de feeds\n\nVídeos de feed serão reproduzidos por menos de 1 minuto antes de encontrar problemas de reprodução - Esfarrapador narrativo - Storyboard falsificado - Storyboard não falsificado\n\nOs efeitos colaterais incluem:\n• Modo sem ambiente\n• Miniaturas da barra de busca estão ocultas - Spoof storyboard temporariamente não está disponível (API timeout) - Esboço de storyboard temporariamente indisponível: %s + + Ativar isso pode melhorar a duração da bateria e corrigir falhas na reprodução.\n\nO AVC tem uma resolução máxima de 1080p, e a reprodução de vídeo usará mais dados de internet do que o VP9 ou o AV1. + Efeitos colaterais de falsificação do iOS + Android VR efeitos colaterais de falsificação diff --git a/src/main/resources/addresources/values-pt-rPT/strings.xml b/src/main/resources/addresources/values-pt-rPT/strings.xml index b6253e176..7cbc2f1cc 100644 --- a/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -32,6 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Verificação falhou + Abrir site oficial + Ignorar + Patrulhado em um dispositivo diferente + Não instalado pelo ReVanced Manager + Corrigida há mais de 10 minutos + Corrigida há %s dias + Data de compilação do APK está corrompida + Desejas continuar? Redefinir @@ -42,6 +52,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Configurações redefinidas para o padrão Configurações %d importadas A importação falhou: %s + Importar / Exportar + Importar / Exportar configurações do ReVanced + + Você está usando a versão ReVanced Patches <i>%s</i> + Observação + Esta versão é um pré-lançamento e você pode ter problemas inesperados + Links oficiais + Doar @@ -54,14 +72,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - Você está usando a versão ReVanced Patches <i>%s</i> - Observação - Esta versão é um pré-lançamento e você pode ter problemas inesperados - Links oficiais - Importar / Exportar - Importar / Exportar configurações do ReVanced - Sobre Anúncios @@ -242,14 +252,17 @@ This is because Crowdin requires temporarily flattening this file and removing t Palavras-chave a esconder - Palavras-chave e frases para esconder, separados por novas linhas\n\nPalavras com letras maiúsculas no meio devem ser inseridas com letras maiúsculas (ex: iPhone, TikTok, LeBlanc) + Palavras-chave e frases para ocultar, separados por novas linhas\n\nPalavras-chave podem ser nomes de canal ou qualquer texto mostrado nos títulos de vídeo\n\nPalavras com letras maiúsculas no meio devem ser inseridas com letras maiúsculas (ex: iPhone, iPhone, TikTok, Lilanc) Sobre a filtragem por palavra-chave - Principal/Subscrição/Resultados de pesquisa são filtrados para esconder conteúdo que corresponde às frases chave\n\nLimitações\n• Alguns abreviados podem não ser escondidos\n• Alguns componentes da UI podem não ser escondidos\n• Procurar por uma palavra-chave pode não mostrar resultados + Home/Assinatura/Busca resultados são filtrados para ocultar conteúdo que corresponde às frases chave\n\nLimitações\n• Shorts não podem ser ocultados pelo nome do canal\n• Alguns componentes do UI podem não ser ocultados\n• Procurar por uma palavra-chave pode não mostrar resultados + Combinar palavras inteiras + - Chave inválida. Não pode usar: \'%s\' como filtro - - Chave inválida. \'%1$s\' é menor que %2$d caracteres - Palavra-chave \'%s\' irá ocultar todos os vídeos + Não é possível usar a palavra-chave: %s + Adicionar aspas para usar a palavra-chave: %s + Palavra-chave tem declarações conflitantes: %s + A palavra-chave é muito curta e requer citações: %s + Palavra-chave irá ocultar todos os vídeos: %s Esconder anúncios gerais @@ -430,9 +443,9 @@ This is because Crowdin requires temporarily flattening this file and removing t O botão Início está escondido O botão \"Início\" está visível - Esconder Curtos - Botão curto está escondido - O botão \"Shorts\" está visível + Esconder Shorts + O botão Shorts está oculto + O botão Shorts está visível Esconder Criar O botão criar está escondido @@ -450,7 +463,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Marcadores são mostrados - Flyout menu + Menu suspenso Esconder ou mostrar itens do menu de saída do player Esconder legendas @@ -513,9 +526,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Esconder seção de comentários Seção de comentários está oculta Seção de comentários exibida - Ocultar botão \'Criar curto\' - O botão \'Criar curto\' está oculto - O botão \'Criar Atalho\' é mostrado + Ocultar o botão \'Criar um Short\' + O botão \'Criar um Short\' está oculto + O botão \'Criar um Short\' é mostrado Esconder comentário de pré-visualização Visualização do comentário está escondida Pré-visualização de comentário é exibida @@ -580,15 +593,15 @@ This is because Crowdin requires temporarily flattening this file and removing t Esconder Shorts no feed inicial - Shorts in home feed estão escondidos - Shorts in home feed são exibidos + Os Shorts no feed inicial estão ocultos + Os calções no feed inicial são exibidos Esconder Shorts na assinatura do feed Shorts in subscrition feed are hidden - São visíveis abreviações no feed de assinatura + Os calções no feed de inscrições são exibidos Esconder Shorts nos resultados de pesquisa - Abreviações nos resultados de busca estão escondidos - Curtos são mostrados nos resultados da pesquisa + Shorts nos resultados da pesquisa estão ocultos + Shorts são mostrados nos resultados da pesquisa Esconder botão \'Aderir\' O botão \"Aderir\" está escondido @@ -615,6 +628,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Esconder o som no botão de playlist Salvar som para playlist está escondida Salvar som para lista de reprodução + Ocultar usar este botão de som + Usar este botão de som está oculto + Usar este botão de som é mostrado Ocultar sugestões de busca Sugestões de pesquisa estão ocultas Sugestões de pesquisa são mostradas @@ -678,7 +694,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Opacidade do jogador deve estar entre 0-100 - Hidden \"Não Gosto\" temporariamente indisponível Descurtir não disponível (status %d) @@ -774,6 +789,7 @@ This is because Crowdin requires temporarily flattening this file and removing t O rastreamento da contagem ignorada não está habilitado Duração mínima do segmento Segmentos menores que este valor (em segundos) não serão visíveis ou ignorados + Duração inválida Seu ID de usuário privado Isso deve ser mantido em particular. Isto é como uma senha e não deve ser compartilhado com ninguém. Se alguém tiver isso, ele pode representar você ID do usuário privado deve ter pelo menos 30 caracteres @@ -874,8 +890,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Hora do início do segmento em Tempo que o segmento termina em Os tempos estão corretos? - O segmento é de\n\n%1$s\na\n%2$s\n\n(%3$s)\n\nPronto para enviar? Iniciar deve ser antes do fim Marcar dois locais na barra de tempo @@ -894,6 +908,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Usuário alterado com sucesso Sua reputação é <b>%.2f</b> Tu criaste <b>%s</b> segmentos + Toque aqui para ver seus segmentos Placar do SponsorBlock Você salvou pessoas de <b>%s</b> segmentos Toque aqui para ver as estatísticas globais e os melhores colaboradores @@ -974,7 +989,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar botões pular para frente e para trás Pular para frente e para trás estão escondidos Pular para frente e para trás são mostrados - Overlay opacity + Opacidade da sobreposição Valor de opacidade entre 0-100, onde 0 é transparente Opacidade da sobreposição de minijogador deve estar entre 0-100 @@ -1114,35 +1129,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Deslize para procurar está ativado Deslize para procurar não está habilitado - - Cliente de Spoof - Spoof do cliente para evitar problemas de reprodução - Cliente de Spoof - Cliente é falsificado - Cliente não é falsificado\n\nA reprodução de vídeo pode não funcionar - Desativar essa configuração pode causar problemas de reprodução de vídeo. - Cliente Spoof para iOS - Cliente é falsificado atualmente para iOS\n\nOs efeitos colaterais incluem:\n• O vídeo HDR pode não estar disponível\n• Histórico de assistir não funciona com uma conta de marca - O cliente está oculta para o Android VR. Os efeitos colaterais incluem:\n• Nenhum vídeo HDR\n• As crianças não reproduzem\n• Os vídeos pausados podem retomar aleatoriamente\n• Miniaturas da barra de busca curta de baixa qualidade\n• Botão de ação para baixar está oculto\n• Cartões de tela final estão ocultos - Miniaturas Spoof client não disponíveis (API timeout) - Miniaturas Spoof client temporariamente não disponíveis: %s - - - - Assinatura falsa app - Disfarçar a assinatura do app para impedir problemas de reprodução - Assinatura falsa app - A assinatura do aplicativo falsificado\n\nEfeitos laterais incluem:\n• Taxa de bits melhorada não está disponível\n• Os vídeos não podem ser baixados\n• Nenhuma miniatura na barra de busca para vídeos pagos - Assinatura do app não falsificado\n\nA reprodução de vídeo pode não funcionar - Desativar essa configuração causará problemas de reprodução de vídeo. - Assinatura falsa app no feed - A assinatura de apps spoofed\n\nEfeitos colaterais incluem:\n• Feed videos não possuem legendas\n• Vídeos alimentados automaticamente aparecerão em seu histórico de assistidos - Assinatura de aplicativos não oculta para vídeos de feeds\n\nVídeos de feed serão reproduzidos por menos de 1 minuto antes de encontrar problemas de reprodução - Esfarrapador narrativo - Storyboard falsificado - Storyboard não falsificado\n\nOs efeitos colaterais incluem:\n• Modo sem ambiente\n• Miniaturas da barra de busca estão ocultas - Spoof storyboard temporariamente não está disponível (API timeout) - Esboço de storyboard temporariamente indisponível: %s + + Fluxos de vídeo falsos + Disfarçar os fluxos de vídeo do cliente para evitar problemas de reprodução + Fluxos de vídeo falsos + Fluxos de vídeo são falsificados + Fluxos de vídeo não são spoofed\n\nA reprodução de vídeo pode não funcionar + Desativar essa configuração pode causar problemas de reprodução de vídeo. + Cliente padrão + Forçar AVC (H.264) + Codec de vídeo é AVC (H.264) + Codec de vídeo é VP9 ou AV1 + Seu dispositivo não possui decodificação por hardware VP9, e esta configuração está sempre ligada quando o spoofing do cliente está ativado + Habilitar isso pode melhorar a duração da bateria e corrigir travamentos na reprodução.\n\nAVC tem uma resolução máxima de 1080p, e a reprodução de vídeo usará mais dados na internet do que VP9 ou AV1. + Efeitos colaterais de iOS + • Filmes ou vídeos pagos podem não reproduzir\n• Livestreams começa desde o início + Android VR efeito de spoofing side + • Falta o menu de faixa de áudio diff --git a/src/main/resources/addresources/values-ro-rRO/strings.xml b/src/main/resources/addresources/values-ro-rRO/strings.xml index aa7d09ad8..bd4356e0c 100644 --- a/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -32,6 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Verificări eșuate + Deschide site-ul oficial + Ignoră + Patchat pe un alt dispozitiv + Nu este instalat de ReVanced Manager + Patchat acum mai mult de 10 minute + Patchat %s zile în urmă + Data construcției APK este coruptă + ReVanced Doriți să continuați? @@ -43,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Setările revizuite se resetează la valorile implicite Setări %d importate Importul a eșuat: %s + Importă / Exportă + Setări Import / Export ReVanced + + Folosiți ReVanced Patch-uri versiunea <i>%s</i> + Notă + Această versiune este o pre-lansare și este posibil să întâmpinați probleme neașteptate + Link-uri oficiale + Donează @@ -55,15 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Folosiți ReVanced Patch-uri versiunea <i>%s</i> - Notă - Această versiune este o pre-lansare și este posibil să întâmpinați probleme neașteptate - Link-uri oficiale - Importă / Exportă - Setări Import / Export ReVanced - Despre Anunţuri @@ -244,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Cuvinte cheie de ascuns - Cuvinte cheie și fraze de ascuns, separate prin linii noi\n\nCuvintele cu litere mari din mijloc trebuie introduse cu caseta (ex: iPhone, TikTok, LeBlanc) + Cuvinte cheie și fraze de ascuns, separate prin linii noi\n\nCuvintele cheie pot fi nume de canal sau orice text afișat în titlurile video\n\nCuvinte cu litere mari în mijloc trebuie să fie introduse cu caseta (ex: iPhone, TikTok, LeBlanc) Despre filtrarea cuvintelor cheie - Rezultatele Acasă/Abonament/Căutare sunt filtrate pentru a ascunde conținutul care corespunde cuvintelor-cheie\n\nLimitările\n• Unele Scurte nu pot fi ascunse\n• Unele componente UI nu pot fi ascunse\n• Căutarea unui cuvânt cheie poate să nu prezinte rezultate + Rezultatele Acasă/Abonament/Căutare sunt filtrate pentru a ascunde conținutul care corespunde cuvintelor-cheie\n\nLimitările\n• Scurtăturile nu pot fi ascunse după numele canalului\n• Este posibil ca unele componente UI să nu fie ascunse\n• Căutarea unui cuvânt cheie poate să nu arate rezultate + Potrivește cuvinte întregi + + Supravieţuirea unui cuvânt cheie/frază cu ghilimele duble va preveni meciurile parţiale ale titlurilor video şi numelui canalelor<br><br>De exemplu,<br><b>\"ai\"</b> va ascunde video-ul: <b>How does AI work?</b><br>dar nu se va ascunde: <b>What does fair use mean?</b> - Cuvânt cheie nevalid. Nu se poate folosi: \'%s\' ca filtru - - Cuvânt cheie nevalid. \'%1$s\' este mai puțin de %2$d caractere - Cuvântul cheie%sva ascunde toate videoclipurile + Nu se poate folosi cuvantul cheie: %s + Adaugă oferte pentru a utiliza cuvântul cheie: %s + Cuvântul-cheie are declarații contradictorii: %s + Cuvântul cheie este prea scurt și necesită oferte: %s + Cuvântul cheie va ascunde toate videoclipurile: %s Ascunde reclamele generale @@ -432,9 +445,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Butonul Acasă este ascuns Butonul Acasă este afișat - Ascunde scurturi - Butonul scurt este ascuns - Butonul scurt este afișat + Ascunde Shorts + Butonul Shorts este ascuns + Butonul Shorts este afișat Ascunde Creare Butonul de creare este ascuns @@ -515,9 +528,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ascunde secțiunea comentarii Secţiunea de comentarii este ascunsă Secțiunea comentariilor este afișată - Ascunde butonul \'Creare scurtă\' - Butonul \'Crează un scurt\' este ascuns - Butonul \'Crează un scurt\' este afișat + Ascunde butonul \'Creare Short\' + Butonul \'Crează un Short\' este ascuns + Butonul \'Crează un Short\' este afișat Ascunde previzualizarea comentariului Previzualizarea comentariului este ascunsă Previzualizarea comentariului este afișată @@ -581,16 +594,16 @@ This is because Crowdin requires temporarily flattening this file and removing t - Ascunde scurtăturile din feed-ul de acasă - Scurtăturile din fluxul de acasă sunt ascunse - Scurtăturile din feed-ul acasă sunt afișate + Ascunde Short din feed-ul de acasă + Shorts în fluxul de acasă sunt ascunse + Sunt afișate Shorts în fluxul de acasă - Ascunde scurtăturile în feed-ul abonamentelor - Scurtăturile din feed-ul abonamentelor sunt ascunse - Scurte din feed-ul abonamentelor sunt afișate - Ascunde scurtăturile în rezultatele căutării - Punctele slabe din rezultatele căutării sunt ascunse - Punctele slabe din rezultatele căutării sunt afișate + Ascundeți Shorts în fluxul de abonament + Shorts din feed-ul abonamentelor sunt ascunse + Shorts din feed-ul abonamentelor sunt afișate + Ascunde Shorts în rezultatele căutării + Shorts în rezultatele căutării sunt ascunse + Sunt afișate Shorts în rezultatele căutării Ascunde butonul de alăturare Butonul de alăturare este ascuns @@ -617,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ascunde sunetul de salvare în butonul de redare Salvarea sunetului în lista de redare este ascunsă Salvarea sunetului în lista de redare este afișată + Ascunde butonul de sunet + Utilizaţi acest buton de sunet este ascuns + Utilizaţi acest buton de sunet este afișat Ascunde sugestiile de căutare Sugestiile de căutare sunt ascunse Sugestiile de căutare sunt afișate @@ -680,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Opacitatea suportată de jucător trebuie să fie între 0-100 - Hidden Dislike-uri temporar indisponibile (API a expirat) Dislike-uri indisponibile (status %d) @@ -776,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Omiterea numărului de urmărire nu este activată Durata minimă a segmentului Segmente mai scurte decat aceasta valoare (in secunde) nu vor fi afisate sau omise + Durată de timp invalidă ID-ul dvs. privat de utilizator Acest lucru ar trebui să fie păstrat. Este ca o parolă și nu ar trebui să fie partajat cu nimeni. Dacă cineva are acest lucru, te poate impersona. Id-ul utilizatorului privat trebuie să aibă cel puțin 30 de caractere @@ -876,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Timpul în care segmentul începe la Timpul în care segmentul se termină la Sunt vremurile corecte? - Segmentul este de la\n\n%1$s\nla\n%2$s\n\n(%3$s)\n\nGata de trimitere? Începe trebuie să fie înainte de sfârșit Marchează mai întâi două locații pe bara de timp @@ -896,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Nume utilizator schimbat cu succes Reputaţia ta este <b>%.2f</b> Ați creat <b>%s</b> segmente + Apasă aici pentru a vedea segmentele tale SponsorBlock clasament Ai salvat persoane de la segmentele <b>%s</b> Apăsați aici pentru a vedea statisticile globale și contribuitorii de top @@ -977,7 +992,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ascunde butoanele de omitere înainte şi înapoi Sari înainte și înapoi sunt ascunse Sari înainte și înapoi sunt afișate - Overlay opacity + Opacitatea suprapunerii Valoarea Opacității între 0-100, unde 0 este transparent Opacitatea miniplayer suprapusă trebuie să fie între 0-100 @@ -1118,35 +1133,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide pentru căutare este activat Slide pentru a căuta nu este activat - - Spoof client - Spoof al clientului pentru a preveni problemele de redare - Spoof client - Clientul este falsificat - Clientul nu este lovit\n\nEste posibil ca redarea video să nu funcționeze - Dezactivarea acestei setări poate cauza probleme de redare video. - Spoof client pe iOS - În prezent, clientul este falsificat de iOS\n\nEfectele secundare includ:\n• este posibil ca videoclipul HDR să nu fie disponibil\n• Istoricul ceasului nu funcționează cu un cont de marcă - Clientul este în prezent falsificat pe Android VR. Efectele secundare includ:\n• Niciun video HDR\n• Videoclipuri cu copii nu redă\n• Videoclipurile întrerupte pot relua aleatoriu\n• Pictograme scurte de calitate slabă\n• Butonul acțiunii de descărcare este ascuns\n• Cardurile de pe ecran sunt ascunse - Spoof a miniaturilor clientului nu este disponibil (API a expirat) - Fixarea miniaturilor clientului nu este disponibilă temporar: %s - - - - Semnătură aplicație Spoof - Sporirea semnăturii aplicației pentru a preveni problemele de redare - Semnătură aplicație Spoof - Semnătura aplicației falsificată\n\nEfectele secundare includ:\n• Rata de biți îmbunătățită nu este disponibilă\n• Videoclipurile nu pot fi descărcate\n• Nicio miniatură din bara de căutare pentru videoclipuri cu plată - Semnătura aplicației nu este falsificată de\n\nEste posibil ca redarea video să nu funcționeze - Dezactivarea acestei setări va cauza probleme de redare video. - Spoof app signature in feed - Semnătura aplicației falsificată\n\nEfectele secundare includ:\n• Flux de videoclipuri lipsește subtitrările\n• Fluxurile de videoclipuri redate automat vor apărea în istoricul vizionărilor - Semnătura aplicației nu este falsificată pentru videoclipurile feed\n\nFlux de videoclipuri vor fi redate pentru mai puțin de 1 minut înainte de a întâmpina probleme de redare - Panou de povestiri - Storyboard cu lingură - Povestirile care nu sunt falsificate de\n\nEfectele secundare includ:\n• Niciun mod ambiental\n• Miniaturile din Seekbar sunt ascunse - Spoof storyboard temporar indisponibil (API a expirat) - Tabloul de povestire temporar indisponibil: %s + + Spoof video stream-uri + Sporirea canalelor video client pentru a preveni problemele de redare + Spoof video stream-uri + Fluxurile video sunt falsificate + Fluxurile video nu sunt marcate cu\n\nEste posibil ca redarea video să nu funcționeze + Dezactivarea acestei setări poate cauza probleme de redare video. + Client implicit + Forțează AVC (H.264) + Codecul video este AVC (H.264) + Codecul video este VP9 sau AV1 + Dispozitivul dvs. nu are decodare hardware VP9 și această setare este întotdeauna activată atunci când este activată lingerea clientului + Activarea acestei funcții ar putea îmbunătăți durata de viață a bateriei și repara blocajul de redare.\n\nAVC are o rezoluție maximă de 1080p, iar redarea video va folosi mai multe date internet decât VP9 sau AV1. + Reacţii adverse de lingere iOS + • Filmele sau videoclipurile plătite nu pot reda\n• Livestreams începe de la început + Reacţii adverse de spoofing Android VR + • Meniul piesei audio lipsește diff --git a/src/main/resources/addresources/values-ru-rRU/strings.xml b/src/main/resources/addresources/values-ru-rRU/strings.xml index 142202b0a..51e354978 100644 --- a/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Проверка не удалась + Открыть официальный сайт + Пропустить + <h5>Похоже, что это приложение пропатчено не вами.</h5><br>Это приложение может работать неправильно, <b>быть вредным или даже опасным для использования</b>.<br><br>Эти проверки предполагают, что это приложение предварительно пропатчено или получено от кого-то другого:<br><br><small>%1$s</small><br>Настоятельно рекомендуется <b>удалить это приложение и пропатчить его самостоятельно,</b> чтобы быть уверенным, что вы используете проверенное и безопасное приложение.<p><br>Если проигнорировать это предупреждение, то оно будет показано только дважды. + Пропатчено на другом устройстве + Не установлено с помощью ReVanced Manager + Пропатчено более 10 минут назад + Пропатчено %s дней назад + Дата сборки APK повреждена + ReVanced Вы хотите продолжить? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Настройки ReVanced сброшены по умолчанию Импортировано %d настроек Не удалось импортировать: %s + Импорт и экспорт настроек + Восстановление и сохранение настроек ReVanced + + Вы используете ReVanced Patches версии <i>%s</i> + Примечание + Эта версия является предварительным релизом, могут возникать непредвиденные ошибки + Официальные ссылки + Пожертвовать @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Вы используете ReVanced Patches версии <i>%s</i> - Примечание - Эта версия является предварительным релизом, могут возникать непредвиденные ошибки - Официальные ссылки - Импорт и экспорт настроек - Восстановление и сохранение настроек ReVanced - Информация Реклама @@ -244,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Ключевые слова для скрытия - Ключевые слова и фразы, которые нужно скрыть, разделены новыми строками\n\nСлова чувствительны к регистру (например: iPhone, TikTok, LeBlanc) + Ключевые слова и фразы для скрытия, разделенные новой строкой\n\nКлючевыми словами могут быть названия каналов или любой текст, отображаемый в заголовках видео\n\nСлова с заглавными буквами в середине должны содержать регистр (например: iPhone, TikTok, LeBlanc) О фильтре ключевых слов - Вкладки \"Главная\", \"Подписки\" и результаты поиска фильтруются для скрытия контента, соответствующего ключевым фразам\n\nОграничения\n• Некоторые Shorts могут быть не скрыты\n• Некоторые компоненты пользовательского интерфейса могут быть не скрыты\n• Поиск по ключевому слову может не дать результатов + Вкладки \"Главная\", \"Подписки\" и результаты поиска фильтруются для скрытия контента, соответствующего ключевым фразам\n\nОграничения\n• Shorts нельзя скрыть по имени канала\n• Некоторые компоненты пользовательского интерфейса могут быть не скрыты\n• Поиск по ключевому слову может не дать результатов + Только целые слова + + Заключение ключевого слова/фразы в двойные кавычки предотвратит частичное совпадение названий видео и каналов<br><br>Например,<br><b>\"ai\"</b> скроет видео: <b>How does AI work?</b><br>но не скроет: <b>What does fair use mean?</b> - Недопустимое ключевое слово. Невозможно использовать: \'%s\' в качестве фильтра - - Недопустимое ключевое слово. \'%1$s\' содержит менее %2$d символов - Ключевое слово \'%s\' скроет все видео + Невозможно использовать ключевое слово: %s + Добавьте кавычки для использования ключевого слова: %s + Ключевое слово имеет конфликтующие объявления: %s + Ключевое слово слишком короткое и требует кавычки: %s + Ключевое слово скроет все видео: %s Реклама общего формата @@ -617,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Кнопка \"Сохранить звук в плейлист\" Кнопка \"Сохранить звук в плейлист\" в Shorts скрыта Кнопка \"Сохранить звук в плейлист\" в Shorts отображена + Кнопка \"Использовать этот звук\" + Кнопка \"Использовать этот звук\" скрыта + Кнопка \"Использовать этот звук\" отображена Поисковые подсказки Поисковые подсказки скрыты Поисковые подсказки отображены @@ -680,7 +697,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Непрозрачность оверлея плеера должна быть от 0 до 100 - Скрыты Дизлайки временно недоступны (таймаут API) Дизлайки недоступны (статус %d) @@ -776,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Подсчет количества пропусков отключен Минимальная продолжительность сегмента Сегменты короче данного значения (в секундах) не будут отображены или пропущены + Недопустимая длительность Ваш идентификатор пользователя Уникальный идентификатор пользователя должен быть конфиденциальным. Он как пароль - не должен никому передаваться. Имеющий доступ к нему может выдать себя за Вас Уникальный идентификатор пользователя должен быть не менее 30 символов @@ -876,8 +893,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Время начала сегмента Время окончания сегмента Верно ли выбрано время? - Сегмент от\n\n%1$s\nдо\n%2$s\n\n(%3$s)\n\nГотов к отправке? Начало должно быть перед окончанием Сначала отметьте два места на шкале времени @@ -896,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Имя пользователя успешно изменено Ваша репутация - <b>%.2f</b> Вы создали <b>%s</b> сегментов + Нажмите здесь для просмотра Ваших сегментов Таблица лидеров SponsorBlock Вы избавили людей от <b>%s</b> сегментов Нажмите для просмотра глобальной статистики и лучших участников @@ -1040,6 +1056,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Внимание + Ваша история просмотра не сохраняется.<br><br>Скорее всего, это из-за блокировщика рекламы DNS или сетевого прокси.<br><br>Чтобы это исправить, добавьте <b>s.youtube.com</b> в белый список блокировщика или отключите все блокировщики DNS и прокси. Не показывать снова @@ -1116,35 +1133,26 @@ This is because Crowdin requires temporarily flattening this file and removing t Перемотка видео слайдом включена Перемотка видео слайдом отключена. Ускорение видео \"2x\" при нажатии и удержании на экране включено - - Подмена клиента - Подмена клиента для предотвращения проблем с воспроизведением видео - Подмена клиента - Клиент подменен - Клиент не подменен\n\nВоспроизведение видео может не работать - Отключение этой настройки может вызвать проблемы с воспроизведением видео. - Подмена клиента на iOS - В настоящее время клиент подключен к iOS\n\nк таким эффектам:\n• HDR видео может быть недоступно\n• История просмотра не работает с учетной записью бренда - В настоящее время клиент подменен на Android VR. Побочные эффекты включают:\n• Отсутствует HDR видео\n• Детские видео не воспроизводятся\n• Приостановленные видео могут случайно возобновляться\n• Миниатюры прогресса воспроизведения Shorts низкого качества\n• Кнопка \"Скачать\" скрыта\n• Заставки следующих видео в конце просмотра скрыты - Миниатюры в режиме подмены клиента недоступны (время API истекло) - Миниатюры в режиме подмены клиента временно недоступны: %s - - - - Подпись приложения - Сводка подписи приложения для предотвращения проблем с воспроизведением - Подпись приложения - Подпись приложения подделена\n\nэффектами бока:\n• Расширенный битрейт не доступен\n• Видео не могут быть загружены\n• Нет миниатюр в панели поиска для платных видео - Подпись приложения не подделана\n\nвоспроизведение видео может не работать - Отключение этой настройки вызовет проблемы с воспроизведением видео. - Подпись приложения в ленте новостей - Подпись приложения подменена\n\nПобочные эффекты включают:\n• В видео в ленте отсутствуют субтитры\n• Автоматически воспроизведенные видео с ленты будут появляться в Вашей истории просмотра - Подпись приложения не подделана для лент новостей\n\nвидео будет воспроизводиться менее чем за 1 минуту до возникновения проблем с воспроизведением - Презентация истории - Доска историй подделена - Панель историй не подделена\n\nэффектами бока:\n• Эмбиентный режим\n• Эскизы в панели поиска скрыты - Сбор историй временно недоступен (время API истекло) - Сводка историй временно недоступна: %s + + Подмена видеопотоков + Подмена видеопотоков клиента для предотвращения проблем с воспроизведением видео + Подмена видеопотоков + Подмена видеопотоков включена + Подмена видеопотоков отключена. +Воспроизведение видео может не работать + Отключение этой настройки может вызвать проблемы с воспроизведением видео. + Клиент по умолчанию + Принудительно AVC (H.264) + Видеокодек AVC (H.264) + Видеокодек VP9 или AV1 + На вашем устройстве нет аппаратного декодирования VP9, и эта настройка всегда включена, когда включена подмена видеопотоков + Включение - может улучшить время работы батареи и исправить задержки воспроизведения. + +AVC макс. разрешение 1080p, и будет использоваться больше интернет данных, чем VP9 или AV1. + Побочные эффекты подмены на iOS + • Фильмы или платные видео могут не воспроизводиться\n• Прямые трансляции начинаются с самого начала + Побочные эффекты подмены на Android VR + • Отсутствует меню аудиодорожки diff --git a/src/main/resources/addresources/values-si-rLK/strings.xml b/src/main/resources/addresources/values-si-rLK/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/src/main/resources/addresources/values-si-rLK/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-sk-rSK/strings.xml b/src/main/resources/addresources/values-sk-rSK/strings.xml index fe76bbc4a..1da7c8518 100644 --- a/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -32,6 +32,8 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Chcete pokračovať? Resetovať @@ -42,6 +44,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Nastavenia ReVanced sa obnovia na predvolené Počet importovaných nastavení: %d Import zlyhal: %s + Import / Export + Import / Export nastavení ReVanced + + Používate ReVanced Patches verziu <i>%s</i> + Poznámka + Táto verzia je predbežná a môžu sa vyskytnúť neočakávané problémy + Oficiálne odkazy @@ -54,13 +63,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - Používate ReVanced Patches verziu <i>%s</i> - Poznámka - Táto verzia je predbežná a môžu sa vyskytnúť neočakávané problémy - Oficiálne odkazy - Import / Export nastavení ReVanced - Informácie Reklamy @@ -235,14 +237,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Kľúčové slová na skrytie - Kľúčové slová a frázy, ktoré sa majú skryť, oddelené novými riadkami\n\nSlová s veľkými písmenami v strede musia byť zadané s veľkými a malými písmenami (napr.: iPhone, TikTok, LeBlanc) O filtrovaní kľúčových slov - Výsledky domovskej stránky/odberu/vyhľadávania sú filtrované, aby sa skryl obsah, ktorý sa zhoduje s kľúčovými frázami\n\nObmedzenia\n• Niektoré krátke videá Shorts nemusia byť skryté\n• Niektoré súčasti používateľského rozhrania nemusia byť skryté\n• Pri vyhľadávaní kľúčového slova sa nemusia zobraziť žiadne výsledky + - Neplatné kľúčové slovo. Nemožno použiť: \"%s\" ako filter - - Neplatné kľúčové slovo. \"%1$s\" má menej ako %2$d znakov - Kľúčové slovo \"%s\" skryje všetky videá Skryť všeobecné reklamy @@ -670,7 +667,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Nepriehľadnosť prekrytia hráča musí byť medzi 0-100 - Skryté Nepáči sa mi dočasne nedostupné (rozhranie API vypršalo) Nepáči sa mi nie sú k dispozícii (stav %d) @@ -865,8 +861,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Čas, kedy segment začína Čas, kedy segment končí Sú časy správne? - Segment je od\n\n%1$s\ndo\n%2$s\n\n(%3$s)\n\nSte pripravený na odoslanie? Začiatok musí byť pred koncom Najprv označte dve miesta na časovej lište @@ -1100,19 +1094,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide to search je zapnuté Nie je povolené posúvanie - - Spoof klienta - Spoof klienta, aby sa predišlo problémom s prehrávaním - Spoof klienta - Klient je sfalšovaný - Klient nie je sfalšovaný\n\nPrehrávanie videa nemusí fungovať - Vypnutie tohto nastavenia môže spôsobiť problémy s prehrávaním videa. - Spoof klienta na iOS - Sfalšované miniatúry klientov nie sú k dispozícii (vypršal časový limit rozhrania API) - Sfalšované klientske miniatúry sú dočasne nedostupné: %s - - - + + Vypnutie tohto nastavenia môže spôsobiť problémy s prehrávaním videa. diff --git a/src/main/resources/addresources/values-sl-rSI/strings.xml b/src/main/resources/addresources/values-sl-rSI/strings.xml index 03c6f9fc4..a63b47212 100644 --- a/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -32,20 +32,21 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Ali želite nadaljevati? Ponastavi Osvežitev in ponovni zagon Ponovni zagon Uvoz + - - O programu @@ -64,7 +65,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -180,8 +181,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Izgled - Nalaganje... Ponastavi @@ -249,10 +248,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-sq-rAL/strings.xml b/src/main/resources/addresources/values-sq-rAL/strings.xml index 50954b4ed..ba79c2847 100644 --- a/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-sr-rCS/strings.xml b/src/main/resources/addresources/values-sr-rCS/strings.xml index 9d354ad39..d804c4d06 100644 --- a/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Provere nisu uspele + Otvori zvanični veb-sajt + Zanemari + <h5>Izgleda da niste pečovali ovu aplikaciju.</h5><br>Ova aplikacija možda neće ispravno raditi, <b>može biti štetna ili čak opasna za korišćenje</b><br><br>Ove provere podrazumevaju da je ova aplikacija unapred pečovana ili dobijena od nekog drugog:<br><br><small>%1$s</small><br>Izričito se preporučuje da <b>deinstalirate ovu aplikaciju i sami je pečujete</b> da biste bili sigurni da koristite proverenu i bezbednu aplikaciju.<p><br>;Ako se zanemari, ovo upozorenje će biti prikazano samo dva puta. + Pečovano na drugom uređaju + Nije instalirano u ReVanced Manageru + Pečovano pre više od 10 minuta + Pečovano pre %s dana + Datum izrade APK-a je oštećen + ReVanced Želite li da nastavite? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Podešavanja ReVanceda su vraćena na podrazumevane vrednosti Uvezeno %d podešavanja Neuspešan uvoz: %s + Uvoz / Izvoz + Uvoz / Izvoz podešavanja ReVanceda + + Koristite verziju <i>%s</i> ReVanced pečeva + Napomena + Ova verzija je predizdanje i možda ćete imati neočekivane probleme + Zvanični linkovi + Donacija @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Koristite verziju <i>%s</i> ReVanced pečeva - Napomena - Ova verzija je predizdanje i možda ćete imati neočekivane probleme - Zvanični linkovi - Uvoz / Izvoz - Uvoz / Izvoz podešavanja ReVanceda - O programu Oglasi @@ -71,7 +81,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Fid Plejer Opšti izgled - Shorts Traka za premotavanje Kontrole prevlačenja Razno @@ -245,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Ključne reči sa sakrivanje - Ključne reči i fraze koje treba sakriti, odvojene novom redovima\n\nReči sa velikim slovima u sredini moraju se uneti sa velikim slovima (npr.: iPhone, TikTok, LeBlanc) + Ključne reči i fraze koje treba sakriti, odvojene novim redovima\n\nKljučne reči mogu biti nazivi kanala ili bilo koji tekst prikazan u naslovima videa\n\nReči sa velikim slovima u sredini moraju se uneti velikim slovima (npr.: iPhone, TikTok, LeBlanc) O filtriranju prema ključnim rečima - Početna//Praćenja/Rezultati pretrage se filtriraju da bi se sakrio sadržaj koji se podudara sa ključnim frazama\n\nOgraničenja\n• Neki Shorts videi možda neće biti sakriveni\n• Neke komponente korisničkog interfejsa možda neće biti sakrivene\n• Pretraživanje ključne reči možda neće pokazati rezultate + Početna/Praćenja/Rezultati pretrage se filtriraju da bi se sakrio sadržaj koji se podudara sa ključnim frazama\n\nOgraničenja\n• Shorts videi se ne mogu sakriti prema nazivu kanala\n• Neke komponente korisničkog interfejsa možda neće biti sakrivene\n• Pretraživanje ključne reči možda neće pokazati rezultate + Samo cele reči + + Obeležavanje ključne reči/fraze dvostrukim navodnicima će sprečiti delimična podudaranja naslova videa i naziva kanala<br><br>Na primer,<br><b>\"ai\"</b> će sakriti video: <b>How does AI work?</b><br>ali neće sakriti: <b>What does fair use mean?<br> - Nevažeća ključna reč. Nije moguće koristiti „%s” - - Nevažeća ključna reč. „%1$s” je kraće od %2$d znakova - Ključna reč „%s” će sakriti sve videe + Nije moguće koristiti ključnu reč: %s + Dodajte navodnike da biste koristili ključnu reč: %s + Ključna reč ima konfliktne izjave: %s + Ključna reč je prekratka i zahteva navodnike: %s + Ključna reč će sakriti sve videe: %s Sakrij opšte oglase @@ -618,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Sakrij dugme „Sačuvaj zvuk na plejlistu” Dugme „Sačuvaj zvuk na plejlistu” je skriveno Dugme „Sačuvaj zvuk na plejlistu” je prikazano + Sakrij dugme „Koristi ovaj zvuk” + Dugme „Koristi ovaj zvuk” je skriveno + Dugme „Koristi ovaj zvuk” je prikazano Sakrij predloge za pretragu Predlozi za pretragu su skriveni Predlozi za pretragu su prikazani @@ -681,7 +697,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Prozirnost preklopa plejera mora biti između 0-100 - Skriveno Nesviđanja privremeno nisu dostupna (API istekao) Nesviđanja nisu dostupna (status %d) @@ -777,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Praćenje broja preskakanja nije omogućeno Minimalno trajanje segmenta Segmenti kraći od ove vrednosti (u sekundama) neće biti prikazani ili preskočeni + Nevažeće vremensko trajanje Vaš privatni korisnički ID Ovo treba da ostane privatno. Ovo je kao lozinka i ne bi trebalo da se deli ni sa kim. Ako neko ima ovo, može da se lažno predstavlja za vas Privatni korisnički ID mora da ima najmanje 30 znakova @@ -877,8 +893,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Vreme početka segmenta Vreme kraja segmenta Da li su vremena tačna? - Segment je od\n\n%1$s\ndo\n%%2$s\n\n(%3$s)\n\nSpreman za podnošenje? Početak mora biti pre kraja Prvo označite dva mesta na vremenskoj traci @@ -897,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Korisničko ime uspešno promenjeno Vaša reputacija je <b>%.2f</b> Napravili ste <b>%s</b> segmenata + Dodirnite ovde da biste videli svoje segmente SponsorBlock rang-lista Sačuvali ste ljude od <b>%s</b> segmenata Dodirnite ovde da biste videli globalnu statistiku i najbolje doprinosioce @@ -1042,6 +1057,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Upozorenje + Vaša istorija gledanja se ne čuva.<br><br>Ovo je najverovatnije uzrokovano DNS blokatorom oglasa ili mrežnim proksijem.<br><br>Da biste ovo popravili, stavite na belu listu <b>s.youtube.com</b> ili isključite sve DNS blokatore i proksije. Ne prikazuj ponovo @@ -1118,34 +1134,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Prevlačenje za premotavanje je omogućeno Prevlaćenje za premotavanje nije omogućeno - - Lažiran klijent - Lažiranje klijenta da bi se sprečili problemi sa reprodukcijom - Lažiran klijent - Klijent je lažiran - Klijent nije lažiran\n\nReprodukcija videa možda neće raditi - Isključivanje ovog podešavanja možda će izazvati probleme sa reprodukcijom videa. - Lažiran klijent na iOS - Klijent je trenutno lažiran na Android VR Neželjeni efekti obuhvataju:\n• Nema HDR videa\n• Dečji video snimci se ne reprodukuju\n• Pauzirani video snimci mogu nasumično da se nastavljaju\n• Sličice na traci za premotavanje Shorts videa lošeg kvaliteta\n• Dugme za radnju „Preuzmi“ je skriveno\n• Kartice završnog ekrana su skrivene - Sličice u lažiranom klijentu nisu dostupne (API istekao) - Sličice u lažiranom klijentu privremeno nisu dostupne: %s - - - - Lažirani potpis aplikacije - Lažiranje potpisa aplikacije da bi se sprečili problemi s reprodukcijom - Lažirani potpis aplikacije - Potpis aplikacije je lažiran\n\nNeželjeni efekti obuhvataju:\n• Poboljšana brzina prenosa nije dostupna\n• Videi se ne mogu preuzimati\n• Nema sličica na traci za premotavanje za plaćene videe - Potpis aplikacije nije lažiran\n\nReprodukcija videa možda neće raditi - Isključivanje ovog podešavanja može izazvati probleme s reprodukcijom videa. - Lažirani potpis aplikacije u fidu - Potpis plikacije je lažiran\n\nNeželjeni efekti obuhvataju:\n• Videi u fidu nemaju titlove\n• Automatski pušteni videi u fidu će se pojaviti u istoriji gledanja - Potpis aplikacije nije lažiran za videe u fidu\n\nVidei u fidu će se pustiti na manje od 1 minuta pre nego što naiđu na probleme s reprodukcijom - Lažirani storibord - Storibord je lažiran - Storibord nije lažiran\n\nNeželjeni efekti uključuju:\n• Nema ambijentalnog režima\n• Sličice na traci za premotavanje su skrivene - Lažiranje storiborda privremeno nije dostupno (API je istekao) - Lažiranje storiborda privremeno nije dostupno: %s + + Lažiran video strim + Lažiranje klijenta video strimova da bi se sprečili problemi s reprodukcijom + Lažirani video strimovi + Video strimovi su lažirani + Video strimovi nisu lažirani\n\nReprodukcija videa možda neće raditi + Isključivanje ovog podešavanja možda će izazvati probleme sa reprodukcijom videa. + Podrazumevani klijent + Prisili AVC (H.264) + Video kodek je AVC (H.264) + Video kodek je VP9 ili AV1 + Vaš uređaj nema VP9 hardversko dekodiranje, i ova opcija je uvek uključena kada je omogućeno lažiranje klijenta + Ako ovo omogućite, možda će se produžiti trajanje baterije i popraviti zastoj pri reprodukciji.\n\nAVC ima maksimalnu rezoluciju od 1080p, a reprodukcija videa će koristiti više internet podataka nego VP9 ili AV1. + Neželjeni efekti lažiranja na iOS + • Filmovi ili plaćeni videi se možda neće puštati\n• Strimovi uživo počinju od početka + Neželjeni efekti lažiranja na Android VR + • Nedostaje meni „Audio snimak” diff --git a/src/main/resources/addresources/values-sr-rSP/strings.xml b/src/main/resources/addresources/values-sr-rSP/strings.xml index 478493c87..fbe125d8e 100644 --- a/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Провере нису успеле + Отвори званични веб-сајт + Занемари + <h5>Изгледа да нисте печовали ову апликацију.</h5><br>Ова апликација можда неће исправно радити, <b>може бити штетна или чак опасна за коришћење</b><br><br>Ове провере подразумевају да је ова апликација унапред печована или добијена од неког другог:<br><br><small>%1$s</small><br>Изричито се препоручује да <b>деинсталирате ову апликацију и сами је печујете</b> да бисте били сигурни да користите проверену и безбедну апликацију.<p><br>;Ако се занемари, ово упозорење ће бити приказано само два пута. + Печовано на другом уређају + Није инсталирано у ReVanced Manager-у + Печовано пре више од 10 минута + Печовано пре %s дана + Датум израде APK-а је оштећен + ReVanced Желите ли да наставите? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Подешавања ReVanced-а су враћена на подразумеване вредности Увезено %d подешавања Неуспешан увоз: %s + Увоз / Извоз + Увоз / Извоз подешавања ReVanced-а + + Користите верзију <i>%s</i> ReVanced печева + Напомена + Ова верзија је предиздање и можда ћете имати неочекиване проблеме + Званични линкови + Донација @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Користите верзију <i>%s</i> ReVanced печева - Напомена - Ова верзија је предиздање и можда ћете имати неочекиване проблеме - Званични линкови - Увоз / Извоз - Увоз / Извоз подешавања ReVanced-а - О програму Огласи @@ -71,7 +81,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Фид Плејер Општи изглед - Shorts Трака за премотавање Контроле превлачења Разно @@ -245,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Кључне речи за сакривање - Кључне речи и фразе које треба сакрити, одвојене новим редовима\n\nРечи са великим словима у средини морају се унети са великим словима (нпр.: iPhone, TikTok, LeBlanc) + Кључне речи и фразе које треба сакрити, одвојене новим редовима\n\nКључне речи могу бити називи канала или било који текст приказан у насловима видеа\n\nРечи са великим словима у средини морају се унети великим словима (нпр.: iPhone, TikTok, LeBlanc) О филтрирању према кључним речима - Почетна/Праћења/Резултати претраге се филтрирају да би се сакрио садржај који се подудара са кључним фразама\n\nОграничења\n• Неки Shorts видеи можда неће бити сакривени\n• Неке компоненте корисничког интерфејса можда неће бити сакривене\n• Претраживање кључне речи можда неће показати резултате + Почетна/Праћења/Резултати претраге се филтрирају да би се сакрио садржај који се подудара са кључним фразама\n\nОграничења\n• Shorts видеи се не могу сакрити према називу канала\n• Неке компоненте корисничког интерфејса можда неће бити сакривене\n• Претраживање кључне речи можда неће показати резултате + Само целе речи + + Обележавање кључне речи/фразе двоструким наводницима ће спречити делимична подударања наслова видеа и назива канала<br><br>На пример,<br><b>\"ai\"</b> ће сакрити видео: <b>How does AI work?</b><br>али неће сакрити: <b>What does fair use mean?<br> - Неважећа кључна реч. Није могуће користити „%s” - - Неважећа кључна реч. „%1$s” је краће од %2$d знакова - Кључна реч „%s” ће сакрити све видее + Није могуће користити кључну реч: %s + Додајте наводнике да бисте користили кључну реч: %s + Кључна реч има конфликтне изјаве: %s + Кључна реч је прекратка и захтева наводнике: %s + Кључна реч ће сакрити све видее: %s Сакриј опште огласе @@ -618,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Сакриј дугме „Сачувај звук на плејлисту” Дугме „Сачувај звук на плејлисту” је скривено Дугме „Сачувај звук на плејлисту” је приказано + Сакриј дугме „Користи овај звук” + Дугме „Користи овај звук” је скривено + Дугме „Користи овај звук” је приказано Сакриј предлоге за претрагу Предлози за претрагу су скривени Предлози за претрагу су приказани @@ -681,7 +697,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Прозирност преклопа плејера мора бити између 0-100 - Скривено Несвиђања привремено нису доступна (API истекао) Несвиђања нису доступна (статус %d) @@ -777,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Праћење броја прескакања није омогућено Минимално трајање сегмента Сегменти краћи од ове вредности (у секундама) неће бити приказани или прескочени + Неважеће временско трајање Ваш приватни кориснички ID Ово треба да остане приватно. Ово је као лозинка и не би требало да се дели ни са ким. Ако неко има ово, може да се лажно представља за вас Приватни кориснички ID мора да има најмање 30 знакова @@ -877,8 +893,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Време почетка сегмента Време краја сегмента Да ли су времена тачна? - Сегмент је од\n\n%1$s\nдо\n%%2$s\n\n(%3$s)\n\nСпреман за подношење? Почетак мора бити пре краја Прво означите два места на временској траци @@ -897,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Корисничко име успешно промењено Ваша репутација је <b>%.2f</b> Направили сте <b>%s</b> сегмената + Додирните овде да бисте видели своје сегменте SponsorBlock ранг-листа Сачували сте људе од <b>%s</b> сегмената Додирните овде да бисте видели глобалну статистику и најбоље доприносиоце @@ -1042,6 +1057,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Упозорење + Ваша историја гледања се не чува.<br><br>Ово је највероватније узроковано DNS блокатором огласа или мрежним проксијем.<br><br>Да бисте ово поправили, ставите на белу листу <b>s.youtube.com</b> или искључите све DNS блокаторе и проксије. Не приказуј поново @@ -1118,34 +1134,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Превлачење за премотавање је омогућено Превлачење за премотавање није омогућено - - Лажиран клијент - Лажирање клијента да би се спречили проблеми са репродукцијом - Лажиран клијент - Клијент је лажиран - Клијент није лажиран\n\nРепродукција видеа можда неће радити - Искључивање овог подешавања можда ће изазвати проблеме са репродукцијом видеа. - Лажиран клијент на iOS - Клијент је тренутно лажиран на Android VR Нежељени ефекти обухватају:\n• Нема HDR видеа\n• Дечји видео снимци се не репродукују\n• Паузирани видео снимци могу насумично да се настављају\n• Сличице на траци за премотавање Shorts видеа лошег квалитета\n• Дугме за радњу „Преузми“ је скривено\n• Картице завршног екрана су скривене - Сличице у лажираном клијенту нису доступне (API истекао) - Сличице у лажираном клијенту привремено нису доступне: %s - - - - Лажирани потпис апликације - Лажирање потписа апликације да би се спречили проблеми с репродукцијом - Лажирани потпис апликације - Потпис апликације је лажиран\n\nНежељени ефекти обухватају:\n• Побољшана брзина преноса није доступна\n• Видеи се не могу преузимати\n• Нема сличица на траци за премотавање за плаћене видее - Потпис апликације није лажиран\n\nРепродукција видеа можда неће радити - Искључивање овог подешавања ће изазвати проблеме с репродукцијом видеа. - Лажирани потпис апликације - Потпис пликације је лажиран\n\nНежељени ефекти обухватају:\n• Видеи у фиду немају титлове\n• Аутоматски пуштени видеи у фиду ће се појавити у историји гледања - Потпис апликације није лажиран за видее у фиду\n\nВидеи у фиду ће се пустити на мање од 1 минута пре него што наиђу на проблеме с репродукцијом - Лажирани сториборд - Сториборд је лажиран - Сториборд није лажиран\n\nНежељени ефекти укључују:\n• Нема амбијенталног режима\n• Сличице на траци за премотавање су скривене - Лажирање сториборда привремено није доступно (API је истекао) - Лажирање сториборда привремено није доступно: %s + + Лажиран видео стрим + Лажирање клијента видео стримова да би се спречили проблеми с репродукцијом + Лажирани видео стримови + Видео стримови су лажирани + Видео стримови нису лажирани\n\nРепродукција видеа можда неће радити + Искључивање ове опције ће можда изазвати проблеме с репродукцијом видеа. + Подразумевани клијент + Присили AVC (H.264) + Видео кодек је AVC (H.264) + Видео кодек је VP9 или AV1 + Ваш уређај нема VP9 хардверско декодирање, и ова опција је увек укључена када је омогућено лажирање клијента + Ако ово омогућите, можда ће се продужити трајање батерије и поправити застој при репродукцији.\n\nAVC има максималну резолуцију од 1080p, а репродукција видеа ће користити више интернет података него VP9 или AV1. + Нежељени ефекти лажирања на iOS + • Филмови или плаћени видеи се можда неће пуштати\n• Стримови уживо почињу од почетка + Нежељени ефекти лажирања на Android VR + • Недостаје мени „Аудио снимак” diff --git a/src/main/resources/addresources/values-sv-rSE/strings.xml b/src/main/resources/addresources/values-sv-rSE/strings.xml index ab17997ed..9ba560287 100644 --- a/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Kontroller misslyckades + Öppna officiell hemsida + Ignorera + <h5>Denna app verkar inte vara lappad av dig.</h5><br>Denna app kanske inte fungerar korrekt, <b>kan vara skadligt eller till och med farligt att använda</b>.<br><br>Dessa kontroller innebär att appen är förlagad eller erhållen från någon annan:<br><br><small>%1$s</small><br>Det rekommenderas starkt att <b>avinstallera denna app och patch den själv</b> för att säkerställa att du använder en validerad och säker app.<p><br>Om den ignoreras kommer denna varning endast visas två gånger. + Patchad på en annan enhet + Inte installerad av ReVanced Manager + Patchade mer än 10 minuter sedan + Patchade %s dagar sedan + APK byggdatum är skadat + ReVanced Vill du fortsätta? @@ -43,6 +54,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced-inställningarna återställda till standard Importerade %d inställningar Importen misslyckades: %s + Importera / Exportera + Importera / Exportera ReVanced-inställningar + + Du använder ReVanced Patches version <i>%s</i> + Anteckning + Denna version är en pre-release och du kan uppleva oväntade problem + Officiella länkar + Donera @@ -55,15 +74,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - Du använder ReVanced Patches version <i>%s</i> - Anteckning - Denna version är en pre-release och du kan uppleva oväntade problem - Officiella länkar - Importera / Exportera - Importera / Exportera ReVanced-inställningar - Om Annonser @@ -244,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Nyckelord att dölja - Nyckelord och fraser att dölja, separerade med nya rader\n\nOrd med versaler i mitten måste anges med höljet (dvs. iPhone, TikTok, LeBlanc) + Nyckelord och fraser att dölja, separerade med nya rader\n\nNyckelord kan vara kanalnamn eller någon text som visas i videotitlar\n\nOrd med versaler i mitten måste anges med höljet (dvs: iPhone, TikTok, LeBlanc) Om sökordsfiltrering - Hem/Prenumeration/Sökresultat filtreras för att dölja innehåll som matchar sökordsfraser\n\nBegränsningar\n• Vissa shorts kanske inte är dolda\n• Vissa UI-komponenter kanske inte är dolda\n• Att söka efter ett sökord kan inte visa några resultat + Hem/Prenumeration/Sökresultat filtreras för att dölja innehåll som matchar sökordsfraser\n\nBegränsningar\n• Shorts kan inte döljas av kanalnamn\n• Vissa UI-komponenter kanske inte är dolda\n• Sökandet efter ett sökord kan inte visa några resultat + Matcha hela ord + + Om du omger ett sökord/fras med dubbelcitat kommer det att förhindra partiella matchningar av videotitlar och kanalnamn<br><br><br><b>\"ai\"</b> kommer att dölja videon: <b>How does AI work?</b><br>men döljer inte: <b>What does fair use mean?</b> - Ogiltigt sökord. Kan inte använda \'%s\' som filter - - Ogiltigt sökord. \'%1$s\' är mindre än %2$d tecken - Nyckelord \'%s\' kommer att dölja alla videor + Kan inte använda sökord: %s + Lägg till offerter för att använda sökord: %s + Nyckelordet har motstridiga deklarationer: %s + Nyckelordet är för kort och kräver citattecken: %s + Nyckelord döljer alla videor: %s Dölj allmänna annonser @@ -617,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Dölj spara ljud till spellistknappen Spara ljud till spellistan är dolt Spara ljud till spellistan är synlig + Dölj använda den här ljudknappen + Använd den här ljudknappen är dold + Använd den här ljudknappen visas Dölj sökförslag Sökförslag är dolda Sökförslag är synliga @@ -680,7 +697,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Överlagrad spelaropacitet måste vara mellan 0-100 - Dold Dislikes inte tillgängligt (API timed out) Gillar inte tillgänglig (status %d) @@ -776,6 +792,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Tracking av Skip count är inte aktiverat Minsta segmentlängd Segment kortare än detta värde (i sekunder) kommer inte att visas eller hoppas över + Ogiltig tidslängd Ditt privata användar-id Detta bör hållas privat. Detta är som ett lösenord och bör inte delas med någon. Om någon har det här, kan de utge sig för att vara dig Privat användar-id måste vara minst 30 tecken långt @@ -876,8 +893,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Tid då segmentet börjar på Tid då segmentet slutar på Är tiderna korrekta? - Segmentet är från\n\n%1$s\ntill\n%2$s\n\n(%3$s)\n\nRedo att skicka? Start måste vara innan slutet Markera två platser i tidsfältet först @@ -896,6 +911,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Användarnamnet har ändrats Ditt rykte är <b>%.2f</b> Du har skapat <b>%s</b> segment + Tryck här för att visa dina segment Sponsra topplista Du har räddat personer från <b>%s</b> segment Tryck här för att se den globala statistiken och de bästa bidragsgivarna @@ -976,7 +992,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Dölj hoppa över framåt- och bakknapparna Hoppa framåt och tillbaka är dolda Hoppa framåt och tillbaka visas - Overlay opacity + Överlager opacitet Opacitetsvärde mellan 0-100, där 0 är transparent Miniplayer overlay opacitet måste vara mellan 0-100 @@ -1117,35 +1133,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Glid för att söka är aktiverat Glid för att söka är inaktiverat - - Spoof klient - Spoof klienten för att förhindra uppspelningsproblem - Spoof klient - Klienten är förfalskad - Klienten är inte förfalskad\n\nVideouppspelning kanske inte fungerar - Att stänga av den här inställningen kan orsaka videouppspelningsproblem. - Spoof klient till iOS - Klienten är för närvarande förfalskad till iOS\n\nBiverkningar inkluderar:\n• HDR-video kanske inte är tillgänglig\n• Se historik fungerar inte med ett varumärkeskonto - Klienten är för närvarande förfalskad till Android VR. Biverkningar inkluderar:\n• Ingen HDR-video\n• Barnvideor spelar inte upp\n• Pausade videor kan slumpmässigt återuppta\n• Lågkvalitativa Shorts seekbar miniatyrer\n• Nedladdningsknappen är dold\n• Slutskärmskorten är dolda - Spoof klientminiatyrer är inte tillgängliga (API gick ut) - Miniatyrer för Spoof klientminiatyrer tillfälligt inte tillgängliga: %s - - - - Förfalska appens signatur - Förfalska appens signatur för att förhindra uppspelningsproblem - Förfalska appens signatur - Appens signatur förfalskad\n\nNackdelar:\n• Förbättrad bithastighet är inte tillgänglig\n• Videor kan inte laddas ner\n• Inga sökfältsminiatyrer för betalda videor - Appens signatur inte förfalskad\n\nVideouppspelning kanske inte fungerar - Att stänga av den här inställningen kommer att orsaka videouppspelningsproblem. - Förfalska appens signatur i flödet - Appens signatur förfalskad\n\nNackdelar:\n• Flödesvideos saknas undertexter\n• Automatiskt uppspelade flödesvideos kommer att visas i din tittarhistorik - Appens signatur inte förfalskad för flödesvideor\n\nFlödesvideos spelas upp i mindre än 1 minut innan uppspelningsproblem uppstår - Förfalska storyboard - Storyboard förfalskad - Storyboard är inte förfalskad\n\nNackdelar:\n• Inget omgivningsläge\n• Sökfältsminiatyrer är dolda - Förfalska storyboard tillfälligt inte tillgänglig (API timed out) - Förfalska storyboard tillfälligt inte tillgänglig: %s + + Spoof videoströmmar + Spoof klientens videoströmmar för att förhindra uppspelningsproblem + Spoof videoströmmar + Videoströmmar är förfalskade + Videoströmmar är inte förfalskade\n\nVideouppspelning kanske inte fungerar + Att stänga av den här inställningen kan orsaka videouppspelningsproblem. + Standard klient + Tvinga AVC (H.264) + Videocodec är AVC (H.264) + Video-codec är VP9 eller AV1 + Din enhet har inte VP9 hårdvaruavkodning, och denna inställning är alltid på när klientförfalskning är aktiverad + Aktivering av detta kan förbättra batteriets livslängd och åtgärda uppspelningshjälp.\n\nAVC har en maximal upplösning på 1080p, och videouppspelning kommer att använda mer internetdata än VP9 eller AV1. + iOS förfalskning biverkningar + • Filmer eller betalda videor kanske inte spelar\n• Livestreams startar från början + Android VR förfalskning biverkningar + • Ljudspårsmenyn saknas diff --git a/src/main/resources/addresources/values-sw-rKE/strings.xml b/src/main/resources/addresources/values-sw-rKE/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-ta-rIN/strings.xml b/src/main/resources/addresources/values-ta-rIN/strings.xml index 5ba795d02..00e52a858 100644 --- a/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -32,6 +32,8 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + நீங்கள் தொடர விரும்புகிறீரா? மறுஅமை @@ -39,14 +41,13 @@ This is because Crowdin requires temporarily flattening this file and removing t மீண்டும் துவங்கு இறக்கு நகலெடு + - - இதைப் பற்றி @@ -64,7 +65,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -180,8 +181,6 @@ This is because Crowdin requires temporarily flattening this file and removing t தோற்றம் - ஏற்றுகிறது... மறுஅமை @@ -248,10 +247,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-te-rIN/strings.xml b/src/main/resources/addresources/values-te-rIN/strings.xml index 55ebdcf46..43a184f3a 100644 --- a/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/src/main/resources/addresources/values-te-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-th-rTH/strings.xml b/src/main/resources/addresources/values-th-rTH/strings.xml index 8d63ef140..d4662bf48 100644 --- a/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/src/main/resources/addresources/values-th-rTH/strings.xml @@ -32,19 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + - รีเซ็ต + - - - เกี่ยวกับ - ปัดเพื่อควบคุม @@ -60,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -102,14 +100,10 @@ This is because Crowdin requires temporarily flattening this file and removing t - ปุ่มแคสต์ซ่อนอยู่ - ปุ่มแคสต์แสดงอยู่ - ปุ่ม Shorts ถูกซ่อนอยู่ - ปุ่ม Shorts แสดงอยู่ @@ -144,8 +138,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - บัตรข้อมูลซ่อนอยู่ - บัตรข้อมูลแสดงแล้ว @@ -168,11 +160,9 @@ This is because Crowdin requires temporarily flattening this file and removing t - ซ่อน - เกี่ยวกับ @@ -181,13 +171,25 @@ This is because Crowdin requires temporarily flattening this file and removing t เปิดใช้งาน SponsorBlock + SponsorBlock เป็นระบบที่ใครๆก็เข้าถึงได้ ใช้สำหรับการข้ามส่วนต่างๆของวิดีโอที่คุณไม่ต้องการ หน้าตา + แสดงปุ่มโหวต + ใช้ปุ่มข้ามแบบกะทัดรัด + ซ่อนปุ่มข้ามอัตโนมัติ + ขนมปังปิ้งจะปรากฏขึ้นเมื่อข้ามส่วนโดยอัตโนมัติ แตะที่นี่เพื่อดูตัวอย่าง + แสดงความยาววิดีโอโดยไม่มีส่วนต่างๆ + การสร้างกลุ่มใหม่ + แสดงปุ่มสร้างกลุ่มใหม่ + ปรับขั้นตอนส่วนใหม่ ดูหลักเกณฑ์ อ่านแล้ว แสดงให้ฉันดู ทั่วไป + แสดงคำอวยพรถ้า API ไม่พร้อมใช้งาน + เปิดใช้งานการติดตามการนับข้าม ระยะเวลาขั้นต่ำของเซ็กเมนต์ + รหัสผู้ใช้ส่วนตัวของคุณ สิ่งนี้จะต้องบันทึกเป็ส่วนตัว เช่นเดียวกับรหัสผ่าน และไม่ควรให้คนอื่นมองเห็น หากเปิดเผยออกไปคนอื่นสามารถสวมรอยเป็นคุณได้ เปลี่ยน URL ของ API API URL เปลื่ยนเป็นค่าเริ่มต้นแล้ว @@ -229,8 +231,6 @@ This is because Crowdin requires temporarily flattening this file and removing t เวลาที่เริ่มต้นส่วนนี้ เวลาที่จบส่วนนี้ เวลานี้ถูกต้องไหม? - กำหนดจุดบนเส้นเวลาก่อน แก้ไขส่วนแบบมือ คุณต้องการแก้ไขจุดเริ่มต้นและจุดจบของส่วนนี้ไหม? @@ -244,7 +244,6 @@ This is because Crowdin requires temporarily flattening this file and removing t เปลื่ยนสีแล้ว สีเปลื่ยนเป็นค่าเริ่มต้นแล้ว รีเซ็ต - เกี่ยวกับ - ค่าเริ่มต้น @@ -277,10 +275,8 @@ This is because Crowdin requires temporarily flattening this file and removing t - Dismiss - คำเตือน @@ -308,10 +304,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + @@ -321,7 +314,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - ปิดการใช้งานอยู่ diff --git a/src/main/resources/addresources/values-tl-rPH/strings.xml b/src/main/resources/addresources/values-tl-rPH/strings.xml deleted file mode 100644 index 1a7604d92..000000000 --- a/src/main/resources/addresources/values-tl-rPH/strings.xml +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/addresources/values-tr-rTR/strings.xml b/src/main/resources/addresources/values-tr-rTR/strings.xml index 5bfb15064..8b2d50b7d 100644 --- a/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Kontroller başarısız + Resmi websiteyi aç + Yok say + <h5>Bu uygulama sizin tarafınızdan yamalanmış gibi görünmüyor.</h5><br>Bu uygulama düzgün çalışmayabilir, <b>kullanması zararlı veya tehlikeli bile olabilir</b>.<br><br>Şu kontroller, bu uygulamanın hali hazırda yamalanmış olduğunu veya başka birinden edinildiğini gösteriyor:<br><br><small>%1$s</small><br>Doğrulanmış ve güvenli bir uygulama kullandığınızdan emin olmak için, <b>bu uygulamayı kaldırmanız ve kendiniz yamalamanız</b> şiddetle tavsiye edilir.<p><br>Bu uyarı yok sayıldığında sadece iki kez gösterilecektir. + Başka bir cihazda yamalanmış + ReVanced Manager tarafından yüklenmemiş + 10 dakikadan daha uzun bir süre önce yamalanmış + %s gün önce yamalanmış + APK derleme tarihi bozuk + Devam etmek istiyor musunuz? Sıfırla @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced ayarları varsayılanlara sıfırlandı %d ayar içe aktarıldı İçe aktarılamadı: %s + İçe / Dışa aktar + ReVanced ayarlarını içe / dışa aktar + + ReVanced Patches <i>%s</i> sürümünü kullanıyorsunuz + Not + Bu bir ön-sürümdür ve beklenmeyen sorunlar yaşayabilirsiniz + Resmi bağlantılar + Bağış yap @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced Patches <i>%s</i> sürümünü kullanıyorsunuz - Not - Bu bir ön-sürümdür ve beklenmeyen sorunlar yaşayabilirsiniz - Resmi bağlantılar - İçe / Dışa aktar - ReVanced ayarlarını içe / dışa aktar - Hakkında Reklamlar @@ -242,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Gizlemek için anahtar kelimeler - Yeni satırla ayrılmış, gizlenecek anahtar kelimeler ve söz öbekleri\n\nOrtasında büyük harf bulunan kelimeler büyük harfle birlikte girilmelidir (örn: iPhone, TikTok, LeBlanc) + Yeni satırlarla ayrılmış gizlenecek anahtar kelimeler ve ifadeler\n\nAnahtar kelimeler, kanal adları veya video başlığındaki herhangi bir metin olabilir\n\nOrtasında büyük harf olan kelimeler büyük harfle girilmelidir (örn: iPhone, TikTok, TepkiKolik) Anahtar kelimeyle filtreleme hakkında - Ana Sayfa/Abonelikler/Arama sonuçları anahtar kelimelerle eşleşen videoları gizlemek için filtrelenir\n\nKısıtlamalar\n• Bazı Short videolar gizlenemeyebilir\n• Bazı arayüz bileşenleri gizlenemeyebilir\n• Anahtar kelime aratmak hiçbir sonuç göstermeyebilir + Ana sayfa/Abonelikler/Arama sonuçları anahtar kelime ifadeleriyle eşleşen içeriği gizlemek için filtrelenir\n\nKısıtlamalar:\n• Shorts, kanal adına göre filtrelenemez\n• Bazı arayüz öğeleri gizlenmeyebilir\n• Bir anahtar kelimeyi aratmak hiçbir sonuç göstermeyebilir + Bütün kelimeyi eşle + + 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 - Geçersiz anahtar kelime. \'%s\' kullanılamaz - - Geçersiz anahtar kelime. \'%1$s\' %2$d karakterden az - \'%s\' anahtar kelimesi bütün videoları gizleyecektir + Anahtar kelime kullanılamıyor: %s + 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 Genel reklamları gizle @@ -615,6 +630,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Sesi oynatma listesine kaydetme butonunu gizle Sesi oynatma listesine kaydetme butonu gizleniyor Sesi oynatma listesine kaydetme butonu gösteriliyor + \"Bu sesi kullan\" düğmesini gizle + \"Bu sesi kullan\" düğmesi gizli + \"Bu sesi kullan\" düğmesi görünür Arama önerilerini gizle Arama önerileri gizleniyor Arama önerileri gösteriliyor @@ -678,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Oynatıcı şeffaflığı 0-100 arasında olmalıdır - Gizleniyor Beğenmeme sayıları zaman aşımına uğradı Beğenmeme sayıları kullanılamıyor (durum %d) @@ -774,6 +791,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 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 Ö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 Özel kullanıcı kimliğiniz en az 30 karakter olmalıdır @@ -874,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Bölümün başladığı zaman Bölümün bittiği zaman Süreler doğru mu? - Segment\n\n%1$s\niçin\n%2$s\n\n(%3$s)\n\nGöndermeye hazır mısınız? Başlangıç bitişten önce olmalıdır Öncelikle zaman çubuğunda iki yer işaretleyin @@ -894,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Kullanıcı adı başarıyla değiştirildi İtibarınız <b>%.2f</b> <b>%s</b> kısım oluşturdunuz + Kısımlarınızı görüntülemek için buraya dokunun SponsorBlock liderlik tablosu İnsanları <b>%s</b> kısımdan kurtardınız Küresel istatistikleri ve en çok katkıda bulunanları görmek için buraya dokunun @@ -1038,6 +1055,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Uyarı + İzleme geçmişiniz kaydedilmiyor.<br><br>Bu büyük ihtimalle bir reklam engelleyici DNS\'den veya proxy\'den kaynaklanıyor.<br><br>Bunu düzeltmek için, <b>s.youtube.com</b> adresini beyaz listeye ekleyin veya bütün engelleyici DNSleri ve proxy\'leri kapatın. Bir daha gösterme @@ -1114,20 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Kaydırarak sardırma etkin Kaydırarak saydırma etkin değil - - İstemciyi taklit et - Oynatma sorunlarını önlemek için istemciyi taklit et - İstemciyi taklit et - İstemci taklit ediliyor - İstemci taklit edilmiyor\n\nVideo oynatma çalışmayabilir - Bu ayarı devre dışı bırakmak video oynatma sorunlarına yol açabilir. - İstemciyi iOS olarak taklit et - İstemci şu anda Android VR olarak taklit ediliyor. Yan etkiler şunları içerir:\n• HDR videolar yok\n• Çocuklara özel videolar oynatılamaz\n• Duraklatılmış videolar rastgele bir şekilde devam edebilir\n• Shorts zaman çubuğu küçük resimleri düşük kalitede\n• \'İndir\' eylem düğmesi gizli\n• Bitiş ekranı kartları gizli - İstemci küçük resimlerini taklit etme kullanılamıyor (API zaman aşımına uğradı) - İstemci küçük resimlerini taklit etme geçici olarak kullanılamıyor: %s - - - + + 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ı taklit edilmiyor\n\nVideo oynatımı çalışmayabilir + Bu ayarı devre dışı bırakmak video oynatma sorunlarına yol açabilir. + Varsayılan istemci + AVC\'yi (H.264) zorla + Video kodeği AVC (H.264) + Video kodeği VP9 ya da AV1 + Cihazınız VP9 donanım çözme özelliği yok ve bu ayar istemci taklit etme açık iken her zaman açıktır + Bunu etkinleştirmek batarya ömrünü uzatabilir ve oynatma takılmalarını çözebilir.\n\nAVC en fazla 1080p çözünürlüğe sahiptir ve video oynatımı VP9 veya AV1\'e göre daha fazla internet harcayacaktır. + iOS taklidi yan etkileri + • Filmler veya paralı videolar oynatılmayabilir\n• Canlı yayınlar baştan başlar + Android VR taklidi yan etkileri + • Ses parçası menüsü eksik diff --git a/src/main/resources/addresources/values-uk-rUA/strings.xml b/src/main/resources/addresources/values-uk-rUA/strings.xml index a97e9de6c..910f3139b 100644 --- a/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Перевірка не вдалася + Відкрити офіційний сайт + Ігнорувати + <h5>Схоже, що цей застосунок був пропатчений не Вами.</h5><br>Цей застосунок може працювати не належним чином, <b>бути шкідливим або навіть небезпечним</b>.<br><br>Ці перевірки означають, що цей застосунок був попередньо пропатчений та отриманий від когось іншого:<br><br><small>%1$s</small><br>Наполегливо рекомендується <b>видалити цей застосунок та пропатчити його самостійно,</b> щоб переконатися, що ви використовуєте перевірений та безпечний застосунок.<p><br>Якщо це попередження проігнорувати, воно буде показано лише двічі. + Пропатчено на іншому пристрої + Не встановлено через ReVanced Manager + Пропатчено більше 10 хвилин тому + Пропатчено %s дні(в) тому + Дата збірки APK пошкоджена + Бажаєте продовжити? Скинути @@ -42,26 +53,26 @@ This is because Crowdin requires temporarily flattening this file and removing t Налаштування ReVanced скинуто до стандартних Імпортовано %d налаштувань Не вдалося імпортувати: %s + Імпорт / Експорт налаштувань + Імпорт / Експорт налаштувань ReVanced\n\nДля збереження налаштувань скопіюйте текст у вікні кнопкою \"Копіювати\" та збережіть його в текстовому файлі.\nДля відновлення налаштувань вставте у вікно збережений раніше текст та натисніть кнопку \"Імпортувати\" + + Ви використовуєте ReVanced Patches версії <i>%s</i> + Примітка + Ця версія є передрелізною, тому у Вас можуть виникати несподівані проблеми + Офіційні посилання + Підтримати MicroG GmsCore не встановлено. Встановіть його. Потрібна дія - MicroG GmsCore не має дозволу працювати у фоновому режимі.\n\nДотримуйтеся посібника \"Don\'t kill my app\" для вашого телефону і слідкуйте інструкціям для вашої установки MicroG.\n\nЦе необхідно для роботи програми. + MicroG GmsCore не має дозволу працювати у фоновому режимі.\n\nДотримуйтеся посібника \"Don\'t kill my app\" для Вашого телефону і слідкуйте інструкціям для вашої установки MicroG.\n\nЦе необхідно для роботи програми. Відкрити вебсайт Для MicroG GmsCore не встановлено режим \"Без обмежень\" в оптимізації живлення.\n\nНатисніть кнопку \"Продовжити\" та вимкніть оптимізацію живлення. Продовжити - - Ви використовуєте ReVanced Patches версії <i>%s</i> - Примітка - Ця версія є перед релізною, тому у Вас можуть виникати несподівані проблеми - Офіційні посилання - Імпорт / Експорт налаштувань - Імпорт / Експорт налаштувань ReVanced\n\nДля збереження налаштувань скопіюйте текст у вікні кнопкою \"Копіювати\" та збережіть його в текстовому файлі.\nДля відновлення налаштувань вставте у вікно збережений раніше текст та натисніть кнопку \"Імпортувати\" - Інформація Реклама @@ -242,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Ключові слова, які потрібно приховати - Ключові слова та фрази, які потрібно приховати, розділені новими рядками.\n\n• Довжина ключового слова повинна бути не менше 3-х символів\n• Слова з великими літерами посередині мають містити регістр (наприклад: iPhone, TikTok, Івано-Франківськ) + Ключові слова та фрази, які потрібно приховати, розділені новими рядками.\n\nКлючовими словами можуть бути назви каналів або будь-який текст, вказаний у заголовках відео\nСлова з великими літерами посередині мають містити регістр (наприклад: iPhone, TikTok, Івано-Франківськ) Про фільтр ключових слів - Головна/Підписки/Результати пошуку фільтруються, щоб приховати відео за ключовими словами.\n\nОбмеження:\n• Деякі Shorts можуть не приховуватися\n• Деякі елементи інтерфейсу можуть не приховуватися\n• Пошук за ключовим словом може не показувати результатів + Головна/Підписки/Результати пошуку фільтруються, щоб приховати вміст, який відповідає ключовим фразам\n\nОбмеження\n• Shorts не можна приховати за назвою каналу\n• Деякі компоненти інтерфейсу можуть не приховуватися\n• Пошук за ключовим словом може не показувати результатів + Лише цілі слова + + Взяття ключового слова/фрази в подвійні лапки запобігатиме частковим збігам назв відео та каналів<br><br>Наприклад,<br><b>\"ші\"</b> приховає відео: <b>Як працює ШІ (штучний інтелект)?</b><br>але не приховає: <b>Що означає цифра шість?</b> - Ключове слово \'%s\' не можна використовувати - - Ключове слово \'%1$s\' менше %2$d-х символів - Ключове слово \'%s\' приховає всі відео + Неможливо використати: %s + Додайте лапки, щоб використовувати: %s + Ключове слово має конфліктні оголошення: %s + Ключове слово занадто коротке і потребує лапок: %s + Ключове слово приховає всі відео: %s Приховати загальну рекламу @@ -443,7 +458,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Кнопка \"Підписки\" показується на панелі навігації Замінити \"Створити\" на \"Сповіщення\" - Кнопку \"Створити\" замінено кнопкою \"Сповіщення\"\n\nПримітка: увімкнення цього параметру також примусово приховує відеорекламу + Кнопку \"Створити\" замінено кнопкою \"Сповіщення\"\n\nПримітка: Увімкнення цього параметру також примусово приховує відеорекламу Кнопку \"Створити\" не замінено кнопкою \"Сповіщення\" Приховати підписи кнопок навігації Підписи кнопок навігації приховано @@ -612,9 +627,12 @@ This is because Crowdin requires temporarily flattening this file and removing t Приховати мітку місцезнаходження Мітку місцезнаходження приховано Мітка місцезнаходження показується - Приховати зберегти у список відтворення - Кнопку зберегти звук у список відтворення приховано - Кнопка зберегти звук у список відтворення показується + Приховати \"Зберегти звук у список відтворення\" + Кнопку \"Зберегти звук у список відтворення\" приховано + Кнопка \"Зберегти звук у список відтворення\" показується + Приховати \"Використати цю звукову доріжку\" + Кнопку \"Використати цю звукову доріжку\" приховано + Кнопка \"Використати цю звукову доріжку\" показується Приховати пропозиції пошуку Пропозиції пошуку приховано Пропозиції пошуку показуються @@ -678,7 +696,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Значення затемнення плеєра має бути в межах 0-100 - Приховано Дизлайки тимчасово недоступні (тайм-аут API) Дизлайки недоступні (статус %d) @@ -687,10 +704,10 @@ This is because Crowdin requires temporarily flattening this file and removing t Оновіть відео, щоб проголосувати за допомогою ReturnYouTubeDislike Відмітки \"Не подобається\" показуються - Відмітки \"Не подобається\" приховані - Показувати \"Не подобається\" в Shorts - Відмітки \"Не подобається\" у Shorts показуються %s - Відмітки \"Не подобається\" у Shorts показуються.\n\nОбмеження: відмітки \"Не подобається\" не можуть показуватися в режимі інкогніто + Відмітки \"Не подобається\" приховано + Відмітки \"Не подобається\" в Shorts + Відмітки \"Не подобається\" в Shorts показуються + Відмітки \"Не подобається\" в Shorts показуються.\n\nОбмеження: Відмітки \"Не подобається\" не можуть показуватися в анонімному режимі Відмітки \"Не подобається\" в Shorts приховано Відмітки \"Не подобається\" у відсотках Відмітки \"Не подобається\" показуються як відсоток @@ -705,21 +722,21 @@ This is because Crowdin requires temporarily flattening this file and removing t Про інтеграцію Дані надаються Return YouTube Dislike API. Натисніть тут, щоб дізнатися більше - Статистика API ReturnYouTubeDislike цього пристрою + Статистика ReturnYouTubeDislike API цього пристрою Час відповіді API, середній Час відповіді API, мінімальний Час відповіді API, максимальний Час відповіді API, останнє відео - Дизлайки тимчасово недоступні - діє обмеження швидкості клієнтського API - API отримує голоси, кількість запитів - Мережевих запитів не зроблено - Виконано %d мережевих запитів - API отримання голосів, кількість тайм-аутів - Час очікування мережевих запитів закінчився - Закінчився час %d мережевих запитів + Відмітки \"Не подобається\" тимчасово недоступні - діє обмеження швидкості клієнта API + Отримання голосів API, кількість запитів + Мережевих запитів не здійснено + Здійснено %d мережевих запитів + Отримання голосів API, кількість тайм-аутів + Тайм-аутів під час мережевих запитів не виявлено + Виявлено %d тайм-аутів під час мережевих запитів Обмеження швидкості клієнта API - Обмеження швидкості клієнта не виявлені - Обмеження кількості клієнтів виявлено %d разів + Обмеження швидкості клієнта не виявлено + Обмеження швидкості клієнта виявлено %d разів %d мілісекунд @@ -774,8 +791,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Відстеження кількості пропусків вимкнуто Мінімальна тривалість сегменту Сегменти, коротші за це значення (в секундах), не будуть показані або пропущені - Ваш особистий id користувача - Це повинно залишатися конфіденційним. Це як пароль, і його не можна нікому передавати. Якщо хтось отримає його, він зможе видавати себе за вас + Неприпустима тривалість + Ваш особистий ID користувача + Це повинно залишатися конфіденційним. Це як пароль, і його не можна нікому передавати. Якщо хтось отримає його, він зможе видавати себе за Вас Особистий id користувача повинен мати довжину не менше 30 символів Змінити адресу API URL-адреса, яку SponsorBlock використовує для звернень до сервера @@ -857,7 +875,7 @@ This is because Crowdin requires temporarily flattening this file and removing t SponsorBlock тимчасово недоступний (закінчився час API) SponsorBlock тимчасово недоступний (статус %d) SponsorBlock тимчасово не доступний - Не вдалося проголосувати за сегмент (Час очікування API минув) + Не вдалося проголосувати за сегмент (закінчився час API) Не вдалося проголосувати за сегмент (статус: %1$d %2$s) Не вдалося проголосувати за сегмент: %s Проголосувати \"за\" @@ -874,8 +892,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Час сегменту починається з Час сегменту закінчується на Час початку і кінця сегмента правильні? - Час сегменту з\n\n%1$s\nдо\n%2$s\n\n(%3$s)\n\nГотові відправити? Початок має бути перед кінцем Спочатку позначте дві позиції на панелі часу @@ -894,6 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ім\'я користувача успішно змінено Ваша репутація - <b>%.2f</b> Ви створили <b>%s</b> сегменти(ів) + Натисніть тут для перегляду Ваших сегментів Таблиця лідерів SponsorBlock Ви врятували людей від <b>%s</b> сегментів Натисніть тут, щоб побачити глобальну статистику та найкращих учасників @@ -1050,7 +1067,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Підробити розміри пристрою Розміри пристрою підроблено\n\nБільш високі якості відео може бути розблоковано, але можуть спостерігатися затримки під час відтворення відео, підвищене споживання батареї та невідомі побічні ефекти Розміри пристрою не підроблено\n\nУвімкнення цієї опції може розблокувати вищі якості відео - Увімкнення цієї опції може викликати затримки під час відтворення відео, підвищене споживання батареї та невідомі побічні ефекти. + Увімкнення цієї опції може викликати затримки під час відтворення відео, підвищене споживання акумулятора та невідомі побічні ефекти. Налаштування GmsCore @@ -1115,21 +1132,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Перемотку пересуванням увімкнуто\n\nУвімкнуто поведінку старого інтерфейсу \"Проведіть пальцем, щоб перемотати\" Перемотку пересуванням вимкнуто\n\nУвімкнуто поведінку нового інтерфейсу прискорення \"2х >>\" при утриманні на екрані - - Підробка клієнта - Підробка клієнта для запобігання проблем відтворення - Підробити клієнт - Клієнт підроблений - Клієнт не підроблений\n\nВідтворення відео може не працювати - Вимкнення цього параметра може призвести до проблем відтворення відео. - Підробити клієнт на iOS - Наразі клієнт підроблений на iOS\n\nПобічні ефекти:\n• HDR відео може бути недоступним\n• Історія переглядів не працює з акаунтом бренду - Наразі клієнт підроблений на Android VR. Побічні ефекти:\n• Немає HDR відео\n• Відео для дітей не відтворюються\n• Призупинені відео можуть випадково продовжуватися\n• Низька якість мініатюр панелі прогресу Shorts\n• Кнопка завантаження прихована\n• Картки кінцевого екрана приховані - Мініатюри в режимі підробки клієнта не доступні (закінчився час API) - Мініатюри в режимі підробки клієнта тимчасово не доступні: %s - - - + + Підробка відеопотоків + Підробка відеопотоків клієнта для запобігання проблем відтворенням + Підробка відеопотоків + Відеопотоки підроблено + Відеопотоки не підроблено\n\nВідтворення відео може не працювати + Вимкнення цього параметра може спричинити проблеми відтворення відео. + Клієнт за замовчуванням + Примусово AVC (H.264) + Примусово увімкнено відеокодек AVC (H.264) + Примусово увімкнено відеокодек VP9 або AV1 + Ваш пристрій не має апаратного декодування VP9, ​​тому це налаштування завжди ввімкнено, коли ввімкнено підробку відеопотоків + Увімкнення цієї опції може збільшити час роботи від акумулятора та виправити затримки відтворення.\n\nAVC має максимальну роздільну здатність 1080p, а відтворення відео використовуватиме більше інтернет-даних, ніж на кодеках VP9 або AV1. + Побічні ефекти підміни iOS: + • Фільми чи платні відео можуть не відтворюватися.\n• Прямі трансляції починаються з початку + Побічні ефекти підміни Android VR: + • Меню звукової доріжки відсутнє diff --git a/src/main/resources/addresources/values-ur-rIN/strings.xml b/src/main/resources/addresources/values-ur-rIN/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-uz-rUZ/strings.xml b/src/main/resources/addresources/values-uz-rUZ/strings.xml index bbe8b14e8..1c1b555ec 100644 --- a/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -235,10 +234,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values-vi-rVN/strings.xml b/src/main/resources/addresources/values-vi-rVN/strings.xml index 4b0dd00a0..f8302f87f 100644 --- a/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Kiểm tra thất bại + Mở trang web chính thức + Phớt lờ + <h5>Ứng dụng này xem ra không được vá bởi bạn.</h5><br>Ứng dụng này có thể không hoạt động chính xác, <b>gây hại hoặc thậm chí nguy hiểm khi dùng</b>.<br><br>Những lần kiểm tra này ngụ ý rằng ứng dụng được vá trước hoặc được nhận được từ ai khác;<br><br><small>%1$s</small><br>Cực kỳ khuyến nghị <b>gỡ cài đặt ứng này và tự vá</b> để chắc chắn bạn dùng ứng dụng hợp lệ và an toàn.<p><br>Nếu phớt lờ, cảnh báo này sẽ chỉ hiện hai lần. + Đã vá trên một thiết bị khác + Không được cài đặt bởi ReVanced Manager + Đã vá hơn 10 phút trước + Đã vá %s ngày trước + Ngày dựng APK bị hỏng + Bạn có muốn tiếp tục không? Đặt lại @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Khôi phục mặc định cài đặt ReVanced Đã nhập cài đặt %d Nhập thất bại: %s + Nhập / Xuất + Nhập / Xuất cài đặt ReVanced + + Bạn đang dùng Bản vá ReVanced phiên bản <i>%s</i> + Lưu ý + Đây là phiên bản tiền phát hành và bạn có thể gặp phải sự cố không mong muốn + Các liên kết chính thức + Quyên góp @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - Bạn đang dùng Bản vá ReVanced phiên bản <i>%s</i> - Lưu ý - Đây là phiên bản tiền phát hành và bạn có thể gặp phải sự cố không mong muốn - Các liên kết chính thức - Nhập / Xuất - Nhập / Xuất cài đặt ReVanced - Giới thiệu Quảng cáo @@ -242,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Từ khóa để ẩn - Từ khóa và cụm từ để ẩn, ngăn cách bằng dòng mới\n\nTừ với các ký tự in hoa ở giữa phải được viết hoa đúng (vd: iPhone, TikTok, LeBlanc) + Nhập từ hoặc cụm từ cần ẩn được phân cách bằng dòng.\n\nTừ khóa có thể là tên kênh hoặc bất kỳ văn bản nào hiển thị trong tiêu đề video.\n\nBộ lọc có phân biệt chữ hoa chữ thường, vì vậy bạn cần nhập chính xác định dạng để lọc (Ví dụ: iPhone, TikTok, LeBlanc) Giới thiệu về bộ lọc từ khóa - Trang chính/Đăng ký/Kết quả tìm kiếm được lọc để ẩn nội dung khớp với cụm từ khóa\n\nGiới hạn\n• Một số Shorts có thể không được ẩn\n• Một số thành phần giao diện có thể không được ẩn\n• Tìm kiếm chứa từ khóa có thể không có kết quả + Nội dung khớp với từ khoá bạn đã đặt sẽ bị ẩn trên thẻ Trang chủ/Kênh đăng ký và kết quả tìm kiếm.\n\nHạn chế:\n• Video Shorts không bị ẩn theo tên kênh.\n• Một số thành phần giao diện người dùng có thể không bị ẩn.\n• Tìm kiếm từ khoá có thể không cho kết quả nào + Khớp toàn bộ từ + + Việc đặt từ/cụm từ cần lọc trong dấu ngoặc kép sẽ ngăn chặn các kết quả chỉ trùng một phần với tiêu đề video và tên kênh<br><br>Ví dụ,<br><b>\"ai\"</b> sẽ ẩn video: <b>AI hoạt động ra sao?</b><br>nhưng sẽ không ẩn: <b>Hai lai nghĩa là gì?</b> - Từ khóa không hợp lệ. Không thể dùng \'%s\' - - Từ khóa không hợp lệ. \'%1$s\' nhỏ hơn %2$d ký tự - Từ khóa \'%s\' sẽ ẩn toàn bộ video + Không thể dùng từ khóa: %s + Hãy thêm dấu ngoặc kép để sử dụng từ khoá: %s + Từ khóa có các định nghĩa mâu thuẫn với nhau. %s + Từ khóa quá ngắn và cần phải có dấu ngoặc kép: %s + Từ khóa sẽ ẩn tất cả video: %s Ẩn quảng cáo chung @@ -678,7 +693,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Độ phủ mờ trình phát phải nằm giữa 0-100 - Ẩn Lượt ko thích tạm thời ko khả dụng (API hết giờ) Lượt không thích không khả dụng ( trạng thái %d) @@ -718,8 +732,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Không gọi mạng lần nào bị hết hạn %d lần gọi mạng bị hết hạn Số lần đạt giới hạn API máy khách - Không gặp phải giới hạn tỷ lệ máy khách - Gặp phải %d lần đạt giới hạn tỷ lệ máy khách + Không gặp phải giới hạn truy cập máy khách + Gặp phải %d lần đạt giới hạn truy cập máy khách %d mili-giây @@ -774,6 +788,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Theo dõi số lần bỏ qua được bật Thời lượng phân đoạn tối thiểu Các phân đoạn ngắn hơn giá trị này (bằng giây) sẽ không được hiện hoặc bỏ qua + Thời lượng không hợp lệ Định danh người dùng riêng tư của bạn Mã này nên được giữ riêng tư. Nó giống như mật khẩu và không nên được chia sẻ với bất kỳ ai. Nếu ai đó có nó, họ có thể mạo danh bạn Định danh người dùng riêng tư phải dài ít nhất 30 ký tự @@ -874,8 +889,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Thời gian phân đoạn bắt đầu lúc Thời gian phân đoạn kết thúc lúc Thời gian đã đúng chưa? - Phân đoạn từ\n\n%1$s\nđến\n%2$s\n\n(%3$s)\n\nCó sẵn sàng để gửi? Thời gian bắt đầu phải trước thời gian kết thúc Đánh dấu hai vị trí đầu - cuối trên thanh thời gian trước @@ -894,6 +907,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Tên người dùng đã được thay đổi thành công Danh tiếng của bạn là <b>%.2f</b> Bạn đã tạo <b>%s</b> phân đoạn + Nhấn vào đây để xem các phân đoạn của bạn Bảng xếp hạng SponsorBlock Bạn đã giúp mọi người bỏ qua <b>%s</b> phân đoạn Nhấn vào đây để xem số liệu thống kê toàn cầu và những người đóng góp hàng đầu @@ -1038,6 +1052,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Cảnh báo + Lịch sử xem của bạn chưa được lưu.<br><br>Điều này hầu hết gây ra bởi một DNS trình chặn quảng cáo hoặc proxy mạng.<br><br>Để sửa nó, cho phép <b>s.youtube.com</b> hoặc tắt tất cả trình chặn DNS và các proxy. Không hiện lại @@ -1114,20 +1129,11 @@ This is because Crowdin requires temporarily flattening this file and removing t Vuốt để tua được bật Vuốt để tua không được bật - - Giả mạo máy khách - Giả mạo máy khách để ngăn ngừa sự cố khi phát nền - Giả mạo máy khách - Máy khách đã được giả mạo - Máy khách chưa được giả mạo\n\nPhát nền video có thể không hoạt động - Việc tắt cài đặt này có thể gây ra sự cố phát nền video. - Giả mạo máy khách cho iOS - Hiện tại máy khách đang giả mạo thành Android VR. Tác dụng phụ bao gồm:\n• Không có video HDR\n• Video dành cho trẻ em không phát lắp\n• Video đã tạm dừng có thể ngẫu nhiên phát tiếp\n• Hình thu nhỏ thanh tiến trình Shorts có chất lượng thấp\n• Nút hành động tải xuống luôn ẩn\n• Các thẻ màn hình kết thúc luôn ẩn - Hình thu nhỏ giả mạo máy khách không khả dụng (API hết hạn) - Hình thu nhỏ giả mạo máy khách tạm thời không khả dụng: %s - - - + + Việc tắt cài đặt này có thể gây ra sự cố phát nền video. + Bật chức năng này có thể tăng cường thời lượng pin và sửa lỗi phát lặp.\n\nAVC có độ phân giải tối đa 1080p, và video phát sẽ dùng nhiều dữ liệu mạng hơn VP9 hoặc AV1. + Tác dụng phụ của giả mạo iOS + Tác dụng phụ của giả mạo Android VR diff --git a/src/main/resources/addresources/values-zh-rCN/strings.xml b/src/main/resources/addresources/values-zh-rCN/strings.xml index 23db886c7..3d510392f 100644 --- a/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -32,6 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + 检查失败 + 打开官方网站 + 忽略 + 已在另一个设备上补丁 + 未被ReVictic Manager安装 + 10分钟前补丁 + %s 天前补丁 + APK 构建日期已损坏 + 继续? 重置 @@ -42,6 +52,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced 设置已重置为默认 已导入 %d 条设置 导入失败:%s + 导入 / 导出 + 导入 / 导出 ReVanced 设置 + + 您正在使用 ReVanced 补丁版本 <i>%s</i> + 说明 + 此版本是预发布版本,您可能会遇到意外问题 + 官方链接 + 捐助 @@ -54,14 +72,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - 您正在使用 ReVanced 补丁版本 <i>%s</i> - 说明 - 此版本是预发布版本,您可能会遇到意外问题 - 官方链接 - 导入 / 导出 - 导入 / 导出 ReVanced 设置 - 关于 广告 @@ -242,14 +252,18 @@ This is because Crowdin requires temporarily flattening this file and removing t 隐藏关键字 - 要隐藏的关键词和短语,以换行符分隔\n\n字母区分大小写(例如:iPhone、TikTok、LeBlanc) + 要隐藏的关键词和短语, 用新行\n\n关键字可以是频道名称或视频标题\n\n带大写字母的单词必须与外壳输入(例如:iPhone) TikTok, LeBlanc) 关于关键字过滤 - 主页/订阅/搜索结果被过滤以隐藏匹配关键字短语的内容\n\n限制\n• 一些短语可能不被隐藏\n• 某些界面组件可能不被隐藏\n• 搜索关键字可能不显示结果 + 主页/订阅/搜索结果被过滤以隐藏匹配关键字短语的内容\n\n限制\n• 短信不能被频道名称\n• 某些界面组件可能不被隐藏\n• 搜索关键字可能不显示结果 + 匹配整个单词 + + 环绕一个关键字/短语带双引号会防止视频标题和频道名称<br><br>例如,。<br><b>\"ai\"</b> 将隐藏视频: <b>How does AI work?</b><br>但不会隐藏: <b>What does fair use mean?</b> - 无效关键字。不能使用: \'%s\' 作为过滤器 - - 无效的关键字。\'%1$s\' 小于 %2$d 个字符 - 关键词 \'%s\' 将隐藏所有视频 + 无法使用关键词: %s + 添加引号以使用关键词: %s + 关键词有冲突声明: %s + 关键词太短,需要引用: %s + 关键字将隐藏所有视频: %s 隐藏一般广告 @@ -430,9 +444,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Home 键已隐藏 显示主页按钮 - 隐藏快捷方式 - 已隐藏shorts按钮 - 已显示shorts按钮 + 隐藏Shorts + 已隐藏Shorts按钮 + 已显示Shorts按钮 隐藏创建 新建按钮已隐藏 @@ -513,9 +527,9 @@ This is because Crowdin requires temporarily flattening this file and removing t 隐藏评论部分 评论部分已隐藏 评论部分已显示 - 隐藏“创建一个短语”按钮 - “创建一个短语”按钮已隐藏 - 显示“创建一个短”按钮 + 隐藏“创建 Short按钮 + “创建 Short 按钮被隐藏 + 显示“创建 Short”按钮 隐藏预览评论 预览已隐藏 显示预览评论 @@ -579,16 +593,16 @@ This is because Crowdin requires temporarily flattening this file and removing t - 隐藏主页新闻源中的短路 - Home Feed中的短暂是隐藏的 - 家庭种子中的短暂显示 + 在主页动态中隐藏 Shorts + 主页动态中的 Shorts已隐藏 + 主页动态中显示 Shorts - 隐藏订阅源中的短暂内容 - 订阅源中的缺失已隐藏 - 订阅订阅源的短缺显示 - 隐藏搜索结果中的短号 - 搜索结果中的短暂已隐藏 - 搜索结果中的短暂显示 + 在订阅信息流中隐藏 Shorts + 已在訂閱動態影片中隱藏 Shorts + 已在訂閱動態影片中顯示 Shorts + 隱藏 Shorts 搜尋結果 + 已在搜尋結果中隱藏 Shorts + 已在搜尋結果中顯示 Shorts 隐藏加入按钮 加入按钮已隐藏 @@ -615,6 +629,9 @@ This is because Crowdin requires temporarily flattening this file and removing t 隐藏保存声音到播放列表按钮 保存声音到播放列表是隐藏的 将声音保存到播放列表显示 + 隐藏使用此声音按钮 + 使用此声音按钮隐藏 + 使用此声音按钮显示 隐藏搜索建议 搜索建议已隐藏 显示搜索建议 @@ -678,7 +695,6 @@ This is because Crowdin requires temporarily flattening this file and removing t 玩家叠加层透明度必须介于 0-100 之间 - 隐藏 不喜欢暂时不可用 (API 超时) 不喜欢不可用(状态 %d) @@ -774,6 +790,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 跳过计数跟踪未启用 最短片段时长 短于此值的线段 (以秒为单位) 将不会显示或跳过 + 无效的时长 您的私人用户 id 这应该被保密。这就像一个密码,不应该与他人分享。如果有人拥有它,他们就可以冒充您 私有用户ID必须至少 30 个字符长 @@ -874,8 +891,6 @@ This is because Crowdin requires temporarily flattening this file and removing t 片段开始时间 片段结束时间 时间是否正确? - 该片段从\n\n%1$s\n到\n%2$s\n\n(%3$s)\n\n立即提交? 开始时间必须早于结束 首先在时间栏上标记两个位置 @@ -894,6 +909,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 用户名称修改成功 您的信誉积分是 <b>%.2f</b> 您已创建 <b>%s</b> 部分 + 点击此处查看您的片段 赞助方块排行榜 您已经从 <b>%s</b> 段中保存了人员 点击此处查看全球统计数据和最佳贡献者 @@ -973,7 +989,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 隐藏跳过后退按钮 向前跳过并隐藏 向前跳过并显示 - Overlay opacity + 覆盖层不透明度 0-100之间的不透明度值, 其中0是透明的 最小播放器覆盖不透明度必须介于 0-100 之间 @@ -1114,19 +1130,23 @@ This is because Crowdin requires temporarily flattening this file and removing t 滑动以定位已启用 未启用滑动搜索 - - 伪装客户端 - 伪装客户端以解决播放问题 - 伪装客户端 - 客户端已伪装 - 客户端未伪装\n\n可能无法正常播放视频 - 关闭此选项可能会导致视频不能正常播放。 - 伪装客户端为 iOS - 伪装客户端缩略图不可用(API 超时) - 伪装客户端缩略图暂时不可用: %s - - - + + Spoof 视频流 + 用来防止播放问题的客户端视频流 + Spoof 视频流 + 视频流已被破坏了 + 视频流没有被破坏的\n\n视频播放可能无法工作 + 关闭此选项可能会导致视频不能正常播放。 + 默认客户端 + 强制使用 AVC (H.264) + 视频编解码器是 AVC (H.264) + 视频编解码器是 VP9 或 AV1 + 您的设备没有 VP9 硬件解码,启用客户端伪装时此设置始终开启 + 启用此功能可能会改善电池续航力并修复播放卡顿问题。\n\nAVC 的最大解析度为 1080p,且影片播放将使用比 VP9 或 AV1 更多的网路数据。 + iOS 伪装副作用 + • 电影或付费视频不能播放\n• Livestreams 不能从一开始开始 + Android VR 伪装副作用 + • 缺少音轨菜单 diff --git a/src/main/resources/addresources/values-zh-rHK/strings.xml b/src/main/resources/addresources/values-zh-rHK/strings.xml deleted file mode 100644 index a47f918df..000000000 --- a/src/main/resources/addresources/values-zh-rHK/strings.xml +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - 您要唔要繼續? - 重設 - 刷新後重新啟動 - 重新啟動 - 匯入 - 複製 - ReVanced 嘅設定已經被重置返做預設 - 匯入咗 %d 嘅設定 - 匯入失敗: %s - - - - MicroG GmsCore 仲未安裝。安裝埋佢。 - 需要行動 - 打開網站 - 繼續 - - - - - 備註 - 官方鏈接 - 匯入/匯出 - - - 關於 - 廣告 - 訊息來源 - 雜項 - 影片 - - - 除錯 - 開啟或停用除錯選項 - 除錯日誌 - - - 隱藏灰色間隔 - - 已經隱藏咗按鈕 - - - 已經隱藏咗按鈕 - - - 隱藏社團嘅貼文 - 隱藏影片下嘅橫幅 - 隱藏問卷調查嘅提示 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 關於 - - - - - - - - 主題 - - - - - 載入中…… - 重設 - 關於 - - - - - - - 預設 - - - - - - - - - - - - - - - - - - - - - - - - - 忽略 - - - 警告 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 已停用 - - - - - - - - - - - - - - diff --git a/src/main/resources/addresources/values-zh-rTW/strings.xml b/src/main/resources/addresources/values-zh-rTW/strings.xml index ffb6d2d45..754c669a0 100644 --- a/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -32,6 +32,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + 檢查失敗 + 打開官方網站 + 忽略 + <h5>此應用程式似乎並非由您修補。</h5><br>該應用程式可能無法正常運作,<b>可能有害甚至存在危險。</b><br><br>這些檢查表明該應用程式是預先修補的或來自其他來源:<br><br><small>%1$s</small><br>強烈建議<b>解除安裝此應用程式並自行修補</b>,以確保您使用的是經過驗證且安全的應用程式。<p><br>如果忽略,此警告僅會顯示兩次。 + 在其他裝置上修補 + 未由 ReVanced Manager 安裝 + 修補時間超過 10 分鐘 + 修補於 %s 天前 + APK 構建日期已損壞 + 您想繼續嗎? 重設 @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t 重設 ReVanced 設定為預設值 已匯入設定 %d 匯入失敗:%s + 匯入 / 匯出 + 匯入 / 匯出 ReVanced 設定 + + 您正在使用 ReVanced 修補版本 <i>%s</i> + 說明 + 此版本是預覽版,您可能會遇到意外問題 + 官方連結 + 捐贈 @@ -54,14 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - 您正在使用 ReVanced 修補版本 <i>%s</i> - 說明 - 此版本是預覽版,您可能會遇到意外問題 - 官方連結 - 匯入 / 匯出 - 匯入 / 匯出 ReVanced 設定 - 關於 廣告 @@ -71,7 +82,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 通用版面 進度條 滑動控制 - 其它 + 其他 影片 @@ -92,9 +103,9 @@ This is because Crowdin requires temporarily flattening this file and removing t 關閉錯誤提示並隱藏所有 ReVanced 錯誤通知。\n\n您將不會收到任何意外事件的通知。 - 停用「讚」和「訂閱」按鈕的發光效果 - 提及時,「讚」和「訂閱」按鈕不會發光 - 提及時,「讚」和「訂閱」按鈕會發光 + 停用「喜歡」和「訂閱」按鈕的發光效果 + 提及時,「喜歡」和「訂閱」按鈕不會發光 + 提及時,「喜歡」和「訂閱」按鈕會發光 隱藏灰色分隔線 已隱藏灰色分隔線 已顯示灰色分隔線 @@ -242,14 +253,18 @@ This is because Crowdin requires temporarily flattening this file and removing t 隱藏關鍵字 - 填要隱藏的關鍵字或一句話,以換行符號分隔\n\n中間有大小寫字母的單字必須使用大小寫輸入(舉例:iPhone、TikTok、LeBlanc) + 關鍵字和詞組(以換行符分隔)\n\n關鍵字可以是頻道名稱或影片標題中顯示的任何文字\n\n中間帶有大寫字母的詞必須按照其大小寫格式輸入(例如:iPhone、TikTok、LeBlanc) 關於關鍵字過濾 - 首頁 / 訂閱 / 搜尋結果經過過濾以隱藏和關鍵字詞組相符的內容\n\n限制性\n• 一些 Shorts 可能不會被隱藏\n• 搜尋關鍵字可能不會顯示任何結果 + 主頁/訂閱/搜尋結果將過濾並隱藏符合關鍵字詞組的內容\n\n限制\n• 短片無法通過頻道名稱隱藏\n• 某些使用者介面元件可能無法被隱藏\n• 搜尋關鍵字時可能顯示無結果 + 匹配整個詞彙 + + 將關鍵字或詞組用雙引號括起來,可以防止影片標題和頻道名稱的部分匹配<br><br>例如:<br><b>\"ai\"</b> 會隱藏影片:<b>How does AI work?</b><br>但不會隱藏:<b>What does fair use mean?</b> - 無效的關鍵字。無法使用:「%s」來過濾 - - 無效的關鍵字。「%1$s」小於 %2$d 字元 - 關鍵字「%s」將隱藏所有影片 + 無法使用關鍵字:%s + 請添加引號以使用關鍵字:%s + 關鍵字存在衝突聲明:%s + 關鍵字過短,需要加上引號:%s + 關鍵字將隱藏所有影片:%s 隱藏一般廣告 @@ -300,10 +315,10 @@ This is because Crowdin requires temporarily flattening this file and removing t 已複製 URL 到剪貼簿 已複製時間戳記 URL 顯示複製影片 URL 按鈕 - 已顯示按鈕。點擊複製影片 URL。點擊並按住複製帶有時間戳記的影片 URL + 已顯示按鈕。點擊將複製影片 URL。點擊並按住將複製帶有時間戳記的影片 URL 未顯示按鈕 顯示複製時間戳記 URL 按鈕 - 已顯示按鈕。點擊複製帶有時間戳記的影片 URL。點擊並按住以在沒有時間戳記的情況下複製影片 + 已顯示按鈕。點擊將複製帶有時間戳記的影片 URL。點擊並按住將複製不帶時間戳記的影片 URL 未顯示按鈕 @@ -373,9 +388,9 @@ This is because Crowdin requires temporarily flattening this file and removing t 動作按鈕 隱藏或顯示影片下方的按鈕 - 隱藏喜歡和不喜歡數 - 已隱藏喜歡和不喜歡按鈕 - 已顯示喜歡和不喜歡按鈕 + 隱藏「喜歡」和「不喜歡」數 + 已隱藏「喜歡」和「不喜歡」按鈕 + 已顯示「喜歡」和「不喜歡」按鈕 隱藏分享 已隱藏分享按鈕 @@ -388,7 +403,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 隱藏重混 已隱藏重混 - 已顯示重混 + 顯示重新混音按鈕 隱藏下載 已隱藏下載按鈕 @@ -444,7 +459,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 切換建立為通知 「建立」按鈕已經與「通知」按鈕對調 \n\n 注意:啟用此功能還會強制隱藏影片廣告。 - 未更換建立按鈕為通知按鈕 + 建立按鈕未與通知按鈕對調 隱藏導覽列按鈕標籤 已隱藏標籤 已顯示標籤 @@ -457,9 +472,9 @@ This is because Crowdin requires temporarily flattening this file and removing t 已隱藏字幕選項 已顯示字幕選單 - 隱藏其它設定 - 已隱藏其它設定 - 已顯示其它設定 + 隱藏其他設定 + 已隱藏其他設定 + 已顯示其他設定 隱藏循環播放影片 已隱藏循環播放選項 @@ -515,7 +530,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 已顯示留言區塊 隱藏「建立 Short」按鈕 「建立 Short」按鈕已隱藏 - 「建立Short」按鈕已顯示 + 「建立 Short」按鈕已顯示 隱藏留言預覽 已隱藏留言預覽 已顯示留言預覽 @@ -523,8 +538,8 @@ This is because Crowdin requires temporarily flattening this file and removing t 已隱藏超級感謝按鈕 已顯示超級感謝按鈕 隱藏時間戳記和表情按鈕 - 時間戳記和表情符號按鈕已隱藏 - 時間戳記和表情符號按鈕已顯示 + 已隱藏時間戳記和表情符號按鈕 + 已顯示時間戳記和表情符號按鈕 隱藏群眾募資 @@ -618,12 +633,12 @@ This is because Crowdin requires temporarily flattening this file and removing t 隱藏搜尋建議 已隱藏搜尋建議 已顯示搜尋建議 - 隱藏喜歡按鈕 - 已隱藏按讚按鈕 - 已顯示喜歡按鈕 - 隱藏不喜歡按鈕 - 已隱藏不喜歡按鈕 - 已顯示不喜歡按鈕 + 隱藏「喜歡」按鈕 + 已隱藏「喜歡」按鈕 + 已顯示「喜歡」按鈕 + 隱藏「不喜歡」按鈕 + 已隱藏「不喜歡」按鈕 + 已顯示「不喜歡」按鈕 隱藏留言區按鈕 已隱藏留言按鈕 已顯示留言按鈕 @@ -678,27 +693,26 @@ This is because Crowdin requires temporarily flattening this file and removing t 播放器覆蓋層的不透明度必須在 0-100 之間 - 已隱藏 - 暫時無法使用不喜歡數(API 超時) - 無法使用不喜歡數(狀態 %d) - 無法使用不喜歡數(已達到用戶端 API 限制) - 無法使用不喜歡數(%s) + 暫時無法使用「不喜歡」數(API 超時) + 無法使用「不喜歡」數(狀態 %d) + 無法使用「不喜歡」數(已達到用戶端 API 限制) + 無法使用「不喜歡」數(%s) 重新載入影片以使用 Return YouTube Dislike 進行投票 - 已顯示不喜歡數 - 未顯示不喜歡數 - 在 Shorts 中顯示不喜歡數 - 已在 Shorts 中顯示不喜歡數 - 顯示 Shorts 不喜歡數\n\n限制性:在無痕模式中可能不會出現不喜歡數 - 已在 Shorts 中隱藏不喜歡數 - 比例不喜歡數 - 顯示不喜歡數為比例 - 顯示不喜歡數為數字 + 已顯示「不喜歡」數 + 未顯示「不喜歡」數 + 在 Shorts 中顯示「不喜歡」數 + 已在 Shorts 中顯示「不喜歡」數 + 顯示 Shorts「不喜歡」數\n\n限制性:在無痕模式中可能不會出現「不喜歡」數 + 已在 Shorts 中隱藏「不喜歡」數 + 「不喜歡」數比例 + 顯示「不喜歡」數為比例 + 顯示「不喜歡」數為數字 - 小型喜歡按鈕 - 喜歡按鈕的最小寬度 - 喜歡按鈕的最佳外觀 + 小型「喜歡」按鈕 + 「喜歡」按鈕的最小寬度 + 「喜歡」按鈕的最佳外觀 若 API 無法使用,顯示提示 若 Return YouTube Dislike 無法使用,顯示提示 若 Return YouTube Dislike 無法使用,不顯示提示 @@ -710,7 +724,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 最短 API 回應時間 最長 API 回應時間 最後一個影片的 API 回應時間 - 暫時無法使用不喜歡數 - 用戶端 API 頻率限制已生效 + 暫時無法使用「不喜歡」數 - 用戶端 API 頻率限制已生效 API 取得投票呼叫數 沒有進行網路調用 進行了 %d 次網路調用 @@ -774,6 +788,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 未啟用跳過次數追蹤 最短片段時長 小於設定值(以秒為單位)的片段不會被跳過或在播放器中顯示 + 無效的時間長度 您的個人使用者 ID 這應該被保密。這就像一個密碼,不應該與他人分享。如果有人擁有它,他們就可以冒充您 個人使用者 ID 必須至少有 30 字元長 @@ -784,8 +799,8 @@ This is because Crowdin requires temporarily flattening this file and removing t 已變更 API URL 匯入 / 匯出設定 複製 - 您的 SponsorBlock JSON 設定可以匯入 / 匯出到 ReVanced 和其它 SponsorBlock 平台 - 您的 SponsorBlock JSON 設定可以匯入 / 匯出到 ReVanced 和其它 SponsorBlock 平台。此檔案將包含您的個人使用者 ID。請小心使用。 + 您的 SponsorBlock JSON 設定可以匯入 / 匯出到 ReVanced 和其他 SponsorBlock 平台 + 您的 SponsorBlock JSON 設定可以匯入 / 匯出到 ReVanced 和其他 SponsorBlock 平台。此檔案將包含您的個人使用者 ID。請小心使用。 已成功地匯入設定 匯入失敗:%s 匯出失敗:%s @@ -793,11 +808,11 @@ This is because Crowdin requires temporarily flattening this file and removing t 不要再顯示 變更片段操作 贊助商廣告 - 有收錢的工商廣告和直接廣告。不是為了自我推銷或為了其他創作的免費推銷 + 付費推廣、付費推薦和直接廣告。不得用於自我推廣或免費宣傳他們喜歡的事業、創作者、網站或產品 非付費 / 自我推廣 類似「贊助商廣告」,但是非付費或自我推廣。這包括有關商品、捐贈或與他人合作的資訊 互動提醒(訂閱) - 這裡就是指「按讚訂閱加分享」。若此片段很長或是針對某事,請將其歸類為非付費 / 自我推廣 + 這裡就是指「按喜歡訂閱加分享」。若此片段很長或是針對某事,請將其歸類為非付費 / 自我推廣 重播次數最多 大部分的人在影片尋找的部分 中場休息 / 開頭動畫 @@ -874,8 +889,6 @@ This is because Crowdin requires temporarily flattening this file and removing t 片段開始時間 片段結束時間 時間是否正確? - 區段從\n\n%1$s\n至\n%2$s\n\n(%3$s)\n\n確定要提交? 起始點必須在終點之前 首先在時間欄上標記兩個位置 @@ -894,6 +907,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 使用者名稱變更成功 您的評價是 <b>%.2f</b> 您已建立 <b>%s</b> 個片段 + 點擊這裡查看您的片段 SponsorBlock 排行榜 您已為人們省下了觀看 <b>%s</b> 個片段的時間 點擊此處查看全球統計數據和最佳貢獻者 @@ -911,7 +925,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 重設顏色 重設 關於 - 資料由 SponsorBlock API 提供。點擊此處來瞭解更多資訊和查看其它平台的下載 + 資料由 SponsorBlock API 提供。點擊此處來瞭解更多資訊和查看其他平台的下載 欺騙應用程式版本 @@ -994,7 +1008,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 繞過圖片區域限制 使用圖片主機 yt4.ggpht.com - 使用原始圖片主機\n\n啟用此功能可以修復在某些區域被封鎖的缺失圖片 + 使用原始圖片主機\n\n啟用此功能可以修正在某些區域被封鎖的遺失圖片 @@ -1009,7 +1023,7 @@ This is because Crowdin requires temporarily flattening this file and removing t DeArrow & 原版縮圖 DeArrow & 靜態擷取 靜態擷取 - DeArrow 提供 YouTube 影片的外包縮圖。這些縮圖通常比 YouTube 提供的更為相關。\n\n若啟用,影片 URL 將會被傳送到 API 伺服器,但不會傳送任何其它資料。若影片沒有 DeArrow 縮圖,則會顯示原始縮圖或靜態擷取。\n\n點擊此處瞭解更多關於 DeArrow 的資訊 + DeArrow 提供 YouTube 影片的外包縮圖。這些縮圖通常比 YouTube 提供的更為相關。\n\n若啟用,影片 URL 將會被傳送到 API 伺服器,但不會傳送任何其他資料。若影片沒有 DeArrow 縮圖,則會顯示原始縮圖或靜態擷取。\n\n點擊此處瞭解更多關於 DeArrow 的資訊 若 API 無法使用,顯示提示 若 DeArrow 無法使用,顯示提示 若 DeArrow 無法使用,不顯示提示 @@ -1038,6 +1052,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 警告 + 你的觀看記錄未被保存。<br><br>這很可能是由於 DNS 廣告封鎖器或網路代理所導致。<br><br>若要解決此問題,請將 <b>s.youtube.com</b> 加入白名單,或關閉所有 DNS 封鎖器和代理。 不要再顯示 @@ -1114,20 +1129,11 @@ This is because Crowdin requires temporarily flattening this file and removing t 已啟用滑動預覽 未啟用滑動預覽 - - 欺騙用戶端 - 欺騙用戶端以防止播放問題 - 欺騙用戶端 - 已欺騙用戶端 - 尚未欺騙用戶端\n\n影片播放可能無法播放 - 關閉此設定可能會導致影片播放發生問題 - 欺騙用戶端為 iOS - 目前已欺騙用戶端為 Android VR\n\n副作用包括:\n• 沒有 HDR 影片\n• 兒童影片無法播放\n• 暫停的影片可能會隨機恢復播放\n• 低品質 Shorts 進度條縮圖\n• 下載操作按鈕被隱藏\n• 結尾畫面卡片被隱藏 - 欺騙客戶端縮圖尚不可用 (API 逾時) - 欺騙客戶端縮圖暫不可用: %s - - - + + 關閉此設定可能會導致影片播放發生問題 + 啟用此功能可能會改善電池續航力並修復播放卡頓問題。\n\nAVC 的最大解析度為 1080p,且影片播放將使用比 VP9 或 AV1 更多的網路數據。 + iOS 偽裝副作用 + Android VR 偽裝副作用 @@ -1176,10 +1182,10 @@ This is because Crowdin requires temporarily flattening this file and removing t 廣告阻擋設定 聊天 聊天設定 - 其它 - 其它設定 + 其他 + 其他設定 一般設定 - 其它設定 + 其他設定 用戶端廣告 伺服端 Surestream 廣告 除錯記錄檔 diff --git a/src/main/resources/addresources/values-zu-rZA/strings.xml b/src/main/resources/addresources/values-zu-rZA/strings.xml index 1a7604d92..e8f1b1cb5 100644 --- a/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -32,15 +32,16 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + + - - @@ -57,7 +58,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - + @@ -171,8 +172,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - @@ -234,10 +233,7 @@ This is because Crowdin requires temporarily flattening this file and removing t - - - - + diff --git a/src/main/resources/addresources/values/arrays.xml b/src/main/resources/addresources/values/arrays.xml index f8f2b4218..cee01a7a3 100644 --- a/src/main/resources/addresources/values/arrays.xml +++ b/src/main/resources/addresources/values/arrays.xml @@ -1,5 +1,17 @@ + + + + iOS + Android VR + + + + IOS + ANDROID_VR + + @string/revanced_spoof_app_version_target_entry_1 diff --git a/src/main/resources/addresources/values/strings.xml b/src/main/resources/addresources/values/strings.xml index c4282babd..d34a38e3b 100644 --- a/src/main/resources/addresources/values/strings.xml +++ b/src/main/resources/addresources/values/strings.xml @@ -31,6 +31,17 @@ This is because Crowdin requires temporarily flattening this file and removing t --> + + Checks failed + Open official website + Ignore + <h5>This app does not appear to be patched by you.</h5><br>This app may not function correctly, <b>could be harmful or even dangerous to use</b>.<br><br>These checks imply this app is pre-patched or obtained from someone else:<br><br><small>%1$s</small><br>It is strongly recommended to <b>uninstall this app and patch it yourself</b> to ensure you are using a validated and secure app.<p><br>If ignored, this warning will only be shown twice. + Patched on a different device + Not installed by ReVanced Manager + Patched more than 10 minutes ago + Patched %s days ago + APK build date is corrupted + ReVanced Do you wish to proceed? @@ -42,6 +53,14 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced settings reset to default Imported %d settings Import failed: %s + Import / Export + Import / Export ReVanced settings + + You are using ReVanced Patches version <i>%s</i> + Note + This version is a pre-release and you may experience unexpected issues + Official links + Donate @@ -54,15 +73,6 @@ This is because Crowdin requires temporarily flattening this file and removing t - - ReVanced - You are using ReVanced Patches version <i>%s</i> - Note - This version is a pre-release and you may experience unexpected issues - Official links - Import / Export - Import / Export ReVanced settings - About Ads @@ -244,14 +254,18 @@ This is because Crowdin requires temporarily flattening this file and removing t Keywords to hide - Keywords and phrases to hide, separated by new lines\n\nWords with uppercase letters in the middle must be entered with the casing (ie: iPhone, TikTok, LeBlanc) + Keywords and phrases to hide, separated by new lines\n\nKeywords can be channel names or any text shown in video titles\n\nWords with uppercase letters in the middle must be entered with the casing (ie: iPhone, TikTok, LeBlanc) About keyword filtering - Home/Subscription/Search results are filtered to hide content that matches keyword phrases\n\nLimitations\n• Some Shorts may not be hidden\n• Some UI components may not be hidden\n• Searching for a keyword may show no results + Home/Subscription/Search results are filtered to hide content that matches keyword phrases\n\nLimitations\n• Shorts cannot be hidden by channel name\n• Some UI components may not be hidden\n• Searching for a keyword may show no results + Match whole words + + Surrounding a keyword/phrase with double-quotes will prevent partial matches of video titles and channel names<br><br>For example,<br><b>\"ai\"</b> will hide the video: <b>How does AI work?</b><br>but will not hide: <b>What does fair use mean?</b> - Invalid keyword. Cannot use: \'%s\' as a filter - - Invalid keyword. \'%1$s\' is less than %2$d characters - Keyword \'%s\' will hide all videos + Cannot use keyword: %s + Add quotes to use keyword: %s + Keyword has conflicting declarations: %s + Keyword is too short and requires quotes: %s + Keyword will hide all videos: %s Hide general ads @@ -617,6 +631,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Hide save sound to playlist button Save sound to playlist is hidden Save sound to playlist is shown + Hide use this sound button + Use this sound button is hidden + Use this sound button is shown Hide search suggestions Search suggestions are hidden Search suggestions are shown @@ -681,7 +698,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Return YouTube Dislike - Hidden Dislikes temporarily not available (API timed out) Dislikes not available (status %d) @@ -780,6 +796,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Skip count tracking is not enabled Minimum segment duration Segments shorter than this value (in seconds) will not be shown or skipped + Invalid time duration Your private user id This should be kept private. This is like a password and should not be shared with anyone. If someone has this, they can impersonate you Private user id must be at least 30 characters long @@ -880,8 +897,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Time the segment begins at Time the segment ends at Are the times correct? - The segment is from\n\n%1$s\nto\n%2$s\n\n(%3$s)\n\nReady to submit? Start must be before the end Mark two locations on the time bar first @@ -900,6 +915,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Username successfully changed Your reputation is <b>%.2f</b> You\'ve created <b>%s</b> segments + Tap here to view your segments SponsorBlock leaderboard You\'ve saved people from <b>%s</b> segments Tap here to see the global stats and top contributors @@ -1132,35 +1148,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide to seek is enabled Slide to seek is not enabled - - Spoof client - Spoof the client to prevent playback issues - Spoof client - Client is spoofed - Client is not spoofed\n\nVideo playback may not work - Turning off this setting may cause video playback issues. - Spoof client to iOS - Client is currently spoofed to iOS\n\nSide effects include:\n• HDR video may not be available\n• Watch history does not work with a brand account - Client is currently spoofed to Android VR\n\nSide effects include:\n• No HDR video\n• Kids videos do not playback\n• Paused videos can randomly resume\n• Low quality Shorts seekbar thumbnails\n• Download action button is hidden\n• End screen cards are hidden - Spoof client thumbnails not available (API timed out) - Spoof client thumbnails temporarily not available: %s - - - - Spoof app signature - Spoof the app signature to prevent playback issues - Spoof app signature - App signature spoofed\n\nSide effects include:\n• Enhanced bitrate is not available\n• Videos cannot be downloaded\n• No seekbar thumbnails for paid videos - App signature not spoofed\n\nVideo playback may not work - Turning off this setting will cause video playback issues. - Spoof app signature in feed - App signature spoofed\n\nSide effects include:\n• Feed videos are missing subtitles\n• Automatically played feed videos will show up in your watch history - App signature not spoofed for feed videos\n\nFeed videos will play for less than 1 minute before encountering playback issues - Spoof storyboard - Storyboard spoofed - Storyboard not spoofed\n\nSide effects include:\n• No ambient mode\n• Seekbar thumbnails are hidden - Spoof storyboard temporarily not available (API timed out) - Spoof storyboard temporarily not available: %s + + Spoof video streams + Spoof the client video streams to prevent playback issues + Spoof video streams + Video streams are spoofed + Video streams are not spoofed\n\nVideo playback may not work + Turning off this setting may cause video playback issues. + Default client + Force AVC (H.264) + Video codec is AVC (H.264) + Video codec is VP9 or AV1 + Your device does not have VP9 hardware decoding, and this setting is always on when Client spoofing is enabled + Enabling this might improve battery life and fix playback stuttering.\n\nAVC has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1. + iOS spoofing side effects + • Movies or paid videos may not play\n• Livestreams start from the beginning + Android VR spoofing side effects + • Audio track menu is missing diff --git a/src/main/resources/settings/layout/revanced_settings_with_toolbar.xml b/src/main/resources/settings/layout/revanced_settings_with_toolbar.xml index c78967c61..1c91a9bc6 100644 --- a/src/main/resources/settings/layout/revanced_settings_with_toolbar.xml +++ b/src/main/resources/settings/layout/revanced_settings_with_toolbar.xml @@ -21,7 +21,7 @@ android:layout_height="?attr/actionBarSize" android:background="?attr/ytBrandBackgroundSolid" app:navigationIcon="@drawable/yt_outline_arrow_left_black_24" - app:title="@string/revanced_settings" /> + app:title="@string/revanced_settings_title" />