diff --git a/api/revanced-patches.api b/api/revanced-patches.api index 9460e44d3..b149e3233 100644 --- a/api/revanced-patches.api +++ b/api/revanced-patches.api @@ -1369,16 +1369,6 @@ public final class app/revanced/patches/youtube/utils/fix/cairo/CairoSettingsPat public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V } -public final class app/revanced/patches/youtube/utils/fix/client/SpoofClientPatch : app/revanced/util/patch/BaseBytecodePatch { - public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/client/SpoofClientPatch; - 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/utils/fix/client/SpoofUserAgentPatch : app/revanced/patches/shared/spoofuseragent/BaseSpoofUserAgentPatch { - public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/client/SpoofUserAgentPatch; -} - public final class app/revanced/patches/youtube/utils/fix/doublebacktoclose/DoubleBackToClosePatch : app/revanced/patcher/patch/BytecodePatch { public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/doublebacktoclose/DoubleBackToClosePatch; public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V @@ -1391,18 +1381,22 @@ public final class app/revanced/patches/youtube/utils/fix/litho/ConversionContex public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V } -public final class app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch : app/revanced/util/patch/BaseBytecodePatch { - public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch; +public final class app/revanced/patches/youtube/utils/fix/shortsplayback/ShortsPlaybackPatch : app/revanced/patcher/patch/BytecodePatch { + public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/shortsplayback/ShortsPlaybackPatch; 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/utils/fix/shortsplayback/ShortsPlaybackPatch : app/revanced/patcher/patch/BytecodePatch { - public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/shortsplayback/ShortsPlaybackPatch; +public final class app/revanced/patches/youtube/utils/fix/streamingdata/SpoofStreamingDataPatch : app/revanced/util/patch/BaseBytecodePatch { + public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/streamingdata/SpoofStreamingDataPatch; 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/utils/fix/streamingdata/SpoofUserAgentPatch : app/revanced/patches/shared/spoofuseragent/BaseSpoofUserAgentPatch { + public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/streamingdata/SpoofUserAgentPatch; +} + public final class app/revanced/patches/youtube/utils/fix/suggestedvideoendscreen/SuggestedVideoEndScreenPatch : app/revanced/patcher/patch/BytecodePatch { public static final field INSTANCE Lapp/revanced/patches/youtube/utils/fix/suggestedvideoendscreen/SuggestedVideoEndScreenPatch; public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V @@ -1798,12 +1792,6 @@ public final class app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockP public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V } -public final class app/revanced/patches/youtube/utils/storyboard/StoryboardHookPatch : app/revanced/patcher/patch/BytecodePatch { - public static final field INSTANCE Lapp/revanced/patches/youtube/utils/storyboard/StoryboardHookPatch; - 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/utils/toolbar/ToolBarHookPatch : app/revanced/patcher/patch/BytecodePatch { public static final field INSTANCE Lapp/revanced/patches/youtube/utils/toolbar/ToolBarHookPatch; public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d859f9459..ffd54bff9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ smali = "3.0.5" guava = "33.0.0-jre" gson = "2.11.0" binary-compatibility-validator = "0.14.0" -kotlin = "2.0.0" +kotlin = "2.0.20" [libraries] revanced-patcher = { module = "app.revanced:revanced-patcher", version.ref = "revanced-patcher" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c3521197..a4b76b953 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 68e8816d7..2b189974c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionSha256Sum=5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/package-lock.json b/package-lock.json index 415c2d42a..7e0b101d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,8 @@ "@saithodev/semantic-release-backmerge": "^4.0.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", - "gradle-semantic-release-plugin": "^1.9.1", - "semantic-release": "^23.0.2" + "gradle-semantic-release-plugin": "^1.9.2", + "semantic-release": "^24.1.0" } }, "node_modules/@babel/code-frame": { @@ -777,6 +777,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, "node_modules/@semantic-release/changelog": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", @@ -1232,6 +1238,12 @@ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "node_modules/agent-base": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", @@ -1603,6 +1615,18 @@ "node": ">=16" } }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -1998,9 +2022,9 @@ } }, "node_modules/figures": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.0.1.tgz", - "integrity": "sha512-0oY/olScYD4IhQ8u//gCPA4F3mlTn2dacYmiDm/mbDQvpmLjV4uH+zhsQ5IyXRyvqkvtUkXkNdGvg5OFJTCsuQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "dependencies": { "is-unicode-supported": "^2.0.0" @@ -2096,6 +2120,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2191,9 +2227,9 @@ "dev": true }, "node_modules/gradle-semantic-release-plugin": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/gradle-semantic-release-plugin/-/gradle-semantic-release-plugin-1.9.1.tgz", - "integrity": "sha512-lCrw22itszP/FLSL3N61E40vH1+CU95/4LG9ZF+Fxr8tcx7EPthh2eqVPAq67udFlM8ZgO2LETnn8LSDRq1J2w==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/gradle-semantic-release-plugin/-/gradle-semantic-release-plugin-1.9.2.tgz", + "integrity": "sha512-8qpf4GYFPQ+UMUymYBy/VchOOwLILAWzZMrZX1R0RR3JMgJBMN2R0tJn92R/3rXmxx4OAqwUFH6Np51eFoxr3w==", "dev": true, "funding": [ { @@ -2209,7 +2245,7 @@ "node": ">=18" }, "peerDependencies": { - "semantic-release": "^23.0.0" + "semantic-release": "^24.0.0" } }, "node_modules/handlebars": { @@ -2494,6 +2530,18 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -2915,9 +2963,9 @@ } }, "node_modules/npm": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.4.0.tgz", - "integrity": "sha512-RS7Mx0OVfXlOcQLRePuDIYdFCVBPCNapWHplDK+mh7GDdP/Tvor4ocuybRRPSvfcRb2vjRJt1fHCqw3cr8qACQ==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.2.tgz", + "integrity": "sha512-x/AIjFIKRllrhcb48dqUNAAZl0ig9+qMuN91RpZo3Cb2+zuibfh+KISl6+kVVyktDz230JKc208UkQwwMqyB+w==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -2926,6 +2974,7 @@ "@npmcli/map-workspaces", "@npmcli/package-json", "@npmcli/promise-spawn", + "@npmcli/redact", "@npmcli/run-script", "@sigstore/tuf", "abbrev", @@ -2934,8 +2983,6 @@ "chalk", "ci-info", "cli-columns", - "cli-table3", - "columnify", "fastest-levenshtein", "fs-minipass", "glob", @@ -2971,7 +3018,6 @@ "npm-profile", "npm-registry-fetch", "npm-user-validate", - "npmlog", "p-map", "pacote", "parse-conflict-json", @@ -2993,73 +3039,71 @@ "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^7.2.1", - "@npmcli/config": "^8.0.2", - "@npmcli/fs": "^3.1.0", - "@npmcli/map-workspaces": "^3.0.4", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.1", - "@npmcli/run-script": "^7.0.4", - "@sigstore/tuf": "^2.3.0", + "@npmcli/arborist": "^7.5.4", + "@npmcli/config": "^8.3.4", + "@npmcli/fs": "^3.1.1", + "@npmcli/map-workspaces": "^3.0.6", + "@npmcli/package-json": "^5.2.0", + "@npmcli/promise-spawn": "^7.0.2", + "@npmcli/redact": "^2.0.1", + "@npmcli/run-script": "^8.1.0", + "@sigstore/tuf": "^2.3.4", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^18.0.2", + "cacache": "^18.0.3", "chalk": "^5.3.0", "ci-info": "^4.0.0", "cli-columns": "^4.0.0", - "cli-table3": "^0.6.3", - "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", - "glob": "^10.3.10", + "glob": "^10.4.2", "graceful-fs": "^4.2.11", - "hosted-git-info": "^7.0.1", - "ini": "^4.1.1", - "init-package-json": "^6.0.0", - "is-cidr": "^5.0.3", - "json-parse-even-better-errors": "^3.0.1", - "libnpmaccess": "^8.0.1", - "libnpmdiff": "^6.0.3", - "libnpmexec": "^7.0.4", - "libnpmfund": "^5.0.1", - "libnpmhook": "^10.0.0", - "libnpmorg": "^6.0.1", - "libnpmpack": "^6.0.3", - "libnpmpublish": "^9.0.2", - "libnpmsearch": "^7.0.0", - "libnpmteam": "^6.0.0", - "libnpmversion": "^5.0.1", - "make-fetch-happen": "^13.0.0", - "minimatch": "^9.0.3", - "minipass": "^7.0.4", + "hosted-git-info": "^7.0.2", + "ini": "^4.1.3", + "init-package-json": "^6.0.3", + "is-cidr": "^5.1.0", + "json-parse-even-better-errors": "^3.0.2", + "libnpmaccess": "^8.0.6", + "libnpmdiff": "^6.1.4", + "libnpmexec": "^8.1.3", + "libnpmfund": "^5.0.12", + "libnpmhook": "^10.0.5", + "libnpmorg": "^6.0.6", + "libnpmpack": "^7.0.4", + "libnpmpublish": "^9.0.9", + "libnpmsearch": "^7.0.6", + "libnpmteam": "^6.0.5", + "libnpmversion": "^6.0.3", + "make-fetch-happen": "^13.0.1", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^10.0.1", - "nopt": "^7.2.0", - "normalize-package-data": "^6.0.0", + "node-gyp": "^10.1.0", + "nopt": "^7.2.1", + "normalize-package-data": "^6.0.2", "npm-audit-report": "^5.0.0", "npm-install-checks": "^6.3.0", - "npm-package-arg": "^11.0.1", - "npm-pick-manifest": "^9.0.0", - "npm-profile": "^9.0.0", - "npm-registry-fetch": "^16.1.0", - "npm-user-validate": "^2.0.0", - "npmlog": "^7.0.1", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.1.0", + "npm-profile": "^10.0.0", + "npm-registry-fetch": "^17.1.0", + "npm-user-validate": "^2.0.1", "p-map": "^4.0.0", - "pacote": "^17.0.6", + "pacote": "^18.0.6", "parse-conflict-json": "^3.0.1", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", "qrcode-terminal": "^0.12.0", - "read": "^2.1.0", - "semver": "^7.5.4", - "spdx-expression-parse": "^3.0.1", - "ssri": "^10.0.5", + "read": "^3.0.1", + "semver": "^7.6.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^10.0.6", "supports-color": "^9.4.0", - "tar": "^6.2.0", + "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^5.0.0", + "validate-npm-package-name": "^5.0.1", "which": "^4.0.0", "write-file-atomic": "^5.0.1" }, @@ -3083,16 +3127,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/@colors/colors": { - "version": "1.5.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/npm/node_modules/@isaacs/cliui": { "version": "8.0.2", "dev": true, @@ -3167,7 +3201,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/agent": { - "version": "2.2.0", + "version": "2.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -3176,49 +3210,51 @@ "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.1" + "socks-proxy-agent": "^8.0.3" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "7.3.1", + "version": "7.5.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.0", - "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/fs": "^3.1.1", + "@npmcli/installed-package-contents": "^2.1.0", "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.0.0", + "@npmcli/metavuln-calculator": "^7.1.1", "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/query": "^3.0.1", - "@npmcli/run-script": "^7.0.2", - "bin-links": "^4.0.1", - "cacache": "^18.0.0", + "@npmcli/package-json": "^5.1.0", + "@npmcli/query": "^3.1.0", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "bin-links": "^4.0.4", + "cacache": "^18.0.3", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.1", - "json-parse-even-better-errors": "^3.0.0", + "hosted-git-info": "^7.0.2", + "json-parse-even-better-errors": "^3.0.2", "json-stringify-nice": "^1.1.4", - "minimatch": "^9.0.0", - "nopt": "^7.0.0", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^7.2.1", "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.1", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "npmlog": "^7.0.1", - "pacote": "^17.0.4", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.0.1", + "npm-registry-fetch": "^17.0.1", + "pacote": "^18.0.6", "parse-conflict-json": "^3.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "ssri": "^10.0.5", + "ssri": "^10.0.6", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, @@ -3230,17 +3266,17 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "8.1.0", + "version": "8.3.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/package-json": "^5.1.1", "ci-info": "^4.0.0", - "ini": "^4.1.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "read-package-json-fast": "^3.0.2", + "ini": "^4.1.2", + "nopt": "^7.2.1", + "proc-log": "^4.2.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" }, @@ -3248,35 +3284,8 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "ansi-styles": "^4.3.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@npmcli/disparity-colors/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/npm/node_modules/@npmcli/fs": { - "version": "3.1.0", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "ISC", @@ -3288,15 +3297,16 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "5.0.4", + "version": "5.0.8", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", @@ -3307,7 +3317,7 @@ } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -3316,14 +3326,14 @@ "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "lib/index.js" + "installed-package-contents": "bin/index.js" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "3.0.4", + "version": "3.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -3338,14 +3348,15 @@ } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "7.0.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "cacache": "^18.0.0", "json-parse-even-better-errors": "^3.0.0", - "pacote": "^17.0.0", + "pacote": "^18.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5" }, "engines": { @@ -3371,7 +3382,7 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "5.0.0", + "version": "5.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -3381,7 +3392,7 @@ "hosted-git-info": "^7.0.0", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^6.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.5.3" }, "engines": { @@ -3389,7 +3400,7 @@ } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "7.0.1", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -3401,7 +3412,7 @@ } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "3.0.1", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -3412,8 +3423,17 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "7.0.4", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -3422,6 +3442,7 @@ "@npmcli/package-json": "^5.0.0", "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", "which": "^4.0.0" }, "engines": { @@ -3439,19 +3460,19 @@ } }, "node_modules/npm/node_modules/@sigstore/bundle": { - "version": "2.1.1", + "version": "2.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/protobuf-specs": "^0.3.2" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/core": { - "version": "0.2.0", + "version": "1.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -3460,51 +3481,53 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.2.1", + "version": "0.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/sign": { - "version": "2.2.1", + "version": "2.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", - "make-fetch-happen": "^13.0.0" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "2.3.0", + "version": "2.3.4", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1", - "tuf-js": "^2.2.0" + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^2.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/verify": { - "version": "0.1.0", + "version": "1.2.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.2" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -3520,13 +3543,13 @@ } }, "node_modules/npm/node_modules/@tufjs/models": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.3" + "minimatch": "^9.0.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -3542,7 +3565,7 @@ } }, "node_modules/npm/node_modules/agent-base": { - "version": "7.1.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "MIT", @@ -3599,15 +3622,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/are-we-there-yet": { - "version": "4.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -3615,7 +3629,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { - "version": "4.0.3", + "version": "4.0.4", "dev": true, "inBundle": true, "license": "ISC", @@ -3630,12 +3644,15 @@ } }, "node_modules/npm/node_modules/binary-extensions": { - "version": "2.2.0", + "version": "2.3.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/brace-expansion": { @@ -3647,17 +3664,8 @@ "balanced-match": "^1.0.0" } }, - "node_modules/npm/node_modules/builtins": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, "node_modules/npm/node_modules/cacache": { - "version": "18.0.2", + "version": "18.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -3716,7 +3724,7 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "4.0.3", + "version": "4.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -3749,32 +3757,8 @@ "node": ">= 10" } }, - "node_modules/npm/node_modules/cli-table3": { - "version": "0.6.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/npm/node_modules/clone": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/npm/node_modules/cmd-shim": { - "version": "6.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -3800,40 +3784,12 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/color-support": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/npm/node_modules/columnify": { - "version": "1.6.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", "dev": true, "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/console-control-strings": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, @@ -3876,7 +3832,7 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.4", + "version": "4.3.5", "dev": true, "inBundle": true, "license": "MIT", @@ -3898,20 +3854,8 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/defaults": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm/node_modules/diff": { - "version": "5.1.0", + "version": "5.2.0", "dev": true, "inBundle": true, "license": "BSD-3-Clause", @@ -3972,7 +3916,7 @@ } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.1.1", + "version": "3.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -3999,51 +3943,24 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/function-bind": { - "version": "1.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/npm/node_modules/gauge": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^4.0.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/glob": { - "version": "10.3.10", + "version": "10.4.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -4055,26 +3972,8 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/has-unicode": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/hasown": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "7.0.1", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4092,7 +3991,7 @@ "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { - "version": "7.0.0", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -4105,7 +4004,7 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.2", + "version": "7.0.5", "dev": true, "inBundle": true, "license": "MIT", @@ -4131,7 +4030,7 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "6.0.4", + "version": "6.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -4161,7 +4060,7 @@ } }, "node_modules/npm/node_modules/ini": { - "version": "4.1.1", + "version": "4.1.3", "dev": true, "inBundle": true, "license": "ISC", @@ -4170,15 +4069,15 @@ } }, "node_modules/npm/node_modules/init-package-json": { - "version": "6.0.0", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@npmcli/package-json": "^5.0.0", "npm-package-arg": "^11.0.0", "promzard": "^1.0.0", - "read": "^2.0.0", - "read-package-json": "^7.0.0", + "read": "^3.0.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^5.0.0" @@ -4187,11 +4086,18 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/ip": { - "version": "2.0.0", + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/npm/node_modules/ip-regex": { "version": "5.0.0", @@ -4206,29 +4112,17 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "5.0.3", + "version": "5.1.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "cidr-regex": "4.0.3" + "cidr-regex": "^4.1.1" }, "engines": { "node": ">=14" } }, - "node_modules/npm/node_modules/is-core-module": { - "version": "2.13.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "dev": true, @@ -4251,7 +4145,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/jackspeak": { - "version": "2.3.6", + "version": "3.4.0", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -4268,8 +4162,14 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "3.0.1", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -4308,52 +4208,50 @@ "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "8.0.2", + "version": "8.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^11.0.1", - "npm-registry-fetch": "^16.0.0" + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "6.0.6", + "version": "6.1.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/disparity-colors": "^3.0.0", - "@npmcli/installed-package-contents": "^2.0.2", - "binary-extensions": "^2.2.0", + "@npmcli/arborist": "^7.5.4", + "@npmcli/installed-package-contents": "^2.1.0", + "binary-extensions": "^2.3.0", "diff": "^5.1.0", - "minimatch": "^9.0.0", - "npm-package-arg": "^11.0.1", - "pacote": "^17.0.4", - "tar": "^6.2.0" + "minimatch": "^9.0.4", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6", + "tar": "^6.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "7.0.7", + "version": "8.1.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^7.0.2", + "@npmcli/arborist": "^7.5.4", + "@npmcli/run-script": "^8.1.0", "ci-info": "^4.0.0", - "npm-package-arg": "^11.0.1", - "npmlog": "^7.0.1", - "pacote": "^17.0.4", - "proc-log": "^3.0.0", - "read": "^2.0.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6", + "proc-log": "^4.2.0", + "read": "^3.0.1", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", "walk-up-path": "^3.0.1" @@ -4363,112 +4261,112 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "5.0.4", + "version": "5.0.12", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1" + "@npmcli/arborist": "^7.5.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "10.0.1", + "version": "10.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "6.0.2", + "version": "6.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "6.0.6", + "version": "7.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^7.0.2", - "npm-package-arg": "^11.0.1", - "pacote": "^17.0.4" + "@npmcli/arborist": "^7.5.4", + "@npmcli/run-script": "^8.1.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "9.0.4", + "version": "9.0.9", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "ci-info": "^4.0.0", - "normalize-package-data": "^6.0.0", - "npm-package-arg": "^11.0.1", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "normalize-package-data": "^6.0.1", + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1", + "proc-log": "^4.2.0", "semver": "^7.3.7", "sigstore": "^2.2.0", - "ssri": "^10.0.5" + "ssri": "^10.0.6" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "7.0.1", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "6.0.1", + "version": "6.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "5.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^5.0.3", - "@npmcli/run-script": "^7.0.2", - "json-parse-even-better-errors": "^3.0.0", - "proc-log": "^3.0.0", + "@npmcli/git": "^5.0.7", + "@npmcli/run-script": "^8.1.0", + "json-parse-even-better-errors": "^3.0.2", + "proc-log": "^4.2.0", "semver": "^7.3.7" }, "engines": { @@ -4476,7 +4374,7 @@ } }, "node_modules/npm/node_modules/lru-cache": { - "version": "10.1.0", + "version": "10.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4485,7 +4383,7 @@ } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "13.0.0", + "version": "13.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -4499,6 +4397,7 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", + "proc-log": "^4.2.0", "promise-retry": "^2.0.1", "ssri": "^10.0.0" }, @@ -4507,7 +4406,7 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "9.0.3", + "version": "9.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -4522,7 +4421,7 @@ } }, "node_modules/npm/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4543,7 +4442,7 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "3.0.4", + "version": "3.0.5", "dev": true, "inBundle": true, "license": "MIT", @@ -4583,28 +4482,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/minipass-json-stream": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", "dev": true, @@ -4715,7 +4592,7 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "10.0.1", + "version": "10.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -4738,8 +4615,17 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/node-gyp/node_modules/proc-log": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/nopt": { - "version": "7.2.0", + "version": "7.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -4754,13 +4640,12 @@ } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "6.0.0", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, @@ -4778,7 +4663,7 @@ } }, "node_modules/npm/node_modules/npm-bundled": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -4811,13 +4696,13 @@ } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "11.0.1", + "version": "11.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" }, @@ -4838,7 +4723,7 @@ } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "9.0.0", + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -4853,38 +4738,39 @@ } }, "node_modules/npm/node_modules/npm-profile": { - "version": "9.0.0", + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0" + "npm-registry-fetch": "^17.0.1", + "proc-log": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "16.1.0", + "version": "17.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^11.0.0", - "proc-log": "^3.0.0" + "proc-log": "^4.0.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-user-validate": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -4892,21 +4778,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npmlog": { - "version": "7.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^4.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^5.0.0", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", "dev": true, @@ -4922,33 +4793,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0" + }, "node_modules/npm/node_modules/pacote": { - "version": "17.0.6", + "version": "18.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^5.0.0", "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^7.0.0", + "@npmcli/run-script": "^8.0.0", "cacache": "^18.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^11.0.0", "npm-packlist": "^8.0.0", "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^7.0.0", - "read-package-json-fast": "^3.0.0", "sigstore": "^2.2.0", "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { - "pacote": "lib/bin.js" + "pacote": "bin/index.js" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -4978,23 +4854,23 @@ } }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.10.1", + "version": "1.11.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.15", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -5007,7 +4883,16 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "3.0.0", + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -5053,12 +4938,12 @@ } }, "node_modules/npm/node_modules/promzard": { - "version": "1.0.0", + "version": "1.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "read": "^2.0.0" + "read": "^3.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -5073,12 +4958,12 @@ } }, "node_modules/npm/node_modules/read": { - "version": "2.1.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "mute-stream": "~1.0.0" + "mute-stream": "^1.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -5093,21 +4978,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/read-package-json": { - "version": "7.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "3.0.2", "dev": true, @@ -5138,13 +5008,10 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.5.4", + "version": "7.6.2", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -5152,24 +5019,6 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -5204,17 +5053,17 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "2.2.0", + "version": "2.3.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", - "@sigstore/sign": "^2.2.1", - "@sigstore/tuf": "^2.3.0", - "@sigstore/verify": "^0.1.0" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^2.3.2", + "@sigstore/tuf": "^2.3.4", + "@sigstore/verify": "^1.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -5231,28 +5080,28 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.7.1", + "version": "2.8.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.2", + "version": "8.0.4", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" @@ -5268,14 +5117,24 @@ "spdx-license-ids": "^3.0.0" } }, + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/spdx-exceptions": { - "version": "2.3.0", + "version": "2.5.0", "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", @@ -5285,13 +5144,19 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.16", + "version": "3.0.18", "dev": true, "inBundle": true, "license": "CC0-1.0" }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, "node_modules/npm/node_modules/ssri": { - "version": "10.0.5", + "version": "10.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -5369,7 +5234,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "6.2.0", + "version": "6.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5440,14 +5305,14 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "2.2.0", + "version": "2.2.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/models": "2.0.0", + "@tufjs/models": "2.0.1", "debug": "^4.3.4", - "make-fetch-happen": "^13.0.0" + "make-fetch-happen": "^13.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -5493,14 +5358,21 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -5511,15 +5383,6 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/npm/node_modules/which": { "version": "4.0.0", "dev": true, @@ -5544,15 +5407,6 @@ "node": ">=16" } }, - "node_modules/npm/node_modules/wide-align": { - "version": "1.1.5", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/npm/node_modules/wrap-ansi": { "version": "8.1.0", "dev": true, @@ -5825,6 +5679,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", @@ -5913,6 +5779,21 @@ "node": ">=4" } }, + "node_modules/pretty-ms": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", + "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "dev": true, + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -5973,6 +5854,35 @@ "rc": "cli.js" } }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "dev": true, + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/type-fest": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.25.0.tgz", + "integrity": "sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", @@ -6145,23 +6055,23 @@ "dev": true }, "node_modules/semantic-release": { - "version": "23.0.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.2.tgz", - "integrity": "sha512-OnVYJ6Xgzwe1x8MKswba7RU9+5djS1MWRTrTn5qsq3xZYpslroZkV9Pt0dA2YcIuieeuSZWJhn+yUWoBUHO5Fw==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.0.tgz", + "integrity": "sha512-FwaE2hKDHQn9G6GA7xmqsc9WnsjaFD/ppLM5PUg56Do9oKSCf+vH6cPeb3hEBV/m06n8Sh9vbVqPjHu/1onzQw==", "dev": true, "dependencies": { - "@semantic-release/commit-analyzer": "^11.0.0", + "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^9.0.0", - "@semantic-release/npm": "^11.0.0", - "@semantic-release/release-notes-generator": "^12.0.0", + "@semantic-release/github": "^10.0.0", + "@semantic-release/npm": "^12.0.0", + "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", "debug": "^4.0.0", "env-ci": "^11.0.0", - "execa": "^8.0.0", + "execa": "^9.0.0", "figures": "^6.0.0", - "find-versions": "^5.1.0", + "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", @@ -6173,7 +6083,7 @@ "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", - "read-pkg-up": "^11.0.0", + "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", "semver-diff": "^4.0.0", @@ -6187,6 +6097,172 @@ "node": ">=20.8.1" } }, + "node_modules/semantic-release/node_modules/@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "dev": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/endpoint": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", + "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/graphql": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "dev": true, + "dependencies": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", + "dev": true + }, + "node_modules/semantic-release/node_modules/@octokit/plugin-paginate-rest": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.3.tgz", + "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/semantic-release/node_modules/@octokit/plugin-retry": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.1.tgz", + "integrity": "sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==", + "dev": true, + "dependencies": { + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/semantic-release/node_modules/@octokit/plugin-throttling": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.1.tgz", + "integrity": "sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^6.0.0" + } + }, + "node_modules/semantic-release/node_modules/@octokit/request": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/request-error": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", + "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/types": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^22.2.0" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/commit-analyzer": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", + "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", + "debug": "^4.0.0", + "import-from-esm": "^1.0.3", + "lodash-es": "^4.17.21", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, "node_modules/semantic-release/node_modules/@semantic-release/error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", @@ -6196,6 +6272,111 @@ "node": ">=18" } }, + "node_modules/semantic-release/node_modules/@semantic-release/github": { + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.1.7.tgz", + "integrity": "sha512-QnhP4k1eqzYLz6a4kpWrUQeKJYXqHggveMykvUFbSquq07GF85BXvr/QLhpOD7bpDcmEfL8VnphRA7KT5i9lzQ==", + "dev": true, + "dependencies": { + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^14.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^7.0.0", + "lodash-es": "^4.17.21", + "mime": "^4.0.0", + "p-filter": "^4.0.0", + "url-join": "^5.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/npm": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", + "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", + "dev": true, + "dependencies": { + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "execa": "^9.0.0", + "fs-extra": "^11.0.0", + "lodash-es": "^4.17.21", + "nerf-dart": "^1.0.0", + "normalize-url": "^8.0.0", + "npm": "^10.5.0", + "rc": "^1.2.8", + "read-pkg": "^9.0.0", + "registry-auth-token": "^5.0.0", + "semver": "^7.1.2", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/release-notes-generator": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz", + "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", + "debug": "^4.0.0", + "get-stream": "^7.0.0", + "import-from-esm": "^1.0.3", + "into-stream": "^7.0.0", + "lodash-es": "^4.17.21", + "read-package-up": "^11.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", + "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", @@ -6212,6 +6393,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "dev": true + }, "node_modules/semantic-release/node_modules/clean-stack": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", @@ -6227,6 +6414,61 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/conventional-changelog-angular": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/semantic-release/node_modules/conventional-changelog-writer": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz", + "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==", + "dev": true, + "dependencies": { + "@types/semver": "^7.5.5", + "conventional-commits-filter": "^5.0.0", + "handlebars": "^4.7.7", + "meow": "^13.0.0", + "semver": "^7.5.2" + }, + "bin": { + "conventional-changelog-writer": "dist/cli/index.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/semantic-release/node_modules/conventional-commits-filter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", + "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/semantic-release/node_modules/conventional-commits-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", + "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", + "dev": true, + "dependencies": { + "meow": "^13.0.0" + }, + "bin": { + "conventional-commits-parser": "dist/cli/index.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/semantic-release/node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", @@ -6240,47 +6482,70 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.3.1.tgz", + "integrity": "sha512-gdhefCCNy/8tpH/2+ajP9IQc14vXchNdd0weyzSJEFURhRMGncQ+zKFxwjAufIewPEJm9BPOaJnvg2UtlH2gPQ==", "dev": true, "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^5.2.0", + "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "engines": { - "node": ">=16.17" + "node": "^18.19.0 || >=20.5.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": ">=16" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/find-versions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", + "dev": true, + "dependencies": { + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" + }, + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", "dev": true, "engines": { - "node": ">=16.17.0" + "node": ">=18.18.0" } }, "node_modules/semantic-release/node_modules/indent-string": { @@ -6296,54 +6561,55 @@ } }, "node_modules/semantic-release/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "node_modules/semantic-release/node_modules/issue-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", + "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.17 || >=20.6.1" } }, - "node_modules/semantic-release/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "node_modules/semantic-release/node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/semantic-release/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "mimic-fn": "^4.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6386,17 +6652,23 @@ } }, "node_modules/semantic-release/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "dev": true + }, "node_modules/semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", @@ -6718,6 +6990,22 @@ "node": ">=0.10.0" } }, + "node_modules/super-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", + "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", + "dev": true, + "dependencies": { + "function-timeout": "^1.0.1", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -6843,6 +7131,21 @@ "xtend": "~4.0.1" } }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "dev": true, + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7062,6 +7365,18 @@ "engines": { "node": ">=12" } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 637626674..827688e6b 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "@saithodev/semantic-release-backmerge": "^4.0.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", - "gradle-semantic-release-plugin": "^1.9.1", - "semantic-release": "^23.0.2" + "gradle-semantic-release-plugin": "^1.9.2", + "semantic-release": "^24.1.0" } } diff --git a/src/main/kotlin/app/revanced/patches/music/layout/branding/icon/CustomBrandingIconPatch.kt b/src/main/kotlin/app/revanced/patches/music/layout/branding/icon/CustomBrandingIconPatch.kt index b73944091..0ba574ee7 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/branding/icon/CustomBrandingIconPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/branding/icon/CustomBrandingIconPatch.kt @@ -198,10 +198,15 @@ object CustomBrandingIconPatch : BaseResourcePatch( // Change splash icon. if (ChangeSplashIcon == true) { - splashIconResourceGroups.let { resourceGroups -> - resourceGroups.forEach { - context.copyResources("$appIconResourcePath/splash", it) + // Some resources have been removed in the latest YouTube Music. + // For compatibility, use try...catch. + try { + splashIconResourceGroups.let { resourceGroups -> + resourceGroups.forEach { + context.copyResources("$appIconResourcePath/splash", it) + } } + } catch (_: Exception) { } } diff --git a/src/main/kotlin/app/revanced/patches/music/misc/splash/CairoSplashAnimationPatch.kt b/src/main/kotlin/app/revanced/patches/music/misc/splash/CairoSplashAnimationPatch.kt index 37190159f..5c60085e3 100644 --- a/src/main/kotlin/app/revanced/patches/music/misc/splash/CairoSplashAnimationPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/misc/splash/CairoSplashAnimationPatch.kt @@ -20,7 +20,7 @@ import app.revanced.util.literalInstructionBooleanHook "com.google.android.apps.youtube.music", [ "7.08.54", - "7.13.52", + "7.16.52", ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt b/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt index 151854766..8bc50eed1 100644 --- a/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt @@ -34,6 +34,8 @@ import app.revanced.patches.music.player.components.fingerprints.QuickSeekOverla import app.revanced.patches.music.player.components.fingerprints.RemixGenericButtonFingerprint import app.revanced.patches.music.player.components.fingerprints.RepeatTrackFingerprint import app.revanced.patches.music.player.components.fingerprints.ShuffleClassReferenceFingerprint +import app.revanced.patches.music.player.components.fingerprints.ShuffleClassReferenceFingerprint.indexOfImageViewInstruction +import app.revanced.patches.music.player.components.fingerprints.ShuffleClassReferenceFingerprint.indexOfOrdinalInstruction import app.revanced.patches.music.player.components.fingerprints.SwipeToCloseFingerprint import app.revanced.patches.music.player.components.fingerprints.SwitchToggleColorFingerprint import app.revanced.patches.music.player.components.fingerprints.ZenModeFingerprint @@ -740,28 +742,53 @@ object PlayerComponentsPatch : BaseBytecodePatch( it.mutableMethod.apply { rememberShuffleStateObjectClass = definingClass - val startIndex = it.scanResult.patternScanResult!!.startIndex - val endIndex = it.scanResult.patternScanResult!!.endIndex - val imageViewIndex = - getTargetIndexWithFieldReferenceTypeOrThrow("Landroid/widget/ImageView;") + val constIndex = getWideLiteralInstructionIndex(45468) + val iGetObjectIndex = getTargetIndexOrThrow(constIndex, Opcode.IGET_OBJECT) + val checkCastIndex = getTargetIndexOrThrow(iGetObjectIndex, Opcode.CHECK_CAST) + + val ordinalIndex = indexOfOrdinalInstruction(this) + val imageViewIndex = indexOfImageViewInstruction(this) + + val iGetObjectReference = + getInstruction(iGetObjectIndex).reference + val invokeInterfaceReference = + getInstruction(iGetObjectIndex + 1).reference + val checkCastReference = + getInstruction(checkCastIndex).reference + val getOrdinalClassReference = + getInstruction(checkCastIndex + 1).reference + val ordinalReference = + getInstruction(ordinalIndex).reference - val shuffleReference1 = getInstruction(startIndex).reference - val shuffleReference2 = - getInstruction(startIndex + 1).reference - val shuffleReference3 = getInstruction(endIndex).reference - val shuffleFieldReference = shuffleReference3 as FieldReference rememberShuffleStateImageViewReference = getInstruction(imageViewIndex).reference rememberShuffleStateShuffleStateLabel = """ - iget-object v1, v0, $shuffleReference1 - invoke-interface {v1}, $shuffleReference2 + iget-object v1, v0, $iGetObjectReference + invoke-interface {v1}, $invokeInterfaceReference move-result-object v1 - check-cast v1, ${shuffleFieldReference.definingClass} - iget-object v1, v1, $shuffleReference3 - invoke-virtual {v1}, ${shuffleFieldReference.type}->ordinal()I - move-result v1 + check-cast v1, $checkCastReference + """ + + rememberShuffleStateShuffleStateLabel += if (getInstruction(checkCastIndex + 1).opcode == Opcode.INVOKE_VIRTUAL) { + // YouTube Music 7.16.52+ """ + invoke-virtual {v1}, $getOrdinalClassReference + move-result-object v1 + + """.trimIndent() + } else { + """ + iget-object v1, v1, $getOrdinalClassReference + + """.trimIndent() + } + + rememberShuffleStateShuffleStateLabel += """ + invoke-virtual {v1}, $ordinalReference + move-result v1 + + """.trimIndent() } val constructorMethod = @@ -770,7 +797,7 @@ object PlayerComponentsPatch : BaseBytecodePatch( constructorMethod.apply { addInstruction( - implementation!!.instructions.size - 1, + implementation!!.instructions.lastIndex, "sput-object p0, $MUSIC_PLAYBACK_CONTROLS_CLASS_DESCRIPTOR->shuffleClass:$rememberShuffleStateObjectClass" ) } @@ -836,9 +863,10 @@ object PlayerComponentsPatch : BaseBytecodePatch( sget-object v0, $MUSIC_PLAYBACK_CONTROLS_CLASS_DESCRIPTOR->shuffleClass:$rememberShuffleStateObjectClass """ + rememberShuffleStateShuffleStateLabel + """ iget-object v3, v0, $rememberShuffleStateImageViewReference - invoke-virtual {v3}, Landroid/widget/ImageView;->performClick()Z + if-eqz v3, :dont_shuffle + invoke-virtual {v3}, Landroid/view/View;->callOnClick()Z if-eqz v1, :dont_shuffle - invoke-virtual {v3}, Landroid/widget/ImageView;->performClick()Z + invoke-virtual {v3}, Landroid/view/View;->callOnClick()Z :dont_shuffle return-void """ diff --git a/src/main/kotlin/app/revanced/patches/music/player/components/fingerprints/ShuffleClassReferenceFingerprint.kt b/src/main/kotlin/app/revanced/patches/music/player/components/fingerprints/ShuffleClassReferenceFingerprint.kt index 058bb631d..64f792f24 100644 --- a/src/main/kotlin/app/revanced/patches/music/player/components/fingerprints/ShuffleClassReferenceFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/music/player/components/fingerprints/ShuffleClassReferenceFingerprint.kt @@ -2,20 +2,38 @@ package app.revanced.patches.music.player.components.fingerprints import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.MethodFingerprint +import app.revanced.patches.music.player.components.fingerprints.ShuffleClassReferenceFingerprint.indexOfImageViewInstruction +import app.revanced.patches.music.player.components.fingerprints.ShuffleClassReferenceFingerprint.indexOfOrdinalInstruction +import app.revanced.util.containsWideLiteralInstructionIndex +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.FieldReference +import com.android.tools.smali.dexlib2.iface.reference.MethodReference internal object ShuffleClassReferenceFingerprint : MethodFingerprint( returnType = "V", accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, parameters = emptyList(), - opcodes = listOf( - Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.CHECK_CAST, - Opcode.IGET_OBJECT - ), - strings = listOf("Unknown shuffle mode") -) + strings = listOf("Unknown shuffle mode"), + customFingerprint = { methodDef, _ -> + methodDef.containsWideLiteralInstructionIndex(45468) && + indexOfOrdinalInstruction(methodDef) >= 0 && + indexOfImageViewInstruction(methodDef) >= 0 + } +) { + fun indexOfOrdinalInstruction(methodDef: Method) = + methodDef.indexOfFirstInstruction { + opcode == Opcode.INVOKE_VIRTUAL && + getReference()?.name == "ordinal" + } + + fun indexOfImageViewInstruction(methodDef: Method) = + methodDef.indexOfFirstInstruction { + opcode == Opcode.IGET_OBJECT && + getReference()?.type == "Landroid/widget/ImageView;" + } +} diff --git a/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt b/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt index aa452910a..6405d96e1 100644 --- a/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt +++ b/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt @@ -11,8 +11,8 @@ object Constants { "6.33.52", // This is the latest version with the legacy code of YouTube Music. "6.42.55", // This is the latest version that supports Android 7.0 "6.51.53", // This is the latest version of YouTube Music 6.xx.xx - "7.12.52", // This was the latest version that was supported by the previous patch. - "7.13.52", // This is the latest version supported by the RVX patch. + "7.15.52", // This was the latest version that was supported by the previous patch. + "7.16.52", // This is the latest version supported by the RVX patch. ) ) ) diff --git a/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt b/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt index 19c87aa2a..39c0a5f22 100644 --- a/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt @@ -5,6 +5,7 @@ import app.revanced.patches.music.utils.fix.client.SpoofUserAgentPatch import app.revanced.patches.music.utils.fix.fileprovider.FileProviderPatch import app.revanced.patches.music.utils.integrations.IntegrationsPatch import app.revanced.patches.music.utils.mainactivity.fingerprints.MainActivityFingerprint +import app.revanced.patches.music.utils.settings.SettingsPatch import app.revanced.patches.shared.gms.BaseGmsCoreSupportPatch import app.revanced.patches.shared.gms.BaseGmsCoreSupportResourcePatch.Companion.ORIGINAL_PACKAGE_NAME_YOUTUBE_MUSIC @@ -15,7 +16,8 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch( integrationsPatchDependency = IntegrationsPatch::class, dependencies = setOf( SpoofUserAgentPatch::class, - FileProviderPatch::class + FileProviderPatch::class, + SettingsPatch::class ), gmsCoreSupportResourcePatch = GmsCoreSupportResourcePatch, compatiblePackages = COMPATIBLE_PACKAGE diff --git a/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportResourcePatch.kt b/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportResourcePatch.kt index 28d5ac1e8..677241766 100644 --- a/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportResourcePatch.kt @@ -23,7 +23,7 @@ object GmsCoreSupportResourcePatch : BaseGmsCoreSupportResourcePatch( context.addMicroGPreference( CategoryType.MISC.value, "gms_core_settings", - GmsCoreVendorGroupId.valueOrThrow(), + GmsCoreVendorGroupId.valueOrThrow() + ".android.gms", GMS_CORE_SETTINGS_ACTIVITY ) diff --git a/src/main/kotlin/app/revanced/patches/music/video/playback/VideoPlaybackPatch.kt b/src/main/kotlin/app/revanced/patches/music/video/playback/VideoPlaybackPatch.kt index 9ac5bbd5e..4173158b0 100644 --- a/src/main/kotlin/app/revanced/patches/music/video/playback/VideoPlaybackPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/video/playback/VideoPlaybackPatch.kt @@ -115,10 +115,22 @@ object VideoPlaybackPatch : BaseBytecodePatch( "revanced_remember_playback_speed_last_selected", "true" ) + SettingsPatch.addSwitchPreference( + CategoryType.VIDEO, + "revanced_remember_playback_speed_last_selected_toast", + "true", + "revanced_remember_playback_speed_last_selected" + ) SettingsPatch.addSwitchPreference( CategoryType.VIDEO, "revanced_remember_video_quality_last_selected", "true" ) + SettingsPatch.addSwitchPreference( + CategoryType.VIDEO, + "revanced_remember_video_quality_last_selected_toast", + "true", + "revanced_remember_video_quality_last_selected" + ) } } diff --git a/src/main/kotlin/app/revanced/patches/shared/gms/BaseGmsCoreSupportResourcePatch.kt b/src/main/kotlin/app/revanced/patches/shared/gms/BaseGmsCoreSupportResourcePatch.kt index dbb4d526e..7a7ee8dfc 100644 --- a/src/main/kotlin/app/revanced/patches/shared/gms/BaseGmsCoreSupportResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/shared/gms/BaseGmsCoreSupportResourcePatch.kt @@ -45,9 +45,9 @@ abstract class BaseGmsCoreSupportResourcePatch( default = true, title = "Check GmsCore", description = """ - Check if GmsCore is installed on the device when the app starts. + Check if GmsCore is installed on the device and has battery optimizations disabled when the app starts. - If GmsCore is not installed on the device, the app won't work, so don't disable it if possible. + If GmsCore is not installed the app will not work, so disabling this is not recommended. """.trimIndentMultiline(), required = true, ) diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/downloads/DownloadActionsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/downloads/DownloadActionsPatch.kt index 7cd5f3dbe..f1fe0d3f1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/downloads/DownloadActionsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/downloads/DownloadActionsPatch.kt @@ -125,7 +125,8 @@ object DownloadActionsPatch : BaseBytecodePatch( reference?.definingClass == OFFLINE_PLAYLIST_ENDPOINT_OUTER_CLASS_DESCRIPTOR && reference.type == "Ljava/lang/String;" } - val playlistIdReference = getInstruction(playlistIdIndex).reference + val playlistIdReference = + getInstruction(playlistIdIndex).reference val targetIndex = indexOfFirstInstructionOrThrow { opcode == Opcode.CHECK_CAST && @@ -134,13 +135,15 @@ object DownloadActionsPatch : BaseBytecodePatch( val targetRegister = getInstruction(targetIndex).registerA addInstructionsWithLabels( - targetIndex + 1, """ + targetIndex + 1, + """ iget-object v$freeRegister, v$targetRegister, $playlistIdReference invoke-static {v$freeRegister}, $INTEGRATIONS_CLASS_DESCRIPTOR->inAppPlaylistDownloadMenuOnClick(Ljava/lang/String;)Z move-result v$freeRegister if-eqz v$freeRegister, :show_native_downloader return-void - """, ExternalLabel("show_native_downloader", getInstruction(targetIndex + 1)) + """, + ExternalLabel("show_native_downloader", getInstruction(targetIndex + 1)) ) } } diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt index f1ef6a072..c88c59d3b 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt @@ -185,7 +185,7 @@ object VisualPreferencesIconsPatch : BaseResourcePatch( "revanced_preference_screen_settings_menu" to "M 413.384 840 L 397.231 725.539 Q 375.154 718.539 348.769 703.846 Q 322.385 689.154 304.077 672.308 L 198.384 720.154 L 131.538 601.538 L 225.692 531.769 Q 223.692 519.692 222.423 506.269 Q 221.154 492.846 221.154 480.769 Q 221.154 469.462 222.423 456.038 Q 223.692 442.615 225.692 428.231 L 131.538 357.692 L 198.384 241.384 L 303.308 287.692 Q 323.923 270.846 348.769 256.538 Q 373.615 242.231 396.461 235.461 L 413.384 120 L 546.616 120 L 562.769 235.231 Q 587.923 244.538 610.577 257.192 Q 633.231 269.846 653.615 287.692 L 762.385 241.384 L 828.462 357.692 L 731.231 429.308 Q 734.769 443.154 735.654 455.808 Q 736.539 468.462 736.539 480 Q 736.539 490.769 735.269 503.308 Q 734 515.846 731.231 531.231 L 827.693 601.538 L 760.846 720.154 L 653.615 671.539 Q 632.231 689.923 609.423 703.962 Q 586.616 718 562.769 724.769 L 546.616 840 L 413.384 840 Z M 438.308 809.231 L 520.923 809.231 L 535.692 698 Q 566.385 690 592.039 675.308 Q 617.692 660.615 644 635.846 L 746.923 680.308 L 786.923 610.615 L 696 543.154 Q 700 524.615 702.115 509.654 Q 704.231 494.692 704.231 480 Q 704.231 463.769 702.231 449.577 Q 700.231 435.385 696 418.385 L 788.462 349.385 L 748.462 279.692 L 643.231 324.154 Q 624.077 302.769 593.539 284.115 Q 563 265.461 534.923 262 L 521.692 150.769 L 438.308 150.769 L 425.846 261.231 Q 393.385 267.461 366.961 282.538 Q 340.538 297.615 315.231 323.385 L 211.538 279.692 L 171.538 349.385 L 262.461 416.077 Q 257.692 430.769 255.577 446.885 Q 253.461 463 253.461 480.769 Q 253.461 497 255.577 512.346 Q 257.692 527.692 261.692 543.154 L 171.538 610.615 L 211.538 680.308 L 314.461 636.615 Q 338.461 661.385 365.269 676.077 Q 392.077 690.769 425.077 698.769 L 438.308 809.231 Z M 477.692 575.385 Q 517.846 575.385 545.462 547.769 Q 573.077 520.154 573.077 480 Q 573.077 439.846 545.462 412.231 Q 517.846 384.615 477.692 384.615 Q 438.308 384.615 410.308 412.231 Q 382.307 439.846 382.307 480 Q 382.307 520.154 410.308 547.769 Q 438.308 575.385 477.692 575.385 Z M 480 480 Z", "revanced_preference_screen_shorts" to "M 407.712 579.273 L 586.008 479.273 L 407.712 379.273 L 407.712 579.273 Z M 304.09 573.07 C 304.09 573.07 304.09 573.07 304.09 573.07 L 271.628 592.775 C 230.982 617.447 204.016 650.91 190.732 693.168 C 177.449 735.427 181.608 774.351 203.209 809.936 C 224.809 845.522 257.396 867.135 300.968 874.776 C 344.54 882.417 386.649 873.9 427.295 849.228 L 719.94 671.592 C 760.586 646.92 787.55 613.456 800.835 571.197 C 814.119 528.94 809.96 490.017 788.359 454.431 C 766.758 418.845 734.171 397.23 690.598 389.589 C 678.93 387.544 667.368 386.657 655.909 386.928 L 688.371 367.224 C 729.018 342.551 755.981 309.088 769.267 266.829 C 782.551 224.572 778.392 185.65 756.791 150.064 C 735.19 114.477 702.603 92.864 659.031 85.223 C 615.459 77.585 573.351 86.1 532.705 110.772 L 240.06 288.407 C 199.414 313.079 172.448 346.543 159.165 388.801 C 145.882 431.06 150.04 469.982 171.64 505.568 C 193.241 541.154 225.827 562.767 269.4 570.408 C 281.069 572.454 292.633 573.341 304.09 573.07 Z M 311.194 550.911 C 310.383 550.821 291.513 549.29 276.802 546.69 C 239.915 540.173 212.325 521.847 194.032 491.71 C 175.74 461.574 172.229 428.666 183.504 392.988 C 194.776 357.308 217.62 329.022 252.033 308.133 L 544.678 130.498 C 579.092 109.608 614.743 102.423 651.63 108.941 C 688.516 115.459 716.107 133.785 734.399 163.922 C 752.692 194.058 756.202 226.966 744.927 262.642 C 733.655 298.323 710.811 326.607 676.397 347.496 C 676.397 347.496 632.576 376.786 629.931 379.384 C 616.83 392.247 624.795 408.44 644.851 409.184 C 649.56 409.36 666.37 410.336 683.197 413.309 C 720.083 419.825 747.675 438.153 765.968 468.29 C 784.26 498.427 787.77 531.334 776.495 567.012 C 765.223 602.692 742.379 630.976 707.966 651.865 L 415.321 829.501 C 380.907 850.39 345.255 857.577 308.37 851.058 C 271.483 844.542 243.893 826.215 225.601 796.078 C 207.308 765.943 203.797 733.033 215.072 697.355 C 226.343 661.676 249.188 633.389 283.601 612.5 C 283.601 612.5 318.492 587.99 322.367 585.392 C 339.459 573.934 349.769 555.207 311.194 550.911 Z", "revanced_preference_screen_shorts_player" to "revanced_preference_screen_shorts", - "revanced_preference_screen_spoof_client" to "M 270.77 793.85 L 270.77 824.62 Q 270.77 833.85 278.46 841.54 Q 286.15 849.23 295.38 849.23 L 664.62 849.23 Q 673.85 849.23 681.54 841.54 Q 689.23 833.85 689.23 824.62 L 689.23 793.85 L 270.77 793.85 Z M 687.54 569.69 Q 669.38 566.69 656.69 558.77 Q 644 550.85 635.46 539.77 L 620.54 547.38 Q 615.54 550.15 610.42 548.77 Q 605.31 547.38 602.31 543.15 L 600.38 540.92 Q 597.38 536.69 598.94 531.55 Q 600.49 526.41 604.38 523.23 L 618.62 512.69 Q 612.08 497.08 612.08 479.54 Q 612.08 462 618.62 445.62 L 604.38 435.08 Q 600.49 432.1 598.94 426.86 Q 597.38 421.62 600.41 416.72 L 602.31 415.15 Q 604.54 410.15 609.65 409.15 Q 614.77 408.15 619.77 410.92 L 635.46 418.54 Q 644 407.46 656.46 399.54 Q 668.92 391.62 687.54 388.62 L 689.23 370.23 Q 689.16 364.45 692.93 360.84 Q 696.71 357.23 702.35 357.23 L 706.46 357.23 Q 711.83 357.23 715.27 360.93 Q 718.7 364.62 719.54 370.23 L 721.23 388.62 Q 739.85 391.62 751.92 399.54 Q 764 407.46 773.31 418.54 L 788.23 410.92 Q 793.23 408.15 798.35 409.54 Q 803.46 410.92 806.46 415.92 L 808.38 417.38 Q 810.62 421.62 809.45 426.86 Q 808.28 432.1 804.38 435.08 L 790.15 445.62 Q 796.69 462 796.69 479.54 Q 796.69 497.08 790.15 512.69 L 804.38 523.23 Q 808.28 527.18 809.45 532.32 Q 810.62 537.46 807.62 541.69 L 805.69 543.92 Q 803.46 548.15 798.35 549.15 Q 793.23 550.15 788.23 547.38 L 773.31 539.77 Q 764 550.85 751.31 558.77 Q 738.62 566.69 721.23 569.69 L 719.54 588.08 Q 718.67 593.34 715.07 596.82 Q 711.46 600.31 706.08 600.31 L 701.85 600.31 Q 696.46 600.31 692.79 596.7 Q 689.13 593.09 689.23 588.08 L 687.54 569.69 Z M 704 543.23 Q 730.85 543.23 749.85 524.62 Q 768.85 506 768.85 479.15 Q 768.85 452.31 749.95 433.69 Q 731.05 415.08 704.38 415.08 Q 677.15 415.08 658.54 433.76 Q 639.92 452.44 639.92 478.77 Q 639.92 506 658.54 524.62 Q 677.15 543.23 704 543.23 Z M 270.77 166.15 L 689.23 166.15 L 689.23 135.38 Q 689.23 126.15 681.54 118.46 Q 673.85 110.77 664.62 110.77 L 295.38 110.77 Q 286.15 110.77 278.46 118.46 Q 270.77 126.15 270.77 135.38 L 270.77 166.15 Z M 270.77 166.15 L 270.77 110.77 L 270.77 166.15 Z M 270.77 793.85 L 270.77 849.23 L 270.77 793.85 Z M 295.38 880 Q 272.94 880 256.47 863.53 Q 240 847.06 240 824.62 L 240 135.38 Q 240 112.94 256.47 96.47 Q 272.94 80 295.38 80 L 664.62 80 Q 687.06 80 703.53 96.47 Q 720 112.94 720 135.38 L 720 246 Q 720 252.58 715.54 256.98 Q 711.08 261.38 704.43 261.38 Q 697.77 261.38 693.5 256.98 Q 689.23 252.58 689.23 246 L 689.23 196.92 L 270.77 196.92 L 270.77 763.08 L 689.23 763.08 L 689.23 714 Q 689.23 707.42 693.69 703.02 Q 698.15 698.62 704.8 698.62 Q 711.46 698.62 715.73 703.02 Q 720 707.42 720 714 L 720 824.62 Q 720 847.06 703.53 863.53 Q 687.06 880 664.62 880 L 295.38 880 Z", + "revanced_preference_screen_spoof_streaming_data" to "M 270.77 793.85 L 270.77 824.62 Q 270.77 833.85 278.46 841.54 Q 286.15 849.23 295.38 849.23 L 664.62 849.23 Q 673.85 849.23 681.54 841.54 Q 689.23 833.85 689.23 824.62 L 689.23 793.85 L 270.77 793.85 Z M 687.54 569.69 Q 669.38 566.69 656.69 558.77 Q 644 550.85 635.46 539.77 L 620.54 547.38 Q 615.54 550.15 610.42 548.77 Q 605.31 547.38 602.31 543.15 L 600.38 540.92 Q 597.38 536.69 598.94 531.55 Q 600.49 526.41 604.38 523.23 L 618.62 512.69 Q 612.08 497.08 612.08 479.54 Q 612.08 462 618.62 445.62 L 604.38 435.08 Q 600.49 432.1 598.94 426.86 Q 597.38 421.62 600.41 416.72 L 602.31 415.15 Q 604.54 410.15 609.65 409.15 Q 614.77 408.15 619.77 410.92 L 635.46 418.54 Q 644 407.46 656.46 399.54 Q 668.92 391.62 687.54 388.62 L 689.23 370.23 Q 689.16 364.45 692.93 360.84 Q 696.71 357.23 702.35 357.23 L 706.46 357.23 Q 711.83 357.23 715.27 360.93 Q 718.7 364.62 719.54 370.23 L 721.23 388.62 Q 739.85 391.62 751.92 399.54 Q 764 407.46 773.31 418.54 L 788.23 410.92 Q 793.23 408.15 798.35 409.54 Q 803.46 410.92 806.46 415.92 L 808.38 417.38 Q 810.62 421.62 809.45 426.86 Q 808.28 432.1 804.38 435.08 L 790.15 445.62 Q 796.69 462 796.69 479.54 Q 796.69 497.08 790.15 512.69 L 804.38 523.23 Q 808.28 527.18 809.45 532.32 Q 810.62 537.46 807.62 541.69 L 805.69 543.92 Q 803.46 548.15 798.35 549.15 Q 793.23 550.15 788.23 547.38 L 773.31 539.77 Q 764 550.85 751.31 558.77 Q 738.62 566.69 721.23 569.69 L 719.54 588.08 Q 718.67 593.34 715.07 596.82 Q 711.46 600.31 706.08 600.31 L 701.85 600.31 Q 696.46 600.31 692.79 596.7 Q 689.13 593.09 689.23 588.08 L 687.54 569.69 Z M 704 543.23 Q 730.85 543.23 749.85 524.62 Q 768.85 506 768.85 479.15 Q 768.85 452.31 749.95 433.69 Q 731.05 415.08 704.38 415.08 Q 677.15 415.08 658.54 433.76 Q 639.92 452.44 639.92 478.77 Q 639.92 506 658.54 524.62 Q 677.15 543.23 704 543.23 Z M 270.77 166.15 L 689.23 166.15 L 689.23 135.38 Q 689.23 126.15 681.54 118.46 Q 673.85 110.77 664.62 110.77 L 295.38 110.77 Q 286.15 110.77 278.46 118.46 Q 270.77 126.15 270.77 135.38 L 270.77 166.15 Z M 270.77 166.15 L 270.77 110.77 L 270.77 166.15 Z M 270.77 793.85 L 270.77 849.23 L 270.77 793.85 Z M 295.38 880 Q 272.94 880 256.47 863.53 Q 240 847.06 240 824.62 L 240 135.38 Q 240 112.94 256.47 96.47 Q 272.94 80 295.38 80 L 664.62 80 Q 687.06 80 703.53 96.47 Q 720 112.94 720 135.38 L 720 246 Q 720 252.58 715.54 256.98 Q 711.08 261.38 704.43 261.38 Q 697.77 261.38 693.5 256.98 Q 689.23 252.58 689.23 246 L 689.23 196.92 L 270.77 196.92 L 270.77 763.08 L 689.23 763.08 L 689.23 714 Q 689.23 707.42 693.69 703.02 Q 698.15 698.62 704.8 698.62 Q 711.46 698.62 715.73 703.02 Q 720 707.42 720 714 L 720 824.62 Q 720 847.06 703.53 863.53 Q 687.06 880 664.62 880 L 295.38 880 Z", "revanced_preference_screen_swipe_controls" to "M 196.923 590.231 L 80.923 474.231 L 98.923 456.231 L 179.846 536.923 Q 170.307 499.538 165.154 462.538 Q 160 425.538 160 387.384 Q 160 314.231 183.346 246.461 Q 206.692 178.692 249.846 120 L 268.846 139 Q 229.154 194 207.654 256.961 Q 186.154 319.923 186.154 387.384 Q 186.154 426.769 191.769 465.538 Q 197.385 504.307 208.461 542.461 L 294.923 456.231 L 312.923 474.231 L 196.923 590.231 Z M 646 792.462 Q 629.077 798.923 610.154 798.308 Q 591.231 797.693 573.538 789.231 L 318.077 671.385 L 325.077 653.846 Q 328.538 643.308 336.769 637.077 Q 345 630.846 356.538 629.615 L 484.769 616.231 L 367.769 297.769 Q 365.077 291.154 368.269 285.654 Q 371.461 280.154 378.077 278.231 Q 383.923 275.538 389.538 278.346 Q 395.154 281.154 397.846 287.769 L 528 644.077 L 364.616 659.154 L 586.462 762.154 Q 597.769 767.692 610.846 767.692 Q 623.923 767.692 636 763.923 L 774.231 712.846 Q 817.077 697.308 836.5 656.731 Q 855.923 616.154 840.385 573.308 L 782.231 414.308 Q 779.538 407.692 781.962 402.462 Q 784.385 397.231 791 394.538 Q 797.615 391.846 803.231 394.269 Q 808.846 396.692 811.539 403.308 L 868.693 562.308 Q 889.385 617.615 864.962 669.808 Q 840.539 722 785.231 741.923 L 646 792.462 Z M 579.154 535.769 L 521.923 380.385 Q 519.231 373.769 522.423 368.654 Q 525.615 363.538 532.231 360.846 Q 538.077 358.154 543.577 361.346 Q 549.077 364.538 551.769 370.385 L 608.231 525 L 579.154 535.769 Z M 687.923 495.077 L 645.461 378.462 Q 642.769 371.846 645.577 366.615 Q 648.385 361.385 655 358.692 Q 661.615 356.769 667.115 359.192 Q 672.615 361.615 674.539 368.231 L 718 485.846 L 687.923 495.077 Z M 677.769 612.923 Z", "revanced_preference_screen_toolbar" to "M 215.38 800 Q 192.33 800 176.16 783.84 Q 160 767.67 160 744.62 L 160 215.38 Q 160 192.33 176.16 176.16 Q 192.33 160 215.38 160 L 744.62 160 Q 767.67 160 783.84 176.16 Q 800 192.33 800 215.38 L 800 744.62 Q 800 767.67 783.84 783.84 Q 767.67 800 744.62 800 L 215.38 800 Z M 190.77 323.15 L 769.23 323.15 L 769.23 215.38 Q 769.23 206.15 761.54 198.46 Q 753.85 190.77 744.62 190.77 L 215.38 190.77 Q 206.15 190.77 198.46 198.46 Q 190.77 206.15 190.77 215.38 L 190.77 323.15 Z M 769.23 353.92 L 190.77 353.92 L 190.77 744.62 Q 190.77 753.85 198.46 761.54 Q 206.15 769.23 215.38 769.23 L 744.62 769.23 Q 753.85 769.23 761.54 761.54 Q 769.23 753.85 769.23 744.62 L 769.23 353.92 Z M 190.77 323.15 L 190.77 353.92 L 190.77 323.15 Z M 190.77 323.15 L 190.77 190.77 L 190.77 323.15 Z M 190.77 353.92 L 190.77 769.23 L 190.77 353.92 Z", "revanced_preference_screen_video_description" to "M 389.15 530.77 L 527.23 530.77 Q 533.81 530.77 538.21 526.31 Q 542.62 521.85 542.62 515.2 Q 542.62 508.54 538.21 504.27 Q 533.81 500 527.23 500 L 389.15 500 Q 382.58 500 378.17 504.46 Q 373.77 508.92 373.77 515.57 Q 373.77 522.23 378.17 526.5 Q 382.58 530.77 389.15 530.77 Z M 389.15 424.62 L 671.08 424.62 Q 677.65 424.62 682.06 420.16 Q 686.46 415.7 686.46 409.04 Q 686.46 402.38 682.06 398.12 Q 677.65 393.85 671.08 393.85 L 389.15 393.85 Q 382.58 393.85 378.17 398.3 Q 373.77 402.76 373.77 409.42 Q 373.77 416.08 378.17 420.35 Q 382.58 424.62 389.15 424.62 Z M 389.15 318.46 L 671.08 318.46 Q 677.65 318.46 682.06 314 Q 686.46 309.55 686.46 302.89 Q 686.46 296.23 682.06 291.96 Q 677.65 287.69 671.08 287.69 L 389.15 287.69 Q 382.58 287.69 378.17 292.15 Q 373.77 296.61 373.77 303.27 Q 373.77 309.92 378.17 314.19 Q 382.58 318.46 389.15 318.46 Z M 296.92 698.46 Q 273.87 698.46 257.7 682.3 Q 241.54 666.13 241.54 643.08 L 241.54 175.38 Q 241.54 152.33 257.7 136.16 Q 273.87 120 296.92 120 L 764.62 120 Q 787.67 120 803.84 136.16 Q 820 152.33 820 175.38 L 820 643.08 Q 820 666.13 803.84 682.3 Q 787.67 698.46 764.62 698.46 L 296.92 698.46 Z M 296.92 667.69 L 764.62 667.69 Q 773.85 667.69 781.54 660 Q 789.23 652.31 789.23 643.08 L 789.23 175.38 Q 789.23 166.15 781.54 158.46 Q 773.85 150.77 764.62 150.77 L 296.92 150.77 Q 287.69 150.77 280 158.46 Q 272.31 166.15 272.31 175.38 L 272.31 643.08 Q 272.31 652.31 280 660 Q 287.69 667.69 296.92 667.69 Z M 195.38 800 Q 172.33 800 156.16 783.84 Q 140 767.67 140 744.62 L 140 261.54 Q 140 254.96 144.46 250.56 Q 148.92 246.15 155.57 246.15 Q 162.23 246.15 166.5 250.56 Q 170.77 254.96 170.77 261.54 L 170.77 744.62 Q 170.77 753.85 178.46 761.54 Q 186.15 769.23 195.38 769.23 L 678.46 769.23 Q 685.04 769.23 689.44 773.69 Q 693.85 778.15 693.85 784.8 Q 693.85 791.46 689.44 795.73 Q 685.04 800 678.46 800 L 195.38 800 Z M 272.31 150.77 L 272.31 667.69 L 272.31 150.77 Z", diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt index 0a100ca74..d6bec51c0 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt @@ -233,6 +233,7 @@ object OverlayButtonsPatch : BaseResourcePatch( ResourceGroup( "drawable-$dpi", "yt_outline_gear_white_24.png", + "yt_outline_chevron_down_white_24.png", "quantum_ic_closed_caption_off_grey600_24.png", "quantum_ic_closed_caption_off_white_24.png", "quantum_ic_closed_caption_white_24.png" diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/SpoofClientPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/SpoofClientPatch.kt deleted file mode 100644 index 53f172356..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/SpoofClientPatch.kt +++ /dev/null @@ -1,496 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client - -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.PatchException -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable -import app.revanced.patcher.util.smali.ExternalLabel -import app.revanced.patches.shared.fingerprints.CreatePlayerRequestBodyWithModelFingerprint -import app.revanced.patches.shared.fingerprints.CreatePlayerRequestBodyWithModelFingerprint.indexOfModelInstruction -import app.revanced.patches.youtube.misc.backgroundplayback.BackgroundPlaybackPatch -import app.revanced.patches.youtube.utils.compatibility.Constants -import app.revanced.patches.youtube.utils.fingerprints.PlaybackRateBottomSheetBuilderFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.BuildInitPlaybackRequestFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.BuildPlaybackStatsRequestURIFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.BuildPlayerRequestURIFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.CreatePlaybackSpeedMenuItemFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.CreatePlayerRequestBodyFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.CreatePlayerRequestBodyWithVersionReleaseFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.CreatePlayerRequestBodyWithVersionReleaseFingerprint.indexOfBuildInstruction -import app.revanced.patches.youtube.utils.fix.client.fingerprints.NerdsStatsVideoFormatBuilderFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.OrganicPlaybackContextModelFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.PlayerGestureConfigSyntheticFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.PlayerResponseModelBackgroundAudioPlaybackFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.SetPlayerRequestClientTypeFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.UserAgentHeaderBuilderFingerprint -import app.revanced.patches.youtube.utils.integrations.Constants.MISC_PATH -import app.revanced.patches.youtube.utils.integrations.Constants.PATCH_STATUS_CLASS_DESCRIPTOR -import app.revanced.patches.youtube.utils.playertype.PlayerTypeHookPatch -import app.revanced.patches.youtube.utils.settings.SettingsPatch -import app.revanced.patches.youtube.utils.storyboard.StoryboardHookPatch -import app.revanced.patches.youtube.utils.trackingurlhook.TrackingUrlHookPatch -import app.revanced.patches.youtube.video.information.VideoInformationPatch -import app.revanced.patches.youtube.video.playerresponse.PlayerResponseMethodHookPatch -import app.revanced.util.getReference -import app.revanced.util.getStringInstructionIndex -import app.revanced.util.getWalkerMethod -import app.revanced.util.indexOfFirstInstructionOrThrow -import app.revanced.util.patch.BaseBytecodePatch -import app.revanced.util.resultOrThrow -import app.revanced.util.updatePatchStatus -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.TypeReference -import com.android.tools.smali.dexlib2.immutable.ImmutableMethod -import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter - -object SpoofClientPatch : BaseBytecodePatch( - name = "Spoof client", - description = "Adds options to spoof the client to allow video playback.", - dependencies = setOf( - // Required since iOS livestream fix partially enables background playback. - BackgroundPlaybackPatch::class, - PlayerTypeHookPatch::class, - - TrackingUrlHookPatch::class, - PlayerResponseMethodHookPatch::class, - SettingsPatch::class, - VideoInformationPatch::class, - SpoofUserAgentPatch::class, - StoryboardHookPatch::class, - ), - compatiblePackages = Constants.COMPATIBLE_PACKAGE, - fingerprints = setOf( - // Client type spoof. - BuildInitPlaybackRequestFingerprint, - BuildPlayerRequestURIFingerprint, - SetPlayerRequestClientTypeFingerprint, - CreatePlayerRequestBodyFingerprint, - CreatePlayerRequestBodyWithModelFingerprint, - CreatePlayerRequestBodyWithVersionReleaseFingerprint, - UserAgentHeaderBuilderFingerprint, - - // Player gesture config. - PlayerGestureConfigSyntheticFingerprint, - - // Player speed menu item. - CreatePlaybackSpeedMenuItemFingerprint, - PlaybackRateBottomSheetBuilderFingerprint, - - // Livestream audio only background playback. - PlayerResponseModelBackgroundAudioPlaybackFingerprint, - - // Watch history. - BuildPlaybackStatsRequestURIFingerprint, - OrganicPlaybackContextModelFingerprint, - - // Nerds stats video format. - NerdsStatsVideoFormatBuilderFingerprint, - ) -) { - private const val INTEGRATIONS_CLASS_DESCRIPTOR = - "$MISC_PATH/SpoofClientPatch;" - private const val CLIENT_INFO_CLASS_DESCRIPTOR = - "Lcom/google/protos/youtube/api/innertube/InnertubeContext\$ClientInfo;" - - override fun execute(context: BytecodeContext) { - - var settingArray = arrayOf( - "SETTINGS: SPOOF_CLIENT" - ) - - // region Block /initplayback requests to fall back to /get_watch requests. - - BuildInitPlaybackRequestFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val moveUriStringIndex = it.scanResult.patternScanResult!!.startIndex - 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 { - it.mutableMethod.apply { - val invokeToStringIndex = it.scanResult.patternScanResult!!.startIndex - 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 -> - with(result.mutableMethod) { - // Field in the player request object that holds the client info object. - val clientInfoField = 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 = - getInstruction(result.scanResult.patternScanResult!!.endIndex) - .getReference() - ?: throw PatchException("Could not find clientInfoClientTypeField") - - val clientInfoVersionIndex = getStringInstructionIndex("10.29") - val clientInfoVersionRegister = - getInstruction(clientInfoVersionIndex).registerA - val clientInfoClientVersionFieldIndex = implementation!!.instructions.let { - clientInfoVersionIndex + it.subList(clientInfoVersionIndex, it.size - 1) - .indexOfFirst { instruction -> - instruction.opcode == Opcode.IPUT_OBJECT - && (instruction as TwoRegisterInstruction).registerA == clientInfoVersionRegister - } - } - - // Client info object's client version field. - val clientInfoClientVersionField = - getInstruction(clientInfoClientVersionFieldIndex) - .getReference() - ?: throw PatchException("Could not find clientInfoClientVersionField") - - Triple(clientInfoField, clientInfoClientTypeField, clientInfoClientVersionField) - } - } - - val clientInfoClientModelField = - CreatePlayerRequestBodyWithModelFingerprint.resultOrThrow().mutableMethod.let { - val instructions = it.getInstructions() - val getClientModelIndex = indexOfModelInstruction(it) - - // The next IPUT_OBJECT instruction after getting the client model is setting the client model field. - instructions.subList( - getClientModelIndex, - instructions.size, - ).find { instruction -> - val reference = instruction.getReference() - instruction.opcode == Opcode.IPUT_OBJECT - && reference?.definingClass == CLIENT_INFO_CLASS_DESCRIPTOR - && reference.type == "Ljava/lang/String;" - }?.getReference() - ?: throw PatchException("Could not find clientInfoClientModelField") - } - - val clientInfoOsVersionField = - CreatePlayerRequestBodyWithVersionReleaseFingerprint.resultOrThrow().mutableMethod.let { - val buildIndex = indexOfBuildInstruction(it) - val instructions = it.getInstructions() - - instructions.subList( - buildIndex - 5, - buildIndex, - ).find { instruction -> - val reference = instruction.getReference() - instruction.opcode == Opcode.IPUT_OBJECT - && reference?.definingClass == CLIENT_INFO_CLASS_DESCRIPTOR - && reference.type == "Ljava/lang/String;" - }?.getReference() - ?: throw PatchException("Could not find clientInfoOsVersionField") - } - - // endregion - - // region Spoof client type for /player requests. - - CreatePlayerRequestBodyFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val setClientInfoMethodName = "setClientInfo" - val checkCastIndex = it.scanResult.patternScanResult!!.startIndex - - val checkCastInstruction = getInstruction(checkCastIndex) - val requestMessageInstanceRegister = checkCastInstruction.registerA - val clientInfoContainerClassName = - checkCastInstruction.getReference()!!.type - - addInstruction( - checkCastIndex + 1, - "invoke-static { v$requestMessageInstanceRegister }," + - " $definingClass->$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. - it.mutableClass.methods.add( - ImmutableMethod( - definingClass, - setClientInfoMethodName, - listOf( - ImmutableMethodParameter( - clientInfoContainerClassName, - annotations, - "clientInfoContainer" - ) - ), - "V", - AccessFlags.PRIVATE or AccessFlags.STATIC, - annotations, - 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 Spoof user-agent - - UserAgentHeaderBuilderFingerprint.resultOrThrow().mutableMethod.apply { - val insertIndex = implementation!!.instructions.lastIndex - val insertRegister = getInstruction(insertIndex).registerA - - addInstructions( - insertIndex, """ - invoke-static { v$insertRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->getUserAgent(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$insertRegister - """ - ) - } - - // endregion - - // region check whether video is Shorts or Clips. - - PlayerResponseMethodHookPatch += PlayerResponseMethodHookPatch.Hook.PlayerParameter( - "$INTEGRATIONS_CLASS_DESCRIPTOR->setPlayerResponseVideoId(" + - "Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;", - ) - - // endregion - - // region fix player gesture. - - PlayerGestureConfigSyntheticFingerprint.resultOrThrow().let { - val endIndex = it.scanResult.patternScanResult!!.endIndex - val downAndOutLandscapeAllowedIndex = endIndex - 3 - val downAndOutPortraitAllowedIndex = endIndex - 9 - - arrayOf( - downAndOutLandscapeAllowedIndex, - downAndOutPortraitAllowedIndex, - ).forEach { index -> - val gestureAllowedMethod = it.getWalkerMethod(context, index) - - 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 playback speed menu item. - - // fix for iOS, Android Testsuite - 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 - """, - ) - } - } - - // fix for Android TV - PlaybackRateBottomSheetBuilderFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val targetIndex = it.scanResult.patternScanResult!!.endIndex - val targetRegister = getInstruction(targetIndex).registerA - - addInstructions( - targetIndex, - """ - invoke-static { v$targetRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->forceCreatePlaybackSpeedMenuReversed(Z)Z - move-result v$targetRegister - """, - ) - } - } - - // endregion - - // region fix background playback in live stream, if spoofing to iOS - // This force enables audio background playback. - PlayerResponseModelBackgroundAudioPlaybackFingerprint.resultOrThrow().mutableMethod.apply { - addInstructionsWithLabels( - 0, """ - invoke-static { }, $INTEGRATIONS_CLASS_DESCRIPTOR->overrideBackgroundAudioPlayback()Z - move-result v0 - if-eqz v0, :disabled - return v0 - """, ExternalLabel("disabled", getInstruction(0)) - ) - } - - // endregion - - // region watch history if spoofing to iOS - - if (!SettingsPatch.upward1839) { - BuildPlaybackStatsRequestURIFingerprint.resultOrThrow().let { - val walkerMethod = - it.getWalkerMethod(context, it.scanResult.patternScanResult!!.startIndex) - - walkerMethod.addInstructions( - 0, """ - invoke-static {p0}, $INTEGRATIONS_CLASS_DESCRIPTOR->overrideTrackingUrl(Landroid/net/Uri;)Landroid/net/Uri; - move-result-object p0 - """ - ) - } - - OrganicPlaybackContextModelFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val insertIndex = it.scanResult.patternScanResult!!.endIndex - val insertRegister = - getInstruction(insertIndex).registerA - - addInstruction( - insertIndex, - "invoke-static { v$insertRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->setCpn(Ljava/lang/String;)V" - ) - } - } - - TrackingUrlHookPatch.hookTrackingUrl("$INTEGRATIONS_CLASS_DESCRIPTOR->setTrackingUriParameter(Landroid/net/Uri;)V") - } - - // endregion - - // region append spoof info. - - NerdsStatsVideoFormatBuilderFingerprint.resultOrThrow().mutableMethod.apply { - for (index in implementation!!.instructions.size - 1 downTo 0) { - val instruction = getInstruction(index) - if (instruction.opcode != Opcode.RETURN_OBJECT) - continue - - val register = (instruction as OneRegisterInstruction).registerA - - addInstructions( - index, """ - invoke-static {v$register}, $INTEGRATIONS_CLASS_DESCRIPTOR->appendSpoofedClient(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$register - """ - ) - } - } - - // endregion - - // region hook storyboard. - - StoryboardHookPatch.hook(INTEGRATIONS_CLASS_DESCRIPTOR) - - // endregion - - if (!SettingsPatch.upward1839) { - settingArray += "SETTINGS: IOS_CLIENT_SIDE_EFFECT_1838" - } else { - settingArray += "SETTINGS: IOS_CLIENT_SIDE_EFFECT_1839" - - context.updatePatchStatus(PATCH_STATUS_CLASS_DESCRIPTOR, "SpoofClient") - } - - /** - * Add settings - */ - SettingsPatch.addPreference(settingArray) - - SettingsPatch.updatePatchStatus(this) - } -} diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildPlaybackStatsRequestURIFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildPlaybackStatsRequestURIFingerprint.kt deleted file mode 100644 index 7a212b6b7..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildPlaybackStatsRequestURIFingerprint.kt +++ /dev/null @@ -1,17 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.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 BuildPlaybackStatsRequestURIFingerprint : MethodFingerprint( - accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC, - returnType = "L", - opcodes = listOf( - Opcode.INVOKE_STATIC, - Opcode.MOVE_RESULT_OBJECT, - Opcode.CONST_STRING, - ), - strings = listOf("event", "streamingstats"), -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildPlayerRequestURIFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildPlayerRequestURIFingerprint.kt deleted file mode 100644 index 563fbdaea..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildPlayerRequestURIFingerprint.kt +++ /dev/null @@ -1,20 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.fingerprints - -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.Opcode - -internal object BuildPlayerRequestURIFingerprint : MethodFingerprint( - returnType = "Ljava/lang/String;", - opcodes = listOf( - Opcode.INVOKE_VIRTUAL, // Register holds player request URI. - Opcode.MOVE_RESULT_OBJECT, - Opcode.IPUT_OBJECT, - Opcode.IGET_OBJECT, - Opcode.MONITOR_EXIT, - Opcode.RETURN_OBJECT, - ), - strings = listOf( - "key", - "asig", - ), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlaybackSpeedMenuItemFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlaybackSpeedMenuItemFingerprint.kt deleted file mode 100644 index 0e79e5440..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlaybackSpeedMenuItemFingerprint.kt +++ /dev/null @@ -1,34 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.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") - }, -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlayerRequestBodyFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlayerRequestBodyFingerprint.kt deleted file mode 100644 index a631f4140..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlayerRequestBodyFingerprint.kt +++ /dev/null @@ -1,15 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.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/utils/fix/client/fingerprints/CreatePlayerRequestBodyWithVersionReleaseFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlayerRequestBodyWithVersionReleaseFingerprint.kt deleted file mode 100644 index a4157fdc4..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/CreatePlayerRequestBodyWithVersionReleaseFingerprint.kt +++ /dev/null @@ -1,30 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.patches.youtube.utils.fix.client.fingerprints.CreatePlayerRequestBodyWithVersionReleaseFingerprint.indexOfBuildInstruction -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 CreatePlayerRequestBodyWithVersionReleaseFingerprint : MethodFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = listOf("L"), - strings = listOf("Google Inc."), - customFingerprint = { methodDef, _ -> - indexOfBuildInstruction(methodDef) >= 0 - }, -) { - fun indexOfBuildInstruction(methodDef: Method) = - methodDef.indexOfFirstInstruction { - val reference = getReference() - opcode == Opcode.INVOKE_VIRTUAL && - reference?.name == "build" && - reference.parameterTypes.isEmpty() && - reference.returnType.startsWith("L") - } -} diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/OrganicPlaybackContextModelFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/OrganicPlaybackContextModelFingerprint.kt deleted file mode 100644 index fe1c98f17..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/OrganicPlaybackContextModelFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.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 OrganicPlaybackContextModelFingerprint : MethodFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, - parameters = listOf( - "Ljava/lang/String;", // cpn - "Z", - "Z", - "Z", - "Z" - ), - opcodes = listOf( - Opcode.INVOKE_DIRECT, - Opcode.IF_EQZ, - Opcode.IPUT_OBJECT, - ), - strings = listOf("Null contentCpn") -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/PlayerGestureConfigSyntheticFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/PlayerGestureConfigSyntheticFingerprint.kt deleted file mode 100644 index 0ae82b307..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/PlayerGestureConfigSyntheticFingerprint.kt +++ /dev/null @@ -1,55 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.patcher.fingerprint.annotation.FuzzyPatternScanMethod -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 - -/** - * [FuzzyPatternScanMethod] was added to maintain compatibility for YouTube v18.29.38 to v18.32.39. - * TODO: Remove this annotation if support for YouTube v18.29.38 to v18.32.39 is dropped. - */ -@FuzzyPatternScanMethod(5) -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 - }, -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/PlayerResponseModelBackgroundAudioPlaybackFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/PlayerResponseModelBackgroundAudioPlaybackFingerprint.kt deleted file mode 100644 index 30ec622e1..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/PlayerResponseModelBackgroundAudioPlaybackFingerprint.kt +++ /dev/null @@ -1,43 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.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 - -/** - * On iOS clients, this method always returns false in live streams. - * - * This fingerprint seems to break easily because there are many [Opcode] patterns, but it is not. - * This fingerprint has been tested on all versions from YouTube 17.34.36 to YouTube 19.29.42. - */ -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.IF_EQZ, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_STATIC, - Opcode.MOVE_RESULT, - Opcode.IF_EQZ, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT, - 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/utils/fix/client/fingerprints/SetPlayerRequestClientTypeFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/SetPlayerRequestClientTypeFingerprint.kt deleted file mode 100644 index 462049239..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/SetPlayerRequestClientTypeFingerprint.kt +++ /dev/null @@ -1,12 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.fingerprints - -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.Opcode - -internal object SetPlayerRequestClientTypeFingerprint : MethodFingerprint( - strings = listOf("10.29"), - opcodes = listOf( - Opcode.IGET, - Opcode.IPUT, // Sets ClientInfo.clientId. - ), -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/UserAgentHeaderBuilderFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/UserAgentHeaderBuilderFingerprint.kt deleted file mode 100644 index c724a6718..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/UserAgentHeaderBuilderFingerprint.kt +++ /dev/null @@ -1,19 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.client.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 - -/** - * This is the fingerprint used in the 'client-spoof' patch around 2022. - * (Integrated into 'UserAgentClientSpoofPatch' now.) - * - * This method is modified by 'UserAgentClientSpoofPatch', so the fingerprint does not check the [Opcode]. - */ -internal object UserAgentHeaderBuilderFingerprint : MethodFingerprint( - accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC, - returnType = "Ljava/lang/String;", - parameters = listOf("Landroid/content/Context;", "Ljava/lang/String;", "Ljava/lang/String;"), - strings = listOf("(Linux; U; Android "), -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch.kt deleted file mode 100644 index b6c57c704..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch.kt +++ /dev/null @@ -1,53 +0,0 @@ -package app.revanced.patches.youtube.utils.fix.parameter - -import app.revanced.patcher.data.BytecodeContext -import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE -import app.revanced.patches.youtube.utils.integrations.Constants.MISC_PATH -import app.revanced.patches.youtube.utils.playertype.PlayerTypeHookPatch -import app.revanced.patches.youtube.utils.settings.SettingsPatch -import app.revanced.patches.youtube.utils.storyboard.StoryboardHookPatch -import app.revanced.patches.youtube.video.information.VideoInformationPatch -import app.revanced.patches.youtube.video.playerresponse.PlayerResponseMethodHookPatch -import app.revanced.util.patch.BaseBytecodePatch - -@Suppress("unused") -@Deprecated("This patch will be removed in the future.") -object SpoofPlayerParameterPatch : BaseBytecodePatch( - // name = "Spoof player parameters", - description = "Adds options to spoof player parameters to prevent playback issues.", - dependencies = setOf( - PlayerTypeHookPatch::class, - PlayerResponseMethodHookPatch::class, - SettingsPatch::class, - VideoInformationPatch::class, - StoryboardHookPatch::class, - ), - compatiblePackages = COMPATIBLE_PACKAGE, - use = false -) { - private const val INTEGRATIONS_CLASS_DESCRIPTOR = - "$MISC_PATH/SpoofPlayerParameterPatch;" - - override fun execute(context: BytecodeContext) { - - // Hook the player parameters. - PlayerResponseMethodHookPatch += PlayerResponseMethodHookPatch.Hook.PlayerParameter( - "$INTEGRATIONS_CLASS_DESCRIPTOR->spoofParameter(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;" - ) - - // Hook storyboard. - StoryboardHookPatch.hook(INTEGRATIONS_CLASS_DESCRIPTOR) - - /** - * Add settings - */ - SettingsPatch.addPreference( - arrayOf( - "PREFERENCE_CATEGORY: MISC_EXPERIMENTAL_FLAGS", - "SETTINGS: SPOOF_PLAYER_PARAMETER" - ) - ) - - SettingsPatch.updatePatchStatus(this) - } -} diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/SpoofStreamingDataPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/SpoofStreamingDataPatch.kt new file mode 100644 index 000000000..3c032f5ba --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/SpoofStreamingDataPatch.kt @@ -0,0 +1,234 @@ +package app.revanced.patches.youtube.utils.fix.streamingdata + +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.getInstructions +import app.revanced.patcher.patch.PatchException +import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patches.youtube.utils.compatibility.Constants +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.BuildBrowseRequestFingerprint +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.BuildInitPlaybackRequestFingerprint +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.BuildMediaDataSourceFingerprint +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.CreateStreamingDataFingerprint +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.NerdsStatsVideoFormatBuilderFingerprint +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.ProtobufClassParseByteBufferFingerprint +import app.revanced.patches.youtube.utils.integrations.Constants.MISC_PATH +import app.revanced.patches.youtube.utils.settings.SettingsPatch +import app.revanced.patches.youtube.video.videoid.VideoIdPatch +import app.revanced.util.getReference +import app.revanced.util.patch.BaseBytecodePatch +import app.revanced.util.resultOrThrow +import com.android.tools.smali.dexlib2.Opcode +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 + +object SpoofStreamingDataPatch : BaseBytecodePatch( + name = "Spoof streaming data", + description = "Adds options to spoof the streaming data to allow video playback.", + dependencies = setOf( + SettingsPatch::class, + SpoofUserAgentPatch::class, + VideoIdPatch::class, + ), + compatiblePackages = Constants.COMPATIBLE_PACKAGE, + fingerprints = setOf( + BuildBrowseRequestFingerprint, + BuildInitPlaybackRequestFingerprint, + BuildMediaDataSourceFingerprint, + CreateStreamingDataFingerprint, + ProtobufClassParseByteBufferFingerprint, + + // Nerds stats video format. + NerdsStatsVideoFormatBuilderFingerprint, + ) +) { + private const val INTEGRATIONS_CLASS_DESCRIPTOR = + "$MISC_PATH/SpoofStreamingDataPatch;" + + override fun execute(context: BytecodeContext) { + + // region Block /initplayback requests to fall back to /get_watch requests. + + BuildInitPlaybackRequestFingerprint.resultOrThrow().let { + it.mutableMethod.apply { + val moveUriStringIndex = it.scanResult.patternScanResult!!.startIndex + 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 Copy request headers for streaming data fetch. + + BuildBrowseRequestFingerprint.resultOrThrow().let { result -> + result.mutableMethod.apply { + val newRequestBuilderIndex = + BuildBrowseRequestFingerprint.indexOfNewUrlRequestBuilderInstruction(this) + val urlRegister = + getInstruction(newRequestBuilderIndex).registerD + + val entrySetIndex = BuildBrowseRequestFingerprint.indexOfEntrySetInstruction(this) + val mapRegister = if (entrySetIndex < 0) + urlRegister + 1 + else + getInstruction(entrySetIndex).registerC + + var smaliInstructions = + "invoke-static { v$urlRegister, v$mapRegister }, " + + "$INTEGRATIONS_CLASS_DESCRIPTOR->" + + "setFetchHeaders(Ljava/lang/String;Ljava/util/Map;)V" + + if (entrySetIndex < 0) smaliInstructions = """ + move-object/from16 v$mapRegister, p1 + + """ + smaliInstructions + + // Copy request headers for streaming data fetch. + addInstructions(newRequestBuilderIndex + 2, smaliInstructions) + } + } + + // endregion + + // region Replace the streaming data. + + CreateStreamingDataFingerprint.resultOrThrow().let { result -> + result.mutableMethod.apply { + val setStreamingDataIndex = result.scanResult.patternScanResult!!.startIndex + val setStreamingDataField = + getInstruction(setStreamingDataIndex).getReference().toString() + + val playerProtoClass = + getInstruction(setStreamingDataIndex + 1).getReference()!!.definingClass + val protobufClass = + ProtobufClassParseByteBufferFingerprint.resultOrThrow().mutableMethod.definingClass + + val getStreamingDataField = getInstructions().find { instruction -> + instruction.opcode == Opcode.IGET_OBJECT && + instruction.getReference()?.definingClass == playerProtoClass + }?.getReference() + ?: throw PatchException("Could not find getStreamingDataField") + + val videoDetailsIndex = result.scanResult.patternScanResult!!.endIndex + val videoDetailsClass = + getInstruction(videoDetailsIndex).getReference()!!.type + + val insertIndex = videoDetailsIndex + 1 + val videoDetailsRegister = + getInstruction(videoDetailsIndex).registerA + + val overrideRegister = getInstruction(insertIndex).registerA + val freeRegister = implementation!!.registerCount - parameters.size - 2 + + addInstructionsWithLabels( + insertIndex, + """ + invoke-static { }, $INTEGRATIONS_CLASS_DESCRIPTOR->isSpoofingEnabled()Z + move-result v$freeRegister + if-eqz v$freeRegister, :disabled + + # Get video id. + # From YouTube 17.34.36 to YouTube 19.16.39, the field names and field types are the same. + iget-object v$freeRegister, v$videoDetailsRegister, $videoDetailsClass->c:Ljava/lang/String; + if-eqz v$freeRegister, :disabled + + # Get streaming data. + invoke-static { v$freeRegister }, $INTEGRATIONS_CLASS_DESCRIPTOR->getStreamingData(Ljava/lang/String;)Ljava/nio/ByteBuffer; + move-result-object v$freeRegister + if-eqz v$freeRegister, :disabled + + # Parse streaming data. + sget-object v$overrideRegister, $playerProtoClass->a:$playerProtoClass + invoke-static { v$overrideRegister, v$freeRegister }, $protobufClass->parseFrom(${protobufClass}Ljava/nio/ByteBuffer;)$protobufClass + move-result-object v$freeRegister + check-cast v$freeRegister, $playerProtoClass + + # Set streaming data. + iget-object v$freeRegister, v$freeRegister, $getStreamingDataField + if-eqz v0, :disabled + iput-object v$freeRegister, p0, $setStreamingDataField + """, + ExternalLabel("disabled", getInstruction(insertIndex)) + ) + } + } + + // 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 + + addInstructions( + targetIndex, + """ + # Field a: Stream uri. + # Field c: Http method. + # Field d: Post data. + # From YouTube 17.34.36 to YouTube 19.16.39, the field names and field types are the same. + move-object/from16 v0, p0 + 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 + + // region Append spoof info. + + NerdsStatsVideoFormatBuilderFingerprint.resultOrThrow().mutableMethod.apply { + for (index in implementation!!.instructions.size - 1 downTo 0) { + val instruction = getInstruction(index) + if (instruction.opcode != Opcode.RETURN_OBJECT) + continue + + val register = (instruction as OneRegisterInstruction).registerA + + addInstructions( + index, """ + invoke-static {v$register}, $INTEGRATIONS_CLASS_DESCRIPTOR->appendSpoofedClient(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$register + """ + ) + } + } + + // endregion + + // Prefetch streaming data. + VideoIdPatch.hookPlayerResponseVideoId("$INTEGRATIONS_CLASS_DESCRIPTOR->fetchStreamingData(Ljava/lang/String;Z)V") + + /** + * Add settings + */ + SettingsPatch.addPreference( + arrayOf( + "SETTINGS: SPOOF_STREAMING_DATA" + ) + ) + + SettingsPatch.updatePatchStatus(this) + } +} diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/SpoofUserAgentPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/SpoofUserAgentPatch.kt similarity index 72% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/SpoofUserAgentPatch.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/SpoofUserAgentPatch.kt index 06a2a0ca8..dd8a7b75c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/SpoofUserAgentPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/SpoofUserAgentPatch.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.client +package app.revanced.patches.youtube.utils.fix.streamingdata import app.revanced.patches.shared.spoofuseragent.BaseSpoofUserAgentPatch diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildBrowseRequestFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildBrowseRequestFingerprint.kt new file mode 100644 index 000000000..d59e46819 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildBrowseRequestFingerprint.kt @@ -0,0 +1,42 @@ +package app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints + +import app.revanced.patcher.fingerprint.MethodFingerprint +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.BuildBrowseRequestFingerprint.indexOfEntrySetInstruction +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.BuildBrowseRequestFingerprint.indexOfNewUrlRequestBuilderInstruction +import app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints.BuildBrowseRequestFingerprint.indexOfRequestFinishedListenerInstruction +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction +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 BuildBrowseRequestFingerprint : MethodFingerprint( + customFingerprint = { methodDef, _ -> + methodDef.implementation != null && + indexOfRequestFinishedListenerInstruction(methodDef) >= 0 && + !methodDef.definingClass.startsWith("Lorg/") && + indexOfNewUrlRequestBuilderInstruction(methodDef) >= 0 && + // YouTube 17.34.36 ~ YouTube 18.35.36 + (indexOfEntrySetInstruction(methodDef) >= 0 || + // YouTube 18.36.39 ~ + methodDef.parameters[1].type == "Ljava/util/Map;") + } +) { + fun indexOfRequestFinishedListenerInstruction(methodDef: Method) = + methodDef.indexOfFirstInstruction { + opcode == Opcode.INVOKE_VIRTUAL && + getReference().toString() == "Lorg/chromium/net/ExperimentalUrlRequest${'$'}Builder;->setRequestFinishedListener(Lorg/chromium/net/RequestFinishedInfo${'$'}Listener;)Lorg/chromium/net/ExperimentalUrlRequest${'$'}Builder;" + } + + fun indexOfNewUrlRequestBuilderInstruction(methodDef: Method) = + methodDef.indexOfFirstInstruction { + opcode == Opcode.INVOKE_VIRTUAL && + getReference().toString() == "Lorg/chromium/net/CronetEngine;->newUrlRequestBuilder(Ljava/lang/String;Lorg/chromium/net/UrlRequest${'$'}Callback;Ljava/util/concurrent/Executor;)Lorg/chromium/net/UrlRequest${'$'}Builder;" + } + + fun indexOfEntrySetInstruction(methodDef: Method) = + methodDef.indexOfFirstInstruction { + opcode == Opcode.INVOKE_INTERFACE && + getReference().toString() == "Ljava/util/Map;->entrySet()Ljava/util/Set;" + } +} diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildInitPlaybackRequestFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildInitPlaybackRequestFingerprint.kt similarity index 86% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildInitPlaybackRequestFingerprint.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildInitPlaybackRequestFingerprint.kt index 9437ab1a0..494cba19b 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/BuildInitPlaybackRequestFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildInitPlaybackRequestFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.client.fingerprints +package app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints import app.revanced.patcher.fingerprint.MethodFingerprint import com.android.tools.smali.dexlib2.Opcode diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildMediaDataSourceFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildMediaDataSourceFingerprint.kt new file mode 100644 index 000000000..5683921b1 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/BuildMediaDataSourceFingerprint.kt @@ -0,0 +1,22 @@ +package app.revanced.patches.youtube.utils.fix.streamingdata.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/utils/fix/streamingdata/fingerprints/CreateStreamingDataFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/CreateStreamingDataFingerprint.kt new file mode 100644 index 000000000..d9dbc3924 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/CreateStreamingDataFingerprint.kt @@ -0,0 +1,28 @@ +package app.revanced.patches.youtube.utils.fix.streamingdata.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.reference.FieldReference + +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, _ -> + methodDef.indexOfFirstInstruction { + opcode == Opcode.SGET_OBJECT && + getReference()?.name == "playerThreedRenderer" + } >= 0 + }, +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/NerdsStatsVideoFormatBuilderFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/NerdsStatsVideoFormatBuilderFingerprint.kt similarity index 86% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/NerdsStatsVideoFormatBuilderFingerprint.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/NerdsStatsVideoFormatBuilderFingerprint.kt index 7521265d3..d53b6fd94 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/client/fingerprints/NerdsStatsVideoFormatBuilderFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/NerdsStatsVideoFormatBuilderFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.client.fingerprints +package app.revanced.patches.youtube.utils.fix.streamingdata.fingerprints import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.MethodFingerprint diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/ProtobufClassParseByteBufferFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/ProtobufClassParseByteBufferFingerprint.kt new file mode 100644 index 000000000..facdd232a --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/streamingdata/fingerprints/ProtobufClassParseByteBufferFingerprint.kt @@ -0,0 +1,19 @@ +package app.revanced.patches.youtube.utils.fix.streamingdata.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/utils/gms/GmsCoreSupportPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/gms/GmsCoreSupportPatch.kt index 169e5d430..80e989c09 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/gms/GmsCoreSupportPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/gms/GmsCoreSupportPatch.kt @@ -3,8 +3,8 @@ package app.revanced.patches.youtube.utils.gms import app.revanced.patches.shared.gms.BaseGmsCoreSupportPatch import app.revanced.patches.shared.gms.BaseGmsCoreSupportResourcePatch.Companion.ORIGINAL_PACKAGE_NAME_YOUTUBE import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE -import app.revanced.patches.youtube.utils.fix.client.SpoofClientPatch -import app.revanced.patches.youtube.utils.fix.client.SpoofUserAgentPatch +import app.revanced.patches.youtube.utils.fix.streamingdata.SpoofStreamingDataPatch +import app.revanced.patches.youtube.utils.fix.streamingdata.SpoofUserAgentPatch import app.revanced.patches.youtube.utils.integrations.IntegrationsPatch import app.revanced.patches.youtube.utils.mainactivity.fingerprints.MainActivityFingerprint import app.revanced.patches.youtube.utils.settings.SettingsPatch @@ -15,7 +15,7 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch( mainActivityOnCreateFingerprint = MainActivityFingerprint, integrationsPatchDependency = IntegrationsPatch::class, dependencies = setOf( - SpoofClientPatch::class, + SpoofStreamingDataPatch::class, SpoofUserAgentPatch::class, SettingsPatch::class ), diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/StoryboardHookPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/StoryboardHookPatch.kt deleted file mode 100644 index d0b9d10f4..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/StoryboardHookPatch.kt +++ /dev/null @@ -1,154 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard - -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.removeInstruction -import app.revanced.patcher.patch.BytecodePatch -import app.revanced.patcher.patch.annotation.Patch -import app.revanced.patcher.util.smali.ExternalLabel -import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch -import app.revanced.patches.youtube.utils.storyboard.fingerprints.PlayerResponseModelGeneralStoryboardRendererFingerprint -import app.revanced.patches.youtube.utils.storyboard.fingerprints.PlayerResponseModelLiveStreamStoryboardRendererFingerprint -import app.revanced.patches.youtube.utils.storyboard.fingerprints.PlayerResponseModelStoryboardRecommendedLevelFingerprint -import app.revanced.patches.youtube.utils.storyboard.fingerprints.StoryboardRendererDecoderRecommendedLevelFingerprint -import app.revanced.patches.youtube.utils.storyboard.fingerprints.StoryboardRendererDecoderSpecFingerprint -import app.revanced.patches.youtube.utils.storyboard.fingerprints.StoryboardRendererSpecFingerprint -import app.revanced.patches.youtube.utils.storyboard.fingerprints.StoryboardThumbnailFingerprint -import app.revanced.patches.youtube.utils.storyboard.fingerprints.StoryboardThumbnailParentFingerprint -import app.revanced.util.resultOrThrow -import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction - -@Patch( - description = "Force inject the Storyboard by fetching YouTube API.", - dependencies = [SharedResourceIdPatch::class], -) -object StoryboardHookPatch : BytecodePatch( - setOf( - PlayerResponseModelGeneralStoryboardRendererFingerprint, - PlayerResponseModelLiveStreamStoryboardRendererFingerprint, - PlayerResponseModelStoryboardRecommendedLevelFingerprint, - StoryboardRendererDecoderRecommendedLevelFingerprint, - StoryboardRendererDecoderSpecFingerprint, - StoryboardRendererSpecFingerprint, - StoryboardThumbnailParentFingerprint, - ) -) { - private lateinit var context: BytecodeContext - - override fun execute(context: BytecodeContext) { - this.context = context - } - - internal fun hook(classDescriptor: 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. - StoryboardThumbnailFingerprint.resolve( - context, - StoryboardThumbnailParentFingerprint.resultOrThrow().classDef - ) - StoryboardThumbnailFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val targetIndex = it.scanResult.patternScanResult!!.endIndex - val targetRegister = - getInstruction(targetIndex).registerA - - // Since this is end of the method must replace one line then add the rest. - addInstructions( - targetIndex + 1, - """ - invoke-static {}, $classDescriptor->getSeekbarThumbnailOverrideValue()Z - move-result v$targetRegister - return v$targetRegister - """ - ) - removeInstruction(targetIndex) - } - } - - // Hook storyboard renderer url. - arrayOf( - PlayerResponseModelGeneralStoryboardRendererFingerprint, - PlayerResponseModelLiveStreamStoryboardRendererFingerprint - ).forEach { fingerprint -> - fingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val getStoryboardIndex = it.scanResult.patternScanResult!!.endIndex - val getStoryboardRegister = - getInstruction(getStoryboardIndex).registerA - - addInstructions( - getStoryboardIndex, - """ - invoke-static { v$getStoryboardRegister }, $classDescriptor->getStoryboardRendererSpec(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$getStoryboardRegister - """ - ) - } - } - } - - // Hook recommended seekbar thumbnails quality level. - StoryboardRendererDecoderRecommendedLevelFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val moveOriginalRecommendedValueIndex = it.scanResult.patternScanResult!!.endIndex - val originalValueRegister = - getInstruction(moveOriginalRecommendedValueIndex).registerA - - addInstructions( - moveOriginalRecommendedValueIndex + 1, """ - invoke-static { v$originalValueRegister }, $classDescriptor->getStoryboardRecommendedLevel(I)I - move-result v$originalValueRegister - """ - ) - } - } - - // Hook the recommended precise seeking thumbnails quality level. - PlayerResponseModelStoryboardRecommendedLevelFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val moveOriginalRecommendedValueIndex = it.scanResult.patternScanResult!!.endIndex - val originalValueRegister = - getInstruction(moveOriginalRecommendedValueIndex).registerA - - addInstructions( - moveOriginalRecommendedValueIndex, """ - invoke-static { v$originalValueRegister }, $classDescriptor->getStoryboardRecommendedLevel(I)I - move-result v$originalValueRegister - """ - ) - } - } - - StoryboardRendererSpecFingerprint.resultOrThrow().let { - it.mutableMethod.apply { - val storyBoardUrlParams = 0 - - addInstructionsWithLabels( - 0, """ - if-nez p$storyBoardUrlParams, :ignore - invoke-static { p$storyBoardUrlParams }, $classDescriptor->getStoryboardRendererSpec(Ljava/lang/String;)Ljava/lang/String; - move-result-object p$storyBoardUrlParams - """, ExternalLabel("ignore", getInstruction(0)) - ) - } - } - - // Hook the seekbar thumbnail decoder and use a NULL spec for live streams. - StoryboardRendererDecoderSpecFingerprint.resultOrThrow().let { - val storyBoardUrlIndex = it.scanResult.patternScanResult!!.startIndex + 1 - val storyboardUrlRegister = - it.mutableMethod.getInstruction(storyBoardUrlIndex).registerA - - it.mutableMethod.addInstructions( - storyBoardUrlIndex + 1, """ - invoke-static { v$storyboardUrlRegister }, $classDescriptor->getStoryboardDecoderRendererSpec(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$storyboardUrlRegister - """ - ) - } - } -} diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelGeneralStoryboardRendererFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelGeneralStoryboardRendererFingerprint.kt deleted file mode 100644 index 0bcb7867d..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelGeneralStoryboardRendererFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.util.containsWideLiteralInstructionIndex -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -internal object PlayerResponseModelGeneralStoryboardRendererFingerprint : 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.containsWideLiteralInstructionIndex(55735497) - } -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelLiveStreamStoryboardRendererFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelLiveStreamStoryboardRendererFingerprint.kt deleted file mode 100644 index 6fe94ccec..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelLiveStreamStoryboardRendererFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.util.containsWideLiteralInstructionIndex -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -internal object PlayerResponseModelLiveStreamStoryboardRendererFingerprint : 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.containsWideLiteralInstructionIndex(70276274) - } -) diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelStoryboardRecommendedLevelFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelStoryboardRecommendedLevelFingerprint.kt deleted file mode 100644 index c7709b79e..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/PlayerResponseModelStoryboardRecommendedLevelFingerprint.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import app.revanced.util.containsWideLiteralInstructionIndex -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -internal object PlayerResponseModelStoryboardRecommendedLevelFingerprint : 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.containsWideLiteralInstructionIndex(55735497) - } -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardRendererDecoderRecommendedLevelFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardRendererDecoderRecommendedLevelFingerprint.kt deleted file mode 100644 index b8e9daa36..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardRendererDecoderRecommendedLevelFingerprint.kt +++ /dev/null @@ -1,23 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.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]. - */ -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/utils/storyboard/fingerprints/StoryboardRendererDecoderSpecFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardRendererDecoderSpecFingerprint.kt deleted file mode 100644 index e5271661c..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardRendererDecoderSpecFingerprint.kt +++ /dev/null @@ -1,23 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.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]. - */ -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/utils/storyboard/fingerprints/StoryboardRendererSpecFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardRendererSpecFingerprint.kt deleted file mode 100644 index 191bd7a17..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardRendererSpecFingerprint.kt +++ /dev/null @@ -1,12 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags - -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/utils/storyboard/fingerprints/StoryboardThumbnailFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardThumbnailFingerprint.kt deleted file mode 100644 index 1211b12da..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardThumbnailFingerprint.kt +++ /dev/null @@ -1,23 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.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]. - */ -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/utils/storyboard/fingerprints/StoryboardThumbnailParentFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardThumbnailParentFingerprint.kt deleted file mode 100644 index 9e5ec469c..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/storyboard/fingerprints/StoryboardThumbnailParentFingerprint.kt +++ /dev/null @@ -1,17 +0,0 @@ -package app.revanced.patches.youtube.utils.storyboard.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`) - */ -internal object StoryboardThumbnailParentFingerprint : MethodFingerprint( - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - returnType = "Landroid/graphics/Bitmap;", - strings = listOf("Storyboard regionDecoder.decodeRegion exception - "), -) \ No newline at end of file diff --git a/src/main/resources/music/settings/host/values/strings.xml b/src/main/resources/music/settings/host/values/strings.xml index 1ebc6e822..29546f502 100644 --- a/src/main/resources/music/settings/host/values/strings.xml +++ b/src/main/resources/music/settings/host/values/strings.xml @@ -256,6 +256,8 @@ This hides not only the YT Music settings menu, but also the ReVanced Extended s Video Remembers the last playback speed selected. Remember playback speed changes + Show a toast when changing the default playback speed. + Show a toast Changing default speed to %s. Remembers the state of the repeat toggle. Remember repeat state @@ -263,6 +265,8 @@ This hides not only the YT Music settings menu, but also the ReVanced Extended s Remember shuffle state Remembers the last video quality selected. Remember video quality changes + Show a toast when changing the default video quality. + Show a toast Changing default mobile data quality to %s. Failed to set quality. Changing default Wi-Fi quality to %s. diff --git a/src/main/resources/music/translations/bg-rBG/strings.xml b/src/main/resources/music/translations/bg-rBG/strings.xml index 7bd7a3dd1..b8a2e7439 100644 --- a/src/main/resources/music/translations/bg-rBG/strings.xml +++ b/src/main/resources/music/translations/bg-rBG/strings.xml @@ -1,39 +1,206 @@ + Хит-парад + Преглед + Начало + Библиотека + Абонаменти + Изберете на коя страница да се отвори приложението. + Промяна на началната страница Филтриране на компонентите по имена. Редактиране на потребителския филтъра Активира персонализиран филтър за скриване на компонентите на оформлението. Вкл. на филтър по избор + Невалиден потребителски филтър: %s. Невалидна скорост на видеото. Връщане на стойности по подразбиране. Добавяне или смяна на възможните скорости Редактиране на скоростите по избор на видеото Изкл. принудителни автоматични субтититри. Изкл. принудителни автоматични субтититри + Деактивира пренасочването към следващата песен, когато щракнете върху бутона „Не харесвам“. + Désactiver la redirection du bouton \"Je n\'aime pas\" Задава цвета на лентата за навигация на черен. Включване на черна навигационна лента Цветът на плейъра на цял екран съответства с цвета на минимизирания. A játékos színmegfelelésének engedélyezése + "Активира компактно изскачащо меню на телефони. + +Известни проблеми: +• Скрийнсейвърите на албуми в раздела \"Библиотека\" стават по-малки в мрежа. +• Интерфейсът за автоматично изключване може да изглежда необичайно." + Компактен изглед на прозореца Вкл. отчети за грешки Tartsa a lejátszót mindig minimálisra, még akkor is, ha egy másik számot játszik le. Kapcsolja be az állandó összeomlott lejátszót + Активира пейзажен режим при завъртане на телефона. Позволи Пейзажен Режим Включване на OPUS аудио кодек + "Добавя „Скриване на мълчанията“ към падащото меню „Скорост на възпроизвеждане“. + +Информация: +• Тази функция е предназначена за подкасти. +• Тази функция все още е в процес на разработка, така че може да е нестабилна." + Добавете опция „Скриване на мълчанията“ Добавя сив оттенък към видеоплейъра, за да намали напрежението на очите. Включване на zen режим + Рестартирайте, за да заредите оформлението нормално + Опреснете и рестартирайте Внасяне Копиране Импортирайте или експортирайте настройки като текст. + ReVanced Extended + "Бутонът \"Изтегляне\" отваря външната програма за изтегляне. + +• Заменя само бутона за изтегляне в плейъра. +• Не отменя бутона за изтегляне в изскачащото меню или библиотеката." + Замяна на бутона за изтегляне + Външна програма за изтегляне + "%1$s не е инсталиран. +Моля, изтеглете %2$s от уебсайта." + Внимание %s не е инсталирано. Моля инсталирайте го. Име на пакета на приложението за изтегляне като NewPipe или YTDLnis. Име на пакета на външно приложение за изтегляне + Скрива празните компоненти в менюто на акаунта. + Скриване на празни компоненти + Списък с имена на менюта на акаунти за филтриране, разделени с нови редове. + Промяна на филтъра на менюто на акаунта + Скрива елементи от менюто на акаунта в персонализиран филтър. + Скриване на менюто на акаунта + Скрива бутона \"Запазване\". + Бутон \"Запазване\" + Скрийте бутона „Коментари“. + Скриване на бутона за коментари + Скрива бутона „Изтегляне“. + Скриване на бутона за изтегляне + Скрива. етикетите на бутоните за действие. + Скриване на етикетите на бутоните за действие + Скрива бутоните „Харесвам“ и „Не харесвам“. Не работи в стария интерфейс на плейъра. + Скриване на бутоните за харесване и нехаресване + Скрива бутона \"Радио\". + Скрийте бутона \"Радио\" + Скрива бутона „Споделяне“. + Скриване на бутона за споделяне + Скриване на секцията с бутони в емисията. + Скриване на секцията с бутони + Скриване на рафтовете с предложения в емисиите. + Скриване на рафта с Препоръчани + Скрива бутона \"Излъчване\". + Скриване на бутона за предаване на Тв + Скриване на панела с категории. + Скриване на панела с Категории + Скрива плаващите бутони в библиотеката. + Скриване на изскачащ бутон + Скриване на компонента с 3 колони + Скрийте бутона „Добавяне към опашката“ + Скриване на менюто за субтитри + Скрийте менюто „Изтриване на плейлист“ + Скрийте менюто „Изтриване на опашката“ + Скрийте менюто „Изтегляне“ + Скрийте менюто „Редактиране на плейлист“ + Скрийте менюто „Отиди на албум“ + Скрийте менюто „Отидете на страницата на изпълнителя“ + Скрийте менюто „Отидете на епизод“ + Скрийте менюто „Отидете на подкаст“ + Скриване на менюто & за помощ + Скриване на бутоните за харесване и нехаресване + Скрийте менюто „Пусни следващия клип“ + Скрийте менюто „Качество“ + Скрийте менюто „Премахване от библиотеката“ + Скрийте менюто „Изтриване на плейлист“ + Меню за докладване + Скрийте менюто „Запазване за гледане по-късно“ + Скрийте менюто „Запазване в библиотеката“ + Скрийте менюто „Запазване в плейлист“ + Скрийте менюто „Споделяне“ + Скрийте бутона „Разбъркване“ + Скрийте менюто „Изчакване на заспиване“ + Скрийте менюто „Стартиране на радио“ + Меню \"Статистика за сис. администратори\" + Скрийте менюто „Абониране“ / „Отписване“ + Скрийте менюто „Подробности за заглавие“ + Рекламите на цял екран са блокирани. (Тип на диалоговия прозорец: %s) + Рекламите на цял екран са затворени. + Скриване на рекламите в режим на цял екран. + Скриване на рекламите в режим на цял екран + "Ако е активирана, рекламата на цял екран се затваря чрез бутона Затвори. +Ако е деактивирано, рекламата на цял екран е блокирана. (могат да възникнат нежелани реакции)" + Как да затворите реклами на цял екран + Скриване на общите реклами. + Скриване на общите реклами + Скрива имейл/@ник в менюто за промяна на акаунта. Скриване на връзки + Скрива бутона \"История\" от лентата с инструменти. + Скрийте бутона \"История\" + Скрива реклами преди възпроизвеждане на музика. + Скриване на музикални реклами Скриване лентата за навигация. Скриване лентата за навигация + Скрива. бутона за Преглед. + Скриване на бутона \"навигация\" + Скрива бутона \"Начало\". + Скриване на бутон за Начало Скриване на навигационен панел + Бутона за Библиотека + Скрива бутона „Известие“ от лентата с инструменти. + Бутон за Известия + Скриване на платените промоции. + Скриване на платените промоции + Скрива рафтовете с карти „Списъци за изпълнение“ в емисии. + Скрийте рафтовете „Списъци за изпълнение“ + Скрива изскачащи реклами Premium. + Скриване на изскачащи реклами Premium + Скриване на банера за подновяване на Premium. + Скриване на банера за подновяване на Premium + Скриване на рафтовете с Семпли в емисиите. + Скрийте рафта „Семпли“ + Списък с имена на менюта на параметри за филтриране, разделени с нов ред. + Филтър на менюто „Настройки“ + "Скриване на елементи от менюто с настройки. +Това не само скрива менюто с настройки на YT Music, но и менюто с разширени настройки на ReVanced." + Скрийте менюто „Настройки“ + Скрива бутона „звуково търсене на музика“ от лентата за търсене. + Бутон за \"Звуково търсене\" + Скриване на бутона „Докоснете за актуализиране“. + Скрийте бутона „Докоснете за актуализиране“ + Скриване на подробностите за поверителност / правила и условия. + Скриване на информацията за поверителност + Скрива бутона „Гласово търсене“ от лентата за търсене. + Бутон за \"гласово търсене\" + Акаунт + Лента с действия + Реклами + Падащо меню + Главни + Лента за навигация + Плеър + "Премахва диалоговите прозорци. Това не заобикаля възрастовите ограничения, но ги приема автоматично." + Скриване на прозореца за възрастово ограничение + Видеото продължава от текущото време на гледане, когато отидете в YouTube. + Продължете да гледате + Заменя менюто „Премахване от опашката“ с менюто „Гледайте в YouTube“. + Заменете менюто „Премахване от опашката“ + Гледайте в YouTube + Невалиден Url адрес на видеото. + Запазва менюто Доклад в раздела за коментари непокътнато. + Запазете доклада в коментарите + Заменя менюто Доклад с менюто Скорост на възпроизвеждане. + Заменете менюто „Докладвай“ + Възстановява стария стил на рафт \"Библиотека\". (Експериментално) + Възстановете стария стил на рафта „Библиотека“ Относно Данните за нехаресване са от Return YouTube Dislike API. Докоснете за да научите повече. Компактен бутон за харесване Нехаресвания като процент Нехаресванията не са достъпни (достигнат лимит на API). Скрит + "Заменя клиентската версия със старата. + +• Това ще промени външния вид на приложението, но може да възникнат неизвестни проблеми. +• Ако деактивирате тази опция, след като я активирате, старият интерфейс може да остане, докато данните на приложението не бъдат изчистени." + 4.27.53 - Деактивира радио режима в регионите на Канада + 6.11.52 -Изключва речта в реално време + Задайте желаната фалшива версия на приложението. + Подлъгване за версията на приложението + Подлъгване за версията на приложението diff --git a/src/main/resources/music/translations/el-rGR/strings.xml b/src/main/resources/music/translations/el-rGR/strings.xml index e23bf723f..ef3bfe004 100644 --- a/src/main/resources/music/translations/el-rGR/strings.xml +++ b/src/main/resources/music/translations/el-rGR/strings.xml @@ -251,6 +251,8 @@ Βίντεο Απομνημόνευση της τελευταίας ταχύτητας αναπαραγωγής που επιλέχθηκε. Απομνημόνευση αλλαγών ταχύτητας αναπαραγωγής + Εμφάνιση μηνύματος στο κάτω μέρος της οθόνης κατά την αλλαγή προεπιλεγμένης ταχύτητας αναπαραγωγής. + Εμφάνιση μηνύματος Η προεπιλεγμένη ταχύτητα άλλαξε σε %s. Απομνημόνευση της κατάστασης του κουμπιού επανάληψης. Απομνημόνευση κατάστασης επανάληψης @@ -258,6 +260,8 @@ Απομνημόνευση κατάστασης ανακατέματος Απομνημόνευση της τελευταίας ποιότητας βίντεο που επιλέχθηκε. Απομνημόνευση αλλαγών ποιότητας βίντεο + Εμφάνιση μηνύματος στο κάτω μέρος της οθόνης κατά την αλλαγή προεπιλεγμένης ποιότητας βίντεο. + Εμφάνιση μηνύματος Η προεπιλεγμένη ποιότητα δεδομένων άλλαξε σε %s. Αποτυχία ρύθμισης της ποιότητας. Η προεπιλεγμένη ποιότητα με Wi-Fi άλλαξε σε %s. diff --git a/src/main/resources/music/translations/es-rES/strings.xml b/src/main/resources/music/translations/es-rES/strings.xml index 7709c272c..8bcf743ec 100644 --- a/src/main/resources/music/translations/es-rES/strings.xml +++ b/src/main/resources/music/translations/es-rES/strings.xml @@ -1,16 +1,53 @@ + Continuar + "GmsCore no tiene permiso para ejecutarse en segundo plano. + +Sigue la guía \"Don't kill my app!\" para tu dispositivo y aplica las instrucciones a tu instalación de GmsCore. + +Esto es necesario para que la aplicación funcione." + "Las optimizaciones de la batería para GmsCore deben estar desactivadas para evitar problemas. + +Pulsa el botón de continuar y desactiva las optimizaciones de la batería." + Abrir página Web + Acción necesaria + Activa los ajustes de mensajería en la nube para recibir notificaciones. + Abrir GmsCore + GmsCore no está instalado. Instálalo. + Reemplaza el dominio que está bloqueado en algunas regiones para que las miniaturas de la lista de reproducción, avatares de canales, etc. puedan ser recibidas. + Eludir las restricciones regionales de imágenes + Cambia la hoja de compartir en la app a la hoja de compartir del sistema. + Cambiar la hoja de compartir + Ranking + Explorar + Inicio + Biblioteca + Suscripciones + Seleccione en qué página se abre la aplicación. + Cambiar página de inicio Filtra los nombres de los componentes separados por líneas Editar filtro personalizado Activa los filtros personalizados Activar filtro personalizado + Filtro personalizado no válido: %s. Las velocidades de reproducción personalizadas no son válidas. Restablezca a los valores predeterminados. + Velocidades de reproducción personalizadas no válidas. Utilizando valores predeterminados. Agregar o cambiar las velocidades de reproducción disponibles Editar velocidades de reproducción personalizadas Desactiva la activación automática de los subtítulos forzados en el reproductor de vídeo. Desactivar subtítulos automáticos + Deshabilita la redirección a la siguiente pista al hacer clic en el botón No me Gusta. + Desactivar redirección de No me Gusta + Desactivar el gesto de deslizar para cambiar de pista en el minireproductor. + Desactivar gesto de minireproductor + Desactivar el gesto de deslizar para cambiar de pista en el reproductor. + Desactivar gesto del reproductor Establece el color de la barra de navegación en negro. Activar barra de navegación negra + Cambia el color de fondo del reproductor a negro. + Activar fondo de reproductor negro + Habilita la animación de bienvenida \"Cairo\" cuando se inicia la aplicación. + Activar nueva animación de bienvenida Hace coincidir el color del reproductor a pantalla completa con el de minimizado. Activar coincidencia de color de reproductores "Activa el diálogo compacto en el teléfono. @@ -19,16 +56,34 @@ Problemas conocidos: - La carátula del álbum en la estantería de la biblioteca también se hace más pequeña. - El diseño del temporizador puede parecer inusual." Activar diálogo compacto + Incluye el búfer en el registro de depuración. + Incluir búfer en registro de depuración Imprime el registro de depuración Activar registro de depuración Mantiene el reproductor permanentemente minimizado incluso si se reproduce otra pista. Activar reproductor minimizado forzado Permite entrar en modo horizontal mediante la rotación de la pantalla del teléfono. Activar modo horizontal + Añadir botón siguiente pista al minireproductor. + Añadir botón siguiente al minireproductor + Añadir botón pista anterior al minireproductor. + Añadir botón anterior al minireproductor "Activa el códec Opus 250/251 al reproducir audio." Activar códec opus + Permite deslizar hacia abajo para descartar el minireproductor. + Activar deslizar para descartar el minireproductor + "Añade un interruptor para recortar silencios en el menú desplegable de velocidad de reproducción. + +Información: +Esta función es para podcasts. +Esta función aún está en desarrollo, por lo que puede ser inestable." + Añadir interruptor para recortar silencios + También activa el modo Zen para podcasts. + Activar el modo Zen en podcasts Añade un tinte gris al reproductor de vídeo para reducir la fatiga visual. Activar modo zen + Reiniciar para cargar el diseño normalmente + Actualizar y reiniciar Exportar ajustes a archivo Error al exportar los ajustes. Los ajustes se han exportado correctamente. @@ -38,16 +93,45 @@ Problemas conocidos: Importar o exportar ajustes como texto Importar o exportar ajustes como texto. Importar / Exportar - Error de importación: %s. + Error de importación: %s Configuración restablecida por defecto Configuración importada de %d + Restablecer + ReVanced Extended + "El botón Descargar abre su descargador externo. + + • Solo anula el botón de acción Descargar en el reproductor. + • No anula el botón Descargar en el menú desplegable o en la pestaña Biblioteca." + Reemplazar botón de acción de Descarga + Descargador externo + "%1$s no está instalado. +Descarga %2$s desde el sitio web." + Advertencia %s no está instalado. Por favor, instálelo. Nombre del paquete de su aplicación de descargas externas instalada, como NewPipe o YTDLnis. Nombre del paquete del descargador externo Oculta componentes vacíos en el menú de la cuenta Ocultar componente vacío - Ocultar elementos del menú de la cuenta. + Lista de nombres del menú de la cuenta a filtrar separados por una nueva línea. + Filtro de menú de cuenta + Oculta elementos del menú de la cuenta. Ocultar menú de cuenta + Oculta botón Guardar. + Ocultar botón Guardar + Oculta botón de comentarios. + Ocultar botón de comentarios + Oculta el botón Descargar. + Ocultar botón Descargar + Oculta las etiquetas de los botones de acción. + Ocultar etiquetas de botón de acción + Oculta los botones \"Me gusta\" y \"no me gusta\". No funciona en el diseño del reproductor antiguo. + Ocultar botones Me gusta y No me gusta + Oculta el botón Radio. + Ocultar botón de emisoras de radio + Oculta el botón Compartir. + Ocultar botón de compartir + Oculta el interruptor de Audio / Video en el reproductor. + Ocultar Interruptor de Audio / Video Oculta el estante de botones de la página de inicio y del explorador. Ocultar estante de botones Oculta el estante de carrusel de la página de inicio y del explorador. @@ -56,29 +140,156 @@ Problemas conocidos: Ocultar botón de transmisión Oculta la barra de categorías musicales de la parte superior de la página de inicio. Ocultar barra de categorías + Oculta las normas del canal en la parte superior de la sección de comentarios. + Ocultar normas del canal + Oculta los botones marca de tiempo y emoji al escribir comentarios. + Ocultar botones de marca de tiempo y emoji + Oculta la superposición oscura que aparece al tocar dos veces para buscar. + Oculta la capa que aparece al tocar dos veces + Oculta el botón flotante en la pestaña Biblioteca. + Ocultar botón flotante + Ocultar componente de 3 columnas + Ocultar menú de Añadir a la cola + Ocultar menú de Subtítulos + Ocultar menú Borrar lista de reproducción + Ocultar menú de Descartar cola + Ocultar menú de Descarga + Ocultar menú Editar lista de reproducción + Ocultar menú de ir al álbum + Ocultar menú de ir al artista + Ocultar menú de ir a episodios + Ocultar menú de ir al podcast + Ocultar menú Ayuda & Comentarios + Ocultar botones Me gusta y No me gusta + Ocultar menú de reproducción siguiente + Ocultar menú de calidad + Ocultar menú de eliminar de la biblioteca + Ocultar menú de quitar de la lista de reproducción + Ocultar menú Denunciar + Ocultar menú de Guardar episodio para más tarde + Ocultar menú de Guardar en biblioteca + Ocultar menú de Guardar en lista de reproducción + Ocultar menú de Compartir + Ocultar menú de Reproducción aleatoria + Ocultar menú de Temporizador de sueño + Ocultar menú de Iniciar radio + Ocultar menú Estadísticas para Nerds + Ocultar menú Suscribirse / Desuscribirse + Ocultar menú de vista de créditos de canción + Se han bloqueado anuncios en pantalla completa. (Tipo de diálogo: %s) + Se han cerrado anuncios en pantalla completa. + Oculta anuncios en pantalla completa. + Ocultar anuncios en pantalla completa + "Si está habilitado, los anuncios a pantalla completa se cierran mediante el botón Cerrar. +Si está deshabilitado, se bloquean los anuncios a pantalla completa. (puede haber efectos secundarios)" + Cerrar anuncios en pantalla completa + Oculta el botón Compartir en el reproductor de pantalla completa. + Ocultar el botón Compartir en pantalla completa + Oculta anuncios generales. + Ocultar anuncios generales Oculta el asa en el conmutador de cuenta. Ocultar asa Oculta el botón de historial en la barra de herramientas. Ocultar botón de historial Oculta los anuncios antes de reproducir una pista. Ocultar anuncios de música - Ocultar barra de navegación. + Oculta barra de navegación. Ocultar barra de navegación + Oculta el botón Explorar. + Ocultar botón de Explorar + Oculta el botón de Inicio. + Ocultar botón de Inicio Oculta las etiquetas en la barra de navegación. Ocultar etiquetas en barra de navegación + Oculta el botón de la biblioteca. + Ocultar botón de Biblioteca + Oculta el botón de Samples. + Ocultar botón de Samples + Oculta el botón de Actualización. + Ocultar botón de Actualización + Oculta el botón de notificaciones en la barra de herramientas. + Ocultar botón de Notificaciones + Oculta etiqueta de promoción pagada. + Ocultar etiqueta de promoción pagada + Oculta la tarjeta de lista de reproducción del feed. + Ocultar tarjeta de lista de reproducción + Oculta popups de promoción premium. + Ocultar popups de promoción premium + Oculta banner de renovación premium. + Ocultar banner de renovación premium + Oculta estante de Samples en el feed. + Ocultar estante de Samples + Lista de nombres del menú de configuración de YouTube a filtrar separados por una nueva línea. + Filtro de menú de configuración + "Oculta elementos del menú de configuración. +Esto oculta no solo el menú de ajustes de YT Music, sino también el menú de ajustes de ReVanced Extended." + Ocultar menú de configuración + Oculta el botón de búsqueda de sonido en la barra de búsqueda. + Ocultar botón de búsqueda de sonido + Oculta el botón Toque para actualizar. + Ocultar el botón Toque para actualizar Oculta los términos del contenedor de servicio. Ocultar contenedor de términos + Oculta el botón de búsqueda por voz en la barra de búsqueda. + Ocultar botón de búsqueda por voz + Cuenta + Barra de Acción + Anuncios + Menú desplegable + General + Otros + Barra de navegación + Reproductor + Return YouTube Dislike + SponsorBlock + Video + Recuerda la última velocidad de reproducción seleccionada. + Recordar cambios de velocidad de reproducción + Mostrar un mensaje al cambiar la velocidad de reproducción predeterminada. + Mostrar un mensaje + Cambiando la velocidad predeterminada a %s. Recuerda el estado de la repetición. Recordar estado de repetición - Recuerda el estado del aleatorio. - Recordar estado del aleatorio + Recuerda el estado del aleatorio (shuffle). + Recordar estado aleatorio + Recuerda la última calidad de vídeo seleccionada. + Recordar cambios de calidad de vídeo + Mostrar un mensaje al cambiar la calidad de vídeo por defecto. + Mostrar un mensaje + Cambiando la calidad predeterminada con datos móviles a %s. + Error al establecer calidad. + Cambiando la calidad predeterminada con Wi-Fi a %s. + "Elimina el diálogo de discreción del espectador. +Esto no evita la restricción de edad. Solo la acepta automáticamente." + Eliminar diálogo de discreción del espectador + Continúa el vídeo desde el tiempo actual cuando se cambia a YouTube. + Continuar viendo + Reemplaza el menú de descartar cola por el de ver en YouTube. + Reemplazar el menú descartar cola + Ver en YouTube + Url del video no válida. + Mantiene intacto el menú Denunciar en la sección de comentarios. + Mantener Denunciar en comentarios + Reemplaza el menú Denunciar con el menú Velocidad de reproducción. + Reemplazar menú Denunciar + Devuelve los paneles emergentes de comentarios al estilo antiguo. + Restaurar paneles emergentes de comentarios antiguos + Devuelve el fondo del reproductor al estilo antiguo. + Restaurar el fondo del reproductor antiguo + "Devuelve el diseño del reproductor al estilo antiguo. +Algunas características pueden no funcionar correctamente en la disposición del reproductor antiguo." + Activar diseño antiguo del reproductor + Devuelve la pestaña Biblioteca al estilo antiguo. (Experimental) + Restaurar el estante de la biblioteca de estilo antiguo Acerca de Los datos son proporcionados por la API Return YouTube Dislike. Pulse aquí para obtener más información. + ReturnYouTubeDislike.com Oculta el separador del botón Me gusta. Botón Me Gusta compacto En lugar del número de no me gusta, se muestra el porcentaje de no me gusta. Porcentaje de No Me Gusta Muestra el número de vídeos que no te gustan. + Activar Return YouTube Dislike Los No Me Gusta no están disponibles (se alcanzó el límite de la API del cliente) Los no me gusta no están disponibles (estado %d). Los no me gusta están temporalmente no disponibles (la API no responde). @@ -88,12 +299,67 @@ Problemas conocidos: Oculto Elimina los parámetros de consulta de seguimiento de las URL al compartir enlaces. Desinfectar enlaces compartidos + Acerca de + sponsor.ajay.app + Los datos son proporcionados por la API de SponsorBlock. Pulsa aquí para aprender más y ver las descargas para otras plataformas. + Cambiar URL de la API + URL de API cambiada. + La URL de la API no es válida. + Restablecer la URL de la API. + Dirección que el SponsorBlock utiliza para hacer llamadas al servidor. No cambie esto a menos que sepa qué está haciendo. + Color cambiado. + Color: + Código de color inválido. Restablecimiento de color predeterminado. + Restablecer color. + Cambiar el comportamiento del segmento + Activar SponsorBlock + SponsorBlock es un sistema colaborativo para omitir partes molestas en vídeos de YouTube. + Restablecer color + Tangente de relleno / Chistes + Escenas tangenciales añadidas solo para relleno o humor que no son necesarias para entender el contenido principal del vídeo. No incluye segmentos que proporcionen contexto o detalles de fondo. + Recordatorio de interacción (Suscribirse) + Un breve recordatorio para dar me gusta, suscribirse o seguirlos en medio del contenido. Si es largo o sobre algo específico, debe estar en la sección de autopromoción. + Intermedio / Animación de introducción + Un intervalo sin contenido real. Puede ser una pausa, un fotograma estático o una animación que se repite. No incluye transiciones que contengan información. + Música: Sección sin música + Solo para usar en vídeos musicales. Secciones de vídeos musicales sin música, que no estén ya cubiertas por otra categoría. + Tarjetas finales / Créditos + Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información. + Vista previa / Resumen / Gancho + Colección de clips que muestran lo que está por venir o lo que sucedió en el vídeo o en otros vídeos de una serie, donde toda la información se repite en otra parte. + Promoción no remunerada/autopromoción + Cuando hay una autopromoción o no remunerada. Esto incluye secciones específicas sobre mercancía, donaciones o información sobre con quién colaboraron. + Patrocinador + Promoción pagada, referencias pagadas y anuncios directos. No es para promoción propia ni para menciones gratuitas a causas, creadores, sitios web o productos que les gusten. + Omitir automáticamente + Deshabilitar + Relleno omitido. + Recordatorio molesto omitido. + Introducción omitida. + Intermisión omitida. + Intermisión omitida. + Varios segmentos omitidos. + Se omitió una sección sin música. + Créditos omitidos. + Vista previa omitida. + Resumen omitido. + Vista previa omitida. + Autopromoción omitida. + Patrocinador omitido. + SponsorBlock no está disponible temporalmente. + SponsorBlock no está disponible temporalmente. (estado %d). + SponsorBlock no está disponible temporalmente. (la API no responde). + Mostrar mensaje si la API no está disponible + Muestra un mensaje si la API de SponsorBlock no está disponible. + Mostrar mensaje al omitir segmento automáticamente + Mensaje emergente que se muestra cuando se salta un segmento automáticamente. Ajustes copiados en el portapapeles. - "Modificación de la versión del cliente a la versión antigua + "Modificación de la versión del cliente a la versión antigua. -- Esto cambiará la apariencia de la aplicación, pero pueden producirse efectos secundarios desconocidos -- Si más tarde se desactiva, la antigua interfaz de usuario puede permanecer hasta que se borren los datos de la aplicación" +- Esto cambiará la apariencia de la aplicación, pero pueden producirse efectos secundarios desconocidos. +- Si más tarde se desactiva, la antigua interfaz de usuario puede permanecer hasta que se borren los datos de la aplicación." 4.27.53 - Desactivar el modo radio en las regiones canadienses + 6.11.52 - Desactivar letras en tiempo real Seleccione el objetivo de la versión de la app a modificar Objetivo de la versión de la app a modificar Modificar versión de aplicación diff --git a/src/main/resources/music/translations/fr-rFR/strings.xml b/src/main/resources/music/translations/fr-rFR/strings.xml index 0e66c8483..3a3ac9fa0 100644 --- a/src/main/resources/music/translations/fr-rFR/strings.xml +++ b/src/main/resources/music/translations/fr-rFR/strings.xml @@ -253,6 +253,8 @@ Cela masque non seulement le menu paramètre de YT Music, mais également le men Qualité et vitesse vidéo Enregistre la dernière vitesse de lecture sélectionnée. Enregistrer la modification de la vitesse de lecture + Afficher un message lorsque vous modifiez la vitesse de lecture par défaut. + Afficher un message Vitesse de lecture modifiée par %s. Enregistre l\'état du mode répétition. Enregistrer l\'état du mode répétition @@ -260,6 +262,8 @@ Cela masque non seulement le menu paramètre de YT Music, mais également le men Enregistrer l\'état du mode aléatoire Enregistre la dernière qualité vidéo sélectionnée. Enregistrer la modification de la résolution + Afficher un message lorsque vous modifiez la qualité vidéo par défaut. + Afficher un message La résolution sur les données mobiles a été modifiée par %s. Impossible de définir la qualité. La résolution sur le Wi-Fi a été modifiée par %s. diff --git a/src/main/resources/music/translations/id-rID/strings.xml b/src/main/resources/music/translations/id-rID/strings.xml index df8abbf62..fc9902e8d 100644 --- a/src/main/resources/music/translations/id-rID/strings.xml +++ b/src/main/resources/music/translations/id-rID/strings.xml @@ -72,11 +72,11 @@ Masalah yang diketahui: Aktifkan codec opus Enables swipe down to dismiss miniplayer. Enable swipe to dismiss miniplayer - "Adds a Trim silence switch to the playback speed flyout menu. + "Menambahkan tombol Trim silence ke menu flyout playback speed. Info: -• This feature is for podcasts. -• This feature is still in development, so it may be unstable." +• Fitur ini hanya untuk podcast. +• Fitur ini masih dalam pengembangan, jadi ini tidak akan stabil." Tambah switch Trim silence Also enables Zen mode for podcasts. Enable Zen mode in podcasts @@ -98,14 +98,14 @@ Info: Setelan %d diimpor. Reset ReVanced Extended - "Tombol Download membuka Downloader eksternal mu. + "Tombol Unduh membuka Downloader eksternal kamu. -• Hanya menggantikan tombol Download di player. -• Tidak bisa menggantikan tombol download di menu flyout atau tab Library." - Ganti tombol tindakan Download +• Hanya menggantikan tombol Unduh di player. +• Tidak bisa menggantikan tombol Unduh di menu flyout atau tab Library." + Ganti tombol tindakan Unduh Downloader eksternal "%1$s belum terinstall. -Segera download %2$s dari website." +Download %2$s dari website." Peringatan %s tidak diinstal. Silakan instal. Nama paket aplikasi downloader eksternal yang terinstal, seperti NewPipe atau YTDLnis. @@ -114,22 +114,22 @@ Segera download %2$s dari website." Sembunyikan komponen kosong Daftar dari nama-nama menu akun ke filter, terpisah oleh garis baru. Filter menu Akun - Menyembunyikan elemen menu akun menggunakan filter kustom. + Menyembunyikan elemen menu akun menggunakan filter custom. Sembunyikan menu akun - Menyembunyikan tombol Save. + Menyembunyikan tombol Simpan. Sembunyikan tombol Save Menyembunyikan tombol Komentar. Sembunyikan tombol Komentar - Menyembunyikan tombol Download. - Sembunyikan tombol Download + Menyembunyikan tombol Unduh. + Sembunyikan tombol Unduh Menyembunyikan bilah dari tombol tindakan. Sembunyikan tombol bilah tindakan - Menyembunyikan tombol Like dan Dislike. Itu tidak akan work di layout player lawas. + Menyembunyikan tombol Like dan Dislike. Itu tidak akan bekerja di layout player lama. Sembunyikan tombol Like dan Dislike Menyembunyikan tombol Radio. Sembunyikan tombol Radio - Menyembunyikan tombol Share. - Sembunyikan tombol Share + Menyembunyikan tombol Bagikan. + Sembunyikan tombol Bagikan Hides the Audio / Video toggle in the player. Hide Audio / Video toggle Menyembunyikan rak tombol dari beranda dan eksplorasi. @@ -148,40 +148,40 @@ Segera download %2$s dari website." Sembunyikan filter overlay double-tap Hides the floating button in the Library tab. Hide floating button - Hide 3-column component - Hide Add to queue menu - Hide Captions menu - Hide Delete playlist menu - Hide Dismiss queue menu - Hide Download menu - Hide Edit playlist menu - Hide Go to album menu - Hide Go to artist menu - Hide Go to episode menu - Hide Go to podcast menu - Hide Help & feedback menu - Hide Like and Dislike buttons - Hide Play next menu - Hide Quality menu - Hide Remove from library menu - Hide Remove from playlist menu - Hide Report menu - Hide Save episode for later menu - Hide Save to library menu - Hide Save to playlist menu - Hide Share menu - Hide Shuffle play menu - Hide Sleep timer menu - Hide Start radio menu - Hide Stats for nerds menu - Hide Subscribe / Unsubscribe menu - Hide View song credits menu + Sembunyikan komponen 3-kolom + Sembunyikan menu tambahkan ke antrean + Sembunyikan menu teks + Sembunyikan menu hapus playlist + Sembunyikan menu abaikan antrean + Sembunyikan menu Unduh + Sembunyikan menu edit playlist + Sembunyikan menu Pergi ke album + Sembunyikan menu Pergi ke artis + Sembunyikan menu Pergi ke episode + Sembunyikan menu Pergi ke podcast + Sembunyikan menu bantuan & saran + Sembunyikan tombol Like dan Dislike + Sembunyikan menu putar berikutnya + Hide menu Kualitas + Sembunyikan menu hapus dari koleksi + Sembunyikan hapus dari menu playlist + Sembunyikan menu laporkan + Sembunyikan menu simpan episode untuk ditonton nanti + Sembunyikan menu simpan ke koleksi + Sembunyikan menu simpan ke playlist + Sembunyikan menu bagikan + Sembunyikan menu putar acak + Sembunyikan menu waktu tidur + Sembunyikan menu mulai radio + Sembunyikan menu statistik untuk nerds + Sembunyikan menu Subscribe / Unsubscribe + Sembunyikan menu kredit lagu Iklan fullscreen telah diblok. (Blokir: %s) Iklan fullscreen telah ditutup. Menyembunyikan iklan fullscreen. Sembunyikan iklan fullscreen - "Jika Diaktifkan, iklan fullscreen akan ditutup lewat tombol Close. -Jika dimatikan, ikan fullscreen akan di block. (kemungkinan akan ada side effect)" + "Jika diaktifkan, iklan fullscreen akan ditutup lewat tombol Close. +Jika dimatikan, iklan fullscreen akan di block. (kemungkinan akan ada side effect)" "If it is enabled, fullscreen ads are closed through the Close button. If it is disabled, fullscreen ads are blocked. (there may be side effects)" "If it is enabled, fullscreen ads are closed through the Close button. @@ -189,9 +189,9 @@ If it is disabled, fullscreen ads are blocked. (there may be side effects)"Tutup iklan fullscreen Hides the Share button in the fullscreen player. Hide fullscreen Share button - Sembunyikan Iklan Umum. + Menyembunyikan Iklan Umum. Sembunyikan Iklan Umum - Menyembunyikan handle di kelola akun. + Menyembunyikan handle di menu akun. Sembunyikan handle Menyembunyikan tombol riwayat di toolbar. Sembunyikan tombol riwayat @@ -213,14 +213,14 @@ If it is disabled, fullscreen ads are blocked. (there may be side effects)"Hide Upgrade button Hides the Notifications button in the toolbar. Hide Notifications button - Hides the paid promotion label. - Hide paid promotion label + Menyembunyikan label promosi berbayar. + Sembunyikan label promosi berbayar Hides the playlist card shelf in the feed. Hide playlist card shelf Menyembunyikan popup promosi premium. - Sembunykan popup promosi premium + Sembunyikan popup promosi premium Menyembunyikan banner pembaruan premium. - Sembunykan banner pembaruan premium + Sembunyikan banner pembaruan premium Hides the Samples shelf in the feed. Hide Samples shelf Daftar nama menu pengaturan yang akan difilter, dipisahkan dengan baris baru. @@ -232,8 +232,8 @@ Ini tidak hanya menyembunyikan menu pengaturan YT Music, tetapi juga menu pengat Hide sound search button Hides the \'Tap to update\' button. Hide \'Tap to update\' button - Menyembunyikan container ketentuan layanan. - Sembunyikan container ketentuan + Menyembunyikan kontainer ketentuan layanan. + Sembunyikan kontainer ketentuan Hides the voice search button in the search bar. Hide voice search button Akun @@ -249,6 +249,8 @@ Ini tidak hanya menyembunyikan menu pengaturan YT Music, tetapi juga menu pengat Video Remembers the last playback speed selected. Remember playback speed changes + Menunjukkan toast ketika mengubah playback speed semula. + Tampilkan toast Changing default speed to %s. Mengingat keadaan pengulangan. Ingat keadaan pengulangan @@ -256,22 +258,24 @@ Ini tidak hanya menyembunyikan menu pengaturan YT Music, tetapi juga menu pengat Ingat keadaan pengacakan Remembers the last video quality selected. Remember video quality changes + Menunjukkan toast ketika mengubah playback speed semula. + Tampilkan toast Changing default mobile data quality to %s. Failed to set quality. Changing default Wi-Fi quality to %s. "Removes the viewer discretion dialog. This does not bypass the age restriction. It just accepts it automatically." Remove viewer discretion dialog - Continues the video from the current time when switching to YouTube. - Continue watching - Replaces the Dismiss queue menu with the Watch on YouTube menu. - Replace Dismiss queue menu - Watch on YouTube - Invalid video url. - Keeps the Report menu in the comments section intact. - Keep Report in comments - Replaces the Report menu with the Playback speed menu. - Replace Report menu + Melanjutkan video dari waktu saat ini ketika berlaih ke YouTube. + Lanjutkan menonton + Menggantikan menu hapus antrean menjadi tonton di YouTube. + Ganti menu hapus antrean + Tonton di YouTube + Url video tidak valid. + Mempertahankan menu laporkan di bagian komentar. + Simpan laporkan di komentar + Menggantikan menu laporkan dengan menu Kecepatan pemutaran. + Ganti menu laporkan Returns the comments popup panels to the old style. Restore old comments popup panels Returns the player background to the old style. diff --git a/src/main/resources/music/translations/in/strings.xml b/src/main/resources/music/translations/in/strings.xml index df8abbf62..fc9902e8d 100644 --- a/src/main/resources/music/translations/in/strings.xml +++ b/src/main/resources/music/translations/in/strings.xml @@ -72,11 +72,11 @@ Masalah yang diketahui: Aktifkan codec opus Enables swipe down to dismiss miniplayer. Enable swipe to dismiss miniplayer - "Adds a Trim silence switch to the playback speed flyout menu. + "Menambahkan tombol Trim silence ke menu flyout playback speed. Info: -• This feature is for podcasts. -• This feature is still in development, so it may be unstable." +• Fitur ini hanya untuk podcast. +• Fitur ini masih dalam pengembangan, jadi ini tidak akan stabil." Tambah switch Trim silence Also enables Zen mode for podcasts. Enable Zen mode in podcasts @@ -98,14 +98,14 @@ Info: Setelan %d diimpor. Reset ReVanced Extended - "Tombol Download membuka Downloader eksternal mu. + "Tombol Unduh membuka Downloader eksternal kamu. -• Hanya menggantikan tombol Download di player. -• Tidak bisa menggantikan tombol download di menu flyout atau tab Library." - Ganti tombol tindakan Download +• Hanya menggantikan tombol Unduh di player. +• Tidak bisa menggantikan tombol Unduh di menu flyout atau tab Library." + Ganti tombol tindakan Unduh Downloader eksternal "%1$s belum terinstall. -Segera download %2$s dari website." +Download %2$s dari website." Peringatan %s tidak diinstal. Silakan instal. Nama paket aplikasi downloader eksternal yang terinstal, seperti NewPipe atau YTDLnis. @@ -114,22 +114,22 @@ Segera download %2$s dari website." Sembunyikan komponen kosong Daftar dari nama-nama menu akun ke filter, terpisah oleh garis baru. Filter menu Akun - Menyembunyikan elemen menu akun menggunakan filter kustom. + Menyembunyikan elemen menu akun menggunakan filter custom. Sembunyikan menu akun - Menyembunyikan tombol Save. + Menyembunyikan tombol Simpan. Sembunyikan tombol Save Menyembunyikan tombol Komentar. Sembunyikan tombol Komentar - Menyembunyikan tombol Download. - Sembunyikan tombol Download + Menyembunyikan tombol Unduh. + Sembunyikan tombol Unduh Menyembunyikan bilah dari tombol tindakan. Sembunyikan tombol bilah tindakan - Menyembunyikan tombol Like dan Dislike. Itu tidak akan work di layout player lawas. + Menyembunyikan tombol Like dan Dislike. Itu tidak akan bekerja di layout player lama. Sembunyikan tombol Like dan Dislike Menyembunyikan tombol Radio. Sembunyikan tombol Radio - Menyembunyikan tombol Share. - Sembunyikan tombol Share + Menyembunyikan tombol Bagikan. + Sembunyikan tombol Bagikan Hides the Audio / Video toggle in the player. Hide Audio / Video toggle Menyembunyikan rak tombol dari beranda dan eksplorasi. @@ -148,40 +148,40 @@ Segera download %2$s dari website." Sembunyikan filter overlay double-tap Hides the floating button in the Library tab. Hide floating button - Hide 3-column component - Hide Add to queue menu - Hide Captions menu - Hide Delete playlist menu - Hide Dismiss queue menu - Hide Download menu - Hide Edit playlist menu - Hide Go to album menu - Hide Go to artist menu - Hide Go to episode menu - Hide Go to podcast menu - Hide Help & feedback menu - Hide Like and Dislike buttons - Hide Play next menu - Hide Quality menu - Hide Remove from library menu - Hide Remove from playlist menu - Hide Report menu - Hide Save episode for later menu - Hide Save to library menu - Hide Save to playlist menu - Hide Share menu - Hide Shuffle play menu - Hide Sleep timer menu - Hide Start radio menu - Hide Stats for nerds menu - Hide Subscribe / Unsubscribe menu - Hide View song credits menu + Sembunyikan komponen 3-kolom + Sembunyikan menu tambahkan ke antrean + Sembunyikan menu teks + Sembunyikan menu hapus playlist + Sembunyikan menu abaikan antrean + Sembunyikan menu Unduh + Sembunyikan menu edit playlist + Sembunyikan menu Pergi ke album + Sembunyikan menu Pergi ke artis + Sembunyikan menu Pergi ke episode + Sembunyikan menu Pergi ke podcast + Sembunyikan menu bantuan & saran + Sembunyikan tombol Like dan Dislike + Sembunyikan menu putar berikutnya + Hide menu Kualitas + Sembunyikan menu hapus dari koleksi + Sembunyikan hapus dari menu playlist + Sembunyikan menu laporkan + Sembunyikan menu simpan episode untuk ditonton nanti + Sembunyikan menu simpan ke koleksi + Sembunyikan menu simpan ke playlist + Sembunyikan menu bagikan + Sembunyikan menu putar acak + Sembunyikan menu waktu tidur + Sembunyikan menu mulai radio + Sembunyikan menu statistik untuk nerds + Sembunyikan menu Subscribe / Unsubscribe + Sembunyikan menu kredit lagu Iklan fullscreen telah diblok. (Blokir: %s) Iklan fullscreen telah ditutup. Menyembunyikan iklan fullscreen. Sembunyikan iklan fullscreen - "Jika Diaktifkan, iklan fullscreen akan ditutup lewat tombol Close. -Jika dimatikan, ikan fullscreen akan di block. (kemungkinan akan ada side effect)" + "Jika diaktifkan, iklan fullscreen akan ditutup lewat tombol Close. +Jika dimatikan, iklan fullscreen akan di block. (kemungkinan akan ada side effect)" "If it is enabled, fullscreen ads are closed through the Close button. If it is disabled, fullscreen ads are blocked. (there may be side effects)" "If it is enabled, fullscreen ads are closed through the Close button. @@ -189,9 +189,9 @@ If it is disabled, fullscreen ads are blocked. (there may be side effects)"Tutup iklan fullscreen Hides the Share button in the fullscreen player. Hide fullscreen Share button - Sembunyikan Iklan Umum. + Menyembunyikan Iklan Umum. Sembunyikan Iklan Umum - Menyembunyikan handle di kelola akun. + Menyembunyikan handle di menu akun. Sembunyikan handle Menyembunyikan tombol riwayat di toolbar. Sembunyikan tombol riwayat @@ -213,14 +213,14 @@ If it is disabled, fullscreen ads are blocked. (there may be side effects)"Hide Upgrade button Hides the Notifications button in the toolbar. Hide Notifications button - Hides the paid promotion label. - Hide paid promotion label + Menyembunyikan label promosi berbayar. + Sembunyikan label promosi berbayar Hides the playlist card shelf in the feed. Hide playlist card shelf Menyembunyikan popup promosi premium. - Sembunykan popup promosi premium + Sembunyikan popup promosi premium Menyembunyikan banner pembaruan premium. - Sembunykan banner pembaruan premium + Sembunyikan banner pembaruan premium Hides the Samples shelf in the feed. Hide Samples shelf Daftar nama menu pengaturan yang akan difilter, dipisahkan dengan baris baru. @@ -232,8 +232,8 @@ Ini tidak hanya menyembunyikan menu pengaturan YT Music, tetapi juga menu pengat Hide sound search button Hides the \'Tap to update\' button. Hide \'Tap to update\' button - Menyembunyikan container ketentuan layanan. - Sembunyikan container ketentuan + Menyembunyikan kontainer ketentuan layanan. + Sembunyikan kontainer ketentuan Hides the voice search button in the search bar. Hide voice search button Akun @@ -249,6 +249,8 @@ Ini tidak hanya menyembunyikan menu pengaturan YT Music, tetapi juga menu pengat Video Remembers the last playback speed selected. Remember playback speed changes + Menunjukkan toast ketika mengubah playback speed semula. + Tampilkan toast Changing default speed to %s. Mengingat keadaan pengulangan. Ingat keadaan pengulangan @@ -256,22 +258,24 @@ Ini tidak hanya menyembunyikan menu pengaturan YT Music, tetapi juga menu pengat Ingat keadaan pengacakan Remembers the last video quality selected. Remember video quality changes + Menunjukkan toast ketika mengubah playback speed semula. + Tampilkan toast Changing default mobile data quality to %s. Failed to set quality. Changing default Wi-Fi quality to %s. "Removes the viewer discretion dialog. This does not bypass the age restriction. It just accepts it automatically." Remove viewer discretion dialog - Continues the video from the current time when switching to YouTube. - Continue watching - Replaces the Dismiss queue menu with the Watch on YouTube menu. - Replace Dismiss queue menu - Watch on YouTube - Invalid video url. - Keeps the Report menu in the comments section intact. - Keep Report in comments - Replaces the Report menu with the Playback speed menu. - Replace Report menu + Melanjutkan video dari waktu saat ini ketika berlaih ke YouTube. + Lanjutkan menonton + Menggantikan menu hapus antrean menjadi tonton di YouTube. + Ganti menu hapus antrean + Tonton di YouTube + Url video tidak valid. + Mempertahankan menu laporkan di bagian komentar. + Simpan laporkan di komentar + Menggantikan menu laporkan dengan menu Kecepatan pemutaran. + Ganti menu laporkan Returns the comments popup panels to the old style. Restore old comments popup panels Returns the player background to the old style. diff --git a/src/main/resources/music/translations/ja-rJP/strings.xml b/src/main/resources/music/translations/ja-rJP/strings.xml index 955918b15..b5719d556 100644 --- a/src/main/resources/music/translations/ja-rJP/strings.xml +++ b/src/main/resources/music/translations/ja-rJP/strings.xml @@ -13,6 +13,8 @@ GmsCoreがインストールされていません。インストールしてください。 プレイリストのサムネイルやチャンネルアバターなどを受信できるように、一部の地域でブロックされているドメインを置き換えます。 画像表示の地域制限を回避 + アプリ内共有メニューからシステムの共有メニューに置き換えます。 + 共有メニューを変更 チャート 探索 ホーム @@ -33,6 +35,10 @@ 字幕の強制を無効化 低評価ボタンを押したとき、次の曲へのリダイレクトするのを無効にする。 低評価リダイレクトを無効化 + ミニプレーヤーでスワイプによる曲の変更を無効にします + ミニプレーヤージェスチャーを無効にする + プレイヤーでスワイプによる曲の変更を無効にします。 + プレイヤージェスチャーを無効にする ナビゲーションバーの色を黒に設定します。 黒いナビゲーションバーを有効化 プレイヤーの背景の色を黒に固定します。 @@ -242,6 +248,8 @@ YT Music の設定だけでなく、ReVanced Extended の設定も非表示に 動画 再生速度を変更するたびに、再生速度を保存します。 再生速度の変更を保存 + デフォルトの再生速度を変更するときにトーストを表示します。 + トーストを表示 デフォルトの再生速度を %s に変更しました。 リピートの状態を記憶します。 リピートの状態を保存 @@ -249,6 +257,8 @@ YT Music の設定だけでなく、ReVanced Extended の設定も非表示に シャッフルの状態を保存 画質を変更するたびに、画質を保存します。 ビデオ画質の変更を保存 + デフォルトの画質を変更するときにトーストを表示します。 + トーストを表示 モバイルネットワーク使用時のデフォルト画質を %s に変更しました。 画質の設定に失敗しました。 Wi-Fi 使用時のデフォルト画質を %s に変更しました。 diff --git a/src/main/resources/music/translations/ko-rKR/strings.xml b/src/main/resources/music/translations/ko-rKR/strings.xml index 3d8f9ca7f..bdb90f75f 100644 --- a/src/main/resources/music/translations/ko-rKR/strings.xml +++ b/src/main/resources/music/translations/ko-rKR/strings.xml @@ -41,9 +41,9 @@ 자동 자막 비활성화 \'싫어요 버튼을 누르면 다음 트랙으로 리다이렉션\'을 비활성화합니다. 싫어요 리다이렉션 비활성화 - 미니 플레이어에서 트랙을 변경하기 위해 스와이프를 비활성화합니다. + 미니 플레이어에서 \'스와이프 제스처로 트랙 변경\'을 비활성화합니다. 미니 플레이어 제스처 비활성화 - 플레이어에서 트랙을 변경하기 위해 스와이프를 비활성화합니다. + 플레이어에서 \'스와이프 제스처로 트랙 변경\'을 비활성화합니다. 플레이어 제스처 비활성화 하단바 색상을 검정으로 설정합니다. 검정 하단바 활성화 @@ -258,6 +258,8 @@ YT Music 설정 메뉴뿐만 아니라 ReVanced Extended 설정 메뉴도 숨겨 동영상 재생 속도 값을 변경할 때마다 저장합니다. 재생 속도 저장 활성화 + 기본 동영상 재생 속도 값으로 변경되었을 때, 팝업 메시지를 표시합니다. + 팝업 메시지 표시하기 기본 재생 속도 값을 %s으로 변경합니다. 반복 재생 토글 상태를 저장합니다. 반복 상태 저장 @@ -265,6 +267,8 @@ YT Music 설정 메뉴뿐만 아니라 ReVanced Extended 설정 메뉴도 숨겨 셔플 상태 저장 동영상 품질 값을 변경할 때마다 저장합니다. 동영상 품질 저장 활성화 + 기본 동영상 화질 값으로 변경되었을 때, 팝업 메시지를 표시합니다. + 팝업 메시지 표시하기 모바일 네트워크 이용 시 기본 동영상 품질 값을 %s로 변경합니다. 동영상 품질을 설정할 수 없습니다. Wi-Fi 이용 시 기본 동영상 품질 값을 %s로 변경합니다. diff --git a/src/main/resources/music/translations/pl-rPL/strings.xml b/src/main/resources/music/translations/pl-rPL/strings.xml index 143e75658..7c835b2cd 100644 --- a/src/main/resources/music/translations/pl-rPL/strings.xml +++ b/src/main/resources/music/translations/pl-rPL/strings.xml @@ -250,16 +250,20 @@ Działa nie tylko na elementy menu ustawień YT Music, lecz także ReVanced Exte Odtwarzacz Return YouTube Dislike SponsorBlock - Filmy + Teledyski Zapisuje ostatnią wybraną prędkość odtwarzania. Zapamiętuj zmiany prędkości odtwarzania + Komunikaty będą wyświetlane po zmianie domyślnej prędkości odtwarzania. + Komunikaty o zmianie domyślnej prędkości odtwarzania Zmieniono domyślną prędkość odtwarzania na %s. Zapisuje stan pętli. Zapamiętaj stan pętli Zapisuje stan odtwarzania losowego. Zapamiętaj stan odtwarzania losowego - Zapisuje ostatnią wybraną jakość filmu. - Zapamiętuj zmiany jakości filmu + Zapisuje ostatnią wybraną jakość teledysku. + Zapamiętuj zmiany jakości teledysku + Komunikaty będą wyświetlane po zmianie domyślnej jakości filmów. + Komunikaty o zmianie domyślnej jakości filmów Zmieniono domyślną jakość podczas używania sieci mobilnej na %s. Jakość nie została ustawiona. Zmieniono domyślną jakość podczas używania Wi-Fi na %s. diff --git a/src/main/resources/music/translations/pt-rBR/strings.xml b/src/main/resources/music/translations/pt-rBR/strings.xml index 5e049971b..d337559b7 100644 --- a/src/main/resources/music/translations/pt-rBR/strings.xml +++ b/src/main/resources/music/translations/pt-rBR/strings.xml @@ -253,6 +253,8 @@ Isso oculta não apenas o menu de configurações do YT Music, mas também o men Vídeo Lembra a última velocidade de reprodução selecionada. Lembrar mudança na velocidade de reprodução + Exibir uma notificação flutuante quando alterar a velocidade padrão de reprodução. + Mostrar uma notificação flutuante Alterando a velocidade padrão para %s. Lembra o estado da alternância de repetição. Lembrar estado de repetição @@ -260,6 +262,8 @@ Isso oculta não apenas o menu de configurações do YT Music, mas também o men Lembrar estado do modo aleatório Lembra a última qualidade de vídeo selecionada. Lembrar mudança na qualidade do vídeo + Exibir uma notificação flutuante quando alterar a qualidade padrão do vídeo. + Mostrar uma notificação flutuante Alterando a qualidade padrão de dados móveis para %s. Falha ao definir qualidade. Alterando a qualidade padrão do Wi-Fi para %s. diff --git a/src/main/resources/music/translations/ru-rRU/strings.xml b/src/main/resources/music/translations/ru-rRU/strings.xml index ad4ee7961..449f5afc5 100644 --- a/src/main/resources/music/translations/ru-rRU/strings.xml +++ b/src/main/resources/music/translations/ru-rRU/strings.xml @@ -16,6 +16,10 @@ GmsCore не установлен. Установите его. Домен для получения картинок.\nВажно: Вводите только название домена без префикса \"https\:\/\/\". Альтернативный домен + Заменяет заблокированный в некоторых регионах домен, чтобы можно было получать миниатюры плейлистов, аватары каналов и т. д. + Обойти ограничения изображений по региону + Меняет встроенное диалоговое окно \"Поделиться\" на системное. + Изменить список \"Поделиться\" Хит-парады Навигатор Главная @@ -36,6 +40,10 @@ Отключить автоматические субтитры Отключает перенаправление на следующий трек при нажатии на кнопку \"Не нравится\". Отключить переключение при \"Не нравится\" + Отключает свайп для переключения треков в миниплеере. + Отключить жест мини плеера + Отключает свайп для переключения треков в плеере. + Отключить жест плеера Устанавливает чёрный цвет панели навигации. Чёрная панель навигации Меняет адаптивный цвет фона плеера на черный. @@ -221,6 +229,11 @@ Скрыть баннер продления Premium Скрывает полку \"Семплы\" в ленте. Скрыть полку \"Семплы\" + Список названий меню настроек для фильтрации, разделенных новыми строками. + Фильтр настроек меню + "Скрывает элементы меню настроек. +При этом скрывается не только меню настроек YT Music, но и меню настроек ReVanced Extended." + Скрыть меню настроек Скрывает кнопку поиска звука в строке поиска. Скрыть кнопку поиска звука Скрывает кнопку \"Обновить\". @@ -242,6 +255,8 @@ Видео Запоминает последнюю выбранную скорость воспроизведения. Запоминать изменения скорости + Показывать всплывающее уведомление при смене скорости воспроизведения по умолчанию. + Показывать всплывающее уведомление Скорость по умолчанию изменена на %s. Запоминает состояние переключателя \"Повтор воспроизведения\". Запоминать состояние повтора @@ -249,6 +264,8 @@ Запоминать состояние перемешивания Запоминает последнее выбранное качество видео. Запоминать изменения качества видео + Показывать всплывающее уведомление при смене качества видео по умолчанию. + Показывать всплывающее уведомление Качество по умолчанию при моб. сети изменено на %s. Не удалось установить качество. Качество по умолчанию при Wi-Fi изменено на %s. diff --git a/src/main/resources/music/translations/uk-rUA/strings.xml b/src/main/resources/music/translations/uk-rUA/strings.xml index d9975ded8..a2a9c5c82 100644 --- a/src/main/resources/music/translations/uk-rUA/strings.xml +++ b/src/main/resources/music/translations/uk-rUA/strings.xml @@ -11,7 +11,7 @@ Натисніть кнопку продовжити й вимкніть оптимізацію акумулятора." Відкрити сайт Потрібна дія - Увімкніть \"Харні повідомлення\", щоб отримувати сповіщення. + Увімкніть \"Хмарні повідомлення\", щоб отримувати сповіщення. Відкрити GmsCore GmsCore не встановлено. Встановіть. Замінює домен для зображень, заблокований у деяких регіонах, що дозволить отримувати мініатюри списків відтворення, аватари каналів тощо. @@ -253,6 +253,8 @@ Відео Запам\'ятовує останню вибрану швидкість відтворення. Запам\'ятовувати зміни швидкості відтворення + Показує тост під час зміни стандартної швидкості відтворення. + Показувати тост Зміна типової швидкості на %s. Запам\'ятовує стан кнопки \"Повтор відтворення\". Запам\'ятовувати стан повтору @@ -260,6 +262,8 @@ Запам\'ятовувати стан перемішування Запам\'ятовує останню вибрану якість відео. Запам\'ятовувати зміни якості відео + Показує тост під час зміни стандартної якості відео. + Показувати тост Зміна типової якості відео в мобільній мережі на %s. Не вдалося встановити обрану якість. Зміна типової якості відео для Wi-Fi мережі на %s. @@ -298,7 +302,7 @@ Дизлайки недоступні (статус %d). Дизлайки тимчасово недоступні (закінчився час API). Дизлайки недоступні (%s). - Показується тост, якщо API ReturnYouTubeDislike не доступний. + Показує тост, якщо API ReturnYouTubeDislike не доступний. Показувати тост, якщо API не доступний Приховано Видаляє параметри запиту відстеження з URL-адрес під час обміну посиланнями. @@ -354,9 +358,9 @@ SponsorBlock тимчасово недоступний (статус %d). SponsorBlock тимчасово недоступний (закінчився час APІ). Показувати тост, якщо API недоступний - Показується тост, якщо API SponsorBlock не доступний. + Показує тост, якщо API SponsorBlock не доступний. Показати тост, коли сегмент пропущено автоматично - Показується тост, коли сегмент автоматично пропущено. + Показує тост, коли сегмент автоматично пропущено. Налаштування скопійовано до буфера обміну. "Підміна версії клієнта на старішу версію. diff --git a/src/main/resources/music/translations/vi-rVN/strings.xml b/src/main/resources/music/translations/vi-rVN/strings.xml index 6c569c5f3..63d79da72 100644 --- a/src/main/resources/music/translations/vi-rVN/strings.xml +++ b/src/main/resources/music/translations/vi-rVN/strings.xml @@ -14,8 +14,8 @@ Làm theo hướng dẫn 'Don't kill my app!' cho thiết bị của bạn và GmsCore chưa được cài đặt. Hãy cài đặt nó. Thay thế miền bị chặn ở một số khu vực để có thể thu được được ảnh bìa video của danh sách phát, ảnh đại diện kênh, v. v. Bỏ qua hạn chế khu vực cho hình ảnh - Chuyển bảng chia sẻ của ứng dụng sang của hệ thống. - Đổi bảng chia sẻ + Chuyển giao diện chia sẻ trong ứng dụng sang của hệ thống. + Thay đổi giao diện chia sẻ Bảng xếp hạng Khám phá Trang chủ @@ -70,7 +70,7 @@ Hạn chế: Codec Opus Bật thao tác vuốt xuống để loại bỏ trình phát thu nhỏ. Bật thao tác vuốt để loại bỏ trình phát thu nhỏ - "Thêm nút Cắt bỏ khoảng im lặng vào tuỳ chọn tốc độ phát. + "Thêm nút Bật/Tắt Cắt bỏ khoảng im lặng vào tuỳ chọn tốc độ phát. Cụ thể: • Tính năng dành cho podcast. @@ -101,7 +101,7 @@ Hạn chế: • Chỉ ghi đè lên nút Tải xuống trong trình phát. • Không ghi đè lên nút Tải xuống trong Trình đơn tuỳ chọn hoặc Thư viện." Ghi đè nút tải xuống - Trình tải xuống bên thứ ba + Trình tải xuống bên ngoài "%1$s chưa được cài đặt. Vui lòng tải xuống %2$s từ trang web." Chú ý @@ -110,8 +110,8 @@ Hạn chế: Tên gói ứng dụng trình tải xuống Ẩn các mục trống khỏi trình đơn Tài khoản. Ẩn mục trống - Danh sách tên menu tài khoản cần lọc, cách nhau từng dòng một. - Bộ lọc menu tài khoản + Nhập tên các mục Tài khoản mà bạn muốn lọc được phân cách bằng dòng. + Bộ lọc mục Tài khoản Ẩn các thành phần của trình đơn Tài khoản bằng bộ lọc tuỳ chỉnh. Ẩn trình đơn Tài khoản Ẩn nút Lưu trong bảng nút thao tác. @@ -146,7 +146,7 @@ Hạn chế: Ẩn bộ lọc lớp phủ nhấn đúp Ẩn nút nổi trong thẻ Thư viện. Ẩn nút nổi - Ẩn thành phần có 3 dòng + Ẩn thành phần 3 cột Ẩn mục Thêm vào danh sách chờ Ẩn mục Phụ đề Ẩn mục Xoá danh sách phát @@ -247,6 +247,8 @@ Khi bật không chỉ ẩn menu Cài đặt YT Music, mà cả menu Cài đặt Video Ghi nhớ giá trị tốc độ phát được chọn gần đây nhất. Ghi nhớ thay đổi tốc độ phát + Hiện một thông báo ngắn khi thay đổi tốc độ phát mặc định. + Hiện một thông báo ngắn Đã lưu tốc độ phát mặc định thành %s. Ghi nhớ trạng thái phát lặp lại một danh sách phát hoặc phát lặp lại một bài hát. Lưu trạng thái phát lặp lại @@ -254,6 +256,8 @@ Khi bật không chỉ ẩn menu Cài đặt YT Music, mà cả menu Cài đặt Lưu trạng thái phát ngẫu nhiên Ghi nhớ chất lượng video nhạc được chọn gần đây nhất. Ghi nhớ chất lượng video + Hiện một thông báo ngắn khi thay đổi chất lượng mặc định của video. + Hiện một thông báo ngắn Đã lưu chất lượng video mặc định trên mạng di động thành %s. Đặt chất lượng video thất bại. Đã lưu chất lượng video mặc định trên mạng Wi-Fi thành %s. diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..075578341 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..199c7c89b Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..2176d1095 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..7e210f49c Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..325c0e2e6 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..cc9857401 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..221be027b Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..fda197531 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..1e590d18b Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/yt_outline_chevron_down_white_24.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/yt_outline_chevron_down_white_24.png new file mode 100644 index 000000000..f361f09c1 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/yt_outline_chevron_down_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_closed_caption_off_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_closed_caption_off_grey600_24.png index 75002bdd8..6a7c881f3 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_closed_caption_off_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_closed_caption_off_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_grey600_24.png index 34097620a..e8264dfb1 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_white_24.png index 34097620a..e8264dfb1 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_grey600_24.png index deefdfebb..b4fda997b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_white_24.png index deefdfebb..b4fda997b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/quantum_ic_fullscreen_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_button.png index 8ec3f1985..927583ecf 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_timestamp_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_timestamp_button.png index 0e822bb6e..918455b43 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_timestamp_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_copy_timestamp_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_download_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_download_button.png index 866762167..20f5080b2 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_download_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_download_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_speed_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_speed_button.png index 73cb24fdb..8db5c39c6 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_speed_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_speed_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_time_ordered_playlist_button.png index 88fe9a834..aaf0e5847 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_time_ordered_playlist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_time_ordered_playlist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_muted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_muted_button.png index fa7bc154b..f73cd1ed7 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_muted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_muted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_unmuted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_unmuted_button.png index ba0949783..519fb948e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_unmuted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_volume_unmuted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_whitelist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_whitelist_button.png index ab24a57f1..b7d6944ce 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_whitelist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_whitelist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_fill_arrow_repeat_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_fill_arrow_repeat_white_24.png index 5d0811f1e..4038650e2 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_fill_arrow_repeat_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_fill_arrow_repeat_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_repeat_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_repeat_1_white_24.png index b43b7cc8b..dd6307c76 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_repeat_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_repeat_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_shuffle_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_shuffle_1_white_24.png index 06d5f1450..291c0c801 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_shuffle_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_arrow_shuffle_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_gear_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_gear_white_24.png new file mode 100644 index 000000000..362e44846 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_gear_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_exit_white_24.png index 34097620a..e8264dfb1 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_vd_theme_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_vd_theme_24.png index deefdfebb..b4fda997b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_vd_theme_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_vd_theme_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_white_24.png index deefdfebb..b4fda997b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/yt_outline_screen_full_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_closed_caption_off_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_closed_caption_off_grey600_24.png index d16f6e77d..9a9a3ab0b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_closed_caption_off_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_closed_caption_off_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_grey600_24.png index a87c802eb..938ae850e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_white_24.png index a87c802eb..938ae850e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_grey600_24.png index 8077cdafd..a1ffad665 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_white_24.png index 8077cdafd..a1ffad665 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/quantum_ic_fullscreen_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_button.png index 8cd3b84b8..ae6d26ddb 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_timestamp_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_timestamp_button.png index d3f91cdb1..8b3b6d396 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_timestamp_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_copy_timestamp_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_download_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_download_button.png index adfc3cefc..e4f097586 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_download_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_download_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_speed_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_speed_button.png index 574e5de8e..62be6a185 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_speed_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_speed_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_time_ordered_playlist_button.png index 1889d111b..97aa46f6e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_time_ordered_playlist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_time_ordered_playlist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_muted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_muted_button.png index 0ea96f320..571c33a78 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_muted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_muted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_unmuted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_unmuted_button.png index d359eb26d..5f5751d9b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_unmuted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_volume_unmuted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_whitelist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_whitelist_button.png index 1bb71692e..6c7c8072e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_whitelist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_whitelist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_fill_arrow_repeat_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_fill_arrow_repeat_white_24.png index 1335d7119..b2b2e6f44 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_fill_arrow_repeat_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_fill_arrow_repeat_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_repeat_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_repeat_1_white_24.png index 190b452bb..4a75adfae 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_repeat_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_repeat_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_shuffle_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_shuffle_1_white_24.png index 72ff08ff4..dd1ef8145 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_shuffle_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_arrow_shuffle_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_gear_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_gear_white_24.png new file mode 100644 index 000000000..2b6815f58 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_gear_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_exit_white_24.png index a87c802eb..938ae850e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_vd_theme_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_vd_theme_24.png index 8077cdafd..a1ffad665 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_vd_theme_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_vd_theme_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_white_24.png index 8077cdafd..a1ffad665 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/yt_outline_screen_full_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_closed_caption_off_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_closed_caption_off_grey600_24.png index 5c4f9f248..6c2e3d6e5 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_closed_caption_off_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_closed_caption_off_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_grey600_24.png index 271024bc3..d631ae0d3 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_white_24.png index 271024bc3..d631ae0d3 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_grey600_24.png index 3227a0436..e4702e744 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_white_24.png index 3227a0436..e4702e744 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/quantum_ic_fullscreen_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_button.png index 38faa7098..4a417b065 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_timestamp_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_timestamp_button.png index 2ee495901..f9b2fce71 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_timestamp_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_copy_timestamp_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_download_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_download_button.png index 4c9ba1585..7ee1a52af 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_download_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_download_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_speed_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_speed_button.png index b2959cda0..222f3495f 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_speed_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_speed_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_time_ordered_playlist_button.png index 6d90cea67..a6eb2c90a 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_time_ordered_playlist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_time_ordered_playlist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_muted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_muted_button.png index eb6e273b8..a80d65d28 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_muted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_muted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_unmuted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_unmuted_button.png index 6f1a13c9f..e9c207ab3 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_unmuted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_volume_unmuted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_whitelist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_whitelist_button.png index 4da12da9b..3d8403fcc 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_whitelist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_whitelist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_fill_arrow_repeat_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_fill_arrow_repeat_white_24.png index 9e260ff1c..8265eb714 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_fill_arrow_repeat_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_fill_arrow_repeat_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_repeat_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_repeat_1_white_24.png index 3e6e96bb3..27289d274 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_repeat_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_repeat_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_shuffle_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_shuffle_1_white_24.png index faccff747..cdc76769a 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_shuffle_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_arrow_shuffle_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_gear_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_gear_white_24.png new file mode 100644 index 000000000..097ca76a8 Binary files /dev/null and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_gear_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_exit_white_24.png index 271024bc3..d631ae0d3 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_vd_theme_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_vd_theme_24.png index 3227a0436..e4702e744 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_vd_theme_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_vd_theme_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_white_24.png index 3227a0436..e4702e744 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/yt_outline_screen_full_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_closed_caption_off_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_closed_caption_off_grey600_24.png index c45fa82b8..2b5bb5d8e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_closed_caption_off_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_closed_caption_off_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_grey600_24.png index fa3838a7e..ec962d35e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_white_24.png index fa3838a7e..ec962d35e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_grey600_24.png index 66a60db63..87eb4b20e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_white_24.png index 66a60db63..87eb4b20e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/quantum_ic_fullscreen_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_button.png index ede23c0ec..dddff2044 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_timestamp_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_timestamp_button.png index 9e94dc200..f4032b711 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_timestamp_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_copy_timestamp_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_download_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_download_button.png index 1084bce58..7414a3d62 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_download_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_download_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_speed_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_speed_button.png index 42f829840..976cfda93 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_speed_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_speed_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_time_ordered_playlist_button.png index 24a8f417c..cf45b643c 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_time_ordered_playlist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_time_ordered_playlist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_muted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_muted_button.png index 5cd682c75..620286389 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_muted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_muted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_unmuted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_unmuted_button.png index 24ed1918b..9dc60eef6 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_unmuted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_volume_unmuted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_whitelist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_whitelist_button.png index 6e3e22d75..c75eb21bf 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_whitelist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_whitelist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_fill_arrow_repeat_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_fill_arrow_repeat_white_24.png index a3759b904..e7fa8c7c5 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_fill_arrow_repeat_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_fill_arrow_repeat_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_repeat_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_repeat_1_white_24.png index 1dba8781e..8fe13239c 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_repeat_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_repeat_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_shuffle_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_shuffle_1_white_24.png index 2ddb3c4e5..f7471cec2 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_shuffle_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_arrow_shuffle_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_exit_white_24.png index fa3838a7e..ec962d35e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_vd_theme_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_vd_theme_24.png index 66a60db63..87eb4b20e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_vd_theme_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_vd_theme_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_white_24.png index 66a60db63..87eb4b20e 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/yt_outline_screen_full_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_closed_caption_off_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_closed_caption_off_grey600_24.png index 448d1189a..777d3eea9 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_closed_caption_off_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_closed_caption_off_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_grey600_24.png index 8c0361fb0..80336495b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_white_24.png index 8c0361fb0..80336495b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_grey600_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_grey600_24.png index d89c1b793..4f4c275c5 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_grey600_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_grey600_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_white_24.png index d89c1b793..4f4c275c5 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/quantum_ic_fullscreen_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_button.png index 5291b4154..2c31ba6ff 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_timestamp_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_timestamp_button.png index 7b07c46ab..0373d475d 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_timestamp_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_copy_timestamp_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_download_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_download_button.png index b8c7c48dc..b94deec44 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_download_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_download_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_speed_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_speed_button.png index e24723745..4f8d1a708 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_speed_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_speed_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png index e2a1ce775..0091681e0 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_muted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_muted_button.png index ded36d2c7..30f27512d 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_muted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_muted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_unmuted_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_unmuted_button.png index 5906731d2..3a0a8d9d0 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_unmuted_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_volume_unmuted_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_whitelist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_whitelist_button.png index deecc637f..f4e230bd3 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_whitelist_button.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_whitelist_button.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_fill_arrow_repeat_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_fill_arrow_repeat_white_24.png index 86134162b..f851bdd84 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_fill_arrow_repeat_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_fill_arrow_repeat_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_repeat_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_repeat_1_white_24.png index c88d1c02d..a452e3fd2 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_repeat_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_repeat_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_shuffle_1_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_shuffle_1_white_24.png index c11cd3833..8f49a1952 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_shuffle_1_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_arrow_shuffle_1_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_exit_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_exit_white_24.png index 8c0361fb0..80336495b 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_exit_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_exit_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_vd_theme_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_vd_theme_24.png index d89c1b793..4f4c275c5 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_vd_theme_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_vd_theme_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_white_24.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_white_24.png index d89c1b793..4f4c275c5 100644 Binary files a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_white_24.png and b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/yt_outline_screen_full_white_24.png differ diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable/yt_outline_screen_vertical_vd_theme_24.xml b/src/main/resources/youtube/overlaybuttons/thin/drawable/yt_outline_screen_vertical_vd_theme_24.xml index 7f8290b4b..084732f34 100644 --- a/src/main/resources/youtube/overlaybuttons/thin/drawable/yt_outline_screen_vertical_vd_theme_24.xml +++ b/src/main/resources/youtube/overlaybuttons/thin/drawable/yt_outline_screen_vertical_vd_theme_24.xml @@ -1,5 +1,5 @@ - - - - + + + + \ No newline at end of file diff --git a/src/main/resources/youtube/settings/host/values/arrays.xml b/src/main/resources/youtube/settings/host/values/arrays.xml index 0ccbab4f7..078dcde15 100644 --- a/src/main/resources/youtube/settings/host/values/arrays.xml +++ b/src/main/resources/youtube/settings/host/values/arrays.xml @@ -167,46 +167,16 @@ HEART_TINT HIDDEN - - @string/revanced_spoof_client_options_entry_ios - @string/revanced_spoof_client_options_entry_android_testsuite - @string/revanced_spoof_client_options_entry_android_unplugged - @string/revanced_spoof_client_options_entry_android_vr + + @string/revanced_spoof_streaming_data_type_entry_ios + @string/revanced_spoof_streaming_data_type_entry_android_unplugged + @string/revanced_spoof_streaming_data_type_entry_android_vr - + IOS - ANDROID_TESTSUITE ANDROID_UNPLUGGED ANDROID_VR - - @string/revanced_spoof_client_options_entry_ios - @string/revanced_spoof_client_options_entry_android_unplugged - @string/revanced_spoof_client_options_entry_android_vr - - - IOS - ANDROID_UNPLUGGED - ANDROID_VR - - - @string/revanced_spoof_client_options_entry_ios - @string/revanced_spoof_client_options_entry_android_vr - - - IOS - ANDROID_VR - - - @string/revanced_spoof_client_options_entry_ios - @string/revanced_spoof_client_options_entry_android_testsuite - @string/revanced_spoof_client_options_entry_android_vr - - - IOS - ANDROID_TESTSUITE - ANDROID_VR - @string/revanced_spoof_app_version_target_entry_18_17_43 @string/revanced_spoof_app_version_target_entry_18_05_40 diff --git a/src/main/resources/youtube/settings/host/values/strings.xml b/src/main/resources/youtube/settings/host/values/strings.xml index 81c34c08b..3e45062d1 100644 --- a/src/main/resources/youtube/settings/host/values/strings.xml +++ b/src/main/resources/youtube/settings/host/values/strings.xml @@ -129,7 +129,9 @@ Tap here to learn more about DeArrow." Ambient mode is disabled. Disable Ambient mode Forced auto audio tracks are enabled. - Forced auto audio tracks are disabled. + "Forced auto audio tracks are disabled. + +Limitation: This setting does not apply to Shorts." Disable forced auto audio tracks Forced auto captions are enabled. Forced auto captions are disabled. @@ -501,10 +503,12 @@ Side effect: Community post images may be blocked in fullscreen." "Home / Subscription / Search results are filtered to hide content that matches keyword phrases. Limitations: -• Some Shorts may not be hidden. +• Shorts cannot be hidden by channel name. • Some UI components may not be hidden. • Searching for a keyword may show no results." About keyword filtering + 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> + Match whole words Comments are not filtered. Comments are filtered. Hide comments by keywords @@ -513,6 +517,9 @@ Limitations: Videos in home feed are filtered. Hide home videos by keywords "Keywords and phrases to hide, separated by new lines. + +Keywords can be channel names or any text shown in video titles. + Words with uppercase letters in the middle must be entered with the casing (ie: iPhone, TikTok, LeBlanc)." Keywords to hide Search results are not filtered. @@ -521,8 +528,11 @@ Words with uppercase letters in the middle must be entered with the casing (ie: Videos in subscriptions feed are not filtered. Videos in subscriptions feed are filtered. Hide subscription videos by keywords - Keyword \'%1$s\' will hide all videos. - Invalid keyword. Cannot use: \'%s\' as a filter + Keyword will hide all videos: %s. + Cannot use keyword: %s. + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. Latest posts are shown. Latest posts are hidden. Hide latest posts @@ -592,9 +602,6 @@ Words with uppercase letters in the middle must be entered with the casing (ie: Collapse button is shown. Collapse button is hidden. Hide collapse button - Ambient mode menu is shown. - Ambient mode menu is hidden. - Hide Ambient mode menu Audio track menu is shown. Audio track menu is hidden. Hide Audio track menu @@ -763,6 +770,9 @@ Captions" Dislike button is shown. Dislike button is hidden. Hide Dislike button + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button Video link label is shown. Video link label is hidden. Hide full video link label @@ -778,9 +788,9 @@ Captions" Live chat header is shown.\n\nBack button in header will not be hidden. Live chat header is hidden.\n\nBack button in header will not be hidden. Hide live chat header - Location label is shown. - Location label is hidden. - Hide location label + Location button is shown. + Location button is hidden. + Hide location button Navigation bar is shown. Navigation bar is hidden. Hide navigation bar @@ -802,9 +812,9 @@ Captions" Save sound to playlist button is shown. Save sound to playlist button is hidden. Hide save sound to playlist button - Search suggestions are shown. - Search suggestions are hidden. - Hide search suggestions + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button Share button is shown. Share button is hidden. Hide Share button @@ -827,6 +837,9 @@ Side effect: Official headers in search results will be hidden." Shop button is shown. Shop button is hidden. Hide Shop button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button Sound button is shown. Sound button is hidden. Hide sound button @@ -845,6 +858,15 @@ Side effect: Official headers in search results will be hidden." Toolbar is shown. Toolbar is hidden. Hide toolbar + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button Title is shown. Title is hidden. Hide video title @@ -1026,8 +1048,6 @@ Tap and hold to open whitelist setting dialog. Quick actions Recommended video Shorts shelves - About - Spoof client options Tool used View count filter Hide or show elements in account menu and You tab. @@ -1081,8 +1101,8 @@ Tap and hold to open whitelist setting dialog. Hide or show components in the Shorts player. Shorts player Shorts - Spoof the client to prevent playback issues. - Spoof client + Spoof the streaming data to prevent playback issues. + Spoof streaming data Swipe controls Hide or change components located on the toolbar, such as the search bar, toolbar buttons, and header. Toolbar @@ -1103,10 +1123,16 @@ A different codec will be applied after about 20 seconds of buffering." Playback speed changes only apply to the current video. Playback speed changes apply to all videos. Remember playback speed changes + A toast will not be shown when changing the default playback speed. + A toast will be shown when changing the default playback speed. + Show a toast Changing default speed to %s. Quality changes only apply to the current video. Quality changes apply to all videos. Remember video quality changes + A toast will not be shown when changing the default video quality. + A toast will be shown when changing the default video quality. + Show a toast Changing default mobile data quality to %s. Failed to set video quality. Changing default Wi-Fi quality to %s. @@ -1197,6 +1223,7 @@ Limitation: Dislikes may not appear if the user is not logged in or in incognito Change API URL The address SponsorBlock uses to make calls to the server. Minimum segment duration + Invalid time duration. Segments shorter than this value (in seconds) will not be shown or skipped. Enable skip count tracking Skip count tracking is not enabled. @@ -1362,12 +1389,6 @@ Limitation: Dislikes may not appear if the user is not logged in or in incognito Meta panel bottom margin Press and hold the timestamp to change the Shorts repeat status. Timestamp long press action - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed "Shows the video title section in fullscreen. Limitation: Video title disappears when clicked." @@ -1411,80 +1432,29 @@ Info: This will change the appearance and features of the app, but unknown side effects may occur. If later turned off, it is recommended to clear the app data to prevent UI bugs." - Unplayable video - General - Live streams - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - Spoofed client is hidden in Stats for nerds. - Spoofed client is shown in Stats for nerds. - Show in Stats for nerds - "Client is not spoofed. Video playback may not work." - Client is spoofed. - Spoof client - "Spoof client to Android Testsuite. - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• End screen cards are missing. -• Low quality seekbar thumbnail." - Android Testsuite - "Spoof client to Android TV (YouTube TV). - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• Low quality seekbar thumbnail. -• Some live streams are not supported for playback." - Android TV - "Spoof client to Android VR. - -Side effects include: -• No HDR video. -• Download button of video action bar is missing. -• Paused videos can randomly resume. -• Low quality Shorts seekbar thumbnails. -• Kids videos do not play." - Android VR - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch history does not work with a brand account." - iOS - Turning off this setting may cause video playback issues. "Spoofs the device dimensions to the maximum value. High quality may be unlocked on some videos that require high device dimensions, but not all videos." Spoof device dimensions - "Player parameter not spoofed for feed videos. - -Limitation: Feed videos will play for less than 1 minute before encountering playback issues." - "Player parameter spoofed for feed videos. - -Limitation: Automatically played feed videos will show up in your watch history." - Spoof player parameter in feed - "Spoofs player parameters to prevent playback issues. + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. -Limitations: -• Enhanced bitrate is not available. -• No seekbar thumbnails for paid videos. -• Offline downloads may not work. -• Video may not start from the last watched time." - Spoof player parameter +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. Swipe gestures are disabled in Lock screen mode. Swipe gestures are enabled in Lock screen mode. Swipe gestures in Lock screen mode @@ -1507,17 +1477,10 @@ Limitations: • You should disable this setting to make video ads visible." Swap Create and Notifications buttons Stock - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN." - • Follows the watch history settings of Google account. • Watch history is blocked. - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - "• Follows the watch history settings of Google account. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. Status of watch history Click to open the YouTube watch history management. Manage all history diff --git a/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/src/main/resources/youtube/settings/xml/revanced_prefs.xml index 758ff42cb..ec996d82c 100644 --- a/src/main/resources/youtube/settings/xml/revanced_prefs.xml +++ b/src/main/resources/youtube/settings/xml/revanced_prefs.xml @@ -207,6 +207,7 @@ + @@ -333,20 +334,19 @@ SETTINGS: HIDE_PLAYER_FLYOUT_MENU --> - - - + + + @@ -466,25 +466,29 @@ - - @@ -566,14 +571,14 @@ - + - + @@ -605,32 +610,16 @@ - + - - - - - - - - - - - - - - - + + + + + + @@ -742,18 +727,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_dislike_off_32c.xml b/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_dislike_off_32c.xml index 6022bbe42..59b94d86b 100644 --- a/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_dislike_off_32c.xml +++ b/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_dislike_off_32c.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_like_off_32c.xml b/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_like_off_32c.xml index e86d8426d..6d0d226d8 100644 --- a/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_like_off_32c.xml +++ b/src/main/resources/youtube/shorts/actionbuttons/youtubeoutline/drawable/ic_right_like_off_32c.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/src/main/resources/youtube/translations/ar/missing_strings.xml b/src/main/resources/youtube/translations/ar/missing_strings.xml index db0499a42..8d233f59b 100644 --- a/src/main/resources/youtube/translations/ar/missing_strings.xml +++ b/src/main/resources/youtube/translations/ar/missing_strings.xml @@ -22,10 +22,4 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed diff --git a/src/main/resources/youtube/translations/ar/strings.xml b/src/main/resources/youtube/translations/ar/strings.xml index 4a2aec7a5..2ed7a8233 100644 --- a/src/main/resources/youtube/translations/ar/strings.xml +++ b/src/main/resources/youtube/translations/ar/strings.xml @@ -123,7 +123,9 @@ تم تعطيل وضع الإضاءة السينمائية. تعطيل وضع الإضاءة السينمائية تم تمكين المقطع الصوتي التلقائي المفروض. - تم تعطيل المقطع الصوتي التلقائي المفروض. + "تم تعطيل المقطع الصوتي التلقائي المفروض. + +التقييد: لا ينطبق هذا الإعداد على فيديوهات Shorts." تعطيل المقطع الصوتي التلقائي المفروض تم تمكين التَّرْجَمَة التلقائية المفروضة. تم تعطيل التَّرْجَمَة التلقائية المفروضة. @@ -490,21 +492,26 @@ يتم عرض قسم المفاهيم الأساسية. تم إخفاء قسم المفاهيم الأساسية. إخفاء قسم المفاهيم الأساسية - "الصفحة الرئيسية / الاشتراكات / يتم تصفية نتائج البحث لإخفاء المحتوى الذي يطابق عبارات الكلمات الرئيسية + "الصفحة الرئيسية / الاشتراكات / يتم تصفية نتائج البحث لإخفاء المحتوى الذي يطابق عبارات الكلمات الرئيسية. القيود: - • قد لا تكون بعض فيديوهات Shorts مخفية. + • لا يمكن إخفاء فيديوهات Shorts حسب اسم القناة. • قد لا تكون بعض مكونات واجهة المستخدم مخفية. • قد لا يؤدي البحث عن كلمة رئيسية إلى ظهور أية نتائج." حول تصفية الكلمات الرئيسية + سيؤدي وضع علامة اقتباس مزدوجة حول كلمة رئيسية/عبارة إلى منع التطابقات الجزئية لعناوين الفيديو وأسماء القنوات.<br><br>على سبيل المثال،<br><b>\"ai\"</b> سيخفي الفيديو: <b>كيف يعمل الذكاء الاصطناعي؟</b><br>ولكن لن يخفي: <b>What does fair use mean?</b> + مطابقة الكلمات كاملة لا يتم تصفية التعليقات. يتم تصفية التعليقات. إخفاء التعليقات بواسطة الكلمات الرئيسية لا يتم تصفية الفيديوهات في موجز الصفحة الرئيسية. يتم تصفية الفيديوهات في موجز الصفحة الرئيسية. إخفاء فيديوهات الصفحة الرئيسية بواسطة الكلمات الرئيسية - "الكلمات الرئيسية والعبارات المطلوب إخفاءها، مفصولة بأسطر جديدة. -يجب إدخال الكلمات التي تحتوي على أحرف كبيرة في المنتصف مع الغلاف (كمثال: iPhone، TikTok، LeBlanc)." + "الكلمات والعبارات الرئيسية التي يجب إخفاؤها، مفصولة بأسطر جديدة. + +يمكن أن تكون الكلمات الرئيسية عبارة عن أسماء قنوات أو أي نص يظهر في عناوين الفيديو. + +يجب إدخال الكلمات التي تحتوي على أحرف كبيرة في المنتصف باستخدام الأحرف الكبيرة (على سبيل المثال: iPhone، TikTok، LeBlanc)." الكلمات الرئيسية المراد إخفاؤها لا يتم تصفية نتائج البحث. يتم تصفية نتائج البحث. @@ -512,8 +519,11 @@ لا يتم تصفية الفيديوهات في موجز الاشتراكات. يتم تصفية الفيديوهات في موجز الاشتراكات. إخفاء الفيديوهات الخاصة بالاشتراك عن طريق الكلمات الرئيسية - الكلمة الرئيسية \'%1$s\' ستؤدي إلى إخفاء جميع مقاطع الفيديو. - الكلمة الرئيسية غير صالحة. لا يمكن استخدام: \'%s\' كعامل تصفية + الكلمة الرئيسية ستخفي جميع الفيديوهات: %s. + لا يمكن استخدام الكلمة الرئيسية: %s. + إضافة اقتباسات لاستخدام الكلمة الرئيسية: %s. + الكلمة الرئيسية لها بيانات متضاربة: %s. + الكلمة الرئيسية قصيرة جدًا وتتطلب اقتباسات: %s. يتم عرض أحدث المشاركات. تم إخفاء أحدث المشاركات. إخفاء آخر المشاركات @@ -583,9 +593,6 @@ يتم عرض زر الطَيّ. تم إخفاء زر الطَيّ. إخفاء زر الطَيّ - يتم عرض قائمة الإضاءة السينمائية. - تم إخفاء قائمة الإضاءة السينمائية. - إخفاء قائمة الإضاءة السينمائية يتم عرض قائمة المقطع الصوتي. تم إخفاء قائمة المقطع الصوتي. إخفاء قائمة المقطع الصوتي @@ -754,6 +761,9 @@ يتم عرض زر لم يعجبني. تم إخفاء زر لم يعجبني. إخفاء زر لم يعجبني + "يتم عرض الأزرار العائمة مثل 'استخدام هذا الصوت' في علامة تبويب قناة Shorts." + "تم إخفاء الأزرار العائمة مثل 'استخدام هذا الصوت' في علامة تبويب قناة Shorts." + إخفاء الزر العائم يتم عرض تسمية رابط الفيديو. تم إخفاء تسمية رابط الفيديو. إخفاء تسمية رابط الفيديو الكامل @@ -769,9 +779,9 @@ يتم عرض Header المحادثات المباشرة.\n\nزر رجوع في Header لن يتم إخفاؤه. تم إخفاء Header المحادثات المباشرة.\n\nزر رجوع في Header لن يتم إخفاؤه. إخفاء Header المحادثات المباشرة - يتم عرض تسمية الموقع. - تم إخفاء تسمية الموقع. - إخفاء تسمية الموقع + يتم عرض زر الموقع. + تم إخفاء زر الموقع. + إخفاء زر الموقع يتم عرض شريط التنقل. تم إخفاء شريط التنقل. إخفاء شريط التنقل @@ -793,9 +803,9 @@ يتم عرض زر حفظ الصوت في قائمة التشغيل. تم إخفاء زر حفظ الصوت في قائمة التشغيل. إخفاء زر حفظ الصوت إلى قائمة التشغيل - يتم عرض اقتراحات البحث. - تم إخفاء اقتراحات البحث. - إخفاء اقتراحات البحث + يتم عرض زر اقتراحات البحث. + تم إخفاء زر اقتراحات البحث. + إخفاء زر اقتراحات البحث يتم عرض زر مشاركة. تم إخفاء زر مشاركة. إخفاء زر مشاركة @@ -818,6 +828,9 @@ يتم عرض زر المتجر. تم إخفاء زر المتجر. إخفاء زر التسوق + يتم عرض زر التسوق. + تم إخفاء زر التسوق. + إخفاء زر التسوق يتم عرض زر الصوت. تم إخفاء زر الصوت. إخفاء زر الصوت @@ -836,6 +849,15 @@ يتم عرض شريط الأدوات. تم إخفاء شريط الأدوات. إخفاء شريط الأدوات + يتم عرض زر الرائجة. + تم إخفاء زر الرائجة. + إخفاء زر الرائجة + يتم عرض زر القالب. + تم إخفاء زر القالب. + إخفاء زر استخدام القالب + يتم عرض زر استخدام هذا الصوت. + تم إخفاء زر استخدام هذا الصوت. + إخفاء زر استخدام هذا الصوت يتم عرض العنوان. تم إخفاء العنوان. إخفاء عنوان الفيديو @@ -899,7 +921,7 @@ الأقصر من المـدة إخفاء مقاطع الفيديو التي تقل مدتها عن المدة أو أطول منها.\n\nمشكلة معروفة: لن يؤدي ذلك إلى إخفاء مقاطع الفيديو في مقاطع الفيديو ذات الصلة بالمشغل، بل سيخفي الطابع الزمني بدلاً من ذلك. إخفاء الفيديوهات بناءً على المـدة - إخفاء الفيديوهات الموصى بها والتي يقل عدد مشاهداتها عن عدد محدد. + إخفاء الفيديوهات الموصى بها التي حصلت على عدد أقل من عدد معين من المشاهدات.\n\nمشكلة معروفة: لا يتم تصفية الفيديوهات التي حصلت على 0 مشاهدة. إخفاء الفيديوهات الموصى بها عن طريق المشاهدات سيتم إخفاء الفيديوهات التي تزيد مشاهداتها عن هذا الرقم. الأكبر من المشاهدات @@ -1010,8 +1032,6 @@ الإجراءات السريعة الفيديو الموصى به رفوف Shorts - لمحة - خيارات Spoof Client الأداة المستخدمة تصفية عدد المشاهدات إخفاء أو عرض العناصر في قائمة الحساب وعلامة التبويب أنت. @@ -1065,8 +1085,8 @@ إخفاء أو عرض المكونات في مشغل Shorts. مُشَغِل Shorts Shorts - محاكاة العميل لمنع مشاكل التشغيل. - Spoof Client + تزييف بيانات البث لمنع حدوث مشكلات أثناء التشغيل. + Spoof Streaming Data التحكم عبر إيماءة التمرير إخفاء أو تغيير المكونات الموجودة على شريط الأدوات، مثل شريط الأدوات وأزرار شريط الأدوات والعلامة. شريط الأدوات @@ -1080,17 +1100,23 @@ يجب أن يكون الهامش العلوي للإجراءات السريعة بين 0-32. إعادة التعيين إلى القيم الافتراضية. تكوين التباعد من شريط التقدم إلى حاوية الإجراء السريع، بين 0-32. هامش إجراءات سريعة أعلى - "يرفض بقوة استجابة برنامج الترميز AV1. - بعد حوالي 20 ثانية من التخزين المؤقت، يقوم بالتبديل إلى برنامج ترميز مختلف." + "يرفض قسرًا استجابة برنامج ترميز AV1. +سيتم تطبيق برنامج ترميز مختلف بعد حوالي 20 ثانية من التخزين المؤقت." رفض استجابة برنامج الترميز AV1 تؤدي العملية الاحتياطية إلى حوالي 20 ثانية من التخزين المؤقت. تنطبق تغييرات سرعة التشغيل على الفيديو الحالي فقط. تنطبق تغييرات سرعة التشغيل على جميع الفيديوهات. تذكر التغيرات في سرعة التشغيل + لن يتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية. + سيتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية. + عرض ملاحظة تغيير السرعة الافتراضية إلى %s. تنطبق تغييرات الجودة على الفيديو الحالي فقط. تنطبق تغييرات الجودة على جميع الفيديوهات. تذكر تغييرات جودة الفيديو + لن يتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية. + سيتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية. + عرض ملاحظة تغيير جودة بيانات الجوّال الافتراضية إلى %s. فشل في تعيين جودة الفيديو. تغيير جودة Wi-Fi الافتراضية إلى %s. @@ -1180,6 +1206,7 @@ تغيير عنوان API العنوان الذي يستخدمه SponsorBlock لإجراء اتصالات إلى الخادم. الحد الأدنى لمدة المقطع + مدة الوقت غير صالحة. لن يتم عرض أو تخطي المقاطع الأقصر من هذه القيمة (بالثواني). تمكين تتبع مرات التخطي تم تعطيل تتبع مرات التخطي. @@ -1195,7 +1222,7 @@ يجب أن يبقى هذا خاصًا. انه مثل كلمة المرور ولا ينبغي مشاركته مع أي شخص. إذا كان شخص ما يملك هذا، فيمكنه انتحال شخصيتك. تمت قراءتها من المستحسن قراءة الإرشادات لمانع الرعاة قبل تقديم أي مقطع. - اعرضها لي + اعرضها توجد إرشادات الإرشادات تحتوي على نصائح حول تقديم المقاطع. عرض الإرشادات @@ -1381,80 +1408,29 @@ سيؤدي هذا إلى تغيير مظهر ومميزات التطبيق، ولكن قد تحدث تأثيرات جانبية غير معروفة. إذا تم إيقاف تشغيله لاحقا، من المستحسن مسح بيانات التطبيق لمنع حدوث أخطاء في واجهة المستخدم." - الفيديو غير قابل للتشغيل - عام - بث مباشر - Android - Android Testsuite - Android TV - Android VR - iOS - مقاطع ,Shorts - تم إخفاء محاكاة العميل في إحصاءات تقنية. - يتم عرض محاكاة العميل في إحصاءات تقنية. - عرض في إحصاءات تقنية - "لا تتم محاكاة العميل. قد لا يعمل تشغيل الفيديو." - تتم محاكاة العميل. - Spoof Client - "تتم محاكاة العميل إلـى Android Testsuite. - -تشمل الآثار الجانبية ما يلي: -• لا يوجد فيديو بتقنية HDR. -• قائمة المقطع الصوتي مفقودة. -• قد لا تكون الترجمة متاحة. -• زر التنزيل مفقود. -• بطاقات شاشة النهاية مفقودة. -• مصغرات شريط التقدم ذات جودة منخفضة." - Android Testsuite - "تتم محاكاة العميل إلـى Android TV (YouTube TV). - -تشمل الآثار الجانبية ما يلي: -• لا يوجد فيديو بتقنية HDR. -• قائمة المقطع الصوتي مفقودة. -• قد لا تكون الترجمة متاحة. -• زر التنزيل مفقود. -• بعض البثوث المباشرة غير مدعومة للتشغيل. -• مصغرات شريط التقدم ذات جودة منخفضة." - Android TV - "تتم محاكاة العميل إلـى Android VR. - -تشمل الآثار الجانبية ما يلي: -• لا يوجد فيديو بتقنية HDR. -• زر التنزيل لشريط إجراءات الفيديو مفقود. -• استئناف مقاطع الفيديو المتوقفة مؤقتًا يتم بشكل عشوائي. -• مصغرات شريط تقدم Shorts ذات جودة منخفضة. -• مقاطع فيديو الأطفال لا تعمل." - Android VR - "تتم محاكاة العميل إلـى iOS. - -تشمل الآثار الجانبية ما يلي: -• فيديو HDR مدعوم فقط على الترميز AV1. -• لا يتم حفظ وقت المشاهدة في سجل المشاهدة على حساب العلامة التجارية." - "تتم محاكاة العميل إلـى iOS. - -تشمل الآثار الجانبية ما يلي: -• فيديو HDR مدعوم فقط على الترميز AV1. -• سجل المشاهدة لا يعمل مع حساب العلامة التجارية." - iOS - إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو. "يوهم أبعاد الجهاز من أجل فتح جودة فيديو أعلى قد لا تكون متوفرة على جهازك. قد يتم توفير الجودة العالية في بعض مقاطع الفيديو التي تتطلب أبعادًا عالية للجهاز، ولكن ليس كل مقاطع الفيديو." إيهام أبعاد الجهاز - "Player Parameter not Spoofed for Feed Videos - -التقييد: سيتم تشغيل مقاطع الفيديو الموجزة لمدة تقل عن دقيقة واحدة قبل مواجهة مشاكل التشغيل." - "Player Parameter Spoofed for Feed Videos - -التقييد: ستظهر مقاطع الفيديو التي يتم تشغيلها تلقائيًا في سجل المشاهدة لديك." - Spoof Player Parameter in Feed - "لمنع مشاكل التشغيل Spoofs Player Parameters + ترميز فيديو iOS هو AVC (H.264) أو VP9 أو AV1. + ترميز فيديو iOS هو AVC (H.264). + فرض iOS AVC (H.264) + "قد يؤدي تمكين هذا إلى تحسين عمر البطارية وإصلاح مشكلة تقطيع التشغيل. -القيود: -• معدل البث المحسن غير متوفر. -• لا توجد مُصَّغَرات في شريط التقدم للمقاطع المدفوعة. -• قد لا تعمل التنزيلات دون اتصال بالإنترنت. -• قد لا يبدأ الفيديو من وقت المشاهدة الأخير." - Spoof Player Parameter +يتمتع تنسيق AVC (H.264) بدقة قصوى تبلغ 1080P، وسيستخدم تشغيل الفيديو بيانات إنترنت اكثر من VP9 أو AV1." + التأثيرات الجانبية للتزييف + • قد لا يتم تشغيل الفيديو. + تم إخفاء العميل المستخدم لجلب بيانات البث في إحصاءات تقنية. + يتم عرض العميل المستخدم لجلب بيانات البث في إحصاءات تقنية. + عرض في إحصاءات تقنية + "لا يتم تزييف بيانات البث. قد لا يعمل تشغيل الفيديو." + يتم تزييف بيانات البث. + Spoof Streaming Data + Android + Android TV + Android VR + iOS + العميل الافتراضي + إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو. تم تعطيل إيماءات التمرير في وضع شاشة القفل. تم تمكين إيماءات التمرير في وضع شاشة القفل. إيماءات التمرير في وضع قفل الشاشة @@ -1485,17 +1461,10 @@ • يجب عليك تعطيل هذا الإعداد لجعل إعلانات الفيديو مرئية." تبديل أزرار الإنشاء و الإشعارات الإفتراضي - "• يتبع إعدادات سجل المشاهدة لحساب Google. -• قد لا يعمل سجل المشاهدة بسبب DNS أو VPN." - • يتبع إعدادات سجل المشاهدة لحساب Google. • سجل المشاهدة محظور. - "• يتبع إعدادات سجل المشاهدة لحساب Google. -• قد لا يعمل سجل المشاهدة بسبب DNS أو VPN. -• قد لا يعمل سجل المشاهدة مع حساب العلامة التجارية. -(يتم تمكين إعداد Spoof Client وتحديد عميل iOS)" - "• يتبع إعدادات سجل المشاهدة لحساب Google. -• قد لا يعمل سجل المشاهدة مع حساب العلامة التجارية. -(يتم تمكين إعداد Spoof Client وتحديد عميل iOS)" + "• يتبع إعدادات سجل المشاهدة لحساب Google. +• قد لا يعمل سجل المشاهدة بسبب DNS أو VPN." + • يتبع إعدادات سجل المشاهدة لحساب Google. حالة سجل المشاهدة انقر لفتح إدارة سجل مشاهدة YouTube. إدارة كل السجلات diff --git a/src/main/resources/youtube/translations/bg-rBG/missing_strings.xml b/src/main/resources/youtube/translations/bg-rBG/missing_strings.xml index 2097da1c6..316ab8eb8 100644 --- a/src/main/resources/youtube/translations/bg-rBG/missing_strings.xml +++ b/src/main/resources/youtube/translations/bg-rBG/missing_strings.xml @@ -3,122 +3,14 @@ Don\'t show again The domain to fetch images from.\nNote: Only enter the domain name, i.e., without the \"https\:\/\/\" prefix. Alternative domain - Using original image host.\n\nEnabling this can fix missing images that are blocked in some regions. - Using image host yt4.ggpht.com. - Bypass image region restrictions - In-app share sheet is used. - System share sheet is used. - Change share sheet - Browse channels Courses / Learning - Gaming - Live - Movies - Music Playables - Sports - Watch later - Invalid start page, resetting to default. - Player overlay opacity must be between 0-100. Reset to default values. - Ambient mode is enabled in fullscreen. - Ambient mode is disabled in fullscreen. - Ambient mode is enabled. - Ambient mode is disabled. - Like and Dislike buttons will glow when mentioned. - Like and Dislike buttons will not glow when mentioned. - Disable Like and Dislike button glow - Cairo seekbar is disabled. - "Cairo seekbar is enabled. - -Side effect: Cairo theme is also applied to notification dots." - Enable Cairo seekbar - Enable the OPUS codec if the player response includes the OPUS codec. - Enable OPUS codec - Do not save and restore brightness when exiting or entering fullscreen. - Save and restore brightness when exiting or entering fullscreen. - Enable save and restore brightness - Timestamp is disabled. - "Timestamp is enabled. - -Limitations: -• This setting not only enables timestamps, but also allows users to hide the UI by clicking on the player background. -• As this is a feature in the development stage by Google, the layout may be broken." - Enable timestamps - Swiping up / down will not play the next / previous video. - Swiping up / down will play the next / previous video. - Enable swipe to change video - Navigation bar is opaque. - Navigation bar is translucent. - Enable translucent navigation bar - Do you wish to proceed? - Search %s - Package name of your installed external downloader app, such as YTDLnis. - Playlist downloader package name - Package name of your installed external downloader app, such as NewPipe or YTDLnis. - Video downloader package name Displays the optimization dialog for GMSCore at each application startup. Show optimization dialog for GMSCore - Featured places, Games, and Music sections are shown. - Featured places, Games, and Music sections are hidden. - Hide Attributes section - How this content was made section is shown. - How this content was made section is hidden. - Hide Contents section - Double-tap overlay filter is shown. - Double-tap overlay filter is hidden. - Hide double-tap overlay filter - Fullscreen ads have been blocked. (DialogType: %s) - Fullscreen ads have been closed. - "Fullscreen ads are blocked. - -Side effect: Community post images may be blocked in fullscreen." - Fullscreen ads are closed through the Close button. - Close fullscreen ads - Image search button is shown. - Image search button is hidden. - Hide image search button - Key concepts section is shown. - Key concepts section is hidden. - Hide Key concepts section Match full word - Keyword \'%1$s\' will hide all videos. - Live chat messages are shown.\n\nThis setting applies to Shorts live videos too. - Live chat messages are hidden.\n\nThis setting applies to Shorts live videos too. - Hide live chat messages - Live chat replay button is shown.\n\nIt appears in fullscreen when closing live chat. - Live chat replay button is hidden.\n\nIt appears in fullscreen when closing live chat. - Hide live chat replay button - Quality menu header is shown. - Quality menu header is hidden. - Hide quality menu header Disabled comments button or with label \"0\" is shown. Disabled comments button or with label \"0\" is hidden. Hide disabled comments button - Live chat header is shown.\n\nBack button in header will not be hidden. - Live chat header is hidden.\n\nBack button in header will not be hidden. - Hide live chat header - Paused header is shown. - Paused header is hidden. - Hide paused header - Button background is shown. - Button background is hidden. - Hide Play & Pause button background - Super Thanks button is shown. - Super Thanks button is hidden. - Hide Super Thanks button - Subscriptions carousel is shown. - Subscriptions carousel is hidden. - Hide subscriptions carousel - Suggested video end screen is shown. - "Suggested video end screen is hidden when autoplay is turned off. - -Autoplay can be changed in YouTube settings: -Settings → Autoplay → Autoplay next video" - Zoom overlay is shown. - Zoom overlay is hidden. - Hide zoom overlay - Afn Blue - Afn Red MMT Blue MMT Green MMT Yellow @@ -126,185 +18,61 @@ Settings → Autoplay → Autoplay next video" Vanced Black Vanced Light Xisr Yellow - YouTube - Double-tap action is disabled. - "Double-tap action is enabled. - -• Double-tap to change the minimized video to a larger size. -• Double-tap once more to change to the original size." - Enable double-tap action - Drag and drop is disabled. - Drag and drop is enabled. - Enable drag and drop - Expand and close buttons are shown. - Buttons are hidden.\n(swipe miniplayer to expand or close) - Hide expand and close buttons - Skip forward and back are shown. - Skip forward and back are hidden. - Hide skip forward and back buttons - Subtexts are shown. - Subtexts are hidden. - Hide subtexts - Miniplayer overlay opacity must be between 0-100. Reset to default values. - Opacity value between 0-100, where 0 is transparent. - Overlay opacity - Original - Phone - Tablet - Modern 1 - Modern 2 - Modern 3 - Miniplayer type - Tap to mute volume of the current video. Tap again to unmute. - Show mute volume button - "Tap to generate a playlist of all videos from channel from oldest to newest. -Tap and hold to undo." - Show time-ordered playlist button - "Tap to open whitelist dialog. -Tap and hold to open whitelist setting dialog. - Show whitelist button - Native playlist download button opens the native in-app downloader. - Native playlist download button opens your external downloader. - Override playlist download button - Native video download button opens the native in-app downloader. - Native video download button opens your external downloader. - Override video download button - Animation / Feedback - Image region restrictions - About - Spoof client options - Change the style of the in app minimized player. - Miniplayer - Spoof the client to prevent playback issues. - Spoof client - Change settings related with watch history. - Watch history - Quick actions top margin must be between 0-32. Reset to default values. - Channel handle is used. - Channel name is used. - Replace channel handle Adjust: Mark Start and End Time for segment Verify the Segment Edit the Segment Forward by Specified Time (Default: 150ms) - Set %s as the start or end of a new segment? Publish Created Segment Rewind by Specified Time (Default: 150ms) - Original - Thumbs up - Thumbs up (Cairo) - Heart - Heart (Tint) - Hidden - Double-tap animation - Meta panel bottom margin must be between 0-64. Reset to default values. - Configure the spacing from the seekbar to the meta panel, between 0-64. - Meta panel bottom margin - Press and hold the timestamp to change the Shorts repeat status. - Timestamp long press action - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed - Turning on this setting may cause video playback issues. - Speed overlay value must be between 0-8.0. Reset to default values. - Version not spoofed - Version spoofed - "App version will be spoofed to an older version of YouTube. - -This will change the appearance and features of the app, but unknown side effects may occur. - -If later turned off, it is recommended to clear the app data to prevent UI bugs." - Unplayable video - General - Live streams - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - Spoofed client is hidden in Stats for nerds. - Spoofed client is shown in Stats for nerds. - Show in Stats for nerds - "Client is not spoofed. Video playback may not work." - Client is spoofed. - Spoof client - "Spoof client to Android Testsuite. - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• End screen cards are missing. -• Low quality seekbar thumbnail." - Android Testsuite - "Spoof client to Android TV (YouTube TV). - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• Low quality seekbar thumbnail. -• Some live streams are not supported for playback." - Android TV - "Spoof client to Android VR. - -Side effects include: -• No HDR video. -• Download button of video action bar is missing. -• Paused videos can randomly resume. -• Low quality Shorts seekbar thumbnails. -• Kids videos do not play." - Android VR - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." - "Spoof client to iOS. + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch history does not work with a brand account." - iOS - Turning off this setting may cause video playback issues. - Swipeable area size cannot be more than 50. Reset to default value. - Percentage of swipeable screen area.\n\nNote: This will also change the size of the screen area for the double-tap-to-seek gesture. - Swipe overlay screen size - "• Follows the watch history settings of Google account. +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. • Watch history may not work due to DNS or VPN." - • Follows the watch history settings of Google account. - • Watch history is blocked. - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - "• Follows the watch history settings of Google account. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - Status of watch history - Click to open the YouTube watch history management. - Manage all history - Original - Replace domain - Block watch history - Watch history type - Failed to add channel \'%1$s\' to the %2$s whitelist. - Channel \'%1$s\' was added to the %2$s whitelist. - There are no whitelisted channels. - Not added to whitelist. - Failed to load channel information. - Added to whitelist. - Playback speed - Remove channel \'%1$s\' from %2$s whitelist? - Failed to remove channel \'%1$s\' from the %2$s whitelist. - Channel \'%1$s\' was removed from the %2$s whitelist. - Check or remove the list of channels added to the whitelist. - Channel whitelist - SponsorBlock + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/bg-rBG/strings.xml b/src/main/resources/youtube/translations/bg-rBG/strings.xml index f9fecc360..8a4286c14 100644 --- a/src/main/resources/youtube/translations/bg-rBG/strings.xml +++ b/src/main/resources/youtube/translations/bg-rBG/strings.xml @@ -1,1234 +1,1411 @@ - Turn on accessibility controls for the video player? - Your controls are modified because an accessibility service is on. - Continue - "GmsCore does not have permission to run in the background. + Включване на контролите за достъпност на видеоплеaра? + Вашите контроли са променени, защото е активирана услуга за достъпност. + Продължи + "GmsCore няма разрешение да работи във фонов режим. +Следвайте инструкциите „Don't kill my app!“ за вашето устройство и го приложете към вашия GmsCore. Това е необходимо, за да работи приложението." + "За да избегнете проблеми е необходимо да изключите оптимизацията на батерията за GmsCore. -Follow the 'Don't kill my app' guide for your phone, and apply the instructions to your MicroG installation. - -This is required for the app to work." - "GmsCore battery optimizations must be disabled to prevent issues. - -Tap on the continue button and disable battery optimizations." - Open website - Action needed - Enable cloud messaging to receive notifications. - Open GmsCore - GmsCore is not installed. Install it. - "DeArrow provides crowd-sourced thumbnails for YouTube videos. These thumbnails are often more relevant than those provided by YouTube. - -If enabled, video URLs will be sent to the API server and no other data is sent. If a video does not have DeArrow thumbnails, then the original or still captures are shown. - -Tap here to learn more about DeArrow." - DeArrow - The URL of the DeArrow thumbnail cache endpoint. - DeArrow API endpoint - Toast is not shown if DeArrow is not available. - Toast is shown if DeArrow is not available. - Show a toast if API is not available - DeArrow temporarily not available. (status code: %s) - DeArrow temporarily not available. - Home tab - You tab - Original thumbnails - DeArrow & Original thumbnails - DeArrow & Still captures - Still captures - Player playlists, recommendations - Search results +Натиснете \"Продолжи\" и изкючере оптимизацията на батерията." + Отвори интернет адрес \"website\" + Нужно е действие + Включете облачното известяване за да поучавате известия. + Отвори GmsCore + GmsCore не е инсталиран. Инсталирайте го. + "DeArrow предоставя миниатюри на публиката за видеоклипове. Тези миниатюри често са по-подходящи от тези, предоставени от самия YouTube. Ако е активирано, URL адресите на видео ще бъдат изпратени до API сървъра, без да се изпращат други данни. Ако видеоклипът няма миниатюри на DeArrow, ще се покажат или неговите оригинални миниатюри, или заснети кадри. Щракнете, за да научите повече за DeArrow." + Относно DeArrow + URL адресът на крайната точка за съхранение на миниатюри DeArrow. + DeArrow API адрес + Не се показва известие, ако DeArrow не е наличен. + Показва се известие, ако DeArrow не е наличен. + Показване на известие, ако API не е наличен + DeArrow временно не е наличен. (код на състоянието: %s) + DeArrow временно не е наличен. + Начало /Home/ + Раздел \"Вие\" + Оригинални миниатюри + DeArrow & оригинални миниатюри + DeArrow & Неподвижни кадри + Неподвижни кадри + Плейлисти, предложения + Резултати от търсенето Неподвижни миниатюри - Still captures are taken from the beginning / middle / end of each video. These images are built into YouTube and no external API is used. - Still video captures - Using high quality still captures. - Using medium quality still captures. Thumbnails will load faster, but live streams, unreleased, or very old videos may show blank thumbnails. - Use fast still captures - Beginning of video - Middle of video - End of video - Video time to take still captures from - Subscriptions tab - Append time stamp information is disabled. - Append time stamp information is enabled. - Append time stamp information - Append playback speed. - Append video quality. - Append information type - Ambient mode is disabled in battery saver mode. - Ambient mode is enabled in battery saver mode. - Bypass ambient mode restrictions - Switch toggles are used. - Text toggles are used. - Change toggle type - Autoplay - Default - Pause - Repeat - Change shorts repeat state - Default - Explore - History - Library - Liked videos - Search + Неподвижните кадри се вземат от началото / средата / края на всяко видео. Тези изображения са вградени в YouTube и не се използва външен API. + Неподвижни миниатюри + Използване на висококачествени снимки. + Използват се кадри със средно качество. Миниатюрите ще се зареждат по-бързо, но видеоклипове на живо, неиздадени или много стари може да показват празни миниатюри. + Използване на бързо заснемане на кадри + Начало на видеото + Средата на видеото + Края на видеото + Времето на видеоклипа, от който ще бъдат взети кадрите + Абонаменти + Индикатор на времето за възпроизвеждане е Изкл. + Индикатор на времето за възпроизвеждане е Вкл. + Индикатор на времето за възпроизвеждане + Индикатор за скорост на възпроизвеждане. + Индикатор за качество на видеото. + Добавете тип информация + Подсветката около видеото е изключен при пестене на енергия. + Подсветката около видеото е включен при пестене на енергия. + Заобикаляне на ограниченията за подсветка около видеото + Оригиналният домейн се използва за зареждане на изображения\n\nАктивирането на тази настройка може да коригира зареждането на изображения, които са блокирани в някои региони. + Домейнът yt4.ggpht.com се използва за зареждане на изображения. + Прескочете забраната за зареждане на изображение + Използват се бутони за превключване. + Използват се превключващи бутони с текст. + Промяна на типа превключване на настройките + Списък с приложения за спделяне – вграден. + Използва се от системният лист за споделяне. + Списък със приложения за споделяне + Автоматично изпълнение + По подразбиране + Пауза + Повтори + Промяна на състоянието - повторение на Shorts + Разглеждане на канала + По подразбиране + Проучване + Игри + История + Библиотека + Харесани + На Живо + Филми + Музика + Търсене Shorts - Subscriptions - Trending - Change start page - Generic headers is enabled. - Premium header is enabled. - Change YouTube header - List of component path builder strings to filter separated by new line. - Custom filter - Custom filter is disabled. - Custom filter is enabled. - Enable custom filter - Invalid custom filter: %s. - Old style flyout menu is used. - Custom dialog is used. - Custom playback speed menu type - Custom speeds must be less than %sx. Using default values. - Invalid custom playback speeds. Using default values. - Add or change available playback speeds. - Edit custom playback speeds - Opacity value between 0-100, where 0 is transparent. - Custom player overlay opacity - Type the hex code of the seekbar color. - Custom seekbar color value - To open RVX in an external browser, turn on \'Open supported links\' and enable supported web addresses. - Open default app settings - Default playback speed - Default video quality on Mobile network - Default video quality on Wi-Fi network + Спорт + Абонаменти + Популярни + За Гледане по-късно + Невалидна начална страница, нулиране по подразбиране. + Промяна на началната страница + Включен стандартен логотип. + Включен логотип Premium. + Промяна на логото на YouTube + Списък с низове за изграждане на пътя на компонента, които да се филтрират, разделени с нов ред. + Потребителски филтър + Потребителският филтър е деактивиран. + Потребителският филтър е активиран. + Активиране на потребителските филтри + Невалиден потребителски филтър: %s. + Използва се падащ панел в стар стил. + Използва се персонализиран диалогов прозорец. + Персонализиран панел за скорост на възпроизвеждане + Скоростите по избор трябва да са по-малки от %sx. Връщане на стойностите по подразбиране. + Невалидна скорост на видеото. Връщане на стойности по подразбиране. + Добавяне или смяна на възможните скорости. + Редактиране на скоростите по избор на видеото + Непрозрачността на наслагването на плейъра трябва да бъде между 0-100. Нулирайте стойностите по подразбиране. + Стойност на прозрачност между 0-100, където 0 е прозрачно. + Прозрачност на на плейъра + Въведете кода за цвят на лентата за време. + Стойност по избор за цвят на лентата за време + За да отваряте връзки към YouTube с помощта на RVX, конфигурирайте „Отваряне на поддържани връзки“ и активирайте поддържаните уеб адреси, които искате. + Отвори настройките по подразбиране + Скорост на възпроизвеждане по подразбиране + Предпочитано качество при мобилни данни + Предпочитано качество при Wi-Fi Disables ambient mode for fullscreen only. - Disable ambient mode in fullscreen + Подсветка около видеото е активиран на цял екран. + Подсветка около видеото е деактивирана на цял екран. + Деактивирайте подсветка около видеото на цял екран Disables ambient mode. - Disable ambient mode - Forced auto audio tracks are enabled. - Forced auto audio tracks are disabled. - Disable forced auto audio tracks - Forced auto captions are enabled. - Forced auto captions are disabled. - Disable forced auto captions - Auto player popup panels are disabled. - Auto player popup panels are enabled. - Disable player popup panels - Default playback speed is enabled in live stream. - Default playback speed is disabled in live stream. - Disable playback speed in live stream - Engagement panel is enabled. - Engagement panel is disabled. - Disable engagement panel - Haptic feedback is enabled. - Haptic feedback is disabled. - Disable chapters haptic feedback - Haptic feedback is enabled. - Haptic feedback is disabled. - Disable scrubbing haptic feedback - Haptic feedback is enabled. - Haptic feedback is disabled. - Disable seek haptic feedback - Haptic feedback is enabled. - Haptic feedback is disabled. - Disable seek undo haptic feedback - Haptic feedback is enabled. - Haptic feedback is disabled. - Disable zoom haptic feedback - Auto HDR brightness is enabled. - Auto HDR brightness is disabled. - Disable auto HDR brightness - HDR video is enabled. - HDR video is disabled. - Disable HDR video - Video orientation follows device settings in fullscreen. - Video orientation is portrait mode in fullscreen. - Disable landscape mode - "Disable CronetEngine's QUIC protocol." - Disable QUIC protocol - Shorts player will resume on app startup - Shorts player will not resume on app startup - Disable resuming Shorts player - Rolling numbers are animated. - Rolling numbers are not animated. - Disable rolling number animations - "Disable 'Playing at 2x speed' while holding down. + Подсветка около видеото е активирана. + Подсветка около видеото е деактивирана. + Деактивирайте подсветката около видеото + Задължителните аудио записи са активирани. + "Задължителните аудио записи са деактивирани." + Принудителните автоматични аудио пътеки са деактивирани + Принудителните автоматични субтититри са включени. + Принудителните автоматични субтититри са изключени. + Изкл. принудителни автоматични субтититри + Изскачащите панели на плейъра са активирани. + Изскачащите панели на плейъра са деактивирани. + Изскачащи прозорци на плейъра + Скоростта на възпроизвеждане по подразбиране е активирана за потоци на живо. + Скоростта на възпроизвеждане по подразбиране е деактивирана за потоци на живо. + Деактивирайте скоростта на възпроизвеждане за потоци на живо + Панелът за взаимодействие е активиран. + Панелът за взаимодействие е деактивиран. + Панел за взаимодействие + Вибрация за обратна връзка е включена. + Вибрация за обратна връзка е изключена. + Изкл. вибрация за обратна връзка при главите + Вибрация за обратна връзка е включена. + Вибрация за обратна връзка е изключена. + Изкл. вибрация при плъзгащи контроли + Вибрация за обратна връзка е включена. + Вибрация за обратна връзка е изключена. + Изкл. хаптична обратна връзка при превъртане + Вибрация за обратна връзка е включена. + Вибрация за обратна връзка е изключена. + Изкл. вибрация за обратна връзка при превъртане + Вибрация за обратна връзка е включена. + Вибрация за обратна връзка е изключена. + Изкл. вибрация при зум + Автоматичната яркост при HDR е включена. + Автоматичната яркост при HDR е изключена. + Деактивирайте автоматичната HDR яркост + HDR клиповете са включени. + HDR клиповете са изключени. + Изкл. HDR клипове + Пейзажният режим в режим на цял екран е активиран. + Пейзажният режим в режим на цял екран е деактивиран. + Пейзажен режим при отиване на цял екран + Бутоните \"Харесвам\" и \"Не харесвам\" ще светят, когато бъдат натискани. + Бутоните \"Харесвам\" и \"Не харесвам\" няма да светят, когато бъдат натискани. + Изключете подсветката на бутоните „Харесвам“ и „Не харесвам“ + "Изключване на CronetEngine's QUIC протокол." + Изключване на QUIC протокол + Shorts плейъра при стартиране на приложението се показва. + Shorts плейъра при стартиране на приложението е скрит. + Скриване на Shorts плейъра при стартиране на приложението + Анимацията на числа в реално време е активирана. + Анимацията на числа в реално време е деактивирана. + Анимация на числа в реално време + "Деактивирайте „Възпроизвеждане с 2x>> скорост при продължително натискане. -Note: -• Disabling the speed overlay restores the 'Slide to seek' behavior of the old layout. -• This setting does not force the speed overlay to be enabled." - Disable speed overlay - Splash animation is enabled. - Splash animation is disabled. - Disable splash animation - "Disables the following interactions when the video description is expanded: - -• Tap to scroll. -• Tap and hold to select text." - Disable video description interaction - Controls overlay fills the fullscreen. - Controls overlay does not fill the fullscreen. - Enable compact controls overlay - Custom playback speed is disabled. - Custom playback speed is enabled. - Enable custom playback speed - Custom seekbar color is disabled. - Custom seekbar color is enabled. - Enable custom seekbar color - Debug logs do not include buffer. - Debug logs include buffer. - Enable debug buffer logging - Debug logs are disabled. - Debug logs are enabled. - Enable debug logging - Default playback speed does not apply to Shorts. - Default playback speed applies to Shorts. - Enable shorts default playback speed - External browser is disabled. - External browser is enabled. - Enable external browser - Gradient loading screen is disabled. - Gradient loading screen is enabled. - Enable gradient loading screen - Spacing between navigation buttons does not become narrower. - Spacing between navigation buttons becomes narrower. - Enable narrow navigation buttons - Following default redirect policy. - Bypassing URL redirects. - Enable open links directly - Tricks the dpi to use some phone layouts. - Enable phone layout - Seekbar tapping is disabled. - Seekbar tapping is enabled. - Enable seekbar tapping - Brightness swipe is disabled. - Brightness swipe is enabled. - Enable brightness gesture - Haptic feedback is disabled. - Haptic feedback is enabled. - Enable haptic feedback - Lowest value of the brightness gesture does not activate auto-brightness. - Lowest value of the brightness gesture activates auto-brightness. - Enable auto-brightness gesture - Touch to activate swipe gesture. - Touch and hold to activate swipe gesture. - Enable press-to-swipe gesture - Volume swipe is disabled. - Volume swipe is enabled. - Enable volume gesture - Tricks the dpi to use some tablet layouts. - Enable tablet layout - Entering fullscreen when swiping down below the video player is disabled. - Entering fullscreen when swiping down below the video player is enabled. - Enable watch panel gestures - "Enabling this setting will disable the settings button in the You tab. +Бележки: +• Активирането на тази настройка ще възстанови функцията „Плъзнете наляво или надясно за търсене“. +• Деактивирането на тази настройка не налага активирането на скоростния интерфейс." + Скрива бутона за скорост + Новата начална анимация е включена. + Новата начална анимация е изключена. + Анимация при стартиране на приложението + "Деактивирайте следните взаимодействия, когато се отвори описанието на видеоклипа: -In this case, please use the following path: -You tab > View channel > Menu > Settings." - Enable wide search bar in You tab - Wide search bar is disabled. - Wide search bar is enabled. - Enable wide search bar - Wide search bar does not include YouTube header. - Wide search bar includes YouTube header. - Enable wide search bar with header - Description - "Enter a title in the video description panel. -These characters vary depending on your language. -'Expand video description' may not work if you save an incorrect string." - Title in video description panel - Video description is expanded manually. - Video description is expanded automatically. - Expand video description - Restart to load the layout normally - Refresh and restart - Failed to export settings. - Settings were successfully exported. - Export settings to file. - Export settings - Import - Copy - Import or export settings as text. - Import / Export as text - Failed to import settings. - Settings reset to default. - Settings were successfully imported. - Import settings from saved file. - Import settings - Reset - ReVanced Extended - External downloader +• Докоснете за превъртане. +• Натиснете продължително, за да изберете текст." + Деактивирайте взаимодействието с описание на видеоклипа + Темата Кайро в лентата за напредък е деактивирана. + "Лентата за прогрес на тема Кайро е активирана. +Страничен ефект: +Темата Кайро се прилага и към точките за известия." + Лента за прогрес на тема Кайро + По-малките стилови контроли са деактивирани. + По-малките стилови контроли са активирани. + Вкл. компактни контроли + Скоростта по избор на видеото е изключена. + Скоростта по избор на видеото е включена. + Вкл. на скорост на видеото по избор + Стойността за избор на цвят на лентата за време е изключена. + Стойността за избор на цвят на лентата за време е включена. + Промяна на цвета на индикатора за време + Файлове с отчети за грешки не включват буфера. + Файлове с отчети за грешки в буфера. + Вкл. отчети за грешки + Отчетите за грешки са изключени. + Дневникът за остраняване на грешки е активиран. + Активиране на регистрирането на грешки + Скоростта на възпроизвеждане по подразбиране не се прилага за Shorts. + Скоростта на възпроизвеждане по подразбиране се прилага за Shorts. + Променете скоростта на възпроизвеждане на Shorts + Външния браузър е изключен. + Външния браузър е включен. + Включване на външен браузър + Екранът за зареждане с градиент е деактивиран. + Екранът за зареждане с градиент е активиран. + Градиентен екрана за зареждане + Разстоянието между бутоните за навигация ежнормално. + Разстоянието между бутоните за навигация е по-тясно. + Бутони за навигация в тесен стил + Следване на правилата за пренасочване по подразбиране. + Заобикаляне на URL пренасочвания. + Отваряне на връзки директно + Активирайте кодека OPUS, ако съдържанието в плейъра е подходящо за кодека. + Активирайте кодека OPUS + Подлъгване на dpi за оформление като на телефон. + Вкл. на оформление като на телефон + Не се запазва или възстаовява яркостта при включване или изключване на цял екран. + Запазване и възстаовяване яркостта при включване или изключване на цял екран. + Вкл. запазване и възстановяване на яркост + Докосването на лентата за време е изключено. + Докосването на лентата за време е включено. + Активиране на докосването на лентата за време + Времевите показатели са деактивирани. + "Времевите показатели са активирани. +Ограничения: +• Тази настройка позволява не само времеви показатели, но позволява скриване на елементи от потребителския интерфейс чрез докосване на фона на екрана за възпроизвеждане. +• Тъй като това е функция на Google, която все още се разработва, оформлението може да се развали." + Активиране на дата и час + Задаването на яркост чрез плъзгане е изключено. + Задаването на яркост чрез плъзгане е включено. + Задаване на яркост чрез плъзгане + Вибрация за обратна връзка е изключена. + Вибрация за обратна връзка е включена. + Разрешаване на вибрация + Когато намалите яркостта с жест до минимум, автоматичната яркост Не се активира. + Когато намалите яркостта с жест до минимум, се активира автоматична яркост. + Управление авто-яркост с жестове + Докоснете, за да активирате жеста за плъзгане. + Докоснете и задръжте, за да активирате жеста за плъзгане. + Активиране на плъзгащи контроли + Жестовете нагоре/надолу няма да възпроизведат следващия/предишния видеоклип. + Жестове нагоре/надолу за възпроизвеждане на следващо/предишно видео. + Активирайте жестове за превключване на видеоклипове + Настройването на звука чрез плъзгане е изключено. + Настройването на звука чрез плъзгане е включено. + Настройване на звука чрез плъзгане + Подлъгване на dpi за оформление като на таблет. + Вкл. на режим за таблет + Навигационната лента е непрозрачна. + Навигационната лента е полупрозрачна. + Полупрозрачна лента за навигация + Превключването към цял екран чрез плъзгане на долната част на плейъра е деактивирано. + Превключването към цял екран чрез плъзгане на долната част на плейъра е активирано. + Жест за превключване на цял екран + "Тази опция ще деактивира бутона \"Настройки\" в раздела \"Вие\" +Използвайте следната последователност: +раздел \"Вие\" -> Страница на канала -> Меню -> Настройки" + Активирайте широката лента за търсене в раздела \"Вие\" + Широката лента за търсене е изключена + Широката лента за търсене е включена + Широка лента за търсене + Широка лента за търсене замества логото на YouTube. + Логото на YouTube се появява до широката лента за търсене. + Широка лента за търсене с лого + Описание + "Въведете заглавие в описанието на видеоклипа на вашия език. +Опцията „Отваряне на описанието автоматично“ може да не работи, ако стойността на заглавието не съвпада със заглавието в описанието." + Заглавие в панела с описание на видеоклипа + Описанието на видеоклипа не се отваря автоматично. + Описанието на видеоклипа се отваря автоматично. + Автоматично отваряне на видео описание + Желаете ли да продължите? + Рестартирайте, за да заредите оформлението нормално + Опреснете и рестартирайте + Неуспешно експортиране на настройките. + Настройките са експортирани успешно. + Експортирайте настройките във файл. + Експорт на настройки + Внасяне на настройки + Копирай + Импортирайте или експортирайте настройки като текст. + Импортирайте / Експортирайте настройки в текст + Неуспешно импортиране на настройките. + Настройките се нулират до стойностите по подразбиране. + Настройките са импортирани успешно. + Импортиране на настройки от файл. + Внасяне на настройки + Нулирай + Търсене %s + Настройки ReVanced + Външна програма за изтегляне Не е инсталирано - "%1$s is not installed. -Please download %2$s from the website." - Warning - %s is not installed. Please install it. - "Videos will be switched to fullscreen in the following situations: + "%1$s не е инсталиран. +Моля, изтеглете %2$s от уебсайта." + Внимание + %s не е инсталирано. Моля инсталирайте го. + Име на пакета на приложението за изтегляне като NewPipe или YTDLnis. + Име на приложението за изтегляне + Име на пакета на приложението за изтегляне като NewPipe или YTDLnis. + Име на приложението за изтегляне на видео + "Видеоклиповете ще превключат в режим на цял екран в следните случаи: + +• Когато започне видео. +• Когато се натисне клеймо за време в коментарите." + Принудително винаги на цял екран + Разделен с нов ред списък с имена на раздели, на страници, на канали за филтриране. + Промяна на филтъра на менюто на акаунта + "Скриване на елементи от менюто на акаунта и раздела \"Вие\". +Някои компоненти не могат да бъдат скрити." + Скриване на менюто на акаунта + Албумните карти се показват. + Албумните карти са скрити. + Скриване на албумни карти + Показват се секциите „Популярни места“, „Игри“ и „Музика“ под описанието. + Секциите „Популярни места“, „Игри“ и „Музика“ под описанието са скрити. + Раздел с функции + Прегледа на авт. изпълнение се показва. + Прегледа на авт. изпълнение е скрит. + Скриване на прегледа на авт. изпълнение + Бутон за разглеждане на магазина се показва. + Бутон за разглеждане на магазина е скрит. + Бутон за разглеждане на магазина + "Скрива следните рафтове: +- Извънредни новини +- Продължете да гледате +- Разгледайте още канали +- Пазаруване +- Гледайте отново" + Скриване на рафта с Препоръчани + Показване на горната лента с категории в емисията. + Скриване на горната лента с категории в емисията. + Скриване на горната лента с категории в емисията + Свързани видеоклипове се показват. + Сродните видеоклипове са скрити. + Скриване в сродни видеоклипове + Резултатите от търсенето соказват. + Резултатите от търсенето са скрити. + Скриване на резултатите от уеб търсенето + Насоките на канала се показват. + Насоките на канала са скрити. + Скриване на насоките на канала + Рафта с членуващи се показва. + Рафта с членуващи е скрит. + Скриване на секцията с членуващи + Показани са в горната част връзки към профила на канала. + Връзките в горната част на профила на канала са скрити. + Скриване на връзките към канала + "Примери: + Shorts +Плейлисти +Маркет" + Разделен с нов ред списък с имена на раздели, на страници, на канали за филтриране. + Промяна на филтъра за раздели на канала + Филтърът за раздела на канала е деактивиран. + Филтърът за раздела на канала е активиран. + Използвайте филтър за раздели на канали + Водният знак на канала се показва. + Водният знак на канала е скрит. + Воден знак на канала + Секцията с заглавия се показва. + Разделът със секции е скрит. + Скриване на секцията с глави + Филмовите рафтове се показват. + Филмовите рафтове са скрити. + Скриване на филмовите рафтове + Бутона за клип се показва. + Бутона за клип е скрит. + Скриване на бутона за клип + Бутонът за създаване на Кратко видео се показва. + Бутонът за създаване на Кратко видео е скрит. + Бутон за създаване на Shorts + Бутона за благодарност се показва. + Бутона за благодарност е скрит. + Скриване на бурона за благодарност + Бутоните за клеймо за време и емотикони се показват. + Бутоните за клеймо за време и емотикони са скрити. + Скриване на инструмента за избор на емоджи и клеймо за време + Банера за коментари от членове се показва. + Банера за коментари от членове е скрит. + Скриване на банер за коментари от членове + Секцията с коментари в началната емисия се показва. + Секцията с коментари в началната емисия е скрита. + Скриване на секцията с коментари в началната емисия + Секцията с коментари се показва. + Секцията с коментари е скрита. + Скриване на секцията с коментари + Показват се в канала. + Скрит в канала. + Скриване на страницата на канала + Свързаните видеоклипове се показват. + Свързаните видеоклипове са скрити. + Скриване в емисията свързаните видеоклипове + Показва се в емисията „Абонаменти“. + Скрит в емисията „Абонаменти“. + Публикации в общността и в абонаменти + Появява се. -• When a timestamp in the comments is clicked on. -• When a video is started." - Force fullscreen - List of account menu names to filter separated by a new line. - Account menu filter - "Hide elements of the account menu and You tab. -Some components may not be hidden." - Hide account menu - Album cards are shown. - Album cards are hidden. - Hide album cards - Autoplay preview container is shown. - Autoplay preview container is hidden. - Hide autoplay preview container - Browse store button is shown. - Browse store button is hidden. - Hide browse store button - "Hides following shelves: -• Breaking news -• Continue watching -• Explore more channels -• Listen again -• Shopping -• Watch it again" - Hide carousel shelf - Shown in feed. - Hidden in feed. - Hide in feed - Shown in related videos. - Hidden in related videos. - Hide in related videos - Shown in search results. - Hidden in search results. - Hide in search results - Channel guidelines are shown. - Channel guidelines are hidden. - Hide channel guidelines - Channel member shelf is shown. - Channel member shelf is hidden. - Hide channel member shelf - Links at the top of channel profile is shown. - Links at the top of channel profile is hidden. - Hide channel profile links - "Shorts -Playlists -Store" - List of channel tab names to filter separated by a new line. - Channel tab filter - Channel tab filter is disabled. - Channel tab filter is enabled. - Enable channel tab filter - Channel watermark is shown. - Channel watermark is hidden. - Hide channel watermark - Chapters sections are shown. - Chapters sections are hidden. - Hide chapters sections - Chips shelf is shown. - Chips shelf is hidden. - Hide chips shelf - Clip button is shown. - Clip button is hidden. - Hide clip button - Create shorts button is shown. - Create shorts button is hidden. - Hide create shorts button - Thanks button is shown. - Thanks button is hidden. - Hide thanks button - Timestamp and emoji buttons are shown. - Timestamp and emoji buttons are hidden. - Hide timestamp and emoji buttons - Comments by members banner is shown. - Comments by members banner is hidden. - Hide comments by members banner - Comments section is shown in home feed. - Comments section is hidden in home feed. - Hide comments section in home feed - Comments section is shown. - Comments section is hidden. - Hide comments section - Shown in channel. - Hidden in channel. - Hide in channel - Shown in home feed and related videos. - Hidden in home feed and related videos. - Hide in home feed and related videos - Shown in subscriptions feed. - Hidden in subscriptions feed. - Hide in subscriptions feed - Crowdfunding box is shown. - Crowdfunding box is hidden. - Hide crowdfunding box - Download button is shown. - Download button is hidden. - Hide download button - End screen cards are shown. - End screen cards are hidden. - Hide end screen cards - Expandable chips are shown. - Expandable chips are hidden. - Hide expandable chip under videos - Captions button is shown. - Captions button is hidden. - Hide feed captions button - List of flyout menu names to filter separated by a new line. - Feed flyout menu filter - Feed flyout menu filter is disabled. - Feed flyout menu filter is enabled. - Enable feed flyout menu filter - Feed search bar is shown. - Feed search bar is hidden. - Hide feed search bar - Feed surveys are shown. - Feed surveys are hidden. - Hide feed surveys - Film strip overlay is shown. - Film strip overlay is hidden. - Hide film strip overlay - Floating microphone button is shown. - Floating microphone button is hidden. - Hide floating microphone button - "'For You' shelves are shown." - "'For You' shelves are hidden." - "Hide 'For You' shelf" - Fullscreen ads are shown. - Fullscreen ads are hidden. - Hide fullscreen ads - General ads are shown. - General ads are hidden. - Hide general ads - YouTube Premium promotion is shown. - YouTube Premium promotion is hidden. - Hide YouTube Premium promotion - Gray separators are shown. - Gray separators are hidden. - Hide gray separator - Handle is shown. - Handle is hidden. - Hide handle - Image shelves are shown. - Image shelves are hidden. - Hide image shelf - Info cards sections are shown. - Info cards sections are hidden. - Hide info cards sections - Info cards are shown. - Info cards are hidden. - Hide info cards - Info panels are shown. - Info panels are hidden. - Hide info panels - Join button is shown. - Join button is hidden. - Hide join button - "Home / Subscription / Search results are filtered to hide content that matches keyword phrases. +Относно раздела „Как е създадено това съдържание“. + Разделът „Как е създадено това съдържание“ е скрит. + Секция със съдържание + Кутията за дарения се показва. + Кутията за дарения е скрита. + Дарителска кутия + Филтърът за наслагване с двойно докосване се показва. + Филтърът за наслагване с двойно докосване е скрит. + Докоснете два пъти, за да скриете филтъра за наслагване + Бутона за изтегляне се показва. + Бутона за изтегляне е скрит. + Скриване на бутона за изтегляне + Препоръките в края се показват + Препоръките в края са скрити + Скриване на препоръките в края + Показват се. + Падащите менюта са скрити. + Скриване на показващи се раздели под видеоклипове + Бутона за субтити се показва. + Бутона за субтити е скрит. + Бутон за субтити + Разделен с нов ред списък с имена на раздели, на страници, на канали за филтриране. + Филтър за изскачащо меню на лентата + Изскачащите менюта за емисии са изключени. + Изскачащите менюта за емисии са включени. + Филтър за изскачащо меню на лентата + Лентата за търсене в емисията се показва. + Лентата за търсене в емисията е скрита. + Лента за търсене в емисията + Анкетите за емисии се показват. + Анкетите за емисии са скрити. + Скриване на анкети в емисиите + Филмовата лента се показва. + Филмовата лента е скрита + Скриване на филмовата лента + Плаващия бутон за микрофона се показва. + Плаващия бутон за микрофона е скрит. + Плаващ бутон за микрофона + Секцията \'За Вас\' се показва. + Секцията \'За Вас\' е скрита. + Скриване на секцията \'За Вас\' + Рекламите на цял екран са блокирани. (Тип на диалоговия прозорец: %s) + Рекламите на цял екран са затворени. + Рекламите в режим на цял екран са показани. + Рекламите в режим на цял екран са скрити. + Скриване на рекламите в режим на цял екран + "Рекламите на цял екран са блокирани. -Limitations: -• Some Shorts may not be hidden. -• Some UI components may not be hidden. -• Searching for a keyword may show no results." - About keyword filtering - Comments are not filtered. - Comments are filtered. - Hide comments by keywords - Videos in home feed are not filtered. - Videos in home feed are filtered. - Hide home videos by keywords - "Keywords and phrases to hide, separated by new lines. -Words with uppercase letters in the middle must be entered with the casing (ie: iPhone, TikTok, LeBlanc)." - Keywords to hide - Search results are not filtered. - Search results are filtered. - Hide search results by keywords - Videos in subscriptions feed are not filtered. - Videos in subscriptions feed are filtered. - Hide subscription videos by keywords - Invalid keyword. Cannot use: \'%s\' as a filter - Latest posts are shown. - Latest posts are hidden. - Hide latest posts - "'Latest videos' button is shown." - "'Latest videos' button is hidden." - "Hide 'Latest videos' button" - Like and dislike buttons are shown. - Like and dislike buttons are hidden. - Hide like and dislike buttons - Medical panels are shown. - Medical panels are hidden. - Hide medical panels - Merchandise shelves are shown. - Merchandise shelves are hidden. - Hide merchandise shelf - Mix playlist is shown. - Mix playlist is hidden. - Hide mix playlist - Movies shelves are shown. - Movies shelves are hidden. - Hide movies shelf - Create button is shown. - Create button is hidden. - Hide create button - Home button is shown. - Home button is hidden. - Hide home button - Navigation label is shown. - Navigation label is hidden. - Hide navigation label - Library button is shown. - Library button is hidden. - Hide library button - Notifications button is shown. - Notifications button is hidden. - Hide notifications button - Shorts button is shown. - Shorts button is hidden. - Hide shorts button - Subscriptions button is shown. - Subscriptions button is hidden. - Hide subscriptions button - "'Notify me' button is shown." - "'Notify me' button is hidden." - "Hide 'Notify me' button" - Paid promotion label is shown. - Paid promotion label is hidden. - Hide paid promotion label - Playables are shown. - Playables are hidden. - Hide Playables - Autoplay button is shown. - Autoplay button is hidden. - Hide autoplay button - Captions button is shown. - Captions button is hidden. - Hide captions button - Cast button is shown. - Cast button is hidden. - Hide cast button - Collapse button is shown. - Collapse button is hidden. - Hide collapse button - Ambient mode menu is shown. - Ambient mode menu is hidden. - Hide ambient mode menu - Audio track menu is shown. - Audio track menu is hidden. - Hide audio track menu - Captions menu footer is shown. - Captions menu footer is hidden. - Hide captions menu footer - Captions menu is shown. - Captions menu is hidden. - Hide captions menu - Help & feedback menu is shown. - Help & feedback menu is hidden. - Hide help & feedback menu - Listen with YouTube Music menu is shown. - Listen with YouTube Music menu is hidden. - Hide listen with YouTube Music menu - Lock screen menu is shown. - Lock screen menu is hidden. - Hide lock screen menu - Loop video menu is shown. - Loop video menu is hidden. - Hide loop video menu - More information menu is shown. - More information menu is hidden. - Hide more information menu - Picture-in-picture menu is shown. - Picture-in-picture menu is hidden. - Hide picture-in-picture menu - Playback speed menu is shown. - Playback speed menu is hidden. - Hide playback speed menu - Premium controls menu is shown. - Premium controls menu is hidden. - Hide premium controls menu - Quality menu footer is shown. - Quality menu footer is hidden. - Hide quality menu footer - Report menu is shown. - Report menu is hidden. - Hide report menu - Stable volume menu is shown. - Stable volume menu is hidden. - Hide stable volume menu - Stats for nerds menu is shown. - Stats for nerds menu is hidden. - Hide stats for nerds menu - Watch in VR menu is shown. - Watch in VR menu is hidden. - Hide watch in VR menu - Fullscreen button is shown. - Fullscreen button is hidden. - Hide fullscreen button - Buttons are shown. - Buttons are hidden. - Hide previous & next button - YouTube Music button is shown. - YouTube Music button is hidden. - Hide YouTube Music button - Save to playlist button is shown. - Save to playlist button is hidden. - Hide save to playlist button - Podcast sections are shown. - Podcast sections are hidden. - Hide podcast sections - Preview comment is shown. - Preview comment is hidden. - Hide preview comment - This changes the size of the comment section, so it is impossible to open a live chat replay in the comment section. - This does not change the size of the comment section, so it is possible to open the live chat replay in the comment section. - Hide preview comment type - Comment button is shown. - Comment button is hidden. - Hide comment button - Dislike button is shown. - Dislike button is hidden. - Hide dislike button - Like button is shown. - Like button is hidden. - Hide like button - Live chat button is shown. - Live chat button is hidden. - Hide live chat button - More button is shown. - More button is hidden. - Hide more button - Open mix playlist button is shown. - Open mix playlist button is hidden. - Hide open mix playlist button - Open playlist button is shown. - Open playlist button is hidden. - Hide open playlist button - Save to playlist button is shown. - Save to playlist button is hidden. - Hide save to playlist button - Share button is shown. - Share button is hidden. - Hide share button - Quick actions container is shown. - Quick actions container is hidden. - Hide quick actions container - "Hides following recommended videos: +Страничен ефект: Изображенията в публикации в общността може да бъдат блокирани на цял екран." + Рекламите на цял екран се затварят чрез бутона Затвори. + Как да затворите реклами на цял екран + Общите реклами се показват. + Общите реклами са скрити. + Скриване на общите реклами + YouTube Premium промоциите се показват. + YouTube Premium промоциите са скрити. + Скриване на YouTube Premium промоциите + Сивите разделители са показани. + Сивите разделители са скрити. + Скриване на сивия разделител + Идентификаторът се показва. + Идентификаторът е скрит. + Скриване на връзки + Бутон за търсене на изображения се показва. + Бутон за търсене на изображения е скрит. + Бутон за търсене на изображения + Рафтовете със снимки се показват. + Рафтовете със снимки са скрити. + Скриване на рафтовете със снимки + Разделът за информационни карти е показан. + Разделът за информационни карти е скрит. + Скриване на раздела за информационни карти + Информационните карти се показват. + Информационните карти са скрити. + Скриване на инфо. карти + Информационните панели се показват + Информационните панели са скрити. + Скриване на информационните панели + Бутона за клип се показва. + Бутона за присъединяване е скрит + Скриване на бутон за присъединяване + Раздел „Ключови понятия“ се показват. + Раздел „Ключови понятия“ са скрити. + Раздел „Ключови понятия“ + "Началната страница, публикациите и резултатите от търсенето се филтрират, за да се скрие съдържание, което съответства на ключови думи. +Ограничения: +•Някои Shorts може да не са скрити. +• Някои елементи на потребителския интерфейс може да не са скрити. +• Търсенето на дума -ключ може да не покаже никакви резултати." + За филтриране с ключови думи + Коментарите не се филтрират. + Коментарите се филтрират. + Скриване на коментари по ключови думи + Видеоклиповете в раздела Начало не се филтрират по ключови думи. + Видеоклиповете в раздела Начало се филтрират с помощта на ключови думи. + Скриване на видеоклипове в началната страница с ключови думи + "Ключови думи и фрази, които да бъдат скрити, разделени с нови редове\n\nДуми с главни букви в средата трябва да бъдат въведени с големи букви (например: iPhone, TikTok, LeBlanc)." + Ключови думи, които да бъдат скрити + Резултатите от търсенето не се филтрират по ключови думи. + Резултатите от търсенето се филтрират с помощта на ключови думи. + Скриване на резултати от търсения с ключови думи + Видеоклиповете в емисията за абонаменти не се филтрират. + Видеоклиповете в емисията за абонаменти се филтрират. + Скриване на видеоклипове от абонаменти с ключови думи + Ключовата дума „%1$s“ ще скрие всички видеоклипове. + Невалидна ключова дума. Не може да се използва: „%s“ като филтър + Последните постове се показват. + Последните постове са скрити. + Скриване на последните постове + Бутона за последните клипове се показва. + Бутона за последните клипове е скрит. + Скриване на бутон за последните клипове + Бутоните \"Харесвам\" и \"Не харесвам\" се показват. + Бутоните \"Харесвам\" и \"Не харесвам\" са скрити. + Скриване на бутоните за харесване и нехаресване + Показват се съобщения от чат на живо.\n\nТази настройка се отнася и за кратки видеоклипове на живо. + Съобщенията в чата на живо са скрити.\n\nТази настройка се отнася и за кратки видеоклипове на живо. + Съобщения за чат на живо + Бутонът за повторно възпроизвеждане на чат на живо се показва.\n\nНе се появява на цял екран при затваряне на чат на живо. + Бутонът за повторно възпроизвеждане на чат на живо е скрит.\n\nНе се появява на цял екран при затваряне на чат на живо. + Бутон за повторение на чата на живо + Медицински панел се показва. + Медицински панел скрит. + Медицински информационен панел + Банерите за стоки се показват. + Банерите за стоки са скрити. + Скриване банерите за стоки + Плейлист микса се показва. + Плейлист микса е скрит. + Скриване на микс плейлист + Филмовите рафтове се показват. + Филмовите рафтове са скрити. + Скриване на филмовите рафтове + Бутона за създаване се показва. + Бутонът за създаване е скрит. + Бутон Създай клип + Бутона за начало се показва + Бутона за начало е скрит + Скриване на бутон за Начало + Навигационния панел се показва. + Навигационния панел е скрит. + Навигационен панел + Бутона за библиотека се показва + Бутона за библиотека е скрит + Бутона за Библиотека + Бутонът за известия се показва. + Бутонът за известия е скрит. + Бутон за Известия + Бутона за кратки клипове се показва. + Бутона за кратки клипове е скрит. + Бутон кратки клипове Shorts + Бутона за абонаменти се показва. + Бутона за абонаменти е скрит. + Бутона за Абонаменти + Бутона \"Уведоми ме\" се показва. + Бутона \"Уведоми ме\" е скрит. + Скриване на бутона \"Уведоми ме\" + Промоционалните етикети се показват. + Промоционалните етикети са скрити. + Скриване на платените промоции + Игрите в YouTube се показват. + Игри в YouTube са скрити. + Игри в YouTube + Бутона за авто. изпълнение се показва. + Бутона за авто. изпълнение е скрит. + Скриване на бутона за авто. изпълнение + Бутона за субтити се показва. + Бутона за субтити е скрит. + Скриване на бутона за Субтитри + Бутонът за предаване се показва. + Бутонът за предаване е скрит. + Скриване на бутона за предаване на Тв + Бутон за минимизиране се показва. + Бутон за минимизиране е скрит. + Бутон за минимизиране + Менюто “Audio Track” се показва. + Менюто “Audio Track” е скрито. + Меню на аудио + Долният колонтитул на менюто с надписи се показва. + Долният колонтитул на менюто с надписи е скрит. + Скриване на менюто за избор на качество + Менюто за субтитрие се показва. + Менюто за субтитрие скрито. + Скриване на менюто за субтитри + Менюто & за помощ се показва. + Менюто & за помощ е скрито. + Скриване на менюто & за помощ + Слушане с YouTube Music се показва. + Слушане с YouTube Music е скрито. + Скриване на менюто слушане с YouTube Music + Менюто на заключен екран се показва. + Менюто на заключен екран е скрито. + Скриване меню на заключен екран + Менюто за повторение се показва. + Менюто за повторение е скрито. + Скриване на менюто за повторение + Менюто за повече информация се показва. + Менюто за повече информация е скрито. + Меню за повече информация + Менюто Картина в картината се показва. + Менюто Картина в картината е скрито. + Меню \"Картина в картината\" + Менюто за скорост на видеото се показва. + Менюто за скорост на видеото е скрито. + Меню за скорост на видеото + Менюто за премиум контроли се пказва. + Менюто за премиум контроли е скрито. + Скриване на менюто за премиум контроли + Предложение в менюто за избор на качество се показва. + Предложение в менюто за избор на качество е скрито. + Скриване на подсказка в менюто за избор на качество + Предложение в менюто за избор на качество се показва. + Предложение в менюто за избор на качество е скрито. + Скриване на подсказка в менюто за избор на качество + Менюто за докладване се показва. + Менюто за докладване е скрито. + Скрий Меню за докладване + Стабилно ниво на звука се показва. + Постоянно ниво на звука е скрито. + Скрийте елемента \"Стабилно ниво на звука\" + Менюто \"Статистика за системни администратори\" се показва. + Менюто \"Статистика за системни администратори\" е скрито. + Меню \"Статистика за сис. администратори\" + Менюто за гледане в VR се показва. + Менюто за гледане в VR е скрито. + Меню за гледане в VR + Бутон за цял екран се показва. + Бутон за цял екран е скрит. + Бутон за Цял екран + Бутоните се показват. + Бутоните са скрити. + Скриване предишен & следващ бутон + Бутрона за YouTube Music се показва. + Бутрона за YouTube Music е скрит. + Скриване на бутона за YouTube Music + Бутон \"Запазване\" се показва. + Бутон \"Запазване\" е скрит. + Бутон \"Запазване\" + Показва се секцията „Подкасти“. + Разделът „Подкасти“ е скрит. + Скрийте секцията „Подкасти“ + Прегледа на коментар се показва. + Прегледа на коментар е скрит. + Скр. преглед на коментар + Това преоразмерява секцията за коментари, така че е невъзможно да се отвори повторението на чата на живо в секцията за коментари. + Това не променя размера на секцията за коментари, така че е възможно да отворите повторението на чата на живо в секцията за коментари. + Скриване на типа коментар за визуализация + Бутона за коментиране се показва. + Бутон за коментари е скрит. + Скриване на бутона за коментари + Бутона за нехаресване се показва. + Бутона за нехаресване е скрит. + Скриване на бутона за нехаресване + Бутона за харесване се показва. + Бутона за харесване е скрит. + Скриване на бутона за харесване + Бутона за чат се показва. + Бутона за чат е скрит. + Скриване на бутона за чат + Бутона за повече се показва. + Бутона за повече е скрит. + Скриване на бутон за Още + Бутонът за отваряне на микс плейлист се показва. + Бутона за микс плейлист е скрит. + Скриване на бутона за отваряне на микс плейлист + Бутонът за отваряне на плейлиста се показва. + Бутона за микс плейлист е скрит. + Скриване на бутона за плейлист + Бутон \"Запазване\" се показва + Бутон \"Запазване\" е скрит + Бутон \"Запазване\" + Бутона за споделяне се показва. + Бутона за споделяне е скрит. + Скриване на бутона за споделяне + Бързи действия се показват. + Бързи действия са скрити. + Скриване на меню с Бързи действия + "Скрива следните препоръчани видеоклипове: -• Videos with 'Only for Membership' tag -• Videos with the phrases such as 'People also watched' at the bottom of the video -• Videos uploaded from channels not subscribed to that have less than 1,000 views" - Hide recommended videos - Related video overlay is shown. - Related video overlay is hidden. - Hide related video overlay - Remix button is shown. - Remix button is hidden. - Hide remix button - Report button is shown. - Report button is hidden. - Hide report button - Rewards button is shown. - Rewards button is hidden. - Hide rewards button - Thumbnails in the search term history are shown. - Thumbnails in the search term history are hidden. - Hide search term thumbnail - Seek message is shown. - Seek message is hidden. - Hide seek message - Seek undo message is shown. - Seek undo message is hidden. - Hide seek undo message - Chapters are shown in seekbar. - Chapters are hidden in seekbar. - Hide seekbar chapters - Video player seekbar is shown. - Video player seekbar is hidden. - Thumbnail seekbar is shown. - Thumbnail seekbar is hidden. - Hide seekbar in video thumbnails - Hide seekbar in video player - Self sponsored cards are shown. - Self sponsored cards are hidden. - Hide self sponsored cards - "Account -Data saving -Captions" - List of YouTube settings menu names to filter separated by a new line. - YouTube settings menu filter - Hide elements in YouTube settings menu. - Hide YouTube settings menu - Share button is shown. - Share button is hidden. - Hide share button - Shop button is shown. - Shop button is hidden. - Hide shop button - Shopping links are shown. - Shopping links are hidden. - Hide shopping links - Channel bar is shown. - Channel bar is hidden. - Hide channel bar - Comments button is shown. - Comments button is hidden. - Hide comments button - Dislike button is shown. - Dislike button is hidden. - Hide dislike button - Video link label is shown. - Video link label is hidden. - Hide full video link label - Info panels are shown. - Info panels are hidden. - Hide info panels - Join button is shown. - Join button is hidden. - Hide join button - Like button is shown. - Like button is hidden. - Hide like button - Location label is shown. - Location label is hidden. - Hide location label - Navigation bar is shown. - Navigation bar is hidden. - Hide navigation bar - Paid promotion label is shown. - Paid promotion label is hidden. - Hide paid promotion label - Paused overlay buttons are shown. - Paused overlay buttons are hidden. - Hide paused overlay buttons - Remix button is shown. - Remix button is hidden. - Hide remix button - Save sound to playlist is shown. - Save sound to playlist is hidden. - Hide save sound to playlist button - Search suggestions are shown. - Search suggestions are hidden. - Hide search suggestions - Share button is shown. - Share button is hidden. - Hide share button - Shown in watch history. - Hidden in watch history. - Hide in watch history - Shown in home feed and related videos. - Hidden in home feed and related videos. - Hide in home feed and related videos - Shown in search results. - Hidden in search results. - Hide in search results - Shown in subscriptions feed. - Hidden in subscriptions feed. - Hide in subscriptions feed - "Hides Shorts shelves. +• С етикет „Само за членове“. +• С фрази като „Хората също са гледали“ под видеоклипа. +• От канали, за които не сте абонирани (по-малко от 1000 гледания)." + Скриване на Препоръчани видеоклипове + Показан. +Има предвид раздела за още видеоклипове в бързи действия и свързани видеоклипове. + Скрит. +Скрива раздела с още видеоклипове в бързи действия и свързани видеоклипове. + Свързани видеоклипове + Бутона за ремикс се показва. + Бутона за ремикс е скрит. + Скриване на бутона за ремикс + Бутона са докладване се показва. + Бутона са докладване е скрит. + Скриване на бутона за докладване + Бутона за наградите се показва. + Бутона за наградите е скрит. + Бутон \"Награди\" + Показват се миниатюри в историята на търсене. + Миниатюрите в историята на търсене са скрити. + Подсказки, миниатюри на думи за търсене + Съобщението при превъртане се показва. + Съобщението при превъртане е скрито. + Скриване на съобщение при превъртане + Съобщение при пренавиване се показва. + Съобщение при пренавиване е скрито. + Съобщение при пренавиване + Главите се показват. + Главите са скрити. + Заглавие в лентата за напредък + Лентата за време на плейъра се показва. + Лентата за време на плейъра е скрита. + Миниатюрите се показват. + Миниатюрите са скрити. + Миниатюри на лентата за възпроизвеждане + Скриване на лента за време на плейъра + Самоспонсорираните карти се показват. + Самоспонсорираните карти са скрити. + Скриване на самоспонсорирани карти + "Акаунт +Спестяване на данни +Субтитри" + Списък с заглавия на менюта с настройки на YouTube за филтриране, разделени с нов ред. + Филтър на менюто с настройки на YouTube + Скриване на елементи в менюто с настройки на YouTube. + Филтриране на менюто с настройки на YouTube + Бутона за споделяне се показва. + Бутона за споделяне е скрит. + Скриване на бутона за споделяне + Бутона за пазаруване се показва + Бутона за пазаруване е скрит + Скриване на бутона за пазаруване + Връзките за пазаруване се показват. + Връзките за пазаруване са скрити. + Скриване на връзки за пазаруване + Лентата на канала е показана. + Лентата на канала е скрита. + Скриване на лентата на канала + Бутон за коментари се показва. + Бутон за коментари е скрит. + Скриване на бутона за коментари + Бутона за нехаресване се показва. + Бутона за нехаресване е скрит. + Скриване на бутона за нехаресване + Етикетът за видео връзка се показва. + Етикетът за видео връзка е скрит. + Скриване на етикет за връзка към видеоклипа + Информационните панели се показват. + Информационните панели са скрити. + Скриване на информационните панели + Бутона за присъединяване се показва + Бутона за присъединяване е скрит. + Скриване на бутон за присъединяване + Бутона за харесване се показва. + Бутона за харесване е скрит. + Скриване на бутона за харесване + Показва се раздела Чата на живо.\n\nБутонът за връщане назад в раздела няма да бъде скрит. + Раздела Чата на живо е скрит.\n\nБутонът за връщане назад в Раздел няма да бъде скрит. + Скриване на раздела на чата на живо + Навигационната лента се показва. + Навигационната лента е скрита. + Скриване лентата за навигация + Промоционалните етикети се показват. + Промоционалните етикети са скрити. + Скриване на платените промоции + При поставяне на пауза заглавие не се скрива. + Заглавието на пауза е скрито. + Скриване на заглавието на пауза + Бутоните при пауза се показват. + Бутоните при пауза се скриват. + Показване на бутони при пауза + Показва се фонът на бутоните. + Фонът на бутоните е скрит. + Скриване на фона на бутона за възпроизвеждане & и пауза + Бутона за ремикс се показва. + Бутона за ремикс е скрит. + Скриване на бутона за ремикс + Бутонът за Запазване в плейлиста се показва. + Бутонът за Запазване в плейлиста е скрит. + Бутон за запазване на аудиото в плейлиста + Бутона за споделяне се показва. + Бутона за споделяне е скрит. + Скриване на бутона за споделяне + Показват се в историята на гледане. + Скрити в историята на гледане. + Скриване в историята на гледане + Показва се в емисиите „начало“ и „подобни видеоклипове“. + Скрити в емисиите „начало“ и „подобни видеоклипове“. + Скриване в „начало“ и „подобни видеоклипове“ + Резултатите от търсенето се показват. + Резултатите от търсенето са скрити. + Скриване на резултатите от уеб търсенето + Показва се в емисията „Абонаменти“. + Лавицата за кратки видеоклипове в емисията за абонаменти е скрита. + Скриване в емисията „Абонаменти“ + "Скрива рафтовете за кратки видеа -Limitation: Official headers in search results will be hidden." - Hide shorts shelf - Shop button is shown. - Shop button is hidden. - Hide shop button - Sound button is shown. - Sound button is hidden. - Hide sound button - Metadata label is shown. - Metadata label is hidden. - Hide sound metadata label - Subscribe button is shown. - Subscribe button is hidden. - Hide subscribe button - Tagged products are shown. - Tagged products are hidden. - Hide tagged products - Toolbar is shown. - Toolbar is hidden. - Hide toolbar - Title is shown. - Title is hidden. - Hide video title - "'Show more' button is shown." - "'Show more' button is hidden." - "Hide 'Show more' button" - Snack bar is shown. - Snack bar is hidden. - Hide snack bar - Start trial button is shown. - Start trial button is hidden. - Hide start trial button - Suggested actions shown. - Suggested actions hidden. - Hide suggested actions +Известен проблем: Официалните заглавки в резултатите от търсенето са скрити." + Скрийте рафтовете Shorts + Бутона за пазаруване се показва. + Бутона за пазаруване е скрит. + Скриване на бутона за пазаруване + Бутона за Звук се показва. + Бутона за Звук е скрит. + Скрийте бутона „Звук“ + Метаданни се показват. + Метаданни са скрити. + Скриване на музикални метаданни + Показва се бутонът „Абониране“. + Бутонът „Абониране“ е скрит. + Скрийте бутона „Абониране“ + Бутон \"Специални благодарности\" се показва. + Бутон \"Специални благодарности\" е скрит. + Бутон \"Специални благодарности\" + Маркираните продукти се показват. + Маркираните продукти са скрити. + Скриване на маркираните продукти + Лента с инструменти се показва. + Лента с инструменти е скрита. + Скриване на лентата с инструменти + Заглавието се показва. + Заглавието е скрито. + Заглавие на видеото + Бутона Покажи още се показва. + Бутона Покажи още е скрит. + Скриване на бутона Покажи още + Лентата на състоянието се показва. + Лентата на състоянието е скрита. + Скриване на лентата за състояние + Бутона за пробен период се показва. + Бутона за пробен период е скрит. + Скриване на бутона за стартиране на пробен период + Показва се лентата „Абонаменти“. + Лентата „Абонаменти“ е скрита. + Секция на канала в раздела „Публикации“ + Предложенията за действе се показват. + Предложенията за действе са скрити + Препоръчителни действия "This setting has been deprecated. Instead, use the 'Settings → Autoplay → Autoplay next video' setting. Note: • If you have any issues with 'Suggested video end screen', try restarting the app." - Hide suggested video end screen - Thanks button is shown. - Thanks button is hidden. - Hide thanks button - Ticket shelves are shown. - Ticket shelves are hidden. - Hide ticket shelf - Time stamp is shown. - Time stamp is hidden. - Hide time stamp - Timed reactions are shown. - Timed reactions are hidden. - Hide timed reactions - Cast button is shown. - Cast button is hidden. - Hide cast button - Create button is shown. - Create button is hidden. - Hide create button - Notification button is shown. - Notification button is hidden. - Hide notification button - Transcript sections are shown. - Transcript sections are hidden. - Hide transcript sections - Video ads are shown. - Video ads are hidden. - Hide video ads - Videos with duration longer than this number will be hidden. - Longer than duration - Videos with duration shorter than this number will be hidden. - Shorter than duration - Hide videos with shorter than or longer than duration.\n\nKnown issue: It will not hide videos in the player related videos, instead it will hide the timestamp. - Hide videos based on duration - Hide recommended videos with less than a specified number of views. - Hide recommended videos by views - Videos with views greater than this number will be hidden. - Greater than views - Videos with views less than this number will be hidden. - Less than views + Препоръчаният видеоклип се показва в края на възпроизвеждането. + "Екранът за предложения на видеоклипове е скрит, когато автоматичното пускане е изключено. + +Автоматичното пускане може да се промени в настройките на YouTube: +Настройки → Автоматично пускане → Автоматично пускане на следващия видеоклип" + Препоръчан видеоклип в края на възпроизвеждането + Бутона за благодарност се показва. + Бутона за благодарност е скрит. + Скриване на бурона за благодарност + Рафтовете с билети се показват. + Рафтовете с билети са скрити. + Секция за билети + Клеймо за време се показва. + Времето клеймо е скрито. + Времево клеймо на видеоклипа + Времевите реакции се показват. + Времевите реакции са скрити. + Скриване на времевите реакции + Бутонът за предаване се показва. + Бутонът за предаване е скрит. + Скриване на бутона за предаване на Тв + Бутона за създаване се показва. + Бутонът за създаване е скрит. + Бутон Създай клип + Бутонът за известия се показва. + Бутонът за известия е скрит. + Бутон за Известия + Разделът за транскрипция е показан. + Разделът за транскрипция е скрит. + Скриване на раздела за транскрипция + Видео рекламите се показват. + Видео рекламите са скрити. + Скриване на видео рекламите + Видеоклиповете с по-голяма продължителност ще бъдат скрити. + Продължителност, по-голяма от посочената + Видеоклиповете с по-малка продължителност ще бъдат скрити. + Ограничение за минимална продължителност + Скрийте видеоклипове, по-кратки или по-дълги от предпочитанията ви.\n\nИзвестен проблем: Не работи с предложени видеоклипове под плейъра, но ще скрие клеймото им за време. + Скриване на видеоклипове въз основа на тяхната продължителност + Скрийте видеоклиповете с по-малко или повече гледания от предпочитанията ви.\n\nИзвестен проблем: Видеоклиповете с 0 гледания не са правилно филтрирани. + Скриване на видеоклипове въз основа на броя гледания + Видеоклиповете с повече гледания от този брой няма да бъдат показани. + Ограничение за максимален брой гледания + Видеоклиповете с повече гледания от този брой ще бъдат скрити. + Минимално ограничение за гледане K -> 1 000\nM -> 1 000 000\nB -> 1 000 000 000\nviews -> views - Specify your language template for the number of views shown under each video in the user interface. Each key (a letter/word in your language) -> value (meaning of the key) must be on a new line. Keys go before \"->\" sign. If you switch app or system language you have to reset this setting.\n\nExamples:\nEnglish: 10K views = K -> 1000, views -> views\nSpanish: 10 K vistas = K -> 1000, vistas -> views - View keys - View products banner is shown. - View products banner is hidden. - Hide view products banner - Voice search button is shown. - Voice search button is hidden. - Hide voice search button - Web search results are shown. - Web search results are hidden. - Hide web search results - Custom - Stock + Езиков шаблон за брой изгледи (букви/дума на вашия език) -> стойност (ключова стойност) трябва да е на нов ред преди знака \"->\". Ако превключите езика на приложението или системата, трябва да нулирате тази настройка.\n\nПримери:\nEnglish: 10K views = K -> 1000, views -> views\nБългарски: 10 K показвания = K -> 1000, показвания -> views + Ключове за редактиране + Продуктовите банери се показват. + Продуктовите банери са скрити. + Скриване на банера за преглед на продукти + Бутон за гласово търсене се показва. + Бутон за гласово търсене на е скрит. + Бутон за \"гласово търсене\" + Резултатите от уеб търсенето са показани. + Резултатите от уеб търсенето са скрити. + Скриване на резултатите от уеб търсенето + Интерфейс за мащабиране се показва. + Интерфейс за мащабиране ескрит. + Интерфейс за мащабиране + AFN Синя + AFN Червена + По избор + По подразбиране MMT - Revancify Blue - Revancify Red - Keeps landscape mode when turning the screen off and on in fullscreen. - The amount of milliseconds the landscape mode is forced. - Keep landscape mode timeout - Keep landscape mode - Stock + Revancify синя + Revancify Червена + YouTube + Запазва пейзажен режим при изключване и включване на цял екран. + Броят милисекунди, за да принудите пейзажния режим да работи. + Запазване на времето за изчакване в пейзажен режим + Запазете пейзажен режим + По подразбиране + Действието с двойно докосване е деактивирано. + "Действието с двойно докосване е активирано. + +• Докоснете двукратно, за да промените минимизирания видеоклип към по-голям размер. +• Докоснете два пъти още веднъж, за да промените към оригиналния размер." + Действие с двойно докосване + Деактивирано минимизирано плъзгане и пускане на екрана. + Активирано е минимизирано плъзгане и пускане на екрана. + Разрешете плъзгане и местене на мини-плеера + Бутони за разширяване и свиване на екрана са видими. + Бутоните са скрити.\n(плъзнете миниплейъра, за да разширите или затворите) + Бутони за разширяване и свиване на екрана + Бутони за напред и назад са показани. + Бутони за напред и назад са скрити. + Бутони за напред и назад + Подтекстовете се показват. + Подтекстовете са скрити. + Възпроизвеждане на екранни текстове, етикети + Прозрачността на менюто на плейъра трябва да бъде между 0-100. Нулирайте стойностите по подразбирне. + Стойност на прозрачност между 0-100, където 0 е прозрачно. + Прозрачност на менютата + Оригинал + Телефон + Таблет + Модерен 1 + Модерен 2 + Модерен 3 + Минимизиран тип екран за гледане Бутони в плеъра - "Tap to toggle always repeat states. -Tap and hold to toggle pause after repeat states." - Show always repeat button - "Tap to copy video URL. -Tap and hold to copy video URL with timestamp." - "Tap to copy video URL with timestamp. -Tap and hold to copy video timestamp." - Show copy timestamp URL button - Show copy video URL button - Tap to launch external downloader. - Show external download button - Tap and hold to change button state. - Playback speed reseted (1.0x). - "Tap to open speed dialog. -Tap and hold to set playback speed to 1.0x." - Show speed dialog button - Excluded - Included - Normal - Action buttons - Additional settings - Duration filter - Experimental Flags - Import / Export as file - Import / Export as text - Keyword filter - Others - Overlay buttons - Patch information - Quick actions - Recommended video - Shorts shelf - Tool used - View count filter - Hide or show elements in account menu and You tab. - Account menu - Hide or show action buttons under videos. - Action buttons - Ads - Alternative thumbnails - Bypass ambient mode restrictions or disable ambient mode. - Ambient mode - Hide or show the category bar in the feed, search, and related videos. - Category bar - Hide or show channel bar components under videos. - Channel bar - Hide or show components in the channel profile. - Channel profile - Hide or show comments section components. - Comments - Hide or show community posts in the feed and channel. - Community posts - Hide components using custom filters. - Custom filter - Hide or show flyout menu in the feed. - Flyout menu - Feed - Hide or change components related to fullscreen. - Fullscreen - General - Disable or enable haptic feedback. - Haptic feedback - Import or export settings. - Import / Export settings - Miscellaneous - Hide or show navigation bar section components. - Navigation buttons - Information about applied patches. - Patch information - Hide or show buttons in videos. - Player buttons - Hide or change flyout menu in the video player. - Flyout menu - Player - Return YouTube Dislike + "Докоснете, за да превключите повторение +Докоснете и задръжте, за да превключите на пауза след повтарвне." + Показване бутон за авт. повторение + "Докоснете, за да копирате URL адреса на видеоклипа +Докоснете и задръжте, за да копирате URL адреса на видеоклипа с маркер за време." + "Натиснете, за да копирате URL адреса на видеоклипа с клеймо за време. +Натиснете и задръжте, за да копирате клеймо за време." + Копиране на връзка с времеви печат + Показване на бутона за копиране на URL адреса на видеоклипа + Докоснете за избор на външно свалящо приложение. + Показване на бутона за изтегляне чрез външно приложение + Натискането на бутона изключва/включва звука на текущото видео. + Бутон за изключване на звука + Натиснете продължително, за да промените състоянието на бутона. + Нулиране на скоростта на възпроизвеждане: %sx. + "Бутон за регулиране на скоростта на възпроизвеждане. Натиснете, за да отворите прозореца за промяна на скоростта на възпроизвеждане 1.0x." + Показване бутон за скорост + "Докоснете, за да генерирате плейлист с всички видеоклипове в канала от най-старите до най-новите, натиснете продължително, за да отмените." + Бутон за показване на подредени по време плейлисти + Натиснете - Отворете \"Бял списък\". +Натиснете и задръжте - Отворете настройките на \"Бял списък\". + Пок. бутон за \"Бял списък\" + Бутонът за изтегляне на YouTube отваря собствената програма за изтегляне на приложението. + Бутонът за изтегляне от YouTube отваря вашата външна програма за изтегляне. + Преназначаване на бутона за изтегляне на плейлист + Бутонът за изтегляне на YouTube отваря собствената програма за изтегляне на приложението. + Бутонът за изтегляне от YouTube отваря вашата външна програма за изтегляне. + Действие на бутона \"Изтегляне\" за видео + Изключване + Включване + Нормално + Бутони за действие + Допълнителни настройки + Анимация / Обратна връзка + Филтриране по продължителност + Експериментални настройки + Ограничения за областта на изображението + Импортиране / Експортиране като файл + Импортирайте / Експортирайте настройки в текст + Филтър по ключова дума + Други + Добавете бутони към екрана за възпроизвеждане + Информация за корекции + Бързи действия + Препоръчани видеоклипове + Shorts рафтове + Ползвани инструменти + Филтрирайте по брой гледания + Скриване или показване на елементи в менюто на акаунта и раздела Вие. + Меню на акаунта + Скриване или показване на бутони за действие под видеоклипове. + Бутони за действие + Реклами + Алтернативни миниатюри + Изключете подсветка около видеото или прескочете ограничението в режим за пестене на батерията. + Подсветка около видеото + Скриване или показване на лентата с категории в емисията, резултатите от търсенето и свързаните видеоклипове. + Панел с категорий + Скрийте или покажете елементи от лентата на канала под видеоклипа. + Панел на канала + Скриване или показване на елементи на страницата с канали. + Страница на канала + Скриване или показване на секцията за коментари. + Коментари + Скрийте или покажете публикации в общността в емисията и канала. + Публикации в общността + Скриване на компоненти с помощта на потребителски филтри. + Потребителски филтър + Скрийте или покажете компонентите на падащото меню в лентата с помощта на филтър. + Падащо меню + Начална страница + Скрийте или променете елементи, свързани с режим на цял екран. + Цял екран + Основни настройки + Деактивирайте или активирайте вибрационен отговор за събития. + Вибрация при докосване (обратна връзка) + Импортиране / Експортиране на настройките. + Импортиране / Експортиране на настройките + Променете стила на минимизирания екран за възпроизвеждане. + Минимизиран екран за възпроизвеждане + Разни + Скриване или показване на елементи от лентата за навигация. + Бутони за навигация + Информация за приложените корекции. + Информация за корекции + Скриване или показване на бутони на екрана на видеоплейъра. + Бутони на екрана за възпроизвеждане + Скриване или промяна на елементи от изскачащото меню на екрана на видеоплейъра. + Падащо меню + Плейър + Return YouTube Dislike (показва нехаресванията) SponsorBlock - Customize the seekbar components. - Seekbar - Hide elements in YouTube settings menu. - Settings menu - Hide or show components in the shorts player. - Shorts player + Конфигуриране на компоненти Скалата за възпроизвеждане. + Времева Скала на възпроизвеждане + Скриване на елементи в менюто с настройки на YouTube. + Меню с настройки + Скриване или показване на компоненти в Shorts плейъра. + Плейър за кратки клипове Shorts - Swipe controls - Hide or change components located on the toolbar such as toolbar buttons, search bar, header. - Toolbar - Hide or show video description components. - Video description - Hide videos by keywords or views. - Video filter - Video - Configure the spacing from the seekbar to the quick action container, between 0-32. - Quick actions top margin - "Forcefully rejects the software AV1 codec response. -After about 20 seconds of buffering, switches to different codec." - Reject software AV1 codec response - Fallback process causes about 20 seconds of buffering. - Playback speed changes only apply to the current video. - Playback speed changes apply to all videos. - Remember playback speed changes - Changing default speed to %s. - Quality changes only apply to the current video. - Quality changes apply to all videos. - Remember video quality changes - Changing default mobile data quality to %s. - Failed to set video quality. - Changing default Wi-Fi quality to %s. - "Remove viewer discretion dialog. -This does not bypass the age restriction. It just accepts it automatically." - Remove viewer discretion dialog - Replace software AV1 codec with VP9 codec. - Replace software AV1 codec - Tap to show the remaining time. - Tap to open playback speed or video quality flyout menu. - Replace time stamp action - Replaces create button with settings button. - Replace create button - "Tap to open YouTube Settings. -Tap and hold to open RVX Settings." - "Tap to open RVX Settings. -Tap and hold to open YouTube Settings." - Action type to assign to button - Seekbar thumbnails will appear in fullscreen. - Seekbar thumbnails will appear above the seekbar. - Restore old seekbar thumbnails - Old video quality menu is not shown. - Old video quality menu is shown. - Restore old video quality menu - About - Dislike data is provided by the Return YouTube Dislike API. Tap here to learn more. + Плъзгащи контроли + Скрива или променя елементи, разположени в лентата с инструменти, като бутони на лентата с инструменти, лента за търсене, заглавия. + Лента с инструменти + Скриване или показване на компонентите от описанието на видеоклиповете. + Описание на видеото + Скриване на видеоклипове въз основа на ключови думи, брой гледания или тяхната продължителност. + Видео филтри + Видео + Променя настройките, за хронологията на гледане. + История на гледане + Височината трябва да е между 0-32, нулиране. + Промяна на височината на лентата за прогрес, стойности между 0-32. + Височина на лентата за напредък + "Принудително отхвърляне на софтуерния кодек AV1 +След приблизително 20 секунди буфериране ще бъде приложен друг кодек." + Отхвърлете софтуерния кодек AV1 + Буфериране поради софтуерен кодек Av1 (прибл. 20 сек.). + Промените в скоростта на възпроизвеждане се отнасят само за текущия видеоклип. + Промените в скоростта на възпроизвеждане се отнасят за всички видеоклипове. + Запомнете промените в скоростта на възпроизвеждане + Няма съобщение в долната част на екрана при промяна на скоростта на възпроизвеждане по подразбиране. + При промяна на скоростта на възпроизвеждане по подразбиране в долната част на екрана се появява съобщение. + Покажи съобщение + Смяна на скоростта на видеото на %s. + Промените в качеството се отнасят само за текущия видеоклип. + Промените в качеството се отнасят за всички видеоклипове. + Запомнете промените в качеството на видеото + Няма съобщение в долната част на екрана при промяна на качеството на видеото по подразбиране. + Съобщението се появява в долната част на екрана при промяна на качеството на видеото по подразбиране. + Покажи съобщение + Смяна на качеството при мобилни данни на %s. + Грешка при настройка на качеството на видеото. + Смяна на качеството при Wi-Fi на%s. + "Премахва диалоговите прозорци. Това не заобикаля възрастовите ограничения, но ги приема автоматично." + Прозорец за възрастово ограничение + Заменя софтуерния кодек AV1 с кодека VP9. + Сменете софтуерния кодек AV1 + Използва се псевдонимът на канала. + Използва се името на канала. + Заменете псевдонима на канала + Докоснете, за да видите оставащото време. + Докоснете, за да отворите менюто за скорост на възпроизвеждане или качество на видеото. + Променя действието на индикатора за време + Заменете „Създаване“ с бутон за настройки. + Заменете бутона \"Създаване\" + "Докоснете, за да отворите настройките на YouTube. +Докоснете и задръжте, за да отворите настройките на RVX." + "Докоснете, за да отворите настройките на RVX. +Докоснете и задръжте, за да отворите настройките на YouTube." + Action à attribuer au bouton + Миниатюрите се показват в режим на цял екран. + Над лентата за възпроизвеждане се появяват миниатюри. + Стари миниатюри на времевата линия + Старото меню за видео качество е скрито. + Показва се старото меню за видео качество. + Възстановете старото меню за качество на видеото + За програмата + Данните за нехаресване са от Return YouTube Dislike API. Докоснете за да научите повече. ReturnYouTubeDislike.com - Like button styled for best appearance. - Like button styled for minimum width. - Compact like button - Dislikes shown as number. - Dislikes shown as percentage. - Dislikes as percentage - Dislikes are not shown. - Dislikes are shown. - Enable Return YouTube Dislike - Dislikes not available (client API limit reached). - Dislikes not available (status %d). - Dislikes temporarily not available (API timed out). - Dislikes not available (%s). - Reload video to vote using Return YouTube Dislike - Dislikes hidden on Shorts. - Dislikes shown on Shorts. - "Dislikes shown on Shorts. - -Limitation: Dislikes may not appear in incognito mode." - Show dislikes on Shorts - Toast is not shown if Return YouTube Dislike is not available. - Toast is shown if Return YouTube Dislike is not available. - Show a toast if API is not available - Hidden - Removes tracking query parameters from the URLs when sharing links. - Sanitize sharing links - About + Компактният бутон „Харесва ми“ е деактивиран. + Включен компактен бутон \"Харесва ми\". + Компактен бутон за харесване + Нехаресванията се показват като число. + Нехаресванията се показват като процент. + Нехаресвания като процент + Нехаресванията не се показват. + Нехаресванията се показват. + Вкл. на Return YouTube Dislike + Нехаресванията не са достъпни (достигнат лимит на API). + Нехаресванията не са налични (status %d). + Нехаресванията временно не са налични (изтече времето за изчакване на API). + Нехаресванията не са налични (%s). + Презареждане на видеото за гласуване чрез ReturnYouTubeDislike + Нехаресванията са скрити в кратките клипове. + Нехаресванията се показват в кратките клипове. + "Нехаресванията се показват в Shorts +Ограничение: Нехаресванията може да не се показват в режим „инкогнито“ или ако не сте влезли в акаунта си." + Пок. нехаресвания в кратките клипове + Не се показва известие, ако ReturnYouTube Dislike не е наличен. + Показва известие, ако Return YouTube Dislike не е наличен. + Показване на известие, ако API не е наличен + Скрито + Премахва параметрите на заявката за проследяване от URL адресите при споделяне на връзки. + Почистване на споделените връзки + Относно sponsor.ajay.app - Data is provided by the SponsorBlock API. Tap here to learn more and see downloads for other platforms. - API URL changed. - API URL is invalid. - API URL reset. - Appearance - Color changed. - Color: - Invalid color code. - Color reset. - Creating new segments - Change segment behavior - Automatically hide skip button - Skip button displayed for entire segment. - Skip button hides after a few seconds. - Use compact skip button - Skip button styled for best appearance. - Skip button styled for minimum width. - Show create new segment button - Create new segment button is not shown. - Create new segment button is shown. - Enable SponsorBlock - SponsorBlock is a crowd-sourced system for skipping annoying parts of YouTube videos. - Show voting button - Segment voting button is not shown. - Segment voting button is shown. - General - Adjust new segment step - Value must be a positive number. - Number of milliseconds the time adjustment buttons move when creating new segments. - Change API URL - The address SponsorBlock uses to make calls to the server. - Minimum segment duration - Segments shorter than this value (in seconds) will not be shown or skipped. - Enable skip count tracking - Skip count tracking is not enabled. - Lets the SponsorBlock leaderboard know how much time is saved. A message is sent to the leaderboard each time a segment is skipped. - Show a toast when skipping automatically - Toast is not shown. Tap here to see an example. - Toast is shown when a segment is automatically skipped. Tap here to see an example. - Show video length without segments - Full video length shown. - Video length minus all segments, shown in parentheses next to the full video length. - Your private user id - Private user id must be at least 30 characters long. - 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. - Already read - Read the SponsorBlock guidelines before creating new segments. - Show me - Follow the guidelines - Guidelines contain rules and tips for creating new segments. - View guidelines - Choose the segment category + Данните са предоставени от SponsorBlock API. Докоснете тук за повече информация и изтеглияния. + URL API е променен. + URL адресът е невалиден. + Нулиране URL адреса, на API. + Външен вид + Цветът е променен + Цвят: + Невалидна стойност за цвета + Цветът е възстановен + Създаване на нови части + Промени поведението на сигмента + Авт. скриване на бутона за пропускане + Бутона за пропускане се показва за цялата част. + Бутона за пропускане се скрива след няколко секунди. + Компактен бутон за пропускане + Най-добър изглед на бутона за пропускане. + Мин. ширина на бутона за пропускане. + Показване на бутона за нова част + Бутона създаване за нова част не се показва. + Бутона създаване за нова част се показва + Включване на SponsorBlock + SponsorBlock е система за прескачане на досадни части от видеоклиповете в YouTube. + Пок. бутона за гласуване + Бутонът \"Гласуване\" за сегмент е скрит. + Показва се бутонът \"Гласуване\" за сегмент. + Основен + Настройване стъпка на новата част + Стойността трябва да е положително число. + Милисекундите с който се преместват бутоните за настройка при създаване на част. + Промяна URL на API + Адресът, който SponsorBlock използва засвързване към сървъра. + Минимална продължителност на сегмента + Невалидна продължителност. + Части, по-кратки от тази стойност (в секунди) няма да бъдат пропускани или показвани. + Активиране проследяването на броя пропускания + Прослед. на броя пропускания е изкл. + Показва в класацията на SponsorBlock колко време е спестено. Съобщение се изпраща при всяка пропусната част. + Показв. известие при автом. пропуск. част + Известието не се показва. Докоснете тук за пример. + Показване на известие при автоматично пропусната част. Докоснете тук за пример. + Показване на дължината на видеото без сигментите + Цялата дължина на видето се показва. + Дължината на видеоклипа минус комбинираната дължина на сегмента е показана в скоби до пълната дължина на видеоклипа. + Вашият уникален потребителски id + Личният Id трябва да е с дължина поне 30 знака. + Това трябва да се пази тайно. То е като парола и не трябва да се споделя с никого. Ако някой го притежава, той може да се представи вместо вас. + Вече ги прочетох + Прочетете указанията на SponsorBlock преди да създадете нови части. + Покажи ми + Следвайте указанията + Указанията съдържат правила и съвети за създаване на нови части. + Вижте указанията + Изберете категорията на частта The segment lasts from %1$02d:%2$02d to %3$02d:%4$02d (%5$d minutes %6$02d seconds)\nIs it ready to submit? - The segment lasts from %1$02d:%2$02d to %3$02d:%4$02d (%5$d minutes %6$02d seconds)\nIs it ready to submit? - Are the times correct? - Category is disabled in settings. Enable category to submit. - Do you want to edit the timing for the start or end of the segment? - Invalid time given. - Edit timing of segment manually - end - Mark two locations on the time bar first. - start - now - Preview the segment, and ensure it skips smoothly. - Start must be before the end. - Time the segment ends at - Time the segment begins at - New SponsorBlock segment - Reset - Reset color - Filler Tangent / Jokes - Tangential scenes added only for filler or humor that are not required to understand the main content of the video. Does not include segments providing context or background details. - Highlight - The part of the video that most people are looking for. - Interaction Reminder (Subscribe) - A short reminder to like, subscribe or follow them in the middle of content. If it is long or about something specific, it should instead be under self promotion. - Intermission / Intro Animation - An interval without actual content. Could be a pause, static frame, or repeating animation. Does not include transitions containing information. - Music: Non-Music Section - Only for use in music videos. Sections of music videos without music, that aren\'t already covered by another category. - Endcards / Credits - Credits or when the YouTube endcards appear. Not for conclusions with information. - Preview / Recap / Hook - Collection of clips that show what is coming up or what happened in the video or in other videos of a series, where all information is repeated elsewhere. - Unpaid / Self Promotion - Similar to \'Sponsor\' except for unpaid or self promotion. Includes sections about merchandise, donations, or information about who they collaborated with. - Sponsor - Paid promotion, paid referrals and direct advertisements. Not for self-promotion or free shout-outs to causes / creators / websites / products they like. - Copy - Failed to export: %s. - Import / Export settings - Your SponsorBlock JSON configuration that can be imported / exported to ReVanced Extended and other SponsorBlock platforms. - Your SponsorBlock JSON configuration that can be imported / exported to ReVanced Extended and other SponsorBlock platforms. This includes your private user id. Be sure to share this wisely. - Failed to import: %s. - Settings imported successfully. - Your settings contain a private SponsorBlock userid.\n\nYour user id is like a password and it should never be shared.\n - Do not show again - Settings copied to clipboard. - Skip automatically - Skip automatically once - Skip - Highlight - Skip filler - Skip to highlight - Skip interact - Skip intro - Skip intermission - Skip intermission - Skip non-music - Skip outro - Skip preview - Skip recap - Skip preview - Skip promo - Skip sponsor - Skip segment - Disable - Show in seek bar - Show a skip button - Skipped filler. - Skipped to highlight. - Skipped annoying reminder. - Skipped intro. - Skipped intermission. - Skipped intermission. - Skipped multiple segments. - Skipped a non-music section. - Skipped outro. - Skipped preview. - Skipped recap. - Skipped preview. - Skipped self promotion. - Skipped sponsor. - Skipped unsubmitted segment. - SponsorBlock temporarily not available. - SponsorBlock temporarily not available (status %d). - SponsorBlock temporarily not available (API timed out). - Stats - Stats temporarily not available (API is down). - Loading... - Your reputation is <b>%.2f</b> - You\'ve saved people from <b>%s</b> segments - %1$s hours %2$s minutes - %1$s minutes %2$s seconds - %s seconds - That\'s <b>%s</b> of their lives.<br>Tap here to see the leaderboard. - Tap here to see the global stats and top contributors. - SponsorBlock leaderboard - SponsorBlock is disabled. - You\'ve skipped <b>%s</b> segments - Reset skipped segments counter? - That\'s <b>%s</b>. - You\'ve created <b>%s</b> segments - Your username: <b>%s</b> - Tap here to change your username - Unable to change username: Status: %1$d %2$s. - Username successfully changed. - Can\'t submit the segment.\nAlready exists. - Can\'t submit the segment: %s. - Unable to submit segment: %s. - Unable to submit segment.\nRate Limited (too many from the same user or IP). - SponsorBlock is temporarily down. - Unable to submit segment (status: %1$d %2$s). - Segment submitted successfully. - Toast is not shown if SponsorBlock is not available. - Toast is shown if SponsorBlock is not available. - Show a toast if API is not available - Change category - Downvote - Unable to vote for segment: %s. - Unable to vote for segment (API timed out). - Unable to vote for segment (status: %1$d %2$s). - There are no segments to vote for. - Upvote - Settings copied to clipboard. - Time stamp copied to clipboard. (%s) - URL copied to clipboard. - URL with timestamp copied to clipboard. - "Shows the video title section in full screen. + Сегментът продължава от\n\n%1$s\nдо\n%2$s\n\n(%3$s)\n\nГотов ли е за изпращане? + Времената точни ли са? + Категорията е изкл. в настройките. Вкл. я за да можете да изпратите. + Желаете ли да редактирате времената за начало или край на частта? + Зададено е невалидно време. + Ръчно редактиране на времената на частта + Задаване на %s като начало или край на нов раздел? + край + Първо маркирайте две места в лентата за времето. + начало + сега + Преглед и проверка на частта за нормално пропускане. + Началото трябва да бъде преди края. + Частта свършва до + Частта започва от + Нова част в SponsorBlock + Възстанови + Връщане на цветовете + Пълнеж/Шеги + Сцени извън темата, добавени само за пълнеж или хумор, които не са необходими за разбирането на основното съдържание на видеоклипа. Това не трябва да включва сегменти, предоставящи контекст или справочни данни. + Акцентиране + Частта от видеото която повечето хора търсят. + Напомняне за действие (абониране) + Когато има кратко напомняне да харесате, да се абонирате или да последвате канала по средата на съдържанието. Ако е дълго или за нещо специфично, трябва да е под „самореклама“. + Пауза / Начална анимация + Интервал без реално съдържание. Може да бъде пауза, статичен кадър, повтаряща се анимация. Това не трябва да се използва за преходи, съдържащи информация. + Музика: Част без музика + За използване само в музикални видеоклипове. Това трябва да се използва само за части от музикални видеоклипове, които вече не са обхванати от друга категория. + Крайни карти / информация + Информация или когато се показват крайните карти на YouTube. Не за заключения с информация. + Преглед/Обобщение + Колекция от клипове, които показват какво предстои в този видеоклип или в други видеоклипове от поредицата, където цялата информация се повтаря по-късно във видеоклипа. + Неплатена/Самореклама + Подобно на „спонсорство“, но за безплатна реклама или самореклама. +Това включва търговия със стоки, дарения или информация с кого каналът има сътрудничество. + Спонсори + Платена промоция, платени препоръки и директни реклами. Не за самореклама или безплатни препоръки за каузи/създатели/уебсайтове/продукти, които се харесват на автора. + Копирай + Неуспешно експортиране на %s. + Импортиране / Експортиране на настройките + Вашата JSON конфигурация на SponsorBlock може да бъде импортирана/експортирана в ReVanced Extended и други платформи на SponsorBlock. + Вашата JSON конфигурация на SponsorBlock може да бъде импортирана/експортирана в ReVanced Extended и други платформи на SponsorBlock. Той съдържа вашия личен документ за самоличност. Бъдете внимателни, когато го споделяте с други. + Неуспешно импортиране: %s. + Настройките са успешно въстановени. + Вашите настройки на SponsorBlock съдържат лично Id.\n\nВашето Id е като парола и не трябва да се споделя с никого\n + Не показвай отново + Настройките са копирани в клипборда. + Автоматично пропускане + Авт. пропускане веднъж + Пропусни + Акценти + Пропусни пълнеж + Пропусни до акцент + Пропусни подканване + Пропусни въведение + Пропусната пауза + Пропусната пауза + Пропусни част без музика + Пропусни заключение + Пропусни преглед + Пропуснете обобщението + Пропусни преглед + Пропусни промоция + Пропусни спонсор + Пропусни част + Деактивиране + Показв. в лентата за време + Пок. бутон за пропускане + Пропуснат пълнеж + Пропуснато до акцент + Пропуснато досадно напомняне + Пропуснато въведение + Пропусната пауза. + Пропусната пауза. + Пропуснати множество части + Пропусната част без музика + Пропуснато заключение + Пропуснат преглед. + Пропуснато повторение. + Пропуснат преглед. + Пропусната самореклама. + Пропуснат спонсор + Пропуснат неизпратен сегмент + SponsorBlock временно не е наличен. + SponsorBlock временно не е наличен (status %d). + SponsorBlock временно не е наличен (API timed out). + Статистика + Статистиката е временно недостъпна (API не работи). + Зареждане... + Репутацията ви е <b>%.2f</b> + Спасихте хората от <b>%s</b> сегменти + %1$s часове %2$s минути + %1$s минути %2$s секунди + %s секунди + Това е <b>%s</b> от живота им.<br>Щракнете, за да видите класацията. + Докоснете за да видите статистиката и тези допринесли най-много. + SponsorBlock класация + SponsorBlock е деактивиран. + Пропуснали сте <b>%s</b> части + Нулиране на брояча на пропуснати части? + Това е <b>%s</b>. + Създадохте <b>%s</b> части + Вашето потр. име: <b>%s</b> + Докоснете за промяна потребителското име + Не може да се промени потреб. име: Състояние: %1$d%2$s. + Потребителското име е успешно променено. + Не може да се изпрати частта.\nВече съществува. + Не може да се изпрати частта: %s. + Не може да се изпрати сегмент: %s. + Не може да се изпрати частта.\nБроят е ограничен (Твърде много от един и същ потребител или IP). + SponsorBlock временно не работи. + Не могат да се изпратят сигменти: (статус:%1$d %2$s). + Частта е изпратена успешно. + Не се показва известие, ако Api на SponsorBlock не е наличен. + Показва се известие, ако Api на SponsorBlock не е наличен. + Показване на известие, ако API не е наличен + Промяна на категорията + Отрицателен вот + Не може да се гласува за сигмента: %s. + Не може да се гласува за сегмент (изтече времето за изчакване на API). + Не може да се гласува за частите: (статус: %1$d %2$s). + Няма сегменти, за които да гласувате. + Положителен вот + Настройките са копирани в клипборда. + Времевата отметка е копирана в клипборда. (%s) + Връзката е копирана в клипборда. + URL адрес с отметка за време, копиран в клипборда. + Оригинал + Харесва ми + Палец нагоре (тема Кайро) + Сърце + Сърце (цветно) + Скрит + Анимация на двойно докосване + Полето в долната част на мета панела трябва да е между 0-64, Нулирайте по подразбиране. + Отстъп от лентата за възпроизвеждане към панела „мета“ Диапазон от 0 до 64. + Долно поле на \"мета\" панела + Натиснете и задръжте клеймото за време, за да превключите състоянието на повторение на Shorts. + Продължително натискане на времето + "Показва раздела със заглавието на видеоклипа на цял екран. -Limitation: Video title disappears when clicked." - Show video title section - If autoplay is turned on, next video will play after the countdown ends. - If autoplay is turned on, next video will play without a countdown. - Skip autoplay countdown - "Skip preloaded buffer at video start to bypass default video quality enforcement delay. +Ограничение: Заглавието на видеоклипа изчезва при щракване." + Показване на раздел със заглавие на видеоклипа + Ако автоматичното пускане е активирано, следващият видеоклип ще се възпроизведе след края на обратното броене. + Ако автоматичното пускане е активирано, следващият видеоклип ще се възпроизведе веднага. + Незабавно автоматично пускане + "Пропуска предварително заредения буфер в началото на видеоклиповете, за да приложи незабавно качеството на видеото по подразбиране. -• When the video starts, there is a delay of approximately 0.3 seconds, but the default video quality is applied immediately. -• Does not apply to HDR videos, live stream videos, videos shorter than 15 seconds." - Skip preloaded buffer - Toast is not shown. - Toast is shown. - Show a toast when skipped - Skipped preloaded buffer. - Speed overlay value between 0-8.0. - Speed overlay value +Информация: +• Когато видеото започне, има забавяне от приблизително 0,3 секунди. +• Не се прилага за HDR видеоклипове, видеоклипове на живо или видеоклипове, по-кратки от 15 секунди." + Пропусни предварително зареден буфер + Уведомлението е скрито. + Уведомлението се показва. + Уведомление при пропуске + Активирането на тази настройка може да причини проблеми с възпроизвеждането на видео. + Пропуснат предварително зареден буфер. + Скоростта трябва да е между 0-8.0, нулирайте. + Стойност на скоростта, приложена при продължително натискане, между 0 и 8,0. + Стойност на скоростния интерфейс "Spoofing the client version to the old version. • This will change the appearance of the app, but unknown side effects may occur. • If later turned off, the old UI may remain until clear the app data." - 17.33.42 - Restore old UI layout - 17.41.37 - Restore old playlist shelf - 18.05.40 - Restore old comment input box - 18.17.43 - Restore old player flyout panel - 18.33.40 - Restore old shorts action bar - 18.38.45 - Restore old default video quality behavior - "18.48.39 - Disables 'views' and 'likes' from being updated in real time" - Spoof app version target - Type the spoof app version target. - Edit spoof app version - Spoof app version - Spoofs the device dimensions in order to unlock higher video qualities that may not be available on your device. - Spoof device dimensions - "Player parameter not spoofed for feed videos. - -Limitation: Feed videos will play for less than 1 minute before encountering playback issues." - "Player parameter spoofed for feed videos. - -Limitation: Automatically played feed videos will show up in your watch history." - Spoof player parameter in feed - "Spoofs player parameters to prevent playback issues. - -Limitations: -• Enhanced bitrate is not available. -• No seekbar thumbnails for paid videos. -• Offline downloads may not work. -• Video may not start from the last watched time." - Spoof player parameter - "Swipe gestures are disabled in 'Lock screen' mode." - "Swipe gestures are enabled in 'Lock screen' mode." - "Swipe gestures in 'Lock screen' mode" - Auto - The amount of threshold for swipe to occur. - Swipe magnitude threshold - The visibility of swipe overlay background. - Swipe background visibility - The text size for swipe overlay. - Swipe overlay text size - The amount of milliseconds the overlay is visible. - Swipe overlay timeout - "Switch the positions of the create button and notification button by spoofing device information. + Не подправена версия + Подправена версия + 17.30.34 - Възстановява стария изглед + 17.41.37 - Връщане на секцията с плейлиста към стария стил + 18.05.40 - Възстановяване на старото поле за писане на коментари + 18.17.43 - Възстановяване на стария стил на изскачащия панел + 18.33.40 - Възстановяване на старата лентата с действия за Shorts + 18.38.45 - Възстановяване на старото поведение на качеството на видеото по подразбиране + 18.48.39 - Деактивира изгледите и харесванията да се актуализират в реално време + Версия за модификация на приложението + Въведете версията на приложението, която да се приложи. + Редактирайте версията на приложението, която да бъде приложена + Променете версията на приложението + "Версията на приложението YouTube ще бъде променена на по-стара. +Това ще промени външния вид и функциите на приложението, но ако по-късно се деактивира, се препоръчва да изчистите данните на приложението, за да избегнете грешки в потребителския интерфейс." + "Преоразмерява вашето устройство, за да покже видеоклипове с по-високо качество, които може да не са налични на вашето устройство." + Лъжливи параметри на устройството + Жестовете за плъзгане са деактивирани в режим „Заключен екран“. + Жестовете за плъзгане са активирани в режим „Заключен екран“. + Плъзне в режим Заключен екран + Авто + Амплитудата на движение, разпозната като жест. + Праг на величината на плъзгане + Видимостта на фона на плъзгащите контроли. + Видимост на фона на плъзгащите контроли + Областта за плъзгане не може да бъде по-голяма от 50. Нулиране на стойността по подразбиране. + Процентът от площта на екрана, който може да се плъзне.\n\nЗабележка: Това също засяга зоната с двойно докосване за придвижване напред/назад във видеоклипа. + Размер на областта за жестове + Размера на текста на плъзгащите контроли. + Размер на текста при плъзгане + Време за което плъзгащата контрола е видима. + Задръжка на плъзгащата контрола за показване + "Разменя позициите на бутона Създаване с бутона Известия чрез подправяне на информация за устройството. -• Even if you change this setting, it may not take effect until you reboot the device. -• Disabling this setting loads more ads from the server side. -• You should disable this setting to make video ads visible." - Switch create with notifications - Stock +• Може да се наложи устройството да се рестартира, за да влезе в сила промяната на тази настройка. +• Деактивирането на тази настройка зарежда повече реклами от страната на сървъра. +• Трябва да деактивирате тази настройка, за да направите видео рекламите видими." + Разменете бутоните „Създаване“ с „Известия“ + По подразбиране + • Хронологията на гледане е блокирана. + Преглед на състоянието на хронологията + Кликнете, за да отворите управлението на хронологията на гледане в YouTube. + Управление на цялата история + Оригинал + Замени домейна + Блокиране на хронологията на гледане + Тип хронология на гледане + Неуспешно добавяне на \"%1$s\" канала към %2$s белия списък. + Каналът %1$s е добавен в %2$s белия списък. + Няма канали в белия списък. + Не е добавен в Бял списък. + Неуспешно зареждане на информация за канала. + Добавен към белия списък. + Скорост на възпроизвеждане + Премахване на канала „%1$s“ от белия списък на %2$s? + Неуспешно премахване на канала %1$s от %2$s белия списък. + Каналът \"%1$s\" е премахнат от %2$s белия списък. + Проверка или премахване на листа с канали доб. в белия списък. + Добавяне на канал към белия списък + SponsorBlock diff --git a/src/main/resources/youtube/translations/bn/missing_strings.xml b/src/main/resources/youtube/translations/bn/missing_strings.xml index b30ec1974..e6ff289c4 100644 --- a/src/main/resources/youtube/translations/bn/missing_strings.xml +++ b/src/main/resources/youtube/translations/bn/missing_strings.xml @@ -82,7 +82,7 @@ Side effect: Community post images may be blocked in fullscreen." Key concepts section is hidden. Hide Key concepts section Match full word - Keyword \'%1$s\' will hide all videos. + Keyword will hide all videos: %s. Live chat messages are shown.\n\nThis setting applies to Shorts live videos too. Live chat messages are hidden.\n\nThis setting applies to Shorts live videos too. Hide live chat messages @@ -172,18 +172,21 @@ Tap and hold to open whitelist setting dialog. Override video download button Animation / Feedback Image region restrictions - About - Spoof client options Change the style of the in app minimized player. Miniplayer - Spoof the client to prevent playback issues. - Spoof client Change settings related with watch history. Watch history Quick actions top margin must be between 0-32. Reset to default values. + A toast will not be shown when changing the default playback speed. + A toast will be shown when changing the default playback speed. + Show a toast + A toast will not be shown when changing the default video quality. + A toast will be shown when changing the default video quality. + Show a toast Channel handle is used. Channel name is used. Replace channel handle + Invalid time duration. Adjust: Mark Start and End Time for segment Verify the Segment Edit the Segment @@ -203,12 +206,6 @@ Tap and hold to open whitelist setting dialog. Meta panel bottom margin Press and hold the timestamp to change the Shorts repeat status. Timestamp long press action - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed Turning on this setting may cause video playback issues. Speed overlay value must be between 0-8.0. Reset to default values. Version not spoofed @@ -218,76 +215,10 @@ Tap and hold to open whitelist setting dialog. This will change the appearance and features of the app, but unknown side effects may occur. If later turned off, it is recommended to clear the app data to prevent UI bugs." - Unplayable video - General - Live streams - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - Spoofed client is hidden in Stats for nerds. - Spoofed client is shown in Stats for nerds. - Show in Stats for nerds - "Client is not spoofed. Video playback may not work." - Client is spoofed. - Spoof client - "Spoof client to Android Testsuite. - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• End screen cards are missing. -• Low quality seekbar thumbnail." - Android Testsuite - "Spoof client to Android TV (YouTube TV). - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• Low quality seekbar thumbnail. -• Some live streams are not supported for playback." - Android TV - "Spoof client to Android VR. - -Side effects include: -• No HDR video. -• Download button of video action bar is missing. -• Paused videos can randomly resume. -• Low quality Shorts seekbar thumbnails. -• Kids videos do not play." - Android VR - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch history does not work with a brand account." - iOS - Turning off this setting may cause video playback issues. Swipeable area size cannot be more than 50. Reset to default value. Percentage of swipeable screen area.\n\nNote: This will also change the size of the screen area for the double-tap-to-seek gesture. Swipe overlay screen size - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN." - • Follows the watch history settings of Google account. • Watch history is blocked. - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - "• Follows the watch history settings of Google account. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" Status of watch history Click to open the YouTube watch history management. Manage all history @@ -308,4 +239,55 @@ Side effects include: Check or remove the list of channels added to the whitelist. Channel whitelist SponsorBlock + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/bn/strings.xml b/src/main/resources/youtube/translations/bn/strings.xml index 27043fbaf..eda071d84 100644 --- a/src/main/resources/youtube/translations/bn/strings.xml +++ b/src/main/resources/youtube/translations/bn/strings.xml @@ -504,9 +504,6 @@ Words with uppercase letters in the middle must be entered with the casing (ie: Collapse button is shown. Collapse button is hidden. Hide collapse button - Ambient mode menu is shown. - Ambient mode menu is hidden. - Hide ambient mode menu Audio track menu is shown. Audio track menu is hidden. Hide audio track menu @@ -682,9 +679,6 @@ Captions" Like button is shown. Like button is hidden. Hide like button - Location label is shown. - Location label is hidden. - Hide location label Navigation bar is shown. Navigation bar is hidden. Hide navigation bar @@ -700,9 +694,6 @@ Captions" Save sound to playlist is shown. Save sound to playlist is hidden. Hide save sound to playlist button - Search suggestions are shown. - Search suggestions are hidden. - Hide search suggestions Share button is shown. Share button is hidden. Hide share button @@ -1196,21 +1187,6 @@ Limitation: Video title disappears when clicked." Spoof app version Spoofs the device dimensions in order to unlock higher video qualities that may not be available on your device. Spoof device dimensions - "Player parameter not spoofed for feed videos. - -Limitation: Feed videos will play for less than 1 minute before encountering playback issues." - "Player parameter spoofed for feed videos. - -Limitation: Automatically played feed videos will show up in your watch history." - Spoof player parameter in feed - "Spoofs player parameters to prevent playback issues. - -Limitations: -• Enhanced bitrate is not available. -• No seekbar thumbnails for paid videos. -• Offline downloads may not work. -• Video may not start from the last watched time." - Spoof player parameter "Swipe gestures are disabled in 'Lock screen' mode." "Swipe gestures are enabled in 'Lock screen' mode." "Swipe gestures in 'Lock screen' mode" diff --git a/src/main/resources/youtube/translations/de-rDE/missing_strings.xml b/src/main/resources/youtube/translations/de-rDE/missing_strings.xml index 7b3304f74..f9b8d1db3 100644 --- a/src/main/resources/youtube/translations/de-rDE/missing_strings.xml +++ b/src/main/resources/youtube/translations/de-rDE/missing_strings.xml @@ -42,6 +42,13 @@ Override video download button Change settings related with watch history. Watch history + A toast will not be shown when changing the default playback speed. + A toast will be shown when changing the default playback speed. + Show a toast + A toast will not be shown when changing the default video quality. + A toast will be shown when changing the default video quality. + Show a toast + Invalid time duration. Adjust: Mark Start and End Time for segment Verify the Segment Edit the Segment @@ -49,29 +56,8 @@ Set %s as the start or end of a new segment? Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed Turning on this setting may cause video playback issues. - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN." - • Follows the watch history settings of Google account. • Watch history is blocked. - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - "• Follows the watch history settings of Google account. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" Status of watch history Click to open the YouTube watch history management. Manage all history @@ -79,4 +65,55 @@ Side effects include: Replace domain Block watch history Watch history type + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/de-rDE/strings.xml b/src/main/resources/youtube/translations/de-rDE/strings.xml index 2d18fa8b2..46d43cb45 100644 --- a/src/main/resources/youtube/translations/de-rDE/strings.xml +++ b/src/main/resources/youtube/translations/de-rDE/strings.xml @@ -123,7 +123,7 @@ Tippen Sie hier, um mehr über DeArrow zu erfahren." Ambient Modus ist deaktiviert. Ambient-Modus deaktivieren Erzwungene automatische Audiospuren sind aktiviert. - Erzwungene automatische Audiospuren sind deaktiviert. + "Erzwungene automatische Audiospuren sind deaktiviert." Erzwungene automatische Audiospuren sind deaktivieren Erzwungene automatische Untertitel sind aktiviert Erzwungene automatische Untertitel sind deaktiviert @@ -570,9 +570,6 @@ Wörter mit Großbuchstaben in der Mitte müssen im Gehäuse eingegeben werden ( Collapse button is shown. Collapse button is hidden. Hide collapse button - Ambient mode menu is shown. - Ambient mode menu is hidden. - Hide ambient mode menu Audio track menu is shown. Audio track menu is hidden. Hide audio track menu @@ -753,9 +750,6 @@ Untertitel" Live-Chat-Kopfzeile wird angezeigt.\n\nZurück Button wird nicht ausgeblendet. Live-Chat-Kopfzeile wird ausgeblendet.\n\nZurück Button wird nicht ausgeblendet. Live-Chat-Kopfzeile ausblenden - Location label is shown. - Location label is hidden. - Hide location label Navigation bar is shown. Navigationsleiste ist versteckt. Navigationsleiste verstecken @@ -774,9 +768,6 @@ Untertitel" Save sound to playlist button is shown. Save sound to playlist button is hidden. Hide save sound to playlist button - Search suggestions are shown. - Search suggestions are hidden. - Suchvorschläge ausblenden Share button is shown. Share button is hidden. Verstecke \"Teilen\" Schaltfläche @@ -983,8 +974,6 @@ Tippen und halten Sie, um den Einstellungsdialog für die Whitelist anzuzeigen.< Quick actions Empfohlene Videos Shorts shelves - Info - Spoof-Clientoptionen Tool used Zählerfilter anzeigen Zeige oder verstecke Element im Account Menü und mein YouTube. @@ -1038,8 +1027,6 @@ Tippen und halten Sie, um den Einstellungsdialog für die Whitelist anzuzeigen.< Elemente im YouTube-Einstellungsmenü verstecken Shorts player Shorts - Spoof des Clients, um Wiedergabeprobleme zu vermeiden. - Spoof Client Wischgesten Verstecke oder ändere Toolbar-Komponenten, wie die Suchleiste, Buttons und Header. Werkzeugleiste @@ -1352,77 +1339,8 @@ Info: Dies wird das Aussehen und die Funktionen der App verändern, aber unbekannte Nebeneffekte können auftreten. Wenn später ausgeschaltet wird empfohlen, die App-Daten zu löschen, um UI-Fehler zu verhindern." - Nicht abspielbares Video - Allgemein - Livestreams - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - Spoofed Client ist in Statistik für Nerds versteckt. - Spoofed Client wird in Statistiken für Nerds angezeigt. - Zeigt Statistiken für Nerds - "Client ist nicht verschleiert. Video-Wiedergabe kann nicht funktionieren." - Client ist verschleiert. - Spoof Client - "Spoof Client für Android Testsuite. - -Nebeneffekte beinhalten: -• Keine HDR Videos. -• Audio Track Menü fehlt. -• Untertitel sind möglicherweise nicht verfügbar. -• Download Button fehlt. -• Endbildschirmkarten fehlen. -• Niedrige Suchleistenvorschau." - Android Testsuite - "Spoof Client für Android TV (YouTube TV). - -Nebeneffekte beinhalten: -• Keine HDR Videos. -• Audiospurmenü fehlt. -• Untertitel sind möglicherweise nicht verfügbar. -• Download Button fehlt. -• Niedrigere Suchleisten Vorschaubilder. -• Einige Livestreams werden für die Wiedergabe nicht unterstützt." - Android TV - "Spoof Client für Android VR. - -Nebeneffekte beinhalten: -• Keine HDR Videos. -• Download Button, der Video Aktionsleiste, fehlt. -• Pausierte Videos können zufällig wiederaufgenommen werden. -• Niedrige Shorts Suchleiste Vorschaubilder. -• Kindervideos werden nicht abgespielt." - Android VR - "Spoof Client zu iOS. - -Nebeneffekte beinhalten: -• Keine HDR Videos. -• Höhere Video Qualitäten sind möglicherweise nicht verfügbar. -• Die Historie funktioniert nicht mit einem Markenkonto. -• Livestreams können nicht nur als Ton abgespielt werden. -• Livestreams sind nicht auf Android 8.0 verfügbar." - iOS - Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen. "Spoofs the device dimensions in order to unlock higher video qualities that may not be available on your device." Spoof device dimensions - "Player parameter not spoofed for feed videos. - -Limitation: Feed videos will play for less than 1 minute before encountering playback issues." - "Player parameter spoofed for feed videos. - -Limitation: Automatically played feed videos will show up in your watch history." - Spoof player parameter in feed - "Spoofs Player Parameter, um Wiedergabeprobleme zu vermeiden. - -Einschränkungen: -• Erweiterte Bitrate ist nicht verfügbar. -• Keine Suchleisten-Thumbnails für kostenpflichtige Videos. -• Offline-Downloads können nicht funktionieren. -• Video darf nicht von der letzten Uhrzeit gestartet werden." - Spoof player parameter Swipe gestures are disabled in \'Lock screen\' mode. Swipe gestures are enabled in \'Lock screen\' mode. Swipe gestures in \'Lock screen\' mode diff --git a/src/main/resources/youtube/translations/el-rGR/missing_strings.xml b/src/main/resources/youtube/translations/el-rGR/missing_strings.xml index 05db04e9a..81823f259 100644 --- a/src/main/resources/youtube/translations/el-rGR/missing_strings.xml +++ b/src/main/resources/youtube/translations/el-rGR/missing_strings.xml @@ -19,10 +19,4 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed diff --git a/src/main/resources/youtube/translations/el-rGR/strings.xml b/src/main/resources/youtube/translations/el-rGR/strings.xml index fd12c9d8c..34e8500f7 100644 --- a/src/main/resources/youtube/translations/el-rGR/strings.xml +++ b/src/main/resources/youtube/translations/el-rGR/strings.xml @@ -124,7 +124,9 @@ Η λειτουργία περιβάλλοντος είναι απενεργοποιημένη. Απενεργοποίηση λειτουργίας περιβάλλοντος Τα υποχρεωτικά κομμάτια ήχου είναι ενεργοποιημένα. - Τα υποχρεωτικά κομμάτια ήχου είναι απενεργοποιημένα. + "Τα υποχρεωτικά κομμάτια ήχου είναι απενεργοποιημένα. + +Περιορισμός: Αυτή η λειτουργία δεν ισχύει για τα Shorts." Απενεργοποίηση υποχρεωτικών κομματιών ήχου Οι υποχρεωτικοί αυτόματοι υπότιτλοι εμφανίζονται. Οι υποχρεωτικοί αυτόματοι υπότιτλοι είναι απενεργοποιημένοι. @@ -506,10 +508,12 @@ Playlists "Οι καρτέλες «Αρχική», «Εγγραφές» και τα αποτελέσματα αναζήτησης φιλτράρονται για απόκρυψη περιεχομένου που ταιριάζει με τις λέξεις-κλειδιά. Περιορισμοί: -• Κάποια Shorts ενδέχεται να μην κρύβονται. +• Τα Shorts δεν γίνεται να κρύβονται με βάση το όνομα καναλιού. • Κάποια στοιχεία UI ενδέχεται να μην κρύβονται. • Η αναζήτηση για μια λέξη-κλειδί ενδέχεται να μην εμφανίζει κανένα αποτέλεσμα." Σχετικά με το φιλτράρισμα λέξεων-κλειδιών + Περιβάλλοντας μια λέξη-κλειδί / φράση με διπλά εισαγωγικά θα αποτρέψει μερικές αντιστοιχίες των τίτλων βίντεο και των ονομάτων καναλιών<br><br>Για παράδειγμα,<br><b>\"ai\"</b> θα κρύψει το βίντεο: <b>How does AI work?</b><br>αλλά δεν θα κρύψει: <b>What does fair use mean?</b> + Ταίριασμα ολόκληρων λέξεων Τα σχόλια δε φιλτράρονται από λέξεις-κλειδιά. Τα σχόλια φιλτράρονται με τη χρήση λέξεων-κλειδιών. Φιλτράρισμα σχολίων @@ -517,6 +521,7 @@ Playlists Τα βίντεο στην καρτέλα «Αρχική» φιλτράρονται με τη χρήση λέξεων-κλειδιών. Φιλτράρισμα καρτέλας «Αρχική» "Λέξεις-κλειδιά και φράσεις προς απόκρυψη, διαχωρισμένες με νέες γραμμές. +Οι λέξεις-κλειδιά μπορεί να είναι ονόματα καναλιών ή κείμενο που εμφανίζεται σε τίτλους των βίντεο. Οι λέξεις με κεφαλαία γράμματα στη μέση πρέπει να είναι ευαίσθητες στην πεζότητα (π.χ: iPhone, TikTok, LeBlanc)." Λέξεις-κλειδιά για απόκρυψη Τα αποτελέσματα αναζήτησης δε φιλτράρονται από λέξεις-κλειδιά. @@ -525,8 +530,11 @@ Playlists Τα βίντεο στην καρτέλα «Εγγραφές» δε φιλτράρονται από λέξεις-κλειδιά. Τα βίντεο στην καρτέλα «Εγγραφές» φιλτράρονται με τη χρήση λέξεων-κλειδιών. Φιλτράρισμα καρτέλας «Εγγραφές» - Η λέξη-κλειδί \'%1$s\' θα κρύβει όλα τα βίντεο. - Μη έγκυρη λέξη-κλειδί. Αδυναμία χρήσης: \'%s\' ως φίλτρο + Η λέξη θα κρύβει όλα τα βίντεο: %s. + Αδυναμία χρήσης λέξης: %s. + Προσθέστε εισαγωγικά για χρήση της λέξης: %s. + Η λέξη έχει αντικρουόμενες δηλώσεις: %s. + Η λέξη είναι πολύ μικρή και απαιτεί εισαγωγικά: %s. Εμφανίζονται. Κρυμμένες. Τελευταίες αναρτήσεις @@ -596,9 +604,6 @@ Playlists Εμφανίζεται. Κρυμμένο. Κουμπί ελαχιστοποίησης - Εμφανίζεται. - Κρυμμένο. - Μενού «Λειτουργία περιβάλλοντος» Εμφανίζεται. Κρυμμένο. Μενού «Κομμάτι ήχου» @@ -775,6 +780,13 @@ Playlists Εμφανίζεται. Κρυμμένο. Κουμπί «Δεν μου αρέσει» + "Εμφανίζονται. + +Αφορά τα αιωρούμενα κουμπιά όπως το «Χρήση αυτού του ήχου» στην καρτέλα Shorts του καναλιού." + "Κρυμμένα. + +Αφορά τα αιωρούμενα κουμπιά όπως το «Χρήση αυτού του ήχου» στην καρτέλα Shorts του καναλιού." + Αιωρούμενα κουμπιά Εμφανίζεται. Κρυμμένη. Ετικέτα συνδέσμου πλήρους βίντεο @@ -790,9 +802,9 @@ Playlists Εμφανίζεται. Κρυμμένο.\n\nΤο κουμπί επιστροφής στην επικεφαλίδα δεν θα είναι κρυμμένο. Επικεφαλίδα ζωντανής συνομιλίας - Εμφανίζεται. - Κρυμμένη. - Ετικέτα τοποθεσίας + Εμφανίζεται. + Κρυμμένο. + Κουμπί τοποθεσίας Η γραμμή πλοήγησης εμφανίζεται κατά την αναπαραγωγή Shorts. Η γραμμή πλοήγησης είναι κρυμμένη κατά την αναπαραγωγή Shorts. Γραμμή πλοήγησης @@ -814,9 +826,9 @@ Playlists Εμφανίζεται. Κρυμμένο. Κουμπί αποθήκευσης ήχου σε λίστα αναπαραγωγής - Εμφανίζονται. - Κρυμμένες. - Προτάσεις αναζήτησης + Εμφανίζεται. + Κρυμμένο. + Κουμπί προτάσεων αναζήτησης Εμφανίζεται. Κρυμμένο. Κουμπί «Κοινοποίηση» @@ -837,6 +849,9 @@ Playlists Εμφανίζεται. Κρυμμένο. Κουμπί «Κατάστημα» + Εμφανίζεται. + Κρυμμένο. + Κουμπί «Κατάστημα» Εμφανίζεται. Κρυμμένο. Κουμπί ήχου @@ -855,6 +870,15 @@ Playlists Εμφανίζεται. Κρυμμένη. Γραμμή εργαλείων + Εμφανίζεται. + Κρυμμένο. + Κουμπί «Τάσεις» + Εμφανίζεται. + Κρυμμένο. + Κουμπί «Χρήση προτύπου» + Εμφανίζεται. + Κρυμμένο. + Κουμπί «Χρήση αυτού του ήχου» Εμφανίζεται. Κρυμμένος. Τίτλος του βίντεο @@ -1036,8 +1060,6 @@ Playlists Γρήγορες ενέργειες Προτεινόμενα βίντεο Ενότητα Shorts - Σχετικά με - Ρυθμίσεις παραποίησης Χρησιμοποιούμενο εργαλείο Φίλτρο αριθμού προβολών Απόκρυψη ή εμφάνιση στοιχείων στο μενού λογαριασμού και στην καρτέλα «Εσείς». @@ -1091,8 +1113,8 @@ Playlists Απόκρυψη ή εμφάνιση στοιχείων στην οθόνη αναπαραγωγής Shorts. Οθόνη αναπαραγωγής Shorts Shorts - Παραποίηση του προγράμματος αναπαραγωγής για την αποφυγή προβλημάτων αναπαραγωγής. - Παραποίηση προγράμματος αναπαραγωγής + Παραποίηση των δεδομένων ροής για την αποφυγή προβλημάτων αναπαραγωγής. + Παραποίηση δεδομένων ροής Έλεγχος με σάρωση οθόνης Απόκρυψη ή αλλαγή στοιχείων που βρίσκονται στη γραμμή εργαλείων, όπως τα κουμπιά, την γραμμή αναζήτησης, ή την επικεφαλίδα. Γραμμή εργαλείων @@ -1113,10 +1135,16 @@ Playlists Οι αλλαγές ταχύτητας αναπαραγωγής ισχύουν μόνο για το τρέχον βίντεο. Οι αλλαγές ταχύτητας αναπαραγωγής ισχύουν για όλα τα βίντεο. Απομνημόνευση αλλαγών ταχύτητας αναπαραγωγής + Δεν εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης κατά την αλλαγή προεπιλεγμένης ταχύτητας αναπαραγωγής. + Εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης κατά την αλλαγή προεπιλεγμένης ταχύτητας αναπαραγωγής. + Εμφάνιση μηνύματος Η προεπιλεγμένη ταχύτητα άλλαξε σε %s. Οι αλλαγές ποιότητας ισχύουν μόνο για το τρέχον βίντεο. Οι αλλαγές ποιότητας ισχύουν για όλα τα βίντεο. Απομνημόνευση αλλαγών ποιότητας βίντεο + Δεν εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης κατά την αλλαγή προεπιλεγμένης ποιότητας βίντεο. + Εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης κατά την αλλαγή προεπιλεγμένης ποιότητας βίντεο. + Εμφάνιση μηνύματος Η προεπιλεγμένη ποιότητα δεδομένων άλλαξε σε %s. Αποτυχία ορισμού ποιότητας βίντεο. Η προεπιλεγμένη ποιότητα με Wi-Fi άλλαξε σε %s. @@ -1207,6 +1235,7 @@ Playlists Αλλαγή διεύθυνσης API Η διεύθυνση που χρησιμοποιεί το SponsorBlock για να κάνει κλήσεις στο διακομιστή. Ελάχιστη διάρκεια τμήματος + Μη έγκυρη διάρκεια χρόνου. Τμήματα μικρότερα από την καθορισμένη τιμή (σε δευτερόλεπτα) δε θα παραλείπονται ούτε θα εμφανίζονται. Mετρητής παραλείψεων τμημάτων Ο μετρητής παραλείψεων δεν είναι ενεργός. @@ -1408,70 +1437,29 @@ Playlists Αυτό θα αλλάξει την εμφάνιση και τα χαρακτηριστικά της εφαρμογής, αλλά ενδέχεται να εμφανιστούν άγνωστες παρενέργειες. Αν αργότερα απενεργοποιηθεί, συνιστάται η εκκαθάριση δεδομένων της εφαρμογής για την αποφυγή σφαλμάτων UI." - Περίπτωση μη αναπαραγόμενου βίντεο - Γενικά βίντεο - Ζωντανές μεταδόσεις - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Κλιπ - Η έκδοση παραποίησης δεν εμφανίζεται στο μενού «Στατιστικά για σπασίκλες». - Η έκδοση παραποίησης εμφανίζεται στο μενού «Στατιστικά για σπασίκλες». - Εμφάνιση στο «Στατιστικά για σπασίκλες» - "Το πρόγραμμα αναπαραγωγής δεν παραποιείται. Η αναπαραγωγή βίντεο ενδέχεται να μη λειτουργεί." - Το πρόγραμμα αναπαραγωγής παραποιείται. - Παραποίηση προγράμματος αναπαραγωγής - "Παραποίηση σε έκδοση Android Testsuite. Παρενέργειες: -• Η ποιότητα HDR δεν είναι διαθέσιμη. -• Το μενού «Κομμάτι ήχου» δεν είναι διαθέσιμο. -• Οι υπότιτλοι ενδέχεται να μην είναι διαθέσιμοι. -• Το κουμπί ενέργειας «Λήψη» δεν είναι διαθέσιμο. -• Οι κάρτες τελικής οθόνης δεν είναι διαθέσιμες. -• Οι μικρογραφίες γραμμής προόδου είναι χαμηλής ποιότητας." - Android Testsuite - "Παραποίηση σε έκδοση Android TV (YouTube TV). Παρενέργειες: -• Η ποιότητα HDR δεν είναι διαθέσιμη. -• Το μενού «Κομμάτι ήχου» δεν είναι διαθέσιμο. -• Οι υπότιτλοι ενδέχεται να μην είναι διαθέσιμοι. -• Το κουμπί ενέργειας «Λήψη» δεν είναι διαθέσιμο. -• Οι μικρογραφίες γραμμής προόδου είναι χαμηλής ποιότητας. -• Κάποιες ζωντανές μεταδόσεις δεν είναι διαθέσιμες για αναπαραγωγή." - Android TV - "Παραποίηση σε έκδοση Android VR. Παρενέργειες: -• Η ποιότητα HDR δεν είναι διαθέσιμη. -• Το κουμπί ενέργειας «Λήψη» δεν είναι διαθέσιμο. -• Τα βίντεο σε παύση μπορεί να συνεχίσουν να παίζουν τυχαία από μόνα τους. -• Οι μικρογραφίες γραμμής προόδου Shorts είναι χαμηλής ποιότητας. -• Τα βίντεο YouTube Kids (για παιδιά) δεν αναπαράγονται." - Android VR - "Παραποίηση σε έκδοση iOS. Παρενέργειες: -• Η ποιότητα HDR είναι διαθέσιμη μόνο αν η συσκευή σας υποστηρίζει τον κωδικοποιητή AV1. -• Το ιστορικό παρακολούθησης δεν αποθηκεύεται σε λογαριασμούς επωνυμίας (brand)." - "Παραποίηση σε έκδοση iOS. Παρενέργειες: -• Η ποιότητα HDR είναι διαθέσιμη μόνο αν η συσκευή σας υποστηρίζει τον κωδικοποιητή AV1. -• Το ιστορικό παρακολούθησης δε λειτουργεί σε λογαριασμούς επωνυμίας (brand)." - iOS - Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο. "Παραποίηση διαστάσεων συσκευής στη μέγιστη τιμή. Ενδέχεται να ξεκλειδωθούν υψηλότερες ποιότητες σε κάποια βίντεο που απαιτούν υψηλές διαστάσεις συσκευής, αλλά όχι σε όλα τα βίντεο." Παραποίηση διαστάσεων συσκευής - "Η παράμετρος του αναπαραγωγέα δε θα τροποποιηθεί για βίντεο στη ροή. + Ο κωδικοποιητής βίντεο iOS είναι ο AVC (H.264), ο VP9 ή ο AV1. + Ο κωδικοποιητής βίντεο iOS είναι ο AVC (H.264). + Εξαναγκασμός iOS AVC (H.264) + "Ενεργοποιώντας αυτόν τον κωδικοποιητή ίσως βελτιωθεί η κατανάλωση ενέργειας και ίσως διορθωθούν κολλήματα αναπαραγωγής. -Περιορισμός: Τα βίντεο στη ροή θα αναπαράγονται για λιγότερο από 1 λεπτό πριν αντιμετωπίσουν προβλήματα αναπαραγωγής." - "Η παράμετρος του αναπαραγωγέα θα τροποποιηθεί για βίντεο στη ροή. - -Περιορισμός: Τα βίντεο που αναπαράγονται αυτόματα στη ροή θα εμφανιστούν στο ιστορικό σας." - Τροποποίηση παραμέτρου στη ροή - "Τροποποίηση παραμέτρων του αναπαραγωγέα για την αποφυγή προβλημάτων αναπαραγωγής. - -Περιορισμοί: -• Δεν είναι διαθέσιμος ο υψηλός ρυθμός bitrate. -• Οι μικρογραφίες της γραμμής προόδου δεν λειτουργούν σε πληρωμένα βίντεο. -• Η λήψη εκτός σύνδεσης ενδέχεται να μη λειτουργεί. -• Τα βίντεο ενδέχεται να μην ξεκινούν από το σημείο που τα αφήσατε." - Τροποποίηση παραμέτρου αναπαραγωγέα +Ο AVC (H.264) έχει μέγιστη ανάλυση 1080p, και η αναπαραγωγή βίντεο καταναλώνει περισσότερα δεδομένα internet από τον VP9 ή τον AV1." + Παρενέργειες παραποίησης + • Τα βίντεο ενδέχεται να μην αναπαράγονται σωστά. + Το πρόγραμμα πελάτη που χρησιμοποιείται για τη λήψη δεδομένων ροής δεν εμφανίζεται στο μενού «Στατιστικά για σπασίκλες». + Το πρόγραμμα πελάτη που χρησιμοποιείται για τη λήψη δεδομένων ροής εμφανίζεται στο μενού «Στατιστικά για σπασίκλες». + Εμφάνιση στο «Στατιστικά για σπασίκλες» + "Τα δεδομένα ροής δεν παραποιούνται. Η αναπαραγωγή βίντεο ενδέχεται να μη λειτουργεί σωστά." + Τα δεδομένα ροής παραποιούνται. + Παραποίηση δεδομένων ροής + Android + Android TV + Android VR + iOS + Προεπιλογή + Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο. Οι χειρονομίες σάρωσης είναι απενεργοποιημένες στη λειτουργία «Οθόνη κλειδώματος». Οι χειρονομίες σάρωσης είναι ενεργοποιημένες στη λειτουργία «Οθόνη κλειδώματος». Χρήση στη λειτουργία «Οθόνη κλειδώματος» @@ -1493,15 +1481,10 @@ Playlists • Η ενεργοποίηση αυτής της ρύθμισης εξαναγκάζει επίσης την απενεργοποίηση των διαφημίσεων βίντεο." Εναλλαγή «Δημιουργία» με «Ειδοποιήσεις» Προεπιλογή - "• Προεπιλεγμένες ρυθμίσεις ιστορικού παρακολούθησης του λογαριασμού Google σας. -• Το ιστορικό παρακολούθησης μπορεί να μη λειτουργεί λόγω DNS ή χρήσης VPN." - • Προεπιλεγμένες ρυθμίσεις ιστορικού παρακολούθησης του λογαριασμού Google σας. Το ιστορικό παρακολούθησης είναι αποκλεισμένο. - "• Προεπιλεγμένες ρυθμίσεις ιστορικού παρακολούθησης του λογαριασμού Google σας. -• Το ιστορικό παρακολούθησης μπορεί να μη λειτουργεί λόγω DNS ή χρήσης VPN. -• Το ιστορικό παρακολούθησης ενδέχεται να μη λειτουργεί χρησιμοποιώντας λογαριασμό επωνυμίας αν έχετε ενεργοποιημένη τη ρύθμιση παραποίησης προγράμματος αναπαραγωγής σε έκδοση iOS." - "• Προεπιλεγμένες ρυθμίσεις ιστορικού παρακολούθησης του λογαριασμού Google σας. -• Το ιστορικό παρακολούθησης ενδέχεται να μη λειτουργεί χρησιμοποιώντας λογαριασμό επωνυμίας αν έχετε ενεργοποιημένη τη ρύθμιση παραποίησης προγράμματος αναπαραγωγής σε έκδοση iOS." + "• Ακολουθούνται οι ρυθμίσεις ιστορικού παρακολούθησης του λογαριασμού Google σας. +• Το ιστορικό παρακολούθησης μπορεί να μη λειτουργεί λόγω του DNS ή χρήσης VPN." + • Ακολουθούνται οι ρυθμίσεις ιστορικού παρακολούθησης του λογαριασμού Google σας. Κατάσταση ιστορικού παρακολούθησης Πατήστε για άνοιγμα της διαχείρισης του ιστορικού παρακολούθησης του YouTube. Διαχείριση όλου του ιστορικού diff --git a/src/main/resources/youtube/translations/es-rES/missing_strings.xml b/src/main/resources/youtube/translations/es-rES/missing_strings.xml index cc8562ba8..d0ada5910 100644 --- a/src/main/resources/youtube/translations/es-rES/missing_strings.xml +++ b/src/main/resources/youtube/translations/es-rES/missing_strings.xml @@ -22,10 +22,22 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button diff --git a/src/main/resources/youtube/translations/es-rES/strings.xml b/src/main/resources/youtube/translations/es-rES/strings.xml index 4d31af085..288c45688 100644 --- a/src/main/resources/youtube/translations/es-rES/strings.xml +++ b/src/main/resources/youtube/translations/es-rES/strings.xml @@ -126,7 +126,7 @@ Pulsa aquí para saber más sobre DeArrow." El modo ambiente está desactivado. Desactivar modo ambiente Las pistas de audio automáticas forzadas están activadas. - Las pistas de audio automáticas forzadas están desactivadas. + "Las pistas de audio automáticas forzadas están desactivadas." Desactivar pistas de audio automáticas forzadas Los subtítulos automáticos forzados están activados. Los subtítulos automáticos forzados están desactivados. @@ -501,6 +501,8 @@ Limitaciones: • Algunos componentes de la interfaz pueden no estar ocultos. • La búsqueda de una palabra clave puede no mostrar resultados." Acerca del filtrado de palabras clave + Al rodear una palabra o frase clave con comillas dobles se evitarán las coincidencias parciales de títulos de vídeo y nombres de canales.<br><br>Por ejemplo:<br><b>\"ia\"</b> ocultará el vídeo: <b>¿Cómo funciona la IA?</b><br>pero no ocultará: <b>¿Cómo funciona la justicia?</b> + Coincidir palabras completas Los comentarios no están filtrados. Los comentarios están filtrados. Ocultar comentarios por palabras clave @@ -518,6 +520,9 @@ Las palabras con letras mayúsculas en el medio deben introducirse con las mayú Ocultar vídeos de suscripciones por palabras clave La palabra clave \"%1$s\" es demasiado amplia y ocultará todos los vídeos Palabra clave no válida. No se puede utilizar: \"%s\" como filtro + Añadir comillas para utilizar la palabra clave: %s. + La palabra clave tiene declaraciones contradictoras: %s. + La palabra clave es demasiado corta y requiere comillas: %s. Las últimas publicaciones están visibles. Las últimas publicaciones están ocultas. Ocultar últimas publicaciones @@ -587,9 +592,6 @@ Las palabras con letras mayúsculas en el medio deben introducirse con las mayú El botón de contraer está visible. El botón de contraer está oculto. Ocultar botón de contraer - El menú de modo ambiente está visible. - El menú de modo ambiente está oculto. - Ocultar menú de modo ambiente El menú de pista de audio está visible. El menú de pista de audio está oculto. Ocultar menú de pista de audio @@ -771,9 +773,6 @@ Subtítulos" La cabecera del chat en directo está visible.\n\nEl botón de volver atrás en la cabecera no se ocultará. La cabecera del chat en directo está oculta.\n\nEl botón de volver atrás en la cabecera no se ocultará. Ocultar cabecera del chat en directo - La etiqueta de ubicación está visible. - La etiqueta de ubicación está oculta. - Ocultar etiqueta de ubicación La barra de navegación está visible. La barra de navegación está oculta. Ocultar barra de navegación @@ -795,9 +794,6 @@ Subtítulos" El botón de guardar sonido está visible. El botón de guardar sonido está oculto. Ocultar botón de guardar sonido - Las sugerencias de búsqueda están visibles. - Las sugerencias de búsqueda están ocultas. - Ocultar sugerencias de búsqueda El botón de compartir está visible. El botón de compartir está oculto. Ocultar botón de compartir @@ -838,6 +834,9 @@ Limitación: las cabeceras oficiales en los resultados de búsqueda estarán ocu La barra de herramientas está visible. La barra de herramientas está oculta. Ocultar barra de herramientas + El botón de utilizar este sonido está visible. + El botón de utilizar este sonido está oculto. + Ocultar botón de utilizar este sonido El título está visible. El título está oculto. Ocultar título de vídeo @@ -1009,8 +1008,6 @@ Toque y mantenga presionado para abrir el diálogo de configuración de la lista Acciones rápidas Vídeos recomendados Estantes de Shorts - Información - Opciones de falsificación de cliente Herramientas utilizadas Filtro de contador de visualizaciones Ocultar o mostrar elementos en el menú de la cuenta y la pestaña Tú. @@ -1064,8 +1061,8 @@ Toque y mantenga presionado para abrir el diálogo de configuración de la lista Ocultar o mostrar los componentes en el reproductor de Shorts. Reproductor de Shorts Shorts - Falsifica el cliente para evitar problemas de reproducción. - Falsificar cliente + Falsifica los datos de transmisión para evitar problemas de reproducción. + Falsificar datos de transmisión Controles deslizantes Ocultar o cambiar los componentes situados en la barra de herramientas, como los botones, la barra de búsqueda o la cabecera. Barra de herramientas @@ -1086,10 +1083,16 @@ Después de unos 20 segundos de búfer, cambia a un códec diferente." Los cambios de velocidad de reproducción solo se aplican al vídeo actual. Los cambios de velocidad de reproducción se aplican a todos los vídeos. Recordar cambios de velocidad de reproducción + No se mostrará un mensaje al cambiar la velocidad de reproducción predeterminada. + Se mostrará un mensaje al cambiar la velocidad de reproducción predeterminada. + Mostrar un mensaje Cambiando la velocidad predeterminada a %s. Los cambios de calidad solo se aplican al vídeo actual. Los cambios de calidad se aplican a todos los vídeos. Recordar cambios de calidad de vídeo + No se mostrará un mensaje al cambiar la calidad de vídeo predeterminada. + Se mostrará un mensaje al cambiar la calidad de vídeo predeterminada. + Mostrar un mensaje Cambiando la calidad predeterminada con datos móviles a %s. Error al establecer la calidad de vídeo. Cambiando la calidad predeterminada con Wi-Fi a %s. @@ -1181,6 +1184,7 @@ Limitación: es posible que los no me gusta no aparezcan en modo incógnito."Cambiar URL de API La dirección que SponsorBlock utiliza para hacer llamadas al servidor. Duración mínima del segmento + Duración de tiempo no válida. Los segmentos más cortos que este valor (en segundos) no serán mostrados o omitidos. Activar seguimiento del conteo de omisiones El seguimiento del conteo de omisiones no está activado. @@ -1382,77 +1386,28 @@ Limitación: el título de vídeo desaparece cuando se pulsa." Esto cambiará la apariencia y las características de la aplicación, pero pueden producirse efectos secundarios desconocidos. Si se desactiva más tarde, se recomienda borrar los datos de la aplicación para evitar errores en la interfaz de usuario." - Fallback - General - Transmisiones en directo - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - El cliente falsificado está oculto en las estadísticas para nerds. - El cliente falsificado está visible en las estadísticas para nerds. - Mostrar en estadísticas para nerds - "El cliente no está falsificado. Es posible que la reproducción de vídeo no funcione." - El cliente está falsificado. - Falsificar cliente - "Falsifica el cliente a Android Testsuite. - -Los efectos secundarios incluyen: -• No hay vídeo HDR. -• Faltan el menú de pistas de audio y el menú de velocidad de reproducción. -• Los subtítulos pueden no estar disponibles." - Android Testsuite - "Falsifica el cliente a Android TV (YouTube TV). - -Los efectos secundarios incluyen: -• No hay vídeo HDR. -• Faltan el menú de pistas de audio y el menú de velocidad de reproducción. -• Los subtítulos pueden no estar disponibles. -• Algunas transmisiones en directo no se pueden reproducir." - Android TV - "Falsifica el cliente a Android VR. - -Los efectos secundarios incluyen: -• No hay vídeo HDR. -• Los vídeos en pausa pueden reanudarse aleatoriamente. -• Las miniaturas de la barra de progreso de Shorts son de baja calidad. -• Los vídeos infantiles no se reproducen." - Android VR - "Falsifica el cliente a iOS. - -Los efectos secundarios incluyen: -• El vídeo HDR solo es compatible con el códec AV1. -• El tiempo de visualización no se guarda en el historial de visualizaciones de la cuenta de marca." - "Falsifica el cliente a iOS. - -Los efectos secundarios incluyen: -• No hay vídeo HDR. -• Falta el menú de velocidad de reproducción. -• Pueden faltar calidades de vídeo superiores. -• El historial de reproducciones no funciona con una cuenta de marca. -• Las transmisiones en directo no pueden reproducirse como solo audio. -• Las transmisiones en directo no están disponibles en Android 8.0." - iOS - Desactivar este ajuste puede causar problemas de reproducción de vídeo. "Falsifica las dimensiones del dispositivo para desbloquear calidades de vídeo superiores que pueden no estar disponibles en tu dispositivo." Falsificar dimensiones del dispositivo - "Parámetro del reproductor no falsificado para los vídeos del feed. + El códec de vídeo de iOS es AVC (H.264), VP9 o AV1. + El códec de vídeo de iOS es AVC (H.264). + Forzar iOS AVC (H.264) + "Activar esto podría mejorar la duración de la batería y solucionar el problema de reproducción entrecortada. -Limitación: los vídeos en el feed se reproducen durante menos de 1 minuto antes de que surjan problemas de reproducción." - "Parámetro del reproductor falsificado para los vídeos del feed. - -Limitación: los vídeos reproducidos automáticamente en el feed aparecerán en el historial de reproducciones." - Falsificar parámetro del reproductor en feed - "Falsifica los parámetros del reproductor para evitar problemas de reproducción. - - Limitaciones: - • La tasa de bits mejorada no está disponible. - • No hay miniaturas en la barra de progreso para vídeos de pago. - • Es posible que las descargas sin conexión no funcionen. - • Es posible que el vídeo no comience desde la última vez que lo viste." - Falsificar parámetro del reproductor +AVC (H.264) 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 de falsificación + • El vídeo no puede reproducirse. + El cliente utilizado para obtener datos de transmisión no se muestra en estadísticas para nerds. + El cliente utilizado para obtener datos de transmisión se muestra en estadísticas para nerds. + Mostrar en estadísticas para nerds + "Los datos de transmisión no están falsificados. Es posible que la reproducción de vídeo no funcione." + Los datos de transmisión están falsificados. + Falsificar datos de transmisión + Android + Android TV + Android VR + iOS + Cliente predeterminado + Desactivar este ajuste puede causar problemas de reproducción de vídeo. Los gestos deslizantes están desactivados en el modo \"Bloquear pantalla\". Los gestos deslizantes están activados en el modo \"Bloquear pantalla\". Gestos deslizantes en modo \"Bloquear pantalla\" @@ -1475,17 +1430,10 @@ Limitación: los vídeos reproducidos automáticamente en el feed aparecerán en • Debes desactivar este ajuste para que los anuncios de vídeo sean visibles." Cambiar botón de crear con el de notificaciones Predeterminado - "• Sigue la configuración del historial de reproducciones de la cuenta de Google. -• Es posible que el historial de reproducciones no funcione debido a DNS o VPN." - • Sigue la configuración del historial de reproducciones de la cuenta de Google. • El historial de reproducciones no funciona. - "• Sigue la configuración del historial de reproducciones de la cuenta de Google. -• Es posible que el historial de reproducciones no funcione debido a DNS o VPN. -• Es posible que el historial de reproducciones no funcione con una cuenta de marca. -(Se activa la configuración del cliente y se selecciona el cliente iOS)" - "• Sigue la configuración del historial de reproducciones de la cuenta de Google. -• Es posible que el historial de reproducciones no funcione con una cuenta de marca. -(Se activa la configuración del cliente y se selecciona el cliente iOS)" + "• Sigue la configuración del historial de reproducciones de la cuenta de Google. +• Es posible que el historial de reproducciones no funcione debido a DNS o VPN." + • Sigue la configuración del historial de reproducciones de la cuenta de Google. Acerca del historial de reproducciones Pulsa para abrir la administración del historial de reproducciones de YouTube. Administrar todo el historial diff --git a/src/main/resources/youtube/translations/fi-rFI/missing_strings.xml b/src/main/resources/youtube/translations/fi-rFI/missing_strings.xml index b30ec1974..e6ff289c4 100644 --- a/src/main/resources/youtube/translations/fi-rFI/missing_strings.xml +++ b/src/main/resources/youtube/translations/fi-rFI/missing_strings.xml @@ -82,7 +82,7 @@ Side effect: Community post images may be blocked in fullscreen." Key concepts section is hidden. Hide Key concepts section Match full word - Keyword \'%1$s\' will hide all videos. + Keyword will hide all videos: %s. Live chat messages are shown.\n\nThis setting applies to Shorts live videos too. Live chat messages are hidden.\n\nThis setting applies to Shorts live videos too. Hide live chat messages @@ -172,18 +172,21 @@ Tap and hold to open whitelist setting dialog. Override video download button Animation / Feedback Image region restrictions - About - Spoof client options Change the style of the in app minimized player. Miniplayer - Spoof the client to prevent playback issues. - Spoof client Change settings related with watch history. Watch history Quick actions top margin must be between 0-32. Reset to default values. + A toast will not be shown when changing the default playback speed. + A toast will be shown when changing the default playback speed. + Show a toast + A toast will not be shown when changing the default video quality. + A toast will be shown when changing the default video quality. + Show a toast Channel handle is used. Channel name is used. Replace channel handle + Invalid time duration. Adjust: Mark Start and End Time for segment Verify the Segment Edit the Segment @@ -203,12 +206,6 @@ Tap and hold to open whitelist setting dialog. Meta panel bottom margin Press and hold the timestamp to change the Shorts repeat status. Timestamp long press action - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed Turning on this setting may cause video playback issues. Speed overlay value must be between 0-8.0. Reset to default values. Version not spoofed @@ -218,76 +215,10 @@ Tap and hold to open whitelist setting dialog. This will change the appearance and features of the app, but unknown side effects may occur. If later turned off, it is recommended to clear the app data to prevent UI bugs." - Unplayable video - General - Live streams - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - Spoofed client is hidden in Stats for nerds. - Spoofed client is shown in Stats for nerds. - Show in Stats for nerds - "Client is not spoofed. Video playback may not work." - Client is spoofed. - Spoof client - "Spoof client to Android Testsuite. - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• End screen cards are missing. -• Low quality seekbar thumbnail." - Android Testsuite - "Spoof client to Android TV (YouTube TV). - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• Low quality seekbar thumbnail. -• Some live streams are not supported for playback." - Android TV - "Spoof client to Android VR. - -Side effects include: -• No HDR video. -• Download button of video action bar is missing. -• Paused videos can randomly resume. -• Low quality Shorts seekbar thumbnails. -• Kids videos do not play." - Android VR - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch history does not work with a brand account." - iOS - Turning off this setting may cause video playback issues. Swipeable area size cannot be more than 50. Reset to default value. Percentage of swipeable screen area.\n\nNote: This will also change the size of the screen area for the double-tap-to-seek gesture. Swipe overlay screen size - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN." - • Follows the watch history settings of Google account. • Watch history is blocked. - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - "• Follows the watch history settings of Google account. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" Status of watch history Click to open the YouTube watch history management. Manage all history @@ -308,4 +239,55 @@ Side effects include: Check or remove the list of channels added to the whitelist. Channel whitelist SponsorBlock + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/fi-rFI/strings.xml b/src/main/resources/youtube/translations/fi-rFI/strings.xml index dbe261ef0..c1f86e587 100644 --- a/src/main/resources/youtube/translations/fi-rFI/strings.xml +++ b/src/main/resources/youtube/translations/fi-rFI/strings.xml @@ -504,9 +504,6 @@ Words with uppercase letters in the middle must be entered with the casing (ie: Collapse button is shown. Collapse button is hidden. Hide collapse button - Ambient mode menu is shown. - Ambient mode menu is hidden. - Hide ambient mode menu Audio track menu is shown. Audio track menu is hidden. Hide audio track menu @@ -682,9 +679,6 @@ Captions" Like button is shown. Like button is hidden. Hide like button - Location label is shown. - Location label is hidden. - Hide location label Navigation bar is shown. Navigation bar is hidden. Hide navigation bar @@ -700,9 +694,6 @@ Captions" Save sound to playlist is shown. Save sound to playlist is hidden. Hide save sound to playlist button - Search suggestions are shown. - Search suggestions are hidden. - Hide search suggestions Share button is shown. Share button is hidden. Hide share button @@ -1196,21 +1187,6 @@ Limitation: Video title disappears when clicked." Spoof app version Spoofs the device dimensions in order to unlock higher video qualities that may not be available on your device. Spoof device dimensions - "Player parameter not spoofed for feed videos. - -Limitation: Feed videos will play for less than 1 minute before encountering playback issues." - "Player parameter spoofed for feed videos. - -Limitation: Automatically played feed videos will show up in your watch history." - Spoof player parameter in feed - "Spoofs player parameters to prevent playback issues. - -Limitations: -• Enhanced bitrate is not available. -• No seekbar thumbnails for paid videos. -• Offline downloads may not work. -• Video may not start from the last watched time." - Spoof player parameter "Swipe gestures are disabled in 'Lock screen' mode." "Swipe gestures are enabled in 'Lock screen' mode." "Swipe gestures in 'Lock screen' mode" diff --git a/src/main/resources/youtube/translations/fr-rFR/missing_strings.xml b/src/main/resources/youtube/translations/fr-rFR/missing_strings.xml index cc8562ba8..d0ada5910 100644 --- a/src/main/resources/youtube/translations/fr-rFR/missing_strings.xml +++ b/src/main/resources/youtube/translations/fr-rFR/missing_strings.xml @@ -22,10 +22,22 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button diff --git a/src/main/resources/youtube/translations/fr-rFR/strings.xml b/src/main/resources/youtube/translations/fr-rFR/strings.xml index d92803b3c..d9595a261 100644 --- a/src/main/resources/youtube/translations/fr-rFR/strings.xml +++ b/src/main/resources/youtube/translations/fr-rFR/strings.xml @@ -126,7 +126,9 @@ Cliquez ici pour en savoir plus sur DeArrow." Le mode ambiant est désactivé. Désactiver le Mode ambiant Les pistes audio automatiques forcées sont activés. - Les pistes audio automatiques forcées sont désactivé. + "Les pistes audio automatiques forcées sont désactivé. + +Limitation : Ce paramètre ne s'applique pas pour les Shorts." Désact. les pistes audio forcés Les sous-titres automatiques forcés sont activés. Les sous-titres automatiques forcés sont désactivés. @@ -257,7 +259,7 @@ Limitations : Les gestes vers le haut / bas pour lire la vidéo suivante / précédente. Activer les gestes pour changer de vidéo Les gestes de volume sont désactivé. - Les gestes des volumes sont activé. + Les gestes de volume sont activé. Activer les gestes de volume Falsifie le dpi pour activer l\'interface tablette. Activer l\'interface tablette @@ -493,13 +495,15 @@ Effet secondaire : Les images des posts communautaires peuvent être bloquées e La section \"Concepts clés\" est affiché. La section \"Concepts clés\" est masqué. Masquer la section \"Concepts clés\" - "Les onglets Page d'accueil / \"Abonnements\" / Résultats de recherche sont filtrés pour masquer le contenu correspondant aux mots-clés. + "Les onglets \"Pages d'accueil\" / \"Abonnements\" / Résultats de recherche sont filtrés pour masquer le contenu correspondant aux mots clés. Limitations : -• Certains shorts peuvent ne pas être masqués. +• Les shorts ne peuvent pas être masqués par le nom de la chaîne. • Certains éléments de l'interface utilisateur peuvent ne pas être masqués. • La recherche par mot-clé peut n'afficher aucun résultat." À propos du filtrage par mots-clés + Le fait de placer un mot-clé ou une expression entre guillemets permet d\'éviter les correspondances partielles entre les titres de vidéos et les noms des chaînes.<br><br>Par exemple,<br><b>\"ia\"</b> masquera la vidéo : <b>Comment fonctionne l\'IA?</b><br>mais ne masquera pas : <b>Comment fonctionne l\'Intelligence Artificielle ?</b> + Faire correspondre des mots complets Les commentaires ne sont pas filtrés. Les commentaires sont filtrés. Filtrer les commentaires par mot-clés @@ -507,6 +511,9 @@ Limitations : Les vidéos dans le flux \"accueil\" sont filtrées. Filtrer la page d\'accueil par mot-clés "Mots-clés et phrases à masquer, séparés par des sauts de lignes. + +Les mots-clés peuvent être des noms de chaînes ou tout texte figurant dans les titres des vidéos. + Les mots comportant des majuscules au milieu doivent être saisis de la même façon (par exemple : iPhone, TikTok, TheoBabac)." Mots-clés à masquer Les résultats de recherche ne sont pas filtrés. @@ -515,8 +522,11 @@ Les mots comportant des majuscules au milieu doivent être saisis de la même fa Les vidéos dans le flux \"Abonnements\" ne sont pas filtrées. Les vidéos dans le flux \"Abonnements\" sont filtrées. Filtrer \"Abonnements\" par mots-clés - Le mot-clé \'%1$s\' masquera toutes les vidéos. - Mot-clé invalide. Impossible d\'utiliser : \'%s\' comme filtre. + Ce mot-clé va masquer toutes les vidéos : %s. + Impossible d\'utiliser ce mot-clé : %s. + Ajouter des guillemets pour utiliser un mot-clé : %s. + Le mot-clé a des déclarations incompatibles : %s. + Le mot-clé est trop court et nécessite des guillemets : %s. Les posts récents sont affichés. Les posts récents sont masqués. Masquer les posts récents @@ -586,9 +596,6 @@ Les mots comportant des majuscules au milieu doivent être saisis de la même fa Le bouton \"Réduire\" est affiché. Le bouton \"Réduire\" est masqué. Masquer le bouton \"Réduire\" - Le menu \"Mode ambiant\" est affiché. - Le menu \"Mode ambiant\" est masqué. - Masquer le menu \"Mode ambiant\" Le menu \"Piste audio\" est affiché. Le menu \"Piste audio\" est masqué. Masquer le menu \"Piste audio\" @@ -769,9 +776,6 @@ Sous-titres" L\'en-tête du chat en direct est affiché.\n\nLe bouton de retour sur l\'en-tête ne sera pas masqué. L\'en-tête du chat en direct est masqué.\n\nLe bouton de retour sur l\'en-tête ne sera pas masqué. Masquer l\'en-tête du chat en direct - Les informations de localisation sont affichés. - Les informations de localisation sont masqués. - Masquer les informations de localisation La barre de navigation est affichée. La barre de navigation est masqué. Masquer la barre de navigation @@ -793,9 +797,6 @@ Sous-titres" Le son d\'enregistrement dans la Playlist est affiché. Le son d\'enregistrement dans la Playlist est masqué. Masquer le son du bouton \"Playlist\" - Les suggestions de recherche sont affichés. - Les suggestions de recherche sont masqués. - Masquer les suggestions de recherche Le bouton \"Partager\" est affiché. Le bouton \"Partager\" est masqué. Masquer le bouton \"Partager\" @@ -836,6 +837,9 @@ Effet secondaire : Les fiches officielles dans les résultats de recherche sont La barre d\'outils est affiché. La barre d\'outils est masqué. Masquer la barre d\'outils + Le bouton \"Utiliser ce son\" est affiché. + Le bouton \"Utiliser ce son\" est masqué. + Masquer le bouton \"Utiliser ce son\" Le titre est affiché. Le titre est masqué. Masquer le titre de la vidéo @@ -1007,8 +1011,6 @@ Appuyez longuement pour ouvrir les paramètres de la liste blanche. Actions rapides Vidéo recommandée Étagères Shorts - À propos - Falsifier les options du client Outil utilisé Filtre du compteur de vues Masque ou affiche des éléments dans le menu du compte et dans l\'onglet \"Vous\". @@ -1062,8 +1064,8 @@ Appuyez longuement pour ouvrir les paramètres de la liste blanche. Masque ou affiche des composants dans le lecteur Shorts. Lecteur Shorts Shorts - Falsifie le client pour empêcher les problèmes de lecture. - Falsifier le client + Falsifier les données de diffusion en direct afin d\'éviter les problèmes de lecture. + Falsifier les données de diffusion en direct Contrôles par gestes Masque ou change les éléments situés dans la barre d\'outils, tels que les boutons de la barre d\'outils, la barre de recherche, l\'en-tête. Barre d\'outils @@ -1084,10 +1086,16 @@ Un codec différent sera appliqué après environ 20 secondes de mise en mémoir La modification de la vitesse de lecture est appliqué pour la vidéo en cours. La modification de vitesse de lecture est appliqué pour toutes les vidéos. Enreg. modif. de la vitesse de lecture + Un message ne sera pas affiché lorsque vous modifiez la vitesse de lecture par défaut. + Un message sera affiché lorsque vous modifiez la vitesse de lecture par défaut. + Afficher un message Vitesse de lecture modifiée par %s. La modification de la résolution est appliqué pour la vidéo en cours. La modification de la résolution est appliqué pour toutes les vidéos. Enreg. modification de la qualité + Un message ne sera pas affiché lorsque vous modifiez la qualité vidéo par défaut. + Un message sera affiché lorsque vous modifiez la qualité vidéo par défaut. + Afficher un message La résolution sur les données mobiles a été modifiée par %s. Impossible de définir la qualité vidéo. La résolution sur le Wi-Fi a été modifiée par %s. @@ -1178,6 +1186,7 @@ Limitation : les \"Je n'aime pas\" ne seront pas affichées si vous n'êtes pas Modifier l\'URL de l\'API L\'adresse qu\'utilise SponsorBlock pour contacter le serveur. Durée minimale du segment + Durée invalide. Les segments plus courts que cette valeur (en secondes) ne pourront être affichés ou passés. Activer le compteur de segments passés Le compteur de segments passés n\'est pas activé. @@ -1380,80 +1389,29 @@ Si elle est désactivée ultérieurement, l'ancienne interface utilisateur peut Cela modifie l'apparence et les fonctionnalités de l'application, mais des effets inconnus peuvent se produire. Si désactivé ultérieurement, il est recommandé d'effacer les données de l'application pour éviter des bugs d'interface." - Lecture impossible - Général - Diffusions en direct - Android - Android Test suite - Android TV - Android VR - iOS - Shorts, Clips - Le client falsifié est masqué dans les Statistiques avancées. - Le client falsifié est affiché dans les Statistiques avancées. - Afficher dans \"Statistiques avancées\" - "Le client n'est pas falsifié, la lecture des vidéos peut ne pas fonctionner." - Le client est falsifié. - Falsifier le client - "Falsifier le client vers Android Test suite. - -Créée des effets secondaires : -• Pas de vidéo HDR. -• Le menu \"piste audio\" est absent. -• Les sous-titres peuvent ne pas être disponibles. -• Le bouton \"Télécharger\" n'es pas disponible. -• Les cartes d'écran de fin ne sont pas disponibles. -• Les miniatures de la barre de progression sont en basse qualités." - Android Testsuite - "Falsifier le client vers Android TV (YouTube TV). - -Créée des effets secondaires : -• Pas de vidéo HDR. -• Le menu \"piste audio\" est absent. -• Les sous-titres peuvent ne pas être disponibles. -• Le bouton \"Télécharger\" est absent. -• Les miniatures de la barre de progression sont en basse qualités. -• Certaines diffusions en direct ne sont pas pris en charge pour la lecture." - Android TV - "Falsifier le client vers Android VR. - -Les effets secondaires incluent : -• Pas de vidéo HDR. -• Le bouton \"Télécharger\" de la barre d'action vidéo est absent. -• Les vidéos en pause peuvent reprendre aléatoirement. -• Les miniatures de la barre de progression sur les Shorts sont en basses qualités. -• Les vidéos conçues pour les enfants ne seront pas lues." - Android VR - "Falsifier le client vers iOS. - -Créée des effets secondaires : -• Les vidéos HDR supportent uniquement le codec AV1. -• Le temps de visionnage n'es pas enregistré dans l'historique de visionnage pour les comptes de marques." - "Falsifier le client vers iOS. - -Créée des effets secondaires : -• Les vidéos HDR supportent uniquement le codec AV1. -• L'historique de visionnage ne fonctionne pas pour les comptes de marques." - iOS - Désactiver ce paramètre peut entraîner des problèmes de lecture vidéo. "Falsifie les dimensions de l'appareil a la valeur maximale. Les hautes qualités peuvent être débloquées sur certaines vidéos qui requièrent des appareils ayant des dimensions élevées, mais pas sur toutes les vidéos." Falsifier les dimensions de l\'appareil - "Les paramètres du lecteur ne sont pas falsifiés dans les flux vidéos. - -Limitation : Les vidéos du flux seront lues moins d'une minute avant de rencontrer des problèmes de lecture." - "Les paramètres du lecteur sont falsifiés dans les flux vidéos. + Les codecs vidéos d\'iOS sont AVC (H.264), VP9, ou AV1. + Le codec vidéo d\'iOS est AVC (H.264). + Forcer iOS AVC (H.264) + "Activer ce paramètre peut améliorer l'autonomie de la batterie et résoudre les problèmes de lecture. -Limitation : Les vidéos lues automatiquement dans les flux peuvent apparaître dans votre historique de visionnage." - Falsifier les param. lecteur dans les flux - "Falsifie les paramètres du lecteur pour empêcher les problèmes de lecture. - -Limitations : -• Les bitrates améliorés ne sont pas disponibles. -• Les miniatures sur la barre de progression ne sont pas disponibles sur les vidéos payantes . -• Les téléchargements hors ligne peux ne pas fonctionner. -• Les vidéos peuvent ne pas démarrer à partir du dernier moment visionné." - Falsifier les paramètres du lecteur +AVC (H.264) a une résolution maximale de 1080p, et la lecture vidéo utilisera plus de données internet que le VP9 ou le AV1." + Effets inconnus de la falsification + • Les vidéos peuvent ne pas être lus. + Le client utilisé pour récupérer les données de lecture en direct est masqué dans \"Statistiques pour les nerds\". + Le client utilisé pour récupérer les données de lecture en direct est affiché dans \"Statistiques pour les nerds\". + Afficher dans \"Statistiques pour les nerds\" + "Les données de lecture en direct ne sont pas falsifiées. La lecture vidéo peut ne pas fonctionner." + Les données de lecture en direct sont falsifiées. + Falsifier les données de lecture en direct + Android + Android TV + Android VR + iOS + Client par défaut + Désactiver ce paramètre peut entraîner des problèmes de lecture vidéo. Les contrôles par gestes sont désactivés en mode \"Écran verrouillé\". Les contrôles par gestes sont activés en mode \"Écran verrouillé\". Gestes en mode \"Écran verrouillé\" @@ -1476,17 +1434,10 @@ Limitations : • Vous devez désactiver ce paramètre afin de rendre les publicités vidéo visibles." Échanger \"Créer\" et \"Notifications\" Officiel - "• Suis les paramètres de l'historique de visionnage du compte Google. -• L'historique de visionnage peut ne pas fonctionner à cause d'un DNS ou d'un VPN." - • Suis les paramètres de l\'historique de visionnage du compte Google. • L\'historique de visionnage est bloqué. - "• Suis les paramètres de l'historique de visionnage du compte Google. -• L'historique de visionnage peut ne pas fonctionner à cause d'un DNS ou d'un VPN. -• L'historique de visionnage peut ne pas fonctionner sur les comptes de marques. -(Le paramètre 'Falsifier le client' est activé et le client iOS est sélectionné)" - "• Suis les paramètres de l'historique de visionnage du compte Google. -• L'historique de visionnage peut ne pas fonctionner sur les comptes de marques. -(Le paramètre 'Falsifier le client' est activé et le client iOS est sélectionné)" + "• Suit les paramètres de l'historique de visionnage du compte Google. +• L'historique de visionnage peut ne pas fonctionner en raison d'un DNS ou d'un VPN." + • Suit les paramètres de l\'historique de visionnage du compte Google. Statut de l\'historique de visionnage Cliquez pour ouvrir la gestion de l\'historique de visionnage YouTube. Gérer tout l\'historique diff --git a/src/main/resources/youtube/translations/hu-rHU/missing_strings.xml b/src/main/resources/youtube/translations/hu-rHU/missing_strings.xml index db0499a42..a60965d1f 100644 --- a/src/main/resources/youtube/translations/hu-rHU/missing_strings.xml +++ b/src/main/resources/youtube/translations/hu-rHU/missing_strings.xml @@ -1,9 +1,6 @@ Don\'t show again - In-app share sheet is used. - System share sheet is used. - Change share sheet Courses / Learning Playables Displays the optimization dialog for GMSCore at each application startup. @@ -22,10 +19,55 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/hu-rHU/strings.xml b/src/main/resources/youtube/translations/hu-rHU/strings.xml index b2ef74ad3..20295eeee 100644 --- a/src/main/resources/youtube/translations/hu-rHU/strings.xml +++ b/src/main/resources/youtube/translations/hu-rHU/strings.xml @@ -59,6 +59,9 @@ Koppints ide, ha többet szeretnél megtudni a DeArrow-ról." Kapcsolók használata. Szövegkapcsolók használata. Kapcsolótípus megváltoztatása + Az app-on belüli megosztási lap van használatban. + A rendszer megosztási lap van használatban. + Megosztási lap módosítása Automatikus lejátszás Alapértelmezett Szünet @@ -86,7 +89,7 @@ Koppints ide, ha többet szeretnél megtudni a DeArrow-ról." Prémium fejléc van engedélyezve. YouTube fejléc módosítása A szűrendő összetevő útvonal építő karakterláncok listája új sorral elválasztva - Egyedi szűrő + Egyéni szűrő Az egyedi szűrő ki van kapcsolva Az egyedi szűrő engedélyezve van Egyedi szűrők engedélyezése @@ -116,9 +119,9 @@ Koppints ide, ha többet szeretnél megtudni a DeArrow-ról." A mozifilmes világítás engedélyezett. A mozifilmes világítás letiltva. \'Mozifilmes világítás\' mód letiltása - Az automatikus hangpályák erőltetve engedélyezve. - Az automatikus hangpályák erőltetve letiltva. - Az automatikus hangpályák erőltetett letiltása + A kényszerített automatikus hangsávok engedélyezve vannak. + "A kényszerített automatikus hangsávok le vannak tiltva." + Kényszerített automatikus hangsávok letiltása A kényszerített automatikus feliratok engedélyezve vannak. A kényszerített automatikus feliratok le vannak tiltva. Kényszerített automatikus feliratok letiltása @@ -296,9 +299,9 @@ A 'Videoleírások kibővítése' nem működik, ha a beírt sztring nem egyezik Külső letöltéskezelő Nincs telepítve "A(z) %1$s nincs telepítve. -Kérjük, töltsd le a(z) %2$s a weboldalról." +Töltsd le a(z) %2$s weboldalról." Figyelmeztetés - %s nincs telepítve. Kérjük telepítse. + %s nincs telepítve. Kérlek telepítsd. A telepített külső letöltő alkalmazás csomagneve, például YTDLnis. Lejátszási lista letöltő csomag neve A telepített külső letöltő alkalmazás csomagneve, például NewPipe vagy YTDLnis. @@ -392,12 +395,12 @@ Lejátszási listák Megjelenítve a csatornában. Elrejtve a csatornában. Elrejtése a csatornában - Megjelenítve a kezdőképernyő hírfolyamban és a kapcsolódó videóknál. - Elrejtve a kezdőképernyő hírfolyamban és a kapcsolódó videóknál. - Elrejtése a kezdőképernyő hírfolyamban és a kapcsolódó videóknál - Megjelenítve az előfizetési hírfolyamban. - Elrejtve az előfizetési hírfolyamban. - Elrejtése az előfizetési hírfolyamban + Megjelenítve a kezdőlapon és a kapcsolódó videóknál. + Elrejtve a kezdőlapon és a kapcsolódó videóknál. + Elrejtés a kezdőlapon és a kapcsolódó videóknál + Megjelenítve a feliratkozások között. + Elrejtve a feliratkozások között. + Elrejtés a feliratkozások között A tartalom készítésének módja rész látható. A tartalom készítésének módja rész elrejtve. A tartalmak szekció elrejtése @@ -492,8 +495,8 @@ Korlátozás: előfordulhat, hogy a közösségi bejegyzés képe a teljes képe Videók elrejtése a kezdőlapon kulcsszavak alapján "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)" Elrejtendő kulcsszavak - A keresési eredmények nincsenek szűrve - A keresési eredmények kulcsszavak alapján szűrve + A keresési eredmények nincsenek szűrve. + A keresési eredmények szűrve vannak. Keresési eredmények elrejtése kulcsszavak alapján A videók a feliratkozások lapon nincsenek szűrve A videók a feliratkozások lapon kulcsszavak alapján szűrve @@ -569,9 +572,6 @@ Korlátozás: előfordulhat, hogy a közösségi bejegyzés képe a teljes képe Az Összecsukás gomb megjelenik. Az Összecsukás gomb el van rejtve. Összecsukás gomb elrejtése - Az ambient mód menü megjelenik. - Az ambient mód menü el van rejtve. - Környezeti mód menü elrejtése Az audiosáv menü megjelenik. Az audiosáv menü el van rejtve. Audió nyomkövető menü elrejtése @@ -756,9 +756,6 @@ Feliratok" Az élő csevegés fejléce látható.\n\nA fejlécben található Vissza gomb nem lesz elrejtve. Az élő csevegés fejléce el van rejtve.\n\nA fejlécben található Vissza gomb nem lesz elrejtve. Élő csevegés fejléc elrejtése - A helycímke megjelenik - A helycímke el van rejtve - Helycímke elrejtése A navigációs sáv megjelenik A navigációs sáv el van rejtve Navigációs sáv elrejtése @@ -780,9 +777,6 @@ Feliratok" A hang mentése a lejátszási listára gomb megjelenik A hang mentése a lejátszási listára gomb el van rejtve Hang mentése a lejátszási listára gomb elrejtése - A keresési javaslatok megjelennek - A keresési javaslatok el vannak rejtve - Keresési javaslatok elrejtése A megosztás gomb látható A megosztás gomb el van rejtve Megosztás gomb elrejtése @@ -880,18 +874,18 @@ Beállítások → Automatikus lejátszás → Következő videó automatikus le A videó hirdetések láthatók A videó hirdetések el vannak rejtve Videó hirdetések elrejtése - Az ennél hosszabb időtartamú videók el lesznek rejtve. - Hosszabb időtartamú, mint + Az ennél hosszabb videók el lesznek rejtve. + Hosszabb, mint Az ennél rövidebb időtartamú videók el lesznek rejtve. Rövidebb időtartamú, mint Videók elrejtése rövidebb vagy hosszabb időtartam alapján.\n\nIsmert hiba: Nem fogja elrejteni a lejátszóban található kapcsolódó videókat, csak az időbélyegjét. - Videók elrejtése időtartam alapján - Ajánlott videók elrejtése, ha kevesebb a megadott számnál a megtekintések száma. + Videók elrejtése hossz alapján + Az ajánlott videók elrejtése, ha a megtekintések száma kevesebb a megadott számnál.\n\nIsmert probléma: a 0 megtekintésű videókat a rendszer nem szűri. Ajánlott videók elrejtése megtekintések alapján - Az ennél több nézettségű videók el lesznek rejtve. - Több, mint nézettség - Az ennél kevesebb nézettségű videók el lesznek rejtve. - Kevesebb, mint nézettség + Az ennél nagyobb nézettségű videók el lesznek rejtve. + Nagyobb a nézettsége, mint + Az ennél kisebb nézettségű videók el lesznek rejtve. + Kisebb a nézettsége, mint K -> 1 000\nM -> 1 000 000\nB -> 1 000 000 000\nviews -> megtekintések Adja meg nyelvi sablonját a videók alatt megjelenő nézetek számához a felhasználói felületen. Minden kulcs (a nyelvében levő betű/szó) -> érték (a kulcs jelentése) új sorban legyen. A kulcsok a \"->\" előtt helyezkednek el. Ha megváltoztatja az alkalmazás vagy a rendszer nyelvét, akkor vissza kell állítania ezt a beállítást.\n\nPéldák:\nAngol: 10K views = K -> 1000, views -> megtekintések\nSpanyol: 10 K vistas = K -> 1000, vistas -> megtekintések Nézettség kulcsok @@ -905,7 +899,7 @@ Beállítások → Automatikus lejátszás → Következő videó automatikus le A webes keresési találatok rejtve vannak Webes keresési találatok elrejtése A nagyítás fedés látható. - A nagyítás fedés el van rejtve. + A nagyítás fedés elrejtve. Nagyítás fedés elrejtése Kék Afn Piros Afn @@ -997,8 +991,6 @@ Tartsa nyomva a sebesség alaphelyzetbe állításához." Gyors műveletek Ajánlott videó Shorts polcok - Névjegy - Kliens verzió hamisítási lehetőségek Használt eszköz Megtekintések szűrő Elemek elrejtése vagy megjelenítése a fiók menüben és a Te fülön. @@ -1022,7 +1014,7 @@ Tartsa nyomva a sebesség alaphelyzetbe állításához." Komponensek elrejtése egyéni szűrőkkel. Egyéni szűrő Komponensek elrejtése vagy megjelenítése a hírfolyam lebegő menüjében. - Flyout menü + Felugró menü Hírfolyam Teljes képernyős móddal kapcsolatos elemek elrejtése vagy módosítása. Teljes képernyő @@ -1052,14 +1044,12 @@ Tartsa nyomva a sebesség alaphelyzetbe állításához." Komponensek elrejtése vagy megjelenítése a Rövid videók lejátszójában. Rövidfilm lejátszó Rövidfilmek - Kliens verzió meghamisítása a lejátszási hibák elkerüléséhez. - Kliens verzió meghamisítása Húzásvezérlések Elrejt vagy megváltoztat komponenseket az eszköztáron, mint például a keresősáv, eszköztárgombok és fejléc. Eszköztár Rejtsd el vagy mutasd a videóleírás komponenseit. Videóleírás - Videók elrejtése kulcsszavak vagy nézettség alapján. + A videók elrejtése kulcsszavak vagy nézettség alapján. Videó szűrő Videó A megtekintési előzményekhez kapcsolódó beállítások módosítása. @@ -1074,10 +1064,16 @@ Egy másik kodek kerül alkalmazásra kb. 20 másodperc pufferezés után."A lejátszási sebesség módosítása csak a jelenlegi videóra érvényes A lejátszási sebesség módosítása minden videóra érvényes Lejátszási sebesség módosításainak megjegyzése + Nem fog felugró értesítés látszani, amikor megváltozik az alapértelmezett lejátszási sebesség. + Egy felugró értesítés fog látszani, amikor megváltozik az alapértelmezett lejátszási sebesség. + Mutass egy felugró értesítést Alapértelmezett sebesség módosítva: %s Felbontás változtatások alkalmazása a jelenlegi videóra Felbontás változtatások alkalmazása az összes videóra Felbontás változtatások mentése + Nem fog felugró értesítés látszani, amikor megváltozik az alapértelmezett videó minőség. + Egy felugró értesítés fog látszani, amikor megváltozik az alapértelmezett videó minőség. + Mutass egy felugró értesítést mobil Nem sikerült beállítani a videóminőséget. wifi @@ -1166,6 +1162,7 @@ Ide hosszan nyomva tartva megnyílik a YouTube beállítások." API URL módosítása Az a cím, amelyet a SponsorBlock a szervere eléréséhez használ Minimális szegmens időtartam + Érvénytelen időtartam. A beállított értéknél (másodpercben) rövidebb szakaszokat nem hagyja ki vagy nem jeleníti meg Átugrásszámláló bekapcsolása A kihagyások számának követése nem engedélyezett @@ -1368,77 +1365,8 @@ Info: Ez meg fogja változtatni az app működését és kinézetét és nem várt mellékhatások előfordulhatnak. Ha kikapcsolja, akkor ajánlott törölni az app adatait, hogy elkerülje a UI hibákat." - Lejátszhatatlan videó - Általános - Élő közvetítések - Android - Android tesztcsomag - Android TV - Android VR - iOS - Shortok, klippek - A meghamisított kliens el van rejtve a statisztikában kockáknak. - A meghamisított kliens látszik a statisztikában kockáknak. - Megjelenítés a statisztikákban kockáknak - "Kliens verzió nincs hamisítva. Lehet, hogy a videó lejátszás nem működik." - Kliens verzió meghamisítva. - Kliens verzió meghamisítása - "Kliens verzió hamisítása Android Testsuite-ra. - -A mellékhatások a következők lehetnek: -• Nincs HDR videó. -• Hiányzik a hangsáv- és a lejátszási sebesség menü. -• Előfordulhat, hogy a feliratok nem érhetők el." - Android tesztcsomag - "Kliens verzió hamisítása Android TV-re (YouTube TV). - -A mellékhatások a következők lehetnek: -• Nincs HDR videó. -• Hiányzik a hangsáv- és a lejátszási sebesség menü. -• Előfordulhat, hogy a feliratok nem érhetők el. -• Egyes élő közvetítések lejátszása nem támogatott." - Android TV - "Kliens verzió hamisítása Android VR-ra. - -A mellékhatások a következők lehetnek: -• Nincs HDR videó. -• A szüneteltetett videók véletlenszerűen folytatódhatnak. -• Gyenge minőségű bélyegképek a Shorts keresősávján. -• A gyerekeknek készült videókat nem lehet lejátszani." - Android VR - "Kliens hamisítása iOS-re. - -A mellékhatások a következők: -• A HDR videót csak AV1 kodekkel támogatja. -• A nézési idő nem kerül mentésre a márkafiók megtekintési előzményeiben." - "Kliens verzió hamisítása iOS-re. - -A mellékhatások a következők lehetnek: -• Nincs HDR videó. -• Hiányzik a lejátszási sebesség menü. -• Előfordulhat, hogy a jobb videóminőség hiányzik. -• A megtekintési előzmények nem működnek márkafiókkal. -• Az élő közvetítések nem játszhatók le csak hangként. -• Az élő közvetítések nem érhetők el Android 8.0 rendszeren." - iOS - Ez a beállítás kikapcsolása videólejátszási problémákat okozhat. "Meghamisítja az eszköz méreteit annak érdekében, hogy feloldjon olyan jobb videóminőséget, amely esetleg nem érhető el az eszközön." Eszközméret hamisítása - "A lejátszóparaméterek nincsenek meghamisítva a hírfolyam-videók esetében. - -Korlátozás: A hírfolyamban található videók kevesebb, mint 1 percig játszódnak le, mielőtt lejátszási problémákat tapasztalnának." - "A lejátszóparaméterek meghamisítva a hírfolyam-videók esetében. - -Korlátozás: Az automatikusan lejátszott hírfolyam-videók megjelennek a megtekintett videók listájában." - Lejátszási paraméter hamisítása a hírfolyamban - "Meghamisítja a lejátszó paramétereit a lejátszási problémák megelőzése érdekében. - -Korlátozások: -• A fokozott bitráta nem érhető el. -• Nincsenek előnézeti képek a fizetős videókhoz. -• Az offline letöltések lehet, hogy nem működnek. -• Lehet, hogy a videó nem a legutóbbi lejátszott időponttól indul." - Lejátszó paraméter hamisítása A csúsztatási mozdulatok le vannak tiltva a \'Képernyő lezárása\' módban. A csúsztatási mozdulatok engedélyezve vannak a \'Képernyő lezárása\' módban. A csúsztatási mozdulatok a \'Képernyő lezárása\' módban @@ -1462,17 +1390,7 @@ Megjegyzés: Ezzel a képernyőterület méretét is megváltoztatja, ahol érz • Ha a videó hirdetések láthatóak akarja tenni, letiltja ezt a beállítást." Létrehozás felcserélése az értesítésekkel Készlet - "• Követi a Google-fiók megtekintési előzményeinek beállításait. -• Előfordulhat, hogy a megtekintési előzmények nem működnek a DNS vagy a VPN miatt." - • Követi a Google-fiók megtekintési előzményeinek beállításait. • A megtekintési előzmények le vannak tiltva. - "• Követi a Google-fiók megtekintési előzményeinek beállításait. -• Előfordulhat, hogy a megtekintési előzmények nem működnek a DNS vagy a VPN miatt. -• Előfordulhat, hogy a megtekintési előzmények nem működnek márkafiókkal. -(A hamis kliens beállítása engedélyezve van, és az iOS kliens ki van választva)" - "• Követi a Google-fiók megtekintési előzményeinek beállításait. -• Előfordulhat, hogy a megtekintési előzmények nem működnek márkafiókkal. -(A hamis kliens beállítása engedélyezve van, és az iOS kliens ki van választva)" Megtekintési előzmények állapota Kattintson a YouTube megtekintési előzmények kezelésének megnyitásához. Előzmények kezelése diff --git a/src/main/resources/youtube/translations/id-rID/missing_strings.xml b/src/main/resources/youtube/translations/id-rID/missing_strings.xml index b30ec1974..e6ff289c4 100644 --- a/src/main/resources/youtube/translations/id-rID/missing_strings.xml +++ b/src/main/resources/youtube/translations/id-rID/missing_strings.xml @@ -82,7 +82,7 @@ Side effect: Community post images may be blocked in fullscreen." Key concepts section is hidden. Hide Key concepts section Match full word - Keyword \'%1$s\' will hide all videos. + Keyword will hide all videos: %s. Live chat messages are shown.\n\nThis setting applies to Shorts live videos too. Live chat messages are hidden.\n\nThis setting applies to Shorts live videos too. Hide live chat messages @@ -172,18 +172,21 @@ Tap and hold to open whitelist setting dialog. Override video download button Animation / Feedback Image region restrictions - About - Spoof client options Change the style of the in app minimized player. Miniplayer - Spoof the client to prevent playback issues. - Spoof client Change settings related with watch history. Watch history Quick actions top margin must be between 0-32. Reset to default values. + A toast will not be shown when changing the default playback speed. + A toast will be shown when changing the default playback speed. + Show a toast + A toast will not be shown when changing the default video quality. + A toast will be shown when changing the default video quality. + Show a toast Channel handle is used. Channel name is used. Replace channel handle + Invalid time duration. Adjust: Mark Start and End Time for segment Verify the Segment Edit the Segment @@ -203,12 +206,6 @@ Tap and hold to open whitelist setting dialog. Meta panel bottom margin Press and hold the timestamp to change the Shorts repeat status. Timestamp long press action - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed Turning on this setting may cause video playback issues. Speed overlay value must be between 0-8.0. Reset to default values. Version not spoofed @@ -218,76 +215,10 @@ Tap and hold to open whitelist setting dialog. This will change the appearance and features of the app, but unknown side effects may occur. If later turned off, it is recommended to clear the app data to prevent UI bugs." - Unplayable video - General - Live streams - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - Spoofed client is hidden in Stats for nerds. - Spoofed client is shown in Stats for nerds. - Show in Stats for nerds - "Client is not spoofed. Video playback may not work." - Client is spoofed. - Spoof client - "Spoof client to Android Testsuite. - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• End screen cards are missing. -• Low quality seekbar thumbnail." - Android Testsuite - "Spoof client to Android TV (YouTube TV). - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• Low quality seekbar thumbnail. -• Some live streams are not supported for playback." - Android TV - "Spoof client to Android VR. - -Side effects include: -• No HDR video. -• Download button of video action bar is missing. -• Paused videos can randomly resume. -• Low quality Shorts seekbar thumbnails. -• Kids videos do not play." - Android VR - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch history does not work with a brand account." - iOS - Turning off this setting may cause video playback issues. Swipeable area size cannot be more than 50. Reset to default value. Percentage of swipeable screen area.\n\nNote: This will also change the size of the screen area for the double-tap-to-seek gesture. Swipe overlay screen size - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN." - • Follows the watch history settings of Google account. • Watch history is blocked. - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - "• Follows the watch history settings of Google account. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" Status of watch history Click to open the YouTube watch history management. Manage all history @@ -308,4 +239,55 @@ Side effects include: Check or remove the list of channels added to the whitelist. Channel whitelist SponsorBlock + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/id-rID/strings.xml b/src/main/resources/youtube/translations/id-rID/strings.xml index d01d322ec..58e311617 100644 --- a/src/main/resources/youtube/translations/id-rID/strings.xml +++ b/src/main/resources/youtube/translations/id-rID/strings.xml @@ -504,9 +504,6 @@ Words with uppercase letters in the middle must be entered with the casing (ie: Collapse button is shown. Collapse button is hidden. Hide collapse button - Ambient mode menu is shown. - Ambient mode menu is hidden. - Hide ambient mode menu Audio track menu is shown. Audio track menu is hidden. Hide audio track menu @@ -682,9 +679,6 @@ Captions" Like button is shown. Like button is hidden. Hide like button - Location label is shown. - Location label is hidden. - Hide location label Navigation bar is shown. Navigation bar is hidden. Hide navigation bar @@ -700,9 +694,6 @@ Captions" Save sound to playlist is shown. Save sound to playlist is hidden. Hide save sound to playlist button - Search suggestions are shown. - Search suggestions are hidden. - Hide search suggestions Share button is shown. Share button is hidden. Hide share button @@ -1196,21 +1187,6 @@ Limitation: Video title disappears when clicked." Spoof app version Spoofs the device dimensions in order to unlock higher video qualities that may not be available on your device. Spoof device dimensions - "Player parameter not spoofed for feed videos. - -Limitation: Feed videos will play for less than 1 minute before encountering playback issues." - "Player parameter spoofed for feed videos. - -Limitation: Automatically played feed videos will show up in your watch history." - Spoof player parameter in feed - "Spoofs player parameters to prevent playback issues. - -Limitations: -• Enhanced bitrate is not available. -• No seekbar thumbnails for paid videos. -• Offline downloads may not work. -• Video may not start from the last watched time." - Spoof player parameter "Swipe gestures are disabled in 'Lock screen' mode." "Swipe gestures are enabled in 'Lock screen' mode." "Swipe gestures in 'Lock screen' mode" diff --git a/src/main/resources/youtube/translations/in/missing_strings.xml b/src/main/resources/youtube/translations/in/missing_strings.xml index b30ec1974..e6ff289c4 100644 --- a/src/main/resources/youtube/translations/in/missing_strings.xml +++ b/src/main/resources/youtube/translations/in/missing_strings.xml @@ -82,7 +82,7 @@ Side effect: Community post images may be blocked in fullscreen." Key concepts section is hidden. Hide Key concepts section Match full word - Keyword \'%1$s\' will hide all videos. + Keyword will hide all videos: %s. Live chat messages are shown.\n\nThis setting applies to Shorts live videos too. Live chat messages are hidden.\n\nThis setting applies to Shorts live videos too. Hide live chat messages @@ -172,18 +172,21 @@ Tap and hold to open whitelist setting dialog. Override video download button Animation / Feedback Image region restrictions - About - Spoof client options Change the style of the in app minimized player. Miniplayer - Spoof the client to prevent playback issues. - Spoof client Change settings related with watch history. Watch history Quick actions top margin must be between 0-32. Reset to default values. + A toast will not be shown when changing the default playback speed. + A toast will be shown when changing the default playback speed. + Show a toast + A toast will not be shown when changing the default video quality. + A toast will be shown when changing the default video quality. + Show a toast Channel handle is used. Channel name is used. Replace channel handle + Invalid time duration. Adjust: Mark Start and End Time for segment Verify the Segment Edit the Segment @@ -203,12 +206,6 @@ Tap and hold to open whitelist setting dialog. Meta panel bottom margin Press and hold the timestamp to change the Shorts repeat status. Timestamp long press action - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed Turning on this setting may cause video playback issues. Speed overlay value must be between 0-8.0. Reset to default values. Version not spoofed @@ -218,76 +215,10 @@ Tap and hold to open whitelist setting dialog. This will change the appearance and features of the app, but unknown side effects may occur. If later turned off, it is recommended to clear the app data to prevent UI bugs." - Unplayable video - General - Live streams - Android - Android Testsuite - Android TV - Android VR - iOS - Shorts, Clips - Spoofed client is hidden in Stats for nerds. - Spoofed client is shown in Stats for nerds. - Show in Stats for nerds - "Client is not spoofed. Video playback may not work." - Client is spoofed. - Spoof client - "Spoof client to Android Testsuite. - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• End screen cards are missing. -• Low quality seekbar thumbnail." - Android Testsuite - "Spoof client to Android TV (YouTube TV). - -Side effects include: -• No HDR video. -• Audio track menu is missing. -• Captions may not be available. -• Download button is missing. -• Low quality seekbar thumbnail. -• Some live streams are not supported for playback." - Android TV - "Spoof client to Android VR. - -Side effects include: -• No HDR video. -• Download button of video action bar is missing. -• Paused videos can randomly resume. -• Low quality Shorts seekbar thumbnails. -• Kids videos do not play." - Android VR - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." - "Spoof client to iOS. - -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch history does not work with a brand account." - iOS - Turning off this setting may cause video playback issues. Swipeable area size cannot be more than 50. Reset to default value. Percentage of swipeable screen area.\n\nNote: This will also change the size of the screen area for the double-tap-to-seek gesture. Swipe overlay screen size - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN." - • Follows the watch history settings of Google account. • Watch history is blocked. - "• Follows the watch history settings of Google account. -• Watch history may not work due to DNS or VPN. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" - "• Follows the watch history settings of Google account. -• Watch history may not work with a brand account. -(Spoof client setting is enabled and iOS client is selected)" Status of watch history Click to open the YouTube watch history management. Manage all history @@ -308,4 +239,55 @@ Side effects include: Check or remove the list of channels added to the whitelist. Channel whitelist SponsorBlock + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/in/strings.xml b/src/main/resources/youtube/translations/in/strings.xml index d01d322ec..58e311617 100644 --- a/src/main/resources/youtube/translations/in/strings.xml +++ b/src/main/resources/youtube/translations/in/strings.xml @@ -504,9 +504,6 @@ Words with uppercase letters in the middle must be entered with the casing (ie: Collapse button is shown. Collapse button is hidden. Hide collapse button - Ambient mode menu is shown. - Ambient mode menu is hidden. - Hide ambient mode menu Audio track menu is shown. Audio track menu is hidden. Hide audio track menu @@ -682,9 +679,6 @@ Captions" Like button is shown. Like button is hidden. Hide like button - Location label is shown. - Location label is hidden. - Hide location label Navigation bar is shown. Navigation bar is hidden. Hide navigation bar @@ -700,9 +694,6 @@ Captions" Save sound to playlist is shown. Save sound to playlist is hidden. Hide save sound to playlist button - Search suggestions are shown. - Search suggestions are hidden. - Hide search suggestions Share button is shown. Share button is hidden. Hide share button @@ -1196,21 +1187,6 @@ Limitation: Video title disappears when clicked." Spoof app version Spoofs the device dimensions in order to unlock higher video qualities that may not be available on your device. Spoof device dimensions - "Player parameter not spoofed for feed videos. - -Limitation: Feed videos will play for less than 1 minute before encountering playback issues." - "Player parameter spoofed for feed videos. - -Limitation: Automatically played feed videos will show up in your watch history." - Spoof player parameter in feed - "Spoofs player parameters to prevent playback issues. - -Limitations: -• Enhanced bitrate is not available. -• No seekbar thumbnails for paid videos. -• Offline downloads may not work. -• Video may not start from the last watched time." - Spoof player parameter "Swipe gestures are disabled in 'Lock screen' mode." "Swipe gestures are enabled in 'Lock screen' mode." "Swipe gestures in 'Lock screen' mode" diff --git a/src/main/resources/youtube/translations/it-rIT/missing_strings.xml b/src/main/resources/youtube/translations/it-rIT/missing_strings.xml index 71fed998c..9fd738bdf 100644 --- a/src/main/resources/youtube/translations/it-rIT/missing_strings.xml +++ b/src/main/resources/youtube/translations/it-rIT/missing_strings.xml @@ -1,6 +1,21 @@ - In-app share sheet is used. - System share sheet is used. - Change share sheet + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button diff --git a/src/main/resources/youtube/translations/it-rIT/strings.xml b/src/main/resources/youtube/translations/it-rIT/strings.xml index 4ab2c3f92..a0032bf34 100644 --- a/src/main/resources/youtube/translations/it-rIT/strings.xml +++ b/src/main/resources/youtube/translations/it-rIT/strings.xml @@ -1,7 +1,7 @@ Vuoi attivare i controlli di accessibilità del riproduttore? - I tuoi controlli sono diversi poichè un servizio di accessibilità è attivato + I tuoi controlli sono diversi poiché un servizio di accessibilità è attivato. Continua Non mostrare di nuovo "GmsCore non ha il permesso di eseguire in background. @@ -17,35 +17,37 @@ Tocca il pulsante continua e disabilita le ottimizzazioni della batteria."Abilitare la messaggistica cloud per ricevere notifiche. Apri GmsCore GmsCore non è installato. Installarlo. - "DeArrow fornisce thumbnails provenienti da crowdsourcing per i video di YouTube. Questi thumbnails sono spesso più rilevanti di quelle fornite da YouTube. Se attivato, gli URL dei video verranno inviati al server API e non vengono inviati altri dati. + "DeArrow fornisce anteprime provenienti da crowdsourcing per i video di YouTube. Queste anteprime sono spesso più rilevanti di quelle fornite da YouTube. -Tocca qui per saperne di più su DeArrow" - Informazioni su DeArrow - L\'URL dell\'endpoint cache dei thumbnails di DeArrow. Non cambiarlo a meno che tu non sappia cosa stai facendo - DeArrow API endpoint - Notifica toast nascosta se l\'API di DeArrow non è disponibile - Notifica toast visibile se l\'API di DeArrow non è disponibile +Se attivato, gli URL dei video verranno inviati al server API e non vengono inviati altri dati. Se un video non ha un'anteprima DeArrow, vengono mostrate l'anteprime originale o una cattura statica. + +Tocca qui per saperne di più su DeArrow." + DeArrow + L\'URL dell\'endpoint della cache delle anteprime DeArrow. + Endpoint API di DeArrow + Notifica toast nascosta DeArrow non è disponibile. + Notifica toast visibile se DeArrow non è disponibile. Mostra una notifica toast se l\'API non è disponibile - DeArrow temporaneamente non disponibile (%s) - DeArrow temporaneamente non disponibile - Home - Tu - Thumbnails originali - DeArrow & Thumbnails originali - DeArrow & Thumbnails alternativi - Thumbnails alternativi + DeArrow temporaneamente non disponibile. (status code: %s) + DeArrow temporaneamente non disponibile. + Scheda Home + Scheda Tu + Anteprime originali + DeArrow & anteprime originali + DeArrow & catture statiche + Catture statiche Playlist del riproduttore, video consigliati Risultati di ricerca Thumbnails alternativi - I thumbnails alternativi sono presi dall\'inizio, metà o fine di ogni video. Queste immagini sono integrate in YouTube e non viene usato nessun API esterno - Informazioni sui thumbnails alternativi - Ithumbnails alternativi di alta qualità sono attivati - I thumbnails alternativi di media qualità sono attivati. I thumbnails caricheranno più velocemente, ma i video dal vivo, quelli non rilasciati e molto vecchi potrebbero mostrare thumbnails vuoti - Attiva thumbnails alternativi veloci - Inizio video - Metà video - Fine video - Il tempo del video da cui prendere il fotogramma + Le catture statiche sono prese dall\'inizio, da metà o alla fine di ogni video. Queste immagini sono integrate in YouTube e non viene usata nessuna API esterna. + Catture statiche del video + Utilizzando catture statiche di alta qualità. + Utilizzando catture statiche di media qualità. Le anteprime si caricheranno più velocemente, ma i video in tempo reale, i video non ancora rilasciati, o video molto vecchi potrebbero mostrare anteprime bianche. + Attiva catture statiche veloci + Inizio del video + Metà del video + Fine del video + Il punto del video da cui prendere la cattura statica Scheda iscrizioni L\'informazione nel timestamp è nascosto L\'informazione nel timestamp è visibile @@ -62,12 +64,15 @@ Tocca qui per saperne di più su DeArrow" Bypassa le restrizioni della modalità Ambient Il dominio da cui prelevare le immagini.\nNota: Inserisce solo il nome di dominio, cioè senza il prefisso \"https\:\/\/\". Dominio alternativo - Usando l\'host immagine originale.\n\nAbilitando questo si possono correggere le immagini mancanti che sono bloccate in alcune regioni. - Utilizzando host immagine yt4.ggpht.com. - Bypassa restrizioni della regione dell\'immagine + Usando l\'host originale per le immagini.\n\nAbilitando questo si possono correggere le immagini mancanti che sono bloccate in alcune regioni. + Utilizzando l\'host yt4.ggpht.com per le immagini. + Aggira restrizioni regionali delle immagini Vengono utilizzati gli interruttori a levetta. - Vengono utilizzati i commutatori di testo. + Vengono utilizzati gli interruttori con testo. Cambia il tipo d\'interruttore + Schermata di condivisione nativa in utilizzo. + Schermata di condivisione di sistema in utilizzo. + Cambia schermata di condivisione Riproduzione automatica Predefinito Pausa @@ -75,11 +80,11 @@ Tocca qui per saperne di più su DeArrow" Cambia lo stato di ripetizione degli shorts Esplora canali Corsi / Istruzione - Home (predefinita) + Predefinita Esplora Gaming Cronologia - Raccolta (Tu) + Libreria Video piaciuti Diretta Film @@ -91,7 +96,7 @@ Tocca qui per saperne di più su DeArrow" Iscrizioni Tendenze Guarda più tardi - Scheda iniziale non valida, ripristinata al predefinito. + Scheda iniziale non valida, ripristinata al valore predefinito. Cambia la scheda iniziale L\'intestazione generica è abilitata. L\'intestazione Premium è abilitata. @@ -109,7 +114,7 @@ Tocca qui per saperne di più su DeArrow" Velocità di riproduzione personalizzata non valida. Utilizzando i valori predefiniti. È disponibile aggiungere, rimuovere o modificare le velocità di riproduzione Modifica le velocità personalizzate del video - L\'opacità della sovrapposizione del riproduttore deve essere compresa tra 0 e 100, ripristinata al predefinito. + L\'opacità della copertura del riproduttore deve essere compresa tra 0 e 100. Ripristinati i valori predefiniti. Il valore dell\'opacità è compreso tra 0 a 100, dove 0 è trasparente L\'opacità personalizzata della sovrapposizione del riproduttore Digita il codice esadecimale del colore della barra di avanzamento @@ -120,18 +125,18 @@ Tocca qui per saperne di più su DeArrow" Qualità predefinita dei video con connessione dati Qualità predefinita dei video con Wi-Fi Disattiva la modalità Ambient a schermo intero - La modalità Ambient è abilitata a schermo intero. - La modalità Ambient è disabilitata a schermo intero. - Disattiva la modalità Ambient a schermo intero + La modalità Ambient è abilitata nella visione a schermo intero. + La modalità Ambient è disabilitata nella visione a schermo intero. + Disattiva la modalità Ambient nella visione a schermo intero Disattiva sempre la modalità Ambient La modalità Ambient è abilitata. La modalità Ambient è disabilitata. Disattiva la modalità Ambient Le tracce audio automatiche forzate sono abilitate. - Le tracce audio automatiche forzate sono disattivate. + "Le tracce audio automatiche forzate sono disattivate." Disabilita le tracce audio automatiche forzate - I sottotitoli automatici forzati sono attivati - I sottotitoli automatici forzati sono disattivati + I sottotitoli automatici forzati sono attivati. + I sottotitoli automatici forzati sono disattivati. Disattiva i sottotitoli automatici forzati I pannelli popup del riproduttore automatico sono abilitati. I pannelli popup del riproduttore automatico sono disabilitati. @@ -166,9 +171,9 @@ Tocca qui per saperne di più su DeArrow" La modalità orizzontale a schermo intero è attivata La modalità orizzontale a schermo intero è disattivata Disattiva la modalità orizzontale a schermo intero - I pulsanti Mi piace e non mi piace brilleranno quando menzionati. - I pulsanti Mi piace e non mi piace non brilleranno quando menzionati. - Disabilita il bagliore dei pulsanti Mi piace e Non mi piace + I pulsanti Mi piace e Non mi piace brilleranno quando menzionati. + I pulsanti Mi piace e Non mi piace non brilleranno quando menzionati. + Disabilita l\'effetto bagliore dei pulsanti Mi piace e Non mi piace "Disattiva il protocollo QUIC di CronetEngine" Disattiva il protocollo QUIC Il riproduttore Shorts riprenderà all\'avvio dell\'app. @@ -177,13 +182,15 @@ Tocca qui per saperne di più su DeArrow" Le animazioni degli aggiornamenti in tempo reale dei contatori sono attivate Le animazioni degli aggiornamenti in tempo reale dei contatori sono disattivate Disattiva le animazioni degli aggiornamenti in tempo reale dei contatori - "Disattiva il \"2x\" quando tieni premuto. + "Disabilita la funzione '2x>>' tenendo premuto. -Nota: disattivando la sovrapposizione della velocità verrà ripristinato lo \"Scorri la barra di avanzamento\" della vecchia interfaccia" +Nota: +• Disattivando la funzione di sovrimpressione della velocità, si ripristina il comportamento del 'Trascina per scorrere il video' del vecchio layout. +• Disattivando questa impostazione non si abilita forzatamente la sovrimpressione della velocità." Disattiva la sovrapposizione della velocità quando tieni premuto L\'animazione di avvio è abilitata. L\'animazione di avvio è disabilitata. - Disabilita l\'animazione dell\'avvio + Disabilita l\'animazione all\'avvio "Disabilita le seguenti interazioni quando la descrizione del video viene espansa: • Tocca per scorrere. @@ -215,18 +222,18 @@ Effetto collaterale: il tema Cairo viene applicato anche ai punti di notifica."< Il browser esterno è disattivato Il browser esterno è attivato Attiva il browser esterno - La schermata di caricamento gradiente è disattivata - La schermata di caricamento gradiente è attivata + La schermata di caricamento gradiente è disattivata. + La schermata di caricamento gradiente è attivata. Attiva la schermata di caricamento gradiente La spaziatura tra i pulsanti di navigazione è normale. - La spaziatura tra i pulsanti di navigazione è stretta. - Abilita pulsanti di navigazione stretti + La spaziatura tra i pulsanti di navigazione è ristretta. + Abilita pulsanti di navigazione ristretti Segui la regola predefinita di reindirizzamento Bypassa i reindirizzamenti degli URL Attiva l\'apertura diretta dei link Abilita il codec OPUS se la risposta del riproduttore include il codec OPUS. Abilita codec OPUS - Simula un diverso valore DPI per usare alcune parti dell\'interfaccia da telefono + Camuffa i dpi per usare alcune interfacce da telefono. Attiva l\'interfaccia da telefono Non salvare e ripristinare la luminosità quando si esce o si entra a schermo intero. Salva e ripristina la luminosità quando esci o entri a schermo intero. @@ -257,7 +264,7 @@ Problema noto: Poiché questa è una caratteristica nella fase di sviluppo di Go Il trascinamento per modificare il volume è disattivato Il trascinamento per modificare il volume è attivato Attiva il trascinamento per modificare il volume - Simula un diverso valore DPI per usare alcune parti dell\'interfaccia da tablet + Camuffa i dpi per usare alcune interfacce da tablet. Attiva l\'interfaccia da tablet La barra di navigazione è opaca. La barra di navigazione è traslucida. @@ -265,17 +272,17 @@ Problema noto: Poiché questa è una caratteristica nella fase di sviluppo di Go L\'inserimento a schermo intero quando scorri giù sotto il lettore video è disabilitato. L\'inserimento a schermo intero quando scorri giù sotto il lettore video è abilitato. Abilita i gesti del pannello di controllo - "L'attivazione di questa impostazione disattiverà il pulsante Impostazioni nella scheda Tu. + "L'attivazione di questa impostazione disabilita il pulsante Impostazioni nella scheda Tu. -In questo caso, usate il seguente percorso: -Scheda Tu > Visualizza canale > Menù > Impostazioni" +In questo caso, per accedere alle impostazioni, utilizzare il seguente percorso: +Scheda Tu → Visualizza canale → Menu → Impostazioni" Attiva la barra di ricerca estesa nella scheda Tu La barra di ricerca estesa è disattivata La barra di ricerca estesa è attivata Attiva la barra di ricerca estesa - L\'ampia barra di ricerca non include l\'intestazione di YouTube. - L\'ampia barra di ricerca include l\'intestazione di YouTube. - Abilita barra di ricerca larga con intestazione + La barra di ricerca ampia nasconde l\'intestazione di YouTube. + La barra di ricerca ampia include l\'intestazione di YouTube. + Abilita la barra di ricerca larga con intestazione Descrizione "Inserisci il titolo del pannello descrizione video nella tua lingua. 'Espandi descrizione video' potrebbe non funzionare se la stringa inserita non corrisponde al titolo del pannello di descrizione video. " @@ -300,31 +307,31 @@ Scheda Tu > Visualizza canale > Menù > Impostazioni" Importa le impostazioni dal file esportato Importa le impostazioni Ripristina - Cerca nelle impostazioni + Cerca %s ReVanced Extended - Scaricare esterno + Scaricatore esterno Non installato "%1$s non è installato. Si prega di scaricare %2$s dal sito web." Attenzione - %s non è installato. Per favore installalo - Nome del pacchetto dell\'applicazione esterna di downloader installata, come YTDLnis. - Nome pacchetto playlist downloader - Nome del pacchetto dell\'app downloader esterna installata, ad esempio NewPipe o YTDLnis. - Nome pacchetto downloader video + %s non è installato. Per favore installalo. + Nome del pacchetto dello scaricatore esterno installato, come YTDLnis. + Nome del pacchetto dello scaricatore di playlist + Nome del pacchetto dello scaricatore esterno installato, ad esempio NewPipe o YTDLnis. + Nome pacchetto scaricatore video "Il video passerà automaticamente a schermo intero nelle seguenti situazioni: • Toccando su un timestamp nei commenti • Appena il video inizia" Forza lo schermo intero Visualizza la finestra di ottimizzazione per GMSCore a ogni avvio dell\'applicazione. Mostra la finestra di ottimizzazione per GMSCore - Elenco dei nomi dei menu degli account da filtrare, separati da nuove righe. + Elenco di nomi dei menu degli account da filtrare, separati da nuove righe. Modifica il filtro dei menù dell\'account "Nascondi gli elementi del menù dell'account e della scheda Tu. Alcuni componenti potrebbero non essere nascosti" Nascondi i menù dell\'account - Le schede degli album sono visibili - Le schede degli album sono nascoste + Le schede degli album sono visibili. + Le schede degli album sono nascoste. Nascondi le schede degli album Luoghi in evidenza, Giochi e sezioni Musica sono mostrati. Luoghi in evidenza, Giochi e sezioni Musica sono nascosti. @@ -332,123 +339,123 @@ Alcuni componenti potrebbero non essere nascosti" Il contenitore dell\'anteprima della riproduzione automatica è visibile Il contenitore dell\'anteprima della riproduzione automatica è nascosto Nascondi il contenitore dell\'anteprima della riproduzione automatica - Il pulsante Esplora Negozio è visibile - Il pulsante Esplora Negozio è nascosto + Il pulsante Esplora Negozio è visibile. + Il pulsante Esplora Negozio è nascosto. Nascondi il pulsante Esplora Negozio - "Nasconde i seguenti scaffali: + "Nasconde le seguenti sezioni: • Ultime notizie • Continua a guardare • Esplora altri canali • Ascolta di nuovo • Shopping • Guarda di nuovo" - Nascondi scaffale carosello + Nascondi sezione a carosello Mostrato nel feed. Nascosto nel feed. - Nascondi la barra delle categorie nei feed - Mostrato nei video correlati. + Nascondi nel feed + Visibile nei video correlati. Nascosto nei video correlati. Nascondi nei video correlati - Mostrato nei risultati di ricerca. - Nascosto nei risultati di ricerca. + Visibile nei risultati della ricerca. + Nascosto nei risultati della ricerca. Nascondi nei risultati della ricerca Le linee guida del canale sono visibili Le linee guida del canale sono nascoste Nascondi le linee guida del canale - Lo scaffale degli abbonati è visibile - Lo scaffale degli abbonati è nascosto - Nascondi lo scaffale degli abbonati - I link in cima al profilo del canale sono visibili - I link in cima al profilo del canale sono nascosti + La sezione degli abbonati è visibile. + La sezione degli abbonati è nascosta. + Nascondi la sezione degli abbonati + I link in cima al profilo del canale sono visibili. + I link in cima al profilo del canale sono nascosti. Nascondi i link in cima al profilo del canale "Shorts Playlist Negozio" Elenco dei nomi delle schede dei canali da filtrare, separati da nuove righe. - Filtro scheda canale - Il filtro scheda canale è disabilitato. - Il filtro scheda canale è abilitato. - Abilita filtro scheda canale + Filtro sulle schede del canale + Il filtro sulle schede del canale è disabilitato. + Il filtro sulle schede del canale è abilitato. + Abilita filtro sulle schede del canale Il watermark nei video è visibile Il watermark nei video è nascosto Nascondi il watermark nei video Le sezioni dei capitoli sono mostrate. Le sezioni dei capitoli sono nascoste. Nascondi le sezioni capitoli - Lo scaffale dei chip è visibile - Lo scaffale dei chip è nascosto - Nascondi lo scaffale dei chip - Il pulsante clip è mostrato. - Il pulsante clip è nascosto. + La sezione dei chip è visibile. + La sezione dei chip è nascosta. + Nascondi la sezione dei chip + Il pulsante Clip è visibile. + Il pulsante Clip è nascosto. Nascondi il pulsante Clip - Il pulsante Crea shorts è mostrato. + Il pulsante Crea shorts è visibile. Il pulsante Crea Shorts è nascosto. Nascondi il pulsante Crea Short - Il pulsante Grazie è mostrato. + Il pulsante Grazie è visibile. Il pulsante Grazie è nascosto. - Nascondi il pulsante grazie - I pulsanti Timestamp ed emoji sono mostrati. - I pulsanti Timestamp ed emoji sono nascosti. + Nascondi il pulsante Grazie + I pulsanti timestamp ed emoji sono visibili. + I pulsanti timestamp ed emoji sono nascosti. Nascondi i pulsanti timestamp ed emoji - Il banner dei commenti dei membri è visibile - Il banner dei commenti dei membri è nascosto - Nascondi il banner dei commenti dei membri - La sezione dei commenti è mostrata nel feed home. - La sezione Commenti è nascosta nella home feed. - Nascondi la sezione commenti nel feed home + Il banner dei Commenti dei membri è visibile. + Il banner dei Commenti dei membri è nascosto. + Nascondi il banner dei Commenti dei membri + La sezione dei Commenti è mostrata nella home. + La sezione Commenti è nascosta nella home. + Nascondi la sezione Commenti nella home La sezione Commenti è visibile La sezione Commenti è nascosta Nascondi la sezione Commenti - Mostrato nel canale. + Visibile nel canale. Nascosto nel canale. Nascondi nel canale - Mostrato Nella home feed e video correlati. - Nascosto nella home feed e video correlati. - Nascondi nella home feed e video correlati - I post della community nel feed delle iscrizioni sono visibili - I post della community nel feed delle iscrizioni sono nascosti - Nascondi i post della community nel feed delle iscrizioni + Visibile nella home e nei video correlati. + Nascosto nella home e nei video correlati. + Nascondi nella home e nei video correlati + Visibili nel feed delle iscrizioni. + Nascosti nel feed delle iscrizioni. + Nascondi nel feed delle iscrizioni Come è stato fatto questo contenuto la sezione è mostrata. Come questo contenuto è stato fatto sezione è nascosto. Nascondi sezione Contenuti Il riquadro della raccolta fondi è visibile Il riquadro della raccolta fondi è nascosto Nascondi il riquadro della raccolta fondi - Il filtro di sovrapposizione doppio tocco è mostrato. - Il filtro di sovrapposizione a doppio tocco è nascosto. - Nascondi il filtro di sovrapposizione doppio tocco - Il pulsante Scarica è mostrato. + Il filtro di sovrimpressione al doppio tocco è visibile. + Il filtro di sovrimpressione al doppio tocco è nascosto. + Nascondi il filtro di sovrimpressione al doppio tocco + Il pulsante Scarica è visibile. Il pulsante Scarica è nascosto. Nascondi il pulsante Scarica Le schede finali sono visibili Le schede finali sono nascoste Nascondi le schede finali - Il chip espandibile è visibile - Il chip espandibile è nascosto - Nascondi il chip espandibile + Il chip espandibile è visibile. + Il chip espandibile è nascosto. + Nascondi il chip espandibile sotto i video Il pulsante Sottotitoli è mostrato. Il pulsante Sottotitoli è nascosto. - Nascondi il Pulsante dei sottotitoli del feed + Nascondi il pulsante dei sottotitoli nel feed Elenco dei nomi dei menu a comparsa da filtrare, separati da nuove righe. - Filtro del feed menu a comparsa - Il filtro del feed menu a comparsa è disabilitato. - Il filtro del feed menu a comparsa è abilitato. - Abilita il filtro del feed menu a comparsa - La barra di ricerca del feed è mostrata + Filtro sul menu a comparsa del feed + Il filtro sul menu a comparsa del feed è disabilitato. + Il filtro sul menu a comparsa del feed è abilitato. + Abilita il filtro sul menu a comparsa del feed + La barra di ricerca del feed è visibile. La barra di ricerca nel feed è nascosta. - Nascondi barra di ricerca nel feed - I sondaggi nei feed sono visibili - I sondaggi nei feed sono nascosti - Nascondi i sondaggi nei feed + Nascondi la barra di ricerca nel feed + I sondaggi nel feed sono visibili. + I sondaggi nel feed sono nascosti. + Nascondi i sondaggi nel feed La sovrapposizione della pellicola è visibile La sovrapposizione della pellicola è nascosta Nascondi la sovrapposizione della pellicola - Il pulsante fluttuante del microfono è visibile - Il pulsante fluttuante del microfono è nascosto + Il pulsante fluttuante del microfono è visibile. + Il pulsante fluttuante del microfono è nascosto. Nascondi il pulsante fluttuante del microfono - Lo scaffale Per Te è visibile - Lo scaffale Per Te è nascosto - Nascondi lo scaffale Per Te + La sezione Per Te è visibile. + La sezione Per Te è nascosta. + Nascondi la sezione Per Te Gli annunci a schermo intero sono stati bloccati. (DialogType: %s) Gli annunci a schermo intero sono stati chiusi. Gli annunci a schermo intero sono visibili. @@ -456,27 +463,27 @@ Negozio" Nascondi gli annunci a schermo intero "Gli annunci a schermo intero sono bloccati. -Limitazione: l'immagine dei post della community a schermo intero potrebbe essere bloccata." +Limitazione: Le immagini dei post della community a schermo intero potrebbero essere bloccate." Gli annunci a schermo intero sono chiusi tramite il pulsante Chiudi. Chiudi gli annunci a schermo intero - Gli annunci generali sono visibili - Gli annunci generali sono nascosti + Gli annunci generali sono visibili. + Gli annunci generali sono nascosti. Nascondi gli annunci generali - La promozione di YouTube Premium è visibile - La promozione di YouTube Premium è nascosta + La promozione di YouTube Premium è visibile. + La promozione di YouTube Premium è nascosta. Nascondi la promozione di YouTube Premium - I separatori grigi sono visibili - I separatori grigi sono nascosti + I separatori grigi sono visibili. + I separatori grigi sono nascosti. Nascondi i separatori grigi L\'handle è visibile L\'handle è nascosto Nascondi l\'handle - Il pulsante di ricerca immagine è mostrato. + Il pulsante di ricerca immagine è visibile. Il pulsante di ricerca immagine è nascosto. Nascondi il pulsante di ricerca immagine - Lo scaffale delle immagini è visibile - Lo scaffale delle immagini è nascosto - Nascondi lo scaffale delle immagini + Le sezioni delle immagini sono visibili. + Le sezioni delle immagini sono nascoste. + Nascondi le sezioni delle immagini La sezione Schede Informative è visibile La sezione Schede Informative è nascosta Nascondi la sezione Schede Informative @@ -492,89 +499,93 @@ Limitazione: l'immagine dei post della community a schermo intero potrebbe esser La sezione dei concetti chiave è mostrata. La sezione dei concetti chiave è nascosta. Nascondi sezione concetti chiave - "I risultati di Home, Iscrizioni e Cerca vengono filtrati per nascondere i contenuti che corrispondono alle parole chiave. + "Home / Iscrizioni / I risultati della ricerca vengono filtrati per nascondere i contenuti che soddisfano le frasi delle parole chiave. -Problemi noti: -• Alcuni Short potrebbero non essere nascosti -• Alcuni componenti dell'interfaccia potrebbero non essere nascosti -• La ricerca di una parola chiave potrebbe non mostrare risultati" - Informazioni sul filtro delle parole chiave +Limitazioni: +- Alcuni Short potrebbero non essere nascosti. +- Alcuni componenti della interfaccia utente potrebbero non essere nascosti. +- La ricerca di una parola chiave potrebbe non mostrare alcun risultato." + Informazioni sul filtro per parole chiave + Circondare una parola chiave/frase con doppie virgolette impedirà partite parziali di titoli video e nomi di canale.<br><br>Ad esempio,<br><b>\"ai\"</b> nasconderà il video: <b>Come funziona l\'intelligenza artificiale?</b><br>ma non si nasconde: <b>Cosa significa un uso equo?</b> + Abbina parole intere I commenti non sono filtrati. I commenti sono filtrati. Nascondi commenti per parole chiave Ricerca la parola completa - I video della scheda Home non sono nascosti tramite parole chiave - I video della scheda Home sono nascosti tramite parole chiave - Nascondi i video della scheda Home tramite parole chiave - "Configura le parole chiave e le frasi da nascondere separate da nuove righe. - -Le parole con lettere maiuscole al centro devono essere inserite con il maiuscolo (es: iPhone, TikTok, LeBlanc)" - Modifica il filtro delle parole chiave - I video dei risultati di ricerca non sono nascosti tramite parole chiave - I video dei risultati di ricerca sono nascosti tramite parole chiave - Nascondi i video dei risultati di ricerca tramite parole chiave - I video della scheda Iscrizioni non sono nascosti tramite parole chiave - I video della scheda Iscrizioni sono nascosti tramite parole chiave - Nascondi i video della scheda Iscrizioni tramite parole chiave + I video della scheda Home non sono filtrati per parole chiave. + I video della scheda Home sono filtrati tramite parole chiave. + Nascondi i video della scheda Home per parole chiave + "Parole chiave e frasi da nascondere, separate da nuove righe. +Parole con lettere maiuscole all'interno devono essere inserite con il maiuscolo (es: iPhone, TikTok, LeBlanc)." + Parole chiave da nascondere + I risultati di ricerca non sono filtrati per parole chiave. + I risultati di ricerca sono filtrati per parole chiave. + Nascondi i risultati di ricerca per parole chiave + I video della scheda iscrizioni non sono filtrati. + I video della scheda iscrizioni sono filtrati. + Nascondi i video della scheda iscrizioni per parole chiave La parola chiave \'%1$s\' nasconderà tutti i video. - Parola chiave non valida, non è possibile usare \'%s\' come filtro - I post più recenti sono visibili - I post più recenti sono nascosti + Parola chiave non valida. Non è possibile usare: \'%s\' come filtro + Aggiungi virgolette da usare parola chiave: %s. + La parola chiave ha dichiarazioni in conflitto: %s. + Parola chiave troppo corta e richiede le virgolette: %s. + I post più recenti sono visibili. + I post più recenti sono nascosti. Nascondi i post più recenti - Il pulsante Video Più Recenti è visibile - Il pulsante Video Più Recenti è nascosto + Il pulsante Video Più Recenti è visibile. + Il pulsante Video Più Recenti è nascosto. Nascondi il pulsante Video Più Recenti - I pulsanti Mi Piace e Non Mi Piace sono mostrati. + I pulsanti Mi Piace e Non Mi Piace sono visibili. I pulsanti Mi Piace e Non Mi Piace sono nascosti. Nascondi i pulsanti Mi Piace e Non Mi Piace - I messaggi chat dal vivo sono mostrate.\n\nQuesta impostazione si applica anche alle Short dal vivo. - I messaggi chat dal vivo sono nascosti.\n\nQuesta impostazione si applica anche alle Short dal vivo. - Nascondi messaggi della chat dal vivo + I messaggi della chat dal vivo sono visibili.\n\nQuesta impostazione si applica anche agli Short dal vivo. + I messaggi della chat dal vivo sono nascosti.\n\nQuesta impostazione si applica anche agli Short dal vivo. + Nascondi i messaggi della chat dal vivo Il pulsante Replay della Chat dal vivo è mostrato.\n\nApparirà a schermo intero quando si chiude la chat dal vivo. Il pulsante Replay della Chat dal vivo è nascosto.\n\nApparirà a schermo intero quando si chiude la chat dal vivo. Nascondi il pulsante replay della chat dal vivo I pannelli medici sono visibili I pannelli medici sono nascosti Nascondi i pannelli medici - Lo scaffale del merchandising è visibile - Lo scaffale del merchandising è nascosto - Nascondi lo scaffale del merchandising - Le Mix Playlist sono visibili - Le Mix Playlist sono nascoste - Nascondi le Mix Playlist - Lo scaffale dei film è visibile - Lo scaffale dei film è nascosto - Nascondi lo scaffale dei film - Il pulsante Crea è mostrato. - Il pulsante crea è nascosto. - Nascondi il pulsante crea - Il pulsante Home è mostrato. + Le sezioni del merchandising sono visibili. + Le sezioni del merchandising sono nascoste. + Nascondi le sezioni del merchandising + Le playlist mix sono visibili. + Le playlist mix sono nascoste. + Nascondi le playlist mix + La sezione dei film è visibile. + La sezione dei film è nascosta. + Nascondi la sezione dei film + Il pulsante Crea è visibile. + Il pulsante Crea è nascosto. + Nascondi il pulsante Crea + Il pulsante Home è visibile. Il pulsante Home è nascosto. - Nascondi pulsante Home - Le etichette della barra di navigazione sono visibili - Le etichette della barra di navigazione sono nascoste + Nascondi il pulsante Home + Le etichette della barra di navigazione sono visibili. + Le etichette della barra di navigazione sono nascoste. Nascondi le etichette della barra di navigazione - Il pulsante Libreria è mostrato. + Il pulsante Libreria è visibile. Il pulsante Libreria è nascosto. - Nascondi pulsante libreria - Il pulsante Notifiche è mostrato. - Il pulsante Notifiche è nascosto. - Nascondi pulsante notifiche - Il pulsante Shorts è mostrato. + Nascondi il pulsante Libreria + Il pulsante notifiche è visibile. + Il pulsante notifiche è nascosto. + Nascondi il pulsante notifiche + Il pulsante Shorts è visibile. Il pulsante Shorts è nascosto. Nascondi il pulsante Shorts - Il pulsante d\'iscrizione è mostrato. - Il pulsante iscrizioni è nascosto. + Il pulsante Iscrizioni è visibile. + Il pulsante Iscrizioni è nascosto. Nascondi la pagina Iscrizioni - Il pulsante Avvisami nei feed è visibile - Il pulsante Avvisami nei feed è nascosto - Nascondi il pulsante Avvisami nei feed + Il pulsante Avvisami è visibile. + Il pulsante Avvisami è nascosto. + Nascondi il pulsante Avvisami L\'etichetta della promozione a pagamento è visibile. L\'etichetta della promozione a pagamento è nascosta. Nascondi l\'etichetta della promozione a pagamento - I giocabili sono mostrati. - I giocabili sono nascosti. - Nascondi riproducibili + I Giochi Interattivi sono visibili. + I Giochi Interattivi sono nascosti. + Nascondi Giochi Interattivi Il pulsante Riproduzione Automatica è mostrato. Il pulsante Riproduzione Automatica è nascosto. Nascondi il pulsante Riproduzione Automatica @@ -587,54 +598,51 @@ Le parole con lettere maiuscole al centro devono essere inserite con il maiuscol Il pulsante Comprimi è mostrato. Il pulsante Comprimi è nascosto. Nascondi il pulsante Comprimi - Il menu Modalità Ambiente è mostrato. - Il menu Modalità Ambiente è nascosto. - Nascondi il menu Modalità Ambiente - Il menu traccia audio è mostrato. - Il menu Traccia Audio è nascosto. - Nascondi il menu traccia audio - La parte inferiore del menu Sottotitoli è mostrato. + Il menu Traccia audio è visibile. + Il menu Traccia audio è nascosto. + Nascondi il menu Traccia audio + La parte inferiore del menu Sottotitoli è visibile. La parte inferiore del menu Sottotitoli è nascosta. Nascondi la parte inferiore del menu Sottotitoli Il menu Sottotitoli è visibile. Il menu Sottotitoli è nascosto. Nascondi il menu Sottotitoli - Aiuto & menu di feedback è mostrato. - Aiuto & menu di feedback è nascosto. - Nascondi menu aiuto & feedback - Il menu Ascolta con YouTube Music è mostrato. + Il menu Guida & feedback è visibile. + Il menu Guida & feedback è nascosto. + Nascondi menu Guida & feedback + Il menu Ascolta con YouTube Music è visibile. Il menu Ascolta con YouTube Music è nascosto. Nascondi il menu Ascolta con YouTube Music - Il menu della schermata di blocco è mostrato. + Il menù Blocca Schermo è visibile. Il menu Blocca Schermo è nascosto. Nascondi il menu Blocca Schermo - Il menu Loop del Video è mostrato. - Il menu Loop del Video è nascosto. - Nascondi il menu Loop del Video - Menu più informazioni è mostrato. - Menu più informazioni è nascosto. - Nascondi menu più informazioni - Il menu picture-in-picture è mostrato. - Il menu picture-in-picture è nascosto. - Nascondi il menu picture-in-picture - Il menu della velocità di riproduzione è mostrato. + Il menu Loop del video è visibile. + Il menu Loop del video è nascosto. + Nascondi il menu Loop del video + Il menu Più informazioni è visibile. + Il menu Più informazioni è nascosto. + Nascondi menu Più informazioni + Il menu Picture-in-picture è visibile. + Il menu Picture-in-picture è nascosto. + Nascondi il menu Picture-in-picture + Il menu della velocità di riproduzione è visibile. Il menu della Velocità di Riproduzione è nascosto. Nascondi il menu della Velocità di Riproduzione - Il menu Controlli premium è mostrato. + Il menu Controlli premium è visibile. Il menu Controlli premium è nascosto. - Nascondi menu controlli premium - La parte inferiore del menu Qualità è mostrato. - La parte inferiore del menu Qualità è nascosta. - Nascondi la parte inferiore del menu Qualità - L\'intestazione del menu di qualità è mostrata. - L\'intestazione del menu di qualità è nascosta. - Nascondi intestazione menu qualità - Il menu Segnala è mostrato. + Nascondi menu Controlli premium + La parte inferiore del menu qualità è visibile. + La parte inferiore del menu qualità è nascosta. + Nascondi la parte inferiore del menu qualità + L\'intestazione del menu qualità è visibile. + L\'intestazione del menu qualità è nascosta. + Nascondi l\'intestazione del menu qualità + Il menu Segnala è visibile. Il menu Segnala è nascosto. Nascondi il menu Segnala - Il menu Volume Stabile è mostrato. - Il menu Volume Stabile è nascosto. - Nascondi il menu Volume Stabile + Il menu Volume stabile è visibile. + Il menu Volume stabile è nascosto. + Nascondi il menu Volume stabile Il menu Statistiche per Nerd è mostrato. Il menu Statistiche per Nerd è nascosto. Nascondi il menu Statistiche per Nerd @@ -650,17 +658,17 @@ Le parole con lettere maiuscole al centro devono essere inserite con il maiuscol Il pulsante YouTube Music è mostrato. Il pulsante YouTube Music è nascosto. Nascondi il pulsante YouTube Music - Il pulsante Salva in una Playlist è mostrato. - Il pulsante Salva in una Playlist è nascosto. - Nascondi il pulsante Salva in una Playlist + Il pulsante Salva è visibile. + Il pulsante Salva è nascosto. + Nascondi il pulsante Salva La sezione Podcast è visibile La sezione Podcast è nascosta Nascondi la sezione Podcast Il commento di anteprima è visibile Il commento di anteprima è nascosto Nascondi il commento di anteprima - Questo cambia la dimensione della sezione Commenti, quindi è impossibile aprire \"Riproduzione Chat dal Vivo\" - Questo non cambia la dimensione della sezione Commenti, quindi è possibile aprire \"Riproduzione Chat dal Vivo\" + Questo cambia la dimensione della sezione Commenti, quindi è impossibile aprire \"Riproduci Chat dal Vivo\". + Questo non cambia la dimensione della sezione Commenti, quindi è possibile aprire \"Riproduci Chat dal Vivo\". Nascondi il tipo di commento di anteprima Il pulsante Commenti è mostrato. Il pulsante Commenti è nascosto. @@ -694,25 +702,24 @@ Le parole con lettere maiuscole al centro devono essere inserite con il maiuscol Nascondi il contenitore delle azioni rapide "Nasconde i seguenti video consigliati: -• Video con tag 'Solo per l'iscrizione'. -• Video con frasi come 'Persone guardano anche' sotto. -• Video caricati da canali non iscritti che hanno meno di 1.000 visualizzazioni." +• Video con tag 'Solo per membri'. +• Video con frasi come 'Persone guardano anche' sotto." Nascondi video consigliati La sezione \'Più video\' nel contenitore delle azioni rapide e la sovrapposizione video correlato sono mostrate. La sezione \'Più video\' nel contenitore delle azioni rapide e la sovrapposizione video correlato sono nascoste. Nascondi sovrapposizione video correlato - Il pulsante Remix è mostrato. + Il pulsante Remix è visibile. Il pulsante Remix è nascosto. Nascondi il pulsante Remix - Il pulsante Segnala è mostrato. + Il pulsante Segnala è visibile. Il pulsante Segnala è nascosto. Nascondi il pulsante Segnala - Il pulsante Ricompense è mostrato. + Il pulsante Ricompense è visibile. Il pulsante Ricompense è nascosto. - Nascondi pulsante ricompense + Nascondi pulsante Ricompense I thumbnails nella cronologia delle ricerche sono visibili I thumbnails nella cronologia delle ricerche sono nascosti - Nascondi i thumbnails nella cronologia delle ricerche + Nascondi il anteprime nella cronologia delle ricerche Il messaggio di scorrimento è visibile Il messaggio di scorrimento è nascosto Nascondi il messaggio di scorrimento @@ -728,20 +735,20 @@ Le parole con lettere maiuscole al centro devono essere inserite con il maiuscol La barra di avanzamento nel thumbnail dei video è nascosta Nascondi la barra di avanzamento nel thumbnail dei video Nascondi la barra di avanzamento - Le schede autopromozionali sono visibili - Le schede autopromozionali sono nascoste - Nascondi le schede autopromozionali + Le schede auto promozionali sono visibili. + Le schede auto promozionali sono nascoste. + Nascondi le schede auto promozionali "Account Risparmio dati Sottotitoli" Elenco dei nomi dei menu delle impostazioni di YouTube da filtrare, separati da nuove righe. - Filtro menu impostazioni di YouTube + Filtro sul menu delle impostazioni di YouTube Nascondi elementi nel menu delle impostazioni di YouTube. Nascondi menu impostazioni di YouTube - Il pulsante Condividi è mostrato. + Il pulsante Condividi è visibile. Il pulsante Condividi è nascosto. Nascondi il pulsante Condividi - Il pulsante negozio è mostrato. + Il pulsante Negozio è visibile. Il pulsante Negozio è nascosto. Nascondi il pulsante Negozio La sezione Prodotti è visibile @@ -774,9 +781,6 @@ Sottotitoli" L\'intestazione della Chat dal vivo è mostrata.\n\nIl pulsante Indietro nell\'intestazione non verrà nascosto. L\'intestazione della Chat dal vivo è nascosta.\n\nIl pulsante Indietro nell\'intestazione non verrà nascosto. Nascondi intestazione chat dal vivo - L\'etichetta posizione è mostrata. - L\'etichetta posizione è nascosta. - Nascondi etichetta posizione La barra di navigazione è mostrata. La barra di navigazione è nascosta. Nascondi la barra di navigazione @@ -798,9 +802,6 @@ Sottotitoli" Il pulsante Salva suono nella playlist è mostrato. Il pulsante Salva suono nella playlist è nascosto. Nascondi il pulsante Salva suono nella playlist - I suggerimenti della ricerca sono mostrati. - I suggerimenti della ricerca sono nascosti. - Nascondi suggerimenti di ricerca Il pulsante condividi è mostrato. Il pulsante Condividi è nascosto. Nascondi il pulsante Condividi @@ -839,23 +840,26 @@ Sottotitoli" La barra degli strumenti è mostrata. La barra degli strumenti è nascosta. Nascondi la barra degli strumenti + Usa il pulsante sonoro è mostrato. + Usa il pulsante sonoro è nascosto. + Nascondi Usa questo pulsante sonoro Il titolo è mostrato. Il titolo è nascosto. Nascondi il titolo del video - Il pulsante \'Mostra di più\' è mostrato. - Il tasto \'mostra altro\' è nascosto - Nascondi il pulsante \'Mostra di più\' - Le notifiche snackbar sono visibili - Le notifiche snackbar sono nascoste - Nascondi le notifiche snackbar + Il pulsante Mostra di più è visibile. + Il tasto Mostra di più è nascosto. + Nascondi il pulsante Mostra di più + La snack bar è visibile. + La snack bar è nascosta. + Nascondi la snack bar Il pulsante Avvia Prova è visibile Il pulsante Avvia Prova è nascosto Nascondi il pulsante Avvia Prova - Il casello delle iscrizioni è mostrato. - Il casello delle iscrizioni è nascosto. + Il carosello delle iscrizioni è visibile. + Il carosello delle iscrizioni è nascosto. Nascondi il carosello delle iscrizioni - Le azioni consigliate sono visibili - Le azioni consigliate sono nascoste + Le azioni consigliate sono visibili. + Le azioni consigliate sono nascoste. Nascondi le azioni consigliate "This setting has been deprecated. @@ -863,66 +867,66 @@ Instead, use the 'Settings → Autoplay → Autoplay next video' setting. Note: • If you have any issues with 'Suggested video end screen', try restarting the app." - Il video suggerito della schermata finale è mostrato. - "Il video suggerito della schermata finale è nascosta quando la riproduzione automatica è disattivata. + Il video suggerito della schermata finale è visibile. + "Il video suggerito della schermata finale è nascosto quando la riproduzione automatica è disattivata. -La riproduzione automatica può essere modificato nelle impostazioni di YouTube: -'Impostazioni → riproduzione automatica→ riproduzione automatica del video successivo'" +La riproduzione automatica può essere modificata nelle impostazioni di YouTube: +Impostazioni → Riproduzione automatica → Riproduzione automatica del video successivo" Nascondi il video suggerito della schermata finale - Il pulsante Grazie è mostrato. + Il pulsante Grazie è visibile. Il pulsante Grazie è nascosto. - Nascondi pulsante grazie - Lo scaffale degli eventi è visibile - Lo scaffale degli eventi è nascosto - Nascondi lo scaffale degli eventi + Nascondi pulsante Grazie + La sezione degli eventi è visibile. + La sezione degli eventi è nascosta. + Nascondi la sezione degli eventi Il timestamp è visibile Il timestamp è nascosto Nascondi il timestamp Le reazioni temporizzate sono visibili Le reazioni temporizzate sono nascoste Nascondi le reazioni temporizzate - Il pulsante trasmetti è mostrato. - Il pulsante trasmetti è nascosto. - Nascondi il pulsante trasmetti - Il pulsante Crea è mostrato. - Il pulsante crea è nascosto. - Nascondi il pulsante crea - Il pulsante notifica è mostrato. - Il pulsante notifica è nascosto. - Nascondi il pulsante notifica + Il pulsante Trasmetti è mostrato. + Il pulsante Trasmetti è nascosto. + Nascondi il pulsante Trasmetti + Il pulsante Crea è visibile. + Il pulsante Crea è nascosto. + Nascondi il pulsante Crea + Il pulsante di Notifiche è visibile. + Il pulsante di Notifiche è nascosto. + Nascondi il pulsante di Notifiche La sezione Trascrizione è visibile La sezione Trascrizione è nascosta Nascondi la sezione Trascrizione - Gli annunci video sono visibili - Gli annunci video sono nascosti + Gli annunci video sono visibili. + Gli annunci video sono nascosti. Nascondi gli annunci video I video con durata superiore a questo numero saranno nascosti. Più lungo della durata I video con durata inferiore a questo numero saranno nascosti. Più breve della durata - Nasconde i video con più breve o più lunga durata.\n\nProblema noto: Non nasconderà i video nei video relativi al riproduttore ma nasconderà il timestamp. - Nasconde i video in base alla durata - Nascondi i video consigliati con meno di un numero specificato di visualizzazioni. - Nascondi i video consigliati per le visualizzazioni - I video con visualizzazioni maggiori di questo numero saranno nascoste. + Nasconde i video con più breve o più lunga durata.\n\nProblema noto: Non nasconderà i video nella sezione di video correlati, nella pagina di riproduzione dei video; invece ne nasconderà solo il timestamp. + Nasconde i video in base alla loro durata + Nascondi i video consigliati con meno di un numero specifico di visualizzazioni.\n\nProblema noto: I video con 0 visualizzazioni non vengono filtrati. + Nascondi i video consigliati per il numero di visualizzazioni + I video con più visualizzazioni di questo numero saranno nascosti. Maggiore delle visualizzazioni - I video con viste inferiori a questo numero saranno nascosti. + I video con meno visualizzazioni di questo numero saranno nascosti. Meno delle visualizzazioni K -> 1 000\nM -> 1 000 000\nB -> 1 000 000 000\nvisualizzazioni -> visualizzazioni - Specifica il tuo modello di lingua per il numero di visualizzazioni mostrate sotto ogni video nell\'interfaccia utente. Ogni chiave (una lettera/parola nella tua lingua) -> valore (significato della chiave) deve essere su una nuova riga. Le chiavi vanno prima del segno \"->\". Se cambi l\'app o la lingua di sistema, devi reimpostare questa impostazione.\n\nEsempi:\nEnglish: 10K views = K -> 1000, views -> views\nSpanish: 10 K vistas = K -> 1000, vistas -> visualizzazioni + Specifica il tuo modello linguistico per il numero di visualizzazioni mostrate sotto ogni video nell\'interfaccia utente. Ogni chiave (una lettera/parola nella tua lingua) -> valore (significato della chiave) deve essere su una nuova riga. Le chiavi vanno prima del segno \"->\". Se cambi la lingua dell\'app o di sistema, devi reimpostare questa impostazione.\n\nEsempi:\nInglese: 10K views = K -> 1000, views -> visualizzazioni\nSpagnolo: 10 K vistas = K -> 1000, vistas -> visualizzazioni Visualizza chiavi - Il banner dei prodotti è visibile - Il banner dei prodotti è nascosto + Il banner dei prodotti è visibile. + Il banner dei prodotti è nascosto. Nascondi il banner dei prodotti - Il pulsante di ricerca vocale è mostrato. + Il pulsante di ricerca vocale è visibile. Il pulsante di ricerca vocale è nascosto. Nascondi pulsante di ricerca vocale - I risultati di ricerca del web sono visibili - I risultati di ricerca del web sono nascosti + I risultati di ricerca del web sono visibili. + I risultati di ricerca del web sono nascosti. Nascondi i risultati di ricerca del web - La sovrapposizione zoom è mostrata. - La sovrapposizione zoom è nascosta. - Nascondi sovrapposizione zoom + La sovrimpressione dello zoom è visibile. + La sovrimpressione dello zoom è nascosta. + Nascondi sovrimpressione dello zoom Afn Blu Afn Rosso Personalizzato @@ -948,31 +952,31 @@ Problema noto: potrebbe rompere la funzione Picture-in-Picture Azione a doppio tocco è disabilitata. "L'azione a doppio tocco è abilitata. -• Moderno 1: Doppio tocco per cambiare il video minimizzato a una dimensione maggiore. -• Moderno 2, 3: Doppio tocco per chiudere il video minimizzato." - Azione doppio tocco - Trascinamento e rilascio è disabilitato. - Trascinamento e rilascio è abilitato. - Abilita trascinamento e rilascio +• Toccare due volte per aumentare la dimensione del video minimizzato. +• Toccare nuovamente due volte per ripristinare la dimensione originale." + Abilita azione al doppio tocco + Il trascinamento e rilascio è disabilitato. + Il trascinamento e rilascio è abilitato. + Abilita il trascinamento e rilascio I pulsanti Espandi e chiudi sono mostrati. - I pulsanti sono nascosti.\n(fai scorrere il mini riproduttore per espandere o chiudere) + I pulsanti sono nascosti.\n(fai scorrere il riproduttore minimizzato per espandere o chiudere) Nascondi i pulsanti espandi e chiudi - Salta avanti e indietro sono mostrati. - Salta avanti e indietro sono nascosti. - Nascondi i pulsanti salta avanti e indietro - I sottotitoli sono mostrati. - I sottotitoli sono nascosti. - Nascondi sottotitoli - L\'opacità della sovrapposizione del Mini riproduttore deve essere compresa tra 0-100. Reimposta ai valori predefiniti. - Il valore dell\'opacità è compreso tra 0 a 100, dove 0 è trasparente. - Opacità di sovrapposizione + Salta avanti e salta indietro sono mostrati. + Salta avanti e salta indietro sono nascosti. + Nascondi i pulsanti salta avanti e salta indietro + I sottotesti sono mostrati. + I sottotesti sono nascosti. + Nascondi i sottotesti + L\'opacità della copertura del riproduttore minimizzato deve essere compresa tra 0 e 100. Reimpostati i valori predefiniti. + Il valore dell\'opacità è compreso tra 0 e 100, dove 0 è trasparente. + Opacità della copertura Originale Telefono Tablet Moderno 1 Moderno 2 Moderno 3 - Tipo di Mini riproduttore + Tipologia del riproduttore minimizzato Pulsanti in sovrapposizione "Tocca per attivare le ripetizioni dei video. Tocca e tieni premuto per attivare la pausa dopo le ripetizione" @@ -999,11 +1003,11 @@ Tocca e tieni premuto per annullare." \"Tocca per aprire la finestra della whitelist. Tocca e tieni premuto per aprire la finestra delle impostazioni della whitelist. Mostra il pulsante whitelist - Il pulsante nativo di download della playlist apre il nativo in-app downloader. - Il pulsante nativo di download della playlist apre il tuo downloader esterno. - Sovrascrivi il pulsante download playlist - Il pulsante nativo di download video apre il nativo in-app downloader. - Il pulsante nativo per il download video apre il tuo downloader esterno. + Il pulsante nativo per scaricare una playlist apre lo scaricatore nativo. + Il pulsante nativo per scaricare una playlist apre il tuo scaricatore esterno. + Sovrascrivi il pulsante per scaricare una playlist + Il pulsante nativo per scaricare il video apre lo scaricatore nativo. + Il pulsante nativo per scaricare il video apre il tuo scaricatore esterno. Sovrascrivi il pulsante di download video Escluso Incluso @@ -1011,34 +1015,32 @@ Tocca e tieni premuto per aprire la finestra delle impostazioni della whitelist. Pulsanti azione Impostazioni aggiuntive Animazione / Feedback - Filtro durata + Filtro sulla durata Opzioni sperimentali - Restrizioni della regione dell\'immagine + Restrizioni regionali delle immagini Importa / Esporta come file Importa / Esporta come testo - Filtro parola chiave + Filtro per parola chiave Altri Pulsanti in sovrapposizione Informazioni patch Azioni rapide Video consigliati Scaffali Shorts - Informazioni - Opzioni client Spoof Strumenti utilizzati - Filtro Conteggio visualizzazioni + Filtro sul numero di visualizzazioni Nascondi o mostra gli elementi nel menu account e nella scheda Tu. Menù account Nascondi o mostra i pulsanti di azione sotto i video. Pulsanti azione Annunci - Thumbnail alternative - Disabilita la modalità Ambiente o Bypassa le restrizioni della modalità Ambiente. - Modalità ambiente + Anteprime alternative + Disabilita la modalità Ambient o bypassa le restrizioni della modalità Ambient. + Modalità Ambient Nascondi o mostra la barra delle categorie nel feed, nella ricerca e nei video correlati. Barra delle categorie Nascondi o mostra i componenti della barra dei canali sotto i video. - Barra canale + Barra del canale Nascondi o mostra i componenti nel profilo del canale. Profilo del canale Nascondi o mostra i componenti della sezione commenti. @@ -1058,14 +1060,14 @@ Tocca e tieni premuto per aprire la finestra delle impostazioni della whitelist. Importa o esporta le impostazioni. Importa / Esporta impostazioni Cambia lo stile del riproduttore minimizzato nell\'app. - Mini riproduttore + Riproduttore minimizzato Varie Nascondi o mostra i componenti della sezione della barra di navigazione. Pulsanti di navigazione Informazioni sulle patch applicate. Informazioni patch Nascondi o mostra i pulsanti nel riproduttore video. - Pulsanti del Riproduttore + Pulsanti del riproduttore Nascondi o cambia i componenti del menu a comparsa nel riproduttore video. Menu a comparsa Riproduttore @@ -1078,15 +1080,15 @@ Tocca e tieni premuto per aprire la finestra delle impostazioni della whitelist. Nascondi o mostra i componenti nel produttore Shorts. Riproduttore Shorts Shorts - Spoof il client per prevenire problemi di riproduzione. - Spoof client + Camuffa il data streaming per prevenire problemi di riproduzione. + Camuffa data streaming Controlli a scorrimento Nascondi o cambia i componenti situati sulla barra degli strumenti, come la barra di ricerca, i pulsanti della barra degli strumenti, e l\'intestazione. Barra degli strumenti Nascondi o mostra i componenti della descrizione del video. Descrizione del video Nascondi video per parole chiave o visualizzazioni. - Filtro video + Filtro sui video Video Cambia le impostazioni relative alla cronologia. Cronologia @@ -1100,15 +1102,22 @@ Verrà applicato un codec diverso dopo circa 20 secondi di buffering." Le modifiche della velocità di riproduzione si applicano solo al video corrente. Le modifiche della velocità di riproduzione si applicano a tutti i video. Ricorda le modifiche della velocità di riproduzione + Un toast non verrà mostrato quando si cambia la velocità di riproduzione predefinita. + Un toast verrà mostrato quando si cambia la velocità di riproduzione predefinita. + Mostra un toast Cambiando la velocità predefinita a %s. I cambiamenti di qualità si applicano solo al video corrente. I cambiamenti di qualità si applicano a tutti i video. Ricorda i cambiamenti di qualità video + Un toast non verrà mostrato quando si cambia la qualità video predefinita. + Un toast verrà mostrato quando si cambia la velocità di riproduzione predefinita. + Mostra un toast Cambiando la qualità predefinita con connessione dati a %s. Impossibile impostare la qualità video. Cambiare la qualità Wi-Fi predefinita in %s. - "Questo non bypassa la restrizione di età, ma lo accetta automaticamente" - Nascondi la finestra di discrezione del visualizzatore + "Rimuove la finestra di discrezione del visualizzatore. +Questo non aggira la restrizione di età. La accetta solamente in automatico." + Rimuovi la finestra di discrezione del visualizzatore Sostituisce il codec software AV1 con il codec VP9. Sostituire il codec AV1 software Il manico del canale è usato. @@ -1117,11 +1126,11 @@ Verrà applicato un codec diverso dopo circa 20 secondi di buffering." Tocca per mostrare il tempo restante. Tocca per aprire la velocità di riproduzione o il menu a comparsa di qualità video. Sostituire l\'azione timestamp - Sostituisce il pulsante crea con il pulsante impostazioni. - Sostituisci il pulsante crea + Sostituisce il pulsante Crea con il pulsante Impostazioni. + Sostituisci il pulsante Crea "Tocca per aprire le impostazioni di YouTube. -Tocca e tieni premuto per aprire le impostazioni RVX." - "Tocca per aprire le impostazioni RVX. +Tocca e tieni premuto per aprire le impostazioni di RVX." + "Tocca per aprire le impostazioni di RVX. Tocca e tieni premuto per aprire le impostazioni di YouTube." Tipo di azione da assegnare al pulsante Le miniature della barra di avanzamento appariranno a schermo intero. @@ -1193,6 +1202,7 @@ Limitazione: Non mi piace possono non apparire se l'utente non è registrato o i Modifica URL API L\'indirizzo SponsorBlock utilizza per effettuare chiamate al server. Durata minima del segmento + Durata di tempo non valida. I segmenti più brevi di questo valore (in secondi) non verranno mostrati o saltati. Abilita il tracciamento del conteggio dei salti Il tracciamento del contatore dei salti non è abilitato. @@ -1358,12 +1368,6 @@ Limitazione: Non mi piace possono non apparire se l'utente non è registrato o i Margine inferiore del pannello Meta Premi e tieni premuto il timestamp per cambiare lo stato di ripetizione degli Shorts. Azione pressione prolungata timestamp - Quando si cambia la qualità video predefinita, non viene visualizzata una notifica toast. - Quando si cambia la qualità video predefinita, viene visualizzata una notifica toast. - Mostra una notifica toast quando si cambia la qualità video predefinita - Quando si cambia la velocità video predefinita, non viene visualizzata una notifica toast. - Quando si cambia la velocità video predefinita, viene visualizzata una notifica toast. - Mostra una notifica toast quando si cambia la velocità video predefinita "Mostra la sezione del titolo del video a schermo intero. Limitazione: il titolo del video scompare quando si fa clic." @@ -1382,103 +1386,54 @@ Note: Mostra una notifica toast quando un segmento è saltato Attivare questa impostazione può causare problemi di riproduzione video. Buffer precaricato saltato - Il valore della sovrapposizione di velocità deve essere compreso tra 0-8.0. Reimposta ai valori predefiniti. - Valore sovrapposizione velocità tra 0-8.0. - Valore sovrapposizione velocità + Il valore di sovrimpressione di velocità deve essere compreso tra 0 e 8.0. Ripristinati i valori predefiniti. + Valore di sovrimpressione di velocità tra 0 e 8.0. + Valore di sovrimpressione di velocità "Simula la versione del client a una versione precedente. Note: • Questo cambierà l'aspetto dell'app, ma potrebbero verificarsi degli effetti collaterali sconosciuti • Se in seguito verrà disattivato, la vecchia interfaccia potrebbe rimanere fino a quando i dati dell'app non verranno cancellati" - Versione non spoofata - Versione spoofata + Versione non camuffata + Versione camuffata 17.33.42 - Ripristina la vecchia interfaccia 17.41.37 - Ripristina il vecchio scaffale delle playlist 18.05.40 - Ripristina la vecchia casella di input dei commenti 18.17.43 - Ripristina il vecchio pannello a comparsa del riproduttore 18.33.40 - Ripristina la vecchia barra d\'azione degli Shorts 18.38.45 - Ripristina il comportamento della vecchia qualità video predefinita - 18.48.39 - Disabilita \'visualizzazioni\' e \'mi piace\' dall\'essere aggiornato in tempo reale + 18.48.39 - Disabilita l\'aggiornamento in tempo reale di visualizzazioni e dei Mi piace La versione dell\'app da simulare Digita la versione dell\'app da simulare - Modifica la versione dell\'app da simulare - Simula la versione dell\'app - "La versione dell'app sarà spoofata per una versione più vecchia di YouTube. + Modifica la versione da camuffare dell\'app + Camuffa la versione dell\'app + "La versione dell'app sarà camuffata a una versione meno recente di YouTube. Questo cambierà l'aspetto e le caratteristiche dell'app, ma possono verificarsi effetti collaterali sconosciuti. -Se in seguito è disattivato, si consiglia di cancellare i dati dell'app per prevenire i bug dell'UI." - Alternativa - Generale - Live streams - Android - Suite di test Android - Android TV - Android VR - iOS - Shorts, Clips - Il client spoofato è nascosto nelle statistiche per nerd. - Il client spoofato è mostrato nelle statistiche per nerd. - Mostra nelle statistiche per nerd - "Client non è spoofato. La riproduzione video potrebbe non funzionare." - Client è spoofato. - Spoof client - "Spoof client ad Suite di test Android. - -Gli effetti collaterali includono: -• Nessun video HDR. -• Manca il menu traccia audio e la velocità di riproduzione. -• I sottotitoli potrebbero non essere disponibili." - Suite di test Android - "Spoof client per Android TV (YouTube TV). - -Effetti collaterali includono: -• Nessun video HDR. -• Manca il menu traccia audio e la velocità di riproduzione. -• I sottotitoli potrebbero non essere disponibili. -• Alcune live streams non sono supportati per la riproduzione." - Android TV - "Spoof client ad Android VR. - -Gli effetti collaterali includono: -• Nessun video HDR. -• I video in pausa possono riprendere in modo casuale. -• Bassa qualità miniature della barra di ricerca. -• I video per bambini non riproducono." - Android VR - "Spoof client to iOS. - -Gli effetti collaterali includono: -• Il video HDR è supportato solo su codec AV1. -• Il tempo di osservazione non viene salvato nella cronologia sull'account brand." - "Spoof client ad iOS. - -Gli effetti collaterali includono: -• Nessun video HDR. -• Manca il menu velocità di riproduzione. -• Potrebbero mancare qualità video più elevate. -• La cronologia delle visualizzazioni non funziona con un account brand. -• Le live Streams non possono essere riprodotti solo come audio. -• Le live streams non sono disponibili su Android 8.0." - iOS - Disattivare questa impostazione potrebbe causare problemi di riproduzione video. +Se disattivata in seguito, si consiglia di cancellare i dati dell'app per evitare errori grafici." "Simula le dimensioni del dispositivo per sbloccare qualità video superiori che potrebbero non essere disponibili sul tuo dispositivo" Simula le dimensioni del dispositivo - "I parametri del riproduttore non sono simulati per i video nei feed. - -Problema noto: i video nei feed saranno riprodotti per meno di un minuto prima di avere problemi di riproduzione" - "I parametri del riproduttore sono simulati per i video nei feed. - -Problema noto: i video nei feed riprodotti automaticamente appariranno nella cronologia" - Simula i parametri del riproduttore nei feed - "Simula i parametri del riproduttore per prevenire problemi di riproduzione. + Il codec video iOS è AVC (H.264), VP9 o AV1. + il codec video iOS è AVC (H.264). + Forza iOS AVC (H.264) + "Abilitando questo si potrebbe migliorare la durata della batteria e correggere i problemi di riproduzione. -Problemi noti: -• Il bitrate migliorato non sarà disponibile -• La barra di avanzamento nel thumbnail dei video a pagamento sarà nascosta -• Il download offline potrebbe non funzionare -• Il video potrebbe non iniziare dall'ultimo minutaggio visto" - Simula i parametri del riproduttore +AVC (H. 264) ha una risoluzione massima di 1080p e la riproduzione video utilizzerà più dati internet rispetto a VP9 o AV1." + Effetti collaterali del camuffamento + • Il video potrebbe non essere riprodotto. + Il client utilizzato per recuperare i dati di streaming è nascosto nelle statistiche per nerd. + Il client utilizzato per recuperare i dati streaming è mostrato nelle statistiche per nerd. + Mostra nelle statistiche per nerd + "I dati di streaming non sono camuffati. La riproduzione video potrebbe non funzionare." + I dati in streaming sono camuffati. + Camuffa data streaming + Android + Android TV + Android VR + iOS + Client predefinito + Disattivare questa impostazione potrebbe causare problemi di riproduzione video. I gesti di trascinamento in modalità Blocca Schermo sono disattivati I gesti di trascinamento in modalità Blocca Schermo sono attivati Attiva i gesti di trascinamento in modalità Blocca Schermo @@ -1494,24 +1449,17 @@ Problemi noti: La dimensione del testo del trascinamento La visibilità in millisecondi della sovrapposizione La durata della sovrapposizione del trascinamento - "Scambia le posizioni del pulsante crea e notifica tramite informazioni sul dispositivo di spoofing. + "Scambia le posizioni del pulsante Crea con il pulsante notifiche camuffando informazioni del dispositivo. • Potrebbe essere necessario riavviare il dispositivo per rendere effettiva la modifica di questa impostazione. • Disabilitare questa impostazione carica più annunci dal lato server. -• Dovresti disabilitare questa impostazione per rendere visibili gli annunci video." - Scambia crea con notifiche +• Dovresti disabilitare questa impostazione per rendere visibili gli annunci nei video." + Scambia il pulsante Crea con il pulsante notifiche Inventario - "• Segue le impostazioni di cronologia dell'account Google. -• La cronologia potrebbe non funzionare a causa di DNS o VPN." - • Segue le impostazioni di cronologia dell\'account Google. • La cronologia non funziona. - "• Segue le impostazioni di cronologia dell'account Google. -• La cronologia potrebbe non funzionare a causa di DNS o VPN. -• La cronologia potrebbe non funzionare con un account brand. -(L'impostazione di Spoof del client è attiva e il client iOS è selezionato)" - "• Segue le impostazioni di cronologia dell'account Google. -• La cronologia potrebbe non funzionare con un account brand. -(L'impostazione di Spoof del client è attiva e il client iOS è selezionato)" + "• Segue le impostazioni di cronologia dell'account Google. +• La cronologia potrebbe non funzionare a causa di DNS o VPN." + • Segue le impostazioni di cronologia dell\'account Google. Informazioni sulla cronologia Clicca per aprire la gestione della cronologia di YouTube. Gestisci tutta la cronologia diff --git a/src/main/resources/youtube/translations/ja-rJP/strings.xml b/src/main/resources/youtube/translations/ja-rJP/strings.xml index 95a3b7019..64312d32d 100644 --- a/src/main/resources/youtube/translations/ja-rJP/strings.xml +++ b/src/main/resources/youtube/translations/ja-rJP/strings.xml @@ -64,8 +64,8 @@ DeArrowの詳細については、ここをタップしてください。"現在の設定: スイッチのトグル 現在の設定: テキストのトグル トグルの種類を変更 - 「共有」ボタンをタップした際に表示される共有メニューを、システムのデフォルトの共有メニューに置き換えます。 - 「共有」ボタンをタップした際に表示される共有メニューを、システムのデフォルトの共有メニューに置き換えます。 + 「共有」ボタンをタップした際に表示される共有メニューを、システムの共有メニューに置き換えます。 + 「共有」ボタンをタップした際に表示される共有メニューを、システムの共有メニューに置き換えます。 共有メニューを変更 次の動画を自動再生 デフォルト @@ -126,8 +126,12 @@ DeArrowの詳細については、ここをタップしてください。"アンビエントモードを無効化します。 アンビエントモードを無効化します。 アンビエントモードを無効化 - 音声トラックの自動的な強制を無効化します。 - 音声トラックの自動的な強制を無効化します。 + 音声トラックが自動で選択されるのを無効化します。 + +注意: この設定はショートには適用されません。 + "音声トラックが自動で選択されるのを無効化します。 + +注意: この設定はショートには適用されません。" 音声トラックの強制を無効化 字幕の自動的な強制を無効化します。 字幕の自動的な強制を無効化します。 @@ -190,8 +194,8 @@ DeArrowの詳細については、ここをタップしてください。" 概要欄の操作を無効化 - Cairo シークバー(シークバーの色が動画に応じて変更される機能)を有効化します。\n\n注意: 通知ドットにも Cairo テーマが適用されるという副作用があります。 - "Cairo シークバー(シークバーの色が動画に応じて変更される機能)を有効化します。 + Cairo シークバー (シークバーの色が動画に応じて変更される機能) を有効化します。\n\n注意: 通知ドットにも Cairo テーマが適用されるという副作用があります。 + "Cairo シークバー (シークバーの色が動画に応じて変更される機能) を有効化します。 注意: 通知ドットにも Cairo テーマが適用されるという副作用があります。" Cairo シークバーを有効化 @@ -254,7 +258,7 @@ DeArrowの詳細については、ここをタップしてください。"スワイプして明るさの自動調節を有効化 全画面表示時に、長押し時のみスワイプジェスチャーを有効化します。 全画面表示時に、長押し時のみスワイプジェスチャーを有効化します。 - 長押し時のみのスワイプコントロールを有効化 + 「長押ししてスワイプ」ジェスチャーを有効化 全画面表示時に、上/下にスワイプして次の動画/前の動画に切り替えられるようにします。 全画面表示時に、上/下にスワイプして次の動画/前の動画に切り替えられるようにします。 スワイプして動画の切り替えを有効化 @@ -468,7 +472,7 @@ DeArrowの詳細については、ここをタップしてください。"動画以外の広告を非表示にします。 全般的な広告を非表示 プレーヤーと動画の説明の間に表示される YouTube Premium のバナーを非表示にします。 - プレーヤーと動画の説明の間に表示される YouTube Premium バナーを非表示にします。 + プレーヤーと動画の説明の間に表示される YouTube Premium のバナーを非表示にします。 YouTube Premium のプロモーションを非表示 ホームフィードの動画の間に表示される、グレーのセパレーターを非表示にします。 ホームフィードの動画の間に表示される、グレーのセパレーターを非表示にします。 @@ -503,6 +507,8 @@ DeArrowの詳細については、ここをタップしてください。" キーワードフィルタリングについて + キーワードやフレーズを二重引用符 (\" \") で囲むことで、動画のタイトルやチャンネル名の部分一致を防ぐことができます。<br><br>例えば、<br><b>\"ai\"</b> とすると、動画 <b>「AI はどのように機能するのか?」</b><br> は表示されなくなりますが、<b>「フェアユースとは何か? (What does f“ai”r use mean?) 」</b> は表示されます。 + 単語全体を一致させる キーワードでコメントをフィルタリングします。 キーワードでコメントをフィルタリングします。 コメントをフィルタリング @@ -521,6 +527,9 @@ DeArrowの詳細については、ここをタップしてください。"登録チャンネルをフィルタリング キーワード「%1$s」は範囲が広すぎるため、すべての動画を非表示にします。 無効なキーワードです。\'%s\' はフィルターとして使用できません + キーワードを使用するには、引用符を追加してください: %s + キーワードに矛盾する宣言があります: %s + キーワードが短すぎるため、引用符が必要です: %s 最新の投稿を非表示にします。 最新の投稿を非表示にします。 最新の投稿を非表示 @@ -590,9 +599,6 @@ DeArrowの詳細については、ここをタップしてください。"「プレーヤーの最小化」ボタンを非表示にします。 「プレーヤーの最小化」ボタンを非表示にします。 最小化ボタンを非表示 - 「アンビエントモード」メニューを非表示にします。 - 「アンビエントモード」メニューを非表示にします。 - 「アンビエントモード」を非表示 「音声トラック」メニューを非表示にします。 「音声トラック」メニューを非表示にします。 「音声トラック」を非表示 @@ -762,6 +768,9 @@ DeArrowの詳細については、ここをタップしてください。"「低評価」ボタンを非表示にします。 「低評価」ボタンを非表示にします。 「低評価」ボタンを非表示 + "「このサウンドを使用する」のようなフローティングボタンを、ショートタブから非表示にします。" + "「このサウンドを使用する」のようなフローティングボタンを、ショートタブから非表示にします。" + フローティングボタンを非表示 フルの動画のリンクのラベルを非表示にします。 フルの動画のリンクのラベルを非表示にします。 フルの動画のリンクラベルを非表示 @@ -777,9 +786,9 @@ DeArrowの詳細については、ここをタップしてください。"縦型のライブ配信のプレーヤー内で上部に表示されるチャンネル名などを非表示にします。\n\nヘッダーの戻るボタンは非表示になりません。 縦型のライブ配信のプレーヤー内で上部に表示されるチャンネル名などを非表示にします。\n\nヘッダーの戻るボタンは非表示になりません。 ライブチャットのヘッダーを非表示 - プレーヤー下部に表示される、位置情報のラベルを非表示にします。 - プレーヤー下部に表示される、位置情報のラベルを非表示にします。 - 位置情報のラベルを非表示 + 位置情報のボタンを非表示にします。 + 位置情報のボタンを非表示にします。 + 位置情報のボタンを非表示 ナビゲーションバー(ホーム、登録チャンネルなどのボタン)を非表示にします。 ナビゲーションバー(ホーム、登録チャンネルなどのボタン)を非表示にします。 ナビゲーションバーを非表示 @@ -801,9 +810,9 @@ DeArrowの詳細については、ここをタップしてください。"音楽の「保存」ボタンを非表示にします。 音楽の「保存」ボタンを非表示にします。 「保存」ボタンを非表示 - 検索候補を非表示にします - 検索候補を非表示にします - 検索候補を非表示 + 検索候補のボタンを非表示にします。 + 検索候補のボタンを非表示にします。 + 検索候補のボタンを非表示 「共有」ボタンを非表示にします。 「共有」ボタンを非表示にします。 「共有」ボタンを非表示 @@ -826,6 +835,9 @@ DeArrowの詳細については、ここをタップしてください。"「ショップ」ボタンを非表示にします。 「ショップ」ボタンを非表示にします。 「ショップ」ボタンを非表示 + ショートで左下に表示される「購入」ボタンを非表示にします。 + ショートで左下に表示される「購入」ボタンを非表示にします。 + 「購入」ボタンを非表示 プレーヤー右下に表示される楽曲のボタンを非表示にします。 プレーヤー右下に表示される楽曲のボタンを非表示にします。 楽曲ボタンを非表示 @@ -838,12 +850,21 @@ DeArrowの詳細については、ここをタップしてください。"「Super Thanks」ボタンを非表示にします。 「Super Thanks」ボタンを非表示にします。 「Super Thanks」ボタンを非表示 - タグ付けされた商品を非表示にします。 - タグ付けされた商品を非表示にします。 + タグ付けされている商品を非表示にします。 + タグ付けされている商品を非表示にします。 タグ付き商品を非表示 ツールバー(カメラ、検索などのボタン)を非表示にします。 ツールバー(カメラ、検索などのボタン)を非表示にします。 ツールバーを非表示 + 「トレンド」ボタンを非表示にします。 + 「トレンド」ボタンを非表示にします。 + 「トレンド」ボタンを非表示 + 「テンプレートを使用する」ボタンを非表示にします。 + 「テンプレートを使用する」ボタンを非表示にします。 + 「テンプレートを使用する」ボタンを非表示 + ショートで楽曲ボタンを押した際に表示される「このサウンドを使用する」ボタンを非表示にします。 + ショートで楽曲ボタンを押した際に表示される「このサウンドを使用する」ボタンを非表示にします。 + 「このサウンドを使用する」を非表示 プレーヤー下部に表示される動画のタイトルを非表示にします。 プレーヤー下部に表示される動画のタイトル名を非表示にします。 動画のタイトルを非表示 @@ -861,13 +882,13 @@ DeArrowの詳細については、ここをタップしてください。"登録チャンネルのカルーセルを非表示 プレーヤー上の「Premium のコントロール」などの提案を非表示にします。 プレーヤー上の「Premium のコントロール」などの提案を非表示にします。 - 提案されたアクションを非表示 + 提案されるアクションを非表示 "この設定は非推奨になりました。 代わりに、「設定 → 自動再生 → 次の動画の自動再生」設定を使用してください。" 自動再生がオフの場合、おすすめの動画は動画の終了画面で表示されません。\n\n自動再生は YouTube の設定で変更できます: 「設定 → 自動再生 → 次の動画を自動再生」 "自動再生がオフの場合、おすすめの動画は動画の終了画面で表示されません。\n\n自動再生は YouTube の設定で変更できます: 「設定 → 自動再生 → 次の動画を自動再生」" - おすすめされた動画の終了画面を非表示 + おすすめされる動画の終了画面を非表示 「Thanks」ボタンを非表示にします。 「Thanks」ボタンを非表示にします。 「Thanks」ボタンを非表示 @@ -1000,7 +1021,7 @@ DeArrowの詳細については、ここをタップしてください。"プレイリストにダウンロードボタンを追加 「オフライン」ボタンで外部ダウンローダーを開きます。 「オフライン」ボタンで外部ダウンローダーを開きます。 - ダウンロードボタンを置き換え + 「オフライン」ボタンを置き換え 除外されています 適用されています 通常 @@ -1019,8 +1040,6 @@ DeArrowの詳細については、ここをタップしてください。"クイック操作 おすすめ動画 ショート欄 - 偽装するクライアントについて - 偽装するクライアントのオプション 使用されたツール 再生回数フィルター 「アカウント」メニューと「マイページ」タブで要素を非表示または表示します。 @@ -1058,7 +1077,7 @@ DeArrowの詳細については、ここをタップしてください。"その他 ナビゲーションバーセクションのコンポーネントを非表示または表示します。 ナビゲーションボタン - 適用されたパッチに関する情報 + 適用されたパッチに関する情報です。 パッチ情報 プレーヤー内のボタンを非表示または表示します。 プレーヤーボタン @@ -1074,8 +1093,8 @@ DeArrowの詳細については、ここをタップしてください。"ショートのプレーヤー内のコンポーネントを非表示または表示します。 プレーヤー ショート - バッファリングの問題を防ぐためにクライアントを偽装します。 - クライアントを偽装 + バッファリングの問題を防ぐためにストリーミングデータを偽装します。 + ストリーミングデータを偽装 スワイプコントロール ツールバーのボタン、検索バー、ヘッダーなどのツールバーにあるコンポーネントを非表示または変更できます。 ツールバー @@ -1096,10 +1115,16 @@ DeArrowの詳細については、ここをタップしてください。"現在の設定: 再生速度の変更は現在の動画にのみ適用されます。 現在の設定: 再生速度の変更はすべての動画に適用されます。 再生速度の変更を保存 + デフォルトの再生速度を変更した際にトーストが表示されるようにします。 + デフォルトの再生速度を変更した際にトーストが表示されるようにします。 + トーストを表示 デフォルトの再生速度を %s に変更しました。 現在の設定: 画質の変更は現在の動画にのみ適用されます。 現在の設定: 画質の変更はすべての動画に適用されます。 画質の変更を保存 + デフォルトの画質を変更した際にトーストが表示されるようにします。 + デフォルトの画質を変更した際にトーストが表示されるようにします。 + トーストを表示 モバイルネットワーク使用時のデフォルト画質を %s に変更しました。 画質を設定できませんでした。 Wi-Fi 使用時のデフォルト画質を %s に変更しました。 @@ -1190,6 +1215,7 @@ DeArrowの詳細については、ここをタップしてください。"API の URL を変更 SponsorBlockがサーバーとの通信で使うアドレスです。自分が何をしているのか理解していない場合は、変更しないでください。 最小のセグメントの長さ + 無効な時間の値です。 この値 (秒) より短いセグメントは、表示もスキップもされません。 スキップ回数の集計を有効化 スキップ回数の集計を有効化します。 @@ -1229,7 +1255,7 @@ DeArrowの詳細については、ここをタップしてください。"セグメントをプレビューして、スムーズにスキップできるようにしてください。 作成したセグメントを送信 指定された時間まで巻き戻す (デフォルト: 150ms) - 開始は終了より前になければなりません + 開始は終了より前である必要があります セグメントの終了時刻 セグメントの開始時刻 新しい SponsorBlock セグメント @@ -1239,7 +1265,7 @@ DeArrowの詳細については、ここをタップしてください。"動画の本編を理解するのに必要のない繋ぎの話やユーモアなどの逸脱したシーン。コンテクストや背景情報の詳細は含まれません。 ハイライト 動画の中で多くの人々が見たい部分 - 行動を促すメッセージ(チャンネル登録等) + 行動を促すメッセージ (チャンネル登録等) 動画の途中に挿入される高評価、チャンネル登録、フォローなどを促す短いリマインダーは、長いものや何か具体的なものは「セルフプロモーション」に分類するべきです。 休憩 / イントロアニメーション 本編ではない部分。一時停止、静止画面、アニメーションの繰り返しが含まれます。情報を含んだ転換画面は含まれません。 @@ -1335,7 +1361,7 @@ DeArrowの詳細については、ここをタップしてください。"カテゴリーを変更 反対 セグメントの評価を送信できません: %s - セグメントを評価できません (API タイムアウト) + セグメントを評価できません (API がタイムアウトしました) セグメントの評価を送信できません (ステータス: %1$d %2$s) 評価できるセグメントがありません 賛成 @@ -1355,12 +1381,6 @@ DeArrowの詳細については、ここをタップしてください。"メタパネルの下部の余白 タイムスタンプを長押しすると、ショートのリピート状態を変更できます。 タイムスタンプ長押し時の動作 - デフォルトの画質を変更する際にトーストを表示します。 - デフォルトの画質を変更する際にトーストを表示します。 - デフォルトの画質を変更する際にトーストを表示 - デフォルトの再生速度を変更する際にトーストを表示します。 - デフォルトの再生速度を変更する際にトーストを表示します。 - デフォルトの再生速度を変更する際にトーストを表示 "全画面表示時にタイトルを表示します。 注意: 動画のタイトルをタップすると消えます。" @@ -1403,80 +1423,29 @@ DeArrowの詳細については、ここをタップしてください。" - 再生できない動画 - 一般 - ライブ配信 - Android - Android Testsuite - Android TV - Android VR - iOS - ショート、クリップ - 統計情報に偽装したクライアントを表示します。 - 統計情報に偽装したクライアントを表示します。 - 統計情報に偽装したクライアントを表示 - "クライアントの偽装をしていない場合、動画の再生ができない可能性があります。" - クライアントの偽装をしていない場合、動画の再生ができない可能性があります。 - クライアントを偽装 - "Android Testsuite に偽装します。 - -以下の副作用があります: -• HDR 画質は使用できません。 -• オーディオトラックメニューは表示されません。 -• 字幕が利用できない可能性があります。 -• ダウンロードボタンは表示されません。 -• エンドカードは表示されません。 -• シークバーのサムネイルが低画質になります。" - Android Testsuite - "Android TV (YouTube TV) に偽装します。 - -以下の副作用があります: -• HDR 画質は使用できません。 -• オーディオトラックメニューは表示されません。 -• 字幕が利用できない可能性があります。 -• ダウンロードボタンは表示されません。 -• シークバーのサムネイルが低画質になります。 -• 一部のライブ配信は再生できません。" - Android TV - "Android VR に偽装します。 - -以下の副作用があります: -• HDR 画質は使用できません。 -• ダウンロードボタンは表示されません。 -• 一時停止した動画がランダムに再開する場合があります。 -• ショートのシークバーのサムネイルが低画質になります。 -• 子供向けの動画は再生できません。" - Android VR - "iOS クライアントに偽装します。 - -以下の副作用があります: -• HDR 画質は AV1 コーデック対応端末以外では使用できません。 -• 再生履歴はブランドアカウントでは保存されません。" - "iOS クライアントに偽装します。 - -以下の副作用があります: -• HDR 画質は AV1 コーデック対応端末以外では使用できません。 -• 再生履歴がブランドアカウントでは保存されません。" - iOS - この設定をオフにした場合、バッファリングの問題が発生する可能性があります。 "デバイスの解像度を最大値に偽装します。 高画質は、高いデバイスの解像度を必要とする一部の動画でアンロックされる可能性がありますが、すべての動画でアンロックされるわけではありません。" デバイスの解像度を偽装 - "現在の設定: フィードの動画のパラメーターを偽装しません。 - -注意: フィードの動画は、1分未満でバッファリングの問題が発生します。" - "現在の設定: フィードの動画のパラメーターを偽装します。 - -既知の問題: 自動再生されたフィードの動画が再生履歴に表示されます。" - フィードのパラメーターを偽装 - "プレーヤーのパラメーターを偽装して、再生の問題を防ぎます。 + iOS クライアントで AVC コーデック (H.264) を強制します。 + iOS クライアントで AVC コーデック (H.264) を強制します。 + iOS クライアントで AVC (H.264) を強制 + "これを有効にすると、バッテリーの持ちが改善され、再生時のカクつきが修正される可能性があります。 -注意: -• 拡張ビットレートは利用できません。 -• 有料動画のシークバーサムネイルは機能しません。 -• オフラインへの動画の保存が機能しない場合があります。 -• 動画が最後に視聴した時間から開始されない場合があります。" - プレーヤーのパラメーターを偽装 +注意: \n・AVC コーデック (H.264) の最大解像度は 1080p です。\n・動画の再生には VP9 や AV1 よりも多くの通信量を消費します。" + ストリーミングデータを偽装することによる副作用 + • 動画が再生できない可能性があります。 + 統計情報に偽装したストリーミングデータを表示します。 + 統計情報に偽装したストリーミングデータを表示します。 + 統計情報に偽装したクライアントを表示 + "ストリーミングデータを偽装していない場合、動画の再生ができない可能性があります。" + ストリーミングデータを偽装していない場合、動画の再生ができない可能性があります。 + ストリーミングデータを偽装 + Android + Android TV + Android VR + iOS + 偽装するクライアントの種類 + この設定をオフにした場合、バッファリングの問題が発生する可能性があります。 スワイプジェスチャーを「画面のロック」モードで有効化します。 スワイプジェスチャーを「画面のロック」モードで有効化します。 「画面のロック」時のスワイプジェスチャーを有効化 @@ -1498,17 +1467,10 @@ DeArrowの詳細については、ここをタップしてください。" 「作成」を「通知」と入れ替え オリジナル - "• Google アカウントの再生履歴の設定に従います。 -• DNS や VPN が原因で再生履歴が動作しない可能性があります。" - • Google アカウントの再生履歴の設定に従います。 • 再生履歴をブロックします。 - "• Google アカウントの再生履歴の設定に従います。 -• DNS や VPN が原因で再生履歴が表示されない可能性があります。 -• ブランドアカウントでは再生履歴が表示されない可能性があります。 -(クライアント偽装の設定が有効になっており iOS クライアントが選択されている場合)" - "• Google アカウントの再生履歴の設定に従います。 -• ブランドアカウントでは再生履歴が表示されない可能性があります。 -(クライアント偽装の設定が有効になっており iOS クライアントが選択されている場合)" + "• Google アカウントの再生履歴の設定に従います。 +• DNS や VPN が原因で再生履歴が動作しない可能性があります。" + • Google アカウントの再生履歴の設定に従います。 再生履歴のステータス タップして YouTube 再生履歴の管理画面を開きます。 すべての履歴を管理 diff --git a/src/main/resources/youtube/translations/ko-rKR/strings.xml b/src/main/resources/youtube/translations/ko-rKR/strings.xml index f241ded77..2295c6530 100644 --- a/src/main/resources/youtube/translations/ko-rKR/strings.xml +++ b/src/main/resources/youtube/translations/ko-rKR/strings.xml @@ -31,7 +31,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." DeArrow를 일시적으로 사용할 수 없습니다. (상태 코드: %s) DeArrow를 일시적으로 사용할 수 없습니다. 홈 탭 - 나(보관함) 탭 + 내 페이지 탭 기본 썸네일 DeArrow & 기본 썸네일 DeArrow & 스틸 컷 썸네일 @@ -80,7 +80,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 탐색 게임 기록 - 나 (보관함) + 내 페이지 좋아요 표시한 동영상 실시간 영화 @@ -129,7 +129,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 앰비언트 모드를 비활성화합니다. 앱비언트 모드 비활성화하기 오디오 트랙 사용이 강제된 동영상에서 오디오 트랙을 활성화합니다. - 오디오 트랙 사용이 강제된 동영상에서 오디오 트랙을 비활성화합니다. + "오디오 트랙 사용이 강제된 동영상에서 오디오 트랙을 비활성화합니다. + +알려진 문제점: 이 설정은 Shorts에는 적용되지 않습니다." 자동 오디오 트랙 비활성화하기 자막 사용이 강제된 동영상에서 자막을 활성화합니다. 자막 사용이 강제된 동영상에서 자막을 비활성화합니다. @@ -231,7 +233,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 리다이렉션 없이 링크 바로 열기 플레이어 응답에 OPUS 코덱이 포함된 경우에는 OPUS 코덱을 활성화합니다. OPUS 코덱 활성화하기 - dpi를 변경하여 일부 레이아웃을 휴대폰 레이아웃으로 활성화합니다. + dpi를 변경하여 일부 레이아웃을 휴대폰 레이아웃으로 활성화합니다.\n\n• \'태블릿 레이아웃으로 활성화하면 잠겨지는 RVX 설정\'이 태블릿 또는 폴더블 폰에서도 잠겨져 있으므로, 이 설정을 사용하고 싶으면 휴대폰 레이아웃으로 활성화해야 합니다. 휴대폰 레이아웃 활성화하기 전체 화면에서 나가거나 들어갈 때마다 화면 밝기 값을 저장 및 복원하지 않습니다. 전체 화면에서 나가거나 들어갈 때마다 화면 밝기 값을 저장 및 복원합니다. @@ -506,13 +508,15 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 주요 개념 섹션이 표시됩니다. 주요 개념 섹션이 숨겨집니다. 주요 개념 섹션 숨기기 - "홈 피드 / 구독 피드 / 검색 결과 / 댓글 섹션에서 키워드와 일치하는 콘텐츠가 숨겨집니다. + "홈 / 구독 / 검색 결과가 필터링되어 키워드 구문과 일치하는 콘텐츠가 숨겨집니다. 알려진 문제점: -• 일부 Shorts는 숨겨지지 않을 수 있습니다. -• 일부 화면 구성요소가 숨겨지지 않을 수 있습니다. -• 필터링 키워드를 검색하면 결과가 표시되지 않을 수 있습니다." +• 채널 이름으로 Shorts는 숨길 수 없습니다. +• 일부 화면 구성요소는 숨겨지지 않을 수 있습니다. +• 필터링 키워드를 검색하면 검색 결과가 표시되지 않을 수 있습니다." 키워드 필터링 정보 + 필터링할 키워드 및 구문을 큰따옴표로 묶으면 동영상 제목과 채널 이름이 부분적으로 일치하지 않도록 방지할 수 있습니다.<br><br>예를 들어,<br><b>\"ai\"</b>라는 키워드로 <b>AI 커리어 완벽 가이드</b>라는 제목의 동영상을 숨길 수 있지만, <b>생성형AI가 바꿔논 세계</b> 또는 <b>What does fair use mean?</b>라는 제목의 동영상은 숨길 수 없습니다. + 전체 단어 일치시키기 댓글 섹션에서 키워드 필터를 비활성화합니다. 댓글 섹션에서 키워드 필터를 활성화합니다. 댓글 섹션에서 키워드 필터 활성화하기 @@ -522,7 +526,8 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 홈 피드에서 키워드 필터 활성화하기 "필터링할 키워드 및 구문을 줄바꿈으로 구분하여 설정합니다. -영어 키워드는 대소문자를 구분하여 입력해야 합니다." +• 필터링 키워드는 채널 이름 또는 동영상 제목에 표시되는 모든 텍스트가 될 수 있습니다. +• 가운데 대문자가 있는 단어는 대소문자를 함께 입력해야 합니다 (예: iPhone, TikTok, LeBlanc)." 키워드 필터 검색 결과에서 키워드 필터를 비활성화합니다. 검색 결과에서 키워드 필터를 활성화합니다. @@ -530,8 +535,11 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 구독 피드에서 키워드 필터를 비활성화합니다. 구독 피드에서 키워드 필터를 활성화합니다. 구독 피드에서 키워드 필터 활성화하기 - 키워드 \'%1$s\'를 사용하면 모든 동영상이 숨겨집니다. - 잘못된 키워드입니다. \'%s\'를 필터로 사용할 수 없습니다. + 키워드가 모든 동영상을 숨깁니다: %s + 키워드를 사용할 수 없습니다: %s + 따옴표를 추가하여 키워드를 사용합니다: %s + 키워드에 충돌하는 선언이 있습니다: %s + 키워드가 너무 짧아서 따옴표가 필요합니다: %s 최신 게시물이 표시됩니다. 최신 게시물이 숨겨집니다. 최신 게시물 숨기기 @@ -568,9 +576,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 하단바 버튼 라벨이 표시됩니다. 하단바 버튼 라벨이 숨겨집니다. 하단바 버튼 라벨 숨기기 - 나(보관함) 버튼이 표시됩니다. - 나(보관함) 버튼이 숨겨집니다. - 나(보관함) 버튼 숨기기 + 내 페이지 버튼이 표시됩니다. + 내 페이지 버튼이 숨겨집니다. + 내 페이지 버튼 숨기기 알림 버튼이 표시됩니다. 알림 버튼이 숨겨집니다. 알림 버튼 숨기기 @@ -601,9 +609,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 플레이어 접기 버튼이 표시됩니다. 플레이어 접기 버튼이 숨겨집니다. 플레이어 접기 버튼 숨기기 - 앰비언트 모드 메뉴가 표시됩니다. - 앰비언트 모드 메뉴가 숨겨집니다. - 앰비언트 모드 메뉴 숨기기 오디오 트랙 메뉴가 표시됩니다. 오디오 트랙 메뉴가 숨겨집니다. 오디오 트랙 메뉴 숨기기 @@ -771,6 +776,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 싫어요 버튼이 표시됩니다. 싫어요 버튼이 숨겨집니다. 싫어요 버튼 숨기기 + "'이 사운드 사용'과 같은 플로팅 버튼이 Shorts 채널 탭에서 표시됩니다." + "'이 사운드 사용'과 같은 플로팅 버튼이 Shorts 채널 탭에서 숨겨집니다." + 플로팅 버튼 숨기기 동영상 링크 라벨이 표시됩니다. 동영상 링크 라벨이 숨겨집니다. FULL 또는 관련 동영상 링크 라벨 숨기기 @@ -786,9 +794,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 실시간 채팅 헤더(상단 채널바)가 표시됩니다.\n\n헤더에서 뒤로 가기 버튼은 숨길 수 없습니다. 실시간 채팅 헤더(상단 채널바)가 숨겨집니다.\n\n헤더에서 뒤로 가기 버튼은 숨길 수 없습니다. 실시간 채팅 헤더 숨기기 - 위치 라벨이 표시됩니다. - 위치 라벨이 숨겨집니다. - 위치 라벨 숨기기 + 위치 버튼이 표시됩니다. + 위치 버튼이 숨겨집니다. + 위치 버튼 숨기기 하단바가 표시됩니다. 하단바가 숨겨집니다. 하단바 숨기기 @@ -810,9 +818,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." (재생목록에) 음악 저장 버튼이 표시됩니다. (재생목록에) 음악 저장 버튼이 숨겨집니다. (재생목록에) 음악 저장 버튼 숨기기 - 검색 추천이 표시됩니다. - 검색 추천이 숨겨집니다. - 검색 추천 숨기기 + 검색 추천 버튼이 표시됩니다. + 검색 추천 버튼이 숨겨집니다. + 검색 추천 버튼 숨기기 공유 버튼이 표시됩니다. 공유 버튼이 숨겨집니다. 공유 버튼 숨기기 @@ -839,6 +847,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 쇼핑 버튼이 표시됩니다. 쇼핑 버튼이 숨겨집니다.\n\n일시 정지 오버레이에서도 쇼핑 버튼이 숨겨집니다. 쇼핑 버튼 숨기기 + 쇼핑 버튼이 표시됩니다. + 쇼핑 버튼이 숨겨집니다. + 쇼핑 버튼 숨기기 사운드 버튼이 표시됩니다. 사운드 버튼이 숨겨집니다. 사운드 버튼 숨기기 @@ -857,6 +868,15 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 툴바가 표시됩니다. 툴바가 숨겨집니다. 툴바 숨기기 + 트렌드 버튼이 숨겨집니다. + 트렌드 버튼이 숨겨집니다. + 트렌드 버튼 숨기기 + 템플릿 사용 버튼이 표시됩니다. + 템플릿 사용 버튼이 숨겨집니다. + 템플릿 사용 버튼 숨기기 + \'이 사운드 사용\' 버튼이 표시됩니다. + \'이 사운드 사용\' 버튼이 숨겨집니다. + \'이 사운드 사용\' 버튼 숨기기 제목이 표시됩니다. 제목이 숨겨집니다. 동영상 제목 숨기기 @@ -1037,11 +1057,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 빠른 작업 추천 동영상 Shorts 선반 - 정보 - 클라이언트 옵션 변경하기 사용된 도구 조회수 필터 - 계정 메뉴와 나(보관함) 탭에서 구성요소를 숨기거나 표시할 수 있습니다. + 계정 메뉴와 내 페이지 탭에서 구성요소를 숨기거나 표시할 수 있습니다. 계정 메뉴 플레이어 하단에 있는 액션 버튼을 숨기거나 표시할 수 있습니다. 액션 버튼 @@ -1092,8 +1110,8 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." Shorts 플레이어에서 구성요소를 숨기거나 표시할 수 있습니다. Shorts 플레이어 Shorts - 클라이언트를 변경하여 재생 문제를 방지할 수 있습니다. - 클라이언트 변경하기 + 스트리밍 데이터를 변경하여 재생 문제를 방지할 수 있습니다. + 스트리밍 데이터 변경하기 스와이프 제스처 툴바에서 버튼, 검색창, 헤더와 같은 구성요소를 숨기거나 변경할 수 있습니다. 툴바 @@ -1114,10 +1132,16 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 동영상 재생 속도 값을 변경할 때마다 저장하지 않습니다. 동영상 재생 속도 값을 변경할 때마다 저장합니다. 동영상 재생 속도 저장 활성화하기 + 기본 동영상 재생 속도 값으로 변경되었을 때, 팝업 메시지를 표시하지 않습니다. + 기본 동영상 재생 속도 값으로 변경되었을 때, 팝업 메시지를 표시합니다. + 팝업 메시지 표시하기 기본 동영상 재생 속도 값을 %s으로 변경합니다. 동영상 화질 값을 변경할 때마다 저장하지 않습니다. 동영상 화질 값을 변경할 때마다 저장합니다. 동영상 화질 저장 활성화하기 + 기본 동영상 화질 값으로 변경되었을 때, 팝업 메시지를 표시하지 않습니다. + 기본 동영상 화질 값으로 변경되었을 때, 팝업 메시지를 표시합니다. + 팝업 메시지 표시하기 모바일 네트워크 이용 시 기본 동영상 화질 값을 %s로 변경합니다. 동영상 화질을 설정할 수 없습니다. Wi-Fi 이용 시 기본 동영상 화질 값을 %s로 변경합니다. @@ -1209,6 +1233,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." API URL 변경하기 SponsorBlock이 요청을 보낼 서버 URL입니다. 이것이 무슨 역할을 하는지 모르는 경우에는 이 URL을 변경하지 마세요. 건너뛸 최소 구간 길이 + 잘못된 지속 시간입니다. 설정한 값(초)보다 작은 구간은 건너뛰지 않으며, 재생바에도 표시되지 않습니다. 건너뛴 횟수 기록 활성화하기 건너뛴 횟수 기록을 비활성화합니다. @@ -1374,12 +1399,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 메타 패널 하단 여백 타임스탬프를 길게 눌러서 Shorts 반복 상태를 변경할 수 있습니다. 타임스탬프 길게 누르기 동작 - 기본 동영상 화질 값으로 변경되었을 때, 팝업 메시지를 표시하지 않습니다. - 기본 동영상 화질 값으로 변경되었을 때, 팝업 메시지를 표시합니다. - 기본 동영상 화질 값으로 변경되었을 때, 팝업 메시지 표시하기 - 기본 동영상 재생 속도 값으로 변경되었을 때, 팝업 메시지를 표시하지 않습니다. - 기본 동영상 재생 속도 값으로 변경되었을 때, 팝업 메시지를 표시합니다. - 기본 동영상 재생 속도 값으로 변경되었을 때, 팝업 메시지 표시하기 "전체 화면에서 동영상 제목 섹션을 표시합니다. 알려진 문제점: 동영상 제목을 누르면 사라집니다." @@ -1418,80 +1437,29 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." 변경할 앱 버전 편집하기 앱 버전 변경하기 "앱 버전을 이전 YouTube 앱 버전으로 변경합니다.\n\n변경하면 앱 레이아웃과 기능이 변경되지만 알려지지 않은 문제점이 발생할 수 있습니다.\n\n나중에 이 기능을 비활성화하게 되면 앱 레이아웃 문제점을 방지하기 위해 앱 데이터를 지우는 것이 좋습니다." - 재생할 수 없는 동영상 - 일반 동영상 - 실시간 스트림 - Android - Android TestSuite - Android TV - Android VR - iOS - Shorts, 클립 - 전문 통계에서 변경된 클라이언트를 표시하지 않습니다. - 전문 통계에서 변경된 클라이언트를 표시합니다. - 전문 통계에서 표시하기 - "클라이언트를 변경하지 않습니다. \n동영상 재생 문제가 발생할 수 있습니다." - 클라이언트를 변경합니다. - 클라이언트 변경하기 - "클라이언트를 Android TestSuite 클라이언트로 변경합니다. - -알려진 문제점: -• HDR 동영상이 재생되지 않을 수 있습니다. -• 메뉴 구성요소에서 오디오 트랙 메뉴가 표시되지 않습니다. -• 자막이 표시되지 않을 수 있습니다. -• 플레이어 하단에서 오프라인 저장 버튼이 표시되지 않습니다. -• 최종 화면 카드가 표시되지 않습니다. -• 저화질 재생바 썸네일이 표시됩니다." - Android TestSuite - "클라이언트를 Android TV (YouTube TV) 클라이언트로 변경합니다. - -알려진 문제점: -• HDR 동영상이 재생되지 않을 수 있습니다. -• 메뉴 구성요소에서 오디오 트랙 메뉴가 표시되지 않습니다. -• 자막이 표시되지 않을 수 있습니다. -• 플레이어 하단에서 오프라인 저장 버튼이 표시되지 않습니다. -• 저화질 재생바 썸네일이 표시됩니다. -• 일부 실시간 스트림을 재생할 수 없습니다." - Android TV - "클라이언트를 Android VR 클라이언트로 변경합니다. - -알려진 문제점: -• HDR 동영상이 재생되지 않을 수 있습니다. -• 플레이어 하단에서 오프라인 저장 버튼이 표시되지 않습니다. -• 일시 정지된 동영상이 갑자기 다시 재생될 수 있습니다. -• 저화질 Shorts 재생바 썸네일이 표시됩니다. -• Kids 동영상을 재생할 수 없습니다." - Android VR - "클라이언트를 iOS 클라이언트로 변경합니다. - -알려진 문제점: -• HDR 동영상은 하드웨어 AV1 디코딩을 지원하는 AP가 탑재된 기기에서만 재생할 수 있습니다. -• 브랜드 계정의 시청 기록에서 '마지막으로 시청한 동영상 시간'이 저장되지 않습니다." - "클라이언트를 iOS 클라이언트로 변경합니다. - -알려진 문제점: -• HDR 동영상은 하드웨어 AV1 디코딩을 지원하는 AP가 탑재된 기기에서만 재생할 수 있습니다. -• 브랜드 계정에서는 시청 기록이 작동되지 않을 수 있습니다." - iOS - 이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다. "기기 크기 정보를 최대값으로 변경합니다. 높은 기기 크기 정보가 필요한 일부 동영상에서는 고화질 동영상 값이 잠금 해제될 수 있지만 모든 동영상에는 적용되지 않습니다." 기기 크기 정보 변경하기 - "피드 동영상에 대한 플레이어 매개변수를 변경하지 않습니다. + iOS 동영상 코덱을 AVC (H.264), VP9 또는 AV1으로 활성화합니다.\n\n• VP9 코덱 응답을 받는 경우, 일부 동영상을 재생하면 일부 화질 값들이 누락될 수 있습니다. + iOS 동영상 코덱을 AVC (H.264)로 활성화합니다.\n\n• 일부 VP9 코덱 동영상을 재생하면 누락되었던 화질 값들이 표시될 수 있습니다.\n• 최대 화질 값이 1080p이므로 초고화질 동영상을 재생할 수 없습니다.\n• HDR 동영상을 재생할 수 없습니다. + iOS AVC (H.264) 강제로 활성화하기 + "이 설정을 활성화하면 배터리 수명이 향상되고 재생 끊김 현상이 해결될 수 있습니다. -알려진 문제점: 피드 동영상을 1분 정도 재생한 후에 재생 문제가 발생합니다." - "피드 동영상에 대한 플레이어 매개변수를 변경합니다. - -알려진 문제점: 자동으로 재생된 피드 동영상이 시청 기록에 저장됩니다." - 피드 동영상 플레이어 매개변수 변경하기 - "플레이어 매개변수를 변경하여 재생 문제를 방지합니다. - -알려진 문제점: -• 향상된 비트 전송률을 사용할 수 없습니다. -• 유료 동영상에서 재생바 미리보기 썸네일을 표시할 수 없습니다. -• 오프라인 저장이 작동되지 않을 수 있습니다. -• 동영상이 마지막으로 시청한 시간부터 시작되지 않을 수 있습니다." - 플레이어 매개변수 변경하기 +AVC (H.264)의 최대 화질 값은 1080p이며 동영상을 재생하면 VP9 또는 AV1보다 더 많은 인터넷 데이터가 사용됩니다." + 알려진 문제점 + • 동영상이 재생되지 않을 수 있습니다. + \'스트리밍 데이터를 가져오는 데 사용되는 클라이언트\'가 전문 통계에서 숨겨집니다. + \'스트리밍 데이터를 가져오는 데 사용되는 클라이언트\'가 전문 통계에서 표시됩니다. + 전문 통계에서 표시하기 + "스트리밍 데이터를 변경하지 않습니다.\n동영상 재생 문제가 발생할 수 있습니다." + 스트리밍 데이터를 변경합니다. + 스트리밍 데이터 변경하기 + Android + Android TV + Android VR + iOS + 기본 클라이언트 + 이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다. 잠금 화면 모드에서 스와이프 제스처를 비활성화합니다. 잠금 화면 모드에서 스와이프 제스처를 활성화합니다. 잠금 화면 모드에서 스와이프 제스처 활성화하기 @@ -1514,18 +1482,10 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요." • 광고 설정에 있는 일부 설정들을 비활성화하려면 이 설정도 비활성화해야 합니다." 만들기 버튼과 알림 버튼 위치 교환하기 YouTube - "• Google 계정의 시청 기록 설정을 따릅니다. -• 광고 차단기, 광고 차단 기능이 내장된 DNS 또는 VPN으로 인해 시청 기록이 작동되지 않을 수 있습니다." - • Google 계정의 시청 기록 설정을 따릅니다.\n• 광고 차단기, 광고 차단 기능이 내장된 DNS 또는 VPN을 우회하기 위해 도메인을 변경합니다. • 시청 기록이 차단됩니다. - "• Google 계정의 시청 기록 설정을 따릅니다. -• 광고 차단기, 광고 차단 기능이 내장된 DNS 또는 VPN으로 인해 시청 기록이 작동되지 않을 수 있습니다. -• 브랜드 계정에서는 시청 기록이 작동되지 않을 수 있습니다. -('클라이언트 변경하기' 설정이 활성화되어 있고, iOS 클라이언트로 변경되어 있는 경우)" - "• Google 계정의 시청 기록 설정을 따릅니다. -• 광고 차단기, 광고 차단 기능이 내장된 DNS 또는 VPN을 우회하기 위해 도메인을 변경합니다. -• 브랜드 계정에서는 시청 기록이 작동되지 않을 수 있습니다. -('클라이언트 변경하기' 설정이 활성화되어 있고, iOS 클라이언트로 변경되어 있는 경우)" + "• Google 계정의 시청 기록 설정을 따릅니다. +• '광고 차단기', '광고 & 추적 차단 기능이 내장된 DNS 또는 VPN'으로 인해 시청 기록이 작동되지 않을 수 있습니다." + • Google 계정의 시청 기록 설정을 따릅니다. 시청 기록 상태 YouTube 시청 기록을 관리하려면 여기를 누르세요. 전체 기록 관리 diff --git a/src/main/resources/youtube/translations/pl-rPL/strings.xml b/src/main/resources/youtube/translations/pl-rPL/strings.xml index 839c7d418..a70c9cabd 100644 --- a/src/main/resources/youtube/translations/pl-rPL/strings.xml +++ b/src/main/resources/youtube/translations/pl-rPL/strings.xml @@ -127,7 +127,9 @@ Stuknij tutaj, aby dowiedzieć się więcej o DeArrow." Wyłączone Oświetlenie kinowe Włączone - Wyłączone + "Wyłączone + +Ograniczenie: ustawienie nie działa na Shortsy." Wymuszone ścieżki dźwiękowe Włączone Wyłączone @@ -312,9 +314,9 @@ Pobierz %2$s ze strony internetowej." Ostrzeżenie %s nie jest zainstalowany. Proszę go zainstalować. Nazwa pakietu zainstalowanej zewnętrznej aplikacji od pobierania, takiej jak YTDLnis. - Nazwa pakietu aplikacji od pobierania + Nazwa pakietu aplikacji od pobierania (playlisty) Nazwa pakietu zainstalowanej zewnętrznej aplikacji od pobierania, takiej jak NewPipe lub YTDLnis. - Nazwa pakietu aplikacji od pobierania + Nazwa pakietu aplikacji od pobierania (filmy) "Filmy zostaną przełączone w tryb pełnoekranowy w następujących sytuacjach: • Po rozpoczęciu filmu @@ -499,10 +501,12 @@ Ograniczenie: obrazy postów społeczności w trybie pełnoekranowym mogą być "Strona główna / subskrypcji / wyniki wyszukiwania są filtrowane, by ukryć kontent, który zawiera słowa z filtra. Ograniczenia: -• Niektóre Shortsy mogą nie być ukryte. -• Niektóre elementy interfejsu użytkownika mogą nie być ukryte. -• Wyszukiwanie słowa z filtru może nie pokazywać żadnych wyników." +• Shortsy nie mogą być ukryte poprzez nazwę kanału +• Niektóre elementy interfejsu użytkownika mogą nie być ukryte +• Wyszukiwanie słowa z filtru może nie pokazywać żadnych wyników" O filtrowaniu słów + Otoczenie słowa/frazy podwójnym cudzysłowem może zapobiec częściowemu dopasowywaniu tytułów filmów i nazw kanałów.<br><br>Dla przykładu,<br><b>\"ai\"</b> ukryje film: Jak działa AI?</b><br>, lecz nie ukryje: Co oznacza uczciwy użytek?</b> + Uwzględnij całe wyrazy Wyłączone Włączone W komentarzach @@ -511,6 +515,9 @@ Ograniczenia: Włączone Na stronie głównej "Słowa i frazy, które mają być ukryte, oddzielone nowymi liniami. + +Słowami mogą być nazwy kanałów, jak też jakikolwiek tekst z tytułu filmu. + Słowa z wielkimi literami w środku muszą być wpisane z odpowiednią wielkością liter (np. iPhone, TikTok, LeBlanc)." Słowa, które mają być ukryte Wyłączone @@ -519,8 +526,11 @@ Słowa z wielkimi literami w środku muszą być wpisane z odpowiednią wielkoś Wyłączone Włączone Na stronie subskrypcji - Słowo \'%1$s\' ukryje wszystkie filmy. - Nieprawidłowe słowo. Nie można użyć: \'%s\' jako filtru + Słowo ukryje wszystkie filmy: %s. + Nie można użyć słowa: %s. + Dodaj cudzysłowy, by użyć słowa: %s. + Słowo zawiera sprzeczne deklaracje: %s. + Słowo jest za krótkie i wymaga cudzysłowu: %s. Widoczne Ukryte Najnowsze posty @@ -590,9 +600,6 @@ Słowa z wielkimi literami w środku muszą być wpisane z odpowiednią wielkoś Widoczny Ukryty Przycisk od minimalizowania filmu - Widoczne - Ukryte - Menu od oświetlenia kinowego Widoczne Ukryte Menu od ścieżki dźwiękowej @@ -761,6 +768,9 @@ Napisy" Widoczny Ukryty Przycisk od łapkowania w dół + "Widoczne" + "Ukryte" + Pływające przyciski nad tytułami Widoczne Ukryte Etykiety z linkami do całych filmów @@ -776,9 +786,9 @@ Napisy" Widoczny\n\nPrzycisk cofania w nagłówku nie będzie ukryty. Ukryty\n\nPrzycisk cofania w nagłówku nie będzie ukryty. Nagłówek czatu transmisji na żywo - Widoczne - Ukryte - Etykiety z lokalizacjami + Widoczny + Ukryty + Przycisk od lokalizacji Widoczny Ukryty Pasek nawigacji @@ -800,9 +810,9 @@ Napisy" Widoczny Ukryty Przycisk od zapisywania dźwięku do playlisty - Widoczne - Ukryte - Sugestie wyszukiwania + Widoczny + Ukryty + Przycisk od sugestii wyszukiwań Widoczny Ukryty Przycisk od udostępniania @@ -825,6 +835,9 @@ Ograniczenie: Nagłówki z tytułami będą ukryte w wynikach wyszukiwania."Widoczny Ukryty Przycisk do sklepu + Widoczny + Ukryty + Przycisk od sklepu Widoczny Ukryty Przycisk do dźwięku @@ -843,6 +856,15 @@ Ograniczenie: Nagłówki z tytułami będą ukryte w wynikach wyszukiwania."Widoczny Ukryty Pasek z narzędziami + Widoczny + Ukryty + Przycisk od trendów + Widoczny + Ukryty + Przycisk \'Użyj tego szablonu\' + Widoczny + Ukryty + Przycisk \'Użyj tego dźwięku\' Widoczne Ukryte Tytuły filmów @@ -1021,8 +1043,6 @@ Stuknij i przytrzymaj, by otworzyć okno ustawień białej listy. Pod paskiem postępu filmu Rekomendowane filmy Półki z Shortsami - O ustawieniu - Klient do oszukiwania Użyte narzędzie Filtr ilości wyświetleń Ukryj bądź pokaż elementy w menu konta i zakładki Ty @@ -1076,8 +1096,8 @@ Stuknij i przytrzymaj, by otworzyć okno ustawień białej listy. Ukryj lub pokazuj przyciski w odtwarzaczu Shortsów Odtwarzacz Shortsów Shortsy - Oszukuj klienta, by zapobiec problemom z odtwarzaniem. - Oszukuj klienta + Oszukuj strumień danych, by zapobiec problemom z odtwarzaniem + Oszukuj strumień danych Sterowanie przesuwaniem Ukryj lub pokazuj przyciski na pasku narzędzi, takie jak pasek wyszukiwania, nagłówek i inne Pasek narzędzi @@ -1098,10 +1118,16 @@ Po około 20 sekundach ładowania kodek zostanie zmieniony." Zmiany prędkości odtwarzania dotyczą tylko bieżącego filmu Zmiany prędkości odtwarzania dotyczą wszystkich filmów Zapamiętuj zmiany prędkości odtwarzania + Wyłączone + Włączone + Komunikaty o zmianie domyślnej prędkości odtwarzania Zmieniono domyślną prędkość odtwarzania na %s. Zmiany jakości dotyczą tylko bieżącego filmu Zmiany jakości dotyczą wszystkich filmów Zapamiętuj zmiany jakości filmu + Wyłączone + Włączone + Komunikaty o zmianie domyślnej jakości filmów Zmieniono domyślną jakość podczas używania sieci mobilnej na %s. Nie udało się zmienić jakości obrazu. Zmieniono domyślną jakość podczas używania Wi-Fi na %s. @@ -1192,6 +1218,7 @@ Ograniczenie: Liczba łapek w dół może nie być widoczna, gdy użytkownik nie Zmień Adres API Adres SponsorBlock używany do wykonywania połączeń z serwerem. Minimalny czas segmentu + Nieprawidłowy czas trwania. Segmenty krótsze niż ta wartość (w sekundach) nie będą pokazywane ani pomijane. Śledzenie liczby pominięć Wyłączone @@ -1357,12 +1384,6 @@ Ograniczenie: Liczba łapek w dół może nie być widoczna, gdy użytkownik nie Dolny margines panelu meta Naciśnij i przytrzymaj czas, aby zmienić status powtarzania Shortsów Akcja po długim naciśnięciu czasu - Ukryty - Widoczny - Komunikat przy zmianie domyślnej jakości filmu - Ukryty - Widoczny - Komunikat przy zmianie domyślnej prędkości odtwarzania "Tytuły filmów w trybie pełnoekranowym są widoczne. Ograniczenie: tytuły filmów znikają po stuknięciu w nie." @@ -1406,80 +1427,29 @@ Informacje: Zmieni to wygląd i rzeczy aplikacji, lecz mogą wystąpić nieznane efekty uboczne. Jeśli później zostanie to wyłączone, rekomendowane jest usunięcie danych aplikacji, aby zapobiec błędom w interfejsie." - Zastępczy - Ogólne - Transmisje na żywo - Android - Klient Testowy dla Androida - Android TV - Android VR - iOS - Shortsy, Klipy - Ukryta - Widoczna - Informacja w statystykach dla nerdów - "Wyłączone. Odtwarzanie filmu może nie działać." - Włączone - Oszukiwanie klienta - "Oszukuje klienta do Klienta Testowego dla Androida. - -Efekty uboczne: -• Brak filmów z HDR -• Brak menu od ścieżki dźwiękowej -• Napisy mogą być niedostępne -• Brakuje przycisku od pobierania -• Brakuje kart końcowych w filmach -• Niska jakość podglądu podczas przewijania filmu" - Klient Testowy dla Androida - "Oszukuje klienta do Android TV (YouTube TV). - -Efekty uboczne: -• Brak filmów z HDR -• Brak menu od ścieżki dźwiękowej -• Napisy mogą być niedostępne -• Brakuje przycisku od pobierania -• Niska jakość podglądu podczas przewijania fiilmu -• Niektóre transmisje na żywo mogą nie być odtwarzane" - Android TV - "Oszukuje klienta do Android VR. - -Efekty uboczne: -• Brak filmów z HDR -• Brakuje przycisku od pobierania na pasku akcji -• Zatrzymane filmy mogą zostać losowo wznowione -• Niska jakość podglądu podczas przewijania Shortsów -• Filmy dla dzieci nie mogą zostać odtworzone" - Android VR - "Oszukuje klienta do iOS. - -Efekty uboczne: -• Filmy z HDR są wspierane jedynie przy kodeku AV1 -• Czas oglądania filmu w historii oglądania nie jest zapisywany na firmowych kontach" - "Oszukuje klienta do iOS. - -Efekty uboczne: -• Filmy z HDR są wspierane jedynie przy kodeku AV1 -• Historia odtwarzania nie działa na firmowych kontach" - iOS - Wyłączenie tej opcji może spowodować problemy z odtwarzaniem filmów. "Oszukuje rozdzielczość urządzenia do maksymalnej wartości. Wysoka jakość może być odblokowana na niektórych filmach, które wymagają wysokiej rozdzielczości urządzenia, lecz nie na wszystkich." Oszukaj rozdzielczość urządzenia - "Parametry nie są oszukiwane na stronie głównej. - -Ograniczenie: filmy na stronie głównej będą odtwarzane przez mniej niż minutę przed napotkaniem problemów z odtwarzaniem." - "Parametry są oszukiwane na stronie głównej. + Wyłączone + Włączone + Wymuś kodek iOS AVC (H.264) + "Włączenie tego ustawienia może poprawić żywotność baterii i naprawić zacinanie się filmów. -Ograniczenie: automatycznie odtwarzane filmy będą zapisywane do historii oglądania." - Oszukaj parametry na stronie głównej - "Oszukuje parametry odtwarzacza, aby uniknąć problemów z odtwarzaniem. - -Ograniczenia: -• Zwiększony bitrate nie jest dostępny. -• Brak podglądu podczas przewijania dla płatnych filmów. -• Pobieranie może nie działać. -• Filmy mogą nie być rozpoczynane od momentu ostatniego oglądania." - Oszukaj parametry odtwarzacza +Kodek AVC (H.264) obsługuje maksymalnie rozdzielczość 1080p, a odtwarzanie filmów wykorzystuje więcej danych internetowych niż VP9 i AV1." + Efekty uboczne oszukiwania + • Filmy mogą się nie odtwarzać + Ukryta + Widoczna + Informacja w statystykach dla nerdów + "Wyłączone. Odtwarzanie filmów może nie działać" + Włączone + Oszukuj strumień danych + Android + Android TV + Android VR + iOS + Domyślny klient + Wyłączenie tej opcji może spowodować problemy z odtwarzaniem filmów. Wyłączone Włączone Przesuwanie podczas trybu blokady ekranu @@ -1502,17 +1472,10 @@ Ograniczenia: • Powinieneś wyłączyć to ustawienie jeśli chcesz, by reklamy w filmach były widoczne." Zamień przyciski przesyłania i powiadomień Domyślny - "• Stosuje się do ustawień historii oglądania konta Google -• Historia oglądania może nie działać przez DNS lub VPN" - • Stosuje się do ustawień historii oglądania konta Google • Historia oglądania nie działa - "• Stosuje się do ustawień historii oglądania konta Google -• Historia oglądania może nie działać przez DNS lub VPN -• Historia oglądania może nie działać na firmowym koncie -(Gdy oszukiwanie klienta jest włączone i wybrano klienta iOS)" - "• Stosuje się do ustawień historii oglądania konta Google -• Historia oglądania może nie działać na firmowym koncie -(Gdy oszukiwanie klienta jest włączone i wybrano klienta iOS)" + "• Stosuje się do ustawień historii oglądania konta Google +• Historia oglądania może nie działać przy używaniu DNS lub VPN" + • Stosuje się do ustawień historii oglądania konta Google O historii oglądania Stuknij, aby otworzyć zarządzanie historią oglądania YouTube. Zarządzaj całą historią diff --git a/src/main/resources/youtube/translations/pt-rBR/missing_strings.xml b/src/main/resources/youtube/translations/pt-rBR/missing_strings.xml index 05db04e9a..a60965d1f 100644 --- a/src/main/resources/youtube/translations/pt-rBR/missing_strings.xml +++ b/src/main/resources/youtube/translations/pt-rBR/missing_strings.xml @@ -19,10 +19,55 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/pt-rBR/strings.xml b/src/main/resources/youtube/translations/pt-rBR/strings.xml index 3e56020d8..6cf2e3ada 100644 --- a/src/main/resources/youtube/translations/pt-rBR/strings.xml +++ b/src/main/resources/youtube/translations/pt-rBR/strings.xml @@ -126,7 +126,7 @@ Toque aqui para saber mais sobre o DeArrow." O modo ambiente está desativado. Desativar o modo ambiente As faixas de áudio automáticas forçadas estão ativadas. - As faixas de áudio automáticas forçadas estão desativadas. + "As faixas de áudio automáticas forçadas estão desativadas." Desativar faixas de áudio automáticas forçadas As legendas automáticas forçadas estão ativadas. As legendas automáticas forçadas estão desativadas. @@ -585,9 +585,6 @@ Palavras com letras maiúsculas no meio devem ser inseridas com maiúsculas (ou O botão minimizar será exibido. O botão minimizar está oculto. Ocultar botão minimizar - O menu modo ambiente será exibido. - O menu modo ambiente está oculto. - Ocultar menu modo ambiente O menu faixa de áudio será exibido. O menu faixa de áudio está oculto. Ocultar menu faixa de áudio @@ -772,9 +769,6 @@ Legendas" O cabeçalho do chat ao vivo será exibido.\n\nO botão Voltar no cabeçalho não será ocultado. O cabeçalho do chat ao vivo está oculto.\n\nO botão Voltar no cabeçalho não será ocultado. Ocultar o cabeçalho do chat ao vivo - O rótulo de localização será exibido. - O rótulo de localização está oculto. - Ocultar rótulo de localização A barra de navegação será exibida. A barra de navegação está oculta. Ocultar barra de navegação @@ -796,9 +790,6 @@ Legendas" Salvar música na lista de reprodução será exibida. Salvar música na lista de reprodução está oculta. Ocultar botão salvar música na lista de reprodução - As sugestões de pesquisa serão exibidas. - As sugestõrs de pesquisa estão ocultas. - Ocultar sugestões de pesquisa O botão compartilhar será exibido. O botão compartilhar está oculto. Ocultar botão compartilhar @@ -1011,8 +1002,6 @@ Toque e segure para abrir a caixa de diálogo de configuração da lista branca. Ações rápidas Vídeo recomendado Painel de shorts - Sobre - Opções de cliente falso Ferramenta usada Filtro por contagem de visualização Ocultar ou mostrar elementos no menu de contas e na aba Você. @@ -1066,8 +1055,6 @@ Toque e segure para abrir a caixa de diálogo de configuração da lista branca. Ocultar ou mostrar componentes no reprodutor de shorts. Reprodutor de shorts Shorts - Falsificar o cliente para evitar problemas de reprodução. - Falsificar cliente Controles deslizantes Ocultar ou alterar componentes localizados na barra de ferramentas, como botões da barra de ferramentas, barra de pesquisa, cabeçalho. Barra de ferramentas @@ -1088,10 +1075,16 @@ Após cerca de 20 segundos de buffer, muda para um codec diferente." As alterações de velocidade de reprodução só se aplicam ao vídeo atual. As alterações de velocidade de reprodução aplicam-se a todos os vídeos. Lembrar alterações na velocidade de reprodução + Uma notificação flutuante não será exibida quando mudar a velocidade padrão de reprodução. + Uma notificação flutuante será exibida quando mudar a velocidade padrão de reprodução. + Mostrar uma notificação flutuante Alterando a velocidade padrão para %s. As alterações de qualidade só se aplicam ao vídeo atual. As alterações de qualidade aplicam-se a todos os vídeos. Lembrar alterações na qualidade do vídeo + Uma notificação flutuante não será exibida quando mudar a qualidade padrão de vídeo. + Uma notificação flutuante será exibida quando mudar a qualidade padrão de vídeo. + Mostrar uma notificação flutuante Alterando a qualidade padrão de dados móveis para %s. Falha ao definir a qualidade de vídeo. Alterando a qualidade padrão do Wi-Fi para %s. @@ -1182,6 +1175,7 @@ Limitação: Dislikes pode não aparecer no modo incógnito." Alterar URL da API O endereço que o SponsorBlock usa para fazer chamadas ao servidor. Duração mínima do segmento + Duração de tempo inválida. Segmentos menores que este valor (em segundos) não serão mostrados ou ignorados. Ativar rastreamento de contagem de pulos O rastreamento de contagem de pulos não está ativado. @@ -1383,78 +1377,9 @@ Limitação: Título do vídeo desaparece quando clicado." Isso mudará a aparência e os recursos do aplicativo, mas poderão ocorrer efeitos colaterais desconhecidos. Se for desativado posteriormente, é recomendável limpar os dados do aplicativo para evitar bugs na interface do usuário." - Vídeo não reproduzível - Geral - Transmissões ao vivo - Android - Suite de teste Android - Android TV - Android VR - iOS - Shorts, Clipes - O cliente falsificado é oculto em Estatísticas para nerds. - O cliente falsificado é exibido em Estatísticas para nerds. - Exibir em Estatísticas para nerds - "O cliente não é falsificado. A reprodução de vídeo pode não funcionar." - O cliente é falsificado. - Falsificar cliente - "Cliente falso para suite de teste Android. - -Os efeitos colaterais incluem: -• Sem vídeo HDR. -• O menu da faixa de áudio está ausente. -• As legendas podem não estar disponíveis." - Suite de teste Android - "Cliente falso para Android TV (YouTube TV). - -Os efeitos colaterais incluem: -• Sem vídeo HDR. -• O menu da faixa de áudio está ausente. -• As legendas podem não estar disponíveis. -• Algumas transmissões ao vivo não são suportadas para reprodução." - Android TV - "Cliente falso para Android VR. - -Os efeitos colaterais incluem: -• Sem vídeo HDR. -• O botão de download da barra de ação do vídeo está ausente. -• Os vídeos pausados podem ser retomados aleatoriamente. -• Miniaturas da barra de busca de Shorts de baixa qualidade. -• Os vídeos infantis não são reproduzidos." - Android VR - "Cliente falso para iOS. - -Os efeitos colaterais incluem: -• Vídeo HDR é suportado somente no codec AV1. -• O tempo de exibição não é salvo no histórico de exibição em conta de marca." - "Cliente falso para iOS. - -Os efeitos colaterais incluem: -• Sem vídeo HDR. -• Qualidades de vídeo maiores podem estar faltando. -• O histórico de exibição não funciona com uma conta de marca. -• As transmissões ao vivo não podem ser reproduzidas apenas como áudio. -• Transmissões ao vivo não disponíveis no Android 8.0." - iOS - Desativar esta configuração pode causar problemas de reprodução de vídeo. "Falsifica as dimensões do dispositivo para o valor máximo. A alta qualidade pode ser desbloqueada em alguns vídeos que exigem dimensões elevadas do dispositivo, mas não em todos os vídeos." Falsificar dimensões do dispositivo - "Parâmetro do reprodutor não falsificado para vídeos de feed. - -Limitação: Os vídeos do feed serão reproduzidos por menos de 1 minuto antes de encontrarem problemas de reprodução." - "Falsificando parâmetro do reprodutor para vídeos do feed. - -Limitação: Os vídeos do feed reproduzidos automaticamente aparecerão no seu histórico de exibição." - Falsificar parâmetro do reprodutor no feed - "Falsifica os parâmetros do reprodutor para evitar problemas de reprodução. - -Limitações: -• A taxa de bits aprimorada não está disponível. -• Não há miniaturas da barra de progresso para vídeos pagos. -• Os downloads off-line podem não funcionar. -• O vídeo pode não começar a partir do último horário assistido." - Falsificar parâmetro do reprodutor Os gestos de deslize estão desativados no modo \'Tela de bloqueio\'. Os gestos de deslize estão ativados no modo \'Tela de bloqueio\'. Gestos de deslize no modo \'Tela de bloqueio\' @@ -1477,17 +1402,7 @@ Limitações: • Você deve desativar esta configuração para tornar os anúncios em vídeo visíveis." Alternar criar com notificações Padrão - "• Segue as configurações do histórico de exibição da conta do Google. -• O histórico de exibição pode não funcionar devido ao DNS ou à VPN." - • Segue as configurações do histórico de exibição da conta do Google. • O histórico de exibição não funciona. - "• Segue as configurações do histórico de exibição da conta do Google. -• O histórico de exibição pode não funcionar devido ao DNS ou à VPN. -• O histórico de exibição pode não funcionar com uma conta de marca. -(A configuração do cliente falso está ativada e o cliente iOS está selecionado)" - "• Segue as configurações do histórico de exibição da conta do Google. -• O histórico de exibição pode não funcionar com uma conta de marca. -(A configuração do cliente falso está ativada e o cliente iOS está selecionado)" Sobre o histórico de exibição Clique para abrir o gerenciamento do histórico de exibição do YouTube. Gerenciar todo o histórico diff --git a/src/main/resources/youtube/translations/ru-rRU/missing_strings.xml b/src/main/resources/youtube/translations/ru-rRU/missing_strings.xml index d0d5f0151..824c6d155 100644 --- a/src/main/resources/youtube/translations/ru-rRU/missing_strings.xml +++ b/src/main/resources/youtube/translations/ru-rRU/missing_strings.xml @@ -7,10 +7,52 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. diff --git a/src/main/resources/youtube/translations/ru-rRU/strings.xml b/src/main/resources/youtube/translations/ru-rRU/strings.xml index 5dd91e696..a75f28719 100644 --- a/src/main/resources/youtube/translations/ru-rRU/strings.xml +++ b/src/main/resources/youtube/translations/ru-rRU/strings.xml @@ -130,7 +130,7 @@ Окружающая подсветка отключена. Отключить окружающую подсветку Принудительные автоматические звуковые дорожки включены. - Принудительные автоматические звуковые дорожки отключены. + "Принудительные автоматические звуковые дорожки отключены." Принудительные автоматические звуковые дорожки Принудительные автоматические субтитры включены. Принудительные автоматические субтитры отключены. @@ -379,9 +379,9 @@ Shorts Водяной знак канала отображен. Водяной знак канала скрыт. Водяной знак канала - Секции глав отображены. - Секции глав скрыты. - Секции глав + Секция \"Главы\" отображена. + Секция \"Главы\" скрыта. + Секция \"Главы\" Секция эпизодов отображена. Секция эпизодов скрыта. Секция эпизодов @@ -595,9 +595,6 @@ Shorts Кнопка \"Свернуть\" отображена. Кнопка \"Свернуть\" скрыта. Кнопка \"Свернуть\" - Меню \"Окружающая подсветка\" отображено. - Меню \"Окружающая подсветка\" скрыто. - Меню \"Окружающая подсветка\" Меню \"Звуковая дорожка\" отображено. Меню \"Звуковая дорожка\" скрыто. Меню \"Звуковая дорожка\" @@ -787,9 +784,6 @@ Shorts Кнопка возврата в заголовке не будет скрыта. Заголовок онлайн чата - Метка местоположения отображена. - Метка местоположения скрыта. - Метка местоположения Панель навигации отображена. Панель навигации скрыта. Панель навигации @@ -811,9 +805,6 @@ Shorts Кнопка \"Сохранить звук в плейлист\" отображена. Кнопка \"Сохранить звук в плейлист\" скрыта. Кнопка \"Сохранить звук в плейлист\" - Подсказки поиска отображены. - Подсказки поиска скрыты. - Подсказки поиска Кнопка \"Поделиться\" отображена. Кнопка \"Поделиться\" скрыта. Кнопка \"Поделиться\" @@ -903,9 +894,9 @@ Shorts Кнопка \"Уведомления\" отображена. Кнопка \"Уведомления\" скрыта. Кнопка \"Уведомления\" - Секции транскрипций отображены. - Секции транскрипций скрыты. - Секции транскрипций + Секция \"Расшифровка видео\" отображена. + Секция \"Расшифровка видео\" скрыта. + Секция \"Расшифровка видео\" Реклама в видео отображена. Реклама в видео скрыта. Реклама в видео @@ -1042,8 +1033,6 @@ Shorts Быстрые действия Рекомендованное видео Настройки скрытия Shorts - О подмене клиента - Параметры подмены клиента Используемые инструменты Фильтр по количеству просмотров Настройка меню аккаунта и вкладки Вы. @@ -1097,8 +1086,6 @@ Shorts Компоненты в плеере Shorts. Плеер Shorts Shorts - Подменить клиент для предотвращения проблем с воспроизведением видео. - Подмена клиента Управление жестами Скрыть или изменить компоненты на панели инструментов - строка поиска, кнопки и заголовок. Панель инструментов @@ -1119,10 +1106,16 @@ Shorts Изменяется скорость воспроизведения у текущего видео. Изменяется скорость воспроизведения у всех видео. Запомнить скорость воспроизведения + Всплывающее уведомление скрыто. + Всплывающее уведомление отображено. + Уведомление о выбранной скорости Скорость воспроизведения по умолчанию изменена на %s. Изменяется качество у текущего видео. Изменяется качество у всех видео. Запомнить изменения качества видео + Всплывающее уведомление скрыто. + Всплывающее уведомление отображено. + Уведомление о выбранном качестве Качество видео в моб. сети изменено на %s. Ошибка установки качества видео. Качество видео в Wi-Fi сети изменено на %s. @@ -1213,6 +1206,7 @@ Shorts Изменить API адреса сервера Адрес, используемый SponsorBlock для связи с сервером. Минимальная длительность сегмента + Недопустимая, минимальная, длительность времени. Сегменты, продолжительность которых короче, чем установленное значение (в секундах), не будут пропущены или показаны в плеере. Подсчет количества пропусков Отслеживание количества пропусков не включено. @@ -1418,79 +1412,8 @@ Shorts Это изменит вид и функции приложения, но могут быть побочные эффекты. При отключении подмены, рекомендуется очистить данные приложения для предотвращения проблем с пользовательским интерфейсом." - Подмена для невоспроизводимых видео - Подмена для основных видео - Подмена для трансляций - Android - Тестовый набор Android - Android TV - Android VR - iOS - Подмена для Shorts и Эпизодов - Клиент подмены в статистике для сисадминов скрыт. - Клиент подмены в статистике для сисадминов отображен. - Клиент подмены в статистике для сисадминов - "Клиент не подменен.\nВоспроизведение видео может не работать." - Клиент подменен. - Состояние подмены клиента - "При подмене клиента под тестовый набор Android. - -Ограничения: -• Нет HDR-видео. -• Отсутствует меню аудиодорожки и меню скорости воспроизведения. -• Субтитры могут быть недоступны." - Используется тестовый набор Android - "При подмене клиента под Android TV (YouTube TV). - -Ограничения: -• Нет HDR-видео. -• Отсутствует меню аудиодорожки и меню скорости воспроизведения. -• Субтитры могут быть недоступны. -• Некоторые трансляции не поддерживают воспроизведение." - Используется Android TV - "При подмене клиента под Android VR. - -Ограничения: -• Нет HDR-видео. -• Пауза в видео может работать некорректно. -• Миниатюры шкалы воспроизведения Shorts будут низкого качества. -• Детские видео не воспроизводятся." - Используется Android VR - "Подмена клиента на iOS. - -Ограничения: -• HDR видео поддерживается только с кодеком AV1. -• Время просмотра не сохраняется в истории, на каналах бренда." - "При подмене клиента под iOS. - -Ограничения: -• Нет HDR-видео. -• Отсутствует меню скорости воспроизведения. -• Видео высокого качества может отсутствовать. -• История просмотра не работает с учетной записью бренда. -• Прямые трансляции не могут воспроизводиться в фоновом режиме -• Прямые трансляции недоступны на Android 8.0." - Используется iOS - Отключение этой настройки вызовет проблемы с воспроизведением видео. "Подменяет размеры устройства, для разблокировки более высокого качества видео, которое может быть недоступно на вашем устройстве." Подмена размеров устройства - "Подмена параметров плеера в ленте отключена. - -Известная проблема: -Видео в ленте смогут нормально воспроизводиться меньше минуты до начала проблем с воспроизведением." - "Подмена параметров плеера в ленте включена. - -Ограничения: -Видео, воспроизводимые автоматически в ленте, будут появляться в истории просмотра." - Подмена параметров плеера в ленте - "Подменяет параметры плеера для предотвращения проблем с воспроизведением. - -Ограничения: -• Высокий битрейт недоступен. -• Миниатюры шкалы воспроизведения не работают в видео \"Только для спонсоров\". -• Офлайн загрузка видео может не работать. -• Видео может начинаться не с последнего времени просмотра." - Подмена параметров плеера Жесты в режиме \"Блокировка экрана\" отключены. Жесты в режиме \"Блокировка экрана\" включены. Жесты в режиме \"Блокировка экрана\" @@ -1513,17 +1436,10 @@ Shorts • Чтобы видеореклама была видна, следует отключить этот параметр." Подмена кнопки \"Создать\" на \"Уведомления\" По умолчанию - "• Следует настройкам истории просмотров аккаунта Google. -• История просмотра может не работать из-за DNS или VPN." - • Следует настройкам истории просмотров аккаунта Google. • История просмотра не работает. - "• Следует настройкам истории просмотров аккаунта Google. -• История просмотра может не работать из-за DNS или VPN. -• История просмотра может не работать с аккаунтом бренда. -(Настройка клиента подмены включен и выбран клиент iOS)" - "• Следует настройкам истории просмотров аккаунта Google. -• История просмотра может не работать с аккаунтом бренда. -(Настройка клиента подмены включен и выбран клиент iOS)" + "• Статус истории просмотров обычный. +• История просмотров может не работать с DNS или VPN." + • Статус истории просмотров изменен. Об истории просмотра Управление истории просмотра YouTube. Управление всей историей diff --git a/src/main/resources/youtube/translations/tr-rTR/missing_strings.xml b/src/main/resources/youtube/translations/tr-rTR/missing_strings.xml index cea4a801b..09df50f58 100644 --- a/src/main/resources/youtube/translations/tr-rTR/missing_strings.xml +++ b/src/main/resources/youtube/translations/tr-rTR/missing_strings.xml @@ -27,21 +27,68 @@ Native video download button opens the native in-app downloader. Native video download button opens your external downloader. Override video download button + A toast will not be shown when changing the default playback speed. + A toast will be shown when changing the default playback speed. + Show a toast + A toast will not be shown when changing the default video quality. + A toast will be shown when changing the default video quality. + Show a toast + Invalid time duration. Adjust: Mark Start and End Time for segment Verify the Segment Edit the Segment Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed - "Spoof client to iOS. + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. -Side effects include: -• HDR video is supported only on AV1 codec. -• Watch time is not saved in watch history on brand account." +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/tr-rTR/strings.xml b/src/main/resources/youtube/translations/tr-rTR/strings.xml index 1678d7b3c..96ac288a5 100644 --- a/src/main/resources/youtube/translations/tr-rTR/strings.xml +++ b/src/main/resources/youtube/translations/tr-rTR/strings.xml @@ -121,7 +121,7 @@ DeArrow hakkında daha fazla bilgi edinmek için buraya dokunun." Ambiyans modu devre dışı. Ambiyans modunu devre dışı bırak Ses parçalarının kendiliğinden açılması etkin. - Ses parçalarının kendiliğinden açılması kapalı. + "Ses parçalarının kendiliğinden açılması kapalı." Ses parçalarının kendiliğinden açılmasını kapat Altyazılar kendiliğinden açılabiliyor Altyazıların kendiliğinden açılması kapalı @@ -570,9 +570,6 @@ Ortasında büyük harf bulunan kelimeler büyük harfle birlikte girilmelidir ( Videoyu küçült butonu gösteriliyor Videoyu küçült butonu devre dışı. Sol üstteki videoyu küçültme butonunu gizle - \"Ambiyans modu\" menüsü gösteriliyor. - \"Ambiyans modu\" menüsü gizleniyor. - \"Ambiyans modu\" menüsünü gizle \"Ses Parçası\" menüsü gösteriliyor. \"Ses Parçası\" menüsü gizleniyor. Ses parçası menüsünü gizle @@ -753,9 +750,6 @@ Altyazılar" Canlı sohbet başlığı gizlenmedi.\n\nBaşlıktaki geri düğmesi gizlenmeyecek. Canlı sohbet başlığı gizlendi.\n\nBaşlıktaki geri düğmesi gizlenmeyecek. Canlı sohbet başlığını gizle - Konum etiketi görünür - Konum etiketi gizli. - Konum etiketini gizle Gezinme çubuğu gösteriliyor Gezinme çubuğu gizli. Gezinme çubuğunu gizle @@ -777,9 +771,6 @@ Altyazılar" Sesi oynatma listesine kaydetme butonu gösteriliyor. Sesi oynatma listesine kaydetme butonu gizleniyor Sesi oynatma listesine kaydetme butonunu gizle - Arama önerileri gösteriliyor - Arama önerileri gizleniyor - Arama önerilerini gizle \"Paylaş\" butonu gösteriliyor. \"Paylaş\" butonu gizleniyor. Paylaş butonunu gizle @@ -985,8 +976,6 @@ Beyaz liste ayarı iletişim kutusunu açmak için dokunun ve basılı tutun.Hızlı eylemler Önerilen video Shorts rafları - Hakkında - İstemci ayarlarını taklit et Araç kullanıldı İzlenme sayısı filtresi Hesap menüsünde ve siz sekmesinde gizli veya göster. @@ -1040,8 +1029,6 @@ Beyaz liste ayarı iletişim kutusunu açmak için dokunun ve basılı tutun.Shorts oynatıcıdaki bileşenleri gizleyin veya gösterin. Shorts oynatıcı Shorts - Oynatma sorunlarını önlemek için istemciyi taklit et. - İstemciyi taklit et Kaydırma kontrolleri Araç çubuğu düğmeleri, arama çubuğu, başlık gibi araç çubuğunda bulunan bileşenleri gizleyin veya değiştirin. Araç Çubuğu @@ -1357,75 +1344,8 @@ Sınırlama: Tıklandığında video başlığı kayboluyor." Bu, uygulamanın görünümünü ve özelliklerini değiştirecektir ancak bilinmeyen yan etkiler ortaya çıkabilir. Daha sonra kapatılırsa kullanıcı arayüzü hatalarını önlemek için uygulama verilerinin temizlenmesi önerilir." - Oynatılamaz video - Genel - Canlı yayınlar - Android - Android Test Paketi - Android TV - Android VR - iOS - Shorts, Klipler - Taklit edilen istemci meraklılar için istatiklerde gösterilmiyor. - Taklit edilen istemci meraklılar için istatiklerde gösteriliyor. - Meraklılar için istatiklerde göster - "İstemci taklit edilmiyor. Video oynatma çalışmayabilir." - İstemci taklit ediliyor. - İstemciyi taklit et - "İstemciyi Android Testsuite'e taklit etme. - -Yan etkiler şunları içerir: -• HDR video yok. -• Ses parçası menüsü eksik. -• Altyazılar mevcut olmayabilir. -• İndirme düğmesi eksik. -• Bitiş ekranı kartları eksik. -• Düşük kaliteli zaman çubuğu küçük resmi." - Android Test Paketi - "İstemciyi Android TV'ye (YouTube TV) taklit etme. - -Yan etkiler şunları içerir: -• HDR video yok. -• Ses parçası menüsü eksik. -• Altyazılar mevcut olmayabilir. -• İndirme düğmesi eksik. -• Düşük kaliteli arama çubuğu küçük resmi. -• Bazı canlı yayınlar oynatma için desteklenmez." - Android TV - "İstemciyi Android VR'a taklit etme. - -Yan etkiler şunları içerir: -• HDR video yok. -• Video aksiyon çubuğunda indirme butonu gizlidir. -• Duraklatılan videolar rastgele devam ettirilebilir. -• Düşük kaliteli Shorts arama çubuğu küçük resimleri. -• Çocuk videoları oynatılmıyor." - Android VR - "İstemci iOS'a taklit ediliyor. - -Yan etkiler şunları içerir: -• HDR video yalnızca AV1 codec bileşeninde desteklenir. -• İzleme geçmişi bir marka hesabıyla çalışmaz. -• Canlı yayınlar yalnızca ses olarak oynatılamaz." - iOS - Bu ayarı devre dışı bırakmak video oynatma sorunlarına yol açabilir. "Cihaz boyutlarını maksimum değere kadar taklit eder. Yüksek cihaz boyutları gerektiren bazı videolarda yüksek kalitenin kilidi açılabilir ancak tüm videolarda bu durum geçerli olmayabilir." Farklı cihaz boyutlarını taklit et - "Akış videoları için oynatıcı parametresi sahteciliği yapılmıyor - -Bilinen sorun: Akış videoları, oynatma sorunlarıyla karşılaşmadan önce 1 dakikadan daha kısa bir süre oynatılacak" - "Akış videoları için oynatıcı parametresi sahtekarlığı - -Bilinen sorun: Otomatik olarak oynatılan yayın videoları izleme geçmişinizde görünecek" - Ana sayfada da oynatıcı parametresini taklit et - "Oynatma sorunlarını önlemek için oynatıcı parametrelerini taklit eder - -Bilinen sorunlar: -• Gelişmiş bit hızı mevcut değildir -• Ücretli videolar için arama çubuğu küçük resimleri yoktur -• Çevrimdışı indirmeler çalışmayabilir -• Video son İzlenen kısımdan başlamayabilir" - Oynatıcı parametresini taklit et Kaydırma hareketleri \'Kilit ekranı\' modunda devre dışıdır. Kaydırma hareketleri \'Kilit ekranı\' modunda etkindir. \'Kilit ekranı\' modundaki kaydırma hareketleri @@ -1448,17 +1368,7 @@ Bilinen sorunlar: • Video reklamların görünür olması için bu ayarı devre dışı bırakmalısınız." Oluştur düğmesini Bildirimler düğmesi ile yer değiş Stok - "• Google hesabının izleme geçmişi ayarlarını takip eder. -• İzleme geçmişi DNS veya VPN nedeniyle çalışmayabilir." - • Google hesabının izleme geçmişi ayarlarını takip eder. • İzleme geçmişi çalışmaz. - "• Google hesabının izleme geçmişi ayarlarını takip eder. -• İzleme geçmişi DNS veya VPN nedeniyle çalışmayabilir. -• İzleme geçmişi bir marka hesabıyla çalışmayabilir. -(Sahte istemci ayarı açılınca iOS istemcisi seçilir)" - "• Google hesabının izleme geçmişi ayarlarını takip eder. - • İzleme geçmişi bir marka hesabıyla çalışmayabilir. - (Sahte istemci ayarı açık ve iOS istemcisi seçili)" İzleme geçmişi hakkında YouTube izleme geçmişi yönetimini açmak için tıklayın. Tüm geçmişi yönet diff --git a/src/main/resources/youtube/translations/uk-rUA/strings.xml b/src/main/resources/youtube/translations/uk-rUA/strings.xml index 5ecce7a52..47c379f41 100644 --- a/src/main/resources/youtube/translations/uk-rUA/strings.xml +++ b/src/main/resources/youtube/translations/uk-rUA/strings.xml @@ -121,7 +121,9 @@ Кінематографічне освітлення вимкнено. Вимкнути кінематографічне освітлення Примусові автоматичні звукові доріжки увімкнено. - Примусові автоматичні звукові доріжки вимкнено. + "Примусові автоматичні звукові доріжки вимкнено. + +Застереження: Це налаштування не застосовується до Shorts." Вимкнути примусові автоматичні звукові доріжки Примусові авто субтитри увімкнено. Примусові авто субтитри вимкнено. @@ -494,10 +496,12 @@ "Головна/Підписки/Результати пошуку фільтрується, щоб приховати контент, який відповідає ключовим фразам. Застереження: -• Деякі YouTube Shorts не можливо приховати. +• YouTube Shorts не можливо приховати за назвою каналу. • Деякі компоненти інтерфейсу не можливо приховати. • Шукання за ключовим словом може не давати результатів." Про фільтрування ключових слів + Взяття ключового слова/фрази в подвійні лапки запобігатиме частковим збігам назв відео та каналів.<br><br>Наприклад,<br><b>\"ші\"</b> приховає відео: <b>Як працює ШІ?</b><br>але не приховає: <b>Що означає цифра шість?</b> + Лише цілі слова Коментарі не фільтрується. Коментарі фільтрується. Приховати коментарі за ключовими словами @@ -506,6 +510,9 @@ Відео у головній стрічці фільтруються. Приховати відео на головній за ключовими словами. "Ключові слова та фрази для приховування, відокремлені новими рядками. + +Ключовими словами можуть бути назви каналів чи будь-який текст у заголовках відео. + Слова з великими літерами в середині повинні вводитися відповідно регістру (тобто: iPhone, TikTok, LeBlanc)." Ключові слова для приховування Результати пошуку не фільтрується. @@ -514,8 +521,11 @@ Відео у стрічці підписок не фільтруються. Відео у стрічці підписок фільтруються. Приховати відео підписок за ключовими словами - Ключове слово \'%1$s\' приховає всі відео. - Невірне ключове слово. Неможливо використати \'%s\' як фільтр + Ключове слово приховає всі відео: %s. + Неможливо використати ключове слово: %s. + Додайте лапки, щоб використовувати ключове слово: %s. + Ключове слово комплектує з: %s. + Ключове слово занадто коротке і потребує лапок: %s. Останні публікації показується. Останні публікації приховано. Приховати останні публікації @@ -585,9 +595,6 @@ Кнопку згортування показується. Кнопку згортування приховано. Приховати кнопку згортування - Меню кінематографічного освітлення показується. - Меню кінематографічного освітлення приховано. - Приховати меню кінематографічного освітлення Меню звукової доріжки показується. Меню звукової доріжки приховано. Приховати меню звукової доріжки @@ -756,6 +763,9 @@ Кнопку Не подобається показується. Кнопку Не подобається приховано. Приховати кнопку Не подобається + "Плавучі кнопки, такі як 'Використати цей звук' показується у вкладці YouTube Shorts каналу." + "Плавучі кнопки, такі як 'Використати цей звук' приховано у вкладці YouTube Shorts каналу." + Приховати плавучу кнопку Мітку посилання відео показується. Мітку посилання відео приховано. Приховати мітку посилання на повне відео @@ -771,9 +781,9 @@ Заголовок онлайн чату показується.\n\nКнопку назад у заголовку не приховуватиметься. Заголовок онлайн чату приховано.\n\nКнопку назад у заголовку не приховуватиметься. Приховати заголовок онлайн чату - Мітку місцезнаходження показується. - Мітку місцезнаходження приховано. - Приховати мітку місцезнаходження + Кнопку місцезнаходження показується. + Кнопку місцезнаходження приховано. + Приховати кнопку місцезнаходження Панель навігації показується. Панель навігації приховано. Приховати панель навігації @@ -795,9 +805,9 @@ Зберегти звук в списку відтворення показується. Зберегти звук в списку відтворення приховано. Приховати кнопку Зберегти звук в списку відтворення - Пропозиції пошуку показується. - Пропозиції пошуку приховано. - Приховати пропозиції пошуку + Кнопку пропозицій пошуку показується. + Кнопку пропозицій пошуку приховано. + Приховати кнопку пропозицій пошуку Кнопку Поділитися показується. Кнопку Поділитися приховано. Приховати кнопку Поділитися @@ -820,6 +830,9 @@ Кнопка Магазин показується. Кнопку Магазин приховано. Приховати кнопку Магазин + Кнопку Магазин показується. + Кнопку Магазин приховано. + Приховати кнопку Магазин Кнопку Зі звуком показується. Кнопку Зі звуком приховано. Приховати кнопку Зі звуком @@ -838,6 +851,15 @@ Панель інструментів показується. Панель інструментів приховано. Приховати панель інструментів + Кнопку Тренди показується. + Кнопку Тренди приховано. + Приховати кнопку Тренди + Кнопку Використати шаблон показується. + Кнопку Використати шаблон приховано. + Приховати кнопку Використати шаблон + Кнопку Використати цей звук показується. + Кнопку Використати цей звук приховано. + Приховати кнопку Використати цей звук Назву показується. Назву приховано. Приховати назву відео @@ -1019,8 +1041,6 @@ Швидкі дії Рекомендовані відео Полиця Shorts - Про це - Опції імітації клієнта Використано інструменти Фільтр за кількістю переглядів Приховувати чи показувати елементи меню облікового запису і вкладки Ви. @@ -1074,8 +1094,8 @@ Приховувати чи показувати компоненти у плеєрі Shorts. Плеєр Shorts YouTube Shorts - Імітація клієнта для вирішення проблем відтворення. - Імітація клієнта + Підробка даних трансляції для вирішення проблем відтворення. + Підробка даних трансляції Керування жестами Приховати або змінити компоненти, розташовані на панелі інструментів, такі як кнопки панелі інструментів, панель пошуку, заголовок. Панель інструментів @@ -1096,10 +1116,16 @@ Зміни швидкості відтворення застосовуються лише до поточного відео. Зміни швидкості відтворення застосовуються до всіх відео. Запам\'ятовувати зміни швидкості відтворення + Тост не показуватиметься при зміні типової швидкості відтворення. + Тост показуватиметься при зміні типової швидкості відтворення. + Показувати тост Зміна типової швидкості на %s. Зміни якості застосовуються лише до поточного відео. Зміни якості застосовуються до всіх відео. Запам\'ятовувати зміни якості відео + Тост не показуватиметься при зміні типової якості відео. + Тост показуватиметься при зміні типової якості відео. + Показувати тост Зміна типової якості при мобільному з\'єднанні на %s. Не вдалося встановити якість відео. Зміна типової якості при Wi-Fi на %s. @@ -1190,6 +1216,7 @@ Змінити API URL Адреса, яку Спонсорблок використовує для звернень до сервера Мінімальна тривалість сегменту + Недопустима тривалість часу. Сегменти, коротші за це значення (в секундах), не будуть показані або пропущені Увімкнути відстеження кількості пропусків Відстеження кількості пропусків не ввімкнено @@ -1355,12 +1382,6 @@ Нижній відступ метапанелі Натисніть і утримуйте мітку часу для зміни станів повторення Shorts. Дія довго натискання на мітку часу - Тост не показуватиметься при зміні типової якості відео. - Тост показуватиметься при зміні типової якості відео. - Показувати тост при зміні типової якості відео - Тост не показуватиметься при зміні типової швидкості відео. - Тост показуватиметься при зміні типової швидкості відео. - Показувати тост при зміні типової швидкості відео "Показується секцію назви відео в повноекранному режимі. Застереження: Назва відео зникає при натисканні." @@ -1403,80 +1424,29 @@ Це змінить вигляд і функції додатка, але можуть трапитися невідомі побічні ефекти. Якщо пізніше вимкнути, рекомендується очистити дані додатка, щоб запобігти помилкам інтерфейсу." - Відео не відтворюється - Загальні - Прямі трансляції - Android - Тестовий Android - Android TV - Android VR - iOS - YouTube Shorts, Кліпи - Імітований клієнт приховано в Статистика для сисадмінів. - Імітований клієнт показується в Статистика для сисадмінів. - Показувати в Статистика для сисадмінів - "Клієнт не імітується. Відтворення відео може не працювати." - Клієнт імітується. - Імітація клієнта - "Імітація тестового клієнта Android. - -Побічні ефекти включають: -• Немає HDR відео. -• Меню звукової доріжки відсутнє. -• Субтитри можуть бути недоступні. -• Кнопка завантаження відсутня. -• Картки кінцевого екрана відсутні. -• Низька якість мініатюр панелі прогресу." - Тестовий Android - "Імітація клієнта для Android TV (YouTube TV). - -Побічні ефекти включають: -• Немає HDR відео. -• Меню звукової доріжки відсутнє. -• Субтитри можуть бути недоступні. -• Кнопка завантаження відсутня. -• Низька якість мініатюр панелі прогресу. -• Деякі прямі трансляції не підтримуються для відтворення." - Android TV - "Імітація клієнта для Android VR. - -Побічні ефекти включають: -• Немає HDR відео. -• Відсутня кнопка завантаження відео на панелі дій. -• Призупинені відео можуть навмання продовжуватися. -• Низька якість мініатюр панелі прогресу Shorts. -• Відео для дітей не відтворюються." - Android VR - "Імітація клієнта для iOS. - -Побічні ефекти включають: -• Відео HDR підтримується тільки на кодеку AV1. -• Час перегляду не зберігається в історії перегляду на акаунті бренду." - "Імітація клієнта для iOS. - -Побічні ефекти включають: -• Відео HDR підтримується тільки на кодеку AV1. -• Історія перегляду не працює з акаунтом бренду." - iOS - Вимикання цього налаштування може призвести до проблем відтворення відео. "Підробка розмірів пристрою до максимального значення. Високу якість може бути розблоковано для деяких відео, які вимагають великих розмірів пристрою, але не для всіх відео." Підробити розміри пристрою - "Параметр плеєра не підроблений для відео у стрічці. - -Застереження: Стрічка відео відтворюватиметься менше однієї хвилини до виникнення проблем відтворення." - "Параметр плеєра підроблений для відео у стрічці. - -Застереження: Автоматично відтворені відео у стрічці показуватимуться у вашій історії перегляду." - Підробити параметр плеєра у стрічці - "Підробка параметрів плеєра для вирішення проблем відтворення. + AVC (H.264), VP9, чи AV1 кодек відео iOS. + AVC (H.264) кодек відео iOS. + Примусово AVC (H.264) iOS + "Увімкнення може зменшити споживання акумулятора та усунути затинання при відтворенні. -Застереження: -• Покращений бітрейт недоступний. -• Немає мініатюр панелі прогресу для платних відео. -• Офлайн завантаження можуть не працювати. -• Відео може не починатися з останнього часу перегляду." - Підробити параметр плеєра +AVC (H.264) має максимальну роздільну здатність 1080p, а для відтворення відео використовується більше інтернет-даних, ніж VP9 або AV1." + Побічні ефекти імітування + • Відео може не відтворюватися. + Клієнт, що використовується для отримання даних трансляції приховано у Статистика для сисадмінів. + Клієнт, що використовується для отримання даних трансляції показується у Статистика для сисадмінів. + Показувати в Статистика для сисадмінів + "Дані трансляції не підроблено. Відтворення відео може не працювати." + Дані трансляції підроблено. + Підробити дані трансляції + Android + Android TV + Android VR + iOS + Основний клієнт + Вимикання цього налаштування може призвести до проблем відтворення відео. Жести переміщення вимкнено в режимі \'Блокування екрана\'. Жести переміщення увімкнено в режимі \'Блокування екрана\'. Жести переміщення в режимі \'Блокування екрана\' @@ -1499,17 +1469,10 @@ • Ви повинні вимкнути це налаштування, щоб зробити відеорекламу видимою." Поміняти Створити зі Сповіщення Стандартна - "• Дотримується налаштувань історії перегляду облікового запису Google. -• Історія перегляду може не працювати через DNS або VPN." - • Дотримується налаштувань історії перегляду облікового запису Google. • Історію перегляду заблоковано. - "• Дотримується налаштувань історії перегляду облікового запису Google. -• Історія перегляду може не працювати через DNS або VPN. -• Історія перегляду може не працювати з акаунтом бренду. -(Налаштування імітації клієнта увімкнене та вибрано клієнт iOS)" - "• Дотримується налаштувань історії перегляду облікового запису Google. -• Історія перегляду може не працювати з акаунтом бренду. -(Налаштування імітації клієнта увімкнене та вибрано клієнт iOS)" + "• Дотримується налаштувань історії перегляду облікового запису Google. +• Історія перегляду може не працювати через DNS або VPN." + • Дотримується налаштувань історії перегляду облікового запису Google. Стан історії перегляду Натисніть, щоб відкрити керування історією перегляду YouTube. Керувати всією історією diff --git a/src/main/resources/youtube/translations/vi-rVN/missing_strings.xml b/src/main/resources/youtube/translations/vi-rVN/missing_strings.xml index 05db04e9a..81823f259 100644 --- a/src/main/resources/youtube/translations/vi-rVN/missing_strings.xml +++ b/src/main/resources/youtube/translations/vi-rVN/missing_strings.xml @@ -19,10 +19,4 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed diff --git a/src/main/resources/youtube/translations/vi-rVN/strings.xml b/src/main/resources/youtube/translations/vi-rVN/strings.xml index 47601cd24..01217ea3a 100644 --- a/src/main/resources/youtube/translations/vi-rVN/strings.xml +++ b/src/main/resources/youtube/translations/vi-rVN/strings.xml @@ -13,9 +13,9 @@ Hãy làm theo hướng dẫn của 'Don't kill my app!' và tiến hành cài Nhấn vào Tiếp tục và tắt tối ưu hóa pin." Mở trang web Hành động cần thiết - Bật tính năng tin nhắn trên đám mây để nhận thông báo. + Kích hoạt thông báo đám mây để nhận thông báo. Mở GmsCore - GmsCore chưa được cài đặt. Cài đặt nó. + GmsCore chưa được cài đặt. Hãy cài đặt nó đi nào. "DeArrow là một tiện ích được đóng góp bởi cồng đồng nhằm thay thế hình thu nhỏ mặc định của video YouTube bằng những hình thu nhỏ phù hợp hơn, giúp hạn chế clickbait. Nếu được bật, chỉ có URL video được gửi đến máy chủ API, ngoài ra không có bất kì dữ liệu nào khác được gửi đi. Nếu video không có hình thu nhỏ DeArrow, hình thu nhỏ gốc hoặc hình thu nhỏ tự động sẽ được hiển thị. @@ -48,26 +48,26 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Cuối video Thời điểm để lấy ảnh tĩnh từ video Thẻ Kênh đăng ký - Thông tin không còn được thêm vào dấu thời gian. - Thông tin được thêm vào dấu thời gian. - Thêm thông tin vào dấu thời gian + Thông tin không còn được thêm vào mốc thời gian. + Thông tin được thêm vào mốc thời gian. + Thêm thông tin vào mốc thời gian Thêm Tốc độ phát. Thêm Chất lượng video. Loại thông tin cần thêm - Không giới hạn khi tiết kiệm pin đã tắt.\nChế độ môi trường xung quanh sẽ tắt khi thiết bị ở chế độ tiết kiệm pin. - Không giới hạn khi tiết kiệm pin đã bật.\nChế độ môi trường xung quanh sẽ không tự động tắt khi thiết bị ở chế độ tiết kiệm pin. - Không giới hạn khi tiết kiệm pin + Chế độ môi trường xung quanh đang vô hiệu hoá trong chế độ tiết kiệm pin. + Chế độ môi trường xung quanh đã được kích hoạt trong chế độ tiết kiệm pin. + Không giới hạn Chế độ môi trường xung quanh Tên miền để tìm nạp hình ảnh.\nLưu ý: Chỉ nhập tên miền, không có tiền tố \"https://\" Tên miền thay thế Sử dụng máy chủ lưu trữ hình ảnh gốc.\n\nBật tính năng này có thể khắc phục tình trạng hình ảnh bị chặn ở một số khu vực. Sử dụng máy chủ hình ảnh yt4.ggpht.com. - Vượt qua hạn chế khu vực cho hình ảnh - Công tắc chuyển đổi được sử dụng. - Chuyển đổi văn bản được sử dụng. - Thay đổi kiểu chuyển đổi - Sử dụng hộp thoại chia sẻ trong ứng dụng. - Sử dụng hộp thoại chia sẻ của hệ thống. - Thay đổi hộp thoại chia sẻ + Vượt qua hạn chế về hình ảnh do khu vực + Đang sử dụng kiểu bật/tắt tuỳ chọn dạng công tắc. + Đang sử dụng kiểu bật/tắt tuỳ chọn dạng văn bản. + Đổi kiểu bật/tắt tuỳ chọn + Sử dụng giao diện chia sẻ của ứng dụng. + Sử dụng giao diện chia sẻ của hệ thống. + Thay đổi giao diện chia sẻ Tự động phát Mặc định Dừng @@ -91,8 +91,8 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Xem sau Trang khởi động không hợp lệ. Đã đặt lại về mặc định. Thay đổi trang khởi động - • Bật: Tiêu đề YouTube Premium.\n• Tắt: Tiêu đề YouTube mặc định. - • Bật: Tiêu đề YouTube Premium.\n• Tắt: Tiêu đề YouTube mặc định. + Tiêu đề Youtube mặc định. + Tiêu đề Premium được kích hoạt. Thay đổi tiêu đề YouTube Nhập tên các mục mà bạn muốn lọc được phân cách bằng dòng. Chỉnh sửa bộ lọc @@ -100,9 +100,9 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Bộ lọc tuỳ chỉnh đã bật. Bộ lọc tuỳ chỉnh Bộ lọc tuỳ chỉnh không hợp lệ: %s. - Menu hiện ra kiểu cũ được sử dụng. + Mục tốc độ phát kiểu cũ được sử dụng. Hộp thoại tùy chỉnh được sử dụng. - Kiểu menu tốc độ phát tùy chỉnh + Kiểu mục tốc độ phát tùy chỉnh Tốc độ tùy chỉnh phải nhỏ hơn %sx. Đã đặt lại về giá trị mặc định. Tốc độ phát tùy chỉnh không hợp lệ. Đã đặt lại về giá trị mặc định. Thêm hoặc thay đổi tốc độ phát lại có sẵn. @@ -112,31 +112,33 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Độ mờ lớp phủ trình phát Nhập mã màu hex của thanh tiến trình video mà bạn muốn thay đổi. Thay đổi màu thanh tiến trình - Để mở URL bên ngoài trong Cài đặt nâng cao, hãy bật tính năng Mở các liên kết được hỗ trợ và thêm các liên kết được hỗ trợ. + Để mở liên kết YouTube trong RVX, hãy kích hoạt \'Mở liên kết được hỗ trợ\' và bật các địa chỉ web được hỗ trợ. Mở theo mặc định Tốc độ phát mặc định - Chất lượng video chỉ định với mạng di động - Chất lượng video chỉ định với mạng WiFi + Chất lượng video mặc định trên mạng di động + Chất lượng video mặc định trên mạng Wi-Fi Tắt chế độ môi trường xung quanh khi xem video ở chế độ toàn màn hình. Chế độ môi trường xung quanh đã được kích hoạt ở chế độ toàn màn hình. Chế độ môi trường xung quanh đã được vô hiệu hoá ở chế độ toàn màn hình. - Tắt ở chế độ toàn màn hình + Tắt chế độ môi trường khi toàn màn hình Luôn tắt chế độ môi trường xung quanh. Chế độ môi trường xung quanh đã được kích hoạt. Chế độ môi trường xung quanh đã được vô hiệu hoá. Tắt chế độ môi trường xung quanh - Tự động phát bản âm thanh khi phát video có bản âm thanh đã bật. - Tự động phát bản âm thanh khi phát video có bản âm thanh đã tắt. - Tắt tự động phát bản âm thanh + Buộc tự động phát bản âm thanh đã được bật. + "Buộc tự động phát bản âm thanh đã bị tắt. + +Hạn chế: Tính năng này hiện chưa áp dụng cho trình Shorts." + Tắt buộc tự động phát bản âm thanh Tự động hiển thị phụ đề khi phát video có phụ đề đã bật. Tự động hiển thị phụ đề khi phát video có phụ đề đã tắt. Tắt tự động hiển thị phụ đề Bảng tự động bật lên khi phát video (Danh sách phát, Trò chuyện trực tiếp,...) đã bật. Bảng tự động bật lên khi phát video (Danh sách phát, Trò chuyện trực tiếp,...) đã tắt. Tắt bảng tự động bật lên khi phát - Tốc độ phát mặc định được bật khi xem live streams. - Tốc độ phát mặc định bị vô hiệu hóa khi xem live streams. - Tốc độ phát khi xem trực tiếp + Tốc độ phát mặc định được bật khi xem sự kiện trực tiếp và buổi công chiếu. + Tốc độ phát mặc định bị tắt khi xem sự kiện trực tiếp và buổi công chiếu. + Tắt tùy chọn tốc độ phát khi xem trực tiếp Bảng điều khiển tương tác đã được bật. Bảng tương tác đã vô hiệu hóa. Vô hiệu hóa bảng tương tác @@ -145,16 +147,16 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Tắt phản hồi xúc giác trong các chương Phản hồi xúc giác được kích hoạt. Phản hồi xúc giác đã tắt. - Tắt khi đăng ký kênh + Tắt phản hồi xúc giác khi đăng ký kênh Phản hồi xúc giác được kích hoạt. Phản hồi xúc giác đã tắt. - Tắt khi trượt để tua + Tắt phản hồi xúc giác khi trượt để tua Phản hồi xúc giác được kích hoạt. Phản hồi xúc giác đã tắt. - Tắt khi hủy tua + Tắt phản hồi xúc giác khi huỷ tua Phản hồi xúc giác được kích hoạt. Phản hồi xúc giác đã tắt. - Tắt khi chụm để thu phóng + Tắt phản hồi xúc giác khi chụm để thu phóng Độ sáng HDR tự động đã bật. Độ sáng HDR tự động đã tắt. Tắt độ sáng HDR tự động @@ -172,8 +174,8 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow." Trinh phát Shorts sẽ tiếp tục khi ứng dụng khởi chạy. Trinh phát Shorts sẽ không tiếp tục khi ứng dụng khởi chạy. Tắt tiếp tục trình phát Shorts - Số cuộn là hoạt ảnh. - Số cuộn không hoạt ảnh. + Đã bật Hoạt ảnh số cuộn. + Đã tắt Hoạt ảnh số cuộn. Tắt hoạt ảnh số cuộn "Tắt tính năng Nhấn và giữ trong trình phát để xem ở tốc độ nhanh gấp 2 lần. @@ -214,9 +216,9 @@ Hạn chế: Chủ đề Cairo cũng được áp dụng cho dấu chấm thông Đang mở các liên kết xuất hiện trên YouTube trong ứng dụng. Đang mở các liên kết xuất hiện trên YouTube bằng trình duyệt bên ngoài. Mở liên kết bằng trình duyệt bên ngoài - Hiệu ứng chuyển sắc cho màn hình chờ tải đã được vô hiệu hoá. - Hiệu ứng chuyển sắc cho màn hình chờ tải đã được kích hoạt. - Sử dụng hiệu ứng chuyển sắc cho màn hình chờ tải + Màn hình tải màu gradient đã tắt. + Màn hình tải màu gradient đã bật. + Màn hình tải màu gradient Thanh điều hướng thu gọn đã tắt. Thanh điều hướng thu gọn đã bật. Khoảng cách giữa các nút trên thanh điều hướng sẽ hẹp hơn. Thanh điều hướng thu gọn @@ -233,11 +235,13 @@ Hạn chế: Chủ đề Cairo cũng được áp dụng cho dấu chấm thông Chạm thanh tiến trình video để tua đã tắt. Chạm thanh tiến trình video để tua đã bật. Chạm thanh tiến trình để tua - Dấu thời gian đã vô hiệu hóa. - "Dấu thời gian được bật. + Mốc thời gian đã vô hiệu hóa. + "Mốc thời gian được bật. - Sự cố đã biết: Vì đây là tính năng đang trong giai đoạn phát triển của Google nên bố cục có thể bị hỏng." - Bật dấu thời gian +Hạn chế: +• Cài đặt này không chỉ bật Mốc thời gian mà còn cho phép ẩn giao diện người dùng bằng cách nhấn vào nền trình phát. +• Vì đây là tính năng đang trong giai đoạn phát triển của Google nên bố cục có thể bị hỏng." + Bật Mốc thời gian Cử chỉ vuốt Độ sáng đã tắt. Cử chỉ vuốt Độ sáng đã bật. Vuốt Độ sáng @@ -250,26 +254,24 @@ Hạn chế: Chủ đề Cairo cũng được áp dụng cho dấu chấm thông Nhấn và giữ để vuốt đã tắt. Nhấn và giữ để kích hoạt cử chỉ vuốt. Nhấn và giữ để vuốt - Vuốt để chuyển video ở chế độ toàn màn hình đã tắt. - Vuốt để chuyển video ở chế độ toàn màn hình đã bật. - -Vuốt lên/xuống để chuyển đến video tiếp theo/trước đó. - Vuốt để chuyển ở chế độ toàn màn hình + Vuốt lên/xuống sẽ không phát video tiếp theo/trước đó. + Vuốt lên/xuống sẽ phát video tiếp theo/trước đó. + Kích hoạt vuốt để chuyển video Cử chỉ vuốt Âm lượng đã tắt. Cử chỉ vuốt Âm lượng đã bật. Vuốt Âm lượng Thay đổi DPI để sử dụng một số bố cục máy tính bảng. Bố cục máy tính bảng - Thanh điều hướng đã được làm mờ. + Thanh điều hướng đã được hiển thị. Thanh điều hướng đã được làm trong suốt. Kích hoạt thanh điều hướng trong suốt - Vào chế độ toàn màn hình hướng dọc thiết bị, khi vuốt xuống bên dưới trình phát (hướng dọc) video đã tắt. - Vào chế độ toàn màn hình hướng dọc thiết bị, khi vuốt xuống bên dưới trình phát (hướng dọc) video được bật. + Cử chỉ vuốt xuống từ khu vực bên dưới trình phát để xem ở chế độ toàn màn hình dọc đã tắt. + Cử chỉ vuốt xuống từ khu vực bên dưới trình phát để xem ở chế độ toàn màn hình dọc đã bật. Cử chỉ bên dưới trình phát "Bật thanh tìm kiếm rộng trên thẻ Bạn. Tuỳ chọn này sẽ ẩn nút Cài đặt trên thẻ Bạn. Để truy cập phần Cài đặt, vui lòng làm theo các bước sau: -Thẻ Bạn → Xem kênh → Trình đơn → Cài đặt." +Thẻ Bạn → Xem kênh → Trình đơn → Cài đặt" Thanh tìm kiếm rộng trên thẻ Bạn Thanh tìm kiếm rộng đã tắt. Thanh tìm kiếm rộng đã bật. @@ -279,18 +281,17 @@ Thẻ Bạn → Xem kênh → Trình đơn → Cài đặt." Thanh tìm kiếm rộng với tiêu đề YouTube Mô tả "Nhập tiêu đề vào bảng mô tả video. - Những ký tự này khác nhau tùy thuộc vào ngôn ngữ của bạn. - 'Mở rộng mô tả video' có thể không hoạt động nếu bạn lưu chuỗi không chính xác." +Mở rộng mô tả video có thể không hoạt động nếu bạn lưu chuỗi không chính xác." Tiêu đề trong bảng mô tả video Mô tả video được mở rộng thủ công. Mô tả video được mở rộng tự động. Mở rộng mô tả video Bạn có muốn tiếp tục không? - Khởi động lại ứng dụng để các tính năng hoạt động bình thường + Vui lòng khởi động lại ứng dụng trong lần đầu khởi chạy để các tính năng hoạt động bình thường Làm mới và khởi động lại Xuất cài đặt thất bại. Cài đặt đã được xuất thành công. - Xuất toàn bộ Cài đặt nâng cao của bạn dưới dạng tệp. + Xuất toàn bộ cài đặt của bạn dưới dạng tệp. Xuất cài đặt Nhập Sao chép @@ -299,7 +300,7 @@ Thẻ Bạn → Xem kênh → Trình đơn → Cài đặt." Nhập cài đặt thất bại. Đã đặt lại cài đặt về mặc định. Cài đặt đã được nhập thành công. - Nhập Cài đặt nâng cao từ tệp đã lưu. + Nhập toàn bộ cài đặt của bạn từ tệp đã lưu trước đó. Nhập cài đặt Đặt lại Tìm kiếm %s @@ -317,7 +318,7 @@ Thẻ Bạn → Xem kênh → Trình đơn → Cài đặt." "Video sẽ chuyển sang chế độ toàn màn hình trong các trường hợp sau: • Khi video bắt đầu. -• Khi nhấn vào dấu thời gian trong bình luận." +• Khi nhấn vào mốc thời gian trong phần bình luận." Buộc áp dụng chế độ toàn màn hình Nhập tên các mục thành phần của trình đơn Tài khoản mà bạn muốn lọc được phân cách bằng dòng. Chỉnh sửa bộ lọc @@ -327,8 +328,8 @@ Một số thành phần có thể không bị ẩn." Đĩa nhạc được hiển thị trong kết quả tìm kiếm. Đĩa nhạc đã ẩn khỏi kết quả tìm kiếm. Ẩn Đĩa nhạc - Các phần Địa điểm, Trò chơi và Âm nhạc nổi bật được hiển thị. - Các phần Địa điểm, Trò chơi và Âm nhạc nổi bật bị ẩn. + Phần \'Địa điểm nổi bật\', Trò chơi và Âm nhạc được hiện. + Phần \'Địa điểm nổi bật\', Trò chơi và Âm nhạc được ẩn. Ẩn phần Thuộc tính Bảng video tiếp theo được hiển thị ở màn hình kết thúc. Bảng video tiếp theo đã ẩn khỏi màn hình kết thúc. @@ -373,12 +374,12 @@ Cửa hàng" Hình mờ video được hiển thị. Hình mờ video đã ẩn. Ẩn hình mờ video - Phần chương được hiển thị. - Phần chương được ẩn. - Ẩn phần chương - Kệ danh mục đề xuất được hiển thị. - Kệ danh mục đề xuất đã ẩn. - Ẩn kệ danh mục đề xuất + Phần Chương được hiển thị. + Phần Chương được ẩn. + Ẩn phần Chương + Kệ danh mục được đề xuất được hiển thị. + Kệ danh mục được đề xuất đã ẩn. + Ẩn kệ danh mục được đề xuất Nút Tạo đoạn video được hiển thị. Nút Tạo đoạn video đã ẩn. Ẩn nút Tạo đoạn video @@ -388,9 +389,9 @@ Cửa hàng" Nút Cảm ơn được hiển thị. Nút Cảm ơn đã ẩn. Ẩn nút Cảm ơn - Nút dấu thời gian và biểu tượng cảm xúc được hiển thị. - Các nút dấu thời gian và biểu tượng cảm xúc đã ẩn. - Ẩn nút dấu thời gian, biểu tượng cảm xúc + Mốc thời gian và các nút Biểu tượng cảm xúc được hiển thị. + Mốc thời gian và các nút biểu tượng cảm xúc đã ẩn. + Ẩn mốc thời gian và các nút biểu tượng cảm xúc Biểu ngữ Bình luận của hội viên được hiển thị. Biểu ngữ Bình luận của hội viên đã ẩn. Ẩn biểu ngữ Bình luận của hội viên @@ -490,16 +491,18 @@ Hạn chế: Hình ảnh của bài đăng cộng đồng ở chế độ toàn Nút Tham gia/Xem đặc quyền được hiển thị. Nút Tham gia/Xem đặc quyền đã ẩn. Ẩn nút Tham gia/Xem đặc quyền - Phần khái niệm chính được hiển thị. - Phần khái niệm chính bị ẩn. + Phần Khái niệm chính được hiển thị. + Phần Khái niệm chính bị ẩn. Ẩn phần Khái niệm chính "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. Hạn chế: -• Một số video ngắn có thể không bị ẩn. +• Video Shorts không bị ẩn theo tên kênh. • Một số thành phần giao diện người dùng có thể không bị ẩn. -• Tìm kiếm từ khoá có thể không hiển kết quả nào." +• Tìm kiếm từ khoá có thể không cho kết quả nào." Giới thiệu về lọc từ khoá + 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>How does AI work?</b><br>nhưng sẽ không ẩn: <b>What does fair use mean?</b> + Khớp toàn bộ từ Bình luận không lọc theo từ khoá đã đặt. Bình luận được lọc theo từ khoá đã đặt. Ẩn bình luận theo từ khoá @@ -507,6 +510,9 @@ Hạn chế: Hình ảnh của bài đăng cộng đồng ở chế độ toàn Các Video trên thẻ Trang chủ được lọc theo từ khoá đã đặt. Ẩn video trên thẻ Trang chủ theo từ khoá "Nhập từ hoặc cụm từ cần ẩn được phân cách bằng dòng. + +Từ 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. + Bộ 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)." Bộ lọc từ khoá Kết quả tìm kiếm không lọc theo từ khoá đã đặt. @@ -515,8 +521,11 @@ Bộ lọc có phân biệt chữ hoa chữ thường, vì vậy bạn cần nh Các Video trên thẻ Kênh đăng ký không lọc theo từ khoá đã đặt. Các Video trên thẻ Kênh đăng ký được lọc theo từ khoá đã đặt. Ẩn video trên thẻ Kênh đăng ký theo từ khoá - Từ khóa \'%1$s\' quá rộng và sẽ ẩn tất cả video - Từ khoá không hợp lệ. Không thể sử dụng: \"%s\" làm điều kiện lọc. + Từ khóa sẽ ẩn tất cả video: %s. + Không thể sử dụng từ khoá: %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. Bài đăng mới nhất được hiển thị. Bài đăng mới nhất đã ẩn. Ẩn bài đăng mới nhất @@ -528,9 +537,9 @@ Bộ lọc có phân biệt chữ hoa chữ thường, vì vậy bạn cần nh Ẩn các nút Thích và Không thích Tin nhắn trò chuyện trực tiếp được hiển thị.\n\nTuỳ chọn này cũng áp dụng cho video trực tiếp trên Shorts. Tin nhắn trò chuyện trực tiếp đã ẩn.\n\nTuỳ chọn này cũng áp dụng cho video trực tiếp trên Shorts. - Ẩn tin nhắn trò chuyện trực tiếp - Nút trò chuyện trực tiếp được hiển thị. Nút này xuất hiện ở chế độ toàn màn hình khi đóng cuộc trò chuyện trực tiếp. - Nút trò chuyện trực tiếp bị ẩn. Nút này xuất hiện ở chế độ toàn màn hình khi đóng cuộc trò chuyện trực tiếp. + Ẩn tin nhắn Trò chuyện trực tiếp + Nút phát lại trò chuyện trực tiếp đã được hiển thị.\n\nNó sẽ xuất hiện ở chế độ toàn màn hình khi bạn đóng trò chuyện trực tiếp. + Nút phát lại trò chuyện trực tiếp đã bị ẩn.\n\nNó sẽ xuất hiện ở chế độ toàn màn hình khi bạn đóng trò chuyện trực tiếp. Ẩn nút Trò chuyện trực tiếp Bảng thông tin y tế được hiển thị. Bảng thông tin y tế đã ẩn. @@ -586,66 +595,63 @@ Bộ lọc có phân biệt chữ hoa chữ thường, vì vậy bạn cần nh Nút Thu gọn được hiển thị. Nút Thu gọn đã ẩn. Ẩn nút Thu gọn - Menu chế độ môi trường xung quanh được hiển thị. - Menu chế độ môi trường xung quanh đã ẩn. - Ẩn menu chế độ môi trường xung quanh - Menu Âm lượng ổn định được hiển thị. - Menu Âm lượng ổn định đã ẩn. - Ẩn menu Âm lượng ổn định - Chân trang menu phụ đề được hiển thị. - Chân trang menu phụ đề đã ẩn. - Ẩn chân trang menu phụ đề - Menu phụ đề được hiển thị. - Menu phụ đề đã ẩn. - Ẩn menu Phụ đề - Menu Trợ giúp và Phản hồi được hiển thị. + Mục Bản âm thanh được hiển thị. + Mục Bản âm thanh đã ẩn. + Ẩn mục Bản âm thanh + Ghi chú cuối mục Phụ đề được hiển thị. + Ghi chú cuối mục Phụ đề đã ẩn. + Ẩn ghi chú cuối mục Phụ đề + Mục Phụ đề được hiển thị. + Mục Phụ đề đã ẩn. + Ẩn mục Phụ đề + Trợ giúp & Phản hồi được hiển thị. Trợ giúp & Phản hồi đã ẩn. Ẩn Trợ giúp & Phản hồi - Mục Nghe nhạc cùng YouTube Music được hiển thị. - Mục Nghe nhạc cùng YouTube Music đã bị ẩn. - Ẩn mục Nghe nhạc cùng YouTube Music - Menu Khóa màn hình được hiển thị. - Menu Khóa màn hình đã ẩn. - Ẩn menu Khóa màn hình - Menu lặp lại video được hiển thị. - Menu lặp lại video đã ẩn. - Ẩn menu Lặp lại video - Menu thông tin thêm được hiển thị. - Menu thông tin thêm đã ẩn. - Ẩn Thông tin thêm - Menu hình trong hình được hiển thị. - Menu hình trong hình đã ẩn. - Ẩn menu Hình trong hình - Menu tốc độ phát được hiển thị. - Menu tốc độ phát đã ẩn. - Ẩn menu Tốc độ phát - Menu Premium được hiển thị. - Menu Premium đã ẩn. - Ẩn menu Premium - Chân menu chất lượng được hiển thị. - Chân menu chất lượng đã ẩn. - Ẩn chân trang menu chất lượng + Mục \'Nghe nhạc trên YouTube Music\' được hiển thị. + Mục \'Nghe nhạc trên YouTube Music\' đã bị ẩn. + Ẩn mục \'Nghe nhạc trên YouTube Music\' + Mục Khoá màn hình được hiển thị. + Mục Khoá màn hình đã ẩn. + Ẩn mục Khoá màn hình + Mục lặp lại video được hiển thị. + Mục lặp lại video đã ẩn. + Ẩn mục Lặp lại video + Mục Nội dung khác từ kênh được hiển thị. + Mục Nội dung khác từ kênh đã ẩn. + Ẩn mục Nội dung khác từ kênh + Mục hình trong hình được hiển thị. + Mục hình trong hình đã ẩn. + Ẩn mục Hình trong hình + Mục Tốc độ phát được hiển thị. + Mục Tốc độ phát đã ẩn. + Ẩn mục Tốc độ phát + Mục Nút điều khiển cho gói Premium được hiển thị. + Mục Nút điều khiển cho gói Premium đã ẩn. + Ẩn mục Nút điều khiển cho gói Premium + Ghi chú cuối mục Chất lượng video hiện tại được hiển thị. + Ghi chú cuối mục Chất lượng video hiện tại đã ẩn. + Ẩn ghi chú cuối mục Chất lượng Tiêu đề trình đơn Chất lượng được hiển thị. Tiêu đề trình đơn Chất lượng đã ẩn. Ẩn tiêu đề trình đơn Chất lượng - Menu báo cáo được hiển thị. - Menu báo cáo đã ẩn. - Ẩn menu Báo cáo - Menu âm lượng ổn định được hiển thị. - Menu âm lượng ổn định đã ẩn. - Ẩn menu Âm lượng ổn định - Số liệu thống kê được hiển thị. - Số liệu thống kê đã ẩn. - Ẩn menu Thống kê - Xem trong VR được hiển thị. - Xem trong VR đã ẩn. - Ẩn menu xem trong VR + Mục Báo vi phạm được hiển thị. + Mục Báo vi phạm đã ẩn. + Ẩn mục Báo cáo + Mục Âm lượng ổn định được hiển thị. + Mục Âm lượng ổn định đã ẩn. + Ẩn mục Âm lượng ổn định + Mục Thống kê chi tiết được hiển thị. + Mục Thống kê chi tiết đã ẩn. + Ẩn mục Thống kê chi tiết + Mục Xem ở chế độ thực tế ảo được hiển thị. + Mục Xem ở chế độ thực tế ảo đã ẩn. + Ẩn mục Xem ở chế độ thực tế ảo Nút Toàn màn hình được hiển thị. Nút Toàn màn hình đã ẩn. Ẩn nút Toàn màn hình Các Nút được hiển thị. Các Nút được ẩn. - Ẩn nút Trước & Tiếp theo + Ẩn các nút Chuyển đến video trước đó/tiếp theo Nút YouTube Music được hiển thị. Nút YouTube Music đã ẩn. Ẩn nút YouTube Music @@ -658,23 +664,23 @@ Bộ lọc có phân biệt chữ hoa chữ thường, vì vậy bạn cần nh Phần Xem trước bình luận được hiển thị. Phần Xem trước bình luận đã ẩn. Ẩn phần Xem trước bình luận - Ẩn nội dung bình luận đã tắt.\nTắt tuỳ chọn này sẽ làm thay đổi kích thước của phần Bình luận, do đó bạn không thể mở phần Phát lại cuộc trò chuyện trực tiếp. - Ẩn nội dung bình luận đã bật.\nBật tuỳ chọn này sẽ chỉ ẩn nội dung xem trước bình luận mà không làm thay đổi kích thước của phần Bình luận nên bạn có thể vuốt sang trái để mở phần Phát lại cuộc trò chuyện trực tiếp. + Tuỳ chọn này thay đổi kích thước của phần bình luận, khiến bạn không thể mở Phát lại trò chuyện trực tiếp trong phần bình luận. + Tuỳ chọn này không thay đổi kích thước của phần bình luận, vì vậy có thể mở Phát lại trò chuyện trực tiếp trong phần bình luận. Ẩn nội dung bình luận Nút bình luận được hiển thị. Nút bình luận đã ẩn. Ẩn nút Bình luận - Nút không thích được hiển thị. - Nút không thích đã ẩn. + Nút Không thích đã được hiển thị. + Nút Không thích đã bị ẩn. Ẩn nút Không thích - Nút thích được hiển thị. - Nút thích đã ẩn. + Nút Thích đã hiển thị. + Nút Thích đã ẩn. Ẩn nút Thích Nút trò chuyện trực tiếp được hiển thị. Nút trò chuyện trực tiếp đã ẩn. Ẩn nút Trò chuyện trực tiếp - Nút Thêm được hiển thị. - Nút Thêm đã ẩn. + Các nút chức năng khác (Remix, Tạo đoạn video,...) được hiển thị. + Các nút chức năng khác (Remix, Tạo đoạn video,...) đã ẩn. Ẩn nút Thêm Nút Danh sách phát kết hợp được hiển thị. Nút Danh sách phát kết hợp đã ẩn. @@ -696,12 +702,12 @@ Bộ lọc có phân biệt chữ hoa chữ thường, vì vậy bạn cần nh • Video có nhãn \"Chỉ dành cho hội viên\". • Video có cụm từ như \"Mọi người cũng xem video này\" ở bên dưới hình thu nhỏ." Ẩn video đề xuất - Lớp phủ video liên quan được hiển thị. - Lớp phủ video liên quan đã ẩn. + Phần video thêm trong bảng nút thao tác nhanh và lớp phủ video liên quan đã được hiển thị. + Phần video thêm trong bảng nút thao tác nhanh và lớp phủ video liên quan đã bị ẩn. Ẩn lớp phủ video liên quan - Nút Phối lại được hiển thị. - Nút Phối lại đã ẩn. - Ẩn nút Phối lại + Nút Remix được hiển thị. + Nút Remix đã ẩn. + Ẩn nút Remix Nút Báo vi phạm được hiển thị. Nút Báo vi phạm đã ẩn. Ẩn nút Báo vi phạm @@ -739,9 +745,9 @@ Phụ đề" Nút Chia sẻ được hiển thị. Nút Chia sẻ đã ẩn. Ẩn nút Chia sẻ - Nút Cửa hàng được hiển thị. - Nút Cửa hàng đã ẩn. - Ẩn nút Cửa hàng + Nút Mua sắm được hiển thị. + Nút Mua sắm đã ẩn. + Ẩn nút Mua sắm Phần Sản phẩm được hiển thị. Phần Sản phẩm đã ẩn. Ẩn phần Sản phẩm @@ -757,6 +763,9 @@ Phụ đề" Nút Không thích đã được hiển thị. Nút Không thích đã bị ẩn. Ẩn nút Không thích + "Các nút nổi như 'Dùng bản âm thanh này' được hiển thị trong tab kênh Shorts." + "Các nút nổi như 'Dùng bản âm thanh này' bị ẩn trong tab kênh Shorts." + Ẩn nút nổi Nhãn liên kết video được hiển thị. Nhãn liên kết video đã ẩn. Ẩn nhãn liên kết video toàn màn hình @@ -772,9 +781,9 @@ Phụ đề" Tiêu đề Trò chuyện trực tiếp được hiển thị.\n\nNút Quay lại trong tiêu đề sẽ không bị ẩn. Tiêu đề Trò chuyện trực tiếp đã ẩn.\n\nNút Quay lại trong tiêu đề sẽ không bị ẩn. Ẩn tiêu đề Trò chuyện trực tiếp - Nhãn vị trí được hiển thị. - Nhãn vị trí được ẩn. - Ẩn nhãn Vị trí + Nút Vị trí đã hiển thị. + Nút Vị trí đã ẩn. + Ẩn nút Vị trí Thanh điều hướng được hiển thị. Thanh điều hướng đã ẩn. Ẩn Thanh điều hướng @@ -790,15 +799,15 @@ Phụ đề" Nền nút được hiển thị. Nền nút bị ẩn. Ẩn nền các nút Phát & Tạm dừng - Nút Phối lại được hiển thị. - Nút Phối lại đã ẩn. - Ẩn nút Phối lại + Nút Remix được hiển thị. + Nút Remix đã ẩn. + Ẩn nút Remix Nút lưu vào danh sách phát được hiển thị. Nút lưu vào danh sách phát đã ẩn. Ẩn nút Lưu vào danh sách phát - Đề xuất tìm kiếm được hiển thị. - Đề xuất tìm kiếm đã ẩn. - Ẩn đề xuất tìm kiếm + Nút Gợi ý tìm kiếm đã hiển thị. + Nút Gợi ý tìm kiếm đã ẩn. + Ẩn nút Gợi ý tìm kiếm Nút Chia sẻ được hiển thị. Nút Chia sẻ đã ẩn . Ẩn nút Chia sẻ @@ -821,6 +830,9 @@ Hạn chế: Tiêu đề chính thức trong kết quả tìm kiếm sẽ đư Nút Mua sắm được hiển thị. Nút Mua sắm đã ẩn. Ẩn nút Mua sắm + Nút Mua sắm đã hiển thị. + Nút Mua sắm đã ẩn. + Ẩn nút Mua sắm Nút Âm thanh được hiển thị. Nút Âm thanh đã ẩn. Nút Âm thanh @@ -839,6 +851,15 @@ Hạn chế: Tiêu đề chính thức trong kết quả tìm kiếm sẽ đư Thanh công cụ được hiển thị. Thanh công cụ đã ẩn. Ẩn thanh công cụ + Nút Thịnh hành đã hiển thị. + Nút Thịnh hành đã ẩn. + Ẩn nút Thịnh hành + Nút Sử dụng mẫu đã hiển thị. + Nút Sử dụng mẫu đã ẩn. + Ẩn nút Sử dụng mẫu + Nút \'Dùng bản âm thanh này\' đã hiển thị. + Nút \'Dùng bản âm thanh này\' đã ẩn. + Ẩn nút \'Dùng bản âm thanh này\' Tiêu đề được hiển thị. Tiêu đề đã ẩn. Ẩn tiêu đề video @@ -875,9 +896,9 @@ Cài đặt → Tự động phát → Tự động phát video tiếp theo."Kệ bán vé được hiển thị. Kệ bán vé đã ẩn. Ẩn kệ bán vé - Dấu thời gian được hiển thị. - Dấu thời gian đã ẩn. - Ẩn dấu Thời gian + Mốc thời gian được hiển thị. + Mốc thời gian đã ẩn. + Ẩn Mốc thời gian Phản ứng theo thời gian được hiển thị. Phản ứng theo thời gian đã ẩn. Ẩn phản ứng theo thời gian @@ -900,10 +921,10 @@ Cài đặt → Tự động phát → Tự động phát video tiếp theo."Dài hơn Nhập thời lượng. Video có thời lượng ngắn hơn mức này sẽ bị ẩn. Ngắn hơn - Ẩn các video có thời lượng ngắn hơn hoặc dài hơn thời lượng bạn đã đặt.\n\nSự cố đã biết: Tính năng này sẽ không ẩn video có liên quan trong trình phát mà chỉ ẩn dấu thời gian. + Ẩn các video có thời lượng ngắn hơn hoặc dài hơn thời lượng bạn đã đặt.\n\nSự cố đã biết: Tính năng này sẽ không ẩn video có liên quan trong trình phát mà chỉ ẩn mốc thời gian. Ẩn video theo thời lượng - Ẩn các video đề xuất có số lượt xem ít hơn số lượt xem bạn đã đặt. - Ẩn video đề xuất theo số lượt xem + Ẩn các video đề xuất có số lượt xem ít hơn số lượt xem bạn đã đặt.\n\nSự cố đã biết: Các video chưa có lượt xem nào sẽ không bị lọc. + Ẩn video được đề xuất theo số lượt xem Nhập số lượt xem. Video có số lượt xem cao hơn mức này sẽ bị ẩn. Cao hơn Nhập số lượt xem. Video có số lượt xem thấp hơn mức này sẽ bị ẩn. @@ -923,13 +944,13 @@ Cài đặt → Tự động phát → Tự động phát video tiếp theo."Lớp phủ zoom đã được hiển thị. Lớp phủ zoom đã bị ẩn. Ẩn lớp phủ zoom - Afn Xanh - Afn Đỏ + AFN Xanh + AFN Đỏ Tùy chỉnh Nguyên gốc MMT - Đổi mới màu xanh - Đổi mới màu đỏ + Revancify Xanh + Revancify Đỏ YouTube Giữ chế độ toàn màn hình hoạt động trong lúc bạn tắt và đánh thức thiết bị khi đang xem chế độ toàn màn hình. Số mili giây mà chế độ toàn màn hình được giữ. @@ -941,12 +962,12 @@ Cài đặt → Tự động phát → Tự động phát video tiếp theo." - Hành động nhấn đúp + Thao tác nhấn đúp Đã vô hiệu kéo và thả. Đã kích hoạt kéo và thả. Kích hoạt kéo và thả Các nút Mở rộng và Đóng được hiển thị. - Các nút Mở rộng và Đóng đã ẩn.\nVuốt trình phát thu nhỏ để mở rộng hoặc đóng. + Các nút được ẩn.\n(vuốt trình phát thu nhỏ để mở rộng hoặc đóng) Ẩn các nút Mở rộng và Đóng Các nút Chuyển về video trước và Chuyển đến video tiếp theo được hiển thị. Các nút Chuyển về video trước và Chuyển đến video tiếp theo đã ẩn. @@ -969,17 +990,17 @@ Cài đặt → Tự động phát → Tự động phát video tiếp theo." Nút Phát lặp lại một video "Nhấn để sao chép URL video. -Nhấn và giữ để sao chép URL video kèm theo dấu thời gian." - "Nhấn để sao chép URL video trong thời gian hiện tại. -Nhấn và giữ để sao chép dấu thời gian hiện tại." - Nút Sao chép URL video với dấu thời gian +Nhấn và giữ để sao chép URL video kèm theo mốc thời gian hiện tại." + "Nhấn để sao chép URL video với mốc thời gian. +Nhấn và giữ để sao chép mốc thời gian hiện tại." + Hiển thị nút sao chép URL cùng mốc thời gian Nút Sao chép URL video Nhấn để khởi chạy trình tải xuống bên ngoài. Nút Tải xuống bên ngoài - Nhấn để tắt tiếng video hiện tại. Nhấn lần nữa để bật tiếng. - Hiển thị nút tắt tiếng - Nhấn giữ để thay đổi trạng thái. - Đặt lại Tốc độ phát: %sx. + Nhấn để tắt âm lượng video hiện tại. Nhấn lần nữa để bật lại. + Hiển thị nút tắt âm lượng + Nhấn giữ để thay đổi trạng thái nút. + Đã đặt lại Tốc độ phát: %sx. "Nhấn để mở hộp thoại Tốc độ phát. Nhấn và giữ để đặt lại tốc độ phát video bình thường (1.0x). Nhấn và giữ lần nữa để đặt lại về tốc độ mặc định." Nút Tốc độ phát @@ -999,7 +1020,7 @@ Nhấn và giữ để mở hộp thoại cài đặt Danh sách trắng.Đã bao gồm Bình thường Nút hành động - Cài đặt thêm + Cài đặt bổ sung Hoạt ảnh / Phản hồi Bộ lọc thời lượng Tính năng thử nghiệm @@ -1008,22 +1029,20 @@ Nhấn và giữ để mở hộp thoại cài đặt Danh sách trắng.Nhập/Xuất dưới dạng văn bản Bộ lọc từ khoá Nhiều hơn - Lớp phủ nút + Nút trên lớp phủ trình phát Thông tin bản vá - Hành động nhanh + Thao tác nhanh Video được đề xuất Kệ Shorts - Giới thiệu - Tùy chọn giả mạo máy khách Công cụ được sử dụng Bộ lọc số lượt xem Ẩn hoặc hiển thị các thành phần của trình đơn Tài khoản và thẻ Bạn. Trình đơn Tài khoản Ẩn hoặc hiển thị các nút hành động bên dưới video. - Nút hành động + Nút Hành động Quảng cáo Hình thu nhỏ thay thế - Tắt hoặc bỏ qua các hạn chế của chế độ môi trường xung quanh. + Tắt hoặc bỏ qua các hạn chế của Chế độ môi trường xung quanh. Chế độ môi trường xung quanh Ẩn hoặc hiển thị thanh danh mục trong bảng tin, kết quả tìm kiếm và khi lướt xem các video có liên quan. Thanh danh mục @@ -1052,12 +1071,12 @@ Nhấn và giữ để mở hộp thoại cài đặt Danh sách trắng.Cài đặt khác Ẩn hoặc hiển thị các nút thành phần trên thanh điều hướng. Thanh điều hướng - Thông tin về các bản vá được áp dụng. + Thông tin về các bản vá đã được áp dụng. Thông tin bản vá Ẩn hoặc hiển thị các nút trong video. Nút trong trình phát - Ẩn hoặc thay đổi menu hiện ra trong trình phát video. - Menu hiện ra + Ẩn hoặc thay đổi thành phần của trình đơn tuỳ chọn trong trình phát video. + Trình đơn tuỳ chọn Trình phát Return YouTube Dislike SponsorBlock @@ -1068,8 +1087,8 @@ Nhấn và giữ để mở hộp thoại cài đặt Danh sách trắng.Ẩn hoặc hiển thị các thành phần trong trình phát Shorts. Trình phát Shorts Shorts - Giả mạo máy khách để ngăn chặn sự cố phát. - Giả mạo máy khách + Giả mạo dữ liệu phát trực tiếp để ngăn chặn sự cố phát. + Giả mạo dữ liệu phát trực tiếp Điều khiển vuốt Ẩn hoặc thay đổi các thành phần trên thanh công cụ, chẳng hạn như thanh tìm kiếm, các nút trên thanh công cụ và tiêu đề YouTube. Thanh công cụ @@ -1081,19 +1100,25 @@ Nhấn và giữ để mở hộp thoại cài đặt Danh sách trắng.Thay đổi cài đặt liên quan đến Lịch sử xem. Lịch sử xem Lề trên bảng nút thao tác nhanh phải nằm trong khoảng 0 - 32. Đã đặt lại về mặc định. - Định cấu hình khoảng cách từ thanh tìm kiếm đến vùng chứa hành động nhanh, trong khoảng 0-32. - Lề trên hành động nhanh - "Từ chối mạnh mẽ phản hồi codec AV1. - Sau khoảng 20 giây đệm, chuyển sang codec khác." + Giá trị khoảng cách từ thanh tiến trình đến bảng nút thao tác nhanh trong khoảng từ 0 đến 32. + Lề trên bảng nút thao tác nhanh + "Buộc từ chối phản hồi codec AV1. +Một codec khác sẽ được áp dụng sau khoảng 20 giây tải bộ đệm." Từ chối phản hồi codec AV1 - Qúa trình dự phòng gây ra khoảng 20 giây đệm. + Quá trình dự phòng gây ra khoảng 20 giây tải bộ đệm. Thay đổi tốc độ phát chỉ áp dụng cho video hiện tại. Thay đổi tốc độ phát áp dụng cho tất cả video. Lưu thay đổi tốc độ phát + Thông báo ngắn sẽ không hiển thị khi thay đổi tốc độ phát mặc định. + Thông báo ngắn sẽ được hiển thị khi thay đổi tốc độ phát mặc định. + Hiện một thông báo ngắn Đã lưu tốc độ phát mặc định thành %s. Thay đổi chất lượng chỉ áp dụng cho video hiện tại. Thay đổi chất lượng áp dụng cho tất cả video. Lưu thay đổi chất lượng video + Thông báo ngắn sẽ không hiển thị khi thay đổi chất lượng mặc định của video. + Thông báo ngắn sẽ được hiển thị khi thay đổi chất lượng mặc định của video. + Hiện một thông báo ngắn Thay đổi chất lượng trên dữ liệu di động mặc định thành %s. Không thể đặt chất lượng video. Thay đổi chất lượng trên WiFi mặc định thành %s. @@ -1106,8 +1131,8 @@ Tuỳ chọn này chỉ tự động chấp nhận hộp thoại cảnh báo, kh Tên kênh đã được sử dụng. Thay thế tên người dùng của kênh Nhấn để hiển thị thời gian còn lại. - Nhấn để mở menu tốc độ phát hoặc chất lượng video. - Thay đổi hành động dấu thời gian + Nhấn để mở mục Tốc độ phát hoặc Chất lượng video. + Thay thế hành động của mốc thời gian Thay thế nút Tạo bằng nút Cài đặt. Thay thế nút Tạo "Nhấn để mở cài đặt YouTube. @@ -1117,10 +1142,10 @@ Nhấn và giữ để mở cài đặt YouTube." Thao tác kích hoạt nút Hình ảnh khi tua sẽ hiển thị toàn màn hình. Hình thu nhỏ khi tua sẽ xuất hiện phía trên thanh tiến trình. - Hình thu nhỏ khi tua kiểu cũ - Chất lượng video kiểu cũ không được hiển thị. - Chất lượng video kiểu cũ được hiển thị. - Khôi phục chất lượng video kiểu cũ + Khôi phục thanh tiến trình hình thu nhỏ kiểu cũ + Mục chất lượng video kiểu cũ không được hiển thị. + Mục chất lượng video kiểu cũ được hiển thị. + Khôi phục mục chất lượng video kiểu cũ Giới thiệu Dữ liệu về lượt không thích được cung cấp bởi API Return YouTube Dislike. Nhấn vào đây để tìm hiểu thêm. ReturnYouTubeDislike.com @@ -1137,21 +1162,22 @@ Nhấn và giữ để mở cài đặt YouTube." Số lượt không thích không khả dụng (trạng thái %d). Số lượt không thích tạm thời không khả dụng (API đã hết thời gian chờ). Số lượt không thích không khả dụng (%s). - Tải lại video để bình chọn bằng cách sử dụng Return YouTube Dislike + Tải lại video để bình chọn sử dụng Return YouTube Dislike Số lượt không thích đã ẩn khỏi trình phát Shorts. - Số lượt không thích được hiển thị trong trình phát Shorts. %s - "Số lượt không thích hiển thị trên Shorts. - Hạn chế: Nội dung không thích có thể không xuất hiện ở chế độ ẩn danh." - Hiện số lượt ko thích trong Shorts + Số lượt không thích được hiển thị trong trình phát Shorts. + "Số lượt không thích được hiển thị trên Shorts. + +Hạn chế: Lượt không thích có thể không hiển thị nếu người dùng không đăng nhập hoặc ở chế độ ẩn danh." + Hiện số lượt Không thích trong Shorts Thông báo ngắn nếu API Return YouTube Dislike không khả dụng đã tắt. Hiển thị thông báo ngắn nếu API Return YouTube Dislike không khả dụng. - Thông báo nếu API không khả dụng + Thông báo ngắn nếu API không khả dụng Ẩn Loại bỏ các tham số truy vấn theo dõi khỏi URL khi chia sẻ liên kết. Liên kết sạch khi chia sẻ Giới thiệu sponsor.ajay.app - Dữ liệu được cung cấp bởi Chặn nhà tài trợ API. Nhấn vào đây để tìm hiểu thêm và xem các bản tải xuống cho các nền tảng khác. + Dữ liệu này được cung cấp bởi API SponsorBlock. Nhấn vào đây để tìm hiểu thêm và xem các bản tải xuống cho các nền tảng khác. Đã thay đổi API URL. URL API không hợp lệ. Đặt lại URL API. @@ -1161,136 +1187,137 @@ Nhấn và giữ để mở cài đặt YouTube." Mã màu không hợp lệ. Đặt lại màu Tạo phân đoạn mới - Thay đổi hành vi của phân đoạn + Cài đặt phân đoạn Tự động ẩn nút Bỏ qua Nút Bỏ qua được hiển thị cho toàn bộ phân đoạn. Nút Bỏ qua sẽ ẩn sau vài giây. - Sử dụng nút Bỏ qua nhỏ gọn - Nút Bỏ qua được tạo kiểu để có giao diện đẹp nhất. - Nút Bỏ qua được tạo kiểu cho chiều rộng tối thiểu. + Dùng nút Bỏ qua phân đoạn thu gọn + Nút Bỏ qua phân đoạn được thiết kế với giao diện tốt nhất. + Nút Bỏ qua phân đoạn được thiết kế để tối ưu kích thước hiển thị. Hiển thị nút tạo phân đoạn mới Nút tạo phân đoạn mới không được hiển thị. Nút tạo phân đoạn mới được hiển thị. - Bật Chặn nhà tài trợ - Chặn nhà tài trợ là một hệ thống có nguồn gốc từ cộng đồng để bỏ qua các phần khó chịu trong video YouTube. - Hiển thị nút bỏ phiếu - Nút bỏ phiếu phân đoạn không được hiển thị. - Nút bỏ phiếu phân đoạn được hiển thị. + Bật SponsorBlock + SponsorBlock là một tiện ích được đóng góp bởi cộng đồng giúp bỏ qua các phần gây khó chịu trong video trên YouTube. + Nút Bình chọn phân đoạn + Nút Bình chọn phân đoạn đã ẩn. + Nút Bình chọn phân đoạn được hiển thị. Chung Điều chỉnh phân đoạn mới - Giá trị phải là số dương. + Giá trị nhập vào phải là một số dương. Số mili giây mà các nút điều chỉnh thời gian di chuyển khi tạo phân đoạn mới. Thay đổi URL API - Địa chỉ Chặn nhà tài trợ sử dụng để thực hiện liên lạc đến máy chủ. + Địa chỉ SponsorBlock sử dụng để liên lạc đến máy chủ. Thời lượng phân đoạn tối thiểu + Thời lượng không hợp lệ. Các đoạn ngắn hơn giá trị này (tính bằng giây) sẽ không được hiển thị hoặc bị bỏ qua. Bật theo dõi số lần bỏ qua Theo dõi số lần bỏ qua không được bật. - Cho bảng xếp hạng của Chặn nhà tài trợ biết lượng thời gian đã tiết kiệm được. Một thông báo sẽ được gửi tới bảng xếp hạng mỗi khi một phân đoạn đã bỏ qua. - Hiển thị thông báo khi tự động bỏ qua + Cho bảng xếp hạng của SponsorBlock biết lượng thời gian đã tiết kiệm được. Một thông báo sẽ được gửi tới bảng xếp hạng mỗi khi một phân đoạn đã bỏ qua. + Hiện thông báo ngắn khi tự động bỏ qua Thông báo không được hiển thị. Nhấn vào đây để xem ví dụ. - Thông báo được hiển thị khi một phân đoạn được tự động bỏ qua. Nhấn vào đây để xem ví dụ. + Hiện thông báo ngắn mỗi khi tự động bỏ qua phân đoạn. Nhấn vào đây để xem ví dụ. Hiển thị thời lượng video không có phân đoạn Độ dài video đầy đủ được hiển thị. Thời lượng video trừ đi tất cả các phân đoạn, được hiển thị trong dấu ngoặc đơn bên cạnh thời lượng video đầy đủ. - ID người dùng riêng của bạn - ID người dùng riêng phải dài ít nhất 30 ký tự. - Mã ID nên được giữ kín. Nó giống như mật khẩu và không nên chia sẻ với bất kỳ ai. Nếu ai đó có nó, họ có thể mạo danh bạn. + Id người dùng riêng tư của bạn + ID người dùng riêng tư phải dài ít nhất 30 ký tự. + Bạn nên giữ bí mật mã này. Nó như mật khẩu vậy, do đó không nên chia sẻ với người khác. Nếu ai đó có mã này, họ có thể giả mạo bạn. Đã đọc - Đọc nguyên tắc của Chặn nhà tài trợ trước khi tạo phân đoạn mới. - Hiển thị cho tôi + Hãy đọc hướng dẫn của SponsorBlock trước khi tạo phân đoạn mới. + Xem ngay Thực hiện theo các hướng dẫn - Nguyên tắc chứa các quy tắc và mẹo để tạo phân đoạn mới. + Hướng dẫn bao gồm các quy tắc và mẹo về cách tạo phân đoạn mới. Xem hướng dẫn Chọn danh mục phân đoạn The segment lasts from %1$02d:%2$02d to %3$02d:%4$02d (%5$d minutes %6$02d seconds)\nIs it ready to submit? - Phân đoạn này bắt đầu từ %1$s đến %2$s (%3$s) Đã sẵn sàng gửi chưa? - Thời gian có chính xác không? + Phân đoạn bắt đầu từ\n\n%1$s\nđến\n%2$s\n\n%3$s\n\nSẵn sàng gửi? + Thời lượng phân đoạn đã chính xác chưa? Danh mục đã tắt trong cài đặt. Cho phép danh mục để gửi. - Bạn có muốn chỉnh sửa thời gian bắt đầu hoặc kết thúc phân đoạn không? - Thời gian không hợp lệ. - Chỉnh sửa thời gian của phân đoạn thủ công + Bạn muốn thay đổi thời gian bắt đầu hay kết thúc của phân đoạn? + Thời gian đã đặt không hợp lệ. + Chỉnh sửa thời gian của phân đoạn theo cách thủ công Đặt %s là bắt đầu hoặc là kết thúc của một phân đoạn mới? - Kết thúc - Đánh dấu hai vị trí trên thanh thời gian trước. - Bắt đầu - Ngay bây giờ - Xem trước phân đoạn và đảm bảo phân đoạn đó trôi qua suôn sẻ. - Bắt đầu phải trước khi kết thúc. - Thời gian đoạn kết thúc - Thời gian đoạn bắt đầu - Đoạn Chặn nhà tài trợ mới + kết thúc + Đánh dấu hai điểm bắt đầu và kết thúc phân đoạn trên thanh tiến trình trước. + bắt đầu + ngay lúc này + Hãy xem trước phân đoạn để đảm bảo rằng nó bỏ qua suôn sẻ. + Thời gian bắt đầu phải trước thời gian kết thúc. + Phân đoạn kết thúc lúc + Phân đoạn bắt đầu lúc + Đoạn SponsorBlock mới Đặt lại Đặt lại màu - Cảnh phụ / Hài hước - Những cảnh chỉ được thêm vào để bổ sung hoặc mang tính chất hài hước, không bắt buộc phải hiểu nội dung chính của video. Không bao gồm các phân đoạn cung cấp chi tiết bối cảnh. - Khoảnh khắc nổi bật + Lạc đề/Hài hước + Phân cảnh được thêm vào chỉ để câu giờ hoặc gây cười nhưng không cần thiết cho nội dung chính của video. Không bao gồm phân đoạn cung cấp bối cảnh hoặc chi tiết nền. + Khúc nổi bật Phần video được nhiều người tìm kiếm nhất. Nhắc nhở tương tác (Đăng ký) - Một lời nhắc ngắn để thích, đăng ký hoặc theo dõi họ ở giữa nội dung. Nếu nó dài hoặc về một cái gì đó cụ thể, thay vào đó nó nên được tự quảng cáo. - Hoạt ảnh tạm dừng/Giới thiệu + Một lời nhắc ngắn rằng bạn hãy ấn thích, đăng ký hoặc theo dõi họ ở giữa nội dung. Nếu nó dài hoặc về một cái gì đó cụ thể, thay vào đó nó nên được tự quảng cáo. + Đoạn tạm ngưng/Giới thiệu Một khoảng thời gian không có nội dung thực tế. Có thể là tạm dừng, khung tĩnh hoặc hoạt ảnh lặp lại. Không bao gồm các chuyển tiếp chứa thông tin. Âm nhạc: Phần không phải âm nhạc - Chỉ sử dụng trong video âm nhạc. Các phần của video nhạc không có nhạc chưa thuộc danh mục nào. - Đoạn kết thúc / Tín dụng - Tín dụng hoặc khi đoạn cuối video YouTube xuất hiện. Không phải để kết luận với thông tin. - Xem trước / Tóm tắt - Bộ sưu tập các clip hiển thị những gì sắp xảy ra hoặc những gì đã xảy ra trong video hoặc trong các video khác của loạt phim, trong đó tất cả thông tin được lặp lại ở nơi khác. - Không trả tiền / Tự quảng cáo - Tương tự như \'Nhà tài trợ\' ngoại trừ việc không trả tiền hoặc tự quảng cáo. Bao gồm các phần về hàng hóa, quyên góp hoặc thông tin về người mà họ đã cộng tác. - Nhà tài trợ - Quảng cáo trả phí, giới thiệu trả phí và quảng cáo trực tiếp. Không nhằm mục đích tự quảng cáo hoặc quảng cáo miễn phí cho mục đích/người sáng tạo/trang web/sản phẩm mà họ thích. + Chỉ sử dụng trong video âm nhạc. Các phần của video nhạc mà không có nhạc cũng không thuộc danh mục nào. + Đoạn kết thúc/Danh đề + Danh đề hoặc đoạn kết thúc của Youtube xuất hiện. Không dành cho phần kết chứa thông tin. + Đoạn xem trước/Tóm tắt/Gây chú ý + Tập hợp các đoạn cắt thể hiện những gì sẽ xảy ra trong video hoặc trong loạt video khác, nơi mà tất cả thông tin được lặp lại ở nơi khác. + Không trả tiền/Tự quảng cáo + Tương tự như Nhà tài trợ, ngoại trừ không trả tiền hoặc tự quảng cáo. Bao gồm các phần về hàng hóa, quyên góp hoặc thông tin về người họ cộng tác. + Nhà Tài Trợ + Quảng cáo, giới thiệu được trả tiền và quảng cáo trực tiếp. Không phải tự quảng cáo hoặc lời cảm ơn miễn phí đến các tác nhân/nhà sáng tạo/trang web/sản phẩm mà họ yêu thích. Sao chép - Không xuất được: %s. + Xuất cài đặt thất bại: %s. Nhập/Xuất cài đặt - Cấu hình Chặn nhà tài trợ JSON có thể được xuất/nhập tới Cài đặt nâng cao và các nền tảng Chặn nhà tài trợ khác. - Cấu hình Chặn nhà tài trợ JSON có thể được xuất/nhập tới Cài đặt nâng cao và các nền tảng Chặn nhà tài trợ khác. Điều này bao gồm ID người dùng riêng của bạn. Hãy chắc chắn chia sẻ điều này một cách khôn ngoan. - Không nhập được: %s. - Cài đặt đã được nhập thành công. - Cài đặt của bạn chứa ID người dùng Chặn nhà tài trợ riêng tư. ID người dùng của bạn giống như một mật khẩu và đừng bao giờ chia sẻ + Cấu hình tệp JSON SponsorBlock của bạn có thể được nhập/xuất tới ReVanced Extended và các nền tảng SponsorBlock khác. + Cấu hình tệp JSON SponsorBlock của bạn có thể được nhập/xuất tới ReVanced Extended và các nền tảng SponsorBlock khác. Điều này bao gồm cả ID riêng tư của bạn. Vì vậy hãy thật cẩn thận khi chia sẻ nó. + Nhập cài đặt thất bại: %s. + Nhập cài đặt thành công. + Cài đặt của bạn chứa Id SponsorBlock riêng tư.\n\nID của bạn giống như mật khẩu vậy, nên đừng bao giờ chia sẻ nó.\n Không hiển thị lại Đã sao chép cài đặt vào bảng nhớ tạm. Tự động bỏ qua Tự động bỏ qua một lần Bỏ qua - Khoảnh khắc Nổi bật - Phân đoạn trống - Bỏ qua khoảnh khắc nổi bật - Bỏ qua tương tác - Bỏ qua phần giới thiệu - Bỏ qua thời gian tạm dừng - Bỏ qua thời gian tạm dừng - Bỏ qua phần không phải âm nhạc - Bỏ qua giới thiệu kết thúc - Bỏ qua xem trước - Bỏ qua phần tóm tắt - Bỏ qua xem trước + Khúc Nổi bật + Bỏ qua Đoạn Trống + Bỏ qua Khúc Nổi bật + Bỏ qua Nhắc Tương Tác + Bỏ qua Phần Giới Thiệu + Bỏ qua Đoạn Tạm Ngưng + Bỏ qua Đoạn Tạm Ngưng + Bỏ qua Phần Không Nhạc + Bỏ qua Phần Kết + Bỏ qua Phần Xem Trước + Bỏ qua Phần Tóm Tắt + Bỏ qua Phần Xem Trước Bỏ qua khuyến mãi - Bỏ qua nhà tài trợ - Bỏ qua phân đoạn + Bỏ qua Nhà tài trợ + Bỏ qua Phân Đoạn Tắt Hiển thị trong thanh tiến trình Hiển thị nút Bỏ qua - Bỏ qua đoạn trống - Bỏ qua khoảnh khắc nổi bật - Đã bỏ qua lời nhắc khó chịu - Bỏ qua phần giới thiệu - Đã bỏ qua thời gian tạm dừng. - Đã bỏ qua thời gian tạm dừng. + Đã bỏ qua Đoạn Trống. + Đã bỏ qua Khúc Nổi bật. + Đã bỏ qua Nhắc Tương Tác. + Đã bỏ qua Phần Giới Thiệu. + Đã bỏ qua Đoạn Tạm Ngưng. + Đã bỏ qua Đoạn Tạm Ngưng. Đã bỏ qua nhiều phân đoạn. - Đã bỏ qua phần không phải âm nhạc. - Đã bỏ qua giới thiệu kết thúc - Đã bỏ qua phần xem trước. - Đã bỏ qua phần tóm tắt. - Đã bỏ qua phần xem trước. - Đã bỏ qua tự quảng cáo. - Nhà tài trợ đã bỏ qua. - Đã bỏ qua phân đoạn chưa được gửi. - Chặn nhà tài trợ tạm thời không khả dụng - Chặn nhà tài trợ tạm thời không khả dụng (trạng thái %d). - Chặn nhà tài trợ tạm thời không khả dụng (hết thời gian chờ API). + Đã bỏ qua Phần Không Nhạc. + Đã bỏ qua Phần Kết. + Đã bỏ qua Phần Xem Trước. + Đã bỏ qua Phần Tóm Tắt. + Đã bỏ qua Phần Xem Trước. + Đã bỏ qua Tự Quảng Cáo. + Đã bỏ qua Nhà Tài Trợ. + Đã bỏ qua phân đoạn chưa gửi. + SponsorBlock tạm thời không khả dụng. + SponsorBlock tạm thời không khả dụng (trạng thái %d). + SponsorBlock tạm thời không khả dụng (hết thời gian chờ API). Thống kê - Số liệu thống kê tạm thời không khả dụng (API không hoạt động). + Số liệu thống kê tạm thời không khả dụng (API ngừng hoạt động). Đang tải... Xếp hạng của bạn là <b>%.2f</b> Bạn đã hỗ trợ mọi người <b>%s</b> phân đoạn @@ -1299,8 +1326,8 @@ Nhấn và giữ để mở cài đặt YouTube." %s giây Đó là <b>%s</b> của mọi người.<br>Nhấn vào để xem bảng xếp hạng 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. - Bảng xếp hạng Chặn nhà tài trợ - Chặn nhà tài trợ đã vô hiệu hóa. + Bảng xếp hạng SponsorBlock + SponsorBlock đã vô hiệu hóa Bạn đã bỏ qua <b>%s</b> phân đoạn Đặt lại bộ đếm phân đoạn đã bỏ qua? Đó là <b>%s</b>. @@ -1309,27 +1336,27 @@ Nhấn và giữ để mở cài đặt YouTube." Nhấn vào đây để thay đổi tên người dùng của bạn Không thể thay đổi tên người dùng: Trạng thái: %1$d %2$s. Tên người dùng đã được thay đổi thành công. - Không thể gửi phân đoạn. Đã tồn tại. + Không thể gửi phân đoạn.\nĐã tồn tại. Không thể gửi phân đoạn: %s. Không thể gửi phân đoạn: %s. - Không thể gửi phân đoạn. Tỷ lệ đã giới hạn (qúa nhiều từ cùng một người dùng hoặc IP). - Chặn nhà tài trợ tạm thời ngừng hoạt động. + Không thể gửi phân đoạn.\nGiới hạn truy cập (quá nhiều phân đoạn được gửi từ cùng một người dùng hoặc IP). + SponsorBlock tạm thời ngưng hoạt động. Không thể gửi phân đoạn (trạng thái: %1$d %2$s). Đã gửi phân đoạn thành công. Không hiện thông báo nếu SponsorBlock không khả dụng. - Hiển thị thông báo ngắn nếu SponsorBlock không khả dụng + Hiển thị thông báo ngắn nếu SponsorBlock không khả dụng. Thông báo nếu API không khả dụng - Thay đổi danh mục - Giảm giá trị + Đổi danh mục + Phản đối Không thể bỏ phiếu cho phân đoạn: %s. Không thể bỏ phiếu cho phân đoạn (API đã hết thời gian chờ). Không thể bỏ phiếu cho phân đoạn (trạng thái: %1$d %2$s). - Không có phân đoạn nào để bỏ phiếu. - Tăng giá trị + Không có phân đoạn nào để bình chọn. + Ủng hộ Đã sao chép cài đặt sang bảng nhớ tạm. - Đã sao chép dấu thời gian sang bảng nhớ tạm. (%s) + Đã sao chép mốc thời gian vào bảng nhớ tạm. (%s) Đã sao chép URL sang bảng nhớ tạm. - Đã sao chép liên kết với dấu thời gian sang bảng nhớ tạm. + Đã sao chép URL cùng mốc thời gian vào bảng nhớ tạm. Nguyên bản Thumbs up Thumbs up (Loang màu) @@ -1340,19 +1367,24 @@ Nhấn và giữ để mở cài đặt YouTube." Lề dưới cùng của bảng meta phải nằm trong khoảng từ 0-64. Đặt lại về giá trị mặc định. Cấu hình khoảng cách từ thanh tìm kiếm đến bảng meta, trong khoảng 0-64. Lề dưới của bảng Meta - Nhấn và giữ vào dấu thời gian để thay đổi trạng thái phát lặp lại trên Shorts. - Hành động nhấn giữ dấu thời gian - "Hiển thị tiêu đề video ở chế độ toàn màn hình. - Hạn chế: Tiêu đề video sẽ biến mất khi nhấp vào." - Hiển thị tiêu đề video + Nhấn và giữ vào Mốc thời gian để thay đổi trạng thái phát lặp lại trên Shorts. + Nhấn giữ Mốc thời gian + "Hiển thị phần tiêu đề video ở chế độ toàn màn hình. + +Hạn chế: Tiêu đề video sẽ biến mất khi nhấn vào." + Hiển thị phần tiêu đề video Bỏ qua đếm ngược tự động phát đã tắt.\nNếu tính năng Tự động phát được bật, video tiếp theo sẽ phát sau khi hết thời gian đếm ngược. Bỏ qua đếm ngược tự động phát đã bật.\nNếu tính năng Tự động phát được bật, video tiếp theo sẽ phát ngay lập tức mà không cần đếm ngược. - Bỏ qua đếm ngược tự động phát - "Bỏ qua bộ đệm tải trước để tránh thời gian chờ áp dụng chất lượng video mặc định. Khi nhấn nút Phát, sẽ có một độ trễ khoảng 0.7 giây trước khi video bắt đầu phát, tuy nhiên chất lượng video chỉ định vẫn được áp dụng ngay lập tức. Tùy chọn này không áp dụng cho video HDR, video có thời lượng dưới 10 giây, sự kiện trực tiếp và buổi công chiếu." + Bỏ qua tự động đếm ngược trước khi phát + "Bỏ qua bộ đệm tải trước khi bắt đầu video để ngay lập tức áp dụng chất lượng video mặc định. + +Chi tiết: +• Khi video bắt đầu, sẽ có độ trễ khoảng 0,3 giây. +• Không áp dụng cho video HDR, video phát trực tiếp, hoặc video ngắn hơn 15 giây." Bỏ qua bộ đệm tải trước Thông báo ngắn đã ẩn. Thông báo ngắn được hiển thị. - Thông báo ngắn khi bỏ qua + Hiện thông báo ngắn khi bỏ qua Việc bật cài đặt này có thể gây ra sự cố phát video. Đã bỏ qua bộ đệm tải trước. Tốc độ phát khi nhấn và giữ phải nằm trong khoảng 0 - 8.0. Đã đặt lại về mặc định. @@ -1362,8 +1394,8 @@ Nhấn và giữ để mở cài đặt YouTube." Lưu ý:\n- Tuỳ chọn này sẽ thay đổi giao diện ứng dụng, tuy nhiên có thể xảy ra các sự cố chưa xác định khác. - Nếu tắt tuỳ chọn này sau đó, giao diện cũ có thể vẫn tồn tại cho đến khi bạn xoá dữ liệu ứng dụng." - Phiên bản chưa được giả mạo - Đã giả mạo phiên bản + Phiên bản không được giả mạo + Phiên bản đã được giả mạo 17.33.42 - Khôi phục bố cục giao diện kiểu cũ 17.41.37 - Khôi phục kệ Danh sách phát kiểu cũ 18.05.40 - Khôi phục hộp Viết bình luận kiểu cũ @@ -1377,82 +1409,32 @@ Lưu ý:\n- Tuỳ chọn này sẽ thay đổi giao diện ứng dụng, tuy nhi Giả mạo phiên bản ứng dụng "Phiên bản ứng dụng sẽ được giả mạo thành một phiên bản cũ hơn của Youtube. -Điều này sẽ thay đổi diện mạo và tính năng của ứng dụng, nhưng các tác dụng phụ có thể xảy ra. +Điều này sẽ làm thay đổi giao diện và tính năng của ứng dụng, nhưng đồng thời cũng có thể xẩy ra một số lỗi không xác định. -Nếu bạn tắt tính năng này sau này, hãy xóa dữ liệu ứng dụng để ngăn chặn một số lỗi giao diện." - Dự phòng - Chung - Phát trực tiếp - Android - Thử nghiệm Android - Android TV - Android VR - iOS - Video ngắn, Đoạn phim - Giả mạo máy khách bị ẩn trong Thống kê chi tiết. - Giả mạo máy khách được hiển thị trong Thống kê chi tiết. - Hiển thị trong Thống kê chi tiết - "Máy khách hiện không được giả mạo. Phát video có thể không hoạt động." - Máy khách đã được giả mạo. - Giả mạo máy khách - "Giả mạo máy khách thành thử nghiệm Android. - -Hạn chế: -• Không có video HDR. -• Menu theo dõi âm thanh bị thiếu. -• Chú thích có thể không có sẵn. -• Thiếu nút tải xuống. -• Thẻ kết thúc video bị thiếu. -• Ảnh trên thanh tiến trình có chất lượng thấp." - Thử nghiệm Android - "Giả mạo máy khách thành Android TV (YouTube TV). - - Hạn chế gồm: - • Không có video HDR. - • Thiếu menu âm thanh. - • Phụ đề có thể không khả dụng. - • Thiếu nút tải xuống. - • Ảnh trên thanh tiến trình có chất lượng thấp. - • Một số live streams không được hỗ trợ phát." - Android TV - "Giả mạo máy khách thành Android VR. - -Hạn chế: -• Không có video HDR. -• Nút tải xuống trên thanh thao tác video bị thiếu. -• Tạm dừng video có thể bất ngờ tiếp tục. -• Ảnh trên thanh tiến trình của Shorts có chất lượng thấp. -• Video dành cho trẻ em không khởi chạy được." - Android VR - "Giả mạo máy khách sang iOS. - -Hạn chế gồm: -• Video HDR chỉ được hỗ trợ trên codec AV1. -• Thời gian xem không được lưu trong Lịch sử xem khi dùng tài khoản doanh nghiệp." - "Giả mạo máy khách sang iOS. - -Hạn chế: -• Video HDR chỉ được hỗ trợ trên codec AV1. -• Lịch sử xem không hoạt động với tài khoản doanh nghiệp." - iOS - Việc tắt cài đặt này có thể gây ra sự cố phát video. - "Giả mạo kích thước thiết bị, để mở khóa chất lượng video cao hơn cho những thiết bị không đủ điều kiện." +Nếu muốn tắt tính năng này sau đó, bạn nên xóa dữ liệu ứng dụng để tránh phát sinh lỗi giao diện." + "Giả lập kích thước thiết bị đến giá trị tối đa. +Chất lượng cao có thể được mở khóa trên một số video yêu cầu kích thước thiết bị lớn, nhưng không phải tất cả các video." Giả mạo kích thước thiết bị - "Giả mạo thông số trình phát trên các trang video đã tắt. - -Hạn chế: Video được phát tự động sẽ phát dưới 1 phút trước khi bị giật hình." - "Giả mạo thông số trình phát trên các trang video đã bật. + Codec video trên iOS là AVC (H.264), VP9, or AV1. + Codec video trên iOS là AVC (H.264). + Buộc iOS sử dụng AVC (H.264) + "Bật chức năng này có thể tăng cường thời lượng pin và khắc phục tình trạng giật lag khi phát video. -Hạn chế: Video được phát tự động sẽ hiển thị trong lịch sử xem của bạn." - Giả mạo thông số trình phát trên bảng tin - "Giả mạo thông số trình phát để khắc phục vấn đề giật hình khi phát video. - -Hạn chế: -• Tốc độ bit nâng cao không khả dụng. -• Không có hình xem trước khi tua đối với video dành cho hội viên. -• Tải xuống ngoại tuyến có thể không hoạt động. -• Video có thể không bắt đầu từ thời điểm đã xem gần nhất." - Giả mạo thông số trình phát +AVC (H.264) có độ phân giải tối đa 1080p, và phát video sẽ dùng nhiều dữ liệu di động hơn với VP9 hoặc AV1." + Hạn chế của việc giả mạo + • Video có thể không phát được. + Máy khách được sử dụng để lấy dữ liệu phát trực tiếp sẽ bị ẩn trong Thống kê chi tiết. + Máy khách được sử dụng để lấy dữ liệu truyền trực tuyến sẽ được hiển thị trong Thống kê chi tiết. + Hiển thị trong Thống kê chi tiết + "Dữ liệu phát trực tiếp hiện không được giả mạo. Việc phát video có thể không hoạt động bình thường." + Đã giả mạo dữ liệu phát trực tiếp. + Giả mạo dữ liệu phát trực tiếp + Android + Android TV + Android VR + iOS + Máy khách mặc định + Việc tắt cài đặt này có thể gây ra sự cố phát video. Vuốt ở chế độ Khóa màn hình đã tắt. Cử chỉ vuốt đã bật ở chế độ Khóa màn hình. Vuốt ở chế độ Khóa màn hình @@ -1462,7 +1444,7 @@ Hạn chế: Độ mờ của nền lớp phủ vuốt khi thực hiện cử chỉ vuốt. Độ mờ nền lớp phủ vuốt Kích thước khu vực vuốt không được lớn hơn 50. Đã đặt lại về mặc định. - Phần trăm diện tích màn hình có thể vuốt.\n\nLưu ý: Thao tác này cũng sẽ thay đổi kích thước vùng màn hình đối với cử chỉ nhấn đúp để tua. + Tỉ lệ phần trăm diện tích màn hình có thể vuốt.\n\nLưu ý: Thao tác này cũng sẽ thay đổi kích thước vùng màn hình đối với cử chỉ nhấn đúp để tua. Kích thước văn bản trên lớp phủ vuốt Độ to nhỏ của văn bản được hiển thị trên lớp phủ vuốt. Kích thước văn bản trên lớp phủ vuốt @@ -1475,18 +1457,11 @@ Hạn chế: • Tắt tuỳ chọn này có thể hiển thị quảng cáo dạng video." Hoán đổi nút Tạo và nút Thông báo Nguyên gốc - "• Thực hiện theo cài đặt Lịch sử xem của tài khoản Google. + • Lịch sử xem bị chặn. + "• Tuân theo cài đặt lịch sử xem của tài khoản Google. • Lịch sử xem có thể không hoạt động do DNS hoặc VPN." - • Thực hiện theo cài đặt Lịch sử xem của tài khoản Google. - • Lịch sử xem không hoạt động. - "• Thực hiện theo cài đặt Lịch sử xem của tài khoản Google. -• Lịch sử xem có thể không hoạt động do DNS hoặc VPN. -• Lịch sử xem có thể không hoạt động với tài khoản doanh nghiệp. -(Cài đặt giả mạo máy khách được bật và máy khách iOS được chọn)" - "• Thực hiện theo cài đặt Lịch sử xem của tài khoản Google. -• Lịch sử xem có thể không hoạt động với tài khoản doanh nghiệp. -(Cài đặt giả mạo máy khách được bật và máy khách iOS được chọn)" - Giới thiệu về Lịch sử xem + • Tuân theo cài đặt Lịch sử xem của tài khoản Google. + Trạng thái của Lịch sử xem Nhấn để mở mục quản lý Lịch sử xem trên YouTube. Quản lý toàn bộ lịch sử Gốc diff --git a/src/main/resources/youtube/translations/zh-rCN/missing_strings.xml b/src/main/resources/youtube/translations/zh-rCN/missing_strings.xml index 4af6cf5b4..4a49494b6 100644 --- a/src/main/resources/youtube/translations/zh-rCN/missing_strings.xml +++ b/src/main/resources/youtube/translations/zh-rCN/missing_strings.xml @@ -1,8 +1,5 @@ - In-app share sheet is used. - System share sheet is used. - Change share sheet MMT Blue MMT Green MMT Yellow @@ -13,10 +10,55 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/zh-rCN/strings.xml b/src/main/resources/youtube/translations/zh-rCN/strings.xml index dc17c8438..291604b6b 100644 --- a/src/main/resources/youtube/translations/zh-rCN/strings.xml +++ b/src/main/resources/youtube/translations/zh-rCN/strings.xml @@ -66,6 +66,9 @@ 使用开关切换 使用文本切换 更改切换类型 + 应用内分享菜单已启用 + 系统分享菜单已启用 + 更改分享菜单 自动播放 默认 暂停 @@ -126,7 +129,7 @@ 氛围模式已禁用 禁用氛围模式 强制自动音轨已启用 - 强制自动音轨已禁用 + "强制自动音轨已禁用" 禁用强制自动音轨 强制显示字幕已启用 强制显示字幕已禁用 @@ -587,9 +590,6 @@ 折叠按钮已显示 折叠按钮已隐藏 隐藏折叠按钮 - 氛围模式菜单已显示 - 氛围模式菜单已隐藏 - 隐藏氛围模式菜单 音轨菜单已显示 音轨菜单已隐藏 隐藏音轨菜单 @@ -774,9 +774,6 @@ 实时聊天栏已显示\n\n其中的返回按钮不会隐藏 实时聊天栏已隐藏\n\n其中的返回按钮不会隐藏 隐藏实时聊天栏 - 位置标签已显示 - 位置标签已隐藏 - 隐藏位置标签 导航栏已显示 导航栏已隐藏 隐藏导航栏 @@ -798,9 +795,6 @@ 保存声音到播放列表按钮已显示 保存声音到播放列表按钮已隐藏 隐藏保存声音到播放列表按钮 - 搜索建议已显示 - 搜索建议已隐藏 - 隐藏搜索建议 分享按钮已显示 分享按钮已隐藏 隐藏分享按钮 @@ -1018,8 +1012,6 @@ Note: 快速操作 推荐视频 Shorts 栏 - 关于 - 伪装客户端选项 使用的工具 观看次数过滤器 隐藏或显示账户菜单和“你”选项卡中的元素 @@ -1073,8 +1065,6 @@ Note: 隐藏或显示短视频播放器中的组件 短视频播放器 短视频 - 伪装客户端以防止播放问题 - 伪装客户端 滑动控制 隐藏或更改工具栏上的组件,如工具栏按钮、搜索栏、标题 工具栏 @@ -1094,10 +1084,16 @@ Note: 播放速度更改仅适用于当前视频 播放速度更改适用于所有视频 记住播放速度更改 + 更改默认播放速度时,不显示 Toast + 更改默认播放速度时,显示 Toast + 显示 Toast 将默认速度更改为 %s 画质更改仅适用于当前视频 画质更改适用于所有视频 记住视频画质更改 + 更改默认视频画质时,不显示 Toast + 更改默认视频画质时,显示 Toast + 显示 Toast 将默认移动数据画质更改为 %s 无法设置视频画质 将默认 WiFi 画质更改为 %s @@ -1186,6 +1182,7 @@ Note: 更改 API URL SponsorBlock 用于向服务器发出调用的地址 最短片段持续时间 + 无效的时长 短于此值 (以秒为单位) 的片段将不会被显示或跳过 启用跳过计数跟踪 未启用跳过计数跟踪 @@ -1387,80 +1384,8 @@ Note: 这将改变应用程序的外观和功能,但可能会出现未知的副作用 如果稍后关闭,建议清除应用数据以防止UI错误" - 无法播放的视频 - 常规设置 - 直播 - Android - Android 测试套件 - Android TV - Android VR - iOS - 短视频,剪辑 - 伪装客户端已在统计信息中隐藏 - 伪装客户端已在统计信息中显示 - 显示详细统计信息 - "客户端未伪装,视频可能无法正常播放" - 客户端已伪装 - 伪装客户端 - "伪装客户端到 Android 测试套件 - -副作用: -• 无 HDR 视频 -• 缺少音轨菜单和播放速度菜单 -• 字幕可能不可用" - Android 测试套件 - "伪装客户端到 Android TV (YouTube TV) - -副作用: -• 无 HDR 视频 -• 缺少音轨菜单 -• 字幕可能不可用 -• 缺少下载按钮 -• 低质量的搜索栏缩略图 -• 某些直播流不支持播放" - Android TV - "伪装客户端到 Android VR - -副作用: -• 无 HDR 视频 -• 视频操作栏的下载按钮缺失 -• 暂停的视频可以随时恢复 -• 低质量的短视频滚动栏缩略图 -• 儿童视频无法播放" - Android VR - "伪装客户端为 iOS 客户端 - -副作用: -• 仅在 AV1 编解码器上支持 HDR 视频 -• 观看时间不保存在品牌帐户的历史记录中" - "伪装客户端到iOS - -副作用: -• 无 HDR 视频 -• 缺少播放速度菜单 -• 可能失去更高视频画质 -• 历史记录不适用于品牌帐号 -• 直播不能只作为音频播放 -• 直播在 Android 8.0 上不可用" - iOS - 关闭此选项可能会导致视频不能正常播放 "伪装设备尺寸,以解锁设备可能无法提供的更高视频质量" 伪装设备尺寸 - "播放器参数未针对动态内视频进行伪装 - -已知问题: 动态视频播放时间不满1分钟会出现播放问题" - "播放器参数针对动态内视频进行伪装 - -已知问题: 自动播放的动态视频将出现在你的观看历史" - 伪装动态播放器参数 - "伪装播放器参数以回避播放问题 - -已知问题: -• 高码率不可用 -• 付费视频无进度条缩略图 -• 离线下载可能不可用 -• 视频可能不会从上次播放时开始" - 伪装播放器参数 在“锁定屏幕”模式下禁用滑动手势 在“锁定屏幕”模式下启用滑动手势 在“锁定屏幕”模式下滑动手势 @@ -1483,17 +1408,7 @@ Note: • 你应该禁用此设置以显示视频广告" 交换创建和通知按钮 Stock - "• 遵循谷歌帐户的观看历史设置 -• 由于 DNS 或 VPN 的原因,观看历史可能无法工作" - • 遵循谷歌帐户的观看历史设置 • 历史记录不可用 - "• 遵循谷歌帐户的观看历史设置 -• 由于 DNS 或 VPN 的原因,观看历史可能无法工作 -• 历史记录可能无法适用于品牌帐户 -(已开启伪装客户端并选择 iOS 客户端)" - "• 遵循谷歌帐户的观看历史设置 -• 历史记录可能无法适用于品牌帐户 -(已开启伪装客户端并选择 iOS 客户端)" 关于历史记录 点击以打开 YouTube 历史记录管理 管理所有历史记录 diff --git a/src/main/resources/youtube/translations/zh-rTW/missing_strings.xml b/src/main/resources/youtube/translations/zh-rTW/missing_strings.xml index 8bf917903..f85cacf0f 100644 --- a/src/main/resources/youtube/translations/zh-rTW/missing_strings.xml +++ b/src/main/resources/youtube/translations/zh-rTW/missing_strings.xml @@ -8,10 +8,55 @@ Forward by Specified Time (Default: 150ms) Publish Created Segment Rewind by Specified Time (Default: 150ms) - A toast will not be shown when changing the default video quality. - A toast will be shown when changing the default video quality. - Show a toast when changing the default video quality - A toast will not be shown when changing the default video speed. - A toast will be shown when changing the default video speed. - Show a toast when changing the default video speed + 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> + Match whole words + Add quotes to use keyword: %s. + Keyword has conflicting declarations: %s. + Keyword is too short and requires quotes: %s. + "Floating buttons like 'Use this sound' are shown in the Shorts channel tab." + "Floating buttons like 'Use this sound' are hidden in the Shorts channel tab." + Hide floating button + Location button is shown. + Location button is hidden. + Hide location button + Search suggestions button is shown. + Search suggestions button is hidden. + Hide search suggestions button + Shopping button is shown. + Shopping button is hidden. + Hide Shopping button + Trends button is shown. + Trends button is hidden. + Hide Trends button + Use template button is shown. + Use template button is hidden. + Hide Use template button + Use this sound button is shown. + Use this sound button is hidden. + Hide Use this sound button + Spoof the streaming data to prevent playback issues. + Spoof streaming data + iOS video codec is AVC (H.264), VP9, or AV1. + iOS video codec is AVC (H.264). + Force iOS AVC (H.264) + "Enabling this might improve battery life and fix playback stuttering. + +AVC (H.264) has a maximum resolution of 1080p, and video playback will use more internet data than VP9 or AV1." + Spoofing side effects + • Video may not play. + Client used to fetch streaming data is hidden in Stats for nerds. + Client used to fetch streaming data is shown in Stats for nerds. + Show in Stats for nerds + "Streaming data is not spoofed. Video playback may not work." + Streaming data is spoofed. + Spoof streaming data + Android + Android TV + Android VR + iOS + Default client + Turning off this setting may cause video playback issues. + "• Follows the watch history settings of Google account. +• Watch history may not work due to DNS or VPN." + • Follows the watch history settings of Google account. diff --git a/src/main/resources/youtube/translations/zh-rTW/strings.xml b/src/main/resources/youtube/translations/zh-rTW/strings.xml index 7d1d72093..c69ca5bf4 100644 --- a/src/main/resources/youtube/translations/zh-rTW/strings.xml +++ b/src/main/resources/youtube/translations/zh-rTW/strings.xml @@ -130,7 +130,7 @@ 微光模式已停用。 停用微光模式 強制自動音軌已啟用 - 強制自動音軌已停用 + "強制自動音軌已停用" 停用強制自動音軌 強制顯示字幕已啟用 強制顯示字幕已停用 @@ -587,9 +587,6 @@ 折疊按鈕已顯示 折疊按鈕已隱藏 隱藏折疊按鈕 - 微光模式選單已顯示 - 微光模式選單已隱藏 - 隱藏微光模式選單 音軌選單已顯示 音軌選單已隱藏 隱藏音軌選單 @@ -773,9 +770,6 @@ 顯示即時聊天標題。\n\n標題中的後退按鈕不會被隱藏。 即時聊天標題被隱藏。\n\n標題中的後退按鈕不會被隱藏。 隱藏即時聊天標題 - 位置標簽已顯示 - 位置標簽已隱藏 - 隱藏位置標簽 導航欄已顯示 導航欄已隱藏 隱藏導航欄 @@ -797,9 +791,6 @@ 儲存音效到播放清單按鈕已顯示。 儲存音效到播放清單按鈕已隱藏。 隱藏儲存音效到播放清單按鈕 - 搜尋建議已顯示 - 搜尋建議已隱藏 - 隱藏搜尋建議 分享按鈕已顯示 分享按鈕已隱藏 隱藏分享按鈕 @@ -1020,8 +1011,6 @@ Note: 快速操作 推薦影片 短片欄 - 關於 - 偽裝客戶端選項 使用的工具 --唐懂翻譯 觀看次數篩選器 隱藏或顯示帳戶選單和你的內容分頁中的元素。 @@ -1075,8 +1064,6 @@ Note: 隱藏或顯示短片播放器中的組件 短片播放器 短片 - 偽裝客戶端以防止播放問題。 - 偽裝客戶端 滑動控制 隱藏或變更工具欄上的元件,例如工具欄按鈕、搜尋欄、標題 工具欄 @@ -1097,10 +1084,16 @@ Note: 播放速度更改僅適用於當前影片 播放速度更改適用於所有影片 記住播放速度更改 + 變更預設播放速度時不會顯示提示訊息。 + 變更預設播放速度時會顯示提示訊息。 + 顯示提示訊息 將預設速度更改為 %s 畫質更改僅適用於當前影片 畫質更改適用於所有影片 記住影片畫質更改 + 更改預設影片畫質時不會顯示提示訊息。 + 更改預設影片畫質時將顯示提示訊息。 + 顯示提示訊息 將預設移動數據畫質更改為 %s 無法設定影片畫質 將預設 WiFi 畫質更改為 %s @@ -1194,6 +1187,7 @@ Note: 更改 API 網址 SponsorBlock 用於向伺服器發出調用的位址 最短片段持續時間 + 持續時間無效。 小於此值(以秒為單位)的片段將不會顯示或跳過 啟用跳過計數跟蹤 未啟用跳過計數跟蹤 @@ -1399,77 +1393,8 @@ Note: 這將改變應用程式的外觀和功能,但可能會出現未知的副作用。 如果稍後關閉,建議清除應用程式資料以防止 UI 錯誤。" - 回復 - 一般設定 - 實況直播 - Android - Android 測試套件 - Android TV - Android VR - iOS - 短片, 片段 - 已偽裝的用戶端隱藏在「數據統計」中。 - 已偽裝的用戶端顯示在「數據統計」中。 - 在「數據統計」中顯示 - "客戶端未偽裝。 影片可能無法播放。" - 已偽裝客戶端。 - 偽裝客戶端 - "偽裝用戶端為 Android 測試套件。 - -副作用包括: -・沒有 HDR 影片 -・缺少音訊選單 -・字幕可能不可用" - Android 測試套件 - "偽裝用戶端到 Android 電視 (YouTube TV)。 - - 副作用包括: - • 沒有 HDR 影片 - • 缺少音訊選單 - • 字幕可能不可用 - • 部分直播串流不支援回放" - 安卓電視 - "偽裝 Android VR 用戶端。 - - 副作用包括: - • 無 HDR 影片。 - • 暫停的影片可以隨機恢復。 - • 低品質的短片搜尋欄縮圖。 - • 無法播放兒童影片。" - Android VR - "偽裝客戶端到iOS。 - - 副作用包括: - • HDR影片僅在AV1編解碼器上支援。 - • 觀看時間不會保存在品牌帳戶的觀看記錄中。" - "偽裝用戶端到 iOS。 - - 副作用包括: - • 沒有 HDR 影片 - • 更高的影片畫質可能不可用 - • 觀看記錄不適用於品牌帳戶 - • 即時串流不能只作為音訊播放 - • Android 8.0 上不支援直播" - iOS - 關閉此設定可能會導致影片播放發生問題。 "變更裝置尺寸設定,以便解鎖在您目前的裝置上原本不支援的較高影片品質。" 偽裝裝置尺寸 - "未偽裝播放器參數針對探索內影片 - -已知問題 - • 動態影片播放時間不滿1分鐘會出現播放問題" - "偽裝播放器參數針對探索內影片 - -已知問題:自動播放的動態影片將出現在你的觀看記錄裡" - 偽裝探索播放器參數 - "偽裝播放器參數以回避播放問題 - -已知問題: - • 進階位元率無法使用 - • 付費影片無進度條縮圖 - • 離線下載可能無法使用 - • 影片可能無法從上次播放的位置開始" - 偽裝播放器參數 在「鎖定螢幕」模式下停用滑動手勢 在「鎖定螢幕」模式下啟用滑動手勢 在「鎖定螢幕」模式下滑動手勢 @@ -1492,17 +1417,7 @@ Note: • 你應該停用這項設定以顯示影片廣告" 交換創作和通知按鈕 預設 - "• 遵循Google帳戶的觀看記錄設定。 -• 由於 DNS 或 VPN 的原因,觀看記錄可能無法運作。" - • 遵循Google帳戶的觀看記錄設定。 • 觀看歷史記錄不起作用。 - "• 遵循Google帳戶的觀看記錄設定。 -• 由於 DNS 或 VPN 的原因,觀看記錄可能無法運作。 -• 觀看記錄可能不適用於品牌帳戶。 -(偽裝客戶端設定已開啟,並選擇iOS客戶端)" - "• 遵循Google帳戶的觀看記錄設定。 -• 觀看記錄可能不適用於品牌帳戶。 -(偽裝客戶端設定已開啟,並選擇iOS客戶端)" 關於觀看歷史記錄 按一下可開啟 YouTube 觀看記錄管理。 管理所有歷史記錄 diff --git a/src/main/resources/youtube/visual/shared/drawable/revanced_preference_screen_spoof_streaming_data_icon.xml b/src/main/resources/youtube/visual/shared/drawable/revanced_preference_screen_spoof_streaming_data_icon.xml new file mode 100644 index 000000000..8d08d6d16 --- /dev/null +++ b/src/main/resources/youtube/visual/shared/drawable/revanced_preference_screen_spoof_streaming_data_icon.xml @@ -0,0 +1,18 @@ + + + + +