mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-15 15:33:13 +00:00
Compare commits
61 Commits
v5.34.0-de
...
v5.36.0-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f6093ee66 | ||
|
|
9d4aa5cd16 | ||
|
|
5ace6f587c | ||
|
|
796f56745e | ||
|
|
88b47ef414 | ||
|
|
8cd8e59bbc | ||
|
|
6e72b14d07 | ||
|
|
52b088327b | ||
|
|
8e934cc56b | ||
|
|
b3140d909b | ||
|
|
97645aa9f4 | ||
|
|
603e2d018c | ||
|
|
144af2f07e | ||
|
|
b8629aacb6 | ||
|
|
3951527f51 | ||
|
|
7a8b618c4e | ||
|
|
c66c42e946 | ||
|
|
b340769cf3 | ||
|
|
0a8cd7a7db | ||
|
|
39f90e4b11 | ||
|
|
9256aa4548 | ||
|
|
7973c75552 | ||
|
|
2b2307416a | ||
|
|
1dbc2d4057 | ||
|
|
f6917dc361 | ||
|
|
d2f043e11a | ||
|
|
a392bc0dfd | ||
|
|
dfc127048a | ||
|
|
ed31d0cab6 | ||
|
|
0df6315f9c | ||
|
|
f14259f9ef | ||
|
|
1473db0bef | ||
|
|
829ca58a55 | ||
|
|
aace741e25 | ||
|
|
189529151a | ||
|
|
51237c177a | ||
|
|
23496c7c36 | ||
|
|
e6823d8924 | ||
|
|
43597dab21 | ||
|
|
c0824db142 | ||
|
|
1b7f84b7fa | ||
|
|
6d87c848d6 | ||
|
|
150bee2833 | ||
|
|
c3ee6eca44 | ||
|
|
01a04c338c | ||
|
|
3130225d9d | ||
|
|
16b27fb872 | ||
|
|
bedabd3fa3 | ||
|
|
84f3c6f02d | ||
|
|
25470baeee | ||
|
|
b86da73a87 | ||
|
|
4aaa7ca895 | ||
|
|
d3f63461e7 | ||
|
|
7a3ace2231 | ||
|
|
c89668a540 | ||
|
|
40ac8e1142 | ||
|
|
26c6420de5 | ||
|
|
bfd3989995 | ||
|
|
7e812ae1a8 | ||
|
|
c23a926b07 | ||
|
|
fe66baedb7 |
179
CHANGELOG.md
179
CHANGELOG.md
@@ -1,3 +1,182 @@
|
||||
# [5.36.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.1-dev.1...v5.36.0-dev.1) (2025-09-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - SponsorBlock:** Add 'Hook' segment category ([#5783](https://github.com/ReVanced/revanced-patches/issues/5783)) ([2e042c4](https://github.com/ReVanced/revanced-patches/commit/2e042c4b3366fa3daf991d5560fcae991d00ad12))
|
||||
|
||||
## [5.35.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.35.0...v5.35.1-dev.1) (2025-09-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Duolingo - Disable ads:** Support latest app target ([#5782](https://github.com/ReVanced/revanced-patches/issues/5782)) ([8491516](https://github.com/ReVanced/revanced-patches/commit/849151637389b8f399356d0d331bb74482f3f05d))
|
||||
* **YouTube - Hide layout components:** Hide new type of Playable shelf ([3af4126](https://github.com/ReVanced/revanced-patches/commit/3af41265338ddaab52d009f53370c57abddd4599))
|
||||
|
||||
# [5.35.0](https://github.com/ReVanced/revanced-patches/compare/v5.34.0...v5.35.0) (2025-09-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Instagram - Hide navigation buttons:** Fix Manager patching error ([0d10e94](https://github.com/ReVanced/revanced-patches/commit/0d10e94663283fac09f3efc57c9b9805c38c4e13))
|
||||
* **Proton mail:** Constrain patches to last working app target ([21c34b9](https://github.com/ReVanced/revanced-patches/commit/21c34b908e07a97de8c31c7c828b44a8cc4739b6))
|
||||
* Revert dependency updates to fix Manager pre-release patching ([4c7a1a8](https://github.com/ReVanced/revanced-patches/commit/4c7a1a8554c67797bf663e5230f566c5a9b229af))
|
||||
* **Spotify - Unlock Premium:** Make compatible with latest versions again by fixing fingerprint ([#5684](https://github.com/ReVanced/revanced-patches/issues/5684)) ([30dcff1](https://github.com/ReVanced/revanced-patches/commit/30dcff13a56883efc499b71faadb403877cd1c67))
|
||||
* **YouTube - Hide layout components:** Hide Playable shelf header ([fbb5046](https://github.com/ReVanced/revanced-patches/commit/fbb50463f0e3f533a278c5251cfbce59f09ce641))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **BaconReader:** Add `Fix Redgifs API` patch ([#5761](https://github.com/ReVanced/revanced-patches/issues/5761)) ([08868c0](https://github.com/ReVanced/revanced-patches/commit/08868c00d3c4f1f37f4a77f333a03ca5a3259b59))
|
||||
* **Boost/Sync for Reddit:** Add `Fix Redgifs` patch ([#5725](https://github.com/ReVanced/revanced-patches/issues/5725)) ([c5e8079](https://github.com/ReVanced/revanced-patches/commit/c5e8079eab08075a72078cd0fa79f3beb1f75d98))
|
||||
* **Instagram:** Add `Hide navigation buttons` patch ([#5678](https://github.com/ReVanced/revanced-patches/issues/5678)) ([415cf0f](https://github.com/ReVanced/revanced-patches/commit/415cf0fb5b9b3dcaf4592943a69eea1c10447b07))
|
||||
* **Instagram:** Add `Hide Stories from Home` patch ([#5756](https://github.com/ReVanced/revanced-patches/issues/5756)) ([3ae3251](https://github.com/ReVanced/revanced-patches/commit/3ae3251dc0317b6ced136fe9aa14be369642f203))
|
||||
|
||||
# [5.35.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.35.0-dev.4...v5.35.0-dev.5) (2025-09-06)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **BaconReader:** Add `Fix Redgifs API` patch ([#5761](https://github.com/ReVanced/revanced-patches/issues/5761)) ([08868c0](https://github.com/ReVanced/revanced-patches/commit/08868c00d3c4f1f37f4a77f333a03ca5a3259b59))
|
||||
* **Instagram:** Add `Hide Stories from Home` patch ([#5756](https://github.com/ReVanced/revanced-patches/issues/5756)) ([3ae3251](https://github.com/ReVanced/revanced-patches/commit/3ae3251dc0317b6ced136fe9aa14be369642f203))
|
||||
|
||||
# [5.35.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.35.0-dev.3...v5.35.0-dev.4) (2025-09-04)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Boost/Sync for Reddit:** Add `Fix Redgifs` patch ([#5725](https://github.com/ReVanced/revanced-patches/issues/5725)) ([c5e8079](https://github.com/ReVanced/revanced-patches/commit/c5e8079eab08075a72078cd0fa79f3beb1f75d98))
|
||||
|
||||
# [5.35.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.35.0-dev.2...v5.35.0-dev.3) (2025-09-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Instagram - Hide navigation buttons:** Fix Manager patching error ([0d10e94](https://github.com/ReVanced/revanced-patches/commit/0d10e94663283fac09f3efc57c9b9805c38c4e13))
|
||||
|
||||
# [5.35.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.35.0-dev.1...v5.35.0-dev.2) (2025-09-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Revert dependency updates to fix Manager pre-release patching ([4c7a1a8](https://github.com/ReVanced/revanced-patches/commit/4c7a1a8554c67797bf663e5230f566c5a9b229af))
|
||||
|
||||
# [5.35.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.34.1-dev.3...v5.35.0-dev.1) (2025-09-03)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Instagram:** Add `Hide navigation buttons` patch ([#5678](https://github.com/ReVanced/revanced-patches/issues/5678)) ([415cf0f](https://github.com/ReVanced/revanced-patches/commit/415cf0fb5b9b3dcaf4592943a69eea1c10447b07))
|
||||
|
||||
## [5.34.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.34.1-dev.2...v5.34.1-dev.3) (2025-08-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Hide layout components:** Hide Playable shelf header ([fbb5046](https://github.com/ReVanced/revanced-patches/commit/fbb50463f0e3f533a278c5251cfbce59f09ce641))
|
||||
|
||||
## [5.34.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.34.1-dev.1...v5.34.1-dev.2) (2025-08-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Proton mail:** Constrain patches to last working app target ([21c34b9](https://github.com/ReVanced/revanced-patches/commit/21c34b908e07a97de8c31c7c828b44a8cc4739b6))
|
||||
|
||||
## [5.34.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.34.0...v5.34.1-dev.1) (2025-08-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Spotify - Unlock Premium:** Make compatible with latest versions again by fixing fingerprint ([#5684](https://github.com/ReVanced/revanced-patches/issues/5684)) ([30dcff1](https://github.com/ReVanced/revanced-patches/commit/30dcff13a56883efc499b71faadb403877cd1c67))
|
||||
|
||||
# [5.34.0](https://github.com/ReVanced/revanced-patches/compare/v5.33.0...v5.34.0) (2025-08-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Backdrops:** Remove broken patch that is no longer supported ([#5627](https://github.com/ReVanced/revanced-patches/issues/5627)) ([ebb8332](https://github.com/ReVanced/revanced-patches/commit/ebb83320838aa99dd4417d45a50333dd42c1218a))
|
||||
* **pixiv - Hide ads:** Constrain patch to last working app target ([d8ea56c](https://github.com/ReVanced/revanced-patches/commit/d8ea56ca4be47df1c43f96ec41b91c800f1d9daf))
|
||||
* **Twitch:** Constrain patches to last working app targets ([#5373](https://github.com/ReVanced/revanced-patches/issues/5373)) ([29a4748](https://github.com/ReVanced/revanced-patches/commit/29a47481c4efa209a3a53df60613b59a73adbe07))
|
||||
* **YouTube - Hide layout components:** Do not hide community posts on channel profiles ([#5634](https://github.com/ReVanced/revanced-patches/issues/5634)) ([9e3d5a2](https://github.com/ReVanced/revanced-patches/commit/9e3d5a2b36106479470f3f69920518b57e8c4dca))
|
||||
* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([09ccee7](https://github.com/ReVanced/revanced-patches/commit/09ccee71384df338bbf8acc1097f619a372c4868))
|
||||
* **YouTube - SponsorBlock:** Do not hide voting or create button when the video ends ([6aba4e2](https://github.com/ReVanced/revanced-patches/commit/6aba4e284de9bb94b49eea8be2baf2870eecbbcf))
|
||||
* **YouTube - Video playback:** Disable HDR video does not disable Dolby Vision HDR ([#5661](https://github.com/ReVanced/revanced-patches/issues/5661)) ([6dab988](https://github.com/ReVanced/revanced-patches/commit/6dab98810645b96bd0387ba7d607e5d8ffb1b5bb))
|
||||
* **YouTube - Video quality:** Fix additional incorrect quality resolutions used by YouTube ([a2a1fbe](https://github.com/ReVanced/revanced-patches/commit/a2a1fbe2959be8334c54cfc3426c24a960c55c8f))
|
||||
* **YouTube - Video quality:** Show FHD+ icon for 1080p 60fps enhanced bitrate ([76bed37](https://github.com/ReVanced/revanced-patches/commit/76bed3734093713af24ef065d5ffc5b1cd83f29a))
|
||||
* **YouTube:** Use correct fade out animation when tapping to dismiss the video overlay ([#5670](https://github.com/ReVanced/revanced-patches/issues/5670)) ([cce6737](https://github.com/ReVanced/revanced-patches/commit/cce6737f627fc7621bbde50a5653b6af14c6f31a))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Instagram:** Support latest app version ([#5611](https://github.com/ReVanced/revanced-patches/issues/5611)) ([26fe690](https://github.com/ReVanced/revanced-patches/commit/26fe690dfbefe6c412c5f81f208a3b1d2fbd7a0a))
|
||||
* **NU.nl:** Support latest app version ([#5643](https://github.com/ReVanced/revanced-patches/issues/5643)) ([7338e4a](https://github.com/ReVanced/revanced-patches/commit/7338e4a5a99f913256120d0d58fede3aa4ee8922))
|
||||
* **YouTube - Hide player flyout menu items:** Add option to hide quality flyout menu ([eb55068](https://github.com/ReVanced/revanced-patches/commit/eb5506856a2eaf2a8585e598868ddba3e1429159))
|
||||
* **YouTube - Hide video action buttons:** Add "Hide Hype button" setting ([f13f377](https://github.com/ReVanced/revanced-patches/commit/f13f3770e7c4fd5bff8f3e224fb1b1ead50a3c18))
|
||||
* **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b))
|
||||
* **YouTube - Playback speed:** Show current playback speed on player speed dialog button ([#5607](https://github.com/ReVanced/revanced-patches/issues/5607)) ([279436a](https://github.com/ReVanced/revanced-patches/commit/279436a3657b50f98bb4cc64dc88dc14e422f204))
|
||||
* **YouTube:** Add `Disable sign in to TV popup` patch ([#5639](https://github.com/ReVanced/revanced-patches/issues/5639)) ([d0e5bd0](https://github.com/ReVanced/revanced-patches/commit/d0e5bd0479a8910b081c483ed2a6ab4d7134e3c3))
|
||||
|
||||
# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([09ccee7](https://github.com/ReVanced/revanced-patches/commit/09ccee71384df338bbf8acc1097f619a372c4868))
|
||||
|
||||
# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([09ccee7](https://github.com/ReVanced/revanced-patches/commit/09ccee71384df338bbf8acc1097f619a372c4868))
|
||||
|
||||
# [5.34.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.11...v5.34.0-dev.12) (2025-08-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube:** Use correct fade out animation when tapping to dismiss the video overlay ([#5670](https://github.com/ReVanced/revanced-patches/issues/5670)) ([cce6737](https://github.com/ReVanced/revanced-patches/commit/cce6737f627fc7621bbde50a5653b6af14c6f31a))
|
||||
|
||||
# [5.34.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.10...v5.34.0-dev.11) (2025-08-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - SponsorBlock:** Do not hide voting or create button when the video ends ([6aba4e2](https://github.com/ReVanced/revanced-patches/commit/6aba4e284de9bb94b49eea8be2baf2870eecbbcf))
|
||||
|
||||
# [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Video playback:** Disable HDR video does not disable Dolby Vision HDR ([#5661](https://github.com/ReVanced/revanced-patches/issues/5661)) ([6dab988](https://github.com/ReVanced/revanced-patches/commit/6dab98810645b96bd0387ba7d607e5d8ffb1b5bb))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b))
|
||||
|
||||
# [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b))
|
||||
|
||||
# [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b))
|
||||
|
||||
# [5.34.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.8...v5.34.0-dev.9) (2025-08-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Hide video action buttons:** Add "Hide Hype button" setting ([f13f377](https://github.com/ReVanced/revanced-patches/commit/f13f3770e7c4fd5bff8f3e224fb1b1ead50a3c18))
|
||||
|
||||
# [5.34.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.7...v5.34.0-dev.8) (2025-08-15)
|
||||
|
||||
|
||||
|
||||
8
adsfund.json
Normal file
8
adsfund.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"info": "This is verification file for ads.fund project",
|
||||
"project": {
|
||||
"name": "Revanced Patches",
|
||||
"walletAddress": "0x7ab4091e00363654bf84B34151225742cd92FCE5",
|
||||
"tokenAddress": "0xadf325f255083a3f3d9a9d01ffb3db52a148d802"
|
||||
}
|
||||
}
|
||||
5
extensions/baconreader/build.gradle.kts
Normal file
5
extensions/baconreader/build.gradle.kts
Normal file
@@ -0,0 +1,5 @@
|
||||
dependencies {
|
||||
compileOnly(project(":extensions:shared:library"))
|
||||
compileOnly(libs.annotation)
|
||||
compileOnly(libs.okhttp)
|
||||
}
|
||||
1
extensions/baconreader/src/main/AndroidManifest.xml
Normal file
1
extensions/baconreader/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1 @@
|
||||
<manifest/>
|
||||
@@ -0,0 +1,22 @@
|
||||
package app.revanced.extension.baconreader;
|
||||
|
||||
import app.revanced.extension.shared.fixes.redgifs.BaseFixRedgifsApiPatch;
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
/**
|
||||
* @noinspection unused
|
||||
*/
|
||||
public class FixRedgifsApiPatch extends BaseFixRedgifsApiPatch {
|
||||
static {
|
||||
INSTANCE = new FixRedgifsApiPatch();
|
||||
}
|
||||
|
||||
public String getDefaultUserAgent() {
|
||||
// BaconReader uses a static user agent for Redgifs API calls
|
||||
return "BaconReader";
|
||||
}
|
||||
|
||||
public static OkHttpClient install(OkHttpClient.Builder builder) {
|
||||
return builder.addInterceptor(INSTANCE).build();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
dependencies {
|
||||
compileOnly(project(":extensions:shared:library"))
|
||||
compileOnly(project(":extensions:boostforreddit:stub"))
|
||||
compileOnly(libs.annotation)
|
||||
compileOnly(libs.okhttp)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package app.revanced.extension.boostforreddit;
|
||||
|
||||
import app.revanced.extension.shared.fixes.redgifs.BaseFixRedgifsApiPatch;
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
/**
|
||||
* @noinspection unused
|
||||
*/
|
||||
public class FixRedgifsApiPatch extends BaseFixRedgifsApiPatch {
|
||||
static {
|
||||
INSTANCE = new FixRedgifsApiPatch();
|
||||
}
|
||||
|
||||
public String getDefaultUserAgent() {
|
||||
// Boost uses a static user agent for Redgifs API calls
|
||||
return "Boost";
|
||||
}
|
||||
|
||||
public static OkHttpClient createClient() {
|
||||
return new OkHttpClient.Builder().addInterceptor(INSTANCE).build();
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
dependencies {
|
||||
implementation(project(":extensions:shared:library"))
|
||||
compileOnly(libs.okhttp)
|
||||
}
|
||||
|
||||
@@ -18,4 +18,5 @@ android {
|
||||
|
||||
dependencies {
|
||||
compileOnly(libs.annotation)
|
||||
compileOnly(libs.okhttp)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
package app.revanced.extension.shared.fixes.redgifs;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import org.json.JSONException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.HttpURLConnection;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.MediaType;
|
||||
import okhttp3.Protocol;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import okhttp3.ResponseBody;
|
||||
|
||||
|
||||
public abstract class BaseFixRedgifsApiPatch implements Interceptor {
|
||||
protected static BaseFixRedgifsApiPatch INSTANCE;
|
||||
public abstract String getDefaultUserAgent();
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Response intercept(@NonNull Chain chain) throws IOException {
|
||||
Request request = chain.request();
|
||||
if (!request.url().host().equals("api.redgifs.com")) {
|
||||
return chain.proceed(request);
|
||||
}
|
||||
|
||||
String userAgent = getDefaultUserAgent();
|
||||
|
||||
if (request.header("Authorization") != null) {
|
||||
Response response = chain.proceed(request.newBuilder().header("User-Agent", userAgent).build());
|
||||
if (response.isSuccessful()) {
|
||||
return response;
|
||||
}
|
||||
// It's possible that the user agent is being overwritten later down in the interceptor
|
||||
// chain, so make sure we grab the new user agent from the request headers.
|
||||
userAgent = response.request().header("User-Agent");
|
||||
response.close();
|
||||
}
|
||||
|
||||
try {
|
||||
RedgifsTokenManager.RedgifsToken token = RedgifsTokenManager.refreshToken(userAgent);
|
||||
|
||||
// Emulate response for old OAuth endpoint
|
||||
if (request.url().encodedPath().equals("/v2/oauth/client")) {
|
||||
String responseBody = RedgifsTokenManager.getEmulatedOAuthResponseBody(token);
|
||||
return new Response.Builder()
|
||||
.message("OK")
|
||||
.code(HttpURLConnection.HTTP_OK)
|
||||
.protocol(Protocol.HTTP_1_1)
|
||||
.request(request)
|
||||
.header("Content-Type", "application/json")
|
||||
.body(ResponseBody.create(
|
||||
responseBody, MediaType.get("application/json")))
|
||||
.build();
|
||||
}
|
||||
|
||||
Request modifiedRequest = request.newBuilder()
|
||||
.header("Authorization", "Bearer " + token.getAccessToken())
|
||||
.header("User-Agent", userAgent)
|
||||
.build();
|
||||
return chain.proceed(modifiedRequest);
|
||||
} catch (JSONException ex) {
|
||||
Logger.printException(() -> "Could not parse Redgifs response", ex);
|
||||
throw new IOException(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package app.revanced.extension.shared.fixes.redgifs;
|
||||
|
||||
import static app.revanced.extension.shared.requests.Route.Method.GET;
|
||||
|
||||
import androidx.annotation.GuardedBy;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import app.revanced.extension.shared.requests.Requester;
|
||||
|
||||
|
||||
/**
|
||||
* Manages Redgifs token lifecycle.
|
||||
*/
|
||||
public class RedgifsTokenManager {
|
||||
public static class RedgifsToken {
|
||||
// Expire after 23 hours to provide some breathing room
|
||||
private static final long EXPIRY_SECONDS = 23 * 60 * 60;
|
||||
|
||||
private final String accessToken;
|
||||
private final long refreshTimeInSeconds;
|
||||
|
||||
public RedgifsToken(String accessToken, long refreshTime) {
|
||||
this.accessToken = accessToken;
|
||||
this.refreshTimeInSeconds = refreshTime;
|
||||
}
|
||||
|
||||
public String getAccessToken() {
|
||||
return accessToken;
|
||||
}
|
||||
|
||||
public long getExpiryTimeInSeconds() {
|
||||
return refreshTimeInSeconds + EXPIRY_SECONDS;
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
if (accessToken == null) return false;
|
||||
return getExpiryTimeInSeconds() >= System.currentTimeMillis() / 1000;
|
||||
}
|
||||
}
|
||||
public static final String REDGIFS_API_HOST = "https://api.redgifs.com";
|
||||
private static final String GET_TEMPORARY_TOKEN = REDGIFS_API_HOST + "/v2/auth/temporary";
|
||||
@GuardedBy("itself")
|
||||
private static final Map<String, RedgifsToken> tokenMap = new HashMap<>();
|
||||
|
||||
private static String getToken(String userAgent) throws IOException, JSONException {
|
||||
HttpURLConnection connection = (HttpURLConnection) new URL(GET_TEMPORARY_TOKEN).openConnection();
|
||||
connection.setFixedLengthStreamingMode(0);
|
||||
connection.setRequestMethod(GET.name());
|
||||
connection.setRequestProperty("User-Agent", userAgent);
|
||||
connection.setRequestProperty("Content-Type", "application/json");
|
||||
connection.setRequestProperty("Accept", "application/json");
|
||||
connection.setUseCaches(false);
|
||||
|
||||
JSONObject responseObject = Requester.parseJSONObject(connection);
|
||||
return responseObject.getString("token");
|
||||
}
|
||||
|
||||
public static RedgifsToken refreshToken(String userAgent) throws IOException, JSONException {
|
||||
synchronized(tokenMap) {
|
||||
// Reference: https://github.com/JeffreyCA/Apollo-ImprovedCustomApi/pull/67
|
||||
RedgifsToken token = tokenMap.get(userAgent);
|
||||
if (token != null && token.isValid()) {
|
||||
return token;
|
||||
}
|
||||
|
||||
// Copy user agent from original request if present because Redgifs verifies
|
||||
// that the user agent in subsequent requests matches the one in the OAuth token.
|
||||
String accessToken = getToken(userAgent);
|
||||
long refreshTime = System.currentTimeMillis() / 1000;
|
||||
token = new RedgifsToken(accessToken, refreshTime);
|
||||
tokenMap.put(userAgent, token);
|
||||
return token;
|
||||
}
|
||||
}
|
||||
|
||||
public static String getEmulatedOAuthResponseBody(RedgifsToken token) throws JSONException {
|
||||
// Reference: https://github.com/JeffreyCA/Apollo-ImprovedCustomApi/pull/67
|
||||
JSONObject responseObject = new JSONObject();
|
||||
responseObject.put("access_token", token.accessToken);
|
||||
responseObject.put("expiry_time", token.getExpiryTimeInSeconds() - (System.currentTimeMillis() / 1000));
|
||||
responseObject.put("scope", "read");
|
||||
responseObject.put("token_type", "Bearer");
|
||||
return responseObject.toString();
|
||||
}
|
||||
}
|
||||
@@ -2,4 +2,5 @@ dependencies {
|
||||
compileOnly(project(":extensions:shared:library"))
|
||||
compileOnly(project(":extensions:syncforreddit:stub"))
|
||||
compileOnly(libs.annotation)
|
||||
compileOnly(libs.okhttp)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package app.revanced.extension.syncforreddit;
|
||||
|
||||
import app.revanced.extension.shared.fixes.redgifs.BaseFixRedgifsApiPatch;
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
/**
|
||||
* @noinspection unused
|
||||
*/
|
||||
public class FixRedgifsApiPatch extends BaseFixRedgifsApiPatch {
|
||||
static {
|
||||
INSTANCE = new FixRedgifsApiPatch();
|
||||
}
|
||||
|
||||
public String getDefaultUserAgent() {
|
||||
// To be filled in by patch
|
||||
return "";
|
||||
}
|
||||
|
||||
public static OkHttpClient install(OkHttpClient.Builder builder) {
|
||||
return builder.addInterceptor(INSTANCE).build();
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
package app.revanced.extension.youtube.patches;
|
||||
|
||||
import android.view.Display;
|
||||
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@@ -8,8 +10,10 @@ public class DisableHdrPatch {
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static boolean disableHDRVideo() {
|
||||
return !Settings.DISABLE_HDR_VIDEO.get();
|
||||
public static int[] disableHdrVideo(Display.HdrCapabilities capabilities) {
|
||||
return Settings.DISABLE_HDR_VIDEO.get()
|
||||
? new int[0]
|
||||
: capabilities.getSupportedHdrTypes();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,11 +57,4 @@ public class PlayerControlsPatch {
|
||||
private static void fullscreenButtonVisibilityChanged(boolean isVisible) {
|
||||
// Code added during patching.
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static String getPlayerTopControlsLayoutResourceName(String original) {
|
||||
return "default";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package app.revanced.extension.youtube.patches;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.youtube.shared.PlayerControlsVisibility;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class PlayerControlsVisibilityHookPatch {
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static void setPlayerControlsVisibility(@Nullable Enum<?> youTubePlayerControlsVisibility) {
|
||||
if (youTubePlayerControlsVisibility == null) return;
|
||||
|
||||
PlayerControlsVisibility.setFromString(youTubePlayerControlsVisibility.name());
|
||||
}
|
||||
}
|
||||
@@ -513,6 +513,9 @@ public final class VideoInformation {
|
||||
Logger.printDebug(() -> "VideoQualities: " + Arrays.toString(currentQualities));
|
||||
}
|
||||
|
||||
// On extremely slow internet connections the index can initially be -1
|
||||
originalQualityIndex = Math.max(0, originalQualityIndex);
|
||||
|
||||
VideoQuality updatedCurrentQuality = qualities[originalQualityIndex];
|
||||
if (updatedCurrentQuality.patch_getResolution() != AUTOMATIC_VIDEO_QUALITY_VALUE
|
||||
&& (currentQuality == null || currentQuality != updatedCurrentQuality)) {
|
||||
|
||||
@@ -83,6 +83,14 @@ final class ButtonsFilter extends Filter {
|
||||
new ByteArrayFilterGroup(
|
||||
Settings.HIDE_CLIP_BUTTON,
|
||||
"yt_outline_scissors"
|
||||
),
|
||||
new ByteArrayFilterGroup(
|
||||
Settings.HIDE_HYPE_BUTTON,
|
||||
"yt_outline_star_shooting"
|
||||
),
|
||||
new ByteArrayFilterGroup(
|
||||
Settings.HIDE_PROMOTE_BUTTON,
|
||||
"yt_outline_megaphone"
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
private final StringFilterGroup chipBar;
|
||||
private final StringFilterGroup channelProfile;
|
||||
private final ByteArrayFilterGroupList channelProfileBuffer;
|
||||
private final ByteArrayFilterGroup playablesBuffer;
|
||||
|
||||
public LayoutComponentsFilter() {
|
||||
exceptions.addPatterns(
|
||||
@@ -190,6 +191,12 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
"mini_game_card.eml"
|
||||
);
|
||||
|
||||
// Playable horizontal shelf header.
|
||||
playablesBuffer = new ByteArrayFilterGroup(
|
||||
Settings.HIDE_PLAYABLES,
|
||||
"FEmini_app_destination"
|
||||
);
|
||||
|
||||
final var quickActions = new StringFilterGroup(
|
||||
Settings.HIDE_QUICK_ACTIONS,
|
||||
"quick_actions"
|
||||
@@ -342,7 +349,9 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
}
|
||||
|
||||
if (matchedGroup == horizontalShelves) {
|
||||
return contentIndex == 0 && (hideShelves() || ticketShelf.check(buffer).isFiltered());
|
||||
return contentIndex == 0 && (hideShelves()
|
||||
|| ticketShelf.check(buffer).isFiltered()
|
||||
|| playablesBuffer.check(buffer).isFiltered());
|
||||
}
|
||||
|
||||
if (matchedGroup == chipBar) {
|
||||
|
||||
@@ -9,7 +9,7 @@ public class SpoofAppVersionPatch {
|
||||
private static final String SPOOF_APP_VERSION_TARGET = Settings.SPOOF_APP_VERSION_TARGET.get();
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static String getYouTubeVersionOverride(String version) {
|
||||
if (SPOOF_APP_VERSION_ENABLED) return SPOOF_APP_VERSION_TARGET;
|
||||
|
||||
@@ -126,7 +126,7 @@ public final class SeekbarColorPatch {
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static boolean useLotteLaunchSplashScreen(boolean original) {
|
||||
// This method is only used for development purposes to force the old style launch screen.
|
||||
|
||||
@@ -223,7 +223,9 @@ public class Settings extends BaseSettings {
|
||||
public static final BooleanSetting HIDE_ASK_BUTTON = new BooleanSetting("revanced_hide_ask_button", FALSE);
|
||||
public static final BooleanSetting HIDE_CLIP_BUTTON = new BooleanSetting("revanced_hide_clip_button", TRUE);
|
||||
public static final BooleanSetting HIDE_DOWNLOAD_BUTTON = new BooleanSetting("revanced_hide_download_button", FALSE);
|
||||
public static final BooleanSetting HIDE_HYPE_BUTTON = new BooleanSetting("revanced_hide_hype_button", FALSE);
|
||||
public static final BooleanSetting HIDE_LIKE_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_like_dislike_button", FALSE);
|
||||
public static final BooleanSetting HIDE_PROMOTE_BUTTON = new BooleanSetting("revanced_hide_promote_button", FALSE);
|
||||
public static final BooleanSetting HIDE_REMIX_BUTTON = new BooleanSetting("revanced_hide_remix_button", TRUE);
|
||||
public static final BooleanSetting HIDE_REPORT_BUTTON = new BooleanSetting("revanced_hide_report_button", FALSE);
|
||||
public static final BooleanSetting HIDE_SAVE_BUTTON = new BooleanSetting("revanced_hide_save_button", FALSE);
|
||||
@@ -434,6 +436,9 @@ public class Settings extends BaseSettings {
|
||||
public static final StringSetting SB_CATEGORY_HIGHLIGHT = new StringSetting("sb_highlight", MANUAL_SKIP.reVancedKeyValue);
|
||||
public static final StringSetting SB_CATEGORY_HIGHLIGHT_COLOR = new StringSetting("sb_highlight_color", "#FF1684");
|
||||
public static final FloatSetting SB_CATEGORY_HIGHLIGHT_OPACITY = new FloatSetting("sb_highlight_opacity", 0.8f);
|
||||
public static final StringSetting SB_CATEGORY_HOOK = new StringSetting("sb_hook", IGNORE.reVancedKeyValue);
|
||||
public static final StringSetting SB_CATEGORY_HOOK_COLOR = new StringSetting("sb_hook_color", "#395699");
|
||||
public static final FloatSetting SB_CATEGORY_HOOK_OPACITY = new FloatSetting("sb_hook_opacity", 0.8f);
|
||||
public static final StringSetting SB_CATEGORY_INTRO = new StringSetting("sb_intro", MANUAL_SKIP.reVancedKeyValue);
|
||||
public static final StringSetting SB_CATEGORY_INTRO_COLOR = new StringSetting("sb_intro_color", "#00FFFF");
|
||||
public static final FloatSetting SB_CATEGORY_INTRO_OPACITY = new FloatSetting("sb_intro_opacity", 0.8f);
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package app.revanced.extension.youtube.shared
|
||||
|
||||
import app.revanced.extension.shared.Logger
|
||||
import app.revanced.extension.youtube.Event
|
||||
|
||||
/**
|
||||
* PlayerControls visibility state.
|
||||
*/
|
||||
enum class PlayerControlsVisibility {
|
||||
PLAYER_CONTROLS_VISIBILITY_UNKNOWN,
|
||||
PLAYER_CONTROLS_VISIBILITY_WILL_HIDE,
|
||||
PLAYER_CONTROLS_VISIBILITY_HIDDEN,
|
||||
PLAYER_CONTROLS_VISIBILITY_WILL_SHOW,
|
||||
PLAYER_CONTROLS_VISIBILITY_SHOWN;
|
||||
|
||||
companion object {
|
||||
|
||||
private val nameToPlayerControlsVisibility = PlayerControlsVisibility.entries.associateBy { it.name }
|
||||
|
||||
@JvmStatic
|
||||
fun setFromString(enumName: String) {
|
||||
val newType = nameToPlayerControlsVisibility[enumName]
|
||||
if (newType == null) {
|
||||
Logger.printException { "Unknown PlayerControlsVisibility encountered: $enumName" }
|
||||
} else {
|
||||
current = newType
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
var current
|
||||
get() = currentPlayerControlsVisibility
|
||||
private set(type) {
|
||||
if (currentPlayerControlsVisibility != type) {
|
||||
Logger.printDebug { "Changed to: $type" }
|
||||
|
||||
currentPlayerControlsVisibility = type
|
||||
onChange(type)
|
||||
}
|
||||
}
|
||||
|
||||
@Volatile // Read/write from different threads.
|
||||
private var currentPlayerControlsVisibility = PLAYER_CONTROLS_VISIBILITY_UNKNOWN
|
||||
|
||||
@JvmStatic
|
||||
val onChange = Event<PlayerControlsVisibility>()
|
||||
}
|
||||
}
|
||||
@@ -13,9 +13,9 @@ import android.graphics.Rect;
|
||||
import android.graphics.drawable.ShapeDrawable;
|
||||
import android.graphics.drawable.shapes.RoundRectShape;
|
||||
import android.text.TextUtils;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Range;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
@@ -168,6 +168,11 @@ public class SegmentPlaybackController {
|
||||
*/
|
||||
private static WeakReference<Dialog> toastDialogRef = new WeakReference<>(null);
|
||||
|
||||
/**
|
||||
* Visibility of the ad progress UI component.
|
||||
*/
|
||||
private static volatile int adProgressTextVisibility = -1;
|
||||
|
||||
static {
|
||||
// Dismiss toast if app changes to PiP while undo skip is shown.
|
||||
PlayerType.getOnChange().addObserver((PlayerType type) -> {
|
||||
@@ -337,6 +342,7 @@ public class SegmentPlaybackController {
|
||||
*/
|
||||
static void executeDownloadSegments(String videoId) {
|
||||
Objects.requireNonNull(videoId);
|
||||
Utils.verifyOffMainThread();
|
||||
|
||||
SponsorSegment[] segments = SBRequester.getSegments(videoId);
|
||||
|
||||
@@ -368,6 +374,35 @@ public class SegmentPlaybackController {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public static void setAdProgressTextVisibility(int visibility) {
|
||||
if (adProgressTextVisibility != visibility) {
|
||||
adProgressTextVisibility = visibility;
|
||||
|
||||
Logger.printDebug(() -> {
|
||||
String visibilityMessage = switch (visibility) {
|
||||
case View.VISIBLE -> "VISIBLE";
|
||||
case View.GONE -> "GONE";
|
||||
case View.INVISIBLE -> "INVISIBLE";
|
||||
default -> "UNKNOWN";
|
||||
};
|
||||
return "AdProgressText visibility changed to: " + visibilityMessage;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* When a video ad is playing in a regular video player, segments or the Skip button should be hidden.
|
||||
* @return Whether the Ad Progress TextView is visible in the regular video player.
|
||||
*/
|
||||
public static boolean isAdProgressTextVisible() {
|
||||
return adProgressTextVisibility == View.VISIBLE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
* Updates SponsorBlock every 1000ms.
|
||||
@@ -377,7 +412,8 @@ public class SegmentPlaybackController {
|
||||
try {
|
||||
if (!Settings.SB_ENABLED.get()
|
||||
|| PlayerType.getCurrent().isNoneOrHidden() // Shorts playback.
|
||||
|| segments == null || segments.length == 0) {
|
||||
|| segments == null || segments.length == 0
|
||||
|| isAdProgressTextVisible()) {
|
||||
return;
|
||||
}
|
||||
Logger.printDebug(() -> "setVideoTime: " + millis);
|
||||
@@ -672,7 +708,14 @@ public class SegmentPlaybackController {
|
||||
// Check for any smaller embedded segments, and count those as auto-skipped.
|
||||
final boolean showSkipToast = Settings.SB_TOAST_ON_SKIP.get();
|
||||
for (SponsorSegment otherSegment : Objects.requireNonNull(segments)) {
|
||||
if (segmentToSkip.end < otherSegment.start) {
|
||||
if (otherSegment.end <= segmentToSkip.start) {
|
||||
// Other segment does not overlap, and is before this skipped segment.
|
||||
// This situation can only happen if a video is opened and adjusted to
|
||||
// a later time in the video where earlier auto skip segments
|
||||
// have not been encountered yet.
|
||||
continue;
|
||||
}
|
||||
if (segmentToSkip.end <= otherSegment.start) {
|
||||
break; // No other segments can be contained.
|
||||
}
|
||||
|
||||
@@ -877,7 +920,7 @@ public class SegmentPlaybackController {
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public static void setSponsorBarRect(Object self) {
|
||||
@@ -909,7 +952,7 @@ public class SegmentPlaybackController {
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public static void setSponsorBarThickness(int thickness) {
|
||||
@@ -923,7 +966,8 @@ public class SegmentPlaybackController {
|
||||
public static String appendTimeWithoutSegments(String totalTime) {
|
||||
try {
|
||||
if (Settings.SB_ENABLED.get() && Settings.SB_VIDEO_LENGTH_WITHOUT_SEGMENTS.get()
|
||||
&& !TextUtils.isEmpty(totalTime) && !TextUtils.isEmpty(timeWithoutSegments)) {
|
||||
&& !TextUtils.isEmpty(totalTime) && !TextUtils.isEmpty(timeWithoutSegments)
|
||||
&& !isAdProgressTextVisible()) {
|
||||
// Force LTR layout, to match the same LTR video time/length layout YouTube uses for all languages
|
||||
return "\u202D" + totalTime + timeWithoutSegments; // u202D = left to right override
|
||||
}
|
||||
@@ -984,7 +1028,7 @@ public class SegmentPlaybackController {
|
||||
@SuppressWarnings("unused")
|
||||
public static void drawSponsorTimeBars(final Canvas canvas, final float posY) {
|
||||
try {
|
||||
if (segments == null) return;
|
||||
if (segments == null || isAdProgressTextVisible()) return;
|
||||
final long videoLength = VideoInformation.getVideoLength();
|
||||
if (videoLength <= 0) return;
|
||||
|
||||
|
||||
@@ -52,6 +52,8 @@ public enum SegmentCategory {
|
||||
sf("revanced_sb_skip_button_preview_beginning"), sf("revanced_sb_skip_button_preview_middle"), sf("revanced_sb_skip_button_preview_end"),
|
||||
sf("revanced_sb_skipped_preview_beginning"), sf("revanced_sb_skipped_preview_middle"), sf("revanced_sb_skipped_preview_end"),
|
||||
SB_CATEGORY_PREVIEW, SB_CATEGORY_PREVIEW_COLOR, SB_CATEGORY_PREVIEW_OPACITY),
|
||||
HOOK("hook", sf("revanced_sb_segments_hook"), sf("revanced_sb_segments_hook_sum"), sf("revanced_sb_skip_button_hook"), sf("revanced_sb_skipped_hook"),
|
||||
SB_CATEGORY_HOOK, SB_CATEGORY_HOOK_COLOR, SB_CATEGORY_HOOK_OPACITY),
|
||||
FILLER("filler", sf("revanced_sb_segments_filler"), sf("revanced_sb_segments_filler_sum"), sf("revanced_sb_skip_button_filler"), sf("revanced_sb_skipped_filler"),
|
||||
SB_CATEGORY_FILLER, SB_CATEGORY_FILLER_COLOR, SB_CATEGORY_FILLER_OPACITY),
|
||||
MUSIC_OFFTOPIC("music_offtopic", sf("revanced_sb_segments_nomusic"), sf("revanced_sb_segments_nomusic_sum"), sf("revanced_sb_skip_button_nomusic"), sf("revanced_sb_skipped_nomusic"),
|
||||
@@ -69,6 +71,7 @@ public enum SegmentCategory {
|
||||
INTRO,
|
||||
OUTRO,
|
||||
PREVIEW,
|
||||
HOOK,
|
||||
FILLER,
|
||||
MUSIC_OFFTOPIC,
|
||||
};
|
||||
@@ -81,6 +84,7 @@ public enum SegmentCategory {
|
||||
INTRO,
|
||||
OUTRO,
|
||||
PREVIEW,
|
||||
HOOK,
|
||||
FILLER,
|
||||
MUSIC_OFFTOPIC,
|
||||
};
|
||||
|
||||
@@ -5,10 +5,11 @@ import android.view.View;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.youtube.patches.VideoInformation;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController;
|
||||
import app.revanced.extension.youtube.videoplayer.PlayerControlButton;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class CreateSegmentButton {
|
||||
@Nullable
|
||||
private static PlayerControlButton instance;
|
||||
@@ -18,7 +19,7 @@ public class CreateSegmentButton {
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void initialize(View controlsView) {
|
||||
try {
|
||||
@@ -26,8 +27,7 @@ public class CreateSegmentButton {
|
||||
controlsView,
|
||||
"revanced_sb_create_segment_button",
|
||||
null,
|
||||
null,
|
||||
CreateSegmentButton::shouldBeShown,
|
||||
CreateSegmentButton::isButtonEnabled,
|
||||
v -> SponsorBlockViewController.toggleNewSegmentLayoutVisibility(),
|
||||
null
|
||||
);
|
||||
@@ -37,21 +37,28 @@ public class CreateSegmentButton {
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityNegatedImmediate() {
|
||||
if (instance != null) instance.setVisibilityNegatedImmediate();
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityImmediate(boolean visible) {
|
||||
if (instance != null) instance.setVisibilityImmediate(visible);
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibility(boolean visible, boolean animated) {
|
||||
if (instance != null) instance.setVisibility(visible, animated);
|
||||
}
|
||||
|
||||
private static boolean shouldBeShown() {
|
||||
private static boolean isButtonEnabled() {
|
||||
return Settings.SB_ENABLED.get() && Settings.SB_CREATE_NEW_SEGMENT.get()
|
||||
&& !VideoInformation.isAtEndOfVideo();
|
||||
&& !SegmentPlaybackController.isAdProgressTextVisible();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@ import java.util.Objects;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment;
|
||||
import kotlin.Unit;
|
||||
@@ -227,22 +226,4 @@ public class SponsorBlockViewController {
|
||||
params.bottomMargin = fullScreen ? ctaBottomMargin : defaultBottomMargin;
|
||||
view.setLayoutParams(params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static void endOfVideoReached() {
|
||||
try {
|
||||
Logger.printDebug(() -> "endOfVideoReached");
|
||||
// the buttons automatically set themselves to visible when appropriate,
|
||||
// but if buttons are showing when the end of the video is reached then they need
|
||||
// to be forcefully hidden
|
||||
if (!Settings.AUTO_REPEAT.get()) {
|
||||
CreateSegmentButton.hideControls();
|
||||
VotingButton.hideControls();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "endOfVideoReached failure", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,12 +5,12 @@ import android.view.View;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.youtube.patches.VideoInformation;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController;
|
||||
import app.revanced.extension.youtube.sponsorblock.SponsorBlockUtils;
|
||||
import app.revanced.extension.youtube.videoplayer.PlayerControlButton;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class VotingButton {
|
||||
@Nullable
|
||||
private static PlayerControlButton instance;
|
||||
@@ -20,7 +20,7 @@ public class VotingButton {
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void initialize(View controlsView) {
|
||||
try {
|
||||
@@ -28,8 +28,7 @@ public class VotingButton {
|
||||
controlsView,
|
||||
"revanced_sb_voting_button",
|
||||
null,
|
||||
null,
|
||||
VotingButton::shouldBeShown,
|
||||
VotingButton::isButtonEnabled,
|
||||
v -> SponsorBlockUtils.onVotingClicked(v.getContext()),
|
||||
null
|
||||
);
|
||||
@@ -39,21 +38,29 @@ public class VotingButton {
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityNegatedImmediate() {
|
||||
if (instance != null) instance.setVisibilityNegatedImmediate();
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityImmediate(boolean visible) {
|
||||
if (instance != null) instance.setVisibilityImmediate(visible);
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibility(boolean visible, boolean animated) {
|
||||
if (instance != null) instance.setVisibility(visible, animated);
|
||||
}
|
||||
|
||||
private static boolean shouldBeShown() {
|
||||
private static boolean isButtonEnabled() {
|
||||
return Settings.SB_ENABLED.get() && Settings.SB_VOTING_BUTTON.get()
|
||||
&& SegmentPlaybackController.videoHasSegments() && !VideoInformation.isAtEndOfVideo();
|
||||
&& SegmentPlaybackController.videoHasSegments()
|
||||
&& !SegmentPlaybackController.isAdProgressTextVisible();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ public class CopyVideoUrlButton {
|
||||
instance = new PlayerControlButton(
|
||||
controlsView,
|
||||
"revanced_copy_video_url_button",
|
||||
"revanced_copy_video_url_button_placeholder",
|
||||
null,
|
||||
Settings.COPY_VIDEO_URL::get,
|
||||
view -> CopyVideoUrlPatch.copyUrl(false),
|
||||
@@ -35,15 +34,22 @@ public class CopyVideoUrlButton {
|
||||
}
|
||||
}
|
||||
|
||||
/**`
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityNegatedImmediate() {
|
||||
if (instance != null) instance.setVisibilityNegatedImmediate();
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityImmediate(boolean visible) {
|
||||
if (instance != null) instance.setVisibilityImmediate(visible);
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibility(boolean visible, boolean animated) {
|
||||
if (instance != null) instance.setVisibility(visible, animated);
|
||||
|
||||
@@ -21,7 +21,6 @@ public class CopyVideoUrlTimestampButton {
|
||||
instance = new PlayerControlButton(
|
||||
controlsView,
|
||||
"revanced_copy_video_url_timestamp_button",
|
||||
"revanced_copy_video_url_timestamp_button_placeholder",
|
||||
null,
|
||||
Settings.COPY_VIDEO_URL_TIMESTAMP::get,
|
||||
view -> CopyVideoUrlPatch.copyUrl(true),
|
||||
@@ -36,14 +35,21 @@ public class CopyVideoUrlTimestampButton {
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityNegatedImmediate() {
|
||||
if (instance != null) instance.setVisibilityNegatedImmediate();
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityImmediate(boolean visible) {
|
||||
if (instance != null) instance.setVisibilityImmediate(visible);
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibility(boolean visible, boolean animated) {
|
||||
if (instance != null) instance.setVisibility(visible, animated);
|
||||
|
||||
@@ -22,7 +22,6 @@ public class ExternalDownloadButton {
|
||||
instance = new PlayerControlButton(
|
||||
controlsView,
|
||||
"revanced_external_download_button",
|
||||
"revanced_external_download_button_placeholder",
|
||||
null,
|
||||
Settings.EXTERNAL_DOWNLOADER::get,
|
||||
ExternalDownloadButton::onDownloadClick,
|
||||
@@ -34,14 +33,21 @@ public class ExternalDownloadButton {
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityNegatedImmediate() {
|
||||
if (instance != null) instance.setVisibilityNegatedImmediate();
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityImmediate(boolean visible) {
|
||||
if (instance != null) instance.setVisibilityImmediate(visible);
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibility(boolean visible, boolean animated) {
|
||||
if (instance != null) instance.setVisibility(visible, animated);
|
||||
|
||||
@@ -33,7 +33,6 @@ public class PlaybackSpeedDialogButton {
|
||||
controlsView,
|
||||
"revanced_playback_speed_dialog_button_container",
|
||||
"revanced_playback_speed_dialog_button",
|
||||
"revanced_playback_speed_dialog_button_placeholder",
|
||||
"revanced_playback_speed_dialog_button_text",
|
||||
Settings.PLAYBACK_SPEED_DIALOG_BUTTON::get,
|
||||
view -> {
|
||||
@@ -69,6 +68,13 @@ public class PlaybackSpeedDialogButton {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityNegatedImmediate() {
|
||||
if (instance != null) instance.setVisibilityNegatedImmediate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package app.revanced.extension.youtube.videoplayer;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.ViewPropertyAnimator;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -11,6 +11,7 @@ import java.lang.ref.WeakReference;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.youtube.shared.PlayerControlsVisibility;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
import kotlin.Unit;
|
||||
|
||||
@@ -23,55 +24,29 @@ public class PlayerControlButton {
|
||||
boolean buttonEnabled();
|
||||
}
|
||||
|
||||
private static final int fadeInDuration;
|
||||
private static final int fadeOutDuration;
|
||||
|
||||
private static final Animation fadeInAnimation;
|
||||
private static final Animation fadeOutAnimation;
|
||||
private static final Animation fadeOutImmediate;
|
||||
|
||||
static {
|
||||
fadeInDuration = Utils.getResourceInteger("fade_duration_fast");
|
||||
fadeOutDuration = Utils.getResourceInteger("fade_duration_scheduled");
|
||||
|
||||
fadeInAnimation = Utils.getResourceAnimation("fade_in");
|
||||
fadeInAnimation.setDuration(fadeInDuration);
|
||||
|
||||
fadeOutAnimation = Utils.getResourceAnimation("fade_out");
|
||||
fadeOutAnimation.setDuration(fadeOutDuration);
|
||||
|
||||
// Animation for the fast fade out after tapping the overlay.
|
||||
// Currently not used but should be.
|
||||
fadeOutImmediate = Utils.getResourceAnimation("abc_fade_out");
|
||||
fadeOutImmediate.setDuration(Utils.getResourceInteger("fade_duration_fast"));
|
||||
}
|
||||
private static final int fadeInDuration = Utils.getResourceInteger("fade_duration_fast");
|
||||
private static final int fadeOutDuration = Utils.getResourceInteger("fade_duration_scheduled");
|
||||
|
||||
private final WeakReference<View> containerRef;
|
||||
private final WeakReference<View> buttonRef;
|
||||
/**
|
||||
* Empty view with the same layout size as the button. Used to fill empty space while the
|
||||
* fade out animation runs. Without this the chapter titles overlapping the button when fading out.
|
||||
*/
|
||||
private final WeakReference<View> placeHolderRef;
|
||||
private final WeakReference<TextView> textOverlayRef;
|
||||
private final PlayerControlButtonStatus enabledStatus;
|
||||
private boolean isVisible;
|
||||
private long lastTimeSetVisible;
|
||||
|
||||
public PlayerControlButton(View controlsViewGroup,
|
||||
String buttonId,
|
||||
@Nullable String placeholderId,
|
||||
@Nullable String textOverlayId,
|
||||
PlayerControlButtonStatus enabledStatus,
|
||||
View.OnClickListener onClickListener,
|
||||
@Nullable View.OnLongClickListener longClickListener) {
|
||||
this(controlsViewGroup, buttonId, buttonId, placeholderId, textOverlayId,
|
||||
this(controlsViewGroup, buttonId, buttonId, textOverlayId,
|
||||
enabledStatus, onClickListener, longClickListener);
|
||||
}
|
||||
|
||||
public PlayerControlButton(View controlsViewGroup,
|
||||
String viewToHide,
|
||||
String buttonId,
|
||||
@Nullable String placeholderId,
|
||||
@Nullable String textOverlayId,
|
||||
PlayerControlButtonStatus enabledStatus,
|
||||
View.OnClickListener onClickListener,
|
||||
@@ -87,13 +62,6 @@ public class PlayerControlButton {
|
||||
}
|
||||
buttonRef = new WeakReference<>(button);
|
||||
|
||||
View tempPlaceholder = null;
|
||||
if (placeholderId != null) {
|
||||
tempPlaceholder = Utils.getChildViewByResourceName(controlsViewGroup, placeholderId);
|
||||
tempPlaceholder.setVisibility(View.GONE);
|
||||
}
|
||||
placeHolderRef = new WeakReference<>(tempPlaceholder);
|
||||
|
||||
TextView tempTextOverlay = null;
|
||||
if (textOverlayId != null) {
|
||||
tempTextOverlay = Utils.getChildViewByResourceName(controlsViewGroup, textOverlayId);
|
||||
@@ -114,13 +82,55 @@ public class PlayerControlButton {
|
||||
});
|
||||
}
|
||||
|
||||
public void setVisibilityNegatedImmediate() {
|
||||
try {
|
||||
Utils.verifyOnMainThread();
|
||||
if (PlayerControlsVisibility.getCurrent() != PlayerControlsVisibility.PLAYER_CONTROLS_VISIBILITY_HIDDEN) {
|
||||
return;
|
||||
}
|
||||
|
||||
final boolean buttonEnabled = enabledStatus.buttonEnabled();
|
||||
if (!buttonEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
View container = containerRef.get();
|
||||
if (container == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
isVisible = false;
|
||||
|
||||
ViewPropertyAnimator animate = container.animate();
|
||||
animate.cancel();
|
||||
|
||||
// If the overlay is tapped to display then immediately tapped to dismiss
|
||||
// before the fade in animation finishes, then the fade out animation is
|
||||
// the time between when the fade in started and now.
|
||||
final long animationDuration = Math.min(fadeInDuration,
|
||||
System.currentTimeMillis() - lastTimeSetVisible);
|
||||
if (animationDuration <= 0) {
|
||||
// Should never happen, but handle just in case.
|
||||
container.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
|
||||
animate.alpha(0)
|
||||
.setDuration(animationDuration)
|
||||
.withEndAction(() -> container.setVisibility(View.GONE))
|
||||
.start();
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "setVisibilityNegatedImmediate failure", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVisibilityImmediate(boolean visible) {
|
||||
if (visible) {
|
||||
// Fix button flickering, by pushing this call to the back of
|
||||
// the main thread and letting other layout code run first.
|
||||
Utils.runOnMainThread(() -> private_setVisibility(true, false));
|
||||
Utils.runOnMainThread(() -> privateSetVisibility(true, false));
|
||||
} else {
|
||||
private_setVisibility(false, false);
|
||||
privateSetVisibility(false, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,47 +138,53 @@ public class PlayerControlButton {
|
||||
// Ignore this call, otherwise with full screen thumbnails the buttons are visible while seeking.
|
||||
if (visible && !animated) return;
|
||||
|
||||
private_setVisibility(visible, animated);
|
||||
privateSetVisibility(visible, animated);
|
||||
}
|
||||
|
||||
private void private_setVisibility(boolean visible, boolean animated) {
|
||||
private void privateSetVisibility(boolean visible, boolean animated) {
|
||||
try {
|
||||
Utils.verifyOnMainThread();
|
||||
|
||||
if (isVisible == visible) return;
|
||||
isVisible = visible;
|
||||
|
||||
if (visible) {
|
||||
lastTimeSetVisible = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
View container = containerRef.get();
|
||||
if (container == null) return;
|
||||
if (container == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
View placeholder = placeHolderRef.get();
|
||||
final boolean buttonEnabled = enabledStatus.buttonEnabled();
|
||||
|
||||
if (visible && buttonEnabled) {
|
||||
container.clearAnimation();
|
||||
if (animated) {
|
||||
container.startAnimation(fadeInAnimation);
|
||||
}
|
||||
if (visible && enabledStatus.buttonEnabled()) {
|
||||
ViewPropertyAnimator animate = container.animate();
|
||||
animate.cancel();
|
||||
container.setVisibility(View.VISIBLE);
|
||||
|
||||
if (placeholder != null) {
|
||||
placeholder.setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
if (container.getVisibility() == View.VISIBLE) {
|
||||
container.clearAnimation();
|
||||
if (animated) {
|
||||
container.startAnimation(fadeOutAnimation);
|
||||
}
|
||||
container.setVisibility(View.GONE);
|
||||
if (animated) {
|
||||
container.setAlpha(0);
|
||||
animate.alpha(1)
|
||||
.setDuration(fadeInDuration)
|
||||
.start();
|
||||
} else {
|
||||
container.setAlpha(1);
|
||||
}
|
||||
} else if (container.getVisibility() == View.VISIBLE) {
|
||||
ViewPropertyAnimator animate = container.animate();
|
||||
animate.cancel();
|
||||
|
||||
if (placeholder != null) {
|
||||
placeholder.setVisibility(buttonEnabled
|
||||
? View.VISIBLE
|
||||
: View.GONE);
|
||||
if (animated) {
|
||||
animate.alpha(0)
|
||||
.setDuration(fadeOutDuration)
|
||||
.withEndAction(() -> container.setVisibility(View.GONE))
|
||||
.start();
|
||||
} else {
|
||||
container.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "private_setVisibility failure", ex);
|
||||
Logger.printException(() -> "privateSetVisibility failure", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,42 +192,36 @@ public class PlayerControlButton {
|
||||
* Synchronizes the button state after the player state changes.
|
||||
*/
|
||||
private void playerTypeChanged(PlayerType newType) {
|
||||
Utils.verifyOnMainThread();
|
||||
if (newType != PlayerType.WATCH_WHILE_MINIMIZED && !newType.isMaximizedOrFullscreen()) {
|
||||
return;
|
||||
}
|
||||
|
||||
View container = containerRef.get();
|
||||
if (container == null) return;
|
||||
if (container == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
container.clearAnimation();
|
||||
View placeholder = placeHolderRef.get();
|
||||
container.animate().cancel();
|
||||
|
||||
if (enabledStatus.buttonEnabled()) {
|
||||
if (isVisible) {
|
||||
container.setVisibility(View.VISIBLE);
|
||||
if (placeholder != null) placeholder.setVisibility(View.GONE);
|
||||
} else {
|
||||
container.setVisibility(View.GONE);
|
||||
if (placeholder != null) placeholder.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (isVisible && enabledStatus.buttonEnabled()) {
|
||||
container.setVisibility(View.VISIBLE);
|
||||
container.setAlpha(1);
|
||||
} else {
|
||||
container.setVisibility(View.GONE);
|
||||
if (placeholder != null) placeholder.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
public void hide() {
|
||||
Utils.verifyOnMainThread();
|
||||
if (!isVisible) return;
|
||||
if (!isVisible) {
|
||||
return;
|
||||
}
|
||||
isVisible = false;
|
||||
|
||||
View view = containerRef.get();
|
||||
if (view == null) return;
|
||||
view.setVisibility(View.GONE);
|
||||
|
||||
View placeHolder = placeHolderRef.get();
|
||||
if (placeHolder != null) view.setVisibility(View.GONE);
|
||||
|
||||
isVisible = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -219,6 +229,8 @@ public class PlayerControlButton {
|
||||
* @param resourceId Drawable identifier, or zero to hide the icon.
|
||||
*/
|
||||
public void setIcon(int resourceId) {
|
||||
Utils.verifyOnMainThread();
|
||||
|
||||
View button = buttonRef.get();
|
||||
if (button instanceof ImageView imageButton) {
|
||||
imageButton.setImageResource(resourceId);
|
||||
@@ -230,6 +242,8 @@ public class PlayerControlButton {
|
||||
* @param text The text to set on the overlay, or null to clear the text.
|
||||
*/
|
||||
public void setTextOverlay(CharSequence text) {
|
||||
Utils.verifyOnMainThread();
|
||||
|
||||
TextView textOverlay = textOverlayRef.get();
|
||||
if (textOverlay != null) {
|
||||
textOverlay.setText(text);
|
||||
|
||||
@@ -69,7 +69,6 @@ public class VideoQualityDialogButton {
|
||||
controlsView,
|
||||
"revanced_video_quality_dialog_button_container",
|
||||
"revanced_video_quality_dialog_button",
|
||||
"revanced_video_quality_dialog_button_placeholder",
|
||||
"revanced_video_quality_dialog_button_text",
|
||||
Settings.VIDEO_QUALITY_DIALOG_BUTTON::get,
|
||||
view -> {
|
||||
@@ -116,6 +115,13 @@ public class VideoQualityDialogButton {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* injection point.
|
||||
*/
|
||||
public static void setVisibilityNegatedImmediate() {
|
||||
if (instance != null) instance.setVisibilityNegatedImmediate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
|
||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
||||
org.gradle.parallel = true
|
||||
android.useAndroidX = true
|
||||
kotlin.code.style = official
|
||||
version = 5.34.0-dev.8
|
||||
version = 5.36.0-dev.1
|
||||
|
||||
@@ -11,8 +11,8 @@ appcompat = "1.7.0"
|
||||
okhttp = "5.0.0-alpha.14"
|
||||
retrofit = "2.11.0"
|
||||
guava = "33.4.0-jre"
|
||||
protobuf-javalite = "4.31.1"
|
||||
protoc = "4.31.1"
|
||||
protobuf-javalite = "4.32.0"
|
||||
protoc = "4.32.0"
|
||||
protobuf = "0.9.5"
|
||||
antlr4 = "4.13.2"
|
||||
nanohttpd = "2.3.1"
|
||||
|
||||
@@ -264,6 +264,14 @@ public final class app/revanced/patches/instagram/ads/HideAdsPatchKt {
|
||||
public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/instagram/hide/navigation/HideNavigationButtonsKt {
|
||||
public static final fun getHideNavigationButtonsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/instagram/hide/stories/HideStoriesKt {
|
||||
public static final fun getHideStoriesPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt {
|
||||
public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
@@ -508,6 +516,13 @@ public final class app/revanced/patches/reddit/ad/general/HideAdsPatchKt {
|
||||
public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/FixRedgifsApiPatchKt {
|
||||
public static final field CREATE_NEW_CLIENT_METHOD Ljava/lang/String;
|
||||
public static final field INSTALL_NEW_CLIENT_METHOD Ljava/lang/String;
|
||||
public static final fun fixRedgifsApiPatch (Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
public static synthetic fun fixRedgifsApiPatch$default (Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/FixSLinksPatchKt {
|
||||
public static final field RESOLVE_S_LINK_METHOD Ljava/lang/String;
|
||||
public static final field SET_ACCESS_TOKEN_METHOD Ljava/lang/String;
|
||||
@@ -524,6 +539,14 @@ public final class app/revanced/patches/reddit/customclients/baconreader/api/Spo
|
||||
public static final fun getSpoofClientPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/FixRedgifsApiPatchKt {
|
||||
public static final fun getFixRedgifsApi ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/baconreader/misc/extension/SharedExtensionPatchKt {
|
||||
public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/boostforreddit/ads/DisableAdsPatchKt {
|
||||
public static final fun getDisableAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
@@ -536,6 +559,10 @@ public final class app/revanced/patches/reddit/customclients/boostforreddit/fix/
|
||||
public static final fun getFixAudioMissingInDownloadsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/boostforreddit/fix/redgifs/FixRedgifsApiPatchKt {
|
||||
public static final fun getFixRedgifsApi ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/boostforreddit/fix/slink/FixSLinksPatchKt {
|
||||
public static final field EXTENSION_CLASS_DESCRIPTOR Ljava/lang/String;
|
||||
public static final fun getFixSlinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
@@ -606,6 +633,10 @@ public final class app/revanced/patches/reddit/customclients/sync/syncforreddit/
|
||||
public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/sync/syncforreddit/fix/redgifs/FixRedgifsApiPatchKt {
|
||||
public static final fun getFixRedgifsApi ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/sync/syncforreddit/fix/slink/FixSLinksPatchKt {
|
||||
public static final field EXTENSION_CLASS_DESCRIPTOR Ljava/lang/String;
|
||||
public static final fun getFixSLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
@@ -1536,6 +1567,10 @@ public final class app/revanced/patches/youtube/misc/navigation/NavigationBarHoo
|
||||
public static final fun setHookNavigationButtonCreated (Lkotlin/jvm/functions/Function1;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/misc/playercontrols/PlayerControlsOverlayVisibilityPatchKt {
|
||||
public static final fun getPlayerControlsOverlayVisibilityPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatchKt {
|
||||
public static final fun getAddBottomControl ()Lkotlin/jvm/functions/Function1;
|
||||
public static final fun getPlayerControlsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
|
||||
@@ -19,14 +19,16 @@ val disableAdsPatch = bytecodePatch(
|
||||
// SharedPreferences has a debug boolean value with key "disable_ads", which maps to "DebugCategory.DISABLE_ADS".
|
||||
//
|
||||
// MonetizationDebugSettings seems to be the most general setting to work fine.
|
||||
initializeMonetizationDebugSettingsFingerprint.method.apply {
|
||||
val insertIndex = initializeMonetizationDebugSettingsFingerprint.patternMatch!!.startIndex
|
||||
val register = getInstruction<TwoRegisterInstruction>(insertIndex).registerA
|
||||
initializeMonetizationDebugSettingsFingerprint
|
||||
.match(monetizationDebugSettingsToStringFingerprint.classDef)
|
||||
.method.apply {
|
||||
val insertIndex = initializeMonetizationDebugSettingsFingerprint.patternMatch!!.startIndex
|
||||
val register = getInstruction<TwoRegisterInstruction>(insertIndex).registerA
|
||||
|
||||
addInstructions(
|
||||
insertIndex,
|
||||
"const/4 v$register, 0x1",
|
||||
)
|
||||
}
|
||||
addInstructions(
|
||||
insertIndex,
|
||||
"const/4 v$register, 0x1",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,13 +7,11 @@ import com.android.tools.smali.dexlib2.Opcode
|
||||
internal val initializeMonetizationDebugSettingsFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
|
||||
returns("V")
|
||||
parameters(
|
||||
"Z", // disableAds
|
||||
"Z", // useDebugBilling
|
||||
"Z", // showManageSubscriptions
|
||||
"Z", // alwaysShowSuperAds
|
||||
// matches "Lcom/duolingo/debug/FamilyQuestOverride;" or "Lcom/duolingo/data/debug/monetization/FamilyQuestOverride;"
|
||||
"Lcom/duolingo/",
|
||||
)
|
||||
// Parameters have not been reliable for fingerprinting between versions.
|
||||
opcodes(Opcode.IPUT_BOOLEAN)
|
||||
}
|
||||
|
||||
internal val monetizationDebugSettingsToStringFingerprint = fingerprint {
|
||||
strings("MonetizationDebugSettings(") // Partial string match.
|
||||
custom { method, _ -> method.name == "toString" }
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
package app.revanced.patches.instagram.hide.navigation
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal val tabCreateButtonsLoopStartFingerprint = fingerprint {
|
||||
returns("V")
|
||||
strings("InstagramMainActivity.createTabButtons")
|
||||
opcodes(
|
||||
//Loop Start
|
||||
Opcode.IF_GE, // Check if index is finished (index, size)
|
||||
//Injection
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT
|
||||
)
|
||||
}
|
||||
|
||||
internal val tabCreateButtonsLoopEndFingerprint = fingerprint {
|
||||
returns("V")
|
||||
strings("InstagramMainActivity.createTabButtons")
|
||||
opcodes(
|
||||
Opcode.IPUT_OBJECT,
|
||||
// Injection Jump
|
||||
Opcode.ADD_INT_LIT8, //Increase Index
|
||||
Opcode.GOTO_16 // Jump to loopStart
|
||||
// LoopEnd
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package app.revanced.patches.instagram.hide.navigation
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.booleanOption
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
import app.revanced.util.findFreeRegister
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
import java.util.logging.Logger
|
||||
|
||||
@Suppress("unused")
|
||||
val hideNavigationButtonsPatch = bytecodePatch(
|
||||
name = "Hide navigation buttons",
|
||||
description = "Hides navigation bar buttons, such as the Reels and Create button.",
|
||||
use = false
|
||||
) {
|
||||
compatibleWith("com.instagram.android")
|
||||
|
||||
val hideReels by booleanOption(
|
||||
key = "hideReels",
|
||||
default = true,
|
||||
title = "Hide Reels",
|
||||
description = "Permanently hides the Reels button."
|
||||
)
|
||||
|
||||
val hideCreate by booleanOption(
|
||||
key = "hideCreate",
|
||||
default = true,
|
||||
title = "Hide Create",
|
||||
description = "Permanently hides the Create button."
|
||||
)
|
||||
|
||||
execute {
|
||||
if (!hideReels!! && !hideCreate!!) {
|
||||
return@execute Logger.getLogger(this::class.java.name).warning(
|
||||
"No hide navigation buttons options are enabled. No changes made."
|
||||
)
|
||||
}
|
||||
|
||||
tabCreateButtonsLoopStartFingerprint.method.apply {
|
||||
// Check the current loop index, and skip over adding the
|
||||
// navigation button view if the index matches a given button.
|
||||
|
||||
val startIndex = tabCreateButtonsLoopStartFingerprint.patternMatch!!.startIndex
|
||||
val endIndex = tabCreateButtonsLoopEndFingerprint.patternMatch!!.endIndex
|
||||
val insertIndex = startIndex + 1
|
||||
val loopIndexRegister = getInstruction<TwoRegisterInstruction>(startIndex).registerA
|
||||
val freeRegister = findFreeRegister(insertIndex, loopIndexRegister)
|
||||
val instruction = getInstruction(endIndex - 1)
|
||||
|
||||
var instructions = buildString {
|
||||
if (hideCreate!!) {
|
||||
appendLine(
|
||||
"""
|
||||
const v$freeRegister, 0x2
|
||||
if-eq v$freeRegister, v$loopIndexRegister, :skipAddView
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
if (hideReels!!) {
|
||||
appendLine(
|
||||
"""
|
||||
const v$freeRegister, 0x3
|
||||
if-eq v$freeRegister, v$loopIndexRegister, :skipAddView
|
||||
"""
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
addInstructionsWithLabels(
|
||||
insertIndex,
|
||||
instructions,
|
||||
ExternalLabel("skipAddView", instruction)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package app.revanced.patches.instagram.hide.stories
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
|
||||
internal val getOrCreateAvatarViewFingerprint = fingerprint {
|
||||
parameters()
|
||||
returns("L")
|
||||
custom { method, classDef ->
|
||||
classDef.type == "Lcom/instagram/reels/ui/views/reelavatar/RecyclerReelAvatarView;"
|
||||
}
|
||||
opcodes(
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.IPUT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL // Add View (Story)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package app.revanced.patches.instagram.hide.stories
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
|
||||
@Suppress("unused")
|
||||
val hideStoriesPatch = bytecodePatch(
|
||||
name = "Hide Stories from Home",
|
||||
description = "Hides Stories from the main page, by removing the buttons.",
|
||||
use = false
|
||||
) {
|
||||
compatibleWith("com.instagram.android")
|
||||
|
||||
execute {
|
||||
val addStoryMethod = getOrCreateAvatarViewFingerprint.method // Creates Story
|
||||
val addStoryEndIndex = getOrCreateAvatarViewFingerprint.patternMatch!!.endIndex
|
||||
|
||||
// Remove addView of Story.
|
||||
addStoryMethod.removeInstruction(addStoryEndIndex)
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ val removeFreeAccountsLimitPatch = resourcePatch(
|
||||
name = "Remove free accounts limit",
|
||||
description = "Removes the limit for maximum free accounts logged in.",
|
||||
) {
|
||||
compatibleWith("ch.protonmail.android")
|
||||
compatibleWith("ch.protonmail.android"("4.15.0"))
|
||||
|
||||
execute {
|
||||
document("res/values/integers.xml").use { document ->
|
||||
|
||||
@@ -10,7 +10,7 @@ val removeSentFromSignaturePatch = resourcePatch(
|
||||
name = "Remove 'Sent from' signature",
|
||||
description = "Removes the 'Sent from Proton Mail mobile' signature from emails.",
|
||||
) {
|
||||
compatibleWith("ch.protonmail.android")
|
||||
compatibleWith("ch.protonmail.android"("4.15.0"))
|
||||
|
||||
execute {
|
||||
val stringResourceFiles = mutableListOf<File>()
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package app.revanced.patches.reddit.customclients
|
||||
|
||||
import app.revanced.patcher.patch.BytecodePatchBuilder
|
||||
import app.revanced.patcher.patch.Patch
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
|
||||
const val INSTALL_NEW_CLIENT_METHOD = "install(Lokhttp3/OkHttpClient${'$'}Builder;)Lokhttp3/OkHttpClient;"
|
||||
const val CREATE_NEW_CLIENT_METHOD = "createClient()Lokhttp3/OkHttpClient;"
|
||||
|
||||
fun fixRedgifsApiPatch(
|
||||
extensionPatch: Patch<*>,
|
||||
block: BytecodePatchBuilder.() -> Unit = {},
|
||||
) = bytecodePatch(name = "Fix Redgifs API") {
|
||||
dependsOn(extensionPatch)
|
||||
|
||||
block()
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package app.revanced.patches.reddit.customclients.baconreader.fix.redgifs
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
|
||||
internal val getOkHttpClientFingerprint = fingerprint {
|
||||
returns("Lokhttp3/OkHttpClient;")
|
||||
parameters()
|
||||
custom { method, classDef ->
|
||||
classDef.type == "Lcom/onelouder/baconreader/media/gfycat/RedGifsManager;" && method.name == "getOkhttpClient"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package app.revanced.patches.reddit.customclients.baconreader.fix.redgifs
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patches.reddit.customclients.INSTALL_NEW_CLIENT_METHOD
|
||||
import app.revanced.patches.reddit.customclients.baconreader.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.reddit.customclients.fixRedgifsApiPatch
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
import com.android.tools.smali.dexlib2.iface.reference.TypeReference
|
||||
|
||||
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/baconreader/FixRedgifsApiPatch;"
|
||||
|
||||
@Suppress("unused")
|
||||
val fixRedgifsApi = fixRedgifsApiPatch(
|
||||
extensionPatch = sharedExtensionPatch
|
||||
) {
|
||||
compatibleWith(
|
||||
"com.onelouder.baconreader",
|
||||
"com.onelouder.baconreader.premium",
|
||||
)
|
||||
|
||||
execute {
|
||||
// region Patch Redgifs OkHttp3 client.
|
||||
|
||||
getOkHttpClientFingerprint.method.apply {
|
||||
// Remove conflicting OkHttp interceptors.
|
||||
val originalInterceptorInstallIndex = indexOfFirstInstructionOrThrow {
|
||||
opcode == Opcode.NEW_INSTANCE && getReference<TypeReference>()?.type == "Lcom/onelouder/baconreader/media/gfycat/RedGifsManager\$HeaderInterceptor;"
|
||||
}
|
||||
removeInstructions(originalInterceptorInstallIndex, 5)
|
||||
|
||||
val index = indexOfFirstInstructionOrThrow {
|
||||
val reference = getReference<MethodReference>()
|
||||
reference?.name == "build" && reference.definingClass == "Lokhttp3/OkHttpClient\$Builder;"
|
||||
}
|
||||
val register = getInstruction<FiveRegisterInstruction>(index).registerC
|
||||
replaceInstruction(
|
||||
index,
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->$INSTALL_NEW_CLIENT_METHOD
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
// endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package app.revanced.patches.reddit.customclients.baconreader.misc.extension
|
||||
|
||||
import app.revanced.patches.reddit.customclients.baconreader.misc.extension.hooks.initHook
|
||||
import app.revanced.patches.shared.misc.extension.sharedExtensionPatch
|
||||
|
||||
val sharedExtensionPatch = sharedExtensionPatch("baconreader", initHook)
|
||||
@@ -0,0 +1,9 @@
|
||||
package app.revanced.patches.reddit.customclients.baconreader.misc.extension.hooks
|
||||
|
||||
import app.revanced.patches.shared.misc.extension.extensionHook
|
||||
|
||||
internal val initHook = extensionHook {
|
||||
custom { method, _ ->
|
||||
method.definingClass == "Lcom/onelouder/baconreader/BaconReader;" && method.name == "onCreate"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package app.revanced.patches.reddit.customclients.boostforreddit.fix.redgifs
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal val createOkHttpClientFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PRIVATE)
|
||||
opcodes(
|
||||
Opcode.NEW_INSTANCE,
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.NEW_INSTANCE,
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.NEW_INSTANCE,
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT_OBJECT
|
||||
)
|
||||
custom { _, classDef -> classDef.sourceFile == "RedGifsAPIv2.java" }
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package app.revanced.patches.reddit.customclients.boostforreddit.fix.redgifs
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.instructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patches.reddit.customclients.CREATE_NEW_CLIENT_METHOD
|
||||
import app.revanced.patches.reddit.customclients.boostforreddit.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.reddit.customclients.fixRedgifsApiPatch
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/boostforreddit/FixRedgifsApiPatch;"
|
||||
|
||||
@Suppress("unused")
|
||||
val fixRedgifsApi = fixRedgifsApiPatch(
|
||||
extensionPatch = sharedExtensionPatch
|
||||
) {
|
||||
compatibleWith("com.rubenmayayo.reddit")
|
||||
|
||||
execute {
|
||||
// region Patch Redgifs OkHttp3 client.
|
||||
|
||||
createOkHttpClientFingerprint.method.apply {
|
||||
val index = indexOfFirstInstructionOrThrow {
|
||||
val reference = getReference<MethodReference>()
|
||||
reference?.name == "build" && reference.definingClass == "Lokhttp3/OkHttpClient\$Builder;"
|
||||
}
|
||||
replaceInstruction(
|
||||
index,
|
||||
"""
|
||||
invoke-static { }, ${EXTENSION_CLASS_DESCRIPTOR}->$CREATE_NEW_CLIENT_METHOD
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
// endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package app.revanced.patches.reddit.customclients.sync.syncforreddit.fix.redgifs
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.instructions
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.util.indexOfFirstInstruction
|
||||
import app.revanced.util.writeRegister
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction11n
|
||||
|
||||
|
||||
internal val createOkHttpClientFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
|
||||
returns("V")
|
||||
parameters()
|
||||
custom { method, classDef ->
|
||||
// There are four functions (each creating a client) defined in this file with very similar fingerprints.
|
||||
// We're looking for the one that only creates one object (the builder) and sets client options true
|
||||
// (thus never reloading the register with a 0).
|
||||
classDef.sourceFile == "OkHttpHelper.java" &&
|
||||
method.instructions.count { it.opcode == Opcode.NEW_INSTANCE } == 1 &&
|
||||
method.indexOfFirstInstruction {
|
||||
opcode == Opcode.CONST_4 && writeRegister == 1 && (this as Instruction11n).narrowLiteral == 0
|
||||
} == -1
|
||||
}
|
||||
}
|
||||
|
||||
internal val getDefaultUserAgentFingerprint = fingerprint {
|
||||
custom { method, classDef ->
|
||||
method.name == "getDefaultUserAgent" && classDef.type == EXTENSION_CLASS_DESCRIPTOR
|
||||
}
|
||||
}
|
||||
|
||||
internal val getOriginalUserAgentFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
|
||||
returns("Ljava/lang/String;")
|
||||
parameters()
|
||||
custom { _, classDef -> classDef.sourceFile == "AccountSingleton.java" }
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package app.revanced.patches.reddit.customclients.sync.syncforreddit.fix.redgifs
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patches.reddit.customclients.INSTALL_NEW_CLIENT_METHOD
|
||||
import app.revanced.patches.reddit.customclients.fixRedgifsApiPatch
|
||||
import app.revanced.patches.reddit.customclients.sync.syncforreddit.extension.sharedExtensionPatch
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/syncforreddit/FixRedgifsApiPatch;"
|
||||
|
||||
@Suppress("unused")
|
||||
val fixRedgifsApi = fixRedgifsApiPatch(
|
||||
extensionPatch = sharedExtensionPatch
|
||||
) {
|
||||
compatibleWith(
|
||||
"com.laurencedawson.reddit_sync",
|
||||
"com.laurencedawson.reddit_sync.pro",
|
||||
"com.laurencedawson.reddit_sync.dev",
|
||||
)
|
||||
|
||||
execute {
|
||||
// region Patch Redgifs OkHttp3 client.
|
||||
|
||||
createOkHttpClientFingerprint.method.apply {
|
||||
val index = indexOfFirstInstructionOrThrow {
|
||||
val reference = getReference<MethodReference>()
|
||||
reference?.name == "build" && reference.definingClass == "Lokhttp3/OkHttpClient\$Builder;"
|
||||
}
|
||||
val register = getInstruction<FiveRegisterInstruction>(index).registerC
|
||||
replaceInstruction(
|
||||
index,
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->$INSTALL_NEW_CLIENT_METHOD
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
getDefaultUserAgentFingerprint.method.apply {
|
||||
addInstructions(
|
||||
0,
|
||||
"""
|
||||
invoke-static { }, ${getOriginalUserAgentFingerprint.method}
|
||||
move-result-object v0
|
||||
return-object v0
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
// endregion
|
||||
}
|
||||
}
|
||||
@@ -49,8 +49,8 @@ internal val contextMenuViewModelConstructorFingerprint = fingerprint {
|
||||
/**
|
||||
* Used to find the interface name of a context menu item.
|
||||
*/
|
||||
internal val removeAdsContextMenuItemClassFingerprint = fingerprint {
|
||||
strings("remove_ads_item", "ui_navigate")
|
||||
internal val removeItemFromPlaylistContextMenuItemClassFingerprint = fingerprint {
|
||||
strings("spotify:playlist:", "REMOVE_TRACK")
|
||||
}
|
||||
|
||||
internal const val CONTEXT_MENU_ITEM_CLASS_DESCRIPTOR_PLACEHOLDER = "Lapp/revanced/ContextMenuItemPlaceholder;"
|
||||
|
||||
@@ -42,7 +42,9 @@ val hideButtonsPatch = resourcePatch(
|
||||
SwitchPreference("revanced_hide_ask_button"),
|
||||
SwitchPreference("revanced_hide_clip_button"),
|
||||
SwitchPreference("revanced_hide_download_button"),
|
||||
SwitchPreference("revanced_hide_hype_button"),
|
||||
SwitchPreference("revanced_hide_like_dislike_button"),
|
||||
SwitchPreference("revanced_hide_promote_button"),
|
||||
SwitchPreference("revanced_hide_remix_button"),
|
||||
SwitchPreference("revanced_hide_report_button"),
|
||||
SwitchPreference("revanced_hide_save_button"),
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package app.revanced.patches.youtube.layout.sponsorblock
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionReversed
|
||||
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.instruction.ReferenceInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
@@ -56,3 +59,20 @@ internal val rectangleFieldInvalidatorFingerprint = fingerprint {
|
||||
reference?.parameterTypes?.size == 1 && reference.name == "invalidate" // the reference is the invalidate(..) method
|
||||
}
|
||||
}
|
||||
|
||||
internal val adProgressTextViewVisibilityFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("V")
|
||||
parameters("Z")
|
||||
custom { method, _ ->
|
||||
indexOfAdProgressTextViewVisibilityInstruction(method) >= 0
|
||||
}
|
||||
}
|
||||
|
||||
internal fun indexOfAdProgressTextViewVisibilityInstruction(method: Method) =
|
||||
method.indexOfFirstInstructionReversed {
|
||||
val reference = getReference<MethodReference>()
|
||||
reference?.definingClass ==
|
||||
"Lcom/google/android/libraries/youtube/ads/player/ui/AdProgressTextView;"
|
||||
&& reference.name =="setVisibility"
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ val sponsorBlockPatch = bytecodePatch(
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_SEGMENT_PLAYBACK_CONTROLLER_CLASS_DESCRIPTOR->appendTimeWithoutSegments(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v$register
|
||||
""",
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
@@ -253,14 +253,15 @@ val sponsorBlockPatch = bytecodePatch(
|
||||
} ?: throw PatchException("Could not find the method which contains the replaceMeWith* strings")
|
||||
}
|
||||
|
||||
// The vote and create segment buttons automatically change their visibility when appropriate,
|
||||
// but if buttons are showing when the end of the video is reached then they will not automatically hide.
|
||||
// Add a hook to forcefully hide when the end of the video is reached.
|
||||
autoRepeatFingerprint.match(autoRepeatParentFingerprint.originalClassDef).method.addInstruction(
|
||||
0,
|
||||
"invoke-static {}, $EXTENSION_SPONSORBLOCK_VIEW_CONTROLLER_CLASS_DESCRIPTOR->endOfVideoReached()V",
|
||||
)
|
||||
adProgressTextViewVisibilityFingerprint.method.apply {
|
||||
val index = indexOfAdProgressTextViewVisibilityInstruction(this)
|
||||
val register = getInstruction<FiveRegisterInstruction>(index).registerD
|
||||
|
||||
addInstructionsAtControlFlowLabel(
|
||||
index,
|
||||
"invoke-static { v$register }, $EXTENSION_SEGMENT_PLAYBACK_CONTROLLER_CLASS_DESCRIPTOR->setAdProgressTextVisibility(I)V"
|
||||
)
|
||||
}
|
||||
|
||||
// TODO: Channel whitelisting.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,63 @@ package app.revanced.patches.youtube.misc.playercontrols
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.util.containsLiteralInstruction
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstruction
|
||||
import app.revanced.util.indexOfFirstInstructionReversed
|
||||
import app.revanced.util.literal
|
||||
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 fun indexOfFocusableInTouchModeInstruction(method: Method) =
|
||||
method.indexOfFirstInstruction {
|
||||
getReference<MethodReference>()?.name == "setFocusableInTouchMode"
|
||||
}
|
||||
|
||||
internal fun indexOfTranslationInstruction(method: Method) =
|
||||
method.indexOfFirstInstructionReversed {
|
||||
getReference<MethodReference>()?.name == "setTranslationY"
|
||||
}
|
||||
|
||||
internal val playerControlsVisibilityEntityModelFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC)
|
||||
returns("L")
|
||||
parameters()
|
||||
opcodes(
|
||||
Opcode.IGET,
|
||||
Opcode.INVOKE_STATIC
|
||||
)
|
||||
custom { method, _ ->
|
||||
method.name == "getPlayerControlsVisibility"
|
||||
}
|
||||
}
|
||||
|
||||
internal val youtubeControlsOverlayFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
|
||||
returns("V")
|
||||
parameters()
|
||||
custom { method, _ ->
|
||||
indexOfFocusableInTouchModeInstruction(method) >= 0 &&
|
||||
method.containsLiteralInstruction(inset_overlay_view_layout_id) &&
|
||||
method.containsLiteralInstruction(scrim_overlay_id)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
internal val motionEventFingerprint = fingerprint {
|
||||
returns("V")
|
||||
parameters("Landroid/view/MotionEvent;")
|
||||
custom { method, _ ->
|
||||
indexOfTranslationInstruction(method) >= 0
|
||||
}
|
||||
}
|
||||
|
||||
internal val playerTopControlsInflateFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("V")
|
||||
parameters()
|
||||
literal { controlsLayoutStub }
|
||||
literal { controls_layout_stub_id }
|
||||
}
|
||||
|
||||
internal val playerControlsExtensionHookListenersExistFingerprint = fingerprint {
|
||||
@@ -35,7 +84,7 @@ internal val playerControlsExtensionHookFingerprint = fingerprint {
|
||||
internal val playerBottomControlsInflateFingerprint = fingerprint {
|
||||
returns("Ljava/lang/Object;")
|
||||
parameters()
|
||||
literal { bottomUiContainerResourceId }
|
||||
literal { bottom_ui_container_stub_id }
|
||||
}
|
||||
|
||||
internal val overlayViewInflateFingerprint = fingerprint {
|
||||
@@ -43,8 +92,8 @@ internal val overlayViewInflateFingerprint = fingerprint {
|
||||
returns("V")
|
||||
parameters("Landroid/view/View;")
|
||||
custom { methodDef, _ ->
|
||||
methodDef.containsLiteralInstruction(fullscreenButton) &&
|
||||
methodDef.containsLiteralInstruction(heatseekerViewstub)
|
||||
methodDef.containsLiteralInstruction(fullscreen_button_id) &&
|
||||
methodDef.containsLiteralInstruction(heatseeker_viewstub_id)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package app.revanced.patches.youtube.misc.playercontrols
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
|
||||
private const val EXTENSION_PLAYER_CONTROLS_VISIBILITY_HOOK_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/PlayerControlsVisibilityHookPatch;"
|
||||
|
||||
val PlayerControlsOverlayVisibilityPatch = bytecodePatch {
|
||||
dependsOn(sharedExtensionPatch)
|
||||
|
||||
execute {
|
||||
playerControlsVisibilityEntityModelFingerprint.let {
|
||||
it.method.apply {
|
||||
val startIndex = it.patternMatch!!.startIndex
|
||||
val iGetReference = getInstruction<ReferenceInstruction>(startIndex).reference
|
||||
val staticReference = getInstruction<ReferenceInstruction>(startIndex + 1).reference
|
||||
|
||||
it.classDef.methods.find { method -> method.name == "<init>" }?.apply {
|
||||
val targetIndex = indexOfFirstInstructionOrThrow(Opcode.IPUT_OBJECT)
|
||||
val targetRegister = getInstruction<TwoRegisterInstruction>(targetIndex).registerA
|
||||
|
||||
addInstructions(
|
||||
targetIndex + 1,
|
||||
"""
|
||||
iget v$targetRegister, v$targetRegister, $iGetReference
|
||||
invoke-static { v$targetRegister }, $staticReference
|
||||
move-result-object v$targetRegister
|
||||
invoke-static { v$targetRegister }, $EXTENSION_PLAYER_CONTROLS_VISIBILITY_HOOK_CLASS_DESCRIPTOR->setPlayerControlsVisibility(Ljava/lang/Enum;)V
|
||||
"""
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.playercontrols
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.PatchException
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
@@ -40,13 +39,17 @@ internal lateinit var addTopControl: (String) -> Unit
|
||||
lateinit var addBottomControl: (String) -> Unit
|
||||
private set
|
||||
|
||||
internal var bottomUiContainerResourceId = -1L
|
||||
internal var bottom_ui_container_stub_id = -1L
|
||||
private set
|
||||
internal var controlsLayoutStub = -1L
|
||||
internal var controls_layout_stub_id = -1L
|
||||
private set
|
||||
internal var heatseekerViewstub = -1L
|
||||
internal var heatseeker_viewstub_id = -1L
|
||||
private set
|
||||
internal var fullscreenButton = -1L
|
||||
internal var fullscreen_button_id = -1L
|
||||
private set
|
||||
internal var inset_overlay_view_layout_id = -1L
|
||||
private set
|
||||
internal var scrim_overlay_id = -1L
|
||||
private set
|
||||
|
||||
val playerControlsResourcePatch = resourcePatch {
|
||||
@@ -65,10 +68,12 @@ val playerControlsResourcePatch = resourcePatch {
|
||||
execute {
|
||||
val targetResourceName = "youtube_controls_bottom_ui_container.xml"
|
||||
|
||||
bottomUiContainerResourceId = resourceMappings["id", "bottom_ui_container_stub"]
|
||||
controlsLayoutStub = resourceMappings["id", "controls_layout_stub"]
|
||||
heatseekerViewstub = resourceMappings["id", "heatseeker_viewstub"]
|
||||
fullscreenButton = resourceMappings["id", "fullscreen_button"]
|
||||
bottom_ui_container_stub_id = resourceMappings["id", "bottom_ui_container_stub"]
|
||||
controls_layout_stub_id = resourceMappings["id", "controls_layout_stub"]
|
||||
heatseeker_viewstub_id = resourceMappings["id", "heatseeker_viewstub"]
|
||||
fullscreen_button_id = resourceMappings["id", "fullscreen_button"]
|
||||
inset_overlay_view_layout_id = resourceMappings["id", "inset_overlay_view_layout"]
|
||||
scrim_overlay_id = resourceMappings["id", "scrim_overlay"]
|
||||
|
||||
bottomTargetDocument = document("res/layout/$targetResourceName")
|
||||
|
||||
@@ -198,6 +203,13 @@ fun injectVisibilityCheckCall(descriptor: String) {
|
||||
visibilityImmediateInsertIndex++,
|
||||
"invoke-static { p0 }, $descriptor->setVisibilityImmediate(Z)V",
|
||||
)
|
||||
|
||||
// Patch works without this hook, but it is needed to use the correct fade out animation
|
||||
// duration when tapping the overlay to dismiss.
|
||||
visibilityNegatedImmediateMethod.addInstruction(
|
||||
visibilityNegatedImmediateInsertIndex++,
|
||||
"invoke-static { }, $descriptor->setVisibilityNegatedImmediate()V",
|
||||
)
|
||||
}
|
||||
|
||||
internal const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
@@ -220,12 +232,16 @@ private lateinit var visibilityImmediateCallbacksExistMethod : MutableMethod
|
||||
private lateinit var visibilityImmediateMethod: MutableMethod
|
||||
private var visibilityImmediateInsertIndex: Int = 0
|
||||
|
||||
private lateinit var visibilityNegatedImmediateMethod: MutableMethod
|
||||
private var visibilityNegatedImmediateInsertIndex: Int = 0
|
||||
|
||||
val playerControlsPatch = bytecodePatch(
|
||||
description = "Manages the code for the player controls of the YouTube player.",
|
||||
) {
|
||||
dependsOn(
|
||||
playerControlsResourcePatch,
|
||||
sharedExtensionPatch,
|
||||
PlayerControlsOverlayVisibilityPatch
|
||||
)
|
||||
|
||||
execute {
|
||||
@@ -258,7 +274,7 @@ val playerControlsPatch = bytecodePatch(
|
||||
// Hook the fullscreen close button. Used to fix visibility
|
||||
// when seeking and other situations.
|
||||
overlayViewInflateFingerprint.method.apply {
|
||||
val resourceIndex = indexOfFirstLiteralInstructionReversedOrThrow(fullscreenButton)
|
||||
val resourceIndex = indexOfFirstLiteralInstructionReversedOrThrow(fullscreen_button_id)
|
||||
|
||||
val index = indexOfFirstInstructionOrThrow(resourceIndex) {
|
||||
opcode == Opcode.CHECK_CAST &&
|
||||
@@ -277,6 +293,11 @@ val playerControlsPatch = bytecodePatch(
|
||||
visibilityImmediateCallbacksExistMethod = playerControlsExtensionHookListenersExistFingerprint.method
|
||||
visibilityImmediateMethod = playerControlsExtensionHookFingerprint.method
|
||||
|
||||
motionEventFingerprint.match(youtubeControlsOverlayFingerprint.originalClassDef).method.apply {
|
||||
visibilityNegatedImmediateMethod = this
|
||||
visibilityNegatedImmediateInsertIndex = indexOfTranslationInstruction(this) + 1
|
||||
}
|
||||
|
||||
// A/B test for a slightly different bottom overlay controls,
|
||||
// that uses layout file youtube_video_exploder_controls_bottom_ui_container.xml
|
||||
// The change to support this is simple and only requires adding buttons to both layout files,
|
||||
@@ -299,12 +320,9 @@ val playerControlsPatch = bytecodePatch(
|
||||
val index = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_OBJECT)
|
||||
val register = getInstruction<OneRegisterInstruction>(index).registerA
|
||||
|
||||
addInstructions(
|
||||
addInstruction(
|
||||
index + 1,
|
||||
"""
|
||||
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getPlayerTopControlsLayoutResourceName(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v$register
|
||||
""",
|
||||
"const-string v$register, \"default\""
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
package app.revanced.patches.youtube.video.hdr
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.all.misc.transformation.transformInstructionsPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
@@ -24,6 +25,31 @@ val disableHdrPatch = bytecodePatch(
|
||||
sharedExtensionPatch,
|
||||
settingsPatch,
|
||||
addResourcesPatch,
|
||||
// Override all calls of `getSupportedHdrTypes`.
|
||||
transformInstructionsPatch(
|
||||
filterMap = filterMap@{ classDef, _, instruction, instructionIndex ->
|
||||
if (classDef.type.startsWith("Lapp/revanced/")) {
|
||||
return@filterMap null
|
||||
}
|
||||
|
||||
val reference = instruction.getReference<MethodReference>()
|
||||
if (reference?.definingClass =="Landroid/view/Display\$HdrCapabilities;"
|
||||
&& reference.name == "getSupportedHdrTypes") {
|
||||
return@filterMap instruction to instructionIndex
|
||||
}
|
||||
return@filterMap null
|
||||
},
|
||||
transform = { method, entry ->
|
||||
val (instruction, index) = entry
|
||||
val register = (instruction as FiveRegisterInstruction).registerC
|
||||
|
||||
method.replaceInstruction(
|
||||
index,
|
||||
"invoke-static/range { v$register .. v$register }, $EXTENSION_CLASS_DESCRIPTOR->" +
|
||||
"disableHdrVideo(Landroid/view/Display\$HdrCapabilities;)[I",
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
@@ -43,29 +69,5 @@ val disableHdrPatch = bytecodePatch(
|
||||
PreferenceScreen.VIDEO.addPreferences(
|
||||
SwitchPreference("revanced_disable_hdr_video")
|
||||
)
|
||||
|
||||
hdrCapabilityFingerprint.let {
|
||||
it.originalMethod.apply {
|
||||
val stringIndex = it.stringMatches!!.first().index
|
||||
val navigateIndex = indexOfFirstInstructionOrThrow(stringIndex) {
|
||||
val reference = getReference<MethodReference>()
|
||||
reference?.parameterTypes == listOf("I", "Landroid/view/Display;") &&
|
||||
reference.returnType == "Z"
|
||||
}
|
||||
|
||||
// Modify the HDR lookup method (Method is in the same class as the fingerprint).
|
||||
navigate(this).to(navigateIndex).stop().addInstructionsWithLabels(
|
||||
0,
|
||||
"""
|
||||
invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->disableHDRVideo()Z
|
||||
move-result v0
|
||||
if-nez v0, :useHdr
|
||||
return v0
|
||||
:useHdr
|
||||
nop
|
||||
"""
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package app.revanced.patches.youtube.video.hdr
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal val hdrCapabilityFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
strings(
|
||||
"av1_profile_main_10_hdr_10_plus_supported",
|
||||
"video/av01"
|
||||
)
|
||||
}
|
||||
@@ -132,6 +132,7 @@ internal val Instruction.registersUsed: List<Int>
|
||||
get() = when (this) {
|
||||
is FiveRegisterInstruction -> {
|
||||
when (registerCount) {
|
||||
0 -> listOf()
|
||||
1 -> listOf(registerC)
|
||||
2 -> listOf(registerC, registerD)
|
||||
3 -> listOf(registerC, registerD, registerE)
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -452,6 +452,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">سيتم عرض مربع الحوار</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">وهذا لا يتجاوز قيود السن. بل يقبلها تلقائيًا.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">تعطيل النافذة المنبثقة لتسجيل الدخول إلى التلفزيون</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">النافذة المنبثقة لتسجيل الدخول إلى التلفزيون معطلة</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">النافذة المنبثقة لتسجيل الدخول إلى التلفزيون مفعلة</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">تعطيل تخطي الفصل بالنقر المزدوج</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">لا يمكن للنقر المزدوج مطلقًا أن يؤدي إلى تخطي الفصل التالي/السابق</string>
|
||||
@@ -563,7 +568,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">زر إيقاف الإعلانات مخفي</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">زر إيقاف الإعلانات معروض</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">إخفاء الإبلاغ</string>
|
||||
<string name="revanced_hide_report_button_summary_on">تم إخفاء زر الإبلاغ</string>
|
||||
<string name="revanced_hide_report_button_summary_off">يتم عرض زر الإبلاغ</string>
|
||||
@@ -575,12 +580,21 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_download_button_title">إخفاء التنزيل</string>
|
||||
<string name="revanced_hide_download_button_summary_on">تم إخفاء زر التنزيل</string>
|
||||
<string name="revanced_hide_download_button_summary_off">يتم عرض زر التنزيل</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">إخفاء الضجة</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">زر الضجة مخفي</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">يظهر زر الحماس</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">إخفاء الترويج</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">زر الترويج مخفي</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">زر الترويج ظاهر</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">إخفاء شكرًا</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">تم إخفاء زر شكرًا</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">يتم عرض زر شكرًا</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">إخفاء \"Ask\"</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">تم إخفاء زر \"Ask\"</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">يتم عرض زر \"Ask\"</string>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -452,6 +452,11 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialoq göstərilir</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Bu, yaş məhdudiyyətini ötürmür. Sadəcə birbaşa qəbul edir.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">TV ani görüntüsü girişin qapat</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">TV ani görüntüyə giriş qapadılıb</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">TV ani görüntüyə giriş işləkdir</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Cüt toxunuşla fəsil ötürməsini qapat</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Cüt toxunma heç vaxt növbəti/əvvəlki fəsilə keçidi zorlaya bilməz</string>
|
||||
@@ -563,7 +568,7 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Reklamları dayandır düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Reklamları dayandır düyməsi görünür</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">\"Xəbər verin\"i gizlət</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Xəbər ver/düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Xəbər ver/düyməsi göstərilir</string>
|
||||
@@ -575,12 +580,21 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
|
||||
<string name="revanced_hide_download_button_title">\"Endirin\"i gizlət</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Yükləmə düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Yükləmə düyməsi göstərilir</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Coşqu Gizlət</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Coşqu düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Coşqu düyməsi görünür</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Sponsor-u Gizlət</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Sponsor düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_promote_button_summary_off"> Sponsor düyməsi görünür</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">\"Təşəkkürlər\"i gizlət</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Təşəkkür düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Təşəkkür düyməsi göstərilir</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Soruş\'u Gizlət</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Soruş düyməsi gizlidir</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">\"Soruş\" düyməsi göstərilir</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Будзе паказана дыялогавае акно</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Гэта не абыходзіць узроставае абмежаванне. Ён проста прымае гэта аўтаматычна.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Адключыць усплывальнае акно «Уваход у ТБ»</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Усплывальнае акно «Уваход у ТБ» адключана</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Усплывальнае акно «Уваход у ТБ» уключана</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Адключыць прапуск раздзела па двайным націску</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Двайны націск ніколі не можа выклікаць прапуск да наступнага/папярэдняга раздзела</string>
|
||||
@@ -563,7 +568,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Кнопка \"Спыніць рэкламу\" схавана</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Кнопка \"Спыніць рэкламу\" паказана</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Схаваць справаздачу</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Кнопка \"Паведаміць\" схавана</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Паказана кнопка \"Паведаміць\"</string>
|
||||
@@ -575,12 +580,21 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_download_button_title">Схаваць загрузку</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Кнопка загрузкі схавана</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Паказана кнопка загрузкі</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Схаваць хайп</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Кнопка Hype схаваная</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Кнопка хайпу паказана</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Схаваць Рэкламу</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Кнопка \"Прасоўваць\" схавана</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Кнопка \"Прасоўваць\" паказана</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Схаваць Дзякуй</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Кнопка падзякі схавана</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Паказана кнопка падзякі</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Схаваць кнопку «Запытацца»</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Кнопка «Запытацца» схаваная</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Кнопка «Запытацца» паказаная</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Диалоговият прозорец ще бъде показан</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Тази функция не заобикаля възрастовото ограничение. Тя просто приема възрастовата граница автоматично.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Деактивиране на изскачащия прозорец „Влизане в телевизора“</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Изскачащият прозорец „Влизане в телевизора“ е деактивиран</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Изскачащият прозорец „Влизане в телевизора“ е активиран</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Деактивиране на пропускане на глава с двойно докосване</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Двойното докосване никога не може да предизвика пропускане до следваща/предишна глава</string>
|
||||
@@ -563,7 +568,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Бутонът за спиране на реклами е скрит</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Бутонът за спиране на реклами е показан</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Бутон за доклади</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Бутона за докладване е скрит</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Бутона за докладване се показва</string>
|
||||
@@ -575,12 +580,21 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_download_button_title">Бутон за изтегляне</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Бутона за изтегляне е скрит</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Бутона за изтегляне се показва</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Скрий хайпа</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Бутонът за хайп е скрит</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Бутонът за хайп е показан</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Скриване на промоция</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Бутонът за популяризиране е скрит</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Бутонът за популяризиране е показан</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Бутон за благодарност</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Бутона за благодарност е скрит</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Бутона за благодарност се показва</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Скриване на \"Попитай\"</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Бутонът \"Попитай\" е скрит</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Бутонът \"Попитай\" е показан</string>
|
||||
|
||||
@@ -448,6 +448,11 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">ডায়ালগ প্রদর্শিত হবে</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">এটি বয়সের সীমাবদ্ধতাকে বাইপাস করে না। এটা শুধু স্বয়ংক্রিয়ভাবে গ্রহণ করে।</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">টিভিতে সাইন ইন পপআপ অক্ষম করুন</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">টিভিতে সাইন ইন পপআপ অক্ষম করা হয়েছে</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">টিভিতে সাইন ইন পপআপ সক্ষম করা হয়েছে</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">ডাবল ট্যাপ অধ্যায় স্কিপ অক্ষম করুন</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">ডাবল ট্যাপ কখনও পরবর্তী/পূর্ববর্তী অধ্যায়ে স্কিপ ট্রিগার করতে পারে না</string>
|
||||
@@ -559,7 +564,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">বিজ্ঞাপন বন্ধ করুন বোতামটি লুকানো আছে</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">বিজ্ঞাপন বন্ধ করুন বোতামটি দেখানো হচ্ছে</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Report লুকান</string>
|
||||
<string name="revanced_hide_report_button_summary_on">রিপোর্ট বাটন লুকিয়ে রয়েছে</string>
|
||||
<string name="revanced_hide_report_button_summary_off">রিপোর্ট বাটন প্রদর্শিত</string>
|
||||
@@ -571,12 +576,21 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
||||
<string name="revanced_hide_download_button_title">ডাউনলোডগুলো হাইড করাও</string>
|
||||
<string name="revanced_hide_download_button_summary_on">ডাউনলোড বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_download_button_summary_off">ডাউনলোড বোতাম দেখানো হয়েছে</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">হাইপ লুকান</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">হাইপ বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">হাইপ বাটন দেখানো হয়েছে</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">প্রমোট লুকান</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">প্রোমোশন বাটন লুকানো আছে</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">প্রোমোশন বাটন দেখানো আছে</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">ধন্যবাদ লুকান</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">ধন্যবাদ বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">ধন্যবাদ বোতাম দেখানো হয়</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">জিজ্ঞাসা লুকান</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">জিজ্ঞাসা বোতাম লুকানো আছে</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">জিজ্ঞাসা বোতাম দেখানো হয়েছে</string>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -452,6 +452,11 @@ Tato funkce je dostupná pouze pro starší zařízení"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog bude zobrazen</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Tímto krokem neobcházíte věkové omezení. Pouze jej automaticky akceptujete.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Zakázat vyskakovací okno Přihlásit se k televizi</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Vyskakovací okno Přihlásit se k televizi je zakázáno</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Vyskakovací okno Přihlásit se k televizi je povoleno</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Zakázat přeskočení kapitoly dvojitým klepnutím</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Dvojité klepnutí nikdy nespustí přeskočení na další/předchozí kapitolu</string>
|
||||
@@ -563,7 +568,7 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Tlačítko pro zastavení reklam je skryté</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Tlačítko pro zastavení reklam je zobrazeno</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Skrýt Nahlásit</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Tlačítko Nahlásit je skryto</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Tlačítko Nahlásit je zobrazeno</string>
|
||||
@@ -575,12 +580,21 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
|
||||
<string name="revanced_hide_download_button_title">Skrýt Stáhnout</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Tlačítko Stáhnout je skryto</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Tlačítko Stáhnout je zobrazeno</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Skrýt Hype</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Tlačítko Hype je skryto</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Tlačítko Hype je zobrazeno</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Skrýt propagaci</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Tlačítko Propagovat je skryto</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Tlačítko Propagovat je zobrazeno</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Skrýt Poděkování</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Tlačítko Poděkování je skryto</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Tlačítko Poděkování je zobrazeno</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Skrýt Zeptat se</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Tlačítko Zeptat se je skryté</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Tlačítko Zeptat se je zobrazeno</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ Denne funktion er kun tilgængelig for ældre enheder"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog vil blive vist</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Dette går ikke uden om aldersbegrænsningen. Det accepterer bare det automatisk.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Deaktiver log ind på TV-pop op</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Log ind på TV-pop op er deaktiveret</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Log ind på TV-pop op er aktiveret</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Deaktiver dobbeltklik kapitelspring</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Dobbeltklik kan aldrig udløse et spring til næste/forrige kapitel</string>
|
||||
@@ -563,7 +568,7 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Knappen \"Stop annoncer\" er skjult</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Knappen \"Stop annoncer\" vises</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Skjul Rapport</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Rapport-knappen er skjult</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Rapport-knappen er vist</string>
|
||||
@@ -575,12 +580,21 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
|
||||
<string name="revanced_hide_download_button_title">Skjul Download</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Download-knappen er skjult</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Download-knappen vises</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Skjul Hype</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Hype-knappen er skjult</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Hype-knappen vises</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Skjul fremhævelse</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Promoveringsknappen er skjult</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Promoveringsknappen vises</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Skjul Tak</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Tak knappen er skjult</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Tak knappen er vist</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Skjul Spørg</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Spørg-knappen er skjult</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Spørg-knappen vises</string>
|
||||
|
||||
@@ -61,7 +61,7 @@ Um neue Sprachen zu übersetzen, besuchen Sie translate.revanced.app"</string>
|
||||
<string name="revanced_pref_import_export_summary">ReVanced-Einstellungen importieren/exportieren</string>
|
||||
<!-- Settings about dialog. -->
|
||||
<string name="revanced_settings_about_links_body">Sie verwenden ReVanced-Patches Version <i>%s</i></string>
|
||||
<string name="revanced_settings_about_links_dev_header">Anmerkung</string>
|
||||
<string name="revanced_settings_about_links_dev_header">Notiz</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Diese Version ist eine Vorabversion, es kann zu unerwarteten Problemen kommen</string>
|
||||
<string name="revanced_settings_about_links_header">Offizielle Links</string>
|
||||
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
|
||||
@@ -150,9 +150,9 @@ Sie werden nicht über unerwartete Ereignisse informiert."</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Chips ausblenden</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Chips sind ausgeblendet</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Chips werden angezeigt</string>
|
||||
<string name="revanced_hide_community_posts_title">Community-Beiträge ausblenden</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Community-Beiträge sind ausgeblendet</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">Gemeinschaftsbeiträge werden angezeigt</string>
|
||||
<string name="revanced_hide_community_posts_title">Communitybeiträge ausblenden</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Communitybeiträge sind ausgeblendet</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">Communitybeiträge werden angezeigt</string>
|
||||
<string name="revanced_hide_compact_banner_title">Kompakte Banner ausblenden</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Kompakte Banner sind ausgeblendet</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">Kompakte Banner werden angezeigt</string>
|
||||
@@ -218,7 +218,7 @@ Wenn ein Doodle zurzeit in Ihrer Region angezeigt wird und diese Einstellung zum
|
||||
<string name="revanced_hide_channel_bar_title">Senderleiste ausblenden</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Kanalleiste ist ausgeblendet</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Kanalleiste wird angezeigt</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Wasserzeichen ausblenden</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Kanal-Wasserzeichen ausblenden</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Wasserzeichen ist ausgeblendet</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Wasserzeichen wird angezeigt</string>
|
||||
<string name="revanced_hide_emergency_box_title">Notfall-Boxen ausblenden</string>
|
||||
@@ -303,9 +303,9 @@ Wenn ein Doodle zurzeit in Ihrer Region angezeigt wird und diese Einstellung zum
|
||||
<string name="revanced_hide_members_shelf_summary_on">Mitglieder-Regal ist ausgeblendet</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">Mitglieder-Regal wird angezeigt</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">Schaltfläche \'Community besuchen\' ausblenden</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Schaltfläche \'Community besuchen\' ist ausgeblendet</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Schaltfläche \"Community besuchen\" ist angezeigt</string>
|
||||
<string name="revanced_hide_visit_community_button_title">Schaltfläche \'Zur Community\' ausblenden</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Schaltfläche \'Zur Community\' ist ausgeblendet</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Schaltfläch \"Zur Community\" wird angezeigt</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Den \'Store besuchen\'-Button auf Kanalseiten ausblenden</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Schaltfläche \"Shop besuchen\" ist ausgeblendet</string>
|
||||
@@ -449,6 +449,11 @@ Diese Funktion ist nur für ältere Geräte verfügbar"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog wird angezeigt</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Dies umgeht nicht die Altersbeschränkung, sondern akzeptiert sie nur automatisch.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Pop-up \"Bei TV anmelden\" deaktivieren</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Pop-up \"Bei TV anmelden\" ist deaktiviert</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Pop-up \"Bei TV anmelden\" ist aktiviert</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Doppeltippen zum Kapitelüberspringen deaktivieren</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Doppeltippen kann niemals ein Überspringen zum nächsten/vorherigen Kapitel auslösen</string>
|
||||
@@ -558,7 +563,7 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Schaltfläche \"Werbung stoppen\" ist ausgeblendet</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Schaltfläche \"Werbung stoppen\" ist sichtbar</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Bericht ausblenden</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Bericht-Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Bericht-Button wird angezeigt</string>
|
||||
@@ -570,12 +575,21 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver
|
||||
<string name="revanced_hide_download_button_title">Download ausblenden</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Download-Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Download-Button wird angezeigt</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Hypen ausblenden</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Hypen-Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Hypen-Button wird angezeigt</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Werbung ausblenden</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Schaltfläche \"Promoten\" ist ausgeblendet</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Schaltfläche \"Promoten\" ist sichtbar</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Dank ausblenden</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Dankeschön-Taste ist ausgeblendet</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Dankeschön Button wird angezeigt</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Ask ausblenden</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Ask-Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Ask-Button wird angezeigt</string>
|
||||
|
||||
@@ -176,7 +176,7 @@ Second \"item\" text"</string>
|
||||
• Εξερευνήστε περισσότερα κανάλια
|
||||
• Πιο σχετικά
|
||||
• Shopping
|
||||
• Παρακολουθήστε ξανά"</string>
|
||||
• Παρακολούθηση ξανά"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Εμφανίζονται</string>
|
||||
<string name="revanced_hide_image_shelf_title">Ενότητα εικόνων στα αποτελέσματα αναζήτησης</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Κρυμμένη</string>
|
||||
@@ -454,6 +454,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Αυτό δεν παρακάμπτει τον ηλικιακό περιορισμό. Απλώς τον αποδέχεται αυτόματα.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Απενεργοποίηση αναδυόμενου παραθύρου σύνδεσης στην τηλεόραση</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Το αναδυόμενο παράθυρο σύνδεσης στην τηλεόραση είναι απενεργοποιημένο</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Το αναδυόμενο παράθυρο σύνδεσης στην τηλεόραση είναι ενεργοποιημένο</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Απενεργοποίηση παράλειψης κεφαλαίου με διπλό πάτημα</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Το διπλό πάτημα δεν παράλειπει στο επόμενο/προηγούμενο κεφάλαιο</string>
|
||||
@@ -565,7 +570,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Εμφανίζεται</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Μενού «Αναφορά»</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Εμφανίζεται</string>
|
||||
@@ -577,12 +582,21 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_download_button_title">Κουμπί «Λήψη»</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Εμφανίζεται</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Κουμπί «Hype»</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Εμφανίζεται</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Κουμπί «Προώθηση»</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Εμφανίζεται</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Κουμπί «Σας ευχαριστούμε»</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Εμφανίζεται</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Κουμπί «Ερώτηση»</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Εμφανίζεται</string>
|
||||
@@ -1320,7 +1334,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Μη έγκυρη τιμή χρώματος γραμμής προόδου</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
<string name="revanced_header_logo_title">Λογότυπο κεφαλίδας</string>
|
||||
<string name="revanced_header_logo_title">Λογότυπο επικεφαλίδας</string>
|
||||
<string name="revanced_header_logo_entry_1">Προεπιλογή</string>
|
||||
<string name="revanced_header_logo_entry_2">Κανονικό</string>
|
||||
<!-- For this situation "Minimal" means minimalistic. It does not mean small or tiny. -->
|
||||
|
||||
@@ -452,6 +452,11 @@ Esta función solo está disponible para dispositivos antiguos"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Se mostrará el diálogo</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Esto no evita la restricción de edad. Solo la acepta automáticamente.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Desactivar la ventana emergente de Iniciar sesión en TV</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">La ventana emergente de Iniciar sesión en TV está desactivada</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">La ventana emergente de Iniciar sesión en TV está activada</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Deshabilitar el salto de capítulo con doble toque</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">El doble toque nunca puede activar un salto al capítulo siguiente/anterior</string>
|
||||
@@ -563,7 +568,7 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"</s
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">El botón de detener anuncios está oculto</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">El botón de detener anuncios está mostrado</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Ocultar informe</string>
|
||||
<string name="revanced_hide_report_button_summary_on">El botón Reportar está oculto</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Se muestra el botón Reportar</string>
|
||||
@@ -575,12 +580,21 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"</s
|
||||
<string name="revanced_hide_download_button_title">Ocultar descarga</string>
|
||||
<string name="revanced_hide_download_button_summary_on">El botón de descarga está oculto</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Se muestra el botón de descarga</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Ocultar Hype</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">El botón Hype está oculto</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">El botón de hype está visible</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Ocultar pestaña \'Promocionar\'</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">El botón de Promocionar está oculto</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">El botón de Promocionar está visible</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Ocultar Gracias</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">El botón de gracias está oculto</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Se muestra el botón de gracias</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Ocultar pregunta</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">El botón \"Preguntar\" está oculto</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Se muestra el botón \"Preguntar\"</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ See funktsioon on saadaval ainult vanemates seadmetes"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialoog kuvatakse</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">See ei mööda vanusepiirangust. See lihtsalt aktsepteerib seda automaatselt.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Keela telerisse sisselogimise hüpikaken</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Telerisse sisselogimise hüpikaken on keelatud</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Telerisse sisselogimise hüpikaken on lubatud</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Keela topeltpuudutusega peatüki vahelejätmine</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Topeltpuudutus ei saa kunagi käivitada järgmise/eelmise peatüki vahelejätmist</string>
|
||||
@@ -563,7 +568,7 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"</st
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Peata reklaamide nupp on peidetud</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Peata reklaamide nupp on nähtav</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Peida Teata</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Teata nupp on peidetud</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Teata nupp on nähtav</string>
|
||||
@@ -575,12 +580,21 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"</st
|
||||
<string name="revanced_hide_download_button_title">Peida Laadi alla</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Laadi alla nupp on peidetud</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Laadi alla nupp on nähtav</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Peida Hype</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Hype nupp on peidetud</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Hype\'i nupp on nähtav</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Peida reklaam</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Reklaami nupp on peidetud</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Reklaami nupp on nähtav</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Peida Tänan</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Tänan nupp on peidetud</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Tänan nupp on nähtav</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Peida küsi</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Küsi nupp on peidetud</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Küsi nupp on nähtav</string>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -114,6 +114,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -131,12 +133,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -452,6 +452,8 @@ Tämä ominaisuus on käytettävissä vain vanhemmilla laitteilla"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Valintaikkuna näytetään</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Tämä ei ohita ikärajoitusta. Se vain hyväksyy sen automaattisesti.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Poista videon osan ohittaminen kaksoisnapauttamalla käytöstä</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Kaksoisnapautus ei voi koskaan aiheuttaa siirtymistä videon seuraavaan/edelliseen osaan</string>
|
||||
@@ -563,7 +565,7 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Estä mainokset -painike on piilotettu</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Estä mainokset -painike näytetään</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Piilota Tee ilmoitus</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Tee ilmoitus -painike on piilotettu</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Tee ilmoitus -painike näytetään</string>
|
||||
@@ -575,12 +577,21 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu
|
||||
<string name="revanced_hide_download_button_title">Piilota Lataa</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Lataa-painike on piilotettu</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Lataa-painike näytetään</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Piilota Hypetä</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Hypetä-painike on piilotettu</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Hypetä-painike näytetään</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Piilota Mainosta</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Mainosta-painike on piilotettu</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Mainosta-painike näytetään</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Piilota Kiitos</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Kiitos-painike on piilotettu</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Kiitos-painike näytetään</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Piilota Ask</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Ask-painike on piilotettu</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Ask-painike näytetään</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ Ang tampok na ito ay magagamit lamang para sa mga mas lumang device"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Ipapakita ang dialog</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Hindi nito nilalampasan ang paghihigpit sa edad. Awtomatiko lang itong tinatanggap.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Huwag paganahin ang popup ng Pag-sign in sa TV</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Hindi pinagana ang popup ng Pag-sign in sa TV</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Pinagana ang popup ng Pag-sign in sa TV</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Huwag paganahin ang paglaktaw ng kabanata sa doble tap</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Ang doble tap ay hindi kailanman maaaring mag-trigger ng paglaktaw sa susunod/nakaraang kabanata</string>
|
||||
@@ -563,7 +568,7 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Nakatago ang button ng pagtigil sa mga ad</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Napakita ang button ng pagtigil sa mga ad</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Itago ang Ulat</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Nakatago ang button ng ulat</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Ang pindutan ng ulat ay ipinapakita</string>
|
||||
@@ -575,12 +580,21 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc
|
||||
<string name="revanced_hide_download_button_title">Itago ang Download</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Nakatago ang button sa pag-download</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Ang pindutan ng pag-download ay ipinapakita</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Itago ang Ingay</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Nakatago ang hype button</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Ipinapakita ang Hype button</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Itago ang I-promote</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Nakatago ang button na Promote</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Nakikita ang button na Promote</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Itago Salamat</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Nakatago ang buton ng salamat</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Ang pindutan ng salamat ay ipinapakita</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Itago ang Tanong</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Nakatago ang button na Tanong</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Ipinapakita ang button na Tanong</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ Cette fonctionnalité est disponible uniquement pour les appareils anciens"</str
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Le message sera affiché</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Cette option ne contourne pas la vérification de l\'âge. Elle est juste confirmée automatiquement.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Désactiver le pop-up \"Connectez-vous à la TV\"</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Le pop-up \"Connectez-vous à la TV\" est désactivé</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Le pop-up \"Connectez-vous à la TV\" est activé</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Désactiver le double appui pour passer à un chapitre</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Le double appui ne peut jamais déclencher de saut vers le chapitre suivant/précédent</string>
|
||||
@@ -563,7 +568,7 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"</st
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Le bouton Zéro annonce est masqué</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Le bouton Zéro annonce est affiché</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Masquer \"Signaler\"</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Le bouton Signaler est masqué</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Le bouton Signaler est affiché</string>
|
||||
@@ -575,12 +580,21 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"</st
|
||||
<string name="revanced_hide_download_button_title">Masquer \"Télécharger\"</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Le bouton Télécharger est masqué</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Le bouton Télécharger est affiché</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Masquer \"Booster\"</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Le bouton Booster est masqué</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Le bouton Booster est affiché</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Masquer \"Promouvoir\"</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Le bouton Promouvoir est masqué</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Le bouton Promouvoir est affiché</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Masquer \"Merci\"</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Le bouton Merci est masqué</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Le bouton Merci est affiché</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Masquer \"Demander\"</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Le bouton Demander est masqué</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Le bouton Demander est affiché</string>
|
||||
|
||||
@@ -24,10 +24,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_check_environment_failed_title">Theip ar sheiceálacha</string>
|
||||
<string name="revanced_check_environment_dialog_open_official_source_button">Oscailt láithreán gréasáin oifigiúil</string>
|
||||
<string name="revanced_check_environment_dialog_ignore_button">Neamhaird</string>
|
||||
<string name="revanced_check_environment_failed_message"><h5>Ní cosúil gur tusa a rinne paiste ar an aip seo.</h5><br>B’fhéidir nach bhfeidhmeoidh an aip seo i gceart, <b>agus d’fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>.
|
||||
Tugann na seiceálacha seo le fios go bhfuil an aip seo patáilte roimh ré nó gur thángthas uirthi ó dhuine eile:
|
||||
<br><br><small>%1$s</small><br> <b>
|
||||
Moltar go láidir duit an aip seo a dhíshuiteáil agus í a phaisteáil leat féin</b> chun a chinntiú go bhfuil tú ag úsáid aip bailíochtaithe agus slán.<p><br>Mura ndéanann tú aird ar an rabhadh seo, ní thaispeánfar é ach faoi dhó.</string>
|
||||
<string name="revanced_check_environment_failed_message"><h5>Ní cosúil gur tusa a rinne paiste ar an aip seo.</h5><br>B’fhéidir nach bhfeidhmeoidh an aip seo i gceart, <b>agus d’fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>.Tugann na seiceálacha seo le fios go bhfuil an aip seo patáilte roimh ré nó gur thángthas uirthi ó dhuine eile:<br><br><small>%1$s</small><br> <b>Moltar go láidir duit an aip seo a dhíshuiteáil agus í a phaisteáil leat féin</b> chun a chinntiú go bhfuil tú ag úsáid aip bailíochtaithe agus slán.<p><br>Mura ndéanann tú aird ar an rabhadh seo, ní thaispeánfar é ach faoi dhó.</string>
|
||||
<string name="revanced_check_environment_not_same_patching_device">Paisteáilte ar ghléas eile</string>
|
||||
<string name="revanced_check_environment_manager_not_expected_installer">Gan a bheith suiteáilte ag ReVanced Manager</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time">Paisteáilte níos mó ná 10 nóiméad ó shin</string>
|
||||
@@ -130,15 +127,15 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp
|
||||
<string name="revanced_debug_stacktrace_summary_on">Cuimsíonn logaí dífhabhtaithe rian cruach</string>
|
||||
<string name="revanced_debug_stacktrace_summary_off">Ní chuimsíonn logaí dífhabhtaithe rian cruach</string>
|
||||
<string name="revanced_debug_toast_on_error_title">Taispeáin tósta ar earráid ReVanced</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_on">Taispeántar toast má tharlaíonn earráid</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_off">Ní thaispeántar toast má tharlaíonn earráid</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_on">Taispeántar tósta má tharlaíonn earráid</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_off">Ní thaispeántar tósta má tharlaíonn earráid</string>
|
||||
<string name="revanced_debug_toast_on_error_user_dialog_message">"Má mhúchtar tóstaí earráide, folaítear gach fógra earráide ReVanced.
|
||||
|
||||
Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."</string>
|
||||
<string name="revanced_debug_export_logs_to_clipboard_title">Easpórtáil logaí dífhabhtaithe</string>
|
||||
<string name="revanced_debug_export_logs_to_clipboard_summary">Cóipeálann sé logaí dífhabhtaithe ReVanced chuig an gearrthaisce</string>
|
||||
<string name="revanced_debug_logs_disabled">Tá logáil dífhabhtaithe díchumasaithe</string>
|
||||
<string name="revanced_debug_logs_none_found">Ní bhfuarthas aon loga</string>
|
||||
<string name="revanced_debug_logs_none_found">Níor aimsíodh aon logaí</string>
|
||||
<string name="revanced_debug_logs_copied_to_clipboard">Lógaí cóipeáilte</string>
|
||||
<string name="revanced_debug_logs_failed_to_export">Theip ar logaí a easpórtáil: %s</string>
|
||||
<string name="revanced_debug_logs_clear_buffer_title">Glan logaí dífhabhtaithe</string>
|
||||
@@ -149,10 +146,10 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."</string>
|
||||
<string name="revanced_hide_album_cards_title">Folaigh cártaí albam</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Tá cártaí albam i bhfolach</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">Taispeántar cártaí albam</string>
|
||||
<string name="revanced_hide_artist_cards_title">Folaigh cártaí ealaíontóirí</string>
|
||||
<string name="revanced_hide_artist_cards_title">Folaigh cártaí ealaíontóra</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Tá cártaí ealaíontóirí i bhfolach</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Taispeántar cártaí ealaíonta</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Folaigh an seilf scagairí </string>
|
||||
<string name="revanced_hide_chips_shelf_title">Folaigh seilf sceallóga</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Tá seilf scagairí i bhfolach</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Taispeántar seilf scagairí</string>
|
||||
<string name="revanced_hide_community_posts_title">Folaigh postálacha pobail</string>
|
||||
@@ -164,13 +161,13 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">Folaigh bosca slua-mhaoiniú</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Tá bosca slua-mhaoiniú i bhfolach</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Taispeántar bosca slua-mhaoiniú</string>
|
||||
<string name="revanced_hide_expandable_card_title">Folaigh cárta insínte</string>
|
||||
<string name="revanced_hide_expandable_card_title">Folaigh cárta inleathnaithe</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">Tá cárta insínte faoi fhíseáin i bhfolach</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">Tá cárta insínte faoi fhíseáin le feiceáil</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">Taispeántar cárta inleathnaithe faoi fhíseáin</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">Folaigh an cnaipe micreafón ar snámh</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Cnaipe micreafóin ar snámh sa chuardach i bhfolach</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Tá cnaipe micreafóin ar snámh sa chuardach ar taispeáint</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Folaigh seilfeanna cothromán</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Taispeántar cnaipe micreafóin ar snámh sa chuardach</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Folaigh seilfeanna cothrománacha</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"Tá seilfeanna cothrománacha i bhfolach, amhail:
|
||||
• Nuacht is déanaí
|
||||
• Lean ar aghaidh ag féachaint
|
||||
@@ -178,11 +175,11 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."</string>
|
||||
• Is ábhartha
|
||||
• Siopadóireacht
|
||||
• Féach arís air"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Seilfeanna cothrománacha taispeánta</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Taispeántar seilfeanna cothrománacha</string>
|
||||
<string name="revanced_hide_image_shelf_title">Folaigh seilf íomhá</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Tá seilf íomhá i dtorthaí cuardaigh i bhfolach</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Tá seilf íomhá i dtorthaí cuardaigh le feiceáil</string>
|
||||
<string name="revanced_hide_latest_posts_title">Folaigh na postanna is déanaí</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Taispeántar seilf íomhánna i dtorthaí cuardaigh</string>
|
||||
<string name="revanced_hide_latest_posts_title">Folaigh na poist is déanaí</string>
|
||||
<string name="revanced_hide_latest_posts_summary_on">Tá postanna is déanaí i bhfolach</string>
|
||||
<string name="revanced_hide_latest_posts_summary_off">Taispeántar na postálacha is déanaí</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Folaigh seinmliostaí meascán</string>
|
||||
@@ -455,6 +452,11 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Taispeánfar dialóg</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Ní sheachnaíonn sé seo an srian aoise. Ní ghlacann sé leis go huathoibríoch.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Díchumasaigh an Aníos Sínigh Isteach sa Teilifís</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Tá an Aníos Sínigh Isteach sa Teilifís díchumasaithe</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Tá an Aníos Sínigh Isteach sa Teilifís cumasaithe</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Díchumasaigh scipeáil caibidle le sconna dúbailte</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Ní féidir le sconna dúbailte scipeáil chuig an gcéad chaibidil eile/roimhe seo a spreagadh go deo</string>
|
||||
@@ -566,7 +568,7 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Tá cnaipe stad fógraí i bhfolach</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Tá cnaipe stad fógraí taispeánta</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Folaigh Tuairisc</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Tá an cnaipe tuairisce i bhfolach</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Taispeántar an cnaipe tuairisce</string>
|
||||
@@ -578,12 +580,21 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile
|
||||
<string name="revanced_hide_download_button_title">Folaigh Íoslódáil</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Tá an cnaipe íosluchtaithe i bhfolach</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Taispeántar cnaipe íoslódáil</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Folaigh Borradh</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Tá cnaipe an Hype i bhfolach</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Tá an cnaipe Hype ar taispeáint</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Folaigh Cur Chun Cinn</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Tá an cnaipe Cur Chun Cinn folaithe</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Tá an cnaipe Cur Chun Cinn taispeánta</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Folaigh Go raibh maith agat</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Tá cnaipe buíochas i bhfolach</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Taispeántar cnaipe buíochas</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Folaigh Fiafraigh</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Tá cnaipe Fiafraigh i bhfolach</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Taispeántar cnaipe Fiafraigh</string>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -452,6 +452,11 @@ Ez a funkció csak régebbi eszközökön érhető el"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">A párbeszédpanel megjelenik</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Ez nem kerüli meg a korhatárt, csak automatikusan elfogadja.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">TV-bejelentkezési előugró ablak letiltása</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">A TV-bejelentkezési előugró ablak le van tiltva</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">A TV-bejelentkezési előugró ablak engedélyezve van</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Dupla koppintásos fejezetátugrás letiltása</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">A dupla koppintás soha nem indíthatja el a következő/előző fejezetre való ugrást</string>
|
||||
@@ -563,7 +568,7 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"</st
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">A hirdetésleállítás gomb rejtett</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">A hirdetésleállítás gomb látható</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Bejelentés elrejtése</string>
|
||||
<string name="revanced_hide_report_button_summary_on">A bejelentés gomb el van rejtve</string>
|
||||
<string name="revanced_hide_report_button_summary_off">A bejelentés gomb látható</string>
|
||||
@@ -575,12 +580,21 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"</st
|
||||
<string name="revanced_hide_download_button_title">Letöltés elrejtése</string>
|
||||
<string name="revanced_hide_download_button_summary_on">A letöltés gomb el van rejtve</string>
|
||||
<string name="revanced_hide_download_button_summary_off">A letöltés gomb látható</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Aktivitás elrejtése</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">A Hype gomb rejtett</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">A hype gomb látható</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Promóció elrejtése</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">A promóció gomb el van rejtve</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">A promóció gomb látható</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Köszönet elrejtése</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">A köszönet gomb el van rejtve</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">A köszönet gomb látható</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Ask elrejtése</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Az Ask gomb el van rejtve</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Az Ask gomb látható</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Զրույցը կցուցադրվի</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Սա չի խուսափում տարիքային սահմանափակումից։ Այն պարզապես ավտոմատ կերպով ընդունում է այն։</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Անջատել հեռուստացույց մուտքի պատուհանը</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Հեռուստացույց մուտքի պատուհանն անջատված է</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Հեռուստացույց մուտքի պատուհանը միացված է</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Անջատել կրկնակի հպումով գլուխը բաց թողնելը</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Կրկնակի հպումը երբեք չի կարող առաջացնել հաջորդ/նախորդ գլուխն անցնելը</string>
|
||||
@@ -563,7 +568,7 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Գովազդները դադարեցնելու կոճակը թաքցված է</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Գովազդները դադարեցնելու կոճակը ցուցադրված է</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Թաքցնել Report</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Report կոճակը թաքցված է</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Report կոճակը ցուցադրվում է</string>
|
||||
@@ -575,12 +580,21 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
|
||||
<string name="revanced_hide_download_button_title">Թաքցնել Download</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Download կոճակը թաքցված է</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Download կոճակը ցուցադրվում է</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Թաքցնել Հայփը</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Հայփ կոճակը թաքնված է</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Հայփ կոճակը ցուցադրվում է</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Թաքցնել Գովազդը</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Խթանել կոճակը թաքնված է</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Խթանել կոճակը ցուցադրված է</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Թաքցնել Thanks</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Thanks կոճակը թաքցված է</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Thanks կոճակը ցուցադրվում է</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Թաքցնել հարցումը</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Հարցման կոճակը թաքցված է</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Հարցման կոճակը երևում է</string>
|
||||
|
||||
@@ -452,6 +452,11 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog akan ditampilkan</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Ini tidak mengabaikan batasan usia. Ini hanya menerimanya secara otomatis.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Nonaktifkan pop-up Masuk ke TV</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Pop-up Masuk ke TV dinonaktifkan</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Pop-up Masuk ke TV diaktifkan</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Nonaktifkan lewati bab dengan ketuk dua kali</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Ketuk dua kali tidak akan pernah memicu lewati ke bab berikutnya/sebelumnya</string>
|
||||
@@ -563,7 +568,7 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"</string
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Tombol hentikan iklan disembunyikan</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Tombol hentikan iklan ditampilkan</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Sembunyikan Laporkan</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Tombol laporkan disembunyikan</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Tombol laporkan ditampilkan</string>
|
||||
@@ -575,12 +580,21 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"</string
|
||||
<string name="revanced_hide_download_button_title">Sembunyikan Unduhan</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Tombol unduh disembunyikan</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Tombol unduh ditampilkan</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Sembunyikan Hype</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Tombol Hype disembunyikan</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Tombol Hype ditampilkan</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Sembunyikan Promosi</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Tombol Promosi disembunyikan</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Tombol Promosi ditampilkan</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Sembunyikan Terima kasih</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Tombol terima kasih disembunyikan</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Tombol terima kasih ditampilkan</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Sembunyikan Tanya</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Tombol Tanya disembunyikan</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Tombol Tanya ditampilkan</string>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -452,6 +452,11 @@ Questa funzione è disponibile solo per i dispositivi più vecchi"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">La finestra di dialogo verrà mostrata </string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Questo non aggira la restrizione di età. Lo accetta solo automaticamente.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">Disabilita il popup \"Accedi alla TV\"</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">Il popup \"Accedi alla TV\" è disabilitato</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">Il popup \"Accedi alla TV\" è abilitato</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Disabilita salto capitolo con doppio tocco</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Il doppio tocco non può mai attivare il salto al capitolo successivo/precedente</string>
|
||||
@@ -563,7 +568,7 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo"</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">Il pulsante per interrompere gli annunci è nascosto</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">Il pulsante per interrompere gli annunci è mostrato</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">Nascondi Segnala</string>
|
||||
<string name="revanced_hide_report_button_summary_on">Il pulsante Segnala è nascosto</string>
|
||||
<string name="revanced_hide_report_button_summary_off">Il pulsante Segnala è visibile</string>
|
||||
@@ -575,12 +580,21 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo"</string>
|
||||
<string name="revanced_hide_download_button_title">Nascondi Scarica</string>
|
||||
<string name="revanced_hide_download_button_summary_on">Il pulsante Scarica è nascosto</string>
|
||||
<string name="revanced_hide_download_button_summary_off">Il pulsante Scarica è visibile</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">Nascondi Hype</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">Il pulsante Hype è nascosto</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">Pulsante Hype è mostrato</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">Nascondi Promuovi</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">Il pulsante Promuovi è nascosto</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">Il pulsante Promuovi è mostrato</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Nascondi Grazie</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Grazie pulsante è nascosto</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Il pulsante Grazie è visibile</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">Nascondi richiesta</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">Il pulsante Richiedi è nascosto</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">Il pulsante Richiedi è visibile</string>
|
||||
|
||||
@@ -33,12 +33,12 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
<string name="revanced_settings_submenu_title">הגדרות</string>
|
||||
<string name="revanced_settings_confirm_user_dialog_title">האם בטוח שברצונך להמשיך?</string>
|
||||
<string name="revanced_settings_confirm_user_dialog_title">האם אתה בטוח שברצונך להמשיך?</string>
|
||||
<string name="revanced_settings_reset">איפוס</string>
|
||||
<string name="revanced_settings_reset_color">אפס צבע</string>
|
||||
<string name="revanced_settings_color_invalid">צבע לא חוקי</string>
|
||||
<string name="revanced_settings_restart_title">יש להפעיל מחדש</string>
|
||||
<string name="revanced_settings_restart_dialog_message">יש להפעיל מחדש את האפליקציה כדי שהשינוי ישפיע.</string>
|
||||
<string name="revanced_settings_restart_title">נדרשת הפעלה מחדש</string>
|
||||
<string name="revanced_settings_restart_dialog_message">יש להפעיל מחדש את היישום כדי שהשינוי ייכנס לתוקף.</string>
|
||||
<string name="revanced_settings_restart">הפעלה מחדש</string>
|
||||
<string name="revanced_settings_import">ייבוא</string>
|
||||
<string name="revanced_settings_import_copy">העתק</string>
|
||||
@@ -137,7 +137,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_debug_logs_disabled">תיעוד איתור באגים מושבת</string>
|
||||
<string name="revanced_debug_logs_none_found">לא נמצאו יומנים</string>
|
||||
<string name="revanced_debug_logs_copied_to_clipboard">היומנים הועתקו</string>
|
||||
<string name="revanced_debug_logs_failed_to_export">נכשל ייצוא יומנים: %s</string>
|
||||
<string name="revanced_debug_logs_failed_to_export">נכשל לייצא יומנים: %s</string>
|
||||
<string name="revanced_debug_logs_clear_buffer_title">נקה יומני איתור באגים</string>
|
||||
<string name="revanced_debug_logs_clear_buffer_summary">מנקה את כל היומנים לאיתור באגים של Revanced המאוחסנים</string>
|
||||
<string name="revanced_debug_logs_clear_toast">היומנים נוקו</string>
|
||||
@@ -161,21 +161,21 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_crowdfunding_box_title">הסתר תיבת מימון המונים</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">תיבת מימון המונים מוסתרת</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">תיבת מימון המונים מוצגת</string>
|
||||
<string name="revanced_hide_expandable_card_title">הסתר כרטיס מתרחב</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">כרטיס מתרחב מתחת לסרטונים מוסתר</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">כרטיס מתרחב מתחת לסרטונים מוצג</string>
|
||||
<string name="revanced_hide_expandable_card_title">הסתר כרטיס הניתן להרחבה</string>
|
||||
<string name="revanced_hide_expandable_card_summary_on">כרטיס הניתן להרחבה מתחת לסרטונים מוסתר</string>
|
||||
<string name="revanced_hide_expandable_card_summary_off">כרטיס הניתן להרחבה מתחת לסרטונים מוצג</string>
|
||||
<string name="revanced_hide_floating_microphone_button_title">הסתר לחצן מיקרופון צף</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">כפתור מיקרופון צף בחיפוש מוסתר</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">כפתור מיקרופון צף בחיפוש מוצג</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">לחצן מיקרופון צף בחיפוש מוסתר</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">לחצן מיקרופון צף בחיפוש מוצג</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">הסתר מדפים אופקיים</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">"מדפים אופקיים מוסתרים, כגון:
|
||||
• חדשות חמות
|
||||
• מבזקי חדשות
|
||||
• המשך צפייה
|
||||
• חקור עוד ערוצים
|
||||
• הרלוונטיים ביותר
|
||||
• גלה עוד ערוצים
|
||||
• רלוונטיות
|
||||
• קניות
|
||||
• צפה שוב"</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">מוצגים מדפים אופקיים</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">מדפים אופקיים מוצגים</string>
|
||||
<string name="revanced_hide_image_shelf_title">הסתר מדף תמונות</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">מדף תמונות בתוצאות חיפוש מוסתר</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">מדף תמונות בתוצאות חיפוש מוצג</string>
|
||||
@@ -191,30 +191,30 @@ Second \"item\" text"</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the Subscriptions feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">הסתר לחצן \'אני רוצה לקבל התראה\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">כפתור \'הודע לי\' מוסתר</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">כפתור \"הודע לי\" מוצג</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">הלחצן \'הודע לי\' מוסתר</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">הלחצן \'הודע לי\' מוצג</string>
|
||||
<string name="revanced_hide_playables_title">הסתר משחקייה</string>
|
||||
<string name="revanced_hide_playables_summary_on">המשחקייה מוסתרת</string>
|
||||
<string name="revanced_hide_playables_summary_off">המשחקייה מוצגת</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">הסתר לחצן \'הצג עוד\'</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">כפתור \"הצג עוד\" בתוצאות חיפוש מוסתר</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">כפתור הצג עוד בתוצאות החיפוש מוצג</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">הלחצן \'הצג עוד\' בתוצאות חיפוש מוסתר</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">הלחצן \'הצג עוד\' בתוצאות החיפוש מוצג</string>
|
||||
<string name="revanced_hide_surveys_title">הסתר סקרים</string>
|
||||
<string name="revanced_hide_surveys_summary_on">סקרים מוסתרים</string>
|
||||
<string name="revanced_hide_surveys_summary_off">סקרים מוצגים</string>
|
||||
<string name="revanced_hide_surveys_summary_on">הסקרים מוסתרים</string>
|
||||
<string name="revanced_hide_surveys_summary_off">הסקרים מוצגים</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">הסתר מדף כרטיסים</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">מדף כרטיסים מוסתר</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">מדף כרטיסים מוצג</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">הסתר תוויות המלצות וידאו</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on"> בתוצאות החיפוש מוסתרות</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">תוויות \"אנשים גם צפו\" ו\"אולי תאהב גם\" בתוצאות חיפוש מוצגות</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_title">הסתר תוויות המלצות סרטונים</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">התוויות \'אנשים גם צפו\' ו\'אולי תאהב גם\' בתוצאות החיפוש מוסתרות</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">התוויות \'אנשים גם צפו\' ו\'אולי תאהב גם\' בתוצאות חיפוש מוצגות</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">הסתר YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">אנימציית Doodles של YouTube על הלוגו מוסתרת</string>
|
||||
<string name="revanced_hide_doodles_summary_off">אנימציית YouTube Doodles על הלוגו מוצגת</string>
|
||||
<string name="revanced_hide_doodles_summary_on">הנפשת YouTube Doodles על הלוגו מוסתרת</string>
|
||||
<string name="revanced_hide_doodles_summary_off">הנפשת YouTube Doodles על הלוגו מוצגת</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"שרבוטים (Doodles) של YouTube מוצגים למשך כמה ימים בכל שנה.
|
||||
|
||||
אם Doodle מוצג כרגע באזור שלך והגדרת ההסתרה הזו מופעלת, אז גם סרגל הסינון שמתחת לסרגל החיפוש יוסתר."</string>
|
||||
@@ -233,8 +233,8 @@ Second \"item\" text"</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">הסתר לחצן להצטרפות</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">כפתור \'הצטרף\' מוסתר</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">כפתור הצטרפות מוצג</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">לחצן הצטרפות מוסתר</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">לחצן הצטרפות מוצג</string>
|
||||
<string name="revanced_hide_medical_panels_title">הסתר לוחות רפואיים</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">לוחות רפואיים מוסתרים</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">לוחות רפואיים מוצגים</string>
|
||||
@@ -251,8 +251,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">תגובות באמוג\'י מתוזמנות מוסתרות</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">תגובות באמוג\'י מתוזמנות מוצגות</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">הסתר את \'סיכום הווידאו שנוצר על ידי בינה מלאכותית\'</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">קטע סיכום וידאו שנוצר על ידי בינה מלאכותית מוסתר</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">קטע סיכום וידאו שנוצר על ידי AI מוצג</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">קטע סיכום סרטון הנוצר על ידי AI מוסתר</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">קטע סיכום סרטון הנוצר על ידי AI מוצג</string>
|
||||
<string name="revanced_hide_ask_section_title">הסתר Ask</string>
|
||||
<string name="revanced_hide_ask_section_summary_on">מדור Ask מוסתר</string>
|
||||
<string name="revanced_hide_ask_section_summary_off">מדור Ask מוצג</string>
|
||||
@@ -280,7 +280,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_description_components_screen_title">תיאור סרטון</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">הסתר או הצג רכיבי תיאור סרטון</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">סרגל סינון</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">הסתר או הצג את סרגל הסינון בפידים, סרטונים קשורים, תוצאות חיפוש והיסטוריית צפייה</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">הסתר או הצג את סרגל הסינון בפידים, סרטונים קשורים, תוצאות חיפוש, והיסטוריית צפייה</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">הסתר בפידים</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">מוסתר בפידים</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">מוצג בפידים</string>
|
||||
@@ -297,8 +297,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_channel_screen_summary">הסתר או הצג רכיבי דף ערוץ</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">הסתר מדף \'בשבילך\'</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">מדף \"בשבילך\" מוסתר</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">מדף \"בשבילך\" מוצג</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">המדף \'בשבילך\' מוסתר</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">המדף \'בשבילך\' מוצג</string>
|
||||
<string name="revanced_hide_links_preview_title">הסתר תצוגה מקדימה של קישורים</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">תצוגה מקדימה של קישורים מוסתרת</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">תצוגה מקדימה של קישורים מוצגת</string>
|
||||
@@ -306,21 +306,21 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">מדף חברים מוסתר</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">מדף חברים מוצג</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">הסתר את הלחצן \"בקר בקהילה\"</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">לחצן \"בקר בקהילה\" מוסתר</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">כפתור \"בקר בקהילה\" מוצג</string>
|
||||
<string name="revanced_hide_visit_community_button_title">הסתר את הלחצן \'מעבר לקהילה\'</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">הלחצן \'מעבר לקהילה\' מוסתר</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">הלחצן \'מעבר לקהילה\' מוצג</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">הסתר לחצן \'בקר בחנות\'</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">כפתור \"בקר בחנות\" מוסתר</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">כפתור \"בקר בחנות\" מוצג</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">הלחצן \'בקר בחנות\' מוסתר</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">הלחצן \'בקר בחנות\' מוצג</string>
|
||||
<string name="revanced_comments_screen_title">תגובות</string>
|
||||
<string name="revanced_comments_screen_summary">הסתר או הצג רכיבי מדור תגובות</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">הסתר סיכום צ\'אט בינה מלאכותית</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">סיכום צ\'אט בינה מלאכותית מוסתר</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">סיכום צ\'אט בינה מלאכותית מוצג</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">הסתר סיכום AI של צ\'אט</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">סיכום AI של צ\'אט מוסתר</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">סיכום AI של צ\'אט מוצג</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">הסתר סיכום תגובות AI</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">סיכום תגובות בינה מלאכותית מוסתר</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">סיכום תגובות בינה מלאכותית מוצג</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">סיכום AI של תגובות מוסתר</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">סיכום AI של תגובות מוצג</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">הסתר הנחיות ערוץ</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">הנחיות הערוץ מוסתרות</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">הנחיות הערוץ מוצגות</string>
|
||||
@@ -392,10 +392,10 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="ad.general.hideAdsResourcePatch">
|
||||
<string name="revanced_hide_creator_store_shelf_title">הסתר מדף חנות היוצר</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">מדף חנות היוצר מתחת לנגן הווידאו מוסתר</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">מדף חנות היוצר מתחת לנגן הווידאו מוצג</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_on">מדף חנות היוצר מתחת לנגן הוידאו מוסתר</string>
|
||||
<string name="revanced_hide_creator_store_shelf_summary_off">מדף חנות היוצר מתחת לנגן הוידאו מוצג</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_title">הסתר כרזת חנות של מסך סיום</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">באנר חנות מסך סיום מוסתר</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_on">באנר החנות של מסך סיום מוסתר</string>
|
||||
<string name="revanced_hide_end_screen_store_banner_summary_off">באנר החנות של מסך הסיום מוצג</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">הסתר מודעות מסך מלא</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">"מודעות במסך מלא מוסתרות
|
||||
@@ -419,8 +419,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shopping_links_title">הסתר קישורי קניות</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">קישורי קניות בתיאור הסרטון מוסתרים</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">קישורי קניות בתיאור הסרטון מוצגים</string>
|
||||
<string name="revanced_hide_view_products_banner_title">הסתר באנר \'צפה במוצרים\'</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">באנר הצגת המוצרים בשכבת-על של הווידאו מוסתר</string>
|
||||
<string name="revanced_hide_view_products_banner_title">הסתר באנר צפייה במוצרים</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">באנר צפייה במוצרים בשכבת-על של וידאו מוסתר</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">באנר צפייה במוצרים בשכבת-על של וידאו מוצג</string>
|
||||
<string name="revanced_hide_web_search_results_title">הסתר תוצאות חיפוש באינטרנט</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">תוצאות חיפוש באינטרנט מוסתרות</string>
|
||||
@@ -452,10 +452,15 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">דו-שיח יוצג</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">זה לא עוקף את מגבלת הגיל. זה רק מסכים לזה באופן אוטומטי.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">השבת חלון קופץ של כניסה לטלוויזיה</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">חלון קופץ של כניסה לטלוויזיה מושבת</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">חלון קופץ של כניסה לטלוויזיה מופעל</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">ביטול דילוג פרקים בלחיצה כפולה</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">לחיצה כפולה לעולם לא תפעיל דילוג לפרק הבא/הקודם</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">לחיצה כפולה יכולה להפעיל מדי פעם דילוג לפרק הבא/הקודם</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">השבת דילוג פרקים בהקשה כפולה</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">הקשה כפולה לעולם לא יכולה לגרום דילוג לפרק הבא/הקודם</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">הקשה כפולה יכולה לגרום מדי פעם דילוג לפרק הבא/הקודם</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">הורדות חיצוניות</string>
|
||||
@@ -468,14 +473,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">לחצן ההורדה פותח את המוריד החיצוני שלך</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">לחצן ההורדה פותח את המוריד המקומי בתוך היישום</string>
|
||||
<string name="revanced_external_downloader_name_title">שם חבילת מוריד</string>
|
||||
<string name="revanced_external_downloader_name_summary">שם חבילה של אפליקציית ההורדה החיצונית המותקנת שלך</string>
|
||||
<string name="revanced_external_downloader_name_summary">שם החבילה של יישום ההורדות החיצוני המותקן שלך</string>
|
||||
<string name="revanced_external_downloader_other_item_hint">הזן את שם החבילה</string>
|
||||
<string name="revanced_external_downloader_other_item">אחר</string>
|
||||
<string name="revanced_external_downloader_not_found_title">האפליקציה לא מותקנת</string>
|
||||
<string name="revanced_external_downloader_not_found_title">היישום לא מותקן</string>
|
||||
<string name="revanced_external_downloader_not_installed_warning">%s אינו מותקן. נא להתקין אותו.</string>
|
||||
<string name="revanced_external_downloader_package_not_found_warning">"לא ניתן למצוא אפליקציה מותקנת עם שם החבילה: %s
|
||||
<string name="revanced_external_downloader_package_not_found_warning">"לא ניתן למצוא יישום מותקן עם שם חבילה: %s
|
||||
|
||||
ודא/י ששם החבילה נכון ושהאפליקציה מותקנת"</string>
|
||||
יש לוודא ששם החבילה נכון ושהיישום מותקן"</string>
|
||||
<string name="revanced_external_downloader_empty_warning">שם החבילה אינו יכול להיות ריק</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
|
||||
@@ -559,11 +564,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_share_button_summary_on">לחצן שיתוף מוסתר</string>
|
||||
<string name="revanced_hide_share_button_summary_off">לחצן שיתוף מוצג</string>
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_stop_ads_button_title">הסתר עצור מודעות</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">כפתור עצירת הפרסומות מוסתר</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">כפתור עצירת הפרסומות מוצג</string>
|
||||
<string name="revanced_hide_stop_ads_button_title">הסתר עצירת מודעות</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">לחצן עצירת מודעות מוסתר</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">לחצן עצירת מודעות מוצג</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">הסתר דיווח</string>
|
||||
<string name="revanced_hide_report_button_summary_on">לחצן דיווח מוסתר</string>
|
||||
<string name="revanced_hide_report_button_summary_off">לחצן דיווח מוצג</string>
|
||||
@@ -575,12 +580,21 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_download_button_title">הסתר הורדה</string>
|
||||
<string name="revanced_hide_download_button_summary_on">לחצן הורדה מוסתר</string>
|
||||
<string name="revanced_hide_download_button_summary_off">לחצן הורדה מוצג</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">הסתר באז</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">לחצן באז מוסתר</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">לחצן באז מוצג</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">הסתר קידום</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">הלחצן \'קידום\' מוסתר</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">הלחצן \'קידום\' מוצג</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">הסתר תודה</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">לחצן תודה מוסתר</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">לחצן תודה מוצג</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">הסתר Ask</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">לחצן Ask מוסתר</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">לחצן Ask מוצג</string>
|
||||
@@ -589,9 +603,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_clip_button_summary_on">לחצן קליפ מוסתר</string>
|
||||
<string name="revanced_hide_clip_button_summary_off">לחצן קליפ מוצג</string>
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_save_button_title">הסתר שמירה</string>
|
||||
<string name="revanced_hide_save_button_summary_on">כפתור השמירה מוסתר</string>
|
||||
<string name="revanced_hide_save_button_summary_off">כפתור השמירה מוצג</string>
|
||||
<string name="revanced_hide_save_button_title">הסתר \'שמירה\'</string>
|
||||
<string name="revanced_hide_save_button_summary_on">הלחצן \'שמירה\' מוסתר</string>
|
||||
<string name="revanced_hide_save_button_summary_off">הלחצן שמירה\' מוצג</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.navigationButtonsPatch">
|
||||
<string name="revanced_navigation_buttons_screen_title">לחצני ניווט</string>
|
||||
@@ -693,9 +707,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_player_flyout_watch_in_vr_title">הסתר \'צפה ב-VR\'</string>
|
||||
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">תפריט \'צפה ב-VR\' מוסתר</string>
|
||||
<string name="revanced_hide_player_flyout_watch_in_vr_summary_off">תפריט \'צפה ב-VR\' מוצג</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_title">הסתר תפריט איכות וידאו</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_summary_on">תפריט איכות הסרטון מוסתר</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_summary_off">תפריט איכות הסרטון מוצג</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_title">הסתר תפריט איכות סרטון</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_summary_on">תפריט איכות סרטון מוסתר</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_summary_off">תפריט איכות סרטון מוצג</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_title">הסתר כותרת תחתונה של תפריט איכות סרטון</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_on">כותרת תחתונה של תפריט איכות סרטון מוסתרת</string>
|
||||
<string name="revanced_hide_player_flyout_video_quality_footer_summary_off">כותרת תחתונה של תפריט איכות סרטון מוצגת</string>
|
||||
@@ -711,7 +725,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_cast_button_title">הסתר לחצן העברה</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">לחצן העברה מוסתר</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">לחצן העברה מוצג</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">הסתר רקע פקדי נגן</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">הסתר רקע פקדי הנגן</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">רקע פקדי הנגן מוסתר</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">רקע פקדי הנגן מוצג</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">הסתר לחצני הקודם & הבא</string>
|
||||
@@ -739,20 +753,20 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_off">מספרים מתגלגלים מונפשים</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
<string name="revanced_hide_seekbar_title">הסתר סרגל חיפוש נגן וידאו</string>
|
||||
<string name="revanced_hide_seekbar_title">הסתר סרגל דילוג של נגן וידאו</string>
|
||||
<string name="revanced_hide_seekbar_summary_on">סרגל דילוג של נגן וידאו מוסתר</string>
|
||||
<string name="revanced_hide_seekbar_summary_off">סרגל דילוג של נגן וידאו מוצג</string>
|
||||
<!-- Seekbar shown inside video thumbnails found the home/feed/search/history. The seekbar shows the prior watch progress when the video was last open. -->
|
||||
<string name="revanced_hide_seekbar_thumbnail_title">הסתר סרגל חיפוש תמונות ממוזערות של וידאו</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_on">סרגל חיפוש תמונות ממוזערות של וידאו מוסתר</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_off">סרגל חיפוש תמונות ממוזערות של וידאו מוצג</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_title">הסתר סרגל דילוג עם תמונות ממוזערות של סרטון</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_on">סרגל דילוג עם תמונות ממוזערות של סרטון מוסתר</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_off">סרגל דילוג עם תמונות ממוזערות של סרטון מוצג</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">נגן Shorts</string>
|
||||
<string name="revanced_shorts_player_screen_summary">הסתר או הצג רכיבי נגן Shorts</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">להסתיר Shorts בפיד הבית</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">מוסתר בפיד הבית וסרטונים קשורים</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">מוסתר בפיד הבית ובסרטונים קשורים</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">מוצג בפיד הבית ובסרטונים קשורים</string>
|
||||
<string name="revanced_hide_shorts_search_title">הסתר Shorts בתוצאות חיפוש</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">מוסתר בתוצאות חיפוש</string>
|
||||
@@ -760,16 +774,16 @@ Second \"item\" text"</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">להסתיר Shorts בפיד המינויים</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">מוסתר בפיד המנויים</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">מוצג בפיד מינויים</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">מוצג בפיד המינויים</string>
|
||||
<string name="revanced_hide_shorts_history_title">הסתר Shorts בהיסטוריית הצפייה</string>
|
||||
<string name="revanced_hide_shorts_history_summary_on">מוסתר בהיסטוריית הצפייה</string>
|
||||
<string name="revanced_hide_shorts_history_summary_off">מוצג בהיסטוריית הצפייה</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">הסתר לחצן קנה סופר תודה</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">כפתור \'קנה תודה רבה\' מוסתר</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">כפתור קניית Super Thanks מוצג</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">הסתר כפתור אפקט</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">כפתור האפקט מוסתר</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">כפתור האפקט מוצג</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">הלחצן \'קנה סופר תודה\' מוסתר</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">הלחצן \'קנה סופר תודה\' מוצג</string>
|
||||
<string name="revanced_hide_shorts_effect_button_title">הסתר לחצן \'אפקט\'</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_on">הלחצן \'אפקט\' מוסתר</string>
|
||||
<string name="revanced_hide_shorts_effect_button_summary_off">הלחצן \'אפקט\' מוצג</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_title">הסתר לחצן מסך ירוק</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_on">לחצן מסך ירוק מוסתר</string>
|
||||
<string name="revanced_hide_shorts_green_screen_button_summary_off">לחצן מסך ירוק מוצג</string>
|
||||
@@ -813,12 +827,12 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">הסתר לחצן \'בקרוב\'</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">לחצן \'בקרוב\' מוסתר</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">לחצן \'בקרוב\' מוצג</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">הסתר את כפתור \"השתמש בצליל זה\"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">כפתור \"השתמש בצליל זה\" מוסתר</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">כפתור \"השתמש בצליל זה\" מוצג</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">הסתר כפתור השתמש בתבנית זו</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">כפתור \"השתמש בתבנית זו\" מוסתר</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">כפתור השתמש בתבנית זו מוצג</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">הסתר לחצן \'השתמש בצליל זה\'</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">הלחצן \'השתמש בצליל זה\' מוסתר</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">הלחצן \'השתמש בצליל זה\' מוצג</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">הסתר לחצן השתמש בתבנית זו</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">הלחצן \'השתמש בתבנית זו\' מוסתר</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">הלחצן \'השתמש בתבנית זו\' מוצג</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">הסתר הנפשת מזרקה של לחצן אהבתי</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_on">הנפשת מזרקה של לחצן אהבתי מוסתרת</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_summary_off">הנפשת מזרקה של לחצן אהבתי מוצגת</string>
|
||||
@@ -852,8 +866,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">כותרת הסרטון מוסתרת</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">כותרת הסרטון מוצגת</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">הסתר תווית מטא-נתונים של סאונד</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">תווית מטא-נתונים של צליל מוסתרת</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">תווית מטא-נתונים של צליל מוצגת</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_on">תווית מטא-נתונים של שמע מוסתרת</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_summary_off">תווית מטא-נתונים של שמע מוצגת</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_title">הסתר תווית קישור לסרטון</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_on">תווית קישור סרטון מוסתרת</string>
|
||||
<string name="revanced_hide_shorts_full_video_link_label_summary_off">תווית קישור סרטון מוצגת</string>
|
||||
@@ -873,7 +887,7 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_videos_overlay_title">הסתר שכבת-על של סרטונים קשורים</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">שכבת-על של סרטונים קשורים במסך מלא מוסתרת</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">שכבת סרטונים קשורים במסך מלא מוצגת</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">שכבת-על של סרטונים קשורים במסך מלא מוצגת</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">הסתר חותמת זמן של סרטון</string>
|
||||
@@ -989,14 +1003,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">לחצן דילוג נעלם לאחר כמה שניות</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">לחצן דילוג מוצג עבור כל המקטע</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">משך לחצן הדילוג</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">כמה זמן להציג את כפתורי הדילוג ודילוג לסימון לפני הסתרה אוטומטית</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">למשך כמה זמן להציג את לחצני הדילוג והדילוג לגולת הכותרת לפני הסתרה אוטומטית</string>
|
||||
<string name="revanced_sb_general_skiptoast">הצג הודעה קופצת לביטול דילוג</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">הודעה קופצת מוצגת כאשר קטע מדולג אוטומטית. הקש על ההודעה הקופצת כדי לבטל את הדילוג</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">הטוסט לא מוצג</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">משך טוסט הדילוג</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">כמה זמן להציג את הודעת \"טוסט\" ביטול הדילוג</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">ההודעה הקופצת אינה מוצגת</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">משך הודעת דילוג קופצת</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">למשך כמה זמן להציג את ההודעה הקופצת לביטול הדילוג</string>
|
||||
<string name="revanced_sb_duration_1s">שנייה אחת</string>
|
||||
<string name="revanced_sb_duration_2s">שתי שניות</string>
|
||||
<string name="revanced_sb_duration_2s">2 שניות</string>
|
||||
<string name="revanced_sb_duration_3s">3 שניות</string>
|
||||
<string name="revanced_sb_duration_4s">4 שניות</string>
|
||||
<string name="revanced_sb_duration_5s">5 שניות</string>
|
||||
@@ -1006,7 +1020,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_sb_duration_9s">9 שניות</string>
|
||||
<string name="revanced_sb_duration_10s">10 שניות</string>
|
||||
<string name="revanced_sb_general_time_without">הצג אורך סרטון ללא מקטעים</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">אורך הסרטון פחות כל המקטעים מוצג על פס הניווט</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">אורך הסרטון פחות כל המקטעים מוצג על סרגל הדילוג</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">אורך סרטון מלא מוצג</string>
|
||||
<string name="revanced_sb_create_segment_category">יוצר מקטעים חדשים</string>
|
||||
<string name="revanced_sb_enable_create_segment">הצג לחצן יצירת מקטע חדש</string>
|
||||
@@ -1339,10 +1353,10 @@ Second \"item\" text"</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">כרטיסיית דף הבית</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">מינויים</string>
|
||||
<string name="revanced_alt_thumbnail_subscription_title">כרטיסיית מינויים</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
<string name="revanced_alt_thumbnail_library_title">כרטיסיית הדף שלי</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">פלייליסטים והמלצות של נגן</string>
|
||||
<string name="revanced_alt_thumbnail_player_title">פלייליסטים & המלצות של נגן</string>
|
||||
<string name="revanced_alt_thumbnail_search_title">תוצאות חיפוש</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_1">תמונות ממוזערות מקוריות</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">תמונות ממוזערות מקוריות & DeArrow</string>
|
||||
@@ -1450,9 +1464,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">זכור שינויי איכות סרטון</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">שינויי איכות חלים על כל הסרטונים</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_off">שינויי איכות חלים רק על הסרטון הנוכחי</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_toast_title">הצג הודעה קופצת בעת שינויים באיכות הווידאו</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_toast_summary_on">מוצגת הודעה קופצת כאשר איכות הווידאו המוגדרת כברירת מחדל משתנה</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_toast_summary_off">הודעה קופצת אינה מוצגת כאשר איכות הווידאו המוגדרת כברירת מחדל משתנה</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_toast_title">הצג הודעה קופצת בעת שינויים באיכות הסרטון</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_toast_summary_on">מוצגת הודעה קופצת כאשר איכות הסרטון ברירת המחדל משתנה</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_toast_summary_off">לא מוצגת הודעה קופצת כאשר איכות הסרטון ברירת המחדל משתנה</string>
|
||||
<string name="revanced_video_quality_default_wifi_title">איכות סרטון ברירת מחדל ברשת אלחוטית</string>
|
||||
<string name="revanced_video_quality_default_mobile_title">איכות סרטון ברירת מחדל ברשת סלולרית</string>
|
||||
<string name="revanced_remember_shorts_quality_last_selected_title">זכור שינויי איכות Shorts</string>
|
||||
@@ -1471,8 +1485,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_playback_speed_dialog_button_summary_off">הלחצן אינו מוצג</string>
|
||||
</patch>
|
||||
<patch id="video.quality.button.videoQualityDialogButtonPatch">
|
||||
<string name="revanced_video_quality_dialog_button_title">הצג כפתור איכות וידאו</string>
|
||||
<string name="revanced_video_quality_dialog_button_summary_on">הלחצן מוצג. גע והחזק כדי לאפס את האיכות לברירת מחדל</string>
|
||||
<string name="revanced_video_quality_dialog_button_title">הצג לחצן איכות סרטון</string>
|
||||
<string name="revanced_video_quality_dialog_button_summary_on">הלחצן מוצג. הקש והחזק כדי לאפס את האיכות לברירת מחדל</string>
|
||||
<string name="revanced_video_quality_dialog_button_summary_off">הלחצן אינו מוצג</string>
|
||||
</patch>
|
||||
<patch id="video.speed.custom.customPlaybackSpeedPatch">
|
||||
@@ -1495,8 +1509,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_remember_playback_speed_last_selected_summary_on">שינויי מהירות הפעלה חלים על כל הסרטונים</string>
|
||||
<string name="revanced_remember_playback_speed_last_selected_summary_off">שינויי מהירות הפעלה חלים רק על הסרטון הנוכחי</string>
|
||||
<string name="revanced_remember_playback_speed_last_selected_toast_title">הצג הודעה קופצת בעת שינויים במהירות ההפעלה</string>
|
||||
<string name="revanced_remember_playback_speed_last_selected_toast_summary_on">מוצגת הודעה קופצת כאשר מהירות ההפעלה המוגדרת כברירת מחדל משתנה</string>
|
||||
<string name="revanced_remember_playback_speed_last_selected_toast_summary_off">הודעה קופצת אינה מוצגת כאשר מהירות ההפעלה המוגדרת כברירת מחדל משתנה</string>
|
||||
<string name="revanced_remember_playback_speed_last_selected_toast_summary_on">מוצגת הודעה קופצת כאשר מהירות ההפעלה ברירת המחדל משתנה</string>
|
||||
<string name="revanced_remember_playback_speed_last_selected_toast_summary_off">לא מוצגת הודעה קוצפת כאשר מהירות ההפעלה ברירת המחדל משתנה</string>
|
||||
<string name="revanced_playback_speed_default_title">מהירות הפעלה ברירת מחדל</string>
|
||||
<string name="revanced_remember_playback_speed_toast">מהירות ברירת המחדל שונתה ל: %s</string>
|
||||
</patch>
|
||||
@@ -1567,7 +1581,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_block_video_ads_summary_off">מודעות סרטון אינן חסומות</string>
|
||||
</patch>
|
||||
<patch id="chat.antidelete.showDeletedMessagesPatch">
|
||||
<string name="revanced_deleted_msg">הודעה נמחקה</string>
|
||||
<string name="revanced_deleted_msg">ההודעה נמחקה</string>
|
||||
<string name="revanced_show_deleted_messages_title">הצג הודעות שנמחקו</string>
|
||||
<string name="revanced_show_deleted_messages_entry_1">אל תציג הודעות שנמחקו</string>
|
||||
<string name="revanced_show_deleted_messages_entry_2">הסתר מודעות שנמחקו מאחורי ספויילר</string>
|
||||
@@ -1588,7 +1602,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_settings">הגדרות ReVanced</string>
|
||||
<string name="revanced_about_title">אודות</string>
|
||||
<string name="revanced_about_summary">אודות ReVanced</string>
|
||||
<string name="revanced_ads_screen_title">חסימת פרסומות</string>
|
||||
<string name="revanced_ads_screen_title">חסימת מודעות</string>
|
||||
<string name="revanced_ads_screen_summary">הגדרות חסימת מודעות</string>
|
||||
<string name="revanced_chat_screen_title">צ\'אט</string>
|
||||
<string name="revanced_chat_screen_summary">הגדרות צ\'אט</string>
|
||||
|
||||
@@ -195,9 +195,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_notify_me_button_title">「通知を受け取る」ボタンを非表示</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">「通知を受け取る」ボタンは表示されません</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">「通知を受け取る」ボタンは表示されます</string>
|
||||
<string name="revanced_hide_playables_title">ゲームを非表示</string>
|
||||
<string name="revanced_hide_playables_summary_on">ゲームは表示されません</string>
|
||||
<string name="revanced_hide_playables_summary_off">ゲームは表示されます</string>
|
||||
<string name="revanced_hide_playables_title">ゲームルームを非表示</string>
|
||||
<string name="revanced_hide_playables_summary_on">ゲームルームは表示されません</string>
|
||||
<string name="revanced_hide_playables_summary_off">ゲームルームは表示されます</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
<string name="revanced_hide_show_more_button_title">「もっと見る」ボタンを非表示</string>
|
||||
@@ -258,7 +258,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_ask_section_title">質問セクションを非表示</string>
|
||||
<string name="revanced_hide_ask_section_summary_on">質問セクションは表示されません</string>
|
||||
<string name="revanced_hide_ask_section_summary_off">質問セクションは表示されます</string>
|
||||
<string name="revanced_hide_attributes_section_title">関連情報を非表示</string>
|
||||
<string name="revanced_hide_attributes_section_title">付随情報を非表示</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">注目の場所 / ゲーム / 音楽 / 言及されている人物セクションは表示されません</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">注目の場所 / ゲーム / 音楽 / 言及されている人物セクションは表示されます</string>
|
||||
<string name="revanced_hide_chapters_section_title">チャプター セクションを非表示</string>
|
||||
@@ -270,9 +270,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_podcast_section_title">「ポッドキャストを検索」を非表示</string>
|
||||
<string name="revanced_hide_podcast_section_summary_on">「ポッドキャストを検索」セクションは表示されません</string>
|
||||
<string name="revanced_hide_podcast_section_summary_off">「ポッドキャストを検索」セクションは表示されます</string>
|
||||
<string name="revanced_hide_info_cards_section_title">チャンネル情報を非表示</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">チャンネル情報セクションは表示されません</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">チャンネル情報セクションは表示されます</string>
|
||||
<string name="revanced_hide_info_cards_section_title">情報カード セクションを非表示</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">情報カード セクションは表示されません</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">情報カード セクションは表示されます</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">「主な概念」を非表示</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">主な概念セクションは表示されません</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">主な概念セクションが表示されます</string>
|
||||
@@ -316,7 +316,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_visit_store_button_summary_on">「ストアに移動」ボタンは表示されません</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">「ストアに移動」ボタンは表示されます</string>
|
||||
<string name="revanced_comments_screen_title">コメント</string>
|
||||
<string name="revanced_comments_screen_summary">コメント セクションの設定</string>
|
||||
<string name="revanced_comments_screen_summary">コメント セクションのコンポーネントを表示または非表示にします</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">AI による「チャットの要約」を非表示</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">AI による「チャットの要約」は表示されません</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">AI による「チャットの要約」は表示されます</string>
|
||||
@@ -441,12 +441,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<patch id="interaction.copyvideourl.copyVideoUrlResourcePatch">
|
||||
<string name="revanced_share_copy_url_success">URL をクリップボードにコピーしました</string>
|
||||
<string name="revanced_share_copy_url_timestamp_success">タイムスタンプ付きの URL がコピーされました</string>
|
||||
<string name="revanced_copy_video_url_title">「動画の URL をコピー」ボタンを表示する</string>
|
||||
<string name="revanced_copy_video_url_summary_on">ボタンはオーバーレイに表示されます。タップすると動画の URL を、長押しするとタイムスタンプ付きの URL をそれぞれコピーできます</string>
|
||||
<string name="revanced_copy_video_url_summary_off">ボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_copy_video_url_timestamp_title">「動画のタイムスタンプ付き URL をコピー」ボタンを表示する</string>
|
||||
<string name="revanced_copy_video_url_timestamp_summary_on">ボタンはオーバーレイに表示されます。タップするとタイムスタンプ付きの URL を、長押しするとタイムスタンプなしの URL をそれぞれコピーできます</string>
|
||||
<string name="revanced_copy_video_url_timestamp_summary_off">ボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_copy_video_url_title">「動画の URL をコピー」ボタンを表示</string>
|
||||
<string name="revanced_copy_video_url_summary_on">ボタンがプレーヤー オーバーレイに表示されます。タップすると動画の URL が、長押しするとタイムスタンプ付きの URL がそれぞれコピーされます</string>
|
||||
<string name="revanced_copy_video_url_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
|
||||
<string name="revanced_copy_video_url_timestamp_title">「動画のタイムスタンプ付き URL をコピー」ボタンを表示</string>
|
||||
<string name="revanced_copy_video_url_timestamp_summary_on">ボタンがプレーヤー オーバーレイに表示されます。タップするとタイムスタンプ付きの URL が、長押しするとタイムスタンプなしの URL がそれぞれコピーされます</string>
|
||||
<string name="revanced_copy_video_url_timestamp_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
<string name="revanced_remove_viewer_discretion_dialog_title">「ご自身の責任」ダイアログを削除</string>
|
||||
@@ -454,6 +454,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">ダイアログは表示されます</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">この機能によって年齢制限が回避される訳ではありません。自動的に承認するだけです。</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
<string name="revanced_disable_signin_to_tv_popup_title">「テレビでログイン」ポップアップを無効化</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_on">「テレビでログイン」ポップアップは無効です</string>
|
||||
<string name="revanced_disable_signin_to_tv_popup_summary_off">「テレビでログイン」ポップアップは有効です</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">ダブルタップ時のチャプター スキップを無効化</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">ダブルタップしたときに、次または前のチャプターへスキップしてしまうことはありません</string>
|
||||
@@ -462,11 +467,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">外部ダウンロード</string>
|
||||
<string name="revanced_external_downloader_screen_summary">外部ダウンローダーの設定</string>
|
||||
<string name="revanced_external_downloader_title">外部ダウンロード ボタンを表示する</string>
|
||||
<string name="revanced_external_downloader_summary_on">外部ダウンロード ボタンはオーバーレイに表示されます</string>
|
||||
<string name="revanced_external_downloader_summary_off">外部ダウンロード ボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_external_downloader_title">外部ダウンロード ボタンを表示</string>
|
||||
<string name="revanced_external_downloader_summary_on">外部ダウンロード ボタンがプレーヤー オーバーレイに表示されます</string>
|
||||
<string name="revanced_external_downloader_summary_off">外部ダウンロード ボタンはプレーヤー オーバーレイに表示されません</string>
|
||||
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
|
||||
<string name="revanced_external_downloader_action_button_title">オフライン ボタンの動作を上書きする</string>
|
||||
<string name="revanced_external_downloader_action_button_title">オフライン ボタンの動作を上書き</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">オフライン ボタンは外部ダウンローダーを呼び出します</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">オフライン ボタンはアプリ内のダウンローダーを呼び出します</string>
|
||||
<string name="revanced_external_downloader_name_title">外部ダウンローダーのパッケージ名</string>
|
||||
@@ -481,47 +486,47 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_external_downloader_empty_warning">パッケージ名は空欄にはできません</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.disablePreciseSeekingGesturePatch">
|
||||
<string name="revanced_disable_precise_seeking_gesture_title">精密シークモードを無効にする</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_on">シークバーを上へスワイプしても、精密シークモードになりません</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">シークバーを上へスワイプすると、精密シークモードになります</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_title">精密シーク ジェスチャーを無効化</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_on">精密シーク ジェスチャーは無効です。シークバーを上へスワイプしても、「再生位置の細かい調整」モードにはなりません</string>
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">精密シーク ジェスチャーは有効です。シークバーを上へスワイプすると、「再生位置の細かい調整」モードになります</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">タップによるシークを有効にする</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">シークバーをタップすると、タップした位置にシークします</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">シークバーをタップしても、タップした位置にシークしません</string>
|
||||
<string name="revanced_seekbar_tapping_title">タップによるシークを有効化</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">タップによるシークは有効です。シークバーをタップすると、タップした位置に移動します</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">タップによるシークは無効です。シークバーをタップしても、タップした位置に移動しません</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">明るさジェスチャーを有効にする</string>
|
||||
<string name="revanced_swipe_brightness_title">明るさジェスチャーを有効化</string>
|
||||
<string name="revanced_swipe_brightness_summary_on">"全画面表示中の明るさジェスチャーは有効です
|
||||
|
||||
画面左側を縦にスワイプして明るさを調節します"</string>
|
||||
<string name="revanced_swipe_brightness_summary_off">全画面表示中の明るさジェスチャーは無効です</string>
|
||||
<string name="revanced_swipe_volume_title">音量ジェスチャーを有効にする</string>
|
||||
<string name="revanced_swipe_volume_title">音量ジェスチャーを有効化</string>
|
||||
<string name="revanced_swipe_volume_summary_on">"全画面表示中の音量ジェスチャーは有効です
|
||||
|
||||
画面右側を縦にスワイプして音量を調節します"</string>
|
||||
<string name="revanced_swipe_volume_summary_off">全画面表示中の音量ジェスチャーは無効です</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">長押しスワイプを有効にする</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">全画面表示中、画面を長押ししてから縦にスワイプして明るさや音量を調節します</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">全画面表示中、画面を縦にスワイプして明るさや音量を調節します</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">触覚フィードバックを有効にする</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">長押しスワイプ ジェスチャーを有効化</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">長押しスワイプは有効です\n\n画面を長押ししてから縦にスワイプすると、明るさ / 音量ジェスチャーとして認識されます</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">長押しスワイプは無効です\n\n画面を縦にスワイプすると、明るさ / 音量ジェスチャーとして認識されます</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">触覚フィードバックを有効化</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">触覚フィードバックは有効です</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">触覚フィードバックは無効です</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_title">明るさを保存する</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_on">全画面表示を開始 / 解除するとき、明るさを復元 / 保存します</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_off">全画面表示を開始 / 解除するとき、明るさを復元 / 保存しません</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">明るさジェスチャーの自動調節を有効にする</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">ジェスチャーで明るさを最小値まで下げると、明るさが自動調節されます</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">ジェスチャーで明るさを最小値まで下げても、明るさは自動調節されません</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_title">明るさを保存&復元</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_on">全画面表示を終了 / 開始するときに明るさを保存 / 復元します</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_off">全画面表示を終了 / 開始するときに明るさを保存 / 復元しません</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">明るさジェスチャーの自動調節を有効化</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">ジェスチャーで明るさを最小値まで下げると、明るさが自動で調節されます</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">ジェスチャーで明るさを最小値まで下げても、明るさは自動で調節されません</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">自動</string>
|
||||
<string name="revanced_swipe_overlay_timeout_title">オーバーレイのタイムアウト</string>
|
||||
<string name="revanced_swipe_overlay_timeout_summary">スワイプ オーバーレイが表示される時間 (ミリ秒)</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_title">オーバーレイの背景の透明度</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_summary">透明度の範囲は 0-100 で、0 が透明です</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">スワイプ: 透明度の範囲は 0-100 です</string>
|
||||
<string name="revanced_swipe_overlay_progress_brightness_color_title">明るさグラフの色</string>
|
||||
<string name="revanced_swipe_overlay_progress_brightness_color_title">オーバーレイの明るさグラフの色</string>
|
||||
<string name="revanced_swipe_overlay_progress_brightness_color_summary">スワイプ中の明るさの現在値を視覚的に表示するグラフの色</string>
|
||||
<string name="revanced_swipe_overlay_progress_volume_color_title">音量グラフの色</string>
|
||||
<string name="revanced_swipe_overlay_progress_volume_color_title">オーバーレイの音量グラフの色</string>
|
||||
<string name="revanced_swipe_overlay_progress_volume_color_summary">スワイプ中の音量の現在値を視覚的に表示するグラフの色</string>
|
||||
<string name="revanced_swipe_text_overlay_size_title">オーバーレイのテキストサイズ</string>
|
||||
<string name="revanced_swipe_text_overlay_size_summary">スワイプ オーバーレイのテキストサイズ (1-30)</string>
|
||||
@@ -531,26 +536,26 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_swipe_volume_sensitivity_title">音量ジェスチャーのスワイプ感度</string>
|
||||
<string name="revanced_swipe_volume_sensitivity_summary">スワイプによる音量の変化量</string>
|
||||
<string name="revanced_swipe_overlay_style_title">オーバーレイのスタイル</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_1">横長</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_2">横長 (最小限 - 画面上部)</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_3">横長 (最小限 - 画面中央)</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_1">横型</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_2">横型 (最小限 - 画面上部)</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_3">横型 (最小限 - 画面中央)</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_4">円形</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_5">円形 (最小限)</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_6">縦長</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_7">縦長 (最小限)</string>
|
||||
<string name="revanced_swipe_change_video_title">スワイプして動画を切り替える</string>
|
||||
<string name="revanced_swipe_change_video_summary_on">全画面表示でスワイプすると、次 / 前の動画に切り替わります</string>
|
||||
<string name="revanced_swipe_change_video_summary_off">全画面表示でスワイプしても、次 / 前の動画に切り替わりません</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_6">縦型</string>
|
||||
<string name="revanced_swipe_overlay_style_entry_7">縦型 (最小限)</string>
|
||||
<string name="revanced_swipe_change_video_title">スワイプによる動画の切り替えを有効化</string>
|
||||
<string name="revanced_swipe_change_video_summary_on">全画面表示中に左 / 右にスワイプすると、前 / 次の動画に切り替わります</string>
|
||||
<string name="revanced_swipe_change_video_summary_off">全画面表示中に左 / 右にスワイプしても、前 / 次の動画に切り替わりません</string>
|
||||
</patch>
|
||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||
<string name="revanced_disable_auto_captions_title">自動字幕表示を無効化</string>
|
||||
<string name="revanced_disable_auto_captions_summary_on">動画を開いた際の自動字幕表示は無効です</string>
|
||||
<string name="revanced_disable_auto_captions_summary_off">動画を開いた際の自動字幕表示は有効です</string>
|
||||
<string name="revanced_disable_auto_captions_summary_on">自動字幕表示は無効です\n\n字幕がオフの状態で動画を開きます</string>
|
||||
<string name="revanced_disable_auto_captions_summary_off">自動字幕表示は有効です\n\n字幕がオンの状態で動画を開く場合があります</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||
<string name="revanced_hide_buttons_screen_title">アクション ボタン</string>
|
||||
<string name="revanced_hide_buttons_screen_summary">プレーヤー画面下のボタンの設定</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_title">高評価とチャンネル登録のエフェクトを無効にする</string>
|
||||
<string name="revanced_hide_buttons_screen_summary">プレーヤー画面下のボタンを表示または非表示にします</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_title">高評価とチャンネル登録のエフェクトを無効化</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_on">高評価ボタンとチャンネル登録ボタンのエフェクトは無効です</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_off">高評価ボタンとチャンネル登録ボタンのエフェクトは有効です</string>
|
||||
<string name="revanced_hide_like_dislike_button_title">高評価ボタンと低評価ボタンを非表示</string>
|
||||
@@ -565,7 +570,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_stop_ads_button_summary_on">「広告を停止」ボタンは表示されません</string>
|
||||
<string name="revanced_hide_stop_ads_button_summary_off">「広告を停止」ボタンは表示されます</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<string name="revanced_hide_report_button_title">報告ボタンを非表示</string>
|
||||
<string name="revanced_hide_report_button_summary_on">報告ボタンは表示されません</string>
|
||||
<string name="revanced_hide_report_button_summary_off">報告ボタンは表示されます</string>
|
||||
@@ -577,15 +582,24 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_download_button_title">オフライン ボタンを非表示</string>
|
||||
<string name="revanced_hide_download_button_summary_on">オフライン ボタンは表示されません</string>
|
||||
<string name="revanced_hide_download_button_summary_off">オフライン ボタンは表示されます</string>
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<string name="revanced_hide_hype_button_title">ハイプボタンを非表示</string>
|
||||
<string name="revanced_hide_hype_button_summary_on">ハイプボタンは表示されません</string>
|
||||
<string name="revanced_hide_hype_button_summary_off">ハイプボタンは表示されます</string>
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_promote_button_title">プロモーション ボタンを非表示</string>
|
||||
<string name="revanced_hide_promote_button_summary_on">プロモーション ボタンは表示されません</string>
|
||||
<string name="revanced_hide_promote_button_summary_off">プロモーション ボタンは表示されます</string>
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_thanks_button_title">Thanks ボタンを非表示</string>
|
||||
<string name="revanced_hide_thanks_button_summary_on">Thanks ボタンは表示されません</string>
|
||||
<string name="revanced_hide_thanks_button_summary_off">Thanks ボタンは表示されます</string>
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">質問ボタンを非表示</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">質問ボタンは表示されません</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">質問ボタンは表示されます</string>
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<string name="revanced_hide_ask_button_title">「質問する」ボタンを非表示</string>
|
||||
<string name="revanced_hide_ask_button_summary_on">「質問する」ボタンは表示されません</string>
|
||||
<string name="revanced_hide_ask_button_summary_off">「質問する」ボタンは表示されます</string>
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_clip_button_title">クリップボタンを非表示</string>
|
||||
<string name="revanced_hide_clip_button_summary_on">クリップボタンは表示されません</string>
|
||||
@@ -704,29 +718,29 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
</patch>
|
||||
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
|
||||
<string name="revanced_hide_autoplay_button_title">自動再生ボタンを非表示</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">自動再生ボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">自動再生ボタンはオーバーレイに表示されます</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_on">プレーヤー オーバーレイの自動再生ボタンは表示されません</string>
|
||||
<string name="revanced_hide_autoplay_button_summary_off">プレーヤー オーバーレイの自動再生ボタンは表示されます</string>
|
||||
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
|
||||
<string name="revanced_hide_captions_button_title">字幕ボタンを非表示</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">字幕ボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">字幕ボタンはオーバーレイに表示されます</string>
|
||||
<string name="revanced_hide_captions_button_summary_on">プレーヤー オーバーレイの字幕ボタンは表示されません</string>
|
||||
<string name="revanced_hide_captions_button_summary_off">プレーヤー オーバーレイの字幕ボタンは表示されます</string>
|
||||
<string name="revanced_hide_cast_button_title">キャストボタンを非表示</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">キャストボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">キャストボタンはオーバーレイに表示されます</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">プレーヤーのコントロールの背景を非表示</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">プレーヤーのコントロールの背景は表示されません</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">プレーヤーのコントロールの背景は表示されます</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">プレーヤー オーバーレイのキャストボタンは表示されません</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">プレーヤー オーバーレイのキャストボタンは表示されます</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">プレーヤー コントロールの背景を非表示</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">プレーヤー コントロールの背景は表示されません</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">プレーヤー コントロールの背景は表示されます</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">前の動画ボタンと次の動画ボタンを非表示</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">前の動画ボタンと次の動画ボタンは表示されません</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_off">前の動画ボタンと次の動画ボタンは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">動画の終了画面を非表示</string>
|
||||
<string name="revanced_hide_endscreen_cards_summary_on">動画の終了画面は表示されません</string>
|
||||
<string name="revanced_hide_endscreen_cards_summary_off">動画の終了画面は表示されます</string>
|
||||
<string name="revanced_hide_endscreen_cards_title">終了画面カードを非表示</string>
|
||||
<string name="revanced_hide_endscreen_cards_summary_on">終了画面カードは表示されません</string>
|
||||
<string name="revanced_hide_endscreen_cards_summary_off">終了画面カードは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
|
||||
<string name="revanced_disable_fullscreen_ambient_mode_title">全画面表示中のアンビエント モードを無効にする</string>
|
||||
<string name="revanced_disable_fullscreen_ambient_mode_title">全画面表示中のアンビエント モードを無効化</string>
|
||||
<string name="revanced_disable_fullscreen_ambient_mode_summary_on">全画面表示中のアンビエント モードは無効です</string>
|
||||
<string name="revanced_disable_fullscreen_ambient_mode_summary_off">全画面表示中のアンビエント モードは有効です</string>
|
||||
</patch>
|
||||
@@ -736,18 +750,18 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_info_cards_summary_off">情報カードはプレーヤー画面に表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.rollingnumber.disableRollingNumberAnimationPatch">
|
||||
<string name="revanced_disable_rolling_number_animations_title">数字のアニメーションを無効にする</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_on">数字のアニメーションは無効です</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_off">数字のアニメーションは有効です</string>
|
||||
<string name="revanced_disable_rolling_number_animations_title">数字の回転アニメーションを無効化</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_on">数字の回転アニメーションは無効です</string>
|
||||
<string name="revanced_disable_rolling_number_animations_summary_off">数字の回転アニメーションは有効です</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.seekbar.hideSeekbarPatch">
|
||||
<string name="revanced_hide_seekbar_title">動画プレーヤーのシークバーを非表示</string>
|
||||
<string name="revanced_hide_seekbar_title">プレーヤーのシークバーを非表示</string>
|
||||
<string name="revanced_hide_seekbar_summary_on">動画プレーヤーのシークバーは表示されません</string>
|
||||
<string name="revanced_hide_seekbar_summary_off">動画プレーヤーのシークバーは表示されます</string>
|
||||
<!-- Seekbar shown inside video thumbnails found the home/feed/search/history. The seekbar shows the prior watch progress when the video was last open. -->
|
||||
<string name="revanced_hide_seekbar_thumbnail_title">動画のサムネイルのシークバーを非表示</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_on">フィードや再生履歴などの動画のサムネイルのシークバーは表示されません</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_off">フィードや再生履歴などの動画のサムネイルのシークバーは表示されます</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_title">サムネイルのシークバーを非表示</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_on">フィードや再生履歴などに表示される動画のサムネイルのシークバーは表示されません</string>
|
||||
<string name="revanced_hide_seekbar_thumbnail_summary_off">フィードや再生履歴などに表示される動画のサムネイルのシークバーは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.hideShortsComponentsResourcePatch">
|
||||
<string name="revanced_shorts_player_screen_title">ショート プレーヤー</string>
|
||||
@@ -864,12 +878,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_shorts_navigation_bar_summary_off">ナビゲーション バーは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||
<string name="revanced_end_screen_suggested_video_title">再生終了時の「関連動画」オーバーレイを非表示</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_on">"再生終了時に、「関連動画」オーバーレイはプレーヤー画面に表示されませんが、自動再生がオンの場合は次の動画が自動で再生されます
|
||||
<string name="revanced_end_screen_suggested_video_title">終了画面の「関連動画」を非表示</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_on">"終了画面の「関連動画」は表示されませんが、自動再生がオンの場合は関連動画が自動で再生されます
|
||||
|
||||
自動再生の設定は YouTube の設定で変更できます:
|
||||
設定 → 再生 → 次の動画を自動再生"</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">再生終了時に、「関連動画」オーバーレイがプレーヤー画面に表示されます</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">終了画面の「関連動画」は表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_videos_overlay_title">関連動画オーバーレイを非表示</string>
|
||||
@@ -877,17 +891,17 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">全画面表示の関連動画オーバーレイは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">タイムスタンプを非表示</string>
|
||||
<string name="revanced_hide_timestamp_summary_on">タイムスタンプは表示されません</string>
|
||||
<string name="revanced_hide_timestamp_summary_off">タイムスタンプは表示されます</string>
|
||||
<string name="revanced_hide_timestamp_title">動画のタイムスタンプを非表示</string>
|
||||
<string name="revanced_hide_timestamp_summary_on">動画の現在位置を示すタイムスタンプは表示されません</string>
|
||||
<string name="revanced_hide_timestamp_summary_off">動画の現在位置を示すタイムスタンプは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.panels.popup.playerPopupPanelsPatch">
|
||||
<string name="revanced_hide_player_popup_panels_title">プレーヤー ポップアップ パネルを非表示</string>
|
||||
<string name="revanced_hide_player_popup_panels_summary_on">動画を開いた際のプレイリストやチャット欄などのプレーヤー ポップアップ パネルは表示されません</string>
|
||||
<string name="revanced_hide_player_popup_panels_summary_off">動画を開いた際のプレイリストやチャット欄などのプレーヤー ポップアップ パネルは表示されます</string>
|
||||
<string name="revanced_hide_player_popup_panels_summary_on">プレーヤー ポップアップ パネルは表示されません\n\nプレイリストやチャット欄などを閉じた状態で動画を開きます</string>
|
||||
<string name="revanced_hide_player_popup_panels_summary_off">プレーヤー ポップアップ パネルは表示されます\n\nプレイリストやチャット欄などを展開した状態で動画を開きます</string>
|
||||
</patch>
|
||||
<patch id="layout.player.fullscreen.exitFullscreenPatch">
|
||||
<string name="revanced_exit_fullscreen_title">再生終了時に全画面表示を解除する</string>
|
||||
<string name="revanced_exit_fullscreen_title">再生終了時に全画面表示を解除</string>
|
||||
<string name="revanced_exit_fullscreen_entry_1">無効</string>
|
||||
<string name="revanced_exit_fullscreen_entry_2">縦画面</string>
|
||||
<string name="revanced_exit_fullscreen_entry_3">横画面</string>
|
||||
@@ -899,57 +913,57 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_open_videos_fullscreen_portrait_summary_off">通常表示で動画を開きます</string>
|
||||
</patch>
|
||||
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
|
||||
<string name="revanced_player_overlay_opacity_title">オーバーレイの透明度</string>
|
||||
<string name="revanced_player_overlay_opacity_title">プレーヤー オーバーレイの透明度</string>
|
||||
<string name="revanced_player_overlay_opacity_summary">透明度の範囲は 0-100 で、0 が透明です</string>
|
||||
<string name="revanced_player_overlay_opacity_invalid_toast">動画プレーヤー: 透明度の範囲は 0-100 です</string>
|
||||
<string name="revanced_player_overlay_opacity_invalid_toast">プレーヤー: 透明度の範囲は 0-100 です</string>
|
||||
</patch>
|
||||
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<string name="revanced_ryd_failure_connection_timeout">低評価表示は一時的に利用できません (API タイムアウト)</string>
|
||||
<string name="revanced_ryd_failure_connection_status_code">低評価表示は利用できません (ステータス %d)</string>
|
||||
<string name="revanced_ryd_failure_client_rate_limit_requested">低評価表示は利用できません (クライアント API のレート制限)</string>
|
||||
<string name="revanced_ryd_failure_generic">低評価表示は利用できません (%s)</string>
|
||||
<string name="revanced_ryd_failure_connection_timeout">低評価数表示は一時的に利用できません (API タイムアウト)</string>
|
||||
<string name="revanced_ryd_failure_connection_status_code">低評価数表示は利用できません (status %d)</string>
|
||||
<string name="revanced_ryd_failure_client_rate_limit_requested">低評価数表示は利用できません (API のレート制限)</string>
|
||||
<string name="revanced_ryd_failure_generic">低評価数表示は利用できません (%s)</string>
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Return YouTube Dislike を有効にして投票するには、動画をリロードしてください</string>
|
||||
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Return YouTube Dislike: 投票するには、再読み込みが必要です</string>
|
||||
<!-- Video likes have been set to hidden by the video uploader. -->
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">所有者によって非表示</string>
|
||||
<string name="revanced_ryd_enabled_summary_on">低評価は表示されます</string>
|
||||
<string name="revanced_ryd_enabled_summary_off">低評価は表示されません</string>
|
||||
<string name="revanced_ryd_shorts_title">ショート動画の低評価を表示する</string>
|
||||
<string name="revanced_ryd_shorts_summary_on">"ショート動画の低評価は表示されます
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">非公開</string>
|
||||
<string name="revanced_ryd_enabled_summary_on">低評価数は表示されます</string>
|
||||
<string name="revanced_ryd_enabled_summary_off">低評価数は表示されません</string>
|
||||
<string name="revanced_ryd_shorts_title">ショート動画の低評価数を表示</string>
|
||||
<string name="revanced_ryd_shorts_summary_on">"ショート動画の低評価数は表示されます
|
||||
|
||||
制限事項: シークレット モードでは低評価が表示されない場合があります"</string>
|
||||
<string name="revanced_ryd_shorts_summary_off">ショート動画の低評価は表示されません</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">低評価をパーセントで表示する</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">低評価はパーセンテージで表示されます</string>
|
||||
制限事項: シークレット モードでは低評価数が表示されない場合があります"</string>
|
||||
<string name="revanced_ryd_shorts_summary_off">ショート動画の低評価数は表示されません</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">低評価をパーセントで表示</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">低評価はパーセントで表示されます</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">低評価は投票数で表示されます</string>
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button'. -->
|
||||
<string name="revanced_ryd_compact_layout_title">コンパクトな高評価ボタン</string>
|
||||
<string name="revanced_ryd_compact_layout_summary_on">コンパクトな高評価ボタンが表示されます</string>
|
||||
<string name="revanced_ryd_compact_layout_summary_on">コンパクトな横幅の高評価ボタンが表示されます</string>
|
||||
<string name="revanced_ryd_compact_layout_summary_off">通常の高評価ボタンが表示されます</string>
|
||||
<string name="revanced_ryd_estimated_like_title">高評価の推定値を表示する</string>
|
||||
<string name="revanced_ryd_estimated_like_summary_on">高評価が非公開の動画には、推定値が表示されます</string>
|
||||
<string name="revanced_ryd_estimated_like_title">高評価の推定値を表示</string>
|
||||
<string name="revanced_ryd_estimated_like_summary_on">高評価数が非公開の動画には推定値が表示されます</string>
|
||||
<string name="revanced_ryd_estimated_like_summary_off">高評価の推定値は表示されません</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_title">API 利用不可時にトーストを表示</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike が利用できない場合、トーストが表示されます</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike が利用できない場合でも、トーストは表示されません</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike が利用できない場合にトースト通知が表示されます</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike が利用できない場合にトースト通知は表示されません</string>
|
||||
<string name="revanced_ryd_attribution_summary">データは Return YouTube Dislike API によって提供されています。詳細は、ここをタップしてください</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
<string name="revanced_ryd_statistics_category_title">このデバイスの Return YouTube Dislike API 統計情報</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeAverage_title">API 応答時間 (平均)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMin_title">API 応答時間 (最小)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMax_title">API 応答時間 (最大)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_title">API 応答時間 (直近)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_rate_limit_summary">低評価表示は一時的に利用できません - クライアント API のレート制限が原因です</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_title">API 投票取得 (呼び出し回数)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_zero_summary">ネットワーク通信は行われていません</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_non_zero_summary">%d 回のネットワーク通信が行われました</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_title">API 投票取得 (タイムアウト回数)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_zero_summary">ネットワーク通信はタイムアウトしていません</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_non_zero_summary">%d 回のネットワーク通信がタイムアウトしました</string>
|
||||
<string name="revanced_ryd_statistics_category_title">このデバイスの ReturnYouTubeDislike API 統計情報</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeAverage_title">API の応答時間 (平均)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMin_title">API の応答時間 (最小)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMax_title">API の応答時間 (最大)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_title">API の応答時間 (直近)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_rate_limit_summary">低評価数表示は一時的に利用できません。クライアント API のレート制限が原因です</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_title">API の投票数取得 (呼び出し回数)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_zero_summary">ネットワーク呼び出しは実行されていません</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_non_zero_summary">%d 回のネットワーク呼び出しが実行されました</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_title">API の投票数取得 (タイムアウト回数)</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_zero_summary">ネットワーク呼び出しはタイムアウトしていません</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_non_zero_summary">%d 回のネットワーク呼び出しがタイムアウトしました</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_title">API クライアントのレート制限</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary">クライアント レート制限は発生していません</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_non_zero_summary">%d 回のクライアント レート制限が発生しました</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary">クライアントのレート制限には遭遇していません</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_non_zero_summary">クライアントのレート制限に %d 回遭遇しました</string>
|
||||
<string name="revanced_ryd_statistics_millisecond_text">%d ミリ秒</string>
|
||||
</patch>
|
||||
<patch id="layout.searchbar.wideSearchbarPatch">
|
||||
@@ -958,32 +972,32 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_wide_searchbar_summary_off">ワイド検索バーは無効です</string>
|
||||
</patch>
|
||||
<patch id="layout.seekbar.seekbarThumbnailsPatch">
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_title">高画質サムネイルを有効にする</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">シークバーのサムネイルは高画質です</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">シークバーのサムネイルは中画質です</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_title">高画質サムネイルを有効化</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">シークバー サムネイルは高画質です</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">シークバー サムネイルは中画質です</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">プレーヤー画面全体表示のサムネイルは高画質です</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">プレーヤー画面全体表示のサムネイルは中画質です</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"この機能を有効にすると、シークバー サムネイルを保持していないライブ配信でもシークバー サムネイルが表示されるようになります。
|
||||
|
||||
シークバー サムネイルは、動画の再生中の画質と同じ画質になります。
|
||||
シークバー サムネイルは、再生中の動画と同じ画質になります。
|
||||
|
||||
この機能は、非常に高速なインターネット接続を使用して 720P 以下の画質で動画を視聴する場合に最適です。"</string>
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_title">古いシークバー サムネイルを復元</string>
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_title">古いスタイルのシークバー サムネイルを復元</string>
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">シーク中のサムネイルはシークバーの上に表示されます</string>
|
||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">シーク中のサムネイルはプレーヤー画面全体に表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.sponsorBlockResourcePatch">
|
||||
<string name="revanced_sb_enable_sb">SponsorBlock を有効にする</string>
|
||||
<string name="revanced_sb_enable_sb_sum">SponsorBlock は、ユーザーからの情報提供により YouTube 動画のわずらわしい部分を定義してスキップする機能です</string>
|
||||
<string name="revanced_sb_enable_sb">SponsorBlock を有効化</string>
|
||||
<string name="revanced_sb_enable_sb_sum">SponsorBlock は、ユーザーからの情報提供により YouTube 動画のわずらわしい部分をスキップする機能です</string>
|
||||
<string name="revanced_sb_appearance_category">外観</string>
|
||||
<string name="revanced_sb_enable_voting">投票ボタンを表示する</string>
|
||||
<string name="revanced_sb_enable_voting_sum_on">セグメントへの投票ボタンは、プレーヤー オーバーレイに表示されます</string>
|
||||
<string name="revanced_sb_enable_voting_sum_off">セグメントへの投票ボタンは、プレーヤー オーバーレイに表示されません</string>
|
||||
<string name="revanced_sb_square_layout">四角ボタンを使用する</string>
|
||||
<string name="revanced_sb_enable_voting">投票ボタンを表示</string>
|
||||
<string name="revanced_sb_enable_voting_sum_on">セグメントへの投票ボタンがプレーヤー オーバーレイに表示されます</string>
|
||||
<string name="revanced_sb_enable_voting_sum_off">セグメントへの投票ボタンはプレーヤー オーバーレイに表示されません</string>
|
||||
<string name="revanced_sb_square_layout">四角ボタンを使用</string>
|
||||
<string name="revanced_sb_square_layout_sum_on">ボタンとコントロールの角は直角です</string>
|
||||
<string name="revanced_sb_square_layout_sum_off">ボタンとコントロールの角は丸角です</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">コンパクトなスキップボタンを使用する</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button">コンパクトなスキップボタンを使用</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">コンパクトなスキップボタンが表示されます</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">通常のスキップボタンが表示されます</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">スキップボタンを自動的に非表示</string>
|
||||
@@ -991,11 +1005,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">スキップボタンは、セグメントの開始から終了まで表示されます</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">スキップボタンの表示時間</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">自動非表示設定のスキップボタンと「ハイライトまでスキップ」ボタンが表示される時間の長さ</string>
|
||||
<string name="revanced_sb_general_skiptoast">スキップ取り消しトーストを表示</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">セグメントが自動的にスキップされたとき、トーストが表示されます。このトースト通知をタップすると、スキップが取り消されます</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">セグメントが自動的にスキップされたとき、トーストは表示されません</string>
|
||||
<string name="revanced_sb_general_skiptoast">自動スキップ時にトーストを表示</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">セグメントが自動的にスキップされたときにトースト通知が表示されます。このトースト通知をタップすると、スキップを取り消すことができます</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">セグメントが自動的にスキップされたときにトースト通知は表示されません。このトースト通知をタップすると、スキップを取り消すことができます</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">スキップ トーストの表示時間</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">スキップ取り消しトーストが表示される時間の長さ</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">自動スキップ時にトースト通知が表示される時間の長さ</string>
|
||||
<string name="revanced_sb_duration_1s">1 秒</string>
|
||||
<string name="revanced_sb_duration_2s">2 秒</string>
|
||||
<string name="revanced_sb_duration_3s">3 秒</string>
|
||||
@@ -1009,11 +1023,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_general_time_without">セグメントを除いた再生時間を表示</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">すべてのセグメントを除いた再生時間がシークバーに表示されます</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">動画全体の再生時間のみがシークバーに表示されます</string>
|
||||
<string name="revanced_sb_create_segment_category">セグメントの作成</string>
|
||||
<string name="revanced_sb_create_segment_category">新しいセグメントの作成</string>
|
||||
<string name="revanced_sb_enable_create_segment">セグメント作成ボタンを表示</string>
|
||||
<string name="revanced_sb_enable_create_segment_sum_on">セグメント作成ボタンはプレーヤー オーバーレイに表示されます</string>
|
||||
<string name="revanced_sb_enable_create_segment_sum_on">セグメント作成ボタンがプレーヤー オーバーレイに表示されます</string>
|
||||
<string name="revanced_sb_enable_create_segment_sum_off">セグメント作成ボタンはプレーヤー オーバーレイに表示されません</string>
|
||||
<string name="revanced_sb_general_adjusting">セグメントの時間調整幅</string>
|
||||
<string name="revanced_sb_general_adjusting">セグメントの位置調整幅</string>
|
||||
<string name="revanced_sb_general_adjusting_sum">セグメント作成メニュー内の早送り / 巻き戻しボタンで移動する時間 (ミリ秒)</string>
|
||||
<string name="revanced_sb_general_adjusting_invalid">値は正の整数でなければなりません</string>
|
||||
<string name="revanced_sb_guidelines_preference_title">ガイドラインを見る</string>
|
||||
@@ -1023,15 +1037,15 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_guidelines_popup_already_read">既読</string>
|
||||
<string name="revanced_sb_guidelines_popup_open">表示する</string>
|
||||
<string name="revanced_sb_general">その他</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_title">API 利用不可時にトーストを表示する</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_summary_on">SponsorBlock が利用できない場合は、トーストが表示されます</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_summary_off">SponsorBlock が利用できない場合でも、トーストは表示されません</string>
|
||||
<string name="revanced_sb_general_skipcount">スキップデータを送信する</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_title">API 利用不可時にトーストを表示</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_summary_on">SponsorBlock が利用できない場合にトースト通知が表示されます</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_summary_off">SponsorBlock が利用できない場合にトースト通知は表示されません</string>
|
||||
<string name="revanced_sb_general_skipcount">スキップデータの収集を有効化</string>
|
||||
<string name="revanced_sb_general_skipcount_sum_on">SponsorBlock リーダーボード にスキップによって節約した時間を送信します。セグメントをスキップする度にデータが送信されます</string>
|
||||
<string name="revanced_sb_general_skipcount_sum_off">スキップデータは送信されません</string>
|
||||
<string name="revanced_sb_general_skipcount_sum_off">スキップデータの収集は無効です</string>
|
||||
<string name="revanced_sb_general_min_duration">セグメントの長さのしきい値</string>
|
||||
<string name="revanced_sb_general_min_duration_sum">この値 (秒) よりも短い時間のセグメントは、スキップもプレーヤーに表示もされません</string>
|
||||
<string name="revanced_sb_general_min_duration_invalid">時間の値が無効です</string>
|
||||
<string name="revanced_sb_general_min_duration_invalid">時間 (長さ) の値が無効です</string>
|
||||
<string name="revanced_sb_general_uuid">非公開ユーザー ID</string>
|
||||
<string name="revanced_sb_general_uuid_sum">この ID は公開すべきではありません。パスワードのようなものであり、誰とも共有すべきではありません。もし誰かがこの ID を手に入れた場合、あなたになりすますことができます</string>
|
||||
<string name="revanced_sb_general_uuid_invalid">非公開ユーザー ID は 30 文字以上必要です</string>
|
||||
@@ -1047,9 +1061,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_settings_import_successful">設定のインポートに成功しました</string>
|
||||
<string name="revanced_sb_settings_import_failed">インポートに失敗しました: %s</string>
|
||||
<string name="revanced_sb_settings_export_failed">エクスポートに失敗しました: %s</string>
|
||||
<string name="revanced_sb_settings_revanced_export_user_id_warning">"設定には、SponsorBlock の非公開ユーザー ID が含まれています。この ID はパスワードのようなものであり、決して共有すべきではありません。"</string>
|
||||
<string name="revanced_sb_settings_revanced_export_user_id_warning">"設定には、SponsorBlock の非公開ユーザー ID が含まれています。
|
||||
|
||||
このユーザー ID は、パスワードのようなものであり、決して共有すべきではありません。"</string>
|
||||
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">今後表示しない</string>
|
||||
<string name="revanced_sb_diff_segments">セグメントの挙動を変更</string>
|
||||
<string name="revanced_sb_diff_segments">セグメントに対する動作を変更</string>
|
||||
<string name="revanced_sb_segments_sponsor">スポンサー</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">有料の宣伝 、有料の紹介、直接的な広告。自己宣伝や好意をもって行う、慈善活動、クリエーター、ウェブサイト、製品などの無償の紹介は含まれません</string>
|
||||
<string name="revanced_sb_segments_selfpromo">無報酬の宣伝 / 自己宣伝</string>
|
||||
@@ -1059,7 +1075,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_segments_highlight">ハイライト</string>
|
||||
<string name="revanced_sb_segments_highlight_sum">動画の中で最も重要な場面</string>
|
||||
<string name="revanced_sb_segments_intro">幕間 / オープニング</string>
|
||||
<string name="revanced_sb_segments_intro_sum">実際のコンテンツを含まない区間。このカテゴリーは、一時停止、静止画、繰り返しアニメーションなどを含みます。情報を含むトランジッション (場面転換) は含まれません</string>
|
||||
<string name="revanced_sb_segments_intro_sum">実際のコンテンツを含まない区間。一時停止、静止画、繰り返しアニメーションなど。情報を含むトランジッション (場面転換) は、このカテゴリーではありません</string>
|
||||
<string name="revanced_sb_segments_outro">終了画面 / クレジット</string>
|
||||
<string name="revanced_sb_segments_outro_sum">クレジット、または YouTube の終了画面が表示される場面。情報を含む結論、まとめ部分は、このカテゴリーには含まれません</string>
|
||||
<string name="revanced_sb_segments_preview">予告編 / 総集編 / フック</string>
|
||||
@@ -1067,7 +1083,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_segments_filler">尺稼ぎの余談 / 冗談</string>
|
||||
<string name="revanced_sb_segments_filler_sum">動画の本筋を理解するために必要のない、尺稼ぎやユーモアのみを目的として追加された脱線的な場面。コンテキストや背景情報を提供する場面は、このカテゴリーに含まれません</string>
|
||||
<string name="revanced_sb_segments_nomusic">音楽: 楽曲以外の区間</string>
|
||||
<string name="revanced_sb_segments_nomusic_sum">ミュージック ビデオ専用。ミュージック ビデオの中で楽曲が流れていない区間。このカテゴリーのセグメントは、他のカテゴリーのセグメントと重なる場合があります</string>
|
||||
<string name="revanced_sb_segments_nomusic_sum">ミュージック ビデオ専用。ミュージック ビデオの中で楽曲が流れていない区間であり、公式や他のメディアの音源に存在しない区間</string>
|
||||
<string name="revanced_sb_skip_button_compact">スキップ</string>
|
||||
<string name="revanced_sb_skip_button_compact_highlight">ハイライト</string>
|
||||
<string name="revanced_sb_skip_button_sponsor"> スポンサーをスキップ</string>
|
||||
@@ -1106,7 +1122,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_skip_ignore">無効</string>
|
||||
<string name="revanced_sb_submit_failed_invalid">セグメントの送信に失敗しました: %s</string>
|
||||
<string name="revanced_sb_submit_failed_timeout">SponsorBlock は一時的にダウンしています</string>
|
||||
<string name="revanced_sb_submit_failed_unknown_error">セグメントの送信に失敗しました (ステータス: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_submit_failed_unknown_error">セグメントの送信に失敗しました (status: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_submit_failed_rate_limit">セグメントの送信に失敗しました (レート制限: 同じユーザー / IP からの通信が多すぎます)</string>
|
||||
<string name="revanced_sb_submit_failed_forbidden">セグメントを送信できません: %s</string>
|
||||
<string name="revanced_sb_submit_failed_duplicate">"セグメントを送信できません。
|
||||
@@ -1114,27 +1130,27 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_submit_succeeded">セグメントの送信に成功しました</string>
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_timeout">SponsorBlock は一時的に利用できません (API タイムアウト)</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_status">SponsorBlock は一時的に利用できません (ステータス %d)</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_status">SponsorBlock は一時的に利用できません (status %d)</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_generic">SponsorBlock は一時的に利用できません</string>
|
||||
<string name="revanced_sb_vote_failed_timeout">セグメントへの投票に失敗しました (API タイムアウト)</string>
|
||||
<string name="revanced_sb_vote_failed_unknown_error">セグメントへの投票に失敗しました (ステータス: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_vote_failed_unknown_error">セグメントへの投票に失敗しました (status: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_vote_failed_forbidden">セグメントへの投票に失敗しました: %s</string>
|
||||
<string name="revanced_sb_vote_upvote">高評価</string>
|
||||
<string name="revanced_sb_vote_downvote">低評価</string>
|
||||
<string name="revanced_sb_vote_category">カテゴリーの変更</string>
|
||||
<string name="revanced_sb_vote_no_segments">投票できるセグメントがありません</string>
|
||||
<string name="revanced_sb_vote_no_segments">投票先のセグメントが指定されていません</string>
|
||||
<!-- A segment start and end time, such as "02:10 to 03:40". -->
|
||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s ~ %2$s</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">セグメントのカテゴリーを選択してください</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">カテゴリーが設定で無効になっています。送信するには、カテゴリーを有効にしてください。</string>
|
||||
<string name="revanced_sb_new_segment_title">セグメント作成</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">%s を新しいセグメントの開始時間 / 終了時間に設定しますか?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">開始</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">終了</string>
|
||||
<string name="revanced_sb_new_segment_now">現在</string>
|
||||
<string name="revanced_sb_new_segment_time_start">セグメントの開始時間</string>
|
||||
<string name="revanced_sb_new_segment_time_end">セグメントの終了時間</string>
|
||||
<string name="revanced_sb_new_segment_confirm_title">時間は正確ですか?</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">カテゴリーが設定で無効になっています。送信するには、このカテゴリーを有効にしてください。</string>
|
||||
<string name="revanced_sb_new_segment_title">新しいセグメント</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">%s を新しいセグメント (SponsorBlock) の開始位置 / 終了位置に設定しますか?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">開始位置</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">終了位置</string>
|
||||
<string name="revanced_sb_new_segment_now">現在の再生位置</string>
|
||||
<string name="revanced_sb_new_segment_time_start">セグメントの開始位置</string>
|
||||
<string name="revanced_sb_new_segment_time_end">セグメントの終了位置</string>
|
||||
<string name="revanced_sb_new_segment_confirm_title">範囲は正確ですか?</string>
|
||||
<string name="revanced_sb_new_segment_confirm_content">"セグメントの範囲:
|
||||
|
||||
%1$s
|
||||
@@ -1144,12 +1160,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
(%3$s)
|
||||
|
||||
送信しますか?"</string>
|
||||
<string name="revanced_sb_new_segment_start_is_before_end">開始時間は終了時間より前でなければなりません</string>
|
||||
<string name="revanced_sb_new_segment_mark_locations_first">開始時間と終了時間を設定してください</string>
|
||||
<string name="revanced_sb_new_segment_start_is_before_end">開始位置を終了位置よりも前にしてください</string>
|
||||
<string name="revanced_sb_new_segment_mark_locations_first">先に開始位置と終了位置を設定してください</string>
|
||||
<string name="revanced_sb_new_segment_preview_segment_first">セグメントをプレビューして、スムーズにスキップすることを確認してください</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_title">セグメントの範囲を手動で編集</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_content">セグメントの開始時間または終了時間を編集しますか?</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">時間の値が無効です</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_content">セグメントの開始位置または終了位置を編集しますか?</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">時間 (位置) の値が無効です</string>
|
||||
<string name="revanced_sb_stats_title">統計</string>
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_connection_failure">統計情報は一時的に利用できません (API がダウンしています)</string>
|
||||
@@ -1157,7 +1173,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
|
||||
<string name="revanced_sb_stats_sb_disabled">SponsorBlock は無効です</string>
|
||||
<string name="revanced_sb_stats_username">ユーザー名: <b>%s</b></string>
|
||||
<string name="revanced_sb_stats_username_change">ユーザー名を変更するには、ここをタップしてください</string>
|
||||
<string name="revanced_sb_stats_username_change_unknown_error">ユーザー名の変更に失敗しました (ステータス: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_stats_username_change_unknown_error">ユーザー名の変更に失敗しました (status: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_stats_username_changed">ユーザー名の変更に成功しました</string>
|
||||
<string name="revanced_sb_stats_reputation">あなたの評価は <b>%.2f</b> です</string>
|
||||
<string name="revanced_sb_stats_submissions">合計で <b>%s</b> 個のセグメントを作成しました</string>
|
||||
@@ -1268,24 +1284,24 @@ Automotive レイアウト
|
||||
<string name="revanced_miniplayer_type_entry_5">モダン 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">モダン 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">モダン 4</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">角を丸くする</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_title">丸角を有効化</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_on">ミニプレーヤーの角は丸角です</string>
|
||||
<string name="revanced_miniplayer_rounded_corners_summary_off">ミニプレーヤーの角は直角です</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_title">「ダブルタップとピンチでサイズ変更」を有効にする</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_title">「ダブルタップとピンチでサイズ変更」を有効化</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_summary_on">"「ダブルタップとピンチでサイズ変更」は有効です
|
||||
|
||||
• ダブルタップすると、ミニプレーヤーのサイズが大きくなる
|
||||
• もう一度ダブルタップすると、元のサイズに戻る"</string>
|
||||
<string name="revanced_miniplayer_double_tap_action_summary_off">「 ダブルタップとピンチでサイズ変更」は無効です</string>
|
||||
<string name="revanced_miniplayer_drag_and_drop_title">ドラッグ&ドロップを有効にする</string>
|
||||
<string name="revanced_miniplayer_drag_and_drop_title">ドラッグ&ドロップを有効化</string>
|
||||
<string name="revanced_miniplayer_drag_and_drop_summary_on">"ドラッグ&ドロップは有効です
|
||||
|
||||
ミニプレーヤーを画面の四隅に移動できます"</string>
|
||||
<string name="revanced_miniplayer_drag_and_drop_summary_off">ドラッグ&ドロップは無効です</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_title">横方向ドラッグ ジェスチャーを有効にする</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_title">横方向ドラッグ ジェスチャーを有効化</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_on">"横方向ドラッグ ジェスチャーは有効です
|
||||
|
||||
ミニプレーヤーを画面の左端または右端までドラッグすると最小化できます"</string>
|
||||
ミニプレーヤーを画面の左端または右端までドラッグすると最小化されます"</string>
|
||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">横方向ドラッグ ジェスチャーは無効です</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_title">オーバーレイ ボタンを非表示</string>
|
||||
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">オーバーレイ ボタンは表示されません</string>
|
||||
@@ -1310,13 +1326,13 @@ Automotive レイアウト
|
||||
<string name="revanced_splash_screen_animation_style_title">スプラッシュ画面のスタイル</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_1">カラー</string>
|
||||
<string name="revanced_splash_screen_animation_style_entry_2">白黒</string>
|
||||
<string name="revanced_seekbar_custom_color_title">編集したシークバーの色を使用する</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">編集したシークバーの色が表示されます</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">デフォルトのシークバーの色が表示されます</string>
|
||||
<string name="revanced_seekbar_custom_color_title">編集したシークバーの色を有効化</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_on">シークバーは編集した色で表示されます</string>
|
||||
<string name="revanced_seekbar_custom_color_summary_off">シークバーはデフォルトの色で表示されます</string>
|
||||
<string name="revanced_seekbar_custom_color_primary_title">シークバーの色</string>
|
||||
<string name="revanced_seekbar_custom_color_primary_summary">シークバーの色の値を編集します</string>
|
||||
<string name="revanced_seekbar_custom_color_primary_summary">シークバーの色を編集します</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_title">シークバーのアクセント カラー</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">シークバーのアクセントカラーの値を編集します</string>
|
||||
<string name="revanced_seekbar_custom_color_accent_summary">シークバーのアクセントカラーを編集します</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">シークバーの色の値が無効です</string>
|
||||
</patch>
|
||||
<patch id="layout.branding.changeHeaderPatch">
|
||||
@@ -1365,7 +1381,7 @@ Automotive レイアウト
|
||||
<string name="revanced_alt_thumbnail_stills_time_entry_2">動画の中盤</string>
|
||||
<string name="revanced_alt_thumbnail_stills_time_entry_3">動画の終盤</string>
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<string name="revanced_alt_thumbnail_dearrow_error">DeArrow は一時的に利用できません (ステータス コード: %s)</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_error">DeArrow は一時的に利用できません (status code: %s)</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_error_generic">DeArrow は一時的に利用できません</string>
|
||||
</patch>
|
||||
<patch id="misc.announcements.announcementsPatch">
|
||||
@@ -1407,9 +1423,9 @@ Automotive レイアウト
|
||||
<string name="revanced_disable_haptic_feedback_chapters_title">チャプターの触覚フィードバックを無効にする</string>
|
||||
<string name="revanced_disable_haptic_feedback_chapters_summary_on">チャプターの触覚フィードバックは無効です</string>
|
||||
<string name="revanced_disable_haptic_feedback_chapters_summary_off">チャプターの触覚フィードバックは有効です</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_title">精密シークモードの触覚フィードバックを無効にする</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_on">精密シークモードの触覚フィードバックは無効です</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_off">精密シークモードの触覚フィードバックは有効です</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_title">精密シークの触覚フィードバックを無効化</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_on">精密シークの触覚フィードバックは無効です</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_off">精密シークの触覚フィードバックは有効です</string>
|
||||
<string name="revanced_disable_haptic_feedback_seek_undo_title">シーク取り消しの触覚フィードバックを無効にする</string>
|
||||
<string name="revanced_disable_haptic_feedback_seek_undo_summary_on">シーク取り消しの触覚フィードバックは無効です</string>
|
||||
<string name="revanced_disable_haptic_feedback_seek_undo_summary_off">シーク取り消しの触覚フィードバックは有効です</string>
|
||||
@@ -1437,8 +1453,8 @@ Automotive レイアウト
|
||||
</patch>
|
||||
<patch id="video.audio.forceOriginalAudioPatch">
|
||||
<string name="revanced_force_original_audio_title">オリジナルの音声を強制的に使用</string>
|
||||
<string name="revanced_force_original_audio_summary_on">オリジナルの音声トラック (言語) を使用します</string>
|
||||
<string name="revanced_force_original_audio_summary_off">アプリが選択した音声トラック (言語) を使用します</string>
|
||||
<string name="revanced_force_original_audio_summary_on">オリジナルの音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックは使用しません</string>
|
||||
<string name="revanced_force_original_audio_summary_off">アプリが選択した音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックを使用する場合があります</string>
|
||||
<!-- 'Spoof video streams' should be the same translation used for 'revanced_spoof_video_streams_screen_title'. -->
|
||||
<string name="revanced_force_original_audio_not_available">この機能を使用するには、「動画ストリームを偽装」のクライアントを iOS TV に変更してください</string>
|
||||
</patch>
|
||||
@@ -1465,13 +1481,13 @@ Automotive レイアウト
|
||||
</patch>
|
||||
<patch id="video.speed.button.playbackSpeedButtonPatch">
|
||||
<string name="revanced_playback_speed_dialog_button_title">再生速度設定ボタンを表示</string>
|
||||
<string name="revanced_playback_speed_dialog_button_summary_on">ボタンがオーバーレイに表示されます。長押しすると、再生速度がデフォルトの値にリセットされます</string>
|
||||
<string name="revanced_playback_speed_dialog_button_summary_off">ボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_playback_speed_dialog_button_summary_on">ボタンがプレーヤー オーバーレイに表示されます。長押しすると、再生速度がデフォルトの値にリセットされます</string>
|
||||
<string name="revanced_playback_speed_dialog_button_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
|
||||
</patch>
|
||||
<patch id="video.quality.button.videoQualityDialogButtonPatch">
|
||||
<string name="revanced_video_quality_dialog_button_title">画質設定ボタンを表示</string>
|
||||
<string name="revanced_video_quality_dialog_button_summary_on">ボタンがオーバーレイに表示されます。長押しすると、画質がデフォルトの値にリセットされます</string>
|
||||
<string name="revanced_video_quality_dialog_button_summary_off">ボタンはオーバーレイに表示されません</string>
|
||||
<string name="revanced_video_quality_dialog_button_summary_on">ボタンがプレーヤー オーバーレイに表示されます。長押しすると、画質がデフォルトの値にリセットされます</string>
|
||||
<string name="revanced_video_quality_dialog_button_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
|
||||
</patch>
|
||||
<patch id="video.speed.custom.customPlaybackSpeedPatch">
|
||||
<string name="revanced_custom_speed_menu_title">カスタム再生速度メニュー</string>
|
||||
@@ -1509,9 +1525,9 @@ Automotive レイアウト
|
||||
<string name="revanced_advanced_video_quality_menu_summary_off">通常の画質メニューが表示されます</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.enableSlideToSeekPatch">
|
||||
<string name="revanced_slide_to_seek_title">スライドしてシークする機能を有効にする</string>
|
||||
<string name="revanced_slide_to_seek_summary_on">スライドしてシークする機能が有効になっています</string>
|
||||
<string name="revanced_slide_to_seek_summary_off">スライドしてシークする機能は無効になっています</string>
|
||||
<string name="revanced_slide_to_seek_title">スライドによるシークを有効化</string>
|
||||
<string name="revanced_slide_to_seek_summary_on">スライドによるシークは有効です。プレーヤー画面を左右にスライドすると、前後にシークします</string>
|
||||
<string name="revanced_slide_to_seek_summary_off">スライドによるシークは無効です。プレーヤー画面を左右にスライドしても、前後にシークしません</string>
|
||||
</patch>
|
||||
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
|
||||
<string name="revanced_spoof_video_streams_screen_title">動画ストリームを偽装</string>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
@@ -67,6 +67,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
@@ -84,12 +86,15 @@ Second \"item\" text"</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Stop ads' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only on live streams. -->
|
||||
This button usually only shows on live streams. -->
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows on videos uploaded by the logged in user. -->
|
||||
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||
This button only shows up if the user ip is from specific region such as the USA or EU. -->
|
||||
This button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||
</patch>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user